From a4f008a4f25273bdb45f8ff4ab987fb97cf57cc0 Mon Sep 17 00:00:00 2001 From: Daniel Cook Date: Wed, 8 May 2019 22:59:32 +0100 Subject: [PATCH] add libs --- README.md | 7 +- bin/chardetect | 10 + certifi/__init__.py | 3 + certifi/__main__.py | 2 + certifi/cacert.pem | 4658 ++++++++++ certifi/core.py | 15 + chardet/__init__.py | 39 + chardet/big5freq.py | 386 + chardet/big5prober.py | 47 + chardet/chardistribution.py | 233 + chardet/charsetgroupprober.py | 106 + chardet/charsetprober.py | 145 + chardet/cli/__init__.py | 1 + chardet/cli/chardetect.py | 85 + chardet/codingstatemachine.py | 88 + chardet/compat.py | 34 + chardet/cp949prober.py | 49 + chardet/enums.py | 76 + chardet/escprober.py | 101 + chardet/escsm.py | 246 + chardet/eucjpprober.py | 92 + chardet/euckrfreq.py | 195 + chardet/euckrprober.py | 47 + chardet/euctwfreq.py | 387 + chardet/euctwprober.py | 46 + chardet/gb2312freq.py | 283 + chardet/gb2312prober.py | 46 + chardet/hebrewprober.py | 292 + chardet/jisfreq.py | 325 + chardet/jpcntx.py | 233 + chardet/langbulgarianmodel.py | 228 + chardet/langcyrillicmodel.py | 333 + chardet/langgreekmodel.py | 225 + chardet/langhebrewmodel.py | 200 + chardet/langhungarianmodel.py | 225 + chardet/langthaimodel.py | 199 + chardet/langturkishmodel.py | 193 + chardet/latin1prober.py | 145 + chardet/mbcharsetprober.py | 91 + chardet/mbcsgroupprober.py | 54 + chardet/mbcssm.py | 572 ++ chardet/sbcharsetprober.py | 132 + chardet/sbcsgroupprober.py | 73 + chardet/sjisprober.py | 92 + chardet/universaldetector.py | 286 + chardet/utf8prober.py | 82 + chardet/version.py | 9 + deprecated/__init__.py | 13 + deprecated/classic.py | 240 + deprecated/sphinx.py | 186 + gist.py | 6 +- github/AuthenticatedUser.py | 181 +- github/Authorization.py | 13 +- github/AuthorizationApplication.py | 13 +- github/Branch.py | 349 +- github/BranchProtection.py | 118 + github/Clones.py | 77 + github/Commit.py | 12 +- github/CommitCombinedStatus.py | 17 +- github/CommitComment.py | 54 +- github/CommitStats.py | 12 +- github/CommitStatus.py | 15 +- github/Comparison.py | 12 +- github/Consts.py | 82 +- github/ContentFile.py | 47 +- github/Download.py | 13 +- github/Event.py | 10 +- github/File.py | 17 +- github/Gist.py | 19 +- github/GistComment.py | 13 +- github/GistFile.py | 13 +- github/GistHistoryState.py | 12 +- github/GitAuthor.py | 13 +- github/GitBlob.py | 13 +- github/GitCommit.py | 13 +- github/GitObject.py | 13 +- github/GitRef.py | 13 +- github/GitRelease.py | 180 +- github/GitReleaseAsset.py | 218 + github/GitTag.py | 13 +- github/GitTree.py | 13 +- github/GitTreeElement.py | 13 +- github/GithubException.py | 11 +- github/GithubObject.py | 20 +- github/GitignoreTemplate.py | 13 +- github/Hook.py | 35 +- github/HookDescription.py | 13 +- github/HookResponse.py | 13 +- github/InputFileContent.py | 11 +- github/InputGitAuthor.py | 13 +- github/InputGitTreeElement.py | 11 +- github/Installation.py | 17 +- github/InstallationAuthorization.py | 15 +- github/Invitation.py | 10 +- github/Issue.py | 121 +- github/IssueComment.py | 54 +- github/IssueEvent.py | 145 +- github/IssuePullRequest.py | 12 +- github/Label.py | 33 +- github/Legacy.py | 9 +- github/License.py | 162 + github/MainClass.py | 367 +- github/Migration.py | 219 + github/Milestone.py | 12 +- github/NamedUser.py | 92 +- github/Notification.py | 19 +- github/NotificationSubject.py | 13 +- github/Organization.py | 343 +- github/PaginatedList.py | 60 +- github/Path.py | 88 + github/Permissions.py | 13 +- github/Plan.py | 13 +- github/Project.py | 217 + github/ProjectCard.py | 170 + github/ProjectColumn.py | 176 + github/PullRequest.py | 253 +- github/PullRequestComment.py | 62 +- github/PullRequestMergeStatus.py | 13 +- github/PullRequestPart.py | 13 +- github/PullRequestReview.py | 53 +- github/Rate.py | 13 +- github/RateLimit.py | 66 +- github/Reaction.py | 98 + ...lRequestReviewerRequest.py => Referrer.py} | 61 +- github/Repository.py | 622 +- github/RepositoryKey.py | 65 +- github/Requester.py | 258 +- github/RequiredPullRequestReviews.py | 107 + ...atusMessage.py => RequiredStatusChecks.py} | 52 +- github/SourceImport.py | 186 + github/Stargazer.py | 22 +- github/StatsCodeFrequency.py | 12 +- github/StatsCommitActivity.py | 12 +- github/StatsContributor.py | 12 +- github/StatsParticipation.py | 12 +- github/StatsPunchCard.py | 12 +- github/Status.py | 58 - github/Tag.py | 13 +- github/Team.py | 112 +- github/Topic.py | 82 + github/UserKey.py | 32 +- github/View.py | 77 + github/__init__.py | 15 +- github/tests/AllTests.py | 99 - github/tests/AuthenticatedUser.py | 239 - github/tests/Authentication.py | 67 - github/tests/Authorization.py | 65 - github/tests/BadAttributes.py | 150 - github/tests/Branch.py | 47 - github/tests/Commit.py | 97 - github/tests/CommitCombinedStatus.py | 55 - github/tests/CommitComment.py | 58 - github/tests/CommitStatus.py | 53 - github/tests/ConditionalRequestUpdate.py | 45 - github/tests/ContentFile.py | 49 - github/tests/Download.py | 63 - github/tests/Enterprise.py | 58 - github/tests/Equality.py | 50 - github/tests/Event.py | 48 - github/tests/Exceptions.py | 141 - github/tests/ExposeAllAttributes.py | 161 - github/tests/Framework.py | 279 - github/tests/Gist.py | 124 - github/tests/GistComment.py | 54 - github/tests/GitBlob.py | 46 - github/tests/GitCommit.py | 54 - github/tests/GitRef.py | 53 - github/tests/GitRelease.py | 70 - github/tests/GitTag.py | 50 - github/tests/GitTree.py | 53 - github/tests/Github_.py | 152 - github/tests/Hook.py | 72 - github/tests/Issue.py | 152 - github/tests/Issue131.py | 51 - github/tests/Issue133.py | 34 - github/tests/Issue134.py | 48 - github/tests/Issue139.py | 38 - github/tests/Issue140.py | 54 - github/tests/Issue142.py | 33 - github/tests/Issue158.py | 33 - github/tests/Issue174.py | 36 - github/tests/Issue214.py | 70 - github/tests/Issue216.py | 37 - github/tests/Issue278.py | 36 - github/tests/Issue33.py | 39 - github/tests/Issue494.py | 38 - github/tests/Issue50.py | 71 - github/tests/Issue54.py | 40 - github/tests/Issue80.py | 43 - github/tests/Issue87.py | 51 - github/tests/IssueComment.py | 55 - github/tests/IssueEvent.py | 47 - github/tests/Label.py | 50 - github/tests/Logging_.py | 74 - github/tests/Markdown.py | 40 - github/tests/Milestone.py | 68 - github/tests/NamedUser.py | 150 - github/tests/Organization.py | 145 - github/tests/OrganizationHasInMembers.py | 37 - github/tests/PaginatedList.py | 155 - github/tests/Persistence.py | 56 - github/tests/PullRequest.py | 118 - github/tests/PullRequestComment.py | 60 - github/tests/PullRequestFile.py | 47 - github/tests/PullRequestReview.py | 51 - github/tests/PullRequestReviewerRequests.py | 46 - github/tests/RateLimiting.py | 47 - github/tests/RawData.py | 99 - ...AuthenticatedUser.testAcceptInvitation.txt | 11 - .../AuthenticatedUser.testAttributes.txt | 11 - ...estCreateAuthorizationWithAllArguments.txt | 11 - ...eateAuthorizationWithClientIdAndSecret.txt | 11 - ...estCreateAuthorizationWithoutArguments.txt | 11 - .../AuthenticatedUser.testCreateFork.txt | 33 - .../AuthenticatedUser.testCreateGist.txt | 11 - ...dUser.testCreateGistWithoutDescription.txt | 11 - .../AuthenticatedUser.testCreateKey.txt | 11 - ...AuthenticatedUser.testCreateRepository.txt | 11 - ...r.testCreateRepositoryWithAllArguments.txt | 11 - ...dUser.testCreateRepositoryWithAutoInit.txt | 11 - ...enticatedUser.testEditWithAllArguments.txt | 10 - ...enticatedUser.testEditWithoutArguments.txt | 11 - .../AuthenticatedUser.testEmails.txt | 55 - .../AuthenticatedUser.testFollowing.txt | 88 - ...uthenticatedUser.testGetAuthorizations.txt | 11 - .../AuthenticatedUser.testGetEvents.txt | 11 - .../AuthenticatedUser.testGetGists.txt | 11 - .../AuthenticatedUser.testGetIssues.txt | 11 - ...atedUser.testGetIssuesWithAllArguments.txt | 55 - .../AuthenticatedUser.testGetKeys.txt | 11 - .../AuthenticatedUser.testGetNotification.txt | 10 - ...AuthenticatedUser.testGetNotifications.txt | 10 - ...testGetNotificationsWithOtherArguments.txt | 11 - ...nticatedUser.testGetOrganizationEvents.txt | 33 - .../AuthenticatedUser.testGetOrgs.txt | 11 - .../AuthenticatedUser.testGetRepos.txt | 11 - ...nticatedUser.testGetReposWithArguments.txt | 11 - .../AuthenticatedUser.testGetStarredGists.txt | 11 - .../AuthenticatedUser.testGetTeams.txt | 11 - .../AuthenticatedUser.testGetUserIssues.txt | 11 - ...User.testGetUserIssuesWithAllArguments.txt | 55 - .../AuthenticatedUser.testStarring.txt | 99 - .../AuthenticatedUser.testSubscriptions.txt | 99 - .../AuthenticatedUser.testWatching.txt | 99 - ...ation.testAuthorizationHeaderWithLogin.txt | 11 - ...ation.testAuthorizationHeaderWithToken.txt | 11 - ...Authentication.testBasicAuthentication.txt | 11 - .../Authentication.testNoAuthentication.txt | 11 - ...Authentication.testOAuthAuthentication.txt | 11 - ...entication.testSecretKeyAuthentication.txt | 22 - .../Authentication.testUserAgent.txt | 11 - .../tests/ReplayData/Authorization.setUp.txt | 11 - .../ReplayData/Authorization.testDelete.txt | 11 - .../ReplayData/Authorization.testEdit.txt | 55 - ...butes.testBadAttributeInClassAttribute.txt | 11 - ...ributes.testBadAttributeTransformation.txt | 11 - .../BadAttributes.testBadSimpleAttribute.txt | 11 - ...ttributes.testBadSimpleAttributeInList.txt | 11 - ...Attributes.testBadTransformedAttribute.txt | 11 - ...utes.testBadTransformedAttributeInDict.txt | 11 - ...utes.testBadTransformedAttributeInList.txt | 11 - .../ReplayData/BadAttributes.testIssue195.txt | 11 - github/tests/ReplayData/Branch.setUp.txt | 33 - .../Branch.testCommitCommentsOnLine.txt | 22 - .../Branch.testProtectedAttributes.txt | 33 - github/tests/ReplayData/Commit.setUp.txt | 33 - .../ReplayData/Commit.testCreateComment.txt | 11 - .../Commit.testCreateCommentOnFileLine.txt | 11 - ...Commit.testCreateCommentOnFilePosition.txt | 11 - ...mmit.testCreateStatusWithAllParameters.txt | 11 - ...tCreateStatusWithoutOptionalParameters.txt | 11 - .../ReplayData/Commit.testGetComments.txt | 11 - .../ReplayData/CommitCombinedStatus.setUp.txt | 22 - .../tests/ReplayData/CommitComment.setUp.txt | 33 - .../ReplayData/CommitComment.testDelete.txt | 11 - .../ReplayData/CommitComment.testEdit.txt | 11 - .../tests/ReplayData/CommitStatus.setUp.txt | 44 - .../ConditionalRequestUpdate.setUp.txt | 11 - ...ditionalRequestUpdate.testDidNotUpdate.txt | 11 - ...ConditionalRequestUpdate.testDidUpdate.txt | 11 - ...uestUpdate.testUpdateObjectWithoutEtag.txt | 22 - github/tests/ReplayData/ContentFile.setUp.txt | 33 - github/tests/ReplayData/Download.setUp.txt | 33 - .../tests/ReplayData/Download.testDelete.txt | 11 - .../tests/ReplayData/Enterprise.testHttp.txt | 11 - .../tests/ReplayData/Enterprise.testHttps.txt | 11 - .../ReplayData/Enterprise.testLongUrl.txt | 22 - .../Enterprise.testSpecificPort.txt | 11 - .../Equality.testBranchEquality.txt | 44 - .../Equality.testUserDifference.txt | 22 - .../ReplayData/Equality.testUserEquality.txt | 22 - github/tests/ReplayData/Event.setUp.txt | 22 - .../Exceptions.testBadAuthentication.txt | 11 - .../Exceptions.testInvalidInput.txt | 11 - ...ptions.testNonJsonDataReturnedByGithub.txt | 11 - .../Exceptions.testUnknownObject.txt | 22 - .../ReplayData/Exceptions.testUnknownUser.txt | 11 - .../ExposeAllAttributes.testAllClasses.txt | 660 -- .../tests/ReplayData/Gist.testAttributes.txt | 22 - .../ReplayData/Gist.testCreateComment.txt | 22 - github/tests/ReplayData/Gist.testDelete.txt | 22 - .../tests/ReplayData/Gist.testDeleteFile.txt | 22 - .../Gist.testEditWithAllParameters.txt | 22 - .../Gist.testEditWithoutParameters.txt | 22 - github/tests/ReplayData/Gist.testFork.txt | 33 - .../tests/ReplayData/Gist.testGetComments.txt | 22 - .../tests/ReplayData/Gist.testRenameFile.txt | 22 - github/tests/ReplayData/Gist.testStarring.txt | 66 - github/tests/ReplayData/GistComment.setUp.txt | 22 - .../ReplayData/GistComment.testDelete.txt | 11 - .../tests/ReplayData/GistComment.testEdit.txt | 11 - github/tests/ReplayData/GitBlob.setUp.txt | 33 - github/tests/ReplayData/GitCommit.setUp.txt | 33 - github/tests/ReplayData/GitRef.setUp.txt | 33 - github/tests/ReplayData/GitRef.testDelete.txt | 11 - github/tests/ReplayData/GitRef.testEdit.txt | 11 - .../ReplayData/GitRef.testEditWithForce.txt | 11 - github/tests/ReplayData/GitTag.setUp.txt | 33 - github/tests/ReplayData/GitTree.setUp.txt | 33 - .../tests/ReplayData/Github.testGetEmojis.txt | 10 - .../tests/ReplayData/Github.testGetGists.txt | 44 - .../Github.testGetGitignoreTemplate.txt | 22 - .../Github.testGetGitignoreTemplates.txt | 11 - .../tests/ReplayData/Github.testGetHook.txt | 11 - .../tests/ReplayData/Github.testGetHooks.txt | 11 - .../Github.testGetRepoFromFullName.txt | 11 - .../ReplayData/Github.testGetRepoFromId.txt | 11 - .../tests/ReplayData/Github.testGetRepos.txt | 11 - .../ReplayData/Github.testGetReposSince.txt | 11 - .../tests/ReplayData/Github.testGetUsers.txt | 22 - .../ReplayData/Github.testGetUsersSince.txt | 11 - .../Github.testLegacySearchRepos.txt | 22 - ...estLegacySearchReposExplicitPagination.txt | 11 - ...Github.testLegacySearchReposPagination.txt | 33 - ...thub.testLegacySearchReposWithLanguage.txt | 22 - .../Github.testLegacySearchUserByEmail.txt | 22 - .../Github.testLegacySearchUsers.txt | 11 - ...estLegacySearchUsersExplicitPagination.txt | 11 - ...Github.testLegacySearchUsersPagination.txt | 33 - .../ReplayData/Github.testSearchRepos.txt | 11 - .../Github.testSearchUserByEmail.txt | 11 - .../ReplayData/Github.testSearchUsers.txt | 11 - github/tests/ReplayData/Hook.setUp.txt | 33 - github/tests/ReplayData/Hook.testDelete.txt | 11 - .../Hook.testEditWithAllParameters.txt | 44 - .../Hook.testEditWithMinimalParameters.txt | 11 - github/tests/ReplayData/Hook.testTest.txt | 11 - github/tests/ReplayData/Issue.setUp.txt | 33 - .../Issue.testAddAndRemoveAssignees.txt | 33 - .../Issue.testAddAndRemoveLabels.txt | 99 - ...tAddAndRemoveLabelsWithStringArguments.txt | 77 - .../tests/ReplayData/Issue.testAttributes.txt | 11 - .../ReplayData/Issue.testCreateComment.txt | 11 - .../Issue.testDeleteAndSetLabels.txt | 77 - ...tDeleteAndSetLabelsWithStringArguments.txt | 55 - .../Issue.testEditResetAssignee.txt | 11 - .../Issue.testEditResetMilestone.txt | 11 - .../Issue.testEditWithAllParameters.txt | 33 - .../Issue.testEditWithoutParameters.txt | 11 - .../ReplayData/Issue.testGetComments.txt | 11 - .../ReplayData/Issue.testGetCommentsSince.txt | 10 - .../tests/ReplayData/Issue.testGetEvents.txt | 11 - .../tests/ReplayData/Issue.testGetLabels.txt | 11 - github/tests/ReplayData/Issue131.setUp.txt | 22 - .../Issue131.testGetPullWithOrgHeadUser.txt | 11 - .../Issue131.testGetPullsWithOrgHeadUser.txt | 11 - ...133.testGetPageWithoutInitialArguments.txt | 11 - ...tionsFailsWhenAutenticatedThroughOAuth.txt | 11 - ...dsWhenAutenticatedThroughLoginPassword.txt | 11 - .../Issue134.testGetOAuthScopesFromHeader.txt | 11 - github/tests/ReplayData/Issue139.setUp.txt | 33 - .../ReplayData/Issue139.testCompletion.txt | 11 - github/tests/ReplayData/Issue140.setUp.txt | 11 - .../Issue140.testGetDirContents.txt | 11 - ...GetDirContentsThenLazyCompletionOfFile.txt | 22 - .../Issue140.testGetDirContentsWithRef.txt | 11 - .../Issue140.testGetFileContents.txt | 11 - ...tPaginationWithSecretKeyAuthentication.txt | 33 - github/tests/ReplayData/Issue174.setUp.txt | 11 - ...74.testGetDirContentsWhithHttpRedirect.txt | 22 - github/tests/ReplayData/Issue214.setUp.txt | 33 - .../ReplayData/Issue214.testAssignees.txt | 22 - .../ReplayData/Issue214.testCollaborators.txt | 77 - .../ReplayData/Issue214.testCreateIssue.txt | 11 - .../ReplayData/Issue214.testEditIssue.txt | 22 - .../ReplayData/Issue214.testGetIssues.txt | 11 - github/tests/ReplayData/Issue216.setUp.txt | 22 - .../ReplayData/Issue216.testIteration.txt | 154 - github/tests/ReplayData/Issue278.setUp.txt | 22 - .../ReplayData/Issue278.testIteration.txt | 154 - github/tests/ReplayData/Issue33.setUp.txt | 22 - .../ReplayData/Issue33.testClosedIssues.txt | 418 - .../ReplayData/Issue33.testOpenIssues.txt | 154 - github/tests/ReplayData/Issue494.setUp.txt | 11 - github/tests/ReplayData/Issue50.setUp.txt | 33 - .../Issue50.testAddLabelToIssue.txt | 22 - .../Issue50.testCreateIssueWithLabel.txt | 22 - .../ReplayData/Issue50.testCreateLabel.txt | 11 - .../Issue50.testGetIssuesWithLabel.txt | 22 - .../tests/ReplayData/Issue50.testGetLabel.txt | 11 - .../ReplayData/Issue50.testGetLabels.txt | 11 - .../ReplayData/Issue50.testIssueGetLabels.txt | 11 - .../Issue50.testRemoveLabelFromIssue.txt | 22 - .../ReplayData/Issue50.testSetIssueLabels.txt | 44 - github/tests/ReplayData/Issue54.setUp.txt | 22 - .../ReplayData/Issue54.testConversion.txt | 11 - ...80.testIgnoreHttpsFromGithubEnterprise.txt | 22 - ...gnoreHttpsFromGithubEnterpriseWithPort.txt | 22 - github/tests/ReplayData/Issue87.setUp.txt | 22 - ...estCreateIssueWithEscapedPercentInBody.txt | 11 - ...stCreateIssueWithEscapedPercentInTitle.txt | 11 - ...sue87.testCreateIssueWithPercentInBody.txt | 11 - ...ue87.testCreateIssueWithPercentInTitle.txt | 11 - .../tests/ReplayData/IssueComment.setUp.txt | 44 - .../ReplayData/IssueComment.testDelete.txt | 10 - .../ReplayData/IssueComment.testEdit.txt | 11 - github/tests/ReplayData/IssueEvent.setUp.txt | 33 - .../ReplayData/IssueEvent.testAttributes.txt | 11 - github/tests/ReplayData/Label.setUp.txt | 33 - github/tests/ReplayData/Label.testDelete.txt | 11 - github/tests/ReplayData/Label.testEdit.txt | 11 - .../tests/ReplayData/LazyRepository.setUp.txt | 11 - .../LazyRepository.testGetIssues.txt | 33 - .../ReplayData/LazyRepository.testGetUser.txt | 11 - .../ReplayData/LazyRepository.testOwner.txt | 22 - .../Logging.testLoggingWithBaseUrl.txt | 11 - ...ing.testLoggingWithBasicAuthentication.txt | 11 - ...ing.testLoggingWithOAuthAuthentication.txt | 11 - ...gging.testLoggingWithoutAuthentication.txt | 11 - github/tests/ReplayData/Markdown.setUp.txt | 22 - ...kdown.testRenderGithubFlavoredMarkdown.txt | 11 - .../Markdown.testRenderMarkdown.txt | 11 - github/tests/ReplayData/Milestone.setUp.txt | 33 - .../tests/ReplayData/Milestone.testDelete.txt | 11 - .../Milestone.testEditWithAllParameters.txt | 11 - ...ilestone.testEditWithMinimalParameters.txt | 11 - .../ReplayData/Milestone.testGetLabels.txt | 11 - github/tests/ReplayData/NamedUser.setUp.txt | 11 - .../NamedUser.testAttributesOfOtherUser.txt | 11 - .../ReplayData/NamedUser.testGetEvents.txt | 11 - .../ReplayData/NamedUser.testGetFollowers.txt | 11 - .../ReplayData/NamedUser.testGetFollowing.txt | 11 - .../ReplayData/NamedUser.testGetGists.txt | 11 - .../ReplayData/NamedUser.testGetKeys.txt | 11 - .../ReplayData/NamedUser.testGetOrgs.txt | 11 - .../NamedUser.testGetPublicEvents.txt | 11 - .../NamedUser.testGetPublicReceivedEvents.txt | 11 - .../NamedUser.testGetReceivedEvents.txt | 11 - .../ReplayData/NamedUser.testGetRepo.txt | 11 - .../ReplayData/NamedUser.testGetRepos.txt | 11 - .../NamedUser.testGetReposWithType.txt | 11 - .../ReplayData/NamedUser.testGetStarred.txt | 22 - .../NamedUser.testGetSubscriptions.txt | 11 - .../ReplayData/NamedUser.testGetWatched.txt | 22 - .../NamedUser.testHasInFollowing.txt | 22 - .../tests/ReplayData/Organization.setUp.txt | 11 - .../Organization.testCreateFork.txt | 33 - ...ization.testCreateRepoWithAllArguments.txt | 22 - ...ion.testCreateRepoWithMinimalArguments.txt | 11 - ...ation.testCreateRepositoryWithAutoInit.txt | 11 - .../Organization.testCreateTeam.txt | 11 - ...ization.testCreateTeamWithAllArguments.txt | 22 - .../Organization.testEditWithAllArguments.txt | 11 - .../Organization.testEditWithoutArguments.txt | 11 - .../ReplayData/Organization.testGetEvents.txt | 22 - .../ReplayData/Organization.testGetIssues.txt | 11 - ...nization.testGetIssuesWithAllArguments.txt | 44 - .../Organization.testGetMembers.txt | 11 - .../Organization.testGetPublicMembers.txt | 11 - .../ReplayData/Organization.testGetRepos.txt | 11 - .../Organization.testGetReposWithType.txt | 11 - .../ReplayData/Organization.testGetTeams.txt | 11 - .../ReplayData/Organization.testMembers.txt | 44 - .../Organization.testPublicMembers.txt | 66 - .../OrganizationHasInMembers.setUp.txt | 31 - .../tests/ReplayData/PaginatedList.setUp.txt | 22 - .../PaginatedList.testCustomPerPage.txt | 55 - ...natedList.testCustomPerPageWithGetPage.txt | 11 - ...List.testCustomPerPageWithNoUrlParams2.txt | 44 - .../PaginatedList.testGetFirstPage.txt | 11 - .../PaginatedList.testGetThirdPage.txt | 11 - ...versedListDoesNotModifyTheOriginalList.txt | 55 - ...atedList.testIntIndexingAfterIteration.txt | 154 - ...ginatedList.testIntIndexingInFirstPage.txt | 11 - ...ginatedList.testIntIndexingInThirdPage.txt | 33 - ...PaginatedList.testInterruptedIteration.txt | 33 - ...edList.testInterruptedIterationInSlice.txt | 33 - .../PaginatedList.testIteration.txt | 154 - .../PaginatedList.testNoFirstPage.txt | 9 - ....testReversedIterationSupportsIterator.txt | 21 - ...testReversedIterationWithMultiplePages.txt | 32 - ...st.testReversedIterationWithSinglePage.txt | 21 - .../PaginatedList.testSeveralIterations.txt | 154 - ...natedList.testSliceIndexingInFirstPage.txt | 11 - ...aginatedList.testSliceIndexingUntilEnd.txt | 154 - ...dList.testSliceIndexingUntilFourthPage.txt | 44 - github/tests/ReplayData/Persistence.setUp.txt | 11 - .../Persistence.testLoadAndUpdate.txt | 11 - github/tests/ReplayData/PullRequest.setUp.txt | 33 - .../PullRequest.testCreateComment.txt | 22 - .../PullRequest.testCreateIssueComment.txt | 11 - .../PullRequest.testEditWithAllArguments.txt | 11 - .../PullRequest.testEditWithoutArguments.txt | 11 - .../PullRequest.testGetComments.txt | 11 - .../ReplayData/PullRequest.testGetCommits.txt | 11 - .../ReplayData/PullRequest.testGetFiles.txt | 11 - .../PullRequest.testGetIssueComment.txt | 11 - .../PullRequest.testGetIssueComments.txt | 11 - .../ReplayData/PullRequest.testMerge.txt | 33 - ...PullRequest.testMergeWithCommitMessage.txt | 44 - .../ReplayData/PullRequestComment.setUp.txt | 44 - .../PullRequestComment.testDelete.txt | 11 - .../PullRequestComment.testEdit.txt | 11 - .../ReplayData/PullRequestFile.setUp.txt | 44 - .../ReplayData/PullRequestReview.setUp.txt | 22 - .../PullRequestReviewerRequests.setUp.txt | 22 - .../RateLimiting.testGetRateLimit.txt | 11 - .../RateLimiting.testRateLimiting.txt | 22 - .../ReplayData/RateLimiting.testResetTime.txt | 10 - .../RawData.testCompletedObject.txt | 11 - .../RawData.testNonCompletableObject.txt | 11 - .../RawData.testNotYetCompletedObject.txt | 33 - github/tests/ReplayData/Release.setUp.txt | 33 - .../ReplayData/Release.testAttributes.txt | 33 - .../Release.testCreateGitTagAndRelease.txt | 44 - .../tests/ReplayData/Release.testDelete.txt | 44 - .../ReplayData/Release.testGetRelease.txt | 66 - .../tests/ReplayData/Release.testUpdate.txt | 44 - github/tests/ReplayData/Repository.setUp.txt | 22 - .../ReplayData/Repository.testAssignees.txt | 99 - ...epository.testBadSubscribePubSubHubbub.txt | 11 - ...ory.testChangeBranchProtectionContexts.txt | 66 - ...ChangeBranchProtectionEnforcementLevel.txt | 44 - .../Repository.testCollaborators.txt | 77 - .../ReplayData/Repository.testCompare.txt | 11 - .../ReplayData/Repository.testCreateFile.txt | 11 - .../Repository.testCreateGitBlob.txt | 11 - .../Repository.testCreateGitCommit.txt | 22 - ...ry.testCreateGitCommitWithAllArguments.txt | 22 - ...ository.testCreateGitCommitWithParents.txt | 44 - .../Repository.testCreateGitRef.txt | 11 - .../Repository.testCreateGitTag.txt | 11 - ...itory.testCreateGitTagWithAllArguments.txt | 11 - .../Repository.testCreateGitTree.txt | 11 - ...pository.testCreateGitTreeWithBaseTree.txt | 22 - .../Repository.testCreateGitTreeWithSha.txt | 11 - ...sitory.testCreateHookWithAllParameters.txt | 11 - ...ry.testCreateHookWithMinimalParameters.txt | 11 - .../ReplayData/Repository.testCreateIssue.txt | 11 - ...sitory.testCreateIssueWithAllArguments.txt | 44 - ...CreateIssueWithAllArgumentsStringLabel.txt | 33 - .../ReplayData/Repository.testCreateKey.txt | 11 - .../ReplayData/Repository.testCreateLabel.txt | 11 - .../Repository.testCreateMilestone.txt | 11 - ...estCreateMilestoneWithMinimalArguments.txt | 11 - .../ReplayData/Repository.testCreatePull.txt | 11 - .../Repository.testCreatePullFromIssue.txt | 22 - .../ReplayData/Repository.testDelete.txt | 33 - .../ReplayData/Repository.testDeleteFile.txt | 21 - .../Repository.testEditWithAllArguments.txt | 22 - .../Repository.testEditWithDefaultBranch.txt | 11 - .../Repository.testEditWithoutArguments.txt | 11 - .../Repository.testGetArchiveLink.txt | 44 - .../ReplayData/Repository.testGetBranch.txt | 11 - .../ReplayData/Repository.testGetComments.txt | 11 - .../ReplayData/Repository.testGetCommits.txt | 33 - ...Repository.testGetCommitsWithArguments.txt | 11 - .../Repository.testGetCommitsWithAuthor.txt | 44 - ...epository.testGetCommitsWithSinceUntil.txt | 22 - .../Repository.testGetContentDir.txt | 11 - .../ReplayData/Repository.testGetContents.txt | 22 - .../Repository.testGetContentsWithRef.txt | 22 - .../Repository.testGetContributors.txt | 11 - .../Repository.testGetDownloads.txt | 11 - .../ReplayData/Repository.testGetEvents.txt | 11 - .../ReplayData/Repository.testGetForks.txt | 11 - .../ReplayData/Repository.testGetGitRef.txt | 11 - ...tory.testGetGitRefWithIssue102Reverted.txt | 11 - .../ReplayData/Repository.testGetGitRefs.txt | 11 - ...Repository.testGetGitTreeWithRecursive.txt | 11 - .../ReplayData/Repository.testGetHooks.txt | 11 - .../ReplayData/Repository.testGetIssues.txt | 11 - .../Repository.testGetIssuesComments.txt | 66 - .../Repository.testGetIssuesEvents.txt | 11 - .../Repository.testGetIssuesWithArguments.txt | 99 - .../Repository.testGetIssuesWithWildcards.txt | 44 - .../ReplayData/Repository.testGetKeys.txt | 11 - .../ReplayData/Repository.testGetLabel.txt | 11 - .../ReplayData/Repository.testGetLabels.txt | 11 - .../Repository.testGetLanguages.txt | 11 - .../Repository.testGetMilestones.txt | 11 - ...ository.testGetMilestonesWithArguments.txt | 11 - .../Repository.testGetNetworkEvents.txt | 11 - .../ReplayData/Repository.testGetPulls.txt | 11 - .../Repository.testGetPullsComments.txt | 33 - .../Repository.testGetPullsWithArguments.txt | 11 - .../Repository.testGetStargazers.txt | 33 - .../Repository.testGetStargazersWithDates.txt | 33 - .../Repository.testGetSubscribers.txt | 11 - .../ReplayData/Repository.testGetTeams.txt | 33 - .../ReplayData/Repository.testGetWatchers.txt | 11 - .../Repository.testLegacySearchIssues.txt | 11 - .../Repository.testMergeWithConflict.txt | 11 - .../Repository.testMergeWithMessage.txt | 11 - .../Repository.testMergeWithNothingToDo.txt | 11 - .../Repository.testMergeWithoutMessage.txt | 11 - .../Repository.testProtectBranch.txt | 22 - ...hProtectionWithInvalidEnforcementLevel.txt | 11 - ...rrorWithBranchProtectionWithOutContext.txt | 11 - ...Repository.testRaiseErrorWithOutBranch.txt | 11 - .../Repository.testRemoveBranchProtection.txt | 22 - .../Repository.testSearchIssues.txt | 11 - .../Repository.testStatisticsAfterCaching.txt | 55 - ...Repository.testStatisticsBeforeCaching.txt | 55 - .../Repository.testSubscribePubSubHubbub.txt | 11 - ...Repository.testUnsubscribePubSubHubbub.txt | 11 - .../ReplayData/Repository.testUpdateFile.txt | 21 - .../tests/ReplayData/RepositoryKey.setUp.txt | 33 - .../ReplayData/RepositoryKey.testDelete.txt | 11 - .../ReplayData/RepositoryKey.testEdit.txt | 11 - ...epositoryKey.testEditWithoutParameters.txt | 11 - .../Search.testGetPageOnSearchUsers.txt | 11 - .../Search.testPaginateSearchUsers.txt | 22 - .../ReplayData/Search.testSearchCode.txt | 22 - .../ReplayData/Search.testSearchIssues.txt | 11 - .../ReplayData/Search.testSearchRepos.txt | 22 - .../ReplayData/Search.testSearchUsers.txt | 11 - .../Search.testUrlquotingOfQualifiers.txt | 11 - .../Search.testUrlquotingOfQuery.txt | 11 - .../SpecificExceptions.testBadCredentials.txt | 11 - .../SpecificExceptions.testBadUserAgent.txt | 11 - ...ecificExceptions.testRateLimitExceeded.txt | 55 - .../SpecificExceptions.testUnknownObject.txt | 22 - .../ReplayData/Status.testGetLastMessage.txt | 11 - .../ReplayData/Status.testGetMessages.txt | 11 - .../tests/ReplayData/Status.testGetStatus.txt | 11 - github/tests/ReplayData/Tag.setUp.txt | 33 - github/tests/ReplayData/Team.setUp.txt | 22 - github/tests/ReplayData/Team.testDelete.txt | 11 - .../Team.testEditWithAllArguments.txt | 11 - .../Team.testEditWithoutArguments.txt | 11 - github/tests/ReplayData/Team.testMembers.txt | 99 - .../ReplayData/Team.testRepoPermission.txt | 21 - github/tests/ReplayData/Team.testRepos.txt | 99 - github/tests/ReplayData/UserKey.setUp.txt | 11 - .../tests/ReplayData/UserKey.testDelete.txt | 11 - .../UserKey.testEditWithAllArguments.txt | 11 - .../UserKey.testEditWithoutArguments.txt | 11 - github/tests/Repository.py | 662 -- github/tests/RepositoryKey.py | 55 - github/tests/Search.py | 75 - github/tests/Status.py | 44 - github/tests/Tag.py | 42 - github/tests/Team.py | 83 - github/tests/UserKey.py | 54 - github/tests/__init__.py | 25 - github/tests/__main__.py | 47 - idna/__init__.py | 2 + idna/codec.py | 118 + idna/compat.py | 12 + idna/core.py | 396 + idna/idnadata.py | 1979 ++++ idna/intranges.py | 53 + idna/package_data.py | 2 + idna/uts46data.py | 8205 +++++++++++++++++ img/scopes.png | Bin 0 -> 308339 bytes info.plist | 76 +- requests/__init__.py | 131 + requests/__version__.py | 14 + requests/_internal_utils.py | 42 + requests/adapters.py | 533 ++ requests/api.py | 158 + requests/auth.py | 305 + requests/certs.py | 18 + requests/compat.py | 70 + requests/cookies.py | 549 ++ requests/exceptions.py | 126 + requests/help.py | 119 + requests/hooks.py | 34 + requests/models.py | 953 ++ requests/packages.py | 14 + requests/sessions.py | 770 ++ requests/status_codes.py | 120 + requests/structures.py | 103 + requests/utils.py | 977 ++ set_info.py | 2 + urllib3/__init__.py | 92 + urllib3/_collections.py | 329 + urllib3/connection.py | 391 + urllib3/connectionpool.py | 896 ++ urllib3/contrib/__init__.py | 0 urllib3/contrib/_appengine_environ.py | 30 + urllib3/contrib/_securetransport/__init__.py | 0 urllib3/contrib/_securetransport/bindings.py | 593 ++ urllib3/contrib/_securetransport/low_level.py | 346 + urllib3/contrib/appengine.py | 289 + urllib3/contrib/ntlmpool.py | 111 + urllib3/contrib/pyopenssl.py | 469 + urllib3/contrib/securetransport.py | 804 ++ urllib3/contrib/socks.py | 192 + urllib3/exceptions.py | 246 + urllib3/fields.py | 178 + urllib3/filepost.py | 98 + urllib3/packages/__init__.py | 5 + urllib3/packages/backports/__init__.py | 0 urllib3/packages/backports/makefile.py | 53 + urllib3/packages/six.py | 868 ++ .../packages/ssl_match_hostname/__init__.py | 19 + .../ssl_match_hostname/_implementation.py | 156 + urllib3/poolmanager.py | 453 + urllib3/request.py | 150 + urllib3/response.py | 707 ++ urllib3/util/__init__.py | 54 + urllib3/util/connection.py | 134 + urllib3/util/queue.py | 21 + urllib3/util/request.py | 118 + urllib3/util/response.py | 87 + urllib3/util/retry.py | 412 + urllib3/util/ssl_.py | 382 + urllib3/util/timeout.py | 242 + urllib3/util/url.py | 238 + urllib3/util/wait.py | 150 + workflow/__init__.py | 2 +- workflow/background.py | 124 +- workflow/notify.py | 9 +- workflow/update.py | 449 +- workflow/util.py | 552 ++ workflow/version | 2 +- workflow/web.py | 35 +- workflow/workflow.py | 408 +- workflow/workflow3.py | 109 +- wrapt/__init__.py | 16 + wrapt/decorators.py | 511 + wrapt/importer.py | 230 + wrapt/wrappers.py | 943 ++ 735 files changed, 45514 insertions(+), 18558 deletions(-) create mode 100755 bin/chardetect create mode 100644 certifi/__init__.py create mode 100644 certifi/__main__.py create mode 100644 certifi/cacert.pem create mode 100644 certifi/core.py create mode 100644 chardet/__init__.py create mode 100644 chardet/big5freq.py create mode 100644 chardet/big5prober.py create mode 100644 chardet/chardistribution.py create mode 100644 chardet/charsetgroupprober.py create mode 100644 chardet/charsetprober.py create mode 100644 chardet/cli/__init__.py create mode 100644 chardet/cli/chardetect.py create mode 100644 chardet/codingstatemachine.py create mode 100644 chardet/compat.py create mode 100644 chardet/cp949prober.py create mode 100644 chardet/enums.py create mode 100644 chardet/escprober.py create mode 100644 chardet/escsm.py create mode 100644 chardet/eucjpprober.py create mode 100644 chardet/euckrfreq.py create mode 100644 chardet/euckrprober.py create mode 100644 chardet/euctwfreq.py create mode 100644 chardet/euctwprober.py create mode 100644 chardet/gb2312freq.py create mode 100644 chardet/gb2312prober.py create mode 100644 chardet/hebrewprober.py create mode 100644 chardet/jisfreq.py create mode 100644 chardet/jpcntx.py create mode 100644 chardet/langbulgarianmodel.py create mode 100644 chardet/langcyrillicmodel.py create mode 100644 chardet/langgreekmodel.py create mode 100644 chardet/langhebrewmodel.py create mode 100644 chardet/langhungarianmodel.py create mode 100644 chardet/langthaimodel.py create mode 100644 chardet/langturkishmodel.py create mode 100644 chardet/latin1prober.py create mode 100644 chardet/mbcharsetprober.py create mode 100644 chardet/mbcsgroupprober.py create mode 100644 chardet/mbcssm.py create mode 100644 chardet/sbcharsetprober.py create mode 100644 chardet/sbcsgroupprober.py create mode 100644 chardet/sjisprober.py create mode 100644 chardet/universaldetector.py create mode 100644 chardet/utf8prober.py create mode 100644 chardet/version.py create mode 100644 deprecated/__init__.py create mode 100644 deprecated/classic.py create mode 100644 deprecated/sphinx.py create mode 100644 github/BranchProtection.py create mode 100644 github/Clones.py create mode 100644 github/GitReleaseAsset.py create mode 100644 github/License.py create mode 100644 github/Migration.py create mode 100644 github/Path.py create mode 100644 github/Project.py create mode 100644 github/ProjectCard.py create mode 100644 github/ProjectColumn.py create mode 100644 github/Reaction.py rename github/{PullRequestReviewerRequest.py => Referrer.py} (51%) create mode 100644 github/RequiredPullRequestReviews.py rename github/{StatusMessage.py => RequiredStatusChecks.py} (54%) create mode 100644 github/SourceImport.py mode change 100644 => 100755 github/StatsCodeFrequency.py mode change 100644 => 100755 github/StatsCommitActivity.py mode change 100644 => 100755 github/StatsContributor.py mode change 100644 => 100755 github/StatsParticipation.py mode change 100644 => 100755 github/StatsPunchCard.py delete mode 100644 github/Status.py create mode 100644 github/Topic.py create mode 100644 github/View.py delete mode 100644 github/tests/AllTests.py delete mode 100644 github/tests/AuthenticatedUser.py delete mode 100644 github/tests/Authentication.py delete mode 100644 github/tests/Authorization.py delete mode 100644 github/tests/BadAttributes.py delete mode 100644 github/tests/Branch.py delete mode 100644 github/tests/Commit.py delete mode 100644 github/tests/CommitCombinedStatus.py delete mode 100644 github/tests/CommitComment.py delete mode 100644 github/tests/CommitStatus.py delete mode 100644 github/tests/ConditionalRequestUpdate.py delete mode 100644 github/tests/ContentFile.py delete mode 100644 github/tests/Download.py delete mode 100644 github/tests/Enterprise.py delete mode 100644 github/tests/Equality.py delete mode 100644 github/tests/Event.py delete mode 100644 github/tests/Exceptions.py delete mode 100644 github/tests/ExposeAllAttributes.py delete mode 100644 github/tests/Framework.py delete mode 100644 github/tests/Gist.py delete mode 100644 github/tests/GistComment.py delete mode 100644 github/tests/GitBlob.py delete mode 100644 github/tests/GitCommit.py delete mode 100644 github/tests/GitRef.py delete mode 100644 github/tests/GitRelease.py delete mode 100644 github/tests/GitTag.py delete mode 100644 github/tests/GitTree.py delete mode 100644 github/tests/Github_.py delete mode 100644 github/tests/Hook.py delete mode 100644 github/tests/Issue.py delete mode 100644 github/tests/Issue131.py delete mode 100644 github/tests/Issue133.py delete mode 100644 github/tests/Issue134.py delete mode 100644 github/tests/Issue139.py delete mode 100644 github/tests/Issue140.py delete mode 100644 github/tests/Issue142.py delete mode 100644 github/tests/Issue158.py delete mode 100644 github/tests/Issue174.py delete mode 100644 github/tests/Issue214.py delete mode 100644 github/tests/Issue216.py delete mode 100644 github/tests/Issue278.py delete mode 100644 github/tests/Issue33.py delete mode 100644 github/tests/Issue494.py delete mode 100644 github/tests/Issue50.py delete mode 100644 github/tests/Issue54.py delete mode 100644 github/tests/Issue80.py delete mode 100644 github/tests/Issue87.py delete mode 100644 github/tests/IssueComment.py delete mode 100644 github/tests/IssueEvent.py delete mode 100644 github/tests/Label.py delete mode 100644 github/tests/Logging_.py delete mode 100644 github/tests/Markdown.py delete mode 100644 github/tests/Milestone.py delete mode 100644 github/tests/NamedUser.py delete mode 100644 github/tests/Organization.py delete mode 100644 github/tests/OrganizationHasInMembers.py delete mode 100644 github/tests/PaginatedList.py delete mode 100644 github/tests/Persistence.py delete mode 100644 github/tests/PullRequest.py delete mode 100644 github/tests/PullRequestComment.py delete mode 100644 github/tests/PullRequestFile.py delete mode 100644 github/tests/PullRequestReview.py delete mode 100644 github/tests/PullRequestReviewerRequests.py delete mode 100644 github/tests/RateLimiting.py delete mode 100644 github/tests/RawData.py delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testAcceptInvitation.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testAttributes.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithClientIdAndSecret.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateFork.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateGist.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateKey.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateRepository.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAllArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAutoInit.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testEditWithoutArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testEmails.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testFollowing.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetAuthorizations.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetEvents.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetGists.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetIssues.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetIssuesWithAllArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetKeys.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetNotification.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetNotifications.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetNotificationsWithOtherArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetOrganizationEvents.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetOrgs.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetRepos.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetReposWithArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetStarredGists.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetTeams.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetUserIssues.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testGetUserIssuesWithAllArguments.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testStarring.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testSubscriptions.txt delete mode 100644 github/tests/ReplayData/AuthenticatedUser.testWatching.txt delete mode 100644 github/tests/ReplayData/Authentication.testAuthorizationHeaderWithLogin.txt delete mode 100644 github/tests/ReplayData/Authentication.testAuthorizationHeaderWithToken.txt delete mode 100644 github/tests/ReplayData/Authentication.testBasicAuthentication.txt delete mode 100644 github/tests/ReplayData/Authentication.testNoAuthentication.txt delete mode 100644 github/tests/ReplayData/Authentication.testOAuthAuthentication.txt delete mode 100644 github/tests/ReplayData/Authentication.testSecretKeyAuthentication.txt delete mode 100644 github/tests/ReplayData/Authentication.testUserAgent.txt delete mode 100644 github/tests/ReplayData/Authorization.setUp.txt delete mode 100644 github/tests/ReplayData/Authorization.testDelete.txt delete mode 100644 github/tests/ReplayData/Authorization.testEdit.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadAttributeInClassAttribute.txt delete mode 100755 github/tests/ReplayData/BadAttributes.testBadAttributeTransformation.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadSimpleAttribute.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadSimpleAttributeInList.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadTransformedAttribute.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInDict.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInList.txt delete mode 100644 github/tests/ReplayData/BadAttributes.testIssue195.txt delete mode 100644 github/tests/ReplayData/Branch.setUp.txt delete mode 100644 github/tests/ReplayData/Branch.testCommitCommentsOnLine.txt delete mode 100644 github/tests/ReplayData/Branch.testProtectedAttributes.txt delete mode 100644 github/tests/ReplayData/Commit.setUp.txt delete mode 100644 github/tests/ReplayData/Commit.testCreateComment.txt delete mode 100644 github/tests/ReplayData/Commit.testCreateCommentOnFileLine.txt delete mode 100644 github/tests/ReplayData/Commit.testCreateCommentOnFilePosition.txt delete mode 100644 github/tests/ReplayData/Commit.testCreateStatusWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Commit.testCreateStatusWithoutOptionalParameters.txt delete mode 100644 github/tests/ReplayData/Commit.testGetComments.txt delete mode 100644 github/tests/ReplayData/CommitCombinedStatus.setUp.txt delete mode 100644 github/tests/ReplayData/CommitComment.setUp.txt delete mode 100644 github/tests/ReplayData/CommitComment.testDelete.txt delete mode 100644 github/tests/ReplayData/CommitComment.testEdit.txt delete mode 100644 github/tests/ReplayData/CommitStatus.setUp.txt delete mode 100644 github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt delete mode 100755 github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt delete mode 100644 github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt delete mode 100755 github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt delete mode 100644 github/tests/ReplayData/ContentFile.setUp.txt delete mode 100644 github/tests/ReplayData/Download.setUp.txt delete mode 100644 github/tests/ReplayData/Download.testDelete.txt delete mode 100644 github/tests/ReplayData/Enterprise.testHttp.txt delete mode 100644 github/tests/ReplayData/Enterprise.testHttps.txt delete mode 100644 github/tests/ReplayData/Enterprise.testLongUrl.txt delete mode 100644 github/tests/ReplayData/Enterprise.testSpecificPort.txt delete mode 100644 github/tests/ReplayData/Equality.testBranchEquality.txt delete mode 100644 github/tests/ReplayData/Equality.testUserDifference.txt delete mode 100644 github/tests/ReplayData/Equality.testUserEquality.txt delete mode 100644 github/tests/ReplayData/Event.setUp.txt delete mode 100644 github/tests/ReplayData/Exceptions.testBadAuthentication.txt delete mode 100644 github/tests/ReplayData/Exceptions.testInvalidInput.txt delete mode 100755 github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt delete mode 100644 github/tests/ReplayData/Exceptions.testUnknownObject.txt delete mode 100644 github/tests/ReplayData/Exceptions.testUnknownUser.txt delete mode 100644 github/tests/ReplayData/ExposeAllAttributes.testAllClasses.txt delete mode 100644 github/tests/ReplayData/Gist.testAttributes.txt delete mode 100644 github/tests/ReplayData/Gist.testCreateComment.txt delete mode 100644 github/tests/ReplayData/Gist.testDelete.txt delete mode 100644 github/tests/ReplayData/Gist.testDeleteFile.txt delete mode 100644 github/tests/ReplayData/Gist.testEditWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Gist.testEditWithoutParameters.txt delete mode 100644 github/tests/ReplayData/Gist.testFork.txt delete mode 100644 github/tests/ReplayData/Gist.testGetComments.txt delete mode 100644 github/tests/ReplayData/Gist.testRenameFile.txt delete mode 100644 github/tests/ReplayData/Gist.testStarring.txt delete mode 100644 github/tests/ReplayData/GistComment.setUp.txt delete mode 100644 github/tests/ReplayData/GistComment.testDelete.txt delete mode 100644 github/tests/ReplayData/GistComment.testEdit.txt delete mode 100644 github/tests/ReplayData/GitBlob.setUp.txt delete mode 100644 github/tests/ReplayData/GitCommit.setUp.txt delete mode 100644 github/tests/ReplayData/GitRef.setUp.txt delete mode 100644 github/tests/ReplayData/GitRef.testDelete.txt delete mode 100644 github/tests/ReplayData/GitRef.testEdit.txt delete mode 100644 github/tests/ReplayData/GitRef.testEditWithForce.txt delete mode 100644 github/tests/ReplayData/GitTag.setUp.txt delete mode 100644 github/tests/ReplayData/GitTree.setUp.txt delete mode 100644 github/tests/ReplayData/Github.testGetEmojis.txt delete mode 100644 github/tests/ReplayData/Github.testGetGists.txt delete mode 100644 github/tests/ReplayData/Github.testGetGitignoreTemplate.txt delete mode 100644 github/tests/ReplayData/Github.testGetGitignoreTemplates.txt delete mode 100644 github/tests/ReplayData/Github.testGetHook.txt delete mode 100644 github/tests/ReplayData/Github.testGetHooks.txt delete mode 100644 github/tests/ReplayData/Github.testGetRepoFromFullName.txt delete mode 100644 github/tests/ReplayData/Github.testGetRepoFromId.txt delete mode 100644 github/tests/ReplayData/Github.testGetRepos.txt delete mode 100644 github/tests/ReplayData/Github.testGetReposSince.txt delete mode 100644 github/tests/ReplayData/Github.testGetUsers.txt delete mode 100644 github/tests/ReplayData/Github.testGetUsersSince.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchRepos.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchReposExplicitPagination.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchReposPagination.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchReposWithLanguage.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchUserByEmail.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchUsers.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt delete mode 100644 github/tests/ReplayData/Github.testLegacySearchUsersPagination.txt delete mode 100644 github/tests/ReplayData/Github.testSearchRepos.txt delete mode 100644 github/tests/ReplayData/Github.testSearchUserByEmail.txt delete mode 100644 github/tests/ReplayData/Github.testSearchUsers.txt delete mode 100644 github/tests/ReplayData/Hook.setUp.txt delete mode 100644 github/tests/ReplayData/Hook.testDelete.txt delete mode 100644 github/tests/ReplayData/Hook.testEditWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Hook.testEditWithMinimalParameters.txt delete mode 100644 github/tests/ReplayData/Hook.testTest.txt delete mode 100644 github/tests/ReplayData/Issue.setUp.txt delete mode 100644 github/tests/ReplayData/Issue.testAddAndRemoveAssignees.txt delete mode 100644 github/tests/ReplayData/Issue.testAddAndRemoveLabels.txt delete mode 100644 github/tests/ReplayData/Issue.testAddAndRemoveLabelsWithStringArguments.txt delete mode 100644 github/tests/ReplayData/Issue.testAttributes.txt delete mode 100644 github/tests/ReplayData/Issue.testCreateComment.txt delete mode 100644 github/tests/ReplayData/Issue.testDeleteAndSetLabels.txt delete mode 100755 github/tests/ReplayData/Issue.testDeleteAndSetLabelsWithStringArguments.txt delete mode 100644 github/tests/ReplayData/Issue.testEditResetAssignee.txt delete mode 100644 github/tests/ReplayData/Issue.testEditResetMilestone.txt delete mode 100644 github/tests/ReplayData/Issue.testEditWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Issue.testEditWithoutParameters.txt delete mode 100644 github/tests/ReplayData/Issue.testGetComments.txt delete mode 100644 github/tests/ReplayData/Issue.testGetCommentsSince.txt delete mode 100644 github/tests/ReplayData/Issue.testGetEvents.txt delete mode 100644 github/tests/ReplayData/Issue.testGetLabels.txt delete mode 100644 github/tests/ReplayData/Issue131.setUp.txt delete mode 100644 github/tests/ReplayData/Issue131.testGetPullWithOrgHeadUser.txt delete mode 100644 github/tests/ReplayData/Issue131.testGetPullsWithOrgHeadUser.txt delete mode 100644 github/tests/ReplayData/Issue133.testGetPageWithoutInitialArguments.txt delete mode 100644 github/tests/ReplayData/Issue134.testGetAuthorizationsFailsWhenAutenticatedThroughOAuth.txt delete mode 100644 github/tests/ReplayData/Issue134.testGetAuthorizationsSucceedsWhenAutenticatedThroughLoginPassword.txt delete mode 100644 github/tests/ReplayData/Issue134.testGetOAuthScopesFromHeader.txt delete mode 100644 github/tests/ReplayData/Issue139.setUp.txt delete mode 100644 github/tests/ReplayData/Issue139.testCompletion.txt delete mode 100644 github/tests/ReplayData/Issue140.setUp.txt delete mode 100644 github/tests/ReplayData/Issue140.testGetDirContents.txt delete mode 100644 github/tests/ReplayData/Issue140.testGetDirContentsThenLazyCompletionOfFile.txt delete mode 100644 github/tests/ReplayData/Issue140.testGetDirContentsWithRef.txt delete mode 100644 github/tests/ReplayData/Issue140.testGetFileContents.txt delete mode 100644 github/tests/ReplayData/Issue158.testPaginationWithSecretKeyAuthentication.txt delete mode 100644 github/tests/ReplayData/Issue174.setUp.txt delete mode 100644 github/tests/ReplayData/Issue174.testGetDirContentsWhithHttpRedirect.txt delete mode 100644 github/tests/ReplayData/Issue214.setUp.txt delete mode 100644 github/tests/ReplayData/Issue214.testAssignees.txt delete mode 100644 github/tests/ReplayData/Issue214.testCollaborators.txt delete mode 100644 github/tests/ReplayData/Issue214.testCreateIssue.txt delete mode 100644 github/tests/ReplayData/Issue214.testEditIssue.txt delete mode 100644 github/tests/ReplayData/Issue214.testGetIssues.txt delete mode 100644 github/tests/ReplayData/Issue216.setUp.txt delete mode 100644 github/tests/ReplayData/Issue216.testIteration.txt delete mode 100644 github/tests/ReplayData/Issue278.setUp.txt delete mode 100644 github/tests/ReplayData/Issue278.testIteration.txt delete mode 100644 github/tests/ReplayData/Issue33.setUp.txt delete mode 100644 github/tests/ReplayData/Issue33.testClosedIssues.txt delete mode 100644 github/tests/ReplayData/Issue33.testOpenIssues.txt delete mode 100644 github/tests/ReplayData/Issue494.setUp.txt delete mode 100644 github/tests/ReplayData/Issue50.setUp.txt delete mode 100644 github/tests/ReplayData/Issue50.testAddLabelToIssue.txt delete mode 100644 github/tests/ReplayData/Issue50.testCreateIssueWithLabel.txt delete mode 100644 github/tests/ReplayData/Issue50.testCreateLabel.txt delete mode 100644 github/tests/ReplayData/Issue50.testGetIssuesWithLabel.txt delete mode 100644 github/tests/ReplayData/Issue50.testGetLabel.txt delete mode 100644 github/tests/ReplayData/Issue50.testGetLabels.txt delete mode 100644 github/tests/ReplayData/Issue50.testIssueGetLabels.txt delete mode 100644 github/tests/ReplayData/Issue50.testRemoveLabelFromIssue.txt delete mode 100644 github/tests/ReplayData/Issue50.testSetIssueLabels.txt delete mode 100644 github/tests/ReplayData/Issue54.setUp.txt delete mode 100644 github/tests/ReplayData/Issue54.testConversion.txt delete mode 100644 github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterprise.txt delete mode 100644 github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterpriseWithPort.txt delete mode 100644 github/tests/ReplayData/Issue87.setUp.txt delete mode 100644 github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInBody.txt delete mode 100644 github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInTitle.txt delete mode 100644 github/tests/ReplayData/Issue87.testCreateIssueWithPercentInBody.txt delete mode 100644 github/tests/ReplayData/Issue87.testCreateIssueWithPercentInTitle.txt delete mode 100644 github/tests/ReplayData/IssueComment.setUp.txt delete mode 100644 github/tests/ReplayData/IssueComment.testDelete.txt delete mode 100644 github/tests/ReplayData/IssueComment.testEdit.txt delete mode 100644 github/tests/ReplayData/IssueEvent.setUp.txt delete mode 100644 github/tests/ReplayData/IssueEvent.testAttributes.txt delete mode 100644 github/tests/ReplayData/Label.setUp.txt delete mode 100644 github/tests/ReplayData/Label.testDelete.txt delete mode 100644 github/tests/ReplayData/Label.testEdit.txt delete mode 100644 github/tests/ReplayData/LazyRepository.setUp.txt delete mode 100644 github/tests/ReplayData/LazyRepository.testGetIssues.txt delete mode 100644 github/tests/ReplayData/LazyRepository.testGetUser.txt delete mode 100644 github/tests/ReplayData/LazyRepository.testOwner.txt delete mode 100644 github/tests/ReplayData/Logging.testLoggingWithBaseUrl.txt delete mode 100644 github/tests/ReplayData/Logging.testLoggingWithBasicAuthentication.txt delete mode 100644 github/tests/ReplayData/Logging.testLoggingWithOAuthAuthentication.txt delete mode 100644 github/tests/ReplayData/Logging.testLoggingWithoutAuthentication.txt delete mode 100644 github/tests/ReplayData/Markdown.setUp.txt delete mode 100644 github/tests/ReplayData/Markdown.testRenderGithubFlavoredMarkdown.txt delete mode 100644 github/tests/ReplayData/Markdown.testRenderMarkdown.txt delete mode 100644 github/tests/ReplayData/Milestone.setUp.txt delete mode 100644 github/tests/ReplayData/Milestone.testDelete.txt delete mode 100644 github/tests/ReplayData/Milestone.testEditWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Milestone.testEditWithMinimalParameters.txt delete mode 100644 github/tests/ReplayData/Milestone.testGetLabels.txt delete mode 100644 github/tests/ReplayData/NamedUser.setUp.txt delete mode 100644 github/tests/ReplayData/NamedUser.testAttributesOfOtherUser.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetEvents.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetFollowers.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetFollowing.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetGists.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetKeys.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetOrgs.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetPublicEvents.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetPublicReceivedEvents.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetReceivedEvents.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetRepo.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetRepos.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetReposWithType.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetStarred.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetSubscriptions.txt delete mode 100644 github/tests/ReplayData/NamedUser.testGetWatched.txt delete mode 100644 github/tests/ReplayData/NamedUser.testHasInFollowing.txt delete mode 100644 github/tests/ReplayData/Organization.setUp.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateFork.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateRepoWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateRepoWithMinimalArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateRepositoryWithAutoInit.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateTeam.txt delete mode 100644 github/tests/ReplayData/Organization.testCreateTeamWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testEditWithoutArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testGetEvents.txt delete mode 100644 github/tests/ReplayData/Organization.testGetIssues.txt delete mode 100644 github/tests/ReplayData/Organization.testGetIssuesWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Organization.testGetMembers.txt delete mode 100644 github/tests/ReplayData/Organization.testGetPublicMembers.txt delete mode 100644 github/tests/ReplayData/Organization.testGetRepos.txt delete mode 100644 github/tests/ReplayData/Organization.testGetReposWithType.txt delete mode 100644 github/tests/ReplayData/Organization.testGetTeams.txt delete mode 100644 github/tests/ReplayData/Organization.testMembers.txt delete mode 100644 github/tests/ReplayData/Organization.testPublicMembers.txt delete mode 100644 github/tests/ReplayData/OrganizationHasInMembers.setUp.txt delete mode 100644 github/tests/ReplayData/PaginatedList.setUp.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testCustomPerPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testCustomPerPageWithGetPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testCustomPerPageWithNoUrlParams2.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testGetFirstPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testGetThirdPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testGettingTheReversedListDoesNotModifyTheOriginalList.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testIntIndexingInThirdPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testInterruptedIteration.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testInterruptedIterationInSlice.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testIteration.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testNoFirstPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testReversedIterationSupportsIterator.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testReversedIterationWithMultiplePages.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testReversedIterationWithSinglePage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testSeveralIterations.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testSliceIndexingInFirstPage.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testSliceIndexingUntilEnd.txt delete mode 100644 github/tests/ReplayData/PaginatedList.testSliceIndexingUntilFourthPage.txt delete mode 100644 github/tests/ReplayData/Persistence.setUp.txt delete mode 100644 github/tests/ReplayData/Persistence.testLoadAndUpdate.txt delete mode 100644 github/tests/ReplayData/PullRequest.setUp.txt delete mode 100644 github/tests/ReplayData/PullRequest.testCreateComment.txt delete mode 100644 github/tests/ReplayData/PullRequest.testCreateIssueComment.txt delete mode 100644 github/tests/ReplayData/PullRequest.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/PullRequest.testEditWithoutArguments.txt delete mode 100644 github/tests/ReplayData/PullRequest.testGetComments.txt delete mode 100644 github/tests/ReplayData/PullRequest.testGetCommits.txt delete mode 100644 github/tests/ReplayData/PullRequest.testGetFiles.txt delete mode 100644 github/tests/ReplayData/PullRequest.testGetIssueComment.txt delete mode 100644 github/tests/ReplayData/PullRequest.testGetIssueComments.txt delete mode 100644 github/tests/ReplayData/PullRequest.testMerge.txt delete mode 100644 github/tests/ReplayData/PullRequest.testMergeWithCommitMessage.txt delete mode 100644 github/tests/ReplayData/PullRequestComment.setUp.txt delete mode 100644 github/tests/ReplayData/PullRequestComment.testDelete.txt delete mode 100644 github/tests/ReplayData/PullRequestComment.testEdit.txt delete mode 100644 github/tests/ReplayData/PullRequestFile.setUp.txt delete mode 100644 github/tests/ReplayData/PullRequestReview.setUp.txt delete mode 100644 github/tests/ReplayData/PullRequestReviewerRequests.setUp.txt delete mode 100644 github/tests/ReplayData/RateLimiting.testGetRateLimit.txt delete mode 100644 github/tests/ReplayData/RateLimiting.testRateLimiting.txt delete mode 100755 github/tests/ReplayData/RateLimiting.testResetTime.txt delete mode 100644 github/tests/ReplayData/RawData.testCompletedObject.txt delete mode 100644 github/tests/ReplayData/RawData.testNonCompletableObject.txt delete mode 100644 github/tests/ReplayData/RawData.testNotYetCompletedObject.txt delete mode 100644 github/tests/ReplayData/Release.setUp.txt delete mode 100644 github/tests/ReplayData/Release.testAttributes.txt delete mode 100644 github/tests/ReplayData/Release.testCreateGitTagAndRelease.txt delete mode 100644 github/tests/ReplayData/Release.testDelete.txt delete mode 100644 github/tests/ReplayData/Release.testGetRelease.txt delete mode 100644 github/tests/ReplayData/Release.testUpdate.txt delete mode 100644 github/tests/ReplayData/Repository.setUp.txt delete mode 100644 github/tests/ReplayData/Repository.testAssignees.txt delete mode 100644 github/tests/ReplayData/Repository.testBadSubscribePubSubHubbub.txt delete mode 100644 github/tests/ReplayData/Repository.testChangeBranchProtectionContexts.txt delete mode 100644 github/tests/ReplayData/Repository.testChangeBranchProtectionEnforcementLevel.txt delete mode 100644 github/tests/ReplayData/Repository.testCollaborators.txt delete mode 100644 github/tests/ReplayData/Repository.testCompare.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateFile.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitBlob.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitCommit.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitCommitWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitCommitWithParents.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitRef.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitTag.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitTagWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitTree.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitTreeWithBaseTree.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateGitTreeWithSha.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateHookWithAllParameters.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateHookWithMinimalParameters.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateIssue.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateIssueWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateIssueWithAllArgumentsStringLabel.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateKey.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateLabel.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateMilestone.txt delete mode 100644 github/tests/ReplayData/Repository.testCreateMilestoneWithMinimalArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testCreatePull.txt delete mode 100644 github/tests/ReplayData/Repository.testCreatePullFromIssue.txt delete mode 100644 github/tests/ReplayData/Repository.testDelete.txt delete mode 100644 github/tests/ReplayData/Repository.testDeleteFile.txt delete mode 100644 github/tests/ReplayData/Repository.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testEditWithDefaultBranch.txt delete mode 100644 github/tests/ReplayData/Repository.testEditWithoutArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetArchiveLink.txt delete mode 100644 github/tests/ReplayData/Repository.testGetBranch.txt delete mode 100644 github/tests/ReplayData/Repository.testGetComments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetCommits.txt delete mode 100644 github/tests/ReplayData/Repository.testGetCommitsWithArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetCommitsWithAuthor.txt delete mode 100644 github/tests/ReplayData/Repository.testGetCommitsWithSinceUntil.txt delete mode 100644 github/tests/ReplayData/Repository.testGetContentDir.txt delete mode 100644 github/tests/ReplayData/Repository.testGetContents.txt delete mode 100644 github/tests/ReplayData/Repository.testGetContentsWithRef.txt delete mode 100644 github/tests/ReplayData/Repository.testGetContributors.txt delete mode 100644 github/tests/ReplayData/Repository.testGetDownloads.txt delete mode 100644 github/tests/ReplayData/Repository.testGetEvents.txt delete mode 100644 github/tests/ReplayData/Repository.testGetForks.txt delete mode 100644 github/tests/ReplayData/Repository.testGetGitRef.txt delete mode 100644 github/tests/ReplayData/Repository.testGetGitRefWithIssue102Reverted.txt delete mode 100644 github/tests/ReplayData/Repository.testGetGitRefs.txt delete mode 100644 github/tests/ReplayData/Repository.testGetGitTreeWithRecursive.txt delete mode 100644 github/tests/ReplayData/Repository.testGetHooks.txt delete mode 100644 github/tests/ReplayData/Repository.testGetIssues.txt delete mode 100644 github/tests/ReplayData/Repository.testGetIssuesComments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetIssuesEvents.txt delete mode 100644 github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt delete mode 100644 github/tests/ReplayData/Repository.testGetKeys.txt delete mode 100644 github/tests/ReplayData/Repository.testGetLabel.txt delete mode 100644 github/tests/ReplayData/Repository.testGetLabels.txt delete mode 100644 github/tests/ReplayData/Repository.testGetLanguages.txt delete mode 100644 github/tests/ReplayData/Repository.testGetMilestones.txt delete mode 100644 github/tests/ReplayData/Repository.testGetMilestonesWithArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetNetworkEvents.txt delete mode 100644 github/tests/ReplayData/Repository.testGetPulls.txt delete mode 100644 github/tests/ReplayData/Repository.testGetPullsComments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetPullsWithArguments.txt delete mode 100644 github/tests/ReplayData/Repository.testGetStargazers.txt delete mode 100644 github/tests/ReplayData/Repository.testGetStargazersWithDates.txt delete mode 100644 github/tests/ReplayData/Repository.testGetSubscribers.txt delete mode 100644 github/tests/ReplayData/Repository.testGetTeams.txt delete mode 100644 github/tests/ReplayData/Repository.testGetWatchers.txt delete mode 100644 github/tests/ReplayData/Repository.testLegacySearchIssues.txt delete mode 100644 github/tests/ReplayData/Repository.testMergeWithConflict.txt delete mode 100644 github/tests/ReplayData/Repository.testMergeWithMessage.txt delete mode 100644 github/tests/ReplayData/Repository.testMergeWithNothingToDo.txt delete mode 100644 github/tests/ReplayData/Repository.testMergeWithoutMessage.txt delete mode 100644 github/tests/ReplayData/Repository.testProtectBranch.txt delete mode 100644 github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel.txt delete mode 100644 github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithOutContext.txt delete mode 100644 github/tests/ReplayData/Repository.testRaiseErrorWithOutBranch.txt delete mode 100644 github/tests/ReplayData/Repository.testRemoveBranchProtection.txt delete mode 100644 github/tests/ReplayData/Repository.testSearchIssues.txt delete mode 100644 github/tests/ReplayData/Repository.testStatisticsAfterCaching.txt delete mode 100755 github/tests/ReplayData/Repository.testStatisticsBeforeCaching.txt delete mode 100644 github/tests/ReplayData/Repository.testSubscribePubSubHubbub.txt delete mode 100644 github/tests/ReplayData/Repository.testUnsubscribePubSubHubbub.txt delete mode 100644 github/tests/ReplayData/Repository.testUpdateFile.txt delete mode 100644 github/tests/ReplayData/RepositoryKey.setUp.txt delete mode 100644 github/tests/ReplayData/RepositoryKey.testDelete.txt delete mode 100644 github/tests/ReplayData/RepositoryKey.testEdit.txt delete mode 100644 github/tests/ReplayData/RepositoryKey.testEditWithoutParameters.txt delete mode 100644 github/tests/ReplayData/Search.testGetPageOnSearchUsers.txt delete mode 100644 github/tests/ReplayData/Search.testPaginateSearchUsers.txt delete mode 100644 github/tests/ReplayData/Search.testSearchCode.txt delete mode 100644 github/tests/ReplayData/Search.testSearchIssues.txt delete mode 100644 github/tests/ReplayData/Search.testSearchRepos.txt delete mode 100644 github/tests/ReplayData/Search.testSearchUsers.txt delete mode 100644 github/tests/ReplayData/Search.testUrlquotingOfQualifiers.txt delete mode 100644 github/tests/ReplayData/Search.testUrlquotingOfQuery.txt delete mode 100644 github/tests/ReplayData/SpecificExceptions.testBadCredentials.txt delete mode 100644 github/tests/ReplayData/SpecificExceptions.testBadUserAgent.txt delete mode 100644 github/tests/ReplayData/SpecificExceptions.testRateLimitExceeded.txt delete mode 100644 github/tests/ReplayData/SpecificExceptions.testUnknownObject.txt delete mode 100644 github/tests/ReplayData/Status.testGetLastMessage.txt delete mode 100644 github/tests/ReplayData/Status.testGetMessages.txt delete mode 100644 github/tests/ReplayData/Status.testGetStatus.txt delete mode 100644 github/tests/ReplayData/Tag.setUp.txt delete mode 100644 github/tests/ReplayData/Team.setUp.txt delete mode 100644 github/tests/ReplayData/Team.testDelete.txt delete mode 100644 github/tests/ReplayData/Team.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/Team.testEditWithoutArguments.txt delete mode 100644 github/tests/ReplayData/Team.testMembers.txt delete mode 100644 github/tests/ReplayData/Team.testRepoPermission.txt delete mode 100644 github/tests/ReplayData/Team.testRepos.txt delete mode 100644 github/tests/ReplayData/UserKey.setUp.txt delete mode 100644 github/tests/ReplayData/UserKey.testDelete.txt delete mode 100644 github/tests/ReplayData/UserKey.testEditWithAllArguments.txt delete mode 100644 github/tests/ReplayData/UserKey.testEditWithoutArguments.txt delete mode 100644 github/tests/Repository.py delete mode 100644 github/tests/RepositoryKey.py delete mode 100644 github/tests/Search.py delete mode 100644 github/tests/Status.py delete mode 100644 github/tests/Tag.py delete mode 100644 github/tests/Team.py delete mode 100644 github/tests/UserKey.py delete mode 100644 github/tests/__init__.py delete mode 100644 github/tests/__main__.py create mode 100644 idna/__init__.py create mode 100644 idna/codec.py create mode 100644 idna/compat.py create mode 100644 idna/core.py create mode 100644 idna/idnadata.py create mode 100644 idna/intranges.py create mode 100644 idna/package_data.py create mode 100644 idna/uts46data.py create mode 100644 img/scopes.png create mode 100644 requests/__init__.py create mode 100644 requests/__version__.py create mode 100644 requests/_internal_utils.py create mode 100644 requests/adapters.py create mode 100644 requests/api.py create mode 100644 requests/auth.py create mode 100644 requests/certs.py create mode 100644 requests/compat.py create mode 100644 requests/cookies.py create mode 100644 requests/exceptions.py create mode 100644 requests/help.py create mode 100644 requests/hooks.py create mode 100644 requests/models.py create mode 100644 requests/packages.py create mode 100644 requests/sessions.py create mode 100644 requests/status_codes.py create mode 100644 requests/structures.py create mode 100644 requests/utils.py create mode 100644 urllib3/__init__.py create mode 100644 urllib3/_collections.py create mode 100644 urllib3/connection.py create mode 100644 urllib3/connectionpool.py create mode 100644 urllib3/contrib/__init__.py create mode 100644 urllib3/contrib/_appengine_environ.py create mode 100644 urllib3/contrib/_securetransport/__init__.py create mode 100644 urllib3/contrib/_securetransport/bindings.py create mode 100644 urllib3/contrib/_securetransport/low_level.py create mode 100644 urllib3/contrib/appengine.py create mode 100644 urllib3/contrib/ntlmpool.py create mode 100644 urllib3/contrib/pyopenssl.py create mode 100644 urllib3/contrib/securetransport.py create mode 100644 urllib3/contrib/socks.py create mode 100644 urllib3/exceptions.py create mode 100644 urllib3/fields.py create mode 100644 urllib3/filepost.py create mode 100644 urllib3/packages/__init__.py create mode 100644 urllib3/packages/backports/__init__.py create mode 100644 urllib3/packages/backports/makefile.py create mode 100644 urllib3/packages/six.py create mode 100644 urllib3/packages/ssl_match_hostname/__init__.py create mode 100644 urllib3/packages/ssl_match_hostname/_implementation.py create mode 100644 urllib3/poolmanager.py create mode 100644 urllib3/request.py create mode 100644 urllib3/response.py create mode 100644 urllib3/util/__init__.py create mode 100644 urllib3/util/connection.py create mode 100644 urllib3/util/queue.py create mode 100644 urllib3/util/request.py create mode 100644 urllib3/util/response.py create mode 100644 urllib3/util/retry.py create mode 100644 urllib3/util/ssl_.py create mode 100644 urllib3/util/timeout.py create mode 100644 urllib3/util/url.py create mode 100644 urllib3/util/wait.py create mode 100644 workflow/util.py create mode 100644 wrapt/__init__.py create mode 100644 wrapt/decorators.py create mode 100644 wrapt/importer.py create mode 100644 wrapt/wrappers.py diff --git a/README.md b/README.md index a50a982..cbd8bad 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ An Alfred workflow for accessing gists as snippets. Features: * Full-text search of gists. * Creation of gists from clipboard contents. +* Creation of gists from text files. * Support for tagging and filtering by tag. * Filtering and searching of gists by programming language. * Filtering by starred, public, and private gists. @@ -13,7 +14,11 @@ An Alfred workflow for accessing gists as snippets. Features: __Setup__ -Type `gist_set` and enter a username and [personal access token](https://github.com/blog/1509-personal-api-tokens) from GitHub. +Type `gg_set` and enter a username and [personal access token](https://github.com/blog/1509-personal-api-tokens) from GitHub. + +Set the permissions to the following: + +![Scopes](img/scopes.png) __Tagging using using #__ diff --git a/bin/chardetect b/bin/chardetect new file mode 100755 index 0000000..44b3b86 --- /dev/null +++ b/bin/chardetect @@ -0,0 +1,10 @@ +#!/usr/local/anaconda2/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from chardet.cli.chardetect import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/certifi/__init__.py b/certifi/__init__.py new file mode 100644 index 0000000..632db8e --- /dev/null +++ b/certifi/__init__.py @@ -0,0 +1,3 @@ +from .core import where + +__version__ = "2019.03.09" diff --git a/certifi/__main__.py b/certifi/__main__.py new file mode 100644 index 0000000..5f1da0d --- /dev/null +++ b/certifi/__main__.py @@ -0,0 +1,2 @@ +from certifi import where +print(where()) diff --git a/certifi/cacert.pem b/certifi/cacert.pem new file mode 100644 index 0000000..84636dd --- /dev/null +++ b/certifi/cacert.pem @@ -0,0 +1,4658 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln +biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF +MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT +d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 +76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ +bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c +6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE +emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd +MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt +MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y +MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y +FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi +aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM +gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB +qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 +lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn +8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 +45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO +UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 +O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC +bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv +GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a +77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC +hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 +92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp +Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w +ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt +Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu +IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow +RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY +U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv +Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br +YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF +nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH +6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt +eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ +c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ +MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH +HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf +jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 +5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB +rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c +wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB +AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp +WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 +xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ +2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ +IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 +aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X +em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR +dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ +OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy +tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 +MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 +ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD +VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j +b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq +scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO +xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H +LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX +uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD +yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ +JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q +rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN +BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L +hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB +QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ +HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu +Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg +QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB +BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA +A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb +laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 +awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo +JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw +LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT +VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk +LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb +UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ +QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ +naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls +QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 146587175971765017618439757810265552097 +# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 +# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 +# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX +mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 +zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P +fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc +vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 +Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp +zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO +Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW +k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ +DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF +lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW +Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z +XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR +gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 +d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv +J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg +DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM ++SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy +F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 +SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws +E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 146587176055767053814479386953112547951 +# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b +# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d +# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg +GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu +XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd +re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu +PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 +mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K +8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj +x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR +nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 +kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok +twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp +8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT +z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA +pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb +pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB +R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R +RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk +0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC +5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF +izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn +yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 146587176140553309517047991083707763997 +# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 +# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 +# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A +DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk +fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA +njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 146587176229350439916519468929765261721 +# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 +# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb +# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l +xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 +CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx +sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- + +# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI +# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI +# Label: "emSign Root CA - G1" +# Serial: 235931866688319308814040 +# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac +# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c +# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67 +-----BEGIN CERTIFICATE----- +MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD +VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU +ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH +MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO +MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv +Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz +f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO +8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq +d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM +tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt +Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB +o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x +PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM +wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d +GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH +6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby +RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx +iN66zB+Afko= +-----END CERTIFICATE----- + +# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI +# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI +# Label: "emSign ECC Root CA - G3" +# Serial: 287880440101571086945156 +# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40 +# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1 +# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b +-----BEGIN CERTIFICATE----- +MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG +EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo +bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g +RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ +TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s +b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 +WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS +fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB +zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq +hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB +CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD ++JbNR6iC8hZVdyR+EhCVBCyj +-----END CERTIFICATE----- + +# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI +# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI +# Label: "emSign Root CA - C1" +# Serial: 825510296613316004955058 +# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68 +# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01 +# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG +A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg +SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw +MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln +biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v +dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ +BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ +HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH +3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH +GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c +xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 +aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq +TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 +/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 +kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG +YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT ++xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo +WXzhriKi4gp6D/piq1JM4fHfyr6DDUI= +-----END CERTIFICATE----- + +# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI +# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI +# Label: "emSign ECC Root CA - C3" +# Serial: 582948710642506000014504 +# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5 +# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66 +# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3 +-----BEGIN CERTIFICATE----- +MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG +EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx +IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw +MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln +biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND +IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci +MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti +sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O +BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB +Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c +3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J +0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post +# Label: "Hongkong Post Root CA 3" +# Serial: 46170865288971385588281144162979347873371282084 +# MD5 Fingerprint: 11:fc:9f:bd:73:30:02:8a:fd:3f:f3:58:b9:cb:20:f0 +# SHA1 Fingerprint: 58:a2:d0:ec:20:52:81:5b:c1:f3:f8:64:02:24:4e:c2:8e:02:4b:02 +# SHA256 Fingerprint: 5a:2f:c0:3f:0c:83:b0:90:bb:fa:40:60:4b:09:88:44:6c:76:36:18:3d:f9:84:6e:17:10:1a:44:7f:b8:ef:d6 +-----BEGIN CERTIFICATE----- +MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL +BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ +SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n +a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5 +NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT +CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u +Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO +dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI +VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV +9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY +2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY +vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt +bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb +x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+ +l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK +TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj +Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e +i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw +DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG +7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk +MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr +gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk +GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS +3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm +Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+ +l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c +JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP +L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa +LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG +mpv0 +-----END CERTIFICATE----- diff --git a/certifi/core.py b/certifi/core.py new file mode 100644 index 0000000..7271acf --- /dev/null +++ b/certifi/core.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem. +""" +import os + + +def where(): + f = os.path.dirname(__file__) + + return os.path.join(f, 'cacert.pem') diff --git a/chardet/__init__.py b/chardet/__init__.py new file mode 100644 index 0000000..0f9f820 --- /dev/null +++ b/chardet/__init__.py @@ -0,0 +1,39 @@ +######################## BEGIN LICENSE BLOCK ######################## +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION + + +def detect(byte_str): + """ + Detect the encoding of the given byte string. + + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close() diff --git a/chardet/big5freq.py b/chardet/big5freq.py new file mode 100644 index 0000000..38f3251 --- /dev/null +++ b/chardet/big5freq.py @@ -0,0 +1,386 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Big5 frequency table +# by Taiwan's Mandarin Promotion Council +# +# +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +#Char to FreqOrder table +BIG5_TABLE_SIZE = 5376 + +BIG5_CHAR_TO_FREQ_ORDER = ( + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) + diff --git a/chardet/big5prober.py b/chardet/big5prober.py new file mode 100644 index 0000000..98f9970 --- /dev/null +++ b/chardet/big5prober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import Big5DistributionAnalysis +from .mbcssm import BIG5_SM_MODEL + + +class Big5Prober(MultiByteCharSetProber): + def __init__(self): + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "Big5" + + @property + def language(self): + return "Chinese" diff --git a/chardet/chardistribution.py b/chardet/chardistribution.py new file mode 100644 index 0000000..c0395f4 --- /dev/null +++ b/chardet/chardistribution.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, + EUCTW_TYPICAL_DISTRIBUTION_RATIO) +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, + EUCKR_TYPICAL_DISTRIBUTION_RATIO) +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, + GB2312_TYPICAL_DISTRIBUTION_RATIO) +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, + BIG5_TYPICAL_DISTRIBUTION_RATIO) +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, + JIS_TYPICAL_DISTRIBUTION_RATIO) + + +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + + def __init__(self): + # Mapping table to get frequency order from char order (get from + # GetOrder()) + self._char_to_freq_order = None + self._table_size = None # Size of above table + # This is a constant value which varies from language to language, + # used in calculating confidence. See + # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html + # for further detail. + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None + self.reset() + + def reset(self): + """reset analyser, clear any state""" + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + self._total_chars = 0 # Total characters encountered + # The number of characters whose frequency order is less than 512 + self._freq_chars = 0 + + def feed(self, char, char_len): + """feed a character with known length""" + if char_len == 2: + # we only care about 2-bytes character in our distribution analysis + order = self.get_order(char) + else: + order = -1 + if order >= 0: + self._total_chars += 1 + # order is valid + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 + + def get_confidence(self): + """return confidence based on existing data""" + # if we didn't receive any character in our consideration range, + # return negative answer + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO + + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: + return r + + # normalize confidence (we don't want to be 100% sure) + return self.SURE_YES + + def got_enough_data(self): + # It is not necessary to receive all data to draw conclusion. + # For charset detection, certain amount of data is enough + return self._total_chars > self.ENOUGH_DATA_THRESHOLD + + def get_order(self, byte_str): + # We do not handle characters based on the original encoding string, + # but convert this encoding string to a number, here called order. + # This allows multiple encodings of a language to share one frequency + # table. + return -1 + + +class EUCTWDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-TW encoding, we are interested + # first byte range: 0xc4 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xC4: + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 + else: + return -1 + + +class EUCKRDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-KR encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xB0: + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 + else: + return -1 + + +class GB2312DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for GB2312 encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0xB0) and (second_char >= 0xA1): + return 94 * (first_char - 0xB0) + second_char - 0xA1 + else: + return -1 + + +class Big5DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for big5 encoding, we are interested + # first byte range: 0xa4 -- 0xfe + # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if first_char >= 0xA4: + if second_char >= 0xA1: + return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 + else: + return 157 * (first_char - 0xA4) + second_char - 0x40 + else: + return -1 + + +class SJISDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for sjis encoding, we are interested + # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0x81) and (first_char <= 0x9F): + order = 188 * (first_char - 0x81) + elif (first_char >= 0xE0) and (first_char <= 0xEF): + order = 188 * (first_char - 0xE0 + 31) + else: + return -1 + order = order + second_char - 0x40 + if second_char > 0x7F: + order = -1 + return order + + +class EUCJPDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-JP encoding, we are interested + # first byte range: 0xa0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + char = byte_str[0] + if char >= 0xA0: + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 + else: + return -1 diff --git a/chardet/charsetgroupprober.py b/chardet/charsetgroupprober.py new file mode 100644 index 0000000..8b3738e --- /dev/null +++ b/chardet/charsetgroupprober.py @@ -0,0 +1,106 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState +from .charsetprober import CharSetProber + + +class CharSetGroupProber(CharSetProber): + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None + + def reset(self): + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: + if prober: + prober.reset() + prober.active = True + self._active_num += 1 + self._best_guess_prober = None + + @property + def charset_name(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.charset_name + + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: + if not prober: + continue + if not prober.active: + continue + state = prober.feed(byte_str) + if not state: + continue + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: + prober.active = False + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state + + def get_confidence(self): + state = self.state + if state == ProbingState.FOUND_IT: + return 0.99 + elif state == ProbingState.NOT_ME: + return 0.01 + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: + if not prober: + continue + if not prober.active: + self.logger.debug('%s not active', prober.charset_name) + continue + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: + return 0.0 + return best_conf diff --git a/chardet/charsetprober.py b/chardet/charsetprober.py new file mode 100644 index 0000000..eac4e59 --- /dev/null +++ b/chardet/charsetprober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging +import re + +from .enums import ProbingState + + +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + + def reset(self): + self._state = ProbingState.DETECTING + + @property + def charset_name(self): + return None + + def feed(self, buf): + pass + + @property + def state(self): + return self._state + + def get_confidence(self): + return 0.0 + + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered + + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 + + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered diff --git a/chardet/cli/__init__.py b/chardet/cli/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/chardet/cli/__init__.py @@ -0,0 +1 @@ + diff --git a/chardet/cli/chardetect.py b/chardet/cli/chardetect.py new file mode 100644 index 0000000..f0a4cc5 --- /dev/null +++ b/chardet/cli/chardetect.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys + +from chardet import __version__ +from chardet.compat import PY2 +from chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + line = bytearray(line) + u.feed(line) + # shortcut out of the loop to save reading further - particularly useful if we read a BOM. + if u.done: + break + u.close() + result = u.result + if PY2: + name = name.decode(sys.getfilesystemencoding(), 'ignore') + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + """ + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + """ + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings") + parser.add_argument('input', + help='File whose encoding we would like to determine. \ + (default: stdin)', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin if PY2 else sys.stdin.buffer]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main() diff --git a/chardet/codingstatemachine.py b/chardet/codingstatemachine.py new file mode 100644 index 0000000..68fba44 --- /dev/null +++ b/chardet/codingstatemachine.py @@ -0,0 +1,88 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging + +from .enums import MachineState + + +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ + def __init__(self, sm): + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) + self.reset() + + def reset(self): + self._curr_state = MachineState.START + + def next_state(self, c): + # for each byte we get its class + # if it is first byte, we also get byte length + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state + + def get_current_charlen(self): + return self._curr_char_len + + def get_coding_state_machine(self): + return self._model['name'] + + @property + def language(self): + return self._model['language'] diff --git a/chardet/compat.py b/chardet/compat.py new file mode 100644 index 0000000..ddd7468 --- /dev/null +++ b/chardet/compat.py @@ -0,0 +1,34 @@ +######################## BEGIN LICENSE BLOCK ######################## +# Contributor(s): +# Dan Blanchard +# Ian Cordasco +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import sys + + +if sys.version_info < (3, 0): + PY2 = True + PY3 = False + base_str = (str, unicode) + text_type = unicode +else: + PY2 = False + PY3 = True + base_str = (bytes, str) + text_type = str diff --git a/chardet/cp949prober.py b/chardet/cp949prober.py new file mode 100644 index 0000000..efd793a --- /dev/null +++ b/chardet/cp949prober.py @@ -0,0 +1,49 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .chardistribution import EUCKRDistributionAnalysis +from .codingstatemachine import CodingStateMachine +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL + + +class CP949Prober(MultiByteCharSetProber): + def __init__(self): + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) + # NOTE: CP949 is a superset of EUC-KR, so the distribution should be + # not different. + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "CP949" + + @property + def language(self): + return "Korean" diff --git a/chardet/enums.py b/chardet/enums.py new file mode 100644 index 0000000..0451207 --- /dev/null +++ b/chardet/enums.py @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251 diff --git a/chardet/escprober.py b/chardet/escprober.py new file mode 100644 index 0000000..c70493f --- /dev/null +++ b/chardet/escprober.py @@ -0,0 +1,101 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .codingstatemachine import CodingStateMachine +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) + + +class EscCharSetProber(CharSetProber): + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None + self.reset() + + def reset(self): + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: + continue + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None + + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language + + def get_confidence(self): + if self._detected_charset: + return 0.99 + else: + return 0.00 + + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: + continue + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state + + return self.state diff --git a/chardet/escsm.py b/chardet/escsm.py new file mode 100644 index 0000000..0069523 --- /dev/null +++ b/chardet/escsm.py @@ -0,0 +1,246 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +HZ_CLS = ( +1,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,0,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,4,0,5,2,0, # 78 - 7f +1,1,1,1,1,1,1,1, # 80 - 87 +1,1,1,1,1,1,1,1, # 88 - 8f +1,1,1,1,1,1,1,1, # 90 - 97 +1,1,1,1,1,1,1,1, # 98 - 9f +1,1,1,1,1,1,1,1, # a0 - a7 +1,1,1,1,1,1,1,1, # a8 - af +1,1,1,1,1,1,1,1, # b0 - b7 +1,1,1,1,1,1,1,1, # b8 - bf +1,1,1,1,1,1,1,1, # c0 - c7 +1,1,1,1,1,1,1,1, # c8 - cf +1,1,1,1,1,1,1,1, # d0 - d7 +1,1,1,1,1,1,1,1, # d8 - df +1,1,1,1,1,1,1,1, # e0 - e7 +1,1,1,1,1,1,1,1, # e8 - ef +1,1,1,1,1,1,1,1, # f0 - f7 +1,1,1,1,1,1,1,1, # f8 - ff +) + +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f +) + +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} + +ISO2022CN_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,3,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,4,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f +) + +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} + +ISO2022JP_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,2,2, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,7,0,0,0, # 20 - 27 +3,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +6,0,4,0,8,0,0,0, # 40 - 47 +0,9,5,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022JP_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 +) + +ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, + 'class_factor': 10, + 'state_table': ISO2022JP_ST, + 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, + 'name': "ISO-2022-JP", + 'language': 'Japanese'} + +ISO2022KR_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,3,0,0,0, # 20 - 27 +0,4,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,5,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022KR_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 +) + +ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, + 'class_factor': 6, + 'state_table': ISO2022KR_ST, + 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, + 'name': "ISO-2022-KR", + 'language': 'Korean'} + + diff --git a/chardet/eucjpprober.py b/chardet/eucjpprober.py new file mode 100644 index 0000000..20ce8f7 --- /dev/null +++ b/chardet/eucjpprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState, MachineState +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCJPDistributionAnalysis +from .jpcntx import EUCJPContextAnalysis +from .mbcssm import EUCJP_SM_MODEL + + +class EUCJPProber(MultiByteCharSetProber): + def __init__(self): + super(EUCJPProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) + self.distribution_analyzer = EUCJPDistributionAnalysis() + self.context_analyzer = EUCJPContextAnalysis() + self.reset() + + def reset(self): + super(EUCJPProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return "EUC-JP" + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char, char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/chardet/euckrfreq.py b/chardet/euckrfreq.py new file mode 100644 index 0000000..b68078c --- /dev/null +++ b/chardet/euckrfreq.py @@ -0,0 +1,195 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology + +# 128 --> 0.79 +# 256 --> 0.92 +# 512 --> 0.986 +# 1024 --> 0.99944 +# 2048 --> 0.99999 +# +# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 +# Random Distribution Ration = 512 / (2350-512) = 0.279. +# +# Typical Distribution Ratio + +EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 + +EUCKR_TABLE_SIZE = 2352 + +# Char to FreqOrder table , +EUCKR_CHAR_TO_FREQ_ORDER = ( + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 +) + diff --git a/chardet/euckrprober.py b/chardet/euckrprober.py new file mode 100644 index 0000000..345a060 --- /dev/null +++ b/chardet/euckrprober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCKRDistributionAnalysis +from .mbcssm import EUCKR_SM_MODEL + + +class EUCKRProber(MultiByteCharSetProber): + def __init__(self): + super(EUCKRProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-KR" + + @property + def language(self): + return "Korean" diff --git a/chardet/euctwfreq.py b/chardet/euctwfreq.py new file mode 100644 index 0000000..ed7a995 --- /dev/null +++ b/chardet/euctwfreq.py @@ -0,0 +1,387 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# EUCTW frequency table +# Converted from big5 work +# by Taiwan's Mandarin Promotion Council +# + +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +# Char to FreqOrder table , +EUCTW_TABLE_SIZE = 5376 + +EUCTW_CHAR_TO_FREQ_ORDER = ( + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 +) + diff --git a/chardet/euctwprober.py b/chardet/euctwprober.py new file mode 100644 index 0000000..35669cc --- /dev/null +++ b/chardet/euctwprober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCTWDistributionAnalysis +from .mbcssm import EUCTW_SM_MODEL + +class EUCTWProber(MultiByteCharSetProber): + def __init__(self): + super(EUCTWProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) + self.distribution_analyzer = EUCTWDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-TW" + + @property + def language(self): + return "Taiwan" diff --git a/chardet/gb2312freq.py b/chardet/gb2312freq.py new file mode 100644 index 0000000..697837b --- /dev/null +++ b/chardet/gb2312freq.py @@ -0,0 +1,283 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# GB2312 most frequently used character table +# +# Char to FreqOrder table , from hz6763 + +# 512 --> 0.79 -- 0.79 +# 1024 --> 0.92 -- 0.13 +# 2048 --> 0.98 -- 0.06 +# 6768 --> 1.00 -- 0.02 +# +# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 +# Random Distribution Ration = 512 / (3755 - 512) = 0.157 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + +GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 + +GB2312_TABLE_SIZE = 3760 + +GB2312_CHAR_TO_FREQ_ORDER = ( +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 +) + diff --git a/chardet/gb2312prober.py b/chardet/gb2312prober.py new file mode 100644 index 0000000..8446d2d --- /dev/null +++ b/chardet/gb2312prober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import GB2312DistributionAnalysis +from .mbcssm import GB2312_SM_MODEL + +class GB2312Prober(MultiByteCharSetProber): + def __init__(self): + super(GB2312Prober, self).__init__() + self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) + self.distribution_analyzer = GB2312DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "GB2312" + + @property + def language(self): + return "Chinese" diff --git a/chardet/hebrewprober.py b/chardet/hebrewprober.py new file mode 100644 index 0000000..b0e1bf4 --- /dev/null +++ b/chardet/hebrewprober.py @@ -0,0 +1,292 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Shy Shalom +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +# This prober doesn't actually recognize a language or a charset. +# It is a helper prober for the use of the Hebrew model probers + +### General ideas of the Hebrew charset recognition ### +# +# Four main charsets exist in Hebrew: +# "ISO-8859-8" - Visual Hebrew +# "windows-1255" - Logical Hebrew +# "ISO-8859-8-I" - Logical Hebrew +# "x-mac-hebrew" - ?? Logical Hebrew ?? +# +# Both "ISO" charsets use a completely identical set of code points, whereas +# "windows-1255" and "x-mac-hebrew" are two different proper supersets of +# these code points. windows-1255 defines additional characters in the range +# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific +# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. +# x-mac-hebrew defines similar additional code points but with a different +# mapping. +# +# As far as an average Hebrew text with no diacritics is concerned, all four +# charsets are identical with respect to code points. Meaning that for the +# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters +# (including final letters). +# +# The dominant difference between these charsets is their directionality. +# "Visual" directionality means that the text is ordered as if the renderer is +# not aware of a BIDI rendering algorithm. The renderer sees the text and +# draws it from left to right. The text itself when ordered naturally is read +# backwards. A buffer of Visual Hebrew generally looks like so: +# "[last word of first line spelled backwards] [whole line ordered backwards +# and spelled backwards] [first word of first line spelled backwards] +# [end of line] [last word of second line] ... etc' " +# adding punctuation marks, numbers and English text to visual text is +# naturally also "visual" and from left to right. +# +# "Logical" directionality means the text is ordered "naturally" according to +# the order it is read. It is the responsibility of the renderer to display +# the text from right to left. A BIDI algorithm is used to place general +# punctuation marks, numbers and English text in the text. +# +# Texts in x-mac-hebrew are almost impossible to find on the Internet. From +# what little evidence I could find, it seems that its general directionality +# is Logical. +# +# To sum up all of the above, the Hebrew probing mechanism knows about two +# charsets: +# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are +# backwards while line order is natural. For charset recognition purposes +# the line order is unimportant (In fact, for this implementation, even +# word order is unimportant). +# Logical Hebrew - "windows-1255" - normal, naturally ordered text. +# +# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be +# specifically identified. +# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew +# that contain special punctuation marks or diacritics is displayed with +# some unconverted characters showing as question marks. This problem might +# be corrected using another model prober for x-mac-hebrew. Due to the fact +# that x-mac-hebrew texts are so rare, writing another model prober isn't +# worth the effort and performance hit. +# +#### The Prober #### +# +# The prober is divided between two SBCharSetProbers and a HebrewProber, +# all of which are managed, created, fed data, inquired and deleted by the +# SBCSGroupProber. The two SBCharSetProbers identify that the text is in +# fact some kind of Hebrew, Logical or Visual. The final decision about which +# one is it is made by the HebrewProber by combining final-letter scores +# with the scores of the two SBCharSetProbers to produce a final answer. +# +# The SBCSGroupProber is responsible for stripping the original text of HTML +# tags, English characters, numbers, low-ASCII punctuation characters, spaces +# and new lines. It reduces any sequence of such characters to a single space. +# The buffer fed to each prober in the SBCS group prober is pure text in +# high-ASCII. +# The two SBCharSetProbers (model probers) share the same language model: +# Win1255Model. +# The first SBCharSetProber uses the model normally as any other +# SBCharSetProber does, to recognize windows-1255, upon which this model was +# built. The second SBCharSetProber is told to make the pair-of-letter +# lookup in the language model backwards. This in practice exactly simulates +# a visual Hebrew model using the windows-1255 logical Hebrew model. +# +# The HebrewProber is not using any language model. All it does is look for +# final-letter evidence suggesting the text is either logical Hebrew or visual +# Hebrew. Disjointed from the model probers, the results of the HebrewProber +# alone are meaningless. HebrewProber always returns 0.00 as confidence +# since it never identifies a charset by itself. Instead, the pointer to the +# HebrewProber is passed to the model probers as a helper "Name Prober". +# When the Group prober receives a positive identification from any prober, +# it asks for the name of the charset identified. If the prober queried is a +# Hebrew model prober, the model prober forwards the call to the +# HebrewProber to make the final decision. In the HebrewProber, the +# decision is made according to the final-letters scores maintained and Both +# model probers scores. The answer is returned in the form of the name of the +# charset identified, either "windows-1255" or "ISO-8859-8". + +class HebrewProber(CharSetProber): + # windows-1255 / ISO-8859-8 code points of interest + FINAL_KAF = 0xea + NORMAL_KAF = 0xeb + FINAL_MEM = 0xed + NORMAL_MEM = 0xee + FINAL_NUN = 0xef + NORMAL_NUN = 0xf0 + FINAL_PE = 0xf3 + NORMAL_PE = 0xf4 + FINAL_TSADI = 0xf5 + NORMAL_TSADI = 0xf6 + + # Minimum Visual vs Logical final letter score difference. + # If the difference is below this, don't rely solely on the final letter score + # distance. + MIN_FINAL_CHAR_DISTANCE = 5 + + # Minimum Visual vs Logical model score difference. + # If the difference is below this, don't rely at all on the model score + # distance. + MIN_MODEL_DISTANCE = 0.01 + + VISUAL_HEBREW_NAME = "ISO-8859-8" + LOGICAL_HEBREW_NAME = "windows-1255" + + def __init__(self): + super(HebrewProber, self).__init__() + self._final_char_logical_score = None + self._final_char_visual_score = None + self._prev = None + self._before_prev = None + self._logical_prober = None + self._visual_prober = None + self.reset() + + def reset(self): + self._final_char_logical_score = 0 + self._final_char_visual_score = 0 + # The two last characters seen in the previous buffer, + # mPrev and mBeforePrev are initialized to space in order to simulate + # a word delimiter at the beginning of the data + self._prev = ' ' + self._before_prev = ' ' + # These probers are owned by the group prober. + + def set_model_probers(self, logicalProber, visualProber): + self._logical_prober = logicalProber + self._visual_prober = visualProber + + def is_final(self, c): + return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, + self.FINAL_PE, self.FINAL_TSADI] + + def is_non_final(self, c): + # The normal Tsadi is not a good Non-Final letter due to words like + # 'lechotet' (to chat) containing an apostrophe after the tsadi. This + # apostrophe is converted to a space in FilterWithoutEnglishLetters + # causing the Non-Final tsadi to appear at an end of a word even + # though this is not the case in the original text. + # The letters Pe and Kaf rarely display a related behavior of not being + # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' + # for example legally end with a Non-Final Pe or Kaf. However, the + # benefit of these letters as Non-Final letters outweighs the damage + # since these words are quite rare. + return c in [self.NORMAL_KAF, self.NORMAL_MEM, + self.NORMAL_NUN, self.NORMAL_PE] + + def feed(self, byte_str): + # Final letter analysis for logical-visual decision. + # Look for evidence that the received buffer is either logical Hebrew + # or visual Hebrew. + # The following cases are checked: + # 1) A word longer than 1 letter, ending with a final letter. This is + # an indication that the text is laid out "naturally" since the + # final letter really appears at the end. +1 for logical score. + # 2) A word longer than 1 letter, ending with a Non-Final letter. In + # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, + # should not end with the Non-Final form of that letter. Exceptions + # to this rule are mentioned above in isNonFinal(). This is an + # indication that the text is laid out backwards. +1 for visual + # score + # 3) A word longer than 1 letter, starting with a final letter. Final + # letters should not appear at the beginning of a word. This is an + # indication that the text is laid out backwards. +1 for visual + # score. + # + # The visual score and logical score are accumulated throughout the + # text and are finally checked against each other in GetCharSetName(). + # No checking for final letters in the middle of words is done since + # that case is not an indication for either Logical or Visual text. + # + # We automatically filter out all 7-bit characters (replace them with + # spaces) so the word boundary detection works properly. [MAP] + + if self.state == ProbingState.NOT_ME: + # Both model probers say it's not them. No reason to continue. + return ProbingState.NOT_ME + + byte_str = self.filter_high_byte_only(byte_str) + + for cur in byte_str: + if cur == ' ': + # We stand on a space - a word just ended + if self._before_prev != ' ': + # next-to-last char was not a space so self._prev is not a + # 1 letter word + if self.is_final(self._prev): + # case (1) [-2:not space][-1:final letter][cur:space] + self._final_char_logical_score += 1 + elif self.is_non_final(self._prev): + # case (2) [-2:not space][-1:Non-Final letter][ + # cur:space] + self._final_char_visual_score += 1 + else: + # Not standing on a space + if ((self._before_prev == ' ') and + (self.is_final(self._prev)) and (cur != ' ')): + # case (3) [-2:space][-1:final letter][cur:not space] + self._final_char_visual_score += 1 + self._before_prev = self._prev + self._prev = cur + + # Forever detecting, till the end or until both model probers return + # ProbingState.NOT_ME (handled above) + return ProbingState.DETECTING + + @property + def charset_name(self): + # Make the decision: is it Logical or Visual? + # If the final letter score distance is dominant enough, rely on it. + finalsub = self._final_char_logical_score - self._final_char_visual_score + if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # It's not dominant enough, try to rely on the model scores instead. + modelsub = (self._logical_prober.get_confidence() + - self._visual_prober.get_confidence()) + if modelsub > self.MIN_MODEL_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if modelsub < -self.MIN_MODEL_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # Still no good, back to final letter distance, maybe it'll save the + # day. + if finalsub < 0.0: + return self.VISUAL_HEBREW_NAME + + # (finalsub > 0 - Logical) or (don't know what to do) default to + # Logical. + return self.LOGICAL_HEBREW_NAME + + @property + def language(self): + return 'Hebrew' + + @property + def state(self): + # Remain active as long as any of the model probers are active. + if (self._logical_prober.state == ProbingState.NOT_ME) and \ + (self._visual_prober.state == ProbingState.NOT_ME): + return ProbingState.NOT_ME + return ProbingState.DETECTING diff --git a/chardet/jisfreq.py b/chardet/jisfreq.py new file mode 100644 index 0000000..83fc082 --- /dev/null +++ b/chardet/jisfreq.py @@ -0,0 +1,325 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology +# +# Japanese frequency table, applied to both S-JIS and EUC-JP +# They are sorted in order. + +# 128 --> 0.77094 +# 256 --> 0.85710 +# 512 --> 0.92635 +# 1024 --> 0.97130 +# 2048 --> 0.99431 +# +# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 +# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 +# +# Typical Distribution Ratio, 25% of IDR + +JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 + +# Char to FreqOrder table , +JIS_TABLE_SIZE = 4368 + +JIS_CHAR_TO_FREQ_ORDER = ( + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 +) + + diff --git a/chardet/jpcntx.py b/chardet/jpcntx.py new file mode 100644 index 0000000..20044e4 --- /dev/null +++ b/chardet/jpcntx.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +# This is hiragana 2-char sequence table, the number in each cell represents its frequency category +jp2CharContext = ( +(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), +(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), +(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), +(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), +(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), +(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), +(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), +(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), +(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), +(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), +(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), +(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), +(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), +(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), +(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), +(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), +(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), +(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), +(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), +(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), +(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), +(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), +(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), +(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), +(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), +(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), +(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), +(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), +(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), +(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), +(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), +(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), +(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), +(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), +(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), +(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), +(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), +(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), +(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), +(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), +(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), +(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), +(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), +(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), +(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), +(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), +(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), +(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), +(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), +(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), +(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), +(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), +(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), +(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), +(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), +(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), +(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), +(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), +(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), +(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), +(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), +(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), +(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), +(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), +(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), +(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), +(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), +(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), +(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), +(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), +(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), +(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), +(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), +(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), +) + +class JapaneseContextAnalysis(object): + NUM_OF_CATEGORY = 6 + DONT_KNOW = -1 + ENOUGH_REL_THRESHOLD = 100 + MAX_REL_THRESHOLD = 1000 + MINIMUM_DATA_THRESHOLD = 4 + + def __init__(self): + self._total_rel = None + self._rel_sample = None + self._need_to_skip_char_num = None + self._last_char_order = None + self._done = None + self.reset() + + def reset(self): + self._total_rel = 0 # total sequence received + # category counters, each integer counts sequence in its category + self._rel_sample = [0] * self.NUM_OF_CATEGORY + # if last byte in current buffer is not the last byte of a character, + # we need to know how many bytes to skip in next buffer + self._need_to_skip_char_num = 0 + self._last_char_order = -1 # The order of previous char + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + + def feed(self, byte_str, num_bytes): + if self._done: + return + + # The buffer we got is byte oriented, and a character may span in more than one + # buffers. In case the last one or two byte in last buffer is not + # complete, we record how many byte needed to complete that character + # and skip these bytes here. We can choose to record those bytes as + # well and analyse the character once it is complete, but since a + # character will not make much difference, by simply skipping + # this character will simply our logic and improve performance. + i = self._need_to_skip_char_num + while i < num_bytes: + order, char_len = self.get_order(byte_str[i:i + 2]) + i += char_len + if i > num_bytes: + self._need_to_skip_char_num = i - num_bytes + self._last_char_order = -1 + else: + if (order != -1) and (self._last_char_order != -1): + self._total_rel += 1 + if self._total_rel > self.MAX_REL_THRESHOLD: + self._done = True + break + self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 + self._last_char_order = order + + def got_enough_data(self): + return self._total_rel > self.ENOUGH_REL_THRESHOLD + + def get_confidence(self): + # This is just one way to calculate confidence. It works well for me. + if self._total_rel > self.MINIMUM_DATA_THRESHOLD: + return (self._total_rel - self._rel_sample[0]) / self._total_rel + else: + return self.DONT_KNOW + + def get_order(self, byte_str): + return -1, 1 + +class SJISContextAnalysis(JapaneseContextAnalysis): + def __init__(self): + super(SJISContextAnalysis, self).__init__() + self._charset_name = "SHIFT_JIS" + + @property + def charset_name(self): + return self._charset_name + + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): + char_len = 2 + if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): + self._charset_name = "CP932" + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 202) and (0x9F <= second_char <= 0xF1): + return second_char - 0x9F, char_len + + return -1, char_len + +class EUCJPContextAnalysis(JapaneseContextAnalysis): + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): + char_len = 2 + elif first_char == 0x8F: + char_len = 3 + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): + return second_char - 0xA1, char_len + + return -1, char_len + + diff --git a/chardet/langbulgarianmodel.py b/chardet/langbulgarianmodel.py new file mode 100644 index 0000000..2aa4fb2 --- /dev/null +++ b/chardet/langbulgarianmodel.py @@ -0,0 +1,228 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +# this table is modified base on win1251BulgarianCharToOrderMap, so +# only number <64 is sure valid + +Latin5_BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 +) + +win1251BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 96.9392% +# first 1024 sequences:3.0618% +# rest sequences: 0.2992% +# negative sequences: 0.0020% +BulgarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +) + +Latin5BulgarianModel = { + 'char_to_order_map': Latin5_BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Bulgairan', +} + +Win1251BulgarianModel = { + 'char_to_order_map': win1251BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Bulgarian', +} diff --git a/chardet/langcyrillicmodel.py b/chardet/langcyrillicmodel.py new file mode 100644 index 0000000..e5f9a1f --- /dev/null +++ b/chardet/langcyrillicmodel.py @@ -0,0 +1,333 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# KOI8-R language model +# Character Mapping Table: +KOI8R_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 +) + +win1251_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +) + +latin5_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +macCyrillic_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +) + +IBM855_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +) + +IBM866_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 97.6601% +# first 1024 sequences: 2.3389% +# rest sequences: 0.1237% +# negative sequences: 0.0009% +RussianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +) + +Koi8rModel = { + 'char_to_order_map': KOI8R_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "KOI8-R", + 'language': 'Russian', +} + +Win1251CyrillicModel = { + 'char_to_order_map': win1251_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Russian', +} + +Latin5CyrillicModel = { + 'char_to_order_map': latin5_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Russian', +} + +MacCyrillicModel = { + 'char_to_order_map': macCyrillic_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "MacCyrillic", + 'language': 'Russian', +} + +Ibm866Model = { + 'char_to_order_map': IBM866_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM866", + 'language': 'Russian', +} + +Ibm855Model = { + 'char_to_order_map': IBM855_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM855", + 'language': 'Russian', +} diff --git a/chardet/langgreekmodel.py b/chardet/langgreekmodel.py new file mode 100644 index 0000000..5332221 --- /dev/null +++ b/chardet/langgreekmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin7_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +win1253_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.2851% +# first 1024 sequences:1.7001% +# rest sequences: 0.0359% +# negative sequences: 0.0148% +GreekLangModel = ( +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, +2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, +0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, +3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, +2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, +0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, +0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, +0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, +0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, +0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, +0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, +0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, +0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, +0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, +0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, +0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, +0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, +0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, +0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, +0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, +0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin7GreekModel = { + 'char_to_order_map': Latin7_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-7", + 'language': 'Greek', +} + +Win1253GreekModel = { + 'char_to_order_map': win1253_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "windows-1253", + 'language': 'Greek', +} diff --git a/chardet/langhebrewmodel.py b/chardet/langhebrewmodel.py new file mode 100644 index 0000000..58f4c87 --- /dev/null +++ b/chardet/langhebrewmodel.py @@ -0,0 +1,200 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Simon Montagu +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Shoshannah Forbes - original C code (?) +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Windows-1255 language model +# Character Mapping Table: +WIN1255_CHAR_TO_ORDER_MAP = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.4004% +# first 1024 sequences: 1.5981% +# rest sequences: 0.087% +# negative sequences: 0.0015% +HEBREW_LANG_MODEL = ( +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +) + +Win1255HebrewModel = { + 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, + 'precedence_matrix': HEBREW_LANG_MODEL, + 'typical_positive_ratio': 0.984004, + 'keep_english_letter': False, + 'charset_name': "windows-1255", + 'language': 'Hebrew', +} diff --git a/chardet/langhungarianmodel.py b/chardet/langhungarianmodel.py new file mode 100644 index 0000000..bb7c095 --- /dev/null +++ b/chardet/langhungarianmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin2_HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, +175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, + 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, + 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, +245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +win1250HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, +177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, + 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, + 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, +245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 94.7368% +# first 1024 sequences:5.2623% +# rest sequences: 0.8894% +# negative sequences: 0.0009% +HungarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, +3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, +0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, +1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, +1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, +3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, +2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, +2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, +2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, +2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, +1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, +1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, +3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, +1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, +1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, +2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, +2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, +2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, +3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, +1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, +1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, +1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, +2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, +1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, +2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, +2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, +1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, +1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, +0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, +2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, +2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, +1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, +1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, +2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, +2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, +2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, +1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, +0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +) + +Latin2HungarianModel = { + 'char_to_order_map': Latin2_HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-2", + 'language': 'Hungarian', +} + +Win1250HungarianModel = { + 'char_to_order_map': win1250HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "windows-1250", + 'language': 'Hungarian', +} diff --git a/chardet/langthaimodel.py b/chardet/langthaimodel.py new file mode 100644 index 0000000..15f94c2 --- /dev/null +++ b/chardet/langthaimodel.py @@ -0,0 +1,199 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# The following result for thai was collected from a limited sample (1M). + +# Character Mapping Table: +TIS620CharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 92.6386% +# first 1024 sequences:7.3177% +# rest sequences: 1.0230% +# negative sequences: 0.0436% +ThaiLangModel = ( +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +TIS620ThaiModel = { + 'char_to_order_map': TIS620CharToOrderMap, + 'precedence_matrix': ThaiLangModel, + 'typical_positive_ratio': 0.926386, + 'keep_english_letter': False, + 'charset_name': "TIS-620", + 'language': 'Thai', +} diff --git a/chardet/langturkishmodel.py b/chardet/langturkishmodel.py new file mode 100644 index 0000000..a427a45 --- /dev/null +++ b/chardet/langturkishmodel.py @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Özgür Baskın - Turkish Language Model +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin5_TurkishCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +) + +TurkishLangModel = ( +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin5TurkishModel = { + 'char_to_order_map': Latin5_TurkishCharToOrderMap, + 'precedence_matrix': TurkishLangModel, + 'typical_positive_ratio': 0.970290, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-9", + 'language': 'Turkish', +} diff --git a/chardet/latin1prober.py b/chardet/latin1prober.py new file mode 100644 index 0000000..7d1e8c2 --- /dev/null +++ b/chardet/latin1prober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +FREQ_CAT_NUM = 4 + +UDF = 0 # undefined +OTH = 1 # other +ASC = 2 # ascii capital letter +ASS = 3 # ascii small letter +ACV = 4 # accent capital vowel +ACO = 5 # accent capital other +ASV = 6 # accent small vowel +ASO = 7 # accent small other +CLASS_NUM = 8 # total classes + +Latin1_CharToClass = ( + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF +) + +# 0 : illegal +# 1 : very unlikely +# 2 : normal +# 3 : very likely +Latin1ClassModel = ( +# UDF OTH ASC ASS ACV ACO ASV ASO + 0, 0, 0, 0, 0, 0, 0, 0, # UDF + 0, 3, 3, 3, 3, 3, 3, 3, # OTH + 0, 3, 3, 3, 3, 3, 3, 3, # ASC + 0, 3, 3, 3, 1, 1, 3, 3, # ASS + 0, 3, 3, 3, 1, 2, 1, 2, # ACV + 0, 3, 3, 3, 3, 3, 3, 3, # ACO + 0, 3, 1, 3, 1, 1, 1, 3, # ASV + 0, 3, 1, 3, 1, 1, 3, 3, # ASO +) + + +class Latin1Prober(CharSetProber): + def __init__(self): + super(Latin1Prober, self).__init__() + self._last_char_class = None + self._freq_counter = None + self.reset() + + def reset(self): + self._last_char_class = OTH + self._freq_counter = [0] * FREQ_CAT_NUM + CharSetProber.reset(self) + + @property + def charset_name(self): + return "ISO-8859-1" + + @property + def language(self): + return "" + + def feed(self, byte_str): + byte_str = self.filter_with_english_letters(byte_str) + for c in byte_str: + char_class = Latin1_CharToClass[c] + freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) + + char_class] + if freq == 0: + self._state = ProbingState.NOT_ME + break + self._freq_counter[freq] += 1 + self._last_char_class = char_class + + return self.state + + def get_confidence(self): + if self.state == ProbingState.NOT_ME: + return 0.01 + + total = sum(self._freq_counter) + if total < 0.01: + confidence = 0.0 + else: + confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) + / total) + if confidence < 0.0: + confidence = 0.0 + # lower the confidence of latin1 so that other more accurate + # detector can take priority. + confidence = confidence * 0.73 + return confidence diff --git a/chardet/mbcharsetprober.py b/chardet/mbcharsetprober.py new file mode 100644 index 0000000..6256ecf --- /dev/null +++ b/chardet/mbcharsetprober.py @@ -0,0 +1,91 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState + + +class MultiByteCharSetProber(CharSetProber): + """ + MultiByteCharSetProber + """ + + def __init__(self, lang_filter=None): + super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) + self.distribution_analyzer = None + self.coding_sm = None + self._last_char = [0, 0] + + def reset(self): + super(MultiByteCharSetProber, self).reset() + if self.coding_sm: + self.coding_sm.reset() + if self.distribution_analyzer: + self.distribution_analyzer.reset() + self._last_char = [0, 0] + + @property + def charset_name(self): + raise NotImplementedError + + @property + def language(self): + raise NotImplementedError + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.distribution_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + return self.distribution_analyzer.get_confidence() diff --git a/chardet/mbcsgroupprober.py b/chardet/mbcsgroupprober.py new file mode 100644 index 0000000..530abe7 --- /dev/null +++ b/chardet/mbcsgroupprober.py @@ -0,0 +1,54 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .utf8prober import UTF8Prober +from .sjisprober import SJISProber +from .eucjpprober import EUCJPProber +from .gb2312prober import GB2312Prober +from .euckrprober import EUCKRProber +from .cp949prober import CP949Prober +from .big5prober import Big5Prober +from .euctwprober import EUCTWProber + + +class MBCSGroupProber(CharSetGroupProber): + def __init__(self, lang_filter=None): + super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) + self.probers = [ + UTF8Prober(), + SJISProber(), + EUCJPProber(), + GB2312Prober(), + EUCKRProber(), + CP949Prober(), + Big5Prober(), + EUCTWProber() + ] + self.reset() diff --git a/chardet/mbcssm.py b/chardet/mbcssm.py new file mode 100644 index 0000000..8360d0f --- /dev/null +++ b/chardet/mbcssm.py @@ -0,0 +1,572 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +# BIG5 + +BIG5_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 4,4,4,4,4,4,4,4, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 4,3,3,3,3,3,3,3, # a0 - a7 + 3,3,3,3,3,3,3,3, # a8 - af + 3,3,3,3,3,3,3,3, # b0 - b7 + 3,3,3,3,3,3,3,3, # b8 - bf + 3,3,3,3,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +BIG5_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 +) + +BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) + +BIG5_SM_MODEL = {'class_table': BIG5_CLS, + 'class_factor': 5, + 'state_table': BIG5_ST, + 'char_len_table': BIG5_CHAR_LEN_TABLE, + 'name': 'Big5'} + +# CP949 + +CP949_CLS = ( + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f + 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f + 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f + 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f + 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f + 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f + 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f + 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f + 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af + 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf + 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff +) + +CP949_ST = ( +#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 +) + +CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) + +CP949_SM_MODEL = {'class_table': CP949_CLS, + 'class_factor': 10, + 'state_table': CP949_ST, + 'char_len_table': CP949_CHAR_LEN_TABLE, + 'name': 'CP949'} + +# EUC-JP + +EUCJP_CLS = ( + 4,4,4,4,4,4,4,4, # 00 - 07 + 4,4,4,4,4,4,5,5, # 08 - 0f + 4,4,4,4,4,4,4,4, # 10 - 17 + 4,4,4,5,4,4,4,4, # 18 - 1f + 4,4,4,4,4,4,4,4, # 20 - 27 + 4,4,4,4,4,4,4,4, # 28 - 2f + 4,4,4,4,4,4,4,4, # 30 - 37 + 4,4,4,4,4,4,4,4, # 38 - 3f + 4,4,4,4,4,4,4,4, # 40 - 47 + 4,4,4,4,4,4,4,4, # 48 - 4f + 4,4,4,4,4,4,4,4, # 50 - 57 + 4,4,4,4,4,4,4,4, # 58 - 5f + 4,4,4,4,4,4,4,4, # 60 - 67 + 4,4,4,4,4,4,4,4, # 68 - 6f + 4,4,4,4,4,4,4,4, # 70 - 77 + 4,4,4,4,4,4,4,4, # 78 - 7f + 5,5,5,5,5,5,5,5, # 80 - 87 + 5,5,5,5,5,5,1,3, # 88 - 8f + 5,5,5,5,5,5,5,5, # 90 - 97 + 5,5,5,5,5,5,5,5, # 98 - 9f + 5,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,0,5 # f8 - ff +) + +EUCJP_ST = ( + 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f + 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 +) + +EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) + +EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, + 'class_factor': 6, + 'state_table': EUCJP_ST, + 'char_len_table': EUCJP_CHAR_LEN_TABLE, + 'name': 'EUC-JP'} + +# EUC-KR + +EUCKR_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,3,3,3, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,3,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 2,2,2,2,2,2,2,2, # e0 - e7 + 2,2,2,2,2,2,2,2, # e8 - ef + 2,2,2,2,2,2,2,2, # f0 - f7 + 2,2,2,2,2,2,2,0 # f8 - ff +) + +EUCKR_ST = ( + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f +) + +EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) + +EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, + 'class_factor': 4, + 'state_table': EUCKR_ST, + 'char_len_table': EUCKR_CHAR_LEN_TABLE, + 'name': 'EUC-KR'} + +# EUC-TW + +EUCTW_CLS = ( + 2,2,2,2,2,2,2,2, # 00 - 07 + 2,2,2,2,2,2,0,0, # 08 - 0f + 2,2,2,2,2,2,2,2, # 10 - 17 + 2,2,2,0,2,2,2,2, # 18 - 1f + 2,2,2,2,2,2,2,2, # 20 - 27 + 2,2,2,2,2,2,2,2, # 28 - 2f + 2,2,2,2,2,2,2,2, # 30 - 37 + 2,2,2,2,2,2,2,2, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,2, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,6,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,3,4,4,4,4,4,4, # a0 - a7 + 5,5,1,1,1,1,1,1, # a8 - af + 1,1,1,1,1,1,1,1, # b0 - b7 + 1,1,1,1,1,1,1,1, # b8 - bf + 1,1,3,1,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +EUCTW_ST = ( + MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 + MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 + MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) + +EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, + 'class_factor': 7, + 'state_table': EUCTW_ST, + 'char_len_table': EUCTW_CHAR_LEN_TABLE, + 'name': 'x-euc-tw'} + +# GB2312 + +GB2312_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 3,3,3,3,3,3,3,3, # 30 - 37 + 3,3,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,4, # 78 - 7f + 5,6,6,6,6,6,6,6, # 80 - 87 + 6,6,6,6,6,6,6,6, # 88 - 8f + 6,6,6,6,6,6,6,6, # 90 - 97 + 6,6,6,6,6,6,6,6, # 98 - 9f + 6,6,6,6,6,6,6,6, # a0 - a7 + 6,6,6,6,6,6,6,6, # a8 - af + 6,6,6,6,6,6,6,6, # b0 - b7 + 6,6,6,6,6,6,6,6, # b8 - bf + 6,6,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 6,6,6,6,6,6,6,6, # e0 - e7 + 6,6,6,6,6,6,6,6, # e8 - ef + 6,6,6,6,6,6,6,6, # f0 - f7 + 6,6,6,6,6,6,6,0 # f8 - ff +) + +GB2312_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 + 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +# To be accurate, the length of class 6 can be either 2 or 4. +# But it is not necessary to discriminate between the two since +# it is used for frequency analysis only, and we are validating +# each code range there as well. So it is safe to set it to be +# 2 here. +GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) + +GB2312_SM_MODEL = {'class_table': GB2312_CLS, + 'class_factor': 7, + 'state_table': GB2312_ST, + 'char_len_table': GB2312_CHAR_LEN_TABLE, + 'name': 'GB2312'} + +# Shift_JIS + +SJIS_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 3,3,3,3,3,2,2,3, # 80 - 87 + 3,3,3,3,3,3,3,3, # 88 - 8f + 3,3,3,3,3,3,3,3, # 90 - 97 + 3,3,3,3,3,3,3,3, # 98 - 9f + #0xa0 is illegal in sjis encoding, but some pages does + #contain such byte. We need to be more error forgiven. + 2,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,4,4,4, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,0,0,0) # f8 - ff + + +SJIS_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 +) + +SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) + +SJIS_SM_MODEL = {'class_table': SJIS_CLS, + 'class_factor': 6, + 'state_table': SJIS_ST, + 'char_len_table': SJIS_CHAR_LEN_TABLE, + 'name': 'Shift_JIS'} + +# UCS2-BE + +UCS2BE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2BE_ST = ( + 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 + 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f + 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 + 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f + 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) + +UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, + 'class_factor': 6, + 'state_table': UCS2BE_ST, + 'char_len_table': UCS2BE_CHAR_LEN_TABLE, + 'name': 'UTF-16BE'} + +# UCS2-LE + +UCS2LE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2LE_ST = ( + 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f + 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 + 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) + +UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, + 'class_factor': 6, + 'state_table': UCS2LE_ST, + 'char_len_table': UCS2LE_CHAR_LEN_TABLE, + 'name': 'UTF-16LE'} + +# UTF-8 + +UTF8_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 2,2,2,2,3,3,3,3, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 5,5,5,5,5,5,5,5, # a0 - a7 + 5,5,5,5,5,5,5,5, # a8 - af + 5,5,5,5,5,5,5,5, # b0 - b7 + 5,5,5,5,5,5,5,5, # b8 - bf + 0,0,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 7,8,8,8,8,8,8,8, # e0 - e7 + 8,8,8,8,8,9,8,8, # e8 - ef + 10,11,11,11,11,11,11,11, # f0 - f7 + 12,13,13,13,14,15,0,0 # f8 - ff +) + +UTF8_ST = ( + MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 + 9, 11, 8, 7, 6, 5, 4, 3,#08-0f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f + MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f + MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f + MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f + MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af + MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf +) + +UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) + +UTF8_SM_MODEL = {'class_table': UTF8_CLS, + 'class_factor': 16, + 'state_table': UTF8_ST, + 'char_len_table': UTF8_CHAR_LEN_TABLE, + 'name': 'UTF-8'} diff --git a/chardet/sbcharsetprober.py b/chardet/sbcharsetprober.py new file mode 100644 index 0000000..0adb51d --- /dev/null +++ b/chardet/sbcharsetprober.py @@ -0,0 +1,132 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import CharacterCategory, ProbingState, SequenceLikelihood + + +class SingleByteCharSetProber(CharSetProber): + SAMPLE_SIZE = 64 + SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 + POSITIVE_SHORTCUT_THRESHOLD = 0.95 + NEGATIVE_SHORTCUT_THRESHOLD = 0.05 + + def __init__(self, model, reversed=False, name_prober=None): + super(SingleByteCharSetProber, self).__init__() + self._model = model + # TRUE if we need to reverse every pair in the model lookup + self._reversed = reversed + # Optional auxiliary prober for name decision + self._name_prober = name_prober + self._last_order = None + self._seq_counters = None + self._total_seqs = None + self._total_char = None + self._freq_char = None + self.reset() + + def reset(self): + super(SingleByteCharSetProber, self).reset() + # char order of last character + self._last_order = 255 + self._seq_counters = [0] * SequenceLikelihood.get_num_categories() + self._total_seqs = 0 + self._total_char = 0 + # characters that fall in our sampling range + self._freq_char = 0 + + @property + def charset_name(self): + if self._name_prober: + return self._name_prober.charset_name + else: + return self._model['charset_name'] + + @property + def language(self): + if self._name_prober: + return self._name_prober.language + else: + return self._model.get('language') + + def feed(self, byte_str): + if not self._model['keep_english_letter']: + byte_str = self.filter_international_words(byte_str) + if not byte_str: + return self.state + char_to_order_map = self._model['char_to_order_map'] + for i, c in enumerate(byte_str): + # XXX: Order is in range 1-64, so one would think we want 0-63 here, + # but that leads to 27 more test failures than before. + order = char_to_order_map[c] + # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but + # CharacterCategory.SYMBOL is actually 253, so we use CONTROL + # to make it closer to the original intent. The only difference + # is whether or not we count digits and control characters for + # _total_char purposes. + if order < CharacterCategory.CONTROL: + self._total_char += 1 + if order < self.SAMPLE_SIZE: + self._freq_char += 1 + if self._last_order < self.SAMPLE_SIZE: + self._total_seqs += 1 + if not self._reversed: + i = (self._last_order * self.SAMPLE_SIZE) + order + model = self._model['precedence_matrix'][i] + else: # reverse the order of the letters in the lookup + i = (order * self.SAMPLE_SIZE) + self._last_order + model = self._model['precedence_matrix'][i] + self._seq_counters[model] += 1 + self._last_order = order + + charset_name = self._model['charset_name'] + if self.state == ProbingState.DETECTING: + if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: + confidence = self.get_confidence() + if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, we have a winner', + charset_name, confidence) + self._state = ProbingState.FOUND_IT + elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, below negative ' + 'shortcut threshhold %s', charset_name, + confidence, + self.NEGATIVE_SHORTCUT_THRESHOLD) + self._state = ProbingState.NOT_ME + + return self.state + + def get_confidence(self): + r = 0.01 + if self._total_seqs > 0: + r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / + self._total_seqs / self._model['typical_positive_ratio']) + r = r * self._freq_char / self._total_char + if r >= 1.0: + r = 0.99 + return r diff --git a/chardet/sbcsgroupprober.py b/chardet/sbcsgroupprober.py new file mode 100644 index 0000000..98e95dc --- /dev/null +++ b/chardet/sbcsgroupprober.py @@ -0,0 +1,73 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .sbcharsetprober import SingleByteCharSetProber +from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, + Latin5CyrillicModel, MacCyrillicModel, + Ibm866Model, Ibm855Model) +from .langgreekmodel import Latin7GreekModel, Win1253GreekModel +from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel +# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel +from .langthaimodel import TIS620ThaiModel +from .langhebrewmodel import Win1255HebrewModel +from .hebrewprober import HebrewProber +from .langturkishmodel import Latin5TurkishModel + + +class SBCSGroupProber(CharSetGroupProber): + def __init__(self): + super(SBCSGroupProber, self).__init__() + self.probers = [ + SingleByteCharSetProber(Win1251CyrillicModel), + SingleByteCharSetProber(Koi8rModel), + SingleByteCharSetProber(Latin5CyrillicModel), + SingleByteCharSetProber(MacCyrillicModel), + SingleByteCharSetProber(Ibm866Model), + SingleByteCharSetProber(Ibm855Model), + SingleByteCharSetProber(Latin7GreekModel), + SingleByteCharSetProber(Win1253GreekModel), + SingleByteCharSetProber(Latin5BulgarianModel), + SingleByteCharSetProber(Win1251BulgarianModel), + # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) + # after we retrain model. + # SingleByteCharSetProber(Latin2HungarianModel), + # SingleByteCharSetProber(Win1250HungarianModel), + SingleByteCharSetProber(TIS620ThaiModel), + SingleByteCharSetProber(Latin5TurkishModel), + ] + hebrew_prober = HebrewProber() + logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, + False, hebrew_prober) + visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, + hebrew_prober) + hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) + self.probers.extend([hebrew_prober, logical_hebrew_prober, + visual_hebrew_prober]) + + self.reset() diff --git a/chardet/sjisprober.py b/chardet/sjisprober.py new file mode 100644 index 0000000..9e29623 --- /dev/null +++ b/chardet/sjisprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import SJISDistributionAnalysis +from .jpcntx import SJISContextAnalysis +from .mbcssm import SJIS_SM_MODEL +from .enums import ProbingState, MachineState + + +class SJISProber(MultiByteCharSetProber): + def __init__(self): + super(SJISProber, self).__init__() + self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) + self.distribution_analyzer = SJISDistributionAnalysis() + self.context_analyzer = SJISContextAnalysis() + self.reset() + + def reset(self): + super(SJISProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return self.context_analyzer.charset_name + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char[2 - char_len:], + char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 + - char_len], char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/chardet/universaldetector.py b/chardet/universaldetector.py new file mode 100644 index 0000000..7b4e92d --- /dev/null +++ b/chardet/universaldetector.py @@ -0,0 +1,286 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### +""" +Module containing the UniversalDetector detector class, which is the primary +class a user of ``chardet`` should use. + +:author: Mark Pilgrim (initial port to Python) +:author: Shy Shalom (original C code) +:author: Dan Blanchard (major refactoring for 3.0) +:author: Ian Cordasco +""" + + +import codecs +import logging +import re + +from .charsetgroupprober import CharSetGroupProber +from .enums import InputState, LanguageFilter, ProbingState +from .escprober import EscCharSetProber +from .latin1prober import Latin1Prober +from .mbcsgroupprober import MBCSGroupProber +from .sbcsgroupprober import SBCSGroupProber + + +class UniversalDetector(object): + """ + The ``UniversalDetector`` class underlies the ``chardet.detect`` function + and coordinates all of the different charset probers. + + To get a ``dict`` containing an encoding and its confidence, you can simply + run: + + .. code:: + + u = UniversalDetector() + u.feed(some_bytes) + u.close() + detected = u.result + + """ + + MINIMUM_THRESHOLD = 0.20 + HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') + ESC_DETECTOR = re.compile(b'(\033|~{)') + WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') + ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', + 'iso-8859-2': 'Windows-1250', + 'iso-8859-5': 'Windows-1251', + 'iso-8859-6': 'Windows-1256', + 'iso-8859-7': 'Windows-1253', + 'iso-8859-8': 'Windows-1255', + 'iso-8859-9': 'Windows-1254', + 'iso-8859-13': 'Windows-1257'} + + def __init__(self, lang_filter=LanguageFilter.ALL): + self._esc_charset_prober = None + self._charset_probers = [] + self.result = None + self.done = None + self._got_data = None + self._input_state = None + self._last_char = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + self._has_win_bytes = None + self.reset() + + def reset(self): + """ + Reset the UniversalDetector and all of its probers back to their + initial states. This is called by ``__init__``, so you only need to + call this directly in between analyses of different documents. + """ + self.result = {'encoding': None, 'confidence': 0.0, 'language': None} + self.done = False + self._got_data = False + self._has_win_bytes = False + self._input_state = InputState.PURE_ASCII + self._last_char = b'' + if self._esc_charset_prober: + self._esc_charset_prober.reset() + for prober in self._charset_probers: + prober.reset() + + def feed(self, byte_str): + """ + Takes a chunk of a document and feeds it through all of the relevant + charset probers. + + After calling ``feed``, you can check the value of the ``done`` + attribute to see if you need to continue feeding the + ``UniversalDetector`` more data, or if it has made a prediction + (in the ``result`` attribute). + + .. note:: + You should always call ``close`` when you're done feeding in your + document if ``done`` is not already ``True``. + """ + if self.done: + return + + if not len(byte_str): + return + + if not isinstance(byte_str, bytearray): + byte_str = bytearray(byte_str) + + # First check for known BOMs, since these are guaranteed to be correct + if not self._got_data: + # If the data starts with BOM, we know it is UTF + if byte_str.startswith(codecs.BOM_UTF8): + # EF BB BF UTF-8 with BOM + self.result = {'encoding': "UTF-8-SIG", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_UTF32_LE, + codecs.BOM_UTF32_BE)): + # FF FE 00 00 UTF-32, little-endian BOM + # 00 00 FE FF UTF-32, big-endian BOM + self.result = {'encoding': "UTF-32", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\xFE\xFF\x00\x00'): + # FE FF 00 00 UCS-4, unusual octet order BOM (3412) + self.result = {'encoding': "X-ISO-10646-UCS-4-3412", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\x00\x00\xFF\xFE'): + # 00 00 FF FE UCS-4, unusual octet order BOM (2143) + self.result = {'encoding': "X-ISO-10646-UCS-4-2143", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): + # FF FE UTF-16, little endian BOM + # FE FF UTF-16, big endian BOM + self.result = {'encoding': "UTF-16", + 'confidence': 1.0, + 'language': ''} + + self._got_data = True + if self.result['encoding'] is not None: + self.done = True + return + + # If none of those matched and we've only see ASCII so far, check + # for high bytes and escape sequences + if self._input_state == InputState.PURE_ASCII: + if self.HIGH_BYTE_DETECTOR.search(byte_str): + self._input_state = InputState.HIGH_BYTE + elif self._input_state == InputState.PURE_ASCII and \ + self.ESC_DETECTOR.search(self._last_char + byte_str): + self._input_state = InputState.ESC_ASCII + + self._last_char = byte_str[-1:] + + # If we've seen escape sequences, use the EscCharSetProber, which + # uses a simple state machine to check for known escape sequences in + # HZ and ISO-2022 encodings, since those are the only encodings that + # use such sequences. + if self._input_state == InputState.ESC_ASCII: + if not self._esc_charset_prober: + self._esc_charset_prober = EscCharSetProber(self.lang_filter) + if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': + self._esc_charset_prober.charset_name, + 'confidence': + self._esc_charset_prober.get_confidence(), + 'language': + self._esc_charset_prober.language} + self.done = True + # If we've seen high bytes (i.e., those with values greater than 127), + # we need to do more complicated checks using all our multi-byte and + # single-byte probers that are left. The single-byte probers + # use character bigram distributions to determine the encoding, whereas + # the multi-byte probers use a combination of character unigram and + # bigram distributions. + elif self._input_state == InputState.HIGH_BYTE: + if not self._charset_probers: + self._charset_probers = [MBCSGroupProber(self.lang_filter)] + # If we're checking non-CJK encodings, use single-byte prober + if self.lang_filter & LanguageFilter.NON_CJK: + self._charset_probers.append(SBCSGroupProber()) + self._charset_probers.append(Latin1Prober()) + for prober in self._charset_probers: + if prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': prober.charset_name, + 'confidence': prober.get_confidence(), + 'language': prober.language} + self.done = True + break + if self.WIN_BYTE_DETECTOR.search(byte_str): + self._has_win_bytes = True + + def close(self): + """ + Stop analyzing the current document and come up with a final + prediction. + + :returns: The ``result`` attribute, a ``dict`` with the keys + `encoding`, `confidence`, and `language`. + """ + # Don't bother with checks if we're already done + if self.done: + return self.result + self.done = True + + if not self._got_data: + self.logger.debug('no data received!') + + # Default to ASCII if it is all we've seen so far + elif self._input_state == InputState.PURE_ASCII: + self.result = {'encoding': 'ascii', + 'confidence': 1.0, + 'language': ''} + + # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD + elif self._input_state == InputState.HIGH_BYTE: + prober_confidence = None + max_prober_confidence = 0.0 + max_prober = None + for prober in self._charset_probers: + if not prober: + continue + prober_confidence = prober.get_confidence() + if prober_confidence > max_prober_confidence: + max_prober_confidence = prober_confidence + max_prober = prober + if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): + charset_name = max_prober.charset_name + lower_charset_name = max_prober.charset_name.lower() + confidence = max_prober.get_confidence() + # Use Windows encoding name instead of ISO-8859 if we saw any + # extra Windows-specific bytes + if lower_charset_name.startswith('iso-8859'): + if self._has_win_bytes: + charset_name = self.ISO_WIN_MAP.get(lower_charset_name, + charset_name) + self.result = {'encoding': charset_name, + 'confidence': confidence, + 'language': max_prober.language} + + # Log all prober confidences if none met MINIMUM_THRESHOLD + if self.logger.getEffectiveLevel() == logging.DEBUG: + if self.result['encoding'] is None: + self.logger.debug('no probers hit minimum threshold') + for group_prober in self._charset_probers: + if not group_prober: + continue + if isinstance(group_prober, CharSetGroupProber): + for prober in group_prober.probers: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + else: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + return self.result diff --git a/chardet/utf8prober.py b/chardet/utf8prober.py new file mode 100644 index 0000000..6c3196c --- /dev/null +++ b/chardet/utf8prober.py @@ -0,0 +1,82 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState +from .codingstatemachine import CodingStateMachine +from .mbcssm import UTF8_SM_MODEL + + + +class UTF8Prober(CharSetProber): + ONE_CHAR_PROB = 0.5 + + def __init__(self): + super(UTF8Prober, self).__init__() + self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) + self._num_mb_chars = None + self.reset() + + def reset(self): + super(UTF8Prober, self).reset() + self.coding_sm.reset() + self._num_mb_chars = 0 + + @property + def charset_name(self): + return "utf-8" + + @property + def language(self): + return "" + + def feed(self, byte_str): + for c in byte_str: + coding_state = self.coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + if self.coding_sm.get_current_charlen() >= 2: + self._num_mb_chars += 1 + + if self.state == ProbingState.DETECTING: + if self.get_confidence() > self.SHORTCUT_THRESHOLD: + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + unlike = 0.99 + if self._num_mb_chars < 6: + unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars + return 1.0 - unlike + else: + return unlike diff --git a/chardet/version.py b/chardet/version.py new file mode 100644 index 0000000..bb2a34a --- /dev/null +++ b/chardet/version.py @@ -0,0 +1,9 @@ +""" +This module exists only to simplify retrieving the version number of chardet +from within setup.py and from chardet subpackages. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + +__version__ = "3.0.4" +VERSION = __version__.split('.') diff --git a/deprecated/__init__.py b/deprecated/__init__.py new file mode 100644 index 0000000..55e968a --- /dev/null +++ b/deprecated/__init__.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +""" +Deprecated Library +================== + +Python ``@deprecated`` decorator to deprecate old python classes, functions or methods. + +""" + +#: Module Version Number, see `PEP 396 `_. +__version__ = "1.2.5" + +from deprecated.classic import deprecated diff --git a/deprecated/classic.py b/deprecated/classic.py new file mode 100644 index 0000000..1ed9a1e --- /dev/null +++ b/deprecated/classic.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +""" +Classic deprecation warning +=========================== + +Classic ``@deprecated`` decorator to deprecate old python classes, functions or methods. + +""" +import functools +import inspect +import warnings + +import wrapt + +string_types = (type(b''), type(u'')) + + +class ClassicAdapter(wrapt.AdapterFactory): + """ + Classic adapter -- *for advanced usage only* + + This adapter is used to get the deprecation message according to the wrapped object type: + class, function, standard method, static method, or class method. + + This is the base class of the :class:`~deprecated.sphinx.SphinxAdapter` class + which is used to update the wrapped object docstring. + + You can also inherit this class to change the deprecation message. + + In the following example, we change the message into "The ... is deprecated.": + + .. code-block:: python + + import inspect + + from deprecated.classic import ClassicAdapter + from deprecated.classic import deprecated + + + class MyClassicAdapter(ClassicAdapter): + def get_deprecated_msg(self, wrapped, instance): + if instance is None: + if inspect.isclass(wrapped): + fmt = "The class {name} is deprecated." + else: + fmt = "The function {name} is deprecated." + else: + if inspect.isclass(instance): + fmt = "The class method {name} is deprecated." + else: + fmt = "The method {name} is deprecated." + if self.reason: + fmt += " ({reason})" + if self.version: + fmt += " -- Deprecated since version {version}." + return fmt.format(name=wrapped.__name__, + reason=self.reason or "", + version=self.version or "") + + Then, you can use your ``MyClassicAdapter`` class like this in your source code: + + .. code-block:: python + + @deprecated(reason="use another function", adapter_cls=MyClassicAdapter) + def some_old_function(x, y): + return x + y + """ + + def __init__(self, reason="", version="", action='always', category=DeprecationWarning): + """ + Construct a wrapper adapter. + + :type reason: str + :param reason: + Reason message which documents the deprecation in your library (can be omitted). + + :type version: str + :param version: + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type action: str + :param action: + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + By default the deprecation warning is always emitted (the value is "always"). + + :type category: type + :param category: + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + """ + self.reason = reason or "" + self.version = version or "" + self.action = action + self.category = category + super(ClassicAdapter, self).__init__() + + def get_deprecated_msg(self, wrapped, instance): + """ + Get the deprecation warning message for the user. + + :param wrapped: Wrapped class or function. + + :param instance: The object to which the wrapped function was bound when it was called. + + :return: The warning message. + """ + if instance is None: + if inspect.isclass(wrapped): + fmt = "Call to deprecated class {name}." + else: + fmt = "Call to deprecated function (or staticmethod) {name}." + else: + if inspect.isclass(instance): + fmt = "Call to deprecated class method {name}." + else: + fmt = "Call to deprecated method {name}." + if self.reason: + fmt += " ({reason})" + if self.version: + fmt += " -- Deprecated since version {version}." + return fmt.format(name=wrapped.__name__, + reason=self.reason or "", + version=self.version or "") + + def __call__(self, wrapped): + """ + Decorate your class or function. + + :param wrapped: Wrapped class or function. + + :return: the decorated class or function. + + .. versionchanged:: 1.2.4 + Don't pass arguments to :meth:`object.__new__` (other than *cls*). + """ + if inspect.isclass(wrapped): + old_new1 = wrapped.__new__ + + def wrapped_cls(cls, *args, **kwargs): + msg = self.get_deprecated_msg(wrapped, None) + with warnings.catch_warnings(): + warnings.simplefilter(self.action, self.category) + warnings.warn(msg, category=self.category, stacklevel=2) + if old_new1 is object.__new__: + return old_new1(cls) + # actually, we don't know the real signature of *old_new1* + return old_new1(*args, **kwargs) + + wrapped.__new__ = classmethod(wrapped_cls) + + return wrapped + + +def deprecated(*args, **kwargs): + """ + This is a decorator which can be used to mark functions + as deprecated. It will result in a warning being emitted + when the function is used. + + **Classic usage:** + + To use this, decorate your deprecated function with **@deprecated** decorator: + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated + def some_old_function(x, y): + return x + y + + You can also decorate a class or a method: + + .. code-block:: python + + from deprecated import deprecated + + + class SomeClass(object): + @deprecated + def some_old_method(self, x, y): + return x + y + + + @deprecated + class SomeOldClass(object): + pass + + You can give a "reason" message to help the developer to choose another function/class, + and a "version" number to specify the starting version number of the deprecation. + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated(reason="use another function", version='1.2.0') + def some_old_function(x, y): + return x + y + + """ + if args and isinstance(args[0], string_types): + kwargs['reason'] = args[0] + args = args[1:] + + if args and not callable(args[0]): + raise TypeError(repr(type(args[0]))) + + if args: + action = kwargs.get('action', 'always') + category = kwargs.get('category', DeprecationWarning) + adapter_cls = kwargs.pop('adapter_cls', ClassicAdapter) + adapter = adapter_cls(**kwargs) + + wrapped = args[0] + if inspect.isclass(wrapped): + wrapped = adapter(wrapped) + return wrapped + + elif inspect.isroutine(wrapped): + + @wrapt.decorator(adapter=adapter) + def wrapper_function(wrapped_, instance_, args_, kwargs_): + msg = adapter.get_deprecated_msg(wrapped_, instance_) + with warnings.catch_warnings(): + warnings.simplefilter(action, category) + warnings.warn(msg, category=category, stacklevel=2) + return wrapped_(*args_, **kwargs_) + + return wrapper_function(wrapped) + + else: + raise TypeError(repr(type(wrapped))) + + return functools.partial(deprecated, **kwargs) diff --git a/deprecated/sphinx.py b/deprecated/sphinx.py new file mode 100644 index 0000000..4d87f13 --- /dev/null +++ b/deprecated/sphinx.py @@ -0,0 +1,186 @@ +# coding: utf-8 +""" +Sphinx directive integration +============================ + +We usually need to document the life-cycle of functions and classes: +when they are created, modified or deprecated. + +To do that, `Sphinx `_ has a set +of `Paragraph-level markups `_: + +- ``versionadded``: to document the version of the project which added the described feature to the library, +- ``versionchanged``: to document changes of a feature, +- ``deprecated``: to document a deprecated feature. + +The purpose of this module is to defined decorators which adds this Sphinx directives +to the docstring of your function and classes. + +Of course, the ``@deprecated`` decorator will emit a deprecation warning +when the function/method is called or the class is constructed. +""" +import textwrap + +import wrapt + +from deprecated.classic import ClassicAdapter +from deprecated.classic import deprecated as _classic_deprecated + + +class SphinxAdapter(ClassicAdapter): + """ + Sphinx adapter -- *for advanced usage only* + + This adapter override the :class:`~deprecated.classic.ClassicAdapter` + in order to add the Sphinx directives to the end of the function/class docstring. + Such a directive is a `Paragraph-level markup `_ + + - The directive can be one of "versionadded", "versionchanged" or "deprecated". + - The version number is added if provided. + - The reason message is obviously added in the directive block if not empty. + """ + + def __init__(self, directive, reason="", version="", action='always', category=DeprecationWarning): + """ + Construct a wrapper adapter. + + :type directive: str + :param directive: + Sphinx directive: can be one of "versionadded", "versionchanged" or "deprecated". + + :type reason: str + :param reason: + Reason message which documents the deprecation in your library (can be omitted). + + :type version: str + :param version: + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type action: str + :param action: + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + By default the deprecation warning is always emitted (the value is "always"). + + :type category: type + :param category: + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + """ + self.directive = directive + super(SphinxAdapter, self).__init__(reason=reason, version=version, action=action, category=category) + + def __call__(self, wrapped): + """ + Add the Sphinx directive to your class or function. + + :param wrapped: Wrapped class or function. + + :return: the decorated class or function. + """ + reason = textwrap.dedent(self.reason).strip() + reason = '\n'.join(textwrap.fill(line, width=70, initial_indent=' ', subsequent_indent=' ') + for line in reason.splitlines()).strip() + docstring = textwrap.dedent(wrapped.__doc__ or "") + if docstring: + docstring += "\n\n" + if self.version: + docstring += ".. {directive}:: {version}\n".format(directive=self.directive, version=self.version) + else: + docstring += ".. {directive}::\n".format(directive=self.directive) + if reason: + docstring += " {reason}\n".format(reason=reason) + wrapped.__doc__ = docstring + return super(SphinxAdapter, self).__call__(wrapped) + + +def versionadded(reason="", version=""): + """ + This decorator can be used to insert a "versionadded" directive + in your function/class docstring in order to documents the + version of the project which adds this new functionality in your library. + + :param str reason: + Reason message which documents the addition in your library (can be omitted). + + :param str version: + Version of your project which adds this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH", and, + in the case of a new functionality, the "PATCH" component should be "0". + + :return: the decorated function. + """ + adapter = SphinxAdapter('versionadded', reason=reason, version=version) + + # noinspection PyUnusedLocal + @wrapt.decorator(adapter=adapter) + def wrapper(wrapped, instance, args, kwargs): + return wrapped(*args, **kwargs) + + return wrapper + + +def versionchanged(reason="", version=""): + """ + This decorator can be used to insert a "versionchanged" directive + in your function/class docstring in order to documents the + version of the project which modifies this functionality in your library. + + :param str reason: + Reason message which documents the modification in your library (can be omitted). + + :param str version: + Version of your project which modifies this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :return: the decorated function. + """ + adapter = SphinxAdapter('versionchanged', reason=reason, version=version) + + # noinspection PyUnusedLocal + @wrapt.decorator(adapter=adapter) + def wrapper(wrapped, instance, args, kwargs): + return wrapped(*args, **kwargs) + + return wrapper + + +def deprecated(*args, **kwargs): + """ + This decorator can be used to insert a "deprecated" directive + in your function/class docstring in order to documents the + version of the project which deprecates this functionality in your library. + + Keyword arguments can be: + + - "reason": + Reason message which documents the deprecation in your library (can be omitted). + + - "version": + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + - "action": + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + By default the deprecation warning is always emitted (the value is "always"). + + - "category": + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + + :return: the decorated function. + """ + directive = kwargs.pop('directive', 'deprecated') + adapter_cls = kwargs.pop('adapter_cls', SphinxAdapter) + return _classic_deprecated(*args, + directive=directive, + adapter_cls=adapter_cls, + **kwargs) diff --git a/gist.py b/gist.py index 5650ea3..8732599 100755 --- a/gist.py +++ b/gist.py @@ -10,7 +10,7 @@ from workflow import Workflow, web from workflow.background import run_in_background, is_running -__version__ = '0.7' +__version__ = '0.8' def create_workflow(): @@ -28,7 +28,7 @@ def get_github_token(wf): def set_github_token(wf, token): - wf.set_password("GitHub-gist-alfred-token", token) + wf.save_password("GitHub-gist-alfred-token", token) wf.send_feedback() @@ -60,7 +60,7 @@ def main(wf): try: get_github_token(wf) except workflow.PasswordNotFound: - wf.add_item("Set a GitHub token with 'gist_set '", icon="icons/error.png") + wf.add_item("Set a GitHub token with 'gg_set '", icon="icons/error.png") wf.send_feedback() sys.exit() diff --git a/github/AuthenticatedUser.py b/github/AuthenticatedUser.py index 760a264..f569b38 100644 --- a/github/AuthenticatedUser.py +++ b/github/AuthenticatedUser.py @@ -1,15 +1,29 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Steve English # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # +# Copyright 2013 Cameron White # # Copyright 2013 Vincent Jacques # +# Copyright 2013 poulp # +# Copyright 2014 Tomas Radej # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 E. Dunham # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Balázs Rostás # +# Copyright 2017 Jannis Gebauer # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 bryanhuntesl <31992054+bryanhuntesl@users.noreply.github.com> # +# Copyright 2018 sfdye # +# Copyright 2018 itsbruce # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +38,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import datetime @@ -41,12 +55,15 @@ import github.Event import github.Authorization import github.Notification +import github.Migration + +import Consts class AuthenticatedUser(github.GithubObject.CompletableGithubObject): """ - This class represents AuthenticatedUsers as returned for example by http://developer.github.com/v3/todo - + This class represents AuthenticatedUsers as returned by https://developer.github.com/v3/users/#get-the-authenticated-user + An AuthenticatedUser object can be created by calling ``get_user()`` on a Github object. """ @@ -221,6 +238,14 @@ def name(self): self._completeIfNotSet(self._name) return self._name.value + @property + def node_id(self): + """ + :type: string + """ + self._completeIfNotSet(self._node_id) + return self._node_id.value + @property def organizations_url(self): """ @@ -393,14 +418,15 @@ def add_to_subscriptions(self, subscription): def add_to_watched(self, watched): """ - :calls: `PUT /user/watched/:owner/:repo `_ + :calls: `PUT /repos/:owner/:repo/subscription `_ :param watched: :class:`github.Repository.Repository` :rtype: None """ assert isinstance(watched, github.Repository.Repository), watched headers, data = self._requester.requestJsonAndCheck( "PUT", - "/user/watched/" + watched._identity + "/repos/" + watched._identity + "/subscription", + input={"subscribed": True} ) def create_authorization(self, scopes=github.GithubObject.NotSet, note=github.GithubObject.NotSet, note_url=github.GithubObject.NotSet, client_id=github.GithubObject.NotSet, client_secret=github.GithubObject.NotSet, onetime_password=None): @@ -432,7 +458,7 @@ def create_authorization(self, scopes=github.GithubObject.NotSet, note=github.Gi if client_secret is not github.GithubObject.NotSet: post_parameters["client_secret"] = client_secret if onetime_password is not None: - request_header = {'X-GitHub-OTP': onetime_password} # pragma no cover (Should be covered) + request_header = {Consts.headerOTP: onetime_password} # pragma no cover (Should be covered) else: request_header = None headers, data = self._requester.requestJsonAndCheck( @@ -469,7 +495,7 @@ def create_gist(self, public, files, description=github.GithubObject.NotSet): assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description post_parameters = { "public": public, - "files": dict((key, value._identity) for key, value in files.iteritems()), + "files": {key: value._identity for key, value in files.iteritems()}, } if description is not github.GithubObject.NotSet: post_parameters["description"] = description @@ -500,7 +526,12 @@ def create_key(self, title, key): ) return github.UserKey.UserKey(self._requester, headers, data, completed=True) - def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, auto_init=github.GithubObject.NotSet, gitignore_template=github.GithubObject.NotSet): + def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, + private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, + has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, + has_projects=github.GithubObject.NotSet, auto_init=github.GithubObject.NotSet, license_template=github.GithubObject.NotSet, + gitignore_template=github.GithubObject.NotSet, allow_squash_merge=github.GithubObject.NotSet, + allow_merge_commit=github.GithubObject.NotSet, allow_rebase_merge=github.GithubObject.NotSet): """ :calls: `POST /user/repos `_ :param name: string @@ -510,8 +541,13 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git :param has_issues: bool :param has_wiki: bool :param has_downloads: bool + :param has_projects: bool :param auto_init: bool + :param license_template: string :param gitignore_template: string + :param allow_squash_merge: bool + :param allow_merge_commit: bool + :param allow_rebase_merge: bool :rtype: :class:`github.Repository.Repository` """ assert isinstance(name, (str, unicode)), name @@ -521,8 +557,13 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git assert has_issues is github.GithubObject.NotSet or isinstance(has_issues, bool), has_issues assert has_wiki is github.GithubObject.NotSet or isinstance(has_wiki, bool), has_wiki assert has_downloads is github.GithubObject.NotSet or isinstance(has_downloads, bool), has_downloads + assert has_projects is github.GithubObject.NotSet or isinstance(has_projects, bool), has_projects assert auto_init is github.GithubObject.NotSet or isinstance(auto_init, bool), auto_init + assert license_template is github.GithubObject.NotSet or isinstance(license_template, (str, unicode)), license_template assert gitignore_template is github.GithubObject.NotSet or isinstance(gitignore_template, (str, unicode)), gitignore_template + assert allow_squash_merge is github.GithubObject.NotSet or isinstance(allow_squash_merge, bool), allow_squash_merge + assert allow_merge_commit is github.GithubObject.NotSet or isinstance(allow_merge_commit, bool), allow_merge_commit + assert allow_rebase_merge is github.GithubObject.NotSet or isinstance(allow_rebase_merge, bool), allow_rebase_merge post_parameters = { "name": name, } @@ -538,10 +579,20 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git post_parameters["has_wiki"] = has_wiki if has_downloads is not github.GithubObject.NotSet: post_parameters["has_downloads"] = has_downloads + if has_projects is not github.GithubObject.NotSet: + post_parameters["has_projects"] = has_projects if auto_init is not github.GithubObject.NotSet: post_parameters["auto_init"] = auto_init + if license_template is not github.GithubObject.NotSet: + post_parameters["license_template"] = license_template if gitignore_template is not github.GithubObject.NotSet: post_parameters["gitignore_template"] = gitignore_template + if allow_squash_merge is not github.GithubObject.NotSet: + post_parameters["allow_squash_merge"] = allow_squash_merge + if allow_merge_commit is not github.GithubObject.NotSet: + post_parameters["allow_merge_commit"] = allow_merge_commit + if allow_rebase_merge is not github.GithubObject.NotSet: + post_parameters["allow_rebase_merge"] = allow_rebase_merge headers, data = self._requester.requestJsonAndCheck( "POST", "/user/repos", @@ -662,16 +713,21 @@ def get_following(self): None ) - def get_gists(self): + def get_gists(self, since=github.GithubObject.NotSet): """ :calls: `GET /gists `_ + :param since: datetime.datetime format YYYY-MM-DDTHH:MM:SSZ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Gist.Gist` """ + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + url_parameters = dict() + if since is not github.GithubObject.NotSet: + url_parameters["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") return github.PaginatedList.PaginatedList( github.Gist.Gist, self._requester, "/gists", - None + url_parameters ) def get_issues(self, filter=github.GithubObject.NotSet, state=github.GithubObject.NotSet, labels=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet, since=github.GithubObject.NotSet): @@ -788,23 +844,30 @@ def get_notification(self, id): ) return github.Notification.Notification(self._requester, headers, data, completed=True) - def get_notifications(self, all=github.GithubObject.NotSet, participating=github.GithubObject.NotSet): + def get_notifications(self, all=github.GithubObject.NotSet, participating=github.GithubObject.NotSet, since=github.GithubObject.NotSet, before=github.GithubObject.NotSet): """ :calls: `GET /notifications `_ :param all: bool :param participating: bool + :param since: datetime.datetime + :param before: datetime.datetime :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Notification.Notification` """ assert all is github.GithubObject.NotSet or isinstance(all, bool), all assert participating is github.GithubObject.NotSet or isinstance(participating, bool), participating + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + assert before is github.GithubObject.NotSet or isinstance(before, datetime.datetime), before params = dict() if all is not github.GithubObject.NotSet: params["all"] = all if participating is not github.GithubObject.NotSet: params["participating"] = participating - # TODO: implement parameter "since" + if since is not github.GithubObject.NotSet: + params["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") + if before is not github.GithubObject.NotSet: + params["before"] = before.strftime("%Y-%m-%dT%H:%M:%SZ") return github.PaginatedList.PaginatedList( github.Notification.Notification, @@ -852,18 +915,26 @@ def get_repo(self, name): ) return github.Repository.Repository(self._requester, headers, data, completed=True) - def get_repos(self, type=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet): + def get_repos(self, visibility=github.GithubObject.NotSet, affiliation=github.GithubObject.NotSet, type=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet): """ - :calls: `GET /user/repos `_ + :calls: `GET /user/repos ` + :param visibility: string + :param affiliation: string :param type: string :param sort: string :param direction: string :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` """ + assert visibility is github.GithubObject.NotSet or isinstance(visibility, (str, unicode)), visibility + assert affiliation is github.GithubObject.NotSet or isinstance(affiliation, (str, unicode)), affiliation assert type is github.GithubObject.NotSet or isinstance(type, (str, unicode)), type assert sort is github.GithubObject.NotSet or isinstance(sort, (str, unicode)), sort assert direction is github.GithubObject.NotSet or isinstance(direction, (str, unicode)), direction url_parameters = dict() + if visibility is not github.GithubObject.NotSet: + url_parameters["visibility"] = visibility + if affiliation is not github.GithubObject.NotSet: + url_parameters["affiliation"] = affiliation if type is not github.GithubObject.NotSet: url_parameters["type"] = type if sort is not github.GithubObject.NotSet: @@ -927,13 +998,13 @@ def get_teams(self): def get_watched(self): """ - :calls: `GET /user/watched `_ + :calls: `GET /user/subscriptions `_ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` """ return github.PaginatedList.PaginatedList( github.Repository.Repository, self._requester, - "/user/watched", + "/user/subscriptions", None ) @@ -978,16 +1049,32 @@ def has_in_subscriptions(self, subscription): def has_in_watched(self, watched): """ - :calls: `GET /user/watched/:owner/:repo `_ + :calls: `GET /repos/:owner/:repo/subscription `_ :param watched: :class:`github.Repository.Repository` :rtype: bool """ assert isinstance(watched, github.Repository.Repository), watched status, headers, data = self._requester.requestJson( "GET", - "/user/watched/" + watched._identity + "/repos/" + watched._identity + "/subscription" + ) + return status == 200 + + def mark_notifications_as_read(self, last_read_at=datetime.datetime.utcnow()): + """ + :calls: `PUT /notifications `_ + :param last_read_at: datetime + """ + assert isinstance(last_read_at, datetime.datetime) + put_parameters = { + "last_read_at": last_read_at.strftime('%Y-%m-%dT%H:%M:%SZ') + } + + headers, data = self._requester.requestJsonAndCheck( + "PUT", + "/notifications", + input=put_parameters ) - return status == 204 def remove_from_emails(self, *emails): """ @@ -1041,14 +1128,14 @@ def remove_from_subscriptions(self, subscription): def remove_from_watched(self, watched): """ - :calls: `DELETE /user/watched/:owner/:repo `_ + :calls: `DELETE /repos/:owner/:repo/subscription `_ :param watched: :class:`github.Repository.Repository` :rtype: None """ assert isinstance(watched, github.Repository.Repository), watched headers, data = self._requester.requestJsonAndCheck( "DELETE", - "/user/watched/" + watched._identity + "/repos/" + watched._identity + "/subscription" ) def accept_invitation(self, invitation): @@ -1065,10 +1152,53 @@ def accept_invitation(self, invitation): headers, data = self._requester.requestJsonAndCheck( "PATCH", "/user/repository_invitations/" + str(invitation), - headers={'Accept': 'application/vnd.github.swamp-thing-preview+json'}, input={} ) + def create_migration(self, repos, lock_repositories=github.GithubObject.NotSet, exclude_attachments=github.GithubObject.NotSet): + """ + :calls: `POST /user/migrations`_ + :param repos: list or tuple of str + :param lock_repositories: bool + :param exclude_attachments: bool + :rtype: :class:`github.Migration.Migration` + """ + assert isinstance(repos, (list, tuple)), repos + assert all(isinstance(repo, (str, unicode)) for repo in repos), repos + assert lock_repositories is github.GithubObject.NotSet or isinstance(lock_repositories, bool), lock_repositories + assert exclude_attachments is github.GithubObject.NotSet or isinstance(exclude_attachments, bool), exclude_attachments + post_parameters = { + "repositories": repos + } + if lock_repositories is not github.GithubObject.NotSet: + post_parameters["lock_repositories"] = lock_repositories + if exclude_attachments is not github.GithubObject.NotSet: + post_parameters["exclude_attachments"] = exclude_attachments + headers, data = self._requester.requestJsonAndCheck( + "POST", + "/user/migrations", + input=post_parameters, + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + return github.Migration.Migration(self._requester, headers, data, completed=True) + + def get_migrations(self): + """ + :calls: `GET /user/migrations`_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Migration.Migration` + """ + return github.PaginatedList.PaginatedList( + github.Migration.Migration, + self._requester, + "/user/migrations", + None, + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + def _initAttributes(self): self._avatar_url = github.GithubObject.NotSet self._bio = github.GithubObject.NotSet @@ -1091,6 +1221,7 @@ def _initAttributes(self): self._location = github.GithubObject.NotSet self._login = github.GithubObject.NotSet self._name = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet self._organizations_url = github.GithubObject.NotSet self._owned_private_repos = github.GithubObject.NotSet self._plan = github.GithubObject.NotSet @@ -1150,6 +1281,8 @@ def _useAttributes(self, attributes): self._login = self._makeStringAttribute(attributes["login"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) if "organizations_url" in attributes: # pragma no branch self._organizations_url = self._makeStringAttribute(attributes["organizations_url"]) if "owned_private_repos" in attributes: # pragma no branch diff --git a/github/Authorization.py b/github/Authorization.py index 11b4d9b..22c7ad3 100644 --- a/github/Authorization.py +++ b/github/Authorization.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +37,7 @@ class Authorization(github.GithubObject.CompletableGithubObject): """ - This class represents Authorizations as returned for example by http://developer.github.com/v3/todo + This class represents Authorizations. The reference can be found here https://developer.github.com/v3/oauth_authorizations/ """ def __repr__(self): diff --git a/github/AuthorizationApplication.py b/github/AuthorizationApplication.py index 63445fb..c6b9bc5 100644 --- a/github/AuthorizationApplication.py +++ b/github/AuthorizationApplication.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class AuthorizationApplication(github.GithubObject.CompletableGithubObject): """ - This class represents AuthorizationApplications as returned for example by http://developer.github.com/v3/todo + This class represents AuthorizationApplications """ def __repr__(self): diff --git a/github/Branch.py b/github/Branch.py index effc5bf..72d9e8c 100644 --- a/github/Branch.py +++ b/github/Branch.py @@ -1,15 +1,22 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Kyle Hornberg # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,16 +31,20 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject +import github.BranchProtection import github.Commit +import github.RequiredPullRequestReviews +import github.RequiredStatusChecks +import Consts class Branch(github.GithubObject.NonCompletableGithubObject): """ - This class represents Branchs. The reference can be found here http://developer.github.com/v3/repos/#list-branches + This class represents Branches. The reference can be found here https://developer.github.com/v3/repos/branches """ def __repr__(self): @@ -61,29 +72,333 @@ def protected(self): return self._protected.value @property - def enforcement_level(self): + def protection_url(self): """ :type: string """ - return self._enforcement_level.value - - @property - def contexts(self): - """ - :type: list of strings - """ - return self._contexts.value + return self._protection_url.value def _initAttributes(self): self._commit = github.GithubObject.NotSet self._name = github.GithubObject.NotSet + self._protection_url = github.GithubObject.NotSet + self._protected = github.GithubObject.NotSet def _useAttributes(self, attributes): if "commit" in attributes: # pragma no branch self._commit = self._makeClassAttribute(github.Commit.Commit, attributes["commit"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) - if "protection" in attributes: - self._protected = self._makeBoolAttribute(attributes["protection"]["enabled"]) - self._enforcement_level = self._makeStringAttribute(attributes["protection"]["required_status_checks"]["enforcement_level"]) - self._contexts = self._makeListOfStringsAttribute(attributes["protection"]["required_status_checks"]["contexts"]) + if "protection_url" in attributes: # pragma no branch + self._protection_url = self._makeStringAttribute(attributes["protection_url"]) + if "protected" in attributes: # pragma no branch + self._protected = self._makeBoolAttribute(attributes["protected"]) + + def get_protection(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.protection_url, + headers={'Accept': Consts.mediaTypeRequireMultipleApprovingReviews} + ) + return github.BranchProtection.BranchProtection(self._requester, headers, data, completed=True) + + def edit_protection(self, strict=github.GithubObject.NotSet, contexts=github.GithubObject.NotSet, enforce_admins=github.GithubObject.NotSet, dismissal_users=github.GithubObject.NotSet, dismissal_teams=github.GithubObject.NotSet, dismiss_stale_reviews=github.GithubObject.NotSet, require_code_owner_reviews=github.GithubObject.NotSet, required_approving_review_count=github.GithubObject.NotSet, user_push_restrictions=github.GithubObject.NotSet, team_push_restrictions=github.GithubObject.NotSet): + """ + :calls: `PUT /repos/:owner/:repo/branches/:branch/protection `_ + :strict: bool + :contexts: list of strings + :enforce_admins: bool + :dismissal_users: list of strings + :dismissal_teams: list of strings + :dismiss_stale_reviews: bool + :require_code_owner_reviews: bool + :required_approving_review_count: int + :user_push_restrictions: list of strings + :team_push_restrictions: list of strings + + NOTE: The GitHub API groups strict and contexts together, both must + be submitted. Take care to pass both as arguments even if only one is + changing. Use edit_required_status_checks() to avoid this. + """ + assert strict is github.GithubObject.NotSet or isinstance(strict, bool), strict + assert contexts is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in contexts), contexts + assert enforce_admins is github.GithubObject.NotSet or isinstance(enforce_admins, bool), enforce_admins + assert dismissal_users is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in dismissal_users), dismissal_users + assert dismissal_teams is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in dismissal_teams), dismissal_teams + assert dismiss_stale_reviews is github.GithubObject.NotSet or isinstance(dismiss_stale_reviews, bool), dismiss_stale_reviews + assert require_code_owner_reviews is github.GithubObject.NotSet or isinstance(require_code_owner_reviews, bool), require_code_owner_reviews + assert required_approving_review_count is github.GithubObject.NotSet or isinstance(required_approving_review_count, int), required_approving_review_count + + post_parameters = {} + if strict is not github.GithubObject.NotSet or contexts is not github.GithubObject.NotSet: + if strict is github.GithubObject.NotSet: + strict = False + if contexts is github.GithubObject.NotSet: + contexts = [] + post_parameters["required_status_checks"] = {"strict": strict, "contexts": contexts} + else: + post_parameters["required_status_checks"] = None + + if enforce_admins is not github.GithubObject.NotSet: + post_parameters["enforce_admins"] = enforce_admins + else: + post_parameters["enforce_admins"] = None + + if dismissal_users is not github.GithubObject.NotSet or dismissal_teams is not github.GithubObject.NotSet or dismiss_stale_reviews is not github.GithubObject.NotSet or require_code_owner_reviews is not github.GithubObject.NotSet or required_approving_review_count is not github.GithubObject.NotSet: + post_parameters["required_pull_request_reviews"] = {} + if dismiss_stale_reviews is not github.GithubObject.NotSet: + post_parameters["required_pull_request_reviews"]["dismiss_stale_reviews"] = dismiss_stale_reviews + if require_code_owner_reviews is not github.GithubObject.NotSet: + post_parameters["required_pull_request_reviews"]["require_code_owner_reviews"] = require_code_owner_reviews + if required_approving_review_count is not github.GithubObject.NotSet: + post_parameters["required_pull_request_reviews"]["required_approving_review_count"] = required_approving_review_count + if dismissal_users is not github.GithubObject.NotSet: + post_parameters["required_pull_request_reviews"]["dismissal_restrictions"] = {"users": dismissal_users} + if dismissal_teams is not github.GithubObject.NotSet: + if "dismissal_restrictions" not in post_parameters["required_pull_request_reviews"]: + post_parameters["required_pull_request_reviews"]["dismissal_restrictions"] = {} + post_parameters["required_pull_request_reviews"]["dismissal_restrictions"]["teams"] = dismissal_teams + else: + post_parameters["required_pull_request_reviews"] = None + if user_push_restrictions is not github.GithubObject.NotSet or team_push_restrictions is not github.GithubObject.NotSet: + if user_push_restrictions is github.GithubObject.NotSet: + user_push_restrictions = [] + if team_push_restrictions is github.GithubObject.NotSet: + team_push_restrictions = [] + post_parameters["restrictions"] = {"users": user_push_restrictions, "teams": team_push_restrictions} + else: + post_parameters["restrictions"] = None + + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.protection_url, + headers={'Accept': Consts.mediaTypeRequireMultipleApprovingReviews}, + input=post_parameters + ) + + def remove_protection(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url, + ) + + def get_required_status_checks(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks `_ + :rtype: :class:`github.RequiredStatusChecks.RequiredStatusChecks` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.protection_url + "/required_status_checks" + ) + return github.RequiredStatusChecks.RequiredStatusChecks(self._requester, headers, data, completed=True) + + def edit_required_status_checks(self, strict=github.GithubObject.NotSet, contexts=github.GithubObject.NotSet): + """ + :calls: `PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks `_ + :strict: bool + :contexts: list of strings + """ + assert strict is github.GithubObject.NotSet or isinstance(strict, bool), strict + assert contexts is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in contexts), contexts + + post_parameters = {} + if strict is not github.GithubObject.NotSet: + post_parameters["strict"] = strict + if contexts is not github.GithubObject.NotSet: + post_parameters["contexts"] = contexts + headers, data = self._requester.requestJsonAndCheck( + "PATCH", + self.protection_url + "/required_status_checks", + input=post_parameters + ) + + def remove_required_status_checks(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url + "/required_status_checks" + ) + + def get_required_pull_request_reviews(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews `_ + :rtype: :class:`github.RequiredPullRequestReviews.RequiredPullRequestReviews` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.protection_url + "/required_pull_request_reviews", + headers={'Accept': Consts.mediaTypeRequireMultipleApprovingReviews} + ) + return github.RequiredPullRequestReviews.RequiredPullRequestReviews(self._requester, headers, data, completed=True) + + def edit_required_pull_request_reviews(self, dismissal_users=github.GithubObject.NotSet, dismissal_teams=github.GithubObject.NotSet, dismiss_stale_reviews=github.GithubObject.NotSet, require_code_owner_reviews=github.GithubObject.NotSet, required_approving_review_count=github.GithubObject.NotSet): + """ + :calls: `PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews `_ + :dismissal_users: list of strings + :dismissal_teams: list of strings + :dismiss_stale_reviews: bool + :require_code_owner_reviews: bool + :required_approving_review_count: int + """ + assert dismissal_users is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in dismissal_users), dismissal_users + assert dismissal_teams is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in dismissal_teams), dismissal_teams + assert dismiss_stale_reviews is github.GithubObject.NotSet or isinstance(dismiss_stale_reviews, bool), dismiss_stale_reviews + assert require_code_owner_reviews is github.GithubObject.NotSet or isinstance(require_code_owner_reviews, bool), require_code_owner_reviews + assert required_approving_review_count is github.GithubObject.NotSet or isinstance(required_approving_review_count, int), required_approving_review_count + + post_parameters = {} + if dismissal_users is not github.GithubObject.NotSet: + post_parameters["dismissal_restrictions"] = {"users": dismissal_users} + if dismissal_teams is not github.GithubObject.NotSet: + if "dismissal_restrictions" not in post_parameters: + post_parameters["dismissal_restrictions"] = {} + post_parameters["dismissal_restrictions"]["teams"] = dismissal_teams + if dismiss_stale_reviews is not github.GithubObject.NotSet: + post_parameters["dismiss_stale_reviews"] = dismiss_stale_reviews + if require_code_owner_reviews is not github.GithubObject.NotSet: + post_parameters["require_code_owner_reviews"] = require_code_owner_reviews + if required_approving_review_count is not github.GithubObject.NotSet: + post_parameters["required_approving_review_count"] = required_approving_review_count + headers, data = self._requester.requestJsonAndCheck( + "PATCH", + self.protection_url + "/required_pull_request_reviews", + headers={'Accept': Consts.mediaTypeRequireMultipleApprovingReviews}, + input=post_parameters + ) + + def remove_required_pull_request_reviews(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url + "/required_pull_request_reviews" + ) + + def get_admin_enforcement(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins `_ + :rtype: bool + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.protection_url + "/enforce_admins" + ) + return data["enabled"] + + def set_admin_enforcement(self): + """ + :calls: `POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.protection_url + "/enforce_admins" + ) + + def remove_admin_enforcement(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url + "/enforce_admins" + ) + + def get_user_push_restrictions(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` + """ + return github.PaginatedList.PaginatedList( + github.NamedUser.NamedUser, + self._requester, + self.protection_url + "/restrictions/users", + None + ) + + def get_team_push_restrictions(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Team.Team` + """ + return github.PaginatedList.PaginatedList( + github.Team.Team, + self._requester, + self.protection_url + "/restrictions/teams", + None + ) + + def edit_user_push_restrictions(self, *users): + """ + :calls: `POST /repos/:owner/:repo/branches/:branch/protection/restrictions `_ + :users: list of strings + """ + assert all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in users), users + + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.protection_url + "/restrictions/users", + input=users + ) + + def edit_team_push_restrictions(self, *teams): + """ + :calls: `POST /repos/:owner/:repo/branches/:branch/protection/restrictions `_ + :teams: list of strings + """ + assert all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in teams), teams + + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.protection_url + "/restrictions/teams", + input=teams + ) + + def remove_push_restrictions(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url + "/restrictions" + ) + + def get_required_signatures(self): + """ + :calls: `GET /repos/:owner/:repo/branches/:branch/protection/required_signatures ` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.protection_url + "/required_signatures", + headers={'Accept': Consts.signaturesProtectedBranchesPreview} + ) + return data["enabled"] + + def add_required_signatures(self): + """ + :calls: `POST /repos/:owner/:repo/branches/:branch/protection/required_signatures ` + """ + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.protection_url + "/required_signatures", + headers={'Accept': Consts.signaturesProtectedBranchesPreview} + ) + + def remove_required_signatures(self): + """ + :calls: `DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures ` + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.protection_url + "/required_signatures", + headers={'Accept': Consts.signaturesProtectedBranchesPreview} + ) diff --git a/github/BranchProtection.py b/github/BranchProtection.py new file mode 100644 index 0000000..cf48147 --- /dev/null +++ b/github/BranchProtection.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Steve Kowalik # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + +import github.NamedUser +import github.RequiredPullRequestReviews +import github.RequiredStatusChecks +import github.Team + + +class BranchProtection(github.GithubObject.CompletableGithubObject): + """ + This class represents Branch Protection. The reference can be found here https://developer.github.com/v3/repos/branches/#get-branch-protection + """ + + def __repr__(self): + return self.get__repr__({"url": self._url.value}) + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def required_status_checks(self): + """ + :type: :class:`github.RequiredStatusChecks.RequiredStatusChecks` + """ + self._completeIfNotSet(self._required_status_checks) + return self._required_status_checks.value + + @property + def enforce_admins(self): + """ + :type: bool + """ + self._completeIfNotSet(self._enforce_admins) + return self._enforce_admins.value + + @property + def required_pull_request_reviews(self): + """ + :type: :class:`github.RequiredPullRequestReviews.RequiredPullRequestReviews` + """ + self._completeIfNotSet(self._required_pull_request_reviews) + return self._required_pull_request_reviews.value + + def get_user_push_restrictions(self): + """ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` + """ + if self._user_push_restrictions is github.GithubObject.NotSet: + return None + return github.PaginatedList.PaginatedList( + github.NamedUser.NamedUser, + self._requester, + self._user_push_restrictions, + None + ) + + def get_team_push_restrictions(self): + """ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Team.Team` + """ + if self._team_push_restrictions is github.GithubObject.NotSet: + return None + return github.PaginatedList.PaginatedList( + github.Team.Team, + self._requester, + self._team_push_restrictions, + None + ) + + def _initAttributes(self): + self._url = github.GithubObject.NotSet + self._required_status_checks = github.GithubObject.NotSet + self._enforce_admins = github.GithubObject.NotSet + self._required_pull_request_reviews = github.GithubObject.NotSet + self._user_push_restrictions = github.GithubObject.NotSet + self._team_push_restrictions = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) + if "required_status_checks" in attributes: # pragma no branch + self._required_status_checks = self._makeClassAttribute(github.RequiredStatusChecks.RequiredStatusChecks, attributes["required_status_checks"]) + if "enforce_admins" in attributes: # pragma no branch + self._enforce_admins = self._makeBoolAttribute(attributes["enforce_admins"]["enabled"]) + if "required_pull_request_reviews" in attributes: # pragma no branch + self._required_pull_request_reviews = self._makeClassAttribute(github.RequiredPullRequestReviews.RequiredPullRequestReviews, attributes["required_pull_request_reviews"]) + if "restrictions" in attributes: # pragma no branch + self._user_push_restrictions = attributes["restrictions"]["users_url"] + self._team_push_restrictions = attributes["restrictions"]["teams_url"] diff --git a/github/Clones.py b/github/Clones.py new file mode 100644 index 0000000..b8c1adc --- /dev/null +++ b/github/Clones.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Justin Kufro # +# Copyright 2018 Ivan Minno # +# Copyright 2018 Zilei Gu # +# Copyright 2018 Yves Zumbach # +# Copyright 2018 Leying Chen # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class Clones(github.GithubObject.NonCompletableGithubObject): + """ + This class represents a popular Path for a GitHub repository. + The reference can be found here https://developer.github.com/v3/repos/traffic/ + """ + + def __repr__(self): + return self.get__repr__({ + "timestamp": self._timestamp.value, + "count": self._count.value, + "uniques": self._uniques.value + }) + + @property + def timestamp(self): + """ + :type: datetime.datetime + """ + return self._timestamp.value + + @property + def count(self): + """ + :type: integer + """ + return self._count.value + + @property + def uniques(self): + """ + :type: integer + """ + return self._uniques.value + + def _initAttributes(self): + self._timestamp = github.GithubObject.NotSet + self._count = github.GithubObject.NotSet + self._uniques = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "timestamp" in attributes: # pragma no branch + self._timestamp = self._makeDatetimeAttribute(attributes["timestamp"]) + if "count" in attributes: # pragma no branch + self._count = self._makeIntAttribute(attributes["count"]) + if "uniques" in attributes: # pragma no branch + self._uniques = self._makeIntAttribute(attributes["uniques"]) diff --git a/github/Commit.py b/github/Commit.py index b84dfab..fb6afa2 100644 --- a/github/Commit.py +++ b/github/Commit.py @@ -1,15 +1,21 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Andy Casey # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 John Eskew # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +30,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import github.PaginatedList diff --git a/github/CommitCombinedStatus.py b/github/CommitCombinedStatus.py index c2ef296..9cf21dc 100644 --- a/github/CommitCombinedStatus.py +++ b/github/CommitCombinedStatus.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 John Eskew # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +24,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +34,7 @@ class CommitCombinedStatus(github.GithubObject.NonCompletableGithubObject): """ - This class represents CommitCombinedStatus as returned for example by https://developer.github.com/v3/repos/statuses/ + This class represents CommitCombinedStatuses. The reference can be found here https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref """ def __repr__(self): diff --git a/github/CommitComment.py b/github/CommitComment.py index c338100..d5224a1 100644 --- a/github/CommitComment.py +++ b/github/CommitComment.py @@ -1,14 +1,21 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Nicolas Agustín Torres # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 per1234 # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,16 +30,17 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject - import github.NamedUser +import Consts + class CommitComment(github.GithubObject.CompletableGithubObject): """ - This class represents CommitComments as returned for example by http://developer.github.com/v3/todo + This class represents CommitComments. The reference can be found here https://developer.github.com/v3/repos/comments/ """ def __repr__(self): @@ -153,6 +161,42 @@ def edit(self, body): ) self._useAttributes(data) + def get_reactions(self): + """ + :calls: `GET /repos/:owner/:repo/comments/:id/reactions + `_ + :return: :class: :class:`github.PaginatedList.PaginatedList` of :class:`github.Reaction.Reaction` + """ + return github.PaginatedList.PaginatedList( + github.Reaction.Reaction, + self._requester, + self.url + "/reactions", + None, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + + def create_reaction(self, reaction_type): + """ + :calls: `POST /repos/:owner/:repo/comments/:id/reactions + `_ + :param reaction_type: string + :rtype: :class:`github.Reaction.Reaction` + """ + assert isinstance(reaction_type, (str, unicode)), "reaction type should be a string" + assert reaction_type in ["+1", "-1", "laugh", "confused", "heart", "hooray"], \ + "Invalid reaction type (https://developer.github.com/v3/reactions/#reaction-types)" + + post_parameters = { + "content": reaction_type, + } + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/reactions", + input=post_parameters, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + return github.Reaction.Reaction(self._requester, headers, data, completed=True) + def _initAttributes(self): self._body = github.GithubObject.NotSet self._commit_id = github.GithubObject.NotSet diff --git a/github/CommitStats.py b/github/CommitStats.py index d8a2a3c..e98fb21 100644 --- a/github/CommitStats.py +++ b/github/CommitStats.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +27,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class CommitStats(github.GithubObject.NonCompletableGithubObject): """ - This class represents CommitStatss as returned for example by http://developer.github.com/v3/todo + This class represents CommitStatses. """ @property diff --git a/github/CommitStatus.py b/github/CommitStatus.py index ff43d69..2fa5d58 100644 --- a/github/CommitStatus.py +++ b/github/CommitStatus.py @@ -1,14 +1,21 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Matt Babineau # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Martijn Koster # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +30,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +39,7 @@ class CommitStatus(github.GithubObject.NonCompletableGithubObject): """ - This class represents CommitStatuss as returned for example by https://developer.github.com/v3/repos/statuses/ + This class represents CommitStatuses.The reference can be found here https://developer.github.com/v3/repos/statuses/ """ def __repr__(self): diff --git a/github/Comparison.py b/github/Comparison.py index bee42c7..22d01be 100644 --- a/github/Comparison.py +++ b/github/Comparison.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +27,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +37,7 @@ class Comparison(github.GithubObject.CompletableGithubObject): """ - This class represents Comparisons as returned for example by http://developer.github.com/v3/todo + This class represents Comparisons """ @property diff --git a/github/Consts.py b/github/Consts.py index 2c1a169..93fcd5b 100644 --- a/github/Consts.py +++ b/github/Consts.py @@ -1,12 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jakub Wilk # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Maarten Fonville # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -21,21 +27,12 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## - -# #193: Line endings should be linux style +################################################################################ -# TODO: As of Thu Aug 21 22:40:13 (BJT) Chinese Standard Time 2013 -# lots of consts in this project are explict -# should realy round them up and reference them by consts -# EDIT: well, maybe :-) -# ############################################################################## -# Request Header # -# (Case sensitive) # -# ############################################################################## REQ_IF_NONE_MATCH = "If-None-Match" REQ_IF_MODIFIED_SINCE = "If-Modified-Since" +PROCESSING_202_WAIT_TIME = 2 # ############################################################################## # Response Header # @@ -43,3 +40,62 @@ # ############################################################################## RES_ETAG = "etag" RES_LAST_MODIFIED = "last-modified" + +# Inspired by https://github.com/google/go-github + +# Headers + +headerRateLimit = "x-ratelimit-limit" +headerRateRemaining = "x-ratelimit-remaining" +headerRateReset = "x-ratelimit-reset" +headerOAuthScopes = "x-oauth-scopes" +headerOTP = "X-GitHub-OTP" + +defaultMediaType = "application/octet-stream" + +# Custom media type for preview API + +# https://developer.github.com/changes/2014-12-09-new-attributes-for-stars-api/ +mediaTypeStarringPreview = "application/vnd.github.v3.star+json" + +# https://developer.github.com/changes/2016-02-19-source-import-preview-api/ +mediaTypeImportPreview = "application/vnd.github.barred-rock-preview" + +# https://developer.github.com/changes/2016-05-12-reactions-api-preview/ +mediaTypeReactionsPreview = "application/vnd.github.squirrel-girl-preview" + +# https://developer.github.com/changes/2016-09-14-Integrations-Early-Access/ +mediaTypeIntegrationPreview = "application/vnd.github.machine-man-preview+json" + +# https://developer.github.com/changes/2016-09-14-projects-api/ +mediaTypeProjectsPreview = "application/vnd.github.inertia-preview+json" + +# https://developer.github.com/changes/2017-01-05-commit-search-api/ +mediaTypeCommitSearchPreview = "application/vnd.github.cloak-preview" + +# https://developer.github.com/changes/2017-02-28-user-blocking-apis-and-webhook/ +mediaTypeBlockUsersPreview = "application/vnd.github.giant-sentry-fist-preview+json" + +# https://developer.github.com/changes/2017-07-17-update-topics-on-repositories/ +mediaTypeTopicsPreview = "application/vnd.github.mercy-preview+json" + +# https://developer.github.com/changes/2018-02-22-label-description-search-preview/ +mediaTypeLabelDescriptionSearchPreview = "application/vnd.github.symmetra-preview+json" + +# https://developer.github.com/changes/2018-01-10-lock-reason-api-preview/ +mediaTypeLockReasonPreview = "application/vnd.github.sailor-v-preview+json" + +# https://developer.github.com/changes/2018-01-25-organization-invitation-api-preview/ +mediaTypeOrganizationInvitationPreview = "application/vnd.github.dazzler-preview+json" + +# https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews/ +mediaTypeRequireMultipleApprovingReviews = "application/vnd.github.luke-cage-preview+json" + +# https://developer.github.com/changes/2018-05-24-user-migration-api/ +mediaTypeMigrationPreview = "application/vnd.github.wyandotte-preview+json" + +# https://developer.github.com/v3/search/#highlighting-code-search-results-1 +highLightSearchPreview = "application/vnd.github.v3.text-match+json" + +# https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures/ +signaturesProtectedBranchesPreview = "application/vnd.github.zzzax-preview+json" diff --git a/github/ContentFile.py b/github/ContentFile.py index 2f69946..e597a09 100644 --- a/github/ContentFile.py +++ b/github/ContentFile.py @@ -1,14 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Thialfihar # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +29,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import base64 import sys @@ -37,7 +43,7 @@ class ContentFile(github.GithubObject.CompletableGithubObject): """ - This class represents ContentFiles as returned for example by http://developer.github.com/v3/todo + This class represents ContentFiles. The reference can be found here https://developer.github.com/v3/repos/contents/#get-contents """ def __repr__(self): @@ -60,6 +66,14 @@ def decoded_content(self): content = self.content return base64.b64decode(content) + @property + def download_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._download_url) + return self._download_url.value + @property def encoding(self): """ @@ -84,6 +98,14 @@ def html_url(self): self._completeIfNotSet(self._html_url) return self._html_url.value + @property + def license(self): + """ + :type: :class:`github.License.License` + """ + self._completeIfNotSet(self._license) + return self._license.value + @property def name(self): """ @@ -143,11 +165,22 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + @property + def text_matches(self): + """ + :type: string + """ + self._completeIfNotSet(self._text_matches) + return self._text_matches.value + def _initAttributes(self): self._content = github.GithubObject.NotSet + self._text_matches = github.GithubObject.NotSet self._encoding = github.GithubObject.NotSet + self._download_url = github.GithubObject.NotSet self._git_url = github.GithubObject.NotSet self._html_url = github.GithubObject.NotSet + self._license = github.GithubObject.NotSet self._name = github.GithubObject.NotSet self._path = github.GithubObject.NotSet self._repository = github.GithubObject.NotSet @@ -158,12 +191,16 @@ def _initAttributes(self): def _useAttributes(self, attributes): if "content" in attributes: # pragma no branch self._content = self._makeStringAttribute(attributes["content"]) + if "download_url" in attributes: # pragma no branch + self._download_url = self._makeStringAttribute(attributes["download_url"]) if "encoding" in attributes: # pragma no branch self._encoding = self._makeStringAttribute(attributes["encoding"]) if "git_url" in attributes: # pragma no branch self._git_url = self._makeStringAttribute(attributes["git_url"]) if "html_url" in attributes: # pragma no branch self._html_url = self._makeStringAttribute(attributes["html_url"]) + if "license" in attributes: # pragma no branch + self._license = self._makeClassAttribute(github.License.License, attributes["license"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) if "path" in attributes: # pragma no branch @@ -178,3 +215,5 @@ def _useAttributes(self, attributes): self._type = self._makeStringAttribute(attributes["type"]) if "url" in attributes: # pragma no branch self._url = self._makeStringAttribute(attributes["url"]) + if "text_matches" in attributes: # pragma no branch + self._text_matches = self._makeListOfDictsAttribute(attributes["text_matches"]) diff --git a/github/Download.py b/github/Download.py index 49acc48..7e31593 100644 --- a/github/Download.py +++ b/github/Download.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class Download(github.GithubObject.CompletableGithubObject): """ - This class represents Downloads as returned for example by http://developer.github.com/v3/todo + This class represents Downloads. The reference can be found here https://developer.github.com/v3/repos/downloads/ """ def __repr__(self): diff --git a/github/Event.py b/github/Event.py index a769a23..5b9fb9a 100644 --- a/github/Event.py +++ b/github/Event.py @@ -1,15 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject diff --git a/github/File.py b/github/File.py index d03efd3..a07baaf 100644 --- a/github/File.py +++ b/github/File.py @@ -1,14 +1,21 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Jeffrey Melvin # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +30,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class File(github.GithubObject.NonCompletableGithubObject): """ - This class represents Files as returned for example by http://developer.github.com/v3/todo + This class represents Files """ def __repr__(self): @@ -141,7 +148,7 @@ def _useAttributes(self, attributes): self._filename = self._makeStringAttribute(attributes["filename"]) if "patch" in attributes: # pragma no branch self._patch = self._makeStringAttribute(attributes["patch"]) - if "previous_filename" in attributes: # pragma no branch + if "previous_filename" in attributes: # pragma no branch self._previous_filename = self._makeStringAttribute(attributes["previous_filename"]) if "raw_url" in attributes: # pragma no branch self._raw_url = self._makeStringAttribute(attributes["raw_url"]) diff --git a/github/Gist.py b/github/Gist.py index 8d75e1e..0164ded 100644 --- a/github/Gist.py +++ b/github/Gist.py @@ -1,15 +1,22 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Steve English # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Dale Jung # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # +# Copyright 2018 羽 # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +31,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import github.PaginatedList @@ -37,7 +44,7 @@ class Gist(github.GithubObject.CompletableGithubObject): """ - This class represents Gists as returned for example by http://developer.github.com/v3/todo + This class represents Gists. The reference can be found here https://developer.github.com/v3/gists/ """ def __repr__(self): @@ -88,7 +95,7 @@ def files(self): """ :type: dict of string to :class:`github.GistFile.GistFile` """ - self._completeIfNotSet(self._files) + self._completeIfNeeded() return self._files.value @property @@ -246,7 +253,7 @@ def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject if description is not github.GithubObject.NotSet: post_parameters["description"] = description if files is not github.GithubObject.NotSet: - post_parameters["files"] = dict((key, None if value is None else value._identity) for key, value in files.iteritems()) + post_parameters["files"] = {key: None if value is None else value._identity for key, value in files.iteritems()} headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, diff --git a/github/GistComment.py b/github/GistComment.py index be1d08f..c62c0e6 100644 --- a/github/GistComment.py +++ b/github/GistComment.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +37,7 @@ class GistComment(github.GithubObject.CompletableGithubObject): """ - This class represents GistComments as returned for example by http://developer.github.com/v3/todo + This class represents GistComments. The reference can be found here https://developer.github.com/v3/gists/comments/ """ def __repr__(self): diff --git a/github/GistFile.py b/github/GistFile.py index 5778acf..c924511 100644 --- a/github/GistFile.py +++ b/github/GistFile.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GistFile(github.GithubObject.NonCompletableGithubObject): """ - This class represents GistFiles as returned for example by http://developer.github.com/v3/todo + This class represents GistFiles """ def __repr__(self): diff --git a/github/GistHistoryState.py b/github/GistHistoryState.py index 137462a..01fc3ad 100644 --- a/github/GistHistoryState.py +++ b/github/GistHistoryState.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +27,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -34,7 +38,7 @@ class GistHistoryState(github.GithubObject.CompletableGithubObject): """ - This class represents GistHistoryStates as returned for example by http://developer.github.com/v3/todo + This class represents GistHistoryStates """ @property diff --git a/github/GitAuthor.py b/github/GitAuthor.py index 324dcc1..d7f5dc8 100644 --- a/github/GitAuthor.py +++ b/github/GitAuthor.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GitAuthor(github.GithubObject.NonCompletableGithubObject): """ - This class represents GitAuthors as returned for example by http://developer.github.com/v3/todo + This class represents GitAuthors """ def __repr__(self): diff --git a/github/GitBlob.py b/github/GitBlob.py index 3de1c6f..2db328d 100644 --- a/github/GitBlob.py +++ b/github/GitBlob.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GitBlob(github.GithubObject.CompletableGithubObject): """ - This class represents GitBlobs as returned for example by http://developer.github.com/v3/todo + This class represents GitBlobs. The reference can be found here https://developer.github.com/v3/git/blobs/ """ def __repr__(self): diff --git a/github/GitCommit.py b/github/GitCommit.py index 9d43d51..92e903a 100644 --- a/github/GitCommit.py +++ b/github/GitCommit.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +38,7 @@ class GitCommit(github.GithubObject.CompletableGithubObject): """ - This class represents GitCommits as returned for example by http://developer.github.com/v3/todo + This class represents GitCommits. The reference can be found here https://developer.github.com/v3/git/commits/ """ def __repr__(self): diff --git a/github/GitObject.py b/github/GitObject.py index 0850061..ce2fd71 100644 --- a/github/GitObject.py +++ b/github/GitObject.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GitObject(github.GithubObject.NonCompletableGithubObject): """ - This class represents GitObjects as returned for example by http://developer.github.com/v3/todo + This class represents GitObjects """ def __repr__(self): diff --git a/github/GitRef.py b/github/GitRef.py index 417982f..b35e3ab 100644 --- a/github/GitRef.py +++ b/github/GitRef.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +37,7 @@ class GitRef(github.GithubObject.CompletableGithubObject): """ - This class represents GitRefs as returned for example by http://developer.github.com/v3/todo + This class represents GitRefs. The reference can be found here https://developer.github.com/v3/git/refs/ """ def __repr__(self): diff --git a/github/GitRelease.py b/github/GitRelease.py index 2c1ae52..427dc8e 100644 --- a/github/GitRelease.py +++ b/github/GitRelease.py @@ -1,11 +1,24 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2015 Ed Holland # +# Copyright 2016 Benjamin Whitney # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Chris McBride # +# Copyright 2017 Simon # +# Copyright 2018 Daniel Kesler # +# Copyright 2018 Kuba # +# Copyright 2018 Maarten Fonville # +# Copyright 2018 Shinichi TAMURA # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 edquist # +# Copyright 2018 nurupo # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,20 +33,30 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ +from os.path import basename import github.GithubObject -import github.GitAuthor +import github.NamedUser +import github.GitReleaseAsset class GitRelease(github.GithubObject.CompletableGithubObject): """ - This class represents GitRelease as returned for example by https://developer.github.com/v3/repos/releases + This class represents GitReleases. The reference can be found here https://developer.github.com/v3/repos/releases """ def __repr__(self): return self.get__repr__({"title": self._title.value}) + @property + def id(self): + """ + :type: integer + """ + self._completeIfNotSet(self._id) + return self._id.value + @property def body(self): """ @@ -58,14 +81,54 @@ def tag_name(self): self._completeIfNotSet(self._tag_name) return self._tag_name.value + @property + def target_commitish(self): + """ + :type: string + """ + self._completeIfNotSet(self._target_commitish) + return self._target_commitish.value + + @property + def draft(self): + """ + :type: bool + """ + self._completeIfNotSet(self._draft) + return self._draft.value + + @property + def prerelease(self): + """ + :type: bool + """ + self._completeIfNotSet(self._prerelease) + return self._prerelease.value + @property def author(self): """ - :type: :class:`github.GitAuthor.GitAuthor` + :type: :class:`github.NamedUser.NamedUser` """ self._completeIfNotSet(self._author) return self._author.value + @property + def created_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value + + @property + def published_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._published_at) + return self._published_at.value + @property def url(self): """ @@ -90,25 +153,62 @@ def html_url(self): self._completeIfNotSet(self._html_url) return self._html_url.value + @property + def tarball_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._tarball_url) + return self._tarball_url.value + + @property + def zipball_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._zipball_url) + return self._zipball_url.value + def delete_release(self): + """ + :calls: `DELETE /repos/:owner/:repo/releases/:release_id `_ + :rtype: None + """ headers, data = self._requester.requestJsonAndCheck( "DELETE", self.url ) - return True - def update_release(self, name, message, draft=False, prerelease=False): + def update_release(self, name, message, draft=False, prerelease=False, + tag_name=github.GithubObject.NotSet, + target_commitish=github.GithubObject.NotSet): + """ + :calls: `PATCH /repos/:owner/:repo/releases/:release_id `_ + :rtype: :class:`github.GitRelease.GitRelease` + """ + assert tag_name is github.GithubObject.NotSet \ + or isinstance(tag_name, (str, unicode)), \ + 'tag_name must be a str/unicode object' + assert target_commitish is github.GithubObject.NotSet \ + or isinstance(target_commitish, (str, unicode)), \ + 'target_commitish must be a str/unicode object' assert isinstance(name, (str, unicode)), name assert isinstance(message, (str, unicode)), message assert isinstance(draft, bool), draft assert isinstance(prerelease, bool), prerelease + if tag_name is github.GithubObject.NotSet: + tag_name = self.tag_name post_parameters = { - "tag_name": self.tag_name, + "tag_name": tag_name, "name": name, "body": message, "draft": draft, "prerelease": prerelease, } + # Do not set target_commitish to self.target_commitish when ommited, just don't send it + # alltogether in that case, in order to match the Github API behaviour. Only send it when set. + if target_commitish is not github.GithubObject.NotSet: + post_parameters['target_commitish'] = target_commitish headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, @@ -116,27 +216,87 @@ def update_release(self, name, message, draft=False, prerelease=False): ) return github.GitRelease.GitRelease(self._requester, headers, data, completed=True) + def upload_asset(self, path, label="", content_type=""): + """ + :calls: `POST https:///repos/:owner/:repo/releases/:release_id/assets?name=foo.zip `_ + :rtype: :class:`github.GitReleaseAsset.GitReleaseAsset` + """ + assert isinstance(path, (str, unicode)), path + assert isinstance(label, (str, unicode)), label + + post_parameters = { + "name": basename(path), + "label": label + } + headers = {} + if len(content_type) > 0: + headers["Content-Type"] = content_type + resp_headers, data = self._requester.requestBlobAndCheck( + "POST", + self.upload_url.split("{?")[0], + parameters=post_parameters, + headers=headers, + input=path + ) + return github.GitReleaseAsset.GitReleaseAsset(self._requester, resp_headers, data, completed=True) + + def get_assets(self): + """ + :calls: `GET /repos/:owner/:repo/releases/:release_id/assets `_ + :rtype: :class:`github.PaginatedList.PaginatedList` + """ + return github.PaginatedList.PaginatedList( + github.GitReleaseAsset.GitReleaseAsset, + self._requester, + self.url + "/assets", + None + ) + def _initAttributes(self): + self._id = github.GithubObject.NotSet self._body = github.GithubObject.NotSet self._title = github.GithubObject.NotSet self._tag_name = github.GithubObject.NotSet + self._target_commitish = github.GithubObject.NotSet + self._draft = github.GithubObject.NotSet + self._prerelease = github.GithubObject.NotSet self._author = github.GithubObject.NotSet self._url = github.GithubObject.NotSet self._upload_url = github.GithubObject.NotSet self._html_url = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._published_at = github.GithubObject.NotSet + self._tarball_url = github.GithubObject.NotSet + self._zipball_url = github.GithubObject.NotSet def _useAttributes(self, attributes): + if "id" in attributes: + self._id = self._makeIntAttribute(attributes["id"]) if "body" in attributes: self._body = self._makeStringAttribute(attributes["body"]) if "name" in attributes: self._title = self._makeStringAttribute(attributes["name"]) if "tag_name" in attributes: self._tag_name = self._makeStringAttribute(attributes["tag_name"]) + if "target_commitish" in attributes: + self._target_commitish = self._makeStringAttribute(attributes["target_commitish"]) + if "draft" in attributes: + self._draft = self._makeBoolAttribute(attributes["draft"]) + if "prerelease" in attributes: + self._prerelease = self._makeBoolAttribute(attributes["prerelease"]) if "author" in attributes: - self._author = self._makeClassAttribute(github.GitAuthor.GitAuthor, attributes["author"]) + self._author = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["author"]) if "url" in attributes: self._url = self._makeStringAttribute(attributes["url"]) if "upload_url" in attributes: self._upload_url = self._makeStringAttribute(attributes["upload_url"]) if "html_url" in attributes: self._html_url = self._makeStringAttribute(attributes["html_url"]) + if "created_at" in attributes: + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "published_at" in attributes: + self._published_at = self._makeDatetimeAttribute(attributes["published_at"]) + if "tarball_url" in attributes: + self._tarball_url = self._makeStringAttribute(attributes["tarball_url"]) + if "zipball_url" in attributes: + self._zipball_url = self._makeStringAttribute(attributes["zipball_url"]) diff --git a/github/GitReleaseAsset.py b/github/GitReleaseAsset.py new file mode 100644 index 0000000..1f899e7 --- /dev/null +++ b/github/GitReleaseAsset.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2017 Chris McBride # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class GitReleaseAsset(github.GithubObject.CompletableGithubObject): + """ + This class represents GitReleaseAssets. The reference can be found here https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + """ + + def __repr__(self): + return self.get__repr__({"url": self.url}) + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def id(self): + """ + :type: integer + """ + self._completeIfNotSet(self._id) + return self._id.value + + @property + def name(self): + """ + :type: string + """ + self._completeIfNotSet(self._name) + return self._name.value + + @name.setter + def name(self, value): + """ + :type: string + """ + self._completeIfNotSet(self._name) + self._name.value = value + + @property + def label(self): + """ + :type: string + """ + self._completeIfNotSet(self._label) + return self._label.value + + @label.setter + def label(self, value): + """ + :type: string + """ + self._completeIfNotSet(self._label) + self._label.value = value + + @property + def content_type(self): + """ + :type: string + """ + self._completeIfNotSet(self._content_type) + return self._content_type.value + + @property + def state(self): + """ + :type: string + """ + self._completeIfNotSet(self._state) + return self._state.value + + @property + def size(self): + """ + :type: integer + """ + self._completeIfNotSet(self._size) + return self._size.value + + @property + def download_count(self): + """ + :type: integer + """ + self._completeIfNotSet(self._download_count) + return self._download_count.value + + @property + def created_at(self): + """ + :type: datetime + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value + + @property + def updated_at(self): + """ + :type: datetime + """ + self._completeIfNotSet(self._updated_at) + return self._updated_at.value + + @property + def browser_download_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._browser_download_url) + return self._browser_download_url.value + + @property + def uploader(self): + """ + :type: github.NamedUser.NamedUser + """ + self._completeIfNotSet(self._uploader) + return self._uploader.value + + def delete_asset(self): + """ + Delete asset from the release. + :rtype: bool + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + ) + return True + + def update_asset(self, name, label=""): + """ + Update asset metadata. + :rtype: github.GitReleaseAsset.GitReleaseAsset + """ + assert isinstance(name, (str, unicode)), name + assert isinstance(label, (str, unicode)), label + post_parameters = { + "name": name, + "label": label + } + headers, data = self._requester.requestJsonAndCheck( + "PATCH", + self.url, + input=post_parameters + ) + return GitReleaseAsset(self._requester, headers, data, completed=True) + + def _initAttributes(self): + self._url = github.GithubObject.NotSet + self._id = github.GithubObject.NotSet + self._name = github.GithubObject.NotSet + self._label = github.GithubObject.NotSet + self._uploader = github.GithubObject.NotSet + self._content_type = github.GithubObject.NotSet + self._state = github.GithubObject.NotSet + self._size = github.GithubObject.NotSet + self._download_count = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._updated_at = github.GithubObject.NotSet + self._browser_download_url = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) + if "id" in attributes: # pragma no branch + self._id = self._makeIntAttribute(attributes["id"]) + if "name" in attributes: # pragma no branch + self._name = self._makeStringAttribute(attributes["name"]) + if "label" in attributes: # pragma no branch + self._label = self._makeStringAttribute(attributes["label"]) + if "uploader" in attributes: # pragma no branch + self._uploader = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["uploader"]) + if "content_type" in attributes: # pragma no branch + self._content_type = self._makeStringAttribute(attributes["content_type"]) + if "state" in attributes: # pragma no branch + self._state = self._makeStringAttribute(attributes["state"]) + if "size" in attributes: # pragma no branch + self._size = self._makeIntAttribute(attributes["size"]) + if "download_count" in attributes: # pragma no branch + self._download_count = self._makeIntAttribute(attributes["download_count"]) + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "updated_at" in attributes: # pragma no branch + self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) + if "browser_download_url" in attributes: # pragma no branch + self._browser_download_url = self._makeStringAttribute(attributes["browser_download_url"]) diff --git a/github/GitTag.py b/github/GitTag.py index 347fd24..059fc9f 100644 --- a/github/GitTag.py +++ b/github/GitTag.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +38,7 @@ class GitTag(github.GithubObject.CompletableGithubObject): """ - This class represents GitTags as returned for example by http://developer.github.com/v3/todo + This class represents GitTags. The reference can be found here https://developer.github.com/v3/git/tags/ """ def __repr__(self): diff --git a/github/GitTree.py b/github/GitTree.py index 8012bb7..c9aca0d 100644 --- a/github/GitTree.py +++ b/github/GitTree.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +37,7 @@ class GitTree(github.GithubObject.CompletableGithubObject): """ - This class represents GitTrees as returned for example by http://developer.github.com/v3/todo + This class represents GitTrees. The reference can be found here https://developer.github.com/v3/git/trees/ """ def __repr__(self): diff --git a/github/GitTreeElement.py b/github/GitTreeElement.py index 907fb58..cf7d21e 100644 --- a/github/GitTreeElement.py +++ b/github/GitTreeElement.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GitTreeElement(github.GithubObject.NonCompletableGithubObject): """ - This class represents GitTreeElements as returned for example by http://developer.github.com/v3/todo + This class represents GitTreeElements """ def __repr__(self): diff --git a/github/GithubException.py b/github/GithubException.py index 3b724f1..f12828e 100644 --- a/github/GithubException.py +++ b/github/GithubException.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # +# Copyright 2013 Cameron White # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2016 humbug # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ class GithubException(Exception): diff --git a/github/GithubObject.py b/github/GithubObject.py index cd8b7d0..60ed6c6 100644 --- a/github/GithubObject.py +++ b/github/GithubObject.py @@ -1,14 +1,21 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Andrew Scheller # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jakub Wilk # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2016 Sam Corbett # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +30,8 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ + import sys import datetime from operator import itemgetter @@ -162,7 +170,7 @@ def parseDatetime(s): # The Downloads API has been removed. I'm keeping this branch because I have no mean # to check if it's really useless now. return datetime.datetime.strptime(s, "%Y-%m-%dT%H:%M:%S.000Z") # pragma no cover (This branch was used only when creating a download) - elif len(s) == 25: + elif len(s) >= 25: return datetime.datetime.strptime(s[:19], "%Y-%m-%dT%H:%M:%S") + (1 if s[19] == '-' else -1) * datetime.timedelta(hours=int(s[20:22]), minutes=int(s[23:25])) else: return datetime.datetime.strptime(s, "%Y-%m-%dT%H:%M:%SZ") @@ -180,6 +188,10 @@ def _makeListOfStringsAttribute(value): def _makeListOfIntsAttribute(value): return GithubObject.__makeSimpleListAttribute(value, int) + @staticmethod + def _makeListOfDictsAttribute(value): + return GithubObject.__makeSimpleListAttribute(value, dict) + @staticmethod def _makeListOfListOfStringsAttribute(value): return GithubObject.__makeSimpleListAttribute(value, list) diff --git a/github/GitignoreTemplate.py b/github/GitignoreTemplate.py index 55353dc..79c708b 100644 --- a/github/GitignoreTemplate.py +++ b/github/GitignoreTemplate.py @@ -1,13 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -22,14 +27,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class GitignoreTemplate(github.GithubObject.NonCompletableGithubObject): """ - This class represents GitignoreTemplates as returned for example by http://developer.github.com/v3/todo + This class represents GitignoreTemplates. The reference can be found here https://developer.github.com/v3/gitignore/ """ def __repr__(self): diff --git a/github/Hook.py b/github/Hook.py index 8e09005..3866368 100644 --- a/github/Hook.py +++ b/github/Hook.py @@ -1,14 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Wan Liuyang # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +29,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -32,7 +38,7 @@ class Hook(github.GithubObject.CompletableGithubObject): """ - This class represents Hooks as returned for example by http://developer.github.com/v3/repos/hooks + This class represents Hooks. The reference can be found here http://developer.github.com/v3/repos/hooks """ def __repr__(self): @@ -118,6 +124,14 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + @property + def ping_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._ping_url) + return self._ping_url.value + def delete(self): """ :calls: `DELETE /repos/:owner/:repo/hooks/:id `_ @@ -174,6 +188,16 @@ def test(self): self.url + "/tests" ) + def ping(self): + """ + :calls: `POST /repos/:owner/:repo/hooks/:id/pings `_ + :rtype: None + """ + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/pings" + ) + def _initAttributes(self): self._active = github.GithubObject.NotSet self._config = github.GithubObject.NotSet @@ -185,6 +209,7 @@ def _initAttributes(self): self._test_url = github.GithubObject.NotSet self._updated_at = github.GithubObject.NotSet self._url = github.GithubObject.NotSet + self._ping_url = github.GithubObject.NotSet def _useAttributes(self, attributes): if "active" in attributes: # pragma no branch @@ -207,3 +232,5 @@ def _useAttributes(self, attributes): self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) if "url" in attributes: # pragma no branch self._url = self._makeStringAttribute(attributes["url"]) + if "ping_url" in attributes: # pragma no branch + self._ping_url = self._makeStringAttribute(attributes["ping_url"]) diff --git a/github/HookDescription.py b/github/HookDescription.py index d105830..d2f4306 100644 --- a/github/HookDescription.py +++ b/github/HookDescription.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class HookDescription(github.GithubObject.NonCompletableGithubObject): """ - This class represents HookDescriptions as returned for example by http://developer.github.com/v3/todo + This class represents HookDescriptions """ def __repr__(self): diff --git a/github/HookResponse.py b/github/HookResponse.py index bce05e3..72b0237 100644 --- a/github/HookResponse.py +++ b/github/HookResponse.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class HookResponse(github.GithubObject.NonCompletableGithubObject): """ - This class represents HookResponses as returned for example by http://developer.github.com/v3/todo + This class represents HookResponses """ def __repr__(self): diff --git a/github/InputFileContent.py b/github/InputFileContent.py index a133eb1..b9e26e7 100644 --- a/github/InputFileContent.py +++ b/github/InputFileContent.py @@ -1,13 +1,17 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -22,13 +26,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class InputFileContent(object): """ + This class represents InputFileContents """ def __init__(self, content, new_name=github.GithubObject.NotSet): diff --git a/github/InputGitAuthor.py b/github/InputGitAuthor.py index f7a9ff1..a5cd596 100644 --- a/github/InputGitAuthor.py +++ b/github/InputGitAuthor.py @@ -1,13 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Nic Dahlquist # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -22,13 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class InputGitAuthor(object): """ + This class represents InputGitAuthors """ def __init__(self, name, email, date=github.GithubObject.NotSet): diff --git a/github/InputGitTreeElement.py b/github/InputGitTreeElement.py index ee55452..0fec87d 100644 --- a/github/InputGitTreeElement.py +++ b/github/InputGitTreeElement.py @@ -1,13 +1,17 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -22,13 +26,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class InputGitTreeElement(object): """ + This class represents InputGitTreeElements """ def __init__(self, path, mode, type, content=github.GithubObject.NotSet, sha=github.GithubObject.NotSet): diff --git a/github/Installation.py b/github/Installation.py index 67a086b..79690d5 100644 --- a/github/Installation.py +++ b/github/Installation.py @@ -1,11 +1,14 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2017 Jannis Gebauer # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +23,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import github.PaginatedList @@ -36,12 +39,14 @@ import github.Authorization import github.Notification -INTEGRATION_PREVIEW_HEADERS = {"Accept": "application/vnd.github.machine-man-preview+json"} +import Consts + +INTEGRATION_PREVIEW_HEADERS = {"Accept": Consts.mediaTypeIntegrationPreview} class Installation(github.GithubObject.NonCompletableGithubObject): """ - This class represents Installations as in https://developer.github.com/v3/integrations/installations + This class represents Installations. The reference can be found here https://developer.github.com/v3/apps/installations/ """ def __repr__(self): @@ -72,4 +77,4 @@ def _initAttributes(self): def _useAttributes(self, attributes): if "id" in attributes: # pragma no branch - self._id = self._makeIntAttribute(attributes["id"]) \ No newline at end of file + self._id = self._makeIntAttribute(attributes["id"]) diff --git a/github/InstallationAuthorization.py b/github/InstallationAuthorization.py index 5dfaf8c..6067de1 100644 --- a/github/InstallationAuthorization.py +++ b/github/InstallationAuthorization.py @@ -1,11 +1,14 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2016 Jannis gebauier # +# Copyright 2016 Jannis Gebauer # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +23,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import datetime @@ -31,7 +34,7 @@ class InstallationAuthorization(github.GithubObject.NonCompletableGithubObject): """ - InstallationAuthorization as obtained from a GitHub integration. + This class represents InstallationAuthorizations """ def __repr__(self): @@ -69,4 +72,4 @@ def _useAttributes(self, attributes): if "expires_at" in attributes: # pragma no branch self._expires_at = self._makeDatetimeAttribute(attributes["expires_at"]) if "on_behalf_of" in attributes: # pragma no branch - self._on_behalf_of = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["on_behalf_of"]) \ No newline at end of file + self._on_behalf_of = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["on_behalf_of"]) diff --git a/github/Invitation.py b/github/Invitation.py index bf2668c..0512676 100644 --- a/github/Invitation.py +++ b/github/Invitation.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2017 Jannis Gebauer # +# Copyright 2017 Simon # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +22,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import urllib @@ -67,7 +69,6 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value - @property def html_url(self): """ @@ -106,4 +107,3 @@ def _useAttributes(self, attributes): self._url = self._makeStringAttribute(attributes["url"]) if "html_url" in attributes: # pragma no branch self._html_url = self._makeStringAttribute(attributes["html_url"]) - diff --git a/github/Issue.py b/github/Issue.py index 9ef4df2..b1a40be 100644 --- a/github/Issue.py +++ b/github/Issue.py @@ -1,17 +1,31 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Andrew Bettison # # Copyright 2012 Philip Kimmey # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # +# Copyright 2013 David Farr # # Copyright 2013 Stuart Glaser # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Raja Reddy Karri # +# Copyright 2016 @tmshn # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Matt Babineau # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Nicolas Agustín Torres # +# Copyright 2017 Simon # +# Copyright 2018 Shinichi TAMURA # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 per1234 # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -26,7 +40,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import urllib import datetime @@ -40,11 +54,14 @@ import github.Milestone import github.IssueComment import github.IssuePullRequest +import github.Reaction + +import Consts class Issue(github.GithubObject.CompletableGithubObject): """ - This class represents Issues as returned for example by http://developer.github.com/v3/todo + This class represents Issues. The reference can be found here https://developer.github.com/v3/issues/ """ def __repr__(self): @@ -230,6 +247,33 @@ def user(self): self._completeIfNotSet(self._user) return self._user.value + @property + def locked(self): + """ + :type: bool + """ + self._completeIfNotSet(self._locked) + return self._locked.value + + @property + def active_lock_reason(self): + """ + :type: string + """ + self._completeIfNotSet(self._active_lock_reason) + return self._active_lock_reason.value + + def as_pull_request(self): + """ + :calls: `GET /repos/:owner/:repo/pulls/:number `_ + :rtype: :class:`github.PullRequest.PullRequest` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + "/pulls/".join(self.url.rsplit("/issues/", 1)) + ) + return github.PullRequest.PullRequest(self._requester, headers, data, completed=True) + def add_to_assignees(self, *assignees): """ :calls: `POST /repos/:owner/:repo/issues/:number/assignees `_ @@ -330,6 +374,32 @@ def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet ) self._useAttributes(data) + def lock(self, lock_reason): + """ + :calls: `PUT /repos/:owner/:repo/issues/:issue_number/lock `_ + :param lock_reason: string + :rtype: None + """ + assert isinstance(lock_reason, (str, unicode)), lock_reason + put_parameters = dict() + put_parameters["lock_reason"] = lock_reason + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.url + "/lock", + input=put_parameters, + headers={'Accept': Consts.mediaTypeLockReasonPreview} + ) + + def unlock(self): + """ + :calls: `DELETE /repos/:owner/:repo/issues/:issue_number/lock `_ + :rtype: None + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/lock" + ) + def get_comment(self, id): """ :calls: `GET /repos/:owner/:repo/issues/comments/:id `_ @@ -369,7 +439,8 @@ def get_events(self): github.IssueEvent.IssueEvent, self._requester, self.url + "/events", - None + None, + headers={'Accept': Consts.mediaTypeLockReasonPreview} ) def get_labels(self): @@ -418,7 +489,7 @@ def remove_from_labels(self, label): def set_labels(self, *labels): """ :calls: `PUT /repos/:owner/:repo/issues/:number/labels `_ - :param label: :class:`github.Label.Label` + :param labels: list of :class:`github.Label.Label` or strings :rtype: None """ assert all(isinstance(element, (github.Label.Label, str, unicode)) for element in labels), labels @@ -429,6 +500,40 @@ def set_labels(self, *labels): input=post_parameters ) + def get_reactions(self): + """ + :calls: `GET /repos/:owner/:repo/issues/:number/reactions `_ + :return: :class: :class:`github.PaginatedList.PaginatedList` of :class:`github.Reaction.Reaction` + """ + return github.PaginatedList.PaginatedList( + github.Reaction.Reaction, + self._requester, + self.url + "/reactions", + None, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + + def create_reaction(self, reaction_type): + """ + :calls: `POST /repos/:owner/:repo/issues/:number/reactions `_ + :param reaction_type: string + :rtype: :class:`github.Reaction.Reaction` + """ + assert isinstance(reaction_type, (str, unicode)), "reaction type should be a string" + assert reaction_type in ["+1", "-1", "laugh", "confused", "heart", "hooray"], \ + "Invalid reaction type (https://developer.github.com/v3/reactions/#reaction-types)" + + post_parameters = { + "content": reaction_type, + } + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/reactions", + input=post_parameters, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + return github.Reaction.Reaction(self._requester, headers, data, completed=True) + @property def _identity(self): return self.number @@ -458,6 +563,8 @@ def _initAttributes(self): self._user = github.GithubObject.NotSet def _useAttributes(self, attributes): + if "active_lock_reason" in attributes: # pragma no branch + self._active_lock_reason = self._makeStringAttribute(attributes["active_lock_reason"]) if "assignee" in attributes: # pragma no branch self._assignee = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["assignee"]) if "assignees" in attributes: # pragma no branch @@ -489,6 +596,8 @@ def _useAttributes(self, attributes): self._labels = self._makeListOfClassesAttribute(github.Label.Label, attributes["labels"]) if "labels_url" in attributes: # pragma no branch self._labels_url = self._makeStringAttribute(attributes["labels_url"]) + if "locked" in attributes: # pragma no branch + self._locked = self._makeBoolAttribute(attributes["locked"]) if "milestone" in attributes: # pragma no branch self._milestone = self._makeClassAttribute(github.Milestone.Milestone, attributes["milestone"]) if "number" in attributes: # pragma no branch diff --git a/github/IssueComment.py b/github/IssueComment.py index 8593a8c..dc689c5 100644 --- a/github/IssueComment.py +++ b/github/IssueComment.py @@ -1,15 +1,22 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Michael Stead # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Nicolas Agustín Torres # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 per1234 # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,16 +31,17 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject - import github.NamedUser +import Consts + class IssueComment(github.GithubObject.CompletableGithubObject): """ - This class represents IssueComments as returned for example by http://developer.github.com/v3/todo + This class represents IssueComments. The reference can be found here https://developer.github.com/v3/issues/comments/ """ def __repr__(self): @@ -130,6 +138,42 @@ def edit(self, body): ) self._useAttributes(data) + def get_reactions(self): + """ + :calls: `GET /repos/:owner/:repo/issues/comments/:id/reactions + `_ + :return: :class: :class:`github.PaginatedList.PaginatedList` of :class:`github.Reaction.Reaction` + """ + return github.PaginatedList.PaginatedList( + github.Reaction.Reaction, + self._requester, + self.url + "/reactions", + None, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + + def create_reaction(self, reaction_type): + """ + :calls: `POST /repos/:owner/:repo/issues/comments/:id/reactions + `_ + :param reaction_type: string + :rtype: :class:`github.Reaction.Reaction` + """ + assert isinstance(reaction_type, (str, unicode)), "reaction type should be a string" + assert reaction_type in ["+1", "-1", "laugh", "confused", "heart", "hooray"], \ + "Invalid reaction type (https://developer.github.com/v3/reactions/#reaction-types)" + + post_parameters = { + "content": reaction_type, + } + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/reactions", + input=post_parameters, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + return github.Reaction.Reaction(self._requester, headers, data, completed=True) + def _initAttributes(self): self._body = github.GithubObject.NotSet self._created_at = github.GithubObject.NotSet diff --git a/github/IssueEvent.py b/github/IssueEvent.py index d55cd35..a8d8abb 100644 --- a/github/IssueEvent.py +++ b/github/IssueEvent.py @@ -1,14 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Simon # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +29,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,12 +39,12 @@ class IssueEvent(github.GithubObject.CompletableGithubObject): """ - This class represents IssueEvents as returned for example by http://developer.github.com/v3/todo + This class represents IssueEvents. The reference can be found here https://developer.github.com/v3/issues/events/ """ def __repr__(self): return self.get__repr__({"id": self._id.value}) - + @property def actor(self): """ @@ -95,6 +101,102 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + @property + def node_id(self): + """ + :type: string + """ + self._completeIfNotSet(self._node_id) + return self._node_id.value + + @property + def commit_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._commit_url) + return self._commit_url.value + + @property + def label(self): + """ + :type: :class:`github.Label.Label` + """ + self._completeIfNotSet(self._label) + return self._label.value + + @property + def assignee(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._assignee) + return self._assignee.value + + @property + def assigner(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._assigner) + return self._assigner.value + + @property + def review_requester(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._review_requester) + return self._review_requester.value + + @property + def requested_reviewer(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._requested_reviewer) + return self._requested_reviewer.value + + @property + def milestone(self): + """ + :type: :class:`github.Milestone.Milestone` + """ + self._completeIfNotSet(self._milestone) + return self._milestone.value + + @property + def rename(self): + """ + :type: dict + """ + self._completeIfNotSet(self._rename) + return self._rename.value + + @property + def rename(self): + """ + :type: dict + """ + self._completeIfNotSet(self._rename) + return self._rename.value + + @property + def dismissed_review(self): + """ + :type: dict + """ + self._completeIfNotSet(self._dismissed_review) + return self._dismissed_review.value + + @property + def lock_reason(self): + """ + :type: string + """ + self._completeIfNotSet(self._lock_reason) + return self._lock_reason.value + def _initAttributes(self): self._actor = github.GithubObject.NotSet self._commit_id = github.GithubObject.NotSet @@ -103,6 +205,17 @@ def _initAttributes(self): self._id = github.GithubObject.NotSet self._issue = github.GithubObject.NotSet self._url = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet + self._commit_url = github.GithubObject.NotSet + self._label = github.GithubObject.NotSet + self._assignee = github.GithubObject.NotSet + self._assigner = github.GithubObject.NotSet + self._review_requester = github.GithubObject.NotSet + self._requested_reviewer = github.GithubObject.NotSet + self._milestone = github.GithubObject.NotSet + self._rename = github.GithubObject.NotSet + self._dismissed_review = github.GithubObject.NotSet + self._lock_reason = github.GithubObject.NotSet def _useAttributes(self, attributes): if "actor" in attributes: # pragma no branch @@ -119,3 +232,25 @@ def _useAttributes(self, attributes): self._issue = self._makeClassAttribute(github.Issue.Issue, attributes["issue"]) if "url" in attributes: # pragma no branch self._url = self._makeStringAttribute(attributes["url"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) + if "commit_url" in attributes: # pragma no branch + self._commit_url = self._makeStringAttribute(attributes["commit_url"]) + if "label" in attributes: # pragma no branch + self._label = self._makeClassAttribute(github.Label.Label, attributes["label"]) + if "assignee" in attributes: # pragma no branch + self._assignee = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["assignee"]) + if "assigner" in attributes: # pragma no branch + self._assigner = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["assigner"]) + if "review_requester" in attributes: # pragma no branch + self._review_requester = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["review_requester"]) + if "requested_reviewer" in attributes: # pragma no branch + self._requested_reviewer = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["requested_reviewer"]) + if "milestone" in attributes: # pragma no branch + self._milestone = self._makeClassAttribute(github.Milestone.Milestone, attributes["milestone"]) + if "rename" in attributes: # pragma no branch + self._rename = self._makeDictAttribute(attributes["rename"]) + if "dismissed_review" in attributes: # pragma no branch + self._dismissed_review = self._makeDictAttribute(attributes["dismissed_review"]) + if "lock_reason" in attributes: # pragma no branch + self._lock_reason = self._makeStringAttribute(attributes["lock_reason"]) diff --git a/github/IssuePullRequest.py b/github/IssuePullRequest.py index 18243d1..f35f4da 100644 --- a/github/IssuePullRequest.py +++ b/github/IssuePullRequest.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +27,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class IssuePullRequest(github.GithubObject.NonCompletableGithubObject): """ - This class represents IssuePullRequests as returned for example by http://developer.github.com/v3/todo + This class represents IssuePullRequests """ @property diff --git a/github/Label.py b/github/Label.py index 56e6d08..e2efac2 100644 --- a/github/Label.py +++ b/github/Label.py @@ -1,15 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Mateusz Loskot # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,12 +29,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import urllib import github.GithubObject +import Consts + class Label(github.GithubObject.CompletableGithubObject): """ @@ -47,6 +54,14 @@ def color(self): self._completeIfNotSet(self._color) return self._color.value + @property + def description(self): + """ + :type: string + """ + self._completeIfNotSet(self._description) + return self._description.value + @property def name(self): """ @@ -73,23 +88,28 @@ def delete(self): self.url ) - def edit(self, name, color): + def edit(self, name, color, description=github.GithubObject.NotSet): """ :calls: `PATCH /repos/:owner/:repo/labels/:name `_ :param name: string :param color: string + :param description: string :rtype: None """ assert isinstance(name, (str, unicode)), name assert isinstance(color, (str, unicode)), color + assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description post_parameters = { "name": name, "color": color, } + if description is not github.GithubObject.NotSet: + post_parameters["description"] = description headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, - input=post_parameters + input=post_parameters, + headers={'Accept': Consts.mediaTypeLabelDescriptionSearchPreview} ) self._useAttributes(data) @@ -99,12 +119,15 @@ def _identity(self): def _initAttributes(self): self._color = github.GithubObject.NotSet + self._description = github.GithubObject.NotSet self._name = github.GithubObject.NotSet self._url = github.GithubObject.NotSet def _useAttributes(self, attributes): if "color" in attributes: # pragma no branch self._color = self._makeStringAttribute(attributes["color"]) + if "description" in attributes: # pragma no branch + self._description = self._makeStringAttribute(attributes["description"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) if "url" in attributes: # pragma no branch diff --git a/github/Legacy.py b/github/Legacy.py index 7c8a799..23267d6 100644 --- a/github/Legacy.py +++ b/github/Legacy.py @@ -1,15 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Steve English # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +27,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import urlparse diff --git a/github/License.py b/github/License.py new file mode 100644 index 0000000..3101494 --- /dev/null +++ b/github/License.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Wan Liuyang # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject +import github.PaginatedList + +import github.NamedUser + + +class License(github.GithubObject.CompletableGithubObject): + """ + This class represents Licenses. The reference can be found here https://developer.github.com/v3/licenses/ + """ + + def __repr__(self): + return self.get__repr__({"name": self._name.value}) + + @property + def key(self): + """ + :type: string + """ + self._completeIfNotSet(self._key) + return self._key.value + + @property + def name(self): + """ + :type: string + """ + self._completeIfNotSet(self._name) + return self._name.value + + @property + def spdx_id(self): + """ + :type: string + """ + self._completeIfNotSet(self._spdx_id) + return self._spdx_id.value + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def html_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._html_url) + return self._html_url.value + + @property + def description(self): + """ + :type: string + """ + self._completeIfNotSet(self._description) + return self._description.value + + @property + def implementation(self): + """ + :type: string + """ + self._completeIfNotSet(self._implementation) + return self._implementation.value + + @property + def body(self): + """ + :type: string + """ + self._completeIfNotSet(self._body) + return self._body.value + + @property + def permissions(self): + """ + :type: list of string + """ + self._completeIfNotSet(self._permissions) + return self._permissions.value + + @property + def conditions(self): + """ + :type: list of string + """ + self._completeIfNotSet(self._conditions) + return self._conditions.value + + @property + def limitations(self): + """ + :type: list of string + """ + self._completeIfNotSet(self._limitations) + return self._limitations.value + + def _initAttributes(self): + self._key = github.GithubObject.NotSet + self._name = github.GithubObject.NotSet + self._spdx_id = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + self._html_url = github.GithubObject.NotSet + self._description = github.GithubObject.NotSet + self._implementation = github.GithubObject.NotSet + self._body = github.GithubObject.NotSet + self._permissions = github.GithubObject.NotSet + self._conditions = github.GithubObject.NotSet + self._limitations = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "key" in attributes: # pragma no branch + self._key = self._makeStringAttribute(attributes["key"]) + if "name" in attributes: # pragma no branch + self._name = self._makeStringAttribute(attributes["name"]) + if "spdx_id" in attributes: # pragma no branch + self._spdx_id = self._makeStringAttribute(attributes["spdx_id"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) + if "html_url" in attributes: # pragma no branch + self._html_url = self._makeStringAttribute(attributes["html_url"]) + if "description" in attributes: # pragma no branch + self._description = self._makeStringAttribute(attributes["description"]) + if "implementation" in attributes: # pragma no branch + self._implementation = self._makeStringAttribute(attributes["implementation"]) + if "body" in attributes: # pragma no branch + self._body = self._makeStringAttribute(attributes["body"]) + if "permissions" in attributes: # pragma no branch + self._permissions = self._makeListOfStringsAttribute(attributes["permissions"]) + if "conditions" in attributes: # pragma no branch + self._conditions = self._makeListOfStringsAttribute(attributes["conditions"]) + if "limitations" in attributes: # pragma no branch + self._limitations = self._makeListOfStringsAttribute(attributes["limitations"]) diff --git a/github/MainClass.py b/github/MainClass.py index 024f0a4..8969fd2 100644 --- a/github/MainClass.py +++ b/github/MainClass.py @@ -1,15 +1,36 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 AKFish # # Copyright 2013 Ed Jackson # # Copyright 2013 Jonathan J Hunt # # Copyright 2013 Peter Golm # +# Copyright 2013 Steve Brown # # Copyright 2013 Vincent Jacques # +# Copyright 2014 C. R. Oldham # +# Copyright 2014 Thialfihar # +# Copyright 2014 Tyler Treat # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Daniel Pocock # +# Copyright 2015 Joseph Rawson # +# Copyright 2015 Uriel Corfa # +# Copyright 2015 edhollandAL # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Colin Hoglund # +# Copyright 2017 Jannis Gebauer # +# Copyright 2018 Agor Maxime # +# Copyright 2018 Joshua Hoblitt # +# Copyright 2018 Maarten Fonville # +# Copyright 2018 Mike Miller # +# Copyright 2018 Svend Sorensen # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # +# Copyright 2018 itsbruce # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,16 +45,19 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ + +import datetime import urllib import pickle import time import sys -from httplib import HTTPSConnection +import requests import jwt +import urllib3 -from Requester import Requester, json +from Requester import Requester import AuthenticatedUser import NamedUser import Organization @@ -42,29 +66,35 @@ import Repository import Installation import Legacy +import License +import Topic import github.GithubObject import HookDescription import GitignoreTemplate -import Status -import StatusMessage import RateLimit import InstallationAuthorization import GithubException import Invitation +import Consts + atLeastPython3 = sys.hexversion >= 0x03000000 DEFAULT_BASE_URL = "https://api.github.com" -DEFAULT_TIMEOUT = 10 +DEFAULT_STATUS_URL = "https://status.github.com" +# As of 2018-05-17, Github imposes a 10s limit for completion of API requests. +# Thus, the timeout should be slightly > 10s to account for network/front-end +# latency. +DEFAULT_TIMEOUT = 15 DEFAULT_PER_PAGE = 30 class Github(object): """ - This is the main class you instanciate to access the Github API v3. Optional parameters allow different authentication methods. + This is the main class you instantiate to access the Github API v3. Optional parameters allow different authentication methods. """ - def __init__(self, login_or_token=None, password=None, base_url=DEFAULT_BASE_URL, timeout=DEFAULT_TIMEOUT, client_id=None, client_secret=None, user_agent='PyGithub/Python', per_page=DEFAULT_PER_PAGE, api_preview=False): + def __init__(self, login_or_token=None, password=None, jwt=None, base_url=DEFAULT_BASE_URL, timeout=DEFAULT_TIMEOUT, client_id=None, client_secret=None, user_agent='PyGithub/Python', per_page=DEFAULT_PER_PAGE, api_preview=False, verify=True, retry=None): """ :param login_or_token: string :param password: string @@ -74,17 +104,21 @@ def __init__(self, login_or_token=None, password=None, base_url=DEFAULT_BASE_URL :param client_secret: string :param user_agent: string :param per_page: int + :param verify: boolean or string + :param retry: int or urllib3.util.retry.Retry object """ assert login_or_token is None or isinstance(login_or_token, (str, unicode)), login_or_token assert password is None or isinstance(password, (str, unicode)), password + assert jwt is None or isinstance(jwt, (str, unicode)), jwt assert isinstance(base_url, (str, unicode)), base_url assert isinstance(timeout, (int, long)), timeout assert client_id is None or isinstance(client_id, (str, unicode)), client_id assert client_secret is None or isinstance(client_secret, (str, unicode)), client_secret assert user_agent is None or isinstance(user_agent, (str, unicode)), user_agent assert isinstance(api_preview, (bool)) - self.__requester = Requester(login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview) + assert retry is None or isinstance(retry, (int)) or isinstance(retry, (urllib3.util.Retry)) + self.__requester = Requester(login_or_token, password, jwt, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview, verify, retry) def __get_FIX_REPO_GET_GIT_REF(self): """ @@ -116,6 +150,7 @@ def __set_per_page(self, value): def rate_limiting(self): """ First value is requests remaining, second value is request limit. + :type: (int, int) """ remaining, limit = self.__requester.rate_limiting @@ -127,6 +162,7 @@ def rate_limiting(self): def rate_limiting_resettime(self): """ Unix timestamp indicating when rate limiting will reset. + :type: int """ if self.__requester.rate_limiting_resettime == 0: @@ -135,16 +171,16 @@ def rate_limiting_resettime(self): def get_rate_limit(self): """ - Don't forget you can access the rate limit returned in headers of last Github API v3 response, by :attr:`github.MainClass.Github.rate_limiting` and :attr:`github.MainClass.Github.rate_limiting_resettime`. + Rate limit status for different resources (core/search/graphql). :calls: `GET /rate_limit `_ :rtype: :class:`github.RateLimit.RateLimit` """ - headers, attributes = self.__requester.requestJsonAndCheck( + headers, data = self.__requester.requestJsonAndCheck( 'GET', '/rate_limit' ) - return RateLimit.RateLimit(self.__requester, headers, attributes, True) + return RateLimit.RateLimit(self.__requester, headers, data["resources"], True) @property def oauth_scopes(self): @@ -153,6 +189,35 @@ def oauth_scopes(self): """ return self.__requester.oauth_scopes + def get_license(self, key=github.GithubObject.NotSet): + """ + :calls: `GET /license/:license `_ + :param key: string + :rtype: :class:`github.License.License` + """ + + assert isinstance(key, (str, unicode)), key + headers, data = self.__requester.requestJsonAndCheck( + "GET", + "/licenses/" + key + ) + return github.License.License(self.__requester, headers, data, completed=True) + + def get_licenses(self): + """ + :calls: `GET /licenses `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.License.License` + """ + + url_parameters = dict() + + return github.PaginatedList.PaginatedList( + github.License.License, + self.__requester, + "/licenses", + url_parameters + ) + def get_user(self, login=github.GithubObject.NotSet): """ :calls: `GET /users/:user `_ or `GET /user `_ @@ -199,7 +264,24 @@ def get_organization(self, login): ) return github.Organization.Organization(self.__requester, headers, data, completed=True) - def get_repo(self, full_name_or_id, lazy=True): + def get_organizations(self, since=github.GithubObject.NotSet): + """ + :calls: `GET /organizations `_ + :param since: integer + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Organization.Organization` + """ + assert since is github.GithubObject.NotSet or isinstance(since, (int, long)), since + url_parameters = dict() + if since is not github.GithubObject.NotSet: + url_parameters["since"] = since + return github.PaginatedList.PaginatedList( + github.NamedUser.NamedUser, + self.__requester, + "/organizations", + url_parameters + ) + + def get_repo(self, full_name_or_id, lazy=False): """ :calls: `GET /repos/:owner/:repo `_ or `GET /repositories/:id `_ :rtype: :class:`github.Repository.Repository` @@ -215,16 +297,20 @@ def get_repo(self, full_name_or_id, lazy=True): ) return Repository.Repository(self.__requester, headers, data, completed=True) - def get_repos(self, since=github.GithubObject.NotSet): + def get_repos(self, since=github.GithubObject.NotSet, visibility=github.GithubObject.NotSet): """ :calls: `GET /repositories `_ :param since: integer + :param visibility: string ('all','public') :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` """ assert since is github.GithubObject.NotSet or isinstance(since, (int, long)), since url_parameters = dict() if since is not github.GithubObject.NotSet: url_parameters["since"] = since + if visibility is not github.GithubObject.NotSet: + assert visibility in ('public', 'all'), visibility + url_parameters["visibility"] = visibility return github.PaginatedList.PaginatedList( github.Repository.Repository, self.__requester, @@ -232,6 +318,19 @@ def get_repos(self, since=github.GithubObject.NotSet): url_parameters ) + def get_project(self, id): + """ + :calls: `GET /projects/:project_id `_ + :rtype: :class:`github.Project.Project` + :param id: integer + """ + headers, data = self.__requester.requestJsonAndCheck( + "GET", + "/projects/%d" % (id), + headers={"Accept": Consts.mediaTypeProjectsPreview} + ) + return github.Project.Project(self.__requester, headers, data, completed=True) + def get_gist(self, id): """ :calls: `GET /gists/:id `_ @@ -245,65 +344,22 @@ def get_gist(self, id): ) return github.Gist.Gist(self.__requester, headers, data, completed=True) - def get_gists(self): + def get_gists(self, since=github.GithubObject.NotSet): """ :calls: `GET /gists/public `_ + :param since: datetime.datetime format YYYY-MM-DDTHH:MM:SSZ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Gist.Gist` """ + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + url_parameters = dict() + if since is not github.GithubObject.NotSet: + url_parameters["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") return github.PaginatedList.PaginatedList( github.Gist.Gist, self.__requester, "/gists/public", - None - ) - - def legacy_search_repos(self, keyword, language=github.GithubObject.NotSet): - """ - :calls: `GET /legacy/repos/search/:keyword `_ - :param keyword: string - :param language: string - :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` - """ - assert isinstance(keyword, (str, unicode)), keyword - assert language is github.GithubObject.NotSet or isinstance(language, (str, unicode)), language - args = {} if language is github.GithubObject.NotSet else {"language": language} - return Legacy.PaginatedList( - "/legacy/repos/search/" + urllib.quote_plus(keyword, safe='/%:><'), - args, - self.__requester, - "repositories", - Legacy.convertRepo, - github.Repository.Repository, - ) - - def legacy_search_users(self, keyword): - """ - :calls: `GET /legacy/user/search/:keyword `_ - :param keyword: string - :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` - """ - assert isinstance(keyword, (str, unicode)), keyword - return Legacy.PaginatedList( - "/legacy/user/search/" + urllib.quote_plus(keyword, safe='/%:><'), - {}, - self.__requester, - "users", - Legacy.convertUser, - github.NamedUser.NamedUser, - ) - - def legacy_search_user_by_email(self, email): - """ - :calls: `GET /legacy/user/email/:email `_ - :param email: string - :rtype: :class:`github.NamedUser.NamedUser` - """ - assert isinstance(email, (str, unicode)), email - headers, data = self.__requester.requestJsonAndCheck( - "GET", - "/legacy/user/email/" + email + url_parameters ) - return github.NamedUser.NamedUser(self.__requester, headers, Legacy.convertUser(data["user"]), completed=False) def search_repositories(self, query, sort=github.GithubObject.NotSet, order=github.GithubObject.NotSet, **qualifiers): """ @@ -410,12 +466,13 @@ def search_issues(self, query, sort=github.GithubObject.NotSet, order=github.Git url_parameters ) - def search_code(self, query, sort=github.GithubObject.NotSet, order=github.GithubObject.NotSet, **qualifiers): + def search_code(self, query, sort=github.GithubObject.NotSet, order=github.GithubObject.NotSet, highlight=False, **qualifiers): """ :calls: `GET /search/code `_ :param query: string :param sort: string ('indexed') :param order: string ('asc', 'desc') + :param highlight: boolean (True, False) :param qualifiers: keyword dict query qualifiers :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.ContentFile.ContentFile` """ @@ -438,11 +495,82 @@ def search_code(self, query, sort=github.GithubObject.NotSet, order=github.Githu url_parameters["q"] = ' '.join(query_chunks) assert url_parameters["q"], "need at least one qualifier" + headers = {"Accept": Consts.highLightSearchPreview} if highlight else None + return github.PaginatedList.PaginatedList( github.ContentFile.ContentFile, self.__requester, "/search/code", - url_parameters + url_parameters, + headers=headers + ) + + def search_commits(self, query, sort=github.GithubObject.NotSet, order=github.GithubObject.NotSet, **qualifiers): + """ + :calls: `GET /search/commits `_ + :param query: string + :param sort: string ('author-date', 'committer-date') + :param order: string ('asc', 'desc') + :param qualifiers: keyword dict query qualifiers + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Commit.Commit` + """ + assert isinstance(query, (str, unicode)), query + url_parameters = dict() + if sort is not github.GithubObject.NotSet: # pragma no branch (Should be covered) + assert sort in ('author-date', 'committer-date'), sort + url_parameters["sort"] = sort + if order is not github.GithubObject.NotSet: # pragma no branch (Should be covered) + assert order in ('asc', 'desc'), order + url_parameters["order"] = order + + query_chunks = [] + if query: # pragma no branch (Should be covered) + query_chunks.append(query) + + for qualifier, value in qualifiers.items(): + query_chunks.append("%s:%s" % (qualifier, value)) + + url_parameters["q"] = ' '.join(query_chunks) + assert url_parameters["q"], "need at least one qualifier" + + return github.PaginatedList.PaginatedList( + github.Commit.Commit, + self.__requester, + "/search/commits", + url_parameters, + headers={ + "Accept": Consts.mediaTypeCommitSearchPreview + } + ) + + def search_topics(self, query, **qualifiers): + """ + :calls: `GET /search/topics `_ + :param query: string + :param qualifiers: keyword dict query qualifiers + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Topic.Topic` + """ + assert isinstance(query, (str, unicode)), query + url_parameters = dict() + + query_chunks = [] + if query: # pragma no branch (Should be covered) + query_chunks.append(query) + + for qualifier, value in qualifiers.items(): + query_chunks.append("%s:%s" % (qualifier, value)) + + url_parameters["q"] = ' '.join(query_chunks) + assert url_parameters["q"], "need at least one qualifier" + + return github.PaginatedList.PaginatedList( + github.Topic.Topic, + self.__requester, + "/search/topics", + url_parameters, + headers={ + "Accept": Consts.mediaTypeTopicsPreview + } ) def render_markdown(self, text, context=github.GithubObject.NotSet): @@ -558,48 +686,6 @@ def load(self, f): """ return self.create_from_raw_data(*pickle.load(f)) - def get_api_status(self): - """ - This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com. - - :calls: `GET /api/status.json `_ - :rtype: :class:`github.Status.Status` - """ - headers, attributes = self.__requester.requestJsonAndCheck( - "GET", - "/api/status.json", - cnx="status" - ) - return Status.Status(self.__requester, headers, attributes, completed=True) - - def get_last_api_status_message(self): - """ - This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com. - - :calls: `GET /api/last-message.json `_ - :rtype: :class:`github.StatusMessage.StatusMessage` - """ - headers, attributes = self.__requester.requestJsonAndCheck( - "GET", - "/api/last-message.json", - cnx="status" - ) - return StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True) - - def get_api_status_messages(self): - """ - This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com. - - :calls: `GET /api/messages.json `_ - :rtype: list of :class:`github.StatusMessage.StatusMessage` - """ - headers, data = self.__requester.requestJsonAndCheck( - "GET", - "/api/messages.json", - cnx="status" - ) - return [StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True) for attributes in data] - def get_installation(self, id): """ @@ -622,71 +708,70 @@ def __init__(self, integration_id, private_key): self.integration_id = integration_id self.private_key = private_key - def create_jwt(self): + def create_jwt(self, expiration=60): """ - Creates a signed JWT, valid for 60 seconds. + Creates a signed JWT, valid for 60 seconds by default. + The expiration can be extended beyond this, to a maximum of 600 seconds. + + :param expiration: int :return: """ now = int(time.time()) payload = { "iat": now, - "exp": now + 60, + "exp": now + expiration, "iss": self.integration_id } - return jwt.encode( + encrypted = jwt.encode( payload, key=self.private_key, algorithm="RS256" ) + if atLeastPython3: + encrypted = encrypted.decode('utf-8') + + return encrypted + def get_access_token(self, installation_id, user_id=None): """ Get an access token for the given installation id. - POSTs https://api.github.com/installations//access_tokens + POSTs https://api.github.com/app/installations//access_tokens :param user_id: int :param installation_id: int :return: :class:`github.InstallationAuthorization.InstallationAuthorization` """ - body = None + body = {} if user_id: - body = json.dumps({"user_id": user_id}) - conn = HTTPSConnection("api.github.com") - conn.request( - method="POST", - url="/installations/{}/access_tokens".format(installation_id), + body = {"user_id": user_id} + response = requests.post( + "https://api.github.com/app/installations/{}/access_tokens".format(installation_id), headers={ "Authorization": "Bearer {}".format(self.create_jwt()), - "Accept": "application/vnd.github.machine-man-preview+json", + "Accept": Consts.mediaTypeIntegrationPreview, "User-Agent": "PyGithub/Python" }, - body=body + json=body ) - response = conn.getresponse() - response_text = response.read() - - if atLeastPython3: - response_text = response_text.decode('utf-8') - conn.close() - if response.status == 201: - data = json.loads(response_text) + if response.status_code == 201: return InstallationAuthorization.InstallationAuthorization( requester=None, # not required, this is a NonCompletableGithubObject headers={}, # not required, this is a NonCompletableGithubObject - attributes=data, + attributes=response.json(), completed=True ) - elif response.status == 403: + elif response.status_code == 403: raise GithubException.BadCredentialsException( - status=response.status, - data=response_text + status=response.status_code, + data=response.text ) - elif response.status == 404: + elif response.status_code == 404: raise GithubException.UnknownObjectException( - status=response.status, - data=response_text + status=response.status_code, + data=response.text ) raise GithubException.GithubException( - status=response.status, - data=response_text - ) \ No newline at end of file + status=response.status_code, + data=response.text + ) diff --git a/github/Migration.py b/github/Migration.py new file mode 100644 index 0000000..3f6a623 --- /dev/null +++ b/github/Migration.py @@ -0,0 +1,219 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2012 Vincent Jacques # +# Copyright 2012 Zearin # +# Copyright 2013 AKFish # +# Copyright 2013 Vincent Jacques # +# Copyright 2013 martinqt # +# Copyright 2014 Andy Casey # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 John Eskew # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject +import github.PaginatedList + +import github.NamedUser + +import Consts + +class Migration(github.GithubObject.CompletableGithubObject): + """ + This class represents Migrations. The reference can be found here http://developer.github.com/v3/migrations/ + """ + + def __repr__(self): + return self.get__repr__({"state": self._state.value, "url": self._url.value}) + + @property + def id(self): + """ + :type: int + """ + return self._id.value + + @property + def owner(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._owner) + return self._owner.value + + @property + def guid(self): + """ + :type: str + """ + self._completeIfNotSet(self._guid) + return self._guid.value + + @property + def state(self): + """ + :type: str + """ + self._completeIfNotSet(self._guid) + return self._state.value + + @property + def lock_repositories(self): + """ + :type: bool + """ + self._completeIfNotSet(self._repositories) + return self._lock_repositories.value + + @property + def exclude_attachments(self): + """ + :type: bool + """ + self._completeIfNotSet(self._exclude_attachments) + return self._exclude_attachments.value + + @property + def repositories(self): + """ + :type: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` + """ + self._completeIfNotSet(self._repositories) + return self._repositories.value + + @property + def url(self): + """ + :type: str + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def created_at(self): + """ + :type: datetime.datetime + :rtype: None + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value + + @property + def updated_at(self): + """ + :type: datetime.datetime + :rtype: None + """ + self._completeIfNotSet(self._updated_at) + return self._updated_at.value + + def get_status(self): + """ + :calls: `GET /user/migrations/:migration_id`_ + :rtype: str + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url, + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + self._useAttributes(data) + return self.state + + def get_archive_url(self): + """ + :calls: `GET /user/migrations/:migration_id/archive`_ + :rtype: str + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/archive", + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + return data["data"] + + def delete(self): + """ + :calls: `DELETE /user/migrations/:migration_id/archive`_ + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/archive", + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + + def unlock_repo(self, repo_name): + """ + :calls: `DELETE /user/migrations/:migration_id/repos/:repo_name/lock`_ + :param repo_name: str + :rtype: None + """ + assert isinstance(repo_name, (str, unicode)), repo_name + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/repos/" + repo_name + "/lock", + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + + def _initAttributes(self): + self._id = github.GithubObject.NotSet + self._owner = github.GithubObject.NotSet + self._guid = github.GithubObject.NotSet + self._state = github.GithubObject.NotSet + self._lock_repositories = github.GithubObject.NotSet + self._exclude_attachments = github.GithubObject.NotSet + self._repositories = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._updated_at = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "id" in attributes: + self._id = self._makeIntAttribute(attributes["id"]) + if "owner" in attributes: + self._owner = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["owner"]) + if "guid" in attributes: + self._guid = self._makeStringAttribute(attributes["guid"]) + if "state" in attributes: + self._state = self._makeStringAttribute(attributes["state"]) + if "lock_repositories" in attributes: + self._lock_repositories = self._makeBoolAttribute(attributes["lock_repositories"]) + if "exclude_attachments" in attributes: + self._exclude_attachments = self._makeBoolAttribute(attributes["exclude_attachments"]) + if "repositories" in attributes: + self._repositories = self._makeListOfClassesAttribute(github.Repository.Repository, attributes["repositories"]) + if "url" in attributes: + self._url = self._makeStringAttribute(attributes["url"]) + if "created_at" in attributes: + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "updated_at" in attributes: + self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) diff --git a/github/Milestone.py b/github/Milestone.py index ebe59df..18d0e5e 100644 --- a/github/Milestone.py +++ b/github/Milestone.py @@ -1,15 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import datetime @@ -41,7 +45,7 @@ class Milestone(github.GithubObject.CompletableGithubObject): """ def __repr__(self): - return self.get__repr__({"number": self._number.value}) + return self.get__repr__({"number": self._number.value, "title": self._title.value}) @property def closed_issues(self): diff --git a/github/NamedUser.py b/github/NamedUser.py index 2549e67..91c8524 100644 --- a/github/NamedUser.py +++ b/github/NamedUser.py @@ -1,15 +1,26 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Steve English # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Simon # +# Copyright 2018 Iraquitan Cordeiro Filho # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Victor Granic # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 namc # +# Copyright 2018 sfdye # +# Copyright 2018 itsbruce # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +35,9 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ + +import datetime import github.GithubObject import github.PaginatedList @@ -32,6 +45,7 @@ import github.Gist import github.Repository import github.NamedUser +import github.Permissions import github.Plan import github.Organization import github.Event @@ -39,12 +53,26 @@ class NamedUser(github.GithubObject.CompletableGithubObject): """ - This class represents NamedUsers as returned for example by http://developer.github.com/v3/todo + This class represents NamedUsers. The reference can be found here https://developer.github.com/v3/users/#get-a-single-user """ def __repr__(self): return self.get__repr__({"login": self._login.value}) + @property + def node_id(self): + """ + :type: string + """ + self._completeIfNotSet(self._node_id) + return self._node_id.value + + def __hash__(self): + return hash((self.id, self.login)) + + def __eq__(self, other): + return isinstance(other, type(self)) and self.login == other.login and self.id == other.id + @property def avatar_url(self): """ @@ -237,6 +265,14 @@ def owned_private_repos(self): self._completeIfNotSet(self._owned_private_repos) return self._owned_private_repos.value + @property + def permissions(self): + """ + :type: :class:`github.Permissions.Permissions` + """ + self._completeIfNotSet(self._permissions) + return self._permissions.value + @property def plan(self): """ @@ -285,6 +321,14 @@ def repos_url(self): self._completeIfNotSet(self._repos_url) return self._repos_url.value + @property + def site_admin(self): + """ + :type: bool + """ + self._completeIfNotSet(self._site_admin) + return self._site_admin.value + @property def starred_url(self): """ @@ -301,6 +345,14 @@ def subscriptions_url(self): self._completeIfNotSet(self._subscriptions_url) return self._subscriptions_url.value + @property + def suspended_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._suspended_at) + return self._suspended_at.value + @property def total_private_repos(self): """ @@ -369,16 +421,21 @@ def get_following(self): None ) - def get_gists(self): + def get_gists(self, since=github.GithubObject.NotSet): """ :calls: `GET /users/:user/gists `_ + :param since: datetime.datetime format YYYY-MM-DDTHH:MM:SSZ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Gist.Gist` """ + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + url_parameters = dict() + if since is not github.GithubObject.NotSet: + url_parameters["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") return github.PaginatedList.PaginatedList( github.Gist.Gist, self._requester, self.url + "/gists", - None + url_parameters ) def get_keys(self): @@ -454,16 +511,25 @@ def get_repo(self, name): ) return github.Repository.Repository(self._requester, headers, data, completed=True) - def get_repos(self, type=github.GithubObject.NotSet): + def get_repos(self, type=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, + direction=github.GithubObject.NotSet): """ :calls: `GET /users/:user/repos `_ :param type: string + :param sort: string + :param direction: string :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository` """ assert type is github.GithubObject.NotSet or isinstance(type, (str, unicode)), type + assert sort is github.GithubObject.NotSet or isinstance(sort, (str, unicode)), sort + assert direction is github.GithubObject.NotSet or isinstance(direction, (str, unicode)), direction url_parameters = dict() if type is not github.GithubObject.NotSet: url_parameters["type"] = type + if sort is not github.GithubObject.NotSet: + url_parameters["sort"] = sort + if direction is not github.GithubObject.NotSet: + url_parameters["direction"] = direction return github.PaginatedList.PaginatedList( github.Repository.Repository, self._requester, @@ -547,16 +613,20 @@ def _initAttributes(self): self._location = github.GithubObject.NotSet self._login = github.GithubObject.NotSet self._name = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet self._organizations_url = github.GithubObject.NotSet self._owned_private_repos = github.GithubObject.NotSet + self._permissions = github.GithubObject.NotSet self._plan = github.GithubObject.NotSet self._private_gists = github.GithubObject.NotSet self._public_gists = github.GithubObject.NotSet self._public_repos = github.GithubObject.NotSet self._received_events_url = github.GithubObject.NotSet self._repos_url = github.GithubObject.NotSet + self._site_admin = github.GithubObject.NotSet self._starred_url = github.GithubObject.NotSet self._subscriptions_url = github.GithubObject.NotSet + self._suspended_at = github.GithubObject.NotSet self._total_private_repos = github.GithubObject.NotSet self._type = github.GithubObject.NotSet self._updated_at = github.GithubObject.NotSet @@ -607,10 +677,14 @@ def _useAttributes(self, attributes): self._login = self._makeStringAttribute(attributes["login"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) if "organizations_url" in attributes: # pragma no branch self._organizations_url = self._makeStringAttribute(attributes["organizations_url"]) if "owned_private_repos" in attributes: # pragma no branch self._owned_private_repos = self._makeIntAttribute(attributes["owned_private_repos"]) + if "permissions" in attributes: # pragma no branch + self._permissions = self._makeClassAttribute(github.Permissions.Permissions, attributes["permissions"]) if "plan" in attributes: # pragma no branch self._plan = self._makeClassAttribute(github.Plan.Plan, attributes["plan"]) if "private_gists" in attributes: # pragma no branch @@ -623,10 +697,14 @@ def _useAttributes(self, attributes): self._received_events_url = self._makeStringAttribute(attributes["received_events_url"]) if "repos_url" in attributes: # pragma no branch self._repos_url = self._makeStringAttribute(attributes["repos_url"]) + if "site_admin" in attributes: # pragma no branch + self._site_admin = self._makeBoolAttribute(attributes["site_admin"]) if "starred_url" in attributes: # pragma no branch self._starred_url = self._makeStringAttribute(attributes["starred_url"]) if "subscriptions_url" in attributes: # pragma no branch self._subscriptions_url = self._makeStringAttribute(attributes["subscriptions_url"]) + if "suspended_at" in attributes: # pragma no branch + self._suspended_at = self._makeDatetimeAttribute(attributes["suspended_at"]) if "total_private_repos" in attributes: # pragma no branch self._total_private_repos = self._makeIntAttribute(attributes["total_private_repos"]) if "type" in attributes: # pragma no branch diff --git a/github/Notification.py b/github/Notification.py index b4b0205..b62d75f 100644 --- a/github/Notification.py +++ b/github/Notification.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 AKFish # # Copyright 2013 Peter Golm # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +27,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -111,6 +115,15 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + def mark_as_read(self): + """ + :calls: `PATCH /notifications/threads/:id `_ + """ + headers, data = self._requester.requestJsonAndCheck( + "PATCH", + self.url, + ) + def _initAttributes(self): self._id = github.GithubObject.NotSet self._last_read_at = github.GithubObject.NotSet diff --git a/github/NotificationSubject.py b/github/NotificationSubject.py index c428942..e970a17 100644 --- a/github/NotificationSubject.py +++ b/github/NotificationSubject.py @@ -1,12 +1,17 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -21,14 +26,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class NotificationSubject(github.GithubObject.NonCompletableGithubObject): """ - This class represents Subjects of Notifications as returned for example by http://developer.github.com/v3/activity/notifications/#list-your-notifications + This class represents Subjects of Notifications. The reference can be found here http://developer.github.com/v3/activity/notifications/#list-your-notifications """ def __repr__(self): diff --git a/github/Organization.py b/github/Organization.py index 50e796f..ff7f367 100644 --- a/github/Organization.py +++ b/github/Organization.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Steve English # # Copyright 2012 Vincent Jacques # @@ -8,9 +8,23 @@ # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Sebastien Besson # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Matthew Neal # +# Copyright 2016 Michael Pereira # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Balázs Rostás # +# Copyright 2018 Anton Nguyen # +# Copyright 2018 Jacopo Notarstefano # +# Copyright 2018 Jasper van Wanrooy # +# Copyright 2018 Raihaan <31362124+res0nance@users.noreply.github.com> # +# Copyright 2018 Tim Boring # +# Copyright 2018 sfdye # +# Copyright 2018 Steve Kowalik # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -25,9 +39,10 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import datetime +import json import github.GithubObject import github.PaginatedList @@ -36,8 +51,10 @@ import github.Team import github.Event import github.Repository +import github.Project import github.NamedUser +import Consts class Organization(github.GithubObject.CompletableGithubObject): """ @@ -45,7 +62,7 @@ class Organization(github.GithubObject.CompletableGithubObject): """ def __repr__(self): - return self.get__repr__({"id": self._id.value, "name": self._name.value}) + return self.get__repr__({"login": self._login.value}) @property def avatar_url(self): @@ -95,6 +112,14 @@ def created_at(self): self._completeIfNotSet(self._created_at) return self._created_at.value + @property + def description(self): + """ + :type: string + """ + self._completeIfNotSet(self._description) + return self._description.value + @property def disk_usage(self): """ @@ -279,6 +304,23 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + def add_to_members(self, member, role=github.GithubObject.NotSet): + """ + :calls: `PUT /orgs/:org/memberships/:user `_ + :param member: :class:`github.NamedUser.NamedUser` + :param role: string + :rtype: None + """ + assert isinstance(role, (str, unicode)), role + assert isinstance(member, github.NamedUser.NamedUser), member + put_parameters = {} + if role is not github.GithubObject.NotSet: + put_parameters["role"] = role + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.url + "/memberships/" + member._identity, input=put_parameters + ) + def add_to_public_members(self, public_member): """ :calls: `PUT /orgs/:org/public_members/:user `_ @@ -308,7 +350,41 @@ def create_fork(self, repo): ) return github.Repository.Repository(self._requester, headers, data, completed=True) - def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, team_id=github.GithubObject.NotSet, auto_init=github.GithubObject.NotSet, gitignore_template=github.GithubObject.NotSet): + def create_hook(self, name, config, events=github.GithubObject.NotSet, active=github.GithubObject.NotSet): + """ + :calls: `POST /orgs/:owner/hooks `_ + :param name: string + :param config: dict + :param events: list of string + :param active: bool + :rtype: :class:`github.Hook.Hook` + """ + assert isinstance(name, (str, unicode)), name + assert isinstance(config, dict), config + assert events is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) for element in events), events + assert active is github.GithubObject.NotSet or isinstance(active, bool), active + post_parameters = { + "name": name, + "config": config, + } + if events is not github.GithubObject.NotSet: + post_parameters["events"] = events + if active is not github.GithubObject.NotSet: + post_parameters["active"] = active + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/hooks", + input=post_parameters + ) + return github.Hook.Hook(self._requester, headers, data, completed=True) + + def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, + private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, + has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, + has_projects=github.GithubObject.NotSet, team_id=github.GithubObject.NotSet, + auto_init=github.GithubObject.NotSet, license_template=github.GithubObject.NotSet, + gitignore_template=github.GithubObject.NotSet, allow_squash_merge=github.GithubObject.NotSet, + allow_merge_commit=github.GithubObject.NotSet, allow_rebase_merge=github.GithubObject.NotSet): """ :calls: `POST /orgs/:org/repos `_ :param name: string @@ -318,9 +394,14 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git :param has_issues: bool :param has_wiki: bool :param has_downloads: bool - :param team_id: :class:`github.Team.Team` + :param has_projects: bool + :param team_id: : int :param auto_init: bool + :param license_template: string :param gitignore_template: string + :param allow_squash_merge: bool + :param allow_merge_commit: bool + :param allow_rebase_merge: bool :rtype: :class:`github.Repository.Repository` """ assert isinstance(name, (str, unicode)), name @@ -330,9 +411,14 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git assert has_issues is github.GithubObject.NotSet or isinstance(has_issues, bool), has_issues assert has_wiki is github.GithubObject.NotSet or isinstance(has_wiki, bool), has_wiki assert has_downloads is github.GithubObject.NotSet or isinstance(has_downloads, bool), has_downloads - assert team_id is github.GithubObject.NotSet or isinstance(team_id, github.Team.Team), team_id + assert has_projects is github.GithubObject.NotSet or isinstance(has_projects, bool), has_projects + assert team_id is github.GithubObject.NotSet or isinstance(team_id, (int, long)), team_id assert auto_init is github.GithubObject.NotSet or isinstance(auto_init, bool), auto_init + assert license_template is github.GithubObject.NotSet or isinstance(license_template, (str, unicode)), license_template assert gitignore_template is github.GithubObject.NotSet or isinstance(gitignore_template, (str, unicode)), gitignore_template + assert allow_squash_merge is github.GithubObject.NotSet or isinstance(allow_squash_merge, bool), allow_squash_merge + assert allow_merge_commit is github.GithubObject.NotSet or isinstance(allow_merge_commit, bool), allow_merge_commit + assert allow_rebase_merge is github.GithubObject.NotSet or isinstance(allow_rebase_merge, bool), allow_rebase_merge post_parameters = { "name": name, } @@ -348,12 +434,22 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git post_parameters["has_wiki"] = has_wiki if has_downloads is not github.GithubObject.NotSet: post_parameters["has_downloads"] = has_downloads + if has_projects is not github.GithubObject.NotSet: + post_parameters["has_projects"] = has_projects if team_id is not github.GithubObject.NotSet: - post_parameters["team_id"] = team_id._identity + post_parameters["team_id"] = team_id if auto_init is not github.GithubObject.NotSet: post_parameters["auto_init"] = auto_init + if license_template is not github.GithubObject.NotSet: + post_parameters["license_template"] = license_template if gitignore_template is not github.GithubObject.NotSet: post_parameters["gitignore_template"] = gitignore_template + if allow_squash_merge is not github.GithubObject.NotSet: + post_parameters["allow_squash_merge"] = allow_squash_merge + if allow_merge_commit is not github.GithubObject.NotSet: + post_parameters["allow_merge_commit"] = allow_merge_commit + if allow_rebase_merge is not github.GithubObject.NotSet: + post_parameters["allow_rebase_merge"] = allow_rebase_merge headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/repos", @@ -361,17 +457,19 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git ) return github.Repository.Repository(self._requester, headers, data, completed=True) - def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=github.GithubObject.NotSet): + def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=github.GithubObject.NotSet, privacy=github.GithubObject.NotSet): """ :calls: `POST /orgs/:org/teams `_ :param name: string :param repo_names: list of :class:`github.Repository.Repository` :param permission: string + :param privacy: string :rtype: :class:`github.Team.Team` """ assert isinstance(name, (str, unicode)), name assert repo_names is github.GithubObject.NotSet or all(isinstance(element, github.Repository.Repository) for element in repo_names), repo_names assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission + assert privacy is github.GithubObject.NotSet or isinstance(privacy, (str, unicode)), privacy post_parameters = { "name": name, } @@ -379,6 +477,8 @@ def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=gi post_parameters["repo_names"] = [element._identity for element in repo_names] if permission is not github.GithubObject.NotSet: post_parameters["permission"] = permission + if privacy is not github.GithubObject.NotSet: + post_parameters['privacy'] = privacy headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/teams", @@ -386,12 +486,25 @@ def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=gi ) return github.Team.Team(self._requester, headers, data, completed=True) - def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObject.NotSet, company=github.GithubObject.NotSet, email=github.GithubObject.NotSet, location=github.GithubObject.NotSet, name=github.GithubObject.NotSet): + def delete_hook(self, id): + """ + :calls: `DELETE /orgs/:owner/hooks/:id `_ + :param id: integer + :rtype: None` + """ + assert isinstance(id, (int, long)), id + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/hooks/" + str(id) + ) + + def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObject.NotSet, company=github.GithubObject.NotSet, description=github.GithubObject.NotSet, email=github.GithubObject.NotSet, location=github.GithubObject.NotSet, name=github.GithubObject.NotSet): """ :calls: `PATCH /orgs/:org `_ :param billing_email: string :param blog: string :param company: string + :param description: string :param email: string :param location: string :param name: string @@ -400,6 +513,7 @@ def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObjec assert billing_email is github.GithubObject.NotSet or isinstance(billing_email, (str, unicode)), billing_email assert blog is github.GithubObject.NotSet or isinstance(blog, (str, unicode)), blog assert company is github.GithubObject.NotSet or isinstance(company, (str, unicode)), company + assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description assert email is github.GithubObject.NotSet or isinstance(email, (str, unicode)), email assert location is github.GithubObject.NotSet or isinstance(location, (str, unicode)), location assert name is github.GithubObject.NotSet or isinstance(name, (str, unicode)), name @@ -410,6 +524,8 @@ def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObjec post_parameters["blog"] = blog if company is not github.GithubObject.NotSet: post_parameters["company"] = company + if description is not github.GithubObject.NotSet: + post_parameters["description"] = description if email is not github.GithubObject.NotSet: post_parameters["email"] = email if location is not github.GithubObject.NotSet: @@ -423,6 +539,36 @@ def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObjec ) self._useAttributes(data) + def edit_hook(self, id, name, config, events=github.GithubObject.NotSet, active=github.GithubObject.NotSet): + """ + :calls: `PATCH /orgs/:owner/hooks/:id `_ + :param id: integer + :param name: string + :param config: dict + :param events: list of string + :param active: bool + :rtype: :class:`github.Hook.Hook` + """ + assert isinstance(id, (int, long)), id + assert isinstance(name, (str, unicode)), name + assert isinstance(config, dict), config + assert events is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) for element in events), events + assert active is github.GithubObject.NotSet or isinstance(active, bool), active + post_parameters = { + "name": name, + "config": config, + } + if events is not github.GithubObject.NotSet: + post_parameters["events"] = events + if active is not github.GithubObject.NotSet: + post_parameters["active"] = active + headers, data = self._requester.requestJsonAndCheck( + "PATCH", + self.url + "/hooks/" + str(id), + input=post_parameters + ) + return github.Hook.Hook(self._requester, headers, data, completed=True) + def get_events(self): """ :calls: `GET /orgs/:org/events `_ @@ -435,6 +581,31 @@ def get_events(self): None ) + def get_hook(self, id): + """ + :calls: `GET /orgs/:owner/hooks/:id `_ + :param id: integer + :rtype: :class:`github.Hook.Hook` + """ + assert isinstance(id, (int, long)), id + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/hooks/" + str(id) + ) + return github.Hook.Hook(self._requester, headers, data, completed=True) + + def get_hooks(self): + """ + :calls: `GET /orgs/:owner/hooks `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Hook.Hook` + """ + return github.PaginatedList.PaginatedList( + github.Hook.Hook, + self._requester, + self.url + "/hooks", + None + ) + def get_issues(self, filter=github.GithubObject.NotSet, state=github.GithubObject.NotSet, labels=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet, since=github.GithubObject.NotSet): """ :calls: `GET /orgs/:org/issues `_ @@ -498,6 +669,25 @@ def get_members(self, filter_=github.GithubObject.NotSet, url_parameters ) + def get_projects(self, state=github.GithubObject.NotSet): + """ + :calls: `GET /orgs/:org/projects `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Project.Project` + :param state: string + """ + + url_parameters = dict() + if state is not github.GithubObject.NotSet: + url_parameters["state"] = state + + return github.PaginatedList.PaginatedList( + github.Project.Project, + self._requester, + self.url + "/projects", + url_parameters, + {"Accept": Consts.mediaTypeProjectsPreview} + ) + def get_public_members(self): """ :calls: `GET /orgs/:org/public_members `_ @@ -510,6 +700,49 @@ def get_public_members(self): None ) + def get_outside_collaborators(self, filter_=github.GithubObject.NotSet): + """ + :calls: `GET /orgs/:org/outside_collaborators `_ + :param filter_: string + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` + """ + assert (filter_ is github.GithubObject.NotSet or + isinstance(filter_, (str, unicode))), filter_ + + url_parameters = {} + if filter_ is not github.GithubObject.NotSet: + url_parameters["filter"] = filter_ + return github.PaginatedList.PaginatedList( + github.NamedUser.NamedUser, + self._requester, + self.url + "/outside_collaborators", + url_parameters + ) + + def remove_outside_collaborator(self, collaborator): + """ + :calls: `DELETE /orgs/:org/outside_collaborators/:username `_ + :param collaborator: :class:`github.NamedUser.NamedUser` + :rtype: None + """ + assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/outside_collaborators/" + collaborator._identity + ) + + def convert_to_outside_collaborator(self, member): + """ + :calls: `PUT /orgs/:org/outside_collaborators/:username `_ + :param member: :class:`github.NamedUser.NamedUser` + :rtype: None + """ + assert isinstance(member, github.NamedUser.NamedUser), member + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.url + "/outside_collaborators/" + member._identity + ) + def get_repo(self, name): """ :calls: `GET /repos/:owner/:repo `_ @@ -565,6 +798,37 @@ def get_teams(self): None ) + def invite_user(self, user=github.GithubObject.NotSet, email=github.GithubObject.NotSet, role=github.GithubObject.NotSet, teams=github.GithubObject.NotSet): + """ + :calls: `POST /orgs/:org/invitations `_ + :param user: :class:`github.NamedUser.NamedUser` + :param email: string + :param role: string + :param teams: array of :class:`github.Team.Team` + :rtype: None + """ + assert user is github.GithubObject.NotSet or isinstance(user, github.NamedUser.NamedUser), user + assert email is github.GithubObject.NotSet or isinstance(email, (str, unicode)), email + assert (email is github.GithubObject.NotSet) ^ (user is github.GithubObject.NotSet), "specify only one of email or user" + parameters = {} + if user is not github.GithubObject.NotSet: + parameters["invitee_id"] = user.id + elif email is not github.GithubObject.NotSet: + parameters["email"] = email + if role is not github.GithubObject.NotSet: + assert isinstance(role, (str, unicode)), role + assert role in ['admin', 'direct_member', 'billing_manager'] + parameters["role"] = role + if teams is not github.GithubObject.NotSet: + assert all(isinstance(team, github.Team.Team) for team in teams) + parameters["team_ids"] = [t.id for t in teams] + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/invitations", + headers={'Accept': Consts.mediaTypeOrganizationInvitationPreview}, + input=parameters + ) + def has_in_members(self, member): """ :calls: `GET /orgs/:org/members/:user `_ @@ -596,6 +860,18 @@ def has_in_public_members(self, public_member): ) return status == 204 + def remove_from_membership(self, member): + """ + :calls: `DELETE /orgs/:org/memberships/:user `_ + :param member: :class:`github.NamedUser.NamedUser` + :rtype: None + """ + assert isinstance(member, github.NamedUser.NamedUser), member + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/memberships/" + member._identity + ) + def remove_from_members(self, member): """ :calls: `DELETE /orgs/:org/members/:user `_ @@ -620,6 +896,50 @@ def remove_from_public_members(self, public_member): self.url + "/public_members/" + public_member._identity ) + def create_migration(self, repos, lock_repositories=github.GithubObject.NotSet, exclude_attachments=github.GithubObject.NotSet): + """ + :calls: `POST /orgs/:org/migrations`_ + :param repos: list or tuple of str + :param lock_repositories: bool + :param exclude_attachments: bool + :rtype: :class:`github.Migration.Migration` + """ + assert isinstance(repos, (list, tuple)), repos + assert all(isinstance(repo, (str, unicode)) for repo in repos), repos + assert lock_repositories is github.GithubObject.NotSet or isinstance(lock_repositories, bool), lock_repositories + assert exclude_attachments is github.GithubObject.NotSet or isinstance(exclude_attachments, bool), exclude_attachments + post_parameters = { + "repositories": repos + } + if lock_repositories is not github.GithubObject.NotSet: + post_parameters["lock_repositories"] = lock_repositories + if exclude_attachments is not github.GithubObject.NotSet: + post_parameters["exclude_attachments"] = exclude_attachments + headers, data = self._requester.requestJsonAndCheck( + "POST", + "/orgs/" + self.login + "/migrations", + input=post_parameters, + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + return github.Migration.Migration(self._requester, headers, data, completed=True) + + def get_migrations(self): + """ + :calls: `GET /orgs/:org/migrations`_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Migration.Migration` + """ + return github.PaginatedList.PaginatedList( + github.Migration.Migration, + self._requester, + "/orgs/" + self.login + "/migrations", + None, + headers={ + "Accept": Consts.mediaTypeMigrationPreview + } + ) + def _initAttributes(self): self._avatar_url = github.GithubObject.NotSet self._billing_email = github.GithubObject.NotSet @@ -627,6 +947,7 @@ def _initAttributes(self): self._collaborators = github.GithubObject.NotSet self._company = github.GithubObject.NotSet self._created_at = github.GithubObject.NotSet + self._description = github.GithubObject.NotSet self._disk_usage = github.GithubObject.NotSet self._email = github.GithubObject.NotSet self._events_url = github.GithubObject.NotSet @@ -664,6 +985,8 @@ def _useAttributes(self, attributes): self._company = self._makeStringAttribute(attributes["company"]) if "created_at" in attributes: # pragma no branch self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "description" in attributes: # pragma no branch + self._description = self._makeStringAttribute(attributes["description"]) if "disk_usage" in attributes: # pragma no branch self._disk_usage = self._makeIntAttribute(attributes["disk_usage"]) if "email" in attributes: # pragma no branch diff --git a/github/PaginatedList.py b/github/PaginatedList.py index 81e2122..3de289f 100644 --- a/github/PaginatedList.py +++ b/github/PaginatedList.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # @@ -8,9 +8,19 @@ # Copyright 2013 Bill Mill # # Copyright 2013 Vincent Jacques # # Copyright 2013 davidbrai # +# Copyright 2014 Thialfihar # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Dan Vanderkam # +# Copyright 2015 Eliot Walker # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Jannis Gebauer # +# Copyright 2018 Gilad Shefer # +# Copyright 2018 Joel Koglin # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -25,7 +35,12 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ + +try: + from urllib.parse import parse_qs +except ImportError: + from urlparse import parse_qs import github.GithubObject @@ -89,7 +104,12 @@ class PaginatedList(PaginatedListBase): You can simply enumerate through instances of this class:: for repo in user.get_repos(): - print repo.name + print(repo.name) + + If you want to know the total number of items in the list:: + + print(user.get_repos().totalCount) + print(len(user.get_repos())) You can also index them or take slices:: @@ -99,9 +119,9 @@ class PaginatedList(PaginatedListBase): If you want to iterate in reversed order, just do:: for repo in user.get_repos().reversed: - print repo.name + print(repo.name) - And if you really need it, you can explicitely access a specific page:: + And if you really need it, you can explicitly access a specific page:: some_repos = user.get_repos().get_page(0) some_other_repos = user.get_repos().get_page(3) @@ -125,8 +145,26 @@ def __init__(self, contentClass, requester, firstUrl, firstParams, headers=None, @property def totalCount(self): if not self.__totalCount: - self._grow() - + params = {} if self.__nextParams is None else self.__nextParams.copy() + # set per_page = 1 so the totalCount is just the number of pages + params.update({"per_page": 1}) + headers, data = self.__requester.requestJsonAndCheck( + "GET", + self.__firstUrl, + parameters=params, + headers=self.__headers + ) + if 'link' not in headers: + if data and "total_count" in data: + self.__totalCount = data["total_count"] + elif data: + self.__totalCount = len(data) + else: + self.__totalCount = 0 + else: + links = self.__parseLinkHeader(headers) + lastUrl = links.get("last") + self.__totalCount = int(parse_qs(lastUrl)['page'][0]) return self.__totalCount def _getLastPageUrl(self): @@ -142,7 +180,7 @@ def _getLastPageUrl(self): @property def reversed(self): - r = PaginatedList(self.__contentClass, self.__requester, self.__firstUrl, self.__firstParams) + r = PaginatedList(self.__contentClass, self.__requester, self.__firstUrl, self.__firstParams, self.__headers, self.__list_item) r.__reverse() return r @@ -175,7 +213,7 @@ def _fetchNextPage(self): self.__nextParams = None if self.__list_item in data: - self.__totalCount = data['total_count'] + self.__totalCount = data.get('total_count') data = data[self.__list_item] content = [ @@ -211,7 +249,7 @@ def get_page(self, page): ) if self.__list_item in data: - self.__totalCount = data['total_count'] + self.__totalCount = data.get('total_count') data = data[self.__list_item] return [ diff --git a/github/Path.py b/github/Path.py new file mode 100644 index 0000000..615c0da --- /dev/null +++ b/github/Path.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Justin Kufro # +# Copyright 2018 Ivan Minno # +# Copyright 2018 Zilei Gu # +# Copyright 2018 Yves Zumbach # +# Copyright 2018 Leying Chen # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class Path(github.GithubObject.NonCompletableGithubObject): + """ + This class represents a popular Path for a GitHub repository. + The reference can be found here https://developer.github.com/v3/repos/traffic/ + """ + + def __repr__(self): + return self.get__repr__({ + "path": self._path.value, + "title": self._title.value, + "count": self._count.value, + "uniques": self._uniques.value + }) + + @property + def path(self): + """ + :type: string + """ + return self._path.value + + @property + def title(self): + """ + :type: string + """ + return self._title.value + + @property + def count(self): + """ + :type: integer + """ + return self._count.value + + @property + def uniques(self): + """ + :type: integer + """ + return self._uniques.value + + def _initAttributes(self): + self._path = github.GithubObject.NotSet + self._title = github.GithubObject.NotSet + self._count = github.GithubObject.NotSet + self._uniques = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "path" in attributes: # pragma no branch + self._path = self._makeStringAttribute(attributes["path"]) + if "title" in attributes: # pragma no branch + self._title = self._makeStringAttribute(attributes["title"]) + if "count" in attributes: # pragma no branch + self._count = self._makeIntAttribute(attributes["count"]) + if "uniques" in attributes: # pragma no branch + self._uniques = self._makeIntAttribute(attributes["uniques"]) diff --git a/github/Permissions.py b/github/Permissions.py index 3bb6faf..1438ee4 100644 --- a/github/Permissions.py +++ b/github/Permissions.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class Permissions(github.GithubObject.NonCompletableGithubObject): """ - This class represents Permissionss as returned for example by http://developer.github.com/v3/todo + This class represents Permissions """ def __repr__(self): diff --git a/github/Plan.py b/github/Plan.py index 0b6473a..a740afb 100644 --- a/github/Plan.py +++ b/github/Plan.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,14 +28,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class Plan(github.GithubObject.NonCompletableGithubObject): """ - This class represents Plans as returned for example by http://developer.github.com/v3/todo + This class represents Plans """ def __repr__(self): diff --git a/github/Project.py b/github/Project.py new file mode 100644 index 0000000..83b4220 --- /dev/null +++ b/github/Project.py @@ -0,0 +1,217 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 bbi-yggy # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import datetime +import json + +import github.GithubObject +import github.ProjectColumn + +import Consts + + +class Project(github.GithubObject.CompletableGithubObject): + """ + This class represents Projects. The reference can be found here http://developer.github.com/v3/projects + """ + + def __repr__(self): + return self.get__repr__({"name": self._name.value}) + + @property + def body(self): + """ + :type: string + """ + self._completeIfNotSet(self._body) + return self._body.value + + @property + def columns_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._columns_url) + return self._columns_url.value + + @property + def created_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value + + @property + def creator(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._creator) + return self._creator.value + + @property + def html_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._html_url) + return self._html_url.value + + @property + def id(self): + """ + :type: integer + """ + self._completeIfNotSet(self._id) + return self._id.value + + @property + def name(self): + """ + :type: string + """ + self._completeIfNotSet(self._name) + return self._name.value + + @property + def node_id(self): + """ + :type: string + """ + self._completeIfNotSet(self._node_id) + return self._node_id.value + + @property + def number(self): + """ + :type: integer + """ + self._completeIfNotSet(self._number) + return self._number.value + + @property + def owner_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._owner_url) + return self._owner_url.value + + @property + def state(self): + """ + :type: string + """ + self._completeIfNotSet(self._state) + return self._state.value + + @property + def updated_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._updated_at) + return self._updated_at.value + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + def get_columns(self): + """ + :calls: `GET /projects/:project_id/columns `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.ProjectColumn.ProjectColumn` + """ + + return github.PaginatedList.PaginatedList( + github.ProjectColumn.ProjectColumn, + self._requester, + self.columns_url, + None, + {"Accept": Consts.mediaTypeProjectsPreview} + ) + + def create_column(self, name): + """ + calls: `POST https://developer.github.com/v3/projects/columns/#create-a-project-column>`_ + :param name: string + """ + assert isinstance(name, (str, unicode)), name + post_parameters = {"name": name} + import_header = {"Accept": Consts.mediaTypeProjectsPreview} + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/columns", + headers=import_header, + input=post_parameters + ) + return github.ProjectColumn.ProjectColumn(self._requester, headers, data, completed=True) + + def _initAttributes(self): + self._body = github.GithubObject.NotSet + self._columns_url = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._creator = github.GithubObject.NotSet + self._html_url = github.GithubObject.NotSet + self._id = github.GithubObject.NotSet + self._name = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet + self._number = github.GithubObject.NotSet + self._owner_url = github.GithubObject.NotSet + self._state = github.GithubObject.NotSet + self._updated_at = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "body" in attributes: # pragma no branch + self._body = self._makeStringAttribute(attributes["body"]) + if "columns_url" in attributes: # pragma no branch + self._columns_url = self._makeStringAttribute(attributes["columns_url"]) + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "creator" in attributes: # pragma no branch + self._creator = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["creator"]) + if "html_url" in attributes: # pragma no branch + self._html_url = self._makeStringAttribute(attributes["html_url"]) + if "id" in attributes: # pragma no branch + self._id = self._makeIntAttribute(attributes["id"]) + if "name" in attributes: # pragma no branch + self._name = self._makeStringAttribute(attributes["name"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) + if "number" in attributes: # pragma no branch + self._number = self._makeIntAttribute(attributes["number"]) + if "owner_url" in attributes: # pragma no branch + self._owner_url = self._makeStringAttribute(attributes["owner_url"]) + if "state" in attributes: # pragma no branch + self._state = self._makeStringAttribute(attributes["state"]) + if "updated_at" in attributes: # pragma no branch + self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) diff --git a/github/ProjectCard.py b/github/ProjectCard.py new file mode 100644 index 0000000..735ec3c --- /dev/null +++ b/github/ProjectCard.py @@ -0,0 +1,170 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 bbi-yggy # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import json + +import github.GithubObject + +# NOTE: There is currently no way to get cards "in triage" for a project. +# https://platform.github.community/t/moving-github-project-cards-that-are-in-triage/3784 +# +# See also https://developer.github.com/v4/object/projectcard for the next generation GitHub API, +# which may point the way to where the API is likely headed and what might come back to v3. E.g. ProjectCard.content member. +class ProjectCard(github.GithubObject.CompletableGithubObject): + """ + This class represents Project Cards. The reference can be found here https://developer.github.com/v3/projects/cards + """ + + def __repr__(self): + return self.get__repr__({"id": self._id.value}) + + @property + def archived(self): + """ + :type: bool + """ + return self._archived.value + + @property + def column_url(self): + """ + :type: string + """ + return self._column_url.value + + @property + def content_url(self): + """ + :type: string + """ + return self._content_url.value + + @property + def created_at(self): + """ + :type: datetime.datetime + """ + return self._created_at.value + + @property + def creator(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + return self._creator.value + + @property + def id(self): + """ + :type: integer + """ + return self._id.value + + @property + def node_id(self): + """ + :type: string + """ + return self._node_id.value + + @property + def note(self): + """ + :type: string + """ + return self._note.value + + @property + def updated_at(self): + """ + :type: datetime.datetime + """ + return self._updated_at.value + + @property + def url(self): + """ + :type: string + """ + return self._url.value + + # Note that the content_url for any card will be an "issue" URL, from + # which you can retrieve either an Issue or a PullRequest. Unforunately + # the API doesn't make it clear which you are dealing with. + def get_content(self, content_type=github.GithubObject.NotSet): + """ + :calls: `GET /repos/:owner/:repo/pulls/:number `_ + :rtype: :class:`github.PullRequest.PullRequest` or :class:`github.Issue.Issue` + """ + if self.content_url == None: + return None + + if content_type == "PullRequest": + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.content_url.replace("issues", "pulls") + ) + return github.PullRequest.PullRequest(self._requester, headers, data, completed=True) + elif content_type is github.GithubObject.NotSet or content_type == "Issue": + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.content_url + ) + return github.Issue.Issue(self._requester, headers, data, completed=True) + else: + assert False, "Unknown content type: %s" % content_type + + def _initAttributes(self): + self._archived = github.GithubObject.NotSet + self._column_url = github.GithubObject.NotSet + self._content_url = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._creator = github.GithubObject.NotSet + self._id = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet + self._note = github.GithubObject.NotSet + self._updated_at = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "archived" in attributes: # pragma no branch + self._archived = self._makeBoolAttribute(attributes["archived"]) + if "column_url" in attributes: # pragma no branch + self._column_url = self._makeStringAttribute(attributes["column_url"]) + if "content_url" in attributes: # pragma no branch + self._content_url = self._makeStringAttribute(attributes["content_url"]) + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "creator" in attributes: # pragma no branch + self._creator = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["creator"]) + if "id" in attributes: # pragma no branch + self._id = self._makeIntAttribute(attributes["id"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) + if "note" in attributes: # pragma no branch + self._note = self._makeStringAttribute(attributes["note"]) + if "updated_at" in attributes: # pragma no branch + self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) diff --git a/github/ProjectColumn.py b/github/ProjectColumn.py new file mode 100644 index 0000000..b96bc2a --- /dev/null +++ b/github/ProjectColumn.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 bbi-yggy # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import json + +import github.GithubObject +import github.Project +import github.ProjectCard + +import Consts + + +class ProjectColumn(github.GithubObject.CompletableGithubObject): + """ + This class represents Project Columns. The reference can be found here http://developer.github.com/v3/projects/columns + """ + + def __repr__(self): + return self.get__repr__({"name": self._name.value}) + + @property + def cards_url(self): + """ + :type: string + """ + return self._cards_url.value + + @property + def created_at(self): + """ + :type: datetime.datetime + """ + return self._created_at.value + + @property + def id(self): + """ + :type: integer + """ + return self._id.value + + @property + def name(self): + """ + :type: string + """ + return self._name.value + + @property + def node_id(self): + """ + :type: string + """ + return self._node_id.value + + @property + def project_url(self): + """ + :type: string + """ + return self._project_url.value + + @property + def updated_at(self): + """ + :type: datetime.datetime + """ + return self._updated_at.value + + @property + def url(self): + """ + :type: string + """ + return self._url.value + + def get_cards(self, archived_state=github.GithubObject.NotSet): + """ + :calls: `GET /projects/columns/:column_id/cards `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.ProjectCard.ProjectCard` + :param archived_state: string + """ + assert archived_state is github.GithubObject.NotSet or isinstance(archived_state, (str, unicode)), archived_state + + url_parameters = dict() + if archived_state is not github.GithubObject.NotSet: + url_parameters["archived_state"] = archived_state + + return github.PaginatedList.PaginatedList( + github.ProjectCard.ProjectCard, + self._requester, + self.url + "/cards", + url_parameters, + {"Accept": Consts.mediaTypeProjectsPreview} + ) + + def create_card(self, note=github.GithubObject.NotSet, + content_id=github.GithubObject.NotSet, + content_type=github.GithubObject.NotSet): + """ + :calls: `POST /projects/columns/:column_id/cards `_ + :param note: string + :param content_id: integer + :param content_type: string + """ + post_parameters = {} + if isinstance(note, (str, unicode)): + assert content_id is github.GithubObject.NotSet, content_id + assert content_type is github.GithubObject.NotSet, content_type + post_parameters = {"note": note} + else: + assert note is github.GithubObject.NotSet, note + assert isinstance(content_id, int), content_id + assert isinstance(content_type, (str, unicode)), content_type + post_parameters = {"content_id": content_id, + "content_type": content_type} + + import_header = {"Accept": Consts.mediaTypeProjectsPreview} + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/cards", + headers=import_header, + input=post_parameters + ) + return github.ProjectCard.ProjectCard(self._requester, headers, + data, completed=True) + + def _initAttributes(self): + self._cards_url = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._id = github.GithubObject.NotSet + self._name = github.GithubObject.NotSet + self._node_id = github.GithubObject.NotSet + self._project_url = github.GithubObject.NotSet + self._updated_at = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "cards_url" in attributes: # pragma no branch + self._cards_url = self._makeStringAttribute(attributes["cards_url"]) + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "id" in attributes: # pragma no branch + self._id = self._makeIntAttribute(attributes["id"]) + if "name" in attributes: # pragma no branch + self._name = self._makeStringAttribute(attributes["name"]) + if "node_id" in attributes: # pragma no branch + self._node_id = self._makeStringAttribute(attributes["node_id"]) + if "project_url" in attributes: # pragma no branch + self._project_url = self._makeStringAttribute(attributes["project_url"]) + if "updated_at" in attributes: # pragma no branch + self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) + diff --git a/github/PullRequest.py b/github/PullRequest.py index 7cee6f5..af2100f 100644 --- a/github/PullRequest.py +++ b/github/PullRequest.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Michael Stead # # Copyright 2012 Vincent Jacques # @@ -8,9 +8,24 @@ # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 @tmshn # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Aaron Levine # +# Copyright 2017 Simon # +# Copyright 2018 Ben Yohay # +# Copyright 2018 Gilad Shefer # +# Copyright 2018 Martin Monperrus # +# Copyright 2018 Matt Babineau <9685860+babineaum@users.noreply.github.com> # +# Copyright 2018 Shinichi TAMURA # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Thibault Jamet # +# Copyright 2018 per1234 # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -25,8 +40,10 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ +import datetime +import urllib import github.GithubObject import github.PaginatedList @@ -38,7 +55,6 @@ import github.IssueComment import github.Commit import github.PullRequestReview -import github.PullRequestReviewerRequest class PullRequest(github.GithubObject.CompletableGithubObject): @@ -193,6 +209,14 @@ def issue_url(self): self._completeIfNotSet(self._issue_url) return self._issue_url.value + @property + def labels(self): + """ + :type: list of :class:`github.Label.Label` + """ + self._completeIfNotSet(self._labels) + return self._labels.value + @property def merge_commit_sha(self): """ @@ -329,6 +353,17 @@ def user(self): self._completeIfNotSet(self._user) return self._user.value + def as_issue(self): + """ + :calls: `GET /repos/:owner/:repo/issues/:number `_ + :rtype: :class:`github.Issue.Issue` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.issue_url + ) + return github.Issue.Issue(self._requester, headers, data, completed=True) + def create_comment(self, body, commit_id, path, position): """ :calls: `POST /repos/:owner/:repo/pulls/:number/comments `_ @@ -378,22 +413,94 @@ def create_issue_comment(self, body): } headers, data = self._requester.requestJsonAndCheck( "POST", - self._parentUrl(self._parentUrl(self.url)) + "/issues/" + str(self.number) + "/comments", + self.issue_url + "/comments", input=post_parameters ) return github.IssueComment.IssueComment(self._requester, headers, data, completed=True) - def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, state=github.GithubObject.NotSet): + def create_review(self, commit=github.GithubObject.NotSet, body=None, event=github.GithubObject.NotSet, comments=github.GithubObject.NotSet): + """ + :calls: `POST /repos/:owner/:repo/pulls/:number/reviews `_ + :param commit: github.Commit.Commit + :param body: string + :param event: string + :param comments: list + :rtype: :class:`github.PullRequestReview.PullRequestReview` + """ + assert commit is github.GithubObject.NotSet or isinstance(commit, github.Commit.Commit), commit + assert isinstance(body, str), body + assert event is github.GithubObject.NotSet or isinstance(event, str), event + assert comments is github.GithubObject.NotSet or isinstance(comments, list), comments + post_parameters = dict() + if commit is not github.GithubObject.NotSet: + post_parameters['commit_id'] = commit.sha + post_parameters['body'] = body + post_parameters['event'] = 'COMMENT' if event == github.GithubObject.NotSet else event + if comments is github.GithubObject.NotSet: + post_parameters['comments'] = [] + else: + post_parameters['comments'] = comments + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/reviews", + input=post_parameters + ) + self._useAttributes(data) + return github.PullRequestReview.PullRequestReview(self._requester, headers, data, completed=True) + + def create_review_request(self, reviewers=github.GithubObject.NotSet, team_reviewers=github.GithubObject.NotSet): + """ + :calls: `POST /repos/:owner/:repo/pulls/:number/requested_reviewers `_ + :param reviewers: list of strings + :param team_reviewers: list of strings + :rtype: None + """ + post_parameters = dict() + if reviewers is not github.GithubObject.NotSet: + assert all(isinstance(element, (str, unicode)) for element in reviewers), reviewers + post_parameters["reviewers"] = reviewers + if team_reviewers is not github.GithubObject.NotSet: + assert all(isinstance(element, (str, unicode)) for element in team_reviewers), team_reviewers + post_parameters["team_reviewers"] = team_reviewers + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/requested_reviewers", + input=post_parameters + ) + + def delete_review_request(self, reviewers=github.GithubObject.NotSet, team_reviewers=github.GithubObject.NotSet): + """ + :calls: `DELETE /repos/:owner/:repo/pulls/:number/requested_reviewers `_ + :param reviewers: list of strings + :param team_reviewers: list of strings + :rtype: None + """ + post_parameters = dict() + if reviewers is not github.GithubObject.NotSet: + assert all(isinstance(element, (str, unicode)) for element in reviewers), reviewers + post_parameters["reviewers"] = reviewers + if team_reviewers is not github.GithubObject.NotSet: + assert all(isinstance(element, (str, unicode)) for element in team_reviewers), team_reviewers + post_parameters["team_reviewers"] = team_reviewers + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/requested_reviewers", + input=post_parameters + ) + + def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, state=github.GithubObject.NotSet, base=github.GithubObject.NotSet): """ :calls: `PATCH /repos/:owner/:repo/pulls/:number `_ :param title: string :param body: string :param state: string + :param base: string :rtype: None """ assert title is github.GithubObject.NotSet or isinstance(title, (str, unicode)), title assert body is github.GithubObject.NotSet or isinstance(body, (str, unicode)), body assert state is github.GithubObject.NotSet or isinstance(state, (str, unicode)), state + assert base is github.GithubObject.NotSet or isinstance(base, (str, unicode)), base post_parameters = dict() if title is not github.GithubObject.NotSet: post_parameters["title"] = title @@ -401,6 +508,8 @@ def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet post_parameters["body"] = body if state is not github.GithubObject.NotSet: post_parameters["state"] = state + if base is not github.GithubObject.NotSet: + post_parameters["base"] = base headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, @@ -431,20 +540,41 @@ def get_review_comment(self, id): def get_comments(self): """ + Warning: this only returns review comments. For normal conversation comments, use get_issue_comments. + :calls: `GET /repos/:owner/:repo/pulls/:number/comments `_ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.PullRequestComment.PullRequestComment` """ return self.get_review_comments() - def get_review_comments(self): + def get_review_comments(self, since=github.GithubObject.NotSet): """ :calls: `GET /repos/:owner/:repo/pulls/:number/comments `_ + :param since: datetime.datetime format YYYY-MM-DDTHH:MM:SSZ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.PullRequestComment.PullRequestComment` """ + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + url_parameters = dict() + if since is not github.GithubObject.NotSet: + url_parameters["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") return github.PaginatedList.PaginatedList( github.PullRequestComment.PullRequestComment, self._requester, self.url + "/comments", + url_parameters + ) + + def get_single_review_comments(self, id): + """ + :calls: `GET /repos/:owner/:repo/pulls/:number/review/:id/comments `_ + :param id: integer + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.PullRequestComment.PullRequestComment` + """ + assert isinstance(id, (int, long)), id + return github.PaginatedList.PaginatedList( + github.PullRequestComment.PullRequestComment, + self._requester, + self.url + "/reviews/" + str(id) + "/comments", None ) @@ -481,7 +611,7 @@ def get_issue_comment(self, id): assert isinstance(id, (int, long)), id headers, data = self._requester.requestJsonAndCheck( "GET", - self._parentUrl(self._parentUrl(self.url)) + "/issues/comments/" + str(id) + self._parentUrl(self.issue_url) + "/comments/" + str(id) ) return github.IssueComment.IssueComment(self._requester, headers, data, completed=True) @@ -493,7 +623,7 @@ def get_issue_comments(self): return github.PaginatedList.PaginatedList( github.IssueComment.IssueComment, self._requester, - self._parentUrl(self._parentUrl(self.url)) + "/issues/" + str(self.number) + "/comments", + self.issue_url + "/comments", None ) @@ -507,7 +637,6 @@ def get_review(self, id): headers, data = self._requester.requestJsonAndCheck( "GET", self.url + "/reviews/" + str(id), - headers={'Accept': 'application/vnd.github.black-cat-preview+json'} ) return github.PullRequestReview.PullRequestReview(self._requester, headers, data, completed=True) @@ -521,22 +650,96 @@ def get_reviews(self): self._requester, self.url + "/reviews", None, - headers={'Accept': 'application/vnd.github.black-cat-preview+json'} ) - def get_reviewer_requests(self): + def get_review_requests(self): """ :calls: `GET /repos/:owner/:repo/pulls/:number/requested_reviewers `_ - :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.InspectionReviewers.InspectionReviewers` + :rtype: tuple of :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` and of :class:`github.PaginatedList.PaginatedList` of :class:`github.Team.Team` + """ + return ( + github.PaginatedList.PaginatedList( + github.NamedUser.NamedUser, + self._requester, + self.url + "/requested_reviewers", + None, + list_item='users' + ), + github.PaginatedList.PaginatedList( + github.Team.Team, + self._requester, + self.url + "/requested_reviewers", + None, + list_item='teams' + ) + ) + + def get_labels(self): + """ + :calls: `GET /repos/:owner/:repo/issues/:number/labels `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Label.Label` """ return github.PaginatedList.PaginatedList( - github.PullRequestReviewerRequest.PullRequestReviewerRequest, + github.Label.Label, self._requester, - self.url + "/requested_reviewers", - None, - headers={'Accept': 'application/vnd.github.black-cat-preview+json'} + self.issue_url + "/labels", + None + ) + + def add_to_labels(self, *labels): + """ + :calls: `POST /repos/:owner/:repo/issues/:number/labels `_ + :param label: :class:`github.Label.Label` or string + :rtype: None + """ + assert all(isinstance(element, (github.Label.Label, str, unicode)) for element in labels), labels + post_parameters = [label.name if isinstance(label, github.Label.Label) else label for label in labels] + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.issue_url + "/labels", + input=post_parameters + ) + + def delete_labels(self): + """ + :calls: `DELETE /repos/:owner/:repo/issues/:number/labels `_ + :rtype: None + """ + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.issue_url + "/labels" + ) + + def remove_from_labels(self, label): + """ + :calls: `DELETE /repos/:owner/:repo/issues/:number/labels/:name `_ + :param label: :class:`github.Label.Label` or string + :rtype: None + """ + assert isinstance(label, (github.Label.Label, str, unicode)), label + if isinstance(label, github.Label.Label): + label = label._identity + else: + label = urllib.quote(label) + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.issue_url + "/labels/" + label ) - + + def set_labels(self, *labels): + """ + :calls: `PUT /repos/:owner/:repo/issues/:number/labels `_ + :param labels: list of :class:`github.Label.Label` or strings + :rtype: None + """ + assert all(isinstance(element, (github.Label.Label, str, unicode)) for element in labels), labels + post_parameters = [label.name if isinstance(label, github.Label.Label) else label for label in labels] + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.issue_url + "/labels", + input=post_parameters + ) + def is_merged(self): """ :calls: `GET /repos/:owner/:repo/pulls/:number/merge `_ @@ -548,16 +751,25 @@ def is_merged(self): ) return status == 204 - def merge(self, commit_message=github.GithubObject.NotSet): + def merge(self, commit_message=github.GithubObject.NotSet, commit_title=github.GithubObject.NotSet, merge_method=github.GithubObject.NotSet, sha=github.GithubObject.NotSet): """ :calls: `PUT /repos/:owner/:repo/pulls/:number/merge `_ :param commit_message: string :rtype: :class:`github.PullRequestMergeStatus.PullRequestMergeStatus` """ assert commit_message is github.GithubObject.NotSet or isinstance(commit_message, (str, unicode)), commit_message + assert commit_title is github.GithubObject.NotSet or isinstance(commit_title, (str, unicode)), commit_title + assert merge_method is github.GithubObject.NotSet or isinstance(merge_method, (str, unicode)), merge_method + assert sha is github.GithubObject.NotSet or isinstance(sha, (str, unicode)), sha post_parameters = dict() if commit_message is not github.GithubObject.NotSet: post_parameters["commit_message"] = commit_message + if commit_title is not github.GithubObject.NotSet: + post_parameters["commit_title"] = commit_title + if merge_method is not github.GithubObject.NotSet: + post_parameters["merge_method"] = merge_method + if sha is not github.GithubObject.NotSet: + post_parameters["sha"] = sha headers, data = self._requester.requestJsonAndCheck( "PUT", self.url + "/merge", @@ -584,6 +796,7 @@ def _initAttributes(self): self._html_url = github.GithubObject.NotSet self._id = github.GithubObject.NotSet self._issue_url = github.GithubObject.NotSet + self._labels = github.GithubObject.NotSet self._merge_commit_sha = github.GithubObject.NotSet self._mergeable = github.GithubObject.NotSet self._mergeable_state = github.GithubObject.NotSet @@ -644,6 +857,8 @@ def _useAttributes(self, attributes): self._id = self._makeIntAttribute(attributes["id"]) if "issue_url" in attributes: # pragma no branch self._issue_url = self._makeStringAttribute(attributes["issue_url"]) + if "labels" in attributes: # pragma no branch + self._labels = self._makeListOfClassesAttribute(github.Label.Label, attributes["labels"]) if "merge_commit_sha" in attributes: # pragma no branch self._merge_commit_sha = self._makeStringAttribute(attributes["merge_commit_sha"]) if "mergeable" in attributes: # pragma no branch diff --git a/github/PullRequestComment.py b/github/PullRequestComment.py index 1decaba..05b438e 100644 --- a/github/PullRequestComment.py +++ b/github/PullRequestComment.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # @@ -8,9 +8,16 @@ # Copyright 2013 Michael Stead # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Nicolas Agustín Torres # +# Copyright 2018 Jess Morgan <979404+JessMorgan@users.noreply.github.com> # +# Copyright 2018 per1234 # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -25,12 +32,12 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject - import github.NamedUser +import Consts class PullRequestComment(github.GithubObject.CompletableGithubObject): """ @@ -80,6 +87,14 @@ def id(self): self._completeIfNotSet(self._id) return self._id.value + @property + def in_reply_to_id(self): + """ + :type: integer + """ + self._completeIfNotSet(self._in_reply_to_id) + return self._in_reply_to_id.value + @property def original_commit_id(self): """ @@ -179,12 +194,49 @@ def edit(self, body): ) self._useAttributes(data) + def get_reactions(self): + """ + :calls: `GET /repos/:owner/:repo/pulls/comments/:number/reactions + `_ + :return: :class: :class:`github.PaginatedList.PaginatedList` of :class:`github.Reaction.Reaction` + """ + return github.PaginatedList.PaginatedList( + github.Reaction.Reaction, + self._requester, + self.url + "/reactions", + None, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + + def create_reaction(self, reaction_type): + """ + :calls: `POST /repos/:owner/:repo/pulls/comments/:number/reactions + `_ + :param reaction_type: string + :rtype: :class:`github.Reaction.Reaction` + """ + assert isinstance(reaction_type, (str, unicode)), "reaction type should be a string" + assert reaction_type in ["+1", "-1", "laugh", "confused", "heart", "hooray"], \ + "Invalid reaction type (https://developer.github.com/v3/reactions/#reaction-types)" + + post_parameters = { + "content": reaction_type, + } + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/reactions", + input=post_parameters, + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + return github.Reaction.Reaction(self._requester, headers, data, completed=True) + def _initAttributes(self): self._body = github.GithubObject.NotSet self._commit_id = github.GithubObject.NotSet self._created_at = github.GithubObject.NotSet self._diff_hunk = github.GithubObject.NotSet self._id = github.GithubObject.NotSet + self._in_reply_to_id = github.GithubObject.NotSet self._original_commit_id = github.GithubObject.NotSet self._original_position = github.GithubObject.NotSet self._path = github.GithubObject.NotSet @@ -206,6 +258,8 @@ def _useAttributes(self, attributes): self._diff_hunk = self._makeStringAttribute(attributes["diff_hunk"]) if "id" in attributes: # pragma no branch self._id = self._makeIntAttribute(attributes["id"]) + if "in_reply_to_id" in attributes: # pragma no branch + self._in_reply_to_id = self._makeIntAttribute(attributes["in_reply_to_id"]) if "original_commit_id" in attributes: # pragma no branch self._original_commit_id = self._makeStringAttribute(attributes["original_commit_id"]) if "original_position" in attributes: # pragma no branch diff --git a/github/PullRequestMergeStatus.py b/github/PullRequestMergeStatus.py index a59adfa..add3439 100644 --- a/github/PullRequestMergeStatus.py +++ b/github/PullRequestMergeStatus.py @@ -1,15 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,14 +29,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class PullRequestMergeStatus(github.GithubObject.NonCompletableGithubObject): """ - This class represents PullRequestMergeStatuss. The reference can be found here http://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + This class represents PullRequestMergeStatuses. The reference can be found here http://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged """ def __repr__(self): diff --git a/github/PullRequestPart.py b/github/PullRequestPart.py index 8f03d6f..e68ba15 100644 --- a/github/PullRequestPart.py +++ b/github/PullRequestPart.py @@ -1,14 +1,19 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -23,7 +28,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +38,7 @@ class PullRequestPart(github.GithubObject.NonCompletableGithubObject): """ - This class represents PullRequestParts as returned for example by http://developer.github.com/v3/todo + This class represents PullRequestParts """ def __repr__(self): diff --git a/github/PullRequestReview.py b/github/PullRequestReview.py index 1c2189e..afde6f6 100644 --- a/github/PullRequestReview.py +++ b/github/PullRequestReview.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Michael Stead # -# Copyright 2013 Vincent Jacques # +# Copyright 2017 Aaron Levine # +# Copyright 2017 Mike Miller # +# Copyright 2018 Darragh Bailey # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +24,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +33,7 @@ class PullRequestReview(github.GithubObject.CompletableGithubObject): """ - This class represents Pull Request Reviews as returned for example by https://developer.github.com/v3/pulls/reviews/ + This class represents PullRequestReviews. The reference can be found here https://developer.github.com/v3/pulls/reviews/ """ def __repr__(self): @@ -79,6 +79,14 @@ def state(self): self._completeIfNotSet(self._state) return self._state.value + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + @property def html_url(self): """ @@ -95,14 +103,37 @@ def pull_request_url(self): self._completeIfNotSet(self._pull_request_url) return self._pull_request_url.value + @property + def submitted_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._submitted_at) + return self._submitted_at.value + + def dismiss(self, message): + """ + :calls: `PUT /repos/:owner/:repo/pulls/:number/reviews/:review_id/dismissals `_ + :rtype: None + """ + assert isinstance(message, (str, unicode)), message + post_parameters = {'message': message} + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.pull_request_url + "/reviews/%s/dismissals" % self.id, + input=post_parameters + ) + def _initAttributes(self): self._id = github.GithubObject.NotSet self._user = github.GithubObject.NotSet self._body = github.GithubObject.NotSet self._commit_id = github.GithubObject.NotSet self._state = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet self._html_url = github.GithubObject.NotSet self._pull_request_url = github.GithubObject.NotSet + self._submitted_at = github.GithubObject.NotSet def _useAttributes(self, attributes): if "id" in attributes: # pragma no branch @@ -115,7 +146,11 @@ def _useAttributes(self, attributes): self._commit_id = self._makeStringAttribute(attributes["commit_id"]) if "state" in attributes: # pragma no branch self._state = self._makeStringAttribute(attributes["state"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) if "html_url" in attributes: # pragma no branch self._html_url = self._makeStringAttribute(attributes["html_url"]) if "pull_request_url" in attributes: # pragma no branch self._pull_request_url = self._makeStringAttribute(attributes["pull_request_url"]) + if "submitted_at" in attributes: # pragma no branch + self._submitted_at = self._makeDatetimeAttribute(attributes["submitted_at"]) diff --git a/github/Rate.py b/github/Rate.py index 5c7e4f5..7e4f2db 100644 --- a/github/Rate.py +++ b/github/Rate.py @@ -1,11 +1,16 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +25,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import datetime @@ -28,7 +33,7 @@ class Rate(github.GithubObject.NonCompletableGithubObject): """ - This class represents rate limits as defined in http://developer.github.com/v3/rate_limit + This class represents Rates. The reference can be found here http://developer.github.com/v3/rate_limit """ def __repr__(self): diff --git a/github/RateLimit.py b/github/RateLimit.py index 9ff0f08..b134b75 100644 --- a/github/RateLimit.py +++ b/github/RateLimit.py @@ -1,11 +1,16 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,30 +25,73 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import github.Rate +from deprecated import deprecated + class RateLimit(github.GithubObject.NonCompletableGithubObject): """ - This class represents rate limits as defined in http://developer.github.com/v3/rate_limit + This class represents RateLimits. The reference can be found here http://developer.github.com/v3/rate_limit """ def __repr__(self): - return self.get__repr__({"rate": self._rate.value}) + return self.get__repr__({"core": self._core.value}) @property + @deprecated(reason=""" + The rate object is deprecated. If you're writing new API client code + or updating existing code, you should use the core object instead of + the rate object. The core object contains the same information that + is present in the rate object. + """) def rate(self): """ + (Deprecated) Rate limit for non-search-related API, use `core` instead + + :type: class:`github.Rate.Rate` + """ + return self._core.value + + @property + def core(self): + """ + Rate limit for the non-search-related API + + :type: class:`github.Rate.Rate` + """ + return self._core.value + + @property + def search(self): + """ + Rate limit for the Search API. + + :type: class:`github.Rate.Rate` + """ + return self._search.value + + @property + def graphql(self): + """ + (Experimental) Rate limit for GraphQL API, use with caution. + :type: class:`github.Rate.Rate` """ - return self._rate.value + return self._graphql.value def _initAttributes(self): - self._rate = github.GithubObject.NotSet + self._core = github.GithubObject.NotSet + self._search = github.GithubObject.NotSet + self._graphql = github.GithubObject.NotSet def _useAttributes(self, attributes): - if "rate" in attributes: # pragma no branch - self._rate = self._makeClassAttribute(github.Rate.Rate, attributes["rate"]) + if "core" in attributes: # pragma no branch + self._core = self._makeClassAttribute(github.Rate.Rate, attributes["core"]) + if "search" in attributes: # pragma no branch + self._search = self._makeClassAttribute(github.Rate.Rate, attributes["search"]) + if "graphql" in attributes: # pragma no branch + self._graphql = self._makeClassAttribute(github.Rate.Rate, attributes["graphql"]) diff --git a/github/Reaction.py b/github/Reaction.py new file mode 100644 index 0000000..994ef75 --- /dev/null +++ b/github/Reaction.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2017 Nicolas Agustín Torres # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject +import github.NamedUser + +import Consts + + +class Reaction(github.GithubObject.CompletableGithubObject): + """ + This class represents Reactions. The reference can be found here https://developer.github.com/v3/reactions/ + """ + + def __repr__(self): + return self.get__repr__({"id": self._id.value, "user": self._user.value}) + + @property + def content(self): + """ + :type: string + """ + self._completeIfNotSet(self._content) + return self._content.value + + @property + def created_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value + + @property + def id(self): + """ + :type: integer + """ + self._completeIfNotSet(self._id) + return self._id.value + + @property + def user(self): + """ + :type: :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._user) + return self._user.value + + def delete(self): + """ + :calls: `DELETE /reactions/:id `_ + :rtype: None + """ + self._requester.requestJsonAndCheck( + "DELETE", + self._parentUrl("") + "/reactions/" + str(self.id), + headers={'Accept': Consts.mediaTypeReactionsPreview} + ) + + def _initAttributes(self): + self._content = github.GithubObject.NotSet + self._created_at = github.GithubObject.NotSet + self._id = github.GithubObject.NotSet + self._user = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "content" in attributes: # pragma no branch + self._content = self._makeStringAttribute(attributes["content"]) + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) + if "id" in attributes: # pragma no branch + self._id = self._makeIntAttribute(attributes["id"]) + if "user" in attributes: # pragma no branch + self._user = self._makeClassAttribute(github.NamedUser.NamedUser, attributes["user"]) diff --git a/github/PullRequestReviewerRequest.py b/github/Referrer.py similarity index 51% rename from github/PullRequestReviewerRequest.py rename to github/Referrer.py index 6f3ea68..eb14931 100644 --- a/github/PullRequestReviewerRequest.py +++ b/github/Referrer.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Michael Stead # -# Copyright 2013 Vincent Jacques # +# Copyright 2018 Justin Kufro # +# Copyright 2018 Ivan Minno # +# Copyright 2018 Zilei Gu # +# Copyright 2018 Yves Zumbach # +# Copyright 2018 Leying Chen # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,43 +24,54 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject -import github.NamedUser - -class PullRequestReviewerRequest(github.GithubObject.CompletableGithubObject): +class Referrer(github.GithubObject.NonCompletableGithubObject): """ - This class represents Pull Request Reviewer Requests as returned for example by https://developer.github.com/v3/pulls/review_requests/ + This class represents a popylar Referrer for a GitHub repository. + The reference can be found here https://developer.github.com/v3/repos/traffic/ """ def __repr__(self): - return self.get__repr__({"id": self._id.value, "login": self._login.value}) + return self.get__repr__({ + "referrer": self._referrer.value, + "count": self._count.value, + "uniques": self._uniques.value + }) @property - def login(self): + def referrer(self): """ :type: string """ - self._completeIfNotSet(self._login) - return self._login.value + return self._referrer.value + + @property + def count(self): + """ + :type: integer + """ + return self._count.value @property - def id(self): + def uniques(self): """ :type: integer """ - self._completeIfNotSet(self._id) - return self._id.value + return self._uniques.value def _initAttributes(self): - self._login = github.GithubObject.NotSet - self._id = github.GithubObject.NotSet + self._referrer = github.GithubObject.NotSet + self._count = github.GithubObject.NotSet + self._uniques = github.GithubObject.NotSet def _useAttributes(self, attributes): - if "login" in attributes: # pragma no branch - self._login = self._makeStringAttribute(attributes["login"]) - if "id" in attributes: # pragma no branch - self._id = self._makeIntAttribute(attributes["id"]) + if "referrer" in attributes: # pragma no branch + self._referrer = self._makeStringAttribute(attributes["referrer"]) + if "count" in attributes: # pragma no branch + self._count = self._makeIntAttribute(attributes["count"]) + if "uniques" in attributes: # pragma no branch + self._uniques = self._makeIntAttribute(attributes["uniques"]) diff --git a/github/Repository.py b/github/Repository.py index 5ae3d97..b8cf8ec 100644 --- a/github/Repository.py +++ b/github/Repository.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Christopher Gilbert # # Copyright 2012 Steve English # @@ -8,13 +8,67 @@ # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Adrian Petrescu # +# Copyright 2013 Cameron White # +# Copyright 2013 David Farr # # Copyright 2013 Mark Roddy # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # -# Copyright 2015 Jannis Gebauer # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Aaron Levine # +# Copyright 2015 Christopher Wilcox # +# Copyright 2015 Dan Vanderkam # +# Copyright 2015 Ed Holland # +# Copyright 2015 Enix Yu # +# Copyright 2015 Jay # +# Copyright 2015 Jimmy Zelinskie # +# Copyright 2015 Jonathan Debonis # +# Copyright 2015 Kevin Lewandowski # +# Copyright 2015 Kyle Hornberg # +# Copyright 2015 edhollandAL # +# Copyright 2016 @tmshn # +# Copyright 2016 Dustin Spicuzza # +# Copyright 2016 Enix Yu # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Per Øyvind Karlsen # +# Copyright 2016 Peter Buckley # +# Copyright 2016 Sylvus # +# Copyright 2016 fukatani # +# Copyright 2016 ghfan # +# Copyright 2017 Andreas Lutro # +# Copyright 2017 Ben Firshman # +# Copyright 2017 Chris McBride # +# Copyright 2017 Hugo # +# Copyright 2017 Jannis Gebauer # +# Copyright 2017 Jason White # +# Copyright 2017 Jimmy Zelinskie # +# Copyright 2017 Nhomar Hernández [Vauxoo] # +# Copyright 2017 Simon # +# Copyright 2018 Andrew Smith # +# Copyright 2018 Brian Torres-Gil # +# Copyright 2018 Hayden Fuss # +# Copyright 2018 Ilya Konstantinov # +# Copyright 2018 Jacopo Notarstefano # +# Copyright 2018 John Hui # +# Copyright 2018 Mateusz Loskot # +# Copyright 2018 Michael Behrisch # +# Copyright 2018 Nicholas Buse # +# Copyright 2018 Raihaan <31362124+res0nance@users.noreply.github.com> # +# Copyright 2018 Shinichi TAMURA # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 Will Yardley # +# Copyright 2018 per1234 # +# Copyright 2018 sechastain # +# Copyright 2018 sfdye # +# Copyright 2018 Vinay Hegde # +# Copyright 2018 Justin Kufro # +# Copyright 2018 Ivan Minno # +# Copyright 2018 Zilei Gu # +# Copyright 2018 Yves Zumbach # +# Copyright 2018 Leying Chen # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -29,7 +83,8 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ + import sys import urllib import datetime @@ -46,12 +101,14 @@ import github.Organization import github.GitRef import github.GitRelease +import github.GitReleaseAsset import github.Issue import github.Repository import github.PullRequest import github.RepositoryKey import github.NamedUser import github.Milestone +import github.Project import github.Comparison import github.CommitComment import github.GitCommit @@ -65,14 +122,20 @@ import github.Permissions import github.Event import github.Legacy +import github.SourceImport import github.StatsContributor import github.StatsCommitActivity import github.StatsCodeFrequency import github.StatsParticipation import github.StatsPunchCard import github.Stargazer +import github.Referrer +import github.Path +import github.Clones +import github.View + +import Consts -atLeastPython26 = sys.hexversion >= 0x02060000 atLeastPython3 = sys.hexversion >= 0x03000000 @@ -84,6 +147,38 @@ class Repository(github.GithubObject.CompletableGithubObject): def __repr__(self): return self.get__repr__({"full_name": self._full_name.value}) + @property + def allow_merge_commit(self): + """ + :type: bool + """ + self._completeIfNotSet(self._allow_merge_commit) + return self._allow_merge_commit.value + + @property + def allow_rebase_merge(self): + """ + :type: bool + """ + self._completeIfNotSet(self._allow_rebase_merge) + return self._allow_rebase_merge.value + + @property + def allow_squash_merge(self): + """ + :type: bool + """ + self._completeIfNotSet(self._allow_squash_merge) + return self._allow_squash_merge.value + + @property + def archived(self): + """ + :type: bool + """ + self._completeIfNotSet(self._archived) + return self._archived.value + @property def archive_url(self): """ @@ -300,6 +395,14 @@ def has_issues(self): self._completeIfNotSet(self._has_issues) return self._has_issues.value + @property + def has_projects(self): + """ + :type: bool + """ + self._completeIfNotSet(self._has_projects) + return self._has_projects.value + @property def has_wiki(self): """ @@ -579,7 +682,7 @@ def subscribers_url(self): """ self._completeIfNotSet(self._subscribers_url) return self._subscribers_url.value - + @property def subscribers_count(self): """ @@ -620,6 +723,14 @@ def teams_url(self): self._completeIfNotSet(self._teams_url) return self._teams_url.value + @property + def topics(self): + """ + :type: list of strings + """ + self._completeIfNotSet(self._topics) + return self._topics.value + @property def trees_url(self): """ @@ -660,27 +771,49 @@ def watchers_count(self): self._completeIfNotSet(self._watchers_count) return self._watchers_count.value - def add_to_collaborators(self, collaborator): + def add_to_collaborators(self, collaborator, permission=github.GithubObject.NotSet): """ :calls: `PUT /repos/:owner/:repo/collaborators/:user `_ :param collaborator: string or :class:`github.NamedUser.NamedUser` + :param permission: string 'pull', 'push' or 'admin' :rtype: None """ assert isinstance(collaborator, github.NamedUser.NamedUser) or isinstance(collaborator, (str, unicode)), collaborator + assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission if isinstance(collaborator, github.NamedUser.NamedUser): collaborator = collaborator._identity + if permission is not github.GithubObject.NotSet: + put_parameters = {'permission': permission} + else: + put_parameters = None + headers, data = self._requester.requestJsonAndCheck( "PUT", self.url + "/collaborators/" + collaborator, - headers={'Accept': 'application/vnd.github.swamp-thing-preview+json'} + input=put_parameters ) # return an invitation object if there's data returned by the API. If data is empty # there's a pending invitation for the given user. return github.Invitation.Invitation(self._requester, headers, data, completed=True) if \ data is not None else None + def get_collaborator_permission(self, collaborator): + """ + :calls: `GET /repos/:owner/:repo/collaborators/:username/permission `_ + :param collaborator: string or :class:`github.NamedUser.NamedUser` + :rtype: string + """ + assert isinstance(collaborator, github.NamedUser.NamedUser) or isinstance(collaborator, (str, unicode)), collaborator + if isinstance(collaborator, github.NamedUser.NamedUser): + collaborator = collaborator._identity + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/collaborators/" + collaborator + "/permission", + ) + return data["permission"] + def compare(self, base, head): """ :calls: `GET /repos/:owner/:repo/compare/:base...:head `_ @@ -771,12 +904,23 @@ def create_git_tag_and_release(self, tag, tag_message, release_name, release_mes self.create_git_tag(tag, tag_message, object, type, tagger) return self.create_git_release(tag, release_name, release_message, draft, prerelease) - def create_git_release(self, tag, name, message, draft=False, prerelease=False): + def create_git_release(self, tag, name, message, draft=False, prerelease=False, target_commitish=github.GithubObject.NotSet): + """ + :calls: `POST /repos/:owner/:repo/releases `_ + :param tag: string + :param name: string + :param message: string + :param draft: bool + :param prerelease: bool + :param target_commitish: string or :class:`github.Branch.Branch` or :class:`github.Commit.Commit` or :class:`github.GitCommit.GitCommit` + :rtype: :class:`github.GitRelease.GitRelease` + """ assert isinstance(tag, (str, unicode)), tag assert isinstance(name, (str, unicode)), name assert isinstance(message, (str, unicode)), message assert isinstance(draft, bool), draft assert isinstance(prerelease, bool), prerelease + assert target_commitish is github.GithubObject.NotSet or isinstance(target_commitish, (str, unicode, github.Branch.Branch, github.Commit.Commit, github.GitCommit.GitCommit)), target_commitish post_parameters = { "tag_name": tag, "name": name, @@ -784,6 +928,12 @@ def create_git_release(self, tag, name, message, draft=False, prerelease=False): "draft": draft, "prerelease": prerelease, } + if isinstance(target_commitish, (str, unicode)): + post_parameters["target_commitish"] = target_commitish + elif isinstance(target_commitish, github.Branch.Branch): + post_parameters["target_commitish"] = target_commitish.name + elif isinstance(target_commitish, (github.Commit.Commit, github.GitCommit.GitCommit)): + post_parameters["target_commitish"] = target_commitish.sha headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/releases", @@ -911,43 +1061,51 @@ def create_issue(self, title, body=github.GithubObject.NotSet, assignee=github.G ) return github.Issue.Issue(self._requester, headers, data, completed=True) - def create_key(self, title, key): + def create_key(self, title, key, read_only=False): """ :calls: `POST /repos/:owner/:repo/keys `_ :param title: string :param key: string + :param read_only: bool :rtype: :class:`github.RepositoryKey.RepositoryKey` """ assert isinstance(title, (str, unicode)), title assert isinstance(key, (str, unicode)), key + assert isinstance(read_only, bool), read_only post_parameters = { "title": title, "key": key, + "read_only": read_only, } headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/keys", input=post_parameters ) - return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self.url) + return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True) - def create_label(self, name, color): + def create_label(self, name, color, description=github.GithubObject.NotSet): """ :calls: `POST /repos/:owner/:repo/labels `_ :param name: string :param color: string + :param description: string :rtype: :class:`github.Label.Label` """ assert isinstance(name, (str, unicode)), name assert isinstance(color, (str, unicode)), color + assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description post_parameters = { "name": name, "color": color, } + if description is not github.GithubObject.NotSet: + post_parameters["description"] = description headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/labels", - input=post_parameters + input=post_parameters, + headers={'Accept': Consts.mediaTypeLabelDescriptionSearchPreview} ) return github.Label.Label(self._requester, headers, data, completed=True) @@ -957,13 +1115,13 @@ def create_milestone(self, title, state=github.GithubObject.NotSet, description= :param title: string :param state: string :param description: string - :param due_on: date + :param due_on: datetime :rtype: :class:`github.Milestone.Milestone` """ assert isinstance(title, (str, unicode)), title assert state is github.GithubObject.NotSet or isinstance(state, (str, unicode)), state assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description - assert due_on is github.GithubObject.NotSet or isinstance(due_on, datetime.date), due_on + assert due_on is github.GithubObject.NotSet or isinstance(due_on, (datetime.datetime, datetime.date)), due_on post_parameters = { "title": title, } @@ -972,7 +1130,10 @@ def create_milestone(self, title, state=github.GithubObject.NotSet, description= if description is not github.GithubObject.NotSet: post_parameters["description"] = description if due_on is not github.GithubObject.NotSet: - post_parameters["due_on"] = due_on.strftime("%Y-%m-%d") + if isinstance(due_on, datetime.date): + post_parameters["due_on"] = due_on.strftime("%Y-%m-%dT%H:%M:%SZ") + else: + post_parameters["due_on"] = due_on.isoformat() headers, data = self._requester.requestJsonAndCheck( "POST", self.url + "/milestones", @@ -980,6 +1141,29 @@ def create_milestone(self, title, state=github.GithubObject.NotSet, description= ) return github.Milestone.Milestone(self._requester, headers, data, completed=True) + def create_project(self, name, body=github.GithubObject.NotSet): + """ + calls: `POST /repos/:owner/:repo/projects `_ + :param name: string + :param body: string + """ + assert isinstance(name, (str, unicode)), name + assert body is github.GithubObject.NotSet or isinstance(body, (str, unicode)), body + post_parameters = { + "name": name, + "body": body, + } + import_header = {"Accept": Consts.mediaTypeProjectsPreview} + if body is not github.GithubObject.NotSet: + post_parameters['body'] = body + headers, data = self._requester.requestJsonAndCheck( + "POST", + self.url + "/projects", + headers=import_header, + input=post_parameters + ) + return github.Project.Project(self._requester, headers, data, completed=True) + def create_pull(self, *args, **kwds): """ :calls: `POST /repos/:owner/:repo/pulls `_ @@ -988,19 +1172,24 @@ def create_pull(self, *args, **kwds): :param issue: :class:`github.Issue.Issue` :param base: string :param head: string + :param maintainer_can_modify: bool :rtype: :class:`github.PullRequest.PullRequest` """ - if len(args) + len(kwds) == 4: + if len(args) + len(kwds) >= 4: return self.__create_pull_1(*args, **kwds) else: return self.__create_pull_2(*args, **kwds) - def __create_pull_1(self, title, body, base, head): + def __create_pull_1(self, title, body, base, head, maintainer_can_modify=github.GithubObject.NotSet): assert isinstance(title, (str, unicode)), title assert isinstance(body, (str, unicode)), body assert isinstance(base, (str, unicode)), base assert isinstance(head, (str, unicode)), head - return self.__create_pull(title=title, body=body, base=base, head=head) + assert maintainer_can_modify is github.GithubObject.NotSet or isinstance(maintainer_can_modify, bool), maintainer_can_modify + if maintainer_can_modify is not github.GithubObject.NotSet: + return self.__create_pull(title=title, body=body, base=base, head=head, maintainer_can_modify=maintainer_can_modify) + else: + return self.__create_pull(title=title, body=body, base=base, head=head) def __create_pull_2(self, issue, base, head): assert isinstance(issue, github.Issue.Issue), issue @@ -1017,6 +1206,41 @@ def __create_pull(self, **kwds): ) return github.PullRequest.PullRequest(self._requester, headers, data, completed=True) + def create_source_import(self, vcs, vcs_url, vcs_username=github.GithubObject.NotSet, vcs_password=github.GithubObject.NotSet): + """ + :calls: `PUT /repos/:owner/:repo/import `_ + :param vcs: string + :param vcs_url: string + :param vcs_username: string + :param vcs_password: string + :rtype: :class:`github.SourceImport.SourceImport` + """ + assert isinstance(vcs, (str, unicode)), vcs + assert isinstance(vcs_url, (str, unicode)), vcs_url + assert vcs_username is github.GithubObject.NotSet or isinstance(vcs_username, (str, unicode)), vcs_username + assert vcs_password is github.GithubObject.NotSet or isinstance(vcs_password, (str, unicode)), vcs_password + put_parameters = { + "vcs": vcs, + "vcs_url": vcs_url + } + + if vcs_username is not github.GithubObject.NotSet: + put_parameters["vcs_username"] = vcs_username + + if vcs_password is not github.GithubObject.NotSet: + put_parameters["vcs_password"] = vcs_password + + import_header = {"Accept": Consts.mediaTypeImportPreview} + + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.url + "/import", + headers=import_header, + input=put_parameters + ) + + return github.SourceImport.SourceImport(self._requester, headers, data, completed=False) + def delete(self): """ :calls: `DELETE /repos/:owner/:repo `_ @@ -1027,7 +1251,7 @@ def delete(self): self.url ) - def edit(self, name=None, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, default_branch=github.GithubObject.NotSet): + def edit(self, name=None, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_projects=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, default_branch=github.GithubObject.NotSet, allow_squash_merge=github.GithubObject.NotSet, allow_merge_commit=github.GithubObject.NotSet, allow_rebase_merge=github.GithubObject.NotSet, archived=github.GithubObject.NotSet): """ :calls: `PATCH /repos/:owner/:repo `_ :param name: string @@ -1035,9 +1259,14 @@ def edit(self, name=None, description=github.GithubObject.NotSet, homepage=githu :param homepage: string :param private: bool :param has_issues: bool + :param has_projects: bool :param has_wiki: bool :param has_downloads: bool :param default_branch: string + :param allow_squash_merge: bool + :param allow_merge_commit: bool + :param allow_rebase_merge: bool + :param archived: bool. Unarchiving repositories is currently not supported through API (https://developer.github.com/v3/repos/#edit) :rtype: None """ if name is None: @@ -1047,9 +1276,14 @@ def edit(self, name=None, description=github.GithubObject.NotSet, homepage=githu assert homepage is github.GithubObject.NotSet or isinstance(homepage, (str, unicode)), homepage assert private is github.GithubObject.NotSet or isinstance(private, bool), private assert has_issues is github.GithubObject.NotSet or isinstance(has_issues, bool), has_issues + assert has_projects is github.GithubObject.NotSet or isinstance(has_projects, bool), has_projects assert has_wiki is github.GithubObject.NotSet or isinstance(has_wiki, bool), has_wiki assert has_downloads is github.GithubObject.NotSet or isinstance(has_downloads, bool), has_downloads assert default_branch is github.GithubObject.NotSet or isinstance(default_branch, (str, unicode)), default_branch + assert allow_squash_merge is github.GithubObject.NotSet or isinstance(allow_squash_merge, bool), allow_squash_merge + assert allow_merge_commit is github.GithubObject.NotSet or isinstance(allow_merge_commit, bool), allow_merge_commit + assert allow_rebase_merge is github.GithubObject.NotSet or isinstance(allow_rebase_merge, bool), allow_rebase_merge + assert archived is github.GithubObject.NotSet or (isinstance(archived, bool) and archived is True), archived post_parameters = { "name": name, } @@ -1061,12 +1295,22 @@ def edit(self, name=None, description=github.GithubObject.NotSet, homepage=githu post_parameters["private"] = private if has_issues is not github.GithubObject.NotSet: post_parameters["has_issues"] = has_issues + if has_projects is not github.GithubObject.NotSet: + post_parameters["has_projects"] = has_projects if has_wiki is not github.GithubObject.NotSet: post_parameters["has_wiki"] = has_wiki if has_downloads is not github.GithubObject.NotSet: post_parameters["has_downloads"] = has_downloads if default_branch is not github.GithubObject.NotSet: post_parameters["default_branch"] = default_branch + if allow_squash_merge is not github.GithubObject.NotSet: + post_parameters["allow_squash_merge"] = allow_squash_merge + if allow_merge_commit is not github.GithubObject.NotSet: + post_parameters["allow_merge_commit"] = allow_merge_commit + if allow_rebase_merge is not github.GithubObject.NotSet: + post_parameters["allow_rebase_merge"] = allow_rebase_merge + if archived is not github.GithubObject.NotSet: + post_parameters["archived"] = archived headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, @@ -1117,20 +1361,6 @@ def get_branch(self, branch): ) return github.Branch.Branch(self._requester, headers, data, completed=True) - def get_protected_branch(self, branch): - """ - :calls: `GET /repos/:owner/:repo/branches/:branch `_ - :param branch: string - :rtype: :class:`github.Branch.Branch` - """ - assert isinstance(branch, (str, unicode)), branch - headers, data = self._requester.requestJsonAndCheck( - "GET", - self.url + "/branches/" + branch, - headers={'Accept': 'application/vnd.github.loki-preview+json'} - ) - return github.Branch.Branch(self._requester, headers, data, completed=True) - def get_branches(self): """ :calls: `GET /repos/:owner/:repo/branches `_ @@ -1143,16 +1373,26 @@ def get_branches(self): None ) - def get_collaborators(self): + def get_collaborators(self, affiliation=github.GithubObject.NotSet): """ :calls: `GET /repos/:owner/:repo/collaborators `_ + :param affiliation: string :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` """ + + url_parameters = dict() + allowed_affiliations = ['outside', 'direct', 'all'] + if affiliation is not github.GithubObject.NotSet: + assert isinstance(affiliation, str), affiliation + assert affiliation in allowed_affiliations, \ + 'Affiliation can be one of ' + ', '.join(allowed_affiliations) + url_parameters['affiliation'] = affiliation + return github.PaginatedList.PaginatedList( github.NamedUser.NamedUser, self._requester, self.url + "/collaborators", - None + url_parameters ) def get_comment(self, id): @@ -1230,15 +1470,6 @@ def get_commits(self, sha=github.GithubObject.NotSet, path=github.GithubObject.N ) def get_contents(self, path, ref=github.GithubObject.NotSet): - """ - :calls: `GET /repos/:owner/:repo/contents/:path `_ - :param path: string - :param ref: string - :rtype: :class:`github.ContentFile.ContentFile` - """ - return self.get_file_contents(path, ref) - - def get_file_contents(self, path, ref=github.GithubObject.NotSet): """ :calls: `GET /repos/:owner/:repo/contents/:path `_ :param path: string @@ -1252,7 +1483,7 @@ def get_file_contents(self, path, ref=github.GithubObject.NotSet): url_parameters["ref"] = ref headers, data = self._requester.requestJsonAndCheck( "GET", - self.url + "/contents" + path, + self.url + "/contents/" + urllib.quote(path), parameters=url_parameters ) if isinstance(data, list): @@ -1262,18 +1493,112 @@ def get_file_contents(self, path, ref=github.GithubObject.NotSet): ] return github.ContentFile.ContentFile(self._requester, headers, data, completed=True) + def get_top_referrers(self): + """ + :calls: `GET /repos/:owner/:repo/traffic/popular/referrers `_ + :rtype: :class:`list` of :class:`github.Referrer.Referrer` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/traffic/popular/referrers" + ) + if isinstance(data, list): + return [ + github.Referrer.Referrer(self._requester, headers, item, completed=True) + for item in data + ] + + def get_top_paths(self): + """ + :calls: `GET /repos/:owner/:repo/traffic/popular/paths `_ + :rtype: :class:`list` of :class:`github.Path.Path` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/traffic/popular/paths" + ) + if isinstance(data, list): + return [ + github.Path.Path(self._requester, headers, item, completed=True) + for item in data + ] + + def get_views_traffic(self, per=github.GithubObject.NotSet): + """ + :calls: `GET /repos/:owner/:repo/traffic/views `_ + :param per: string, must be one of day or week, day by default + :rtype: None or list of :class:`github.View.View` + """ + assert per is github.GithubObject.NotSet or (isinstance(per, (str, unicode)) and (per == "day" or per == "week")), "per must be day or week, day by default" + url_parameters = dict() + if per is not github.GithubObject.NotSet: + url_parameters["per"] = per + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/traffic/views", + parameters=url_parameters + ) + if (isinstance(data, dict)) and ("views" in data) and (isinstance(data["views"], list)): + data["views"] = [ + github.View.View(self._requester, headers, item, completed=True) + for item in data["views"] + ] + return data + + def get_clones_traffic(self, per=github.GithubObject.NotSet): + """ + :calls: `GET /repos/:owner/:repo/traffic/clones `_ + :param per: string, must be one of day or week, day by default + :rtype: None or list of :class:`github.Clone.Clone` + """ + assert per is github.GithubObject.NotSet or (isinstance(per, (str, unicode)) and (per == "day" or per == "week")), "per must be day or week, day by default" + url_parameters = dict() + if per is not github.GithubObject.NotSet: + url_parameters["per"] = per + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/traffic/clones", + parameters=url_parameters + ) + if (isinstance(data, dict)) and ("clones" in data) and (isinstance(data["clones"], list)): + data["clones"] = [ + github.Clones.Clones(self._requester, headers, item, completed=True) + for item in data["clones"] + ] + return data + + def get_projects(self, state=github.GithubObject.NotSet): + """ + :calls: `GET /repos/:owner/:repo/projects `_ + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Project.Project` + :param state: string + """ + + url_parameters = dict() + if state is not github.GithubObject.NotSet: + url_parameters["state"] = state + + return github.PaginatedList.PaginatedList( + github.Project.Project, + self._requester, + self.url + "/projects", + url_parameters, + {"Accept": Consts.mediaTypeProjectsPreview} + ) + def create_file(self, path, message, content, branch=github.GithubObject.NotSet, committer=github.GithubObject.NotSet, author=github.GithubObject.NotSet): """Create a file in this repository. + :calls: `PUT /repos/:owner/:repo/contents/:path `_ :param path: string, (required), path of the file in the repository :param message: string, (required), commit message :param content: string, (required), the actual data in the file :param branch: string, (optional), branch to create the commit on. Defaults to the default branch of the repository - :param committer: dict, (optional), if no information is given the authenticated user's information will be used. You must specify both a name and email. - :param author: dict, (optional), if omitted this will be filled in with committer information. If passed, you must specify both a name and email. + :param committer: InputGitAuthor, (optional), if no information is given the authenticated user's information will be used. You must specify both a name and email. + :param author: InputGitAuthor, (optional), if omitted this will be filled in with committer information. If passed, you must specify both a name and email. :rtype: { 'content': :class:`ContentFile `:, 'commit': :class:`Commit `} @@ -1282,7 +1607,7 @@ def create_file(self, path, message, content, 'path must be str/unicode object' assert isinstance(message, (str, unicode)), \ 'message must be str/unicode object' - assert isinstance(content, (str, unicode)), \ + assert isinstance(content, (str, unicode, bytes)), \ 'content must be a str/unicode object' assert branch is github.GithubObject.NotSet \ or isinstance(branch, (str, unicode)), \ @@ -1295,7 +1620,9 @@ def create_file(self, path, message, content, 'committer must be a github.InputGitAuthor object' if atLeastPython3: - content = b64encode(content.encode('utf-8')).decode('utf-8') + if isinstance(content, str): + content = content.encode('utf-8') + content = b64encode(content).decode('utf-8') else: if isinstance(content, unicode): content = content.encode('utf-8') @@ -1311,7 +1638,7 @@ def create_file(self, path, message, content, headers, data = self._requester.requestJsonAndCheck( "PUT", - self.url + "/contents" + path, + self.url + "/contents/" + urllib.quote(path), input=put_parameters ) @@ -1323,12 +1650,15 @@ def update_file(self, path, message, content, sha, committer=github.GithubObject.NotSet, author=github.GithubObject.NotSet): """This method updates a file in a repository + :calls: `PUT /repos/:owner/:repo/contents/:path `_ :param path: string, Required. The content path. :param message: string, Required. The commit message. :param content: string, Required. The updated file content, Base64 encoded. :param sha: string, Required. The blob SHA of the file being replaced. :param branch: string. The branch name. Default: the repository’s default branch (usually master) + :param committer: InputGitAuthor, (optional), if no information is given the authenticated user's information will be used. You must specify both a name and email. + :param author: InputGitAuthor, (optional), if omitted this will be filled in with committer information. If passed, you must specify both a name and email. :rtype: { 'content': :class:`ContentFile `:, 'commit': :class:`Commit `} @@ -1337,7 +1667,7 @@ def update_file(self, path, message, content, sha, 'path must be str/unicode object' assert isinstance(message, (str, unicode)), \ 'message must be str/unicode object' - assert isinstance(content, (str, unicode)), \ + assert isinstance(content, (str, unicode, bytes)), \ 'content must be a str/unicode object' assert isinstance(sha, (str, unicode)), \ 'sha must be a str/unicode object' @@ -1352,7 +1682,9 @@ def update_file(self, path, message, content, sha, 'committer must be a github.InputGitAuthor object' if atLeastPython3: - content = b64encode(content.encode('utf-8')).decode('utf-8') + if isinstance(content, str): + content = content.encode('utf-8') + content = b64encode(content).decode('utf-8') else: if isinstance(content, unicode): content = content.encode('utf-8') @@ -1370,7 +1702,7 @@ def update_file(self, path, message, content, sha, headers, data = self._requester.requestJsonAndCheck( "PUT", - self.url + "/contents" + path, + self.url + "/contents/" + urllib.quote(path), input=put_parameters ) @@ -1378,13 +1710,18 @@ def update_file(self, path, message, content, sha, 'content': github.ContentFile.ContentFile(self._requester, headers, data["content"], completed=False)} def delete_file(self, path, message, sha, - branch=github.GithubObject.NotSet): - """This method delete a file in a repository + branch=github.GithubObject.NotSet, + committer=github.GithubObject.NotSet, + author=github.GithubObject.NotSet): + """This method deletes a file in a repository + :calls: `DELETE /repos/:owner/:repo/contents/:path `_ :param path: string, Required. The content path. :param message: string, Required. The commit message. :param sha: string, Required. The blob SHA of the file being replaced. :param branch: string. The branch name. Default: the repository’s default branch (usually master) + :param committer: InputGitAuthor, (optional), if no information is given the authenticated user's information will be used. You must specify both a name and email. + :param author: InputGitAuthor, (optional), if omitted this will be filled in with committer information. If passed, you must specify both a name and email. :rtype: { 'content': :class:`null `:, 'commit': :class:`Commit `} @@ -1398,14 +1735,24 @@ def delete_file(self, path, message, sha, assert branch is github.GithubObject.NotSet \ or isinstance(branch, (str, unicode)), \ 'branch must be a str/unicode object' + assert author is github.GithubObject.NotSet \ + or isinstance(author, github.InputGitAuthor), \ + 'author must be a github.InputGitAuthor object' + assert committer is github.GithubObject.NotSet \ + or isinstance(committer, github.InputGitAuthor), \ + 'committer must be a github.InputGitAuthor object' url_parameters = {'message': message, 'sha': sha} if branch is not github.GithubObject.NotSet: url_parameters['branch'] = branch + if author is not github.GithubObject.NotSet: + url_parameters["author"] = author._identity + if committer is not github.GithubObject.NotSet: + url_parameters["committer"] = committer._identity headers, data = self._requester.requestJsonAndCheck( "DELETE", - self.url + "/contents" + path, + self.url + "/contents/" + urllib.quote(path), input=url_parameters ) @@ -1426,7 +1773,7 @@ def get_dir_contents(self, path, ref=github.GithubObject.NotSet): url_parameters["ref"] = ref headers, data = self._requester.requestJsonAndCheck( "GET", - self.url + "/contents" + path, + self.url + "/contents/" + urllib.quote(path), parameters=url_parameters ) @@ -1443,18 +1790,24 @@ def get_dir_contents(self, path, ref=github.GithubObject.NotSet): for attributes in data ] - def get_contributors(self): + def get_contributors(self, anon=github.GithubObject.NotSet): """ :calls: `GET /repos/:owner/:repo/contributors `_ + :param anon: string :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` """ + url_parameters = dict() + if anon is not github.GithubObject.NotSet: + url_parameters["anon"] = anon + return github.PaginatedList.PaginatedList( github.NamedUser.NamedUser, self._requester, self.url + "/contributors", - None + url_parameters ) + def get_download(self, id): """ :calls: `GET /repos/:owner/:repo/downloads/:id `_ @@ -1581,8 +1934,9 @@ def get_git_tree(self, sha, recursive=github.GithubObject.NotSet): assert isinstance(sha, (str, unicode)), sha assert recursive is github.GithubObject.NotSet or isinstance(recursive, bool), recursive url_parameters = dict() - if recursive is not github.GithubObject.NotSet: - url_parameters["recursive"] = recursive + if recursive is not github.GithubObject.NotSet and recursive: + # GitHub API requires the recursive parameter be set to 1. + url_parameters["recursive"] = 1 headers, data = self._requester.requestJsonAndCheck( "GET", self.url + "/git/trees/" + sha, @@ -1632,7 +1986,7 @@ def get_issues(self, milestone=github.GithubObject.NotSet, state=github.GithubOb """ :calls: `GET /repos/:owner/:repo/issues `_ :param milestone: :class:`github.Milestone.Milestone` or "none" or "*" - :param state: string + :param state: string. `open`, `closed`, or `all`. If this is not set the GitHub API default behavior will be used. At the moment this is to return only open issues. This might change anytime on GitHub API side and it could be clever to explicitly specify the state value. :param assignee: string or :class:`github.NamedUser.NamedUser` or "none" or "*" :param mentioned: :class:`github.NamedUser.NamedUser` :param labels: list of :class:`github.Label.Label` @@ -1720,7 +2074,8 @@ def get_issues_event(self, id): assert isinstance(id, (int, long)), id headers, data = self._requester.requestJsonAndCheck( "GET", - self.url + "/issues/events/" + str(id) + self.url + "/issues/events/" + str(id), + headers={'Accept': Consts.mediaTypeLockReasonPreview} ) return github.IssueEvent.IssueEvent(self._requester, headers, data, completed=True) @@ -1733,7 +2088,8 @@ def get_issues_events(self): github.IssueEvent.IssueEvent, self._requester, self.url + "/issues/events", - None + None, + headers={'Accept': Consts.mediaTypeLockReasonPreview} ) def get_key(self, id): @@ -1747,7 +2103,7 @@ def get_key(self, id): "GET", self.url + "/keys/" + str(id) ) - return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self.url) + return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True) def get_keys(self): """ @@ -1755,7 +2111,7 @@ def get_keys(self): :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.RepositoryKey.RepositoryKey` """ return github.PaginatedList.PaginatedList( - lambda requester, headers, data, completed: github.RepositoryKey.RepositoryKey(requester, headers, data, completed, repoUrl=self.url), + github.RepositoryKey.RepositoryKey, self._requester, self.url + "/keys", None @@ -1797,6 +2153,18 @@ def get_languages(self): ) return data + def get_license(self): + """ + :calls: `GET /repos/:owner/:repo/license `_ + :rtype: :class:`github.ContentFile.ContentFile` + """ + + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/license" + ) + return github.ContentFile.ContentFile(self._requester, headers, data, completed=True) + def get_milestone(self, number): """ :calls: `GET /repos/:owner/:repo/milestones/:number `_ @@ -1945,6 +2313,22 @@ def get_readme(self, ref=github.GithubObject.NotSet): ) return github.ContentFile.ContentFile(self._requester, headers, data, completed=True) + def get_source_import(self): + """ + :calls: `GET /repos/:owner/:repo/import `_ + :rtype: :class:`github.SourceImport.SourceImport` + """ + import_header = {"Accept": Consts.mediaTypeImportPreview} + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/import", + headers=import_header, + ) + if not data: + return None + else: + return github.SourceImport.SourceImport(self._requester, headers, data, completed=True) + def get_stargazers(self): """ :calls: `GET /repos/:owner/:repo/stargazers `_ @@ -1967,7 +2351,7 @@ def get_stargazers_with_dates(self): self._requester, self.url + "/stargazers", None, - headers={'Accept': 'application/vnd.github.v3.star+json'} + headers={'Accept': Consts.mediaTypeStarringPreview} ) def get_stats_contributors(self): @@ -2076,7 +2460,7 @@ def get_tags(self): def get_releases(self): """ :calls: `GET /repos/:owner/:repo/releases `_ - :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Tag.Tag` + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.GitRelease.GitRelease` """ return github.PaginatedList.PaginatedList( github.GitRelease.GitRelease, @@ -2087,7 +2471,7 @@ def get_releases(self): def get_release(self, id): """ - :calls: `GET /repos/:owner/:repo/releases/:id https://developer.github.com/v3/repos/releases/#get-a-single-release + :calls: `GET /repos/:owner/:repo/releases/:id `_ :param id: int (release id), str (tag name) :rtype: None or :class:`github.GitRelease.GitRelease` """ @@ -2104,6 +2488,17 @@ def get_release(self, id): ) return github.GitRelease.GitRelease(self._requester, headers, data, completed=True) + def get_latest_release(self): + """ + :calls: `GET /repos/:owner/:repo/releases/latest `_ + :rtype: :class:`github.GitRelease.GitRelease` + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/releases/latest" + ) + return github.GitRelease.GitRelease(self._requester, headers, data, completed=True) + def get_teams(self): """ :calls: `GET /repos/:owner/:repo/teams `_ @@ -2116,6 +2511,18 @@ def get_teams(self): None ) + def get_topics(self): + """ + :calls: `GET /repos/:owner/:repo/topics `_ + :rtype: list of strings + """ + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/topics", + headers={'Accept': Consts.mediaTypeTopicsPreview} + ) + return data['names'] + def get_watchers(self): """ :calls: `GET /repos/:owner/:repo/watchers `_ @@ -2180,6 +2587,22 @@ def legacy_search_issues(self, state, keyword): for element in data["issues"] ] + def mark_notifications_as_read(self, last_read_at=datetime.datetime.utcnow()): + """ + :calls: `PUT /repos/:owner/:repo/notifications `_ + :param last_read_at: datetime + """ + assert isinstance(last_read_at, datetime.datetime) + put_parameters = { + "last_read_at": last_read_at.strftime('%Y-%m-%dT%H:%M:%SZ') + } + + headers, data = self._requester.requestJsonAndCheck( + "PUT", + self.url + "/notifications", + input=put_parameters + ) + def merge(self, base, head, commit_message=github.GithubObject.NotSet): """ :calls: `POST /repos/:owner/:repo/merges `_ @@ -2207,36 +2630,20 @@ def merge(self, base, head, commit_message=github.GithubObject.NotSet): else: return github.Commit.Commit(self._requester, headers, data, completed=True) - def protect_branch(self, branch, enabled, enforcement_level=github.GithubObject.NotSet, contexts=github.GithubObject.NotSet): + def replace_topics(self, topics): """ - :calls: `PATCH /repos/:owner/:repo/branches/:branch `_ - :param branch: string - :param enabled: boolean - :param enforcement_level: string - :param contexts: list of strings + :calls: `PUT /repos/:owner/:repo/topics `_ + :param topics: list of strings :rtype: None """ - - assert isinstance(branch, (str, unicode)) - assert isinstance(enabled, bool) - assert enforcement_level is github.GithubObject.NotSet or isinstance(enforcement_level, (str, unicode)), enforcement_level - assert contexts is github.GithubObject.NotSet or all(isinstance(element, (str, unicode)) or isinstance(element, (str, unicode)) for element in contexts), contexts - post_parameters = { - "protection": {} + 'names': topics } - if enabled is not github.GithubObject.NotSet: - post_parameters["protection"]["enabled"] = enabled - if enforcement_level is not github.GithubObject.NotSet: - post_parameters["protection"]["required_status_checks"] = {} - post_parameters["protection"]["required_status_checks"]["enforcement_level"] = enforcement_level - if contexts is not github.GithubObject.NotSet: - post_parameters["protection"]["required_status_checks"]["contexts"] = contexts headers, data = self._requester.requestJsonAndCheck( - "PATCH", - self.url + "/branches/" + branch, - input=post_parameters, - headers={'Accept': 'application/vnd.github.loki-preview+json'} + "PUT", + self.url + "/topics", + headers={'Accept': Consts.mediaTypeTopicsPreview}, + input=post_parameters ) def remove_from_collaborators(self, collaborator): @@ -2299,7 +2706,20 @@ def _hub(self, mode, event, callback, secret): def _identity(self): return self.owner.login + "/" + self.name + def get_release_asset(self, id): + assert isinstance(id, (int)), id + + resp_headers, data = self._requester.requestJsonAndCheck( + "GET", + self.url + "/releases/assets/" + str(id) + ) + return github.GitReleaseAsset.GitReleaseAsset(self._requester, resp_headers, data, completed=True) + def _initAttributes(self): + self._allow_merge_commit = github.GithubObject.NotSet + self._allow_rebase_merge = github.GithubObject.NotSet + self._allow_squash_merge = github.GithubObject.NotSet + self._archived = github.GithubObject.NotSet self._archive_url = github.GithubObject.NotSet self._assignees_url = github.GithubObject.NotSet self._blobs_url = github.GithubObject.NotSet @@ -2327,6 +2747,7 @@ def _initAttributes(self): self._git_url = github.GithubObject.NotSet self._has_downloads = github.GithubObject.NotSet self._has_issues = github.GithubObject.NotSet + self._has_projects = github.GithubObject.NotSet self._has_wiki = github.GithubObject.NotSet self._homepage = github.GithubObject.NotSet self._hooks_url = github.GithubObject.NotSet @@ -2367,6 +2788,7 @@ def _initAttributes(self): self._svn_url = github.GithubObject.NotSet self._tags_url = github.GithubObject.NotSet self._teams_url = github.GithubObject.NotSet + self._topics = github.GithubObject.NotSet self._trees_url = github.GithubObject.NotSet self._updated_at = github.GithubObject.NotSet self._url = github.GithubObject.NotSet @@ -2374,6 +2796,14 @@ def _initAttributes(self): self._watchers_count = github.GithubObject.NotSet def _useAttributes(self, attributes): + if "allow_merge_commit" in attributes: # pragma no branch + self._allow_merge_commit = self._makeBoolAttribute(attributes["allow_merge_commit"]) + if "allow_rebase_merge" in attributes: # pragma no branch + self._allow_rebase_merge = self._makeBoolAttribute(attributes["allow_rebase_merge"]) + if "allow_squash_merge" in attributes: # pragma no branch + self._allow_squash_merge = self._makeBoolAttribute(attributes["allow_squash_merge"]) + if "archived" in attributes: # pragma no branch + self._archived = self._makeBoolAttribute(attributes["archived"]) if "archive_url" in attributes: # pragma no branch self._archive_url = self._makeStringAttribute(attributes["archive_url"]) if "assignees_url" in attributes: # pragma no branch @@ -2428,6 +2858,8 @@ def _useAttributes(self, attributes): self._has_downloads = self._makeBoolAttribute(attributes["has_downloads"]) if "has_issues" in attributes: # pragma no branch self._has_issues = self._makeBoolAttribute(attributes["has_issues"]) + if "has_projects" in attributes: # pragma no branch + self._has_projects = self._makeBoolAttribute(attributes["has_projects"]) if "has_wiki" in attributes: # pragma no branch self._has_wiki = self._makeBoolAttribute(attributes["has_wiki"]) if "homepage" in attributes: # pragma no branch @@ -2510,6 +2942,8 @@ def _useAttributes(self, attributes): self._teams_url = self._makeStringAttribute(attributes["teams_url"]) if "trees_url" in attributes: # pragma no branch self._trees_url = self._makeStringAttribute(attributes["trees_url"]) + if "topics" in attributes: # pragma no branch + self._topics = self._makeListOfStringsAttribute(attributes["topics"]) if "updated_at" in attributes: # pragma no branch self._updated_at = self._makeDatetimeAttribute(attributes["updated_at"]) if "url" in attributes: # pragma no branch diff --git a/github/RepositoryKey.py b/github/RepositoryKey.py index 847b7f8..e3c2975 100644 --- a/github/RepositoryKey.py +++ b/github/RepositoryKey.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # @@ -8,9 +8,17 @@ # Copyright 2013 Srijan Choudhary # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Jimmy Zelinskie # +# Copyright 2017 Simon # +# Copyright 2018 Laurent Raufaste # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -25,7 +33,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -35,16 +43,16 @@ class RepositoryKey(github.GithubObject.CompletableGithubObject): This class represents RepositoryKeys. The reference can be found here http://developer.github.com/v3/repos/keys/ """ - def __init__(self, requester, headers, attributes, completed, repoUrl): - github.GithubObject.CompletableGithubObject.__init__(self, requester, headers, attributes, completed) - self.__repoUrl = repoUrl - def __repr__(self): - return self.get__repr__({"id": self._id.value}) + return self.get__repr__({"id": self._id.value, "title": self._title.value}) @property - def __customUrl(self): - return self.__repoUrl + "/keys/" + str(self.id) + def created_at(self): + """ + :type: datetime.datetime + """ + self._completeIfNotSet(self._created_at) + return self._created_at.value @property def id(self): @@ -86,45 +94,36 @@ def verified(self): self._completeIfNotSet(self._verified) return self._verified.value - def delete(self): + @property + def read_only(self): """ - :calls: `DELETE /repos/:owner/:repo/keys/:id `_ - :rtype: None + :type: bool """ - headers, data = self._requester.requestJsonAndCheck( - "DELETE", - self.__customUrl - ) + self._completeIfNotSet(self._read_only) + return self._read_only.value - def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet): + def delete(self): """ - :calls: `PATCH /repos/:owner/:repo/keys/:id `_ - :param title: string - :param key: string + :calls: `DELETE /repos/:owner/:repo/keys/:id `_ :rtype: None """ - assert title is github.GithubObject.NotSet or isinstance(title, (str, unicode)), title - assert key is github.GithubObject.NotSet or isinstance(key, (str, unicode)), key - post_parameters = dict() - if title is not github.GithubObject.NotSet: - post_parameters["title"] = title - if key is not github.GithubObject.NotSet: - post_parameters["key"] = key headers, data = self._requester.requestJsonAndCheck( - "PATCH", - self.__customUrl, - input=post_parameters + "DELETE", + self.url ) - self._useAttributes(data) def _initAttributes(self): + self._created_at = github.GithubObject.NotSet self._id = github.GithubObject.NotSet self._key = github.GithubObject.NotSet self._title = github.GithubObject.NotSet self._url = github.GithubObject.NotSet self._verified = github.GithubObject.NotSet + self._read_only = github.GithubObject.NotSet def _useAttributes(self, attributes): + if "created_at" in attributes: # pragma no branch + self._created_at = self._makeDatetimeAttribute(attributes["created_at"]) if "id" in attributes: # pragma no branch self._id = self._makeIntAttribute(attributes["id"]) if "key" in attributes: # pragma no branch @@ -135,3 +134,5 @@ def _useAttributes(self, attributes): self._url = self._makeStringAttribute(attributes["url"]) if "verified" in attributes: # pragma no branch self._verified = self._makeBoolAttribute(attributes["verified"]) + if "read_only" in attributes: # pragma no branch + self._read_only = self._makeBoolAttribute(attributes["read_only"]) diff --git a/github/Requester.py b/github/Requester.py index 9fd77b1..fe6fee9 100644 --- a/github/Requester.py +++ b/github/Requester.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Andrew Bettison # # Copyright 2012 Dima Kukushkin # @@ -10,13 +10,32 @@ # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # +# Copyright 2013 Cameron White # # Copyright 2013 Ed Jackson # # Copyright 2013 Jonathan J Hunt # # Copyright 2013 Mark Roddy # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Jimmy Zelinskie # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Brian Eugley # +# Copyright 2015 Daniel Pocock # +# Copyright 2015 Jimmy Zelinskie # +# Copyright 2016 Denis K # +# Copyright 2016 Jared K. Smith # +# Copyright 2016 Jimmy Zelinskie # +# Copyright 2016 Mathieu Mitchell # +# Copyright 2016 Peter Buckley # +# Copyright 2017 Chris McBride # +# Copyright 2017 Hugo # +# Copyright 2017 Simon # +# Copyright 2018 Dylan # +# Copyright 2018 Maarten Fonville # +# Copyright 2018 Mike Miller # +# Copyright 2018 R1kk3r # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -31,42 +50,122 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ -import logging -import httplib import base64 +import json +import logging +import mimetypes +import os +import re +import requests +import sys +import time import urllib import urlparse -import sys +from io import IOBase + import Consts -import re -import os +import GithubException -atLeastPython26 = sys.hexversion >= 0x02060000 atLeastPython3 = sys.hexversion >= 0x03000000 -if atLeastPython26: - import json -else: # pragma no cover (Covered by all tests with Python 2.5) - import simplejson as json # pragma no cover (Covered by all tests with Python 2.5) -import GithubException +class RequestsResponse: + # mimic the httplib response object + def __init__(self, r): + self.status = r.status_code + self.headers = r.headers + self.text = r.text + + def getheaders(self): + if atLeastPython3: + return self.headers.items() + else: + return self.headers.iteritems() + + def read(self): + return self.text + +class HTTPSRequestsConnectionClass(object): + # mimic the httplib connection object + def __init__(self, host, port=None, strict=False, timeout=None, retry=None, **kwargs): + self.port = port if port else 443 + self.host = host + self.protocol = "https" + self.timeout = timeout + self.verify = kwargs.get("verify", True) + self.session = requests.Session() + # Code to support retries + if retry: + self.retry = retry + self.adapter = requests.adapters.HTTPAdapter(max_retries=self.retry) + self.session.mount('https://', self.adapter) + + def request(self, verb, url, input, headers): + self.verb = verb + self.url = url + self.input = input + self.headers = headers + + def getresponse(self): + verb = getattr(self.session, self.verb.lower()) + url = "%s://%s:%s%s" % (self.protocol, self.host, self.port, self.url) + r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout, verify=self.verify, allow_redirects=False) + return RequestsResponse(r) + + def close(self): + return + + +class HTTPRequestsConnectionClass(object): + # mimic the httplib connection object + def __init__(self, host, port=None, strict=False, timeout=None, retry=None, **kwargs): + self.port = port if port else 80 + self.host = host + self.protocol = "http" + self.timeout = timeout + self.verify = kwargs.get("verify", True) + self.session = requests.Session() + # Code to support retries + if retry: + self.retry = retry + self.adapter = requests.adapters.HTTPAdapter(max_retries=self.retry) + self.session.mount('http://', self.adapter) + + def request(self, verb, url, input, headers): + self.verb = verb + self.url = url + self.input = input + self.headers = headers + + def getresponse(self): + verb = getattr(self.session, self.verb.lower()) + url = "%s://%s:%s%s" % (self.protocol, self.host, self.port, self.url) + r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout, verify=self.verify, allow_redirects=False) + return RequestsResponse(r) + + def close(self): + return class Requester: - __httpConnectionClass = httplib.HTTPConnection - __httpsConnectionClass = httplib.HTTPSConnection + __httpConnectionClass = HTTPRequestsConnectionClass + __httpsConnectionClass = HTTPSRequestsConnectionClass + __connection = None + __persist = True @classmethod def injectConnectionClasses(cls, httpConnectionClass, httpsConnectionClass): + cls.__persist = False cls.__httpConnectionClass = httpConnectionClass cls.__httpsConnectionClass = httpsConnectionClass @classmethod def resetConnectionClasses(cls): - cls.__httpConnectionClass = httplib.HTTPConnection - cls.__httpsConnectionClass = httplib.HTTPSConnection + cls.__persist = True + cls.__httpConnectionClass = HTTPRequestsConnectionClass + cls.__httpsConnectionClass = HTTPSRequestsConnectionClass ############################################################# # For Debug @@ -87,12 +186,12 @@ def setOnCheckMe(cls, onCheckMe): ON_CHECK_ME = None def NEW_DEBUG_FRAME(self, requestHeader): - ''' + """ Initialize a debug frame with requestHeader Frame count is updated and will be attached to respond header The structure of a frame: [requestHeader, statusCode, responseHeader, raw_data] Some of them may be None - ''' + """ if self.DEBUG_FLAG: # pragma no branch (Flag always set in tests) new_frame = [requestHeader, None, None, None] if self._frameCount < self.DEBUG_FRAME_BUFFER_SIZE - 1: # pragma no branch (Should be covered) @@ -125,7 +224,7 @@ def _initializeDebugFeature(self): ############################################################# - def __init__(self, login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview): + def __init__(self, login_or_token, password, jwt, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview, verify, retry): self._initializeDebugFeature() if password is not None: @@ -137,6 +236,8 @@ def __init__(self, login_or_token, password, base_url, timeout, client_id, clien elif login_or_token is not None: token = login_or_token self.__authorizationHeader = "token " + token + elif jwt is not None: + self.__authorizationHeader = "Bearer " + jwt else: self.__authorizationHeader = None @@ -146,6 +247,7 @@ def __init__(self, login_or_token, password, base_url, timeout, client_id, clien self.__port = o.port self.__prefix = o.path self.__timeout = timeout + self.__retry = retry # NOTE: retry can be either int or an urllib3 Retry object self.__scheme = o.scheme if o.scheme == "https": self.__connectionClass = self.__httpsConnectionClass @@ -167,12 +269,16 @@ def __init__(self, login_or_token, password, base_url, timeout, client_id, clien 'See http://developer.github.com/v3/#user-agent-required' self.__userAgent = user_agent self.__apiPreview = api_preview + self.__verify = verify - def requestJsonAndCheck(self, verb, url, parameters=None, headers=None, input=None, cnx=None): - return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx)) + def requestJsonAndCheck(self, verb, url, parameters=None, headers=None, input=None): + return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url))) def requestMultipartAndCheck(self, verb, url, parameters=None, headers=None, input=None): - return self.__check(*self.requestMultipart(verb, url, parameters, headers, input)) + return self.__check(*self.requestMultipart(verb, url, parameters, headers, input, self.__customConnection(url))) + + def requestBlobAndCheck(self, verb, url, parameters=None, headers=None, input=None): + return self.__check(*self.requestBlob(verb, url, parameters, headers, input, self.__customConnection(url))) def __check(self, status, responseHeaders, output): output = self.__structuredFromJson(output) @@ -180,14 +286,30 @@ def __check(self, status, responseHeaders, output): raise self.__createException(status, responseHeaders, output) return responseHeaders, output + def __customConnection(self, url): + cnx = None + if not url.startswith("/"): + o = urlparse.urlparse(url) + if o.hostname != self.__hostname or \ + (o.port and o.port != self.__port) or \ + (o.scheme != self.__scheme and not (o.scheme == "https" and self.__scheme == "http")): # issue80 + if o.scheme == 'http': + cnx = self.__httpConnectionClass(o.hostname, o.port, retry = self.__retry) + elif o.scheme == 'https': + cnx = self.__httpsConnectionClass(o.hostname, o.port, retry = self.__retry) + return cnx + def __createException(self, status, headers, output): if status == 401 and output.get("message") == "Bad credentials": cls = GithubException.BadCredentialsException - elif status == 401 and 'x-github-otp' in headers and re.match(r'.*required.*', headers['x-github-otp']): + elif status == 401 and Consts.headerOTP in headers and re.match(r'.*required.*', headers[Consts.headerOTP]): cls = GithubException.TwoFactorException # pragma no cover (Should be covered) elif status == 403 and output.get("message").startswith("Missing or invalid User Agent string"): cls = GithubException.BadUserAgentException - elif status == 403 and output.get("message").lower().startswith("api rate limit exceeded"): + elif status == 403 and ( + output.get("message").lower().startswith("api rate limit exceeded") + or output.get("message").lower().endswith("please wait a few minutes before you try again.") + ): cls = GithubException.RateLimitExceededException elif status == 404 and output.get("message") == "Not Found": cls = GithubException.UnknownObjectException @@ -212,7 +334,7 @@ def encode(input): return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode) - def requestMultipart(self, verb, url, parameters=None, headers=None, input=None): + def requestMultipart(self, verb, url, parameters=None, headers=None, input=None, cnx=None): def encode(input): boundary = "----------------------------3c3ba8b523b2" eol = "\r\n" @@ -226,7 +348,21 @@ def encode(input): encoded_input += "--" + boundary + "--" + eol return "multipart/form-data; boundary=" + boundary, encoded_input - return self.__requestEncode(None, verb, url, parameters, headers, input, encode) + return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode) + + def requestBlob(self, verb, url, parameters={}, headers={}, input=None, cnx=None): + def encode(local_path): + if "Content-Type" in headers: + mime_type = headers["Content-Type"] + else: + guessed_type = mimetypes.guess_type(input) + mime_type = guessed_type[0] if guessed_type[0] is not None else Consts.defaultMediaType + f = open(local_path, 'rb') + return mime_type, f + + if input: + headers["Content-Length"] = str(os.path.getsize(input)) + return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode) def __requestEncode(self, cnx, verb, url, parameters, requestHeaders, input, encode): assert verb in ["HEAD", "GET", "POST", "PATCH", "PUT", "DELETE"] @@ -243,7 +379,7 @@ def __requestEncode(self, cnx, verb, url, parameters, requestHeaders, input, enc url = self.__makeAbsoluteUrl(url) url = self.__addParametersToUrl(url, parameters) - encoded_input = "null" + encoded_input = None if input is not None: requestHeaders["Content-Type"], encoded_input = encode(input) @@ -251,13 +387,13 @@ def __requestEncode(self, cnx, verb, url, parameters, requestHeaders, input, enc status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input) - if "x-ratelimit-remaining" in responseHeaders and "x-ratelimit-limit" in responseHeaders: - self.rate_limiting = (int(responseHeaders["x-ratelimit-remaining"]), int(responseHeaders["x-ratelimit-limit"])) - if "x-ratelimit-reset" in responseHeaders: - self.rate_limiting_resettime = int(responseHeaders["x-ratelimit-reset"]) + if Consts.headerRateRemaining in responseHeaders and Consts.headerRateLimit in responseHeaders: + self.rate_limiting = (int(responseHeaders[Consts.headerRateRemaining]), int(responseHeaders[Consts.headerRateLimit])) + if Consts.headerRateReset in responseHeaders: + self.rate_limiting_resettime = int(responseHeaders[Consts.headerRateReset]) - if "x-oauth-scopes" in responseHeaders: - self.oauth_scopes = responseHeaders["x-oauth-scopes"].split(", ") + if Consts.headerOAuthScopes in responseHeaders: + self.oauth_scopes = responseHeaders[Consts.headerOAuthScopes].split(", ") self.DEBUG_ON_RESPONSE(status, responseHeaders, output) @@ -267,9 +403,6 @@ def __requestRaw(self, cnx, verb, url, requestHeaders, input): original_cnx = cnx if cnx is None: cnx = self.__createConnection() - else: - assert cnx == "status" - cnx = self.__httpsConnectionClass("status.github.com", 443) cnx.request( verb, url, @@ -283,11 +416,19 @@ def __requestRaw(self, cnx, verb, url, requestHeaders, input): output = response.read() cnx.close() + if input: + if isinstance(input, IOBase): + input.close() self.__log(verb, url, requestHeaders, input, status, responseHeaders, output) + if status == 202 and (verb == 'GET' or verb == 'HEAD'): # only for requests that are considered 'safe' in RFC 2616 + time.sleep(Consts.PROCESSING_202_WAIT_TIME) + return self.__requestRaw(original_cnx, verb, url, requestHeaders, input) + if status == 301 and 'location' in responseHeaders: - return self.__requestRaw(original_cnx, verb, responseHeaders['location'], requestHeaders, input) + o = urlparse.urlparse(responseHeaders['location']) + return self.__requestRaw(original_cnx, verb, o.path, requestHeaders, input) return status, responseHeaders, output @@ -305,8 +446,8 @@ def __makeAbsoluteUrl(self, url): url = self.__prefix + url else: o = urlparse.urlparse(url) - assert o.hostname == self.__hostname - assert o.path.startswith(self.__prefix) + assert o.hostname in [self.__hostname, "uploads.github.com", "status.github.com"], o.hostname + assert o.path.startswith((self.__prefix, "/api/")) assert o.port == self.__port url = o.path if o.query != "": @@ -323,30 +464,15 @@ def __createConnection(self): kwds = {} if not atLeastPython3: # pragma no branch (Branch useful only with Python 3) kwds["strict"] = True # Useless in Python3, would generate a deprecation warning - if atLeastPython26: # pragma no branch (Branch useful only with Python 2.5) - kwds["timeout"] = self.__timeout # Did not exist before Python2.6 - - ## - ## Connect through a proxy server with authentication, if http_proxy - ## set. - ## http_proxy: http://user:password@proxy_host:proxy_port - ## - proxy_uri = os.getenv('http_proxy') or os.getenv('HTTP_PROXY') - if proxy_uri is not None: - url = urlparse.urlparse(proxy_uri) - conn = self.__connectionClass(url.hostname, url.port, **kwds) - headers = {} - if url.username and url.password: - auth = '%s:%s' % (url.username, url.password) - if atLeastPython3 and isinstance(auth, str): - headers['Proxy-Authorization'] = 'Basic ' + base64.b64encode(auth.encode()).decode() - else: - headers['Proxy-Authorization'] = 'Basic ' + base64.b64encode(auth) - conn.set_tunnel(self.__hostname, self.__port, headers) - else: - conn = self.__connectionClass(self.__hostname, self.__port, **kwds) + kwds["timeout"] = self.__timeout + kwds["verify"] = self.__verify + + if self.__persist and self.__connection is not None: + return self.__connection + + self.__connection = self.__connectionClass(self.__hostname, self.__port, retry = self.__retry, **kwds) - return conn + return self.__connection def __log(self, verb, url, requestHeaders, input, status, responseHeaders, output): logger = logging.getLogger(__name__) @@ -356,6 +482,8 @@ def __log(self, verb, url, requestHeaders, input, status, responseHeaders, outpu requestHeaders["Authorization"] = "Basic (login and password removed)" elif requestHeaders["Authorization"].startswith("token"): requestHeaders["Authorization"] = "token (oauth token removed)" + elif requestHeaders["Authorization"].startswith("Bearer"): + requestHeaders["Authorization"] = "Bearer (jwt removed)" else: # pragma no cover (Cannot happen, but could if we add an authentication method => be prepared) requestHeaders["Authorization"] = "(unknown auth removed)" # pragma no cover (Cannot happen, but could if we add an authentication method => be prepared) - logger.debug("%s %s://%s%s %s %s ==> %i %s %s", str(verb), self.__scheme, self.__hostname, str(url), str(requestHeaders), str(input), status, str(responseHeaders), str(output)) + logger.debug("%s %s://%s%s %s %s ==> %i %s %s", verb, self.__scheme, self.__hostname, url, requestHeaders, input, status, responseHeaders, output) diff --git a/github/RequiredPullRequestReviews.py b/github/RequiredPullRequestReviews.py new file mode 100644 index 0000000..c3da7be --- /dev/null +++ b/github/RequiredPullRequestReviews.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Steve Kowalik # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + +import github.NamedUser +import github.Team + + +class RequiredPullRequestReviews(github.GithubObject.CompletableGithubObject): + """ + This class represents Required Pull Request Reviews. The reference can be found here https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + """ + + def __repr__(self): + return self.get__repr__({"url": self._url.value, "dismiss_stale_reviews": self._dismiss_stale_reviews.value, "require_code_owner_reviews": self._require_code_owner_reviews.value}) + + @property + def dismiss_stale_reviews(self): + """ + :type: bool + """ + self._completeIfNotSet(self._dismiss_stale_reviews) + return self._dismiss_stale_reviews.value + + @property + def require_code_owner_reviews(self): + """ + :type: bool + """ + self._completeIfNotSet(self._require_code_owner_reviews) + return self._require_code_owner_reviews.value + + @property + def required_approving_review_count(self): + """ + :type: int + """ + self._completeIfNotSet(self._required_approving_review_count) + return self._required_approving_review_count.value + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def dismissal_users(self): + """ + :type: list of :class:`github.NamedUser.NamedUser` + """ + self._completeIfNotSet(self._users) + return self._users.value + + @property + def dismissal_teams(self): + """ + :type: list of :class:`github.Team.Team` + """ + self._completeIfNotSet(self._teams) + return self._teams.value + + def _initAttributes(self): + self._dismiss_stale_reviews = github.GithubObject.NotSet + self._require_code_owner_reviews = github.GithubObject.NotSet + self._required_approving_review_count = github.GithubObject.NotSet + self._users = github.GithubObject.NotSet + self._teams = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "dismissal_restrictions" in attributes: # pragma no branch + if "users" in attributes["dismissal_restrictions"]: + self._users = self._makeListOfClassesAttribute(github.NamedUser.NamedUser, attributes["dismissal_restrictions"]["users"]) + if "teams" in attributes["dismissal_restrictions"]: # pragma no branch + self._teams = self._makeListOfClassesAttribute(github.Team.Team, attributes["dismissal_restrictions"]["teams"]) + if "dismiss_stale_reviews" in attributes: # pragma no branch + self._dismiss_stale_reviews = self._makeBoolAttribute(attributes["dismiss_stale_reviews"]) + if "require_code_owner_reviews" in attributes: # pragma no branch + self._require_code_owner_reviews = self._makeBoolAttribute(attributes["require_code_owner_reviews"]) + if "required_approving_review_count" in attributes: # pragma no branch + self._required_approving_review_count = self._makeIntAttribute(attributes["required_approving_review_count"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) diff --git a/github/StatusMessage.py b/github/RequiredStatusChecks.py similarity index 54% rename from github/StatusMessage.py rename to github/RequiredStatusChecks.py index ec081e3..e4fba2e 100644 --- a/github/StatusMessage.py +++ b/github/RequiredStatusChecks.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2013 Vincent Jacques # +# Copyright 2018 Steve Kowalik # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,48 +20,52 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject -class StatusMessage(github.GithubObject.NonCompletableGithubObject): +class RequiredStatusChecks(github.GithubObject.CompletableGithubObject): """ - This class represents status messages as defined in https://status.github.com/api + This class represents Required Status Checks. The reference can be found here https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch """ def __repr__(self): - return self.get__repr__({"body": self._body.value}) + return self.get__repr__({"strict": self._strict.value, "url": self._url.value}) @property - def body(self): + def strict(self): """ - :type: string + :type: bool """ - return self._body.value + self._completeIfNotSet(self._strict) + return self._strict.value @property - def status(self): + def contexts(self): """ - :type: string + :type: list of string """ - return self._status.value + self._completeIfNotSet(self._contexts) + return self._contexts.value @property - def created_on(self): + def url(self): """ - :type: datetime.datetime + :type: string """ - return self._created_on.value + self._completeIfNotSet(self._url) + return self._url.value def _initAttributes(self): - self._status = github.GithubObject.NotSet - self._created_on = github.GithubObject.NotSet + self._strict = github.GithubObject.NotSet + self._contexts = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet def _useAttributes(self, attributes): - if "body" in attributes: # pragma no branch - self._body = self._makeStringAttribute(attributes["body"]) - if "status" in attributes: # pragma no branch - self._status = self._makeStringAttribute(attributes["status"]) - if "created_on" in attributes: # pragma no branch - self._created_on = self._makeDatetimeAttribute(attributes["created_on"]) + if "strict" in attributes: # pragma no branch + self._strict = self._makeBoolAttribute(attributes["strict"]) + if "contexts" in attributes: # pragma no branch + self._contexts = self._makeListOfStringsAttribute(attributes["contexts"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) diff --git a/github/SourceImport.py b/github/SourceImport.py new file mode 100644 index 0000000..26a60d2 --- /dev/null +++ b/github/SourceImport.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Hayden Fuss # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class SourceImport(github.GithubObject.CompletableGithubObject): + """ + This class represents SourceImports. The reference can be found here https://developer.github.com/v3/migration/source_imports/ + """ + + def __repr__(self): + return self.get__repr__({ + "vcs_url": self._vcs_url.value, + "repository_url": self._repository_url.value, + "status": self._status.value, + "url": self._url.value + }) + + @property + def authors_count(self): + """ + :type: integer + """ + self._completeIfNotSet(self._authors_count) + return self._authors_count.value + + @property + def authors_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._authors_url) + return self._authors_url.value + + @property + def has_large_files(self): + """ + :type: bool + """ + self._completeIfNotSet(self._has_large_files) + return self._has_large_files.value + + @property + def html_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._html_url) + return self._html_url.value + + @property + def large_files_count(self): + """ + :type: integer + """ + self._completeIfNotSet(self._large_files_count) + return self._large_files_count.value + + @property + def large_files_size(self): + """ + :type: integer + """ + self._completeIfNotSet(self._large_files_size) + return self._large_files_size.value + + @property + def repository_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._repository_url) + return self._repository_url.value + + @property + def status(self): + """ + :type: string + """ + self._completeIfNotSet(self._status) + return self._status.value + + @property + def status_text(self): + """ + :type: string + """ + self._completeIfNotSet(self._status_text) + return self._status_text.value + + @property + def url(self): + """ + :type: string + """ + self._completeIfNotSet(self._url) + return self._url.value + + @property + def use_lfs(self): + """ + :type: string + """ + self._completeIfNotSet(self._use_lfs) + return self._use_lfs.value + + @property + def vcs(self): + """ + :type: string + """ + self._completeIfNotSet(self._vcs) + return self._vcs.value + + @property + def vcs_url(self): + """ + :type: string + """ + self._completeIfNotSet(self._vcs_url) + return self._vcs_url.value + + def _initAttributes(self): + self._authors_count = github.GithubObject.NotSet + self._authors_url = github.GithubObject.NotSet + self._has_large_files = github.GithubObject.NotSet + self._html_url = github.GithubObject.NotSet + self._large_files_count = github.GithubObject.NotSet + self._large_files_size = github.GithubObject.NotSet + self._repository_url = github.GithubObject.NotSet + self._status = github.GithubObject.NotSet + self._status_text = github.GithubObject.NotSet + self._url = github.GithubObject.NotSet + self._use_lsf = github.GithubObject.NotSet + self._vcs = github.GithubObject.NotSet + self._vcs_url = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "authors_count" in attributes: # pragma no branch + self._authors_count = self._makeIntAttribute(attributes["authors_count"]) + if "authors_url" in attributes: # pragma no branch + self._authors_url = self._makeStringAttribute(attributes["authors_url"]) + if "has_large_files" in attributes: # pragma no branch + self._has_large_files = self._makeBoolAttribute(attributes["has_large_files"]) + if "html_url" in attributes: # pragma no branch + self._html_url = self._makeStringAttribute(attributes["html_url"]) + if "large_files_count" in attributes: # pragma no branch + self._large_files_count = self._makeIntAttribute(attributes["large_files_count"]) + if "large_files_size" in attributes: # pragma no branch + self._large_files_size = self._makeIntAttribute(attributes["large_files_size"]) + if "repository_url" in attributes: # pragma no branch + self._repository_url = self._makeStringAttribute(attributes["repository_url"]) + if "status" in attributes: # pragma no branch + self._status = self._makeStringAttribute(attributes["status"]) + if "status_text" in attributes: # pragma no branch + self._status_text = self._makeStringAttribute(attributes["status_text"]) + if "url" in attributes: # pragma no branch + self._url = self._makeStringAttribute(attributes["url"]) + if "use_lfs" in attributes: # pragma no branch + self._use_lfs = self._makeStringAttribute(attributes["use_lfs"]) + if "vcs" in attributes: # pragma no branch + self._vcs = self._makeStringAttribute(attributes["vcs"]) + if "vcs_url" in attributes: # pragma no branch + self._vcs_url = self._makeStringAttribute(attributes["vcs_url"]) diff --git a/github/Stargazer.py b/github/Stargazer.py index 6fca6a2..335bd84 100644 --- a/github/Stargazer.py +++ b/github/Stargazer.py @@ -1,20 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # -# Copyright 2012 Christopher Gilbert # -# Copyright 2012 Steve English # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Adrian Petrescu # -# Copyright 2013 Mark Roddy # -# Copyright 2013 Vincent Jacques # -# Copyright 2013 martinqt # # Copyright 2015 Dan Vanderkam # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -29,15 +24,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github class Stargazer(github.GithubObject.NonCompletableGithubObject): """ - This class represents Stargazers with the date of starring as returned by - https://developer.github.com/v3/activity/starring/#alternative-response-with-star-creation-timestamps + This class represents Stargazers. The reference can be found here https://developer.github.com/v3/activity/starring/#alternative-response-with-star-creation-timestamps """ def __repr__(self): diff --git a/github/StatsCodeFrequency.py b/github/StatsCodeFrequency.py old mode 100644 new mode 100755 index 0635c07..aab5881 --- a/github/StatsCodeFrequency.py +++ b/github/StatsCodeFrequency.py @@ -1,11 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,14 +24,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class StatsCodeFrequency(github.GithubObject.NonCompletableGithubObject): """ - This class represents statistics of code frequency. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + This class represents statistics of StatsCodeFrequencies. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week """ @property diff --git a/github/StatsCommitActivity.py b/github/StatsCommitActivity.py old mode 100644 new mode 100755 index ded0b93..ade3234 --- a/github/StatsCommitActivity.py +++ b/github/StatsCommitActivity.py @@ -1,11 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,14 +24,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject class StatsCommitActivity(github.GithubObject.NonCompletableGithubObject): """ - This class represents statistics of commit activity. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + This class represents StatsCommitActivities. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data """ @property diff --git a/github/StatsContributor.py b/github/StatsContributor.py old mode 100644 new mode 100755 index fda45b0..7b8d0db --- a/github/StatsContributor.py +++ b/github/StatsContributor.py @@ -1,11 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +24,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -29,7 +33,7 @@ class StatsContributor(github.GithubObject.NonCompletableGithubObject): """ - This class represents statistics of a contibutor. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + This class represents StatsContributors. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts """ class Week(github.GithubObject.NonCompletableGithubObject): diff --git a/github/StatsParticipation.py b/github/StatsParticipation.py old mode 100644 new mode 100755 index b4acd44..326496f --- a/github/StatsParticipation.py +++ b/github/StatsParticipation.py @@ -1,11 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +24,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -29,7 +33,7 @@ class StatsParticipation(github.GithubObject.NonCompletableGithubObject): """ - This class represents statistics of participation. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repo-owner-and-everyone-else + This class represents StatsParticipations. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repo-owner-and-everyone-else """ @property diff --git a/github/StatsPunchCard.py b/github/StatsPunchCard.py old mode 100644 new mode 100755 index 733d4a8..01a472c --- a/github/StatsPunchCard.py +++ b/github/StatsPunchCard.py @@ -1,11 +1,15 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -20,7 +24,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -29,7 +33,7 @@ class StatsPunchCard(github.GithubObject.NonCompletableGithubObject): """ - This class represents the punch card. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + This class represents StatsPunchCards. The reference can be found here http://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day """ def get(self, day, hour): diff --git a/github/Status.py b/github/Status.py deleted file mode 100644 index 67a6b80..0000000 --- a/github/Status.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github.GithubObject - - -class Status(github.GithubObject.NonCompletableGithubObject): - """ - This class represents status as defined in https://status.github.com/api - """ - - def __repr__(self): - return self.get__repr__({"status": self._status.value}) - - @property - def status(self): - """ - :type: string - """ - return self._status.value - - @property - def last_updated(self): - """ - :type: datetime.datetime - """ - return self._last_updated.value - - def _initAttributes(self): - self._status = github.GithubObject.NotSet - self._last_updated = github.GithubObject.NotSet - - def _useAttributes(self, attributes): - if "status" in attributes: # pragma no branch - self._status = self._makeStringAttribute(attributes["status"]) - if "last_updated" in attributes: # pragma no branch - self._last_updated = self._makeDatetimeAttribute(attributes["last_updated"]) diff --git a/github/Tag.py b/github/Tag.py index c837c74..1703304 100644 --- a/github/Tag.py +++ b/github/Tag.py @@ -1,15 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +29,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -33,7 +38,7 @@ class Tag(github.GithubObject.NonCompletableGithubObject): """ - This class represents Tags. The reference can be found here http://developer.github.com/v3/git/tags/ + This class represents Tags. The reference can be found here https://developer.github.com/v3/repos/#list-tags """ def __repr__(self): diff --git a/github/Team.py b/github/Team.py index 9491020..81c96bd 100644 --- a/github/Team.py +++ b/github/Team.py @@ -1,15 +1,30 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Jan Orel # +# Copyright 2014 Vincent Jacques # +# Copyright 2015 Aron Culotta # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2016 mattjmorrison # +# Copyright 2018 Isuru Fernando # +# Copyright 2018 Jacopo Notarstefano # +# Copyright 2018 James D'Amato # +# Copyright 2018 Maarten Fonville # +# Copyright 2018 Manu Hortet # +# Copyright 2018 Michał Górny # +# Copyright 2018 Steve Kowalik # +# Copyright 2018 Tim Boring # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,13 +39,14 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject import github.PaginatedList import github.Repository import github.NamedUser +import github.Organization class Team(github.GithubObject.CompletableGithubObject): @@ -73,6 +89,14 @@ def name(self): self._completeIfNotSet(self._name) return self._name.value + @property + def description(self): + """ + :type: string + """ + self._completeIfNotSet(self._description) + return self._description.value + @property def permission(self): """ @@ -113,8 +137,27 @@ def url(self): self._completeIfNotSet(self._url) return self._url.value + @property + def organization(self): + """ + :type: :class:`github.Organization.Organization` + """ + self._completeIfNotSet(self._organization) + return self._organization.value + + @property + def privacy(self): + """ + :type: string + """ + self._completeIfNotSet(self._privacy) + return self._privacy.value + def add_to_members(self, member): """ + This API call is deprecated. Use `add_membership` instead. + https://developer.github.com/v3/teams/members/#deprecation-notice-1 + :calls: `PUT /teams/:id/members/:user `_ :param member: :class:`github.NamedUser.NamedUser` :rtype: None @@ -125,16 +168,29 @@ def add_to_members(self, member): self.url + "/members/" + member._identity ) - def add_membership(self, member): + def add_membership(self, member, role=github.GithubObject.NotSet): """ :calls: `PUT /teams/:id/memberships/:user `_ :param member: :class:`github.Nameduser.NamedUser` + :param role: string :rtype: None """ assert isinstance(member, github.NamedUser.NamedUser), member + assert role is github.GithubObject.NotSet or isinstance( + role, (str, unicode)), role + if role is not github.GithubObject.NotSet: + assert role in ['member', 'maintainer'] + put_parameters = { + "role": role, + } + else: + put_parameters = { + "role": "member", + } headers, data = self._requester.requestJsonAndCheck( "PUT", - self.url + "/memberships/" + member._identity + self.url + "/memberships/" + member._identity, + input=put_parameters ) def add_to_repos(self, repo): @@ -176,20 +232,28 @@ def delete(self): self.url ) - def edit(self, name, permission=github.GithubObject.NotSet): + def edit(self, name, description=github.GithubObject.NotSet, permission=github.GithubObject.NotSet, privacy=github.GithubObject.NotSet): """ :calls: `PATCH /teams/:id `_ :param name: string + :param description: string :param permission: string + :param privacy: string :rtype: None """ assert isinstance(name, (str, unicode)), name + assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description assert permission is github.GithubObject.NotSet or isinstance(permission, (str, unicode)), permission + assert privacy is github.GithubObject.NotSet or isinstance(privacy, (str, unicode)), privacy post_parameters = { "name": name, } + if description is not github.GithubObject.NotSet: + post_parameters["description"] = description if permission is not github.GithubObject.NotSet: post_parameters["permission"] = permission + if privacy is not github.GithubObject.NotSet: + post_parameters["privacy"] = privacy headers, data = self._requester.requestJsonAndCheck( "PATCH", self.url, @@ -197,16 +261,22 @@ def edit(self, name, permission=github.GithubObject.NotSet): ) self._useAttributes(data) - def get_members(self): + def get_members(self, role=github.GithubObject.NotSet): """ - :calls: `GET /teams/:id/members `_ + :calls: `GET /teams/:id/members `_ + :param role: string :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser` """ + assert role is github.GithubObject.NotSet or isinstance(role, (str, unicode)), role + url_parameters = dict() + if role is not github.GithubObject.NotSet: + assert role in ['member', 'maintainer', 'all'] + url_parameters["role"] = role return github.PaginatedList.PaginatedList( github.NamedUser.NamedUser, self._requester, self.url + "/members", - None + url_parameters ) def get_repos(self): @@ -247,8 +317,23 @@ def has_in_repos(self, repo): ) return status == 204 + def remove_membership(self, member): + """ + :calls: `DELETE /teams/:team_id/memberships/:username ` + :param member: + :return: + """ + assert isinstance(member, github.NamedUser.NamedUser), member + headers, data = self._requester.requestJsonAndCheck( + "DELETE", + self.url + "/memberships/" + member._identity + ) + def remove_from_members(self, member): """ + This API call is deprecated. Use `remove_membership` instead: + https://developer.github.com/v3/teams/members/#deprecation-notice-2 + :calls: `DELETE /teams/:id/members/:user `_ :param member: :class:`github.NamedUser.NamedUser` :rtype: None @@ -280,11 +365,14 @@ def _initAttributes(self): self._members_count = github.GithubObject.NotSet self._members_url = github.GithubObject.NotSet self._name = github.GithubObject.NotSet + self._description = github.GithubObject.NotSet self._permission = github.GithubObject.NotSet self._repos_count = github.GithubObject.NotSet self._repositories_url = github.GithubObject.NotSet self._slug = github.GithubObject.NotSet self._url = github.GithubObject.NotSet + self._organization = github.GithubObject.NotSet + self._privacy = github.GithubObject.NotSet def _useAttributes(self, attributes): if "id" in attributes: # pragma no branch @@ -295,6 +383,8 @@ def _useAttributes(self, attributes): self._members_url = self._makeStringAttribute(attributes["members_url"]) if "name" in attributes: # pragma no branch self._name = self._makeStringAttribute(attributes["name"]) + if "description" in attributes: # pragma no branch + self._description = self._makeStringAttribute(attributes["description"]) if "permission" in attributes: # pragma no branch self._permission = self._makeStringAttribute(attributes["permission"]) if "repos_count" in attributes: # pragma no branch @@ -305,3 +395,7 @@ def _useAttributes(self, attributes): self._slug = self._makeStringAttribute(attributes["slug"]) if "url" in attributes: # pragma no branch self._url = self._makeStringAttribute(attributes["url"]) + if "organization" in attributes: # pragma no branch + self._organization = self._makeClassAttribute(github.Organization.Organization, attributes["organization"]) + if "privacy" in attributes: # pragma no branch + self._privacy = self._makeStringAttribute(attributes["privacy"]) diff --git a/github/Topic.py b/github/Topic.py new file mode 100644 index 0000000..c347c2c --- /dev/null +++ b/github/Topic.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Steve Kowalik # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class Topic(github.GithubObject.CompletableGithubObject): + """ + This class represents topics as used by https://github.com/topics. The object refereence can be found here https://developer.github.com/v3/search/#search-topics + """ + + def __repr__(self): + return self.get__repr__({"name": self._name.value}) + + @property + def name(self): + """ + :type: string + """ + self._completeIfNotSet(self._name) + return self._name.value + + @property + def display_name(self): + """ + :type: string + """ + self._completeIfNotSet(self._display_name) + return self._display_name.value + + @property + def short_description(self): + """ + :type: string + """ + self._completeIfNotSet(self._short_description) + return self._short_description.value + + @property + def description(self): + """ + :type: string + """ + self._completeIfNotSet(self._description) + return self._description.value + + def _initAttributes(self): + self._name = github.GithubObject.NotSet + self._display_name = github.GithubObject.NotSet + self._short_description = github.GithubObject.NotSet + self._description = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "name" in attributes: # pragma no branch + self._name = self._makeStringAttribute(attributes["name"]) + if "display_name" in attributes: # pragma no branch + self._display_name = self._makeStringAttribute(attributes["display_name"]) + if "short_description" in attributes: # pragma no branch + self._short_description = self._makeStringAttribute(attributes["short_description"]) + if "description" in attributes: # pragma no branch + self._description = self._makeStringAttribute(attributes["description"]) diff --git a/github/UserKey.py b/github/UserKey.py index 0f47cf0..a01a867 100644 --- a/github/UserKey.py +++ b/github/UserKey.py @@ -1,15 +1,20 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 AKFish # # Copyright 2013 Vincent Jacques # # Copyright 2013 martinqt # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2018 Wan Liuyang # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -24,7 +29,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ import github.GithubObject @@ -87,27 +92,6 @@ def delete(self): self.url ) - def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet): - """ - :calls: `PATCH /user/keys/:id `_ - :param title: string - :param key: string - :rtype: None - """ - assert title is github.GithubObject.NotSet or isinstance(title, (str, unicode)), title - assert key is github.GithubObject.NotSet or isinstance(key, (str, unicode)), key - post_parameters = dict() - if title is not github.GithubObject.NotSet: - post_parameters["title"] = title - if key is not github.GithubObject.NotSet: - post_parameters["key"] = key - headers, data = self._requester.requestJsonAndCheck( - "PATCH", - self.url, - input=post_parameters - ) - self._useAttributes(data) - def _initAttributes(self): self._id = github.GithubObject.NotSet self._key = github.GithubObject.NotSet diff --git a/github/View.py b/github/View.py new file mode 100644 index 0000000..ed0bce5 --- /dev/null +++ b/github/View.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2018 Justin Kufro # +# Copyright 2018 Ivan Minno # +# Copyright 2018 Zilei Gu # +# Copyright 2018 Yves Zumbach # +# Copyright 2018 Leying Chen # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +import github.GithubObject + + +class View(github.GithubObject.NonCompletableGithubObject): + """ + This class represents a popular Path for a GitHub repository. + The reference can be found here https://developer.github.com/v3/repos/traffic/ + """ + + def __repr__(self): + return self.get__repr__({ + "timestamp": self._timestamp.value, + "count": self._count.value, + "uniques": self._uniques.value + }) + + @property + def timestamp(self): + """ + :type: datetime.datetime + """ + return self._timestamp.value + + @property + def count(self): + """ + :type: integer + """ + return self._count.value + + @property + def uniques(self): + """ + :type: integer + """ + return self._uniques.value + + def _initAttributes(self): + self._timestamp = github.GithubObject.NotSet + self._count = github.GithubObject.NotSet + self._uniques = github.GithubObject.NotSet + + def _useAttributes(self, attributes): + if "timestamp" in attributes: # pragma no branch + self._timestamp = self._makeDatetimeAttribute(attributes["timestamp"]) + if "count" in attributes: # pragma no branch + self._count = self._makeIntAttribute(attributes["count"]) + if "uniques" in attributes: # pragma no branch + self._uniques = self._makeIntAttribute(attributes["uniques"]) diff --git a/github/__init__.py b/github/__init__.py index 550c9af..8475e73 100644 --- a/github/__init__.py +++ b/github/__init__.py @@ -1,13 +1,18 @@ # -*- coding: utf-8 -*- -# ########################## Copyrights and license ############################ +############################ Copyrights and license ############################ # # # Copyright 2012 Vincent Jacques # # Copyright 2012 Zearin # # Copyright 2013 Vincent Jacques # +# Copyright 2014 Vincent Jacques # +# Copyright 2016 Jannis Gebauer # +# Copyright 2016 Peter Buckley # +# Copyright 2017 sharkykh # +# Copyright 2018 sfdye # # # # This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # +# http://pygithub.readthedocs.io/ # # # # PyGithub is free software: you can redistribute it and/or modify it under # # the terms of the GNU Lesser General Public License as published by the Free # @@ -22,7 +27,7 @@ # You should have received a copy of the GNU Lesser General Public License # # along with PyGithub. If not, see . # # # -# ############################################################################## +################################################################################ """ The primary class you will instanciate is :class:`github.MainClass.Github`. @@ -34,8 +39,8 @@ import logging -from MainClass import Github, GithubIntegration -from GithubException import GithubException, BadCredentialsException, UnknownObjectException, BadUserAgentException, RateLimitExceededException, BadAttributeException +from github.MainClass import Github, GithubIntegration +from GithubException import GithubException, BadCredentialsException, UnknownObjectException, BadUserAgentException, RateLimitExceededException, BadAttributeException, TwoFactorException from InputFileContent import InputFileContent from InputGitAuthor import InputGitAuthor from InputGitTreeElement import InputGitTreeElement diff --git a/github/tests/AllTests.py b/github/tests/AllTests.py deleted file mode 100644 index f2211a8..0000000 --- a/github/tests/AllTests.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -from AuthenticatedUser import * -from Authentication import * -from Authorization import * -from Branch import * -from Commit import * -from CommitCombinedStatus import * -from CommitComment import * -from CommitStatus import * -from ContentFile import * -from Download import * -from Event import * -from Gist import * -from GistComment import * -from GitBlob import * -from GitCommit import * -from Github_ import * -from GitRef import * -from GitRelease import * -from GitTag import * -from GitTree import * -from Hook import * -from Issue import * -from IssueComment import * -from IssueEvent import * -from Label import * -from Milestone import * -from NamedUser import * -from Markdown import * -from OrganizationHasInMembers import * -from Organization import * -from PullRequest import * -from PullRequestComment import * -from PullRequestReview import * -from PullRequestReviewerRequests import * -from PullRequestFile import * -from RateLimiting import * -from Repository import * -from RepositoryKey import * -from Status import * -from Tag import * -from Team import * -from UserKey import * - -from PaginatedList import * -from Exceptions import * -from Enterprise import * -from Logging_ import * -from RawData import * -from ConditionalRequestUpdate import * -from Persistence import * -from ExposeAllAttributes import * -from BadAttributes import * -from Equality import * -from Search import * - -from Issue33 import * -from Issue50 import * -from Issue54 import * -from Issue80 import * -from Issue87 import * -from Issue131 import * -from Issue133 import * -from Issue134 import * -from Issue139 import * -from Issue140 import * -from Issue142 import * -from Issue158 import * -from Issue174 import * -from Issue214 import * -from Issue216 import * -from Issue278 import * -from Issue494 import * diff --git a/github/tests/AuthenticatedUser.py b/github/tests/AuthenticatedUser.py deleted file mode 100644 index bb00ccc..0000000 --- a/github/tests/AuthenticatedUser.py +++ /dev/null @@ -1,239 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class AuthenticatedUser(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user() - - def testAttributes(self): - self.assertEqual(self.user.avatar_url, "https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png") - self.assertEqual(self.user.bio, "") - self.assertEqual(self.user.blog, "http://vincent-jacques.net") - self.assertEqual(self.user.collaborators, 0) - self.assertEqual(self.user.company, "Criteo") - self.assertEqual(self.user.created_at, datetime.datetime(2010, 7, 9, 6, 10, 6)) - self.assertEqual(self.user.disk_usage, 16692) - self.assertEqual(self.user.email, "vincent@vincent-jacques.net") - self.assertEqual(self.user.followers, 13) - self.assertEqual(self.user.following, 24) - self.assertEqual(self.user.gravatar_id, "b68de5ae38616c296fa345d2b9df2225") - self.assertFalse(self.user.hireable) - self.assertEqual(self.user.html_url, "https://github.com/jacquev6") - self.assertEqual(self.user.id, 327146) - self.assertEqual(self.user.location, "Paris, France") - self.assertEqual(self.user.login, "jacquev6") - self.assertEqual(self.user.name, "Vincent Jacques") - self.assertEqual(self.user.owned_private_repos, 5) - self.assertEqual(self.user.plan.name, "micro") - self.assertEqual(self.user.plan.collaborators, 1) - self.assertEqual(self.user.plan.space, 614400) - self.assertEqual(self.user.plan.private_repos, 5) - self.assertEqual(self.user.private_gists, 5) - self.assertEqual(self.user.public_gists, 1) - self.assertEqual(self.user.public_repos, 10) - self.assertEqual(self.user.total_private_repos, 5) - self.assertEqual(self.user.type, "User") - self.assertEqual(self.user.url, "https://api.github.com/users/jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.user.__repr__(), 'AuthenticatedUser(login="jacquev6")') - - def testEditWithoutArguments(self): - self.user.edit() - - def testEditWithAllArguments(self): - self.user.edit("Name edited by PyGithub", "Email edited by PyGithub", "Blog edited by PyGithub", "Company edited by PyGithub", "Location edited by PyGithub", True, "Bio edited by PyGithub") - self.assertEqual(self.user.name, "Name edited by PyGithub") - self.assertEqual(self.user.email, "Email edited by PyGithub") - self.assertEqual(self.user.blog, "Blog edited by PyGithub") - self.assertEqual(self.user.company, "Company edited by PyGithub") - self.assertEqual(self.user.location, "Location edited by PyGithub") - self.assertTrue(self.user.hireable) - self.assertEqual(self.user.bio, "Bio edited by PyGithub") - - def testEmails(self): - self.assertEqual(self.user.get_emails(), ["vincent@vincent-jacques.net", "github.com@vincent-jacques.net"]) - self.user.add_to_emails("1@foobar.com", "2@foobar.com") - self.assertEqual(self.user.get_emails(), ["vincent@vincent-jacques.net", "1@foobar.com", "2@foobar.com", "github.com@vincent-jacques.net"]) - self.user.remove_from_emails("1@foobar.com", "2@foobar.com") - self.assertEqual(self.user.get_emails(), ["vincent@vincent-jacques.net", "github.com@vincent-jacques.net"]) - - def testFollowing(self): - nvie = self.g.get_user("nvie") - self.assertListKeyEqual(self.user.get_following(), lambda u: u.login, ["schacon", "jamis", "chad", "unclebob", "dabrahams", "jnorthrup", "brugidou", "regisb", "walidk", "tanzilli", "fjardon", "r3c", "sdanzan", "vineus", "cjuniet", "gturri", "ant9000", "asquini", "claudyus", "jardon-u", "s-bernard", "kamaradclimber", "Lyloa", "nvie"]) - self.assertTrue(self.user.has_in_following(nvie)) - self.user.remove_from_following(nvie) - self.assertFalse(self.user.has_in_following(nvie)) - self.user.add_to_following(nvie) - self.assertTrue(self.user.has_in_following(nvie)) - self.assertListKeyEqual(self.user.get_followers(), lambda u: u.login, ["jnorthrup", "brugidou", "regisb", "walidk", "afzalkhan", "sdanzan", "vineus", "gturri", "fjardon", "cjuniet", "jardon-u", "kamaradclimber", "L42y"]) - - def testWatching(self): - gitflow = self.g.get_user("nvie").get_repo("gitflow") - self.assertListKeyEqual(self.user.get_watched(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub"]) - self.assertTrue(self.user.has_in_watched(gitflow)) - self.user.remove_from_watched(gitflow) - self.assertFalse(self.user.has_in_watched(gitflow)) - self.user.add_to_watched(gitflow) - self.assertTrue(self.user.has_in_watched(gitflow)) - - def testStarring(self): - gitflow = self.g.get_user("nvie").get_repo("gitflow") - self.assertListKeyEqual(self.user.get_starred(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "amaunet", "django", "django", "moviePlanning", "folly"]) - self.assertTrue(self.user.has_in_starred(gitflow)) - self.user.remove_from_starred(gitflow) - self.assertFalse(self.user.has_in_starred(gitflow)) - self.user.add_to_starred(gitflow) - self.assertTrue(self.user.has_in_starred(gitflow)) - - def testSubscriptions(self): - gitflow = self.g.get_user("nvie").get_repo("gitflow") - self.assertListKeyEqual(self.user.get_subscriptions(), lambda r: r.name, ["gitflow", "ViDE", "Boost.HierarchicalEnum", "QuadProgMm", "DrawSyntax", "DrawTurksHead", "PrivateStuff", "vincent-jacques.net", "Hacking", "C4Planner", "developer.github.com", "PyGithub", "PyGithub", "django", "CinePlanning", "PyGithub", "PyGithub", "PyGithub", "IpMap", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub"]) - self.assertTrue(self.user.has_in_subscriptions(gitflow)) - self.user.remove_from_subscriptions(gitflow) - self.assertFalse(self.user.has_in_subscriptions(gitflow)) - self.user.add_to_subscriptions(gitflow) - self.assertTrue(self.user.has_in_subscriptions(gitflow)) - - def testGetAuthorizations(self): - self.assertListKeyEqual(self.user.get_authorizations(), lambda a: a.id, [372294]) - - def testCreateRepository(self): - repo = self.user.create_repo("TestPyGithub") - self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub") - - def testCreateRepositoryWithAllArguments(self): - repo = self.user.create_repo("TestPyGithub", "Repo created by PyGithub", "http://foobar.com", private=False, has_issues=False, has_wiki=False, has_downloads=False) - self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub") - - def testCreateRepositoryWithAutoInit(self): - repo = self.user.create_repo("TestPyGithub", auto_init=True, gitignore_template="Python") - self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub") - - def testCreateAuthorizationWithoutArguments(self): - authorization = self.user.create_authorization() - self.assertEqual(authorization.id, 372259) - - def testCreateAuthorizationWithAllArguments(self): - authorization = self.user.create_authorization(["repo"], "Note created by PyGithub", "http://vincent-jacques.net/PyGithub") - self.assertEqual(authorization.id, 372294) - - def testCreateAuthorizationWithClientIdAndSecret(self): - # I don't have a client_id and client_secret so the ReplayData for this test is forged - authorization = self.user.create_authorization(client_id="01234567890123456789", client_secret="0123456789012345678901234567890123456789") - self.assertEqual(authorization.id, 372294) - - def testCreateGist(self): - gist = self.user.create_gist(True, {"foobar.txt": github.InputFileContent("File created by PyGithub")}, "Gist created by PyGithub") - self.assertEqual(gist.description, "Gist created by PyGithub") - self.assertEqual(gist.files.keys(), ["foobar.txt"]) - self.assertEqual(gist.files["foobar.txt"].content, "File created by PyGithub") - - def testCreateGistWithoutDescription(self): - gist = self.user.create_gist(True, {"foobar.txt": github.InputFileContent("File created by PyGithub")}) - self.assertEqual(gist.description, None) - self.assertEqual(gist.files.keys(), ["foobar.txt"]) - self.assertEqual(gist.files["foobar.txt"].content, "File created by PyGithub") - - def testCreateKey(self): - key = self.user.create_key("Key added through PyGithub", "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw== vincent@IDEE") - self.assertEqual(key.id, 2626650) - - def testGetEvents(self): - self.assertListKeyBegin(self.user.get_events(), lambda e: e.type, ["PushEvent", "IssuesEvent", "IssueCommentEvent", "PushEvent"]) - - def testGetOrganizationEvents(self): - self.assertListKeyBegin(self.user.get_organization_events(self.g.get_organization("BeaverSoftware")), lambda e: e.type, ["CreateEvent", "CreateEvent", "PushEvent", "PushEvent"]) - - def testGetGists(self): - self.assertListKeyEqual(self.user.get_gists(), lambda g: g.id, ["2793505", "2793179", "11cb445f8197e17d303d", "1942384", "dcb7de17e8a52b74541d"]) - - def testGetStarredGists(self): - self.assertListKeyEqual(self.user.get_starred_gists(), lambda g: g.id, ["1942384", "dcb7de17e8a52b74541d"]) - - def testGetIssues(self): - self.assertListKeyEqual(self.user.get_issues(), lambda i: (i.id, i.repository.name), [(4639931, "PyGithub"), (4452000, "PyGithub"), (4356743, "PyGithub"), (3716033, "PyGithub"), (3715946, "PyGithub"), (3643837, "PyGithub"), (3628022, "PyGithub"), (3624595, "PyGithub"), (3624570, "PyGithub"), (3624561, "PyGithub"), (3624556, "PyGithub"), (3619973, "PyGithub"), (3527266, "PyGithub"), (3527245, "PyGithub"), (3527231, "PyGithub")]) - - def testGetIssuesWithAllArguments(self): - requestedByUser = self.user.get_repo("PyGithub").get_label("Requested by user") - issues = self.user.get_issues("assigned", "closed", [requestedByUser], "comments", "asc", datetime.datetime(2012, 5, 28, 23, 0, 0)) - self.assertListKeyEqual(issues, lambda i: i.id, [6816576, 8495415, 6889934, 8339699, 8075253, 8033963, 9089893, 9489725, 11746141, 5152384, 5177381, 5783131, 6454054, 6641076, 6653907, 7331214, 9489813, 9776615, 10360280, 4356743, 6583381, 6751469, 8189836, 10758585, 12097154, 12867103, 5191621, 5256315, 6363719, 9209408, 6912733, 9948505, 11503771, 10922412, 11844658, 12566144, 6353712, 9323084, 10379143, 5387373, 12179668, 6911794, 11731917, 6807542, 6780606]) - - def testGetUserIssues(self): - self.assertListKeyEqual(self.user.get_user_issues(), lambda i: i.id, [14447880, 13505356, 12541184, 10586808, 6741461, 6741457, 6727331, 5641572]) - - def testGetUserIssuesWithAllArguments(self): - requestedByUser = self.user.get_repo("PyGithub").get_label("Requested by user") - issues = self.user.get_user_issues("assigned", "closed", [requestedByUser], "comments", "asc", datetime.datetime(2012, 5, 28, 23, 0, 0)) - self.assertListKeyEqual(issues, lambda i: i.id, [6816576, 8495415, 6889934, 8339699, 8075253, 8033963, 9089893, 9489725, 11746141, 5152384, 5177381, 5783131, 6454054, 6641076, 6653907, 7331214, 9489813, 9776615, 10360280, 4356743, 6583381, 6751469, 8189836, 10758585, 12097154, 12867103, 5191621, 5256315, 6363719, 9209408, 6912733, 9948505, 11503771, 10922412, 11844658, 12566144, 6353712, 9323084, 10379143, 5387373, 12179668, 6911794, 11731917, 6807542, 6780606]) - - def testGetKeys(self): - self.assertListKeyEqual(self.user.get_keys(), lambda k: k.title, ["vincent@home", "vincent@gandi", "vincent@aws", "vincent@macbook"]) - - def testGetOrgs(self): - self.assertListKeyEqual(self.user.get_orgs(), lambda o: o.login, ["BeaverSoftware"]) - - def testGetRepos(self): - self.assertListKeyEqual(self.user.get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - - def testGetReposWithArguments(self): - self.assertListKeyEqual(self.user.get_repos("public", "full_name", "desc"), lambda r: r.name, ["ViDE", "QuadProgMm", "PyGithub", "DrawTurksHead", "DrawSyntax", "django", "developer.github.com", "C4Planner", "Boost.HierarchicalEnum", "acme-public-website"]) - - def testCreateFork(self): - repo = self.user.create_fork(self.g.get_user("nvie").get_repo("gitflow")) - self.assertEqual(repo.source.full_name, "nvie/gitflow") - - def testGetNotification(self): - notification = self.user.get_notification("8406712") - self.assertEqual(notification.id, "8406712") - self.assertEqual(notification.unread, False) - self.assertEqual(notification.reason, "author") - self.assertEqual(notification.subject.title, "Feature/coveralls") - self.assertEqual(notification.subject.type, "PullRequest") - self.assertEqual(notification.repository.id, 8432784) - self.assertEqual(notification.updated_at, datetime.datetime(2013, 3, 15, 5, 43, 11)) - self.assertEqual(notification.url, None) - self.assertEqual(notification.subject.url, None) - self.assertEqual(notification.subject.latest_comment_url, None) - - def testGetNotifications(self): - self.assertListKeyEqual(self.user.get_notifications(participating=True), lambda n: n.id, ["8406712"]) - - def testGetNotificationsWithOtherArguments(self): - self.assertListKeyEqual(self.user.get_notifications(all=True), lambda n: n.id, []) - - def testGetTeams(self): - self.assertListKeyEqual(self.user.get_teams(), lambda t: t.name, ["Owners", "Honoraries", "Honoraries", "Honoraries", "Honoraries", "Honoraries", "Honoraries", "Honoraries", "Honoraries", "Honoraries"]) - - def testAcceptInvitation(self): - self.assertIsNone(self.user.accept_invitation(4294886)) \ No newline at end of file diff --git a/github/tests/Authentication.py b/github/tests/Authentication.py deleted file mode 100644 index c6601a0..0000000 --- a/github/tests/Authentication.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Authentication(Framework.BasicTestCase): - def testNoAuthentication(self): - g = github.Github() - self.assertEqual(g.get_user("jacquev6").name, "Vincent Jacques") - - def testBasicAuthentication(self): - g = github.Github(self.login, self.password) - self.assertEqual(g.get_user("jacquev6").name, "Vincent Jacques") - - def testOAuthAuthentication(self): - g = github.Github(self.oauth_token) - self.assertEqual(g.get_user("jacquev6").name, "Vincent Jacques") - - # Warning: I don't have a scret key, so the requests for this test are forged - def testSecretKeyAuthentication(self): - g = github.Github(client_id=self.client_id, client_secret=self.client_secret) - self.assertListKeyEqual(g.get_organization("BeaverSoftware").get_repos("public"), lambda r: r.name, ["FatherBeaver", "PyGithub"]) - - def testUserAgent(self): - g = github.Github(user_agent="PyGithubTester") - self.assertEqual(g.get_user("jacquev6").name, "Vincent Jacques") - - def testAuthorizationHeaderWithLogin(self): - # See special case in Framework.fixAuthorizationHeader - g = github.Github("fake_login", "fake_password") - try: - g.get_user().name - except github.GithubException: - pass - - def testAuthorizationHeaderWithToken(self): - # See special case in Framework.fixAuthorizationHeader - g = github.Github("ZmFrZV9sb2dpbjpmYWtlX3Bhc3N3b3Jk") - try: - g.get_user().name - except github.GithubException: - pass diff --git a/github/tests/Authorization.py b/github/tests/Authorization.py deleted file mode 100644 index e2408e3..0000000 --- a/github/tests/Authorization.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Authorization(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.authorization = self.g.get_user().get_authorization(372259) - - def testAttributes(self): - self.assertEqual(self.authorization.app.url, "http://developer.github.com/v3/oauth/#oauth-authorizations-api") - self.assertEqual(self.authorization.app.name, "GitHub API") - self.assertEqual(self.authorization.created_at, datetime.datetime(2012, 5, 22, 18, 3, 17)) - self.assertEqual(self.authorization.id, 372259) - self.assertEqual(self.authorization.note, None) - self.assertEqual(self.authorization.note_url, None) - self.assertEqual(self.authorization.scopes, []) - self.assertEqual(self.authorization.token, "82459c4500086f8f0cc67d2936c17d1e27ad1c33") - self.assertEqual(self.authorization.updated_at, datetime.datetime(2012, 5, 22, 18, 3, 17)) - self.assertEqual(self.authorization.url, "https://api.github.com/authorizations/372259") - - def testEdit(self): - self.authorization.edit() - self.assertEqual(self.authorization.scopes, []) - self.authorization.edit(scopes=["user"]) - self.assertEqual(self.authorization.scopes, ["user"]) - self.authorization.edit(add_scopes=["repo"]) - self.assertEqual(self.authorization.scopes, ["user", "repo"]) - self.authorization.edit(remove_scopes=["repo"]) - self.assertEqual(self.authorization.scopes, ["user"]) - self.assertEqual(self.authorization.note, None) - self.assertEqual(self.authorization.note_url, None) - self.authorization.edit(note="Note created by PyGithub", note_url="http://vincent-jacques.net/PyGithub") - self.assertEqual(self.authorization.note, "Note created by PyGithub") - self.assertEqual(self.authorization.note_url, "http://vincent-jacques.net/PyGithub") - - def testDelete(self): - self.authorization.delete() diff --git a/github/tests/BadAttributes.py b/github/tests/BadAttributes.py deleted file mode 100644 index 2b84cab..0000000 --- a/github/tests/BadAttributes.py +++ /dev/null @@ -1,150 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework -import github - - -# Replay data is forged to simulate bad things returned by Github -class BadAttributes(Framework.TestCase): - def testBadSimpleAttribute(self): - user = self.g.get_user("klmitch") - self.assertEqual(user.created_at, datetime.datetime(2011, 3, 23, 15, 42, 9)) - - raised = False - try: - user.name - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, 42) - self.assertEqual(e.expected_type, (str, unicode)) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) - - def testBadAttributeTransformation(self): - user = self.g.get_user("klmitch") - self.assertEqual(user.name, "Kevin L. Mitchell") - - raised = False - try: - user.created_at - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, "foobar") - self.assertEqual(e.expected_type, (str, unicode)) - self.assertEqual(e.transformation_exception.__class__, ValueError) - if Framework.atLeastPython26: - self.assertEqual(e.transformation_exception.args, ("time data 'foobar' does not match format '%Y-%m-%dT%H:%M:%SZ'",)) - else: - self.assertEqual(e.transformation_exception.args, ('time data did not match format: data=foobar fmt=%Y-%m-%dT%H:%M:%SZ',)) - self.assertTrue(raised) - - def testBadTransformedAttribute(self): - user = self.g.get_user("klmitch") - self.assertEqual(user.name, "Kevin L. Mitchell") - - raised = False - try: - user.updated_at - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, 42) - self.assertEqual(e.expected_type, (str, unicode)) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) - - def testBadSimpleAttributeInList(self): - hook = self.g.get_hook("activecollab") - self.assertEqual(hook.name, "activecollab") - - raised = False - try: - hook.events - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, ["push", 42]) - self.assertEqual(e.expected_type, [(str, unicode)]) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) - - def testBadAttributeInClassAttribute(self): - repo = self.g.get_repo("klmitch/turnstile") - owner = repo.owner - self.assertEqual(owner.id, 686398) - - raised = False - try: - owner.avatar_url - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, 42) - self.assertTrue(raised) - - def testBadTransformedAttributeInList(self): - commit = self.g.get_repo("klmitch/turnstile").get_commit("38d9082a898d0822b5ccdfd78f3a536e2efa6c26") - - raised = False - try: - commit.files - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, [42]) - self.assertEqual(e.expected_type, [dict]) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) - - def testBadTransformedAttributeInDict(self): - gist = self.g.get_gist("6437766") - - raised = False - try: - gist.files - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, {"test.py": 42}) - self.assertEqual(e.expected_type, {(str, unicode): dict}) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) - - def testIssue195(self): - hooks = self.g.get_hooks() - # We can loop on all hooks as long as we don't access circleci's events attribute - self.assertListKeyEqual(hooks, lambda h: h.name, [u'activecollab', u'acunote', u'agilebench', u'agilezen', u'amazonsns', u'apiary', u'apoio', u'appharbor', u'apropos', u'asana', u'backlog', u'bamboo', u'basecamp', u'bcx', u'blimp', u'boxcar', u'buddycloud', u'bugherd', u'bugly', u'bugzilla', u'campfire', u'cia', u'circleci', u'codeclimate', u'codeportingcsharp2java', u'codeship', u'coffeedocinfo', u'conductor', u'coop', u'copperegg', u'cube', u'depending', u'deployhq', u'devaria', u'docker', u'ducksboard', u'email', u'firebase', u'fisheye', u'flowdock', u'fogbugz', u'freckle', u'friendfeed', u'gemini', u'gemnasium', u'geocommit', u'getlocalization', u'gitlive', u'grmble', u'grouptalent', u'grove', u'habitualist', u'hakiri', u'hall', u'harvest', u'hipchat', u'hostedgraphite', u'hubcap', u'hubci', u'humbug', u'icescrum', u'irc', u'irker', u'ironmq', u'ironworker', u'jabber', u'jaconda', u'jeapie', u'jenkins', u'jenkinsgit', u'jira', u'jqueryplugins', u'kanbanery', u'kickoff', u'leanto', u'lechat', u'lighthouse', u'lingohub', u'loggly', u'mantisbt', u'masterbranch', u'mqttpub', u'nma', u'nodejitsu', u'notifo', u'ontime', u'pachube', u'packagist', u'phraseapp', u'pivotaltracker', u'planbox', u'planio', u'prowl', u'puppetlinter', u'pushalot', u'pushover', u'pythonpackages', u'railsbp', u'railsbrakeman', u'rally', u'rapidpush', u'rationaljazzhub', u'rationalteamconcert', u'rdocinfo', u'readthedocs', u'redmine', u'rubyforge', u'scrumdo', u'shiningpanda', u'sifter', u'simperium', u'slatebox', u'snowyevening', u'socialcast', u'softlayermessaging', u'sourcemint', u'splendidbacon', u'sprintly', u'sqsqueue', u'stackmob', u'statusnet', u'talker', u'targetprocess', u'tddium', u'teamcity', u'tender', u'tenxer', u'testpilot', u'toggl', u'trac', u'trajectory', u'travis', u'trello', u'twilio', u'twitter', u'unfuddle', u'web', u'weblate', u'webtranslateit', u'yammer', u'youtrack', u'zendesk', u'zohoprojects']) - for hook in hooks: - if hook.name != "circleci": - hook.events - - raised = False - for hook in hooks: - if hook.name == "circleci": - try: - hook.events - except github.BadAttributeException, e: - raised = True - self.assertEqual(e.actual_value, [["commit_comment", "create", "delete", "download", "follow", "fork", "fork_apply", "gist", "gollum", "issue_comment", "issues", "member", "public", "pull_request", "pull_request_review_comment", "push", "status", "team_add", "watch"]]) - self.assertEqual(e.expected_type, [(str, unicode)]) - self.assertEqual(e.transformation_exception, None) - self.assertTrue(raised) diff --git a/github/tests/Branch.py b/github/tests/Branch.py deleted file mode 100644 index 75447f5..0000000 --- a/github/tests/Branch.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Branch(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.branch = self.g.get_user().get_repo("PyGithub").get_branches()[0] - - def testAttributes(self): - self.assertEqual(self.branch.name, "topic/RewriteWithGeneratedCode") - self.assertEqual(self.branch.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - - # test __repr__() based on this attributes - self.assertEqual(self.branch.__repr__(), 'Branch(name="topic/RewriteWithGeneratedCode")') - - def testProtectedAttributes(self): - self.branch = self.g.get_user().get_repo("PyGithub").get_protected_branch("master") - self.assertEqual(self.branch.name, "master") - self.assertFalse(self.branch.protected) - self.assertEqual(self.branch.enforcement_level, "off") - self.assertEqual(self.branch.contexts, []) diff --git a/github/tests/Commit.py b/github/tests/Commit.py deleted file mode 100644 index fdb6a7e..0000000 --- a/github/tests/Commit.py +++ /dev/null @@ -1,97 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Commit(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.commit = self.g.get_user().get_repo("PyGithub").get_commit("1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.commit.author.login # to force lazy completion - - def testAttributes(self): - self.assertEqual(self.commit.author.login, "jacquev6") - self.assertEqual(self.commit.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.assertEqual(self.commit.committer.login, "jacquev6") - self.assertEqual(len(self.commit.files), 1) - self.assertEqual(self.commit.files[0].additions, 0) - self.assertEqual(self.commit.files[0].blob_url, "https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py") - self.assertEqual(self.commit.files[0].changes, 20) - self.assertEqual(self.commit.files[0].deletions, 20) - self.assertEqual(self.commit.files[0].filename, "github/GithubObjects/GitAuthor.py") - self.assertTrue(isinstance(self.commit.files[0].patch, (str, unicode))) - self.assertEqual(self.commit.files[0].raw_url, "https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py") - self.assertEqual(self.commit.files[0].sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.assertEqual(self.commit.files[0].status, "modified") - self.assertEqual(len(self.commit.parents), 1) - self.assertEqual(self.commit.parents[0].sha, "b46ed0dfde5ad02d3b91eb54a41c5ed960710eae") - self.assertEqual(self.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.assertEqual(self.commit.stats.deletions, 20) - self.assertEqual(self.commit.stats.additions, 0) - self.assertEqual(self.commit.stats.total, 20) - self.assertEqual(self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - - # test __repr__() based on this attributes - self.assertEqual(self.commit.__repr__(), 'Commit(sha="1292bf0e22c796e91cc3d6e24b544aece8c21f2a")') - - def testGetComments(self): - self.assertListKeyEqual(self.commit.get_comments(), lambda c: c.id, [1347033, 1347083, 1347397, 1349654]) - - def testCreateComment(self): - comment = self.commit.create_comment("Comment created by PyGithub") - self.assertEqual(comment.id, 1361949) - self.assertEqual(comment.line, None) - self.assertEqual(comment.path, None) - self.assertEqual(comment.position, None) - - def testCreateCommentOnFileLine(self): - comment = self.commit.create_comment("Comment created by PyGithub", path="codegen/templates/GithubObject.MethodBody.UseResult.py", line=26) - self.assertEqual(comment.id, 1362000) - self.assertEqual(comment.line, 26) - self.assertEqual(comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py") - self.assertEqual(comment.position, None) - - def testCreateCommentOnFilePosition(self): - comment = self.commit.create_comment("Comment also created by PyGithub", path="codegen/templates/GithubObject.MethodBody.UseResult.py", position=3) - self.assertEqual(comment.id, 1362001) - self.assertEqual(comment.line, None) - self.assertEqual(comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py") - self.assertEqual(comment.position, 3) - - def testCreateStatusWithoutOptionalParameters(self): - status = self.commit.create_status("pending") - self.assertEqual(status.id, 277031) - self.assertEqual(status.state, "pending") - self.assertEqual(status.target_url, None) - self.assertEqual(status.description, None) - - def testCreateStatusWithAllParameters(self): - status = self.commit.create_status("success", "https://github.com/jacquev6/PyGithub/issues/67", "Status successfuly created by PyGithub") - self.assertEqual(status.id, 277040) - self.assertEqual(status.state, "success") - self.assertEqual(status.target_url, "https://github.com/jacquev6/PyGithub/issues/67") - self.assertEqual(status.description, "Status successfuly created by PyGithub") diff --git a/github/tests/CommitCombinedStatus.py b/github/tests/CommitCombinedStatus.py deleted file mode 100644 index 18c8fc1..0000000 --- a/github/tests/CommitCombinedStatus.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class CommitCombinedStatus(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.combined_status = self.g.get_repo("edx/edx-platform").get_commit("74e70119a23fa3ffb3db19d4590eccfebd72b659").get_combined_status() - - def testAttributes(self): - self.assertEqual(self.combined_status.state, "success") - self.assertEqual(self.combined_status.statuses[0].url, "https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659") - self.assertEqual(self.combined_status.statuses[1].id, 390603044) - self.assertEqual(self.combined_status.statuses[2].state, "success") - self.assertEqual(self.combined_status.statuses[3].description, "Build finished.") - self.assertEqual(self.combined_status.statuses[4].target_url, "https://build.testeng.edx.org/job/edx-platform-python-unittests-pr/10504/") - self.assertEqual(self.combined_status.statuses[4].created_at, datetime.datetime(2015, 12, 14, 13, 24, 18)) - self.assertEqual(self.combined_status.statuses[3].updated_at, datetime.datetime(2015, 12, 14, 13, 23, 35)) - self.assertEqual(self.combined_status.sha, "74e70119a23fa3ffb3db19d4590eccfebd72b659") - self.assertEqual(self.combined_status.total_count, 6) - self.assertEqual(self.combined_status.repository.id, 10391073) - self.assertEqual(self.combined_status.repository.full_name, "edx/edx-platform") - self.assertEqual(self.combined_status.commit_url, "https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659") - self.assertEqual(self.combined_status.url, "https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659/status") - - # test __repr__() based on this attributes - self.assertEqual(self.combined_status.__repr__(), - 'CommitCombinedStatus(state="success", sha="74e70119a23fa3ffb3db19d4590eccfebd72b659")') \ No newline at end of file diff --git a/github/tests/CommitComment.py b/github/tests/CommitComment.py deleted file mode 100644 index 90bb002..0000000 --- a/github/tests/CommitComment.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class CommitComment(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.comment = self.g.get_user().get_repo("PyGithub").get_comment(1361949) - - def testAttributes(self): - self.assertEqual(self.comment.body, "Comment created by PyGithub") - self.assertEqual(self.comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d") - self.assertEqual(self.comment.created_at, datetime.datetime(2012, 5, 22, 18, 40, 18)) - self.assertEqual(self.comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949") - self.assertEqual(self.comment.id, 1361949) - self.assertEqual(self.comment.line, None) - self.assertEqual(self.comment.path, None) - self.assertEqual(self.comment.position, None) - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 22, 18, 40, 18)) - self.assertEqual(self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1361949") - self.assertEqual(self.comment.user.login, "jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.comment.__repr__(), - 'CommitComment(user=NamedUser(login="jacquev6"), id=1361949)') - - def testEdit(self): - self.comment.edit("Comment edited by PyGithub") - - def testDelete(self): - self.comment.delete() diff --git a/github/tests/CommitStatus.py b/github/tests/CommitStatus.py deleted file mode 100644 index 73dec20..0000000 --- a/github/tests/CommitStatus.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class CommitStatus(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.statuses = list(self.g.get_user().get_repo("PyGithub").get_commit("1292bf0e22c796e91cc3d6e24b544aece8c21f2a").get_statuses()) - - def testAttributes(self): - self.assertEqual(self.statuses[0].created_at, datetime.datetime(2012, 9, 8, 11, 30, 56)) - self.assertEqual(self.statuses[0].updated_at, datetime.datetime(2012, 9, 8, 11, 30, 56)) - self.assertEqual(self.statuses[0].creator.login, "jacquev6") - self.assertEqual(self.statuses[0].description, "Status successfuly created by PyGithub") - self.assertEqual(self.statuses[1].description, None) - self.assertEqual(self.statuses[0].id, 277040) - self.assertEqual(self.statuses[0].state, "success") - self.assertEqual(self.statuses[1].state, "pending") - self.assertEqual(self.statuses[0].context, "build") - self.assertEqual(self.statuses[0].target_url, "https://github.com/jacquev6/PyGithub/issues/67") - self.assertEqual(self.statuses[1].target_url, None) - - # test __repr__() based on this attributes - self.assertEqual(self.statuses[0].__repr__(), - 'CommitStatus(state="success", id=277040, context="build")') \ No newline at end of file diff --git a/github/tests/ConditionalRequestUpdate.py b/github/tests/ConditionalRequestUpdate.py deleted file mode 100644 index 4e6c711..0000000 --- a/github/tests/ConditionalRequestUpdate.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 AKFish # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -# #193: Line endings should be linux style - -import Framework -import github - - -class ConditionalRequestUpdate(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("akfish/PyGithub", lazy=False) - - def testDidNotUpdate(self): - self.assertFalse(self.repo.update(), msg="The repo is not changed. But update() != False") - - def testDidUpdate(self): - self.assertTrue(self.repo.update(), msg="The repo should be changed by now. But update() != True") - - def testUpdateObjectWithoutEtag(self): - r = self.g.get_repo("jacquev6/PyGithub", lazy=False) - self.assertTrue(r.update()) diff --git a/github/tests/ContentFile.py b/github/tests/ContentFile.py deleted file mode 100644 index f05772b..0000000 --- a/github/tests/ContentFile.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class ContentFile(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.file = self.g.get_user().get_repo("PyGithub").get_readme() - - def testAttributes(self): - self.assertEqual(self.file.type, "file") - self.assertEqual(self.file.encoding, "base64") - self.assertEqual(self.file.size, 7531) - self.assertEqual(self.file.name, "ReadMe.md") - self.assertEqual(self.file.path, "ReadMe.md") - self.assertEqual(len(self.file.content), 10212) - self.assertEqual(len(self.file.decoded_content), 7531) - self.assertEqual(self.file.sha, "5628799a7d517a4aaa0c1a7004d07569cd154df0") - - # test __repr__() based on this attributes - self.assertEqual(self.file.__repr__(), 'ContentFile(path="ReadMe.md")') \ No newline at end of file diff --git a/github/tests/Download.py b/github/tests/Download.py deleted file mode 100644 index 1e9c0c9..0000000 --- a/github/tests/Download.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Download(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.download = self.g.get_user().get_repo("PyGithub").get_download(242550) - - def testAttributes(self): - self.assertEqual(self.download.accesskeyid, None) - self.assertEqual(self.download.acl, None) - self.assertEqual(self.download.bucket, None) - self.assertEqual(self.download.content_type, "text/plain") - self.assertEqual(self.download.created_at, datetime.datetime(2012, 5, 22, 18, 58, 32)) - self.assertEqual(self.download.description, None) - self.assertEqual(self.download.download_count, 0) - self.assertEqual(self.download.expirationdate, None) - self.assertEqual(self.download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt") - self.assertEqual(self.download.id, 242550) - self.assertEqual(self.download.mime_type, None) - self.assertEqual(self.download.name, "Foobar.txt") - self.assertEqual(self.download.path, None) - self.assertEqual(self.download.policy, None) - self.assertEqual(self.download.prefix, None) - self.assertEqual(self.download.redirect, None) - self.assertEqual(self.download.s3_url, None) - self.assertEqual(self.download.signature, None) - self.assertEqual(self.download.size, 1024) - self.assertEqual(self.download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242550") - - # test __repr__() based on this attributes - self.assertEqual(self.download.__repr__(), 'Download(id=242550)') - - def testDelete(self): - self.download.delete() diff --git a/github/tests/Enterprise.py b/github/tests/Enterprise.py deleted file mode 100644 index 4e238ab..0000000 --- a/github/tests/Enterprise.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github - -import Framework - - -# Replay data for this test case is forged, because I don't have access to a real Github Enterprise install -class Enterprise(Framework.BasicTestCase): - def testHttps(self): - g = github.Github(self.login, self.password, base_url="https://my.enterprise.com") - self.assertListKeyEqual(g.get_user().get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - - def testHttp(self): - g = github.Github(self.login, self.password, base_url="http://my.enterprise.com") - self.assertListKeyEqual(g.get_user().get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - - def testUnknownUrlScheme(self): # To stay compatible with Python 2.6, we do not use self.assertRaises with only one argument - try: - github.Github(self.login, self.password, base_url="foobar://my.enterprise.com") - except AssertionError, exception: - raised = True - self.assertEqual(exception.args[0], "Unknown URL scheme") - self.assertTrue(raised) - - def testLongUrl(self): - g = github.Github(self.login, self.password, base_url="http://my.enterprise.com/path/to/github") - repos = g.get_user().get_repos() - self.assertListKeyEqual(repos, lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - self.assertEqual(repos[0].owner.name, "Vincent Jacques") - - def testSpecificPort(self): - g = github.Github(self.login, self.password, base_url="http://my.enterprise.com:8080") - self.assertListKeyEqual(g.get_user().get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) diff --git a/github/tests/Equality.py b/github/tests/Equality.py deleted file mode 100644 index 9b5782e..0000000 --- a/github/tests/Equality.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Equality(Framework.TestCase): - def testUserEquality(self): - u1 = self.g.get_user("jacquev6") - u2 = self.g.get_user("jacquev6") - self.assertTrue(u1 == u2) - self.assertFalse(u1 != u2) - self.assertEqual(u1, u2) - - def testUserDifference(self): - u1 = self.g.get_user("jacquev6") - u2 = self.g.get_user("OddBloke") - self.assertFalse(u1 == u2) - self.assertTrue(u1 != u2) - self.assertNotEqual(u1, u2) - - def testBranchEquality(self): - # Erf, equality of NonCompletableGithubObjects will be difficult to implement - # because even their _rawData can differ. (Here, the avatar_url is not equal) - # (CompletableGithubObjects are compared by their API url, which is a good key) - r = self.g.get_user().get_repo("PyGithub") - b1 = r.get_branch("develop") - b2 = r.get_branch("develop") - self.assertNotEqual(b1._rawData, b2._rawData) diff --git a/github/tests/Event.py b/github/tests/Event.py deleted file mode 100644 index 87e65ac..0000000 --- a/github/tests/Event.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Event(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.event = self.g.get_user("jacquev6").get_events()[0] - - def testAttributes(self): - self.assertEqual(self.event.actor.login, "jacquev6") - self.assertEqual(self.event.created_at, datetime.datetime(2012, 5, 26, 10, 1, 39)) - self.assertEqual(self.event.id, "1556114751") - self.assertEqual(self.event.org, None) - self.assertEqual(self.event.payload, {'commits': [{'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7', 'sha': '5bb654d26dd014d36794acd1e6ecf3736f12aad7', 'message': 'Implement the three authentication schemes', 'distinct': False, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5', 'sha': 'cb0313157bf904f2d364377d35d9397b269547a5', 'message': "Merge branch 'topic/Authentication' into develop", 'distinct': False, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16', 'sha': '0cec0d25e606c023a62a4fc7cdc815309ebf6d16', 'message': 'Publish version 0.7', 'distinct': False, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7', 'sha': 'ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7', 'message': "Merge branch 'develop'", 'distinct': False, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76', 'sha': '3a3bf4763192ee1234eb0557628133e06f3dfc76', 'message': "Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py", 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff', 'sha': '608f17794664f61693a3dc05e6056fea8fbef0ff', 'message': 'Restore some form of Authorization header in replay data', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b', 'sha': '2c04b8adbd91d38eef4f0767337ab7a12b2f684b', 'message': 'Allow test without pre-set-up Github', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28', 'sha': '5b97389988b6fe43e15a079702f6f1671257fb28', 'message': 'Test three authentication schemes', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475', 'sha': '12747613c5ec00deccf296b8619ad507f7050475', 'message': 'Test Issue.getComments', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e', 'sha': '2982fa96c5ca75abe717d974d83f9135d664232e', 'message': 'Test the new Repository.full_name attribute', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}, {'url': 'https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d', 'sha': '619eae8d51c5988f0d2889fc767fa677438ba95d', 'message': 'Improve coverage of AuthenticatedUser', 'distinct': True, 'author': {'name': 'Vincent Jacques', 'email': 'vincent@vincent-jacques.net'}}], 'head': '619eae8d51c5988f0d2889fc767fa677438ba95d', 'push_id': 80673538, 'ref': 'refs/heads/topic/RewriteWithGeneratedCode', 'size': 11}) - self.assertTrue(self.event.public) - self.assertEqual(self.event.repo.name, "jacquev6/PyGithub") - self.assertEqual(self.event.type, "PushEvent") - - # test __repr__() based on this attributes - self.assertEqual(self.event.__repr__(), 'Event(type="PushEvent", id="1556114751")') diff --git a/github/tests/Exceptions.py b/github/tests/Exceptions.py deleted file mode 100644 index 23265c1..0000000 --- a/github/tests/Exceptions.py +++ /dev/null @@ -1,141 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github -import sys -import pickle - -import Framework - -atLeastPython26 = sys.hexversion >= 0x02060000 -atMostPython2 = sys.hexversion < 0x03000000 - - -class Exceptions(Framework.TestCase): # To stay compatible with Python 2.6, we do not use self.assertRaises with only one argument - def testInvalidInput(self): - raised = False - try: - self.g.get_user().create_key("Bad key", "xxx") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 422) - self.assertEqual( - exception.data, - { - "errors": [ - { - "code": "custom", - "field": "key", - "message": "key is invalid. It must begin with 'ssh-rsa' or 'ssh-dss'. Check that you're copying the public half of the key", - "resource": "PublicKey" - } - ], - "message": "Validation Failed" - } - ) - self.assertTrue(raised) - - def testNonJsonDataReturnedByGithub(self): - # Replay data was forged according to https://github.com/jacquev6/PyGithub/pull/182 - raised = False - try: - self.g.get_user("jacquev6") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 503) - self.assertEqual( - exception.data, - { - "data": "

503 Service Unavailable

No server is available to handle this request.", - } - ) - self.assertTrue(raised) - - def testUnknownObject(self): - raised = False - try: - self.g.get_user().get_repo("Xxx") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 404) - self.assertEqual(exception.data, {"message": "Not Found"}) - if atLeastPython26 and atMostPython2: - self.assertEqual(str(exception), "404 {u'message': u'Not Found'}") - else: - self.assertEqual(str(exception), "404 {'message': 'Not Found'}") # pragma no cover (Covered with Python 3) - self.assertTrue(raised) - - def testUnknownUser(self): - raised = False - try: - self.g.get_user("ThisUserShouldReallyNotExist") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 404) - self.assertEqual(exception.data, {"message": "Not Found"}) - if atLeastPython26 and atMostPython2: - self.assertEqual(str(exception), "404 {u'message': u'Not Found'}") - else: - self.assertEqual(str(exception), "404 {'message': 'Not Found'}") # pragma no cover (Covered with Python 3) - self.assertTrue(raised) - - def testBadAuthentication(self): - raised = False - try: - github.Github("BadUser", "BadPassword").get_user().login - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 401) - self.assertEqual(exception.data, {"message": "Bad credentials"}) - if atLeastPython26 and atMostPython2: - self.assertEqual(str(exception), "401 {u'message': u'Bad credentials'}") - else: - self.assertEqual(str(exception), "401 {'message': 'Bad credentials'}") # pragma no cover (Covered with Python 3) - self.assertTrue(raised) - - - def testExceptionPickling(self): - pickle.loads(pickle.dumps(github.GithubException('foo', 'bar'))) - - -class SpecificExceptions(Framework.TestCase): - def testBadCredentials(self): - self.assertRaises(github.BadCredentialsException, lambda: github.Github("BadUser", "BadPassword").get_user().login) - - def testUnknownObject(self): - self.assertRaises(github.UnknownObjectException, lambda: self.g.get_user().get_repo("Xxx")) - - def testBadUserAgent(self): - self.assertRaises(github.BadUserAgentException, lambda: github.Github(self.login, self.password, user_agent="").get_user().name) - - def testRateLimitExceeded(self): - g = github.Github() - - def exceed(): - for i in range(100): - g.get_user("jacquev6") - - self.assertRaises(github.RateLimitExceededException, exceed) diff --git a/github/tests/ExposeAllAttributes.py b/github/tests/ExposeAllAttributes.py deleted file mode 100644 index a752710..0000000 --- a/github/tests/ExposeAllAttributes.py +++ /dev/null @@ -1,161 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class ExposeAllAttributes(Framework.TestCase): - def testAllClasses(self): - authenticatedUser = self.g.get_user() - namedUser = self.g.get_user("nvie") - repository = authenticatedUser.get_repo("PyGithub") - organization = self.g.get_organization("BeaverSoftware") - plan = authenticatedUser.plan - branch = repository.get_branch("master") - commit = repository.get_commit("1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - commitStats = commit.stats - commitStatus = commit.get_statuses()[0] - milestone = repository.get_milestone(17) - gist = self.g.get_gist("149016") - gistComment = gist.get_comment(4565) - gistFile = gist.files[".gitignore"] - gistHistoryState = gist.history[0] - gitCommit = repository.get_git_commit("be37b8a7f3a68631c32672dcd84d9eba27438ee6") - gitAuthor = gitCommit.author - gitTree = repository.get_git_tree("6f7c2d8c66d78863f7b91792deaead619799a1ce") - gitTreeElement = gitTree.tree[0] - gitBlob = repository.get_git_blob("681fb61f1761743a02f5c790f1c762cbfe8cfad1") - gitRef = repository.get_git_ref("tags/v1.17.0") - gitObject = gitRef.object - issue = repository.get_issue(188) - issueComment = issue.get_comment(22686536) - issueEvent = issue.get_events()[0] - issuePullRequest = issue.pull_request - gitignoreTemplate = self.g.get_gitignore_template("Python") - team = organization.get_team(141487) - label = repository.get_label("Bug") - pullRequest = repository.get_pull(31) - pullRequestComment = pullRequest.get_review_comment(1580134) - pullRequestPart = pullRequest.base - file = pullRequest.get_files()[0] - commitComment = repository.get_comment(3630301) - status = self.g.get_api_status() - statusMessage = self.g.get_last_api_status_message() - rateLimit = self.g.get_rate_limit() - rate = rateLimit.rate - hook = repository.get_hooks()[0] - hookResponse = hook.last_response - hookDescription = self.g.get_hooks()[0] - comparison = repository.compare("master", "develop") - contentFile = repository.get_file_contents("README.rst") - permissions = repository.permissions - event = repository.get_events()[0] - notification = authenticatedUser.get_notification("8406712") - notificationSubject = notification.subject - - missingAttributes = self.gatherMissingAttributes([ - authenticatedUser, - # authorization, # Security issue if put as-is in ReplayData - # authorizationApplication, # Security issue if put as-is in ReplayData - branch, - commit, - commitComment, - commitStats, - commitStatus, - comparison, - contentFile, - # download, # Deprecated: https://github.com/blog/1302-goodbye-uploads - event, - file, - gist, - gistComment, - gistFile, - gistHistoryState, - gitAuthor, - gitBlob, - gitCommit, - gitignoreTemplate, - gitObject, - gitRef, - # gitTag, - gitTree, - gitTreeElement, - hook, - hookDescription, - hookResponse, - issue, - issueComment, - issueEvent, - issuePullRequest, - label, - milestone, - namedUser, - notification, - notificationSubject, - organization, - permissions, - plan, - pullRequest, - pullRequestComment, - # pullRequestMergeStatus, # Only obtained when merging a pull request through the API - pullRequestPart, - rate, - rateLimit, - repository, - # repositoryKey, # Security issue if put as-is in ReplayData - status, - statusMessage, - # tag, - team, - # userKey, # Security issue if put as-is in ReplayData - ]) - - for className, attributesMissingInClass in sorted(missingAttributes.iteritems()): - for attrName, value in sorted(attributesMissingInClass.iteritems()): - print className, attrName, "->", repr(value) - - self.assertEqual(sum(len(attrs) for attrs in missingAttributes.values()), 0) - - def findMissingAttributes(self, obj): - if hasattr(obj, "update"): - obj.update() - className = obj.__class__.__name__ - missingAttributes = {} - for attribute in obj.raw_data: - if attribute != "_links": - if not hasattr(obj, attribute): - missingAttributes[attribute] = obj.raw_data[attribute] - return (className, missingAttributes) - - def gatherMissingAttributes(self, objs): - allMissingAttributes = dict() - - for obj in objs: - className, attributesMissingInClass = self.findMissingAttributes(obj) - if len(attributesMissingInClass) > 0: - if className not in allMissingAttributes: - allMissingAttributes[className] = dict() - allMissingAttributes[className].update(attributesMissingInClass) - - return allMissingAttributes diff --git a/github/tests/Framework.py b/github/tests/Framework.py deleted file mode 100644 index 9fc2c91..0000000 --- a/github/tests/Framework.py +++ /dev/null @@ -1,279 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 AKFish # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import os -import sys -import unittest -import httplib -import traceback - -import github - -atLeastPython26 = sys.hexversion >= 0x02060000 -atLeastPython3 = sys.hexversion >= 0x03000000 -atMostPython32 = sys.hexversion < 0x03030000 - -if atLeastPython26: - import json -else: # pragma no cover (Covered by all tests with Python 2.5) - import simplejson as json # pragma no cover (Covered by all tests with Python 2.5) - - -def readLine(file): - if atLeastPython3: - return file.readline().decode("utf-8").strip() - else: - return file.readline().strip() - - -class FakeHttpResponse: - def __init__(self, status, headers, output): - self.status = status - self.__headers = headers - self.__output = output - - def getheaders(self): - return self.__headers - - def read(self): - return self.__output - - -def fixAuthorizationHeader(headers): - if "Authorization" in headers: - if headers["Authorization"].endswith("ZmFrZV9sb2dpbjpmYWtlX3Bhc3N3b3Jk"): - # This special case is here to test the real Authorization header - # sent by PyGithub. It would have avoided issue https://github.com/jacquev6/PyGithub/issues/153 - # because we would have seen that Python 3 was not generating the same - # header as Python 2 - pass - elif headers["Authorization"].startswith("token "): - headers["Authorization"] = "token private_token_removed" - elif headers["Authorization"].startswith("Basic "): - headers["Authorization"] = "Basic login_and_password_removed" - - -class RecordingConnection: # pragma no cover (Class useful only when recording new tests, not used during automated tests) - def __init__(self, file, protocol, host, port, *args, **kwds): - self.__file = file - self.__protocol = protocol - self.__host = host - self.__port = str(port) - self.__cnx = self._realConnection(host, port, *args, **kwds) - - def request(self, verb, url, input, headers): - print verb, url, input, headers, - self.__cnx.request(verb, url, input, headers) - fixAuthorizationHeader(headers) - self.__writeLine(self.__protocol) - self.__writeLine(verb) - self.__writeLine(self.__host) - self.__writeLine(self.__port) - self.__writeLine(url) - self.__writeLine(str(headers)) - self.__writeLine(input.replace('\n', '').replace('\r', '')) - - def getresponse(self): - res = self.__cnx.getresponse() - - status = res.status - print "=>", status - headers = res.getheaders() - output = res.read() - - self.__writeLine(str(status)) - self.__writeLine(str(headers)) - self.__writeLine(str(output)) - - return FakeHttpResponse(status, headers, output) - - def close(self): - self.__writeLine("") - return self.__cnx.close() - - def __writeLine(self, line): - self.__file.write(line + "\n") - - -class RecordingHttpConnection(RecordingConnection): # pragma no cover (Class useful only when recording new tests, not used during automated tests) - _realConnection = httplib.HTTPConnection - - def __init__(self, file, *args, **kwds): - RecordingConnection.__init__(self, file, "http", *args, **kwds) - - -class RecordingHttpsConnection(RecordingConnection): # pragma no cover (Class useful only when recording new tests, not used during automated tests) - _realConnection = httplib.HTTPSConnection - - def __init__(self, file, *args, **kwds): - RecordingConnection.__init__(self, file, "https", *args, **kwds) - - -class ReplayingConnection: - def __init__(self, testCase, file, protocol, host, port, *args, **kwds): - self.__testCase = testCase - self.__file = file - self.__protocol = protocol - self.__host = host - self.__port = str(port) - - def request(self, verb, url, input, headers): - fixAuthorizationHeader(headers) - self.__testCase.assertEqual(self.__protocol, readLine(self.__file)) - self.__testCase.assertEqual(verb, readLine(self.__file)) - self.__testCase.assertEqual(self.__host, readLine(self.__file)) - self.__testCase.assertEqual(self.__port, readLine(self.__file)) - self.__testCase.assertEqual(self.__splitUrl(url), self.__splitUrl(readLine(self.__file))) - self.__testCase.assertEqual(headers, eval(readLine(self.__file))) - expectedInput = readLine(self.__file) - if input.startswith("{"): - self.__testCase.assertEqual(json.loads(input.replace('\n', '').replace('\r', '')), json.loads(expectedInput)) - elif atMostPython32: # @todo Test in all cases, including Python 3.3 - # In Python 3.3, dicts are not output in the same order as in Python 2.5 -> 3.2. - # So, form-data encoding is not deterministic and is difficult to test. - self.__testCase.assertEqual(input.replace('\n', '').replace('\r', ''), expectedInput) - - def __splitUrl(self, url): - splitedUrl = url.split("?") - if len(splitedUrl) == 1: - return splitedUrl - self.__testCase.assertEqual(len(splitedUrl), 2) - base, qs = splitedUrl - return (base, sorted(qs.split("&"))) - - def getresponse(self): - status = int(readLine(self.__file)) - headers = eval(readLine(self.__file)) - output = readLine(self.__file) - - return FakeHttpResponse(status, headers, output) - - def close(self): - readLine(self.__file) - - -def ReplayingHttpConnection(testCase, file, *args, **kwds): - return ReplayingConnection(testCase, file, "http", *args, **kwds) - - -def ReplayingHttpsConnection(testCase, file, *args, **kwds): - return ReplayingConnection(testCase, file, "https", *args, **kwds) - - -class BasicTestCase(unittest.TestCase): - recordMode = False - tokenAuthMode = False - - def setUp(self): - unittest.TestCase.setUp(self) - self.__fileName = "" - self.__file = None - if self.recordMode: # pragma no cover (Branch useful only when recording new tests, not used during automated tests) - github.Requester.Requester.injectConnectionClasses( - lambda ignored, *args, **kwds: RecordingHttpConnection(self.__openFile("wb"), *args, **kwds), - lambda ignored, *args, **kwds: RecordingHttpsConnection(self.__openFile("wb"), *args, **kwds) - ) - import GithubCredentials - self.login = GithubCredentials.login - self.password = GithubCredentials.password - self.oauth_token = GithubCredentials.oauth_token - # @todo Remove client_id and client_secret from ReplayData (as we already remove login, password and oauth_token) - # self.client_id = GithubCredentials.client_id - # self.client_secret = GithubCredentials.client_secret - else: - github.Requester.Requester.injectConnectionClasses( - lambda ignored, *args, **kwds: ReplayingHttpConnection(self, self.__openFile("rb"), *args, **kwds), - lambda ignored, *args, **kwds: ReplayingHttpsConnection(self, self.__openFile("rb"), *args, **kwds) - ) - self.login = "login" - self.password = "password" - self.oauth_token = "oauth_token" - self.client_id = "client_id" - self.client_secret = "client_secret" - - def tearDown(self): - unittest.TestCase.tearDown(self) - self.__closeReplayFileIfNeeded() - github.Requester.Requester.resetConnectionClasses() - - def __openFile(self, mode): - for (_, _, functionName, _) in traceback.extract_stack(): - if functionName.startswith("test") or functionName == "setUp" or functionName == "tearDown": - if functionName != "test": # because in class Hook(Framework.TestCase), method testTest calls Hook.test - fileName = os.path.join(os.path.dirname(__file__), "ReplayData", self.__class__.__name__ + "." + functionName + ".txt") - if fileName != self.__fileName: - self.__closeReplayFileIfNeeded() - self.__fileName = fileName - self.__file = open(self.__fileName, mode) - return self.__file - - def __closeReplayFileIfNeeded(self): - if self.__file is not None: - if not self.recordMode: # pragma no branch (Branch useful only when recording new tests, not used during automated tests) - self.assertEqual(readLine(self.__file), "") - self.__file.close() - - def assertListKeyEqual(self, elements, key, expectedKeys): - realKeys = [key(element) for element in elements] - self.assertEqual(realKeys, expectedKeys) - - def assertListKeyBegin(self, elements, key, expectedKeys): - realKeys = [key(element) for element in elements[: len(expectedKeys)]] - self.assertEqual(realKeys, expectedKeys) - - -class TestCase(BasicTestCase): - def doCheckFrame(self, obj, frame): - if obj._headers == {} and frame is None: - return - if obj._headers is None and frame == {}: - return - self.assertEqual(obj._headers, frame[2]) - - def getFrameChecker(self): - return lambda requester, obj, frame: self.doCheckFrame(obj, frame) - - def setUp(self): - BasicTestCase.setUp(self) - - # Set up frame debugging - github.GithubObject.GithubObject.setCheckAfterInitFlag(True) - github.Requester.Requester.setDebugFlag(True) - github.Requester.Requester.setOnCheckMe(self.getFrameChecker()) - - if self.tokenAuthMode: - self.g = github.Github(self.oauth_token) - else: - self.g = github.Github(self.login, self.password) - - -def activateRecordMode(): # pragma no cover (Function useful only when recording new tests, not used during automated tests) - BasicTestCase.recordMode = True - - -def activateTokenAuthMode(): # pragma no cover (Function useful only when recording new tests, not used during automated tests) - BasicTestCase.tokenAuthMode = True diff --git a/github/tests/Gist.py b/github/tests/Gist.py deleted file mode 100644 index 43aa339..0000000 --- a/github/tests/Gist.py +++ /dev/null @@ -1,124 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class Gist(Framework.TestCase): - def testAttributes(self): - gist = self.g.get_gist("6296732") - self.assertEqual(gist.comments, 0) - self.assertEqual(gist.created_at, datetime.datetime(2013, 8, 21, 16, 28, 24)) - self.assertEqual(gist.description, "Github API") - self.assertEqual(gist.files.keys(), ["GithubAPI.lua"]) - self.assertEqual(gist.files["GithubAPI.lua"].size, 21229) - self.assertEqual(gist.files["GithubAPI.lua"].filename, "GithubAPI.lua") - self.assertEqual(gist.files["GithubAPI.lua"].language, "Lua") - self.assertEqual(gist.files["GithubAPI.lua"].content[:10], "-- GithubA") - self.assertEqual(gist.files["GithubAPI.lua"].raw_url, "https://gist.githubusercontent.com/jacquev6/6296732/raw/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua") - self.assertEqual(gist.forks, []) - self.assertEqual(gist.git_pull_url, "https://gist.github.com/6296732.git") - self.assertEqual(gist.git_push_url, "https://gist.github.com/6296732.git") - self.assertEqual(len(gist.history), 1) - self.assertEqual(gist.history[0].change_status.additions, 793) - self.assertEqual(gist.history[0].change_status.deletions, 0) - self.assertEqual(gist.history[0].change_status.total, 793) - self.assertEqual(gist.history[0].committed_at, datetime.datetime(2013, 8, 21, 16, 12, 27)) - self.assertEqual(gist.history[0].url, "https://api.github.com/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2") - self.assertEqual(gist.history[0].user, None) - self.assertEqual(gist.history[0].owner.login, "jacquev6") - self.assertEqual(gist.history[0].version, "c464aecd7fea16684e935607eeea7ae4f8caa0e2") - self.assertEqual(gist.html_url, "https://gist.github.com/6296732") - self.assertEqual(gist.id, "6296732") - self.assertTrue(gist.public) - self.assertEqual(gist.updated_at, datetime.datetime(2013, 8, 21, 16, 28, 24)) - self.assertEqual(gist.url, "https://api.github.com/gists/6296732") - self.assertEqual(gist.user, None) - self.assertEqual(gist.owner.login, "jacquev6") - self.assertEqual(gist.git_pull_url, "https://gist.github.com/6296732.git") - self.assertEqual(gist.git_push_url, "https://gist.github.com/6296732.git") - self.assertEqual(gist.html_url, "https://gist.github.com/6296732") - self.assertEqual(gist.url, "https://api.github.com/gists/6296732") - - # test __repr__() based on this attributes - self.assertEqual(gist.__repr__(), 'Gist(id="6296732")') - - def testEditWithoutParameters(self): - gist = self.g.get_gist("2729810") - gist.edit() - self.assertEqual(gist.description, "Gist created by PyGithub") - self.assertEqual(gist.updated_at, datetime.datetime(2012, 5, 19, 7, 0, 58)) - - def testEditWithAllParameters(self): - gist = self.g.get_gist("2729810") - gist.edit("Description edited by PyGithub", {"barbaz.txt": github.InputFileContent("File also created by PyGithub")}) - self.assertEqual(gist.description, "Description edited by PyGithub") - self.assertEqual(gist.updated_at, datetime.datetime(2012, 5, 19, 7, 6, 10)) - self.assertEqual(set(gist.files.keys()), set(["foobar.txt", "barbaz.txt"])) - - def testDeleteFile(self): - gist = self.g.get_gist("5339374") - self.assertEqual(sorted(gist.files.keys()), ["bar.txt", "foo.txt"]) - gist.edit(files={"foo.txt": None}) - self.assertEqual(gist.files.keys(), ["bar.txt"]) - - def testRenameFile(self): - gist = self.g.get_gist("5339374") - self.assertEqual(gist.files.keys(), ["bar.txt"]) - gist.edit(files={"bar.txt": github.InputFileContent(gist.files["bar.txt"].content, new_name="baz.txt")}) - self.assertEqual(gist.files.keys(), ["baz.txt"]) - - def testCreateComment(self): - gist = self.g.get_gist("2729810") - comment = gist.create_comment("Comment created by PyGithub") - self.assertEqual(comment.id, 323629) - - def testGetComments(self): - gist = self.g.get_gist("2729810") - self.assertListKeyEqual(gist.get_comments(), lambda c: c.id, [323637]) - - def testStarring(self): - gist = self.g.get_gist("2729810") - self.assertFalse(gist.is_starred()) - gist.set_starred() - self.assertTrue(gist.is_starred()) - gist.reset_starred() - self.assertFalse(gist.is_starred()) - - def testFork(self): - gist = self.g.get_gist("6296553") # Random gist - myGist = gist.create_fork() - self.assertEqual(myGist.id, "6296732") - self.assertEqual(myGist.fork_of, None) # WTF - sameGist = self.g.get_gist("6296732") - self.assertEqual(sameGist.fork_of.id, "6296553") - - def testDelete(self): - gist = self.g.get_gist("2729810") - gist.delete() diff --git a/github/tests/GistComment.py b/github/tests/GistComment.py deleted file mode 100644 index 80146c4..0000000 --- a/github/tests/GistComment.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class GistComment(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.comment = self.g.get_gist("2729810").get_comment(323629) - - def testAttributes(self): - self.assertEqual(self.comment.body, "Comment created by PyGithub") - self.assertEqual(self.comment.created_at, datetime.datetime(2012, 5, 19, 7, 7, 57)) - self.assertEqual(self.comment.id, 323629) - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 19, 7, 7, 57)) - self.assertEqual(self.comment.url, "https://api.github.com/gists/2729810/comments/323629") - self.assertEqual(self.comment.user.login, "jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.comment.__repr__(), 'GistComment(user=NamedUser(login="jacquev6"), id=323629)') - - def testEdit(self): - self.comment.edit("Comment edited by PyGithub") - self.assertEqual(self.comment.body, "Comment edited by PyGithub") - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 19, 7, 12, 32)) - - def testDelete(self): - self.comment.delete() diff --git a/github/tests/GitBlob.py b/github/tests/GitBlob.py deleted file mode 100644 index fcbc983..0000000 --- a/github/tests/GitBlob.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class GitBlob(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.blob = self.g.get_user().get_repo("PyGithub").get_git_blob("53bce9fa919b4544e67275089b3ec5b44be20667") - - def testAttributes(self): - self.assertTrue(self.blob.content.startswith("IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\n")) - self.assertTrue(self.blob.content.endswith("Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n")) - self.assertEqual(len(self.blob.content), 1757) - self.assertEqual(self.blob.encoding, "base64") - self.assertEqual(self.blob.size, 1295) - self.assertEqual(self.blob.sha, "53bce9fa919b4544e67275089b3ec5b44be20667") - self.assertEqual(self.blob.url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667") - - # test __repr__() based on this attributes - self.assertEqual(self.blob.__repr__(), - 'GitBlob(sha="53bce9fa919b4544e67275089b3ec5b44be20667")') \ No newline at end of file diff --git a/github/tests/GitCommit.py b/github/tests/GitCommit.py deleted file mode 100644 index 2d7c89a..0000000 --- a/github/tests/GitCommit.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework - - -class GitCommit(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.commit = self.g.get_user().get_repo("PyGithub").get_git_commit("4303c5b90e2216d927155e9609436ccb8984c495") - - def testAttributes(self): - self.assertEqual(self.commit.author.name, "Vincent Jacques") - self.assertEqual(self.commit.author.email, "vincent@vincent-jacques.net") - self.assertEqual(self.commit.author.date, datetime.datetime(2012, 4, 17, 17, 55, 16)) - self.assertEqual(self.commit.committer.name, "Vincent Jacques") - self.assertEqual(self.commit.committer.email, "vincent@vincent-jacques.net") - self.assertEqual(self.commit.committer.date, datetime.datetime(2012, 4, 17, 17, 55, 16)) - self.assertEqual(self.commit.message, "Merge branch 'develop'\n") - self.assertEqual(len(self.commit.parents), 2) - self.assertEqual(self.commit.parents[0].sha, "936f4a97f1a86392637ec002bbf89ff036a5062d") - self.assertEqual(self.commit.parents[1].sha, "2a7e80e6421c5d4d201d60619068dea6bae612cb") - self.assertEqual(self.commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495") - self.assertEqual(self.commit.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad") - self.assertEqual(self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495") - - # test __repr__() based on this attributes - self.assertEqual(self.commit.__repr__(), - 'GitCommit(sha="4303c5b90e2216d927155e9609436ccb8984c495")') \ No newline at end of file diff --git a/github/tests/GitRef.py b/github/tests/GitRef.py deleted file mode 100644 index c4c94da..0000000 --- a/github/tests/GitRef.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class GitRef(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.ref = self.g.get_user().get_repo("PyGithub").get_git_ref("heads/BranchCreatedByPyGithub") - - def testAttributes(self): - self.assertEqual(self.ref.object.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.assertEqual(self.ref.object.type, "commit") - self.assertEqual(self.ref.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a") - self.assertEqual(self.ref.ref, "refs/heads/BranchCreatedByPyGithub") - self.assertEqual(self.ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub") - - # test __repr__() based on this attributes - self.assertEqual(self.ref.__repr__(), - 'GitRef(ref="refs/heads/BranchCreatedByPyGithub")') - - def testEdit(self): - self.ref.edit("04cde900a0775b51f762735637bd30de392a2793") - - def testEditWithForce(self): - self.ref.edit("4303c5b90e2216d927155e9609436ccb8984c495", force=True) - - def testDelete(self): - self.ref.delete() diff --git a/github/tests/GitRelease.py b/github/tests/GitRelease.py deleted file mode 100644 index 843d187..0000000 --- a/github/tests/GitRelease.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2015 Ed Holland # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -from pprint import pprint - - -class Release(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - # Do not get self.release here as it casues bad data to be saved in --record mode - - def testAttributes(self): - self.release = self.g.get_user().get_repo("PyGithub").get_releases()[0] - self.assertEqual(self.release.tag_name, "v1.25.2") - self.assertEqual(self.release.upload_url, "https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets{?name}") - self.assertEqual(self.release.body, "Body") - self.assertEqual(self.release.title, "Test") - self.assertEqual(self.release.url, "https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814") - self.assertEqual(self.release.author._rawData['login'], "edhollandAL") - self.assertEqual(self.release.html_url, "https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2") - - # test __repr__() based on this attributes - self.assertEqual(self.release.__repr__(), 'GitRelease(title="Test")') - - - def testDelete(self): - self.release = self.g.get_user().get_repo("PyGithub").get_releases()[0] - self.assertTrue(self.release.delete_release()) - - def testUpdate(self): - self.release = self.g.get_user().get_repo("PyGithub").get_releases()[0] - new_release = self.release.update_release("Updated Test", "Updated Body") - self.assertEqual(new_release.body, "Updated Body") - self.assertEqual(new_release.title, "Updated Test") - - def testGetRelease(self): - release_by_id = self.g.get_user().get_repo("PyGithub").get_release('v1.25.2') - release_by_tag = self.g.get_user().get_repo("PyGithub").get_release(1210837) - self.assertEqual(release_by_id, release_by_tag) - - def testCreateGitTagAndRelease(self): - self.repo = self.g.get_user().get_repo("PyGithub") - self.release = self.repo.create_git_tag_and_release('v3.0.0', 'tag message', 'release title', 'release message', '5a05a5e58f682d315acd2447c87ac5b4d4fc55e8', 'commit') - self.assertEqual(self.release.tag_name, "v3.0.0") - self.assertEqual(self.release.body, "release message") - self.assertEqual(self.release.title, "release title") - self.assertEqual(self.release.author._rawData['login'], "edhollandAL") - self.assertEqual(self.release.html_url, "https://github.com/edhollandAL/PyGithub/releases/tag/v3.0.0") diff --git a/github/tests/GitTag.py b/github/tests/GitTag.py deleted file mode 100644 index 44adf31..0000000 --- a/github/tests/GitTag.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework - - -class GitTag(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.tag = self.g.get_user().get_repo("PyGithub").get_git_tag("f5f37322407b02a80de4526ad88d5f188977bc3c") - - def testAttributes(self): - self.assertEqual(self.tag.message, "Version 0.6\n") - self.assertEqual(self.tag.object.sha, "4303c5b90e2216d927155e9609436ccb8984c495") - self.assertEqual(self.tag.object.type, "commit") - self.assertEqual(self.tag.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495") - self.assertEqual(self.tag.sha, "f5f37322407b02a80de4526ad88d5f188977bc3c") - self.assertEqual(self.tag.tag, "v0.6") - self.assertEqual(self.tag.tagger.date, datetime.datetime(2012, 5, 10, 18, 14, 15)) - self.assertEqual(self.tag.tagger.email, "vincent@vincent-jacques.net") - self.assertEqual(self.tag.tagger.name, "Vincent Jacques") - self.assertEqual(self.tag.url, "https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c") - - # test __repr__() based on this attributes - self.assertEqual(self.tag.__repr__(), 'GitTag(tag="v0.6", sha="f5f37322407b02a80de4526ad88d5f188977bc3c")') \ No newline at end of file diff --git a/github/tests/GitTree.py b/github/tests/GitTree.py deleted file mode 100644 index 19f15a8..0000000 --- a/github/tests/GitTree.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class GitTree(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.tree = self.g.get_user().get_repo("PyGithub").get_git_tree("f492784d8ca837779650d1fb406a1a3587a764ad") - - def testAttributes(self): - self.assertEqual(self.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad") - self.assertEqual(len(self.tree.tree), 11) - self.assertEqual(self.tree.tree[0].mode, "100644") - self.assertEqual(self.tree.tree[0].path, ".gitignore") - self.assertEqual(self.tree.tree[0].sha, "8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd") - self.assertEqual(self.tree.tree[0].size, 53) - self.assertEqual(self.tree.tree[0].type, "blob") - self.assertEqual(self.tree.tree[0].url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd") - self.assertEqual(self.tree.tree[6].mode, "040000") - self.assertEqual(self.tree.tree[6].path, "ReplayDataForIntegrationTest") - self.assertEqual(self.tree.tree[6].sha, "60b4602b2c2070246c5df078fb7a5150b45815eb") - self.assertEqual(self.tree.tree[6].size, None) - self.assertEqual(self.tree.tree[6].type, "tree") - self.assertEqual(self.tree.tree[6].url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb") - self.assertEqual(self.tree.url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad") - - # test __repr__() based on this attributes - self.assertEqual(self.tree.__repr__(), 'GitTree(sha="f492784d8ca837779650d1fb406a1a3587a764ad")') \ No newline at end of file diff --git a/github/tests/Github_.py b/github/tests/Github_.py deleted file mode 100644 index dfc00a8..0000000 --- a/github/tests/Github_.py +++ /dev/null @@ -1,152 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework - -import github - - -class Github(Framework.TestCase): - def testGetGists(self): - self.assertListKeyBegin(self.g.get_gists(), lambda g: g.id, ["2729695", "2729656", "2729597", "2729584", "2729569", "2729554", "2729543", "2729537", "2729536", "2729533", "2729525", "2729522", "2729519", "2729515", "2729506", "2729487", "2729484", "2729482", "2729441", "2729432", "2729420", "2729398", "2729372", "2729371", "2729351", "2729346", "2729316", "2729304", "2729296", "2729276", "2729272", "2729265", "2729195", "2729160", "2729143", "2729127", "2729119", "2729113", "2729103", "2729069", "2729059", "2729051", "2729029", "2729027", "2729026", "2729022", "2729002", "2728985", "2728979", "2728964", "2728937", "2728933", "2728884", "2728869", "2728866", "2728855", "2728854", "2728853", "2728846", "2728825", "2728814", "2728813", "2728812", "2728805", "2728802", "2728800", "2728798", "2728797", "2728796", "2728793", "2728758", "2728754", "2728751", "2728748", "2728721", "2728716", "2728715", "2728705", "2728701", "2728699", "2728697", "2728688", "2728683", "2728677", "2728649", "2728640", "2728625", "2728620", "2728615", "2728614", "2728565", "2728564", "2728554", "2728523", "2728519", "2728511", "2728497", "2728496", "2728495", "2728487"]) - - def testLegacySearchRepos(self): - repos = self.g.legacy_search_repos("github api v3") - self.assertListKeyBegin(repos, lambda r: r.name, ["github", "octonode", "PyGithub"]) - self.assertEqual(repos[0].full_name, "peter-murach/github") - - # Attributes retrieved from legacy API without lazy completion call - self.assertEqual(repos[2].created_at, datetime.datetime(2012, 2, 25, 12, 53, 47)) - self.assertEqual(repos[2].name, "PyGithub") - self.assertEqual(repos[2].watchers, 365) - self.assertTrue(repos[2].has_downloads) - self.assertEqual(repos[2].homepage, "http://jacquev6.github.io/PyGithub") - self.assertEqual(repos[2].url, "/repos/jacquev6/PyGithub") - self.assertFalse(repos[2].fork) - self.assertTrue(repos[2].has_issues) - self.assertFalse(repos[2].has_wiki) - self.assertEqual(repos[2].forks, 102) - self.assertEqual(repos[2].size, 11373) - self.assertFalse(repos[2].private) - self.assertEqual(repos[2].open_issues, 14) - self.assertEqual(repos[2].pushed_at, datetime.datetime(2014, 3, 16, 17, 1, 56)) - self.assertEqual(repos[2].description, "Python library implementing the full Github API v3") - self.assertEqual(repos[2].language, "Python") - self.assertEqual(repos[2].owner.login, "jacquev6") - self.assertEqual(repos[2].owner.url, "/users/jacquev6") - - def testLegacySearchReposPagination(self): - repos = self.g.legacy_search_repos("document") - self.assertListKeyBegin(repos, lambda r: r.name, ["git", "nimbus", "kss", "sstoolkit", "lawnchair", "appledoc", "jQ.Mobi", "ipython", "mongoengine", "ravendb", "substance", "symfony-docs", "JavaScript-Garden", "DocSets-for-iOS", "yard", "phpDocumentor2", "phpsh", "Tangle", "Ingredients", "documentjs", "xhp", "couchdb-lucene", "dox", "magento2", "javascriptmvc", "FastPdfKit", "roar", "DocumentUp", "NoRM", "jsdoc", "tagger", "mongodb-csharp", "php-github-api", "beautiful-docs", "mongodb-odm", "iodocs", "seesaw", "bcx-api", "developer.github.com", "amqp", "docsplit", "pycco", "standards-and-practices", "tidy-html5", "redis-doc", "tomdoc", "docs", "flourish", "userguide", "swagger-ui", "rfc", "Weasel-Diesel", "yuidoc", "apigen", "document-viewer", "develop.github.com", "Shanty-Mongo", "PTShowcaseViewController", "gravatar_image_tag", "api-wow-docs", "mongoid-tree", "safari-json-formatter", "mayan", "orm-documentation", "jsfiddle-docs-alpha", "core", "documentcloud", "flexible-nav", "writeCapture", "readium", "xmldocument", "Documentation-Examples", "grails-doc", "stdeb", "aws-autoscaling", "voteable_mongo", "review", "spreadsheet_on_rails", "UKSyntaxColoredTextDocument", "mandango", "bdoc", "Documentation", "documents.com", "rghost", "ticket_mule", "vendo", "khan-api", "spring-data-document-examples", "rspec_api_documentation", "axlsx", "phpdox", "documentation", "Sami", "innershiv", "doxyclean", "documents", "rvm-site", "jqapi", "documentation", "hadoopy", "VichUploaderBundle", "pdoc", "documentation", "wii-js", "oss-docs", "scala-maven-plugin", "Documents", "documenter", "behemoth", "documentation", "documentation", "propelorm.github.com", "Kobold2D", "AutoObjectDocumentation", "php-mongodb-admin", "django-mongokit", "puppet-docs", "docs", "Document", "vendorer", "symfony1-docs", "shocco", "documentation", "jog", "docs", "documentation", "documentation", "documentation", "documentation", "Documentation", "documentation", "documentation", "phpunit-documentation", "ADCtheme", "NelmioApiDocBundle", "iCloud-Singleton-CloudMe", "Documentation", "document", "document_mapper", "heroku-docs", "couchdb-odm", "documentation", "documentation", "document", "documentation", "NanoStore", "documentation", "Documentation", "documentation", "Documentation", "documentation", "document", "documentation", "documentation", "Documentation", "Documentation", "grendel", "ceylon-compiler", "mbtiles-spec", "documentation", "documents", "documents", "Documents", "Documentation", "documentation", "Documentation", "documentation", "documents", "Documentation", "documentation", "documentation", "documents", "Documentation", "documentation", "documenter", "documentation", "documents", "Documents", "documents", "documents", "documentation", "Document", "document", "rdoc", "mongoid_token", "travis-ci.github.com", "Documents", "Documents", "documents", "Document", "Documentation", "documents", "Documents", "Documentation", "documents", "documents", "documents", "documentation", "Documents", "Document", "documents", "documents", "Documentation", "Documentation", "Document", "documents", "Documents", "Documents", "Documentation", "Documents", "documents", "Documents", "document", "documents", "Documentation", "Documents", "documents", "documents", "Documents", "documents", "Documentation", "documentation", "Document", "Documents", "documents", "documents", "documents", "Documentation", "Documentation", "Documents", "Documents", "Documents", "Documenter", "document", "Documentation", "Documents", "Documents", "documentation", "documentation", "Document", "Documents", "Documentation", "Documentation", "Documents", "documents", "Documents", "document", "documentation", "Documents", "documentation", "documentation", "documentation", "Documentation", "Documents", "Documents", "documentation", "Documents", "Documents", "documentation", "documentation", "documents", "Documentation", "documents", "documentation", "Documentation", "Documents", "documentation", "documentation", "documents", "documentation", "Umbraco5Docs", "documents", "Documents", "Documentation", "documents", "document", "documents", "document", "documents", "documentation", "Documents", "documents", "document", "Documents", "Documentation", "Documentation", "documentation", "Documentation", "document", "documentation", "documents", "documents", "Documentations", "document", "documentation", "Documentation", "Document", "Documents", "Documents", "Document"]) - - def testLegacySearchReposExplicitPagination(self): - repos = self.g.legacy_search_repos("python") - self.assertEqual([r.name for r in repos.get_page(4)], ["assetic", "cartodb", "cuisine", "gae-sessions", "geoalchemy2", "Multicorn", "wmfr-timeline", "redis-rdb-tools", "applet-workflows", "TweetBuff", "groovy-core", "StarTrekGame", "Nuevo", "Cupid", "node-sqlserver", "Magnet2Torrent", "GroundControl", "mock-django", "4bit", "mock-django", "Fabulous", "SFML", "pydicas", "flixel", "up", "mongrel2", "SimpleHTTPServerJs", "ultimos", "Archipel", "JSbooks", "nova", "nodebox", "simplehttp", "dablooms", "solarized", "landslide", "jQuery-File-Upload", "jQuery-File-Upload", "jQuery-File-Upload", "password-manager", "electrum", "twitter_nlp", "djangbone", "pyxfst", "node-gyp", "flare", "www.gittip.com", "wymeditor", "Kokobox", "MyCQ", "runwalk", "git-sweep", "HPCPythonSC2012", "sundown", "node2dm", "statirator", "fantastic-futures", "chainsaw", "itcursos-gerenciador-tarefas", "TideSDK", "genmaybot", "melpa", "ConnectedWire", "tarantool", "anserindicus_sn", "luvit", "Minecraft-Overviewer", "Iconic", "pyist.net", "wikibok", "mejorenvo-scraper", "NewsBlur", "SocketRocket", "spf13-vim", "IWantToWorkAtGloboCom", "ruby-style-guide", "aery32-refguide", "fafsite", "compsense_demo", "enaml", "mpi4py", "fi.pycon.org", "scikits-image", "scikits-image", "uni", "mako.vim", "mako.vim", "slumber", "de-composer", "nvm", "helloshopply", "Alianza", "vimfiles", "socorro-crashstats", "menu", "analytics", "elFinder", "riak_wiki", "livestreamer", "git-goggles"]) - - def testLegacySearchReposWithLanguage(self): - repos = self.g.legacy_search_repos("document", language="Python") - self.assertListKeyBegin(repos, lambda r: r.name, ["ipython", "mongoengine", "tagger"]) - self.assertEqual(repos[0].full_name, "ipython/ipython") - - def testLegacySearchUsers(self): - users = self.g.legacy_search_users("vincent") - self.assertListKeyBegin(users, lambda u: u.login, ["nvie", "obra", "lusis"]) - - # Attributes retrieved from legacy API without lazy completion call - self.assertEqual(users[0].gravatar_id, "c5a7f21b46df698f3db31c37ed0cf55a") - self.assertEqual(users[0].name, "Vincent Driessen") - self.assertEqual(users[0].created_at, datetime.datetime(2009, 5, 12, 21, 19, 38)) - self.assertEqual(users[0].location, "Netherlands") - self.assertEqual(users[0].followers, 310) - self.assertEqual(users[0].public_repos, 63) - self.assertEqual(users[0].login, "nvie") - - def testLegacySearchUsersPagination(self): - self.assertEqual(len(list(self.g.legacy_search_users("Lucy"))), 146) - - def testLegacySearchUsersExplicitPagination(self): - users = self.g.legacy_search_users("Lucy") - self.assertEqual([u.login for u in users.get_page(1)], ["lucievh", "lucyim", "Lucief", "RevolverUpstairs", "seriousprogramming", "reicul", "davincidubai", "LucianaNascimentodoPrado", "lucia-huenchunao", "kraji20", "Lucywolo", "Luciel", "sunnysummer", "elush", "oprealuci", "Flika", "lsher", "datadrivenjournalism", "nill2020", "doobi", "lucilu", "deldeldel", "lucianacocca", "lucyli-sfdc", "lucysatchell", "UBM", "kolousek", "lucyzhang", "lmegia", "luisolivo", "Lucyzhen", "Luhzinha", "beautifly", "lucybm96", "BuonocoreL", "lucywilliams", "ZxOxZ", "Motwinb", "johnlucy", "Aquanimation", "alaltaieri", "lucylin", "lucychambers", "JuanSesma", "cdwwebware", "ZachWills"]) - - def testLegacySearchUserByEmail(self): - user = self.g.legacy_search_user_by_email("vincent@vincent-jacques.net") - self.assertEqual(user.login, "jacquev6") - self.assertEqual(user.followers, 13) - - def testGetHooks(self): - hooks = self.g.get_hooks() - hook = hooks[0] - self.assertEqual(hook.name, "activecollab") - self.assertEqual(hook.supported_events, ["push"]) - self.assertEqual(hook.events, ["push"]) - self.assertEqual(hook.schema, [["string", "url"], ["string", "token"], ["string", "project_id"], ["string", "milestone_id"], ["string", "category_id"]]) - - def testGetEmojis(self): - emojis = self.g.get_emojis() - first = emojis.get("+1") - self.assertEqual(first, "https://github.global.ssl.fastly.net/images/icons/emoji/+1.png?v5") - - def testGetHook(self): - hook = self.g.get_hook("activecollab") - self.assertEqual(hook.name, "activecollab") - self.assertEqual(hook.supported_events, ["push"]) - self.assertEqual(hook.events, ["push"]) - self.assertEqual(hook.schema, [["string", "url"], ["string", "token"], ["string", "project_id"], ["string", "milestone_id"], ["string", "category_id"]]) - - def testGetRepoFromFullName(self): - self.assertEqual(self.g.get_repo("jacquev6/PyGithub").description, "Python library implementing the full Github API v3") - - def testGetRepoFromId(self): - self.assertEqual(self.g.get_repo(3544490).description, "Python library implementing the full Github API v3") - - def testGetGitignoreTemplates(self): - self.assertEqual(self.g.get_gitignore_templates(), ["Actionscript", "Android", "AppceleratorTitanium", "Autotools", "Bancha", "C", "C++", "CFWheels", "CMake", "CSharp", "CakePHP", "Clojure", "CodeIgniter", "Compass", "Concrete5", "Coq", "Delphi", "Django", "Drupal", "Erlang", "ExpressionEngine", "Finale", "ForceDotCom", "FuelPHP", "GWT", "Go", "Grails", "Haskell", "Java", "Jboss", "Jekyll", "Joomla", "Jython", "Kohana", "LaTeX", "Leiningen", "LemonStand", "Lilypond", "Lithium", "Magento", "Maven", "Node", "OCaml", "Objective-C", "Opa", "OracleForms", "Perl", "PlayFramework", "Python", "Qooxdoo", "Qt", "R", "Rails", "RhodesRhomobile", "Ruby", "Scala", "Sdcc", "SeamGen", "SketchUp", "SugarCRM", "Symfony", "Symfony2", "SymphonyCMS", "Target3001", "Tasm", "Textpattern", "TurboGears2", "Unity", "VB.Net", "Waf", "Wordpress", "Yii", "ZendFramework", "gcov", "nanoc", "opencart"]) - - def testGetGitignoreTemplate(self): - t = self.g.get_gitignore_template("Python") - self.assertEqual(t.name, "Python") - self.assertEqual(t.source, "*.py[cod]\n\n# C extensions\n*.so\n\n# Packages\n*.egg\n*.egg-info\ndist\nbuild\neggs\nparts\nbin\nvar\nsdist\ndevelop-eggs\n.installed.cfg\nlib\nlib64\n\n# Installer logs\npip-log.txt\n\n# Unit test / coverage reports\n.coverage\n.tox\nnosetests.xml\n\n# Translations\n*.mo\n\n# Mr Developer\n.mr.developer.cfg\n.project\n.pydevproject\n") - - t = self.g.get_gitignore_template("C++") - self.assertEqual(t.name, "C++") - self.assertEqual(t.source, "# Compiled Object files\n*.slo\n*.lo\n*.o\n\n# Compiled Dynamic libraries\n*.so\n*.dylib\n\n# Compiled Static libraries\n*.lai\n*.la\n*.a\n") - - def testStringOfNotSet(self): - self.assertEqual(str(github.GithubObject.NotSet), "NotSet") - - def testGetUsers(self): - self.assertListKeyBegin(self.g.get_users(), lambda u: u.login, ["mojombo", "defunkt", "pjhyett", "wycats", "ezmobius", "ivey", "evanphx", "vanpelt", "wayneeseguin", "brynary", "kevinclark", "technoweenie", "macournoyer", "takeo", "Caged", "topfunky", "anotherjesse", "roland", "lukas", "fanvsfan", "tomtt", "railsjitsu", "nitay", "kevwil", "KirinDave", "jamesgolick", "atmos", "errfree", "mojodna", "bmizerany", "jnewland", "joshknowles", "hornbeck", "jwhitmire", "elbowdonkey", "reinh", "timocratic", "bs", "rsanheim", "schacon", "uggedal", "bruce", "sam", "mmower", "abhay", "rabble", "benburkert", "indirect", "fearoffish", "ry", "engineyard", "jsierles", "tweibley", "peimei", "brixen", "tmornini", "outerim", "daksis", "sr", "lifo", "rsl", "imownbey", "dylanegan", "jm", "willcodeforfoo", "jvantuyl", "BrianTheCoder", "freeformz", "hassox", "automatthew", "queso", "lancecarlson", "drnic", "lukesutton", "danwrong", "hcatlin", "jfrost", "mattetti", "ctennis", "lawrencepit", "marcjeanson", "grempe", "peterc", "ministrycentered", "afarnham", "up_the_irons", "evilchelu", "heavysixer", "brosner", "danielmorrison", "danielharan", "kvnsmth", "collectiveidea", "canadaduane", "nate", "dstrelau", "sunny", "dkubb", "jnicklas", "richcollins", "simonjefford"]) - - def testGetUsersSince(self): - self.assertListKeyBegin(self.g.get_users(since=1000), lambda u: u.login, ["sbecker"]) - - def testGetRepos(self): - self.assertListKeyBegin(self.g.get_repos(), lambda r: r.name, ["grit", "merb-core", "rubinius", "god", "jsawesome", "jspec", "exception_logger", "ambition"]) - - def testGetReposSince(self): - self.assertListKeyBegin(self.g.get_repos(since=1000), lambda r: r.name, ["jquery-humanize-messages-plugin", "4slicer", "fixture-scenarios", "mongrel_proctitle", "rails-plugins"]) diff --git a/github/tests/Hook.py b/github/tests/Hook.py deleted file mode 100644 index df5f682..0000000 --- a/github/tests/Hook.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Hook(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.hook = self.g.get_user().get_repo("PyGithub").get_hook(257993) - - def testAttributes(self): - self.assertTrue(self.hook.active) # WTF - self.assertEqual(self.hook.config, {"url": "http://foobar.com"}) - self.assertEqual(self.hook.created_at, datetime.datetime(2012, 5, 19, 6, 1, 45)) - self.assertEqual(self.hook.events, ["push"]) - self.assertEqual(self.hook.id, 257993) - self.assertEqual(self.hook.last_response.status, "ok") - self.assertEqual(self.hook.last_response.message, "OK") - self.assertEqual(self.hook.last_response.code, 200) - self.assertEqual(self.hook.name, "web") - self.assertEqual(self.hook.updated_at, datetime.datetime(2012, 5, 29, 18, 49, 47)) - self.assertEqual(self.hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257993") - - # test __repr__() based on this attributes - self.assertEqual(self.hook.__repr__(), 'Hook(url="https://api.github.com/repos/jacquev6/PyGithub/hooks/257993", id=257993)') - - def testEditWithMinimalParameters(self): - self.hook.edit("web", {"url": "http://foobar.com/hook"}) - self.assertEqual(self.hook.config, {"url": "http://foobar.com/hook"}) - self.assertEqual(self.hook.updated_at, datetime.datetime(2012, 5, 19, 5, 8, 16)) - - def testDelete(self): - self.hook.delete() - - def testTest(self): - self.hook.test() # This does not update attributes of hook - - def testEditWithAllParameters(self): - self.hook.edit("web", {"url": "http://foobar.com"}, events=["fork", "push"]) - self.assertEqual(self.hook.events, ["fork", "push"]) - self.hook.edit("web", {"url": "http://foobar.com"}, add_events=["push"]) - self.assertEqual(self.hook.events, ["fork", "push"]) - self.hook.edit("web", {"url": "http://foobar.com"}, remove_events=["fork"]) - self.assertEqual(self.hook.events, ["push"]) - self.hook.edit("web", {"url": "http://foobar.com"}, active=True) - self.assertTrue(self.hook.active) diff --git a/github/tests/Issue.py b/github/tests/Issue.py deleted file mode 100644 index e8c0ae7..0000000 --- a/github/tests/Issue.py +++ /dev/null @@ -1,152 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Stuart Glaser # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Issue(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("PyGithub") - self.issue = self.repo.get_issue(28) - - def testAttributes(self): - self.assertEqual(self.issue.assignee.login, "jacquev6") - self.assertListKeyEqual(self.issue.assignees, lambda a: a.login, ["jacquev6", "stuglaser"]) - self.assertEqual(self.issue.body, "Body edited by PyGithub") - self.assertEqual(self.issue.closed_at, datetime.datetime(2012, 5, 26, 14, 59, 33)) - self.assertEqual(self.issue.closed_by.login, "jacquev6") - self.assertEqual(self.issue.comments, 0) - self.assertEqual(self.issue.created_at, datetime.datetime(2012, 5, 19, 10, 38, 23)) - self.assertEqual(self.issue.html_url, "https://github.com/jacquev6/PyGithub/issues/28") - self.assertEqual(self.issue.id, 4653757) - self.assertListKeyEqual(self.issue.labels, lambda l: l.name, ["Bug", "Project management", "Question"]) - self.assertEqual(self.issue.milestone.title, "Version 0.4") - self.assertEqual(self.issue.number, 28) - self.assertEqual(self.issue.pull_request.diff_url, None) - self.assertEqual(self.issue.pull_request.patch_url, None) - self.assertEqual(self.issue.pull_request.html_url, None) - self.assertEqual(self.issue.state, "closed") - self.assertEqual(self.issue.title, "Issue created by PyGithub") - self.assertEqual(self.issue.updated_at, datetime.datetime(2012, 5, 26, 14, 59, 33)) - self.assertEqual(self.issue.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/28") - self.assertEqual(self.issue.user.login, "jacquev6") - self.assertEqual(self.issue.repository.name, "PyGithub") - - # test __repr__() based on this attributes - self.assertEqual(self.issue.__repr__(), 'Issue(title="Issue created by PyGithub", number=28)') - - def testEditWithoutParameters(self): - self.issue.edit() - - def testEditWithAllParameters(self): - user = self.g.get_user("jacquev6") - milestone = self.repo.get_milestone(2) - self.issue.edit("Title edited by PyGithub", "Body edited by PyGithub", user, "open", milestone, ["Bug"], ["jacquev6", "stuglaser"]) - self.assertEqual(self.issue.assignee.login, "jacquev6") - self.assertListKeyEqual(self.issue.assignees, lambda a: a.login, ["jacquev6", "stuglaser"]) - self.assertEqual(self.issue.body, "Body edited by PyGithub") - self.assertEqual(self.issue.state, "open") - self.assertEqual(self.issue.title, "Title edited by PyGithub") - self.assertListKeyEqual(self.issue.labels, lambda l: l.name, ["Bug"]) - - def testEditResetMilestone(self): - self.assertEqual(self.issue.milestone.title, "Version 0.4") - self.issue.edit(milestone=None) - self.assertEqual(self.issue.milestone, None) - - def testEditResetAssignee(self): - self.assertEqual(self.issue.assignee.login, "jacquev6") - self.issue.edit(assignee=None) - self.assertEqual(self.issue.assignee, None) - - def testCreateComment(self): - comment = self.issue.create_comment("Comment created by PyGithub") - self.assertEqual(comment.id, 5808311) - - def testGetComments(self): - self.assertListKeyEqual(self.issue.get_comments(), lambda c: c.user.login, ["jacquev6", "roskakori"]) - - def testGetCommentsSince(self): - self.assertListKeyEqual(self.issue.get_comments(datetime.datetime(2012, 5, 26, 13, 59, 33)), lambda c: c.user.login, ["jacquev6", "roskakori"]) - - def testGetEvents(self): - self.assertListKeyEqual(self.issue.get_events(), lambda e: e.id, [15819975, 15820048]) - - def testGetLabels(self): - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - - def testAddAndRemoveAssignees(self): - user1 = "jayfk" - user2 = self.g.get_user("jzelinskie") - self.assertListKeyEqual(self.issue.assignees, lambda a: a.login, ["jacquev6", "stuglaser"]) - self.issue.add_to_assignees(user1, user2) - self.assertListKeyEqual(self.issue.assignees, lambda a: a.login, ["jacquev6", "stuglaser", "jayfk", "jzelinskie"]) - self.issue.remove_from_assignees(user1, user2) - self.assertListKeyEqual(self.issue.assignees, lambda a: a.login, ["jacquev6", "stuglaser"]) - - def testAddAndRemoveLabels(self): - bug = self.repo.get_label("Bug") - question = self.repo.get_label("Question") - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - self.issue.remove_from_labels(bug) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Project management", "Question"]) - self.issue.remove_from_labels(question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Project management"]) - self.issue.add_to_labels(bug, question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - - def testAddAndRemoveLabelsWithStringArguments(self): - bug = "Bug" - question = "Question" - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - self.issue.remove_from_labels(bug) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Project management", "Question"]) - self.issue.remove_from_labels(question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Project management"]) - self.issue.add_to_labels(bug, question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - - def testDeleteAndSetLabels(self): - bug = self.repo.get_label("Bug") - question = self.repo.get_label("Question") - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - self.issue.delete_labels() - self.assertListKeyEqual(self.issue.get_labels(), None, []) - self.issue.set_labels(bug, question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Question"]) - - def testDeleteAndSetLabelsWithStringArguments(self): - bug = "Bug" - question = "Question" - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Project management", "Question"]) - self.issue.delete_labels() - self.assertListKeyEqual(self.issue.get_labels(), None, []) - self.issue.set_labels(bug, question) - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", "Question"]) diff --git a/github/tests/Issue131.py b/github/tests/Issue131.py deleted file mode 100644 index b9ef019..0000000 --- a/github/tests/Issue131.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Issue131(Framework.TestCase): # https://github.com/jacquev6/PyGithub/pull/133 - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user() - self.repo = self.g.get_user("openmicroscopy").get_repo("ome-documentation") - - def testGetPullWithOrgHeadUser(self): - user = self.repo.get_pull(204).head.user - self.assertEqual(user.login, 'imcf') - self.assertEqual(user.type, 'Organization') - self.assertEqual(user.__class__.__name__, 'NamedUser') # Should be Organization - - def testGetPullsWithOrgHeadUser(self): - for pull in self.repo.get_pulls('closed'): - if pull.number == 204: - user = pull.head.user - self.assertEqual(user, None) - # Should be: - # self.assertEqual(user.login, 'imcf') - # self.assertEqual(user.type, 'Organization') - # self.assertEqual(user.__class__.__name__, 'NamedUser') # Should be Organization - break - else: - self.assertTrue(False) diff --git a/github/tests/Issue133.py b/github/tests/Issue133.py deleted file mode 100644 index 11c36b7..0000000 --- a/github/tests/Issue133.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Issue133(Framework.TestCase): # https://github.com/jacquev6/PyGithub/pull/133 - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user() - - def testGetPageWithoutInitialArguments(self): - self.assertEqual(len(self.user.get_followers().get_page(0)), 22) diff --git a/github/tests/Issue134.py b/github/tests/Issue134.py deleted file mode 100644 index fa02dee..0000000 --- a/github/tests/Issue134.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Issue134(Framework.BasicTestCase): # https://github.com/jacquev6/PyGithub/pull/134 - def testGetAuthorizationsFailsWhenAutenticatedThroughOAuth(self): - g = github.Github(self.oauth_token) - raised = False - try: - list(g.get_user().get_authorizations()) - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 404) - self.assertTrue(raised) - - def testGetAuthorizationsSucceedsWhenAutenticatedThroughLoginPassword(self): - g = github.Github(self.login, self.password) - self.assertListKeyEqual(g.get_user().get_authorizations(), lambda a: a.note, [None, None, 'cligh', None, None, 'GitHub Android App']) - - def testGetOAuthScopesFromHeader(self): - g = github.Github(self.oauth_token) - self.assertEqual(g.oauth_scopes, None) - g.get_user().name - self.assertEqual(g.oauth_scopes, ['repo', 'user', 'gist']) diff --git a/github/tests/Issue139.py b/github/tests/Issue139.py deleted file mode 100644 index f0def0e..0000000 --- a/github/tests/Issue139.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Issue139(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/139 - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user().get_repo("PyGithub").get_issue(139).user - - def testCompletion(self): - self.assertFalse(self.user._CompletableGithubObject__completed) - self.assertEqual(self.user.name, "Ian Ozsvald") - self.assertTrue(self.user._CompletableGithubObject__completed) - self.assertEqual(self.user.plan, None) diff --git a/github/tests/Issue140.py b/github/tests/Issue140.py deleted file mode 100644 index f8c3267..0000000 --- a/github/tests/Issue140.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Issue140(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/140 - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("twitter/bootstrap") - - def testGetDirContentsThenLazyCompletionOfFile(self): - contents = self.repo.get_dir_contents("/js") - self.assertEqual(len(contents), 15) - n = 0 - for content in contents: - if content.path == "js/bootstrap-affix.js": - self.assertEqual(len(content.content), 4722) # Lazy completion - n += 1 - elif content.path == "js/tests": - self.assertEqual(content.content, None) # No completion at all - n += 1 - self.assertEqual(n, 2) - - def testGetFileContents(self): - contents = self.repo.get_file_contents("/js/bootstrap-affix.js") - self.assertEqual(contents.encoding, "base64") - self.assertEqual(contents.url, "https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js") - self.assertEqual(len(contents.content), 4722) - - def testGetDirContentsWithRef(self): - self.assertEqual(len(self.repo.get_dir_contents("/js", "8c7f9c66a7d12f47f50618ef420868fe836d0c33")), 15) diff --git a/github/tests/Issue142.py b/github/tests/Issue142.py deleted file mode 100644 index fb2085b..0000000 --- a/github/tests/Issue142.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import unittest -import github - - -class Issue142(unittest.TestCase): # https://github.com/jacquev6/PyGithub/issues/142 - def testDecodeJson(self): - # This test has to hit GitHub for real, because the record-replay framework looses types - # and python3 does not behave like python2 for strings and bytes - self.assertEqual(github.Github().get_rate_limit().rate.limit, 60) diff --git a/github/tests/Issue158.py b/github/tests/Issue158.py deleted file mode 100644 index a6ce61a..0000000 --- a/github/tests/Issue158.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Issue158(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/158 - # Warning: I don't have a scret key, so the requests for this test are forged - def testPaginationWithSecretKeyAuthentication(self): - g = github.Github(client_id=self.client_id, client_secret=self.client_secret) - self.assertListKeyEqual(g.get_organization("BeaverSoftware").get_repos("public"), lambda r: r.name, ["FatherBeaver", "PyGithub"]) diff --git a/github/tests/Issue174.py b/github/tests/Issue174.py deleted file mode 100644 index f1c7b03..0000000 --- a/github/tests/Issue174.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -class Issue174(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("twitter/bootstrap") - - def testGetDirContentsWhithHttpRedirect(self): - contents = self.repo.get_dir_contents("/js/") - self.assertEqual(len(contents), 15) diff --git a/github/tests/Issue214.py b/github/tests/Issue214.py deleted file mode 100644 index 0d1243b..0000000 --- a/github/tests/Issue214.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github - -import Framework - - -class Issue214(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/214 - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("PyGithub") - self.issue = self.repo.get_issue(1) - - def testAssignees(self): - self.assertTrue(self.repo.has_in_assignees('farrd')) - self.assertFalse(self.repo.has_in_assignees('fake')) - - def testCollaborators(self): - self.assertTrue(self.repo.has_in_collaborators('farrd')) - self.assertFalse(self.repo.has_in_collaborators('fake')) - - self.assertFalse(self.repo.has_in_collaborators('marcmenges')) - self.repo.add_to_collaborators('marcmenges') - self.assertTrue(self.repo.has_in_collaborators('marcmenges')) - - self.repo.remove_from_collaborators('marcmenges') - self.assertFalse(self.repo.has_in_collaborators('marcmenges')) - - def testEditIssue(self): - self.assertEqual(self.issue.assignee, None) - - self.issue.edit(assignee='farrd') - self.assertEqual(self.issue.assignee.login, 'farrd') - - self.issue.edit(assignee=None) - self.assertEqual(self.issue.assignee, None) - - def testCreateIssue(self): - issue = self.repo.create_issue("Issue created by PyGithub", assignee='farrd') - self.assertEqual(issue.assignee.login, 'farrd') - - def testGetIssues(self): - issues = self.repo.get_issues(assignee='farrd') - - for issue in issues: - self.assertEqual(issue.assignee.login, 'farrd') diff --git a/github/tests/Issue216.py b/github/tests/Issue216.py deleted file mode 100644 index ded2a16..0000000 --- a/github/tests/Issue216.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - - -# Replay data forged by capitalizing headers from PaginatedList.setUp.txt and PaginatedList.testIteration.txt -class Issue216(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user("openframeworks").get_repo("openFrameworks") - self.list = self.repo.get_issues() - - def testIteration(self): - self.assertEqual(len(list(self.list)), 333) diff --git a/github/tests/Issue278.py b/github/tests/Issue278.py deleted file mode 100644 index 2255d9c..0000000 --- a/github/tests/Issue278.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -# Replay data forged by adding nulls to PaginatedList.setUp.txt and PaginatedList.testIteration.txt -class Issue278(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user("openframeworks").get_repo("openFrameworks") - self.list = self.repo.get_issues() - - def testIteration(self): - self.assertEqual(len(list(self.list)), 333) diff --git a/github/tests/Issue33.py b/github/tests/Issue33.py deleted file mode 100644 index a9e7ad8..0000000 --- a/github/tests/Issue33.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Issue33(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/33 - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user("openframeworks").get_repo("openFrameworks") - - def testOpenIssues(self): - self.assertEqual(len(list(self.repo.get_issues())), 338) - - def testClosedIssues(self): - self.assertEqual(len(list(self.repo.get_issues(state="closed"))), 950) diff --git a/github/tests/Issue494.py b/github/tests/Issue494.py deleted file mode 100644 index 7062a9d..0000000 --- a/github/tests/Issue494.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# Copyright 2016 Sam Corbett # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Issue494(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("apache/brooklyn-server") - self.pull = self.repo.get_pull(465) - - def testRepr(self): - expected = 'PullRequest(title="Change SetHostnameCustomizer to check if ' \ - '/etc/sysconfig/network exist…", number=465)' - self.assertEqual(self.pull.__repr__(), expected) diff --git a/github/tests/Issue50.py b/github/tests/Issue50.py deleted file mode 100644 index fd95aba..0000000 --- a/github/tests/Issue50.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github - -import Framework - - -class Issue50(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/50 - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("PyGithub") - self.issue = self.repo.get_issue(50) - self.labelName = "Label with spaces and strange characters (&*#$)" - - def testCreateLabel(self): - label = self.repo.create_label(self.labelName, "ffff00") - self.assertEqual(label.name, self.labelName) - - def testGetLabel(self): - label = self.repo.get_label(self.labelName) - self.assertEqual(label.name, self.labelName) - - def testGetLabels(self): - self.assertListKeyEqual(self.repo.get_labels(), lambda l: l.name, ["Refactoring", "Public interface", "Functionalities", "Project management", "Bug", "Question", "RequestedByUser", self.labelName]) - - def testAddLabelToIssue(self): - self.issue.add_to_labels(self.repo.get_label(self.labelName)) - - def testRemoveLabelFromIssue(self): - self.issue.remove_from_labels(self.repo.get_label(self.labelName)) - - def testSetIssueLabels(self): - self.issue.set_labels(self.repo.get_label("Bug"), self.repo.get_label("RequestedByUser"), self.repo.get_label(self.labelName)) - - def testIssueLabels(self): - self.assertListKeyEqual(self.issue.labels, lambda l: l.name, ["Bug", self.labelName, "RequestedByUser"]) - - def testIssueGetLabels(self): - self.assertListKeyEqual(self.issue.get_labels(), lambda l: l.name, ["Bug", self.labelName, "RequestedByUser"]) - - def testGetIssuesWithLabel(self): - self.assertListKeyEqual(self.repo.get_issues(labels=[self.repo.get_label(self.labelName)]), lambda i: i.number, [52, 50]) - - def testCreateIssueWithLabel(self): - issue = self.repo.create_issue("Issue created by PyGithub to test issue #50", labels=[self.repo.get_label(self.labelName)]) - self.assertListKeyEqual(issue.labels, lambda l: l.name, [self.labelName]) - self.assertEqual(issue.number, 52) diff --git a/github/tests/Issue54.py b/github/tests/Issue54.py deleted file mode 100644 index cf0287d..0000000 --- a/github/tests/Issue54.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework - - -class Issue54(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("TestRepo") - - def testConversion(self): - commit = self.repo.get_git_commit("73f320ae06cd565cf38faca34b6a482addfc721b") - self.assertEqual(commit.message, "Test commit created around Fri, 13 Jul 2012 18:43:21 GMT, that is vendredi 13 juillet 2012 20:43:21 GMT+2\n") - self.assertEqual(commit.author.date, datetime.datetime(2012, 7, 13, 18, 47, 10)) diff --git a/github/tests/Issue80.py b/github/tests/Issue80.py deleted file mode 100644 index 74bf5c2..0000000 --- a/github/tests/Issue80.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github - -import Framework - - -class Issue80(Framework.BasicTestCase): # https://github.com/jacquev6/PyGithub/issues/80 - def testIgnoreHttpsFromGithubEnterprise(self): - g = github.Github(self.login, self.password, base_url="http://my.enterprise.com/some/prefix") # http here - org = g.get_organization("BeaverSoftware") - self.assertEqual(org.url, "https://my.enterprise.com/some/prefix/orgs/BeaverSoftware") # https returned - self.assertListKeyEqual(org.get_repos(), lambda r: r.name, ["FatherBeaver", "TestPyGithub"]) # But still http in second request based on org.url - - def testIgnoreHttpsFromGithubEnterpriseWithPort(self): - g = github.Github(self.login, self.password, base_url="http://my.enterprise.com:1234/some/prefix") # http here - org = g.get_organization("BeaverSoftware") - self.assertEqual(org.url, "https://my.enterprise.com:1234/some/prefix/orgs/BeaverSoftware") # https returned - self.assertListKeyEqual(org.get_repos(), lambda r: r.name, ["FatherBeaver", "TestPyGithub"]) # But still http in second request based on org.url diff --git a/github/tests/Issue87.py b/github/tests/Issue87.py deleted file mode 100644 index c3d2ace..0000000 --- a/github/tests/Issue87.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import github - -import Framework - - -class Issue87(Framework.TestCase): # https://github.com/jacquev6/PyGithub/issues/87 - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("PyGithub") - - def testCreateIssueWithPercentInTitle(self): - issue = self.repo.create_issue("Issue with percent % in title created by PyGithub") - self.assertEqual(issue.number, 99) - - def testCreateIssueWithPercentInBody(self): - issue = self.repo.create_issue("Issue created by PyGithub", "Percent % in body") - self.assertEqual(issue.number, 98) - - def testCreateIssueWithEscapedPercentInTitle(self): - issue = self.repo.create_issue("Issue with escaped percent %25 in title created by PyGithub") - self.assertEqual(issue.number, 97) - - def testCreateIssueWithEscapedPercentInBody(self): - issue = self.repo.create_issue("Issue created by PyGithub", "Escaped percent %25 in body") - self.assertEqual(issue.number, 96) diff --git a/github/tests/IssueComment.py b/github/tests/IssueComment.py deleted file mode 100644 index 1e2dae7..0000000 --- a/github/tests/IssueComment.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class IssueComment(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.comment = self.g.get_user().get_repo("PyGithub").get_issue(28).get_comment(5808311) - - def testAttributes(self): - self.assertEqual(self.comment.body, "Comment created by PyGithub") - self.assertEqual(self.comment.created_at, datetime.datetime(2012, 5, 20, 11, 46, 42)) - self.assertEqual(self.comment.id, 5808311) - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 20, 11, 46, 42)) - self.assertEqual(self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311") - self.assertEqual(self.comment.user.login, "jacquev6") - self.assertEqual(self.comment.html_url, "https://github.com/jacquev6/PyGithub/issues/28#issuecomment-5808311") - - # test __repr__() based on this attributes - self.assertEqual(self.comment.__repr__(), 'IssueComment(user=NamedUser(login="jacquev6"), id=5808311)') - - def testEdit(self): - self.comment.edit("Comment edited by PyGithub") - self.assertEqual(self.comment.body, "Comment edited by PyGithub") - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 20, 11, 53, 59)) - - def testDelete(self): - self.comment.delete() diff --git a/github/tests/IssueEvent.py b/github/tests/IssueEvent.py deleted file mode 100644 index 5a6c72e..0000000 --- a/github/tests/IssueEvent.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class IssueEvent(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.event = self.g.get_user().get_repo("PyGithub").get_issues_event(16348656) - - def testAttributes(self): - self.assertEqual(self.event.actor.login, "jacquev6") - self.assertEqual(self.event.commit_id, "ed866fc43833802ab553e5ff8581c81bb00dd433") - self.assertEqual(self.event.created_at, datetime.datetime(2012, 5, 27, 7, 29, 25)) - self.assertEqual(self.event.event, "referenced") - self.assertEqual(self.event.id, 16348656) - self.assertEqual(self.event.issue.number, 30) - self.assertEqual(self.event.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656") - - # test __repr__() based on this attributes - self.assertEqual(self.event.__repr__(), 'IssueEvent(id=16348656)') \ No newline at end of file diff --git a/github/tests/Label.py b/github/tests/Label.py deleted file mode 100644 index 09fe1a9..0000000 --- a/github/tests/Label.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Label(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.label = self.g.get_user().get_repo("PyGithub").get_label("Bug") - - def testAttributes(self): - self.assertEqual(self.label.color, "e10c02") - self.assertEqual(self.label.name, "Bug") - self.assertEqual(self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Bug") - - # test __repr__() based on this attributes - self.assertEqual(self.label.__repr__(), 'Label(name="Bug")') - - def testEdit(self): - self.label.edit("LabelEditedByPyGithub", "0000ff") - self.assertEqual(self.label.color, "0000ff") - self.assertEqual(self.label.name, "LabelEditedByPyGithub") - self.assertEqual(self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub") - - def testDelete(self): - self.label.delete() diff --git a/github/tests/Logging_.py b/github/tests/Logging_.py deleted file mode 100644 index 769fdc7..0000000 --- a/github/tests/Logging_.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import logging -import sys - -import github - -import Framework - -atMostPython32 = sys.hexversion < 0x03030000 - - -class Logging(Framework.BasicTestCase): - class MockHandler: - def __init__(self): - self.level = logging.DEBUG - self.handled = None - - def handle(self, record): - self.handled = record.getMessage() - - def setUp(self): - Framework.BasicTestCase.setUp(self) - logger = logging.getLogger("github") - logger.setLevel(logging.DEBUG) - self.__handler = self.MockHandler() - logger.addHandler(self.__handler) - - def testLoggingWithBasicAuthentication(self): - self.assertEqual(github.Github(self.login, self.password).get_user().name, "Vincent Jacques") - # In Python 3.3, dicts are not output in the same order as in Python 2.5 -> 3.2. - # So, logging is not deterministic and we cannot test it. - if atMostPython32: - self.assertEqual(self.__handler.handled, 'GET https://api.github.com/user {\'Authorization\': \'Basic (login and password removed)\', \'User-Agent\': \'PyGithub/Python\'} null ==> 200 {\'status\': \'200 OK\', \'content-length\': \'806\', \'x-github-media-type\': \'github.beta; format=json\', \'x-content-type-options\': \'nosniff\', \'vary\': \'Accept, Authorization, Cookie\', \'x-ratelimit-remaining\': \'4993\', \'server\': \'nginx\', \'last-modified\': \'Fri, 14 Sep 2012 18:47:46 GMT\', \'connection\': \'keep-alive\', \'x-ratelimit-limit\': \'5000\', \'etag\': \'"434dfe5d3f50558fe3cea087cb95c401"\', \'cache-control\': \'private, s-maxage=60, max-age=60\', \'date\': \'Mon, 17 Sep 2012 17:12:32 GMT\', \'content-type\': \'application/json; charset=utf-8\'} {"owned_private_repos":3,"disk_usage":18612,"following":28,"type":"User","public_repos":13,"location":"Paris, France","company":"Criteo","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","plan":{"space":614400,"private_repos":5,"name":"micro","collaborators":1},"blog":"http://vincent-jacques.net","login":"jacquev6","public_gists":3,"html_url":"https://github.com/jacquev6","hireable":false,"created_at":"2010-07-09T06:10:06Z","private_gists":5,"followers":13,"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","bio":"","total_private_repos":3,"collaborators":0,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"}') - - def testLoggingWithOAuthAuthentication(self): - self.assertEqual(github.Github(self.oauth_token).get_user().name, "Vincent Jacques") - if atMostPython32: - self.assertEqual(self.__handler.handled, 'GET https://api.github.com/user {\'Authorization\': \'token (oauth token removed)\', \'User-Agent\': \'PyGithub/Python\'} null ==> 200 {\'status\': \'200 OK\', \'x-ratelimit-remaining\': \'4993\', \'x-github-media-type\': \'github.beta; format=json\', \'x-content-type-options\': \'nosniff\', \'vary\': \'Accept, Authorization, Cookie\', \'content-length\': \'628\', \'server\': \'nginx\', \'last-modified\': \'Tue, 25 Sep 2012 07:42:42 GMT\', \'connection\': \'keep-alive\', \'x-ratelimit-limit\': \'5000\', \'etag\': \'"c23ad6b5815fc3d6ec6341c4a47afe85"\', \'cache-control\': \'private, max-age=60, s-maxage=60\', \'date\': \'Tue, 25 Sep 2012 20:36:54 GMT\', \'x-oauth-scopes\': \'\', \'content-type\': \'application/json; charset=utf-8\', \'x-accepted-oauth-scopes\': \'user\'} {"type":"User","bio":"","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","blog":"http://vincent-jacques.net","public_repos":13,"created_at":"2010-07-09T06:10:06Z","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","email":"vincent@vincent-jacques.net","following":29,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","hireable":false,"id":327146,"public_gists":3,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"}') - - def testLoggingWithoutAuthentication(self): - self.assertEqual(github.Github().get_user("jacquev6").name, "Vincent Jacques") - if atMostPython32: - self.assertEqual(self.__handler.handled, 'GET https://api.github.com/users/jacquev6 {\'User-Agent\': \'PyGithub/Python\'} null ==> 200 {\'status\': \'200 OK\', \'content-length\': \'628\', \'x-github-media-type\': \'github.beta; format=json\', \'x-content-type-options\': \'nosniff\', \'vary\': \'Accept\', \'x-ratelimit-remaining\': \'4989\', \'server\': \'nginx\', \'last-modified\': \'Tue, 25 Sep 2012 07:42:42 GMT\', \'connection\': \'keep-alive\', \'x-ratelimit-limit\': \'5000\', \'etag\': \'"9bd085221a16b6d2ea95e72634c3c1ac"\', \'cache-control\': \'public, max-age=60, s-maxage=60\', \'date\': \'Tue, 25 Sep 2012 20:38:56 GMT\', \'content-type\': \'application/json; charset=utf-8\'} {"type":"User","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","created_at":"2010-07-09T06:10:06Z","email":"vincent@vincent-jacques.net","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_gists":3,"bio":"","following":29,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"public_repos":13,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"}') - - def testLoggingWithBaseUrl(self): - # ReplayData forged, not recorded - self.assertEqual(github.Github(base_url="http://my.enterprise.com/my/prefix").get_user("jacquev6").name, "Vincent Jacques") - if atMostPython32: - self.assertEqual(self.__handler.handled, 'GET http://my.enterprise.com/my/prefix/users/jacquev6 {\'User-Agent\': \'PyGithub/Python\'} null ==> 200 {\'status\': \'200 OK\', \'content-length\': \'628\', \'x-github-media-type\': \'github.beta; format=json\', \'x-content-type-options\': \'nosniff\', \'vary\': \'Accept\', \'x-ratelimit-remaining\': \'4989\', \'server\': \'nginx\', \'last-modified\': \'Tue, 25 Sep 2012 07:42:42 GMT\', \'connection\': \'keep-alive\', \'x-ratelimit-limit\': \'5000\', \'etag\': \'"9bd085221a16b6d2ea95e72634c3c1ac"\', \'cache-control\': \'public, max-age=60, s-maxage=60\', \'date\': \'Tue, 25 Sep 2012 20:38:56 GMT\', \'content-type\': \'application/json; charset=utf-8\'} {"type":"User","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","created_at":"2010-07-09T06:10:06Z","email":"vincent@vincent-jacques.net","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_gists":3,"bio":"","following":29,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"public_repos":13,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"}') diff --git a/github/tests/Markdown.py b/github/tests/Markdown.py deleted file mode 100644 index 631ed81..0000000 --- a/github/tests/Markdown.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Markdown(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.text = "MyTitle\n=======\n\nIssue #1" - self.repo = self.g.get_user().get_repo("PyGithub") - - def testRenderMarkdown(self): - self.assertEqual(self.g.render_markdown(self.text), '

MyTitle

Issue #1

') - - def testRenderGithubFlavoredMarkdown(self): - self.assertEqual(self.g.render_markdown(self.text, self.repo), '

MyTitle

Issue #1

') diff --git a/github/tests/Milestone.py b/github/tests/Milestone.py deleted file mode 100644 index 136c129..0000000 --- a/github/tests/Milestone.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Milestone(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.milestone = self.g.get_user().get_repo("PyGithub").get_milestone(1) - - def testAttributes(self): - self.assertEqual(self.milestone.closed_issues, 2) - self.assertEqual(self.milestone.created_at, datetime.datetime(2012, 3, 8, 12, 22, 10)) - self.assertEqual(self.milestone.description, "") - self.assertEqual(self.milestone.due_on, datetime.datetime(2012, 3, 13, 7, 0, 0)) - self.assertEqual(self.milestone.id, 93546) - self.assertEqual(self.milestone.number, 1) - self.assertEqual(self.milestone.open_issues, 0) - self.assertEqual(self.milestone.state, "closed") - self.assertEqual(self.milestone.title, "Version 0.4") - self.assertEqual(self.milestone.url, "https://api.github.com/repos/jacquev6/PyGithub/milestones/1") - self.assertEqual(self.milestone.creator.login, "jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.milestone.__repr__(), 'Milestone(number=1)') - - def testEditWithMinimalParameters(self): - self.milestone.edit("Title edited by PyGithub") - self.assertEqual(self.milestone.title, "Title edited by PyGithub") - - def testEditWithAllParameters(self): - self.milestone.edit("Title edited twice by PyGithub", "closed", "Description edited by PyGithub", due_on=datetime.date(2012, 6, 16)) - self.assertEqual(self.milestone.title, "Title edited twice by PyGithub") - self.assertEqual(self.milestone.state, "closed") - self.assertEqual(self.milestone.description, "Description edited by PyGithub") - self.assertEqual(self.milestone.due_on, datetime.datetime(2012, 6, 16, 7, 0, 0)) - - def testGetLabels(self): - self.assertListKeyEqual(self.milestone.get_labels(), lambda l: l.name, ["Public interface", "Project management"]) - - def testDelete(self): - self.milestone.delete() diff --git a/github/tests/NamedUser.py b/github/tests/NamedUser.py deleted file mode 100644 index 203921a..0000000 --- a/github/tests/NamedUser.py +++ /dev/null @@ -1,150 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class NamedUser(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user("jacquev6") - - def testAttributesOfOtherUser(self): - self.user = self.g.get_user("nvie") - self.assertEqual(self.user.avatar_url, "https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png") - self.assertEqual(self.user.bio, None) - self.assertEqual(self.user.blog, "http://nvie.com") - self.assertEqual(self.user.collaborators, None) - self.assertEqual(self.user.company, "3rd Cloud") - self.assertEqual(self.user.created_at, datetime.datetime(2009, 5, 12, 21, 19, 38)) - self.assertEqual(self.user.disk_usage, None) - self.assertEqual(self.user.email, "vincent@3rdcloud.com") - self.assertEqual(self.user.followers, 296) - self.assertEqual(self.user.following, 41) - self.assertEqual(self.user.gravatar_id, "c5a7f21b46df698f3db31c37ed0cf55a") - self.assertFalse(self.user.hireable) - self.assertEqual(self.user.html_url, "https://github.com/nvie") - self.assertEqual(self.user.id, 83844) - self.assertEqual(self.user.location, "Netherlands") - self.assertEqual(self.user.login, "nvie") - self.assertEqual(self.user.name, "Vincent Driessen") - self.assertEqual(self.user.owned_private_repos, None) - self.assertEqual(self.user.plan, None) - self.assertEqual(self.user.private_gists, None) - self.assertEqual(self.user.public_gists, 16) - self.assertEqual(self.user.public_repos, 61) - self.assertEqual(self.user.total_private_repos, None) - self.assertEqual(self.user.type, "User") - self.assertEqual(self.user.url, "https://api.github.com/users/nvie") - - # test __repr__() based on this attributes - self.assertEqual(self.user.__repr__(), 'NamedUser(login="nvie")') - - - def testAttributesOfSelf(self): - self.assertEqual(self.user.avatar_url, "https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png") - self.assertEqual(self.user.bio, "") - self.assertEqual(self.user.blog, "http://vincent-jacques.net") - self.assertEqual(self.user.collaborators, 0) - self.assertEqual(self.user.company, "Criteo") - self.assertEqual(self.user.created_at, datetime.datetime(2010, 7, 9, 6, 10, 6)) - self.assertEqual(self.user.disk_usage, 17080) - self.assertEqual(self.user.email, "vincent@vincent-jacques.net") - self.assertEqual(self.user.followers, 13) - self.assertEqual(self.user.following, 24) - self.assertEqual(self.user.gravatar_id, "b68de5ae38616c296fa345d2b9df2225") - self.assertFalse(self.user.hireable) - self.assertEqual(self.user.html_url, "https://github.com/jacquev6") - self.assertEqual(self.user.id, 327146) - self.assertEqual(self.user.location, "Paris, France") - self.assertEqual(self.user.login, "jacquev6") - self.assertEqual(self.user.name, "Vincent Jacques") - self.assertEqual(self.user.owned_private_repos, 5) - self.assertEqual(self.user.plan.name, "micro") - self.assertEqual(self.user.plan.collaborators, 1) - self.assertEqual(self.user.plan.space, 614400) - self.assertEqual(self.user.plan.private_repos, 5) - self.assertEqual(self.user.private_gists, 5) - self.assertEqual(self.user.public_gists, 2) - self.assertEqual(self.user.public_repos, 11) - self.assertEqual(self.user.total_private_repos, 5) - self.assertEqual(self.user.type, "User") - self.assertEqual(self.user.url, "https://api.github.com/users/jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.user.__repr__(), 'NamedUser(login="jacquev6")') - - def testGetGists(self): - self.assertListKeyEqual(self.user.get_gists(), lambda g: g.description, ["Gist created by PyGithub", "FairThreadPoolPool.cpp", "How to error 500 Github API v3, as requested by Rick (GitHub Staff)", "Cadfael: order of episodes in French DVD edition"]) - - def testGetFollowers(self): - self.assertListKeyEqual(self.user.get_followers(), lambda f: f.login, ["jnorthrup", "brugidou", "regisb", "walidk", "afzalkhan", "sdanzan", "vineus", "gturri", "fjardon", "cjuniet", "jardon-u", "kamaradclimber", "L42y"]) - - def testGetFollowing(self): - self.assertListKeyEqual(self.user.get_following(), lambda f: f.login, ["nvie", "schacon", "jamis", "chad", "unclebob", "dabrahams", "jnorthrup", "brugidou", "regisb", "walidk", "tanzilli", "fjardon", "r3c", "sdanzan", "vineus", "cjuniet", "gturri", "ant9000", "asquini", "claudyus", "jardon-u", "s-bernard", "kamaradclimber", "Lyloa"]) - - def testHasInFollowing(self): - nvie = self.g.get_user("nvie") - self.assertTrue(self.user.has_in_following(nvie)) - - def testGetOrgs(self): - self.assertListKeyEqual(self.user.get_orgs(), lambda o: o.login, ["BeaverSoftware"]) - - def testGetRepo(self): - self.assertEqual(self.user.get_repo("PyGithub").description, "Python library implementing the full Github API v3") - - def testGetRepos(self): - self.assertListKeyEqual(self.user.get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - - def testGetReposWithType(self): - self.assertListKeyEqual(self.user.get_repos("owner"), lambda r: r.name, ["django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"]) - - def testGetWatched(self): - self.assertListKeyEqual(self.user.get_watched(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub"]) - - def testGetStarred(self): - self.assertListKeyEqual(self.user.get_starred(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "amaunet", "django", "django", "moviePlanning", "folly"]) - - def testGetSubscriptions(self): - self.assertListKeyEqual(self.user.get_subscriptions(), lambda r: r.name, ["ViDE", "Boost.HierarchicalEnum", "QuadProgMm", "DrawSyntax", "DrawTurksHead", "PrivateStuff", "vincent-jacques.net", "Hacking", "C4Planner", "developer.github.com", "PyGithub", "PyGithub", "django", "CinePlanning", "PyGithub", "PyGithub", "PyGithub", "IpMap", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub"]) - - def testGetEvents(self): - self.assertListKeyBegin(self.user.get_events(), lambda e: e.type, ["GistEvent", "IssueCommentEvent", "PushEvent", "IssuesEvent"]) - - def testGetPublicEvents(self): - self.assertListKeyBegin(self.user.get_public_events(), lambda e: e.type, ["PushEvent", "CreateEvent", "GistEvent", "IssuesEvent"]) - - def testGetPublicReceivedEvents(self): - self.assertListKeyBegin(self.user.get_public_received_events(), lambda e: e.type, ["IssueCommentEvent", "IssueCommentEvent", "IssueCommentEvent", "IssueCommentEvent"]) - - def testGetReceivedEvents(self): - self.assertListKeyBegin(self.user.get_received_events(), lambda e: e.type, ["IssueCommentEvent", "IssueCommentEvent", "IssueCommentEvent", "IssueCommentEvent"]) - - def testGetKeys(self): - self.assertListKeyEqual(self.user.get_keys(), lambda k: k.id, [3557894, 3791954, 3937333, 4051357, 4051492]) diff --git a/github/tests/Organization.py b/github/tests/Organization.py deleted file mode 100644 index aa7c76e..0000000 --- a/github/tests/Organization.py +++ /dev/null @@ -1,145 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class Organization(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.org = self.g.get_organization("BeaverSoftware") - - def testAttributes(self): - self.assertEqual(self.org.avatar_url, "https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png") - self.assertEqual(self.org.billing_email, "BeaverSoftware@vincent-jacques.net") - self.assertEqual(self.org.blog, None) - self.assertEqual(self.org.collaborators, 0) - self.assertEqual(self.org.company, None) - self.assertEqual(self.org.created_at, datetime.datetime(2012, 2, 9, 19, 20, 12)) - self.assertEqual(self.org.disk_usage, 112) - self.assertEqual(self.org.email, None) - self.assertEqual(self.org.followers, 0) - self.assertEqual(self.org.following, 0) - self.assertEqual(self.org.gravatar_id, None) - self.assertEqual(self.org.html_url, "https://github.com/BeaverSoftware") - self.assertEqual(self.org.id, 1424031) - self.assertEqual(self.org.location, "Paris, France") - self.assertEqual(self.org.login, "BeaverSoftware") - self.assertEqual(self.org.name, None) - self.assertEqual(self.org.owned_private_repos, 0) - self.assertEqual(self.org.plan.name, "free") - self.assertEqual(self.org.plan.private_repos, 0) - self.assertEqual(self.org.plan.space, 307200) - self.assertEqual(self.org.private_gists, 0) - self.assertEqual(self.org.public_gists, 0) - self.assertEqual(self.org.public_repos, 2) - self.assertEqual(self.org.total_private_repos, 0) - self.assertEqual(self.org.type, "Organization") - self.assertEqual(self.org.url, "https://api.github.com/orgs/BeaverSoftware") - - # test __repr__() based on this attributes - self.assertEqual(self.org.__repr__(), 'Organization(name=None, id=1424031)') - - def testEditWithoutArguments(self): - self.org.edit() - - def testEditWithAllArguments(self): - self.org.edit("BeaverSoftware2@vincent-jacques.net", "http://vincent-jacques.net", "Company edited by PyGithub", "BeaverSoftware2@vincent-jacques.net", "Location edited by PyGithub", "Name edited by PyGithub") - self.assertEqual(self.org.billing_email, "BeaverSoftware2@vincent-jacques.net") - self.assertEqual(self.org.blog, "http://vincent-jacques.net") - self.assertEqual(self.org.company, "Company edited by PyGithub") - self.assertEqual(self.org.email, "BeaverSoftware2@vincent-jacques.net") - self.assertEqual(self.org.location, "Location edited by PyGithub") - self.assertEqual(self.org.name, "Name edited by PyGithub") - - def testCreateTeam(self): - team = self.org.create_team("Team created by PyGithub") - self.assertEqual(team.id, 189850) - - def testCreateTeamWithAllArguments(self): - repo = self.org.get_repo("FatherBeaver") - team = self.org.create_team("Team also created by PyGithub", [repo], "push") - self.assertEqual(team.id, 189852) - - def testPublicMembers(self): - lyloa = self.g.get_user("Lyloa") - self.assertFalse(self.org.has_in_public_members(lyloa)) - self.org.add_to_public_members(lyloa) - self.assertTrue(self.org.has_in_public_members(lyloa)) - self.org.remove_from_public_members(lyloa) - self.assertFalse(self.org.has_in_public_members(lyloa)) - - def testGetPublicMembers(self): - self.assertListKeyEqual(self.org.get_public_members(), lambda u: u.login, ["jacquev6"]) - - def testGetIssues(self): - self.assertListKeyEqual(self.org.get_issues(), lambda i: i.id, []) - - def testGetIssuesWithAllArguments(self): - requestedByUser = self.g.get_user().get_repo("PyGithub").get_label("Requested by user") - issues = self.org.get_issues("assigned", "closed", [requestedByUser], "comments", "asc", datetime.datetime(2012, 5, 28, 23, 0, 0)) - self.assertListKeyEqual(issues, lambda i: i.id, []) - - def testGetMembers(self): - self.assertListKeyEqual(self.org.get_members(), lambda u: u.login, ["cjuniet", "jacquev6", "Lyloa"]) - - def testMembers(self): - lyloa = self.g.get_user("Lyloa") - self.assertTrue(self.org.has_in_members(lyloa)) - self.org.remove_from_members(lyloa) - self.assertFalse(self.org.has_in_members(lyloa)) - - def testGetRepos(self): - self.assertListKeyEqual(self.org.get_repos(), lambda r: r.name, ["FatherBeaver", "TestPyGithub"]) - - def testGetReposWithType(self): - self.assertListKeyEqual(self.org.get_repos("public"), lambda r: r.name, ["FatherBeaver", "PyGithub"]) - - def testGetEvents(self): - self.assertListKeyEqual(self.org.get_events(), lambda e: e.type, ["CreateEvent", "CreateEvent", "PushEvent", "PushEvent", "DeleteEvent", "DeleteEvent", "PushEvent", "PushEvent", "DeleteEvent", "DeleteEvent", "PushEvent", "PushEvent", "PushEvent", "CreateEvent", "CreateEvent", "CreateEvent", "CreateEvent", "CreateEvent", "PushEvent", "PushEvent", "PushEvent", "PushEvent", "PushEvent", "PushEvent", "ForkEvent", "CreateEvent"]) - - def testGetTeams(self): - self.assertListKeyEqual(self.org.get_teams(), lambda t: t.name, ["Members", "Owners"]) - - def testCreateRepoWithMinimalArguments(self): - repo = self.org.create_repo("TestPyGithub") - self.assertEqual(repo.url, "https://api.github.com/repos/BeaverSoftware/TestPyGithub") - - def testCreateRepoWithAllArguments(self): - team = self.org.get_team(141496) - repo = self.org.create_repo("TestPyGithub2", "Repo created by PyGithub", "http://foobar.com", False, False, False, False, team) - self.assertEqual(repo.url, "https://api.github.com/repos/BeaverSoftware/TestPyGithub2") - - def testCreateRepositoryWithAutoInit(self): - repo = self.org.create_repo("TestPyGithub", auto_init=True, gitignore_template="Python") - self.assertEqual(repo.url, "https://api.github.com/repos/BeaverSoftware/TestPyGithub") - - def testCreateFork(self): - pygithub = self.g.get_user("jacquev6").get_repo("PyGithub") - repo = self.org.create_fork(pygithub) - self.assertEqual(repo.url, "https://api.github.com/repos/BeaverSoftware/PyGithub") diff --git a/github/tests/OrganizationHasInMembers.py b/github/tests/OrganizationHasInMembers.py deleted file mode 100644 index 595c13a..0000000 --- a/github/tests/OrganizationHasInMembers.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# Copyright 2016 Sam Corbett # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class OrganizationHasInMembers(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user("meneal") - self.org = self.g.get_organization("RobotWithFeelings") - self.has_in_members = self.org.has_in_members(self.user) - - def testHasInMembers(self): - self.assertTrue(self.has_in_members) diff --git a/github/tests/PaginatedList.py b/github/tests/PaginatedList.py deleted file mode 100644 index dbe0eca..0000000 --- a/github/tests/PaginatedList.py +++ /dev/null @@ -1,155 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# Copyright 2013 davidbrai # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -from github.PaginatedList import PaginatedList as PaginatedListImpl - - -class PaginatedList(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user("openframeworks").get_repo("openFrameworks") - self.list = self.repo.get_issues() - - def testIteration(self): - self.assertEqual(len(list(self.list)), 333) - - def testSeveralIterations(self): - self.assertEqual(len(list(self.list)), 333) - self.assertEqual(len(list(self.list)), 333) - self.assertEqual(len(list(self.list)), 333) - self.assertEqual(len(list(self.list)), 333) - - def testIntIndexingInFirstPage(self): - self.assertEqual(self.list[0].id, 4772349) - self.assertEqual(self.list[24].id, 4286936) - - def testReversedIterationWithSinglePage(self): - r = self.list.reversed - self.assertEqual(r[0].id, 4286936) - self.assertEqual(r[1].id, 4317009) - - def testReversedIterationWithMultiplePages(self): - r = self.list.reversed - self.assertEqual(r[0].id, 94898) - self.assertEqual(r[1].id, 104702) - self.assertEqual(r[13].id, 166211) - self.assertEqual(r[14].id, 166212) - self.assertEqual(r[15].id, 166214) - - def testReversedIterationSupportsIterator(self): - r = self.list.reversed - for i in r: - self.assertEqual(i.id, 4286936) - return - self.fail("empty iterator") - - def testGettingTheReversedListDoesNotModifyTheOriginalList(self): - self.assertEqual(self.list[0].id, 18345408) - self.assertEqual(self.list[30].id, 17916118) - r = self.list.reversed - self.assertEqual(self.list[0].id, 18345408) - self.assertEqual(self.list[30].id, 17916118) - self.assertEqual(r[0].id, 132373) - self.assertEqual(r[30].id, 543694) - - def testIntIndexingInThirdPage(self): - self.assertEqual(self.list[50].id, 3911629) - self.assertEqual(self.list[74].id, 3605277) - - def testGetFirstPage(self): - self.assertListKeyEqual(self.list.get_page(0), lambda i: i.id, [4772349, 4767675, 4758608, 4700182, 4662873, 4608132, 4604661, 4588997, 4557803, 4554058, 4539985, 4507572, 4507492, 4507416, 4447561, 4406584, 4384548, 4383465, 4373361, 4373201, 4370619, 4356530, 4352401, 4317009, 4286936]) - - def testGetThirdPage(self): - self.assertListKeyEqual(self.list.get_page(2), lambda i: i.id, [3911629, 3911537, 3910580, 3910555, 3910549, 3897090, 3883598, 3856005, 3850655, 3825582, 3813852, 3812318, 3812275, 3807459, 3799872, 3799653, 3795495, 3754055, 3710293, 3662214, 3647640, 3631618, 3627067, 3614231, 3605277]) - - def testIntIndexingAfterIteration(self): - self.assertEqual(len(list(self.list)), 333) - self.assertEqual(self.list[11].id, 4507572) - self.assertEqual(self.list[73].id, 3614231) - self.assertEqual(self.list[332].id, 94898) - - def testSliceIndexingInFirstPage(self): - self.assertListKeyEqual(self.list[:13], lambda i: i.id, [4772349, 4767675, 4758608, 4700182, 4662873, 4608132, 4604661, 4588997, 4557803, 4554058, 4539985, 4507572, 4507492]) - self.assertListKeyEqual(self.list[:13:3], lambda i: i.id, [4772349, 4700182, 4604661, 4554058, 4507492]) - self.assertListKeyEqual(self.list[10:13], lambda i: i.id, [4539985, 4507572, 4507492]) - self.assertListKeyEqual(self.list[5:13:3], lambda i: i.id, [4608132, 4557803, 4507572]) - - def testSliceIndexingUntilFourthPage(self): - self.assertListKeyEqual(self.list[:99:10], lambda i: i.id, [4772349, 4539985, 4370619, 4207350, 4063366, 3911629, 3813852, 3647640, 3528378, 3438233]) - self.assertListKeyEqual(self.list[73:78], lambda i: i.id, [3614231, 3605277, 3596240, 3594731, 3593619]) - self.assertListKeyEqual(self.list[70:80:2], lambda i: i.id, [3647640, 3627067, 3605277, 3594731, 3593430]) - - def testSliceIndexingUntilEnd(self): - self.assertListKeyEqual(self.list[310::3], lambda i: i.id, [268332, 204247, 169176, 166211, 165898, 163959, 132373, 104702]) - self.assertListKeyEqual(self.list[310:], lambda i: i.id, [268332, 211418, 205935, 204247, 172424, 171615, 169176, 166214, 166212, 166211, 166209, 166208, 165898, 165537, 165409, 163959, 132671, 132377, 132373, 130269, 111018, 104702, 94898]) - - def testInterruptedIteration(self): - # No asserts, but checks that only three pages are fetched - l = 0 - for element in self.list: # pragma no branch (exits only by break) - l += 1 - if l == 75: - break - - def testInterruptedIterationInSlice(self): - # No asserts, but checks that only three pages are fetched - l = 0 - for element in self.list[:100]: # pragma no branch (exits only by break) - l += 1 - if l == 75: - break - - def testCustomPerPage(self): - self.assertEqual(self.g.per_page, 30) - self.g.per_page = 100 - self.assertEqual(self.g.per_page, 100) - self.assertEqual(len(list(self.repo.get_issues())), 456) - - def testCustomPerPageWithNoUrlParams(self): - import CommitComment # Don't polute github.tests namespace, it would conflict with github.tests.CommitComment - self.g.per_page = 100 - paginated_list = PaginatedListImpl( - CommitComment.CommitComment, - self.repo._requester, - self.repo.url + "/comments", - None - ) - - def testCustomPerPageWithNoUrlParams2(self): - # This test is redountant and less unitary than testCustomPerPageWithNoUrlParams - # but I hope it will be more robust if we refactor PaginatedList, - # because testCustomPerPageWithNoUrlParams only tests the constructor - self.g.per_page = 100 - self.assertEqual(len(list(self.repo.get_comments())), 325) - - def testCustomPerPageWithGetPage(self): - self.g.per_page = 100 - self.assertEqual(len(self.repo.get_issues().get_page(2)), 100) - - def testNoFirstPage(self): - self.assertFalse(next(iter(self.list), None)) diff --git a/github/tests/Persistence.py b/github/tests/Persistence.py deleted file mode 100644 index 94f4b5a..0000000 --- a/github/tests/Persistence.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import github - -if Framework.atLeastPython26: - from io import BytesIO as IO -else: - from StringIO import StringIO as IO - - -class Persistence(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("akfish/PyGithub") - - self.dumpedRepo = IO() - self.g.dump(self.repo, self.dumpedRepo) - self.dumpedRepo.seek(0) - - def tearDown(self): - self.dumpedRepo.close() - - def testLoad(self): - loadedRepo = self.g.load(self.dumpedRepo) - self.assertTrue(isinstance(loadedRepo, github.Repository.Repository)) - self.assertTrue(loadedRepo._requester is self.repo._requester) - self.assertTrue(loadedRepo.owner._requester is self.repo._requester) - self.assertEqual(loadedRepo.name, "PyGithub") - self.assertEqual(loadedRepo.url, "https://api.github.com/repos/akfish/PyGithub") - - def testLoadAndUpdate(self): - loadedRepo = self.g.load(self.dumpedRepo) - self.assertTrue(loadedRepo.update()) diff --git a/github/tests/PullRequest.py b/github/tests/PullRequest.py deleted file mode 100644 index bf36086..0000000 --- a/github/tests/PullRequest.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class PullRequest(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_user().get_repo("PyGithub") - self.pull = self.repo.get_pull(31) - - def testAttributes(self): - self.assertEqual(self.pull.additions, 511) - self.assertEqual(self.pull.assignee.login, "jacquev6") - self.assertListKeyEqual(self.pull.assignees, lambda a: a.login, ["stuglaser", "jacquev6"]) - self.assertEqual(self.pull.base.label, "jacquev6:topic/RewriteWithGeneratedCode") - self.assertEqual(self.pull.base.sha, "ed866fc43833802ab553e5ff8581c81bb00dd433") - self.assertEqual(self.pull.base.user.login, "jacquev6") - self.assertEqual(self.pull.base.ref, "topic/RewriteWithGeneratedCode") - self.assertEqual(self.pull.base.repo.full_name, "jacquev6/PyGithub") - self.assertEqual(self.pull.body, "Body edited by PyGithub") - self.assertEqual(self.pull.changed_files, 45) - self.assertEqual(self.pull.closed_at, datetime.datetime(2012, 5, 27, 10, 29, 7)) - self.assertEqual(self.pull.comments, 1) - self.assertEqual(self.pull.commits, 3) - self.assertEqual(self.pull.created_at, datetime.datetime(2012, 5, 27, 9, 25, 36)) - self.assertEqual(self.pull.deletions, 384) - self.assertEqual(self.pull.diff_url, "https://github.com/jacquev6/PyGithub/pull/31.diff") - self.assertEqual(self.pull.head.label, "BeaverSoftware:master") - self.assertEqual(self.pull.html_url, "https://github.com/jacquev6/PyGithub/pull/31") - self.assertEqual(self.pull.id, 1436215) - self.assertEqual(self.pull.issue_url, "https://github.com/jacquev6/PyGithub/issues/31") - self.assertFalse(self.pull.mergeable) - self.assertTrue(self.pull.merged) - self.assertEqual(self.pull.merged_at, datetime.datetime(2012, 5, 27, 10, 29, 7)) - self.assertEqual(self.pull.merged_by.login, "jacquev6") - self.assertEqual(self.pull.number, 31) - self.assertEqual(self.pull.patch_url, "https://github.com/jacquev6/PyGithub/pull/31.patch") - self.assertEqual(self.pull.review_comments, 1) - self.assertEqual(self.pull.state, "closed") - self.assertEqual(self.pull.title, "Title edited by PyGithub") - self.assertEqual(self.pull.updated_at, datetime.datetime(2012, 11, 3, 8, 19, 40)) - self.assertEqual(self.pull.url, "https://api.github.com/repos/jacquev6/PyGithub/pulls/31") - self.assertEqual(self.pull.user.login, "jacquev6") - - # test __repr__() based on this attributes - self.assertEqual(self.pull.__repr__(), 'PullRequest(title="Title edited by PyGithub", number=31)') - - def testCreateComment(self): - commit = self.repo.get_commit("8a4f306d4b223682dd19410d4a9150636ebe4206") - comment = self.pull.create_comment("Comment created by PyGithub", commit, "src/github/Issue.py", 5) - self.assertEqual(comment.id, 886298) - - def testGetComments(self): - self.assertListKeyEqual(self.pull.get_comments(), lambda c: c.id, [886298]) - - def testCreateIssueComment(self): - comment = self.pull.create_issue_comment("Issue comment created by PyGithub") - self.assertEqual(comment.id, 8387331) - - def testGetIssueComments(self): - self.assertListKeyEqual(self.pull.get_issue_comments(), lambda c: c.id, [8387331]) - - def testGetIssueComment(self): - comment = self.pull.get_issue_comment(8387331) - self.assertEqual(comment.body, "Issue comment created by PyGithub") - - def testEditWithoutArguments(self): - self.pull.edit() - - def testEditWithAllArguments(self): - self.pull.edit("Title edited by PyGithub", "Body edited by PyGithub", "open") - self.assertEqual(self.pull.title, "Title edited by PyGithub") - self.assertEqual(self.pull.body, "Body edited by PyGithub") - self.assertEqual(self.pull.state, "open") - - def testGetCommits(self): - self.assertListKeyEqual(self.pull.get_commits(), lambda c: c.sha, ["4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23", "93dcae5cf207de376c91d0599226e7c7563e1d16", "8a4f306d4b223682dd19410d4a9150636ebe4206"]) - - def testGetFiles(self): - self.assertListKeyEqual(self.pull.get_files(), lambda f: f.filename, ["codegen/templates/GithubObject.py", "src/github/AuthenticatedUser.py", "src/github/Authorization.py", "src/github/Branch.py", "src/github/Commit.py", "src/github/CommitComment.py", "src/github/CommitFile.py", "src/github/CommitStats.py", "src/github/Download.py", "src/github/Event.py", "src/github/Gist.py", "src/github/GistComment.py", "src/github/GistHistoryState.py", "src/github/GitAuthor.py", "src/github/GitBlob.py", "src/github/GitCommit.py", "src/github/GitObject.py", "src/github/GitRef.py", "src/github/GitTag.py", "src/github/GitTree.py", "src/github/GitTreeElement.py", "src/github/Hook.py", "src/github/Issue.py", "src/github/IssueComment.py", "src/github/IssueEvent.py", "src/github/Label.py", "src/github/Milestone.py", "src/github/NamedUser.py", "src/github/Organization.py", "src/github/Permissions.py", "src/github/Plan.py", "src/github/PullRequest.py", "src/github/PullRequestComment.py", "src/github/PullRequestFile.py", "src/github/Repository.py", "src/github/RepositoryKey.py", "src/github/Tag.py", "src/github/Team.py", "src/github/UserKey.py", "test/Issue.py", "test/IssueEvent.py", "test/ReplayData/Issue.testAddAndRemoveLabels.txt", "test/ReplayData/Issue.testDeleteAndSetLabels.txt", "test/ReplayData/Issue.testGetLabels.txt", "test/ReplayData/IssueEvent.setUp.txt"]) - - def testMerge(self): - self.assertFalse(self.pull.is_merged()) - status = self.pull.merge() - self.assertEqual(status.sha, "688208b1a5a074871d0e9376119556897439697d") - self.assertTrue(status.merged) - self.assertEqual(status.message, "Pull Request successfully merged") - self.assertTrue(self.pull.is_merged()) - - def testMergeWithCommitMessage(self): - self.g.get_user().get_repo("PyGithub").get_pull(39).merge("Custom commit message created by PyGithub") diff --git a/github/tests/PullRequestComment.py b/github/tests/PullRequestComment.py deleted file mode 100644 index bcdef2b..0000000 --- a/github/tests/PullRequestComment.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import datetime - - -class PullRequestComment(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.comment = self.g.get_user().get_repo("PyGithub").get_pull(31).get_comment(886298) - - def testAttributes(self): - self.assertEqual(self.comment.body, "Comment created by PyGithub") - self.assertEqual(self.comment.commit_id, "8a4f306d4b223682dd19410d4a9150636ebe4206") - self.assertEqual(self.comment.created_at, datetime.datetime(2012, 5, 27, 9, 40, 12)) - self.assertEqual(self.comment.id, 886298) - self.assertEqual(self.comment.original_commit_id, "8a4f306d4b223682dd19410d4a9150636ebe4206") - self.assertEqual(self.comment.original_position, 5) - self.assertEqual(self.comment.path, "src/github/Issue.py") - self.assertEqual(self.comment.position, 5) - self.assertEqual(self.comment.updated_at, datetime.datetime(2012, 5, 27, 9, 40, 12)) - self.assertEqual(self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298") - self.assertEqual(self.comment.user.login, "jacquev6") - self.assertEqual(self.comment.html_url, "https://github.com/jacquev6/PyGithub/pull/170#issuecomment-18637907") - - # test __repr__() based on this attributes - self.assertEqual(self.comment.__repr__(), 'PullRequestComment(user=NamedUser(login="jacquev6"), id=886298)') - - - def testEdit(self): - self.comment.edit("Comment edited by PyGithub") - self.assertEqual(self.comment.body, "Comment edited by PyGithub") - - def testDelete(self): - self.comment.delete() diff --git a/github/tests/PullRequestFile.py b/github/tests/PullRequestFile.py deleted file mode 100644 index 795333c..0000000 --- a/github/tests/PullRequestFile.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class PullRequestFile(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.file = self.g.get_user().get_repo("PyGithub").get_pull(31).get_files()[0] - - def testAttributes(self): - self.assertEqual(self.file.additions, 1) - self.assertEqual(self.file.blob_url, "https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py") - self.assertEqual(self.file.changes, 2) - self.assertEqual(self.file.deletions, 1) - self.assertEqual(self.file.filename, "codegen/templates/GithubObject.py") - self.assertEqual(self.file.patch, '@@ -70,7 +70,7 @@ def __useAttributes( self, attributes ):\n \n # @toto No need to check if attribute is in attributes when attribute is mandatory\n {% for attribute in class.attributes|dictsort:"name" %}\n- if "{{ attribute.name }}" in attributes and attributes[ "{{ attribute.name }}" ] is not None:\n+ if "{{ attribute.name }}" in attributes and attributes[ "{{ attribute.name }}" ] is not None: # pragma no branch\n \n {% if attribute.type.cardinality == "scalar" %}\n {% if attribute.type.simple %}') - self.assertEqual(self.file.raw_url, "https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py") - self.assertEqual(self.file.sha, "8a4f306d4b223682dd19410d4a9150636ebe4206") - self.assertEqual(self.file.status, "modified") - - # test __repr__() based on this attributes - self.assertEqual(self.file.__repr__(), 'File(sha="8a4f306d4b223682dd19410d4a9150636ebe4206", filename="codegen/templates/GithubObject.py")') diff --git a/github/tests/PullRequestReview.py b/github/tests/PullRequestReview.py deleted file mode 100644 index b6d374f..0000000 --- a/github/tests/PullRequestReview.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -class PullRequestReview(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("PyGithub/PyGithub") - self.pull = self.repo.get_pull(538) - - # Test ability to get all reviews - self.pullreviews = self.pull.get_reviews() - - # Test ability to get a single review - self.pullreview = self.pull.get_review(28482091) - - def testAttributes(self): - self.assertEqual(self.pullreview.id, 28482091) - self.assertEqual(self.pullreview.user.login, "jzelinskie") - self.assertEqual(self.pullreview.body, "") - self.assertEqual(self.pullreview.commit_id, "7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc") - self.assertEqual(self.pullreview.state, "APPROVED") - self.assertEqual(self.pullreview.html_url, "https://github.com/PyGithub/PyGithub/pull/538#pullrequestreview-28482091") - self.assertEqual(self.pullreview.pull_request_url, "https://api.github.com/repos/PyGithub/PyGithub/pulls/538") - - # test __repr__() based on this attributes - self.assertEqual(self.pullreview.__repr__(), 'PullRequestReview(user=NamedUser(login="jzelinskie"), id=28482091)') diff --git a/github/tests/PullRequestReviewerRequests.py b/github/tests/PullRequestReviewerRequests.py deleted file mode 100644 index e99e523..0000000 --- a/github/tests/PullRequestReviewerRequests.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -class PullRequestReviewerRequests(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.repo = self.g.get_repo("PyGithub/PyGithub") - self.pull = self.repo.get_pull(538) - - self.pullreviewerrequests = self.pull.get_reviewer_requests() - self.pullreviewerrequest = self.pullreviewerrequests[0] - - - def testAttributes(self): - - self.assertEqual(self.pullreviewerrequest.id, 2930472) - self.assertEqual(self.pullreviewerrequest.login, "jayfk") - - # test __repr__() based on this attributes - self.assertEqual(self.pullreviewerrequest.__repr__(), 'PullRequestReviewerRequest(login="jayfk", id=2930472)') - diff --git a/github/tests/RateLimiting.py b/github/tests/RateLimiting.py deleted file mode 100644 index 927655a..0000000 --- a/github/tests/RateLimiting.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Ed Jackson # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import datetime - -import Framework - - -class RateLimiting(Framework.TestCase): - def testRateLimiting(self): - self.assertEqual(self.g.rate_limiting, (5000, 5000)) - self.g.get_user("jacquev6") - self.assertEqual(self.g.rate_limiting, (4999, 5000)) - self.assertEqual(self.g.rate_limiting_resettime, 1375802816) - - def testResetTime(self): - self.assertEqual(self.g.rate_limiting_resettime, 1375802816) - - def testGetRateLimit(self): - rateLimit = self.g.get_rate_limit() - self.assertEqual(rateLimit.rate.limit, 5000) - self.assertEqual(rateLimit.rate.remaining, 5000) - self.assertEqual(rateLimit.rate.reset, datetime.datetime(2013, 9, 6, 10, 29, 57)) diff --git a/github/tests/RawData.py b/github/tests/RawData.py deleted file mode 100644 index 16dc728..0000000 --- a/github/tests/RawData.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github.NamedUser - - -class RawData(Framework.TestCase): - jacquev6RawData = { - 'disk_usage': 13812, - 'private_gists': 5, - 'public_repos': 21, - 'subscriptions_url': 'https://api.github.com/users/jacquev6/subscriptions', - 'gravatar_id': 'b68de5ae38616c296fa345d2b9df2225', - 'hireable': False, - 'id': 327146, - 'followers_url': 'https://api.github.com/users/jacquev6/followers', - 'following_url': 'https://api.github.com/users/jacquev6/following', - 'collaborators': 1, - 'total_private_repos': 4, - 'blog': 'http://vincent-jacques.net', - 'followers': 22, - 'location': 'Paris, France', - 'type': 'User', - 'email': 'vincent@vincent-jacques.net', - 'bio': '', - 'gists_url': 'https://api.github.com/users/jacquev6/gists{/gist_id}', - 'owned_private_repos': 4, - 'company': 'Criteo', - 'events_url': 'https://api.github.com/users/jacquev6/events{/privacy}', - 'html_url': 'https://github.com/jacquev6', - 'updated_at': '2013-03-12T22:13:32Z', - 'plan': { - 'collaborators': 1, - 'name': 'micro', - 'private_repos': 5, - 'space': 614400, - }, - 'received_events_url': 'https://api.github.com/users/jacquev6/received_events', - 'starred_url': 'https://api.github.com/users/jacquev6/starred{/owner}{/repo}', - 'public_gists': 2, - 'name': 'Vincent Jacques', - 'organizations_url': 'https://api.github.com/users/jacquev6/orgs', - 'url': 'https://api.github.com/users/jacquev6', - 'created_at': '2010-07-09T06:10:06Z', - 'avatar_url': 'https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png', - 'repos_url': 'https://api.github.com/users/jacquev6/repos', - 'following': 38, - 'login': 'jacquev6', - } - - planRawData = { - 'collaborators': 1, - 'name': 'micro', - 'private_repos': 5, - 'space': 614400, - } - - def testCompletedObject(self): - user = self.g.get_user("jacquev6") - self.assertTrue(user._CompletableGithubObject__completed) - self.assertEqual(user.raw_data, RawData.jacquev6RawData) - - def testNotYetCompletedObject(self): - user = self.g.get_user().get_repo("PyGithub").owner - self.assertFalse(user._CompletableGithubObject__completed) - self.assertEqual(user.raw_data, RawData.jacquev6RawData) - self.assertTrue(user._CompletableGithubObject__completed) - - def testNonCompletableObject(self): - plan = self.g.get_user().plan - self.assertEqual(plan.raw_data, RawData.planRawData) - - def testCreateObjectFromRawData(self): - user = self.g.create_from_raw_data(github.NamedUser.NamedUser, RawData.jacquev6RawData) - self.assertEqual(user._CompletableGithubObject__completed, True) - self.assertEqual(user.name, "Vincent Jacques") diff --git a/github/tests/ReplayData/AuthenticatedUser.testAcceptInvitation.txt b/github/tests/ReplayData/AuthenticatedUser.testAcceptInvitation.txt deleted file mode 100644 index e6f4a1f..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testAcceptInvitation.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/user/repository_invitations/4294886 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.swamp-thing-preview+json', 'User-Agent': 'PyGithub/Python'} -{} -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4981'), ('x-github-media-type', 'github.swamp-thing-preview; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'D039:11DAA:17FC875:24A1090:59635F0C'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-runtime-rack', '0.072659'), ('x-xss-protection', '1; mode=block'), ('x-served-by', '7f48e2f7761567e923121f17538d7a6d'), ('date', 'Mon, 10 Jul 2017 11:03:40 GMT'), ('access-control-allow-origin', '*'), ('x-frame-options', 'deny'), ('x-ratelimit-reset', '1499685825')] - - diff --git a/github/tests/ReplayData/AuthenticatedUser.testAttributes.txt b/github/tests/ReplayData/AuthenticatedUser.testAttributes.txt deleted file mode 100644 index 4631e79..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testAttributes.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"79f748546e5fc4492505a70de6542183"'), ('date', 'Tue, 08 May 2012 09:51:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":10,"type":"User","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","followers":13,"bio":"","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","disk_usage":16692,"plan":{"private_repos":5,"space":614400,"name":"micro","collaborators":1},"html_url":"https://github.com/jacquev6","blog":"http://vincent-jacques.net","login":"jacquev6","email":"vincent@vincent-jacques.net","created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","total_private_repos":5,"public_gists":1,"following":24,"name":"Vincent Jacques","id":327146,"owned_private_repos":5,"private_gists":5,"collaborators":0,"hireable":false} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt deleted file mode 100644 index 113266f..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/authorizations -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"note": "Note created by PyGithub", "scopes": ["repo"], "note_url": "http://vincent-jacques.net/PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4991'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"41f3600b4ddb741cd59a00a88321af92"'), ('date', 'Tue, 22 May 2012 18:27:36 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/authorizations/372294')] -{"scopes":["repo"],"updated_at":"2012-05-22T18:27:36Z","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"url":"https://api.github.com/authorizations/372294","token":"b7fd2a0346d9d590b1fad5e10971e8d29637a4ce","note":"Note created by PyGithub","note_url":"http://vincent-jacques.net/PyGithub","created_at":"2012-05-22T18:27:36Z","id":372294} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithClientIdAndSecret.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithClientIdAndSecret.txt deleted file mode 100644 index 4d3d405..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithClientIdAndSecret.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/authorizations -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"client_secret": "0123456789012345678901234567890123456789", "client_id": "01234567890123456789"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4991'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"41f3600b4ddb741cd59a00a88321af92"'), ('date', 'Tue, 22 May 2012 18:27:36 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/authorizations/372294')] -{"scopes":["repo"],"updated_at":"2012-05-22T18:27:36Z","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"url":"https://api.github.com/authorizations/372294","token":"b7fd2a0346d9d590b1fad5e10971e8d29637a4ce","note":"Note created by PyGithub","note_url":"http://vincent-jacques.net/PyGithub","created_at":"2012-05-22T18:27:36Z","id":372294} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt deleted file mode 100644 index a1fb20d..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/authorizations -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4987'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4a48781fcd24441dade6248aab748487"'), ('date', 'Tue, 22 May 2012 18:03:17 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/authorizations/372259')] -{"scopes":[],"updated_at":"2012-05-22T18:03:17Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"created_at":"2012-05-22T18:03:17Z","note_url":null,"id":372259} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateFork.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateFork.txt deleted file mode 100644 index cd3ab29..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateFork.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '598'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"75740284d989e9a492e32f435cff48ac"'), ('date', 'Sat, 26 May 2012 20:23:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_gists":19,"url":"https://api.github.com/users/nvie","hireable":false,"bio":null,"company":"3rd Cloud","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","login":"nvie","blog":"http://nvie.com","email":"vincent@3rdcloud.com","public_repos":62,"followers":299,"name":"Vincent Driessen","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":83844,"following":41,"html_url":"https://github.com/nvie"} - -https -GET -api.github.com -None -/repos/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4959'), ('content-length', '1182'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b96ea8f5f6ac24b533e2a5dc5ea2479d"'), ('date', 'Sat, 26 May 2012 20:23:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","full_name":"nvie/gitflow","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T19:46:41Z","forks":330,"mirror_url":null,"homepage":"http://nvie.com/posts/a-successful-git-branching-model/","ssh_url":"git@github.com:nvie/gitflow.git","open_issues":92,"fork":false,"svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-02-14T13:11:04Z","size":4602,"html_url":"https://github.com/nvie/gitflow","private":false,"url":"https://api.github.com/repos/nvie/gitflow","clone_url":"https://github.com/nvie/gitflow.git","owner":{"gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/nvie","login":"nvie","id":83844},"name":"gitflow","has_downloads":true,"language":"Shell","watchers":3973,"git_url":"git://github.com/nvie/gitflow.git","id":481366,"permissions":{"admin":false,"pull":true,"push":false},"master_branch":"develop","created_at":"2010-01-20T23:14:12Z"} - -https -POST -api.github.com -None -/repos/nvie/gitflow/forks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -202 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4958'), ('content-length', '3486'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"92f5b171559bccda47d7ebb598ba4f73"'), ('date', 'Sat, 26 May 2012 20:23:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"parent":{"clone_url":"https://github.com/nvie/gitflow.git","has_downloads":true,"watchers":3973,"updated_at":"2012-05-26T20:23:35Z","master_branch":"develop","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","url":"https://api.github.com/repos/nvie/gitflow","has_wiki":true,"has_issues":true,"fork":false,"forks":331,"size":4602,"private":false,"open_issues":92,"svn_url":"https://github.com/nvie/gitflow","owner":{"url":"https://api.github.com/users/nvie","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","login":"nvie","id":83844},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","ssh_url":"git@github.com:nvie/gitflow.git","git_url":"git://github.com/nvie/gitflow.git","pushed_at":"2012-02-14T13:11:04Z","created_at":"2010-01-20T23:14:12Z","id":481366,"mirror_url":null,"html_url":"https://github.com/nvie/gitflow","full_name":"nvie/gitflow"},"clone_url":"https://github.com/jacquev6/gitflow.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-26T20:23:35Z","source":{"clone_url":"https://github.com/nvie/gitflow.git","has_downloads":true,"watchers":3973,"updated_at":"2012-05-26T20:23:35Z","master_branch":"develop","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","url":"https://api.github.com/repos/nvie/gitflow","has_wiki":true,"has_issues":true,"fork":false,"forks":331,"size":4602,"private":false,"open_issues":92,"svn_url":"https://github.com/nvie/gitflow","owner":{"url":"https://api.github.com/users/nvie","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","login":"nvie","id":83844},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","ssh_url":"git@github.com:nvie/gitflow.git","git_url":"git://github.com/nvie/gitflow.git","pushed_at":"2012-02-14T13:11:04Z","created_at":"2010-01-20T23:14:12Z","id":481366,"mirror_url":null,"html_url":"https://github.com/nvie/gitflow","full_name":"nvie/gitflow"},"permissions":{"pull":true,"admin":true,"push":true},"master_branch":"develop","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","url":"https://api.github.com/repos/jacquev6/gitflow","has_wiki":true,"has_issues":false,"fork":true,"forks":0,"size":4602,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/gitflow","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","ssh_url":"git@github.com:jacquev6/gitflow.git","git_url":"git://github.com/jacquev6/gitflow.git","pushed_at":"2012-02-14T13:11:04Z","created_at":"2012-05-26T20:23:35Z","id":4457584,"mirror_url":null,"html_url":"https://github.com/jacquev6/gitflow","full_name":"jacquev6/gitflow"} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateGist.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateGist.txt deleted file mode 100644 index 130579d..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateGist.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/gists -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"files": {"foobar.txt": {"content": "File created by PyGithub"}}, "public": true, "description": "Gist created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4967'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4099af9b70c91fb9c1c8dc72bf773c33"'), ('date', 'Sat, 19 May 2012 07:00:58 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/2729810')] -{"updated_at":"2012-05-19T07:00:58Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","git_push_url":"git@gist.github.com:2729810.git","files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"change_status":{"deletions":0,"additions":1,"total":1},"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}}]} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt deleted file mode 100644 index 6e98cc4..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/gists -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"files": {"foobar.txt": {"content": "File created by PyGithub"}}, "public": true} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4981'), ('content-length', '1424'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7abbb6858d17ad64e3d5874676725694"'), ('date', 'Sat, 26 May 2012 09:50:03 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/2793179')] -{"updated_at":"2012-05-26T09:50:02Z","url":"https://api.github.com/gists/2793179","comments":0,"public":true,"forks":[],"git_pull_url":"git://gist.github.com/2793179.git","files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":null,"created_at":"2012-05-26T09:50:02Z","git_push_url":"git@gist.github.com:2793179.git","id":"2793179","history":[{"url":"https://api.github.com/gists/2793179/069e7c0041c34619b5aebf0e918536cb3bfeff9a","change_status":{"deletions":0,"additions":1,"total":1},"version":"069e7c0041c34619b5aebf0e918536cb3bfeff9a","committed_at":"2012-05-26T09:50:03Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}}],"html_url":"https://gist.github.com/2793179"} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateKey.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateKey.txt deleted file mode 100644 index 822ec51..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateKey.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/user/keys -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw== vincent@IDEE", "title": "Key added through PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4984'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7261ec55c886d6bf42e48d5bf9544586"'), ('date', 'Sat, 26 May 2012 19:49:30 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/user/keys/2626650')] -{"url":"https://api.github.com/user/keys/2626650","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","verified":true,"title":"Key added through PyGithub","id":2626650} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateRepository.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateRepository.txt deleted file mode 100644 index e2d7d18..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateRepository.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/user/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "TestPyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4996'), ('content-length', '1035'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0dee1203022ede8b8374b387ba479ffd"'), ('date', 'Thu, 10 May 2012 19:17:12 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/TestPyGithub')] -{"mirror_url":null,"homepage":null,"clone_url":"https://github.com/jacquev6/TestPyGithub.git","html_url":"https://github.com/jacquev6/TestPyGithub","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_downloads":true,"watchers":1,"git_url":"git://github.com/jacquev6/TestPyGithub.git","permissions":{"admin":true,"pull":true,"push":true},"has_wiki":true,"has_issues":true,"fork":false,"forks":1,"language":null,"size":0,"description":null,"private":false,"created_at":"2012-05-10T19:17:12Z","open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"TestPyGithub","pushed_at":"2012-05-10T19:17:12Z","id":4288693,"ssh_url":"git@github.com:jacquev6/TestPyGithub.git","updated_at":"2012-05-10T19:17:12Z"} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAllArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAllArguments.txt deleted file mode 100644 index f192e31..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/user/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"has_wiki": false, "name": "TestPyGithub", "has_downloads": false, "private": false, "has_issues": false, "homepage": "http://foobar.com", "description": "Repo created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4979'), ('content-length', '1111'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1c6473a60481c33b28a926041f763fce"'), ('date', 'Sat, 26 May 2012 09:55:27 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/TestPyGithub')] -{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"git_url":"git://github.com/jacquev6/TestPyGithub.git","updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAutoInit.txt b/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAutoInit.txt deleted file mode 100644 index c6a05de..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testCreateRepositoryWithAutoInit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/user/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"gitignore_template": "Python", "name": "TestPyGithub", "auto_init": true} -201 -[('status', '201 Created'), ('content-length', '1176'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4999'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"762d15bfe4477f7ec15c3c08a07da857"'), ('location', 'https://api.github.com/repos/jacquev6/TestPyGithub'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 03 Nov 2012 09:01:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"watchers":0,"pushed_at":"2012-11-03T09:00:59Z","forks":0,"has_issues":true,"has_downloads":true,"open_issues_count":0,"description":null,"html_url":"https://github.com/jacquev6/TestPyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/TestPyGithub","updated_at":"2012-11-03T09:01:00Z","permissions":{"push":true,"pull":true,"admin":true},"mirror_url":null,"clone_url":"https://github.com/jacquev6/TestPyGithub.git","language":null,"has_wiki":true,"ssh_url":"git@github.com:jacquev6/TestPyGithub.git","svn_url":"https://github.com/jacquev6/TestPyGithub","size":0,"fork":false,"full_name":"jacquev6/TestPyGithub","open_issues":0,"git_url":"git://github.com/jacquev6/TestPyGithub.git","forks_count":0,"name":"TestPyGithub","created_at":"2012-11-03T09:00:59Z","homepage":null,"private":false,"id":6517838,"master_branch":"master","network_count":0,"watchers_count":0} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testEditWithAllArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testEditWithAllArguments.txt deleted file mode 100644 index 33b80f9..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testEditWithAllArguments.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -PATCH -api.github.com -None -/user -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"bio": "Bio edited by PyGithub", "name": "Name edited by PyGithub", "company": "Company edited by PyGithub", "blog": "Blog edited by PyGithub", "location": "Location edited by PyGithub", "hireable": true, "email": "Email edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '858'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4695e7d2dc3084a322fe83f342448a79"'), ('date', 'Tue, 08 May 2012 10:04:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":5,"type":"User","hireable":true,"following":24,"company":"Company edited by PyGithub","blog":"Blog edited by PyGithub","bio":"Bio edited by PyGithub","html_url":"https://github.com/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"public_repos":10,"url":"https://api.github.com/users/jacquev6","owned_private_repos":5,"login":"jacquev6","collaborators":0,"email":"Email edited by PyGithub","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","disk_usage":16692,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"created_at":"2010-07-09T06:10:06Z","name":"Name edited by PyGithub","public_gists":1,"followers":13,"id":327146,"location":"Location edited by PyGithub"} diff --git a/github/tests/ReplayData/AuthenticatedUser.testEditWithoutArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testEditWithoutArguments.txt deleted file mode 100644 index faf3ec0..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/user -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"811fb4d5df8bae5b1ef7d63537891a1c"'), ('date', 'Tue, 08 May 2012 10:05:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":5,"collaborators":0,"type":"User","bio":"","url":"https://api.github.com/users/jacquev6","public_repos":10,"followers":13,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"disk_usage":16692,"plan":{"collaborators":1,"space":614400,"name":"micro","private_repos":5},"html_url":"https://github.com/jacquev6","owned_private_repos":5,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","following":24,"name":"Vincent Jacques","public_gists":1,"hireable":false,"id":327146} - diff --git a/github/tests/ReplayData/AuthenticatedUser.testEmails.txt b/github/tests/ReplayData/AuthenticatedUser.testEmails.txt deleted file mode 100644 index eeee185..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testEmails.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/user/emails -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '64'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ea6dacf29569317ccf460b4bb07075e5"'), ('date', 'Sun, 20 May 2012 12:41:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -["vincent@vincent-jacques.net","github.com@vincent-jacques.net"] - -https -POST -api.github.com -None -/user/emails -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["1@foobar.com", "2@foobar.com"] -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4933'), ('content-length', '94'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8efae10ea5e433b0d68201389058e4ee"'), ('date', 'Sun, 20 May 2012 12:41:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -["vincent@vincent-jacques.net","1@foobar.com","2@foobar.com","github.com@vincent-jacques.net"] - -https -GET -api.github.com -None -/user/emails -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '94'), ('x-ratelimit-remaining', '4932'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8efae10ea5e433b0d68201389058e4ee"'), ('date', 'Sun, 20 May 2012 12:41:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -["vincent@vincent-jacques.net","1@foobar.com","2@foobar.com","github.com@vincent-jacques.net"] - -https -DELETE -api.github.com -None -/user/emails -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["1@foobar.com", "2@foobar.com"] -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4931'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 12:41:41 GMT')] - - -https -GET -api.github.com -None -/user/emails -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '64'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ea6dacf29569317ccf460b4bb07075e5"'), ('date', 'Sun, 20 May 2012 12:41:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -["vincent@vincent-jacques.net","github.com@vincent-jacques.net"] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testFollowing.txt b/github/tests/ReplayData/AuthenticatedUser.testFollowing.txt deleted file mode 100644 index e121280..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testFollowing.txt +++ /dev/null @@ -1,88 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '598'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1f414bb12fcd22848c2c09e507bd3450"'), ('date', 'Sun, 20 May 2012 12:47:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":"3rd Cloud","url":"https://api.github.com/users/nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","followers":297,"public_gists":16,"public_repos":61,"login":"nvie","email":"vincent@3rdcloud.com","hireable":false,"html_url":"https://github.com/nvie","name":"Vincent Driessen","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","bio":null,"id":83844,"following":41,"blog":"http://nvie.com"} - -https -GET -api.github.com -None -/user/following -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '7072'), ('x-ratelimit-remaining', '4996'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7ee97a1de549c0ab507d72d9851d28d2"'), ('date', 'Sun, 20 May 2012 12:47:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/schacon","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"schacon","gravatar_id":"9375a9529679f1b42b567a640d775e7d","id":70},{"url":"https://api.github.com/users/jamis","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jamis","gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","id":1627},{"url":"https://api.github.com/users/chad","avatar_url":"https://secure.gravatar.com/avatar/77f306388bb6ae00ac0b0401e27cdc99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chad","gravatar_id":"77f306388bb6ae00ac0b0401e27cdc99","id":237},{"url":"https://api.github.com/users/unclebob","avatar_url":"https://secure.gravatar.com/avatar/e47a3e81d72676bd497b1cb67f66da97?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"unclebob","gravatar_id":"e47a3e81d72676bd497b1cb67f66da97","id":36901},{"url":"https://api.github.com/users/dabrahams","avatar_url":"https://secure.gravatar.com/avatar/5b45540ae377ec54a071f313b7193a27?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"dabrahams","gravatar_id":"5b45540ae377ec54a071f313b7193a27","id":44065},{"url":"https://api.github.com/users/jnorthrup","avatar_url":"https://secure.gravatar.com/avatar/29222a2dca6dd4cd33790d72ff3f5346?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jnorthrup","gravatar_id":"29222a2dca6dd4cd33790d72ff3f5346","id":73514},{"url":"https://api.github.com/users/brugidou","avatar_url":"https://secure.gravatar.com/avatar/43485eeefd3da3c96a7ea0c7e6b839dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"brugidou","gravatar_id":"43485eeefd3da3c96a7ea0c7e6b839dc","id":167633},{"url":"https://api.github.com/users/regisb","avatar_url":"https://secure.gravatar.com/avatar/43d211a7021343f2be236d2b9855b734?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"regisb","gravatar_id":"43d211a7021343f2be236d2b9855b734","id":44319},{"url":"https://api.github.com/users/walidk","avatar_url":"https://secure.gravatar.com/avatar/e251d20766937949a109603ca37bb3be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"walidk","gravatar_id":"e251d20766937949a109603ca37bb3be","id":734669},{"url":"https://api.github.com/users/tanzilli","avatar_url":"https://secure.gravatar.com/avatar/5d533d287dda8809a5369b65063ef725?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"tanzilli","gravatar_id":"5d533d287dda8809a5369b65063ef725","id":434112},{"url":"https://api.github.com/users/fjardon","avatar_url":"https://secure.gravatar.com/avatar/cb044bd9a9f6548b9a9bae44617c97c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"fjardon","gravatar_id":"cb044bd9a9f6548b9a9bae44617c97c7","id":121402},{"url":"https://api.github.com/users/r3c","avatar_url":"https://secure.gravatar.com/avatar/9240b01ceef60b45be83aee8637e7043?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"r3c","gravatar_id":"9240b01ceef60b45be83aee8637e7043","id":979446},{"url":"https://api.github.com/users/sdanzan","avatar_url":"https://secure.gravatar.com/avatar/4a1e187f4f22547534a56966f6d8f942?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"sdanzan","gravatar_id":"4a1e187f4f22547534a56966f6d8f942","id":1094967},{"url":"https://api.github.com/users/vineus","avatar_url":"https://secure.gravatar.com/avatar/2d0c93649b7572036335aed380e351e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vineus","gravatar_id":"2d0c93649b7572036335aed380e351e5","id":467126},{"url":"https://api.github.com/users/cjuniet","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"cjuniet","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","id":1233553},{"url":"https://api.github.com/users/gturri","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gturri","gravatar_id":"ba064e32f068e12bfc87d178179878a5","id":308601},{"url":"https://api.github.com/users/ant9000","avatar_url":"https://secure.gravatar.com/avatar/05c5d147f5decac1213f47007f6e97ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ant9000","gravatar_id":"05c5d147f5decac1213f47007f6e97ed","id":803884},{"url":"https://api.github.com/users/asquini","avatar_url":"https://secure.gravatar.com/avatar/ffc7ee9137c7c6859958bd21b724dde1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"asquini","gravatar_id":"ffc7ee9137c7c6859958bd21b724dde1","id":1159877},{"url":"https://api.github.com/users/claudyus","avatar_url":"https://secure.gravatar.com/avatar/694d276cdabd74c2538838f55d289143?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"claudyus","gravatar_id":"694d276cdabd74c2538838f55d289143","id":509291},{"url":"https://api.github.com/users/jardon-u","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jardon-u","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","id":994192},{"url":"https://api.github.com/users/s-bernard","avatar_url":"https://secure.gravatar.com/avatar/046dc82526c7cb4c60d8e70c6f4d4615?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"s-bernard","gravatar_id":"046dc82526c7cb4c60d8e70c6f4d4615","id":1468889},{"url":"https://api.github.com/users/kamaradclimber","avatar_url":"https://secure.gravatar.com/avatar/0c43eba4a99f65e071e66e684cea8177?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kamaradclimber","gravatar_id":"0c43eba4a99f65e071e66e684cea8177","id":503537},{"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Lyloa","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","id":1131432},{"url":"https://api.github.com/users/nvie","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","id":83844}] - -https -GET -api.github.com -None -/user/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4995'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 12:47:50 GMT')] - - -https -DELETE -api.github.com -None -/user/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4994'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 12:47:51 GMT')] - - -https -GET -api.github.com -None -/user/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4993'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 20 May 2012 12:47:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/user/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 12:47:52 GMT')] - - -https -GET -api.github.com -None -/user/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4991'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 12:47:52 GMT')] - - -https -GET -api.github.com -None -/user/followers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '3849'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f99f2d634d4429def3c7fae66ead9cb9"'), ('date', 'Sun, 20 May 2012 12:47:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/jnorthrup","gravatar_id":"29222a2dca6dd4cd33790d72ff3f5346","avatar_url":"https://secure.gravatar.com/avatar/29222a2dca6dd4cd33790d72ff3f5346?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jnorthrup","id":73514},{"url":"https://api.github.com/users/brugidou","gravatar_id":"43485eeefd3da3c96a7ea0c7e6b839dc","avatar_url":"https://secure.gravatar.com/avatar/43485eeefd3da3c96a7ea0c7e6b839dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"brugidou","id":167633},{"url":"https://api.github.com/users/regisb","gravatar_id":"43d211a7021343f2be236d2b9855b734","avatar_url":"https://secure.gravatar.com/avatar/43d211a7021343f2be236d2b9855b734?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"regisb","id":44319},{"url":"https://api.github.com/users/walidk","gravatar_id":"e251d20766937949a109603ca37bb3be","avatar_url":"https://secure.gravatar.com/avatar/e251d20766937949a109603ca37bb3be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"walidk","id":734669},{"url":"https://api.github.com/users/afzalkhan","gravatar_id":"8e85398b116be75d4baeeddfc9c3cce1","avatar_url":"https://secure.gravatar.com/avatar/8e85398b116be75d4baeeddfc9c3cce1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"afzalkhan","id":1003845},{"url":"https://api.github.com/users/sdanzan","gravatar_id":"4a1e187f4f22547534a56966f6d8f942","avatar_url":"https://secure.gravatar.com/avatar/4a1e187f4f22547534a56966f6d8f942?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"sdanzan","id":1094967},{"url":"https://api.github.com/users/vineus","gravatar_id":"2d0c93649b7572036335aed380e351e5","avatar_url":"https://secure.gravatar.com/avatar/2d0c93649b7572036335aed380e351e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vineus","id":467126},{"url":"https://api.github.com/users/gturri","gravatar_id":"ba064e32f068e12bfc87d178179878a5","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gturri","id":308601},{"url":"https://api.github.com/users/fjardon","gravatar_id":"cb044bd9a9f6548b9a9bae44617c97c7","avatar_url":"https://secure.gravatar.com/avatar/cb044bd9a9f6548b9a9bae44617c97c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"fjardon","id":121402},{"url":"https://api.github.com/users/cjuniet","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"cjuniet","id":1233553},{"url":"https://api.github.com/users/jardon-u","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jardon-u","id":994192},{"url":"https://api.github.com/users/kamaradclimber","gravatar_id":"0c43eba4a99f65e071e66e684cea8177","avatar_url":"https://secure.gravatar.com/avatar/0c43eba4a99f65e071e66e684cea8177?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kamaradclimber","id":503537},{"url":"https://api.github.com/users/L42y","gravatar_id":"4dc11d87759273f3466ab4f673bcecae","avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"L42y","id":284820}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetAuthorizations.txt b/github/tests/ReplayData/AuthenticatedUser.testGetAuthorizations.txt deleted file mode 100644 index cdd655b..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetAuthorizations.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/authorizations -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '384'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f6052ad2b9941ba0829e326bd76377a3"'), ('date', 'Tue, 22 May 2012 18:31:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"scopes":["repo"],"updated_at":"2012-05-22T18:27:36Z","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"url":"https://api.github.com/authorizations/372294","token":"b7fd2a0346d9d590b1fad5e10971e8d29637a4ce","note_url":"http://vincent-jacques.net/PyGithub","note":"Note created by PyGithub","created_at":"2012-05-22T18:27:36Z","id":372294}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetEvents.txt b/github/tests/ReplayData/AuthenticatedUser.testGetEvents.txt deleted file mode 100644 index 5065919..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '57490'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"9260400c8db419d7375cf37a6a89b38e"'), ('date', 'Sat, 26 May 2012 20:10:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"PushEvent","payload":{"head":"45dd4d971758b54af0b4138aa54b2a7266a66719","size":2,"push_id":80706714,"commits":[{"sha":"471b65cb6e5b4b57cca494d81a19a7cfecb9dcd7","author":{"name":"Chide","email":"c.groenouwe@ati-a.nl"},"url":"https://api.github.com/repos/swiftgame/SWiFT-fososc/commits/471b65cb6e5b4b57cca494d81a19a7cfecb9dcd7","distinct":true,"message":"added large part of current source code base of SWiFT fososc. More to come!"},{"sha":"45dd4d971758b54af0b4138aa54b2a7266a66719","author":{"name":"Chide","email":"c.groenouwe@ati-a.nl"},"url":"https://api.github.com/repos/swiftgame/SWiFT-fososc/commits/45dd4d971758b54af0b4138aa54b2a7266a66719","distinct":true,"message":"continued..."}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/swiftgame/SWiFT-fososc","id":2935425,"name":"swiftgame/SWiFT-fososc"},"created_at":"2012-05-26T20:10:46Z","id":"1556178218","actor":{"gravatar_id":"5866525f1e1a06544aaff0fa4f4f083a","url":"https://api.github.com/users/swiftgame","avatar_url":"https://secure.gravatar.com/avatar/5866525f1e1a06544aaff0fa4f4f083a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1248161,"login":"swiftgame"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":1,"created_at":"2012-05-23T18:10:30Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"* text\n\n(for now, just keep test passages short!)","title":"passages model","comments":1,"updated_at":"2012-05-26T20:10:46Z","url":"https://api.github.com/repos/unobliged/plymlet/issues/1","id":4717430,"assignee":{"gravatar_id":"8dd3d820658d79bb8cec3afe94c986d5","avatar_url":"https://secure.gravatar.com/avatar/8dd3d820658d79bb8cec3afe94c986d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/unobliged","id":1250266,"login":"unobliged"},"milestone":{"number":1,"due_on":null,"created_at":"2012-05-25T23:02:34Z","title":"Iteration 1","creator":{"gravatar_id":"3ba9e4f33f3277e20ee649efcf379ab9","avatar_url":"https://secure.gravatar.com/avatar/3ba9e4f33f3277e20ee649efcf379ab9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/dpaola2","id":150509,"login":"dpaola2"},"url":"https://api.github.com/repos/unobliged/plymlet/milestones/1","id":124261,"open_issues":3,"closed_issues":2,"description":"","state":"open"},"closed_at":"2012-05-26T20:10:46Z","user":{"gravatar_id":"3ba9e4f33f3277e20ee649efcf379ab9","avatar_url":"https://secure.gravatar.com/avatar/3ba9e4f33f3277e20ee649efcf379ab9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/dpaola2","id":150509,"login":"dpaola2"},"html_url":"https://github.com/unobliged/plymlet/issues/1","labels":[],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/unobliged/plymlet","id":4423508,"name":"unobliged/plymlet"},"created_at":"2012-05-26T20:10:46Z","id":"1556178217","actor":{"gravatar_id":"8dd3d820658d79bb8cec3afe94c986d5","url":"https://api.github.com/users/unobliged","avatar_url":"https://secure.gravatar.com/avatar/8dd3d820658d79bb8cec3afe94c986d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1250266,"login":"unobliged"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-26T20:10:46Z","body":"text has title, author, language, and content","updated_at":"2012-05-26T20:10:46Z","url":"https://api.github.com/repos/unobliged/plymlet/issues/comments/5949286","id":5949286,"user":{"avatar_url":"https://secure.gravatar.com/avatar/8dd3d820658d79bb8cec3afe94c986d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dd3d820658d79bb8cec3afe94c986d5","url":"https://api.github.com/users/unobliged","id":1250266,"login":"unobliged"}},"action":"created","issue":{"number":1,"created_at":"2012-05-23T18:10:30Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"title":"passages model","body":"* text\n\n(for now, just keep test passages short!)","comments":1,"updated_at":"2012-05-26T20:10:46Z","url":"https://api.github.com/repos/unobliged/plymlet/issues/1","id":4717430,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/8dd3d820658d79bb8cec3afe94c986d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dd3d820658d79bb8cec3afe94c986d5","url":"https://api.github.com/users/unobliged","id":1250266,"login":"unobliged"},"milestone":{"number":1,"due_on":null,"created_at":"2012-05-25T23:02:34Z","title":"Iteration 1","creator":{"avatar_url":"https://secure.gravatar.com/avatar/3ba9e4f33f3277e20ee649efcf379ab9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3ba9e4f33f3277e20ee649efcf379ab9","url":"https://api.github.com/users/dpaola2","id":150509,"login":"dpaola2"},"url":"https://api.github.com/repos/unobliged/plymlet/milestones/1","id":124261,"open_issues":3,"closed_issues":2,"description":"","state":"open"},"closed_at":"2012-05-26T20:10:46Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/3ba9e4f33f3277e20ee649efcf379ab9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3ba9e4f33f3277e20ee649efcf379ab9","url":"https://api.github.com/users/dpaola2","id":150509,"login":"dpaola2"},"html_url":"https://github.com/unobliged/plymlet/issues/1","labels":[],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/unobliged/plymlet","id":4423508,"name":"unobliged/plymlet"},"created_at":"2012-05-26T20:10:46Z","id":"1556178216","actor":{"gravatar_id":"8dd3d820658d79bb8cec3afe94c986d5","url":"https://api.github.com/users/unobliged","avatar_url":"https://secure.gravatar.com/avatar/8dd3d820658d79bb8cec3afe94c986d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1250266,"login":"unobliged"}},{"type":"PushEvent","payload":{"head":"be261259304b3f6361a546ef5ae1809d446216fa","size":1,"push_id":80706711,"commits":[{"sha":"be261259304b3f6361a546ef5ae1809d446216fa","author":{"name":"Ben Hundley","email":"ben.hundley@gmail.com"},"url":"https://api.github.com/repos/FestivalBobcats/newton.js/commits/be261259304b3f6361a546ef5ae1809d446216fa","distinct":true,"message":"having the camera follow the systems center of mass to maintain focus"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/FestivalBobcats/newton.js","id":4421856,"name":"FestivalBobcats/newton.js"},"created_at":"2012-05-26T20:10:45Z","id":"1556178213","actor":{"gravatar_id":"eb3fba221d6fb7f3298b132efae536e4","url":"https://api.github.com/users/FestivalBobcats","avatar_url":"https://secure.gravatar.com/avatar/eb3fba221d6fb7f3298b132efae536e4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":251029,"login":"FestivalBobcats"}},{"type":"PushEvent","payload":{"head":"bbbf9af215b683afefb3eaa2421c8d71bb02f70f","size":1,"push_id":80706710,"commits":[{"sha":"bbbf9af215b683afefb3eaa2421c8d71bb02f70f","author":{"name":"Bradley","email":"brmirly@gmail.com"},"url":"https://api.github.com/repos/brmirly/book-collector/commits/bbbf9af215b683afefb3eaa2421c8d71bb02f70f","distinct":true,"message":"Removing assets in public folder."}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/brmirly/book-collector","id":4455613,"name":"brmirly/book-collector"},"created_at":"2012-05-26T20:10:44Z","id":"1556178212","actor":{"gravatar_id":"7b2c3a273813afd3d0d1b80b08e84956","url":"https://api.github.com/users/brmirly","avatar_url":"https://secure.gravatar.com/avatar/7b2c3a273813afd3d0d1b80b08e84956?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":298873,"login":"brmirly"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/bitlove/objectify","id":4276638,"name":"bitlove/objectify"},"org":{"gravatar_id":"031eaa7ede474c82f6d623881d10f431","url":"https://api.github.com/orgs/bitlove","avatar_url":"https://secure.gravatar.com/avatar/031eaa7ede474c82f6d623881d10f431?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":32503,"login":"bitlove"},"created_at":"2012-05-26T20:10:43Z","id":"1556178211","actor":{"gravatar_id":"2354283d377abff092ede49fc560a4cc","url":"https://api.github.com/users/Applicat","avatar_url":"https://secure.gravatar.com/avatar/2354283d377abff092ede49fc560a4cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":77121,"login":"Applicat"}},{"type":"PushEvent","payload":{"head":"88679ce53b08ee13c9e20c7bc3d901495faf3519","size":1,"push_id":80706708,"ref":"refs/heads/master","commits":[{"sha":"88679ce53b08ee13c9e20c7bc3d901495faf3519","author":{"name":"Patrick Lioi","email":"patrick.lioi@gmail.com"},"url":"https://api.github.com/repos/plioi/rook/commits/88679ce53b08ee13c9e20c7bc3d901495faf3519","distinct":true,"message":"CompilerResult and InterpreterResult gain Language property. When interactive console outputs C# errors, they are flagged as C# errors."}]},"public":true,"repo":{"url":"https://api.github.com/repos/plioi/rook","id":1534527,"name":"plioi/rook"},"created_at":"2012-05-26T20:10:40Z","id":"1556178208","actor":{"gravatar_id":"8370120c77b6a1adcdc4458c7f4052be","url":"https://api.github.com/users/plioi","avatar_url":"https://secure.gravatar.com/avatar/8370120c77b6a1adcdc4458c7f4052be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":652745,"login":"plioi"}},{"type":"PushEvent","payload":{"head":"2f4373049a3f7702a9162c3a6b6d182083705bb4","size":1,"push_id":80706707,"commits":[{"sha":"2f4373049a3f7702a9162c3a6b6d182083705bb4","author":{"name":"Justin Forest","email":"justin.forest@gmail.com"},"url":"https://api.github.com/repos/tmradio/tmradio-website/commits/2f4373049a3f7702a9162c3a6b6d182083705bb4","distinct":true,"message":"Обновление карты концертов"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/tmradio/tmradio-website","id":1482040,"name":"tmradio/tmradio-website"},"org":{"gravatar_id":"652b36ee907f6f69ae6a8b72844c7951","url":"https://api.github.com/orgs/tmradio","avatar_url":"https://secure.gravatar.com/avatar/652b36ee907f6f69ae6a8b72844c7951?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":657556,"login":"tmradio"},"created_at":"2012-05-26T20:10:39Z","id":"1556178207","actor":{"gravatar_id":"b52062261a2135048e238fb4b7c4daf1","url":"https://api.github.com/users/umonkey","avatar_url":"https://secure.gravatar.com/avatar/b52062261a2135048e238fb4b7c4daf1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":16797,"login":"umonkey"}},{"type":"PushEvent","payload":{"head":"31658a5448e3b36705f4ff5977cd8d50c9ab9517","size":1,"push_id":80706705,"commits":[{"sha":"31658a5448e3b36705f4ff5977cd8d50c9ab9517","author":{"name":"Jorge Azevedo","email":"jorge.amado.azevedo@gmail.com"},"url":"https://api.github.com/repos/jorgeazevedo/xenomai-lab/commits/31658a5448e3b36705f4ff5977cd8d50c9ab9517","distinct":true,"message":"Changed source code MD syntax"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/jorgeazevedo/xenomai-lab","id":4456995,"name":"jorgeazevedo/xenomai-lab"},"created_at":"2012-05-26T20:10:38Z","id":"1556178205","actor":{"gravatar_id":"b7c9861bce375e9621554712ec95a9ea","url":"https://api.github.com/users/jorgeazevedo","avatar_url":"https://secure.gravatar.com/avatar/b7c9861bce375e9621554712ec95a9ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1672034,"login":"jorgeazevedo"}},{"type":"PullRequestEvent","payload":{"number":8,"pull_request":{"head":{"label":"vlad-ghita:integration","repo":{"name":"field_metakeys","size":116,"has_wiki":true,"created_at":"2012-05-26T20:04:21Z","clone_url":"https://github.com/vlad-ghita/field_metakeys.git","private":false,"watchers":1,"updated_at":"2012-05-26T20:08:29Z","git_url":"git://github.com/vlad-ghita/field_metakeys.git","url":"https://api.github.com/repos/vlad-ghita/field_metakeys","ssh_url":"git@github.com:vlad-ghita/field_metakeys.git","fork":true,"language":"PHP","pushed_at":"2012-05-26T20:08:29Z","id":4457461,"svn_url":"https://github.com/vlad-ghita/field_metakeys","mirror_url":null,"has_downloads":true,"open_issues":0,"has_issues":false,"homepage":"","full_name":"vlad-ghita/field_metakeys","description":"A Meta Keys field allows you to add arbitrary pieces of information to entries identified by a user generated key","forks":0,"html_url":"https://github.com/vlad-ghita/field_metakeys","owner":{"avatar_url":"https://secure.gravatar.com/avatar/9b43cf8fce4ff1fe56cb86f0f6bf7839?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9b43cf8fce4ff1fe56cb86f0f6bf7839","url":"https://api.github.com/users/vlad-ghita","id":422623,"login":"vlad-ghita"}},"sha":"ef75a939b37fb152b8eb845c94a0db7cf7d872a5","ref":"integration","user":{"avatar_url":"https://secure.gravatar.com/avatar/9b43cf8fce4ff1fe56cb86f0f6bf7839?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9b43cf8fce4ff1fe56cb86f0f6bf7839","url":"https://api.github.com/users/vlad-ghita","id":422623,"login":"vlad-ghita"}},"issue_url":"https://github.com/brendo/field_metakeys/issues/8","number":8,"merged_by":null,"changed_files":1,"merged":false,"created_at":"2012-05-26T20:10:37Z","body":"Great extension :) I just made the multilingual version of this.\n\nI noticed it doesn't persist values in case of error in the form. This patch fixes it.\n\nRegards,\nVlad","comments":0,"title":"Retain post values in case of error","diff_url":"https://github.com/brendo/field_metakeys/pull/8.diff","updated_at":"2012-05-26T20:10:37Z","additions":4,"_links":{"html":{"href":"https://github.com/brendo/field_metakeys/pull/8"},"self":{"href":"https://api.github.com/repos/brendo/field_metakeys/pulls/8"},"comments":{"href":"https://api.github.com/repos/brendo/field_metakeys/issues/8/comments"},"issue":{"href":"https://api.github.com/repos/brendo/field_metakeys/issues/8"},"review_comments":{"href":"https://api.github.com/repos/brendo/field_metakeys/pulls/8/comments"}},"url":"https://api.github.com/repos/brendo/field_metakeys/pulls/8","id":1435459,"patch_url":"https://github.com/brendo/field_metakeys/pull/8.patch","mergeable":null,"closed_at":null,"commits":1,"merged_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/9b43cf8fce4ff1fe56cb86f0f6bf7839?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9b43cf8fce4ff1fe56cb86f0f6bf7839","url":"https://api.github.com/users/vlad-ghita","id":422623,"login":"vlad-ghita"},"review_comments":0,"html_url":"https://github.com/brendo/field_metakeys/pull/8","deletions":2,"base":{"label":"brendo:integration","repo":{"name":"field_metakeys","size":744,"has_wiki":true,"created_at":"2010-10-04T07:06:12Z","clone_url":"https://github.com/brendo/field_metakeys.git","private":false,"watchers":11,"updated_at":"2012-05-26T20:04:21Z","git_url":"git://github.com/brendo/field_metakeys.git","url":"https://api.github.com/repos/brendo/field_metakeys","ssh_url":"git@github.com:brendo/field_metakeys.git","fork":false,"language":"PHP","pushed_at":"2012-04-28T06:44:21Z","id":959860,"svn_url":"https://github.com/brendo/field_metakeys","mirror_url":null,"has_downloads":true,"open_issues":1,"has_issues":true,"homepage":"","full_name":"brendo/field_metakeys","description":"A Meta Keys field allows you to add arbitrary pieces of information to entries identified by a user generated key","forks":3,"html_url":"https://github.com/brendo/field_metakeys","owner":{"avatar_url":"https://secure.gravatar.com/avatar/6be8e584a0f454ac2dc7600bdeaca7b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6be8e584a0f454ac2dc7600bdeaca7b7","url":"https://api.github.com/users/brendo","id":69268,"login":"brendo"}},"sha":"799a54a913f676b62522515ea0dd3af8f3e0f23a","ref":"integration","user":{"avatar_url":"https://secure.gravatar.com/avatar/6be8e584a0f454ac2dc7600bdeaca7b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6be8e584a0f454ac2dc7600bdeaca7b7","url":"https://api.github.com/users/brendo","id":69268,"login":"brendo"}},"state":"open"},"action":"opened"},"public":true,"repo":{"url":"https://api.github.com/repos/brendo/field_metakeys","id":959860,"name":"brendo/field_metakeys"},"created_at":"2012-05-26T20:10:38Z","id":"1556178203","actor":{"gravatar_id":"9b43cf8fce4ff1fe56cb86f0f6bf7839","url":"https://api.github.com/users/vlad-ghita","avatar_url":"https://secure.gravatar.com/avatar/9b43cf8fce4ff1fe56cb86f0f6bf7839?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":422623,"login":"vlad-ghita"}},{"type":"PushEvent","payload":{"head":"1a9d9e3f6ea16e1fd9da63ba62968e9710426ac9","size":6,"push_id":80706703,"commits":[{"sha":"e2a8dfdc3320ed5394c072f3c2483efe85586103","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/e2a8dfdc3320ed5394c072f3c2483efe85586103","distinct":true,"message":"upgraded openssl to 1.0.1c"},{"sha":"e81dcf515742cb0772784ed942dd33f2654b526a","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/e81dcf515742cb0772784ed942dd33f2654b526a","distinct":true,"message":"upgrading git to 1.7.10.1"},{"sha":"2723c6dc0f3bdabc2bfea24be603561667b649a8","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/2723c6dc0f3bdabc2bfea24be603561667b649a8","distinct":true,"message":"upgrading curl to 7.26.0"},{"sha":"8d5f7e60235c41683c8ff6222efc9a92a83ea901","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/8d5f7e60235c41683c8ff6222efc9a92a83ea901","distinct":true,"message":"upgrade sqlite to 3071201"},{"sha":"3df38eaf44fc222b40db3732d055c31a7d740c83","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/3df38eaf44fc222b40db3732d055c31a7d740c83","distinct":true,"message":"upgraded subversion to 1.7.5"},{"sha":"1a9d9e3f6ea16e1fd9da63ba62968e9710426ac9","author":{"name":"Alex White","email":"VVu@geekfarm.org"},"url":"https://api.github.com/repos/wu/npkgs/commits/1a9d9e3f6ea16e1fd9da63ba62968e9710426ac9","distinct":true,"message":"upgrade nagios to 3.4.1"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/wu/npkgs","id":129627,"name":"wu/npkgs"},"created_at":"2012-05-26T20:10:37Z","id":"1556178202","actor":{"gravatar_id":"c57483c5cfe159b98a6e33ee7e9eec38","url":"https://api.github.com/users/wu","avatar_url":"https://secure.gravatar.com/avatar/c57483c5cfe159b98a6e33ee7e9eec38?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":52700,"login":"wu"}},{"type":"PullRequestEvent","payload":{"number":29,"pull_request":{"head":{"label":"pahko:patch-1","repo":{"name":"escape-lounge","size":108,"has_wiki":true,"created_at":"2012-05-26T20:09:41Z","clone_url":"https://github.com/pahko/escape-lounge.git","watchers":1,"private":false,"updated_at":"2012-05-26T20:10:21Z","fork":true,"language":"JavaScript","url":"https://api.github.com/repos/pahko/escape-lounge","git_url":"git://github.com/pahko/escape-lounge.git","ssh_url":"git@github.com:pahko/escape-lounge.git","id":4457492,"svn_url":"https://github.com/pahko/escape-lounge","pushed_at":"2012-05-26T20:10:20Z","has_downloads":true,"mirror_url":null,"open_issues":0,"full_name":"pahko/escape-lounge","has_issues":false,"homepage":null,"description":"Page like getawaylounge.com.au","forks":0,"html_url":"https://github.com/pahko/escape-lounge","owner":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"sha":"f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","ref":"patch-1","user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"number":29,"issue_url":"https://github.com/orozcogera/escape-lounge/issues/29","merged_by":null,"created_at":"2012-05-26T20:10:29Z","changed_files":1,"merged":false,"title":"Update README.md","body":"","comments":0,"diff_url":"https://github.com/orozcogera/escape-lounge/pull/29.diff","updated_at":"2012-05-26T20:10:35Z","additions":2,"url":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29","_links":{"html":{"href":"https://github.com/orozcogera/escape-lounge/pull/29"},"self":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29"},"comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29/comments"},"issue":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29"},"review_comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29/comments"}},"id":1435458,"patch_url":"https://github.com/orozcogera/escape-lounge/pull/29.patch","mergeable":null,"merged_at":null,"commits":1,"closed_at":null,"user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"},"review_comments":0,"deletions":3,"html_url":"https://github.com/orozcogera/escape-lounge/pull/29","state":"open","base":{"label":"orozcogera:master","repo":{"name":"escape-lounge","size":11504,"has_wiki":true,"created_at":"2012-05-16T15:33:54Z","clone_url":"https://github.com/orozcogera/escape-lounge.git","watchers":2,"private":false,"updated_at":"2012-05-26T20:09:41Z","fork":false,"language":"JavaScript","url":"https://api.github.com/repos/orozcogera/escape-lounge","git_url":"git://github.com/orozcogera/escape-lounge.git","ssh_url":"git@github.com:orozcogera/escape-lounge.git","id":4348574,"svn_url":"https://github.com/orozcogera/escape-lounge","pushed_at":"2012-05-25T04:15:07Z","has_downloads":true,"mirror_url":null,"open_issues":6,"full_name":"orozcogera/escape-lounge","has_issues":true,"homepage":null,"description":"Page like getawaylounge.com.au","forks":2,"html_url":"https://github.com/orozcogera/escape-lounge","owner":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}},"sha":"c74beb5b64464d892fe1168c4bba4a8260594be2","ref":"master","user":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}}},"action":"reopened"},"public":true,"repo":{"url":"https://api.github.com/repos/orozcogera/escape-lounge","id":4348574,"name":"orozcogera/escape-lounge"},"created_at":"2012-05-26T20:10:36Z","id":"1556178201","actor":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","url":"https://api.github.com/users/pahko","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":572114,"login":"pahko"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":6,"created_at":"2012-05-26T20:10:35Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"It sound awful.","comments":0,"title":"Replace Grenade sound.","updated_at":"2012-05-26T20:10:35Z","url":"https://api.github.com/repos/stefan-feltmann/WOUCSAndroidProject/issues/6","id":4767845,"assignee":{"gravatar_id":"1b0a25a7a51f23f5b2b2e0c81a565d0e","avatar_url":"https://secure.gravatar.com/avatar/1b0a25a7a51f23f5b2b2e0c81a565d0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stefan-feltmann","id":1563182,"login":"stefan-feltmann"},"milestone":{"number":1,"due_on":"2012-05-31T07:00:00Z","created_at":"2012-05-26T07:19:21Z","title":"Ready for demo","creator":{"gravatar_id":"1b0a25a7a51f23f5b2b2e0c81a565d0e","avatar_url":"https://secure.gravatar.com/avatar/1b0a25a7a51f23f5b2b2e0c81a565d0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stefan-feltmann","id":1563182,"login":"stefan-feltmann"},"url":"https://api.github.com/repos/stefan-feltmann/WOUCSAndroidProject/milestones/1","id":124306,"open_issues":5,"closed_issues":1,"description":"It needs to be ready to demo.","state":"open"},"closed_at":null,"user":{"gravatar_id":"1b0a25a7a51f23f5b2b2e0c81a565d0e","avatar_url":"https://secure.gravatar.com/avatar/1b0a25a7a51f23f5b2b2e0c81a565d0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stefan-feltmann","id":1563182,"login":"stefan-feltmann"},"labels":[],"html_url":"https://github.com/stefan-feltmann/WOUCSAndroidProject/issues/6","state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/stefan-feltmann/WOUCSAndroidProject","id":3794776,"name":"stefan-feltmann/WOUCSAndroidProject"},"created_at":"2012-05-26T20:10:36Z","id":"1556178200","actor":{"gravatar_id":"1b0a25a7a51f23f5b2b2e0c81a565d0e","url":"https://api.github.com/users/stefan-feltmann","avatar_url":"https://secure.gravatar.com/avatar/1b0a25a7a51f23f5b2b2e0c81a565d0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1563182,"login":"stefan-feltmann"}},{"type":"PushEvent","payload":{"head":"e3d849d9ee5d68c5bac77d16dc4418e59507a76a","size":1,"push_id":80706702,"ref":"refs/heads/master","commits":[{"sha":"e3d849d9ee5d68c5bac77d16dc4418e59507a76a","author":{"name":"Buri","email":"buri.buster@gmail.com"},"url":"https://api.github.com/repos/Buri/Aragorn.cz/commits/e3d849d9ee5d68c5bac77d16dc4418e59507a76a","distinct":true,"message":"Forum rework"}]},"public":true,"repo":{"url":"https://api.github.com/repos/Buri/Aragorn.cz","id":1693702,"name":"Buri/Aragorn.cz"},"created_at":"2012-05-26T20:10:35Z","id":"1556178199","actor":{"gravatar_id":"7958f5d3b335658aa38b330b5da185d3","url":"https://api.github.com/users/Buri","avatar_url":"https://secure.gravatar.com/avatar/7958f5d3b335658aa38b330b5da185d3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":169319,"login":"Buri"}},{"type":"PushEvent","payload":{"head":"f912237671fb872a034138f987f1de994c1b46d0","size":1,"push_id":80706701,"ref":"refs/heads/master","commits":[{"sha":"f912237671fb872a034138f987f1de994c1b46d0","author":{"name":"Taito Horiuchi","email":"taito.horiuchi@gmail.com"},"url":"https://api.github.com/repos/taito/santa.templates/commits/f912237671fb872a034138f987f1de994c1b46d0","distinct":true,"message":"Translation fixed."}]},"public":true,"repo":{"url":"https://api.github.com/repos/taito/santa.templates","id":4246341,"name":"taito/santa.templates"},"created_at":"2012-05-26T20:10:35Z","id":"1556178196","actor":{"gravatar_id":"0c9a3666ce6afa21d9f65c1d28fd132c","url":"https://api.github.com/users/taito","avatar_url":"https://secure.gravatar.com/avatar/0c9a3666ce6afa21d9f65c1d28fd132c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":707769,"login":"taito"}},{"type":"ForkEvent","payload":{"forkee":{"name":"escapes.js","size":356,"has_wiki":false,"created_at":"2012-05-26T20:10:34Z","clone_url":"https://github.com/slashben/escapes.js.git","public":true,"watchers":1,"private":false,"updated_at":"2012-05-26T20:10:34Z","language":"JavaScript","git_url":"git://github.com/slashben/escapes.js.git","fork":true,"url":"https://api.github.com/repos/slashben/escapes.js","ssh_url":"git@github.com:slashben/escapes.js.git","id":4457500,"svn_url":"https://github.com/slashben/escapes.js","pushed_at":"2012-02-24T20:15:58Z","mirror_url":null,"has_downloads":true,"open_issues":0,"full_name":"slashben/escapes.js","has_issues":false,"homepage":"http://atdt.github.com/escapes.js/","description":"Render ANSI art using HTML5 / JavaScript","forks":0,"html_url":"https://github.com/slashben/escapes.js","owner":{"gravatar_id":"f13fc45cd1b66df0be9707c433d4828d","avatar_url":"https://secure.gravatar.com/avatar/f13fc45cd1b66df0be9707c433d4828d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/slashben","id":1594924,"login":"slashben"}}},"public":true,"repo":{"url":"https://api.github.com/repos/atdt/escapes.js","id":3151778,"name":"atdt/escapes.js"},"created_at":"2012-05-26T20:10:35Z","id":"1556178195","actor":{"gravatar_id":"f13fc45cd1b66df0be9707c433d4828d","url":"https://api.github.com/users/slashben","avatar_url":"https://secure.gravatar.com/avatar/f13fc45cd1b66df0be9707c433d4828d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1594924,"login":"slashben"}},{"type":"PushEvent","payload":{"head":"3ba4533ca1577abe30ae37f69ddab47248d59d53","size":1,"push_id":80706700,"ref":"refs/heads/master","commits":[{"sha":"3ba4533ca1577abe30ae37f69ddab47248d59d53","author":{"name":"Mike Stone","email":"stonemj@gmail.com"},"url":"https://api.github.com/repos/mikestone/nginxtra/commits/3ba4533ca1577abe30ae37f69ddab47248d59d53","distinct":true,"message":"Rename option to compile_option to help avoid potential name conflicts (method_missing...)."}]},"public":true,"repo":{"url":"https://api.github.com/repos/mikestone/nginxtra","id":4453685,"name":"mikestone/nginxtra"},"created_at":"2012-05-26T20:10:35Z","id":"1556178194","actor":{"gravatar_id":"c8ba7ccacc70a7b826184e8d717bfcd7","url":"https://api.github.com/users/mikestone","avatar_url":"https://secure.gravatar.com/avatar/c8ba7ccacc70a7b826184e8d717bfcd7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":150632,"login":"mikestone"}},{"type":"PullRequestEvent","payload":{"number":29,"pull_request":{"head":{"label":"pahko:patch-1","repo":{"name":"escape-lounge","size":108,"has_wiki":true,"created_at":"2012-05-26T20:09:41Z","clone_url":"https://github.com/pahko/escape-lounge.git","watchers":1,"private":false,"updated_at":"2012-05-26T20:10:21Z","language":"JavaScript","fork":true,"url":"https://api.github.com/repos/pahko/escape-lounge","git_url":"git://github.com/pahko/escape-lounge.git","ssh_url":"git@github.com:pahko/escape-lounge.git","id":4457492,"svn_url":"https://github.com/pahko/escape-lounge","pushed_at":"2012-05-26T20:10:20Z","mirror_url":null,"has_downloads":true,"open_issues":0,"full_name":"pahko/escape-lounge","has_issues":false,"homepage":null,"description":"Page like getawaylounge.com.au","forks":0,"html_url":"https://github.com/pahko/escape-lounge","owner":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"sha":"f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","ref":"patch-1","user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"number":29,"issue_url":"https://github.com/orozcogera/escape-lounge/issues/29","merged_by":null,"created_at":"2012-05-26T20:10:29Z","changed_files":1,"merged":false,"body":"","comments":0,"title":"Update README.md","diff_url":"https://github.com/orozcogera/escape-lounge/pull/29.diff","updated_at":"2012-05-26T20:10:34Z","additions":2,"url":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29","_links":{"html":{"href":"https://github.com/orozcogera/escape-lounge/pull/29"},"self":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29"},"comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29/comments"},"issue":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29"},"review_comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29/comments"}},"id":1435458,"patch_url":"https://github.com/orozcogera/escape-lounge/pull/29.patch","mergeable":true,"merged_at":null,"commits":1,"closed_at":"2012-05-26T20:10:34Z","user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"},"review_comments":0,"deletions":3,"html_url":"https://github.com/orozcogera/escape-lounge/pull/29","state":"closed","base":{"label":"orozcogera:master","repo":{"name":"escape-lounge","size":11504,"has_wiki":true,"created_at":"2012-05-16T15:33:54Z","clone_url":"https://github.com/orozcogera/escape-lounge.git","watchers":2,"private":false,"updated_at":"2012-05-26T20:09:41Z","language":"JavaScript","fork":false,"url":"https://api.github.com/repos/orozcogera/escape-lounge","git_url":"git://github.com/orozcogera/escape-lounge.git","ssh_url":"git@github.com:orozcogera/escape-lounge.git","id":4348574,"svn_url":"https://github.com/orozcogera/escape-lounge","pushed_at":"2012-05-25T04:15:07Z","mirror_url":null,"has_downloads":true,"open_issues":5,"full_name":"orozcogera/escape-lounge","has_issues":true,"homepage":null,"description":"Page like getawaylounge.com.au","forks":2,"html_url":"https://github.com/orozcogera/escape-lounge","owner":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}},"sha":"c74beb5b64464d892fe1168c4bba4a8260594be2","ref":"master","user":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}}},"action":"closed"},"public":true,"repo":{"url":"https://api.github.com/repos/orozcogera/escape-lounge","id":4348574,"name":"orozcogera/escape-lounge"},"created_at":"2012-05-26T20:10:34Z","id":"1556178192","actor":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","url":"https://api.github.com/users/pahko","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":572114,"login":"pahko"}},{"type":"ForkEvent","payload":{"forkee":{"name":"Perlbal","master_branch":"master","size":312,"has_wiki":true,"created_at":"2012-05-26T20:10:32Z","clone_url":"https://github.com/micmac/Perlbal.git","public":true,"watchers":1,"private":false,"updated_at":"2012-05-26T20:10:32Z","git_url":"git://github.com/micmac/Perlbal.git","fork":true,"url":"https://api.github.com/repos/micmac/Perlbal","language":"Perl","ssh_url":"git@github.com:micmac/Perlbal.git","id":4457499,"svn_url":"https://github.com/micmac/Perlbal","pushed_at":"2012-03-18T22:55:34Z","mirror_url":null,"has_downloads":true,"open_issues":0,"full_name":"micmac/Perlbal","has_issues":false,"homepage":"http://perlbal.org/","description":"Perl HTTP Load Balancer","forks":0,"html_url":"https://github.com/micmac/Perlbal","owner":{"gravatar_id":"70c5b8a9f65872ac089c773175aa5f10","avatar_url":"https://secure.gravatar.com/avatar/70c5b8a9f65872ac089c773175aa5f10?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/micmac","id":206625,"login":"micmac"}}},"public":true,"repo":{"url":"https://api.github.com/repos/perlbal/Perlbal","id":920387,"name":"perlbal/Perlbal"},"org":{"gravatar_id":"91293234d5655b7a16a6f8bf2cf4186a","url":"https://api.github.com/orgs/perlbal","avatar_url":"https://secure.gravatar.com/avatar/91293234d5655b7a16a6f8bf2cf4186a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":229885,"login":"perlbal"},"created_at":"2012-05-26T20:10:32Z","id":"1556178191","actor":{"gravatar_id":"70c5b8a9f65872ac089c773175aa5f10","url":"https://api.github.com/users/micmac","avatar_url":"https://secure.gravatar.com/avatar/70c5b8a9f65872ac089c773175aa5f10?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":206625,"login":"micmac"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":"master","ref_type":"branch","description":"This is a test repository"},"public":true,"repo":{"url":"https://api.github.com/repos/zintusys/zintutest","id":4457237,"name":"zintusys/zintutest"},"created_at":"2012-05-26T20:10:31Z","id":"1556178189","actor":{"gravatar_id":"cab57efb098e76b5898d7f7a884b69ce","url":"https://api.github.com/users/zintusys","avatar_url":"https://secure.gravatar.com/avatar/cab57efb098e76b5898d7f7a884b69ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1662566,"login":"zintusys"}},{"type":"PullRequestEvent","payload":{"number":29,"pull_request":{"head":{"label":"pahko:patch-1","repo":{"name":"escape-lounge","size":108,"has_wiki":true,"created_at":"2012-05-26T20:09:41Z","clone_url":"https://github.com/pahko/escape-lounge.git","watchers":1,"private":false,"updated_at":"2012-05-26T20:10:21Z","fork":true,"language":"JavaScript","git_url":"git://github.com/pahko/escape-lounge.git","url":"https://api.github.com/repos/pahko/escape-lounge","ssh_url":"git@github.com:pahko/escape-lounge.git","id":4457492,"svn_url":"https://github.com/pahko/escape-lounge","pushed_at":"2012-05-26T20:10:20Z","has_downloads":true,"mirror_url":null,"open_issues":0,"full_name":"pahko/escape-lounge","has_issues":false,"homepage":null,"description":"Page like getawaylounge.com.au","forks":0,"html_url":"https://github.com/pahko/escape-lounge","owner":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"sha":"f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","ref":"patch-1","user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"}},"number":29,"issue_url":"https://github.com/orozcogera/escape-lounge/issues/29","merged_by":null,"changed_files":1,"created_at":"2012-05-26T20:10:29Z","merged":false,"body":"","comments":0,"title":"Update README.md","diff_url":"https://github.com/orozcogera/escape-lounge/pull/29.diff","updated_at":"2012-05-26T20:10:29Z","additions":2,"url":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29","_links":{"html":{"href":"https://github.com/orozcogera/escape-lounge/pull/29"},"self":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29"},"comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29/comments"},"issue":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/issues/29"},"review_comments":{"href":"https://api.github.com/repos/orozcogera/escape-lounge/pulls/29/comments"}},"id":1435458,"patch_url":"https://github.com/orozcogera/escape-lounge/pull/29.patch","mergeable":null,"merged_at":null,"closed_at":null,"commits":1,"user":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pahko","id":572114,"login":"pahko"},"review_comments":0,"deletions":3,"html_url":"https://github.com/orozcogera/escape-lounge/pull/29","state":"open","base":{"label":"orozcogera:master","repo":{"name":"escape-lounge","size":11504,"has_wiki":true,"created_at":"2012-05-16T15:33:54Z","clone_url":"https://github.com/orozcogera/escape-lounge.git","watchers":2,"private":false,"updated_at":"2012-05-26T20:09:41Z","fork":false,"language":"JavaScript","git_url":"git://github.com/orozcogera/escape-lounge.git","url":"https://api.github.com/repos/orozcogera/escape-lounge","ssh_url":"git@github.com:orozcogera/escape-lounge.git","id":4348574,"svn_url":"https://github.com/orozcogera/escape-lounge","pushed_at":"2012-05-25T04:15:07Z","has_downloads":true,"mirror_url":null,"open_issues":6,"full_name":"orozcogera/escape-lounge","has_issues":true,"homepage":null,"description":"Page like getawaylounge.com.au","forks":2,"html_url":"https://github.com/orozcogera/escape-lounge","owner":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}},"sha":"c74beb5b64464d892fe1168c4bba4a8260594be2","ref":"master","user":{"gravatar_id":"a0a1b546caac87b0e2f83b22578e7dec","avatar_url":"https://secure.gravatar.com/avatar/a0a1b546caac87b0e2f83b22578e7dec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/orozcogera","id":1656019,"login":"orozcogera"}}},"action":"opened"},"public":true,"repo":{"url":"https://api.github.com/repos/orozcogera/escape-lounge","id":4348574,"name":"orozcogera/escape-lounge"},"created_at":"2012-05-26T20:10:30Z","id":"1556178187","actor":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","url":"https://api.github.com/users/pahko","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":572114,"login":"pahko"}},{"type":"PushEvent","payload":{"head":"fb608d79da377cd62b90f5efc5993a04b74128b5","size":2,"push_id":80706695,"commits":[{"sha":"48b2f9c539f4b6c8e3b8830547734f0be65829ed","author":{"name":"François Poirotte","email":"clicky@erebot.net"},"url":"https://api.github.com/repos/Erebot/Erebot_Module_Admin/commits/48b2f9c539f4b6c8e3b8830547734f0be65829ed","distinct":true,"message":"Fix build for travis-ci."},{"sha":"fb608d79da377cd62b90f5efc5993a04b74128b5","author":{"name":"François Poirotte","email":"clicky@erebot.net"},"url":"https://api.github.com/repos/Erebot/Erebot_Module_Admin/commits/fb608d79da377cd62b90f5efc5993a04b74128b5","distinct":true,"message":"Merge branch 'master' of github.com:Erebot/Erebot_Module_Admin"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/Erebot/Erebot_Module_Admin","id":2165778,"name":"Erebot/Erebot_Module_Admin"},"org":{"gravatar_id":"6882737b0542ce27644cb7c327ac9f12","url":"https://api.github.com/orgs/Erebot","avatar_url":"https://secure.gravatar.com/avatar/6882737b0542ce27644cb7c327ac9f12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":1494625,"login":"Erebot"},"created_at":"2012-05-26T20:10:29Z","id":"1556178185","actor":{"gravatar_id":"adf15294c19648e1fac2509bd42d01c7","url":"https://api.github.com/users/fpoirotte","avatar_url":"https://secure.gravatar.com/avatar/adf15294c19648e1fac2509bd42d01c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":499919,"login":"fpoirotte"}},{"type":"PushEvent","payload":{"head":"fa2ed00079275e676882e487dbeb75f802760b33","size":2,"push_id":80706691,"commits":[{"sha":"3a94206fa09f16c1732558adce1a3a88bbdf18da","author":{"name":"amaitland","email":"amaitland@b6a209e6-650d-0410-972b-dadffa731f64"},"url":"https://api.github.com/repos/pcgen-svn/pcgen-svn/commits/3a94206fa09f16c1732558adce1a3a88bbdf18da","distinct":true,"message":"This is showing as changed, but can't pull a log difference.\n\ngit-svn-id: https://pcgen.svn.sourceforge.net/svnroot/pcgen/Trunk/pcgen@16749 b6a209e6-650d-0410-972b-dadffa731f64"},{"sha":"fa2ed00079275e676882e487dbeb75f802760b33","author":{"name":"amaitland","email":"amaitland@b6a209e6-650d-0410-972b-dadffa731f64"},"url":"https://api.github.com/repos/pcgen-svn/pcgen-svn/commits/fa2ed00079275e676882e487dbeb75f802760b33","distinct":true,"message":"\t\n[Distant Horizons Games] The Practical Enchanter\nUpdates\nIssue#: NEWSOURCE-4\n\n\ngit-svn-id: https://pcgen.svn.sourceforge.net/svnroot/pcgen/Trunk/pcgen@16750 b6a209e6-650d-0410-972b-dadffa731f64"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/pcgen-svn/pcgen-svn","id":3355411,"name":"pcgen-svn/pcgen-svn"},"created_at":"2012-05-26T20:10:25Z","id":"1556178179","actor":{"gravatar_id":"522faa929df7935f1b2d9e0d4ed09d60","url":"https://api.github.com/users/pcgen-svn","avatar_url":"https://secure.gravatar.com/avatar/522faa929df7935f1b2d9e0d4ed09d60?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1408391,"login":"pcgen-svn"}},{"type":"PushEvent","payload":{"head":"ecd011a36b1b91258d614a3a9a5cae28dcf26881","size":8,"push_id":80706690,"ref":"refs/heads/devel","commits":[{"sha":"26e2f1d1cf0c4d2c823029541fa54dc1bc67fa74","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/26e2f1d1cf0c4d2c823029541fa54dc1bc67fa74","distinct":true,"message":"cleanup"},{"sha":"c8810e6c188424925323dec22f29e67645d4ee2e","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/c8810e6c188424925323dec22f29e67645d4ee2e","distinct":true,"message":"added missing isConnected"},{"sha":"3c4b15f14c0bc89311db4fd8ba2f2590d97d9f48","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/3c4b15f14c0bc89311db4fd8ba2f2590d97d9f48","distinct":true,"message":"added missing file"},{"sha":"4aad80642091ea66825556588b8b1a8a37c0e8c4","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/4aad80642091ea66825556588b8b1a8a37c0e8c4","distinct":true,"message":"added missing file"},{"sha":"a3c692d714ffc37e9277ab5497ef7034fb4df981","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/a3c692d714ffc37e9277ab5497ef7034fb4df981","distinct":true,"message":"cleanup AddressPort"},{"sha":"555605dfb400fc6b31198508f2fd2aff3427439c","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/555605dfb400fc6b31198508f2fd2aff3427439c","distinct":true,"message":"mruby client connection"},{"sha":"2ed6ae66fee971f3618c77c5d79940d9f07db2ef","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/2ed6ae66fee971f3618c77c5d79940d9f07db2ef","distinct":true,"message":"mruby client connection"},{"sha":"ecd011a36b1b91258d614a3a9a5cae28dcf26881","author":{"name":"Frank Celler","email":"f.celler@triagens.de"},"url":"https://api.github.com/repos/triAGENS/ArangoDB/commits/ecd011a36b1b91258d614a3a9a5cae28dcf26881","distinct":true,"message":"added valgrind sleep"}]},"public":true,"repo":{"url":"https://api.github.com/repos/triAGENS/ArangoDB","id":2649214,"name":"triAGENS/ArangoDB"},"org":{"gravatar_id":"76a220a4fa407ecfb795a8186c099c52","url":"https://api.github.com/orgs/triAGENS","avatar_url":"https://secure.gravatar.com/avatar/76a220a4fa407ecfb795a8186c099c52?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":391956,"login":"triAGENS"},"created_at":"2012-05-26T20:10:24Z","id":"1556178178","actor":{"gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":392005,"login":"fceller"}},{"type":"ForkEvent","payload":{"forkee":{"name":"websocket.io","size":168,"has_wiki":true,"created_at":"2012-05-26T20:10:22Z","clone_url":"https://github.com/florentx/websocket.io.git","public":true,"watchers":1,"private":false,"updated_at":"2012-05-26T20:10:22Z","fork":true,"git_url":"git://github.com/florentx/websocket.io.git","url":"https://api.github.com/repos/florentx/websocket.io","language":"JavaScript","ssh_url":"git@github.com:florentx/websocket.io.git","id":4457498,"svn_url":"https://github.com/florentx/websocket.io","pushed_at":"2012-05-01T02:14:09Z","mirror_url":null,"has_downloads":true,"open_issues":0,"full_name":"florentx/websocket.io","has_issues":false,"homepage":"","description":"","forks":0,"html_url":"https://github.com/florentx/websocket.io","owner":{"gravatar_id":"df4a6858794ecf84eae5afb37bf276ba","avatar_url":"https://secure.gravatar.com/avatar/df4a6858794ecf84eae5afb37bf276ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/florentx","id":142113,"login":"florentx"}}},"public":true,"repo":{"url":"https://api.github.com/repos/LearnBoost/websocket.io","id":2803817,"name":"LearnBoost/websocket.io"},"org":{"gravatar_id":"07100ee5e8dedd7c96195b2aa422dbb5","url":"https://api.github.com/orgs/LearnBoost","avatar_url":"https://secure.gravatar.com/avatar/07100ee5e8dedd7c96195b2aa422dbb5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":204174,"login":"LearnBoost"},"created_at":"2012-05-26T20:10:23Z","id":"1556178176","actor":{"gravatar_id":"df4a6858794ecf84eae5afb37bf276ba","url":"https://api.github.com/users/florentx","avatar_url":"https://secure.gravatar.com/avatar/df4a6858794ecf84eae5afb37bf276ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142113,"login":"florentx"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/capttaco/Briefs","id":250217,"name":"capttaco/Briefs"},"created_at":"2012-05-26T20:10:22Z","id":"1556178174","actor":{"gravatar_id":"ec3da2446aa2be99a27fb3d71dd0c4fa","url":"https://api.github.com/users/fdb","avatar_url":"https://secure.gravatar.com/avatar/ec3da2446aa2be99a27fb3d71dd0c4fa?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":8477,"login":"fdb"}},{"type":"PushEvent","payload":{"head":"4e3ba6b1909b06c4baef1e2017973de7ebce9474","size":3,"push_id":80706689,"ref":"refs/heads/master","commits":[{"sha":"21f8bacb3af04bac634ff61a26fc46751b995275","author":{"name":"Nils Maier","email":"maierman@web.de"},"url":"https://api.github.com/repos/downthemall/downthemall-mirror/commits/21f8bacb3af04bac634ff61a26fc46751b995275","distinct":true,"message":"mac: Distinguish hover states better for #action toolbarbuttons"},{"sha":"6118a94cd3a884b5a089b1214fefbbdda46b7dab","author":{"name":"Nils Maier","email":"maierman@web.de"},"url":"https://api.github.com/repos/downthemall/downthemall-mirror/commits/6118a94cd3a884b5a089b1214fefbbdda46b7dab","distinct":true,"message":"#2215: Only the manager must take care of rebooting"},{"sha":"4e3ba6b1909b06c4baef1e2017973de7ebce9474","author":{"name":"Nils Maier","email":"maierman@web.de"},"url":"https://api.github.com/repos/downthemall/downthemall-mirror/commits/4e3ba6b1909b06c4baef1e2017973de7ebce9474","distinct":true,"message":"SaveAs: Show the button as a toolbar button\n\nAlso put the saveas.css file where it belongs"}]},"public":true,"repo":{"url":"https://api.github.com/repos/downthemall/downthemall-mirror","id":1336743,"name":"downthemall/downthemall-mirror"},"org":{"gravatar_id":"dc5ae3f7381764005a57cdf0cd0a814b","url":"https://api.github.com/orgs/downthemall","avatar_url":"https://secure.gravatar.com/avatar/dc5ae3f7381764005a57cdf0cd0a814b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":1041247,"login":"downthemall"},"created_at":"2012-05-26T20:10:21Z","id":"1556178173","actor":{"gravatar_id":"4738af770d803e8c733510b794651bae","url":"https://api.github.com/users/nmaier","avatar_url":"https://secure.gravatar.com/avatar/4738af770d803e8c733510b794651bae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":383665,"login":"nmaier"}},{"type":"PushEvent","payload":{"head":"67b1545f946124bb19e5fde498680b939e150ed8","size":3,"push_id":80706688,"commits":[{"sha":"0229a16f35481308bf97ff995a3c76c88e2b7c7e","author":{"name":"Eric Mill","email":"konklone@gmail.com"},"url":"https://api.github.com/repos/sunlightlabs/scout/commits/0229a16f35481308bf97ff995a3c76c88e2b7c7e","distinct":true,"message":"Tried again on spacing"},{"sha":"de870bc1a8cd9ff4104d52be54999dded7323ce9","author":{"name":"Eric Mill","email":"konklone@gmail.com"},"url":"https://api.github.com/repos/sunlightlabs/scout/commits/de870bc1a8cd9ff4104d52be54999dded7323ce9","distinct":true,"message":"Made the search bar act like a filter on the search page, remember the current search, and keep the current subscription type"},{"sha":"67b1545f946124bb19e5fde498680b939e150ed8","author":{"name":"Eric Mill","email":"konklone@gmail.com"},"url":"https://api.github.com/repos/sunlightlabs/scout/commits/67b1545f946124bb19e5fde498680b939e150ed8","distinct":true,"message":"Simplified main search bar code, made it further act like a filter and preserve existing filters"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/sunlightlabs/scout","id":2148752,"name":"sunlightlabs/scout"},"org":{"gravatar_id":"83fc7b3fdb0a6d29e064ebb44f0efa8c","url":"https://api.github.com/orgs/sunlightlabs","avatar_url":"https://secure.gravatar.com/avatar/83fc7b3fdb0a6d29e064ebb44f0efa8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":40420,"login":"sunlightlabs"},"created_at":"2012-05-26T20:10:21Z","id":"1556178172","actor":{"gravatar_id":"2d61a1c4fc40720b60e99be64d883297","url":"https://api.github.com/users/konklone","avatar_url":"https://secure.gravatar.com/avatar/2d61a1c4fc40720b60e99be64d883297?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":4592,"login":"konklone"}},{"type":"PushEvent","payload":{"head":"f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","size":1,"push_id":80706687,"commits":[{"sha":"f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","author":{"name":"Francisco Albarran Cristobal","email":"pahko.xd@gmail.com"},"url":"https://api.github.com/repos/pahko/escape-lounge/commits/f1ec182b989cc5ff1713ffd7d901f787c2d7ab05","distinct":true,"message":"Update README.md"}],"ref":"refs/heads/patch-1"},"public":true,"repo":{"url":"https://api.github.com/repos/pahko/escape-lounge","id":4457492,"name":"pahko/escape-lounge"},"created_at":"2012-05-26T20:10:21Z","id":"1556178171","actor":{"gravatar_id":"ef8bbfccfd0dd146907f7a008fe57f43","url":"https://api.github.com/users/pahko","avatar_url":"https://secure.gravatar.com/avatar/ef8bbfccfd0dd146907f7a008fe57f43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":572114,"login":"pahko"}},{"type":"PushEvent","payload":{"head":"5a2929c5912bbd6c1e305825fcbecc9ab28c85fa","size":1,"push_id":80706685,"commits":[{"sha":"5a2929c5912bbd6c1e305825fcbecc9ab28c85fa","author":{"name":"ericpyle","email":"eric.d.pyle@gmail.com"},"url":"https://api.github.com/repos/ericpyle/kayak/commits/5a2929c5912bbd6c1e305825fcbecc9ab28c85fa","distinct":true,"message":"use scripture range for now"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/ericpyle/kayak","id":3819394,"name":"ericpyle/kayak"},"created_at":"2012-05-26T20:10:20Z","id":"1556178167","actor":{"gravatar_id":"08214a539f6f189a4012616fd57a7ba7","url":"https://api.github.com/users/ericpyle","avatar_url":"https://secure.gravatar.com/avatar/08214a539f6f189a4012616fd57a7ba7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1125565,"login":"ericpyle"}}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetGists.txt b/github/tests/ReplayData/AuthenticatedUser.testGetGists.txt deleted file mode 100644 index d87ba0d..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetGists.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/gists -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '4507'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"868b9c31808f738e0f03284a2e538a41"'), ('date', 'Sat, 26 May 2012 20:14:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-26T11:08:22Z","url":"https://api.github.com/gists/2793505","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2793505.git","git_push_url":"git@gist.github.com:2793505.git","files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2793505/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":null,"created_at":"2012-05-26T11:08:22Z","id":"2793505","html_url":"https://gist.github.com/2793505"},{"updated_at":"2012-05-26T10:09:33Z","url":"https://api.github.com/gists/2793179","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2793179.git","git_push_url":"git@gist.github.com:2793179.git","files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-26T09:50:02Z","id":"2793179","html_url":"https://gist.github.com/2793179"},{"updated_at":"2012-04-26T13:20:53Z","url":"https://api.github.com/gists/11cb445f8197e17d303d","comments":0,"public":false,"git_pull_url":"git://gist.github.com/11cb445f8197e17d303d.git","git_push_url":"git@gist.github.com:11cb445f8197e17d303d.git","files":{"FairThreadPoolPool.cpp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/11cb445f8197e17d303d/0f72c6fe50eb011eacb4e39fa613bdfe2f7a0c51/FairThreadPoolPool.cpp","size":7779,"filename":"FairThreadPoolPool.cpp","language":"C++"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"FairThreadPoolPool.cpp","created_at":"2012-04-26T13:20:53Z","id":"11cb445f8197e17d303d","html_url":"https://gist.github.com/11cb445f8197e17d303d"},{"updated_at":"2012-02-29T16:47:12Z","url":"https://api.github.com/gists/1942384","comments":0,"public":true,"git_pull_url":"git://gist.github.com/1942384.git","git_push_url":"git@gist.github.com:1942384.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","language":"Python"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"1942384","html_url":"https://gist.github.com/1942384"},{"updated_at":"2012-02-28T19:44:42Z","url":"https://api.github.com/gists/dcb7de17e8a52b74541d","comments":1,"public":false,"git_pull_url":"git://gist.github.com/dcb7de17e8a52b74541d.git","git_push_url":"git@gist.github.com:dcb7de17e8a52b74541d.git","files":{"cadfael.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/dcb7de17e8a52b74541d/48ca696645682d7430d73180814434e0284796b2/cadfael.txt","size":585,"filename":"cadfael.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Cadfael: order of episodes in French DVD edition","created_at":"2012-02-28T19:44:42Z","id":"dcb7de17e8a52b74541d","html_url":"https://gist.github.com/dcb7de17e8a52b74541d"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetIssues.txt b/github/tests/ReplayData/AuthenticatedUser.testGetIssues.txt deleted file mode 100644 index 0a33e7a..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('content-length', '43238'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"079a70319db4b8e496afd6236e20f5bb"'), ('date', 'Sat, 26 May 2012 20:16:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442},"title":"Facilitate IDE autocompletion","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-18T11:06:11Z","body":"As per discussion in 6945921c529be14c3a8f566dd1e483674516d46d\n\nI have observed that autocompletion (using PyDev+Eclipse in my case) is pretty erratic.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to `NamedUsers`/`AuthenticatedUser`, really) does not show autocompletion to `g.get_user().get_repo()`.\n\nThis makes exploring the library/API a bit cumbersome. ","number":27,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/27","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/27","labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"id":4639931,"created_at":"2012-05-18T10:52:29Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"List project(s) using PyGithub","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","number":25,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/25","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"id":4452000,"created_at":"2012-05-07T10:49:06Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"title":"Improve error messages on broken requests","comments":2,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","number":24,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"id":4356743,"created_at":"2012-04-30T20:01:20Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Rework GitTree.recursive","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-19T19:08:18Z","body":"","number":20,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/20","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/20","labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"id":3716033,"created_at":"2012-03-19T19:08:18Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Rework Github.get_gists","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-19T19:04:19Z","body":"In general, when you get a collection, you should get an iterable, and the pagination should be done only if needed. This is mandatory for Github.get_gists","number":19,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/19","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/19","labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"id":3715946,"created_at":"2012-03-19T19:04:19Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Take care of _identity","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-14T06:49:31Z","body":"","number":18,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/18","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/18","labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"id":3643837,"created_at":"2012-03-14T06:49:31Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Document issue reporting","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-13T12:09:48Z","body":"","number":17,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/17","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/17","labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"id":3628022,"created_at":"2012-03-13T12:09:48Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Add copyright and license notice","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-13T07:04:42Z","body":"","number":16,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/16","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/16","labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"id":3624595,"created_at":"2012-03-13T06:25:31Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Rework BaseUrl to use tuples instead of string concatenation","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-13T06:23:35Z","body":"","number":14,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/14","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/14","labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"id":3624570,"created_at":"2012-03-13T06:23:35Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Remove the _repo hugly hack","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-13T06:22:27Z","body":"","number":13,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/13","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/13","labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"id":3624561,"created_at":"2012-03-13T06:22:27Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Structure some InternalSimpleAttributes","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-13T06:21:57Z","body":"","number":12,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/12","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/12","labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"id":3624556,"created_at":"2012-03-13T06:21:57Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Publish version 1.0","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-12T21:58:05Z","body":"","number":9,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/9","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"id":3619973,"created_at":"2012-03-12T21:58:05Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Review public interface homogeneity ","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-08T12:23:29Z","body":"","number":4,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/4","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4","labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"id":3527266,"created_at":"2012-03-06T16:48:40Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":null,"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Deduce mandatory parameters","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-19T06:42:43Z","body":"","number":3,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/3","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3","labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"id":3527245,"created_at":"2012-03-06T16:47:49Z"},{"repository":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T18:33:41Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T11:25:48Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":14,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"milestone":{"state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"closed_issues":2,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Use objects as parameters instead of shas, ids, etc.","comments":0,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-03-08T12:23:29Z","body":"","number":2,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/2","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/2","labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"id":3527231,"created_at":"2012-03-06T16:46:49Z"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetIssuesWithAllArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testGetIssuesWithAllArguments.txt deleted file mode 100644 index add1157..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetIssuesWithAllArguments.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1496'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:34:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T11:20:54Z","public_gists":3,"total_private_repos":4,"owned_private_repos":4,"disk_usage":17188,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6,"site_admin":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4663'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 13 May 2013 21:44:12 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2184e9e10f0a22eb0f1eceed39d728da"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:34:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":55} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Requested%20by%20user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '125'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 12 Sep 2012 18:38:55 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4255e5086bc19b2096e05eb6dad041ee"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:34:59 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"} - -https -GET -api.github.com -None -/issues?sort=comments&direction=asc&since=2012-05-28T23%3A00%3A00Z&labels=Requested+by+user&filter=assigned&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '276385'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:35:00 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/events","html_url":"https://github.com/jacquev6/PyGithub/issues/81","id":6816576,"number":81,"title":"Complete Legacy.convertXxx","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":0,"created_at":"2012-09-12T12:14:46Z","updated_at":"2012-09-12T18:40:47Z","closed_at":"2012-09-12T18:40:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Legacy.convertXxx discards some useful information and this leads to API calls that could be avoided."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/events","html_url":"https://github.com/jacquev6/PyGithub/issues/116","id":8495415,"number":116,"title":"Assertion failure on big numbers","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17/labels","id":215837,"number":17,"title":"Version 1.9.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":2,"state":"closed","created_at":"2012-11-20T07:36:46Z","updated_at":"2012-11-20T18:42:30Z","due_on":null},"comments":0,"created_at":"2012-11-20T07:35:10Z","updated_at":"2012-11-20T18:42:08Z","closed_at":"2012-11-20T18:42:08Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"(Issue reported by private mail)\n\nIn some Github Enterprise install, there can be a plan with 999999999999 private repositories. This doesn't fit in an int, but in a long. The assertion `isinstance(attributes[\"private_repos\"], int)` on https://github.com/jacquev6/PyGithub/blob/master/github/Plan.py#L50 fails.\n\nI will replace all occurrences of `isinstance(xxx, int)` by `isinstance(x, (int, long))`."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/events","html_url":"https://github.com/jacquev6/PyGithub/issues/86","id":6889934,"number":86,"title":"Include tests in pypi tarball","user":{"login":"koobs","id":1011612,"avatar_url":"https://secure.gravatar.com/avatar/a083cdd9096b4a5623a298d6b4d590a8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a083cdd9096b4a5623a298d6b4d590a8","url":"https://api.github.com/users/koobs","html_url":"https://github.com/koobs","followers_url":"https://api.github.com/users/koobs/followers","following_url":"https://api.github.com/users/koobs/following{/other_user}","gists_url":"https://api.github.com/users/koobs/gists{/gist_id}","starred_url":"https://api.github.com/users/koobs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koobs/subscriptions","organizations_url":"https://api.github.com/users/koobs/orgs","repos_url":"https://api.github.com/users/koobs/repos","events_url":"https://api.github.com/users/koobs/events{/privacy}","received_events_url":"https://api.github.com/users/koobs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":1,"created_at":"2012-09-14T23:22:10Z","updated_at":"2012-09-17T16:57:45Z","closed_at":"2012-09-17T16:57:45Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Will help QA and regression test the devel/py-pygithub FreeBSD port"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/events","html_url":"https://github.com/jacquev6/PyGithub/issues/114","id":8339699,"number":114,"title":"typo in ReadMe.md","user":{"login":"tymofij","id":123786,"avatar_url":"https://secure.gravatar.com/avatar/253b410d7a41999c754970a3aa34834e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"253b410d7a41999c754970a3aa34834e","url":"https://api.github.com/users/tymofij","html_url":"https://github.com/tymofij","followers_url":"https://api.github.com/users/tymofij/followers","following_url":"https://api.github.com/users/tymofij/following{/other_user}","gists_url":"https://api.github.com/users/tymofij/gists{/gist_id}","starred_url":"https://api.github.com/users/tymofij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tymofij/subscriptions","organizations_url":"https://api.github.com/users/tymofij/orgs","repos_url":"https://api.github.com/users/tymofij/repos","events_url":"https://api.github.com/users/tymofij/events{/privacy}","received_events_url":"https://api.github.com/users/tymofij/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-13T23:15:11Z","updated_at":"2012-11-14T07:58:02Z","closed_at":"2012-11-14T07:58:00Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/114","diff_url":"https://github.com/jacquev6/PyGithub/pull/114.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/114.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":""},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/events","html_url":"https://github.com/jacquev6/PyGithub/issues/111","id":8075253,"number":111,"title":"Add 'assignee' attribute to PullRequest","user":{"login":"mstead","id":218800,"avatar_url":"https://secure.gravatar.com/avatar/cff2de4d58af775ba0a07a5332b57889?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cff2de4d58af775ba0a07a5332b57889","url":"https://api.github.com/users/mstead","html_url":"https://github.com/mstead","followers_url":"https://api.github.com/users/mstead/followers","following_url":"https://api.github.com/users/mstead/following{/other_user}","gists_url":"https://api.github.com/users/mstead/gists{/gist_id}","starred_url":"https://api.github.com/users/mstead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstead/subscriptions","organizations_url":"https://api.github.com/users/mstead/orgs","repos_url":"https://api.github.com/users/mstead/repos","events_url":"https://api.github.com/users/mstead/events{/privacy}","received_events_url":"https://api.github.com/users/mstead/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-03T00:33:18Z","updated_at":"2012-11-03T08:28:14Z","closed_at":"2012-11-03T08:25:59Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/111","diff_url":"https://github.com/jacquev6/PyGithub/pull/111.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/111.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"It seems as though this may have been added to\r\nthe github API and was not being included in the\r\nPullRequest object.\r\n\r\nI stumbled upon this when attempting to get the current\r\nassignee of a pull request while playing with the API,\r\nand noticed I could not get it via PyGithub. I need this\r\nfor a project I'm working on.\r\n\r\nThis verifies that the attribute's existence in github's API:\r\n```curl -i \"https://api.github.com/repos/jacquev6/PyGithub/pulls/31\" | grep assignee```\r\nOutput:\r\n```\"assignee\": null,```\r\n\r\n\r\nI was also going to update the tests to include the attribute,\r\nbut I wasn't able to set the assignee on the test data.\r\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/events","html_url":"https://github.com/jacquev6/PyGithub/issues/110","id":8033963,"number":110,"title":"Add encoding comment to source files","user":{"login":"Zearin","id":630124,"avatar_url":"https://secure.gravatar.com/avatar/cb9730ee11d50fa2db955d687c653971?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cb9730ee11d50fa2db955d687c653971","url":"https://api.github.com/users/Zearin","html_url":"https://github.com/Zearin","followers_url":"https://api.github.com/users/Zearin/followers","following_url":"https://api.github.com/users/Zearin/following{/other_user}","gists_url":"https://api.github.com/users/Zearin/gists{/gist_id}","starred_url":"https://api.github.com/users/Zearin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Zearin/subscriptions","organizations_url":"https://api.github.com/users/Zearin/orgs","repos_url":"https://api.github.com/users/Zearin/repos","events_url":"https://api.github.com/users/Zearin/events{/privacy}","received_events_url":"https://api.github.com/users/Zearin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-01T15:45:03Z","updated_at":"2012-11-03T08:28:32Z","closed_at":"2012-11-03T08:07:37Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/110","diff_url":"https://github.com/jacquev6/PyGithub/pull/110.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/110.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"This is a minor thing. It’s a convention, not a rule (obviously)—but it’s also a best practice.\r\n\r\nMany text editors look for this kind of comment as the first line—or second line, if there is a shebang (the `#!/usr/bin/env python`, or whatever else)—and make use of this to determine the file’s encoding."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/events","html_url":"https://github.com/jacquev6/PyGithub/issues/118","id":9089893,"number":118,"title":"Modify setup.py to allow .egg distribution of PyGithub","user":{"login":"gregwjacobs","id":1749292,"avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","url":"https://api.github.com/users/gregwjacobs","html_url":"https://github.com/gregwjacobs","followers_url":"https://api.github.com/users/gregwjacobs/followers","following_url":"https://api.github.com/users/gregwjacobs/following{/other_user}","gists_url":"https://api.github.com/users/gregwjacobs/gists{/gist_id}","starred_url":"https://api.github.com/users/gregwjacobs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregwjacobs/subscriptions","organizations_url":"https://api.github.com/users/gregwjacobs/orgs","repos_url":"https://api.github.com/users/gregwjacobs/repos","events_url":"https://api.github.com/users/gregwjacobs/events{/privacy}","received_events_url":"https://api.github.com/users/gregwjacobs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":1,"created_at":"2012-12-07T14:42:13Z","updated_at":"2012-12-21T19:45:37Z","closed_at":"2012-12-21T19:45:37Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"In setup.py change:\n\n`from distutils.core import setup, Command`\n\nto:\n\n`from setuptools import setup, Command, find_packages`\n\nThus users can also distribute or use PyGithub in as an .egg via this command:\n\n`python setup.py bdist_egg`\n\nAFAIK this will not impact the remainder of the existing use of setup.py?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/events","html_url":"https://github.com/jacquev6/PyGithub/issues/123","id":9489725,"number":123,"title":"Repository.get_contents does not accept ref=branch","user":{"login":"fixxxeruk","id":1074943,"avatar_url":"https://secure.gravatar.com/avatar/de3cd5a76ce1ef2cdcf7060068d693e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de3cd5a76ce1ef2cdcf7060068d693e0","url":"https://api.github.com/users/fixxxeruk","html_url":"https://github.com/fixxxeruk","followers_url":"https://api.github.com/users/fixxxeruk/followers","following_url":"https://api.github.com/users/fixxxeruk/following{/other_user}","gists_url":"https://api.github.com/users/fixxxeruk/gists{/gist_id}","starred_url":"https://api.github.com/users/fixxxeruk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fixxxeruk/subscriptions","organizations_url":"https://api.github.com/users/fixxxeruk/orgs","repos_url":"https://api.github.com/users/fixxxeruk/repos","events_url":"https://api.github.com/users/fixxxeruk/events{/privacy}","received_events_url":"https://api.github.com/users/fixxxeruk/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":1,"created_at":"2012-12-23T11:59:53Z","updated_at":"2012-12-24T13:26:20Z","closed_at":"2012-12-24T13:26:20Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"As per the documentation:\r\nhttp://developer.github.com/v3/repos/contents/\r\n\r\nThe Get Contents GitHub API accepts an optional parameter `ref` which allows the user to specify the branch. Otherwise this parameter defaults to `master`.\r\n\r\nPlease implement this optional parameter on Repository.get_contents, which currently only accepts a single parameter to specify the path."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/events","html_url":"https://github.com/jacquev6/PyGithub/issues/144","id":11746141,"number":144,"title":"Store original JSON response for objects and expose it for document-oriented storage","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":1,"created_at":"2013-03-07T04:54:23Z","updated_at":"2013-03-21T20:57:54Z","closed_at":"2013-03-21T20:57:54Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I'd like to be able to serialize a GithubObject and get back the original JSON that was used to initially construct it for purposes of serializing out to a document oriented store like MongoDB where this representation would be a natural (and highly portable) fit for storage. From looking at how objects are constructed, it seems as though it would be pretty trivial to keep around the JSON and expose it as necessary as opposed to just discarding it.\r\n\r\nPerhaps `__str__` could return the readable JSON representation and `__repr__` could contain what currently happens from `__str__` (the unambiguous object with its address)?\r\n\r\nIf there are concerns over memory, perhaps this could be a configurable option?\r\n\r\nAt any rate, I could help put together the patch but would first like to get your thoughts and whether or not you're open to merging in such a pull request"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/events","html_url":"https://github.com/jacquev6/PyGithub/issues/47","id":5152384,"number":47,"title":"Just a small patch to make PyGithub compatible with Python 2.5","user":{"login":"pmuilu","id":691799,"avatar_url":"https://secure.gravatar.com/avatar/3aa27c0add742f542848af3b8a9e980c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3aa27c0add742f542848af3b8a9e980c","url":"https://api.github.com/users/pmuilu","html_url":"https://github.com/pmuilu","followers_url":"https://api.github.com/users/pmuilu/followers","following_url":"https://api.github.com/users/pmuilu/following{/other_user}","gists_url":"https://api.github.com/users/pmuilu/gists{/gist_id}","starred_url":"https://api.github.com/users/pmuilu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmuilu/subscriptions","organizations_url":"https://api.github.com/users/pmuilu/orgs","repos_url":"https://api.github.com/users/pmuilu/repos","events_url":"https://api.github.com/users/pmuilu/events{/privacy}","received_events_url":"https://api.github.com/users/pmuilu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-06-19T17:58:29Z","updated_at":"2012-06-20T21:06:08Z","closed_at":"2012-06-20T20:08:20Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/47","diff_url":"https://github.com/jacquev6/PyGithub/pull/47.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/47.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Seems to work otherwise."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/events","html_url":"https://github.com/jacquev6/PyGithub/issues/48","id":5177381,"number":48,"title":"data_files install location","user":{"login":"malexw","id":577322,"avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","url":"https://api.github.com/users/malexw","html_url":"https://github.com/malexw","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following{/other_user}","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","organizations_url":"https://api.github.com/users/malexw/orgs","repos_url":"https://api.github.com/users/malexw/repos","events_url":"https://api.github.com/users/malexw/events{/privacy}","received_events_url":"https://api.github.com/users/malexw/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7/labels","id":140183,"number":7,"title":"Version 1.3","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-07-03T07:32:39Z","updated_at":"2012-07-13T20:01:15Z","due_on":"2012-07-16T07:00:00Z"},"comments":2,"created_at":"2012-06-20T18:33:44Z","updated_at":"2012-07-13T19:20:49Z","closed_at":"2012-07-13T19:20:49Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Installing on OS X 10.7 via:\n $ pip install PyGithub\n\n(Using the Python 2.7 package from python.org, and not OS X's python2.6 flavour)\n\nGot an error message:\n running install_data\n copying ReadMe.md -> /System/Library/Frameworks/Python.framework/Versions/2.7/\n error: /System/Library/Frameworks/Python.framework/Versions/2.7/ReadMe.md: Permission denied\n\nWhile I can use sudo to make the error message go away, I don't think `/System/Library/Frameworks/Python.framework/Versions/2.7/` is the correct location for the documentation. I don't know much about writing setup.py files, but after looking at gunicorn, flask, and numpy, it doesn't look like any of them use data_files for installing documentation."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/events","html_url":"https://github.com/jacquev6/PyGithub/issues/57","id":5783131,"number":57,"title":"Allows connection to GitHub Enterprise installs on local URLs","user":{"login":"engie","id":1247,"avatar_url":"https://secure.gravatar.com/avatar/37a932b3abe212892173784736ed6b12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"37a932b3abe212892173784736ed6b12","url":"https://api.github.com/users/engie","html_url":"https://github.com/engie","followers_url":"https://api.github.com/users/engie/followers","following_url":"https://api.github.com/users/engie/following{/other_user}","gists_url":"https://api.github.com/users/engie/gists{/gist_id}","starred_url":"https://api.github.com/users/engie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/engie/subscriptions","organizations_url":"https://api.github.com/users/engie/orgs","repos_url":"https://api.github.com/users/engie/repos","events_url":"https://api.github.com/users/engie/events{/privacy}","received_events_url":"https://api.github.com/users/engie/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/8","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/8/labels","id":150933,"number":8,"title":"Version 1.4","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2012-07-24T16:04:28Z","updated_at":"2012-09-11T18:52:13Z","due_on":"2012-08-05T07:00:00Z"},"comments":2,"created_at":"2012-07-23T16:44:06Z","updated_at":"2012-08-04T05:59:15Z","closed_at":"2012-08-04T05:59:15Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/57","diff_url":"https://github.com/jacquev6/PyGithub/pull/57.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/57.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"This patch allows you to use the module with local (i.e. Enterprise) GitHub installs. Passes the tests here, defaults to connecting to api.github.com."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/events","html_url":"https://github.com/jacquev6/PyGithub/issues/62","id":6454054,"number":62,"title":"Add timeout option","user":{"login":"xobb1t","id":344095,"avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","url":"https://api.github.com/users/xobb1t","html_url":"https://github.com/xobb1t","followers_url":"https://api.github.com/users/xobb1t/followers","following_url":"https://api.github.com/users/xobb1t/following{/other_user}","gists_url":"https://api.github.com/users/xobb1t/gists{/gist_id}","starred_url":"https://api.github.com/users/xobb1t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xobb1t/subscriptions","organizations_url":"https://api.github.com/users/xobb1t/orgs","repos_url":"https://api.github.com/users/xobb1t/repos","events_url":"https://api.github.com/users/xobb1t/events{/privacy}","received_events_url":"https://api.github.com/users/xobb1t/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":2,"created_at":"2012-08-25T19:42:13Z","updated_at":"2012-09-05T17:23:47Z","closed_at":"2012-09-05T17:23:47Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/62","diff_url":"https://github.com/jacquev6/PyGithub/pull/62.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/62.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Add support of `timeout` option. Unfortunately drops python < 2.6 support."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/events","html_url":"https://github.com/jacquev6/PyGithub/issues/65","id":6641076,"number":65,"title":"GET /repos/:user/:repo/contents/:path","user":{"login":"berndca","id":466654,"avatar_url":"https://secure.gravatar.com/avatar/4a43f97dc0112d95d8d713e2fd2a983b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4a43f97dc0112d95d8d713e2fd2a983b","url":"https://api.github.com/users/berndca","html_url":"https://github.com/berndca","followers_url":"https://api.github.com/users/berndca/followers","following_url":"https://api.github.com/users/berndca/following{/other_user}","gists_url":"https://api.github.com/users/berndca/gists{/gist_id}","starred_url":"https://api.github.com/users/berndca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/berndca/subscriptions","organizations_url":"https://api.github.com/users/berndca/orgs","repos_url":"https://api.github.com/users/berndca/repos","events_url":"https://api.github.com/users/berndca/events{/privacy}","received_events_url":"https://api.github.com/users/berndca/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":2,"created_at":"2012-09-04T17:42:29Z","updated_at":"2012-09-08T11:06:18Z","closed_at":"2012-09-08T11:06:18Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I have not been able to figure out how to access the github API request for GET /repos/:user/:repo/contents/[:path] using PyGithub. Perhaps I'm missing something?\n\nPlease advise.\nThanks, Bernd"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/events","html_url":"https://github.com/jacquev6/PyGithub/issues/67","id":6653907,"number":67,"title":"Statuses","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":2,"created_at":"2012-09-05T06:49:54Z","updated_at":"2012-09-08T11:42:27Z","closed_at":"2012-09-08T11:42:27Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Implement APIs described in http://developer.github.com/v3/repos/statuses/"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/events","html_url":"https://github.com/jacquev6/PyGithub/issues/102","id":7331214,"number":102,"title":"get_git_ref does not prepend 'refs'","user":{"login":"simon-weber","id":950506,"avatar_url":"https://secure.gravatar.com/avatar/5ac24ef595f7d1cd016bc3de24f78e60?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5ac24ef595f7d1cd016bc3de24f78e60","url":"https://api.github.com/users/simon-weber","html_url":"https://github.com/simon-weber","followers_url":"https://api.github.com/users/simon-weber/followers","following_url":"https://api.github.com/users/simon-weber/following{/other_user}","gists_url":"https://api.github.com/users/simon-weber/gists{/gist_id}","starred_url":"https://api.github.com/users/simon-weber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simon-weber/subscriptions","organizations_url":"https://api.github.com/users/simon-weber/orgs","repos_url":"https://api.github.com/users/simon-weber/repos","events_url":"https://api.github.com/users/simon-weber/events{/privacy}","received_events_url":"https://api.github.com/users/simon-weber/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/15","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/15/labels","id":190819,"number":15,"title":"Version 1.8.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2012-10-07T11:01:54Z","updated_at":"2012-10-28T09:46:01Z","due_on":null},"comments":2,"created_at":"2012-10-03T19:02:53Z","updated_at":"2012-10-07T11:06:11Z","closed_at":"2012-10-07T11:06:11Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"The docs say get_git_refs performs `/repos/:user/:repo/git/refs/:ref`, but actually performs `/repos/:user/:repo/git/:ref`. For example:\r\n\r\n```\r\n>>> github.Github().get_user(\"jacquev6\").get_repo(\"PyGithub\").get_git_ref('heads/master')\r\n# => 404, but should work\r\n>>> github.Github().get_user(\"jacquev6\").get_repo(\"PyGithub\").get_git_ref('refs/heads/master')\r\n# => works, but should 404\r\n```\r\n\r\n\r\n\r\n`refs/` is prepended to a provided reference in the Github api: http://developer.github.com/v3/git/refs/#get-a-reference."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/events","html_url":"https://github.com/jacquev6/PyGithub/issues/124","id":9489813,"number":124,"title":"Fixed Issue #123: Repository.get_contents does not accept ref=branch","user":{"login":"fixxxeruk","id":1074943,"avatar_url":"https://secure.gravatar.com/avatar/de3cd5a76ce1ef2cdcf7060068d693e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de3cd5a76ce1ef2cdcf7060068d693e0","url":"https://api.github.com/users/fixxxeruk","html_url":"https://github.com/fixxxeruk","followers_url":"https://api.github.com/users/fixxxeruk/followers","following_url":"https://api.github.com/users/fixxxeruk/following{/other_user}","gists_url":"https://api.github.com/users/fixxxeruk/gists{/gist_id}","starred_url":"https://api.github.com/users/fixxxeruk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fixxxeruk/subscriptions","organizations_url":"https://api.github.com/users/fixxxeruk/orgs","repos_url":"https://api.github.com/users/fixxxeruk/repos","events_url":"https://api.github.com/users/fixxxeruk/events{/privacy}","received_events_url":"https://api.github.com/users/fixxxeruk/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":2,"created_at":"2012-12-23T12:15:06Z","updated_at":"2012-12-25T10:53:21Z","closed_at":"2012-12-25T10:53:21Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/124","diff_url":"https://github.com/jacquev6/PyGithub/pull/124.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/124.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Tested and validated. This change does not break API compatibility."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/events","html_url":"https://github.com/jacquev6/PyGithub/issues/129","id":9776615,"number":129,"title":"Add Suppport For the GitHub Hooks PubSubHub","user":{"login":"s0undt3ch","id":300048,"avatar_url":"https://secure.gravatar.com/avatar/49656fcaeab19bd7ad1d51264ea37e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"49656fcaeab19bd7ad1d51264ea37e7d","url":"https://api.github.com/users/s0undt3ch","html_url":"https://github.com/s0undt3ch","followers_url":"https://api.github.com/users/s0undt3ch/followers","following_url":"https://api.github.com/users/s0undt3ch/following{/other_user}","gists_url":"https://api.github.com/users/s0undt3ch/gists{/gist_id}","starred_url":"https://api.github.com/users/s0undt3ch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s0undt3ch/subscriptions","organizations_url":"https://api.github.com/users/s0undt3ch/orgs","repos_url":"https://api.github.com/users/s0undt3ch/repos","events_url":"https://api.github.com/users/s0undt3ch/events{/privacy}","received_events_url":"https://api.github.com/users/s0undt3ch/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":2,"created_at":"2013-01-08T17:49:50Z","updated_at":"2013-02-05T22:48:01Z","closed_at":"2013-02-05T22:48:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Add Suppport For the [GitHub Hooks PubSubHub](http://developer.github.com/v3/repos/hooks/#pubsubhubbub)"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/events","html_url":"https://github.com/jacquev6/PyGithub/issues/133","id":10360280,"number":133,"title":"Fix failing get_page function","user":{"login":"llimllib","id":7150,"avatar_url":"https://secure.gravatar.com/avatar/aa7c1350d93036592f58f165318044db?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"aa7c1350d93036592f58f165318044db","url":"https://api.github.com/users/llimllib","html_url":"https://github.com/llimllib","followers_url":"https://api.github.com/users/llimllib/followers","following_url":"https://api.github.com/users/llimllib/following{/other_user}","gists_url":"https://api.github.com/users/llimllib/gists{/gist_id}","starred_url":"https://api.github.com/users/llimllib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llimllib/subscriptions","organizations_url":"https://api.github.com/users/llimllib/orgs","repos_url":"https://api.github.com/users/llimllib/repos","events_url":"https://api.github.com/users/llimllib/events{/privacy}","received_events_url":"https://api.github.com/users/llimllib/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":2,"created_at":"2013-01-27T22:39:17Z","updated_at":"2013-01-29T17:56:14Z","closed_at":"2013-01-29T17:56:14Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/133","diff_url":"https://github.com/jacquev6/PyGithub/pull/133.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/133.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"* if firstParams was None, PaginatedList was calling dict(None)\r\n which fails with a TypeError. If firstParams is None, just use\r\n an empty tuple, which dict() handles properly"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/events","html_url":"https://github.com/jacquev6/PyGithub/issues/24","id":4356743,"number":24,"title":"Improve error messages on broken requests","user":{"login":"roskakori","id":328726,"avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","url":"https://api.github.com/users/roskakori","html_url":"https://github.com/roskakori","followers_url":"https://api.github.com/users/roskakori/followers","following_url":"https://api.github.com/users/roskakori/following{/other_user}","gists_url":"https://api.github.com/users/roskakori/gists{/gist_id}","starred_url":"https://api.github.com/users/roskakori/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roskakori/subscriptions","organizations_url":"https://api.github.com/users/roskakori/orgs","repos_url":"https://api.github.com/users/roskakori/repos","events_url":"https://api.github.com/users/roskakori/events{/privacy}","received_events_url":"https://api.github.com/users/roskakori/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2/labels","id":93547,"number":2,"title":"Version 1.0: coherent public interface","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":19,"state":"closed","created_at":"2012-03-08T12:22:28Z","updated_at":"2012-06-03T19:56:17Z","due_on":"2012-06-04T07:00:00Z"},"comments":3,"created_at":"2012-04-30T20:01:20Z","updated_at":"2012-05-30T19:58:35Z","closed_at":"2012-05-30T19:58:35Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/events","html_url":"https://github.com/jacquev6/PyGithub/issues/63","id":6583381,"number":63,"title":"PyGithub on Upverter","user":{"login":"malexw","id":577322,"avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","url":"https://api.github.com/users/malexw","html_url":"https://github.com/malexw","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following{/other_user}","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","organizations_url":"https://api.github.com/users/malexw/orgs","repos_url":"https://api.github.com/users/malexw/repos","events_url":"https://api.github.com/users/malexw/events{/privacy}","received_events_url":"https://api.github.com/users/malexw/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":3,"created_at":"2012-08-31T16:36:04Z","updated_at":"2012-09-05T17:11:47Z","closed_at":"2012-09-05T17:11:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi Vincent, I wanted to let you know that we've started using PyGithub over at Upverter. You can see an example of it in action here: https://upverter.com/JBionics/a07fd2563a253ccf/Programmable-RC-Car-Controller-Arduino-Shield/\n\nUpverter is a web-based schematic capture and PCB layout tool for people who design electronics. Like github, it's free for anyone to use as long as they publish their designs with an open-source license. We let designers attach a github project to an Upverter project, and use PyGithub to pull in some basic stats about the project (including a README file), and show them on the project's main page.\n\nCheers,\nAlex"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/events","html_url":"https://github.com/jacquev6/PyGithub/issues/74","id":6751469,"number":74,"title":"Support clearing of issue milestone and assignee","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":3,"created_at":"2012-09-10T00:42:24Z","updated_at":"2012-09-12T02:36:43Z","closed_at":"2012-09-11T18:55:30Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/74","diff_url":"https://github.com/jacquev6/PyGithub/pull/74.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/74.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I could find no way to use the PyGithub API to clear an Issue's milestone or assignee. So I created this patch to make Issue.edit() accept None for the milestone and assignee parameters. I have tested it on a real GitHub issue, and it works, but I have not created any test cases."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/events","html_url":"https://github.com/jacquev6/PyGithub/issues/112","id":8189836,"number":112,"title":"Allow for using OAuth id and secret to increase rate limit","user":{"login":"mwoodworth","id":606209,"avatar_url":"https://secure.gravatar.com/avatar/fa8bf31f678044f65afb6c4c5a8ea542?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fa8bf31f678044f65afb6c4c5a8ea542","url":"https://api.github.com/users/mwoodworth","html_url":"https://github.com/mwoodworth","followers_url":"https://api.github.com/users/mwoodworth/followers","following_url":"https://api.github.com/users/mwoodworth/following{/other_user}","gists_url":"https://api.github.com/users/mwoodworth/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoodworth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoodworth/subscriptions","organizations_url":"https://api.github.com/users/mwoodworth/orgs","repos_url":"https://api.github.com/users/mwoodworth/repos","events_url":"https://api.github.com/users/mwoodworth/events{/privacy}","received_events_url":"https://api.github.com/users/mwoodworth/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":3,"created_at":"2012-11-07T23:17:54Z","updated_at":"2012-11-19T20:05:26Z","closed_at":"2012-11-19T19:50:50Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/112","diff_url":"https://github.com/jacquev6/PyGithub/pull/112.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/112.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"API Doc section for the change\r\nhttp://developer.github.com/v3/#rate-limiting"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/events","html_url":"https://github.com/jacquev6/PyGithub/issues/139","id":10758585,"number":139,"title":"Typo in GithubObject \"self._completed\" -> \"self.__completed\"?","user":{"login":"ianozsvald","id":273210,"avatar_url":"https://secure.gravatar.com/avatar/3d644406158b4d440111903db1f62622?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3d644406158b4d440111903db1f62622","url":"https://api.github.com/users/ianozsvald","html_url":"https://github.com/ianozsvald","followers_url":"https://api.github.com/users/ianozsvald/followers","following_url":"https://api.github.com/users/ianozsvald/following{/other_user}","gists_url":"https://api.github.com/users/ianozsvald/gists{/gist_id}","starred_url":"https://api.github.com/users/ianozsvald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianozsvald/subscriptions","organizations_url":"https://api.github.com/users/ianozsvald/orgs","repos_url":"https://api.github.com/users/ianozsvald/repos","events_url":"https://api.github.com/users/ianozsvald/events{/privacy}","received_events_url":"https://api.github.com/users/ianozsvald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21/labels","id":262264,"number":21,"title":"Version 1.11.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2013-02-07T18:19:05Z","updated_at":"2013-02-09T16:56:36Z","due_on":null},"comments":3,"created_at":"2013-02-07T22:12:31Z","updated_at":"2013-02-08T10:48:28Z","closed_at":"2013-02-08T07:44:02Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I noticed that calls to a user object (e.g. user.email, user.location etc) caused multiple calls to GitHub. Looking at GithubObject.py I see several references to __completed and one to _completed (single underscore) on line 72. Changing line 72 to use a double underscore removed the repeated calls to Github.\r\n\r\nI tried to run your tests but can't figure out how to do so? I'd have left you a pull request if so. I tried \"python -m unittest discover\" and also just running the files, I'm not familiar with the format you've used. I'm happy to run with logs etc if that's useful (some guidance on how to run the tests would be super helpful too). Thanks, Ian."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/events","html_url":"https://github.com/jacquev6/PyGithub/issues/148","id":12097154,"number":148,"title":"Notification API","user":{"login":"pgolm","id":1444194,"avatar_url":"https://secure.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":3,"created_at":"2013-03-16T16:38:35Z","updated_at":"2013-03-19T22:14:44Z","closed_at":"2013-03-19T22:14:44Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/148","diff_url":"https://github.com/jacquev6/PyGithub/pull/148.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/148.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"implementation of Notification API #108"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/events","html_url":"https://github.com/jacquev6/PyGithub/issues/156","id":12867103,"number":156,"title":"renaming files in a gist","user":{"login":"jasonwiener","id":204083,"avatar_url":"https://secure.gravatar.com/avatar/fed498e65aec4199029994d4feab4fb1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fed498e65aec4199029994d4feab4fb1","url":"https://api.github.com/users/jasonwiener","html_url":"https://github.com/jasonwiener","followers_url":"https://api.github.com/users/jasonwiener/followers","following_url":"https://api.github.com/users/jasonwiener/following{/other_user}","gists_url":"https://api.github.com/users/jasonwiener/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonwiener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonwiener/subscriptions","organizations_url":"https://api.github.com/users/jasonwiener/orgs","repos_url":"https://api.github.com/users/jasonwiener/repos","events_url":"https://api.github.com/users/jasonwiener/events{/privacy}","received_events_url":"https://api.github.com/users/jasonwiener/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/24","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/24/labels","id":298677,"number":24,"title":"Version 1.14.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2013-03-28T19:15:29Z","updated_at":"2013-04-22T21:03:59Z","due_on":null},"comments":3,"created_at":"2013-04-05T22:37:41Z","updated_at":"2013-04-08T19:15:29Z","closed_at":"2013-04-08T19:15:29Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"looking at the InputFileContent class, it doesn't appear to support renaming a file in a gist. am i mistaken?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/events","html_url":"https://github.com/jacquev6/PyGithub/issues/49","id":5191621,"number":49,"title":"Support new Search API","user":{"login":"kukuts","id":1831238,"avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6ba907be1740213b69422fdf52b57","url":"https://api.github.com/users/kukuts","html_url":"https://github.com/kukuts","followers_url":"https://api.github.com/users/kukuts/followers","following_url":"https://api.github.com/users/kukuts/following{/other_user}","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","organizations_url":"https://api.github.com/users/kukuts/orgs","repos_url":"https://api.github.com/users/kukuts/repos","events_url":"https://api.github.com/users/kukuts/events{/privacy}","received_events_url":"https://api.github.com/users/kukuts/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6/labels","id":136827,"number":6,"title":"Version 1.2","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-06-25T19:31:02Z","updated_at":"2012-06-29T18:47:43Z","due_on":"2012-07-01T07:00:00Z"},"comments":4,"created_at":"2012-06-21T12:27:38Z","updated_at":"2012-06-29T18:47:28Z","closed_at":"2012-06-29T18:47:28Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"New API ported from v2 but i have trouble with adopting ask's library for v2 API to support v3 style for searching. \nhttp://developer.github.com/v3/search/\n\nIts not described in the page about parameters that search for repos API supports.\nThey are same as in v2 API, you can look them in ask's library.\nIn v2 was like that https://github.com/api/v2/json/repos/search/testing?start_page=2&language=Python\nIn v3 is https://api.github.com/legacy/repos/search/testing?start_page=2&language=Python"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/events","html_url":"https://github.com/jacquev6/PyGithub/issues/50","id":5256315,"number":50,"title":"[Issue] Replace label _identity with name","user":{"login":"philipkimmey","id":211079,"avatar_url":"https://secure.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","url":"https://api.github.com/users/philipkimmey","html_url":"https://github.com/philipkimmey","followers_url":"https://api.github.com/users/philipkimmey/followers","following_url":"https://api.github.com/users/philipkimmey/following{/other_user}","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","organizations_url":"https://api.github.com/users/philipkimmey/orgs","repos_url":"https://api.github.com/users/philipkimmey/repos","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","received_events_url":"https://api.github.com/users/philipkimmey/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6/labels","id":136827,"number":6,"title":"Version 1.2","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-06-25T19:31:02Z","updated_at":"2012-06-29T18:47:43Z","due_on":"2012-07-01T07:00:00Z"},"comments":4,"created_at":"2012-06-25T18:45:05Z","updated_at":"2012-06-28T20:10:44Z","closed_at":"2012-06-28T20:10:44Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/50","diff_url":"https://github.com/jacquev6/PyGithub/pull/50.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/50.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":null},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/events","html_url":"https://github.com/jacquev6/PyGithub/issues/60","id":6363719,"number":60,"title":"delete repo","user":{"login":"pmchen","id":671751,"avatar_url":"https://secure.gravatar.com/avatar/a0f9638840c6e593ecddc966e6d01241?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a0f9638840c6e593ecddc966e6d01241","url":"https://api.github.com/users/pmchen","html_url":"https://github.com/pmchen","followers_url":"https://api.github.com/users/pmchen/followers","following_url":"https://api.github.com/users/pmchen/following{/other_user}","gists_url":"https://api.github.com/users/pmchen/gists{/gist_id}","starred_url":"https://api.github.com/users/pmchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmchen/subscriptions","organizations_url":"https://api.github.com/users/pmchen/orgs","repos_url":"https://api.github.com/users/pmchen/repos","events_url":"https://api.github.com/users/pmchen/events{/privacy}","received_events_url":"https://api.github.com/users/pmchen/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":4,"created_at":"2012-08-21T21:47:28Z","updated_at":"2012-09-05T17:12:16Z","closed_at":"2012-09-05T17:12:16Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I'm just starting to to use PyGithub (and python). Thanks for creating such a useful tool. I'm teaching a large class and using PyGithub to programmatically manage hundreds of repos.\n\nIs there a way to delete a repo via PyGithub? github API v3 includes this, but I don't see a Repository.delete() method in PyGithub.\n\nAnother minor (and unrelated) issue: Is there a way to get_team by name (instead of by id)? The only way I can see to find a team by name is by iterating over all teams and looking at team.name.\n\nThanks for your help."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/events","html_url":"https://github.com/jacquev6/PyGithub/issues/119","id":9209408,"number":119,"title":"gists new api","user":{"login":"cancerhermit","id":1584557,"avatar_url":"https://secure.gravatar.com/avatar/9be6dcfe3820b88a23001e4758ca6703?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6dcfe3820b88a23001e4758ca6703","url":"https://api.github.com/users/cancerhermit","html_url":"https://github.com/cancerhermit","followers_url":"https://api.github.com/users/cancerhermit/followers","following_url":"https://api.github.com/users/cancerhermit/following{/other_user}","gists_url":"https://api.github.com/users/cancerhermit/gists{/gist_id}","starred_url":"https://api.github.com/users/cancerhermit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cancerhermit/subscriptions","organizations_url":"https://api.github.com/users/cancerhermit/orgs","repos_url":"https://api.github.com/users/cancerhermit/repos","events_url":"https://api.github.com/users/cancerhermit/events{/privacy}","received_events_url":"https://api.github.com/users/cancerhermit/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":4,"created_at":"2012-12-12T08:47:25Z","updated_at":"2012-12-21T20:39:17Z","closed_at":"2012-12-21T20:39:17Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"https://github.com/blog/1276-welcome-to-a-new-gist . git:// not work, new urls is https://"}] - -https -GET -api.github.com -None -/issues?direction=asc&filter=assigned&labels=Requested+by+user&page=2&since=2012-05-28T23%3A00%3A00Z&sort=comments&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '143568'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:34:11 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"36fb6631d2714acfd6169b3d779277e5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:35:13 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/events","html_url":"https://github.com/jacquev6/PyGithub/issues/88","id":6912733,"number":88,"title":"Use Python logging to log raw requests","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":5,"created_at":"2012-09-17T08:19:42Z","updated_at":"2012-09-25T20:57:52Z","closed_at":"2012-09-25T20:57:52Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/88","diff_url":"https://github.com/jacquev6/PyGithub/pull/88.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/88.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I replaced the commented-out print statement in Requester.py with a call to Python [logging](http://docs.python.org/library/logging.html) so that users have the option to trace low-level api.github.com requests without having to hack their installed PyGithub package: they just put `logging.getLogger('github').setLevel(logging.DEBUG)` in their script.\n\nI don't have any strong opinion as to whether you should pull this change or not. I found it useful while debugging #87, you may decide you don't like it; no problem."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/events","html_url":"https://github.com/jacquev6/PyGithub/issues/131","id":9948505,"number":131,"title":"Fix PullRequestPart when using get_pulls() and the head user is an Organization","user":{"login":"sbesson","id":1355463,"avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","url":"https://api.github.com/users/sbesson","html_url":"https://github.com/sbesson","followers_url":"https://api.github.com/users/sbesson/followers","following_url":"https://api.github.com/users/sbesson/following{/other_user}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","organizations_url":"https://api.github.com/users/sbesson/orgs","repos_url":"https://api.github.com/users/sbesson/repos","events_url":"https://api.github.com/users/sbesson/events{/privacy}","received_events_url":"https://api.github.com/users/sbesson/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":5,"created_at":"2013-01-14T16:46:39Z","updated_at":"2013-02-04T09:57:31Z","closed_at":"2013-02-03T17:33:11Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Error can be reproduced with the following example:\r\n```\r\nimport github\r\nrepo = github.Github().get_user(\"openmicroscopy\").get_repo(\"ome-documentation\")\r\n\r\nassert repo.get_pull(204).head.user.login == 'imcf'\r\n\r\nfor pr in list(repo.get_pulls('closed')):\r\n\tif pr.number == 204:\r\n\t\tassert pr.head.user is None\r\n```\r\n\r\n/cc @joshmoore"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/events","html_url":"https://github.com/jacquev6/PyGithub/issues/142","id":11503771,"number":142,"title":"Bug with Python 3?","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":5,"created_at":"2013-02-28T15:00:18Z","updated_at":"2013-03-03T19:08:21Z","closed_at":"2013-03-03T17:54:48Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi! \r\nI'm currently in the process of switching a program to python 3.2. I encounter the following problem: `TypeError: can't use a string pattern on a bytes-like object`\r\n\r\n```\r\nimport github\r\ngh_instance = github.Github('')\r\nuser = gh_instance.get_user()\r\nuser.name\r\n---------------------------------------------------------------------------\r\nTypeError Traceback (most recent call last)\r\n in ()\r\n----> 1 user.name\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/AuthenticatedUser.py in name(self)\r\n 166 :type: string\r\n 167 \"\"\"\r\n--> 168 self._completeIfNotSet(self._name)\r\n 169 return self._NoneIfNotSet(self._name)\r\n 170 \r\n\r\n/usr/local/lib/python3.2/dist-packages/github/GithubObject.py in _completeIfNotSet(self, value)\r\n 61 def _completeIfNotSet(self, value):\r\n 62 if not self.__completed and value is NotSet:\r\n---> 63 self.__complete()\r\n 64 \r\n 65 def __complete(self):\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/GithubObject.py in __complete(self)\r\n 68 self._url,\r\n 69 None,\r\n---> 70 None\r\n 71 )\r\n 72 self._useAttributes(data)\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in requestJsonAndCheck(self, verb, url, parameters, input)\r\n 77 \r\n 78 def requestJsonAndCheck(self, verb, url, parameters, input):\r\n---> 79 return self.__check(*self.requestJson(verb, url, parameters, input))\r\n 80 \r\n 81 def requestMultipartAndCheck(self, verb, url, parameters, input):\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in __check(self, status, responseHeaders, output)\r\n 83 \r\n 84 def __check(self, status, responseHeaders, output):\r\n---> 85 output = self.__structuredFromJson(output)\r\n 86 if status >= 400:\r\n 87 raise GithubException.GithubException(status, output)\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in __structuredFromJson(self, data)\r\n 92 return None\r\n 93 else:\r\n---> 94 return json.loads(data)\r\n 95 \r\n 96 def requestJson(self, verb, url, parameters, input):\r\n\r\n/usr/lib/python3.2/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\r\n 307 parse_int is None and parse_float is None and\r\n 308 parse_constant is None and object_pairs_hook is None and not kw):\r\n--> 309 return _default_decoder.decode(s)\r\n 310 if cls is None:\r\n 311 cls = JSONDecoder\r\n\r\n/usr/lib/python3.2/json/decoder.py in decode(self, s, _w)\r\n 351 \r\n 352 \"\"\"\r\n--> 353 obj, end = self.raw_decode(s, idx=_w(s, 0).end())\r\n 354 end = _w(s, end).end()\r\n 355 if end != len(s):\r\n\r\nTypeError: can't use a string pattern on a bytes-like object\r\n```\r\nIt's `PyGithub-1.12.1` installed via `pip-3.2` and python `'3.2.3 (default, Oct 19 2012, 19:53:57) \\n[GCC 4.7.2]'`"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/events","html_url":"https://github.com/jacquev6/PyGithub/issues/140","id":10922412,"number":140,"title":"Repository.get_contents does not return directory information","user":{"login":"ksookocheff-va","id":2529590,"avatar_url":"https://secure.gravatar.com/avatar/ae7eed65e46234c210912a1e474f2f1c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae7eed65e46234c210912a1e474f2f1c","url":"https://api.github.com/users/ksookocheff-va","html_url":"https://github.com/ksookocheff-va","followers_url":"https://api.github.com/users/ksookocheff-va/followers","following_url":"https://api.github.com/users/ksookocheff-va/following{/other_user}","gists_url":"https://api.github.com/users/ksookocheff-va/gists{/gist_id}","starred_url":"https://api.github.com/users/ksookocheff-va/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksookocheff-va/subscriptions","organizations_url":"https://api.github.com/users/ksookocheff-va/orgs","repos_url":"https://api.github.com/users/ksookocheff-va/repos","events_url":"https://api.github.com/users/ksookocheff-va/events{/privacy}","received_events_url":"https://api.github.com/users/ksookocheff-va/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/22","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/22/labels","id":266004,"number":22,"title":"Version 1.12.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":2,"state":"closed","created_at":"2013-02-13T07:10:18Z","updated_at":"2013-02-20T18:45:16Z","due_on":null},"comments":6,"created_at":"2013-02-12T19:53:26Z","updated_at":"2013-02-16T22:45:00Z","closed_at":"2013-02-16T18:14:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"The GitHub API returns a list of all files in a directory when you use Get Contents on a directory.\r\n\r\nexample:\r\nhttps://api.github.com/repos/twitter/bootstrap/contents/js/?ref=d28343dc3ad53a411ae3685e7d6a7866c8c22d6b\r\n\r\nCurrently PyGithub only returns None when using this API to query a directory."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/events","html_url":"https://github.com/jacquev6/PyGithub/issues/145","id":11844658,"number":145,"title":"Configure default requests with per_page=100","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":6,"created_at":"2013-03-09T21:47:07Z","updated_at":"2013-03-21T20:47:58Z","closed_at":"2013-03-21T20:47:58Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Per http://developer.github.com/v3/#pagination, the max items that can possibly be requested is 100 as opposed to the default of 30. From what I can tell, the default is used in all requests and there's no way to override it without modifying the source. Hence, about 1/3 of the available data is being returned on lots of requests\r\n\r\nIs there a reason not to go ahead and add a default per_page=100 to all API requests? Best case, it results in faster access to data, and worst case, it has no effect. For my particular uses, I'm making lots of requests, and a speedup of ~3.3x would be a big help.\r\n\r\nThoughts?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/events","html_url":"https://github.com/jacquev6/PyGithub/issues/153","id":12566144,"number":153,"title":"Error \"500 None\" in python3","user":{"login":"sebastianstigler","id":772197,"avatar_url":"https://secure.gravatar.com/avatar/c3249014be386ebc7e509c25260c8a8b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c3249014be386ebc7e509c25260c8a8b","url":"https://api.github.com/users/sebastianstigler","html_url":"https://github.com/sebastianstigler","followers_url":"https://api.github.com/users/sebastianstigler/followers","following_url":"https://api.github.com/users/sebastianstigler/following{/other_user}","gists_url":"https://api.github.com/users/sebastianstigler/gists{/gist_id}","starred_url":"https://api.github.com/users/sebastianstigler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebastianstigler/subscriptions","organizations_url":"https://api.github.com/users/sebastianstigler/orgs","repos_url":"https://api.github.com/users/sebastianstigler/repos","events_url":"https://api.github.com/users/sebastianstigler/events{/privacy}","received_events_url":"https://api.github.com/users/sebastianstigler/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":6,"created_at":"2013-03-28T14:17:05Z","updated_at":"2013-03-28T19:33:19Z","closed_at":"2013-03-28T19:12:42Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi, \r\nIm using PyGithub (1.13.0, installed with pip and pip-3.2) on Ubuntu 12.04 with python version 2.7.3 (there it works just fine) an version 3.2.3 where i get some issues\r\n\r\nI posted the testcase and the testouput for the run with python3 here:\thttps://gist.github.com/8efb393ddaefc614f225\r\n\r\nFYI: I ran the testsuite too(`python3 -m github.tests`). The result was \r\n \r\n Ran 319 tests in 1.630s\r\n\r\n OK\r\n\r\nCheers,\r\nSebastian"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/events","html_url":"https://github.com/jacquev6/PyGithub/issues/59","id":6353712,"number":59,"title":"No Comments returned for PullRequest","user":{"login":"nixoz2k7","id":1027413,"avatar_url":"https://secure.gravatar.com/avatar/2a16046c75f59710161ea486d1f5881d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2a16046c75f59710161ea486d1f5881d","url":"https://api.github.com/users/nixoz2k7","html_url":"https://github.com/nixoz2k7","followers_url":"https://api.github.com/users/nixoz2k7/followers","following_url":"https://api.github.com/users/nixoz2k7/following{/other_user}","gists_url":"https://api.github.com/users/nixoz2k7/gists{/gist_id}","starred_url":"https://api.github.com/users/nixoz2k7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nixoz2k7/subscriptions","organizations_url":"https://api.github.com/users/nixoz2k7/orgs","repos_url":"https://api.github.com/users/nixoz2k7/repos","events_url":"https://api.github.com/users/nixoz2k7/events{/privacy}","received_events_url":"https://api.github.com/users/nixoz2k7/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":7,"created_at":"2012-08-21T15:33:36Z","updated_at":"2012-09-08T14:53:08Z","closed_at":"2012-09-08T13:20:03Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hello, here is the problem.\nNo Comments returned. But comments count showing proper value.\n\np = z.pulls[1]\np\nOUTPUT: \nOUTPUT: u'\\u041d\\u0435 \\u043f\\u0440\\u0438\\u043d\\u0438\\u043c\\u0430\\u0442\\u044c =)'\np.comments\nOUTPUT: 1\np.get_comments()\nOUTPUT: \nlist(p.get_comments())\nOUTPUT: []\n\nAny ideas ?\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/events","html_url":"https://github.com/jacquev6/PyGithub/issues/121","id":9323084,"number":121,"title":"Update AuthenticatedUser.get_repo to accept a full repo path","user":{"login":"lwc","id":336402,"avatar_url":"https://secure.gravatar.com/avatar/79df912986253edb50f9b077acd5acf9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"79df912986253edb50f9b077acd5acf9","url":"https://api.github.com/users/lwc","html_url":"https://github.com/lwc","followers_url":"https://api.github.com/users/lwc/followers","following_url":"https://api.github.com/users/lwc/following{/other_user}","gists_url":"https://api.github.com/users/lwc/gists{/gist_id}","starred_url":"https://api.github.com/users/lwc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lwc/subscriptions","organizations_url":"https://api.github.com/users/lwc/orgs","repos_url":"https://api.github.com/users/lwc/repos","events_url":"https://api.github.com/users/lwc/events{/privacy}","received_events_url":"https://api.github.com/users/lwc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":8,"created_at":"2012-12-17T03:02:50Z","updated_at":"2012-12-22T02:00:55Z","closed_at":"2012-12-21T19:42:09Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/121","diff_url":"https://github.com/jacquev6/PyGithub/pull/121.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/121.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"### Why?\r\n- For projects I dont own, but I am a collaborator, or for directly accessing organisation repos without needing to traverse user.get_orgs.\r\n\r\n### Example\r\n```python\r\nuser.get_repo(\"my_repo\") # existing behaviour still works\r\nuser.get_repo(\"my_org/repo\") # this is now possible\r\n```\r\n\r\n\r\nThanks,\r\nLuke Cawood"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/events","html_url":"https://github.com/jacquev6/PyGithub/issues/134","id":10379143,"number":134,"title":"Can't verify authorizations of token-authorized user","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":9,"created_at":"2013-01-28T15:33:19Z","updated_at":"2013-02-06T10:54:50Z","closed_at":"2013-02-05T23:07:06Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi!\r\nI think I've found a bug. I successfully created an API authorization with some scopes. In the program I want to use this autorization in, I'm trying to verify the correct scopes before proceeding, but this does not work as expected. From iPython:\r\n\r\n``` python\r\nfrom github import Github\r\nuser = Github(some_token).get_user()\r\nauths=user.get_authorizations()\r\nauths\r\nOut[5]: \r\nfor a in auths:\r\n print a.note\r\n---------------------------------------------------------------------------\r\nGithubException Traceback (most recent call last)\r\n in ()\r\n----> 1 for a in auths:\r\n 2 print a.note\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in __iter__(self)\r\n 33 yield element\r\n 34 while self._couldGrow():\r\n---> 35 newElements = self.__grow()\r\n 36 for element in newElements:\r\n 37 yield element\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in __grow(self)\r\n 45 \r\n 46 def __grow(self):\r\n---> 47 newElements = self._fetchNextPage()\r\n 48 self.__elements += newElements\r\n 49 return newElements\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in _fetchNextPage(self)\r\n 83 \r\n 84 def _fetchNextPage(self):\r\n---> 85 headers, data = self.__requester.requestAndCheck(\"GET\", self.__nextUrl, self.__nextParams, None)\r\n 86 \r\n 87 links = self.__parseLinkHeader(headers)\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/Requester.pyc in requestAndCheck(self, verb, url, parameters, input)\r\n 78 output = self.__structuredFromJson(output)\r\n 79 if status >= 400:\r\n---> 80 raise GithubException.GithubException(status, output)\r\n 81 return headers, output\r\n 82 \r\n\r\nGithubException: 404 {u'message': u'Not Found'}\r\n```\r\n\r\nis this a bug or am I doing something wrong/impossible. \r\n\r\nbtw, when creating a github instance with an authorization token, this does not error out when the token is invalid, i.e. I can say `Github(\"mySillyString\")` without error message - is this by design?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/events","html_url":"https://github.com/jacquev6/PyGithub/issues/54","id":5387373,"number":54,"title":"GitAuthor.date should return datetime, not string","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7/labels","id":140183,"number":7,"title":"Version 1.3","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-07-03T07:32:39Z","updated_at":"2012-07-13T20:01:15Z","due_on":"2012-07-16T07:00:00Z"},"comments":12,"created_at":"2012-07-02T14:38:01Z","updated_at":"2012-07-18T09:21:16Z","closed_at":"2012-07-13T19:21:04Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi!\n\nIt's great that all date-like objects are datetime.datetime now, makes working with it so easy. However, I think you missed GitAuthor.date, it would be great if this would also return datetimes.\n\nBackground: To get the dates of tags, I did `MyTag.commit.commit.committer.date`, and expected this to return a datetime object (like all the others do), but it returns a string."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/events","html_url":"https://github.com/jacquev6/PyGithub/issues/149","id":12179668,"number":149,"title":"Test failures with python3","user":{"login":"bkabrda","id":1050061,"avatar_url":"https://secure.gravatar.com/avatar/60d06f7560160f3ce7aa3877596da63f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"60d06f7560160f3ce7aa3877596da63f","url":"https://api.github.com/users/bkabrda","html_url":"https://github.com/bkabrda","followers_url":"https://api.github.com/users/bkabrda/followers","following_url":"https://api.github.com/users/bkabrda/following{/other_user}","gists_url":"https://api.github.com/users/bkabrda/gists{/gist_id}","starred_url":"https://api.github.com/users/bkabrda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkabrda/subscriptions","organizations_url":"https://api.github.com/users/bkabrda/orgs","repos_url":"https://api.github.com/users/bkabrda/repos","events_url":"https://api.github.com/users/bkabrda/events{/privacy}","received_events_url":"https://api.github.com/users/bkabrda/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":12,"created_at":"2013-03-19T13:25:29Z","updated_at":"2013-03-22T07:04:32Z","closed_at":"2013-03-21T23:34:58Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi,\r\nI'm experiencing dozens of failures with Python 3. Is this expected or is something wrong on my side? It seems that some of the failures are connected with random order of dict items in str(headers) in ReplayingConnection.request, but there are also other."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/events","html_url":"https://github.com/jacquev6/PyGithub/issues/87","id":6911794,"number":87,"title":"Repository.create_issue() fails on percent '%' character","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":13,"created_at":"2012-09-17T07:17:56Z","updated_at":"2012-10-05T15:10:36Z","closed_at":"2012-09-25T19:56:32Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"If the **title** or **body** parameter of `Repository.create_issue()` contains a percent character `%` then it provokes a 500 error from `api.github.com`.\n\nCuriously, if the percent character is followed by two hex digits, eg `%2F` then the request succeeds. In this case, the `%2F` is not url-decoded: it remains as `%2F` in the body text of the issue, not as a slash `/`.\n\nThis looks like it could be GitHub's issue: eg, their API is enforcing urlencoded input but is not actually decoding it.\n\nWhatever the case, it is impossible to create an issue using PyGithub that contains text like “works 25% of the time”."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/events","html_url":"https://github.com/jacquev6/PyGithub/issues/143","id":11731917,"number":143,"title":"Version 1.12.2 does not work with Python 3(.3) because of 2to3 issues","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":13,"created_at":"2013-03-06T20:48:02Z","updated_at":"2013-03-21T21:00:47Z","closed_at":"2013-03-21T21:00:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"In trying to pip install PyGithub with Python 3.3 just now, I see the following in the console:\r\n\r\nDownloading/unpacking PyGithub\r\n Downloading PyGithub-1.12.2.tar.gz (1.6MB): 1.6MB downloaded\r\n Running setup.py egg_info for package PyGithub\r\n \r\nInstalling collected packages: PyGithub\r\n Running setup.py install for PyGithub\r\n Fixing build/lib/github/__init__.py build/lib/github/AuthenticatedUser.py \r\n\r\n...\r\n\r\n File \"/Users/matthew/virtual-environments/mtsw2e/lib/python3.3/site-packages/github/AuthenticatedUser.py\", line 16\r\n from . import github.GithubObject\r\n ^\r\n SyntaxError: invalid syntax\r\n\r\n .... more of the same errors ...\r\n\r\nIn looking at the source on GitHub for this version (such as https://github.com/jacquev6/PyGithub/blob/v1.12.2/github/UserKey.py), it appears that you are just doing straight imports as \"import github.X\" which is causing 2to3 to produce invalid imports when it rewrites."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/events","html_url":"https://github.com/jacquev6/PyGithub/issues/80","id":6807542,"number":80,"title":"Assertion Failure ??","user":{"login":"mnsanghvi","id":1726664,"avatar_url":"https://secure.gravatar.com/avatar/e409b9dc39edbc7c61c36de28d16cc84?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e409b9dc39edbc7c61c36de28d16cc84","url":"https://api.github.com/users/mnsanghvi","html_url":"https://github.com/mnsanghvi","followers_url":"https://api.github.com/users/mnsanghvi/followers","following_url":"https://api.github.com/users/mnsanghvi/following{/other_user}","gists_url":"https://api.github.com/users/mnsanghvi/gists{/gist_id}","starred_url":"https://api.github.com/users/mnsanghvi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnsanghvi/subscriptions","organizations_url":"https://api.github.com/users/mnsanghvi/orgs","repos_url":"https://api.github.com/users/mnsanghvi/repos","events_url":"https://api.github.com/users/mnsanghvi/events{/privacy}","received_events_url":"https://api.github.com/users/mnsanghvi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":15,"created_at":"2012-09-12T02:07:44Z","updated_at":"2012-09-12T20:48:51Z","closed_at":"2012-09-12T19:28:02Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"``` python\n>>> from github import Github\n>>> gh = Github( \"login\", \"password\", \"base_url\")\n>>> for repo in gh.get_user().get_repos():\n... print repo.name\n...\nrepo1\nrepo2\nmy-person-linux-kernel-repo\nthe-secret-macosx-repo\n\n>>> for repo in gh.get_organization( org_name ).get_repos():\n... print repo.name\n...\n \nTraceback (most recent call last):\n File \"\", line 1, in \n File \"build/bdist.macosx-10.7-intel/egg/github/Organization.py\", line 311, in get_repos\n File \"build/bdist.macosx-10.7-intel/egg/github/Requester.py\", line 60, in requestAndCheck\n File \"build/bdist.macosx-10.7-intel/egg/github/Requester.py\", line 76, in requestRaw\nAssertionError\n\n```\n\nIs this because of my lack of knowledge about python, or is there something else going on here ? \n\nWhat I would like to do is be able to get a list of the hooks in all the repos in an organization and also go through that list of repos in an organization and be able to create hooks. \n\n\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/events","html_url":"https://github.com/jacquev6/PyGithub/issues/77","id":6780606,"number":77,"title":"No ability to fetch specific page with search api","user":{"login":"kukuts","id":1831238,"avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6ba907be1740213b69422fdf52b57","url":"https://api.github.com/users/kukuts","html_url":"https://github.com/kukuts","followers_url":"https://api.github.com/users/kukuts/followers","following_url":"https://api.github.com/users/kukuts/following{/other_user}","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","organizations_url":"https://api.github.com/users/kukuts/orgs","repos_url":"https://api.github.com/users/kukuts/repos","events_url":"https://api.github.com/users/kukuts/events{/privacy}","received_events_url":"https://api.github.com/users/kukuts/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":16,"created_at":"2012-09-11T03:44:18Z","updated_at":"2012-09-12T19:24:37Z","closed_at":"2012-09-12T19:24:37Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"legacy_search_repos - keyword and language but no start_page parameter\nHow to get eg 3rd page right?"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetKeys.txt b/github/tests/ReplayData/AuthenticatedUser.testGetKeys.txt deleted file mode 100644 index bd01f73..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetKeys.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/keys -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1968'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"753b62ed1eedc0d39ebd312719104dd1"'), ('date', 'Sat, 26 May 2012 20:18:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/user/keys/688586","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC262QAZ3rvJ7KySFEHUQYGfntylusL03x/ULKdVaSltc3Z2xvWm4zQSLHrWrdUbRN9z9kMpHWZZ2G+pvUPcY/qijbqtwg9FwBHNZoviq65LujKyQeegFXQKhGGaesDeKKC+jTXbg2NJY6+u5HLe4Je8q45VVHyAfltcuSE2QoCim50toyGUGWhcIDz/2mQYpy1wtkehQA6TeC55UE00TSU06E9glnqVi8hjDlsA7DABqyctG/sjP79OwUMBppiXYX2B0RJMtRHZ+5chsHx8oqavux1oG/tdTw9ZSAfKUHfDrN97x9PB38F3j8s60S2udRwLEYuErlF1JizTF4XOZhD","verified":true,"title":"vincent@home","id":688586},{"url":"https://api.github.com/user/keys/688598","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3CG7CI2EKMS6xeHgj1lC9tkjDJRotG9ZB7E/YbMy0l15I+ReiM5cQvYhivK2myJh7uiMBPa/VjowhZb7DvitZF8aUa99zHCygKDvN/XBl2nMEY8A01BmG6/JGlP1fgU1HdbULn1E6j0a+mYIFlpDzOFKTJqR25OzngOFC4VYiPVnoyH+uPZWWeOMPgdiJxAEWKs267OjXeikYfYE2xQN9M3a1EHitkwWOeVNKIqDTxoAU8f+Ifl4Cchq4mF56pWETSsj4hQ9YhXtzI8Grun0ZoYZM/cLPLo5rSi++FAJNU2T9yc/0G75DKEYH9UroLSQBua7KF+ixrIEtD6hI4gxDQ==","verified":true,"title":"vincent@gandi","id":688598},{"url":"https://api.github.com/user/keys/2403448","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK+jbASXi+PhE7GpBuKEH0qC+02J8L20A9CscleT5GUXKpZSbvxmsU0XLz95kYIBVUfrmTdn3PBn6FMK2OTWpxF9gt9DKclidkv2xfA1RkqnNVpMvZbzBMDmJcWo/lae+arQVJ26O1pbZjPH56c0cYvhblsoZnI1kCFatiJ3MOUeD2zCDylsfQ8zgLKA5yj0HRC3n5cPe9nIVWXnJQ1two4GHmxE7zue+hikYB7PQvaldGKTmHX04ODyZpyFOd86cvjiftN3G39POr2vh52jBwj4oLAiF89SC3QxQes8+zF00jOmnFUlONup0nLvJg4t/ij0M2kr5cqca7pMP+QfZp","verified":true,"title":"vincent@aws","id":2403448},{"url":"https://api.github.com/user/keys/2427679","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNQS4cnMOsGKJXBZ7DQ+6dzAHXwNYjw9W5aoonjr4pK7C9xvRPqA7QyQHub8fiYD6uj7OM8FLQgoMH1ewQULuQdH1JPkzjxPw5UpFn8eQaKOVlBkfGCiNaUOTejt5gxMrNZfPJmh2PnhsU+WXAyNNARor8CDnAmdgzHmaKKtMnRpVUJeIqKmgXhjx9lON5dZFyQGY9KIiR5gA/GWE9dFRHULoc+0gLEAR7AJ3emh55x4pqsURJpc2cdZ/X213l4Qk7HP2s7QIcihlbuxDJG9UTwjWlcIwjlQzarzhiRSyH9F3YmlT3THAdtDYX9imiBpEP52CPYNfDGrzzhbUqYj3r","verified":true,"title":"vincent@macbook","id":2427679}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetNotification.txt b/github/tests/ReplayData/AuthenticatedUser.testGetNotification.txt deleted file mode 100644 index b1a9e4f..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetNotification.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -GET -api.github.com -None -/notifications/threads/8406712 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '16567'), ('server', 'nginx'), ('last-modified', 'Fri, 24 Aug 2012 07:05:12 GMT'), ('connection', 'keep-alive'), ('etag', '"eb52c03081d2fc22f26ed2718921e500"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 17:26:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"id": "8406712","unread": false,"reason": "author","updated_at": "2013-03-15T05:43:11Z","last_read_at": "2013-03-15T06:06:34Z","subject": {"title": "Feature/coveralls","type": "PullRequest"},"repository": {"id": 8432784}} diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetNotifications.txt b/github/tests/ReplayData/AuthenticatedUser.testGetNotifications.txt deleted file mode 100644 index cd8106e..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetNotifications.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -GET -api.github.com -None -/notifications?participating=True -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '16567'), ('server', 'nginx'), ('last-modified', 'Fri, 24 Aug 2012 07:05:12 GMT'), ('connection', 'keep-alive'), ('etag', '"eb52c03081d2fc22f26ed2718921e500"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 17:26:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"id": "8406712","unread": false,"reason": "author","updated_at": "2013-03-15T05:43:11Z","last_read_at": "2013-03-15T06:06:34Z","subject": {"title": "Feature/coveralls","type": "PullRequest"},"repository": {"id": 8432784}}] diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetNotificationsWithOtherArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testGetNotificationsWithOtherArguments.txt deleted file mode 100644 index 31af111..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetNotificationsWithOtherArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/notifications?all=True -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '2'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 19 Mar 2013 21:05:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetOrganizationEvents.txt b/github/tests/ReplayData/AuthenticatedUser.testGetOrganizationEvents.txt deleted file mode 100644 index a46f0a6..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetOrganizationEvents.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d1b89d0f179a7977b3521babf470b71e"'), ('date', 'Sat, 26 May 2012 20:13:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":0,"type":"Organization","company":null,"location":"Paris, France","following":0,"blog":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"followers":0,"owned_private_repos":0,"disk_usage":112,"collaborators":0,"billing_email":"BeaverSoftware@vincent-jacques.net","html_url":"https://github.com/BeaverSoftware","url":"https://api.github.com/orgs/BeaverSoftware","name":null,"login":"BeaverSoftware","public_repos":2,"public_gists":0,"email":null,"id":1424031,"plan":{"private_repos":0,"name":"free","space":307200},"created_at":"2012-02-09T19:20:12Z"} - -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 20:13:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/users/jacquev6/events/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '31370'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"61ca146024fe83f06b9930f23033224f"'), ('date', 'Sat, 26 May 2012 20:14:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref":null,"ref_type":"repository"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/CreatedByPyGithub","id":3616888,"name":"BeaverSoftware/CreatedByPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-04T08:17:15Z","id":"1526182616","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref":null,"ref_type":"repository"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/CreatedByPyGithub","id":3610173,"name":"BeaverSoftware/CreatedByPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T11:16:34Z","id":"1526021988","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"390bcc2b855d419e9fd6727049aa9217db56a06a","size":1,"push_id":65381113,"commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/390bcc2b855d419e9fd6727049aa9217db56a06a","message":"This commit was created by PyGithub","distinct":true,"sha":"390bcc2b855d419e9fd6727049aa9217db56a06a"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:57:40Z","id":"1526010140","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","size":2,"push_id":65381112,"commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","message":"This commit was created by PyGithub","distinct":false,"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271"},{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/1c29d761d3e929afcbf8c6cc44b8181068d2d974","message":"This commit was created by PyGithub","distinct":false,"sha":"1c29d761d3e929afcbf8c6cc44b8181068d2d974"}],"ref":"refs/heads/previous_master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:57:39Z","id":"1526010139","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"DeleteEvent","payload":{"ref_type":"branch","ref":"previous_master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:56:56Z","id":"1526010100","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"DeleteEvent","payload":{"ref_type":"tag","ref":"tagCreatedByPyGithub"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:54:25Z","id":"1526009934","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","size":1,"push_id":65380919,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/1c29d761d3e929afcbf8c6cc44b8181068d2d974","message":"This commit was created by PyGithub","distinct":true,"sha":"1c29d761d3e929afcbf8c6cc44b8181068d2d974"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:52:06Z","id":"1526009779","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","size":2,"push_id":65380918,"commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/2f51005d80353b3b82cc23908ea4fc7a91230e2f","message":"This commit was created by PyGithub","distinct":false,"sha":"2f51005d80353b3b82cc23908ea4fc7a91230e2f"},{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","message":"This commit was created by PyGithub","distinct":false,"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271"}],"ref":"refs/heads/previous_master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:52:04Z","id":"1526009777","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"DeleteEvent","payload":{"ref_type":"tag","ref":"tag_1330764175"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:47:21Z","id":"1526009425","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"DeleteEvent","payload":{"ref_type":"tag","ref":"a_tag"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:47:15Z","id":"1526009414","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","size":1,"push_id":65380594,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","message":"This commit was created by PyGithub","distinct":true,"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:42:55Z","id":"1526009059","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"2f51005d80353b3b82cc23908ea4fc7a91230e2f","size":1,"push_id":65379432,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/2f51005d80353b3b82cc23908ea4fc7a91230e2f","message":"This commit was created by PyGithub","distinct":true,"sha":"2f51005d80353b3b82cc23908ea4fc7a91230e2f"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:11:55Z","id":"1526006647","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"e4e84560cb5e87f3c0e9f710dae1ddab0eef487b","size":1,"push_id":65379410,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/e4e84560cb5e87f3c0e9f710dae1ddab0eef487b","message":"This commit was created by PyGithub","distinct":true,"sha":"e4e84560cb5e87f3c0e9f710dae1ddab0eef487b"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3609352,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-03T08:11:13Z","id":"1526006609","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref":null,"ref_type":"repository"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3595643,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-01T20:19:32Z","id":"1525404633","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref_type":"repository","ref":null},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3595636,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-01T20:19:03Z","id":"1525404453","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref":null,"ref_type":"repository"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3595613,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-01T20:16:23Z","id":"1525403337","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref_type":"repository","ref":null},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3595586,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-01T20:12:55Z","id":"1525402258","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","description":null,"ref":null,"ref_type":"repository"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3595253,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-03-01T19:36:29Z","id":"1525387859","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"9473baa2f243872c07c8f008e3d53aed6b5c9ac5","size":1,"push_id":64666710,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/9473baa2f243872c07c8f008e3d53aed6b5c9ac5","message":"This commit was ter created by PyGithub","distinct":true,"sha":"9473baa2f243872c07c8f008e3d53aed6b5c9ac5"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3575047,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-28T20:11:58Z","id":"1524541002","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"ff9cc7d9bcb62d9dbf0784994fe026e9060701ef","size":1,"push_id":64259989,"commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/ff9cc7d9bcb62d9dbf0784994fe026e9060701ef","message":"This commit was ter created by PyGithub","sha":"ff9cc7d9bcb62d9dbf0784994fe026e9060701ef"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3553496,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-26T17:28:36Z","id":"1523710410","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"23395b2fa62293196bd8a640b14447c7b552c301","size":1,"push_id":64257074,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/23395b2fa62293196bd8a640b14447c7b552c301","message":"This commit was ter created by PyGithub","sha":"23395b2fa62293196bd8a640b14447c7b552c301"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3553240,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-26T16:46:35Z","id":"1523704553","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"daded682d3a64f70df2e5561783e7282a5cd80a9","size":1,"push_id":64171897,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/daded682d3a64f70df2e5561783e7282a5cd80a9","message":"This commit was ter created by PyGithub","sha":"daded682d3a64f70df2e5561783e7282a5cd80a9"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3545577,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-25T16:10:21Z","id":"1523516455","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"73b34d944187f282fa6049cd05b02432488b357b","size":1,"push_id":64169946,"ref":"refs/heads/master","commits":[{"author":{"email":"BeaverSoftware@vincent-jacques.net","name":"BeaverSoftware"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/73b34d944187f282fa6049cd05b02432488b357b","message":"This commit was ter created by PyGithub","sha":"73b34d944187f282fa6049cd05b02432488b357b"}]},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3545372,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-25T15:39:19Z","id":"1523512558","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"PushEvent","payload":{"head":"9f2ec52ae9e166d6104834bd0a7f3f9550565100","size":1,"push_id":64169244,"commits":[{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/9f2ec52ae9e166d6104834bd0a7f3f9550565100","message":"foo","sha":"9f2ec52ae9e166d6104834bd0a7f3f9550565100"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","id":3545295,"name":"BeaverSoftware/TestPyGithub"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-25T15:27:57Z","id":"1523511231","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"ForkEvent","payload":{"forkee":{"name":"FatherBeaver","master_branch":null,"size":0,"created_at":"2012-02-16T21:47:44Z","has_wiki":true,"public":true,"clone_url":"https://github.com/jacquev6/FatherBeaver.git","updated_at":"2012-02-16T21:47:44Z","private":false,"watchers":1,"language":null,"git_url":"git://github.com/jacquev6/FatherBeaver.git","fork":true,"ssh_url":"git@github.com:jacquev6/FatherBeaver.git","url":"https://api.github.com/repos/jacquev6/FatherBeaver","id":3464364,"pushed_at":null,"svn_url":"https://github.com/jacquev6/FatherBeaver","has_downloads":true,"open_issues":0,"mirror_url":null,"homepage":"","has_issues":false,"forks":0,"description":"","html_url":"https://github.com/jacquev6/FatherBeaver","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","id":3400397,"name":"BeaverSoftware/FatherBeaver"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-16T21:47:45Z","id":"1520524054","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":null,"ref_type":"repository","description":""},"public":true,"repo":{"url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","id":3400397,"name":"BeaverSoftware/FatherBeaver"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-09T19:32:22Z","id":"1518484373","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}},{"type":"TeamAddEvent","payload":{"membership_id":963957,"team":{"name":"Owners","url":"https://api.github.com/teams/141487","id":141487},"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"public":false,"repo":{"url":"https://api.github.com/repos//","name":"/"},"org":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/orgs/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"created_at":"2012-02-09T19:20:13Z","id":"1518480611","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetOrgs.txt b/github/tests/ReplayData/AuthenticatedUser.testGetOrgs.txt deleted file mode 100644 index a793c3e..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetOrgs.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/orgs -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '262'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1534f44ae64c7b70fb520ea37de4328d"'), ('date', 'Sat, 26 May 2012 20:18:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/orgs/BeaverSoftware","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetRepos.txt b/github/tests/ReplayData/AuthenticatedUser.testGetRepos.txt deleted file mode 100644 index 5986021..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetRepos.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '17939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3d6116bc986eb0698f0dfe92a01b2437"'), ('date', 'Sat, 26 May 2012 20:19:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","mirror_url":null,"has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","git_url":"git://github.com/jacquev6/TestPyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","git_url":"git://github.com/jacquev6/django.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","git_url":"git://github.com/jacquev6/developer.github.com.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","git_url":"git://github.com/jacquev6/acme-public-website.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","git_url":"git://github.com/jacquev6/C4Planner.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Hacking.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-24T13:55:11Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Hacking","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":128,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Hacking","git_url":"git://github.com/jacquev6/Hacking.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Hacking","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Hacking.git","pushed_at":"2012-04-17T19:09:56Z","created_at":"2011-07-02T15:59:51Z","id":1988081,"html_url":"https://github.com/jacquev6/Hacking","full_name":"jacquev6/Hacking"},{"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-29T15:20:52Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":172,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/vincent-jacques.net","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"vincent-jacques.net","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","pushed_at":"2012-04-29T15:20:52Z","created_at":"2011-07-02T07:08:56Z","id":1986874,"html_url":"https://github.com/jacquev6/vincent-jacques.net","full_name":"jacquev6/vincent-jacques.net"},{"clone_url":"https://github.com/jacquev6/Contests.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-02-12T07:18:09Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"Contests","url":"https://api.github.com/repos/jacquev6/Contests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":448,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Contests","git_url":"git://github.com/jacquev6/Contests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Contests","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Contests.git","pushed_at":"2011-11-14T20:19:48Z","created_at":"2011-06-27T11:55:34Z","id":1959919,"html_url":"https://github.com/jacquev6/Contests","full_name":"jacquev6/Contests"},{"clone_url":"https://github.com/jacquev6/Candidates.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-11T13:50:37Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Candidates","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":700,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Candidates","git_url":"git://github.com/jacquev6/Candidates.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Candidates","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Candidates.git","pushed_at":"2012-05-11T13:50:36Z","created_at":"2011-04-09T18:24:08Z","id":1592290,"html_url":"https://github.com/jacquev6/Candidates","full_name":"jacquev6/Candidates"},{"clone_url":"https://github.com/jacquev6/Tests.git","mirror_url":null,"has_downloads":true,"watchers":0,"updated_at":"2012-04-28T10:16:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Tests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":3032,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Tests","git_url":"git://github.com/jacquev6/Tests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Tests","language":"C","description":"Various tests","ssh_url":"git@github.com:jacquev6/Tests.git","pushed_at":"2012-04-01T04:24:47Z","created_at":"2011-03-28T20:24:02Z","id":1538471,"html_url":"https://github.com/jacquev6/Tests","full_name":"jacquev6/Tests"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","git_url":"git://github.com/jacquev6/DrawTurksHead.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","git_url":"git://github.com/jacquev6/DrawSyntax.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","git_url":"git://github.com/jacquev6/QuadProgMm.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","mirror_url":null,"has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","git_url":"git://github.com/jacquev6/ViDE.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetReposWithArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testGetReposWithArguments.txt deleted file mode 100644 index 6fc7443..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetReposWithArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/repos?sort=full_name&direction=desc&type=public -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '11503'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f701a487ffa356326c27c1d0f1790e5e"'), ('date', 'Tue, 29 May 2012 18:19:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/ViDE.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","html_url":"https://github.com/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"ViDE","mirror_url":null,"language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"git_url":"git://github.com/jacquev6/ViDE.git","full_name":"jacquev6/ViDE"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","html_url":"https://github.com/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"QuadProgMm","mirror_url":null,"language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"git_url":"git://github.com/jacquev6/QuadProgMm.git","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:07:54Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":480,"private":false,"open_issues":14,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:07:54Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","html_url":"https://github.com/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"DrawTurksHead","mirror_url":null,"language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"git_url":"git://github.com/jacquev6/DrawTurksHead.git","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","html_url":"https://github.com/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"DrawSyntax","mirror_url":null,"language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"git_url":"git://github.com/jacquev6/DrawSyntax.git","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/django.git","has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","html_url":"https://github.com/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"django","mirror_url":null,"language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"git_url":"git://github.com/jacquev6/django.git","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","html_url":"https://github.com/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"developer.github.com","mirror_url":null,"language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"git_url":"git://github.com/jacquev6/developer.github.com.git","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","html_url":"https://github.com/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"C4Planner","mirror_url":null,"language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"git_url":"git://github.com/jacquev6/C4Planner.git","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"Boost.HierarchicalEnum","mirror_url":null,"language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","html_url":"https://github.com/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"acme-public-website","mirror_url":null,"language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"git_url":"git://github.com/jacquev6/acme-public-website.git","full_name":"jacquev6/acme-public-website"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetStarredGists.txt b/github/tests/ReplayData/AuthenticatedUser.testGetStarredGists.txt deleted file mode 100644 index 52afb6d..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetStarredGists.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/gists/starred -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '1871'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6fe6eaa71614e18ab69868eb20639534"'), ('date', 'Sat, 26 May 2012 20:15:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"git_push_url":"git@gist.github.com:1942384.git","updated_at":"2012-02-29T16:47:12Z","url":"https://api.github.com/gists/1942384","comments":0,"public":true,"files":{"fail_github.py":{"type":"application/python","size":1636,"raw_url":"https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","filename":"fail_github.py","language":"Python"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","git_pull_url":"git://gist.github.com/1942384.git","id":"1942384","html_url":"https://gist.github.com/1942384"},{"git_push_url":"git@gist.github.com:dcb7de17e8a52b74541d.git","updated_at":"2012-02-28T19:44:42Z","url":"https://api.github.com/gists/dcb7de17e8a52b74541d","comments":1,"public":false,"files":{"cadfael.txt":{"type":"text/plain","size":585,"raw_url":"https://gist.github.com/raw/dcb7de17e8a52b74541d/48ca696645682d7430d73180814434e0284796b2/cadfael.txt","filename":"cadfael.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Cadfael: order of episodes in French DVD edition","created_at":"2012-02-28T19:44:42Z","git_pull_url":"git://gist.github.com/dcb7de17e8a52b74541d.git","id":"dcb7de17e8a52b74541d","html_url":"https://gist.github.com/dcb7de17e8a52b74541d"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetTeams.txt b/github/tests/ReplayData/AuthenticatedUser.testGetTeams.txt deleted file mode 100644 index 4c83ef3..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetTeams.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/teams -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:675E:4211BBA:531401D8'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '11367'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"00eaa266c50bd385cc99089d641a1242"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 03 Mar 2014 04:15:21 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393823721')] -[{"name":"Owners","id":141487,"slug":"owners","permission":"admin","url":"https://api.github.com/teams/141487","members_url":"https://api.github.com/teams/141487/members{/member}","repositories_url":"https://api.github.com/teams/141487/repos","members_count":1,"repos_count":1,"organization":{"login":"BeaverSoftware","id":1424031,"url":"https://api.github.com/orgs/BeaverSoftware","repos_url":"https://api.github.com/orgs/BeaverSoftware/repos","events_url":"https://api.github.com/orgs/BeaverSoftware/events","members_url":"https://api.github.com/orgs/BeaverSoftware/members{/member}","public_members_url":"https://api.github.com/orgs/BeaverSoftware/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/1424031","name":"Beaver Software","company":null,"blog":null,"location":"Paris, France","email":null,"public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/BeaverSoftware","created_at":"2012-02-09T19:20:12Z","updated_at":"2014-02-23T05:51:58Z","type":"Organization"}},{"name":"Honoraries","id":303637,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303637","members_url":"https://api.github.com/teams/303637/members{/member}","repositories_url":"https://api.github.com/teams/303637/repos","members_count":164,"repos_count":0,"organization":{"login":"coderwall-forked20","id":3080475,"url":"https://api.github.com/orgs/coderwall-forked20","repos_url":"https://api.github.com/orgs/coderwall-forked20/repos","events_url":"https://api.github.com/orgs/coderwall-forked20/events","members_url":"https://api.github.com/orgs/coderwall-forked20/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-forked20/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3080475","name":"Forked 20","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Forked 20 achievement ","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-forked20","created_at":"2012-12-19T11:54:12Z","updated_at":"2013-10-13T23:33:01Z","type":"Organization"}},{"name":"Honoraries","id":303631,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303631","members_url":"https://api.github.com/teams/303631/members{/member}","repositories_url":"https://api.github.com/teams/303631/repos","members_count":2223,"repos_count":0,"organization":{"login":"coderwall-forked","id":3080402,"url":"https://api.github.com/orgs/coderwall-forked","repos_url":"https://api.github.com/orgs/coderwall-forked/repos","events_url":"https://api.github.com/orgs/coderwall-forked/events","members_url":"https://api.github.com/orgs/coderwall-forked/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-forked/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3080402","name":"Forked","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Forked achievement ","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-forked","created_at":"2012-12-19T11:41:31Z","updated_at":"2013-10-15T16:59:47Z","type":"Organization"}},{"name":"Honoraries","id":304245,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/304245","members_url":"https://api.github.com/teams/304245/members{/member}","repositories_url":"https://api.github.com/teams/304245/repos","members_count":2217,"repos_count":0,"organization":{"login":"coderwall-polygamous","id":3086534,"url":"https://api.github.com/orgs/coderwall-polygamous","repos_url":"https://api.github.com/orgs/coderwall-polygamous/repos","events_url":"https://api.github.com/orgs/coderwall-polygamous/events","members_url":"https://api.github.com/orgs/coderwall-polygamous/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-polygamous/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3086534","name":"Walrus","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Walrus achievement","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-polygamous","created_at":"2012-12-20T04:08:42Z","updated_at":"2013-12-11T01:46:46Z","type":"Organization"}},{"name":"Honoraries","id":303548,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303548","members_url":"https://api.github.com/teams/303548/members{/member}","repositories_url":"https://api.github.com/teams/303548/repos","members_count":167,"repos_count":0,"organization":{"login":"coderwall-lemmings100","id":3079637,"url":"https://api.github.com/orgs/coderwall-lemmings100","repos_url":"https://api.github.com/orgs/coderwall-lemmings100/repos","events_url":"https://api.github.com/orgs/coderwall-lemmings100/events","members_url":"https://api.github.com/orgs/coderwall-lemmings100/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-lemmings100/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3079637","name":"Lemmings 100","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Lemmings 100 achievement","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-lemmings100","created_at":"2012-12-19T09:40:52Z","updated_at":"2013-10-14T18:57:32Z","type":"Organization"}},{"name":"Honoraries","id":303589,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303589","members_url":"https://api.github.com/teams/303589/members{/member}","repositories_url":"https://api.github.com/teams/303589/repos","members_count":3650,"repos_count":0,"organization":{"login":"coderwall-charity","id":3080009,"url":"https://api.github.com/orgs/coderwall-charity","repos_url":"https://api.github.com/orgs/coderwall-charity/repos","events_url":"https://api.github.com/orgs/coderwall-charity/events","members_url":"https://api.github.com/orgs/coderwall-charity/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-charity/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3080009","name":"Charity","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Charity achievement ","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-charity","created_at":"2012-12-19T10:39:38Z","updated_at":"2013-12-13T22:31:08Z","type":"Organization"}},{"name":"Honoraries","id":304227,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/304227","members_url":"https://api.github.com/teams/304227/members{/member}","repositories_url":"https://api.github.com/teams/304227/repos","members_count":346,"repos_count":0,"organization":{"login":"coderwall-python3","id":3086369,"url":"https://api.github.com/orgs/coderwall-python3","repos_url":"https://api.github.com/orgs/coderwall-python3/repos","events_url":"https://api.github.com/orgs/coderwall-python3/events","members_url":"https://api.github.com/orgs/coderwall-python3/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-python3/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3086369","name":"Python 3","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Python 3 achievement","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-python3","created_at":"2012-12-20T03:41:01Z","updated_at":"2013-10-21T18:01:03Z","type":"Organization"}},{"name":"Honoraries","id":304225,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/304225","members_url":"https://api.github.com/teams/304225/members{/member}","repositories_url":"https://api.github.com/teams/304225/repos","members_count":1021,"repos_count":0,"organization":{"login":"coderwall-python","id":3086352,"url":"https://api.github.com/orgs/coderwall-python","repos_url":"https://api.github.com/orgs/coderwall-python/repos","events_url":"https://api.github.com/orgs/coderwall-python/events","members_url":"https://api.github.com/orgs/coderwall-python/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-python/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3086352","name":"Python","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Python achievement","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-python","created_at":"2012-12-20T03:38:28Z","updated_at":"2013-10-16T19:01:51Z","type":"Organization"}},{"name":"Honoraries","id":303627,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303627","members_url":"https://api.github.com/teams/303627/members{/member}","repositories_url":"https://api.github.com/teams/303627/repos","members_count":74,"repos_count":0,"organization":{"login":"coderwall-epidexipteryx3","id":3080383,"url":"https://api.github.com/orgs/coderwall-epidexipteryx3","repos_url":"https://api.github.com/orgs/coderwall-epidexipteryx3/repos","events_url":"https://api.github.com/orgs/coderwall-epidexipteryx3/events","members_url":"https://api.github.com/orgs/coderwall-epidexipteryx3/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-epidexipteryx3/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3080383","name":"Epidexipteryx 3","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Epidexipteryx 3 achievement ","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-epidexipteryx3","created_at":"2012-12-19T11:38:11Z","updated_at":"2013-10-04T16:44:30Z","type":"Organization"}},{"name":"Honoraries","id":303625,"slug":"honoraries","permission":"pull","url":"https://api.github.com/teams/303625","members_url":"https://api.github.com/teams/303625/members{/member}","repositories_url":"https://api.github.com/teams/303625/repos","members_count":391,"repos_count":0,"organization":{"login":"coderwall-epidexipteryx","id":3080333,"url":"https://api.github.com/orgs/coderwall-epidexipteryx","repos_url":"https://api.github.com/orgs/coderwall-epidexipteryx/repos","events_url":"https://api.github.com/orgs/coderwall-epidexipteryx/events","members_url":"https://api.github.com/orgs/coderwall-epidexipteryx/members{/member}","public_members_url":"https://api.github.com/orgs/coderwall-epidexipteryx/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/3080333","name":"Epidexipteryx","company":null,"blog":"https://coderwall.com/gh","location":"Honorary members of the Epidexipteryx achievement ","email":"support@coderwall.com","public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/coderwall-epidexipteryx","created_at":"2012-12-19T11:31:05Z","updated_at":"2013-10-15T14:07:00Z","type":"Organization"}}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetUserIssues.txt b/github/tests/ReplayData/AuthenticatedUser.testGetUserIssues.txt deleted file mode 100644 index 14979e9..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetUserIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '68462'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:45:16 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/166","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/166/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/166/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/166/events","html_url":"https://github.com/jacquev6/PyGithub/issues/166","id":14447880,"number":166,"title":"Complete listing of issues","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25/labels","id":318564,"number":25,"title":"Version 1.15.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2013-04-22T20:31:42Z","updated_at":"2013-05-17T11:20:54Z","due_on":null},"comments":0,"created_at":"2013-05-17T11:20:54Z","updated_at":"2013-05-17T11:20:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"The three APIs described in http://developer.github.com/v3/issues/#list-issues are not fully covered in PyGithub.\r\n\r\nThis was reported by mail by Daehyok Shin"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/157","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/157/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/157/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/157/events","html_url":"https://github.com/jacquev6/PyGithub/issues/157","id":13505356,"number":157,"title":"Publish version 1.15.0","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25/labels","id":318564,"number":25,"title":"Version 1.15.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2013-04-22T20:31:42Z","updated_at":"2013-05-17T11:20:54Z","due_on":null},"comments":3,"created_at":"2013-04-22T20:32:35Z","updated_at":"2013-04-29T08:46:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":""},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/152","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/152/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/152/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/152/events","html_url":"https://github.com/jacquev6/PyGithub/issues/152","id":12541184,"number":152,"title":"How to work with the GithubException object","user":{"login":"pconrad","id":1119017,"avatar_url":"https://secure.gravatar.com/avatar/6ede7481097854b3ad4841f745fcc487?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ede7481097854b3ad4841f745fcc487","url":"https://api.github.com/users/pconrad","html_url":"https://github.com/pconrad","followers_url":"https://api.github.com/users/pconrad/followers","following_url":"https://api.github.com/users/pconrad/following{/other_user}","gists_url":"https://api.github.com/users/pconrad/gists{/gist_id}","starred_url":"https://api.github.com/users/pconrad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pconrad/subscriptions","organizations_url":"https://api.github.com/users/pconrad/orgs","repos_url":"https://api.github.com/users/pconrad/repos","events_url":"https://api.github.com/users/pconrad/events{/privacy}","received_events_url":"https://api.github.com/users/pconrad/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/25/labels","id":318564,"number":25,"title":"Version 1.15.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2013-04-22T20:31:42Z","updated_at":"2013-05-17T11:20:54Z","due_on":null},"comments":10,"created_at":"2013-03-27T23:17:29Z","updated_at":"2013-05-04T08:00:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I have a question about how to work with the GithubException object\r\n\r\nSample Code:\r\n try:\r\n team = org.create_team(teamName,\r\n [],\r\n \"push\");\r\n except GithubException as e:\r\n print (e)\r\n\r\nWhen I print (e) I get:\r\n\r\n 422 {u'message': u'Validation Failed', u'errors': [{u'field': u'name', u'code': u'already_exists', u'resource': u'Team'}]}\r\n\r\nWhat I'd like to be able to do is see the list of attributes and member functions of the GithubException object so that I can pull out various stuff to check for particular events... but I can'f find this in the documentation for the PyGithub API. Maybe I just need to understand better the relationship between the PyGithub API and the underlying github RESTful API.\r\n\r\nFrom the source, it appears that there are two properties of the GithubException object:\r\n\r\nhttps://github.com/jacquev6/PyGithub/blob/master/github/GithubException.py\r\n\r\n status\r\n data\r\n\r\nand putting that together with the output, it appears the 422 is the status (perhaps returned by the API?), and the data is a dictionary object (perhaps an encoding of the JSON that got returned?) but these are only guesses. \r\n\r\nIt appears that the only place GithubException occurs in the source is in Requester.py---and this tends to confirm my guesses.\r\n\r\nIs there somewhere in the documentation for the github API itself where one can find the keys that one would expect to find in the JSON object, i.e. in this case \"message\", \"errors\", and then within \"errors\", \"field\", \"code\", \"and \"resource\"? \r\n\r\nFrom trial and error guesswork, I settled on code like this, but this feels \"hacky---I'd be more comfortable if I knew whether I was doing this right...\r\n\r\n team = False # Sentinel to see if it succeeded or failed\r\n try:\r\n team = org.create_team(teamName,\r\n [],\r\n \"push\");\r\n print(\" team {0} created...\".format(teamName),end='')\r\n except GithubException as e:\r\n if (e.data['errors'][0]['code']=='already_exists'):\r\n print(\" team {0} already exists...\".format(teamName),end='') \r\n else:\r\n print (e)\r\n\r\n if (team != False):\r\n # do something with team...\r\n\r\nAm I on the right track?\r\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/136","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/136/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/136/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/136/events","html_url":"https://github.com/jacquev6/PyGithub/issues/136","id":10586808,"number":136,"title":"Dynamically create a NamedUser or Organization where needed","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/20","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/20/labels","id":258798,"number":20,"title":"Version 2.0","description":"First set of breaking changes","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2013-02-03T17:39:55Z","updated_at":"2013-02-03T17:43:22Z","due_on":null},"comments":0,"created_at":"2013-02-03T17:43:22Z","updated_at":"2013-02-03T17:43:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"For example, PullRequest.head.user can be an Organization (see tests reproducing #131)"},{"url":"https://api.github.com/repos/jacquev6/IpMap/issues/4","labels_url":"https://api.github.com/repos/jacquev6/IpMap/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/issues/4/comments","events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/4/events","html_url":"https://github.com/jacquev6/IpMap/issues/4","id":6741461,"number":4,"title":"Filter by geography","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-09-09T10:05:47Z","updated_at":"2012-09-09T10:05:47Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":4835930,"name":"IpMap","full_name":"jacquev6/IpMap","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/IpMap","description":"HTML5 browsable IP map inspired by http://xkcd.com/195/","fork":false,"url":"https://api.github.com/repos/jacquev6/IpMap","forks_url":"https://api.github.com/repos/jacquev6/IpMap/forks","keys_url":"https://api.github.com/repos/jacquev6/IpMap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/IpMap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/IpMap/teams","hooks_url":"https://api.github.com/repos/jacquev6/IpMap/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/IpMap/events","assignees_url":"https://api.github.com/repos/jacquev6/IpMap/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/IpMap/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/IpMap/tags","blobs_url":"https://api.github.com/repos/jacquev6/IpMap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/IpMap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/IpMap/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/IpMap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/IpMap/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/IpMap/languages","stargazers_url":"https://api.github.com/repos/jacquev6/IpMap/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/IpMap/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/IpMap/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/IpMap/subscription","commits_url":"https://api.github.com/repos/jacquev6/IpMap/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/IpMap/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/IpMap/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/IpMap/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/IpMap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/IpMap/merges","archive_url":"https://api.github.com/repos/jacquev6/IpMap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/IpMap/downloads","issues_url":"https://api.github.com/repos/jacquev6/IpMap/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/IpMap/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/IpMap/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/IpMap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/IpMap/labels{/name}","created_at":"2012-06-29T18:54:23Z","updated_at":"2013-01-10T21:36:10Z","pushed_at":"2012-09-09T19:35:42Z","git_url":"git://github.com/jacquev6/IpMap.git","ssh_url":"git@github.com:jacquev6/IpMap.git","clone_url":"https://github.com/jacquev6/IpMap.git","svn_url":"https://github.com/jacquev6/IpMap","homepage":"http://vincent-jacques.net/IpMap","size":144,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":0,"master_branch":"master","default_branch":"master"},"body":""},{"url":"https://api.github.com/repos/jacquev6/IpMap/issues/3","labels_url":"https://api.github.com/repos/jacquev6/IpMap/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/issues/3/comments","events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/3/events","html_url":"https://github.com/jacquev6/IpMap/issues/3","id":6741457,"number":3,"title":"Display more detailed information in each square","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-09-09T10:04:46Z","updated_at":"2012-09-09T10:04:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":4835930,"name":"IpMap","full_name":"jacquev6/IpMap","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/IpMap","description":"HTML5 browsable IP map inspired by http://xkcd.com/195/","fork":false,"url":"https://api.github.com/repos/jacquev6/IpMap","forks_url":"https://api.github.com/repos/jacquev6/IpMap/forks","keys_url":"https://api.github.com/repos/jacquev6/IpMap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/IpMap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/IpMap/teams","hooks_url":"https://api.github.com/repos/jacquev6/IpMap/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/IpMap/events","assignees_url":"https://api.github.com/repos/jacquev6/IpMap/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/IpMap/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/IpMap/tags","blobs_url":"https://api.github.com/repos/jacquev6/IpMap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/IpMap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/IpMap/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/IpMap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/IpMap/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/IpMap/languages","stargazers_url":"https://api.github.com/repos/jacquev6/IpMap/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/IpMap/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/IpMap/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/IpMap/subscription","commits_url":"https://api.github.com/repos/jacquev6/IpMap/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/IpMap/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/IpMap/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/IpMap/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/IpMap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/IpMap/merges","archive_url":"https://api.github.com/repos/jacquev6/IpMap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/IpMap/downloads","issues_url":"https://api.github.com/repos/jacquev6/IpMap/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/IpMap/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/IpMap/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/IpMap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/IpMap/labels{/name}","created_at":"2012-06-29T18:54:23Z","updated_at":"2013-01-10T21:36:10Z","pushed_at":"2012-09-09T19:35:42Z","git_url":"git://github.com/jacquev6/IpMap.git","ssh_url":"git@github.com:jacquev6/IpMap.git","clone_url":"https://github.com/jacquev6/IpMap.git","svn_url":"https://github.com/jacquev6/IpMap","homepage":"http://vincent-jacques.net/IpMap","size":144,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":0,"master_branch":"master","default_branch":"master"},"body":"A single solid color in each square doesn't allow to easily go down to a small subset of addresses."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/71","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/71/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/71/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/71/events","html_url":"https://github.com/jacquev6/PyGithub/issues/71","id":6727331,"number":71,"title":"Implement multi-step release of starring/watching","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/18","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/18/labels","id":234629,"number":18,"title":"Medium term wish list","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":2,"closed_issues":1,"state":"open","created_at":"2012-12-25T12:25:45Z","updated_at":"2013-03-22T17:42:44Z","due_on":null},"comments":0,"created_at":"2012-09-08T00:00:02Z","updated_at":"2012-12-25T12:25:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"See http://developer.github.com/changes/2012-9-5-watcher-api/ \n\nWe have to modify methods related to watchers to allow them to manage subscriptions."},{"url":"https://api.github.com/repos/jacquev6/IpMap/issues/2","labels_url":"https://api.github.com/repos/jacquev6/IpMap/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/issues/2/comments","events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/2/events","html_url":"https://github.com/jacquev6/IpMap/issues/2","id":5641572,"number":2,"title":"Change the mouse cursor to be a hand","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-07-16T15:14:20Z","updated_at":"2012-07-16T15:14:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":4835930,"name":"IpMap","full_name":"jacquev6/IpMap","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/IpMap","description":"HTML5 browsable IP map inspired by http://xkcd.com/195/","fork":false,"url":"https://api.github.com/repos/jacquev6/IpMap","forks_url":"https://api.github.com/repos/jacquev6/IpMap/forks","keys_url":"https://api.github.com/repos/jacquev6/IpMap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/IpMap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/IpMap/teams","hooks_url":"https://api.github.com/repos/jacquev6/IpMap/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/IpMap/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/IpMap/events","assignees_url":"https://api.github.com/repos/jacquev6/IpMap/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/IpMap/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/IpMap/tags","blobs_url":"https://api.github.com/repos/jacquev6/IpMap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/IpMap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/IpMap/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/IpMap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/IpMap/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/IpMap/languages","stargazers_url":"https://api.github.com/repos/jacquev6/IpMap/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/IpMap/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/IpMap/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/IpMap/subscription","commits_url":"https://api.github.com/repos/jacquev6/IpMap/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/IpMap/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/IpMap/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/IpMap/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/IpMap/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/IpMap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/IpMap/merges","archive_url":"https://api.github.com/repos/jacquev6/IpMap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/IpMap/downloads","issues_url":"https://api.github.com/repos/jacquev6/IpMap/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/IpMap/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/IpMap/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/IpMap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/IpMap/labels{/name}","created_at":"2012-06-29T18:54:23Z","updated_at":"2013-01-10T21:36:10Z","pushed_at":"2012-09-09T19:35:42Z","git_url":"git://github.com/jacquev6/IpMap.git","ssh_url":"git@github.com:jacquev6/IpMap.git","clone_url":"https://github.com/jacquev6/IpMap.git","svn_url":"https://github.com/jacquev6/IpMap","homepage":"http://vincent-jacques.net/IpMap","size":144,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":0,"master_branch":"master","default_branch":"master"},"body":""}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testGetUserIssuesWithAllArguments.txt b/github/tests/ReplayData/AuthenticatedUser.testGetUserIssuesWithAllArguments.txt deleted file mode 100644 index be03962..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testGetUserIssuesWithAllArguments.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1496'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:44:50 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T11:20:54Z","public_gists":3,"total_private_repos":4,"owned_private_repos":4,"disk_usage":17188,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6,"site_admin":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4663'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 13 May 2013 21:44:12 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2184e9e10f0a22eb0f1eceed39d728da"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:44:51 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":55} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Requested%20by%20user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '125'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 12 Sep 2012 18:38:55 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4255e5086bc19b2096e05eb6dad041ee"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:44:51 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"} - -https -GET -api.github.com -None -/issues?sort=comments&direction=asc&since=2012-05-28T23%3A00%3A00Z&labels=Requested+by+user&filter=assigned&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '276385'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:44:53 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/81/events","html_url":"https://github.com/jacquev6/PyGithub/issues/81","id":6816576,"number":81,"title":"Complete Legacy.convertXxx","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":0,"created_at":"2012-09-12T12:14:46Z","updated_at":"2012-09-12T18:40:47Z","closed_at":"2012-09-12T18:40:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Legacy.convertXxx discards some useful information and this leads to API calls that could be avoided."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/116/events","html_url":"https://github.com/jacquev6/PyGithub/issues/116","id":8495415,"number":116,"title":"Assertion failure on big numbers","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17/labels","id":215837,"number":17,"title":"Version 1.9.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":2,"state":"closed","created_at":"2012-11-20T07:36:46Z","updated_at":"2012-11-20T18:42:30Z","due_on":null},"comments":0,"created_at":"2012-11-20T07:35:10Z","updated_at":"2012-11-20T18:42:08Z","closed_at":"2012-11-20T18:42:08Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"(Issue reported by private mail)\n\nIn some Github Enterprise install, there can be a plan with 999999999999 private repositories. This doesn't fit in an int, but in a long. The assertion `isinstance(attributes[\"private_repos\"], int)` on https://github.com/jacquev6/PyGithub/blob/master/github/Plan.py#L50 fails.\n\nI will replace all occurrences of `isinstance(xxx, int)` by `isinstance(x, (int, long))`."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/86/events","html_url":"https://github.com/jacquev6/PyGithub/issues/86","id":6889934,"number":86,"title":"Include tests in pypi tarball","user":{"login":"koobs","id":1011612,"avatar_url":"https://secure.gravatar.com/avatar/a083cdd9096b4a5623a298d6b4d590a8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a083cdd9096b4a5623a298d6b4d590a8","url":"https://api.github.com/users/koobs","html_url":"https://github.com/koobs","followers_url":"https://api.github.com/users/koobs/followers","following_url":"https://api.github.com/users/koobs/following{/other_user}","gists_url":"https://api.github.com/users/koobs/gists{/gist_id}","starred_url":"https://api.github.com/users/koobs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koobs/subscriptions","organizations_url":"https://api.github.com/users/koobs/orgs","repos_url":"https://api.github.com/users/koobs/repos","events_url":"https://api.github.com/users/koobs/events{/privacy}","received_events_url":"https://api.github.com/users/koobs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":1,"created_at":"2012-09-14T23:22:10Z","updated_at":"2012-09-17T16:57:45Z","closed_at":"2012-09-17T16:57:45Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Will help QA and regression test the devel/py-pygithub FreeBSD port"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/114/events","html_url":"https://github.com/jacquev6/PyGithub/issues/114","id":8339699,"number":114,"title":"typo in ReadMe.md","user":{"login":"tymofij","id":123786,"avatar_url":"https://secure.gravatar.com/avatar/253b410d7a41999c754970a3aa34834e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"253b410d7a41999c754970a3aa34834e","url":"https://api.github.com/users/tymofij","html_url":"https://github.com/tymofij","followers_url":"https://api.github.com/users/tymofij/followers","following_url":"https://api.github.com/users/tymofij/following{/other_user}","gists_url":"https://api.github.com/users/tymofij/gists{/gist_id}","starred_url":"https://api.github.com/users/tymofij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tymofij/subscriptions","organizations_url":"https://api.github.com/users/tymofij/orgs","repos_url":"https://api.github.com/users/tymofij/repos","events_url":"https://api.github.com/users/tymofij/events{/privacy}","received_events_url":"https://api.github.com/users/tymofij/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-13T23:15:11Z","updated_at":"2012-11-14T07:58:02Z","closed_at":"2012-11-14T07:58:00Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/114","diff_url":"https://github.com/jacquev6/PyGithub/pull/114.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/114.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":""},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/111/events","html_url":"https://github.com/jacquev6/PyGithub/issues/111","id":8075253,"number":111,"title":"Add 'assignee' attribute to PullRequest","user":{"login":"mstead","id":218800,"avatar_url":"https://secure.gravatar.com/avatar/cff2de4d58af775ba0a07a5332b57889?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cff2de4d58af775ba0a07a5332b57889","url":"https://api.github.com/users/mstead","html_url":"https://github.com/mstead","followers_url":"https://api.github.com/users/mstead/followers","following_url":"https://api.github.com/users/mstead/following{/other_user}","gists_url":"https://api.github.com/users/mstead/gists{/gist_id}","starred_url":"https://api.github.com/users/mstead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstead/subscriptions","organizations_url":"https://api.github.com/users/mstead/orgs","repos_url":"https://api.github.com/users/mstead/repos","events_url":"https://api.github.com/users/mstead/events{/privacy}","received_events_url":"https://api.github.com/users/mstead/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-03T00:33:18Z","updated_at":"2012-11-03T08:28:14Z","closed_at":"2012-11-03T08:25:59Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/111","diff_url":"https://github.com/jacquev6/PyGithub/pull/111.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/111.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"It seems as though this may have been added to\r\nthe github API and was not being included in the\r\nPullRequest object.\r\n\r\nI stumbled upon this when attempting to get the current\r\nassignee of a pull request while playing with the API,\r\nand noticed I could not get it via PyGithub. I need this\r\nfor a project I'm working on.\r\n\r\nThis verifies that the attribute's existence in github's API:\r\n```curl -i \"https://api.github.com/repos/jacquev6/PyGithub/pulls/31\" | grep assignee```\r\nOutput:\r\n```\"assignee\": null,```\r\n\r\n\r\nI was also going to update the tests to include the attribute,\r\nbut I wasn't able to set the assignee on the test data.\r\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/110/events","html_url":"https://github.com/jacquev6/PyGithub/issues/110","id":8033963,"number":110,"title":"Add encoding comment to source files","user":{"login":"Zearin","id":630124,"avatar_url":"https://secure.gravatar.com/avatar/cb9730ee11d50fa2db955d687c653971?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cb9730ee11d50fa2db955d687c653971","url":"https://api.github.com/users/Zearin","html_url":"https://github.com/Zearin","followers_url":"https://api.github.com/users/Zearin/followers","following_url":"https://api.github.com/users/Zearin/following{/other_user}","gists_url":"https://api.github.com/users/Zearin/gists{/gist_id}","starred_url":"https://api.github.com/users/Zearin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Zearin/subscriptions","organizations_url":"https://api.github.com/users/Zearin/orgs","repos_url":"https://api.github.com/users/Zearin/repos","events_url":"https://api.github.com/users/Zearin/events{/privacy}","received_events_url":"https://api.github.com/users/Zearin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":1,"created_at":"2012-11-01T15:45:03Z","updated_at":"2012-11-03T08:28:32Z","closed_at":"2012-11-03T08:07:37Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/110","diff_url":"https://github.com/jacquev6/PyGithub/pull/110.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/110.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"This is a minor thing. It’s a convention, not a rule (obviously)—but it’s also a best practice.\r\n\r\nMany text editors look for this kind of comment as the first line—or second line, if there is a shebang (the `#!/usr/bin/env python`, or whatever else)—and make use of this to determine the file’s encoding."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/118/events","html_url":"https://github.com/jacquev6/PyGithub/issues/118","id":9089893,"number":118,"title":"Modify setup.py to allow .egg distribution of PyGithub","user":{"login":"gregwjacobs","id":1749292,"avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","url":"https://api.github.com/users/gregwjacobs","html_url":"https://github.com/gregwjacobs","followers_url":"https://api.github.com/users/gregwjacobs/followers","following_url":"https://api.github.com/users/gregwjacobs/following{/other_user}","gists_url":"https://api.github.com/users/gregwjacobs/gists{/gist_id}","starred_url":"https://api.github.com/users/gregwjacobs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregwjacobs/subscriptions","organizations_url":"https://api.github.com/users/gregwjacobs/orgs","repos_url":"https://api.github.com/users/gregwjacobs/repos","events_url":"https://api.github.com/users/gregwjacobs/events{/privacy}","received_events_url":"https://api.github.com/users/gregwjacobs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":1,"created_at":"2012-12-07T14:42:13Z","updated_at":"2012-12-21T19:45:37Z","closed_at":"2012-12-21T19:45:37Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"In setup.py change:\n\n`from distutils.core import setup, Command`\n\nto:\n\n`from setuptools import setup, Command, find_packages`\n\nThus users can also distribute or use PyGithub in as an .egg via this command:\n\n`python setup.py bdist_egg`\n\nAFAIK this will not impact the remainder of the existing use of setup.py?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/123/events","html_url":"https://github.com/jacquev6/PyGithub/issues/123","id":9489725,"number":123,"title":"Repository.get_contents does not accept ref=branch","user":{"login":"fixxxeruk","id":1074943,"avatar_url":"https://secure.gravatar.com/avatar/de3cd5a76ce1ef2cdcf7060068d693e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de3cd5a76ce1ef2cdcf7060068d693e0","url":"https://api.github.com/users/fixxxeruk","html_url":"https://github.com/fixxxeruk","followers_url":"https://api.github.com/users/fixxxeruk/followers","following_url":"https://api.github.com/users/fixxxeruk/following{/other_user}","gists_url":"https://api.github.com/users/fixxxeruk/gists{/gist_id}","starred_url":"https://api.github.com/users/fixxxeruk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fixxxeruk/subscriptions","organizations_url":"https://api.github.com/users/fixxxeruk/orgs","repos_url":"https://api.github.com/users/fixxxeruk/repos","events_url":"https://api.github.com/users/fixxxeruk/events{/privacy}","received_events_url":"https://api.github.com/users/fixxxeruk/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":1,"created_at":"2012-12-23T11:59:53Z","updated_at":"2012-12-24T13:26:20Z","closed_at":"2012-12-24T13:26:20Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"As per the documentation:\r\nhttp://developer.github.com/v3/repos/contents/\r\n\r\nThe Get Contents GitHub API accepts an optional parameter `ref` which allows the user to specify the branch. Otherwise this parameter defaults to `master`.\r\n\r\nPlease implement this optional parameter on Repository.get_contents, which currently only accepts a single parameter to specify the path."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/144/events","html_url":"https://github.com/jacquev6/PyGithub/issues/144","id":11746141,"number":144,"title":"Store original JSON response for objects and expose it for document-oriented storage","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":1,"created_at":"2013-03-07T04:54:23Z","updated_at":"2013-03-21T20:57:54Z","closed_at":"2013-03-21T20:57:54Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I'd like to be able to serialize a GithubObject and get back the original JSON that was used to initially construct it for purposes of serializing out to a document oriented store like MongoDB where this representation would be a natural (and highly portable) fit for storage. From looking at how objects are constructed, it seems as though it would be pretty trivial to keep around the JSON and expose it as necessary as opposed to just discarding it.\r\n\r\nPerhaps `__str__` could return the readable JSON representation and `__repr__` could contain what currently happens from `__str__` (the unambiguous object with its address)?\r\n\r\nIf there are concerns over memory, perhaps this could be a configurable option?\r\n\r\nAt any rate, I could help put together the patch but would first like to get your thoughts and whether or not you're open to merging in such a pull request"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/47/events","html_url":"https://github.com/jacquev6/PyGithub/issues/47","id":5152384,"number":47,"title":"Just a small patch to make PyGithub compatible with Python 2.5","user":{"login":"pmuilu","id":691799,"avatar_url":"https://secure.gravatar.com/avatar/3aa27c0add742f542848af3b8a9e980c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3aa27c0add742f542848af3b8a9e980c","url":"https://api.github.com/users/pmuilu","html_url":"https://github.com/pmuilu","followers_url":"https://api.github.com/users/pmuilu/followers","following_url":"https://api.github.com/users/pmuilu/following{/other_user}","gists_url":"https://api.github.com/users/pmuilu/gists{/gist_id}","starred_url":"https://api.github.com/users/pmuilu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmuilu/subscriptions","organizations_url":"https://api.github.com/users/pmuilu/orgs","repos_url":"https://api.github.com/users/pmuilu/repos","events_url":"https://api.github.com/users/pmuilu/events{/privacy}","received_events_url":"https://api.github.com/users/pmuilu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-06-19T17:58:29Z","updated_at":"2012-06-20T21:06:08Z","closed_at":"2012-06-20T20:08:20Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/47","diff_url":"https://github.com/jacquev6/PyGithub/pull/47.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/47.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Seems to work otherwise."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/48/events","html_url":"https://github.com/jacquev6/PyGithub/issues/48","id":5177381,"number":48,"title":"data_files install location","user":{"login":"malexw","id":577322,"avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","url":"https://api.github.com/users/malexw","html_url":"https://github.com/malexw","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following{/other_user}","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","organizations_url":"https://api.github.com/users/malexw/orgs","repos_url":"https://api.github.com/users/malexw/repos","events_url":"https://api.github.com/users/malexw/events{/privacy}","received_events_url":"https://api.github.com/users/malexw/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7/labels","id":140183,"number":7,"title":"Version 1.3","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-07-03T07:32:39Z","updated_at":"2012-07-13T20:01:15Z","due_on":"2012-07-16T07:00:00Z"},"comments":2,"created_at":"2012-06-20T18:33:44Z","updated_at":"2012-07-13T19:20:49Z","closed_at":"2012-07-13T19:20:49Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Installing on OS X 10.7 via:\n $ pip install PyGithub\n\n(Using the Python 2.7 package from python.org, and not OS X's python2.6 flavour)\n\nGot an error message:\n running install_data\n copying ReadMe.md -> /System/Library/Frameworks/Python.framework/Versions/2.7/\n error: /System/Library/Frameworks/Python.framework/Versions/2.7/ReadMe.md: Permission denied\n\nWhile I can use sudo to make the error message go away, I don't think `/System/Library/Frameworks/Python.framework/Versions/2.7/` is the correct location for the documentation. I don't know much about writing setup.py files, but after looking at gunicorn, flask, and numpy, it doesn't look like any of them use data_files for installing documentation."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/57/events","html_url":"https://github.com/jacquev6/PyGithub/issues/57","id":5783131,"number":57,"title":"Allows connection to GitHub Enterprise installs on local URLs","user":{"login":"engie","id":1247,"avatar_url":"https://secure.gravatar.com/avatar/37a932b3abe212892173784736ed6b12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"37a932b3abe212892173784736ed6b12","url":"https://api.github.com/users/engie","html_url":"https://github.com/engie","followers_url":"https://api.github.com/users/engie/followers","following_url":"https://api.github.com/users/engie/following{/other_user}","gists_url":"https://api.github.com/users/engie/gists{/gist_id}","starred_url":"https://api.github.com/users/engie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/engie/subscriptions","organizations_url":"https://api.github.com/users/engie/orgs","repos_url":"https://api.github.com/users/engie/repos","events_url":"https://api.github.com/users/engie/events{/privacy}","received_events_url":"https://api.github.com/users/engie/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/8","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/8/labels","id":150933,"number":8,"title":"Version 1.4","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2012-07-24T16:04:28Z","updated_at":"2012-09-11T18:52:13Z","due_on":"2012-08-05T07:00:00Z"},"comments":2,"created_at":"2012-07-23T16:44:06Z","updated_at":"2012-08-04T05:59:15Z","closed_at":"2012-08-04T05:59:15Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/57","diff_url":"https://github.com/jacquev6/PyGithub/pull/57.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/57.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"This patch allows you to use the module with local (i.e. Enterprise) GitHub installs. Passes the tests here, defaults to connecting to api.github.com."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/62/events","html_url":"https://github.com/jacquev6/PyGithub/issues/62","id":6454054,"number":62,"title":"Add timeout option","user":{"login":"xobb1t","id":344095,"avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","url":"https://api.github.com/users/xobb1t","html_url":"https://github.com/xobb1t","followers_url":"https://api.github.com/users/xobb1t/followers","following_url":"https://api.github.com/users/xobb1t/following{/other_user}","gists_url":"https://api.github.com/users/xobb1t/gists{/gist_id}","starred_url":"https://api.github.com/users/xobb1t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xobb1t/subscriptions","organizations_url":"https://api.github.com/users/xobb1t/orgs","repos_url":"https://api.github.com/users/xobb1t/repos","events_url":"https://api.github.com/users/xobb1t/events{/privacy}","received_events_url":"https://api.github.com/users/xobb1t/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":2,"created_at":"2012-08-25T19:42:13Z","updated_at":"2012-09-05T17:23:47Z","closed_at":"2012-09-05T17:23:47Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/62","diff_url":"https://github.com/jacquev6/PyGithub/pull/62.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/62.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Add support of `timeout` option. Unfortunately drops python < 2.6 support."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/65/events","html_url":"https://github.com/jacquev6/PyGithub/issues/65","id":6641076,"number":65,"title":"GET /repos/:user/:repo/contents/:path","user":{"login":"berndca","id":466654,"avatar_url":"https://secure.gravatar.com/avatar/4a43f97dc0112d95d8d713e2fd2a983b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4a43f97dc0112d95d8d713e2fd2a983b","url":"https://api.github.com/users/berndca","html_url":"https://github.com/berndca","followers_url":"https://api.github.com/users/berndca/followers","following_url":"https://api.github.com/users/berndca/following{/other_user}","gists_url":"https://api.github.com/users/berndca/gists{/gist_id}","starred_url":"https://api.github.com/users/berndca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/berndca/subscriptions","organizations_url":"https://api.github.com/users/berndca/orgs","repos_url":"https://api.github.com/users/berndca/repos","events_url":"https://api.github.com/users/berndca/events{/privacy}","received_events_url":"https://api.github.com/users/berndca/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":2,"created_at":"2012-09-04T17:42:29Z","updated_at":"2012-09-08T11:06:18Z","closed_at":"2012-09-08T11:06:18Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I have not been able to figure out how to access the github API request for GET /repos/:user/:repo/contents/[:path] using PyGithub. Perhaps I'm missing something?\n\nPlease advise.\nThanks, Bernd"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/67/events","html_url":"https://github.com/jacquev6/PyGithub/issues/67","id":6653907,"number":67,"title":"Statuses","user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":2,"created_at":"2012-09-05T06:49:54Z","updated_at":"2012-09-08T11:42:27Z","closed_at":"2012-09-08T11:42:27Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Implement APIs described in http://developer.github.com/v3/repos/statuses/"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/102/events","html_url":"https://github.com/jacquev6/PyGithub/issues/102","id":7331214,"number":102,"title":"get_git_ref does not prepend 'refs'","user":{"login":"simon-weber","id":950506,"avatar_url":"https://secure.gravatar.com/avatar/5ac24ef595f7d1cd016bc3de24f78e60?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5ac24ef595f7d1cd016bc3de24f78e60","url":"https://api.github.com/users/simon-weber","html_url":"https://github.com/simon-weber","followers_url":"https://api.github.com/users/simon-weber/followers","following_url":"https://api.github.com/users/simon-weber/following{/other_user}","gists_url":"https://api.github.com/users/simon-weber/gists{/gist_id}","starred_url":"https://api.github.com/users/simon-weber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simon-weber/subscriptions","organizations_url":"https://api.github.com/users/simon-weber/orgs","repos_url":"https://api.github.com/users/simon-weber/repos","events_url":"https://api.github.com/users/simon-weber/events{/privacy}","received_events_url":"https://api.github.com/users/simon-weber/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/15","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/15/labels","id":190819,"number":15,"title":"Version 1.8.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2012-10-07T11:01:54Z","updated_at":"2012-10-28T09:46:01Z","due_on":null},"comments":2,"created_at":"2012-10-03T19:02:53Z","updated_at":"2012-10-07T11:06:11Z","closed_at":"2012-10-07T11:06:11Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"The docs say get_git_refs performs `/repos/:user/:repo/git/refs/:ref`, but actually performs `/repos/:user/:repo/git/:ref`. For example:\r\n\r\n```\r\n>>> github.Github().get_user(\"jacquev6\").get_repo(\"PyGithub\").get_git_ref('heads/master')\r\n# => 404, but should work\r\n>>> github.Github().get_user(\"jacquev6\").get_repo(\"PyGithub\").get_git_ref('refs/heads/master')\r\n# => works, but should 404\r\n```\r\n\r\n\r\n\r\n`refs/` is prepended to a provided reference in the Github api: http://developer.github.com/v3/git/refs/#get-a-reference."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/124/events","html_url":"https://github.com/jacquev6/PyGithub/issues/124","id":9489813,"number":124,"title":"Fixed Issue #123: Repository.get_contents does not accept ref=branch","user":{"login":"fixxxeruk","id":1074943,"avatar_url":"https://secure.gravatar.com/avatar/de3cd5a76ce1ef2cdcf7060068d693e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de3cd5a76ce1ef2cdcf7060068d693e0","url":"https://api.github.com/users/fixxxeruk","html_url":"https://github.com/fixxxeruk","followers_url":"https://api.github.com/users/fixxxeruk/followers","following_url":"https://api.github.com/users/fixxxeruk/following{/other_user}","gists_url":"https://api.github.com/users/fixxxeruk/gists{/gist_id}","starred_url":"https://api.github.com/users/fixxxeruk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fixxxeruk/subscriptions","organizations_url":"https://api.github.com/users/fixxxeruk/orgs","repos_url":"https://api.github.com/users/fixxxeruk/repos","events_url":"https://api.github.com/users/fixxxeruk/events{/privacy}","received_events_url":"https://api.github.com/users/fixxxeruk/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":2,"created_at":"2012-12-23T12:15:06Z","updated_at":"2012-12-25T10:53:21Z","closed_at":"2012-12-25T10:53:21Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/124","diff_url":"https://github.com/jacquev6/PyGithub/pull/124.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/124.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Tested and validated. This change does not break API compatibility."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/129/events","html_url":"https://github.com/jacquev6/PyGithub/issues/129","id":9776615,"number":129,"title":"Add Suppport For the GitHub Hooks PubSubHub","user":{"login":"s0undt3ch","id":300048,"avatar_url":"https://secure.gravatar.com/avatar/49656fcaeab19bd7ad1d51264ea37e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"49656fcaeab19bd7ad1d51264ea37e7d","url":"https://api.github.com/users/s0undt3ch","html_url":"https://github.com/s0undt3ch","followers_url":"https://api.github.com/users/s0undt3ch/followers","following_url":"https://api.github.com/users/s0undt3ch/following{/other_user}","gists_url":"https://api.github.com/users/s0undt3ch/gists{/gist_id}","starred_url":"https://api.github.com/users/s0undt3ch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s0undt3ch/subscriptions","organizations_url":"https://api.github.com/users/s0undt3ch/orgs","repos_url":"https://api.github.com/users/s0undt3ch/repos","events_url":"https://api.github.com/users/s0undt3ch/events{/privacy}","received_events_url":"https://api.github.com/users/s0undt3ch/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":2,"created_at":"2013-01-08T17:49:50Z","updated_at":"2013-02-05T22:48:01Z","closed_at":"2013-02-05T22:48:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Add Suppport For the [GitHub Hooks PubSubHub](http://developer.github.com/v3/repos/hooks/#pubsubhubbub)"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/133/events","html_url":"https://github.com/jacquev6/PyGithub/issues/133","id":10360280,"number":133,"title":"Fix failing get_page function","user":{"login":"llimllib","id":7150,"avatar_url":"https://secure.gravatar.com/avatar/aa7c1350d93036592f58f165318044db?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"aa7c1350d93036592f58f165318044db","url":"https://api.github.com/users/llimllib","html_url":"https://github.com/llimllib","followers_url":"https://api.github.com/users/llimllib/followers","following_url":"https://api.github.com/users/llimllib/following{/other_user}","gists_url":"https://api.github.com/users/llimllib/gists{/gist_id}","starred_url":"https://api.github.com/users/llimllib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llimllib/subscriptions","organizations_url":"https://api.github.com/users/llimllib/orgs","repos_url":"https://api.github.com/users/llimllib/repos","events_url":"https://api.github.com/users/llimllib/events{/privacy}","received_events_url":"https://api.github.com/users/llimllib/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":2,"created_at":"2013-01-27T22:39:17Z","updated_at":"2013-01-29T17:56:14Z","closed_at":"2013-01-29T17:56:14Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/133","diff_url":"https://github.com/jacquev6/PyGithub/pull/133.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/133.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"* if firstParams was None, PaginatedList was calling dict(None)\r\n which fails with a TypeError. If firstParams is None, just use\r\n an empty tuple, which dict() handles properly"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24/events","html_url":"https://github.com/jacquev6/PyGithub/issues/24","id":4356743,"number":24,"title":"Improve error messages on broken requests","user":{"login":"roskakori","id":328726,"avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","url":"https://api.github.com/users/roskakori","html_url":"https://github.com/roskakori","followers_url":"https://api.github.com/users/roskakori/followers","following_url":"https://api.github.com/users/roskakori/following{/other_user}","gists_url":"https://api.github.com/users/roskakori/gists{/gist_id}","starred_url":"https://api.github.com/users/roskakori/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roskakori/subscriptions","organizations_url":"https://api.github.com/users/roskakori/orgs","repos_url":"https://api.github.com/users/roskakori/repos","events_url":"https://api.github.com/users/roskakori/events{/privacy}","received_events_url":"https://api.github.com/users/roskakori/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2/labels","id":93547,"number":2,"title":"Version 1.0: coherent public interface","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":19,"state":"closed","created_at":"2012-03-08T12:22:28Z","updated_at":"2012-06-03T19:56:17Z","due_on":"2012-06-04T07:00:00Z"},"comments":3,"created_at":"2012-04-30T20:01:20Z","updated_at":"2012-05-30T19:58:35Z","closed_at":"2012-05-30T19:58:35Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/63/events","html_url":"https://github.com/jacquev6/PyGithub/issues/63","id":6583381,"number":63,"title":"PyGithub on Upverter","user":{"login":"malexw","id":577322,"avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","url":"https://api.github.com/users/malexw","html_url":"https://github.com/malexw","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following{/other_user}","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","organizations_url":"https://api.github.com/users/malexw/orgs","repos_url":"https://api.github.com/users/malexw/repos","events_url":"https://api.github.com/users/malexw/events{/privacy}","received_events_url":"https://api.github.com/users/malexw/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":3,"created_at":"2012-08-31T16:36:04Z","updated_at":"2012-09-05T17:11:47Z","closed_at":"2012-09-05T17:11:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi Vincent, I wanted to let you know that we've started using PyGithub over at Upverter. You can see an example of it in action here: https://upverter.com/JBionics/a07fd2563a253ccf/Programmable-RC-Car-Controller-Arduino-Shield/\n\nUpverter is a web-based schematic capture and PCB layout tool for people who design electronics. Like github, it's free for anyone to use as long as they publish their designs with an open-source license. We let designers attach a github project to an Upverter project, and use PyGithub to pull in some basic stats about the project (including a README file), and show them on the project's main page.\n\nCheers,\nAlex"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/74/events","html_url":"https://github.com/jacquev6/PyGithub/issues/74","id":6751469,"number":74,"title":"Support clearing of issue milestone and assignee","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":3,"created_at":"2012-09-10T00:42:24Z","updated_at":"2012-09-12T02:36:43Z","closed_at":"2012-09-11T18:55:30Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/74","diff_url":"https://github.com/jacquev6/PyGithub/pull/74.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/74.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I could find no way to use the PyGithub API to clear an Issue's milestone or assignee. So I created this patch to make Issue.edit() accept None for the milestone and assignee parameters. I have tested it on a real GitHub issue, and it works, but I have not created any test cases."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/112/events","html_url":"https://github.com/jacquev6/PyGithub/issues/112","id":8189836,"number":112,"title":"Allow for using OAuth id and secret to increase rate limit","user":{"login":"mwoodworth","id":606209,"avatar_url":"https://secure.gravatar.com/avatar/fa8bf31f678044f65afb6c4c5a8ea542?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fa8bf31f678044f65afb6c4c5a8ea542","url":"https://api.github.com/users/mwoodworth","html_url":"https://github.com/mwoodworth","followers_url":"https://api.github.com/users/mwoodworth/followers","following_url":"https://api.github.com/users/mwoodworth/following{/other_user}","gists_url":"https://api.github.com/users/mwoodworth/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoodworth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoodworth/subscriptions","organizations_url":"https://api.github.com/users/mwoodworth/orgs","repos_url":"https://api.github.com/users/mwoodworth/repos","events_url":"https://api.github.com/users/mwoodworth/events{/privacy}","received_events_url":"https://api.github.com/users/mwoodworth/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/14/labels","id":189891,"number":14,"title":"Version 1.9.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-10-05T08:15:01Z","updated_at":"2012-11-19T20:52:01Z","due_on":null},"comments":3,"created_at":"2012-11-07T23:17:54Z","updated_at":"2012-11-19T20:05:26Z","closed_at":"2012-11-19T19:50:50Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/112","diff_url":"https://github.com/jacquev6/PyGithub/pull/112.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/112.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"API Doc section for the change\r\nhttp://developer.github.com/v3/#rate-limiting"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/events","html_url":"https://github.com/jacquev6/PyGithub/issues/139","id":10758585,"number":139,"title":"Typo in GithubObject \"self._completed\" -> \"self.__completed\"?","user":{"login":"ianozsvald","id":273210,"avatar_url":"https://secure.gravatar.com/avatar/3d644406158b4d440111903db1f62622?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3d644406158b4d440111903db1f62622","url":"https://api.github.com/users/ianozsvald","html_url":"https://github.com/ianozsvald","followers_url":"https://api.github.com/users/ianozsvald/followers","following_url":"https://api.github.com/users/ianozsvald/following{/other_user}","gists_url":"https://api.github.com/users/ianozsvald/gists{/gist_id}","starred_url":"https://api.github.com/users/ianozsvald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianozsvald/subscriptions","organizations_url":"https://api.github.com/users/ianozsvald/orgs","repos_url":"https://api.github.com/users/ianozsvald/repos","events_url":"https://api.github.com/users/ianozsvald/events{/privacy}","received_events_url":"https://api.github.com/users/ianozsvald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21/labels","id":262264,"number":21,"title":"Version 1.11.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2013-02-07T18:19:05Z","updated_at":"2013-02-09T16:56:36Z","due_on":null},"comments":3,"created_at":"2013-02-07T22:12:31Z","updated_at":"2013-02-08T10:48:28Z","closed_at":"2013-02-08T07:44:02Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I noticed that calls to a user object (e.g. user.email, user.location etc) caused multiple calls to GitHub. Looking at GithubObject.py I see several references to __completed and one to _completed (single underscore) on line 72. Changing line 72 to use a double underscore removed the repeated calls to Github.\r\n\r\nI tried to run your tests but can't figure out how to do so? I'd have left you a pull request if so. I tried \"python -m unittest discover\" and also just running the files, I'm not familiar with the format you've used. I'm happy to run with logs etc if that's useful (some guidance on how to run the tests would be super helpful too). Thanks, Ian."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/148/events","html_url":"https://github.com/jacquev6/PyGithub/issues/148","id":12097154,"number":148,"title":"Notification API","user":{"login":"pgolm","id":1444194,"avatar_url":"https://secure.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":3,"created_at":"2013-03-16T16:38:35Z","updated_at":"2013-03-19T22:14:44Z","closed_at":"2013-03-19T22:14:44Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/148","diff_url":"https://github.com/jacquev6/PyGithub/pull/148.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/148.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"implementation of Notification API #108"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/156/events","html_url":"https://github.com/jacquev6/PyGithub/issues/156","id":12867103,"number":156,"title":"renaming files in a gist","user":{"login":"jasonwiener","id":204083,"avatar_url":"https://secure.gravatar.com/avatar/fed498e65aec4199029994d4feab4fb1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fed498e65aec4199029994d4feab4fb1","url":"https://api.github.com/users/jasonwiener","html_url":"https://github.com/jasonwiener","followers_url":"https://api.github.com/users/jasonwiener/followers","following_url":"https://api.github.com/users/jasonwiener/following{/other_user}","gists_url":"https://api.github.com/users/jasonwiener/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonwiener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonwiener/subscriptions","organizations_url":"https://api.github.com/users/jasonwiener/orgs","repos_url":"https://api.github.com/users/jasonwiener/repos","events_url":"https://api.github.com/users/jasonwiener/events{/privacy}","received_events_url":"https://api.github.com/users/jasonwiener/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/24","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/24/labels","id":298677,"number":24,"title":"Version 1.14.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"closed","created_at":"2013-03-28T19:15:29Z","updated_at":"2013-04-22T21:03:59Z","due_on":null},"comments":3,"created_at":"2013-04-05T22:37:41Z","updated_at":"2013-04-08T19:15:29Z","closed_at":"2013-04-08T19:15:29Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"looking at the InputFileContent class, it doesn't appear to support renaming a file in a gist. am i mistaken?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/49/events","html_url":"https://github.com/jacquev6/PyGithub/issues/49","id":5191621,"number":49,"title":"Support new Search API","user":{"login":"kukuts","id":1831238,"avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6ba907be1740213b69422fdf52b57","url":"https://api.github.com/users/kukuts","html_url":"https://github.com/kukuts","followers_url":"https://api.github.com/users/kukuts/followers","following_url":"https://api.github.com/users/kukuts/following{/other_user}","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","organizations_url":"https://api.github.com/users/kukuts/orgs","repos_url":"https://api.github.com/users/kukuts/repos","events_url":"https://api.github.com/users/kukuts/events{/privacy}","received_events_url":"https://api.github.com/users/kukuts/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6/labels","id":136827,"number":6,"title":"Version 1.2","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-06-25T19:31:02Z","updated_at":"2012-06-29T18:47:43Z","due_on":"2012-07-01T07:00:00Z"},"comments":4,"created_at":"2012-06-21T12:27:38Z","updated_at":"2012-06-29T18:47:28Z","closed_at":"2012-06-29T18:47:28Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"New API ported from v2 but i have trouble with adopting ask's library for v2 API to support v3 style for searching. \nhttp://developer.github.com/v3/search/\n\nIts not described in the page about parameters that search for repos API supports.\nThey are same as in v2 API, you can look them in ask's library.\nIn v2 was like that https://github.com/api/v2/json/repos/search/testing?start_page=2&language=Python\nIn v3 is https://api.github.com/legacy/repos/search/testing?start_page=2&language=Python"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50/events","html_url":"https://github.com/jacquev6/PyGithub/issues/50","id":5256315,"number":50,"title":"[Issue] Replace label _identity with name","user":{"login":"philipkimmey","id":211079,"avatar_url":"https://secure.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","url":"https://api.github.com/users/philipkimmey","html_url":"https://github.com/philipkimmey","followers_url":"https://api.github.com/users/philipkimmey/followers","following_url":"https://api.github.com/users/philipkimmey/following{/other_user}","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","organizations_url":"https://api.github.com/users/philipkimmey/orgs","repos_url":"https://api.github.com/users/philipkimmey/repos","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","received_events_url":"https://api.github.com/users/philipkimmey/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6/labels","id":136827,"number":6,"title":"Version 1.2","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-06-25T19:31:02Z","updated_at":"2012-06-29T18:47:43Z","due_on":"2012-07-01T07:00:00Z"},"comments":4,"created_at":"2012-06-25T18:45:05Z","updated_at":"2012-06-28T20:10:44Z","closed_at":"2012-06-28T20:10:44Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/50","diff_url":"https://github.com/jacquev6/PyGithub/pull/50.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/50.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":null},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/60/events","html_url":"https://github.com/jacquev6/PyGithub/issues/60","id":6363719,"number":60,"title":"delete repo","user":{"login":"pmchen","id":671751,"avatar_url":"https://secure.gravatar.com/avatar/a0f9638840c6e593ecddc966e6d01241?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a0f9638840c6e593ecddc966e6d01241","url":"https://api.github.com/users/pmchen","html_url":"https://github.com/pmchen","followers_url":"https://api.github.com/users/pmchen/followers","following_url":"https://api.github.com/users/pmchen/following{/other_user}","gists_url":"https://api.github.com/users/pmchen/gists{/gist_id}","starred_url":"https://api.github.com/users/pmchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmchen/subscriptions","organizations_url":"https://api.github.com/users/pmchen/orgs","repos_url":"https://api.github.com/users/pmchen/repos","events_url":"https://api.github.com/users/pmchen/events{/privacy}","received_events_url":"https://api.github.com/users/pmchen/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/9/labels","id":164586,"number":9,"title":"Version 1.5","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-08-23T07:44:21Z","updated_at":"2012-09-05T17:56:28Z","due_on":"2012-09-06T07:00:00Z"},"comments":4,"created_at":"2012-08-21T21:47:28Z","updated_at":"2012-09-05T17:12:16Z","closed_at":"2012-09-05T17:12:16Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I'm just starting to to use PyGithub (and python). Thanks for creating such a useful tool. I'm teaching a large class and using PyGithub to programmatically manage hundreds of repos.\n\nIs there a way to delete a repo via PyGithub? github API v3 includes this, but I don't see a Repository.delete() method in PyGithub.\n\nAnother minor (and unrelated) issue: Is there a way to get_team by name (instead of by id)? The only way I can see to find a team by name is by iterating over all teams and looking at team.name.\n\nThanks for your help."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/119/events","html_url":"https://github.com/jacquev6/PyGithub/issues/119","id":9209408,"number":119,"title":"gists new api","user":{"login":"cancerhermit","id":1584557,"avatar_url":"https://secure.gravatar.com/avatar/9be6dcfe3820b88a23001e4758ca6703?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6dcfe3820b88a23001e4758ca6703","url":"https://api.github.com/users/cancerhermit","html_url":"https://github.com/cancerhermit","followers_url":"https://api.github.com/users/cancerhermit/followers","following_url":"https://api.github.com/users/cancerhermit/following{/other_user}","gists_url":"https://api.github.com/users/cancerhermit/gists{/gist_id}","starred_url":"https://api.github.com/users/cancerhermit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cancerhermit/subscriptions","organizations_url":"https://api.github.com/users/cancerhermit/orgs","repos_url":"https://api.github.com/users/cancerhermit/repos","events_url":"https://api.github.com/users/cancerhermit/events{/privacy}","received_events_url":"https://api.github.com/users/cancerhermit/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":4,"created_at":"2012-12-12T08:47:25Z","updated_at":"2012-12-21T20:39:17Z","closed_at":"2012-12-21T20:39:17Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"https://github.com/blog/1276-welcome-to-a-new-gist . git:// not work, new urls is https://"}] - -https -GET -api.github.com -None -/issues?direction=asc&filter=assigned&labels=Requested+by+user&page=2&since=2012-05-28T23%3A00%3A00Z&sort=comments&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '143568'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:34:11 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"36fb6631d2714acfd6169b3d779277e5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:45:03 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/88/events","html_url":"https://github.com/jacquev6/PyGithub/issues/88","id":6912733,"number":88,"title":"Use Python logging to log raw requests","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":5,"created_at":"2012-09-17T08:19:42Z","updated_at":"2012-09-25T20:57:52Z","closed_at":"2012-09-25T20:57:52Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/88","diff_url":"https://github.com/jacquev6/PyGithub/pull/88.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/88.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"I replaced the commented-out print statement in Requester.py with a call to Python [logging](http://docs.python.org/library/logging.html) so that users have the option to trace low-level api.github.com requests without having to hack their installed PyGithub package: they just put `logging.getLogger('github').setLevel(logging.DEBUG)` in their script.\n\nI don't have any strong opinion as to whether you should pull this change or not. I found it useful while debugging #87, you may decide you don't like it; no problem."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/131/events","html_url":"https://github.com/jacquev6/PyGithub/issues/131","id":9948505,"number":131,"title":"Fix PullRequestPart when using get_pulls() and the head user is an Organization","user":{"login":"sbesson","id":1355463,"avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","url":"https://api.github.com/users/sbesson","html_url":"https://github.com/sbesson","followers_url":"https://api.github.com/users/sbesson/followers","following_url":"https://api.github.com/users/sbesson/following{/other_user}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","organizations_url":"https://api.github.com/users/sbesson/orgs","repos_url":"https://api.github.com/users/sbesson/repos","events_url":"https://api.github.com/users/sbesson/events{/privacy}","received_events_url":"https://api.github.com/users/sbesson/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":5,"created_at":"2013-01-14T16:46:39Z","updated_at":"2013-02-04T09:57:31Z","closed_at":"2013-02-03T17:33:11Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Error can be reproduced with the following example:\r\n```\r\nimport github\r\nrepo = github.Github().get_user(\"openmicroscopy\").get_repo(\"ome-documentation\")\r\n\r\nassert repo.get_pull(204).head.user.login == 'imcf'\r\n\r\nfor pr in list(repo.get_pulls('closed')):\r\n\tif pr.number == 204:\r\n\t\tassert pr.head.user is None\r\n```\r\n\r\n/cc @joshmoore"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/142/events","html_url":"https://github.com/jacquev6/PyGithub/issues/142","id":11503771,"number":142,"title":"Bug with Python 3?","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":5,"created_at":"2013-02-28T15:00:18Z","updated_at":"2013-03-03T19:08:21Z","closed_at":"2013-03-03T17:54:48Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi! \r\nI'm currently in the process of switching a program to python 3.2. I encounter the following problem: `TypeError: can't use a string pattern on a bytes-like object`\r\n\r\n```\r\nimport github\r\ngh_instance = github.Github('')\r\nuser = gh_instance.get_user()\r\nuser.name\r\n---------------------------------------------------------------------------\r\nTypeError Traceback (most recent call last)\r\n in ()\r\n----> 1 user.name\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/AuthenticatedUser.py in name(self)\r\n 166 :type: string\r\n 167 \"\"\"\r\n--> 168 self._completeIfNotSet(self._name)\r\n 169 return self._NoneIfNotSet(self._name)\r\n 170 \r\n\r\n/usr/local/lib/python3.2/dist-packages/github/GithubObject.py in _completeIfNotSet(self, value)\r\n 61 def _completeIfNotSet(self, value):\r\n 62 if not self.__completed and value is NotSet:\r\n---> 63 self.__complete()\r\n 64 \r\n 65 def __complete(self):\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/GithubObject.py in __complete(self)\r\n 68 self._url,\r\n 69 None,\r\n---> 70 None\r\n 71 )\r\n 72 self._useAttributes(data)\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in requestJsonAndCheck(self, verb, url, parameters, input)\r\n 77 \r\n 78 def requestJsonAndCheck(self, verb, url, parameters, input):\r\n---> 79 return self.__check(*self.requestJson(verb, url, parameters, input))\r\n 80 \r\n 81 def requestMultipartAndCheck(self, verb, url, parameters, input):\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in __check(self, status, responseHeaders, output)\r\n 83 \r\n 84 def __check(self, status, responseHeaders, output):\r\n---> 85 output = self.__structuredFromJson(output)\r\n 86 if status >= 400:\r\n 87 raise GithubException.GithubException(status, output)\r\n\r\n/usr/local/lib/python3.2/dist-packages/github/Requester.py in __structuredFromJson(self, data)\r\n 92 return None\r\n 93 else:\r\n---> 94 return json.loads(data)\r\n 95 \r\n 96 def requestJson(self, verb, url, parameters, input):\r\n\r\n/usr/lib/python3.2/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\r\n 307 parse_int is None and parse_float is None and\r\n 308 parse_constant is None and object_pairs_hook is None and not kw):\r\n--> 309 return _default_decoder.decode(s)\r\n 310 if cls is None:\r\n 311 cls = JSONDecoder\r\n\r\n/usr/lib/python3.2/json/decoder.py in decode(self, s, _w)\r\n 351 \r\n 352 \"\"\"\r\n--> 353 obj, end = self.raw_decode(s, idx=_w(s, 0).end())\r\n 354 end = _w(s, end).end()\r\n 355 if end != len(s):\r\n\r\nTypeError: can't use a string pattern on a bytes-like object\r\n```\r\nIt's `PyGithub-1.12.1` installed via `pip-3.2` and python `'3.2.3 (default, Oct 19 2012, 19:53:57) \\n[GCC 4.7.2]'`"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/140/events","html_url":"https://github.com/jacquev6/PyGithub/issues/140","id":10922412,"number":140,"title":"Repository.get_contents does not return directory information","user":{"login":"ksookocheff-va","id":2529590,"avatar_url":"https://secure.gravatar.com/avatar/ae7eed65e46234c210912a1e474f2f1c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae7eed65e46234c210912a1e474f2f1c","url":"https://api.github.com/users/ksookocheff-va","html_url":"https://github.com/ksookocheff-va","followers_url":"https://api.github.com/users/ksookocheff-va/followers","following_url":"https://api.github.com/users/ksookocheff-va/following{/other_user}","gists_url":"https://api.github.com/users/ksookocheff-va/gists{/gist_id}","starred_url":"https://api.github.com/users/ksookocheff-va/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksookocheff-va/subscriptions","organizations_url":"https://api.github.com/users/ksookocheff-va/orgs","repos_url":"https://api.github.com/users/ksookocheff-va/repos","events_url":"https://api.github.com/users/ksookocheff-va/events{/privacy}","received_events_url":"https://api.github.com/users/ksookocheff-va/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/22","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/22/labels","id":266004,"number":22,"title":"Version 1.12.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":2,"state":"closed","created_at":"2013-02-13T07:10:18Z","updated_at":"2013-02-20T18:45:16Z","due_on":null},"comments":6,"created_at":"2013-02-12T19:53:26Z","updated_at":"2013-02-16T22:45:00Z","closed_at":"2013-02-16T18:14:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"The GitHub API returns a list of all files in a directory when you use Get Contents on a directory.\r\n\r\nexample:\r\nhttps://api.github.com/repos/twitter/bootstrap/contents/js/?ref=d28343dc3ad53a411ae3685e7d6a7866c8c22d6b\r\n\r\nCurrently PyGithub only returns None when using this API to query a directory."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/145/events","html_url":"https://github.com/jacquev6/PyGithub/issues/145","id":11844658,"number":145,"title":"Configure default requests with per_page=100","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":6,"created_at":"2013-03-09T21:47:07Z","updated_at":"2013-03-21T20:47:58Z","closed_at":"2013-03-21T20:47:58Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Per http://developer.github.com/v3/#pagination, the max items that can possibly be requested is 100 as opposed to the default of 30. From what I can tell, the default is used in all requests and there's no way to override it without modifying the source. Hence, about 1/3 of the available data is being returned on lots of requests\r\n\r\nIs there a reason not to go ahead and add a default per_page=100 to all API requests? Best case, it results in faster access to data, and worst case, it has no effect. For my particular uses, I'm making lots of requests, and a speedup of ~3.3x would be a big help.\r\n\r\nThoughts?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/153/events","html_url":"https://github.com/jacquev6/PyGithub/issues/153","id":12566144,"number":153,"title":"Error \"500 None\" in python3","user":{"login":"sebastianstigler","id":772197,"avatar_url":"https://secure.gravatar.com/avatar/c3249014be386ebc7e509c25260c8a8b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c3249014be386ebc7e509c25260c8a8b","url":"https://api.github.com/users/sebastianstigler","html_url":"https://github.com/sebastianstigler","followers_url":"https://api.github.com/users/sebastianstigler/followers","following_url":"https://api.github.com/users/sebastianstigler/following{/other_user}","gists_url":"https://api.github.com/users/sebastianstigler/gists{/gist_id}","starred_url":"https://api.github.com/users/sebastianstigler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebastianstigler/subscriptions","organizations_url":"https://api.github.com/users/sebastianstigler/orgs","repos_url":"https://api.github.com/users/sebastianstigler/repos","events_url":"https://api.github.com/users/sebastianstigler/events{/privacy}","received_events_url":"https://api.github.com/users/sebastianstigler/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"comments":6,"created_at":"2013-03-28T14:17:05Z","updated_at":"2013-03-28T19:33:19Z","closed_at":"2013-03-28T19:12:42Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi, \r\nIm using PyGithub (1.13.0, installed with pip and pip-3.2) on Ubuntu 12.04 with python version 2.7.3 (there it works just fine) an version 3.2.3 where i get some issues\r\n\r\nI posted the testcase and the testouput for the run with python3 here:\thttps://gist.github.com/8efb393ddaefc614f225\r\n\r\nFYI: I ran the testsuite too(`python3 -m github.tests`). The result was \r\n \r\n Ran 319 tests in 1.630s\r\n\r\n OK\r\n\r\nCheers,\r\nSebastian"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/59/events","html_url":"https://github.com/jacquev6/PyGithub/issues/59","id":6353712,"number":59,"title":"No Comments returned for PullRequest","user":{"login":"nixoz2k7","id":1027413,"avatar_url":"https://secure.gravatar.com/avatar/2a16046c75f59710161ea486d1f5881d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2a16046c75f59710161ea486d1f5881d","url":"https://api.github.com/users/nixoz2k7","html_url":"https://github.com/nixoz2k7","followers_url":"https://api.github.com/users/nixoz2k7/followers","following_url":"https://api.github.com/users/nixoz2k7/following{/other_user}","gists_url":"https://api.github.com/users/nixoz2k7/gists{/gist_id}","starred_url":"https://api.github.com/users/nixoz2k7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nixoz2k7/subscriptions","organizations_url":"https://api.github.com/users/nixoz2k7/orgs","repos_url":"https://api.github.com/users/nixoz2k7/repos","events_url":"https://api.github.com/users/nixoz2k7/events{/privacy}","received_events_url":"https://api.github.com/users/nixoz2k7/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/10/labels","id":169989,"number":10,"title":"Version 1.6","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":9,"state":"closed","created_at":"2012-09-04T20:12:30Z","updated_at":"2012-09-08T18:00:28Z","due_on":"2012-09-13T07:00:00Z"},"comments":7,"created_at":"2012-08-21T15:33:36Z","updated_at":"2012-09-08T14:53:08Z","closed_at":"2012-09-08T13:20:03Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hello, here is the problem.\nNo Comments returned. But comments count showing proper value.\n\np = z.pulls[1]\np\nOUTPUT: \nOUTPUT: u'\\u041d\\u0435 \\u043f\\u0440\\u0438\\u043d\\u0438\\u043c\\u0430\\u0442\\u044c =)'\np.comments\nOUTPUT: 1\np.get_comments()\nOUTPUT: \nlist(p.get_comments())\nOUTPUT: []\n\nAny ideas ?\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/121/events","html_url":"https://github.com/jacquev6/PyGithub/issues/121","id":9323084,"number":121,"title":"Update AuthenticatedUser.get_repo to accept a full repo path","user":{"login":"lwc","id":336402,"avatar_url":"https://secure.gravatar.com/avatar/79df912986253edb50f9b077acd5acf9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"79df912986253edb50f9b077acd5acf9","url":"https://api.github.com/users/lwc","html_url":"https://github.com/lwc","followers_url":"https://api.github.com/users/lwc/followers","following_url":"https://api.github.com/users/lwc/following{/other_user}","gists_url":"https://api.github.com/users/lwc/gists{/gist_id}","starred_url":"https://api.github.com/users/lwc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lwc/subscriptions","organizations_url":"https://api.github.com/users/lwc/orgs","repos_url":"https://api.github.com/users/lwc/repos","events_url":"https://api.github.com/users/lwc/events{/privacy}","received_events_url":"https://api.github.com/users/lwc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/16/labels","id":215570,"number":16,"title":"Version 1.10.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":10,"state":"closed","created_at":"2012-11-19T20:02:45Z","updated_at":"2012-12-25T12:25:01Z","due_on":null},"comments":8,"created_at":"2012-12-17T03:02:50Z","updated_at":"2012-12-22T02:00:55Z","closed_at":"2012-12-21T19:42:09Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/121","diff_url":"https://github.com/jacquev6/PyGithub/pull/121.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/121.patch"},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"### Why?\r\n- For projects I dont own, but I am a collaborator, or for directly accessing organisation repos without needing to traverse user.get_orgs.\r\n\r\n### Example\r\n```python\r\nuser.get_repo(\"my_repo\") # existing behaviour still works\r\nuser.get_repo(\"my_org/repo\") # this is now possible\r\n```\r\n\r\n\r\nThanks,\r\nLuke Cawood"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/134/events","html_url":"https://github.com/jacquev6/PyGithub/issues/134","id":10379143,"number":134,"title":"Can't verify authorizations of token-authorized user","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/19/labels","id":234630,"number":19,"title":"Version 1.11.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-12-25T12:26:40Z","updated_at":"2013-02-07T18:18:31Z","due_on":"2013-02-08T08:00:00Z"},"comments":9,"created_at":"2013-01-28T15:33:19Z","updated_at":"2013-02-06T10:54:50Z","closed_at":"2013-02-05T23:07:06Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi!\r\nI think I've found a bug. I successfully created an API authorization with some scopes. In the program I want to use this autorization in, I'm trying to verify the correct scopes before proceeding, but this does not work as expected. From iPython:\r\n\r\n``` python\r\nfrom github import Github\r\nuser = Github(some_token).get_user()\r\nauths=user.get_authorizations()\r\nauths\r\nOut[5]: \r\nfor a in auths:\r\n print a.note\r\n---------------------------------------------------------------------------\r\nGithubException Traceback (most recent call last)\r\n in ()\r\n----> 1 for a in auths:\r\n 2 print a.note\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in __iter__(self)\r\n 33 yield element\r\n 34 while self._couldGrow():\r\n---> 35 newElements = self.__grow()\r\n 36 for element in newElements:\r\n 37 yield element\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in __grow(self)\r\n 45 \r\n 46 def __grow(self):\r\n---> 47 newElements = self._fetchNextPage()\r\n 48 self.__elements += newElements\r\n 49 return newElements\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/PaginatedList.pyc in _fetchNextPage(self)\r\n 83 \r\n 84 def _fetchNextPage(self):\r\n---> 85 headers, data = self.__requester.requestAndCheck(\"GET\", self.__nextUrl, self.__nextParams, None)\r\n 86 \r\n 87 links = self.__parseLinkHeader(headers)\r\n\r\n/usr/local/lib/python2.7/dist-packages/github/Requester.pyc in requestAndCheck(self, verb, url, parameters, input)\r\n 78 output = self.__structuredFromJson(output)\r\n 79 if status >= 400:\r\n---> 80 raise GithubException.GithubException(status, output)\r\n 81 return headers, output\r\n 82 \r\n\r\nGithubException: 404 {u'message': u'Not Found'}\r\n```\r\n\r\nis this a bug or am I doing something wrong/impossible. \r\n\r\nbtw, when creating a github instance with an authorization token, this does not error out when the token is invalid, i.e. I can say `Github(\"mySillyString\")` without error message - is this by design?"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/54/events","html_url":"https://github.com/jacquev6/PyGithub/issues/54","id":5387373,"number":54,"title":"GitAuthor.date should return datetime, not string","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/7/labels","id":140183,"number":7,"title":"Version 1.3","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":4,"state":"closed","created_at":"2012-07-03T07:32:39Z","updated_at":"2012-07-13T20:01:15Z","due_on":"2012-07-16T07:00:00Z"},"comments":12,"created_at":"2012-07-02T14:38:01Z","updated_at":"2012-07-18T09:21:16Z","closed_at":"2012-07-13T19:21:04Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi!\n\nIt's great that all date-like objects are datetime.datetime now, makes working with it so easy. However, I think you missed GitAuthor.date, it would be great if this would also return datetimes.\n\nBackground: To get the dates of tags, I did `MyTag.commit.commit.committer.date`, and expected this to return a datetime object (like all the others do), but it returns a string."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/149/events","html_url":"https://github.com/jacquev6/PyGithub/issues/149","id":12179668,"number":149,"title":"Test failures with python3","user":{"login":"bkabrda","id":1050061,"avatar_url":"https://secure.gravatar.com/avatar/60d06f7560160f3ce7aa3877596da63f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"60d06f7560160f3ce7aa3877596da63f","url":"https://api.github.com/users/bkabrda","html_url":"https://github.com/bkabrda","followers_url":"https://api.github.com/users/bkabrda/followers","following_url":"https://api.github.com/users/bkabrda/following{/other_user}","gists_url":"https://api.github.com/users/bkabrda/gists{/gist_id}","starred_url":"https://api.github.com/users/bkabrda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkabrda/subscriptions","organizations_url":"https://api.github.com/users/bkabrda/orgs","repos_url":"https://api.github.com/users/bkabrda/repos","events_url":"https://api.github.com/users/bkabrda/events{/privacy}","received_events_url":"https://api.github.com/users/bkabrda/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":12,"created_at":"2013-03-19T13:25:29Z","updated_at":"2013-03-22T07:04:32Z","closed_at":"2013-03-21T23:34:58Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"Hi,\r\nI'm experiencing dozens of failures with Python 3. Is this expected or is something wrong on my side? It seems that some of the failures are connected with random order of dict items in str(headers) in ReplayingConnection.request, but there are also other."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/87/events","html_url":"https://github.com/jacquev6/PyGithub/issues/87","id":6911794,"number":87,"title":"Repository.create_issue() fails on percent '%' character","user":{"login":"quixotique","id":1477470,"avatar_url":"https://secure.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/13/labels","id":174087,"number":13,"title":"Version 1.8.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-09-12T19:53:14Z","updated_at":"2012-09-30T18:12:03Z","due_on":"2012-09-30T07:00:00Z"},"comments":13,"created_at":"2012-09-17T07:17:56Z","updated_at":"2012-10-05T15:10:36Z","closed_at":"2012-09-25T19:56:32Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"If the **title** or **body** parameter of `Repository.create_issue()` contains a percent character `%` then it provokes a 500 error from `api.github.com`.\n\nCuriously, if the percent character is followed by two hex digits, eg `%2F` then the request succeeds. In this case, the `%2F` is not url-decoded: it remains as `%2F` in the body text of the issue, not as a slash `/`.\n\nThis looks like it could be GitHub's issue: eg, their API is enforcing urlencoded input but is not actually decoding it.\n\nWhatever the case, it is impossible to create an issue using PyGithub that contains text like “works 25% of the time”."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/143/events","html_url":"https://github.com/jacquev6/PyGithub/issues/143","id":11731917,"number":143,"title":"Version 1.12.2 does not work with Python 3(.3) because of 2to3 issues","user":{"login":"ptwobrussell","id":98668,"avatar_url":"https://secure.gravatar.com/avatar/322a50ffdb98591460f05015770b7adb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"322a50ffdb98591460f05015770b7adb","url":"https://api.github.com/users/ptwobrussell","html_url":"https://github.com/ptwobrussell","followers_url":"https://api.github.com/users/ptwobrussell/followers","following_url":"https://api.github.com/users/ptwobrussell/following{/other_user}","gists_url":"https://api.github.com/users/ptwobrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/ptwobrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptwobrussell/subscriptions","organizations_url":"https://api.github.com/users/ptwobrussell/orgs","repos_url":"https://api.github.com/users/ptwobrussell/repos","events_url":"https://api.github.com/users/ptwobrussell/events{/privacy}","received_events_url":"https://api.github.com/users/ptwobrussell/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/23/labels","id":282556,"number":23,"title":"Version 1.13.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2013-03-07T08:43:38Z","updated_at":"2013-03-22T17:44:33Z","due_on":null},"comments":13,"created_at":"2013-03-06T20:48:02Z","updated_at":"2013-03-21T21:00:47Z","closed_at":"2013-03-21T21:00:47Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"In trying to pip install PyGithub with Python 3.3 just now, I see the following in the console:\r\n\r\nDownloading/unpacking PyGithub\r\n Downloading PyGithub-1.12.2.tar.gz (1.6MB): 1.6MB downloaded\r\n Running setup.py egg_info for package PyGithub\r\n \r\nInstalling collected packages: PyGithub\r\n Running setup.py install for PyGithub\r\n Fixing build/lib/github/__init__.py build/lib/github/AuthenticatedUser.py \r\n\r\n...\r\n\r\n File \"/Users/matthew/virtual-environments/mtsw2e/lib/python3.3/site-packages/github/AuthenticatedUser.py\", line 16\r\n from . import github.GithubObject\r\n ^\r\n SyntaxError: invalid syntax\r\n\r\n .... more of the same errors ...\r\n\r\nIn looking at the source on GitHub for this version (such as https://github.com/jacquev6/PyGithub/blob/v1.12.2/github/UserKey.py), it appears that you are just doing straight imports as \"import github.X\" which is causing 2to3 to produce invalid imports when it rewrites."},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/80/events","html_url":"https://github.com/jacquev6/PyGithub/issues/80","id":6807542,"number":80,"title":"Assertion Failure ??","user":{"login":"mnsanghvi","id":1726664,"avatar_url":"https://secure.gravatar.com/avatar/e409b9dc39edbc7c61c36de28d16cc84?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e409b9dc39edbc7c61c36de28d16cc84","url":"https://api.github.com/users/mnsanghvi","html_url":"https://github.com/mnsanghvi","followers_url":"https://api.github.com/users/mnsanghvi/followers","following_url":"https://api.github.com/users/mnsanghvi/following{/other_user}","gists_url":"https://api.github.com/users/mnsanghvi/gists{/gist_id}","starred_url":"https://api.github.com/users/mnsanghvi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnsanghvi/subscriptions","organizations_url":"https://api.github.com/users/mnsanghvi/orgs","repos_url":"https://api.github.com/users/mnsanghvi/repos","events_url":"https://api.github.com/users/mnsanghvi/events{/privacy}","received_events_url":"https://api.github.com/users/mnsanghvi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":15,"created_at":"2012-09-12T02:07:44Z","updated_at":"2012-09-12T20:48:51Z","closed_at":"2012-09-12T19:28:02Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"``` python\n>>> from github import Github\n>>> gh = Github( \"login\", \"password\", \"base_url\")\n>>> for repo in gh.get_user().get_repos():\n... print repo.name\n...\nrepo1\nrepo2\nmy-person-linux-kernel-repo\nthe-secret-macosx-repo\n\n>>> for repo in gh.get_organization( org_name ).get_repos():\n... print repo.name\n...\n \nTraceback (most recent call last):\n File \"\", line 1, in \n File \"build/bdist.macosx-10.7-intel/egg/github/Organization.py\", line 311, in get_repos\n File \"build/bdist.macosx-10.7-intel/egg/github/Requester.py\", line 60, in requestAndCheck\n File \"build/bdist.macosx-10.7-intel/egg/github/Requester.py\", line 76, in requestRaw\nAssertionError\n\n```\n\nIs this because of my lack of knowledge about python, or is there something else going on here ? \n\nWhat I would like to do is be able to get a list of the hooks in all the repos in an organization and also go through that list of repos in an organization and be able to create hooks. \n\n\n"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/77/events","html_url":"https://github.com/jacquev6/PyGithub/issues/77","id":6780606,"number":77,"title":"No ability to fetch specific page with search api","user":{"login":"kukuts","id":1831238,"avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9be6ba907be1740213b69422fdf52b57","url":"https://api.github.com/users/kukuts","html_url":"https://github.com/kukuts","followers_url":"https://api.github.com/users/kukuts/followers","following_url":"https://api.github.com/users/kukuts/following{/other_user}","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","organizations_url":"https://api.github.com/users/kukuts/orgs","repos_url":"https://api.github.com/users/kukuts/repos","events_url":"https://api.github.com/users/kukuts/events{/privacy}","received_events_url":"https://api.github.com/users/kukuts/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/12/labels","id":172499,"number":12,"title":"Version 1.7","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":7,"state":"closed","created_at":"2012-09-10T04:25:53Z","updated_at":"2012-09-12T19:40:27Z","due_on":"2012-09-14T07:00:00Z"},"comments":16,"created_at":"2012-09-11T03:44:18Z","updated_at":"2012-09-12T19:24:37Z","closed_at":"2012-09-12T19:24:37Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master"},"body":"legacy_search_repos - keyword and language but no start_page parameter\nHow to get eg 3rd page right?"}] - diff --git a/github/tests/ReplayData/AuthenticatedUser.testStarring.txt b/github/tests/ReplayData/AuthenticatedUser.testStarring.txt deleted file mode 100644 index 2b8cae4..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testStarring.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '603'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4972'), ('server', 'nginx/1.0.13'), ('last-modified', 'Mon, 03 Sep 2012 09:24:06 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eeac2be05fbbb88d548aaf0353a465f9"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:34:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","gravatar_id":"466ef7561a0b100dc5a1021959962d28","avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nvie","public_repos":64,"created_at":"2009-05-12T21:19:38Z","html_url":"https://github.com/nvie","email":"vincent@3rdcloud.com","company":"3rd Cloud","followers":347,"hireable":false,"public_gists":28,"name":"Vincent Driessen","blog":"http://nvie.com","url":"https://api.github.com/users/nvie","following":41,"location":"Netherlands","bio":null,"id":83844} - -https -GET -api.github.com -None -/repos/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1272'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:33:59 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"65c6be3387ac59ebbbf02e7b4c793b8e"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:34:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"master_branch":"develop","forks":429,"watchers_count":4650,"has_downloads":true,"owner":{"gravatar_id":"466ef7561a0b100dc5a1021959962d28","avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nvie","url":"https://api.github.com/users/nvie","id":83844},"open_issues_count":100,"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","permissions":{"pull":true,"push":false,"admin":false},"forks_count":429,"clone_url":"https://github.com/nvie/gitflow.git","created_at":"2010-01-20T23:14:12Z","mirror_url":null,"html_url":"https://github.com/nvie/gitflow","network_count":429,"has_wiki":true,"watchers":4650,"size":4430,"fork":false,"open_issues":100,"has_issues":true,"updated_at":"2012-09-07T23:33:59Z","full_name":"nvie/gitflow","name":"gitflow","url":"https://api.github.com/repos/nvie/gitflow","ssh_url":"git@github.com:nvie/gitflow.git","git_url":"git://github.com/nvie/gitflow.git","private":false,"id":481366,"language":"Shell","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-07-10T09:18:03Z"} - -https -GET -api.github.com -None -/user/starred -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '35785'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:33:59 GMT'), ('connection', 'keep-alive'), ('etag', '"65c6be3387ac59ebbbf02e7b4c793b8e"'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:34:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"forks":772,"has_downloads":true,"owner":{"gravatar_id":"878a0ea898da1701df8573ed64a5cc9d","login":"git","avatar_url":"https://secure.gravatar.com/avatar/878a0ea898da1701df8573ed64a5cc9d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/git","id":18133},"description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","git_url":"git://github.com/git/git.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":772,"clone_url":"https://github.com/git/git.git","created_at":"2008-07-23T14:21:26Z","watchers_count":2886,"html_url":"https://github.com/git/git","has_wiki":false,"watchers":2886,"open_issues_count":4,"size":36484,"fork":false,"open_issues":4,"has_issues":false,"updated_at":"2012-09-07T22:39:33Z","full_name":"git/git","name":"git","url":"https://api.github.com/repos/git/git","ssh_url":"git@github.com:git/git.git","private":false,"id":36502,"language":"C","homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","svn_url":"https://github.com/git/git","pushed_at":"2012-09-07T21:55:44Z"},{"forks":3,"has_downloads":true,"owner":{"gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","login":"moriyoshi","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/moriyoshi","id":18755},"description":"Create your PHP extension in C++, in a minute.","git_url":"git://github.com/moriyoshi/boost.php.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":3,"clone_url":"https://github.com/moriyoshi/boost.php.git","created_at":"2008-07-29T03:01:07Z","watchers_count":47,"html_url":"https://github.com/moriyoshi/boost.php","has_wiki":true,"watchers":47,"open_issues_count":1,"size":1331,"fork":false,"open_issues":1,"has_issues":true,"updated_at":"2012-09-05T22:29:17Z","full_name":"moriyoshi/boost.php","name":"boost.php","url":"https://api.github.com/repos/moriyoshi/boost.php","ssh_url":"git@github.com:moriyoshi/boost.php.git","private":false,"id":38097,"language":"C++","homepage":"","svn_url":"https://github.com/moriyoshi/boost.php","pushed_at":"2009-12-15T14:07:47Z"},{"forks":296,"has_downloads":false,"owner":{"gravatar_id":"885e1c523b7975c4003de162d8ee8fee","login":"capistrano","avatar_url":"https://secure.gravatar.com/avatar/885e1c523b7975c4003de162d8ee8fee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/capistrano","id":58257},"description":"Remote multi-server automation tool","git_url":"git://github.com/capistrano/capistrano.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":296,"clone_url":"https://github.com/capistrano/capistrano.git","created_at":"2009-02-26T16:14:04Z","watchers_count":2638,"html_url":"https://github.com/capistrano/capistrano","has_wiki":true,"watchers":2638,"open_issues_count":44,"size":644,"fork":true,"open_issues":44,"has_issues":true,"updated_at":"2012-09-07T16:07:26Z","full_name":"capistrano/capistrano","name":"capistrano","url":"https://api.github.com/repos/capistrano/capistrano","ssh_url":"git@github.com:capistrano/capistrano.git","private":false,"id":138312,"language":"Ruby","homepage":"http://capify.org","svn_url":"https://github.com/capistrano/capistrano","pushed_at":"2012-09-06T17:01:03Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","login":"moriyoshi","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/moriyoshi","id":18755},"description":"Still a proof of concept...","git_url":"git://github.com/moriyoshi/boost.perl.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":0,"clone_url":"https://github.com/moriyoshi/boost.perl.git","created_at":"2009-03-30T21:09:12Z","watchers_count":8,"html_url":"https://github.com/moriyoshi/boost.perl","has_wiki":true,"watchers":8,"open_issues_count":0,"size":512,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2011-10-03T23:45:58Z","full_name":"moriyoshi/boost.perl","name":"boost.perl","url":"https://api.github.com/repos/moriyoshi/boost.perl","ssh_url":"git@github.com:moriyoshi/boost.perl.git","private":false,"id":163431,"language":"C++","homepage":"","svn_url":"https://github.com/moriyoshi/boost.perl","pushed_at":"2010-05-28T07:23:06Z"},{"forks":72,"has_downloads":true,"owner":{"gravatar_id":"918b627daf7d848cd40770ed6cd15233","login":"apenwarr","avatar_url":"https://secure.gravatar.com/avatar/918b627daf7d848cd40770ed6cd15233?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/apenwarr","id":20592},"description":"An experimental alternative to the git-submodule command. Merges and splits subtrees from your project into subprojects and back.","git_url":"git://github.com/apenwarr/git-subtree.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":72,"clone_url":"https://github.com/apenwarr/git-subtree.git","created_at":"2009-04-25T04:10:31Z","watchers_count":648,"html_url":"https://github.com/apenwarr/git-subtree","has_wiki":false,"watchers":648,"open_issues_count":11,"size":232,"fork":false,"open_issues":11,"has_issues":false,"updated_at":"2012-09-07T14:50:20Z","full_name":"apenwarr/git-subtree","name":"git-subtree","url":"https://api.github.com/repos/apenwarr/git-subtree","ssh_url":"git@github.com:apenwarr/git-subtree.git","private":false,"id":185096,"language":"Shell","homepage":"","svn_url":"https://github.com/apenwarr/git-subtree","pushed_at":"2012-07-14T19:40:25Z"},{"forks":29,"has_downloads":true,"owner":{"gravatar_id":"1b5633ca7f3390376c779e5f716a3ed0","login":"cosmin","avatar_url":"https://secure.gravatar.com/avatar/1b5633ca7f3390376c779e5f716a3ed0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/cosmin","id":1358},"description":"A git-hg utility for checking out and tracking a mercurial repo.","git_url":"git://github.com/cosmin/git-hg.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":29,"clone_url":"https://github.com/cosmin/git-hg.git","created_at":"2009-05-14T20:23:01Z","watchers_count":156,"html_url":"https://github.com/cosmin/git-hg","has_wiki":true,"watchers":156,"open_issues_count":2,"size":200,"fork":false,"open_issues":2,"has_issues":true,"updated_at":"2012-09-07T07:37:40Z","full_name":"cosmin/git-hg","name":"git-hg","url":"https://api.github.com/repos/cosmin/git-hg","ssh_url":"git@github.com:cosmin/git-hg.git","private":false,"id":201230,"language":"Shell","homepage":"http://offbytwo.github.com/git-hg","svn_url":"https://github.com/cosmin/git-hg","pushed_at":"2012-08-15T18:18:04Z"},{"master_branch":"master","forks":4572,"has_downloads":false,"owner":{"gravatar_id":"1510549f9353c9859b7b3c81872df09c","login":"mxcl","avatar_url":"https://secure.gravatar.com/avatar/1510549f9353c9859b7b3c81872df09c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/mxcl","id":58962},"description":"The missing package manager for OS X.","git_url":"git://github.com/mxcl/homebrew.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":4572,"clone_url":"https://github.com/mxcl/homebrew.git","created_at":"2009-05-20T19:38:37Z","watchers_count":9910,"html_url":"https://github.com/mxcl/homebrew","has_wiki":true,"watchers":9910,"open_issues_count":326,"size":7160,"fork":false,"open_issues":326,"has_issues":true,"updated_at":"2012-09-07T22:40:37Z","full_name":"mxcl/homebrew","name":"homebrew","url":"https://api.github.com/repos/mxcl/homebrew","ssh_url":"git@github.com:mxcl/homebrew.git","private":false,"id":206084,"language":"Ruby","homepage":"http://mxcl.github.com/homebrew","svn_url":"https://github.com/mxcl/homebrew","pushed_at":"2012-09-07T21:19:16Z"},{"forks":1,"has_downloads":true,"owner":{"gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","login":"jamis","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jamis","id":1627},"description":"A library for generating Celtic Knotwork designs from graphs","git_url":"git://github.com/jamis/celtic_knot.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":1,"clone_url":"https://github.com/jamis/celtic_knot.git","created_at":"2009-05-24T23:23:10Z","watchers_count":4,"html_url":"https://github.com/jamis/celtic_knot","has_wiki":true,"watchers":4,"open_issues_count":0,"size":1272,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2011-10-12T04:36:53Z","full_name":"jamis/celtic_knot","name":"celtic_knot","url":"https://api.github.com/repos/jamis/celtic_knot","ssh_url":"git@github.com:jamis/celtic_knot.git","private":false,"id":209230,"language":"Ruby","homepage":"","svn_url":"https://github.com/jamis/celtic_knot","pushed_at":"2010-11-25T02:39:53Z"},{"forks":14,"has_downloads":true,"owner":{"gravatar_id":"fcc237fd34a8e504f7224df0c58cc0b3","login":"jdavisp3","avatar_url":"https://secure.gravatar.com/avatar/fcc237fd34a8e504f7224df0c58cc0b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jdavisp3","id":43582},"description":"Source files used for an introduction to Twisted","git_url":"git://github.com/jdavisp3/twisted-intro.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":14,"clone_url":"https://github.com/jdavisp3/twisted-intro.git","created_at":"2009-08-09T17:54:00Z","watchers_count":67,"html_url":"https://github.com/jdavisp3/twisted-intro","has_wiki":true,"watchers":67,"open_issues_count":0,"size":196,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-09-03T08:56:13Z","full_name":"jdavisp3/twisted-intro","name":"twisted-intro","url":"https://api.github.com/repos/jdavisp3/twisted-intro","ssh_url":"git@github.com:jdavisp3/twisted-intro.git","private":false,"id":273325,"language":"Python","homepage":"http://krondo.com/blog/?page_id=1327","svn_url":"https://github.com/jdavisp3/twisted-intro","pushed_at":"2012-06-24T03:44:38Z"},{"forks":577,"has_downloads":false,"owner":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","login":"github","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/github","id":9919},"description":"The code we use to render README.your_favorite_markup","git_url":"git://github.com/github/markup.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":577,"clone_url":"https://github.com/github/markup.git","created_at":"2009-10-31T01:02:46Z","watchers_count":1246,"html_url":"https://github.com/github/markup","has_wiki":false,"watchers":1246,"open_issues_count":79,"size":312,"fork":false,"open_issues":79,"has_issues":true,"updated_at":"2012-09-07T19:49:25Z","full_name":"github/markup","name":"markup","url":"https://api.github.com/repos/github/markup","ssh_url":"git@github.com:github/markup.git","private":false,"id":355893,"language":"Python","homepage":"","svn_url":"https://github.com/github/markup","pushed_at":"2012-08-05T18:59:47Z"},{"forks":114,"has_downloads":false,"owner":{"gravatar_id":"b8dbb1987e8e5318584865f880036796","login":"defunkt","avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/defunkt","id":2},"description":"hub introduces git to GitHub","git_url":"git://github.com/defunkt/hub.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":114,"clone_url":"https://github.com/defunkt/hub.git","created_at":"2009-12-05T22:15:25Z","watchers_count":1449,"html_url":"https://github.com/defunkt/hub","has_wiki":false,"watchers":1449,"open_issues_count":19,"size":280,"fork":false,"open_issues":19,"has_issues":true,"updated_at":"2012-09-06T21:08:04Z","full_name":"defunkt/hub","name":"hub","url":"https://api.github.com/repos/defunkt/hub","ssh_url":"git@github.com:defunkt/hub.git","private":false,"id":401025,"language":"Ruby","homepage":"http://defunkt.io/hub/","svn_url":"https://github.com/defunkt/hub","pushed_at":"2012-07-24T11:24:47Z"},{"master_branch":"develop","forks":429,"has_downloads":true,"owner":{"gravatar_id":"466ef7561a0b100dc5a1021959962d28","login":"nvie","avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/nvie","id":83844},"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","git_url":"git://github.com/nvie/gitflow.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":429,"clone_url":"https://github.com/nvie/gitflow.git","created_at":"2010-01-20T23:14:12Z","watchers_count":4650,"html_url":"https://github.com/nvie/gitflow","has_wiki":true,"watchers":4650,"open_issues_count":100,"size":4430,"fork":false,"open_issues":100,"has_issues":true,"updated_at":"2012-09-07T23:33:59Z","full_name":"nvie/gitflow","name":"gitflow","url":"https://api.github.com/repos/nvie/gitflow","ssh_url":"git@github.com:nvie/gitflow.git","private":false,"id":481366,"language":"Shell","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-07-10T09:18:03Z"},{"forks":59,"has_downloads":true,"owner":{"gravatar_id":"f2583cecbd75c5999bf65d9eeb6a84f2","login":"lg","avatar_url":"https://secure.gravatar.com/avatar/f2583cecbd75c5999bf65d9eeb6a84f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/lg","id":181018},"description":"Large scale server deploys using BitTorrent and the BitTornado library","git_url":"git://github.com/lg/murder.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":59,"clone_url":"https://github.com/lg/murder.git","created_at":"2010-01-21T07:05:36Z","watchers_count":1286,"html_url":"https://github.com/lg/murder","has_wiki":true,"watchers":1286,"open_issues_count":9,"size":1228,"fork":false,"open_issues":9,"has_issues":true,"updated_at":"2012-09-05T19:50:00Z","full_name":"lg/murder","name":"murder","url":"https://api.github.com/repos/lg/murder","ssh_url":"git@github.com:lg/murder.git","private":false,"id":481811,"language":"Python","homepage":"http://twitter.com","svn_url":"https://github.com/lg/murder","pushed_at":"2011-10-18T00:40:07Z"},{"master_branch":"develop","forks":512,"has_downloads":true,"owner":{"gravatar_id":"9062d6f913c867ce042928d6637abd05","login":"boto","avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/boto","id":327752},"description":"Python interface to Amazon Web Services","git_url":"git://github.com/boto/boto.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":512,"clone_url":"https://github.com/boto/boto.git","created_at":"2010-07-12T19:15:33Z","watchers_count":1947,"html_url":"https://github.com/boto/boto","has_wiki":true,"watchers":1947,"open_issues_count":177,"size":5723,"fork":false,"open_issues":177,"has_issues":true,"updated_at":"2012-09-07T20:38:05Z","full_name":"boto/boto","name":"boto","url":"https://api.github.com/repos/boto/boto","ssh_url":"git@github.com:boto/boto.git","private":false,"id":771016,"language":"Python","homepage":"http://docs.pythonboto.org/","svn_url":"https://github.com/boto/boto","pushed_at":"2012-09-06T22:09:52Z"},{"forks":49,"has_downloads":true,"owner":{"gravatar_id":"1cdc781dd667a5d4b61340591bf1bef4","login":"rtyley","avatar_url":"https://secure.gravatar.com/avatar/1cdc781dd667a5d4b61340591bf1bef4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/rtyley","id":52038},"description":"Agit - Git client for Android","git_url":"git://github.com/rtyley/agit.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":49,"clone_url":"https://github.com/rtyley/agit.git","created_at":"2010-08-29T21:45:54Z","watchers_count":236,"html_url":"https://github.com/rtyley/agit","has_wiki":true,"watchers":236,"open_issues_count":35,"size":1240,"fork":false,"open_issues":35,"has_issues":true,"updated_at":"2012-09-07T14:46:30Z","full_name":"rtyley/agit","name":"agit","url":"https://api.github.com/repos/rtyley/agit","ssh_url":"git@github.com:rtyley/agit.git","private":false,"id":870849,"language":"Java","homepage":"https://market.android.com/details?id=com.madgag.agit","svn_url":"https://github.com/rtyley/agit","pushed_at":"2012-08-14T14:51:40Z"},{"forks":1137,"has_downloads":true,"owner":{"gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","login":"mbostock","avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/mbostock","id":230541},"description":"A JavaScript visualization library for HTML and SVG.","git_url":"git://github.com/mbostock/d3.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":1137,"clone_url":"https://github.com/mbostock/d3.git","created_at":"2010-09-27T17:22:42Z","watchers_count":8352,"html_url":"https://github.com/mbostock/d3","has_wiki":true,"watchers":8352,"open_issues_count":123,"size":2928,"fork":false,"open_issues":123,"has_issues":true,"updated_at":"2012-09-07T21:21:07Z","full_name":"mbostock/d3","name":"d3","url":"https://api.github.com/repos/mbostock/d3","ssh_url":"git@github.com:mbostock/d3.git","private":false,"id":943149,"language":"JavaScript","homepage":"http://d3js.org","svn_url":"https://github.com/mbostock/d3","pushed_at":"2012-09-04T02:21:17Z"},{"forks":60,"has_downloads":true,"owner":{"gravatar_id":"1c56acccc41c591705dc92da5f6ab603","login":"libgit2","avatar_url":"https://secure.gravatar.com/avatar/1c56acccc41c591705dc92da5f6ab603?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/libgit2","id":394745},"description":"Python bindings for libgit2","git_url":"git://github.com/libgit2/pygit2.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":60,"clone_url":"https://github.com/libgit2/pygit2.git","created_at":"2010-11-08T16:27:48Z","watchers_count":265,"html_url":"https://github.com/libgit2/pygit2","has_wiki":false,"watchers":265,"open_issues_count":19,"size":200,"fork":false,"open_issues":19,"has_issues":true,"updated_at":"2012-09-04T23:59:16Z","full_name":"libgit2/pygit2","name":"pygit2","url":"https://api.github.com/repos/libgit2/pygit2","ssh_url":"git@github.com:libgit2/pygit2.git","private":false,"id":1062237,"language":"C","homepage":"","svn_url":"https://github.com/libgit2/pygit2","pushed_at":"2012-08-28T08:34:33Z"},{"forks":23,"has_downloads":true,"owner":{"gravatar_id":"9375a9529679f1b42b567a640d775e7d","login":"schacon","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/schacon","id":70},"description":"command line tool to facilitate github pull requests","git_url":"git://github.com/schacon/git-pulls.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":23,"clone_url":"https://github.com/schacon/git-pulls.git","created_at":"2010-12-27T20:39:24Z","watchers_count":177,"html_url":"https://github.com/schacon/git-pulls","has_wiki":true,"watchers":177,"open_issues_count":12,"size":1004,"fork":false,"open_issues":12,"has_issues":true,"updated_at":"2012-08-29T19:10:30Z","full_name":"schacon/git-pulls","name":"git-pulls","url":"https://api.github.com/repos/schacon/git-pulls","ssh_url":"git@github.com:schacon/git-pulls.git","private":false,"id":1201343,"language":"Ruby","homepage":"","svn_url":"https://github.com/schacon/git-pulls","pushed_at":"2011-10-28T07:11:56Z"},{"forks":1,"has_downloads":true,"owner":{"gravatar_id":"0d0c6eda804f912d230df91577e29180","login":"emesik","avatar_url":"https://secure.gravatar.com/avatar/0d0c6eda804f912d230df91577e29180?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/emesik","id":407107},"description":"Django template tag for rendering math formulas","git_url":"git://github.com/emesik/django_mathlatex.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":1,"clone_url":"https://github.com/emesik/django_mathlatex.git","created_at":"2011-03-06T22:29:04Z","watchers_count":4,"html_url":"https://github.com/emesik/django_mathlatex","has_wiki":true,"watchers":4,"open_issues_count":0,"size":448,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-08-05T04:16:25Z","full_name":"emesik/django_mathlatex","name":"django_mathlatex","url":"https://api.github.com/repos/emesik/django_mathlatex","ssh_url":"git@github.com:emesik/django_mathlatex.git","private":false,"id":1447846,"language":"Python","homepage":"","svn_url":"https://github.com/emesik/django_mathlatex","pushed_at":"2011-04-01T11:33:23Z"},{"forks":60,"has_downloads":true,"owner":{"gravatar_id":"a08f4e2d6ccccab586b502992c31e2ce","login":"aliasaria","avatar_url":"https://secure.gravatar.com/avatar/a08f4e2d6ccccab586b502992c31e2ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/aliasaria","id":213343},"description":"Collaborative Online Scrum Tool Using Websockets, Node.js, jQuery, and CSS3","git_url":"git://github.com/aliasaria/scrumblr.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":60,"clone_url":"https://github.com/aliasaria/scrumblr.git","created_at":"2011-03-10T02:29:38Z","watchers_count":505,"html_url":"https://github.com/aliasaria/scrumblr","has_wiki":true,"watchers":505,"open_issues_count":17,"size":632,"fork":false,"open_issues":17,"has_issues":true,"updated_at":"2012-09-04T09:24:36Z","full_name":"aliasaria/scrumblr","name":"scrumblr","url":"https://api.github.com/repos/aliasaria/scrumblr","ssh_url":"git@github.com:aliasaria/scrumblr.git","private":false,"id":1461917,"language":"JavaScript","homepage":"http://scrumblr.ca","svn_url":"https://github.com/aliasaria/scrumblr","pushed_at":"2012-08-30T20:29:00Z"},{"forks":174,"has_downloads":true,"owner":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","login":"github","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/github","id":9919},"description":"GitHub API documentation","git_url":"git://github.com/github/developer.github.com.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":174,"clone_url":"https://github.com/github/developer.github.com.git","created_at":"2011-04-26T19:20:56Z","watchers_count":343,"html_url":"https://github.com/github/developer.github.com","has_wiki":false,"watchers":343,"open_issues_count":0,"size":412,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-09-07T20:42:32Z","full_name":"github/developer.github.com","name":"developer.github.com","url":"https://api.github.com/repos/github/developer.github.com","ssh_url":"git@github.com:github/developer.github.com.git","private":false,"id":1666784,"language":"Ruby","homepage":"http://developer.github.com","svn_url":"https://github.com/github/developer.github.com","pushed_at":"2012-09-07T20:42:32Z"},{"forks":13,"has_downloads":true,"owner":{"gravatar_id":"4174216c1dc0f223ce608d5a3b66a585","login":"ChristopherMacGown","avatar_url":"https://secure.gravatar.com/avatar/4174216c1dc0f223ce608d5a3b66a585?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/ChristopherMacGown","id":43081},"description":"Github API v3 library for Python.","git_url":"git://github.com/ChristopherMacGown/python-github3.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":13,"clone_url":"https://github.com/ChristopherMacGown/python-github3.git","created_at":"2011-04-28T17:07:29Z","watchers_count":21,"html_url":"https://github.com/ChristopherMacGown/python-github3","has_wiki":true,"watchers":21,"open_issues_count":1,"size":136,"fork":false,"open_issues":1,"has_issues":true,"updated_at":"2012-09-06T20:37:19Z","full_name":"ChristopherMacGown/python-github3","name":"python-github3","url":"https://api.github.com/repos/ChristopherMacGown/python-github3","ssh_url":"git@github.com:ChristopherMacGown/python-github3.git","private":false,"id":1676748,"language":"Python","homepage":"","svn_url":"https://github.com/ChristopherMacGown/python-github3","pushed_at":"2012-09-06T20:37:01Z"},{"forks":3,"has_downloads":true,"owner":{"gravatar_id":"6e33170f0701d1d1d8dd57c8f95368ef","login":"pjkersten","avatar_url":"https://secure.gravatar.com/avatar/6e33170f0701d1d1d8dd57c8f95368ef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/pjkersten","id":771883},"description":"PlantUML plugin for MediaWiki","git_url":"git://github.com/pjkersten/PlantUML.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":3,"clone_url":"https://github.com/pjkersten/PlantUML.git","created_at":"2011-05-06T09:33:38Z","watchers_count":7,"html_url":"https://github.com/pjkersten/PlantUML","has_wiki":true,"watchers":7,"open_issues_count":0,"size":132,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-07-25T01:45:58Z","full_name":"pjkersten/PlantUML","name":"PlantUML","url":"https://api.github.com/repos/pjkersten/PlantUML","ssh_url":"git@github.com:pjkersten/PlantUML.git","private":false,"id":1710505,"language":"PHP","homepage":"","svn_url":"https://github.com/pjkersten/PlantUML","pushed_at":"2012-06-20T08:00:40Z"},{"forks":8262,"has_downloads":true,"owner":{"gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","login":"twitter","avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/twitter","id":50278},"description":"HTML, CSS, and JS toolkit from Twitter","git_url":"git://github.com/twitter/bootstrap.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":8262,"clone_url":"https://github.com/twitter/bootstrap.git","created_at":"2011-07-29T21:19:00Z","watchers_count":37009,"html_url":"https://github.com/twitter/bootstrap","has_wiki":true,"watchers":37009,"open_issues_count":145,"size":1384,"fork":false,"open_issues":145,"has_issues":true,"updated_at":"2012-09-07T23:17:13Z","full_name":"twitter/bootstrap","name":"bootstrap","url":"https://api.github.com/repos/twitter/bootstrap","ssh_url":"git@github.com:twitter/bootstrap.git","private":false,"id":2126244,"language":"JavaScript","homepage":"http://twitter.github.com/bootstrap","svn_url":"https://github.com/twitter/bootstrap","pushed_at":"2012-09-07T18:42:29Z"},{"forks":2,"has_downloads":true,"owner":{"gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","login":"stephenmcd","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/stephenmcd","id":116385},"description":"Drawn By is a collaborative real-time sketching app built for the 2011 Django Dash.","git_url":"git://github.com/stephenmcd/drawnby.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":2,"clone_url":"https://github.com/stephenmcd/drawnby.git","created_at":"2011-08-01T10:25:31Z","watchers_count":12,"html_url":"https://github.com/stephenmcd/drawnby","has_wiki":true,"watchers":12,"open_issues_count":0,"size":384,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-09-06T12:27:16Z","full_name":"stephenmcd/drawnby","name":"drawnby","url":"https://api.github.com/repos/stephenmcd/drawnby","ssh_url":"git@github.com:stephenmcd/drawnby.git","private":false,"id":2136154,"language":"JavaScript","homepage":"http://drawnby.jupo.org","svn_url":"https://github.com/stephenmcd/drawnby","pushed_at":"2012-07-30T13:36:35Z"},{"forks":39,"has_downloads":true,"owner":{"gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","login":"stephenmcd","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/stephenmcd","id":116385},"description":"A Django app providing the features required to use websockets with Django via Socket.IO","git_url":"git://github.com/stephenmcd/django-socketio.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":39,"clone_url":"https://github.com/stephenmcd/django-socketio.git","created_at":"2011-08-01T21:18:34Z","watchers_count":323,"html_url":"https://github.com/stephenmcd/django-socketio","has_wiki":true,"watchers":323,"open_issues_count":6,"size":180,"fork":false,"open_issues":6,"has_issues":true,"updated_at":"2012-09-06T13:47:36Z","full_name":"stephenmcd/django-socketio","name":"django-socketio","url":"https://api.github.com/repos/stephenmcd/django-socketio","ssh_url":"git@github.com:stephenmcd/django-socketio.git","private":false,"id":2139136,"language":"JavaScript","homepage":"","svn_url":"https://github.com/stephenmcd/django-socketio","pushed_at":"2012-08-29T20:29:10Z"},{"forks":4,"has_downloads":true,"owner":{"gravatar_id":"f69b46619a23b64a1184bd038bfa8de5","login":"jstasiak","avatar_url":"https://secure.gravatar.com/avatar/f69b46619a23b64a1184bd038bfa8de5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jstasiak","id":36209},"description":"Use this application to get Socket.IO support in your Django project and dive into real time web.","git_url":"git://github.com/jstasiak/django-realtime.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":4,"clone_url":"https://github.com/jstasiak/django-realtime.git","created_at":"2011-09-20T19:13:10Z","watchers_count":23,"html_url":"https://github.com/jstasiak/django-realtime","has_wiki":true,"watchers":23,"open_issues_count":0,"size":132,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-08-21T15:09:28Z","full_name":"jstasiak/django-realtime","name":"django-realtime","url":"https://api.github.com/repos/jstasiak/django-realtime","ssh_url":"git@github.com:jstasiak/django-realtime.git","private":false,"id":2424738,"language":"JavaScript","homepage":"","svn_url":"https://github.com/jstasiak/django-realtime","pushed_at":"2012-04-21T16:22:25Z"},{"forks":4,"has_downloads":true,"owner":{"gravatar_id":"af55714b265c4914c8bb8db49fc06da6","login":"AcmeSystems","avatar_url":"https://secure.gravatar.com/avatar/af55714b265c4914c8bb8db49fc06da6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/AcmeSystems","id":783524},"description":"Small programming examples for the FOX Board G20","git_url":"git://github.com/AcmeSystems/playground.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":4,"clone_url":"https://github.com/AcmeSystems/playground.git","created_at":"2011-10-17T16:16:10Z","watchers_count":7,"html_url":"https://github.com/AcmeSystems/playground","has_wiki":true,"watchers":7,"open_issues_count":0,"size":212,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-09-06T16:51:18Z","full_name":"AcmeSystems/playground","name":"playground","url":"https://api.github.com/repos/AcmeSystems/playground","ssh_url":"git@github.com:AcmeSystems/playground.git","private":false,"id":2593052,"language":"Python","homepage":"http://www.acmesystems.it","svn_url":"https://github.com/AcmeSystems/playground","pushed_at":"2012-09-06T16:51:16Z"},{"forks":36,"has_downloads":true,"owner":{"gravatar_id":"d3231546d42d67974fc51956a3b627f4","login":"juuso","avatar_url":"https://secure.gravatar.com/avatar/d3231546d42d67974fc51956a3b627f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/juuso","id":614446},"description":"A silly & effective MD5 cracker in Ruby","git_url":"git://github.com/juuso/BozoCrack.git","permissions":{"pull":true,"push":false,"admin":false},"mirror_url":null,"forks_count":36,"clone_url":"https://github.com/juuso/BozoCrack.git","created_at":"2011-11-07T13:02:08Z","watchers_count":375,"html_url":"https://github.com/juuso/BozoCrack","has_wiki":true,"watchers":375,"open_issues_count":8,"size":140,"fork":false,"open_issues":8,"has_issues":true,"updated_at":"2012-09-07T10:43:48Z","full_name":"juuso/BozoCrack","name":"BozoCrack","url":"https://api.github.com/repos/juuso/BozoCrack","ssh_url":"git@github.com:juuso/BozoCrack.git","private":false,"id":2726128,"language":"Ruby","homepage":"","svn_url":"https://github.com/juuso/BozoCrack","pushed_at":"2011-11-07T14:55:19Z"},{"forks":1,"has_downloads":true,"owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/BeaverSoftware","id":1424031},"description":"","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","permissions":{"pull":true,"push":true,"admin":true},"mirror_url":null,"forks_count":1,"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","created_at":"2012-02-09T19:32:21Z","watchers_count":2,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"watchers":2,"open_issues_count":0,"size":0,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-02-16T21:51:15Z","full_name":"BeaverSoftware/FatherBeaver","name":"FatherBeaver","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","private":false,"id":3400397,"language":null,"homepage":"","svn_url":"https://github.com/BeaverSoftware/FatherBeaver","pushed_at":null}] - -https -GET -api.github.com -None -/user/starred?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '5925'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4969'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:24:22 GMT'), ('connection', 'keep-alive'), ('etag', '"94c163fa14b07651e050e97613c9aea5"'), ('link', '; rel="first", ; rel="prev"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:34:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"forks":1,"has_downloads":true,"html_url":"https://github.com/joestein/amaunet","owner":{"gravatar_id":"c5949edcf9e35a9aeb2584b6d4a58dcf","login":"joestein","url":"https://api.github.com/users/joestein","avatar_url":"https://secure.gravatar.com/avatar/c5949edcf9e35a9aeb2584b6d4a58dcf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":115151},"description":"Python Streaming Example","permissions":{"pull":true,"push":false,"admin":false},"forks_count":1,"clone_url":"https://github.com/joestein/amaunet.git","git_url":"git://github.com/joestein/amaunet.git","created_at":"2012-03-09T02:03:25Z","has_wiki":true,"watchers_count":6,"watchers":6,"mirror_url":null,"open_issues_count":0,"size":84,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-07-23T00:48:19Z","full_name":"joestein/amaunet","name":"amaunet","url":"https://api.github.com/repos/joestein/amaunet","ssh_url":"git@github.com:joestein/amaunet.git","private":false,"id":3666534,"language":null,"homepage":"http://allthingshadoop.com/2010/12/16/simple-hadoop-streaming-tutorial-using-joins-and-keys-with-python/","svn_url":"https://github.com/joestein/amaunet","pushed_at":"2012-03-09T02:20:37Z"},{"forks":840,"has_downloads":true,"html_url":"https://github.com/django/django","owner":{"gravatar_id":"fd542381031aa84dca86628ece84fc07","login":"django","url":"https://api.github.com/users/django","avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","id":27804},"description":"The Web framework for perfectionists with deadlines.","permissions":{"pull":true,"push":false,"admin":false},"forks_count":840,"clone_url":"https://github.com/django/django.git","git_url":"git://github.com/django/django.git","created_at":"2012-04-28T02:47:18Z","has_wiki":false,"watchers_count":4040,"watchers":4040,"mirror_url":null,"open_issues_count":94,"size":10896,"fork":false,"open_issues":94,"has_issues":false,"updated_at":"2012-09-07T23:24:22Z","full_name":"django/django","name":"django","url":"https://api.github.com/repos/django/django","ssh_url":"git@github.com:django/django.git","private":false,"id":4164482,"language":"Python","homepage":"http://www.djangoproject.com/","svn_url":"https://github.com/django/django","pushed_at":"2012-09-07T23:24:22Z"},{"forks":0,"has_downloads":true,"html_url":"https://github.com/jacquev6/django","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"description":"The Web framework for perfectionists with deadlines. Now on GitHub.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","created_at":"2012-04-28T11:06:20Z","has_wiki":false,"watchers_count":2,"watchers":2,"mirror_url":null,"open_issues_count":0,"size":48476,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-06-09T10:37:50Z","full_name":"jacquev6/django","name":"django","url":"https://api.github.com/repos/jacquev6/django","ssh_url":"git@github.com:jacquev6/django.git","private":false,"id":4166730,"language":"Python","homepage":"http://www.djangoproject.com/","svn_url":"https://github.com/jacquev6/django","pushed_at":"2012-04-28T04:05:15Z"},{"forks":1,"has_downloads":true,"html_url":"https://github.com/gturri/moviePlanning","owner":{"gravatar_id":"ba064e32f068e12bfc87d178179878a5","login":"gturri","url":"https://api.github.com/users/gturri","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":308601},"description":"","permissions":{"pull":true,"push":false,"admin":false},"forks_count":1,"clone_url":"https://github.com/gturri/moviePlanning.git","git_url":"git://github.com/gturri/moviePlanning.git","created_at":"2012-05-27T11:16:53Z","has_wiki":true,"watchers_count":2,"watchers":2,"mirror_url":null,"open_issues_count":0,"size":340,"fork":false,"open_issues":0,"has_issues":true,"updated_at":"2012-06-28T08:29:47Z","full_name":"gturri/moviePlanning","name":"moviePlanning","url":"https://api.github.com/repos/gturri/moviePlanning","ssh_url":"git@github.com:gturri/moviePlanning.git","private":false,"id":4461403,"language":"Python","homepage":null,"svn_url":"https://github.com/gturri/moviePlanning","pushed_at":"2012-06-28T08:29:46Z"},{"forks":370,"has_downloads":true,"html_url":"https://github.com/facebook/folly","owner":{"gravatar_id":"193c1a93276f729041fc875cf2a20773","login":"facebook","url":"https://api.github.com/users/facebook","avatar_url":"https://secure.gravatar.com/avatar/193c1a93276f729041fc875cf2a20773?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","id":69631},"description":"Folly is an open-source C++ library developed and used at Facebook.","permissions":{"pull":true,"push":false,"admin":false},"forks_count":370,"clone_url":"https://github.com/facebook/folly.git","git_url":"git://github.com/facebook/folly.git","created_at":"2012-06-01T20:49:04Z","has_wiki":true,"watchers_count":2419,"watchers":2419,"mirror_url":null,"open_issues_count":2,"size":376,"fork":false,"open_issues":2,"has_issues":true,"updated_at":"2012-09-07T22:17:59Z","full_name":"facebook/folly","name":"folly","url":"https://api.github.com/repos/facebook/folly","ssh_url":"git@github.com:facebook/folly.git","private":false,"id":4524181,"language":"C++","homepage":"https://groups.google.com/forum/?fromgroups#!forum/facebook-folly","svn_url":"https://github.com/facebook/folly","pushed_at":"2012-08-26T18:14:39Z"}] - -https -GET -api.github.com -None -/user/starred/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:34:44 GMT')] - - -https -DELETE -api.github.com -None -/user/starred/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4967'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:34:45 GMT')] - - -https -GET -api.github.com -None -/user/starred/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('content-length', '23'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4966'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:34:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/user/starred/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4965'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:34:46 GMT')] - - -https -GET -api.github.com -None -/user/starred/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:34:47 GMT')] - - diff --git a/github/tests/ReplayData/AuthenticatedUser.testSubscriptions.txt b/github/tests/ReplayData/AuthenticatedUser.testSubscriptions.txt deleted file mode 100644 index 85ccb6d..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testSubscriptions.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4945'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '603'), ('server', 'nginx/1.0.13'), ('last-modified', 'Mon, 03 Sep 2012 09:24:06 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eeac2be05fbbb88d548aaf0353a465f9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:53:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","gravatar_id":"466ef7561a0b100dc5a1021959962d28","hireable":false,"login":"nvie","public_gists":28,"blog":"http://nvie.com","created_at":"2009-05-12T21:19:38Z","bio":null,"email":"vincent@3rdcloud.com","company":"3rd Cloud","followers":347,"avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_repos":64,"name":"Vincent Driessen","url":"https://api.github.com/users/nvie","following":41,"html_url":"https://github.com/nvie","location":"Netherlands","id":83844} - -https -GET -api.github.com -None -/repos/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4944'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1272'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:34:46 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"86a43618f03354f322e8cd3886e02308"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:53:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"master_branch":"develop","forks":429,"has_downloads":true,"owner":{"gravatar_id":"466ef7561a0b100dc5a1021959962d28","login":"nvie","avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/nvie","id":83844},"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","permissions":{"pull":true,"push":false,"admin":false},"forks_count":429,"clone_url":"https://github.com/nvie/gitflow.git","git_url":"git://github.com/nvie/gitflow.git","created_at":"2010-01-20T23:14:12Z","network_count":429,"has_wiki":true,"watchers_count":4650,"watchers":4650,"open_issues_count":100,"size":4430,"fork":false,"open_issues":100,"has_issues":true,"updated_at":"2012-09-07T23:34:46Z","full_name":"nvie/gitflow","name":"gitflow","url":"https://api.github.com/repos/nvie/gitflow","mirror_url":null,"ssh_url":"git@github.com:nvie/gitflow.git","html_url":"https://github.com/nvie/gitflow","private":false,"id":481366,"language":"Shell","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-07-10T09:18:03Z"} - -https -GET -api.github.com -None -/user/subscriptions -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4943'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '35709'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:34:46 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"86a43618f03354f322e8cd3886e02308"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:53:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"master_branch":"develop","forks":429,"watchers_count":4650,"has_downloads":true,"owner":{"gravatar_id":"466ef7561a0b100dc5a1021959962d28","login":"nvie","url":"https://api.github.com/users/nvie","avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":83844},"open_issues_count":100,"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","permissions":{"pull":true,"push":false,"admin":false},"forks_count":429,"clone_url":"https://github.com/nvie/gitflow.git","created_at":"2012-09-08T06:53:02Z","has_wiki":true,"watchers":4650,"html_url":"https://github.com/nvie/gitflow","size":4430,"fork":false,"open_issues":100,"has_issues":true,"updated_at":"2012-09-07T23:34:46Z","full_name":"nvie/gitflow","name":"gitflow","url":"https://api.github.com/repos/nvie/gitflow","ssh_url":"git@github.com:nvie/gitflow.git","git_url":"git://github.com/nvie/gitflow.git","private":false,"id":481366,"mirror_url":null,"language":"Shell","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-07-10T09:18:03Z"},{"master_branch":"master","forks":1,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"Vincent's Development Environment","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/ViDE.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/ViDE","size":1496,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-06-08T11:05:51Z","full_name":"jacquev6/ViDE","name":"ViDE","url":"https://api.github.com/repos/jacquev6/ViDE","ssh_url":"git@github.com:jacquev6/ViDE.git","git_url":"git://github.com/jacquev6/ViDE.git","private":false,"id":767343,"mirror_url":null,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/ViDE","pushed_at":"2012-06-08T11:05:51Z"},{"master_branch":"master","forks":1,"watchers_count":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","created_at":"2012-08-07T03:23:22Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","size":112,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-07-27T02:32:15Z","full_name":"jacquev6/Boost.HierarchicalEnum","name":"Boost.HierarchicalEnum","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","private":false,"id":767382,"mirror_url":null,"language":"C++","homepage":"","svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","pushed_at":"2011-11-27T14:00:23Z"},{"master_branch":"master","forks":1,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/QuadProgMm.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/QuadProgMm","size":760,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-04-16T18:39:06Z","full_name":"jacquev6/QuadProgMm","name":"QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","git_url":"git://github.com/jacquev6/QuadProgMm.git","private":false,"id":767386,"mirror_url":null,"language":"C++","homepage":"http://vincent-jacques.net/QuadProgMm","svn_url":"https://github.com/jacquev6/QuadProgMm","pushed_at":"2012-04-16T18:39:05Z"},{"master_branch":"master","forks":1,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/DrawSyntax.git","created_at":"2012-08-07T03:23:17Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/DrawSyntax","size":1760,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-08-11T03:53:58Z","full_name":"jacquev6/DrawSyntax","name":"DrawSyntax","url":"https://api.github.com/repos/jacquev6/DrawSyntax","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","git_url":"git://github.com/jacquev6/DrawSyntax.git","private":false,"id":767392,"mirror_url":null,"language":"C++","homepage":"http://vincent-jacques.net/DrawSyntax/","svn_url":"https://github.com/jacquev6/DrawSyntax","pushed_at":"2011-11-27T14:00:32Z"},{"master_branch":"master","forks":1,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"A tool to draw Turk's Head Knots. Try it online","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","created_at":"2012-08-07T03:23:13Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/DrawTurksHead","size":3232,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-04-16T18:38:55Z","full_name":"jacquev6/DrawTurksHead","name":"DrawTurksHead","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","git_url":"git://github.com/jacquev6/DrawTurksHead.git","private":false,"id":767403,"mirror_url":null,"language":"C++","homepage":"http://vincent-jacques.net/DrawTurksHead/","svn_url":"https://github.com/jacquev6/DrawTurksHead","pushed_at":"2012-04-16T18:38:54Z"},{"forks":0,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/PrivateStuff.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/PrivateStuff","size":1252,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-09-07T19:22:17Z","full_name":"jacquev6/PrivateStuff","name":"PrivateStuff","url":"https://api.github.com/repos/jacquev6/PrivateStuff","ssh_url":"git@github.com:jacquev6/PrivateStuff.git","git_url":"git://github.com/jacquev6/PrivateStuff.git","private":true,"id":1592290,"mirror_url":null,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/PrivateStuff","pushed_at":"2012-09-07T19:21:59Z"},{"forks":0,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/vincent-jacques.net","size":164,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-06-30T09:29:07Z","full_name":"jacquev6/vincent-jacques.net","name":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","private":true,"id":1986874,"mirror_url":null,"language":"Python","homepage":"vincent-jacques.net","svn_url":"https://github.com/jacquev6/vincent-jacques.net","pushed_at":"2012-06-30T09:29:07Z"},{"forks":0,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/Hacking.git","created_at":"2012-08-07T03:23:13Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/Hacking","size":148,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-09-07T20:42:54Z","full_name":"jacquev6/Hacking","name":"Hacking","url":"https://api.github.com/repos/jacquev6/Hacking","ssh_url":"git@github.com:jacquev6/Hacking.git","git_url":"git://github.com/jacquev6/Hacking.git","private":true,"id":1988081,"mirror_url":null,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/Hacking","pushed_at":"2012-09-07T20:42:54Z"},{"forks":1,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"Caesar IV: anticipate your city","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/C4Planner.git","created_at":"2012-08-07T03:23:20Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/C4Planner","size":4716,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-07-27T04:29:14Z","full_name":"jacquev6/C4Planner","name":"C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","ssh_url":"git@github.com:jacquev6/C4Planner.git","git_url":"git://github.com/jacquev6/C4Planner.git","private":false,"id":2260441,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/C4Planner","svn_url":"https://github.com/jacquev6/C4Planner","pushed_at":"2011-11-27T20:51:06Z"},{"forks":0,"watchers_count":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/developer.github.com.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/developer.github.com","size":184,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-06-05T11:35:40Z","full_name":"jacquev6/developer.github.com","name":"developer.github.com","url":"https://api.github.com/repos/jacquev6/developer.github.com","ssh_url":"git@github.com:jacquev6/developer.github.com.git","git_url":"git://github.com/jacquev6/developer.github.com.git","private":false,"id":3361136,"mirror_url":null,"language":"Ruby","homepage":"","svn_url":"https://github.com/jacquev6/developer.github.com","pushed_at":"2012-06-05T11:35:40Z"},{"forks":16,"watchers_count":67,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":13,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":true,"admin":true},"forks_count":16,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":null,"has_wiki":false,"watchers":67,"html_url":"https://github.com/jacquev6/PyGithub","size":228,"fork":false,"open_issues":13,"has_issues":true,"updated_at":"2012-09-07T23:16:45Z","full_name":"jacquev6/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"id":3544490,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-09-07T23:16:45Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","url":"https://api.github.com/users/abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1328351},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/abersager/PyGithub.git","created_at":"2012-08-07T03:21:09Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/abersager/PyGithub","size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:19Z","full_name":"abersager/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","ssh_url":"git@github.com:abersager/PyGithub.git","git_url":"git://github.com/abersager/PyGithub.git","private":false,"id":3831162,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/abersager/PyGithub","pushed_at":"2012-03-26T10:05:31Z"},{"forks":0,"watchers_count":2,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":0,"description":"The Web framework for perfectionists with deadlines. Now on GitHub.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/django.git","created_at":null,"has_wiki":false,"watchers":2,"html_url":"https://github.com/jacquev6/django","size":48476,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-06-09T10:37:50Z","full_name":"jacquev6/django","name":"django","url":"https://api.github.com/repos/jacquev6/django","ssh_url":"git@github.com:jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","private":false,"id":4166730,"mirror_url":null,"language":"Python","homepage":"http://www.djangoproject.com/","svn_url":"https://github.com/jacquev6/django","pushed_at":"2012-04-28T04:05:15Z"},{"forks":1,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":5,"description":"Un outil pour ceux qui aiment voir plusieurs films le même jour","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/CinePlanning.git","created_at":"2012-08-07T03:23:19Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/jacquev6/CinePlanning","size":240,"fork":false,"open_issues":5,"has_issues":true,"updated_at":"2012-06-17T05:55:59Z","full_name":"jacquev6/CinePlanning","name":"CinePlanning","url":"https://api.github.com/repos/jacquev6/CinePlanning","ssh_url":"git@github.com:jacquev6/CinePlanning.git","git_url":"git://github.com/jacquev6/CinePlanning.git","private":false,"id":4627544,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/CinePlanning","svn_url":"https://github.com/jacquev6/CinePlanning","pushed_at":"2012-06-17T05:55:58Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"3aa27c0add742f542848af3b8a9e980c","login":"pmuilu","url":"https://api.github.com/users/pmuilu","avatar_url":"https://secure.gravatar.com/avatar/3aa27c0add742f542848af3b8a9e980c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":691799},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/pmuilu/PyGithub.git","created_at":"2012-08-07T03:21:41Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/pmuilu/PyGithub","size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:44Z","full_name":"pmuilu/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/pmuilu/PyGithub","ssh_url":"git@github.com:pmuilu/PyGithub.git","git_url":"git://github.com/pmuilu/PyGithub.git","private":false,"id":4716322,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/pmuilu/PyGithub","pushed_at":"2012-06-19T16:50:37Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"85203b21c562062e5641f0b8d4b98d9b","login":"herlo","url":"https://api.github.com/users/herlo","avatar_url":"https://secure.gravatar.com/avatar/85203b21c562062e5641f0b8d4b98d9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":89334},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/herlo/PyGithub.git","created_at":"2012-08-07T03:21:47Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/herlo/PyGithub","size":164,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:47Z","full_name":"herlo/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/herlo/PyGithub","ssh_url":"git@github.com:herlo/PyGithub.git","git_url":"git://github.com/herlo/PyGithub.git","private":false,"id":4720987,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/herlo/PyGithub","pushed_at":"2012-06-13T10:57:26Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"3ceac58506711008b9e93ad31fcb0f45","login":"roverdotcom","url":"https://api.github.com/users/roverdotcom","avatar_url":"https://secure.gravatar.com/avatar/3ceac58506711008b9e93ad31fcb0f45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","id":1463288},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/roverdotcom/PyGithub.git","created_at":"2012-08-07T03:21:50Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/roverdotcom/PyGithub","size":116,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:51Z","full_name":"roverdotcom/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/roverdotcom/PyGithub","ssh_url":"git@github.com:roverdotcom/PyGithub.git","git_url":"git://github.com/roverdotcom/PyGithub.git","private":false,"id":4785693,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/roverdotcom/PyGithub","pushed_at":"2012-06-25T18:44:19Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"open_issues_count":2,"description":"HTML5 browsable IP map inspired by http://xkcd.com/195/","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/IpMap.git","created_at":null,"has_wiki":false,"watchers":0,"html_url":"https://github.com/jacquev6/IpMap","size":136,"fork":false,"open_issues":2,"has_issues":true,"updated_at":"2012-08-06T20:40:59Z","full_name":"jacquev6/IpMap","name":"IpMap","url":"https://api.github.com/repos/jacquev6/IpMap","ssh_url":"git@github.com:jacquev6/IpMap.git","git_url":"git://github.com/jacquev6/IpMap.git","private":true,"id":4835930,"mirror_url":null,"language":"JavaScript","homepage":"http://vincent-jacques.net/IpMap","svn_url":"https://github.com/jacquev6/IpMap","pushed_at":"2012-06-30T09:28:28Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"433a7fa3917a38691aa9914b61444875","login":"thouis","url":"https://api.github.com/users/thouis","avatar_url":"https://secure.gravatar.com/avatar/433a7fa3917a38691aa9914b61444875?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":473043},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/thouis/PyGithub.git","created_at":"2012-08-07T03:21:53Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/thouis/PyGithub","size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:54Z","full_name":"thouis/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/thouis/PyGithub","ssh_url":"git@github.com:thouis/PyGithub.git","git_url":"git://github.com/thouis/PyGithub.git","private":false,"id":4957672,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/thouis/PyGithub","pushed_at":"2012-07-09T12:42:19Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","login":"malexw","url":"https://api.github.com/users/malexw","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":577322},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/malexw/PyGithub.git","created_at":"2012-08-07T03:21:56Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/malexw/PyGithub","size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:57Z","full_name":"malexw/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/malexw/PyGithub","ssh_url":"git@github.com:malexw/PyGithub.git","git_url":"git://github.com/malexw/PyGithub.git","private":false,"id":4992915,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/malexw/PyGithub","pushed_at":"2012-07-11T18:11:24Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"37a932b3abe212892173784736ed6b12","login":"engie","url":"https://api.github.com/users/engie","avatar_url":"https://secure.gravatar.com/avatar/37a932b3abe212892173784736ed6b12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1247},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/engie/PyGithub.git","created_at":"2012-08-07T03:21:59Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/engie/PyGithub","size":136,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:22:00Z","full_name":"engie/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/engie/PyGithub","ssh_url":"git@github.com:engie/PyGithub.git","git_url":"git://github.com/engie/PyGithub.git","private":false,"id":5153069,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/engie/PyGithub","pushed_at":"2012-07-23T16:42:58Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"ffcbd195c843b902fcdaa9986a2a0116","login":"oangeor","url":"https://api.github.com/users/oangeor","avatar_url":"https://secure.gravatar.com/avatar/ffcbd195c843b902fcdaa9986a2a0116?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1707945},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/oangeor/PyGithub.git","created_at":"2012-08-07T03:22:03Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/oangeor/PyGithub","size":1292,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:22:04Z","full_name":"oangeor/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/oangeor/PyGithub","ssh_url":"git@github.com:oangeor/PyGithub.git","git_url":"git://github.com/oangeor/PyGithub.git","private":false,"id":5190054,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/oangeor/PyGithub","pushed_at":"2012-07-24T16:19:13Z"},{"forks":0,"watchers_count":1,"has_downloads":true,"owner":{"gravatar_id":"a62c07aeefe3d9cc2ba18861f7eeef7d","login":"alejo8591","url":"https://api.github.com/users/alejo8591","avatar_url":"https://secure.gravatar.com/avatar/a62c07aeefe3d9cc2ba18861f7eeef7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1151850},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/alejo8591/PyGithub.git","created_at":"2012-08-07T03:22:07Z","has_wiki":false,"watchers":1,"html_url":"https://github.com/alejo8591/PyGithub","size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-04T07:01:31Z","full_name":"alejo8591/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/alejo8591/PyGithub","ssh_url":"git@github.com:alejo8591/PyGithub.git","git_url":"git://github.com/alejo8591/PyGithub.git","private":false,"id":5293768,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/alejo8591/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"92a24b96be9d9ce5e608751cc0c95823","login":"jagster02","url":"https://api.github.com/users/jagster02","avatar_url":"https://secure.gravatar.com/avatar/92a24b96be9d9ce5e608751cc0c95823?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1383412},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/jagster02/PyGithub.git","created_at":"2012-08-09T13:55:23Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/jagster02/PyGithub","size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-07T23:29:19Z","full_name":"jagster02/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jagster02/PyGithub","ssh_url":"git@github.com:jagster02/PyGithub.git","git_url":"git://github.com/jagster02/PyGithub.git","private":false,"id":5334906,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jagster02/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"01f9109a647ef1dac0198da94d5dfc35","login":"cs2ctest","url":"https://api.github.com/users/cs2ctest","avatar_url":"https://secure.gravatar.com/avatar/01f9109a647ef1dac0198da94d5dfc35?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":2108297},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/cs2ctest/PyGithub.git","created_at":"2012-08-09T19:56:03Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/cs2ctest/PyGithub","size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-09T09:00:55Z","full_name":"cs2ctest/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/cs2ctest/PyGithub","ssh_url":"git@github.com:cs2ctest/PyGithub.git","git_url":"git://github.com/cs2ctest/PyGithub.git","private":false,"id":5353371,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/cs2ctest/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"83fdd59f80118ac8e56fd6f732239190","login":"feiying","url":"https://api.github.com/users/feiying","avatar_url":"https://secure.gravatar.com/avatar/83fdd59f80118ac8e56fd6f732239190?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":1784180},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/feiying/PyGithub.git","created_at":"2012-08-10T18:57:02Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/feiying/PyGithub","size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-10T04:51:27Z","full_name":"feiying/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/feiying/PyGithub","ssh_url":"git@github.com:feiying/PyGithub.git","git_url":"git://github.com/feiying/PyGithub.git","private":false,"id":5365056,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/feiying/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"13df3b204a5708ed557a07628ea00660","login":"tdcarrol","url":"https://api.github.com/users/tdcarrol","avatar_url":"https://secure.gravatar.com/avatar/13df3b204a5708ed557a07628ea00660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":435947},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/tdcarrol/PyGithub.git","created_at":"2012-08-22T05:17:05Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/tdcarrol/PyGithub","size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-21T15:14:27Z","full_name":"tdcarrol/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/tdcarrol/PyGithub","ssh_url":"git@github.com:tdcarrol/PyGithub.git","git_url":"git://github.com/tdcarrol/PyGithub.git","private":false,"id":5496795,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/tdcarrol/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","login":"xobb1t","url":"https://api.github.com/users/xobb1t","avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":344095},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/xobb1t/PyGithub.git","created_at":"2012-09-03T15:31:32Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/xobb1t/PyGithub","size":108,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-25T19:40:53Z","full_name":"xobb1t/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/xobb1t/PyGithub","ssh_url":"git@github.com:xobb1t/PyGithub.git","git_url":"git://github.com/xobb1t/PyGithub.git","private":false,"id":5554026,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/xobb1t/PyGithub","pushed_at":"2012-08-25T19:40:53Z"},{"forks":0,"watchers_count":0,"has_downloads":true,"owner":{"gravatar_id":"ad620f78a113948d4ded151e3025a3b3","login":"braincorp","url":"https://api.github.com/users/braincorp","avatar_url":"https://secure.gravatar.com/avatar/ad620f78a113948d4ded151e3025a3b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","id":2085477},"open_issues_count":0,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/braincorp/PyGithub.git","created_at":"2012-09-03T15:31:30Z","has_wiki":false,"watchers":0,"html_url":"https://github.com/braincorp/PyGithub","size":240,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-30T06:54:52Z","full_name":"braincorp/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/braincorp/PyGithub","ssh_url":"git@github.com:braincorp/PyGithub.git","git_url":"git://github.com/braincorp/PyGithub.git","private":false,"id":5611539,"mirror_url":null,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/braincorp/PyGithub","pushed_at":"2012-08-23T07:38:20Z"}] - -https -GET -api.github.com -None -/user/subscriptions?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1221'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 31 Aug 2012 13:53:17 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"c8db8e82d53b0c24d493ad0dd8413000"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:53:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","login":"gregwjacobs","avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/gregwjacobs","id":1749292},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/gregwjacobs/PyGithub.git","git_url":"git://github.com/gregwjacobs/PyGithub.git","created_at":"2012-09-03T15:31:27Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":240,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-31T13:53:17Z","full_name":"gregwjacobs/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/gregwjacobs/PyGithub","mirror_url":null,"ssh_url":"git@github.com:gregwjacobs/PyGithub.git","html_url":"https://github.com/gregwjacobs/PyGithub","private":false,"id":5629305,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/gregwjacobs/PyGithub","pushed_at":"2012-08-23T07:38:20Z"}] - -https -GET -api.github.com -None -/user/subscriptions/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4941'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:53:23 GMT')] - - -https -DELETE -api.github.com -None -/user/subscriptions/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4940'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:53:24 GMT')] - - -https -GET -api.github.com -None -/user/subscriptions/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('content-length', '23'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:53:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/user/subscriptions/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4938'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:53:25 GMT')] - - -https -GET -api.github.com -None -/user/subscriptions/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4937'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:53:25 GMT')] - - diff --git a/github/tests/ReplayData/AuthenticatedUser.testWatching.txt b/github/tests/ReplayData/AuthenticatedUser.testWatching.txt deleted file mode 100644 index 606f32c..0000000 --- a/github/tests/ReplayData/AuthenticatedUser.testWatching.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '598'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"49141c081e970afc1fbe7f1e260f2fe4"'), ('date', 'Tue, 22 May 2012 17:15:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","url":"https://api.github.com/users/nvie","public_repos":62,"hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":"3rd Cloud","bio":null,"login":"nvie","email":"vincent@3rdcloud.com","public_gists":17,"name":"Vincent Driessen","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","html_url":"https://github.com/nvie","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","id":83844,"followers":298,"following":41,"blog":"http://nvie.com"} - -https -GET -api.github.com -None -/repos/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1155'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"856c234079ab76fe64e7b99c1f4802fb"'), ('date', 'Tue, 22 May 2012 17:15:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"pushed_at":"2012-02-14T13:11:04Z","updated_at":"2012-05-22T14:27:59Z","mirror_url":null,"homepage":"http://nvie.com/posts/a-successful-git-branching-model/","git_url":"git://github.com/nvie/gitflow.git","url":"https://api.github.com/repos/nvie/gitflow","has_downloads":true,"watchers":3935,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"develop","fork":false,"svn_url":"https://github.com/nvie/gitflow","has_wiki":true,"has_issues":true,"size":4602,"private":false,"forks":322,"owner":{"url":"https://api.github.com/users/nvie","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","id":83844},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","clone_url":"https://github.com/nvie/gitflow.git","ssh_url":"git@github.com:nvie/gitflow.git","html_url":"https://github.com/nvie/gitflow","created_at":"2010-01-20T23:14:12Z","id":481366,"open_issues":92} - -https -GET -api.github.com -None -/user/watched -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '32854'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"0ead8fdcf36bbf2deb2c08c93e78d2cc"'), ('date', 'Tue, 22 May 2012 17:15:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"pushed_at":"2012-05-21T09:21:47Z","git_url":"git://github.com/git/git.git","updated_at":"2012-05-22T15:08:00Z","homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","url":"https://api.github.com/repos/git/git","has_downloads":true,"watchers":2193,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/git/git","has_wiki":false,"has_issues":false,"size":33156,"private":false,"forks":528,"owner":{"url":"https://api.github.com/users/git","login":"git","gravatar_id":"878a0ea898da1701df8573ed64a5cc9d","avatar_url":"https://secure.gravatar.com/avatar/878a0ea898da1701df8573ed64a5cc9d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":18133},"name":"git","language":"C","description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","clone_url":"https://github.com/git/git.git","ssh_url":"git@github.com:git/git.git","html_url":"https://github.com/git/git","created_at":"2008-07-23T14:21:26Z","id":36502,"open_issues":4},{"pushed_at":"2009-12-15T14:07:47Z","git_url":"git://github.com/moriyoshi/boost.php.git","updated_at":"2012-03-23T22:31:43Z","homepage":"","url":"https://api.github.com/repos/moriyoshi/boost.php","has_downloads":true,"watchers":46,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.php","has_wiki":true,"has_issues":true,"size":1331,"private":false,"forks":4,"owner":{"url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":18755},"name":"boost.php","language":"C++","description":"Create your PHP extension in C++, in a minute.","clone_url":"https://github.com/moriyoshi/boost.php.git","ssh_url":"git@github.com:moriyoshi/boost.php.git","html_url":"https://github.com/moriyoshi/boost.php","created_at":"2008-07-29T03:01:07Z","id":38097,"open_issues":1},{"pushed_at":"2012-05-10T15:17:56Z","git_url":"git://github.com/capistrano/capistrano.git","updated_at":"2012-05-22T14:33:44Z","homepage":"http://capify.org","url":"https://api.github.com/repos/capistrano/capistrano","has_downloads":false,"watchers":2247,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":true,"svn_url":"https://github.com/capistrano/capistrano","has_wiki":true,"has_issues":true,"size":236,"private":false,"forks":236,"owner":{"url":"https://api.github.com/users/capistrano","login":"capistrano","gravatar_id":"885e1c523b7975c4003de162d8ee8fee","avatar_url":"https://secure.gravatar.com/avatar/885e1c523b7975c4003de162d8ee8fee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":58257},"name":"capistrano","language":"Ruby","description":"Remote multi-server automation tool","clone_url":"https://github.com/capistrano/capistrano.git","ssh_url":"git@github.com:capistrano/capistrano.git","html_url":"https://github.com/capistrano/capistrano","created_at":"2009-02-26T16:14:04Z","id":138312,"open_issues":31},{"pushed_at":"2010-05-28T07:23:06Z","git_url":"git://github.com/moriyoshi/boost.perl.git","updated_at":"2011-10-03T23:45:58Z","homepage":"","url":"https://api.github.com/repos/moriyoshi/boost.perl","has_downloads":true,"watchers":8,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.perl","has_wiki":true,"has_issues":true,"size":512,"private":false,"forks":0,"owner":{"url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":18755},"name":"boost.perl","language":"C++","description":"Still a proof of concept...","clone_url":"https://github.com/moriyoshi/boost.perl.git","ssh_url":"git@github.com:moriyoshi/boost.perl.git","html_url":"https://github.com/moriyoshi/boost.perl","created_at":"2009-03-30T21:09:12Z","id":163431,"open_issues":0},{"pushed_at":"2012-05-01T21:43:17Z","git_url":"git://github.com/apenwarr/git-subtree.git","updated_at":"2012-05-20T16:20:08Z","homepage":"","url":"https://api.github.com/repos/apenwarr/git-subtree","has_downloads":true,"watchers":605,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/apenwarr/git-subtree","has_wiki":false,"has_issues":false,"size":176,"private":false,"forks":67,"owner":{"url":"https://api.github.com/users/apenwarr","login":"apenwarr","gravatar_id":"918b627daf7d848cd40770ed6cd15233","avatar_url":"https://secure.gravatar.com/avatar/918b627daf7d848cd40770ed6cd15233?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":20592},"name":"git-subtree","language":"Shell","description":"An experimental alternative to the git-submodule command. Merges and splits subtrees from your project into subprojects and back.","clone_url":"https://github.com/apenwarr/git-subtree.git","ssh_url":"git@github.com:apenwarr/git-subtree.git","html_url":"https://github.com/apenwarr/git-subtree","created_at":"2009-04-25T04:10:31Z","id":185096,"open_issues":11},{"pushed_at":"2012-04-15T18:55:55Z","git_url":"git://github.com/cosmin/git-hg.git","updated_at":"2012-05-20T09:51:32Z","homepage":"http://offbytwo.github.com/git-hg","url":"https://api.github.com/repos/cosmin/git-hg","has_downloads":true,"watchers":150,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/cosmin/git-hg","has_wiki":true,"has_issues":true,"size":224,"private":false,"forks":25,"owner":{"url":"https://api.github.com/users/cosmin","login":"cosmin","gravatar_id":"a8d35490b4016275e5bc3cc6cce8f878","avatar_url":"https://secure.gravatar.com/avatar/a8d35490b4016275e5bc3cc6cce8f878?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1358},"name":"git-hg","language":"Shell","description":"A git-hg utility for checking out and tracking a mercurial repo.","clone_url":"https://github.com/cosmin/git-hg.git","ssh_url":"git@github.com:cosmin/git-hg.git","html_url":"https://github.com/cosmin/git-hg","created_at":"2009-05-14T20:23:01Z","id":201230,"open_issues":0},{"pushed_at":"2012-05-22T14:24:02Z","git_url":"git://github.com/mxcl/homebrew.git","updated_at":"2012-05-22T15:38:59Z","homepage":"http://mxcl.github.com/homebrew","url":"https://api.github.com/repos/mxcl/homebrew","has_downloads":false,"watchers":8688,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"master","mirror_url":null,"fork":false,"svn_url":"https://github.com/mxcl/homebrew","has_wiki":true,"has_issues":true,"size":4844,"private":false,"forks":3971,"owner":{"url":"https://api.github.com/users/mxcl","login":"mxcl","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":58962},"name":"homebrew","language":"Ruby","description":"The missing package manager for OS X.","clone_url":"https://github.com/mxcl/homebrew.git","ssh_url":"git@github.com:mxcl/homebrew.git","html_url":"https://github.com/mxcl/homebrew","created_at":"2009-05-20T19:38:37Z","id":206084,"open_issues":442},{"pushed_at":"2010-11-25T02:39:53Z","git_url":"git://github.com/jamis/celtic_knot.git","updated_at":"2011-10-12T04:36:53Z","homepage":"","url":"https://api.github.com/repos/jamis/celtic_knot","has_downloads":true,"watchers":4,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jamis/celtic_knot","has_wiki":true,"has_issues":true,"size":1272,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/jamis","login":"jamis","gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1627},"name":"celtic_knot","language":"Ruby","description":"A library for generating Celtic Knotwork designs from graphs","clone_url":"https://github.com/jamis/celtic_knot.git","ssh_url":"git@github.com:jamis/celtic_knot.git","html_url":"https://github.com/jamis/celtic_knot","created_at":"2009-05-24T23:23:10Z","id":209230,"open_issues":0},{"pushed_at":"2011-10-28T11:27:34Z","git_url":"git://github.com/jdavisp3/twisted-intro.git","updated_at":"2012-05-16T01:52:49Z","homepage":"http://krondo.com/blog/?page_id=1327","url":"https://api.github.com/repos/jdavisp3/twisted-intro","has_downloads":true,"watchers":56,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jdavisp3/twisted-intro","has_wiki":true,"has_issues":true,"size":188,"private":false,"forks":11,"owner":{"url":"https://api.github.com/users/jdavisp3","login":"jdavisp3","gravatar_id":"fcc237fd34a8e504f7224df0c58cc0b3","avatar_url":"https://secure.gravatar.com/avatar/fcc237fd34a8e504f7224df0c58cc0b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":43582},"name":"twisted-intro","language":"Python","description":"Source files used for an introduction to Twisted","clone_url":"https://github.com/jdavisp3/twisted-intro.git","ssh_url":"git@github.com:jdavisp3/twisted-intro.git","html_url":"https://github.com/jdavisp3/twisted-intro","created_at":"2009-08-09T17:54:00Z","id":273325,"open_issues":0},{"pushed_at":"2012-04-05T21:13:31Z","git_url":"git://github.com/github/markup.git","updated_at":"2012-05-22T15:20:07Z","homepage":"","url":"https://api.github.com/repos/github/markup","has_downloads":false,"watchers":799,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/github/markup","has_wiki":false,"has_issues":true,"size":356,"private":false,"forks":240,"owner":{"url":"https://api.github.com/users/github","login":"github","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":9919},"name":"markup","language":"Ruby","description":"The code we use to render README.your_favorite_markup","clone_url":"https://github.com/github/markup.git","ssh_url":"git@github.com:github/markup.git","html_url":"https://github.com/github/markup","created_at":"2009-10-31T01:02:46Z","id":355893,"open_issues":84},{"pushed_at":"2012-05-08T13:37:09Z","git_url":"git://github.com/defunkt/hub.git","updated_at":"2012-05-22T17:05:30Z","homepage":"http://defunkt.io/hub/","url":"https://api.github.com/repos/defunkt/hub","has_downloads":false,"watchers":1171,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/defunkt/hub","has_wiki":false,"has_issues":true,"size":268,"private":false,"forks":87,"owner":{"url":"https://api.github.com/users/defunkt","login":"defunkt","gravatar_id":"b8dbb1987e8e5318584865f880036796","avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":2},"name":"hub","language":"Ruby","description":"hub introduces git to GitHub","clone_url":"https://github.com/defunkt/hub.git","ssh_url":"git@github.com:defunkt/hub.git","html_url":"https://github.com/defunkt/hub","created_at":"2009-12-05T22:15:25Z","id":401025,"open_issues":13},{"pushed_at":"2012-02-14T13:11:04Z","git_url":"git://github.com/nvie/gitflow.git","updated_at":"2012-05-22T14:27:59Z","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","url":"https://api.github.com/repos/nvie/gitflow","has_downloads":true,"watchers":3935,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"develop","mirror_url":null,"fork":false,"svn_url":"https://github.com/nvie/gitflow","has_wiki":true,"has_issues":true,"size":4602,"private":false,"forks":322,"owner":{"url":"https://api.github.com/users/nvie","login":"nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":83844},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","clone_url":"https://github.com/nvie/gitflow.git","ssh_url":"git@github.com:nvie/gitflow.git","html_url":"https://github.com/nvie/gitflow","created_at":"2010-01-20T23:14:12Z","id":481366,"open_issues":92},{"pushed_at":"2011-10-18T00:40:07Z","git_url":"git://github.com/lg/murder.git","updated_at":"2012-05-21T20:34:31Z","homepage":"http://twitter.com","url":"https://api.github.com/repos/lg/murder","has_downloads":true,"watchers":1226,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/lg/murder","has_wiki":true,"has_issues":true,"size":1228,"private":false,"forks":53,"owner":{"url":"https://api.github.com/users/lg","login":"lg","gravatar_id":"f2583cecbd75c5999bf65d9eeb6a84f2","avatar_url":"https://secure.gravatar.com/avatar/f2583cecbd75c5999bf65d9eeb6a84f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181018},"name":"murder","language":"Python","description":"Large scale server deploys using BitTorrent and the BitTornado library","clone_url":"https://github.com/lg/murder.git","ssh_url":"git@github.com:lg/murder.git","html_url":"https://github.com/lg/murder","created_at":"2010-01-21T07:05:36Z","id":481811,"open_issues":8},{"pushed_at":"2012-05-20T07:40:27Z","git_url":"git://github.com/boto/boto.git","updated_at":"2012-05-21T21:35:47Z","homepage":"http://docs.pythonboto.org/","url":"https://api.github.com/repos/boto/boto","has_downloads":true,"watchers":1537,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"develop","mirror_url":null,"fork":false,"svn_url":"https://github.com/boto/boto","has_wiki":true,"has_issues":true,"size":4183,"private":false,"forks":396,"owner":{"url":"https://api.github.com/users/boto","login":"boto","gravatar_id":"9062d6f913c867ce042928d6637abd05","avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":327752},"name":"boto","language":"Python","description":"Python interface to Amazon Web Services","clone_url":"https://github.com/boto/boto.git","ssh_url":"git@github.com:boto/boto.git","html_url":"https://github.com/boto/boto","created_at":"2010-07-12T19:15:33Z","id":771016,"open_issues":136},{"pushed_at":"2012-05-22T16:26:22Z","git_url":"git://github.com/rtyley/agit.git","updated_at":"2012-05-22T16:26:25Z","homepage":"https://market.android.com/details?id=com.madgag.agit","url":"https://api.github.com/repos/rtyley/agit","has_downloads":true,"watchers":206,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/rtyley/agit","has_wiki":true,"has_issues":true,"size":1204,"private":false,"forks":41,"owner":{"url":"https://api.github.com/users/rtyley","login":"rtyley","gravatar_id":"1cdc781dd667a5d4b61340591bf1bef4","avatar_url":"https://secure.gravatar.com/avatar/1cdc781dd667a5d4b61340591bf1bef4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":52038},"name":"agit","language":"Java","description":"Agit - Git client for Android","clone_url":"https://github.com/rtyley/agit.git","ssh_url":"git@github.com:rtyley/agit.git","html_url":"https://github.com/rtyley/agit","created_at":"2010-08-29T21:45:54Z","id":870849,"open_issues":36},{"pushed_at":"2012-05-17T19:11:22Z","git_url":"git://github.com/mbostock/d3.git","updated_at":"2012-05-22T14:38:42Z","homepage":"http://d3js.org","url":"https://api.github.com/repos/mbostock/d3","has_downloads":true,"watchers":5938,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/mbostock/d3","has_wiki":true,"has_issues":true,"size":3268,"private":false,"forks":678,"owner":{"url":"https://api.github.com/users/mbostock","login":"mbostock","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":230541},"name":"d3","language":"JavaScript","description":"A JavaScript visualization library for HTML and SVG.","clone_url":"https://github.com/mbostock/d3.git","ssh_url":"git@github.com:mbostock/d3.git","html_url":"https://github.com/mbostock/d3","created_at":"2010-09-27T17:22:42Z","id":943149,"open_issues":110},{"pushed_at":"2012-05-21T16:21:43Z","git_url":"git://github.com/libgit2/pygit2.git","updated_at":"2012-05-22T13:11:06Z","homepage":"","url":"https://api.github.com/repos/libgit2/pygit2","has_downloads":true,"watchers":205,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/libgit2/pygit2","has_wiki":false,"has_issues":true,"size":156,"private":false,"forks":43,"owner":{"url":"https://api.github.com/users/libgit2","login":"libgit2","gravatar_id":"1c56acccc41c591705dc92da5f6ab603","avatar_url":"https://secure.gravatar.com/avatar/1c56acccc41c591705dc92da5f6ab603?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":394745},"name":"pygit2","language":"C","description":"Python bindings for libgit2","clone_url":"https://github.com/libgit2/pygit2.git","ssh_url":"git@github.com:libgit2/pygit2.git","html_url":"https://github.com/libgit2/pygit2","created_at":"2010-11-08T16:27:48Z","id":1062237,"open_issues":11},{"pushed_at":"2011-10-28T07:11:56Z","git_url":"git://github.com/schacon/git-pulls.git","updated_at":"2012-05-13T12:16:08Z","homepage":"","url":"https://api.github.com/repos/schacon/git-pulls","has_downloads":true,"watchers":173,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/schacon/git-pulls","has_wiki":true,"has_issues":true,"size":1004,"private":false,"forks":21,"owner":{"url":"https://api.github.com/users/schacon","login":"schacon","gravatar_id":"9375a9529679f1b42b567a640d775e7d","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":70},"name":"git-pulls","language":"Ruby","description":"command line tool to facilitate github pull requests","clone_url":"https://github.com/schacon/git-pulls.git","ssh_url":"git@github.com:schacon/git-pulls.git","html_url":"https://github.com/schacon/git-pulls","created_at":"2010-12-27T20:39:24Z","id":1201343,"open_issues":11},{"pushed_at":"2011-04-01T11:33:23Z","git_url":"git://github.com/emesik/django_mathlatex.git","updated_at":"2011-11-03T17:46:24Z","homepage":"","url":"https://api.github.com/repos/emesik/django_mathlatex","has_downloads":true,"watchers":3,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/emesik/django_mathlatex","has_wiki":true,"has_issues":true,"size":448,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/emesik","login":"emesik","gravatar_id":"0d0c6eda804f912d230df91577e29180","avatar_url":"https://secure.gravatar.com/avatar/0d0c6eda804f912d230df91577e29180?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":407107},"name":"django_mathlatex","language":"Python","description":"Django template tag for rendering math formulas","clone_url":"https://github.com/emesik/django_mathlatex.git","ssh_url":"git@github.com:emesik/django_mathlatex.git","html_url":"https://github.com/emesik/django_mathlatex","created_at":"2011-03-06T22:29:04Z","id":1447846,"open_issues":0},{"pushed_at":"2012-02-08T00:38:52Z","git_url":"git://github.com/aliasaria/scrumblr.git","updated_at":"2012-05-17T22:11:28Z","homepage":"http://scrumblr.ca","url":"https://api.github.com/repos/aliasaria/scrumblr","has_downloads":true,"watchers":464,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/aliasaria/scrumblr","has_wiki":true,"has_issues":true,"size":132,"private":false,"forks":50,"owner":{"url":"https://api.github.com/users/aliasaria","login":"aliasaria","gravatar_id":"a08f4e2d6ccccab586b502992c31e2ce","avatar_url":"https://secure.gravatar.com/avatar/a08f4e2d6ccccab586b502992c31e2ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":213343},"name":"scrumblr","language":"JavaScript","description":"Collaborative Online Scrum Tool Using Websockets, Node.js, jQuery, and CSS3","clone_url":"https://github.com/aliasaria/scrumblr.git","ssh_url":"git@github.com:aliasaria/scrumblr.git","html_url":"https://github.com/aliasaria/scrumblr","created_at":"2011-03-10T02:29:38Z","id":1461917,"open_issues":14},{"pushed_at":"2012-05-11T17:11:10Z","git_url":"git://github.com/github/developer.github.com.git","updated_at":"2012-05-20T11:16:45Z","homepage":"http://developer.github.com","url":"https://api.github.com/repos/github/developer.github.com","has_downloads":true,"watchers":249,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/github/developer.github.com","has_wiki":false,"has_issues":false,"size":212,"private":false,"forks":119,"owner":{"url":"https://api.github.com/users/github","login":"github","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":9919},"name":"developer.github.com","language":"Ruby","description":"GitHub API documentation","clone_url":"https://github.com/github/developer.github.com.git","ssh_url":"git@github.com:github/developer.github.com.git","html_url":"https://github.com/github/developer.github.com","created_at":"2011-04-26T19:20:56Z","id":1666784,"open_issues":10},{"pushed_at":"2011-11-22T18:10:52Z","git_url":"git://github.com/ChristopherMacGown/python-github3.git","updated_at":"2012-03-08T13:38:12Z","homepage":"","url":"https://api.github.com/repos/ChristopherMacGown/python-github3","has_downloads":true,"watchers":20,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/ChristopherMacGown/python-github3","has_wiki":true,"has_issues":true,"size":236,"private":false,"forks":11,"owner":{"url":"https://api.github.com/users/ChristopherMacGown","login":"ChristopherMacGown","gravatar_id":"4174216c1dc0f223ce608d5a3b66a585","avatar_url":"https://secure.gravatar.com/avatar/4174216c1dc0f223ce608d5a3b66a585?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":43081},"name":"python-github3","language":"Python","description":"Github API v3 library for Python.","clone_url":"https://github.com/ChristopherMacGown/python-github3.git","ssh_url":"git@github.com:ChristopherMacGown/python-github3.git","html_url":"https://github.com/ChristopherMacGown/python-github3","created_at":"2011-04-28T17:07:29Z","id":1676748,"open_issues":1},{"pushed_at":"2012-02-02T09:38:42Z","git_url":"git://github.com/pjkersten/PlantUML.git","updated_at":"2012-02-06T15:26:40Z","homepage":"","url":"https://api.github.com/repos/pjkersten/PlantUML","has_downloads":true,"watchers":5,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/pjkersten/PlantUML","has_wiki":true,"has_issues":true,"size":124,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/pjkersten","login":"pjkersten","gravatar_id":"6e33170f0701d1d1d8dd57c8f95368ef","avatar_url":"https://secure.gravatar.com/avatar/6e33170f0701d1d1d8dd57c8f95368ef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":771883},"name":"PlantUML","language":"PHP","description":"PlantUML plugin for MediaWiki","clone_url":"https://github.com/pjkersten/PlantUML.git","ssh_url":"git@github.com:pjkersten/PlantUML.git","html_url":"https://github.com/pjkersten/PlantUML","created_at":"2011-05-06T09:33:38Z","id":1710505,"open_issues":0},{"pushed_at":"2012-05-18T05:00:54Z","git_url":"git://github.com/twitter/bootstrap.git","updated_at":"2012-05-22T17:13:54Z","homepage":"http://twitter.github.com/bootstrap","url":"https://api.github.com/repos/twitter/bootstrap","has_downloads":true,"watchers":29252,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/twitter/bootstrap","has_wiki":true,"has_issues":true,"size":1244,"private":false,"forks":5738,"owner":{"url":"https://api.github.com/users/twitter","login":"twitter","gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":50278},"name":"bootstrap","language":"JavaScript","description":"HTML, CSS, and JS toolkit from Twitter","clone_url":"https://github.com/twitter/bootstrap.git","ssh_url":"git@github.com:twitter/bootstrap.git","html_url":"https://github.com/twitter/bootstrap","created_at":"2011-07-29T21:19:00Z","id":2126244,"open_issues":221},{"pushed_at":"2011-08-01T10:26:00Z","git_url":"git://github.com/stephenmcd/drawnby.git","updated_at":"2012-04-30T11:48:56Z","homepage":"http://drawnby.jupo.org","url":"https://api.github.com/repos/stephenmcd/drawnby","has_downloads":true,"watchers":9,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/stephenmcd/drawnby","has_wiki":true,"has_issues":true,"size":672,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116385},"name":"drawnby","language":"JavaScript","description":"Drawn By is a collaborative real-time sketching app built for the 2011 Django Dash.","clone_url":"https://github.com/stephenmcd/drawnby.git","ssh_url":"git@github.com:stephenmcd/drawnby.git","html_url":"https://github.com/stephenmcd/drawnby","created_at":"2011-08-01T10:25:31Z","id":2136154,"open_issues":0},{"pushed_at":"2012-04-20T00:24:31Z","git_url":"git://github.com/stephenmcd/django-socketio.git","updated_at":"2012-05-22T12:45:54Z","homepage":"","url":"https://api.github.com/repos/stephenmcd/django-socketio","has_downloads":true,"watchers":261,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/stephenmcd/django-socketio","has_wiki":true,"has_issues":true,"size":160,"private":false,"forks":27,"owner":{"url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116385},"name":"django-socketio","language":"JavaScript","description":"A Django app providing the features required to use websockets with Django via Socket.IO","clone_url":"https://github.com/stephenmcd/django-socketio.git","ssh_url":"git@github.com:stephenmcd/django-socketio.git","html_url":"https://github.com/stephenmcd/django-socketio","created_at":"2011-08-01T21:18:34Z","id":2139136,"open_issues":6},{"pushed_at":"2012-04-21T16:22:25Z","git_url":"git://github.com/jstasiak/django-realtime.git","updated_at":"2012-05-08T07:18:20Z","homepage":"","url":"https://api.github.com/repos/jstasiak/django-realtime","has_downloads":true,"watchers":15,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jstasiak/django-realtime","has_wiki":true,"has_issues":true,"size":132,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/jstasiak","login":"jstasiak","gravatar_id":"93cdbd3d2a76da1adf727a6bc9fec1ed","avatar_url":"https://secure.gravatar.com/avatar/93cdbd3d2a76da1adf727a6bc9fec1ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":36209},"name":"django-realtime","language":"JavaScript","description":"Use this application to get Socket.IO support in your Django project and dive into real time web.","clone_url":"https://github.com/jstasiak/django-realtime.git","ssh_url":"git@github.com:jstasiak/django-realtime.git","html_url":"https://github.com/jstasiak/django-realtime","created_at":"2011-09-20T19:13:10Z","id":2424738,"open_issues":0},{"pushed_at":"2012-05-21T16:12:27Z","git_url":"git://github.com/AcmeSystems/playground.git","updated_at":"2012-05-21T16:12:27Z","homepage":"http://www.acmesystems.it","url":"https://api.github.com/repos/AcmeSystems/playground","has_downloads":true,"watchers":6,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/AcmeSystems/playground","has_wiki":true,"has_issues":true,"size":148,"private":false,"forks":3,"owner":{"url":"https://api.github.com/users/AcmeSystems","login":"AcmeSystems","gravatar_id":"af55714b265c4914c8bb8db49fc06da6","avatar_url":"https://secure.gravatar.com/avatar/af55714b265c4914c8bb8db49fc06da6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":783524},"name":"playground","language":"Python","description":"Small programming examples for the FOX Board G20","clone_url":"https://github.com/AcmeSystems/playground.git","ssh_url":"git@github.com:AcmeSystems/playground.git","html_url":"https://github.com/AcmeSystems/playground","created_at":"2011-10-17T16:16:10Z","id":2593052,"open_issues":0},{"pushed_at":"2011-11-07T14:55:19Z","git_url":"git://github.com/juuso/BozoCrack.git","updated_at":"2012-05-21T19:49:13Z","homepage":"","url":"https://api.github.com/repos/juuso/BozoCrack","has_downloads":true,"watchers":376,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/juuso/BozoCrack","has_wiki":true,"has_issues":true,"size":140,"private":false,"forks":39,"owner":{"url":"https://api.github.com/users/juuso","login":"juuso","gravatar_id":"d3231546d42d67974fc51956a3b627f4","avatar_url":"https://secure.gravatar.com/avatar/d3231546d42d67974fc51956a3b627f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614446},"name":"BozoCrack","language":"Ruby","description":"A silly & effective MD5 cracker in Ruby","clone_url":"https://github.com/juuso/BozoCrack.git","ssh_url":"git@github.com:juuso/BozoCrack.git","html_url":"https://github.com/juuso/BozoCrack","created_at":"2011-11-07T13:02:08Z","id":2726128,"open_issues":8},{"pushed_at":null,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","updated_at":"2012-02-16T21:51:15Z","homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_downloads":true,"watchers":2,"permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"fork":false,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"size":0,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":1424031},"name":"FatherBeaver","language":null,"description":"","clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","html_url":"https://github.com/BeaverSoftware/FatherBeaver","created_at":"2012-02-09T19:32:21Z","id":3400397,"open_issues":0}] - -https -GET -api.github.com -None -/user/watched?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '4493'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"5894e9073dc54de74c439e23fc738fe7"'), ('date', 'Sat, 26 May 2012 10:36:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/abersager/PyGithub.git","has_downloads":true,"watchers":2,"updated_at":"2012-03-28T10:37:22Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/abersager/PyGithub","owner":{"url":"https://api.github.com/users/abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","id":1328351},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:abersager/PyGithub.git","git_url":"git://github.com/abersager/PyGithub.git","pushed_at":"2012-03-26T10:05:31Z","created_at":"2012-03-26T09:12:45Z","id":3831162,"mirror_url":null,"html_url":"https://github.com/abersager/PyGithub","full_name":"abersager/PyGithub"},{"clone_url":"https://github.com/django/django.git","has_downloads":true,"watchers":2391,"updated_at":"2012-05-26T10:30:33Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/django/django","has_wiki":false,"has_issues":false,"fork":false,"forks":263,"size":8408,"private":false,"open_issues":37,"svn_url":"https://github.com/django/django","owner":{"url":"https://api.github.com/users/django","avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","login":"django","id":27804},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:django/django.git","git_url":"git://github.com/django/django.git","pushed_at":"2012-05-26T09:54:24Z","created_at":"2012-04-28T02:47:18Z","id":4164482,"mirror_url":null,"html_url":"https://github.com/django/django","full_name":"django/django"},{"clone_url":"https://github.com/jacquev6/django.git","has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"mirror_url":null,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","git_url":"git://github.com/jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"mirror_url":null,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"}] - -https -GET -api.github.com -None -/user/watched/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 17:15:06 GMT')] - - -https -DELETE -api.github.com -None -/user/watched/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 17:15:07 GMT')] - - -https -GET -api.github.com -None -/user/watched/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4991'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Tue, 22 May 2012 17:15:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/user/watched/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4990'), ('x-ratelimit-limit', '5000'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 17:15:08 GMT')] - - -https -GET -api.github.com -None -/user/watched/nvie/gitflow -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4989'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 17:15:09 GMT')] - - diff --git a/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithLogin.txt b/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithLogin.txt deleted file mode 100644 index 8f7a91f..0000000 --- a/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithLogin.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic ZmFrZV9sb2dpbjpmYWtlX3Bhc3N3b3Jk', 'User-Agent': 'PyGithub/Python'} -null -401 -[('status', '401 Unauthorized'), ('content-length', '29'), ('x-github-media-type', 'github.beta; format=json'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Thu, 28 Mar 2013 20:14:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Bad credentials"} - diff --git a/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithToken.txt b/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithToken.txt deleted file mode 100644 index 742e673..0000000 --- a/github/tests/ReplayData/Authentication.testAuthorizationHeaderWithToken.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token ZmFrZV9sb2dpbjpmYWtlX3Bhc3N3b3Jk', 'User-Agent': 'PyGithub/Python'} -null -403 -[('status', '403 Forbidden'), ('content-length', '50'), ('x-github-media-type', 'github.beta; format=json'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Thu, 28 Mar 2013 20:15:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Max number of login attempt exceeded"} - diff --git a/github/tests/ReplayData/Authentication.testBasicAuthentication.txt b/github/tests/ReplayData/Authentication.testBasicAuthentication.txt deleted file mode 100644 index 42734e0..0000000 --- a/github/tests/ReplayData/Authentication.testBasicAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f1a68180387d296f308d6a01917e1799"'), ('date', 'Sat, 26 May 2012 09:34:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":16852,"public_repos":11,"url":"https://api.github.com/users/jacquev6","hireable":false,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"public_gists":1,"bio":"","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","private_gists":5,"collaborators":0,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","total_private_repos":5,"blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - diff --git a/github/tests/ReplayData/Authentication.testNoAuthentication.txt b/github/tests/ReplayData/Authentication.testNoAuthentication.txt deleted file mode 100644 index 7b7a8c4..0000000 --- a/github/tests/ReplayData/Authentication.testNoAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b81320548394cb55b7e97fb1636d2898"'), ('date', 'Sat, 26 May 2012 09:34:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_repos":11,"url":"https://api.github.com/users/jacquev6","hireable":false,"public_gists":1,"bio":"","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - diff --git a/github/tests/ReplayData/Authentication.testOAuthAuthentication.txt b/github/tests/ReplayData/Authentication.testOAuthAuthentication.txt deleted file mode 100644 index 811f767..0000000 --- a/github/tests/ReplayData/Authentication.testOAuthAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0e3990a84c08ccd728a27dbe549d4f86"'), ('date', 'Sat, 26 May 2012 09:34:29 GMT'), ('x-oauth-scopes', ''), ('content-type', 'application/json; charset=utf-8'), ('x-accepted-oauth-scopes', 'user')] -{"type":"User","company":"Criteo","location":"Paris, France","hireable":false,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","bio":"","following":24,"blog":"http://vincent-jacques.net","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","followers":13,"html_url":"https://github.com/jacquev6","url":"https://api.github.com/users/jacquev6","name":"Vincent Jacques","login":"jacquev6","public_repos":11,"public_gists":1,"email":"vincent@vincent-jacques.net","id":327146,"created_at":"2010-07-09T06:10:06Z"} - diff --git a/github/tests/ReplayData/Authentication.testSecretKeyAuthentication.txt b/github/tests/ReplayData/Authentication.testSecretKeyAuthentication.txt deleted file mode 100644 index 043cfff..0000000 --- a/github/tests/ReplayData/Authentication.testSecretKeyAuthentication.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware?client_secret=client_secret&client_id=client_id -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd349122929faf5f9be3e53d9ad41d08"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","url":"https://api.github.com/orgs/BeaverSoftware","billing_email":"BeaverSoftware@vincent-jacques.net","disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"html_url":"https://github.com/BeaverSoftware","blog":null,"login":"BeaverSoftware","public_gists":0,"email":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"private_gists":0,"collaborators":0,"created_at":"2012-02-09T19:20:12Z","company":null,"location":"Paris, France","followers":0,"following":0,"name":null,"owned_private_repos":0,"id":1424031,"public_repos":2} - -https -GET -api.github.com -None -/orgs/BeaverSoftware/repos?client_secret=client_secret&type=public&client_id=client_id -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '2291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4bcc5321db433ac18171c121303c77d2"'), ('date', 'Tue, 29 May 2012 18:11:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","html_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"full_name":"BeaverSoftware/FatherBeaver"},{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-29T18:09:14Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","html_url":"https://github.com/BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","forks":0,"size":428,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-29T18:05:10Z","created_at":"2012-05-29T18:03:19Z","id":4485562,"full_name":"BeaverSoftware/PyGithub"}] - diff --git a/github/tests/ReplayData/Authentication.testUserAgent.txt b/github/tests/ReplayData/Authentication.testUserAgent.txt deleted file mode 100644 index 127dff2..0000000 --- a/github/tests/ReplayData/Authentication.testUserAgent.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithubTester', 'User-Agent': 'PyGithubTester'} -null -200 -[('status', '200 OK'), ('content-length', '1250'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept'), ('x-ratelimit-remaining', '57'), ('server', 'nginx'), ('last-modified', 'Mon, 19 Nov 2012 19:05:48 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('etag', '"20bb1bc354d1c62d7c5e8b918cdbe6a1"'), ('cache-control', 'public, s-maxage=60, max-age=60'), ('date', 'Mon, 19 Nov 2012 20:14:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":19,"type":"User","followers_url":"https://api.github.com/users/jacquev6/followers","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","received_events_url":"https://api.github.com/users/jacquev6/received_events","following_url":"https://api.github.com/users/jacquev6/following","login":"jacquev6","blog":"http://vincent-jacques.net","following":37,"html_url":"https://github.com/jacquev6","created_at":"2010-07-09T06:10:06Z","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","hireable":false,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","bio":"","name":"Vincent Jacques","email":"vincent@vincent-jacques.net","repos_url":"https://api.github.com/users/jacquev6/repos","public_gists":2,"followers":18,"company":"Criteo","location":"Paris, France","id":327146,"events_url":"https://api.github.com/users/jacquev6/events{/privacy}","organizations_url":"https://api.github.com/users/jacquev6/orgs"} - diff --git a/github/tests/ReplayData/Authorization.setUp.txt b/github/tests/ReplayData/Authorization.setUp.txt deleted file mode 100644 index 665d029..0000000 --- a/github/tests/ReplayData/Authorization.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/authorizations/372259 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e15ef91b6fe4705f493fca75475b763b"'), ('date', 'Tue, 22 May 2012 18:03:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":[],"note_url":null,"updated_at":"2012-05-22T18:03:17Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - diff --git a/github/tests/ReplayData/Authorization.testDelete.txt b/github/tests/ReplayData/Authorization.testDelete.txt deleted file mode 100644 index b0c0ab2..0000000 --- a/github/tests/ReplayData/Authorization.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/authorizations/372259 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:25:53 GMT')] - - diff --git a/github/tests/ReplayData/Authorization.testEdit.txt b/github/tests/ReplayData/Authorization.testEdit.txt deleted file mode 100644 index da16308..0000000 --- a/github/tests/ReplayData/Authorization.testEdit.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -PATCH -api.github.com -None -/authorizations/372259 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"39fec03a7cbd97abde96cccbd1921277"'), ('date', 'Tue, 22 May 2012 18:24:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":[],"updated_at":"2012-05-22T18:24:09Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"note_url":null,"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - -https -PATCH -api.github.com -None -/authorizations/372259 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"scopes": ["user"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '334'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6476c8dce7e66cb43e71317294fd5b42"'), ('date', 'Tue, 22 May 2012 18:24:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":["user"],"updated_at":"2012-05-22T18:24:09Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"note_url":null,"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - -https -PATCH -api.github.com -None -/authorizations/372259 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"add_scopes": ["repo"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '341'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"aef23fb8f728fcd7acf751015c21661a"'), ('date', 'Tue, 22 May 2012 18:24:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":["user","repo"],"updated_at":"2012-05-22T18:24:10Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"note_url":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - -https -PATCH -api.github.com -None -/authorizations/372259 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"remove_scopes": ["repo"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '334'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dff7e491f5d3c779385b9f3a41694a32"'), ('date', 'Tue, 22 May 2012 18:24:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":["user"],"updated_at":"2012-05-22T18:24:11Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"note_url":null,"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - -https -PATCH -api.github.com -None -/authorizations/372259 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"note": "Note created by PyGithub", "note_url": "http://vincent-jacques.net/PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5881b7d6eaa13e3b8539ca6ffc334be1"'), ('date', 'Tue, 22 May 2012 18:24:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"note_url":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/authorizations/372259","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"scopes":["user"],"note":"Note created by PyGithub","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","created_at":"2012-05-22T18:03:17Z","updated_at":"2012-05-22T18:24:11Z","id":372259} - diff --git a/github/tests/ReplayData/BadAttributes.testBadAttributeInClassAttribute.txt b/github/tests/ReplayData/BadAttributes.testBadAttributeInClassAttribute.txt deleted file mode 100644 index 6de4abc..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadAttributeInClassAttribute.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/klmitch/turnstile -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '5351c17d-c8ac-4a49-b6f4-1dd0411bb9ae'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4587'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:04:54 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"aab62d006633c3842d38e20dc732a2c9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 08:38:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378976739')] -{"id":3404510,"name":"turnstile","full_name":"klmitch/turnstile","owner":{"login":"klmitch","id":686398,"avatar_url":42,"gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"private":false,"html_url":"https://github.com/klmitch/turnstile","description":"A distributed rate limiting WSGI middleware.","fork":false,"url":"https://api.github.com/repos/klmitch/turnstile","forks_url":"https://api.github.com/repos/klmitch/turnstile/forks","keys_url":"https://api.github.com/repos/klmitch/turnstile/keys{/key_id}","collaborators_url":"https://api.github.com/repos/klmitch/turnstile/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/klmitch/turnstile/teams","hooks_url":"https://api.github.com/repos/klmitch/turnstile/hooks","issue_events_url":"https://api.github.com/repos/klmitch/turnstile/issues/events{/number}","events_url":"https://api.github.com/repos/klmitch/turnstile/events","assignees_url":"https://api.github.com/repos/klmitch/turnstile/assignees{/user}","branches_url":"https://api.github.com/repos/klmitch/turnstile/branches{/branch}","tags_url":"https://api.github.com/repos/klmitch/turnstile/tags","blobs_url":"https://api.github.com/repos/klmitch/turnstile/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/klmitch/turnstile/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/klmitch/turnstile/git/refs{/sha}","trees_url":"https://api.github.com/repos/klmitch/turnstile/git/trees{/sha}","statuses_url":"https://api.github.com/repos/klmitch/turnstile/statuses/{sha}","languages_url":"https://api.github.com/repos/klmitch/turnstile/languages","stargazers_url":"https://api.github.com/repos/klmitch/turnstile/stargazers","contributors_url":"https://api.github.com/repos/klmitch/turnstile/contributors","subscribers_url":"https://api.github.com/repos/klmitch/turnstile/subscribers","subscription_url":"https://api.github.com/repos/klmitch/turnstile/subscription","commits_url":"https://api.github.com/repos/klmitch/turnstile/commits{/sha}","git_commits_url":"https://api.github.com/repos/klmitch/turnstile/git/commits{/sha}","comments_url":"https://api.github.com/repos/klmitch/turnstile/comments{/number}","issue_comment_url":"https://api.github.com/repos/klmitch/turnstile/issues/comments/{number}","contents_url":"https://api.github.com/repos/klmitch/turnstile/contents/{+path}","compare_url":"https://api.github.com/repos/klmitch/turnstile/compare/{base}...{head}","merges_url":"https://api.github.com/repos/klmitch/turnstile/merges","archive_url":"https://api.github.com/repos/klmitch/turnstile/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/klmitch/turnstile/downloads","issues_url":"https://api.github.com/repos/klmitch/turnstile/issues{/number}","pulls_url":"https://api.github.com/repos/klmitch/turnstile/pulls{/number}","milestones_url":"https://api.github.com/repos/klmitch/turnstile/milestones{/number}","notifications_url":"https://api.github.com/repos/klmitch/turnstile/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/klmitch/turnstile/labels{/name}","created_at":"2012-02-10T05:16:36Z","updated_at":"2013-08-21T16:04:54Z","pushed_at":"2013-05-01T22:22:20Z","git_url":"git://github.com/klmitch/turnstile.git","ssh_url":"git@github.com:klmitch/turnstile.git","clone_url":"https://github.com/klmitch/turnstile.git","svn_url":"https://github.com/klmitch/turnstile","homepage":"","size":260,"watchers_count":15,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":6,"mirror_url":null,"open_issues_count":1,"forks":6,"open_issues":1,"watchers":15,"master_branch":"master","default_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"network_count":6} - diff --git a/github/tests/ReplayData/BadAttributes.testBadAttributeTransformation.txt b/github/tests/ReplayData/BadAttributes.testBadAttributeTransformation.txt deleted file mode 100755 index 4dda347..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadAttributeTransformation.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/klmitch -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'b66ca3c7-84f9-455a-9db8-3df385fc7b32'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1254'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 11 Sep 2013 19:26:25 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"6c1c41cdc34b6a47b3ee2a765cc51310"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 08:45:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378976739')] -{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User","name":"Kevin L. Mitchell","company":"Rackspace","blog":null,"location":"San Antonio, TX","email":"kevin.mitchell@rackspace.com","hireable":false,"bio":null,"public_repos":29,"followers":15,"following":18,"created_at":"foobar","updated_at":42,"public_gists":0} - diff --git a/github/tests/ReplayData/BadAttributes.testBadSimpleAttribute.txt b/github/tests/ReplayData/BadAttributes.testBadSimpleAttribute.txt deleted file mode 100644 index c04566d..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadSimpleAttribute.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/klmitch -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '678fcfc5-140a-4d38-be2f-09ebbd8bb58d'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1254'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 11 Sep 2013 19:26:25 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"6c1c41cdc34b6a47b3ee2a765cc51310"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 08:21:32 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378976739')] -{"login":"klmitch","id":686398,"avatar_url":"https://2.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User","name":42,"company":"Rackspace","blog":null,"location":"San Antonio, TX","email":"kevin.mitchell@rackspace.com","hireable":false,"bio":null,"public_repos":29,"followers":15,"following":18,"created_at":"2011-03-23T15:42:09Z","updated_at":"2013-09-11T19:26:25Z","public_gists":0} - diff --git a/github/tests/ReplayData/BadAttributes.testBadSimpleAttributeInList.txt b/github/tests/ReplayData/BadAttributes.testBadSimpleAttributeInList.txt deleted file mode 100644 index 8c8603d..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadSimpleAttributeInList.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/hooks/activecollab -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'fd44f8b6-d47d-44c5-a365-cd7bf9569c88'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '191'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 04 Sep 2013 18:03:57 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"678dd8e392d70d3a284c3d47221ec6f0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 08:31:46 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378976739')] -{"name":"activecollab","events":["push", 42],"supported_events":["push"],"schema":[["string","url"],["string","token"],["string","project_id"],["string","milestone_id"],["string","category_id"]]} - diff --git a/github/tests/ReplayData/BadAttributes.testBadTransformedAttribute.txt b/github/tests/ReplayData/BadAttributes.testBadTransformedAttribute.txt deleted file mode 100644 index 4dda347..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadTransformedAttribute.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/klmitch -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'b66ca3c7-84f9-455a-9db8-3df385fc7b32'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1254'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 11 Sep 2013 19:26:25 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"6c1c41cdc34b6a47b3ee2a765cc51310"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 08:45:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378976739')] -{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User","name":"Kevin L. Mitchell","company":"Rackspace","blog":null,"location":"San Antonio, TX","email":"kevin.mitchell@rackspace.com","hireable":false,"bio":null,"public_repos":29,"followers":15,"following":18,"created_at":"foobar","updated_at":42,"public_gists":0} - diff --git a/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInDict.txt b/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInDict.txt deleted file mode 100644 index 461bfb0..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInDict.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/gists/6437766 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8131a430-28c1-45bb-a5b7-09fcdabc5dc7'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '2933'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 12 Sep 2013 00:23:35 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"b3954ac942969f1e10c24ec5b5ec04d3"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 09:25:36 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378980564')] -{"url":"https://api.github.com/gists/6437766","forks_url":"https://api.github.com/gists/6437766/forks","commits_url":"https://api.github.com/gists/6437766/commits","id":"6437766","git_pull_url":"https://gist.github.com/6437766.git","git_push_url":"https://gist.github.com/6437766.git","html_url":"https://gist.github.com/6437766","files":{"test.py":42},"public":true,"created_at":"2013-09-04T14:30:47Z","updated_at":"2013-09-04T14:30:48Z","description":"Test script for https://github.com/jacquev6/PyGithub/issues/194","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/6437766/comments","forks":[],"history":[{"user":null,"version":"5aa7a28e0a1dc6acf5a70de66e189f73f01735f4","committed_at":"2013-09-04T14:30:47Z","change_status":{"total":24,"additions":24,"deletions":0},"url":"https://api.github.com/gists/6437766/5aa7a28e0a1dc6acf5a70de66e189f73f01735f4"}]} - diff --git a/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInList.txt b/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInList.txt deleted file mode 100644 index c05fde4..0000000 --- a/github/tests/ReplayData/BadAttributes.testBadTransformedAttributeInList.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '205eb9ed-a173-47a2-b670-16ec266adef5'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '6111'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 01 May 2013 19:03:50 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"50a14a79f7095a8d4fed16d05a4b1412"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 09:09:25 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378980564')] -{"sha":"38d9082a898d0822b5ccdfd78f3a536e2efa6c26","commit":{"author":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"committer":{"name":"Kevin L. Mitchell","email":"kevin.mitchell@rackspace.com","date":"2013-05-01T19:03:50Z"},"message":"Ignore empty configuration values for extra database arguments\n\nTurnstile's functionality to allow the control daemon and the\ncompactor daemon to use different Redis configuration provides\none problem: values that are set in the \"[redis]\" section are\ninherited by all sections, even when that is not desired. To\ncombat this, we now allow an empty value to completely delete\nthe key from the redis configuration in Config.get_database().","tree":{"sha":"83b8ab73bedb67846b47533d1bac7767ac325dc8","url":"https://api.github.com/repos/klmitch/turnstile/git/trees/83b8ab73bedb67846b47533d1bac7767ac325dc8"},"url":"https://api.github.com/repos/klmitch/turnstile/git/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comment_count":0},"url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","html_url":"https://github.com/klmitch/turnstile/commit/38d9082a898d0822b5ccdfd78f3a536e2efa6c26","comments_url":"https://api.github.com/repos/klmitch/turnstile/commits/38d9082a898d0822b5ccdfd78f3a536e2efa6c26/comments","author":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"committer":{"login":"klmitch","id":686398,"avatar_url":"https://1.gravatar.com/avatar/3c505225c6f28a7702b318a991141495?d=https%3A%2F%2Fidenticons.github.com%2Ffffa0f2e30bad5753edbb60f250b7cbe.png","gravatar_id":"3c505225c6f28a7702b318a991141495","url":"https://api.github.com/users/klmitch","html_url":"https://github.com/klmitch","followers_url":"https://api.github.com/users/klmitch/followers","following_url":"https://api.github.com/users/klmitch/following{/other_user}","gists_url":"https://api.github.com/users/klmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/klmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klmitch/subscriptions","organizations_url":"https://api.github.com/users/klmitch/orgs","repos_url":"https://api.github.com/users/klmitch/repos","events_url":"https://api.github.com/users/klmitch/events{/privacy}","received_events_url":"https://api.github.com/users/klmitch/received_events","type":"User"},"parents":[{"sha":"e649bcaa580248de40ef6c126fe446a3da514312","url":"https://api.github.com/repos/klmitch/turnstile/commits/e649bcaa580248de40ef6c126fe446a3da514312","html_url":"https://github.com/klmitch/turnstile/commit/e649bcaa580248de40ef6c126fe446a3da514312"}],"stats":{"total":9,"additions":7,"deletions":2},"files":[42]} - diff --git a/github/tests/ReplayData/BadAttributes.testIssue195.txt b/github/tests/ReplayData/BadAttributes.testIssue195.txt deleted file mode 100644 index 6d558a0..0000000 --- a/github/tests/ReplayData/BadAttributes.testIssue195.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/hooks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'beb27389-3e55-40c9-b2e7-718b4f647721'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '28297'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 04 Sep 2013 18:03:57 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"678dd8e392d70d3a284c3d47221ec6f0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 12 Sep 2013 09:34:49 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378980564')] -[{"name":"activecollab","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","token"],["string","project_id"],["string","milestone_id"],["string","category_id"]]},{"name":"acunote","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"agilebench","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","project_id"]]},{"name":"agilezen","events":["push"],"supported_events":["push"],"schema":[["string","api_key"],["string","project_id"],["string","branches"]]},{"name":"amazonsns","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","aws_key"],["string","aws_secret"],["string","sns_topic"],["string","sqs_queue"],["password","aws_secret"]]},{"name":"apiary","events":["push"],"supported_events":["push"],"schema":[["string","branch"],["string","domain"]]},{"name":"apoio","events":["issues"],"supported_events":["issues"],"schema":[["string","subdomain"],["string","token"]]},{"name":"appharbor","events":["push"],"supported_events":["push"],"schema":[["string","application_slug"],["string","token"]]},{"name":"apropos","events":["commit_comment","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_id"]]},{"name":"asana","events":["push"],"supported_events":["push"],"schema":[["string","auth_token"],["string","restrict_to_branch"],["boolean","restrict_to_last_commit"]]},{"name":"backlog","events":["push"],"supported_events":["push"],"schema":[["string","api_url"],["string","user_id"],["password","password"]]},{"name":"bamboo","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","build_key"],["string","username"],["password","password"]]},{"name":"basecamp","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","project"],["string","category"],["string","username"],["password","password"],["boolean","ssl"]]},{"name":"bcx","events":["push","pull_request","issues"],"supported_events":["issues","pull_request","push"],"schema":[["string","project_url"],["string","email_address"],["password","password"]]},{"name":"blimp","events":["issues","issue_comment"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_url"],["string","username"],["string","goal_title"],["password","api_key"]]},{"name":"boxcar","events":["push"],"supported_events":["push"],"schema":[["string","subscribers"]]},{"name":"buddycloud","events":["push"],"supported_events":["push"],"schema":[["string","buddycloud_base_api"],["string","username"],["string","password"],["string","channel"],["password","password"],["boolean","show_commit_summary"],["boolean","show_commit_detail"]]},{"name":"bugherd","events":["issues","issue_comment","push"],"supported_events":["issue_comment","issues","push"],"schema":[["string","project_key"]]},{"name":"bugly","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","account_name"],["string","token"]]},{"name":"bugzilla","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","username"],["string","integration_branch"],["password","password"],["boolean","central_repository"]]},{"name":"campfire","events":["push","pull_request","issues"],"supported_events":["gollum","issues","public","pull_request","push"],"schema":[["string","subdomain"],["string","room"],["string","token"],["string","sound"],["boolean","master_only"],["boolean","play_sound"],["boolean","long_url"]]},{"name":"cia","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","branch"],["string","module"],["boolean","long_url"],["boolean","full_commits"]]},{"name":"circleci","events":[["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"codeclimate","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"codeportingcsharp2java","events":["push"],"supported_events":["push"],"schema":[["string","project_name"],["string","repo_key"],["string","target_repo_key"],["string","codeporting_username"],["password","codeporting_password"],["string","github_access_token"]]},{"name":"codeship","events":["push"],"supported_events":["push"],"schema":[["string","project_uuid"]]},{"name":"coffeedocinfo","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"conductor","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"coop","events":["push"],"supported_events":["push"],"schema":[["string","group_id"],["string","token"]]},{"name":"copperegg","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","tag"],["boolean","master_only"],["string","api_key"]]},{"name":"cube","events":["push"],"supported_events":["push"],"schema":[["string","domain"],["string","project"],["string","token"]]},{"name":"depending","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"deployhq","events":["push"],"supported_events":["push"],"schema":[["string","deploy_hook_url"],["boolean","email_pusher"]]},{"name":"devaria","events":["push","member","public","issues","gollum"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_name"],["string","username"],["string","user_class_id"]]},{"name":"docker","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"ducksboard","events":["push","issues","fork","watch"],"supported_events":["fork","issues","push","watch"],"schema":[["string","webhook_key"]]},{"name":"email","events":["push"],"supported_events":["public","push"],"schema":[["string","address"],["password","secret"],["boolean","send_from_author"]]},{"name":"firebase","events":["push"],"supported_events":["push"],"schema":[["string","firebase"],["string","secret"]]},{"name":"fisheye","events":["push"],"supported_events":["push"],"schema":[["string","url_base"],["string","token"],["string","repository_name"]]},{"name":"flowdock","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"fogbugz","events":["push"],"supported_events":["push"],"schema":[["string","cvssubmit_url"],["string","fb_repoid"],["string","fb_version"]]},{"name":"freckle","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","project"],["string","token"]]},{"name":"friendfeed","events":["push"],"supported_events":["push"],"schema":[["string","nickname"],["string","remotekey"]]},{"name":"gemini","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","api_key"]]},{"name":"gemnasium","events":["push"],"supported_events":["push"],"schema":[["string","user"],["string","token"]]},{"name":"geocommit","events":["push"],"supported_events":["push"],"schema":[]},{"name":"getlocalization","events":["push"],"supported_events":["push"],"schema":[["string","project_name"],["string","project_token"]]},{"name":"gitlive","events":["push"],"supported_events":["push"],"schema":[]},{"name":"grmble","events":["push"],"supported_events":["push"],"schema":[["string","room_api_url"],["string","token"]]},{"name":"grouptalent","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"grove","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["push"],"schema":[["string","channel_token"]]},{"name":"habitualist","events":["push"],"supported_events":["push"],"schema":[]},{"name":"hakiri","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"]]},{"name":"hall","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","room_token"]]},{"name":"harvest","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","username"],["password","password"],["boolean","ssl"]]},{"name":"hipchat","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","auth_token"],["string","room"],["string","restrict_to_branch"],["boolean","notify"],["boolean","quiet_fork"],["boolean","quiet_watch"],["boolean","quiet_comments"]]},{"name":"hostedgraphite","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"hubcap","events":["push"],"supported_events":["push"],"schema":[]},{"name":"hubci","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"humbug","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","push","team_add","watch","pull_request_review_comment","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","email"],["string","api_key"],["string","stream"],["string","branches"]]},{"name":"icescrum","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","project_key"],["string","username"],["password","password"]]},{"name":"irc","events":["push","pull_request"],"supported_events":["commit_comment","issue_comment","issues","pull_request","pull_request_review_comment","push"],"schema":[["string","server"],["string","port"],["string","room"],["string","nick"],["string","branch_regexes"],["string","nickserv_password"],["password","password"],["boolean","ssl"],["boolean","message_without_join"],["boolean","no_colors"],["boolean","long_url"],["boolean","notice"]]},{"name":"irker","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","branch"],["string","module"],["string","channels"],["boolean","long_url"],["boolean","color"],["boolean","full_commits"]]},{"name":"ironmq","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"],["string","queue_name"]]},{"name":"ironworker","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"],["string","queue_name"]]},{"name":"jabber","events":["push"],"supported_events":["push"],"schema":[["string","user"]]},{"name":"jaconda","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","room_id"],["string","room_token"],["boolean","digest"]]},{"name":"jeapie","events":["push","pull_request","commit_comment"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"jenkins","events":["push"],"supported_events":["push"],"schema":[["string","jenkins_hook_url"]]},{"name":"jenkinsgit","events":["push"],"supported_events":["push"],"schema":[["string","jenkins_url"]]},{"name":"jira","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","api_version"],["string","username"],["password","password"]]},{"name":"jqueryplugins","events":["push"],"supported_events":["push"],"schema":[]},{"name":"kanbanery","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","project_token"]]},{"name":"kickoff","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","project_token"]]},{"name":"leanto","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"lechat","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","webhook_url"]]},{"name":"lighthouse","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","project_id"],["string","token"],["boolean","private"],["boolean","send_only_ticket_commits"]]},{"name":"lingohub","events":["push"],"supported_events":["push"],"schema":[["string","project_token"]]},{"name":"loggly","events":["push"],"supported_events":["push"],"schema":[["string","input_token"]]},{"name":"mantisbt","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","api_key"]]},{"name":"masterbranch","events":["push"],"supported_events":["push"],"schema":[]},{"name":"mqttpub","events":["push"],"supported_events":["push"],"schema":[["string","broker"],["string","port"],["string","topic"],["string","clientid"],["string","user"],["password","pass"],["boolean","retain"]]},{"name":"nma","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"nodejitsu","events":["push"],"supported_events":["push"],"schema":[["string","username"],["password","password"],["string","branch"],["string","endpoint"],["boolean","email_success_deploys"],["boolean","email_errors"]]},{"name":"notifo","events":["push"],"supported_events":["push"],"schema":[["string","subscribers"]]},{"name":"ontime","events":["push"],"supported_events":["push"],"schema":[["string","ontime_url"],["string","api_key"]]},{"name":"pachube","events":["push"],"supported_events":["push"],"schema":[["string","api_key"],["string","feed_id"],["string","track_branch"]]},{"name":"packagist","events":["push"],"supported_events":["push"],"schema":[["string","user"],["string","token"],["string","domain"]]},{"name":"phraseapp","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","auth_token"]]},{"name":"pivotaltracker","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","branch"],["string","endpoint"]]},{"name":"planbox","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"planio","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","api_key"]]},{"name":"prowl","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"puppetlinter","events":["push"],"supported_events":["push"],"schema":[]},{"name":"pushalot","events":["push"],"supported_events":["push"],"schema":[["string","authorization_token"]]},{"name":"pushover","events":["push"],"supported_events":["push"],"schema":[["string","user_key"],["string","device_name"]]},{"name":"pythonpackages","events":["push"],"supported_events":["push"],"schema":[]},{"name":"railsbp","events":["push"],"supported_events":["push"],"schema":[["string","railsbp_url"],["string","token"]]},{"name":"railsbrakeman","events":["push"],"supported_events":["push"],"schema":[["string","rails_brakeman_url"],["string","token"]]},{"name":"rally","events":["push"],"supported_events":["push"],"schema":[["string","server"],["string","username"],["string","workspace"],["string","repository"],["password","password"]]},{"name":"rapidpush","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"rationaljazzhub","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","username"],["password","password"],["string","override_server_url"]]},{"name":"rationalteamconcert","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","username"],["string","project_area_uuid"],["password","password"],["boolean","basic_authentication"],["boolean","no_verify_ssl"]]},{"name":"rdocinfo","events":["push"],"supported_events":["push"],"schema":[]},{"name":"readthedocs","events":["push"],"supported_events":["push"],"schema":[]},{"name":"redmine","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","api_key"],["boolean","fetch_commits"],["boolean","update_redmine_issues_about_commits"]]},{"name":"rubyforge","events":["push"],"supported_events":["push"],"schema":[["string","groupid"],["string","username"],["password","password"]]},{"name":"scrumdo","events":["push"],"supported_events":["push"],"schema":[["string","username"],["string","project_slug"],["password","password"]]},{"name":"shiningpanda","events":["push"],"supported_events":["push"],"schema":[["string","workspace"],["string","job"],["string","token"],["string","branches"],["string","parameters"]]},{"name":"sifter","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","token"]]},{"name":"simperium","events":["push","issues","issue_comment","commit_comment","pull_request","pull_request_review_comment","watch","fork","fork_apply","member","public","team_add","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","app_id"],["string","token"],["string","bucket"]]},{"name":"slatebox","events":["push"],"supported_events":["push"],"schema":[["string","app_id"],["string","token"]]},{"name":"snowyevening","events":["push"],"supported_events":["push"],"schema":[["string","project"],["string","api_key"]]},{"name":"socialcast","events":["push"],"supported_events":["push"],"schema":[["string","api_domain"],["string","group_id"],["string","username"],["password","password"]]},{"name":"softlayermessaging","events":["push"],"supported_events":["push"],"schema":[["string","account"],["string","user"],["string","name"],["password","key"],["boolean","topic"]]},{"name":"sourcemint","events":["push"],"supported_events":["push"],"schema":[]},{"name":"splendidbacon","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","token"]]},{"name":"sprintly","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","push","team_add","watch","pull_request_review_comment","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","email"],["string","api_key"],["string","product_id"]]},{"name":"sqsqueue","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","aws_access_key"],["string","sqs_queue_name"],["password","aws_secret_key"]]},{"name":"stackmob","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"statusnet","events":["push"],"supported_events":["push"],"schema":[["string","server"],["string","username"],["password","password"],["boolean","digest"]]},{"name":"talker","events":["push"],"supported_events":["issues","pull_request","push"],"schema":[["string","url"],["string","token"],["boolean","digest"]]},{"name":"targetprocess","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","username"],["password","password"]]},{"name":"tddium","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","override_url"]]},{"name":"teamcity","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","build_type_id"],["string","username"],["string","branches"],["password","password"]]},{"name":"tender","events":["issues"],"supported_events":["issues","pull_request"],"schema":[["string","domain"],["string","token"]]},{"name":"tenxer","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"testpilot","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"toggl","events":["push"],"supported_events":["push"],"schema":[["string","project"],["string","api_token"]]},{"name":"trac","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","token"]]},{"name":"trajectory","events":["push"],"supported_events":["pull_request","push"],"schema":[["string","api_key"]]},{"name":"travis","events":["push","pull_request","issue_comment","public","member"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","user"],["password","token"],["string","domain"]]},{"name":"trello","events":["push","pull_request"],"supported_events":["pull_request","push"],"schema":[["string","push_list_id"],["string","pull_request_list_id"],["string","ignore_regex"],["boolean","master_only"],["password","consumer_token"]]},{"name":"twilio","events":["push"],"supported_events":["push"],"schema":[["string","account_sid"],["string","from_phone"],["string","to_phone"],["boolean","master_only"],["password","auth_token"]]},{"name":"twitter","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","secret"],["boolean","digest"],["boolean","short_format"]]},{"name":"unfuddle","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","repo_id"],["string","username"],["password","password"],["boolean","httponly"]]},{"name":"web","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","url"],["string","secret"],["string","content_type"],["string","ssl_version"],["boolean","insecure_ssl"]]},{"name":"weblate","events":["push"],"supported_events":["push"],"schema":[["string","url"]]},{"name":"webtranslateit","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"yammer","events":["push","commit_comment","pull_request","pull_request_review_comment","public"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"youtrack","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","committers"],["string","username"],["string","branch"],["password","password"]]},{"name":"zendesk","events":["commit_comment","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","username"],["password","password"]]},{"name":"zohoprojects","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","token"]]}] - diff --git a/github/tests/ReplayData/Branch.setUp.txt b/github/tests/ReplayData/Branch.setUp.txt deleted file mode 100644 index 08e6293..0000000 --- a/github/tests/ReplayData/Branch.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2dada6dafd332016bcdf06e42487e520"'), ('date', 'Thu, 10 May 2012 13:56:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"name":"topic/RewriteWithGeneratedCode","commit":{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a"}},{"name":"master","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}},{"name":"topic/DependencyGraph","commit":{"sha":"05157f11f29a3ac057e35d2487880c5d08bd69af","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/05157f11f29a3ac057e35d2487880c5d08bd69af"}},{"name":"develop","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}}] - diff --git a/github/tests/ReplayData/Branch.testCommitCommentsOnLine.txt b/github/tests/ReplayData/Branch.testCommitCommentsOnLine.txt deleted file mode 100644 index b06db4f..0000000 --- a/github/tests/ReplayData/Branch.testCommitCommentsOnLine.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '30760'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9ee846f5bd9913285569443607fd134e"'), ('date', 'Fri, 18 May 2012 20:12:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"author":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","stats":{"deletions":53,"additions":48,"total":101},"committer":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"files":[{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","changes":2,"deletions":1,"filename":"codegen/templates/GithubObject.MethodBody.UseResult.py","patch":"@@ -23,7 +23,7 @@\n {% else %}\r\n \r\n {% if method.type.cardinality == \"scalar\" %}\r\n- return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = LazyCompletion )\r\n+ return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = NoCompletion )\r\n {% endif %}\r\n \r\n {% if method.type.cardinality == \"list\" %}\r","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","changes":16,"deletions":8,"filename":"src/github/AuthenticatedUser.py","patch":"@@ -187,7 +187,7 @@ def create_authorization( self, scopes = DefaultValueForOptionalParameters, note\n None,\n post_parameters\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self, repo ):\n status, headers, data = self.__requester.request(\n@@ -196,7 +196,7 @@ def create_fork( self, repo ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_gist( self, public, files, description = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -211,7 +211,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -224,7 +224,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -250,7 +250,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, hireable = DefaultValueForOptionalParameters, bio = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -284,7 +284,7 @@ def get_authorization( self, id ):\n None,\n None\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def get_authorizations( self ):\n status, headers, data = self.__requester.request(\n@@ -386,7 +386,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -437,7 +437,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":8,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","changes":2,"deletions":1,"filename":"src/github/Commit.py","patch":"@@ -77,7 +77,7 @@ def create_comment( self, body, commit_id = DefaultValueForOptionalParameters, l\n None,\n post_parameters\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","changes":6,"deletions":3,"filename":"src/github/Gist.py","patch":"@@ -96,7 +96,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self ):\n status, headers, data = self.__requester.request(\n@@ -105,7 +105,7 @@ def create_fork( self ):\n None,\n None\n )\n- return Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist( self.__requester, data, completion = NoCompletion )\n \n def delete( self ):\n status, headers, data = self.__requester.request(\n@@ -137,7 +137,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":3,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","changes":4,"deletions":2,"filename":"src/github/Issue.py","patch":"@@ -122,7 +122,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n pass\n@@ -157,7 +157,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","changes":4,"deletions":2,"filename":"src/github/NamedUser.py","patch":"@@ -161,7 +161,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def get_events( self ):\n status, headers, data = self.__requester.request(\n@@ -282,7 +282,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","changes":8,"deletions":4,"filename":"src/github/Organization.py","patch":"@@ -156,7 +156,7 @@ def create_fork( self, repo ):\n url_parameters,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -182,7 +182,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_team( self, name, repo_names = DefaultValueForOptionalParameters, permission = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -198,7 +198,7 @@ def create_team( self, name, repo_names = DefaultValueForOptionalParameters, per\n None,\n post_parameters\n )\n- return Team.Team( self.__requester, data, completion = LazyCompletion )\n+ return Team.Team( self.__requester, data, completion = NoCompletion )\n \n def edit( self, billing_email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, name = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -272,7 +272,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":4,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","changes":2,"deletions":1,"filename":"src/github/PullRequest.py","patch":"@@ -171,7 +171,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return PullRequestComment.PullRequestComment( self.__requester, data, completion = LazyCompletion )\n+ return PullRequestComment.PullRequestComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","changes":52,"deletions":26,"filename":"src/github/Repository.py","patch":"@@ -218,7 +218,7 @@ def create_download( self, name, size, description = DefaultValueForOptionalPara\n None,\n post_parameters\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def create_git_blob( self, content, encoding ):\n post_parameters = {\n@@ -231,7 +231,7 @@ def create_git_blob( self, content, encoding ):\n None,\n post_parameters\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def create_git_commit( self, message, tree, parents, author = DefaultValueForOptionalParameters, committer = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -249,7 +249,7 @@ def create_git_commit( self, message, tree, parents, author = DefaultValueForOpt\n None,\n post_parameters\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def create_git_ref( self, ref, sha ):\n post_parameters = {\n@@ -262,7 +262,7 @@ def create_git_ref( self, ref, sha ):\n None,\n post_parameters\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -279,7 +279,7 @@ def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOp\n None,\n post_parameters\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -293,7 +293,7 @@ def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters )\n None,\n post_parameters\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def create_hook( self, name, config, events = DefaultValueForOptionalParameters, active = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -310,7 +310,7 @@ def create_hook( self, name, config, events = DefaultValueForOptionalParameters,\n None,\n post_parameters\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def create_issue( self, title, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -330,7 +330,7 @@ def create_issue( self, title, body = DefaultValueForOptionalParameters, assigne\n None,\n post_parameters\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -343,7 +343,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def create_label( self, name, color ):\n post_parameters = {\n@@ -356,7 +356,7 @@ def create_label( self, name, color ):\n None,\n post_parameters\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def create_milestone( self, title, state = DefaultValueForOptionalParameters, description = DefaultValueForOptionalParameters, due_on = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -374,7 +374,7 @@ def create_milestone( self, title, state = DefaultValueForOptionalParameters, de\n None,\n post_parameters\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, public = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -435,7 +435,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(\n@@ -458,7 +458,7 @@ def get_commit( self, sha ):\n None,\n None\n )\n- return Commit.Commit( self.__requester, data, completion = LazyCompletion )\n+ return Commit.Commit( self.__requester, data, completion = NoCompletion )\n \n def get_commits( self, sha = DefaultValueForOptionalParameters, path = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -495,7 +495,7 @@ def get_download( self, id ):\n None,\n None\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def get_downloads( self ):\n status, headers, data = self.__requester.request(\n@@ -546,7 +546,7 @@ def get_git_blob( self, sha ):\n None,\n None\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def get_git_commit( self, sha ):\n status, headers, data = self.__requester.request(\n@@ -555,7 +555,7 @@ def get_git_commit( self, sha ):\n None,\n None\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def get_git_ref( self, ref ):\n status, headers, data = self.__requester.request(\n@@ -564,7 +564,7 @@ def get_git_ref( self, ref ):\n None,\n None\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def get_git_refs( self ):\n status, headers, data = self.__requester.request(\n@@ -587,7 +587,7 @@ def get_git_tag( self, sha ):\n None,\n None\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -596,7 +596,7 @@ def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n None,\n None\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def get_hook( self, id ):\n status, headers, data = self.__requester.request(\n@@ -605,7 +605,7 @@ def get_hook( self, id ):\n None,\n None\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def get_hooks( self ):\n status, headers, data = self.__requester.request(\n@@ -628,7 +628,7 @@ def get_issue( self, number ):\n None,\n None\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def get_issues( self, milestone = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, mentioned = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters, since = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -651,7 +651,7 @@ def get_issues_event( self, id ):\n None,\n None\n )\n- return IssueEvent.IssueEvent( self.__requester, data, completion = LazyCompletion )\n+ return IssueEvent.IssueEvent( self.__requester, data, completion = NoCompletion )\n \n def get_issues_events( self ):\n status, headers, data = self.__requester.request(\n@@ -674,7 +674,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -697,7 +697,7 @@ def get_label( self, name ):\n None,\n None\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def get_labels( self ):\n status, headers, data = self.__requester.request(\n@@ -729,7 +729,7 @@ def get_milestone( self, number ):\n None,\n None\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def get_milestones( self, state = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -766,7 +766,7 @@ def get_pull( self, number ):\n None,\n None\n )\n- return PullRequest.PullRequest( self.__requester, data, completion = LazyCompletion )\n+ return PullRequest.PullRequest( self.__requester, data, completion = NoCompletion )\n \n def get_pulls( self, state = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":26,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","changes":5,"deletions":5,"filename":"test/ReplayData/Repository.testAttributes.txt","patch":"@@ -3,8 +3,3 @@ GET /repos/jacquev6/PyGithub {} null\n [('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n {\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n \r\n-GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\r\n-200\r\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n-{\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n-\r","additions":0,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"}],"sha":"6945921c529be14c3a8f566dd1e483674516d46d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","sha":"a72d8b135841aa00158054d229c8e18333075cd4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/793ba5982623f4723ad63706da9a483ac82b3411","sha":"793ba5982623f4723ad63706da9a483ac82b3411"}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('content-length', '4322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eb6946c4ceb5d978e884888f62d28344"'), ('date', 'Fri, 18 May 2012 20:12:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1347033},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347083","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":1347083},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347397","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1347397},{"updated_at":"2012-05-18T20:11:17Z","position":3,"body":"This comment is here only to test PyGithub...","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1349654","created_at":"2012-05-18T20:11:17Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":25,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":1349654}] - diff --git a/github/tests/ReplayData/Branch.testProtectedAttributes.txt b/github/tests/ReplayData/Branch.testProtectedAttributes.txt deleted file mode 100644 index 89f1c6b..0000000 --- a/github/tests/ReplayData/Branch.testProtectedAttributes.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1330'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'e724c57ebb9961c772a91e2dd7421c8d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"1b171bef9da5a5bcca9799131499edae"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4925'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:14B57:766BC21:568E7104'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Wed, 06 Jan 2016 19:09:00 GMT'), ('date', 'Thu, 07 Jan 2016 14:07:00 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452177625')] -{"login":"khornberg","id":3442051,"avatar_url":"https://avatars.githubusercontent.com/u/3442051?v=3","gravatar_id":"","url":"https://api.github.com/users/khornberg","html_url":"https://github.com/khornberg","followers_url":"https://api.github.com/users/khornberg/followers","following_url":"https://api.github.com/users/khornberg/following{/other_user}","gists_url":"https://api.github.com/users/khornberg/gists{/gist_id}","starred_url":"https://api.github.com/users/khornberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khornberg/subscriptions","organizations_url":"https://api.github.com/users/khornberg/orgs","repos_url":"https://api.github.com/users/khornberg/repos","events_url":"https://api.github.com/users/khornberg/events{/privacy}","received_events_url":"https://api.github.com/users/khornberg/received_events","type":"User","site_admin":false,"name":"Kyle Hornberg","company":null,"blog":"https://khornberg.github.io","location":null,"email":null,"hireable":null,"bio":null,"public_repos":40,"public_gists":9,"followers":7,"following":2,"created_at":"2013-01-31T20:22:05Z","updated_at":"2016-01-06T19:09:00Z","private_gists":1,"total_private_repos":0,"owned_private_repos":0,"disk_usage":16433,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/khornberg/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13870'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a30e6f9aa7cf5731b87dfb3b9992202d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"c874b56da60decc8687ee4ed43dcd3aa"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4924'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:14B61:23FC1AEB:568E7104'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 31 Dec 2015 15:01:40 GMT'), ('date', 'Thu, 07 Jan 2016 14:07:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452177625')] -{"id":48852849,"name":"PyGithub","full_name":"khornberg/PyGithub","owner":{"login":"khornberg","id":3442051,"avatar_url":"https://avatars.githubusercontent.com/u/3442051?v=3","gravatar_id":"","url":"https://api.github.com/users/khornberg","html_url":"https://github.com/khornberg","followers_url":"https://api.github.com/users/khornberg/followers","following_url":"https://api.github.com/users/khornberg/following{/other_user}","gists_url":"https://api.github.com/users/khornberg/gists{/gist_id}","starred_url":"https://api.github.com/users/khornberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khornberg/subscriptions","organizations_url":"https://api.github.com/users/khornberg/orgs","repos_url":"https://api.github.com/users/khornberg/repos","events_url":"https://api.github.com/users/khornberg/events{/privacy}","received_events_url":"https://api.github.com/users/khornberg/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/khornberg/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/khornberg/PyGithub","forks_url":"https://api.github.com/repos/khornberg/PyGithub/forks","keys_url":"https://api.github.com/repos/khornberg/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/khornberg/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/khornberg/PyGithub/teams","hooks_url":"https://api.github.com/repos/khornberg/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/khornberg/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/khornberg/PyGithub/events","assignees_url":"https://api.github.com/repos/khornberg/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/khornberg/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/khornberg/PyGithub/tags","blobs_url":"https://api.github.com/repos/khornberg/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/khornberg/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/khornberg/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/khornberg/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/khornberg/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/khornberg/PyGithub/languages","stargazers_url":"https://api.github.com/repos/khornberg/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/khornberg/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/khornberg/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/khornberg/PyGithub/subscription","commits_url":"https://api.github.com/repos/khornberg/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/khornberg/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/khornberg/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/khornberg/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/khornberg/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/khornberg/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/khornberg/PyGithub/merges","archive_url":"https://api.github.com/repos/khornberg/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/khornberg/PyGithub/downloads","issues_url":"https://api.github.com/repos/khornberg/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/khornberg/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/khornberg/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/khornberg/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/khornberg/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/khornberg/PyGithub/releases{/id}","created_at":"2015-12-31T15:01:38Z","updated_at":"2015-12-31T15:01:40Z","pushed_at":"2015-12-31T15:07:58Z","git_url":"git://github.com/khornberg/PyGithub.git","ssh_url":"git@github.com:khornberg/PyGithub.git","clone_url":"https://github.com/khornberg/PyGithub.git","svn_url":"https://github.com/khornberg/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":12973,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2016-01-07T11:45:22Z","pushed_at":"2016-01-04T13:48:35Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":13065,"stargazers_count":740,"watchers_count":740,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":231,"mirror_url":null,"open_issues_count":43,"forks":231,"open_issues":43,"watchers":740,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2016-01-07T11:45:22Z","pushed_at":"2016-01-04T13:48:35Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":13065,"stargazers_count":740,"watchers_count":740,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":231,"mirror_url":null,"open_issues_count":43,"forks":231,"open_issues":43,"watchers":740,"default_branch":"master"},"network_count":231,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/khornberg/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3589'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'b0ef53392caa42315c6206737946d931'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"62bfcfb47e26986d4c1a6db0bcf43cb6"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4923'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:14B59:AE47571:568E7105'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 07 Jan 2016 14:07:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452177625')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/khornberg/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/khornberg/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/khornberg/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/khornberg/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/khornberg/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/khornberg/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/khornberg/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/khornberg/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/khornberg/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/khornberg/PyGithub/branches/master","html":"https://github.com/khornberg/PyGithub/tree/master"},"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}}} - diff --git a/github/tests/ReplayData/Commit.setUp.txt b/github/tests/ReplayData/Commit.setUp.txt deleted file mode 100644 index eb06331..0000000 --- a/github/tests/ReplayData/Commit.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eb9e14862baa71c04b8f0e73ab870756"'), ('date', 'Sun, 27 May 2012 06:50:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":3,"type":"User","disk_usage":16976,"private_gists":5,"public_repos":11,"url":"https://api.github.com/users/jacquev6","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"blog":"http://vincent-jacques.net","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","owned_private_repos":5,"collaborators":0,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","email":"vincent@vincent-jacques.net","hireable":false,"followers":13,"name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","bio":"","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2f4d8b003c5c4f390be2ac28fe623bdb"'), ('date', 'Sun, 27 May 2012 06:50:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T06:00:29Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"mirror_url":null,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '3445'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bcfd8d733465b9c28525edfc78ede564"'), ('date', 'Sun, 27 May 2012 06:50:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"parents":[{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae"}],"commit":{"message":"Remove completion functions from GitAuthor","author":{"date":"2012-05-09T09:22:33-07:00","name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"committer":{"date":"2012-05-09T09:22:33-07:00","name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"tree":{"sha":"4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"author":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"committer":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","stats":{"total":20,"deletions":20,"additions":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","files":[{"patch":"@@ -14,22 +14,17 @@ def __init__( self, requester, attributes, lazy ):\n self.__completed = False\n self.__initAttributes()\n self.__useAttributes( attributes )\n- if not lazy:\n- self.__complete()\n \n @property\n def date( self ):\n- self.__completeIfNeeded( self.__date )\n return self.__date\n \n @property\n def email( self ):\n- self.__completeIfNeeded( self.__email )\n return self.__email\n \n @property\n def name( self ):\n- self.__completeIfNeeded( self.__name )\n return self.__name\n \n def __initAttributes( self ):\n@@ -37,21 +32,6 @@ def __initAttributes( self ):\n self.__email = None\n self.__name = None\n \n- def __completeIfNeeded( self, testedAttribute ):\n- if not self.__completed and testedAttribute is None:\n- self.__complete()\n-\n- # @toto Do not generate __complete if type has no url attribute\n- def __complete( self ):\n- status, headers, data = self.__requester.request(\n- \"GET\",\n- self.__url,\n- None,\n- None\n- )\n- self.__useAttributes( data )\n- self.__completed = True\n-\n def __useAttributes( self, attributes ):\n #@toto No need to check if attribute is in attributes when attribute is mandatory\n if \"date\" in attributes and attributes[ \"date\" ] is not None:","status":"modified","deletions":20,"blob_url":"https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","changes":20,"additions":0,"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","raw_url":"https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","filename":"github/GithubObjects/GitAuthor.py"}]} - diff --git a/github/tests/ReplayData/Commit.testCreateComment.txt b/github/tests/ReplayData/Commit.testCreateComment.txt deleted file mode 100644 index 13c8bec..0000000 --- a/github/tests/ReplayData/Commit.testCreateComment.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4982'), ('content-length', '714'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd72e3550c9b90814f0be2b54ab2cc8e"'), ('date', 'Tue, 22 May 2012 18:40:18 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1361949')] -{"updated_at":"2012-05-22T18:40:18Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1361949"} - diff --git a/github/tests/ReplayData/Commit.testCreateCommentOnFileLine.txt b/github/tests/ReplayData/Commit.testCreateCommentOnFileLine.txt deleted file mode 100644 index 6dd68a1..0000000 --- a/github/tests/ReplayData/Commit.testCreateCommentOnFileLine.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "line": 26} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4970'), ('content-length', '764'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d2cb361ce6c53a0fc986e74f8547088f"'), ('date', 'Tue, 22 May 2012 18:49:34 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362000')] -{"updated_at":"2012-05-22T18:49:34Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:49:34Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":26,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1362000,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362000"} - diff --git a/github/tests/ReplayData/Commit.testCreateCommentOnFilePosition.txt b/github/tests/ReplayData/Commit.testCreateCommentOnFilePosition.txt deleted file mode 100644 index 8d2125f..0000000 --- a/github/tests/ReplayData/Commit.testCreateCommentOnFilePosition.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment also created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "position": 3} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4966'), ('content-length', '768'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b3d062ed01b92c31d072c7177113c0b1"'), ('date', 'Tue, 22 May 2012 18:50:02 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362001')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","body":"Comment also created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362001","created_at":"2012-05-22T18:50:02Z","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","position":3,"updated_at":"2012-05-22T18:50:02Z","id":1362001,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}} - diff --git a/github/tests/ReplayData/Commit.testCreateStatusWithAllParameters.txt b/github/tests/ReplayData/Commit.testCreateStatusWithAllParameters.txt deleted file mode 100644 index 51c4f66..0000000 --- a/github/tests/ReplayData/Commit.testCreateStatusWithAllParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"state": "success", "target_url": "https://github.com/jacquev6/PyGithub/issues/67", "description": "Status successfuly created by PyGithub"} -201 -[('status', '201 Created'), ('content-length', '603'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"06233b816702bedc54a6f68734a910bc"'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/statuses/277040'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 11:30:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"state":"success","updated_at":"2012-09-08T11:30:56Z","target_url":"https://github.com/jacquev6/PyGithub/issues/67","url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/277040","description":"Status successfuly created by PyGithub","id":277040,"created_at":"2012-09-08T11:30:56Z"} - diff --git a/github/tests/ReplayData/Commit.testCreateStatusWithoutOptionalParameters.txt b/github/tests/ReplayData/Commit.testCreateStatusWithoutOptionalParameters.txt deleted file mode 100644 index d0dffee..0000000 --- a/github/tests/ReplayData/Commit.testCreateStatusWithoutOptionalParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"state": "pending"} -201 -[('status', '201 Created'), ('content-length', '523'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/statuses/277031'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 11:27:12 GMT'), ('etag', '"7e28427673d50844a69c0871e5e39a69"'), ('content-type', 'application/json; charset=utf-8')] -{"description":null,"created_at":"2012-09-08T11:27:12Z","target_url":null,"state":"pending","updated_at":"2012-09-08T11:27:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/277031","id":277031,"creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146}} - diff --git a/github/tests/ReplayData/Commit.testGetComments.txt b/github/tests/ReplayData/Commit.testGetComments.txt deleted file mode 100644 index 2bedeb2..0000000 --- a/github/tests/ReplayData/Commit.testGetComments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '4322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9000a379c4d5eba3527a002d2bbc2e0c"'), ('date', 'Fri, 18 May 2012 20:12:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347033},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347083","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1347083},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347397","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347397},{"updated_at":"2012-05-18T20:11:17Z","position":3,"body":"This comment is here only to test PyGithub...","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1349654","created_at":"2012-05-18T20:11:17Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":25,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1349654}] - diff --git a/github/tests/ReplayData/CommitCombinedStatus.setUp.txt b/github/tests/ReplayData/CommitCombinedStatus.setUp.txt deleted file mode 100644 index b71cd45..0000000 --- a/github/tests/ReplayData/CommitCombinedStatus.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '18854'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '593010132f82159af0ded24b4932e109'), ('x-oauth-scopes', 'notifications, public_repo, read:org, read:public_key, read:repo_hook, repo:status, repo_deployment'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"8e937a4cbcbaef182ddf483ee99a599f"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '12B0076B:2073:5CF629E:56A6A81E'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Mon, 14 Dec 2015 12:42:38 GMT'), ('date', 'Mon, 25 Jan 2016 22:56:31 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1453765330')] -{"sha":"74e70119a23fa3ffb3db19d4590eccfebd72b659","commit":{"author":{"name":"John Eskew","email":"jeskew@edx.org","date":"2015-12-04T22:39:27Z"},"committer":{"name":"John Eskew","email":"jeskew@edx.org","date":"2015-12-14T12:42:38Z"},"message":"Use a common MongoDB connection function.\nAdd some missing @autoretry_read() decorators.\nChange to PyMongo 3.x-compatible syntax.","tree":{"sha":"7712c0f7c0c21f706bcbed393f3de71d854d59df","url":"https://api.github.com/repos/edx/edx-platform/git/trees/7712c0f7c0c21f706bcbed393f3de71d854d59df"},"url":"https://api.github.com/repos/edx/edx-platform/git/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659","comment_count":0},"url":"https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659","html_url":"https://github.com/edx/edx-platform/commit/74e70119a23fa3ffb3db19d4590eccfebd72b659","comments_url":"https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659/comments","author":{"login":"doctoryes","id":7285237,"avatar_url":"https://avatars.githubusercontent.com/u/7285237?v=3","gravatar_id":"","url":"https://api.github.com/users/doctoryes","html_url":"https://github.com/doctoryes","followers_url":"https://api.github.com/users/doctoryes/followers","following_url":"https://api.github.com/users/doctoryes/following{/other_user}","gists_url":"https://api.github.com/users/doctoryes/gists{/gist_id}","starred_url":"https://api.github.com/users/doctoryes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/doctoryes/subscriptions","organizations_url":"https://api.github.com/users/doctoryes/orgs","repos_url":"https://api.github.com/users/doctoryes/repos","events_url":"https://api.github.com/users/doctoryes/events{/privacy}","received_events_url":"https://api.github.com/users/doctoryes/received_events","type":"User","site_admin":false},"committer":{"login":"doctoryes","id":7285237,"avatar_url":"https://avatars.githubusercontent.com/u/7285237?v=3","gravatar_id":"","url":"https://api.github.com/users/doctoryes","html_url":"https://github.com/doctoryes","followers_url":"https://api.github.com/users/doctoryes/followers","following_url":"https://api.github.com/users/doctoryes/following{/other_user}","gists_url":"https://api.github.com/users/doctoryes/gists{/gist_id}","starred_url":"https://api.github.com/users/doctoryes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/doctoryes/subscriptions","organizations_url":"https://api.github.com/users/doctoryes/orgs","repos_url":"https://api.github.com/users/doctoryes/repos","events_url":"https://api.github.com/users/doctoryes/events{/privacy}","received_events_url":"https://api.github.com/users/doctoryes/received_events","type":"User","site_admin":false},"parents":[{"sha":"86227e7711c011490f1db6fdfcc17401511e5ee5","url":"https://api.github.com/repos/edx/edx-platform/commits/86227e7711c011490f1db6fdfcc17401511e5ee5","html_url":"https://github.com/edx/edx-platform/commit/86227e7711c011490f1db6fdfcc17401511e5ee5"}],"stats":{"total":192,"additions":112,"deletions":80},"files":[{"sha":"56ccd039ccff39e297523966c340f1be74876af8","filename":"common/lib/xmodule/xmodule/contentstore/mongo.py","status":"modified","additions":34,"deletions":30,"changes":64,"blob_url":"https://github.com/edx/edx-platform/blob/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/contentstore/mongo.py","raw_url":"https://github.com/edx/edx-platform/raw/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/contentstore/mongo.py","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/common/lib/xmodule/xmodule/contentstore/mongo.py?ref=74e70119a23fa3ffb3db19d4590eccfebd72b659","patch":"@@ -1,52 +1,50 @@\n+\"\"\"\n+MongoDB/GridFS-level code for the contentstore.\n+\"\"\"\n+import os\n+import json\n import pymongo\n import gridfs\n from gridfs.errors import NoFile\n-\n-from xmodule.contentstore.content import XASSET_LOCATION_TAG\n-\n-import logging\n-\n-from .content import StaticContent, ContentStore, StaticContentStream\n-from xmodule.exceptions import NotFoundError\n from fs.osfs import OSFS\n-import os\n-import json\n from bson.son import SON\n+\n+from mongodb_proxy import autoretry_read\n from opaque_keys.edx.keys import AssetKey\n+from xmodule.contentstore.content import XASSET_LOCATION_TAG\n+from xmodule.exceptions import NotFoundError\n from xmodule.modulestore.django import ASSET_IGNORE_REGEX\n from xmodule.util.misc import escape_invalid_characters\n+from xmodule.mongo_connection import connect_to_mongodb\n+from .content import StaticContent, ContentStore, StaticContentStream\n \n \n class MongoContentStore(ContentStore):\n-\n- # pylint: disable=unused-argument\n- def __init__(self, host, db, port=27017, user=None, password=None, bucket='fs', collection=None, **kwargs):\n+ \"\"\"\n+ MongoDB-backed ContentStore.\n+ \"\"\"\n+ # pylint: disable=unused-argument, bad-continuation\n+ def __init__(\n+ self, host, db,\n+ port=27017, tz_aware=True, user=None, password=None, bucket='fs', collection=None, **kwargs\n+ ):\n \"\"\"\n Establish the connection with the mongo backend and connect to the collections\n \n :param collection: ignores but provided for consistency w/ other doc_store_config patterns\n \"\"\"\n- logging.debug('Using MongoDB for static content serving at host={0} port={1} db={2}'.format(host, port, db))\n-\n- # Remove the replicaSet parameter.\n- kwargs.pop('replicaSet', None)\n-\n- _db = pymongo.database.Database(\n- pymongo.MongoClient(\n- host=host,\n- port=port,\n- document_class=dict,\n- **kwargs\n- ),\n- db\n+ # GridFS will throw an exception if the Database is wrapped in a MongoProxy. So don't wrap it.\n+ # The appropriate methods below are marked as autoretry_read - those methods will handle\n+ # the AutoReconnect errors.\n+ proxy = False\n+ mongo_db = connect_to_mongodb(\n+ db, host,\n+ port=port, tz_aware=tz_aware, user=user, password=password, proxy=proxy, **kwargs\n )\n \n- if user is not None and password is not None:\n- _db.authenticate(user, password)\n-\n- self.fs = gridfs.GridFS(_db, bucket)\n+ self.fs = gridfs.GridFS(mongo_db, bucket) # pylint: disable=invalid-name\n \n- self.fs_files = _db[bucket + \".files\"] # the underlying collection GridFS uses\n+ self.fs_files = mongo_db[bucket + \".files\"] # the underlying collection GridFS uses\n \n def close_connections(self):\n \"\"\"\n@@ -86,11 +84,15 @@ def save(self, content):\n return content\n \n def delete(self, location_or_id):\n+ \"\"\"\n+ Delete an asset.\n+ \"\"\"\n if isinstance(location_or_id, AssetKey):\n location_or_id, _ = self.asset_db_key(location_or_id)\n # Deletes of non-existent files are considered successful\n self.fs.delete(location_or_id)\n \n+ @autoretry_read()\n def find(self, location, throw_on_not_found=True, as_stream=False):\n content_id, __ = self.asset_db_key(location)\n \n@@ -206,6 +208,7 @@ def remove_redundant_content_for_courses(self):\n self.fs_files.remove(query)\n return assets_to_delete\n \n+ @autoretry_read()\n def _get_all_content_for_course(self,\n course_key,\n get_thumbnails=False,\n@@ -288,6 +291,7 @@ def set_attrs(self, location, attr_dict):\n if not result.get('updatedExisting', True):\n raise NotFoundError(asset_db_key)\n \n+ @autoretry_read()\n def get_attrs(self, location):\n \"\"\"\n Gets all of the attributes associated with the given asset. Note, returns even built in attrs"},{"sha":"4bcdfa15a878dc6b413ab093f5edc685096c1dfa","filename":"common/lib/xmodule/xmodule/modulestore/mongo/base.py","status":"modified","additions":15,"deletions":24,"changes":39,"blob_url":"https://github.com/edx/edx-platform/blob/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/modulestore/mongo/base.py","raw_url":"https://github.com/edx/edx-platform/raw/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/modulestore/mongo/base.py","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/common/lib/xmodule/xmodule/modulestore/mongo/base.py?ref=74e70119a23fa3ffb3db19d4590eccfebd72b659","patch":"@@ -22,7 +22,7 @@\n from bson.son import SON\n from datetime import datetime\n from fs.osfs import OSFS\n-from mongodb_proxy import MongoProxy, autoretry_read\n+from mongodb_proxy import autoretry_read\n from path import Path as path\n from pytz import UTC\n from contracts import contract, new_contract\n@@ -43,6 +43,7 @@\n from xmodule.errortracker import null_error_tracker, exc_info_to_str\n from xmodule.exceptions import HeartbeatFailure\n from xmodule.mako_module import MakoDescriptorSystem\n+from xmodule.mongo_connection import connect_to_mongodb\n from xmodule.modulestore import ModuleStoreWriteBase, ModuleStoreEnum, BulkOperationsMixin, BulkOpsRecord\n from xmodule.modulestore.draft_and_published import ModuleStoreDraftAndPublished, DIRECT_ONLY_CATEGORIES\n from xmodule.modulestore.edit_info import EditInfoRuntimeMixin\n@@ -558,22 +559,16 @@ def do_connection(\n \"\"\"\n Create & open the connection, authenticate, and provide pointers to the collection\n \"\"\"\n- # Remove the replicaSet parameter.\n- kwargs.pop('replicaSet', None)\n-\n- self.database = MongoProxy(\n- pymongo.database.Database(\n- pymongo.MongoClient(\n- host=host,\n- port=port,\n- tz_aware=tz_aware,\n- document_class=dict,\n- **kwargs\n- ),\n- db\n- ),\n- wait_time=retry_wait_time\n+ # Set a write concern of 1, which makes writes complete successfully to the primary\n+ # only before returning. Also makes pymongo report write errors.\n+ kwargs['w'] = 1\n+\n+ self.database = connect_to_mongodb(\n+ db, host,\n+ port=port, tz_aware=tz_aware, user=user, password=password,\n+ retry_wait_time=retry_wait_time, **kwargs\n )\n+\n self.collection = self.database[collection]\n \n # Collection which stores asset metadata.\n@@ -581,14 +576,8 @@ def do_connection(\n asset_collection = self.DEFAULT_ASSET_COLLECTION_NAME\n self.asset_collection = self.database[asset_collection]\n \n- if user is not None and password is not None:\n- self.database.authenticate(user, password)\n-\n do_connection(**doc_store_config)\n \n- # Force mongo to report errors, at the expense of performance\n- self.collection.write_concern = {'w': 1}\n-\n if default_class is not None:\n module_path, _, class_name = default_class.rpartition('.')\n class_ = getattr(import_module(module_path), class_name)\n@@ -1012,6 +1001,7 @@ def get_courses(self, **kwargs):\n )\n return [course for course in base_list if not isinstance(course, ErrorDescriptor)]\n \n+ @autoretry_read()\n def _find_one(self, location):\n '''Look for a given location in the collection. If the item is not present, raise\n ItemNotFoundError.\n@@ -1052,6 +1042,7 @@ def get_course(self, course_key, depth=0, **kwargs):\n except ItemNotFoundError:\n return None\n \n+ @autoretry_read()\n def has_course(self, course_key, ignore_case=False, **kwargs):\n \"\"\"\n Returns the course_id of the course if it was found, else None\n@@ -1073,7 +1064,7 @@ def has_course(self, course_key, ignore_case=False, **kwargs):\n course_query[key] = re.compile(r\"(?i)^{}$\".format(course_query[key]))\n else:\n course_query = {'_id': location.to_deprecated_son()}\n- course = self.collection.find_one(course_query, fields={'_id': True})\n+ course = self.collection.find_one(course_query, projection={'_id': True})\n if course:\n return SlashSeparatedCourseKey(course['_id']['org'], course['_id']['course'], course['_id']['name'])\n else:\n@@ -1234,7 +1225,7 @@ def create_course(self, org, course, run, user_id, fields=None, **kwargs):\n ('_id.course', re.compile(u'^{}$'.format(course_id.course), re.IGNORECASE)),\n ('_id.category', 'course'),\n ])\n- courses = self.collection.find(course_search_location, fields=('_id'))\n+ courses = self.collection.find(course_search_location, projection={'_id': True})\n if courses.count() > 0:\n raise DuplicateCourseError(course_id, courses[0]['_id'])\n "},{"sha":"1352ee95cd39a611a21a2e17dbc70da9b31af433","filename":"common/lib/xmodule/xmodule/modulestore/split_mongo/mongo_connection.py","status":"modified","additions":10,"deletions":26,"changes":36,"blob_url":"https://github.com/edx/edx-platform/blob/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/modulestore/split_mongo/mongo_connection.py","raw_url":"https://github.com/edx/edx-platform/raw/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/modulestore/split_mongo/mongo_connection.py","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/common/lib/xmodule/xmodule/modulestore/split_mongo/mongo_connection.py?ref=74e70119a23fa3ffb3db19d4590eccfebd72b659","patch":"@@ -23,10 +23,11 @@\n import dogstats_wrapper as dog_stats_api\n \n from contracts import check, new_contract\n-from mongodb_proxy import autoretry_read, MongoProxy\n+from mongodb_proxy import autoretry_read\n from xmodule.exceptions import HeartbeatFailure\n from xmodule.modulestore import BlockData\n from xmodule.modulestore.split_mongo import BlockKey\n+from xmodule.mongo_connection import connect_to_mongodb\n \n \n new_contract('BlockData', BlockData)\n@@ -287,37 +288,20 @@ def __init__(\n \"\"\"\n Create & open the connection, authenticate, and provide pointers to the collections\n \"\"\"\n- if kwargs.get('replicaSet') is None:\n- kwargs.pop('replicaSet', None)\n- mongo_class = pymongo.MongoClient\n- else:\n- mongo_class = pymongo.MongoReplicaSetClient\n- _client = mongo_class(\n- host=host,\n- port=port,\n- tz_aware=tz_aware,\n- **kwargs\n- )\n- self.database = MongoProxy(\n- pymongo.database.Database(_client, db),\n- wait_time=retry_wait_time\n- )\n+ # Set a write concern of 1, which makes writes complete successfully to the primary\n+ # only before returning. Also makes pymongo report write errors.\n+ kwargs['w'] = 1\n \n- if user is not None and password is not None:\n- self.database.authenticate(user, password)\n+ self.database = connect_to_mongodb(\n+ db, host,\n+ port=port, tz_aware=tz_aware, user=user, password=password,\n+ retry_wait_time=retry_wait_time, **kwargs\n+ )\n \n self.course_index = self.database[collection + '.active_versions']\n self.structures = self.database[collection + '.structures']\n self.definitions = self.database[collection + '.definitions']\n \n- # every app has write access to the db (v having a flag to indicate r/o v write)\n- # Force mongo to report errors, at the expense of performance\n- # pymongo docs suck but explanation:\n- # http://api.mongodb.org/java/2.10.1/com/mongodb/WriteConcern.html\n- self.course_index.write_concern = {'w': 1}\n- self.structures.write_concern = {'w': 1}\n- self.definitions.write_concern = {'w': 1}\n-\n def heartbeat(self):\n \"\"\"\n Check that the db is reachable."},{"sha":"ea353a60b6af9226ce7676495d9572831d99fbd9","filename":"common/lib/xmodule/xmodule/mongo_connection.py","status":"added","additions":53,"deletions":0,"changes":53,"blob_url":"https://github.com/edx/edx-platform/blob/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/mongo_connection.py","raw_url":"https://github.com/edx/edx-platform/raw/74e70119a23fa3ffb3db19d4590eccfebd72b659/common/lib/xmodule/xmodule/mongo_connection.py","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/common/lib/xmodule/xmodule/mongo_connection.py?ref=74e70119a23fa3ffb3db19d4590eccfebd72b659","patch":"@@ -0,0 +1,53 @@\n+\"\"\"\n+Common MongoDB connection functions.\n+\"\"\"\n+import pymongo\n+from mongodb_proxy import MongoProxy\n+\n+\n+# pylint: disable=bad-continuation\n+def connect_to_mongodb(\n+ db, host,\n+ port=27017, tz_aware=True, user=None, password=None,\n+ retry_wait_time=0.1, proxy=True, **kwargs\n+):\n+ \"\"\"\n+ Returns a MongoDB Database connection, optionally wrapped in a proxy. The proxy\n+ handles AutoReconnect errors by retrying read operations, since these exceptions\n+ typically indicate a temporary step-down condition for MongoDB.\n+ \"\"\"\n+ # The MongoReplicaSetClient class is deprecated in Mongo 3.x, in favor of using\n+ # the MongoClient class for all connections. Update/simplify this code when using\n+ # PyMongo 3.x.\n+ if kwargs.get('replicaSet'):\n+ # Enable reading from secondary nodes in the MongoDB replicaset by using the\n+ # MongoReplicaSetClient class.\n+ # The 'replicaSet' parameter in kwargs is required for secondary reads.\n+ # The read_preference should be set to a proper value, like SECONDARY_PREFERRED.\n+ mongo_client_class = pymongo.MongoReplicaSetClient\n+ else:\n+ # No 'replicaSet' in kwargs - so no secondary reads.\n+ mongo_client_class = pymongo.MongoClient\n+\n+ mongo_conn = pymongo.database.Database(\n+ mongo_client_class(\n+ host=host,\n+ port=port,\n+ tz_aware=tz_aware,\n+ document_class=dict,\n+ **kwargs\n+ ),\n+ db\n+ )\n+\n+ if proxy:\n+ mongo_conn = MongoProxy(\n+ mongo_conn,\n+ wait_time=retry_wait_time\n+ )\n+\n+ # If credentials were provided, authenticate the user.\n+ if user is not None and password is not None:\n+ mongo_conn.authenticate(user, password)\n+\n+ return mongo_conn"}]} - -https -GET -api.github.com -None -/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659/status -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '6365'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '3e3b9690823fb031da84658eb58aa83b'), ('x-oauth-scopes', 'notifications, public_repo, read:org, read:public_key, read:repo_hook, repo:status, repo_deployment'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', 'repo, repo:status'), ('etag', '"bfa38f9cceb7ccc231038178037a2013"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '12B0076B:2074:768909A:56A6A81F'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 25 Jan 2016 22:56:31 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1453765330')] -{"state":"success","statuses":[{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390601376,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-js-pr/10357/","context":"jenkins/js","created_at":"2015-12-14T12:54:25Z","updated_at":"2015-12-14T12:54:25Z"},{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390603044,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-accessibility-pr/10173/","context":"jenkins/a11y","created_at":"2015-12-14T12:56:21Z","updated_at":"2015-12-14T12:56:21Z"},{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390615529,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-quality-pr/10214/","context":"jenkins/quality","created_at":"2015-12-14T13:10:22Z","updated_at":"2015-12-14T13:10:22Z"},{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390627281,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-bok-choy-pr/10918/","context":"jenkins/bokchoy","created_at":"2015-12-14T13:23:35Z","updated_at":"2015-12-14T13:23:35Z"},{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390627989,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-python-unittests-pr/10504/","context":"jenkins/python","created_at":"2015-12-14T13:24:18Z","updated_at":"2015-12-14T13:24:18Z"},{"url":"https://api.github.com/repos/edx/edx-platform/statuses/74e70119a23fa3ffb3db19d4590eccfebd72b659","id":390680150,"state":"success","description":"Build finished.","target_url":"https://build.testeng.edx.org/job/edx-platform-lettuce-pr/10545/","context":"jenkins/lettuce","created_at":"2015-12-14T14:15:40Z","updated_at":"2015-12-14T14:15:40Z"}],"sha":"74e70119a23fa3ffb3db19d4590eccfebd72b659","total_count":6,"repository":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"The Open edX platform, the software that powers edX!","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","deployments_url":"https://api.github.com/repos/edx/edx-platform/deployments"},"commit_url":"https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659","url":"https://api.github.com/repos/edx/edx-platform/commits/74e70119a23fa3ffb3db19d4590eccfebd72b659/status"} - diff --git a/github/tests/ReplayData/CommitComment.setUp.txt b/github/tests/ReplayData/CommitComment.setUp.txt deleted file mode 100644 index 3966713..0000000 --- a/github/tests/ReplayData/CommitComment.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/comments/1361949 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '714'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eebb2ebe0274fc6672c9e7bad74e5f39"'), ('date', 'Tue, 22 May 2012 18:43:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","path":null,"body":"Comment created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","created_at":"2012-05-22T18:40:18Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":null,"updated_at":"2012-05-22T18:40:18Z","id":1361949,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}} - diff --git a/github/tests/ReplayData/CommitComment.testDelete.txt b/github/tests/ReplayData/CommitComment.testDelete.txt deleted file mode 100644 index 335c358..0000000 --- a/github/tests/ReplayData/CommitComment.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/comments/1361949 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT')] - - diff --git a/github/tests/ReplayData/CommitComment.testEdit.txt b/github/tests/ReplayData/CommitComment.testEdit.txt deleted file mode 100644 index 834eedd..0000000 --- a/github/tests/ReplayData/CommitComment.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/comments/1361949 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:43:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-22T18:43:17Z","position":null,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"} - diff --git a/github/tests/ReplayData/CommitStatus.setUp.txt b/github/tests/ReplayData/CommitStatus.setUp.txt deleted file mode 100644 index e04c40d..0000000 --- a/github/tests/ReplayData/CommitStatus.setUp.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '806'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 15:03:24 GMT'), ('connection', 'keep-alive'), ('etag', '"350294b94004d4bb252b6a432baa5744"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 11:33:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","email":"vincent@vincent-jacques.net","disk_usage":14680,"following":28,"location":"Paris, France","hireable":false,"bio":"","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","public_gists":3,"total_private_repos":5,"collaborators":0,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","private_gists":5,"owned_private_repos":5,"public_repos":11,"name":"Vincent Jacques","company":"Criteo","url":"https://api.github.com/users/jacquev6","login":"jacquev6","plan":{"collaborators":1,"name":"micro","private_repos":5,"space":614400},"followers":13,"html_url":"https://github.com/jacquev6","id":327146,"created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1239'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sat, 08 Sep 2012 11:05:28 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b5deefd5e5a20ae540958af4330940c3"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 11:33:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"master_branch":"master","forks":16,"open_issues_count":14,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":true,"admin":true},"forks_count":16,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","network_count":16,"has_wiki":false,"watchers":67,"mirror_url":null,"size":268,"fork":false,"open_issues":14,"has_issues":true,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-09-08T11:05:28Z","full_name":"jacquev6/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","private":false,"id":3544490,"language":"Python","watchers_count":67,"homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-09-08T11:05:27Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '3473'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4968'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 09 May 2012 16:22:33 GMT'), ('connection', 'keep-alive'), ('etag', '"65d19a8fbfb1103ea7421e4c514d75d3"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 11:33:19 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","stats":{"total":20,"additions":0,"deletions":20},"files":[{"filename":"github/GithubObjects/GitAuthor.py","sha":"ca6a3c616fc1367b6d01d04a7cf6ee27cf216f26","status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","additions":0,"patch":"@@ -14,22 +14,17 @@ def __init__( self, requester, attributes, lazy ):\n self.__completed = False\n self.__initAttributes()\n self.__useAttributes( attributes )\n- if not lazy:\n- self.__complete()\n \n @property\n def date( self ):\n- self.__completeIfNeeded( self.__date )\n return self.__date\n \n @property\n def email( self ):\n- self.__completeIfNeeded( self.__email )\n return self.__email\n \n @property\n def name( self ):\n- self.__completeIfNeeded( self.__name )\n return self.__name\n \n def __initAttributes( self ):\n@@ -37,21 +32,6 @@ def __initAttributes( self ):\n self.__email = None\n self.__name = None\n \n- def __completeIfNeeded( self, testedAttribute ):\n- if not self.__completed and testedAttribute is None:\n- self.__complete()\n-\n- # @todo Do not generate __complete if type has no url attribute\n- def __complete( self ):\n- status, headers, data = self.__requester.request(\n- \"GET\",\n- self.__url,\n- None,\n- None\n- )\n- self.__useAttributes( data )\n- self.__completed = True\n-\n def __useAttributes( self, attributes ):\n #@todo No need to check if attribute is in attributes when attribute is mandatory\n if \"date\" in attributes and attributes[ \"date\" ] is not None:","blob_url":"https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","changes":20,"deletions":20}],"author":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"commit":{"message":"Remove completion functions from GitAuthor","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-09T09:22:33-07:00"},"comment_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","tree":{"sha":"4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab"},"committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-09T09:22:33-07:00"}},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","parents":[{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae"}],"committer":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"33102158c69b28937a0b6a7031ba9c88"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 11:33:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"description":"Status successfuly created by PyGithub","created_at":"2012-09-08T11:30:56Z","target_url":"https://github.com/jacquev6/PyGithub/issues/67","state":"success","context":"build","updated_at":"2012-09-08T11:30:56Z","url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/277040","id":277040,"creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"}},{"description":null,"created_at":"2012-09-08T11:27:12Z","target_url":null,"state":"pending","updated_at":"2012-09-08T11:27:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/277031","id":277031,"creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"}}] - diff --git a/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt b/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt deleted file mode 100644 index dfc62ba..0000000 --- a/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/akfish/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13698'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"8600bedcb7fed1d8065e1693e05529ce"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:08 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')] -{"id":12156762,"name":"PyGithub","full_name":"akfish/PyGithub","owner":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"private":false,"html_url":"https://github.com/akfish/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/akfish/PyGithub","forks_url":"https://api.github.com/repos/akfish/PyGithub/forks","keys_url":"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akfish/PyGithub/teams","hooks_url":"https://api.github.com/repos/akfish/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/akfish/PyGithub/events","assignees_url":"https://api.github.com/repos/akfish/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/akfish/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/akfish/PyGithub/tags","blobs_url":"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/akfish/PyGithub/languages","stargazers_url":"https://api.github.com/repos/akfish/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/akfish/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/akfish/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/akfish/PyGithub/subscription","commits_url":"https://api.github.com/repos/akfish/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/akfish/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/akfish/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akfish/PyGithub/merges","archive_url":"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akfish/PyGithub/downloads","issues_url":"https://api.github.com/repos/akfish/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/akfish/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/akfish/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akfish/PyGithub/labels{/name}","created_at":"2013-08-16T10:56:11Z","updated_at":"2013-08-22T02:09:11Z","pushed_at":"2013-08-22T02:09:09Z","git_url":"git://github.com/akfish/PyGithub.git","ssh_url":"git@github.com:akfish/PyGithub.git","clone_url":"https://github.com/akfish/PyGithub.git","svn_url":"https://github.com/akfish/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":6736,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":70,"parent":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"}} - diff --git a/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt b/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt deleted file mode 100755 index 025aee8..0000000 --- a/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/akfish/PyGithub -{'If-None-Match': '"8600bedcb7fed1d8065e1693e05529ce"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4988'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"8600bedcb7fed1d8065e1693e05529ce"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:10 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1377140429')] - - diff --git a/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt b/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt deleted file mode 100644 index b6d8aee..0000000 --- a/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/akfish/PyGithub -{'If-None-Match': '"8600bedcb7fed1d8065e1693e05529ce"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13712'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:14:54 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ef281ef0e821c18f80da36902727160b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:15:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')] -{"id":12156762,"name":"PyGithub","full_name":"akfish/PyGithub","owner":{"login":"akfish","id":922715,"avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"private":false,"html_url":"https://github.com/akfish/PyGithub","description":"Python library implementing the full Github API v3 - AKFish Fork","fork":true,"url":"https://api.github.com/repos/akfish/PyGithub","forks_url":"https://api.github.com/repos/akfish/PyGithub/forks","keys_url":"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akfish/PyGithub/teams","hooks_url":"https://api.github.com/repos/akfish/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/akfish/PyGithub/events","assignees_url":"https://api.github.com/repos/akfish/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/akfish/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/akfish/PyGithub/tags","blobs_url":"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/akfish/PyGithub/languages","stargazers_url":"https://api.github.com/repos/akfish/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/akfish/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/akfish/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/akfish/PyGithub/subscription","commits_url":"https://api.github.com/repos/akfish/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/akfish/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/akfish/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akfish/PyGithub/merges","archive_url":"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akfish/PyGithub/downloads","issues_url":"https://api.github.com/repos/akfish/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/akfish/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/akfish/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akfish/PyGithub/labels{/name}","created_at":"2013-08-16T10:56:11Z","updated_at":"2013-08-22T02:14:54Z","pushed_at":"2013-08-22T02:09:09Z","git_url":"git://github.com/akfish/PyGithub.git","ssh_url":"git@github.com:akfish/PyGithub.git","clone_url":"https://github.com/akfish/PyGithub.git","svn_url":"https://github.com/akfish/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":6736,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":70,"parent":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"}} - diff --git a/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt b/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt deleted file mode 100755 index 6ef154b..0000000 --- a/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T06:55:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T06:55:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - diff --git a/github/tests/ReplayData/ContentFile.setUp.txt b/github/tests/ReplayData/ContentFile.setUp.txt deleted file mode 100644 index 8350fdb..0000000 --- a/github/tests/ReplayData/ContentFile.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '806'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 15:03:24 GMT'), ('connection', 'keep-alive'), ('etag', '"350294b94004d4bb252b6a432baa5744"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 10:47:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"total_private_repos":5,"public_repos":11,"type":"User","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","email":"vincent@vincent-jacques.net","public_gists":3,"company":"Criteo","blog":"http://vincent-jacques.net","hireable":false,"plan":{"space":614400,"collaborators":1,"name":"micro","private_repos":5},"followers":13,"html_url":"https://github.com/jacquev6","private_gists":5,"collaborators":0,"bio":"","name":"Vincent Jacques","url":"https://api.github.com/users/jacquev6","disk_usage":14640,"following":28,"location":"Paris, France","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1239'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:56:29 GMT'), ('connection', 'keep-alive'), ('etag', '"1d330cbc4cd990e379a33aedad5f6db5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 10:47:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"master_branch":"master","forks":16,"watchers_count":67,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"open_issues_count":15,"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":true,"admin":true},"forks_count":16,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","mirror_url":null,"network_count":16,"has_wiki":false,"watchers":67,"html_url":"https://github.com/jacquev6/PyGithub","size":228,"fork":false,"open_issues":15,"has_issues":true,"updated_at":"2012-09-07T23:56:29Z","full_name":"jacquev6/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"id":3544490,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-09-07T23:56:29Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/readme -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '10787'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:47:05 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","sha":"5628799a7d517a4aaa0c1a7004d07569cd154df0","path":"ReadMe.md","encoding":"base64","content":"VGhpcyBpcyBhIFB5dGhvbiBsaWJyYXJ5IHRvIGFjY2VzcyB0aGUgW0dpdGh1\nYiBBUEkgdjNdKGh0dHA6Ly9kZXZlbG9wZXIuZ2l0aHViLmNvbS92MykuCgpX\naXRoIGl0LCB5b3UgY2FuIG1hbmFnZSB5b3VyIFtHaXRodWJdKGh0dHA6Ly9n\naXRodWIuY29tKSByZXNvdXJjZXMgKHJlcG9zaXRvcmllcywgdXNlciBwcm9m\naWxlcywgb3JnYW5pemF0aW9ucywgZXRjLikgZnJvbSBQeXRob24gc2NyaXB0\ncy4KCkl0IGNvdmVycyB0aGUgKipmdWxsKiogQVBJLCBhbmQgYWxsIG1ldGhv\nZHMgYXJlIHRlc3RlZCBhZ2FpbnN0IHRoZSByZWFsIEdpdGh1YiBzaXRlLgoK\nU2hvdWxkIHlvdSBoYXZlIGFueSBxdWVzdGlvbiwgb3IgaWYgeW91IGZpbmQg\nYSBidWcsIG9yIGlmIHRoZXJlIGlzIHNvbWV0aGluZyB5b3UgY2FuIGRvIHdp\ndGggdGhlIEFQSSBidXQgbm90IHdpdGggUHlHaXRodWIsIHBsZWFzZSBbb3Bl\nbiBhbiBpc3N1ZV0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0\naHViL2lzc3VlcykuCgpQeUdpdGh1YiBpcyBzdGFibGUuIEkgd2lsbCBtYWlu\ndGFpbiBpdCB1cCB0byBkYXRlIHdpdGggdGhlIEFQSSwgYW5kIGZpeCBidWdz\nIGlmIGFueSwgYnV0IEkgZG9uJ3QgcGxhbiBuZXcgaGVhdnkgZGV2ZWxvcG1l\nbnRzLgoKRG93bmxvYWQgYW5kIGluc3RhbGwKPT09PT09PT09PT09PT09PT09\nPT0KClRoaXMgcGFja2FnZSBpcyBpbiB0aGUgW1B5dGhvbiBQYWNrYWdlIElu\nZGV4XShodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvUHlHaXRodWIpLCBz\nbyBgZWFzeV9pbnN0YWxsIFB5R2l0aHViYCBvciBgcGlwIGluc3RhbGwgUHlH\naXRodWJgIHNob3VsZCBiZSBlbm91Z2guCllvdSBjYW4gYWxzbyBjbG9uZSBp\ndCBvbiBbR2l0aHViXShodHRwOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdp\ndGh1YikuCgpUdXRvcmlhbAo9PT09PT09PQoKRmlyc3QgY3JlYXRlIGEgR2lo\ndHViIGluc3RhbmNlOgoKICAgIGZyb20gZ2l0aHViIGltcG9ydCBHaXRodWIK\nCiAgICBnID0gR2l0aHViKCAidXNlciIsICJwYXNzd29yZCIgKQoKVGhlbiBw\nbGF5IHdpdGggeW91ciBHaXRodWIgb2JqZWN0czoKCiAgICBmb3IgcmVwbyBp\nbiBnLmdldF91c2VyKCkuZ2V0X3JlcG9zKCk6CiAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgcmVwby5lZGl0KCBoYXNfd2lraSA9IEZhbHNlICkK\nCllvdSBjYW4gYWxzbyBjcmVhdGUgYSBHaXRodWIgaW5zdGFuY2Ugd2l0aCBh\nbiBPQXV0aCB0b2tlbjoKCiAgICBnID0gR2l0aHViKCB0b2tlbiApCgpPciB3\naXRob3V0IGF1dGhlbnRpY2F0aW9uOgoKICAgIGcgPSBHaXRodWIoKQoKTGlj\nZW5zaW5nCj09PT09PT09PQoKUHlHaXRodWIgaXMgZGlzdHJpYnV0ZWQgdW5k\nZXIgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5jZS4KU2Vl\nIGZpbGVzIENPUFlJTkcgYW5kIENPUFlJTkcuTEVTU0VSLCBhcyByZXF1ZXN0\nZWQgYnkgW0dOVV0oaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1o\nb3d0by5odG1sKS4KClByb2plY3RzIHVzaW5nIFB5R2l0aHViCj09PT09PT09\nPT09PT09PT09PT09PT09CgooW09wZW4gYW4gaXNzdWVdKGh0dHBzOi8vZ2l0\naHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXMpIGlmIHlvdSB3YW50\nIHRvIGJlIGxpc3RlZCBoZXJlLCBJJ2xsIGJlIGdsYWQgdG8gYWRkIHlvdXIg\ncHJvamVjdCkKCiogW1VwdmVydGVyXShodHRwczovL3VwdmVydGVyLmNvbSkg\naXMgYSB3ZWItYmFzZWQgc2NoZW1hdGljIGNhcHR1cmUgYW5kIFBDQiBsYXlv\ndXQgdG9vbCBmb3IgcGVvcGxlIHdobyBkZXNpZ24gZWxlY3Ryb25pY3MuIERl\nc2lnbmVycyBjYW4gYXR0YWNoIGEgR2l0aHViIHByb2plY3QgdG8gYW4gVXB2\nZXJ0ZXIgcHJvamVjdC4KKiBbVHJhdGlodWJpc10oaHR0cDovL3B5cGkucHl0\naG9uLm9yZy9weXBpL3RyYXRpaHViaXMvKSBjb252ZXJ0cyBUcmFjIHRpY2tl\ndHMgdG8gR2l0aHViIGlzc3VlcwoKSGlzdG9yeQo9PT09PT09CgpbVmVyc2lv\nbiAxLjVdKGh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9p\nc3N1ZXM/bWlsZXN0b25lPTkmc3RhdGU9Y2xvc2VkKSAoU2VwdGVtYmVyIDV0\naCwgMjAxMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZCBhIHRpbWVvdXQgb3B0\naW9uLCB0aGFuayB5b3UgbXVjaCBbeG9iYjF0XShodHRwczovL2dpdGh1Yi5j\nb20veG9iYjF0KSBmb3IgdGhlIG1lcmdlIHJlcXVlc3QuICpUaGlzIGRyb3Bz\nIFB5dGhvbiAyLjUgc3VwcG9ydCouIEkgbWF5IGJlIGFibGUgdG8gcmVzdG9y\nZSBpdCBpbiBuZXh0IHZlcnNpb24uCiogSW1wbGVtZW50IGBSZXBvc2l0b3J5\nLmRlbGV0ZWAsIHRoYW5rIHlvdSBbcG1jaGVuXShodHRwczovL2dpdGh1Yi5j\nb20vcG1jaGVuKSBmb3IgYXNraW5nCgpbVmVyc2lvbiAxLjRdKGh0dHBzOi8v\nZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXM/bWlsZXN0b25l\nPTgmc3RhdGU9Y2xvc2VkKSAoQXVndXN0IDR0aCwgMjAxMikKLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tCgoqIEFsbG93IGNvbm5lY3Rpb24gdG8gYSBjdXN0b20gR2l0aHViIFVS\nTCwgZm9yIEdpdGh1YiBFbnRlcnByaXNlLCB0aGFuayB5b3UgdmVyeSBtdWNo\nIFtlbmdpZV0oaHR0cHM6Ly9naXRodWIuY29tL2VuZ2llKSBmb3IgdGhlIG1l\ncmdlIHJlcXVlc3QKCltWZXJzaW9uIDEuM10oaHR0cHM6Ly9naXRodWIuY29t\nL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9NyZzdGF0ZT1j\nbG9zZWQpIChKdWx5IDEzdGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEltcGxl\nbWVudCBbbWFya2Rvd24gcmVuZGVyaW5nXShodHRwOi8vZGV2ZWxvcGVyLmdp\ndGh1Yi5jb20vdjMvbWFya2Rvd24vKQoqIGBHaXRBdXRob3IuZGF0ZWAgaXMg\nbm93IGEgZGF0ZXRpbWUsIHRoYW5rIHlvdSBbYmlsZGVyYnVjaGldKGh0dHBz\nOi8vZ2l0aHViLmNvbS9iaWxkZXJidWNoaSkKKiBGaXggZG9jdW1lbnRhdGlv\nbiBvZiBgR2l0aHViLmdldF9naXN0YDogYGlkYCBpcyBhIHN0cmluZywgbm90\nIGFuIGludGVnZXIKCltWZXJzaW9uIDEuMl0oaHR0cHM6Ly9naXRodWIuY29t\nL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9NiZzdGF0ZT1j\nbG9zZWQpIChKdW5lIDI5dGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEltcGxl\nbWVudCBbbGVnYWN5IHNlYXJjaCBBUElzXShodHRwOi8vZGV2ZWxvcGVyLmdp\ndGh1Yi5jb20vdjMvc2VhcmNoLyksIHRoYW5rIHlvdSBba3VrdXRzXShodHRw\nczovL2dpdGh1Yi5jb20va3VrdXRzKSBmb3IgdGVsbGluZyBtZSBHaXRodWIg\naGFkIHJlbGVhc2VkIHRoZW0KKiBGaXggYSBidWcgd2l0aCBpc3N1ZSBsYWJl\nbHMgY29udGFpbmluZyBzcGFjZXMsIHRoYW5rIHlvdSBbcGhpbGlwa2ltbWV5\nXShodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwa2ltbWV5KSBmb3IgZGV0ZWN0\naW5nIHRoZSBidWcgYW5kIGZpeGluZyBpdAoqIENsYXJpZnkgaG93IGNvbGxl\nY3Rpb25zIG9mIG9iamVjdHMgYXJlIHJldHVybmVkIGJ5IGBnZXRfKmAgbWV0\naG9kcywgdGhhbmsgeW91IFtiaWxkZXJidWNoaV0oaHR0cHM6Ly9naXRodWIu\nY29tL2JpbGRlcmJ1Y2hpKSBmb3IgYXNraW5nCgpWZXJzaW9uIDEuMSAoSnVu\nZSAyMHRoLCAyMDEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK\nKiBSZXN0b3JlIGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMi41LCB0aGFu\nayB5b3UgW3BtdWlsdV0oaHR0cHM6Ly9naXRodWIuY29tL3BtdWlsdSkKKiBV\nc2UgYHBhY2thZ2VfZGF0YWAgaW5zdGVhZCBvZiBgZGF0YV9maWxlc2AgZm9y\nIGRvY3VtZW50YXRpb24gZmlsZXMgaW4gYHNldHVwLnB5YCwgdGhhbmsgeW91\nIFttYWxleHddKGh0dHBzOi8vZ2l0aHViLmNvbS9tYWxleHcpIGZvciByZXBv\ncnRpbmcKCltWZXJzaW9uIDEuMF0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1\nZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9MiZzdGF0ZT1jbG9zZWQp\nIChKdW5lIDNyZCwgMjAxMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBDb21wbGV0ZSByZXdy\naXRlLCB3aXRoIG5vIG1vcmUgY29tcGxpY2F0ZWQgbWV0YS1kZXNjcmlwdGlv\nbgoqIEZ1bGwgdHlwaW5nIG9mIGF0dHJpYnV0ZXMgYW5kIHBhcmFtZXRlcnMK\nKiBGdWxsIGRvY3VtZW50YXRpb24gb2YgYXR0cmlidXRlcyBhbmQgcGFyYW1l\ndGVycwoqIE1vcmUgdXNhYmxlIGV4Y2VwdGlvbnMgcmFpc2VkIGluIGNhc2Ug\nb24gcHJvYmxlbXMgd2l0aCB0aGUgQVBJCiogU29tZSBidWdzIGFuZCBsaW1p\ndGF0aW9ucyBmaXhlZCwgc3BlY2lhbCB0aGFua3MgdG8gW2JpbGRlcmJ1Y2hp\nXShodHRwczovL2dpdGh1Yi5jb20vYmlsZGVyYnVjaGkpLCBbcm9za2Frb3Jp\nXShodHRwczovL2dpdGh1Yi5jb20vcm9za2Frb3JpKSBhbmQgW3RhbGxmb3Jh\nc211cmZdKGh0dHBzOi8vZ2l0aHViLmNvbS90YWxsZm9yYXNtdXJmKSBmb3Ig\ncmVwb3J0aW5nIHRoZW0hCgpbVmVyc2lvbiAwLjddKGh0dHBzOi8vZ2l0aHVi\nLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXM/bWlsZXN0b25lPTUmc3Rh\ndGU9Y2xvc2VkKSAoTWF5IDI2dGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogVXNl\nIFB5R2l0aHViIHdpdGggT0F1dGggYXV0aGVudGljYXRpb24gb3Igd2l0aCBu\nbyBhdXRoZW50aWNhdGlvbiBhdCBhbGwKCltWZXJzaW9uIDAuNl0oaHR0cHM6\nLy9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3Rv\nbmU9NCZzdGF0ZT1jbG9zZWQpIChBcHJpbCAxN3RoLCAyMDEyKQotLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0KCiogRml4IFtpc3N1ZSAyMV0oaHR0cHM6Ly9naXRodWIuY29tL2ph\nY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcy8yMSkgKEtleUVycm9yIHdoZW4gYWNj\nZXNzaW5nIHJlcG9zaXRvcmllcykKKiBSZS1jb21wbGV0ZWQgdGhlIEFQSSB3\naXRoIE5hbWVkVXNlci5jcmVhdGVfZ2lzdAoKCltWZXJzaW9uIDAuNV0oaHR0\ncHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxl\nc3RvbmU9MyZzdGF0ZT1jbG9zZWQpIChNYXJjaCAxOXRoLCAyMDEyKQotLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0KCiogTWFqb3IgYWNoaWV2ZW1lbnQ6ICoqYWxsIEFQSXMgYXJl\nIGltcGxlbWVudGVkKioKKiBNb3JlIHJlZmFjdG9yaW5nLCBvZiBjb3Vyc2UK\nCltWZXJzaW9uIDAuNF0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5\nR2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9MSZzdGF0ZT1jbG9zZWQpIChNYXJj\naCAxMnRoLCAyMDEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogVGhlIGxpc3Qgb2YgdGhl\nIG5vdCBpbXBsZW1lbnRlZCBBUElzIGlzIHNob3J0ZXIgdGhhbiB0aGUgbGlz\ndCBvZiB0aGUgaW1wbGVtZW50ZWQgQVBJcwoqIEFQSXMgKm5vdCBpbXBsZW1l\nbnRlZCo6CiAgICAqIEdFVCBgL2dpc3RzL3B1YmxpY2AKICAgICogR0VUIGAv\naXNzdWVzYAogICAgKiBHRVQgYC9yZXBvcy86dXNlci86cmVwby9jb21wYXJl\nLzpiYXNlLi4uOmhlYWRgCiAgICAqIEdFVCBgL3JlcG9zLzp1c2VyLzpyZXBv\nL2dpdC90cmVlcy86c2hhP3JlY3Vyc2l2ZT0xYAogICAgKiBQT1NUIGAvcmVw\nb3MvOnVzZXIvOnJlcG8vZ2l0L3RyZWVzP2Jhc2VfdHJlZT1gCiogR2lzdHMK\nKiBBdXRvcml6YXRpb25zCiogS2V5cwoqIEhvb2tzCiogRXZlbnRzCiogTWVy\nZ2UgcHVsbCByZXF1ZXN0cwoqIE1vcmUgcmVmYWN0b3JpbmcsIG9uZSBtb3Jl\nIHRpbWUKClZlcnNpb24gMC4zIChGZWJydWFyeSAyNnRoLCAyMDEyKQotLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogTW9yZSByZWZhY3Rv\ncmluZwoqIElzc3VlcywgbWlsZXN0b25lcyBhbmQgdGhlaXIgbGFiZWxzCiog\nTmFtZWRVc2VyOgogICAgKiBlbWFpbHMKKiBSZXBvc2l0b3J5OgogICAgKiBk\nb3dubG9hZHMKICAgICogdGFncywgYnJhbmNoZXMsIGNvbW1pdHMgYW5kIGNv\nbW1lbnRzIChub3QgdGhlIHNhbWUgYXMgIkdpdCBvYmplY3RzIiBvZiB2ZXJz\naW9uIDAuMikKICAgICogcHVsbCByZXF1ZXN0cyAobm8gYXV0b21hdGljIG1l\ncmdlIHlldCkKKiBBdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiB0aGUgcmVmZXJl\nbmNlIGRvY3VtZW50YXRpb24gb2YgY2xhc3Nlcywgd2l0aCBsZXNzICJzZWUg\nQVBJInMsIGFuZCBsZXNzIGVycm9ycwoKVmVyc2lvbiAwLjIgKEZlYnJ1YXJ5\nIDIzcmQsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLQoKKiBSZWZhY3RvcmluZwoqIFRlYW1zIGRldGFpbHMgYW5kIG1vZGlmaWNh\ndGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAqIGxpc3QgdGVhbXMg\naW4gb3JnYW5pemF0aW9ucywgb24gcmVwb3NpdG9yaWVzCiogR2l0IG9iamVj\ndHMKICAgICogY3JlYXRlIGFuZCBnZXQgdGFncywgcmVmZXJlbmNlcywgY29t\nbWl0cywgdHJlZXMsIGJsb2JzCiAgICAqIGxpc3QgYW5kIGVkaXQgcmVmZXJl\nbmNlcwoKVmVyc2lvbiAwLjEgKEZlYnJ1YXJ5IDE5dGgsIDIwMTIpCi0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBVc2VyIGRldGFpbHMg\nYW5kIG1vZGlmaWNhdGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAq\nIGZvbGxvd2VycywgZm9sbG93aW5nLCB3YXRjaGluZwogICAgKiBvcmdhbml6\nYXRpb25zCiAgICAqIHJlcG9zaXRvcmllcwoqIFJlcG9zaXRvcnkgZGV0YWls\ncyBhbmQgbW9kaWZpY2F0aW9uCiAgICAqIGJhc2ljIGF0dHJpYnV0ZXMKICAg\nICogZm9ya2luZwogICAgKiBjb2xsYWJvcmF0b3JzLCBjb250cmlidXRvcnMs\nIHdhdGNoZXJzCiogT3JnYW5pemF0aW9uIGRldGFpbHMgYW5kIG1vZGlmaWNh\ndGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAqIG1lbWJlcnMgYW5k\nIHB1YmxpYyBtZW1iZXJzCg==\n","size":7531,"name":"ReadMe.md","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/ReadMe.md","html":"https://github.com/jacquev6/PyGithub/blob/master/ReadMe.md","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5628799a7d517a4aaa0c1a7004d07569cd154df0"}} - diff --git a/github/tests/ReplayData/Download.setUp.txt b/github/tests/ReplayData/Download.setUp.txt deleted file mode 100644 index a3a1a04..0000000 --- a/github/tests/ReplayData/Download.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4953'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e1a1f6f825326642be4ed8e6f8427437"'), ('date', 'Tue, 22 May 2012 19:15:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":16849,"bio":"","url":"https://api.github.com/users/jacquev6","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"public_repos":11,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","login":"jacquev6","email":"vincent@vincent-jacques.net","private_gists":5,"collaborators":0,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","html_url":"https://github.com/jacquev6","created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net","location":"Paris, France","id":327146,"followers":13,"following":24,"hireable":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c26fc3fce8f52d05f1adf2025bfe34ab"'), ('date', 'Tue, 22 May 2012 19:15:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"pushed_at":"2012-05-21T13:48:43Z","updated_at":"2012-05-22T19:15:29Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"pull":true,"admin":true,"push":true},"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"size":181,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","clone_url":"https://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","created_at":"2012-02-25T12:53:47Z","id":3544490,"open_issues":17,"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/downloads/242550 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6d8a8b9509b1686543a96ec3c58b0293"'), ('date', 'Tue, 22 May 2012 19:03:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242550} - diff --git a/github/tests/ReplayData/Download.testDelete.txt b/github/tests/ReplayData/Download.testDelete.txt deleted file mode 100644 index 226108e..0000000 --- a/github/tests/ReplayData/Download.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/downloads/242550 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4950'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 19:16:03 GMT')] - - diff --git a/github/tests/ReplayData/Enterprise.testHttp.txt b/github/tests/ReplayData/Enterprise.testHttp.txt deleted file mode 100644 index 6fad65b..0000000 --- a/github/tests/ReplayData/Enterprise.testHttp.txt +++ /dev/null @@ -1,11 +0,0 @@ -http -GET -my.enterprise.com -None -/user/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '17939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3d6116bc986eb0698f0dfe92a01b2437"'), ('date', 'Sat, 26 May 2012 20:19:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","mirror_url":null,"has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","git_url":"git://github.com/jacquev6/TestPyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","git_url":"git://github.com/jacquev6/django.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","git_url":"git://github.com/jacquev6/developer.github.com.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","git_url":"git://github.com/jacquev6/acme-public-website.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","git_url":"git://github.com/jacquev6/C4Planner.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Hacking.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-24T13:55:11Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Hacking","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":128,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Hacking","git_url":"git://github.com/jacquev6/Hacking.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Hacking","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Hacking.git","pushed_at":"2012-04-17T19:09:56Z","created_at":"2011-07-02T15:59:51Z","id":1988081,"html_url":"https://github.com/jacquev6/Hacking","full_name":"jacquev6/Hacking"},{"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-29T15:20:52Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":172,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/vincent-jacques.net","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"vincent-jacques.net","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","pushed_at":"2012-04-29T15:20:52Z","created_at":"2011-07-02T07:08:56Z","id":1986874,"html_url":"https://github.com/jacquev6/vincent-jacques.net","full_name":"jacquev6/vincent-jacques.net"},{"clone_url":"https://github.com/jacquev6/Contests.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-02-12T07:18:09Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"Contests","url":"https://api.github.com/repos/jacquev6/Contests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":448,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Contests","git_url":"git://github.com/jacquev6/Contests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Contests","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Contests.git","pushed_at":"2011-11-14T20:19:48Z","created_at":"2011-06-27T11:55:34Z","id":1959919,"html_url":"https://github.com/jacquev6/Contests","full_name":"jacquev6/Contests"},{"clone_url":"https://github.com/jacquev6/Candidates.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-11T13:50:37Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Candidates","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":700,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Candidates","git_url":"git://github.com/jacquev6/Candidates.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Candidates","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Candidates.git","pushed_at":"2012-05-11T13:50:36Z","created_at":"2011-04-09T18:24:08Z","id":1592290,"html_url":"https://github.com/jacquev6/Candidates","full_name":"jacquev6/Candidates"},{"clone_url":"https://github.com/jacquev6/Tests.git","mirror_url":null,"has_downloads":true,"watchers":0,"updated_at":"2012-04-28T10:16:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Tests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":3032,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Tests","git_url":"git://github.com/jacquev6/Tests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Tests","language":"C","description":"Various tests","ssh_url":"git@github.com:jacquev6/Tests.git","pushed_at":"2012-04-01T04:24:47Z","created_at":"2011-03-28T20:24:02Z","id":1538471,"html_url":"https://github.com/jacquev6/Tests","full_name":"jacquev6/Tests"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","git_url":"git://github.com/jacquev6/DrawTurksHead.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","git_url":"git://github.com/jacquev6/DrawSyntax.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","git_url":"git://github.com/jacquev6/QuadProgMm.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","mirror_url":null,"has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","git_url":"git://github.com/jacquev6/ViDE.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - diff --git a/github/tests/ReplayData/Enterprise.testHttps.txt b/github/tests/ReplayData/Enterprise.testHttps.txt deleted file mode 100644 index 1fa7d31..0000000 --- a/github/tests/ReplayData/Enterprise.testHttps.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -my.enterprise.com -None -/user/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '17939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3d6116bc986eb0698f0dfe92a01b2437"'), ('date', 'Sat, 26 May 2012 20:19:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","mirror_url":null,"has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","git_url":"git://github.com/jacquev6/TestPyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","git_url":"git://github.com/jacquev6/django.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","git_url":"git://github.com/jacquev6/developer.github.com.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","git_url":"git://github.com/jacquev6/acme-public-website.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","git_url":"git://github.com/jacquev6/C4Planner.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Hacking.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-24T13:55:11Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Hacking","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":128,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Hacking","git_url":"git://github.com/jacquev6/Hacking.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Hacking","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Hacking.git","pushed_at":"2012-04-17T19:09:56Z","created_at":"2011-07-02T15:59:51Z","id":1988081,"html_url":"https://github.com/jacquev6/Hacking","full_name":"jacquev6/Hacking"},{"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-29T15:20:52Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":172,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/vincent-jacques.net","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"vincent-jacques.net","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","pushed_at":"2012-04-29T15:20:52Z","created_at":"2011-07-02T07:08:56Z","id":1986874,"html_url":"https://github.com/jacquev6/vincent-jacques.net","full_name":"jacquev6/vincent-jacques.net"},{"clone_url":"https://github.com/jacquev6/Contests.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-02-12T07:18:09Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"Contests","url":"https://api.github.com/repos/jacquev6/Contests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":448,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Contests","git_url":"git://github.com/jacquev6/Contests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Contests","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Contests.git","pushed_at":"2011-11-14T20:19:48Z","created_at":"2011-06-27T11:55:34Z","id":1959919,"html_url":"https://github.com/jacquev6/Contests","full_name":"jacquev6/Contests"},{"clone_url":"https://github.com/jacquev6/Candidates.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-11T13:50:37Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Candidates","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":700,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Candidates","git_url":"git://github.com/jacquev6/Candidates.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Candidates","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Candidates.git","pushed_at":"2012-05-11T13:50:36Z","created_at":"2011-04-09T18:24:08Z","id":1592290,"html_url":"https://github.com/jacquev6/Candidates","full_name":"jacquev6/Candidates"},{"clone_url":"https://github.com/jacquev6/Tests.git","mirror_url":null,"has_downloads":true,"watchers":0,"updated_at":"2012-04-28T10:16:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Tests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":3032,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Tests","git_url":"git://github.com/jacquev6/Tests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Tests","language":"C","description":"Various tests","ssh_url":"git@github.com:jacquev6/Tests.git","pushed_at":"2012-04-01T04:24:47Z","created_at":"2011-03-28T20:24:02Z","id":1538471,"html_url":"https://github.com/jacquev6/Tests","full_name":"jacquev6/Tests"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","git_url":"git://github.com/jacquev6/DrawTurksHead.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","git_url":"git://github.com/jacquev6/DrawSyntax.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","git_url":"git://github.com/jacquev6/QuadProgMm.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","mirror_url":null,"has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","git_url":"git://github.com/jacquev6/ViDE.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - diff --git a/github/tests/ReplayData/Enterprise.testLongUrl.txt b/github/tests/ReplayData/Enterprise.testLongUrl.txt deleted file mode 100644 index 5519e1a..0000000 --- a/github/tests/ReplayData/Enterprise.testLongUrl.txt +++ /dev/null @@ -1,22 +0,0 @@ -http -GET -my.enterprise.com -None -/path/to/github/user/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '17939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3d6116bc986eb0698f0dfe92a01b2437"'), ('date', 'Sat, 26 May 2012 20:19:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","mirror_url":null,"has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","git_url":"git://github.com/jacquev6/TestPyGithub.git","owner":{"url":"http://my.enterprise.com/path/to/github/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","git_url":"git://github.com/jacquev6/django.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","git_url":"git://github.com/jacquev6/developer.github.com.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","git_url":"git://github.com/jacquev6/acme-public-website.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","git_url":"git://github.com/jacquev6/C4Planner.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Hacking.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-24T13:55:11Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Hacking","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":128,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Hacking","git_url":"git://github.com/jacquev6/Hacking.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Hacking","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Hacking.git","pushed_at":"2012-04-17T19:09:56Z","created_at":"2011-07-02T15:59:51Z","id":1988081,"html_url":"https://github.com/jacquev6/Hacking","full_name":"jacquev6/Hacking"},{"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-29T15:20:52Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":172,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/vincent-jacques.net","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"vincent-jacques.net","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","pushed_at":"2012-04-29T15:20:52Z","created_at":"2011-07-02T07:08:56Z","id":1986874,"html_url":"https://github.com/jacquev6/vincent-jacques.net","full_name":"jacquev6/vincent-jacques.net"},{"clone_url":"https://github.com/jacquev6/Contests.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-02-12T07:18:09Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"Contests","url":"https://api.github.com/repos/jacquev6/Contests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":448,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Contests","git_url":"git://github.com/jacquev6/Contests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Contests","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Contests.git","pushed_at":"2011-11-14T20:19:48Z","created_at":"2011-06-27T11:55:34Z","id":1959919,"html_url":"https://github.com/jacquev6/Contests","full_name":"jacquev6/Contests"},{"clone_url":"https://github.com/jacquev6/Candidates.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-11T13:50:37Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Candidates","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":700,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Candidates","git_url":"git://github.com/jacquev6/Candidates.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Candidates","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Candidates.git","pushed_at":"2012-05-11T13:50:36Z","created_at":"2011-04-09T18:24:08Z","id":1592290,"html_url":"https://github.com/jacquev6/Candidates","full_name":"jacquev6/Candidates"},{"clone_url":"https://github.com/jacquev6/Tests.git","mirror_url":null,"has_downloads":true,"watchers":0,"updated_at":"2012-04-28T10:16:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Tests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":3032,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Tests","git_url":"git://github.com/jacquev6/Tests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Tests","language":"C","description":"Various tests","ssh_url":"git@github.com:jacquev6/Tests.git","pushed_at":"2012-04-01T04:24:47Z","created_at":"2011-03-28T20:24:02Z","id":1538471,"html_url":"https://github.com/jacquev6/Tests","full_name":"jacquev6/Tests"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","git_url":"git://github.com/jacquev6/DrawTurksHead.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","git_url":"git://github.com/jacquev6/DrawSyntax.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","git_url":"git://github.com/jacquev6/QuadProgMm.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","mirror_url":null,"has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","git_url":"git://github.com/jacquev6/ViDE.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - -http -GET -my.enterprise.com -None -/path/to/github/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2b9d2167029cc33666d02e0b0e95f2b9"'), ('date', 'Sat, 26 May 2012 11:08:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":17080,"public_gists":2,"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":11,"hireable":false,"private_gists":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"bio":"","company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","total_private_repos":5,"email":"vincent@vincent-jacques.net","collaborators":0,"followers":13,"name":"Vincent Jacques","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - diff --git a/github/tests/ReplayData/Enterprise.testSpecificPort.txt b/github/tests/ReplayData/Enterprise.testSpecificPort.txt deleted file mode 100644 index acc4e03..0000000 --- a/github/tests/ReplayData/Enterprise.testSpecificPort.txt +++ /dev/null @@ -1,11 +0,0 @@ -http -GET -my.enterprise.com -8080 -/user/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '17939'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3d6116bc986eb0698f0dfe92a01b2437"'), ('date', 'Sat, 26 May 2012 20:19:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","mirror_url":null,"has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","git_url":"git://github.com/jacquev6/TestPyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","git_url":"git://github.com/jacquev6/django.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/developer.github.com","git_url":"git://github.com/jacquev6/developer.github.com.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/acme-public-website","git_url":"git://github.com/jacquev6/acme-public-website.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","mirror_url":null,"has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/C4Planner","git_url":"git://github.com/jacquev6/C4Planner.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/Hacking.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-24T13:55:11Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Hacking","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":128,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Hacking","git_url":"git://github.com/jacquev6/Hacking.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Hacking","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Hacking.git","pushed_at":"2012-04-17T19:09:56Z","created_at":"2011-07-02T15:59:51Z","id":1988081,"html_url":"https://github.com/jacquev6/Hacking","full_name":"jacquev6/Hacking"},{"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-29T15:20:52Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":172,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/vincent-jacques.net","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"vincent-jacques.net","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","pushed_at":"2012-04-29T15:20:52Z","created_at":"2011-07-02T07:08:56Z","id":1986874,"html_url":"https://github.com/jacquev6/vincent-jacques.net","full_name":"jacquev6/vincent-jacques.net"},{"clone_url":"https://github.com/jacquev6/Contests.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-02-12T07:18:09Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"Contests","url":"https://api.github.com/repos/jacquev6/Contests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":448,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Contests","git_url":"git://github.com/jacquev6/Contests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Contests","language":"Python","description":"","ssh_url":"git@github.com:jacquev6/Contests.git","pushed_at":"2011-11-14T20:19:48Z","created_at":"2011-06-27T11:55:34Z","id":1959919,"html_url":"https://github.com/jacquev6/Contests","full_name":"jacquev6/Contests"},{"clone_url":"https://github.com/jacquev6/Candidates.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-05-11T13:50:37Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Candidates","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":700,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Candidates","git_url":"git://github.com/jacquev6/Candidates.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Candidates","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Candidates.git","pushed_at":"2012-05-11T13:50:36Z","created_at":"2011-04-09T18:24:08Z","id":1592290,"html_url":"https://github.com/jacquev6/Candidates","full_name":"jacquev6/Candidates"},{"clone_url":"https://github.com/jacquev6/Tests.git","mirror_url":null,"has_downloads":true,"watchers":0,"updated_at":"2012-04-28T10:16:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/Tests","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":3032,"private":true,"open_issues":0,"svn_url":"https://github.com/jacquev6/Tests","git_url":"git://github.com/jacquev6/Tests.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Tests","language":"C","description":"Various tests","ssh_url":"git@github.com:jacquev6/Tests.git","pushed_at":"2012-04-01T04:24:47Z","created_at":"2011-03-28T20:24:02Z","id":1538471,"html_url":"https://github.com/jacquev6/Tests","full_name":"jacquev6/Tests"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawTurksHead","git_url":"git://github.com/jacquev6/DrawTurksHead.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/DrawSyntax","git_url":"git://github.com/jacquev6/DrawSyntax.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/QuadProgMm","git_url":"git://github.com/jacquev6/QuadProgMm.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","mirror_url":null,"has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","mirror_url":null,"has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/ViDE","git_url":"git://github.com/jacquev6/ViDE.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - diff --git a/github/tests/ReplayData/Equality.testBranchEquality.txt b/github/tests/ReplayData/Equality.testBranchEquality.txt deleted file mode 100644 index b1ff3f1..0000000 --- a/github/tests/ReplayData/Equality.testBranchEquality.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3449:3070918:52802141'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1494'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 23:46:02 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"fe0984faabdc64453d942c3e3a992a39"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:13:54 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false,"name":"Vincent Jacques","company":"Amazon","blog":"http://vincent-jacques.net","location":"Seattle, WA, United States","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":18,"followers":29,"following":43,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-11-10T23:46:02Z","public_gists":5,"total_private_repos":3,"owned_private_repos":3,"disk_usage":90970,"collaborators":0,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3449:3070AAE:52802143'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4792'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 23:46:02 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"fe0984faabdc64453d942c3e3a992a39"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:13:56 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-11-10T23:46:02Z","pushed_at":"2013-11-10T23:45:59Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":8630,"stargazers_count":291,"watchers_count":291,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":79,"mirror_url":null,"open_issues_count":17,"forks":79,"open_issues":17,"watchers":291,"default_branch":"master","master_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":79,"subscribers_count":26} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/develop -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3449:3070BCA:52802144'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '3500'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"3fbf42ebb571f240626352110b71e641"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:13:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"name":"develop","commit":{"sha":"22f366b540a302036784afc979e28569ede388df","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-11-10T23:45:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-11-10T23:45:33Z"},"message":"Accept strings as well as Label objects (#202)\n\nThis should be more generic, but it's a wig work to do it\neverywhere. Let's keep that in mind for V2.","tree":{"sha":"da52b9c276aa8fa9dfda274e6dbcbe7b0dfd132f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/da52b9c276aa8fa9dfda274e6dbcbe7b0dfd132f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/22f366b540a302036784afc979e28569ede388df","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/22f366b540a302036784afc979e28569ede388df","html_url":"https://github.com/jacquev6/PyGithub/commit/22f366b540a302036784afc979e28569ede388df","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/22f366b540a302036784afc979e28569ede388df/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"54f718a15770579a37ffbe7ae94ad30003407786","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/54f718a15770579a37ffbe7ae94ad30003407786","html_url":"https://github.com/jacquev6/PyGithub/commit/54f718a15770579a37ffbe7ae94ad30003407786"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/develop","html":"https://github.com/jacquev6/PyGithub/tree/develop"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/develop -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:344A:3DD0893:52802146'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '3500'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"1d4efa84ec4f76163fb0c421d3f01d85"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:13:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"name":"develop","commit":{"sha":"22f366b540a302036784afc979e28569ede388df","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-11-10T23:45:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-11-10T23:45:33Z"},"message":"Accept strings as well as Label objects (#202)\n\nThis should be more generic, but it's a wig work to do it\neverywhere. Let's keep that in mind for V2.","tree":{"sha":"da52b9c276aa8fa9dfda274e6dbcbe7b0dfd132f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/da52b9c276aa8fa9dfda274e6dbcbe7b0dfd132f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/22f366b540a302036784afc979e28569ede388df","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/22f366b540a302036784afc979e28569ede388df","html_url":"https://github.com/jacquev6/PyGithub/commit/22f366b540a302036784afc979e28569ede388df","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/22f366b540a302036784afc979e28569ede388df/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"54f718a15770579a37ffbe7ae94ad30003407786","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/54f718a15770579a37ffbe7ae94ad30003407786","html_url":"https://github.com/jacquev6/PyGithub/commit/54f718a15770579a37ffbe7ae94ad30003407786"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/develop","html":"https://github.com/jacquev6/PyGithub/tree/develop"}} - diff --git a/github/tests/ReplayData/Equality.testUserDifference.txt b/github/tests/ReplayData/Equality.testUserDifference.txt deleted file mode 100644 index 94ded42..0000000 --- a/github/tests/ReplayData/Equality.testUserDifference.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:344A:3DD0CA2:52802148'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1494'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 23:46:02 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"fe0984faabdc64453d942c3e3a992a39"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:14:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false,"name":"Vincent Jacques","company":"Amazon","blog":"http://vincent-jacques.net","location":"Seattle, WA, United States","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":18,"followers":29,"following":43,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-11-10T23:46:02Z","public_gists":5,"total_private_repos":3,"owned_private_repos":3,"disk_usage":90970,"collaborators":0,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6} - -https -GET -api.github.com -None -/users/OddBloke -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3448:4124825:52802149'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1130'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 09 Nov 2013 21:41:44 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"13ce14e257e7adc5b376a1f5e03d5c1d"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:14:02 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"OddBloke","id":62736,"avatar_url":"https://2.gravatar.com/avatar/af881deb1a7ef0a1f568e18cd967c0d3?d=https%3A%2F%2Fidenticons.github.com%2F29c5b1cb9b545c69846a6542a71338bd.png&r=x","gravatar_id":"af881deb1a7ef0a1f568e18cd967c0d3","url":"https://api.github.com/users/OddBloke","html_url":"https://github.com/OddBloke","followers_url":"https://api.github.com/users/OddBloke/followers","following_url":"https://api.github.com/users/OddBloke/following{/other_user}","gists_url":"https://api.github.com/users/OddBloke/gists{/gist_id}","starred_url":"https://api.github.com/users/OddBloke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OddBloke/subscriptions","organizations_url":"https://api.github.com/users/OddBloke/orgs","repos_url":"https://api.github.com/users/OddBloke/repos","events_url":"https://api.github.com/users/OddBloke/events{/privacy}","received_events_url":"https://api.github.com/users/OddBloke/received_events","type":"User","site_admin":false,"public_repos":32,"followers":8,"following":1,"created_at":"2009-03-12T12:40:32Z","updated_at":"2013-11-09T21:41:44Z","public_gists":12} - diff --git a/github/tests/ReplayData/Equality.testUserEquality.txt b/github/tests/ReplayData/Equality.testUserEquality.txt deleted file mode 100644 index 5d1aeb5..0000000 --- a/github/tests/ReplayData/Equality.testUserEquality.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3449:30711F6:5280214B'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1494'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 23:46:02 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"fe0984faabdc64453d942c3e3a992a39"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:14:03 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false,"name":"Vincent Jacques","company":"Amazon","blog":"http://vincent-jacques.net","location":"Seattle, WA, United States","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":18,"followers":29,"following":43,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-11-10T23:46:02Z","public_gists":5,"total_private_repos":3,"owned_private_repos":3,"disk_usage":90970,"collaborators":0,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3447:28CA230:5280214C'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1494'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 23:46:02 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"fe0984faabdc64453d942c3e3a992a39"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:14:04 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false,"name":"Vincent Jacques","company":"Amazon","blog":"http://vincent-jacques.net","location":"Seattle, WA, United States","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":18,"followers":29,"following":43,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-11-10T23:46:02Z","public_gists":5,"total_private_repos":3,"owned_private_repos":3,"disk_usage":90970,"collaborators":0,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6} - diff --git a/github/tests/ReplayData/Event.setUp.txt b/github/tests/ReplayData/Event.setUp.txt deleted file mode 100644 index 4e41e7b..0000000 --- a/github/tests/ReplayData/Event.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fc78d67f262cad756e42354c78ecea4e"'), ('date', 'Sat, 26 May 2012 11:01:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":11,"type":"User","disk_usage":17080,"hireable":false,"blog":"http://vincent-jacques.net","url":"https://api.github.com/users/jacquev6","bio":"","plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"public_gists":2,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","owned_private_repos":5,"private_gists":5,"collaborators":0,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/users/jacquev6/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '44220'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"fef01e01dbfd77f945174529147fa3cb"'), ('date', 'Sat, 26 May 2012 11:01:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"PushEvent","payload":{"head":"619eae8d51c5988f0d2889fc767fa677438ba95d","size":11,"push_id":80673538,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":false,"message":"Merge branch 'develop'"},{"sha":"3a3bf4763192ee1234eb0557628133e06f3dfc76","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76","distinct":true,"message":"Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py"},{"sha":"608f17794664f61693a3dc05e6056fea8fbef0ff","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff","distinct":true,"message":"Restore some form of Authorization header in replay data"},{"sha":"2c04b8adbd91d38eef4f0767337ab7a12b2f684b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b","distinct":true,"message":"Allow test without pre-set-up Github"},{"sha":"5b97389988b6fe43e15a079702f6f1671257fb28","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28","distinct":true,"message":"Test three authentication schemes"},{"sha":"12747613c5ec00deccf296b8619ad507f7050475","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475","distinct":true,"message":"Test Issue.getComments"},{"sha":"2982fa96c5ca75abe717d974d83f9135d664232e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e","distinct":true,"message":"Test the new Repository.full_name attribute"},{"sha":"619eae8d51c5988f0d2889fc767fa677438ba95d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d","distinct":true,"message":"Improve coverage of AuthenticatedUser"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T10:01:39Z","id":"1556114751","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":null,"ref_type":"repository","description":"Repo created by PyGithub"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/TestPyGithub","id":4454027,"name":"jacquev6/TestPyGithub"},"created_at":"2012-05-26T09:55:27Z","id":"1556114217","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"create","gist":{"created_at":"2012-05-26T09:50:02Z","public":true,"comments":0,"git_push_url":"git@gist.github.com:2793179.git","files":{},"updated_at":"2012-05-26T09:50:02Z","url":"https://api.github.com/gists/2793179","id":"2793179","git_pull_url":"git://gist.github.com/2793179.git","description":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://gist.github.com/2793179"}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-26T09:50:03Z","id":"1556113740","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","comments":0,"title":"Publish version 0.7","updated_at":"2012-05-25T17:32:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:32Z","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/29","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940993","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","comments":1,"title":"Implement all authentication schemes","updated_at":"2012-05-25T17:32:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:31Z","labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940986","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref_type":"tag","ref":"v0.7","description":"Python library implementing the full Github API v3"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936661","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DeleteEvent","payload":{"ref_type":"branch","ref":"topic/Authentication"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936660","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","size":4,"push_id":80573368,"ref":"refs/heads/master","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":true,"message":"Merge branch 'develop'"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936659","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","size":3,"push_id":80573367,"commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"}],"ref":"refs/heads/develop"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:47Z","id":"1555936657","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":"topic/Authentication","description":"Python library implementing the full Github API v3","ref_type":"branch"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:24:21Z","id":"1555833283","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","title":"Publish version 0.7","comments":0,"updated_at":"2012-05-25T11:47:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"created_at":"2012-05-25T11:47:06Z","due_on":"2012-05-26T07:00:00Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"open_issues":2,"closed_issues":0,"description":"","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/29","labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:02:48Z","id":"1555822981","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-25T06:31:42Z","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","id":5924198,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","title":"Implement all authentication schemes","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":null,"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:31:42Z","id":"1555742639","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:05:21Z","id":"1555738288","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"527ce7459a2e60d1536883f19b9bc6850d71127b","size":5,"push_id":79877715,"commits":[{"sha":"287bc541542f9d32339e7dd4b36a511cab2ebdae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/287bc541542f9d32339e7dd4b36a511cab2ebdae","distinct":true,"message":"Generate more coverage information"},{"sha":"588a4a9a355096c00a2bb25f27664d2115e120ac","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/588a4a9a355096c00a2bb25f27664d2115e120ac","distinct":true,"message":"Test AuthenticatedUser watching"},{"sha":"815720f0deb376c34166c27b6e3b73e5c1f5b1a3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/815720f0deb376c34166c27b6e3b73e5c1f5b1a3","distinct":true,"message":"Test Authorization"},{"sha":"473c92adcd8bbbd32003d9c65666ede66059551b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/473c92adcd8bbbd32003d9c65666ede66059551b","distinct":true,"message":"Test Download and CommitComment"},{"sha":"527ce7459a2e60d1536883f19b9bc6850d71127b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/527ce7459a2e60d1536883f19b9bc6850d71127b","distinct":true,"message":"Merge commit 'c93f9cc8484b7' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\ttest/IntegrationTest.py"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:59:48Z","id":"1554729420","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:15:29Z","content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","id":242562,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:15:30Z","id":"1554712197","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:11:49Z","content_type":"text/richtext","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242556","id":242556,"description":"Download created by PyGithub","html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:11:49Z","id":"1554710791","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","size":1024,"content_type":"text/plain","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","download_count":0,"id":242550,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:58:32Z","id":"1554705673","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":19,"created_at":"2012-05-22T18:53:25Z","line":211,"body":"Foobar","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:53:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362020","id":1362020,"path":"src/github/AuthenticatedUser.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362020","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:53:25Z","id":"1554703698","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":3,"created_at":"2012-05-22T18:50:02Z","line":null,"body":"Comment also created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:50:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","id":1362001,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362001","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:50:02Z","id":"1554702296","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:49:34Z","line":26,"body":"Comment created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:49:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","id":1362000,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:49:34Z","id":"1554702087","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:40:18Z","body":"Comment created by PyGithub","line":null,"commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:40:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","id":1361949,"path":null,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:40:18Z","id":"1554698320","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:36:58Z","line":null,"body":"Comment created by PyGithub","updated_at":"2012-05-22T18:36:58Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361928","id":1361928,"path":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361928"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:36:58Z","id":"1554697057","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/nvie/gitflow","id":481366,"name":"nvie/gitflow"},"created_at":"2012-05-22T17:15:11Z","id":"1554664316","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"661812b9dd136efdb0e0c413793deb0939146651","size":2,"push_id":79550719,"commits":[{"sha":"c93f9cc8484b7835130689befc89ae88c7e72694","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c93f9cc8484b7835130689befc89ae88c7e72694","distinct":true,"message":"Remove noise in human readable description"},{"sha":"661812b9dd136efdb0e0c413793deb0939146651","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/661812b9dd136efdb0e0c413793deb0939146651","distinct":true,"message":"Test watching"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T13:48:45Z","id":"1554164185","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/nvie/gitflow","id":481366,"name":"nvie/gitflow"},"created_at":"2012-05-21T11:31:55Z","id":"1554123822","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-21T11:17:12Z","body":"Implemented in ca97469. Will be in version 1.0.","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820199","id":5820199,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":26,"created_at":"2012-05-17T12:02:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","comments":3,"title":"Rate limiting?","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","id":4622816,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":"2012-06-04T07:00:00Z","title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"closed_issues":2,"open_issues":9,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":"2012-05-21T11:17:12Z","html_url":"https://github.com/jacquev6/PyGithub/issues/26","user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","id":327442,"login":"bilderbuchi"},"labels":[{"name":"Public interface","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","color":"d7e102"}],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:17:14Z","id":"1554120319","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":26,"created_at":"2012-05-17T12:02:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","comments":3,"title":"Rate limiting?","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","id":4622816,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":"2012-06-04T07:00:00Z","title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"open_issues":9,"closed_issues":2,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":"2012-05-21T11:17:12Z","html_url":"https://github.com/jacquev6/PyGithub/issues/26","user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","id":327442,"login":"bilderbuchi"},"labels":[{"name":"Public interface","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","color":"d7e102"}],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:17:14Z","id":"1554120316","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","size":1,"push_id":79524271,"commits":[{"sha":"ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","distinct":true,"message":"Retrieve rate limiting information"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:16:05Z","id":"1554120027","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"d5ba645d446d9c237a52ddc9cdc6862e399c62dc","size":4,"push_id":79431688,"commits":[{"sha":"fd18d6299da666bffb9490a1a784060ca7a516f1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fd18d6299da666bffb9490a1a784060ca7a516f1","distinct":true,"message":"Test IssueComment"},{"sha":"beaa58ca0c038469b3b553b804b4d37b2363f8e2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/beaa58ca0c038469b3b553b804b4d37b2363f8e2","distinct":true,"message":"Test IssueEvent attributes"},{"sha":"6a2e4b4958385667c892cbd720fb91c6c44ab81a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6a2e4b4958385667c892cbd720fb91c6c44ab81a","distinct":true,"message":"Improve test coverage of NamedUser"},{"sha":"d5ba645d446d9c237a52ddc9cdc6862e399c62dc","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d5ba645d446d9c237a52ddc9cdc6862e399c62dc","distinct":true,"message":"Improve test coverage of AuthenticatedUser"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-20T17:59:32Z","id":"1553953684","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"FollowEvent","payload":{"target":{"name":"Vincent Driessen","company":"3rd Cloud","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","public_repos":61,"blog":"http://nvie.com","followers":297,"url":"https://api.github.com/users/nvie","public_gists":16,"hireable":false,"id":83844,"type":"User","bio":null,"login":"nvie","html_url":"https://github.com/nvie","email":"vincent@3rdcloud.com","following":41}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-20T12:47:52Z","id":"1553918130","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}] - diff --git a/github/tests/ReplayData/Exceptions.testBadAuthentication.txt b/github/tests/ReplayData/Exceptions.testBadAuthentication.txt deleted file mode 100644 index 6c11ada..0000000 --- a/github/tests/ReplayData/Exceptions.testBadAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -401 -[('status', '401 Unauthorized'), ('content-length', '29'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"ca6a3702f840b6bff0bb1bca6be0337c"'), ('date', 'Sat, 02 Jun 2012 12:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Bad credentials"} - diff --git a/github/tests/ReplayData/Exceptions.testInvalidInput.txt b/github/tests/ReplayData/Exceptions.testInvalidInput.txt deleted file mode 100644 index eb50d39..0000000 --- a/github/tests/ReplayData/Exceptions.testInvalidInput.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/user/keys -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"key": "xxx", "title": "Bad key"} -422 -[('status', '422 Unprocessable Entity'), ('x-ratelimit-remaining', '4995'), ('content-length', '221'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73f756ef75655dd74463eb1bf4cfefe1"'), ('date', 'Wed, 30 May 2012 07:00:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Validation Failed","errors":[{"field":"key","resource":"PublicKey","message":"key is invalid. It must begin with 'ssh-rsa' or 'ssh-dss'. Check that you're copying the public half of the key","code":"custom"}]} - diff --git a/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt b/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt deleted file mode 100755 index 963a346..0000000 --- a/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -503 -[('status', '503 Servive Unavailable'), ('content-length', '104'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"ca6a3702f840b6bff0bb1bca6be0337c"'), ('date', 'Sat, 02 Jun 2012 12:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -

503 Service Unavailable

No server is available to handle this request. - diff --git a/github/tests/ReplayData/Exceptions.testUnknownObject.txt b/github/tests/ReplayData/Exceptions.testUnknownObject.txt deleted file mode 100644 index cdc2abb..0000000 --- a/github/tests/ReplayData/Exceptions.testUnknownObject.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0e6c8f1cbb0c4f0eae96d8a76de9a43f"'), ('date', 'Sat, 02 Jun 2012 12:11:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","total_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","public_gists":3,"email":"vincent@vincent-jacques.net","owned_private_repos":5,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","private_gists":5,"collaborators":0,"created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net","location":"Paris, France","url":"https://api.github.com/users/jacquev6","following":24,"disk_usage":16988,"public_repos":10,"name":"Vincent Jacques","hireable":false,"followers":13,"html_url":"https://github.com/jacquev6","id":327146,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"bio":""} - -https -GET -api.github.com -None -/repos/jacquev6/Xxx -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4970'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 02 Jun 2012 12:11:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Exceptions.testUnknownUser.txt b/github/tests/ReplayData/Exceptions.testUnknownUser.txt deleted file mode 100644 index 0afe697..0000000 --- a/github/tests/ReplayData/Exceptions.testUnknownUser.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/ThisUserShouldReallyNotExist -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4968'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 02 Jun 2012 12:24:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/ExposeAllAttributes.testAllClasses.txt b/github/tests/ReplayData/ExposeAllAttributes.testAllClasses.txt deleted file mode 100644 index 0dd9860..0000000 --- a/github/tests/ReplayData/ExposeAllAttributes.testAllClasses.txt +++ /dev/null @@ -1,660 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4896'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8af842fb-ea9b-4237-bb36-ba65ee012cca'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1218'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 13:38:58 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ded215d39a497c6d2de00dd5e5a5deb6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:00 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"login":"nvie","id":83844,"avatar_url":"https://1.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https%3A%2F%2Fidenticons.github.com%2Fe6d0513ce49cc06cb956251623cb8fd9.png","gravatar_id":"466ef7561a0b100dc5a1021959962d28","url":"https://api.github.com/users/nvie","html_url":"https://github.com/nvie","followers_url":"https://api.github.com/users/nvie/followers","following_url":"https://api.github.com/users/nvie/following{/other_user}","gists_url":"https://api.github.com/users/nvie/gists{/gist_id}","starred_url":"https://api.github.com/users/nvie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvie/subscriptions","organizations_url":"https://api.github.com/users/nvie/orgs","repos_url":"https://api.github.com/users/nvie/repos","events_url":"https://api.github.com/users/nvie/events{/privacy}","received_events_url":"https://api.github.com/users/nvie/received_events","type":"User","name":"Vincent Driessen","company":"3rd Cloud","blog":"http://nvie.com","location":"Netherlands","email":"vincent@3rdcloud.com","hireable":true,"bio":null,"public_repos":87,"followers":542,"following":45,"created_at":"2009-05-12T21:19:38Z","updated_at":"2013-09-06T13:38:58Z","public_gists":38} - -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4895'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'bd7ef47e-9e8f-47b2-8367-f5d1185f675d'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1471'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":17,"followers":28,"following":40,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-09-06T12:51:22Z","public_gists":5,"total_private_repos":4,"owned_private_repos":4,"disk_usage":19212,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6,"site_admin":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4894'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8834e1c1-f4f5-4da8-a92e-4b985517e4fd'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4644'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:02 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-09-06T12:41:05Z","pushed_at":"2013-09-06T12:41:05Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":820,"watchers_count":256,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":76,"mirror_url":null,"open_issues_count":15,"forks":76,"open_issues":15,"watchers":256,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":76} - -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4893'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'aadd8ce1-31df-4c38-b3d9-33ba75cfaf08'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1030'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 23 Jan 2013 12:15:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"99d8ce990ccf1acbb3508bd20d9883e4"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:03 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"login":"BeaverSoftware","id":1424031,"url":"https://api.github.com/orgs/BeaverSoftware","repos_url":"https://api.github.com/orgs/BeaverSoftware/repos","events_url":"https://api.github.com/orgs/BeaverSoftware/events","members_url":"https://api.github.com/orgs/BeaverSoftware/members{/member}","public_members_url":"https://api.github.com/orgs/BeaverSoftware/public_members{/member}","avatar_url":"https://0.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https%3A%2F%2Fidenticons.github.com%2Fde8dec416975d0a85845b1b88385b9d5.png","name":null,"company":null,"blog":null,"location":"Paris, France","email":null,"public_repos":1,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/BeaverSoftware","created_at":"2012-02-09T19:20:12Z","updated_at":"2013-01-23T12:15:22Z","type":"Organization","total_private_repos":0,"owned_private_repos":0,"private_gists":0,"disk_usage":84,"collaborators":0,"billing_email":"BeaverSoftware@vincent-jacques.net","plan":{"name":"free","space":307200,"private_repos":0}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4892'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '43800e7e-e879-402b-8701-255c06ec7c33'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '3317'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"4363de8c7d91e18a17cec5a495ab091a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:04 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"name":"master","commit":{"sha":"ed781f8b1b96e1d2a342d36ca53114ea28862fa8","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"message":"Fix date of 1.18.0","tree":{"sha":"e90c43164378222f04883c0f6547102df818d1ef","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e90c43164378222f04883c0f6547102df818d1ef"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","html_url":"https://github.com/jacquev6/PyGithub/commit/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2c4e3cbc24581c214f44682bfc3e7f438bae127a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c4e3cbc24581c214f44682bfc3e7f438bae127a","html_url":"https://github.com/jacquev6/PyGithub/commit/2c4e3cbc24581c214f44682bfc3e7f438bae127a"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4891'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '223c6b24-a4ca-4539-8d78-38adeb061554'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '5275'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 09 May 2012 16:22:33 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"91582e2dc24ad5461e61062c01b32969"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:05 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-05-09T16:22:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-05-09T16:22:33Z"},"message":"Remove completion functions from GitAuthor","tree":{"sha":"4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4c6bd50994f0f9823f898b1c6c964ad7d4fa11ab"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","html_url":"https://github.com/jacquev6/PyGithub/commit/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae"}],"stats":{"total":20,"additions":0,"deletions":20},"files":[{"sha":"ca6a3c616fc1367b6d01d04a7cf6ee27cf216f26","filename":"github/GithubObjects/GitAuthor.py","status":"modified","additions":0,"deletions":20,"changes":20,"blob_url":"https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GithubObjects/GitAuthor.py?ref=1292bf0e22c796e91cc3d6e24b544aece8c21f2a","patch":"@@ -14,22 +14,17 @@ def __init__( self, requester, attributes, lazy ):\n self.__completed = False\n self.__initAttributes()\n self.__useAttributes( attributes )\n- if not lazy:\n- self.__complete()\n \n @property\n def date( self ):\n- self.__completeIfNeeded( self.__date )\n return self.__date\n \n @property\n def email( self ):\n- self.__completeIfNeeded( self.__email )\n return self.__email\n \n @property\n def name( self ):\n- self.__completeIfNeeded( self.__name )\n return self.__name\n \n def __initAttributes( self ):\n@@ -37,21 +32,6 @@ def __initAttributes( self ):\n self.__email = None\n self.__name = None\n \n- def __completeIfNeeded( self, testedAttribute ):\n- if not self.__completed and testedAttribute is None:\n- self.__complete()\n-\n- # @todo Do not generate __complete if type has no url attribute\n- def __complete( self ):\n- status, headers, data = self.__requester.request(\n- \"GET\",\n- self.__url,\n- None,\n- None\n- )\n- self.__useAttributes( data )\n- self.__completed = True\n-\n def __useAttributes( self, attributes ):\n #@todo No need to check if attribute is in attributes when attribute is mandatory\n if \"date\" in attributes and attributes[ \"date\" ] is not None:"}]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4890'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'bfc3ae14-6a54-4607-9d33-e51833d38736'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '2539'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"97c44c9e1c063b88767ef99e812a077b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:06 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","id":277040,"state":"success","description":"Status successfuly created by PyGithub","target_url":"https://github.com/jacquev6/PyGithub/issues/67","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2012-09-08T11:30:56Z","updated_at":"2012-09-08T11:30:56Z"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","id":277031,"state":"pending","description":null,"target_url":null,"creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2012-09-08T11:27:12Z","updated_at":"2012-09-08T11:27:12Z"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/17 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4889'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '77d21e66-086b-4a25-a708-948a4c057bf8'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1338'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:08 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/17/labels","id":215837,"number":17,"title":"Version 1.9.1","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":2,"state":"closed","created_at":"2012-11-20T07:36:46Z","updated_at":"2012-11-20T18:42:30Z","due_on":null} - -https -GET -api.github.com -None -/gists/149016 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4888'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '9a8fb974-29df-453c-a56c-0da8b8ce072c'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '32105'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 13:04:59 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"1aaa6053c05e25abbc1703b90bd409b9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:09 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/gists/149016","forks_url":"https://api.github.com/gists/149016/forks","commits_url":"https://api.github.com/gists/149016/commits","id":"149016","git_pull_url":"https://gist.github.com/149016.git","git_push_url":"https://gist.github.com/149016.git","html_url":"https://gist.github.com/149016","files":{".gitignore":{"filename":".gitignore","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/149016/e056704ebab0fbcd7bf937169b4057d378d09cf8/.gitignore","size":145,"content":"*.aux\n*.glo\n*.idx\n*.log\n*.toc\n*.ist\n*.acn\n*.acr\n*.alg\n*.bbl\n*.blg\n*.dvi\n*.glg\n*.gls\n*.ilg\n*.ind\n*.lof\n*.lot\n*.maf\n*.mtc\n*.mtc1\n*.out\n*.synctex.gz"}},"public":true,"created_at":"2009-07-17T11:37:42Z","updated_at":"2013-09-06T13:04:59Z","description":"Git: .gitignore file for LaTeX projects","comments":18,"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"comments_url":"https://api.github.com/gists/149016/comments","forks":[{"url":"https://api.github.com/gists/452042","user":{"login":"cflewis","id":43708,"avatar_url":"https://2.gravatar.com/avatar/5f986018993d9f078927fe29ee912cf2?d=https%3A%2F%2Fidenticons.github.com%2F287915711d06ce6d90e2c18e1d89d3a6.png","gravatar_id":"5f986018993d9f078927fe29ee912cf2","url":"https://api.github.com/users/cflewis","html_url":"https://github.com/cflewis","followers_url":"https://api.github.com/users/cflewis/followers","following_url":"https://api.github.com/users/cflewis/following{/other_user}","gists_url":"https://api.github.com/users/cflewis/gists{/gist_id}","starred_url":"https://api.github.com/users/cflewis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cflewis/subscriptions","organizations_url":"https://api.github.com/users/cflewis/orgs","repos_url":"https://api.github.com/users/cflewis/repos","events_url":"https://api.github.com/users/cflewis/events{/privacy}","received_events_url":"https://api.github.com/users/cflewis/received_events","type":"User"},"id":"452042","created_at":"2010-06-24T21:51:00Z","updated_at":"2010-06-24T21:51:25Z"},{"url":"https://api.github.com/gists/871983","user":{"login":"rbochet","id":56806,"avatar_url":"https://2.gravatar.com/avatar/54925726f7c3a2b76028718eddb8522a?d=https%3A%2F%2Fidenticons.github.com%2F8818556ce6ba4bc9302dca9ec1979591.png","gravatar_id":"54925726f7c3a2b76028718eddb8522a","url":"https://api.github.com/users/rbochet","html_url":"https://github.com/rbochet","followers_url":"https://api.github.com/users/rbochet/followers","following_url":"https://api.github.com/users/rbochet/following{/other_user}","gists_url":"https://api.github.com/users/rbochet/gists{/gist_id}","starred_url":"https://api.github.com/users/rbochet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbochet/subscriptions","organizations_url":"https://api.github.com/users/rbochet/orgs","repos_url":"https://api.github.com/users/rbochet/repos","events_url":"https://api.github.com/users/rbochet/events{/privacy}","received_events_url":"https://api.github.com/users/rbochet/received_events","type":"User"},"id":"871983","created_at":"2011-03-16T03:48:24Z","updated_at":"2013-08-16T00:46:15Z"},{"url":"https://api.github.com/gists/980414","user":{"login":"j10","id":250070,"avatar_url":"https://0.gravatar.com/avatar/7eb0a4d397a695f7fd15069a4f24ad44?d=https%3A%2F%2Fidenticons.github.com%2F6019c728e12af5d048c3d2decb9800cd.png","gravatar_id":"7eb0a4d397a695f7fd15069a4f24ad44","url":"https://api.github.com/users/j10","html_url":"https://github.com/j10","followers_url":"https://api.github.com/users/j10/followers","following_url":"https://api.github.com/users/j10/following{/other_user}","gists_url":"https://api.github.com/users/j10/gists{/gist_id}","starred_url":"https://api.github.com/users/j10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/j10/subscriptions","organizations_url":"https://api.github.com/users/j10/orgs","repos_url":"https://api.github.com/users/j10/repos","events_url":"https://api.github.com/users/j10/events{/privacy}","received_events_url":"https://api.github.com/users/j10/received_events","type":"User"},"id":"980414","created_at":"2011-05-19T08:43:14Z","updated_at":"2011-05-19T08:43:20Z"},{"url":"https://api.github.com/gists/1404741","user":{"login":"Vaguery","id":81171,"avatar_url":"https://0.gravatar.com/avatar/db04d40ecceb0a4c0683a60462d11794?d=https%3A%2F%2Fidenticons.github.com%2Fc3ea21d464d21b7bf62431791ec01b78.png","gravatar_id":"db04d40ecceb0a4c0683a60462d11794","url":"https://api.github.com/users/Vaguery","html_url":"https://github.com/Vaguery","followers_url":"https://api.github.com/users/Vaguery/followers","following_url":"https://api.github.com/users/Vaguery/following{/other_user}","gists_url":"https://api.github.com/users/Vaguery/gists{/gist_id}","starred_url":"https://api.github.com/users/Vaguery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vaguery/subscriptions","organizations_url":"https://api.github.com/users/Vaguery/orgs","repos_url":"https://api.github.com/users/Vaguery/repos","events_url":"https://api.github.com/users/Vaguery/events{/privacy}","received_events_url":"https://api.github.com/users/Vaguery/received_events","type":"User"},"id":"1404741","created_at":"2011-11-29T13:05:35Z","updated_at":"2011-11-29T13:05:35Z"},{"url":"https://api.github.com/gists/1422904","user":{"login":"phieber","id":1208351,"avatar_url":"https://1.gravatar.com/avatar/e2f846ae903d79fa8750763d0809cab5?d=https%3A%2F%2Fidenticons.github.com%2F09c10f8d5454910d48c67ff6081e8601.png","gravatar_id":"e2f846ae903d79fa8750763d0809cab5","url":"https://api.github.com/users/phieber","html_url":"https://github.com/phieber","followers_url":"https://api.github.com/users/phieber/followers","following_url":"https://api.github.com/users/phieber/following{/other_user}","gists_url":"https://api.github.com/users/phieber/gists{/gist_id}","starred_url":"https://api.github.com/users/phieber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phieber/subscriptions","organizations_url":"https://api.github.com/users/phieber/orgs","repos_url":"https://api.github.com/users/phieber/repos","events_url":"https://api.github.com/users/phieber/events{/privacy}","received_events_url":"https://api.github.com/users/phieber/received_events","type":"User"},"id":"1422904","created_at":"2011-12-02T11:25:46Z","updated_at":"2011-12-02T11:25:46Z"},{"url":"https://api.github.com/gists/1585783","user":{"login":"pbroschwitz","id":92129,"avatar_url":"https://1.gravatar.com/avatar/68e33f71f778ec322d68ca15ef2a7315?d=https%3A%2F%2Fidenticons.github.com%2F8417990ede5b8e7dc3295d4dd63e4062.png","gravatar_id":"68e33f71f778ec322d68ca15ef2a7315","url":"https://api.github.com/users/pbroschwitz","html_url":"https://github.com/pbroschwitz","followers_url":"https://api.github.com/users/pbroschwitz/followers","following_url":"https://api.github.com/users/pbroschwitz/following{/other_user}","gists_url":"https://api.github.com/users/pbroschwitz/gists{/gist_id}","starred_url":"https://api.github.com/users/pbroschwitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pbroschwitz/subscriptions","organizations_url":"https://api.github.com/users/pbroschwitz/orgs","repos_url":"https://api.github.com/users/pbroschwitz/repos","events_url":"https://api.github.com/users/pbroschwitz/events{/privacy}","received_events_url":"https://api.github.com/users/pbroschwitz/received_events","type":"User"},"id":"1585783","created_at":"2012-01-09T23:59:07Z","updated_at":"2012-02-20T11:18:52Z"},{"url":"https://api.github.com/gists/2549120","user":{"login":"gaving","id":43741,"avatar_url":"https://2.gravatar.com/avatar/839485ec6b0111d4ccc69646789d6728?d=https%3A%2F%2Fidenticons.github.com%2F781870bb5979fcc948dcc48da5fb798a.png","gravatar_id":"839485ec6b0111d4ccc69646789d6728","url":"https://api.github.com/users/gaving","html_url":"https://github.com/gaving","followers_url":"https://api.github.com/users/gaving/followers","following_url":"https://api.github.com/users/gaving/following{/other_user}","gists_url":"https://api.github.com/users/gaving/gists{/gist_id}","starred_url":"https://api.github.com/users/gaving/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaving/subscriptions","organizations_url":"https://api.github.com/users/gaving/orgs","repos_url":"https://api.github.com/users/gaving/repos","events_url":"https://api.github.com/users/gaving/events{/privacy}","received_events_url":"https://api.github.com/users/gaving/received_events","type":"User"},"id":"2549120","created_at":"2012-04-29T09:57:32Z","updated_at":"2012-04-29T09:57:32Z"},{"url":"https://api.github.com/gists/2549928","user":{"login":"pbelmans","id":700126,"avatar_url":"https://2.gravatar.com/avatar/bf4c56431003682b725b72668e7de35f?d=https%3A%2F%2Fidenticons.github.com%2Fb6e0db3b4d374eb7e8d52b9f271f4822.png","gravatar_id":"bf4c56431003682b725b72668e7de35f","url":"https://api.github.com/users/pbelmans","html_url":"https://github.com/pbelmans","followers_url":"https://api.github.com/users/pbelmans/followers","following_url":"https://api.github.com/users/pbelmans/following{/other_user}","gists_url":"https://api.github.com/users/pbelmans/gists{/gist_id}","starred_url":"https://api.github.com/users/pbelmans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pbelmans/subscriptions","organizations_url":"https://api.github.com/users/pbelmans/orgs","repos_url":"https://api.github.com/users/pbelmans/repos","events_url":"https://api.github.com/users/pbelmans/events{/privacy}","received_events_url":"https://api.github.com/users/pbelmans/received_events","type":"User"},"id":"2549928","created_at":"2012-04-29T12:07:11Z","updated_at":"2012-05-14T11:08:39Z"},{"url":"https://api.github.com/gists/3061207","user":{"login":"robEllenberg","id":1210940,"avatar_url":"https://1.gravatar.com/avatar/cee0a0313cb89262ccaf408cf42eeae8?d=https%3A%2F%2Fidenticons.github.com%2Fb927fc8b72fac9a5b05e8afd1545e069.png","gravatar_id":"cee0a0313cb89262ccaf408cf42eeae8","url":"https://api.github.com/users/robEllenberg","html_url":"https://github.com/robEllenberg","followers_url":"https://api.github.com/users/robEllenberg/followers","following_url":"https://api.github.com/users/robEllenberg/following{/other_user}","gists_url":"https://api.github.com/users/robEllenberg/gists{/gist_id}","starred_url":"https://api.github.com/users/robEllenberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robEllenberg/subscriptions","organizations_url":"https://api.github.com/users/robEllenberg/orgs","repos_url":"https://api.github.com/users/robEllenberg/repos","events_url":"https://api.github.com/users/robEllenberg/events{/privacy}","received_events_url":"https://api.github.com/users/robEllenberg/received_events","type":"User"},"id":"3061207","created_at":"2012-07-06T16:34:35Z","updated_at":"2012-07-06T16:34:35Z"},{"url":"https://api.github.com/gists/3073850","user":{"login":"naught101","id":167164,"avatar_url":"https://2.gravatar.com/avatar/20cb8dcc17ad4334c0f8cb1ddc28bcd0?d=https%3A%2F%2Fidenticons.github.com%2F16a0a5f3381b862da55875130a94ad3f.png","gravatar_id":"20cb8dcc17ad4334c0f8cb1ddc28bcd0","url":"https://api.github.com/users/naught101","html_url":"https://github.com/naught101","followers_url":"https://api.github.com/users/naught101/followers","following_url":"https://api.github.com/users/naught101/following{/other_user}","gists_url":"https://api.github.com/users/naught101/gists{/gist_id}","starred_url":"https://api.github.com/users/naught101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naught101/subscriptions","organizations_url":"https://api.github.com/users/naught101/orgs","repos_url":"https://api.github.com/users/naught101/repos","events_url":"https://api.github.com/users/naught101/events{/privacy}","received_events_url":"https://api.github.com/users/naught101/received_events","type":"User"},"id":"3073850","created_at":"2012-07-09T02:17:21Z","updated_at":"2012-07-09T02:17:21Z"},{"url":"https://api.github.com/gists/3683565","user":{"login":"TKAB","id":66597,"avatar_url":"https://1.gravatar.com/avatar/7a66c8124726c66cf9901d7e09f4f3cb?d=https%3A%2F%2Fidenticons.github.com%2F4bec99ec5bd39630575692948d9e8169.png","gravatar_id":"7a66c8124726c66cf9901d7e09f4f3cb","url":"https://api.github.com/users/TKAB","html_url":"https://github.com/TKAB","followers_url":"https://api.github.com/users/TKAB/followers","following_url":"https://api.github.com/users/TKAB/following{/other_user}","gists_url":"https://api.github.com/users/TKAB/gists{/gist_id}","starred_url":"https://api.github.com/users/TKAB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TKAB/subscriptions","organizations_url":"https://api.github.com/users/TKAB/orgs","repos_url":"https://api.github.com/users/TKAB/repos","events_url":"https://api.github.com/users/TKAB/events{/privacy}","received_events_url":"https://api.github.com/users/TKAB/received_events","type":"User"},"id":"3683565","created_at":"2012-09-09T09:58:43Z","updated_at":"2012-09-09T09:58:43Z"},{"url":"https://api.github.com/gists/3802139","user":{"login":"linchen04","id":1383767,"avatar_url":"https://1.gravatar.com/avatar/4380e7c4928005fc0eaf9772e1fe64b7?d=https%3A%2F%2Fidenticons.github.com%2F39a2a9b3f884c9a2e97ce61cb56e02fd.png","gravatar_id":"4380e7c4928005fc0eaf9772e1fe64b7","url":"https://api.github.com/users/linchen04","html_url":"https://github.com/linchen04","followers_url":"https://api.github.com/users/linchen04/followers","following_url":"https://api.github.com/users/linchen04/following{/other_user}","gists_url":"https://api.github.com/users/linchen04/gists{/gist_id}","starred_url":"https://api.github.com/users/linchen04/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linchen04/subscriptions","organizations_url":"https://api.github.com/users/linchen04/orgs","repos_url":"https://api.github.com/users/linchen04/repos","events_url":"https://api.github.com/users/linchen04/events{/privacy}","received_events_url":"https://api.github.com/users/linchen04/received_events","type":"User"},"id":"3802139","created_at":"2012-09-28T21:20:16Z","updated_at":"2012-09-28T21:20:16Z"},{"url":"https://api.github.com/gists/3958094","user":{"login":"macalicious","id":717205,"avatar_url":"https://2.gravatar.com/avatar/59eb80f68e015e725e9eeb90f24987b2?d=https%3A%2F%2Fidenticons.github.com%2F1d2591e0232d5734561c3c71252a2efa.png","gravatar_id":"59eb80f68e015e725e9eeb90f24987b2","url":"https://api.github.com/users/macalicious","html_url":"https://github.com/macalicious","followers_url":"https://api.github.com/users/macalicious/followers","following_url":"https://api.github.com/users/macalicious/following{/other_user}","gists_url":"https://api.github.com/users/macalicious/gists{/gist_id}","starred_url":"https://api.github.com/users/macalicious/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macalicious/subscriptions","organizations_url":"https://api.github.com/users/macalicious/orgs","repos_url":"https://api.github.com/users/macalicious/repos","events_url":"https://api.github.com/users/macalicious/events{/privacy}","received_events_url":"https://api.github.com/users/macalicious/received_events","type":"User"},"id":"3958094","created_at":"2012-10-26T10:37:44Z","updated_at":"2012-10-26T10:37:44Z"},{"url":"https://api.github.com/gists/4362953","user":{"login":"dermesser","id":1042327,"avatar_url":"https://0.gravatar.com/avatar/1f99406671a26d17de4f0a52a41ad0c7?d=https%3A%2F%2Fidenticons.github.com%2F1b2f62f9f8f36eeb3c2a1ed42d1a2249.png","gravatar_id":"1f99406671a26d17de4f0a52a41ad0c7","url":"https://api.github.com/users/dermesser","html_url":"https://github.com/dermesser","followers_url":"https://api.github.com/users/dermesser/followers","following_url":"https://api.github.com/users/dermesser/following{/other_user}","gists_url":"https://api.github.com/users/dermesser/gists{/gist_id}","starred_url":"https://api.github.com/users/dermesser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dermesser/subscriptions","organizations_url":"https://api.github.com/users/dermesser/orgs","repos_url":"https://api.github.com/users/dermesser/repos","events_url":"https://api.github.com/users/dermesser/events{/privacy}","received_events_url":"https://api.github.com/users/dermesser/received_events","type":"User"},"id":"4362953","created_at":"2012-12-23T11:04:08Z","updated_at":"2013-08-07T18:49:16Z"},{"url":"https://api.github.com/gists/4401093","user":{"login":"szalansky","id":323025,"avatar_url":"https://1.gravatar.com/avatar/b96196ac5b306a6f0d302dd9f82a24ee?d=https%3A%2F%2Fidenticons.github.com%2F6470274ac82665a71a91d36c419016ce.png","gravatar_id":"b96196ac5b306a6f0d302dd9f82a24ee","url":"https://api.github.com/users/szalansky","html_url":"https://github.com/szalansky","followers_url":"https://api.github.com/users/szalansky/followers","following_url":"https://api.github.com/users/szalansky/following{/other_user}","gists_url":"https://api.github.com/users/szalansky/gists{/gist_id}","starred_url":"https://api.github.com/users/szalansky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szalansky/subscriptions","organizations_url":"https://api.github.com/users/szalansky/orgs","repos_url":"https://api.github.com/users/szalansky/repos","events_url":"https://api.github.com/users/szalansky/events{/privacy}","received_events_url":"https://api.github.com/users/szalansky/received_events","type":"User"},"id":"4401093","created_at":"2012-12-28T19:28:03Z","updated_at":"2012-12-28T19:28:03Z"},{"url":"https://api.github.com/gists/4568476","user":{"login":"flomey","id":3226735,"avatar_url":"https://1.gravatar.com/avatar/3143afe043a2fdcd6a22a537e4cc3c8e?d=https%3A%2F%2Fidenticons.github.com%2F9271b5a509f2dabd1c5850acf684759c.png","gravatar_id":"3143afe043a2fdcd6a22a537e4cc3c8e","url":"https://api.github.com/users/flomey","html_url":"https://github.com/flomey","followers_url":"https://api.github.com/users/flomey/followers","following_url":"https://api.github.com/users/flomey/following{/other_user}","gists_url":"https://api.github.com/users/flomey/gists{/gist_id}","starred_url":"https://api.github.com/users/flomey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flomey/subscriptions","organizations_url":"https://api.github.com/users/flomey/orgs","repos_url":"https://api.github.com/users/flomey/repos","events_url":"https://api.github.com/users/flomey/events{/privacy}","received_events_url":"https://api.github.com/users/flomey/received_events","type":"User"},"id":"4568476","created_at":"2013-01-18T20:59:25Z","updated_at":"2013-01-18T20:59:25Z"},{"url":"https://api.github.com/gists/4732801","user":{"login":"mhebing","id":905115,"avatar_url":"https://2.gravatar.com/avatar/14e2a01d187cb0a167942e24e9234f95?d=https%3A%2F%2Fidenticons.github.com%2Fb874dedd9bb70a549db142d519aa6648.png","gravatar_id":"14e2a01d187cb0a167942e24e9234f95","url":"https://api.github.com/users/mhebing","html_url":"https://github.com/mhebing","followers_url":"https://api.github.com/users/mhebing/followers","following_url":"https://api.github.com/users/mhebing/following{/other_user}","gists_url":"https://api.github.com/users/mhebing/gists{/gist_id}","starred_url":"https://api.github.com/users/mhebing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhebing/subscriptions","organizations_url":"https://api.github.com/users/mhebing/orgs","repos_url":"https://api.github.com/users/mhebing/repos","events_url":"https://api.github.com/users/mhebing/events{/privacy}","received_events_url":"https://api.github.com/users/mhebing/received_events","type":"User"},"id":"4732801","created_at":"2013-02-07T17:57:21Z","updated_at":"2013-02-07T17:59:53Z"},{"url":"https://api.github.com/gists/5074215","user":{"login":"fumingshih","id":171536,"avatar_url":"https://0.gravatar.com/avatar/cdaeda52c7e0e7db119ec242652a7eac?d=https%3A%2F%2Fidenticons.github.com%2Ff3daf33ead84c02b32d673addce28321.png","gravatar_id":"cdaeda52c7e0e7db119ec242652a7eac","url":"https://api.github.com/users/fumingshih","html_url":"https://github.com/fumingshih","followers_url":"https://api.github.com/users/fumingshih/followers","following_url":"https://api.github.com/users/fumingshih/following{/other_user}","gists_url":"https://api.github.com/users/fumingshih/gists{/gist_id}","starred_url":"https://api.github.com/users/fumingshih/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fumingshih/subscriptions","organizations_url":"https://api.github.com/users/fumingshih/orgs","repos_url":"https://api.github.com/users/fumingshih/repos","events_url":"https://api.github.com/users/fumingshih/events{/privacy}","received_events_url":"https://api.github.com/users/fumingshih/received_events","type":"User"},"id":"5074215","created_at":"2013-03-03T02:30:54Z","updated_at":"2013-03-03T02:30:54Z"},{"url":"https://api.github.com/gists/5126805","user":{"login":"xiddw","id":742519,"avatar_url":"https://2.gravatar.com/avatar/e3aea2d1cdb375467416bff41c614582?d=https%3A%2F%2Fidenticons.github.com%2Ffd082f32f1f9679671081ba58bb37459.png","gravatar_id":"e3aea2d1cdb375467416bff41c614582","url":"https://api.github.com/users/xiddw","html_url":"https://github.com/xiddw","followers_url":"https://api.github.com/users/xiddw/followers","following_url":"https://api.github.com/users/xiddw/following{/other_user}","gists_url":"https://api.github.com/users/xiddw/gists{/gist_id}","starred_url":"https://api.github.com/users/xiddw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiddw/subscriptions","organizations_url":"https://api.github.com/users/xiddw/orgs","repos_url":"https://api.github.com/users/xiddw/repos","events_url":"https://api.github.com/users/xiddw/events{/privacy}","received_events_url":"https://api.github.com/users/xiddw/received_events","type":"User"},"id":"5126805","created_at":"2013-03-10T02:21:30Z","updated_at":"2013-03-10T02:21:30Z"},{"url":"https://api.github.com/gists/5353918","user":{"login":"stared","id":1001610,"avatar_url":"https://2.gravatar.com/avatar/1b324e4900e79878eb518c1263b41795?d=https%3A%2F%2Fidenticons.github.com%2F031dfe1b6a9e475fa708179fb35beb3b.png","gravatar_id":"1b324e4900e79878eb518c1263b41795","url":"https://api.github.com/users/stared","html_url":"https://github.com/stared","followers_url":"https://api.github.com/users/stared/followers","following_url":"https://api.github.com/users/stared/following{/other_user}","gists_url":"https://api.github.com/users/stared/gists{/gist_id}","starred_url":"https://api.github.com/users/stared/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stared/subscriptions","organizations_url":"https://api.github.com/users/stared/orgs","repos_url":"https://api.github.com/users/stared/repos","events_url":"https://api.github.com/users/stared/events{/privacy}","received_events_url":"https://api.github.com/users/stared/received_events","type":"User"},"id":"5353918","created_at":"2013-04-10T11:42:03Z","updated_at":"2013-04-10T11:43:47Z"},{"url":"https://api.github.com/gists/5600181","user":{"login":"huashuai","id":256761,"avatar_url":"https://1.gravatar.com/avatar/279030da669c3950fc54dea37ee3109e?d=https%3A%2F%2Fidenticons.github.com%2Fc66590f0228b4de1b7d16d1b8f10161c.png","gravatar_id":"279030da669c3950fc54dea37ee3109e","url":"https://api.github.com/users/huashuai","html_url":"https://github.com/huashuai","followers_url":"https://api.github.com/users/huashuai/followers","following_url":"https://api.github.com/users/huashuai/following{/other_user}","gists_url":"https://api.github.com/users/huashuai/gists{/gist_id}","starred_url":"https://api.github.com/users/huashuai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/huashuai/subscriptions","organizations_url":"https://api.github.com/users/huashuai/orgs","repos_url":"https://api.github.com/users/huashuai/repos","events_url":"https://api.github.com/users/huashuai/events{/privacy}","received_events_url":"https://api.github.com/users/huashuai/received_events","type":"User"},"id":"5600181","created_at":"2013-05-17T16:15:32Z","updated_at":"2013-05-17T16:15:32Z"},{"url":"https://api.github.com/gists/5639946","user":{"login":"simardcasanova","id":739940,"avatar_url":"https://0.gravatar.com/avatar/63c42221c8ed3dfc335a0d1b19397e36?d=https%3A%2F%2Fidenticons.github.com%2F819fcce6467f36e0beb6ffc69afa9f21.png","gravatar_id":"63c42221c8ed3dfc335a0d1b19397e36","url":"https://api.github.com/users/simardcasanova","html_url":"https://github.com/simardcasanova","followers_url":"https://api.github.com/users/simardcasanova/followers","following_url":"https://api.github.com/users/simardcasanova/following{/other_user}","gists_url":"https://api.github.com/users/simardcasanova/gists{/gist_id}","starred_url":"https://api.github.com/users/simardcasanova/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simardcasanova/subscriptions","organizations_url":"https://api.github.com/users/simardcasanova/orgs","repos_url":"https://api.github.com/users/simardcasanova/repos","events_url":"https://api.github.com/users/simardcasanova/events{/privacy}","received_events_url":"https://api.github.com/users/simardcasanova/received_events","type":"User"},"id":"5639946","created_at":"2013-05-23T22:24:19Z","updated_at":"2013-05-23T22:24:57Z"},{"url":"https://api.github.com/gists/5965077","user":{"login":"habi","id":1651235,"avatar_url":"https://1.gravatar.com/avatar/4a0a820ba6c1996bc37d64ce14606ad4?d=https%3A%2F%2Fidenticons.github.com%2Fbaa3c8588d9ab73deea280466d5db7e1.png","gravatar_id":"4a0a820ba6c1996bc37d64ce14606ad4","url":"https://api.github.com/users/habi","html_url":"https://github.com/habi","followers_url":"https://api.github.com/users/habi/followers","following_url":"https://api.github.com/users/habi/following{/other_user}","gists_url":"https://api.github.com/users/habi/gists{/gist_id}","starred_url":"https://api.github.com/users/habi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/habi/subscriptions","organizations_url":"https://api.github.com/users/habi/orgs","repos_url":"https://api.github.com/users/habi/repos","events_url":"https://api.github.com/users/habi/events{/privacy}","received_events_url":"https://api.github.com/users/habi/received_events","type":"User"},"id":"5965077","created_at":"2013-07-10T09:57:15Z","updated_at":"2013-07-10T09:57:40Z"},{"url":"https://api.github.com/gists/6394053","user":{"login":"glaubius","id":5349064,"avatar_url":"https://0.gravatar.com/avatar/ff2451755814a23845b19551371bb026?d=https%3A%2F%2Fidenticons.github.com%2Faa59a5980a33a834ee55c9f386e7c996.png","gravatar_id":"ff2451755814a23845b19551371bb026","url":"https://api.github.com/users/glaubius","html_url":"https://github.com/glaubius","followers_url":"https://api.github.com/users/glaubius/followers","following_url":"https://api.github.com/users/glaubius/following{/other_user}","gists_url":"https://api.github.com/users/glaubius/gists{/gist_id}","starred_url":"https://api.github.com/users/glaubius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glaubius/subscriptions","organizations_url":"https://api.github.com/users/glaubius/orgs","repos_url":"https://api.github.com/users/glaubius/repos","events_url":"https://api.github.com/users/glaubius/events{/privacy}","received_events_url":"https://api.github.com/users/glaubius/received_events","type":"User"},"id":"6394053","created_at":"2013-08-30T20:39:05Z","updated_at":"2013-08-30T20:39:05Z"},{"url":"https://api.github.com/gists/6463518","user":{"login":"janten","id":1794407,"avatar_url":"https://2.gravatar.com/avatar/44f5d723bf2ef2dac40327bfa9815989?d=https%3A%2F%2Fidenticons.github.com%2Fe177a89b246259b7b5a84411923e6881.png","gravatar_id":"44f5d723bf2ef2dac40327bfa9815989","url":"https://api.github.com/users/janten","html_url":"https://github.com/janten","followers_url":"https://api.github.com/users/janten/followers","following_url":"https://api.github.com/users/janten/following{/other_user}","gists_url":"https://api.github.com/users/janten/gists{/gist_id}","starred_url":"https://api.github.com/users/janten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janten/subscriptions","organizations_url":"https://api.github.com/users/janten/orgs","repos_url":"https://api.github.com/users/janten/repos","events_url":"https://api.github.com/users/janten/events{/privacy}","received_events_url":"https://api.github.com/users/janten/received_events","type":"User"},"id":"6463518","created_at":"2013-09-06T13:04:58Z","updated_at":"2013-09-06T13:04:58Z"}],"history":[{"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"version":"3e0e8350f040f21811ceea13975086158ccae986","committed_at":"2010-06-25T06:52:37Z","change_status":{"total":3,"additions":2,"deletions":1},"url":"https://api.github.com/gists/149016/3e0e8350f040f21811ceea13975086158ccae986"},{"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"version":"a3ce60041fe20410fc55d141e77a25d26e1a562a","committed_at":"2009-07-17T11:37:43Z","change_status":{"total":22,"additions":22,"deletions":0},"url":"https://api.github.com/gists/149016/a3ce60041fe20410fc55d141e77a25d26e1a562a"}]} - -https -GET -api.github.com -None -/gists/149016/comments/4565 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4887'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd7e4322b-0ea1-4673-8e35-b8c763037ecd'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1189'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 29 Aug 2013 01:07:03 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"923dd32a449cce56dae93d3438b9451a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:10 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/gists/149016/comments/4565","id":4565,"user":{"login":"cflewis","id":43708,"avatar_url":"https://2.gravatar.com/avatar/5f986018993d9f078927fe29ee912cf2?d=https%3A%2F%2Fidenticons.github.com%2F287915711d06ce6d90e2c18e1d89d3a6.png","gravatar_id":"5f986018993d9f078927fe29ee912cf2","url":"https://api.github.com/users/cflewis","html_url":"https://github.com/cflewis","followers_url":"https://api.github.com/users/cflewis/followers","following_url":"https://api.github.com/users/cflewis/following{/other_user}","gists_url":"https://api.github.com/users/cflewis/gists{/gist_id}","starred_url":"https://api.github.com/users/cflewis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cflewis/subscriptions","organizations_url":"https://api.github.com/users/cflewis/orgs","repos_url":"https://api.github.com/users/cflewis/repos","events_url":"https://api.github.com/users/cflewis/events{/privacy}","received_events_url":"https://api.github.com/users/cflewis/received_events","type":"User"},"created_at":"2010-06-24T21:50:00Z","updated_at":"2010-08-04T09:19:53Z","body":"Excellent! Thanks for this!\n\nI might consider adding '*.synctex.gz'. "} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/commits/be37b8a7f3a68631c32672dcd84d9eba27438ee6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4886'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'deb2e31a-4791-4322-bb88-d697b2b31e72'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '952'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Nov 2012 19:06:01 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"b9013239d62338e81f6ec48bae78699e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:11 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"sha":"be37b8a7f3a68631c32672dcd84d9eba27438ee6","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/be37b8a7f3a68631c32672dcd84d9eba27438ee6","html_url":"https://github.com/jacquev6/PyGithub/commits/be37b8a7f3a68631c32672dcd84d9eba27438ee6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-11-22T19:06:01Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2012-11-22T19:06:01Z"},"tree":{"sha":"6f7c2d8c66d78863f7b91792deaead619799a1ce","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6f7c2d8c66d78863f7b91792deaead619799a1ce"},"message":"Measure coverage simply in publish.sh","parents":[{"sha":"3026eb708fa0a6c669d3829e685663b8a161488b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3026eb708fa0a6c669d3829e685663b8a161488b","html_url":"https://github.com/jacquev6/PyGithub/commits/3026eb708fa0a6c669d3829e685663b8a161488b"}]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/6f7c2d8c66d78863f7b91792deaead619799a1ce -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4885'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '43062d85-44e9-4b72-ba51-a94ccd029fd7'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '2784'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:12 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"sha":"6f7c2d8c66d78863f7b91792deaead619799a1ce","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6f7c2d8c66d78863f7b91792deaead619799a1ce","tree":[{"mode":"100644","type":"blob","sha":"55cb5a84a96705c9b23dd6c9b5095aee9284b30a","path":".gitignore","size":83,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/55cb5a84a96705c9b23dd6c9b5095aee9284b30a"},{"mode":"100644","type":"blob","sha":"d1258c3e8ccd002e6ec45473a8fdedc70137c569","path":".travis.yml","size":345,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/d1258c3e8ccd002e6ec45473a8fdedc70137c569"},{"mode":"100644","type":"blob","sha":"94a9ed024d3859793618152ea559a168bbcbb5e2","path":"COPYING","size":35147,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/94a9ed024d3859793618152ea559a168bbcbb5e2"},{"mode":"100644","type":"blob","sha":"65c5ca88a67c30becee01c5a8816d964b03862f9","path":"COPYING.LESSER","size":7651,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/65c5ca88a67c30becee01c5a8816d964b03862f9"},{"mode":"100644","type":"blob","sha":"efbb5203c0bb41b4921999a301a5a35e06e9a8f2","path":"Contributing.md","size":969,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/efbb5203c0bb41b4921999a301a5a35e06e9a8f2"},{"mode":"100644","type":"blob","sha":"1344507c245dd59bc972682cb43163176226c597","path":"ReadMe.md","size":4666,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/1344507c245dd59bc972682cb43163176226c597"},{"mode":"040000","type":"tree","sha":"d612362a2609ca747a4d6526ae2cbdcd7df19600","path":"doc","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d612362a2609ca747a4d6526ae2cbdcd7df19600"},{"mode":"040000","type":"tree","sha":"b19632adf7f22ba0561b5c2511cd61b904ede4ca","path":"github","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b19632adf7f22ba0561b5c2511cd61b904ede4ca"},{"mode":"100755","type":"blob","sha":"f3adf2bddb82857f356e8b6a5ea1da8ea35a6c68","path":"publish.sh","size":942,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/f3adf2bddb82857f356e8b6a5ea1da8ea35a6c68"},{"mode":"100644","type":"blob","sha":"609f912230aec315ba1d3c745e472fbc6393eefa","path":"python25-requirements.txt","size":23,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/609f912230aec315ba1d3c745e472fbc6393eefa"},{"mode":"100644","type":"blob","sha":"9a23970d3adfeed83eec1d89fbe27062de0b1bfa","path":"python26-requirements.txt","size":10,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9a23970d3adfeed83eec1d89fbe27062de0b1bfa"},{"mode":"100755","type":"blob","sha":"0d8eea784e5bce67efd2f25c6ece0cd573896065","path":"setup.py","size":2481,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/0d8eea784e5bce67efd2f25c6ece0cd573896065"}]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/blobs/681fb61f1761743a02f5c790f1c762cbfe8cfad1 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4884'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'cc0f0761-fe8d-4ccc-bc23-3348ed8945d5'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '299'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"01162d231bc8dfd76e35f833ecebaa0e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:14 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"sha":"681fb61f1761743a02f5c790f1c762cbfe8cfad1","size":71,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/681fb61f1761743a02f5c790f1c762cbfe8cfad1","content":"Ki5weWMKR2l0aHViQ3JlZGVudGlhbHMucHkKL2Rpc3QvCi9idWlsZC8KL01B\nTklGRVNUCi9QeUdpdGh1Yi5lZ2ctaW5mby8=\n","encoding":"base64"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/tags/v1.17.0 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4883'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'eb4e50d0-67c7-41f4-977e-fd091a501b16'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '282'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:15 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"ref":"refs/tags/v1.17.0","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v1.17.0","object":{"sha":"a08db4387b1294359e283f2a5c2c79584e23450f","type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/a08db4387b1294359e283f2a5c2c79584e23450f"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/188 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4882'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8ca72976-9b88-4917-8fd7-1aa29db18369'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '5443'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:21 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/events","html_url":"https://github.com/jacquev6/PyGithub/issues/188","id":17736533,"number":188,"title":"Getting the status of GitHub","user":{"login":"ruxandraburtica","id":797922,"avatar_url":"https://2.gravatar.com/avatar/5703c5907fc67b679be40fd307b07733?d=https%3A%2F%2Fidenticons.github.com%2F470a720db37e19afad67c34e30ffcd85.png","gravatar_id":"5703c5907fc67b679be40fd307b07733","url":"https://api.github.com/users/ruxandraburtica","html_url":"https://github.com/ruxandraburtica","followers_url":"https://api.github.com/users/ruxandraburtica/followers","following_url":"https://api.github.com/users/ruxandraburtica/following{/other_user}","gists_url":"https://api.github.com/users/ruxandraburtica/gists{/gist_id}","starred_url":"https://api.github.com/users/ruxandraburtica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruxandraburtica/subscriptions","organizations_url":"https://api.github.com/users/ruxandraburtica/orgs","repos_url":"https://api.github.com/users/ruxandraburtica/repos","events_url":"https://api.github.com/users/ruxandraburtica/events{/privacy}","received_events_url":"https://api.github.com/users/ruxandraburtica/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T09:42:02Z","due_on":null},"comments":2,"created_at":"2013-08-07T08:57:49Z","updated_at":"2013-09-06T09:11:57Z","closed_at":"2013-09-06T09:11:57Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Maybe I haven't found it, but it would be very useful to have methods for checking the status of the GitHub API (https://status.github.com/api)","closed_by":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/22686536 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4881'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '49eb6041-cb09-423d-b769-6a927988ef00'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1396'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:22 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/22686536","html_url":"https://github.com/jacquev6/PyGithub/issues/188#issuecomment-22686536","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","id":22686536,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-08-15T05:53:37Z","updated_at":"2013-08-15T05:53:37Z","body":"This seems to be a good idea! I will try to do it in the version after the next one."} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/188/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4880'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '67185958-5c65-481a-b8fd-86d28ceea272'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '3480'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:23 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"id":60946408,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/60946408","actor":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"event":"assigned","commit_id":null,"created_at":"2013-08-15T05:55:32Z"},{"id":64178794,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/64178794","actor":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"event":"referenced","commit_id":"c819580ce872f251e8ec23deee95d9fb15ca19c9","created_at":"2013-09-06T09:05:10Z"},{"id":64179485,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/64179485","actor":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"event":"closed","commit_id":null,"created_at":"2013-09-06T09:11:57Z"}] - -https -GET -api.github.com -None -/gitignore/templates/Python -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4879'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8276ab6d-803c-4421-9a34-ecc99ff8ddec'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '367'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"7870725c2e426a0c93146449ebc6f176"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:26 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"name":"Python","source":"*.py[cod]\n\n# C extensions\n*.so\n\n# Packages\n*.egg\n*.egg-info\ndist\nbuild\neggs\nparts\nbin\nvar\nsdist\ndevelop-eggs\n.installed.cfg\nlib\nlib64\n\n# Installer logs\npip-log.txt\n\n# Unit test / coverage reports\n.coverage\n.tox\nnosetests.xml\n\n# Translations\n*.mo\n\n# Mr Developer\n.mr.developer.cfg\n.project\n.pydevproject\n"} - -https -GET -api.github.com -None -/teams/141487 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4878'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '7cb4a0fc-0363-4bfb-b09e-68f426c6e359'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '276'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:27 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"name":"Owners","id":141487,"slug":"owners","permission":"admin","url":"https://api.github.com/teams/141487","members_url":"https://api.github.com/teams/141487/members{/member}","repositories_url":"https://api.github.com/teams/141487/repos","members_count":1,"repos_count":1} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4877'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'ebdad7b3-e224-4923-a10e-2db7e1e75530'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '97'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:28 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4876'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '571ddd42-66bf-460c-a9a5-bb5f62ffe987'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '11337'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:29 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","id":1436215,"html_url":"https://github.com/jacquev6/PyGithub/pull/31","diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","issue_url":"https://github.com/jacquev6/PyGithub/pull/31","number":31,"state":"closed","title":"Title edited by PyGithub","user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"body":"Body edited by PyGithub","created_at":"2012-05-27T09:25:36Z","updated_at":"2012-11-03T08:19:40Z","closed_at":"2012-05-27T10:29:07Z","merged_at":"2012-05-27T10:29:07Z","merge_commit_sha":"28ae6dd10ebccd5eaf8db8dacb5b699ee7f4a663","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":null,"commits_url":"https://github.com/jacquev6/PyGithub/pull/31/commits","review_comments_url":"https://github.com/jacquev6/PyGithub/pull/31/comments","review_comment_url":"/repos/jacquev6/PyGithub/pulls/comments/{number}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments","head":{"label":"BeaverSoftware:master","ref":"master","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","user":{"login":"BeaverSoftware","id":1424031,"avatar_url":"https://2.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https%3A%2F%2Fidenticons.github.com%2Fde8dec416975d0a85845b1b88385b9d5.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","html_url":"https://github.com/BeaverSoftware","followers_url":"https://api.github.com/users/BeaverSoftware/followers","following_url":"https://api.github.com/users/BeaverSoftware/following{/other_user}","gists_url":"https://api.github.com/users/BeaverSoftware/gists{/gist_id}","starred_url":"https://api.github.com/users/BeaverSoftware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BeaverSoftware/subscriptions","organizations_url":"https://api.github.com/users/BeaverSoftware/orgs","repos_url":"https://api.github.com/users/BeaverSoftware/repos","events_url":"https://api.github.com/users/BeaverSoftware/events{/privacy}","received_events_url":"https://api.github.com/users/BeaverSoftware/received_events","type":"Organization"},"repo":null},"base":{"label":"jacquev6:topic/RewriteWithGeneratedCode","ref":"topic/RewriteWithGeneratedCode","sha":"ed866fc43833802ab553e5ff8581c81bb00dd433","user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"repo":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-09-06T12:41:05Z","pushed_at":"2013-09-06T12:41:05Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":820,"watchers_count":256,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":76,"mirror_url":null,"open_issues_count":15,"forks":76,"open_issues":15,"watchers":256,"master_branch":"master","default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"}},"merged":true,"mergeable":false,"mergeable_state":"dirty","merged_by":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments":1,"review_comments":1,"commits":3,"additions":511,"deletions":384,"changed_files":45} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments/1580134 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4875'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '677bae62-e9e4-4420-a6f7-5572ecd844c9'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '2269'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:31 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134","id":1580134,"body":"Review comment created for PyGithub","diff_hunk":"@@ -70,7 +70,7 @@ def __useAttributes( self, attributes ):\n \n # @todo No need to check if attribute is in attributes when attribute is mandatory\n {% for attribute in class.attributes|dictsort:\"name\" %}\n- if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None:\n+ if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None: # pragma no branch","path":"codegen/templates/GithubObject.py","position":5,"original_position":5,"commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2012-09-11T20:06:32Z","updated_at":"2012-09-11T20:06:32Z","html_url":"https://github.com/jacquev6/PyGithub/pull/31#discussion_r1580134","pull_request_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#discussion_r1580134"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/files -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4874'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '2e2d4c57-e963-4381-985e-9c6ca34a5692'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '175951'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:32 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"sha":"fb4855905c4825612bdd2db42346833c203e77c8","filename":"codegen/templates/GithubObject.py","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/codegen/templates/GithubObject.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -70,7 +70,7 @@ def __useAttributes( self, attributes ):\n \n # @todo No need to check if attribute is in attributes when attribute is mandatory\n {% for attribute in class.attributes|dictsort:\"name\" %}\n- if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None:\n+ if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None: # pragma no branch\n \n {% if attribute.type.cardinality == \"scalar\" %}\n {% if attribute.type.simple %}"},{"sha":"502f657077e67378a09cd923d8b7629a81469d81","filename":"src/github/AuthenticatedUser.py","status":"modified","additions":25,"deletions":25,"changes":50,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/AuthenticatedUser.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -568,78 +568,78 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"2c2e7ad5c7d5f5f6bbb16bc4149cc2388b870d63","filename":"src/github/Authorization.py","status":"modified","additions":9,"deletions":9,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Authorization.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -117,21 +117,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"app\", \"created_at\", \"id\", \"note\", \"note_url\", \"scopes\", \"token\", \"updated_at\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"app\" in attributes and attributes[ \"app\" ] is not None:\n+ if \"app\" in attributes and attributes[ \"app\" ] is not None: # pragma no branch\n self.__app = attributes[ \"app\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"note\" in attributes and attributes[ \"note\" ] is not None:\n+ if \"note\" in attributes and attributes[ \"note\" ] is not None: # pragma no branch\n self.__note = attributes[ \"note\" ]\n- if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None:\n+ if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None: # pragma no branch\n self.__note_url = attributes[ \"note_url\" ]\n- if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None:\n+ if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None: # pragma no branch\n self.__scopes = attributes[ \"scopes\" ]\n- if \"token\" in attributes and attributes[ \"token\" ] is not None:\n+ if \"token\" in attributes and attributes[ \"token\" ] is not None: # pragma no branch\n self.__token = attributes[ \"token\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]"},{"sha":"96ae96478e61087c378e8f5caaf8064ba3b5d9ff","filename":"src/github/Branch.py","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Branch.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -28,9 +28,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]"},{"sha":"bef139283f26710febfd03d3cce3a9193dbbde22","filename":"src/github/Commit.py","status":"modified","additions":8,"deletions":8,"changes":16,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Commit.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -120,33 +120,33 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"commit\", \"committer\", \"files\", \"parents\", \"sha\", \"stats\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = NamedUser.NamedUser( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = GitCommit.GitCommit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = NamedUser.NamedUser( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"files\" ], list ) and ( len( attributes[ \"files\" ] ) == 0 or isinstance( attributes[ \"files\" ][ 0 ], dict ) )\n self.__files = [\n CommitFile.CommitFile( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"files\" ]\n ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n Commit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"stats\" in attributes and attributes[ \"stats\" ] is not None:\n+ if \"stats\" in attributes and attributes[ \"stats\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"stats\" ], dict )\n self.__stats = CommitStats.CommitStats( self.__requester, attributes[ \"stats\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"6e95e0bac8d227daedbcff076a182a762f4e7229","filename":"src/github/CommitComment.py","status":"modified","additions":11,"deletions":11,"changes":22,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/CommitComment.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -121,36 +121,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"line\" ], int )\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"position\" ], int )\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"27185b984a57346b0ef4f591b08f9398b1d1cb83","filename":"src/github/CommitFile.py","status":"modified","additions":9,"deletions":9,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/CommitFile.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]"},{"sha":"772d0eedaf7cf55d3e3e7c6ad040d17de3ec5f80","filename":"src/github/CommitStats.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/CommitStats.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"deletions\", \"total\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"additions\" ], int )\n self.__additions = attributes[ \"additions\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"deletions\" ], int )\n self.__deletions = attributes[ \"deletions\" ]\n- if \"total\" in attributes and attributes[ \"total\" ] is not None:\n+ if \"total\" in attributes and attributes[ \"total\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total\" ], int )\n self.__total = attributes[ \"total\" ]"},{"sha":"28c49231bb6c27f102b9f5d42505764cdcb79089","filename":"src/github/Download.py","status":"modified","additions":20,"deletions":20,"changes":40,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Download.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -162,43 +162,43 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"accesskeyid\", \"acl\", \"bucket\", \"content_type\", \"created_at\", \"description\", \"download_count\", \"expirationdate\", \"html_url\", \"id\", \"mime_type\", \"name\", \"path\", \"policy\", \"prefix\", \"redirect\", \"s3_url\", \"signature\", \"size\", \"url\", \"x-amz-meta-content-disposition\" ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None:\n+ if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None: # pragma no branch\n self.__accesskeyid = attributes[ \"accesskeyid\" ]\n- if \"acl\" in attributes and attributes[ \"acl\" ] is not None:\n+ if \"acl\" in attributes and attributes[ \"acl\" ] is not None: # pragma no branch\n self.__acl = attributes[ \"acl\" ]\n- if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None:\n+ if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None: # pragma no branch\n self.__bucket = attributes[ \"bucket\" ]\n- if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None:\n+ if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None: # pragma no branch\n self.__content_type = attributes[ \"content_type\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n self.__description = attributes[ \"description\" ]\n- if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None:\n+ if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None: # pragma no branch\n self.__download_count = attributes[ \"download_count\" ]\n- if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None:\n+ if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None: # pragma no branch\n self.__expirationdate = attributes[ \"expirationdate\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None:\n+ if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None: # pragma no branch\n self.__mime_type = attributes[ \"mime_type\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"policy\" in attributes and attributes[ \"policy\" ] is not None:\n+ if \"policy\" in attributes and attributes[ \"policy\" ] is not None: # pragma no branch\n self.__policy = attributes[ \"policy\" ]\n- if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None:\n+ if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None: # pragma no branch\n self.__prefix = attributes[ \"prefix\" ]\n- if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None:\n+ if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None: # pragma no branch\n self.__redirect = attributes[ \"redirect\" ]\n- if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None:\n+ if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None: # pragma no branch\n self.__s3_url = attributes[ \"s3_url\" ]\n- if \"signature\" in attributes and attributes[ \"signature\" ] is not None:\n+ if \"signature\" in attributes and attributes[ \"signature\" ] is not None: # pragma no branch\n self.__signature = attributes[ \"signature\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]"},{"sha":"f04618e50b93c36d1b454fd3c04eda2304c3f953","filename":"src/github/Event.py","status":"modified","additions":8,"deletions":8,"changes":16,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Event.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -60,22 +60,22 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"created_at\", \"id\", \"org\", \"payload\", \"public\", \"repo\", \"type\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"org\" in attributes and attributes[ \"org\" ] is not None:\n+ if \"org\" in attributes and attributes[ \"org\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"org\" ], dict )\n self.__org = Organization.Organization( self.__requester, attributes[ \"org\" ], completion = LazyCompletion )\n- if \"payload\" in attributes and attributes[ \"payload\" ] is not None:\n+ if \"payload\" in attributes and attributes[ \"payload\" ] is not None: # pragma no branch\n self.__payload = attributes[ \"payload\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n self.__public = attributes[ \"public\" ]\n- if \"repo\" in attributes and attributes[ \"repo\" ] is not None:\n+ if \"repo\" in attributes and attributes[ \"repo\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repo\" ], dict )\n self.__repo = Repository.Repository( self.__requester, attributes[ \"repo\" ], completion = LazyCompletion )\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n self.__type = attributes[ \"type\" ]"},{"sha":"56bd080c75f4063321baab79027bddbf48a23063","filename":"src/github/Gist.py","status":"modified","additions":15,"deletions":15,"changes":30,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Gist.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -220,53 +220,53 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"comments\", \"created_at\", \"description\", \"files\", \"fork_of\", \"forks\", \"git_pull_url\", \"git_push_url\", \"history\", \"html_url\", \"id\", \"public\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n self.__files = attributes[ \"files\" ]\n- if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None:\n+ if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork_of\" ], dict )\n self.__fork_of = Gist( self.__requester, attributes[ \"fork_of\" ], completion = LazyCompletion )\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], list ) and ( len( attributes[ \"forks\" ] ) == 0 or isinstance( attributes[ \"forks\" ][ 0 ], dict ) )\n self.__forks = [\n Gist( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"forks\" ]\n ]\n- if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None:\n+ if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_pull_url\" ], ( str, unicode ) )\n self.__git_pull_url = attributes[ \"git_pull_url\" ]\n- if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None:\n+ if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_push_url\" ], ( str, unicode ) )\n self.__git_push_url = attributes[ \"git_push_url\" ]\n- if \"history\" in attributes and attributes[ \"history\" ] is not None:\n+ if \"history\" in attributes and attributes[ \"history\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"history\" ], list ) and ( len( attributes[ \"history\" ] ) == 0 or isinstance( attributes[ \"history\" ][ 0 ], dict ) )\n self.__history = [\n GistHistoryState.GistHistoryState( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"history\" ]\n ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], ( str, unicode ) )\n self.__id = attributes[ \"id\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public\" ], bool )\n self.__public = attributes[ \"public\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"a595ca288f230fbe30416bc854cc8df51682fb65","filename":"src/github/GistComment.py","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GistComment.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"d325a2b14180a808327beb752c8365467ff4872f","filename":"src/github/GistHistoryState.py","status":"modified","additions":5,"deletions":5,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GistHistoryState.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -44,18 +44,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"change_status\", \"committed_at\", \"url\", \"user\", \"version\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None:\n+ if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"change_status\" ], dict )\n self.__change_status = CommitStats.CommitStats( self.__requester, attributes[ \"change_status\" ], completion = LazyCompletion )\n- if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None:\n+ if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committed_at\" ], ( str, unicode ) )\n self.__committed_at = attributes[ \"committed_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )\n- if \"version\" in attributes and attributes[ \"version\" ] is not None:\n+ if \"version\" in attributes and attributes[ \"version\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"version\" ], ( str, unicode ) )\n self.__version = attributes[ \"version\" ]"},{"sha":"2c710f56cfbe950099e74565680aee6ef2a20402","filename":"src/github/GitAuthor.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitAuthor.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"date\", \"email\", \"name\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"date\" in attributes and attributes[ \"date\" ] is not None:\n+ if \"date\" in attributes and attributes[ \"date\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"date\" ], ( str, unicode ) )\n self.__date = attributes[ \"date\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]"},{"sha":"4defbde8b71269490ca951e836b5b1e1c540cb64","filename":"src/github/GitBlob.py","status":"modified","additions":5,"deletions":5,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitBlob.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -42,18 +42,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"content\", \"encoding\", \"sha\", \"size\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"content\" in attributes and attributes[ \"content\" ] is not None:\n+ if \"content\" in attributes and attributes[ \"content\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"content\" ], ( str, unicode ) )\n self.__content = attributes[ \"content\" ]\n- if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None:\n+ if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"encoding\" ], ( str, unicode ) )\n self.__encoding = attributes[ \"encoding\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"13382cd7ac3c062fdb71e0873b223dbdd18f244e","filename":"src/github/GitCommit.py","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitCommit.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -55,27 +55,27 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"committer\", \"message\", \"parents\", \"sha\", \"tree\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = GitAuthor.GitAuthor( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = GitAuthor.GitAuthor( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n GitCommit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], dict )\n self.__tree = GitTree.GitTree( self.__requester, attributes[ \"tree\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"05e3067c1014ce22ced1faca83a74fa9215fd97e","filename":"src/github/GitObject.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitObject.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"type\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"bfc8d91335cf0f81694a81ce534d79988f1bb0fe","filename":"src/github/GitRef.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitRef.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -55,12 +55,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"object\", \"ref\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"ref\" in attributes and attributes[ \"ref\" ] is not None:\n+ if \"ref\" in attributes and attributes[ \"ref\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ref\" ], ( str, unicode ) )\n self.__ref = attributes[ \"ref\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"532d3a056c2490883f826da7369067a24d001055","filename":"src/github/GitTag.py","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitTag.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -49,21 +49,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"message\", \"object\", \"sha\", \"tag\", \"tagger\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tag\" in attributes and attributes[ \"tag\" ] is not None:\n+ if \"tag\" in attributes and attributes[ \"tag\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tag\" ], ( str, unicode ) )\n self.__tag = attributes[ \"tag\" ]\n- if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None:\n+ if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tagger\" ], dict )\n self.__tagger = GitAuthor.GitAuthor( self.__requester, attributes[ \"tagger\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"321f54fc52bcb0ac7843ecf9de53c091e2ad942c","filename":"src/github/GitTree.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitTree.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -33,15 +33,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"tree\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], list ) and ( len( attributes[ \"tree\" ] ) == 0 or isinstance( attributes[ \"tree\" ][ 0 ], dict ) )\n self.__tree = [\n GitTreeElement.GitTreeElement( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"tree\" ]\n ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"97ff07009a4af0d1bacc2c404dbbbff58700b359","filename":"src/github/GitTreeElement.py","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/GitTreeElement.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -47,21 +47,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"mode\", \"path\", \"sha\", \"size\", \"type\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"mode\" in attributes and attributes[ \"mode\" ] is not None:\n+ if \"mode\" in attributes and attributes[ \"mode\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mode\" ], ( str, unicode ) )\n self.__mode = attributes[ \"mode\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"9ac71aa29d8287d57b4d2109754f9da1b0a13fb7","filename":"src/github/Hook.py","status":"modified","additions":9,"deletions":9,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Hook.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -99,21 +99,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"active\", \"config\", \"created_at\", \"events\", \"id\", \"last_response\", \"name\", \"updated_at\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"active\" in attributes and attributes[ \"active\" ] is not None:\n+ if \"active\" in attributes and attributes[ \"active\" ] is not None: # pragma no branch\n self.__active = attributes[ \"active\" ]\n- if \"config\" in attributes and attributes[ \"config\" ] is not None:\n+ if \"config\" in attributes and attributes[ \"config\" ] is not None: # pragma no branch\n self.__config = attributes[ \"config\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"events\" in attributes and attributes[ \"events\" ] is not None:\n+ if \"events\" in attributes and attributes[ \"events\" ] is not None: # pragma no branch\n self.__events = attributes[ \"events\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None:\n+ if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None: # pragma no branch\n self.__last_response = attributes[ \"last_response\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]"},{"sha":"8c10440882b7a8a0ce52adacff48066cce006a31","filename":"src/github/Issue.py","status":"modified","additions":32,"deletions":21,"changes":53,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Issue.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -110,7 +110,7 @@ def user( self ):\n return self.__user\n \n def add_to_labels( self, *labels ):\n- post_parameters = labels\n+ post_parameters = [ label.name for label in labels ]\n status, headers, data = self.__requester.request(\n \"POST\",\n str( self.url ) + \"/labels\",\n@@ -131,7 +131,12 @@ def create_comment( self, body ):\n return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n- pass\n+ status, headers, data = self.__requester.request(\n+ \"DELETE\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ None\n+ )\n \n def edit( self, title = DefaultValueForOptionalParameters, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -216,7 +221,13 @@ def remove_from_labels( self, label ):\n )\n \n def set_labels( self, *labels ):\n- pass\n+ post_parameters = [ label.name for label in labels ]\n+ status, headers, data = self.__requester.request(\n+ \"PUT\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ post_parameters\n+ )\n \n def __initAttributes( self ):\n self.__assignee = None\n@@ -257,59 +268,59 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"assignee\", \"body\", \"closed_at\", \"closed_by\", \"comments\", \"created_at\", \"html_url\", \"id\", \"labels\", \"milestone\", \"number\", \"pull_request\", \"repository\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None:\n+ if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"assignee\" ], dict )\n self.__assignee = NamedUser.NamedUser( self.__requester, attributes[ \"assignee\" ], completion = LazyCompletion )\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_at\" ], ( str, unicode ) )\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None:\n+ if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_by\" ], dict )\n self.__closed_by = NamedUser.NamedUser( self.__requester, attributes[ \"closed_by\" ], completion = LazyCompletion )\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"labels\" in attributes and attributes[ \"labels\" ] is not None:\n+ if \"labels\" in attributes and attributes[ \"labels\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"labels\" ], list ) and ( len( attributes[ \"labels\" ] ) == 0 or isinstance( attributes[ \"labels\" ][ 0 ], dict ) )\n self.__labels = [\n Label.Label( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"labels\" ]\n ]\n- if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None:\n+ if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"milestone\" ], dict )\n self.__milestone = Milestone.Milestone( self.__requester, attributes[ \"milestone\" ], completion = LazyCompletion )\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None:\n+ if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None: # pragma no branch\n self.__pull_request = attributes[ \"pull_request\" ]\n- if \"repository\" in attributes and attributes[ \"repository\" ] is not None:\n+ if \"repository\" in attributes and attributes[ \"repository\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repository\" ], dict )\n self.__repository = Repository.Repository( self.__requester, attributes[ \"repository\" ], completion = LazyCompletion )\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"5ed8d8d10b46e6427503e050fdfad6ba22837e25","filename":"src/github/IssueComment.py","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/IssueComment.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"a276fe9eaea713a8599710636ead83d77023b99f","filename":"src/github/IssueEvent.py","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/IssueEvent.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -78,24 +78,24 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"commit_id\", \"created_at\", \"event\", \"id\", \"issue\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"event\" in attributes and attributes[ \"event\" ] is not None:\n+ if \"event\" in attributes and attributes[ \"event\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"event\" ], ( str, unicode ) )\n self.__event = attributes[ \"event\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"issue\" in attributes and attributes[ \"issue\" ] is not None:\n+ if \"issue\" in attributes and attributes[ \"issue\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"issue\" ], dict )\n self.__issue = Issue.Issue( self.__requester, attributes[ \"issue\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"1f11c4d96625bb675a5c9ce84c813caf4745ff67","filename":"src/github/Label.py","status":"modified","additions":10,"deletions":3,"changes":13,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Label.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -1,6 +1,8 @@\n # WARNING: this file is generated automaticaly.\n # Do not modify it manually, your work would be lost.\n \n+import urllib\n+\n import PaginatedList\n from GithubObject import *\n \n@@ -43,6 +45,11 @@ def edit( self, name, color ):\n )\n self.__useAttributes( data )\n \n+ # @todo Remove '_identity' from the normalized json description\n+ @property\n+ def _identity( self ):\n+ return urllib.quote( self.name )\n+\n def __initAttributes( self ):\n self.__color = None\n self.__name = None\n@@ -53,9 +60,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"color\", \"name\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"color\" in attributes and attributes[ \"color\" ] is not None:\n+ if \"color\" in attributes and attributes[ \"color\" ] is not None: # pragma no branch\n self.__color = attributes[ \"color\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]"},{"sha":"ffbb51b8941c5bdd34bbc539825666e1155b0699","filename":"src/github/Milestone.py","status":"modified","additions":11,"deletions":11,"changes":22,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Milestone.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -114,36 +114,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"closed_issues\", \"created_at\", \"creator\", \"description\", \"due_on\", \"id\", \"number\", \"open_issues\", \"state\", \"title\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None:\n+ if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_issues\" ], int )\n self.__closed_issues = attributes[ \"closed_issues\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"creator\" in attributes and attributes[ \"creator\" ] is not None:\n+ if \"creator\" in attributes and attributes[ \"creator\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"creator\" ], dict )\n self.__creator = NamedUser.NamedUser( self.__requester, attributes[ \"creator\" ], completion = LazyCompletion )\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None:\n+ if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"due_on\" ], ( str, unicode ) )\n self.__due_on = attributes[ \"due_on\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"61400ed17d9985d2de72dbf8b489de903dbe494e","filename":"src/github/NamedUser.py","status":"modified","additions":26,"deletions":26,"changes":52,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/NamedUser.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -365,81 +365,81 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"contributions\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None:\n+ if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"contributions\" ], int )\n self.__contributions = attributes[ \"contributions\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"78ac913ccb12dc01a5064095456078444925ae9e","filename":"src/github/Organization.py","status":"modified","additions":24,"deletions":24,"changes":48,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Organization.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -390,75 +390,75 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"billing_email\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None:\n+ if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"billing_email\" ], ( str, unicode ) )\n self.__billing_email = attributes[ \"billing_email\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]"},{"sha":"043f6f5db4d094d723aafbec7fe54a77205e9f0f","filename":"src/github/Permissions.py","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Permissions.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"admin\", \"pull\", \"push\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"admin\" in attributes and attributes[ \"admin\" ] is not None:\n+ if \"admin\" in attributes and attributes[ \"admin\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"admin\" ], bool )\n self.__admin = attributes[ \"admin\" ]\n- if \"pull\" in attributes and attributes[ \"pull\" ] is not None:\n+ if \"pull\" in attributes and attributes[ \"pull\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pull\" ], bool )\n self.__pull = attributes[ \"pull\" ]\n- if \"push\" in attributes and attributes[ \"push\" ] is not None:\n+ if \"push\" in attributes and attributes[ \"push\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"push\" ], bool )\n self.__push = attributes[ \"push\" ]"},{"sha":"14ac71bd4920084cd9c8dd2e452c707d82807a64","filename":"src/github/Plan.py","status":"modified","additions":4,"deletions":4,"changes":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Plan.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -37,15 +37,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"collaborators\", \"name\", \"private_repos\", \"space\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None:\n+ if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_repos\" ], int )\n self.__private_repos = attributes[ \"private_repos\" ]\n- if \"space\" in attributes and attributes[ \"space\" ] is not None:\n+ if \"space\" in attributes and attributes[ \"space\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"space\" ], int )\n self.__space = attributes[ \"space\" ]"},{"sha":"07e945e4b49ca0d8cb8e06c124431022765bc8f0","filename":"src/github/PullRequest.py","status":"modified","additions":26,"deletions":26,"changes":52,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/PullRequest.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -279,56 +279,56 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"base\", \"body\", \"changed_files\", \"closed_at\", \"comments\", \"commits\", \"created_at\", \"deletions\", \"diff_url\", \"head\", \"html_url\", \"id\", \"issue_url\", \"mergeable\", \"merged\", \"merged_at\", \"merged_by\", \"number\", \"patch_url\", \"review_comments\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"base\" in attributes and attributes[ \"base\" ] is not None:\n+ if \"base\" in attributes and attributes[ \"base\" ] is not None: # pragma no branch\n self.__base = attributes[ \"base\" ]\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None:\n+ if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None: # pragma no branch\n self.__changed_files = attributes[ \"changed_files\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n self.__comments = attributes[ \"comments\" ]\n- if \"commits\" in attributes and attributes[ \"commits\" ] is not None:\n+ if \"commits\" in attributes and attributes[ \"commits\" ] is not None: # pragma no branch\n self.__commits = attributes[ \"commits\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None:\n+ if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None: # pragma no branch\n self.__diff_url = attributes[ \"diff_url\" ]\n- if \"head\" in attributes and attributes[ \"head\" ] is not None:\n+ if \"head\" in attributes and attributes[ \"head\" ] is not None: # pragma no branch\n self.__head = attributes[ \"head\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None:\n+ if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None: # pragma no branch\n self.__issue_url = attributes[ \"issue_url\" ]\n- if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None:\n+ if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None: # pragma no branch\n self.__mergeable = attributes[ \"mergeable\" ]\n- if \"merged\" in attributes and attributes[ \"merged\" ] is not None:\n+ if \"merged\" in attributes and attributes[ \"merged\" ] is not None: # pragma no branch\n self.__merged = attributes[ \"merged\" ]\n- if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None:\n+ if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None: # pragma no branch\n self.__merged_at = attributes[ \"merged_at\" ]\n- if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None:\n+ if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None: # pragma no branch\n self.__merged_by = attributes[ \"merged_by\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n self.__number = attributes[ \"number\" ]\n- if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None:\n+ if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None: # pragma no branch\n self.__patch_url = attributes[ \"patch_url\" ]\n- if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None:\n+ if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None: # pragma no branch\n self.__review_comments = attributes[ \"review_comments\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"d0095192e606f65fec81882be15aca06ac47e5e3","filename":"src/github/PullRequestComment.py","status":"modified","additions":11,"deletions":11,"changes":22,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/PullRequestComment.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -121,26 +121,26 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )"},{"sha":"043fb9a5328ad003b449573616e418f17e25bac2","filename":"src/github/PullRequestFile.py","status":"modified","additions":9,"deletions":9,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/PullRequestFile.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]"},{"sha":"30b4bc70dc2a72c52c1cf02e63a26e1cfaf5676e","filename":"src/github/Repository.py","status":"modified","additions":31,"deletions":31,"changes":62,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Repository.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -905,96 +905,96 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"clone_url\", \"created_at\", \"description\", \"fork\", \"forks\", \"full_name\", \"git_url\", \"has_downloads\", \"has_issues\", \"has_wiki\", \"homepage\", \"html_url\", \"id\", \"language\", \"master_branch\", \"mirror_url\", \"name\", \"open_issues\", \"organization\", \"owner\", \"parent\", \"permissions\", \"private\", \"pushed_at\", \"size\", \"source\", \"ssh_url\", \"svn_url\", \"updated_at\", \"url\", \"watchers\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None:\n+ if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"clone_url\" ], ( str, unicode ) )\n self.__clone_url = attributes[ \"clone_url\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"fork\" in attributes and attributes[ \"fork\" ] is not None:\n+ if \"fork\" in attributes and attributes[ \"fork\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork\" ], bool )\n self.__fork = attributes[ \"fork\" ]\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], int )\n self.__forks = attributes[ \"forks\" ]\n- if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None:\n+ if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"full_name\" ], ( str, unicode ) )\n self.__full_name = attributes[ \"full_name\" ]\n- if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None:\n+ if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_url\" ], ( str, unicode ) )\n self.__git_url = attributes[ \"git_url\" ]\n- if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None:\n+ if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_downloads\" ], bool )\n self.__has_downloads = attributes[ \"has_downloads\" ]\n- if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None:\n+ if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_issues\" ], bool )\n self.__has_issues = attributes[ \"has_issues\" ]\n- if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None:\n+ if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_wiki\" ], bool )\n self.__has_wiki = attributes[ \"has_wiki\" ]\n- if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None:\n+ if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"homepage\" ], ( str, unicode ) )\n self.__homepage = attributes[ \"homepage\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"language\" in attributes and attributes[ \"language\" ] is not None:\n+ if \"language\" in attributes and attributes[ \"language\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"language\" ], ( str, unicode ) )\n self.__language = attributes[ \"language\" ]\n- if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None:\n+ if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"master_branch\" ], ( str, unicode ) )\n self.__master_branch = attributes[ \"master_branch\" ]\n- if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None:\n+ if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mirror_url\" ], ( str, unicode ) )\n self.__mirror_url = attributes[ \"mirror_url\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"organization\" in attributes and attributes[ \"organization\" ] is not None:\n+ if \"organization\" in attributes and attributes[ \"organization\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"organization\" ], dict )\n self.__organization = Organization.Organization( self.__requester, attributes[ \"organization\" ], completion = LazyCompletion )\n- if \"owner\" in attributes and attributes[ \"owner\" ] is not None:\n+ if \"owner\" in attributes and attributes[ \"owner\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owner\" ], dict )\n self.__owner = NamedUser.NamedUser( self.__requester, attributes[ \"owner\" ], completion = LazyCompletion )\n- if \"parent\" in attributes and attributes[ \"parent\" ] is not None:\n+ if \"parent\" in attributes and attributes[ \"parent\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parent\" ], dict )\n self.__parent = Repository( self.__requester, attributes[ \"parent\" ], completion = LazyCompletion )\n- if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None:\n+ if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"permissions\" ], dict )\n self.__permissions = Permissions.Permissions( self.__requester, attributes[ \"permissions\" ], completion = LazyCompletion )\n- if \"private\" in attributes and attributes[ \"private\" ] is not None:\n+ if \"private\" in attributes and attributes[ \"private\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private\" ], bool )\n self.__private = attributes[ \"private\" ]\n- if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None:\n+ if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pushed_at\" ], ( str, unicode ) )\n self.__pushed_at = attributes[ \"pushed_at\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"source\" in attributes and attributes[ \"source\" ] is not None:\n+ if \"source\" in attributes and attributes[ \"source\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"source\" ], dict )\n self.__source = Repository( self.__requester, attributes[ \"source\" ], completion = LazyCompletion )\n- if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None:\n+ if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ssh_url\" ], ( str, unicode ) )\n self.__ssh_url = attributes[ \"ssh_url\" ]\n- if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None:\n+ if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"svn_url\" ], ( str, unicode ) )\n self.__svn_url = attributes[ \"svn_url\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None:\n+ if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"watchers\" ], int )\n self.__watchers = attributes[ \"watchers\" ]"},{"sha":"fc5cafc09e2b8120e47c2bbdf0e0fa0821ec5ecf","filename":"src/github/RepositoryKey.py","status":"modified","additions":5,"deletions":5,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/RepositoryKey.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]"},{"sha":"7903406c469352d3f3fb897ed9ac9fc9ebc51c3b","filename":"src/github/Tag.py","status":"modified","additions":4,"deletions":4,"changes":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Tag.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -38,15 +38,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", \"tarball_url\", \"zipball_url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None:\n+ if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tarball_url\" ], ( str, unicode ) )\n self.__tarball_url = attributes[ \"tarball_url\" ]\n- if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None:\n+ if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"zipball_url\" ], ( str, unicode ) )\n self.__zipball_url = attributes[ \"zipball_url\" ]"},{"sha":"ca5b7e13476a30fee9234c6f965019f303e3f33e","filename":"src/github/Team.py","status":"modified","additions":6,"deletions":6,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/Team.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -172,15 +172,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"members_count\", \"name\", \"permission\", \"repos_count\", \"url\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None:\n+ if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None: # pragma no branch\n self.__members_count = attributes[ \"members_count\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"permission\" in attributes and attributes[ \"permission\" ] is not None:\n+ if \"permission\" in attributes and attributes[ \"permission\" ] is not None: # pragma no branch\n self.__permission = attributes[ \"permission\" ]\n- if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None:\n+ if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None: # pragma no branch\n self.__repos_count = attributes[ \"repos_count\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]"},{"sha":"b7b135d5cf476ece019ca1d018fdf3fc48a450ee","filename":"src/github/UserKey.py","status":"modified","additions":5,"deletions":5,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/src/github/UserKey.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @todo No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]"},{"sha":"c0a781c0bffba244aa2e9826770ccc127f1415af","filename":"test/Issue.py","status":"modified","additions":25,"deletions":1,"changes":26,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/Issue.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -3,7 +3,8 @@\n class Issue( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.issue = self.g.get_user().get_repo( \"PyGithub\" ).get_issue( 28 )\r\n+ self.repo = self.g.get_user().get_repo( \"PyGithub\" )\r\n+ self.issue = self.repo.get_issue( 28 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.issue.assignee.login, \"jacquev6\" )\r\n@@ -47,3 +48,26 @@ def testGetComments( self ):\n \r\n def testGetEvents( self ):\r\n self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] )\r\n+\r\n+ def testGetLabels( self ):\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testAddAndRemoveLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( bug )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\" ] )\r\n+ self.issue.add_to_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testDeleteAndSetLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.delete_labels()\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [] )\r\n+ self.issue.set_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Question\" ] )\r"},{"sha":"77fa51481ceb340a91f3988b7d570d697065ebe8","filename":"test/IssueEvent.py","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/IssueEvent.py?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -3,13 +3,13 @@\n class IssueEvent( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 15819975 )\r\n+ self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 16348656 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.event.actor.login, \"jacquev6\" )\r\n- self.assertEqual( self.event.commit_id, None )\r\n- self.assertEqual( self.event.created_at, \"2012-05-19T10:38:23Z\" )\r\n- self.assertEqual( self.event.event, \"subscribed\" )\r\n- self.assertEqual( self.event.id, 15819975 )\r\n- self.assertEqual( self.event.issue.number, 28 )\r\n- self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\" )\r\n+ self.assertEqual( self.event.commit_id, \"ed866fc43833802ab553e5ff8581c81bb00dd433\" )\r\n+ self.assertEqual( self.event.created_at, \"2012-05-27T07:29:25Z\" )\r\n+ self.assertEqual( self.event.event, \"referenced\" )\r\n+ self.assertEqual( self.event.id, 16348656 )\r\n+ self.assertEqual( self.event.issue.number, 30 )\r\n+ self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\" )\r"},{"sha":"fb933714353269eb17e70880daacaf9166d4f742","filename":"test/ReplayData/Issue.testAddAndRemoveLabels.txt","status":"added","additions":45,"deletions":0,"changes":45,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/ReplayData/Issue.testAddAndRemoveLabels.txt?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,45 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"569c414d87e8ec43ec269a9e28bc2982\"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"b659c8dcc1212c71f826547c3cc7ae99\"'), ('date', 'Sun, 27 May 2012 09:04:02 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+POST /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+"},{"sha":"bbd6ae4ea3dac63b301017dece6f56b34eab6f80","filename":"test/ReplayData/Issue.testDeleteAndSetLabels.txt","status":"added","additions":35,"deletions":0,"changes":35,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/ReplayData/Issue.testDeleteAndSetLabels.txt?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,35 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fe2e942523eecb156d100829a6347516\"'), ('date', 'Sun, 27 May 2012 09:06:37 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"931e58d337b2290717303141eda89cd7\"'), ('date', 'Sun, 27 May 2012 09:06:38 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+204\n+[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d41d8cd98f00b204e9800998ecf8427e\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')]\n+\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d751713988987e9331980363e24189ce\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[]\n+\n+PUT /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+"},{"sha":"282dda36da4958e743c70a1cee5b89df0afce592","filename":"test/ReplayData/Issue.testGetLabels.txt","status":"added","additions":5,"deletions":0,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/ReplayData/Issue.testGetLabels.txt?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,5 @@\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 08:56:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+"},{"sha":"0de7e5358c98a51af4f18e7ff9559f4a826bfebc","filename":"test/ReplayData/IssueEvent.setUp.txt","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/test/ReplayData/IssueEvent.setUp.txt?ref=8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -1,15 +1,15 @@\n GET /user {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4907'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"99c9bfb75395b749e9913a4729126fb5\"'), ('date', 'Sun, 27 May 2012 07:19:30 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"private_gists\":5,\"type\":\"User\",\"company\":\"Criteo\",\"location\":\"Paris, France\",\"hireable\":false,\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"bio\":\"\",\"following\":24,\"blog\":\"http://vincent-jacques.net\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"total_private_repos\":5,\"followers\":13,\"owned_private_repos\":5,\"disk_usage\":16976,\"collaborators\":0,\"html_url\":\"https://github.com/jacquev6\",\"url\":\"https://api.github.com/users/jacquev6\",\"name\":\"Vincent Jacques\",\"login\":\"jacquev6\",\"public_repos\":11,\"public_gists\":3,\"email\":\"vincent@vincent-jacques.net\",\"id\":327146,\"plan\":{\"private_repos\":5,\"collaborators\":1,\"name\":\"micro\",\"space\":614400},\"created_at\":\"2010-07-09T06:10:06Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8974bb1628a3e3a6d3eb3b08c1b5a46b\"'), ('date', 'Sun, 27 May 2012 07:32:54 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"type\":\"User\",\"bio\":\"\",\"disk_usage\":16976,\"total_private_repos\":5,\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"owned_private_repos\":5,\"collaborators\":0,\"plan\":{\"collaborators\":1,\"private_repos\":5,\"name\":\"micro\",\"space\":614400},\"company\":\"Criteo\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"email\":\"vincent@vincent-jacques.net\",\"public_gists\":3,\"followers\":13,\"name\":\"Vincent Jacques\",\"created_at\":\"2010-07-09T06:10:06Z\",\"blog\":\"http://vincent-jacques.net\",\"location\":\"Paris, France\",\"hireable\":false,\"id\":327146,\"private_gists\":5,\"public_repos\":11,\"following\":24,\"html_url\":\"https://github.com/jacquev6\"}\n \n GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4906'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"4c20acf0b23f75bbf25106b1a04f65a5\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"description\":\"Python library implementing the full Github API v3\",\"full_name\":\"jacquev6/PyGithub\",\"has_wiki\":false,\"has_issues\":true,\"updated_at\":\"2012-05-27T06:55:28Z\",\"forks\":3,\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"open_issues\":16,\"fork\":false,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"pushed_at\":\"2012-05-27T06:00:28Z\",\"size\":308,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"private\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"owner\":{\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"has_downloads\":true,\"language\":\"Python\",\"watchers\":15,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"id\":3544490,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"created_at\":\"2012-02-25T12:53:47Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"f1e4eb3993a364b66b68ec9db42405bd\"'), ('date', 'Sun, 27 May 2012 07:32:55 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"has_downloads\":true,\"watchers\":15,\"updated_at\":\"2012-05-27T07:29:24Z\",\"permissions\":{\"pull\":true,\"admin\":true,\"push\":true},\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"mirror_url\":null,\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":3,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"size\":308,\"private\":false,\"open_issues\":16,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"language\":\"Python\",\"description\":\"Python library implementing the full Github API v3\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"pushed_at\":\"2012-05-27T07:29:24Z\",\"created_at\":\"2012-02-25T12:53:47Z\",\"id\":3544490,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"full_name\":\"jacquev6/PyGithub\"}\n \n-GET /repos/jacquev6/PyGithub/issues/events/15819975 {'Authorization': 'Basic login_and_password_removed'} null\n+GET /repos/jacquev6/PyGithub/issues/events/16348656 {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4905'), ('content-length', '2430'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"a3d244842d23f92f69a23e21626fad11\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\",\"issue\":{\"updated_at\":\"2012-05-26T14:59:33Z\",\"body\":\"Body edited by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/28\",\"comments\":0,\"milestone\":{\"creator\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones/1\",\"number\":1,\"title\":\"Version 0.4\",\"due_on\":\"2012-03-13T07:00:00Z\",\"closed_issues\":3,\"open_issues\":0,\"created_at\":\"2012-03-08T12:22:10Z\",\"state\":\"closed\",\"description\":\"\",\"id\":93546},\"number\":28,\"assignee\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"closed_at\":\"2012-05-26T14:59:33Z\",\"title\":\"Issue created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-19T10:38:23Z\",\"state\":\"closed\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"id\":4653757,\"pull_request\":{\"diff_url\":null,\"patch_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/28\"},\"commit_id\":null,\"created_at\":\"2012-05-19T10:38:23Z\",\"event\":\"subscribed\",\"id\":15819975,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146}}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '1384'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fefecab09e7355d4ef9875677c2631da\"'), ('date', 'Sun, 27 May 2012 07:32:56 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\",\"issue\":{\"updated_at\":\"2012-05-27T07:27:51Z\",\"body\":\"Body created by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/30\",\"comments\":0,\"milestone\":null,\"number\":30,\"assignee\":null,\"closed_at\":null,\"title\":\"Issue also created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-27T05:40:15Z\",\"state\":\"open\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"},\"id\":4769659,\"pull_request\":{\"patch_url\":null,\"diff_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/30\"},\"commit_id\":\"ed866fc43833802ab553e5ff8581c81bb00dd433\",\"created_at\":\"2012-05-27T07:29:25Z\",\"event\":\"referenced\",\"id\":16348656,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"}}\n "}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/comments/3630301 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4873'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '8be19071-cb1a-414d-8310-a325dcbb0ff4'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1391'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/3630301","html_url":"https://github.com/jacquev6/PyGithub/commit/4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23#commitcomment-3630301","id":3630301,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23","created_at":"2013-07-14T17:26:29Z","updated_at":"2013-07-14T17:26:29Z","body":"Comment created for PyGithub"} - -https -GET -status.github.com -443 -/api/status.json -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '55'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 15:05:40 GMT'), ('content-type', 'application/json;charset=utf-8')] -{"status":"good","last_updated":"2013-09-06T15:05:34Z"} - -https -GET -status.github.com -443 -/api/last-message.json -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '93'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 15:05:41 GMT'), ('content-type', 'application/json;charset=utf-8')] -{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:41:46Z"} - -https -GET -api.github.com -None -/rate_limit -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4873'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '7d8f5ceb-ff02-47d5-a6c5-bdc47a1b1306'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '59'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('cache-control', 'no-cache'), ('date', 'Fri, 06 Sep 2013 15:05:42 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"rate":{"limit":5000,"remaining":4873,"reset":1378482241}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/hooks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4872'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '91eb21a9-7965-4af5-b6ff-95dc600d32e1'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '464'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:06 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"f7b3dbaaca94c0219f23e9021e78506f"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:43 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/423574","test_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/423574/test","id":423574,"name":"travis","active":true,"events":["push","pull_request","issue_comment","public","member"],"config":{"domain":"","token":"pJdnhcDq3dQ9Cr1J1znQ","user":"jacquev6"},"last_response":{"code":200,"status":"active","message":"OK"},"updated_at":"2013-09-06T12:41:06Z","created_at":"2012-09-16T07:14:29Z"}] - -https -GET -api.github.com -None -/hooks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4871'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '609aaebd-8356-4b3a-82cf-c796a9475c3b'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '28297'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 04 Sep 2013 18:03:57 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"678dd8e392d70d3a284c3d47221ec6f0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:45 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"name":"activecollab","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","token"],["string","project_id"],["string","milestone_id"],["string","category_id"]]},{"name":"acunote","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"agilebench","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","project_id"]]},{"name":"agilezen","events":["push"],"supported_events":["push"],"schema":[["string","api_key"],["string","project_id"],["string","branches"]]},{"name":"amazonsns","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","aws_key"],["string","aws_secret"],["string","sns_topic"],["string","sqs_queue"],["password","aws_secret"]]},{"name":"apiary","events":["push"],"supported_events":["push"],"schema":[["string","branch"],["string","domain"]]},{"name":"apoio","events":["issues"],"supported_events":["issues"],"schema":[["string","subdomain"],["string","token"]]},{"name":"appharbor","events":["push"],"supported_events":["push"],"schema":[["string","application_slug"],["string","token"]]},{"name":"apropos","events":["commit_comment","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_id"]]},{"name":"asana","events":["push"],"supported_events":["push"],"schema":[["string","auth_token"],["string","restrict_to_branch"],["boolean","restrict_to_last_commit"]]},{"name":"backlog","events":["push"],"supported_events":["push"],"schema":[["string","api_url"],["string","user_id"],["password","password"]]},{"name":"bamboo","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","build_key"],["string","username"],["password","password"]]},{"name":"basecamp","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","project"],["string","category"],["string","username"],["password","password"],["boolean","ssl"]]},{"name":"bcx","events":["push","pull_request","issues"],"supported_events":["issues","pull_request","push"],"schema":[["string","project_url"],["string","email_address"],["password","password"]]},{"name":"blimp","events":["issues","issue_comment"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_url"],["string","username"],["string","goal_title"],["password","api_key"]]},{"name":"boxcar","events":["push"],"supported_events":["push"],"schema":[["string","subscribers"]]},{"name":"buddycloud","events":["push"],"supported_events":["push"],"schema":[["string","buddycloud_base_api"],["string","username"],["string","password"],["string","channel"],["password","password"],["boolean","show_commit_summary"],["boolean","show_commit_detail"]]},{"name":"bugherd","events":["issues","issue_comment","push"],"supported_events":["issue_comment","issues","push"],"schema":[["string","project_key"]]},{"name":"bugly","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","account_name"],["string","token"]]},{"name":"bugzilla","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","username"],["string","integration_branch"],["password","password"],["boolean","central_repository"]]},{"name":"campfire","events":["push","pull_request","issues"],"supported_events":["gollum","issues","public","pull_request","push"],"schema":[["string","subdomain"],["string","room"],["string","token"],["string","sound"],["boolean","master_only"],["boolean","play_sound"],["boolean","long_url"]]},{"name":"cia","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","branch"],["string","module"],["boolean","long_url"],["boolean","full_commits"]]},{"name":"circleci","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"codeclimate","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"codeportingcsharp2java","events":["push"],"supported_events":["push"],"schema":[["string","project_name"],["string","repo_key"],["string","target_repo_key"],["string","codeporting_username"],["password","codeporting_password"],["string","github_access_token"]]},{"name":"codeship","events":["push"],"supported_events":["push"],"schema":[["string","project_uuid"]]},{"name":"coffeedocinfo","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"conductor","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"coop","events":["push"],"supported_events":["push"],"schema":[["string","group_id"],["string","token"]]},{"name":"copperegg","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","tag"],["boolean","master_only"],["string","api_key"]]},{"name":"cube","events":["push"],"supported_events":["push"],"schema":[["string","domain"],["string","project"],["string","token"]]},{"name":"depending","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"deployhq","events":["push"],"supported_events":["push"],"schema":[["string","deploy_hook_url"],["boolean","email_pusher"]]},{"name":"devaria","events":["push","member","public","issues","gollum"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","project_name"],["string","username"],["string","user_class_id"]]},{"name":"docker","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"ducksboard","events":["push","issues","fork","watch"],"supported_events":["fork","issues","push","watch"],"schema":[["string","webhook_key"]]},{"name":"email","events":["push"],"supported_events":["public","push"],"schema":[["string","address"],["password","secret"],["boolean","send_from_author"]]},{"name":"firebase","events":["push"],"supported_events":["push"],"schema":[["string","firebase"],["string","secret"]]},{"name":"fisheye","events":["push"],"supported_events":["push"],"schema":[["string","url_base"],["string","token"],["string","repository_name"]]},{"name":"flowdock","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"fogbugz","events":["push"],"supported_events":["push"],"schema":[["string","cvssubmit_url"],["string","fb_repoid"],["string","fb_version"]]},{"name":"freckle","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","project"],["string","token"]]},{"name":"friendfeed","events":["push"],"supported_events":["push"],"schema":[["string","nickname"],["string","remotekey"]]},{"name":"gemini","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","api_key"]]},{"name":"gemnasium","events":["push"],"supported_events":["push"],"schema":[["string","user"],["string","token"]]},{"name":"geocommit","events":["push"],"supported_events":["push"],"schema":[]},{"name":"getlocalization","events":["push"],"supported_events":["push"],"schema":[["string","project_name"],["string","project_token"]]},{"name":"gitlive","events":["push"],"supported_events":["push"],"schema":[]},{"name":"grmble","events":["push"],"supported_events":["push"],"schema":[["string","room_api_url"],["string","token"]]},{"name":"grouptalent","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"grove","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["push"],"schema":[["string","channel_token"]]},{"name":"habitualist","events":["push"],"supported_events":["push"],"schema":[]},{"name":"hakiri","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"]]},{"name":"hall","events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","room_token"]]},{"name":"harvest","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","username"],["password","password"],["boolean","ssl"]]},{"name":"hipchat","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","auth_token"],["string","room"],["string","restrict_to_branch"],["boolean","notify"],["boolean","quiet_fork"],["boolean","quiet_watch"],["boolean","quiet_comments"]]},{"name":"hostedgraphite","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"hubcap","events":["push"],"supported_events":["push"],"schema":[]},{"name":"hubci","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"humbug","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","push","team_add","watch","pull_request_review_comment","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","email"],["string","api_key"],["string","stream"],["string","branches"]]},{"name":"icescrum","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","project_key"],["string","username"],["password","password"]]},{"name":"irc","events":["push","pull_request"],"supported_events":["commit_comment","issue_comment","issues","pull_request","pull_request_review_comment","push"],"schema":[["string","server"],["string","port"],["string","room"],["string","nick"],["string","branch_regexes"],["string","nickserv_password"],["password","password"],["boolean","ssl"],["boolean","message_without_join"],["boolean","no_colors"],["boolean","long_url"],["boolean","notice"]]},{"name":"irker","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","branch"],["string","module"],["string","channels"],["boolean","long_url"],["boolean","color"],["boolean","full_commits"]]},{"name":"ironmq","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"],["string","queue_name"]]},{"name":"ironworker","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","project_id"],["string","queue_name"]]},{"name":"jabber","events":["push"],"supported_events":["push"],"schema":[["string","user"]]},{"name":"jaconda","events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","room_id"],["string","room_token"],["boolean","digest"]]},{"name":"jeapie","events":["push","pull_request","commit_comment"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"jenkins","events":["push"],"supported_events":["push"],"schema":[["string","jenkins_hook_url"]]},{"name":"jenkinsgit","events":["push"],"supported_events":["push"],"schema":[["string","jenkins_url"]]},{"name":"jira","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","api_version"],["string","username"],["password","password"]]},{"name":"jqueryplugins","events":["push"],"supported_events":["push"],"schema":[]},{"name":"kanbanery","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","project_token"]]},{"name":"kickoff","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","project_token"]]},{"name":"leanto","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"lechat","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","webhook_url"]]},{"name":"lighthouse","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","project_id"],["string","token"],["boolean","private"],["boolean","send_only_ticket_commits"]]},{"name":"lingohub","events":["push"],"supported_events":["push"],"schema":[["string","project_token"]]},{"name":"loggly","events":["push"],"supported_events":["push"],"schema":[["string","input_token"]]},{"name":"mantisbt","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","api_key"]]},{"name":"masterbranch","events":["push"],"supported_events":["push"],"schema":[]},{"name":"mqttpub","events":["push"],"supported_events":["push"],"schema":[["string","broker"],["string","port"],["string","topic"],["string","clientid"],["string","user"],["password","pass"],["boolean","retain"]]},{"name":"nma","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"nodejitsu","events":["push"],"supported_events":["push"],"schema":[["string","username"],["password","password"],["string","branch"],["string","endpoint"],["boolean","email_success_deploys"],["boolean","email_errors"]]},{"name":"notifo","events":["push"],"supported_events":["push"],"schema":[["string","subscribers"]]},{"name":"ontime","events":["push"],"supported_events":["push"],"schema":[["string","ontime_url"],["string","api_key"]]},{"name":"pachube","events":["push"],"supported_events":["push"],"schema":[["string","api_key"],["string","feed_id"],["string","track_branch"]]},{"name":"packagist","events":["push"],"supported_events":["push"],"schema":[["string","user"],["string","token"],["string","domain"]]},{"name":"phraseapp","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","auth_token"]]},{"name":"pivotaltracker","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","branch"],["string","endpoint"]]},{"name":"planbox","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"planio","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","api_key"]]},{"name":"prowl","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"puppetlinter","events":["push"],"supported_events":["push"],"schema":[]},{"name":"pushalot","events":["push"],"supported_events":["push"],"schema":[["string","authorization_token"]]},{"name":"pushover","events":["push"],"supported_events":["push"],"schema":[["string","user_key"],["string","device_name"]]},{"name":"pythonpackages","events":["push"],"supported_events":["push"],"schema":[]},{"name":"railsbp","events":["push"],"supported_events":["push"],"schema":[["string","railsbp_url"],["string","token"]]},{"name":"railsbrakeman","events":["push"],"supported_events":["push"],"schema":[["string","rails_brakeman_url"],["string","token"]]},{"name":"rally","events":["push"],"supported_events":["push"],"schema":[["string","server"],["string","username"],["string","workspace"],["string","repository"],["password","password"]]},{"name":"rapidpush","events":["push"],"supported_events":["push"],"schema":[["string","apikey"]]},{"name":"rationaljazzhub","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","username"],["password","password"],["string","override_server_url"]]},{"name":"rationalteamconcert","events":["push"],"supported_events":["push"],"schema":[["string","server_url"],["string","username"],["string","project_area_uuid"],["password","password"],["boolean","basic_authentication"],["boolean","no_verify_ssl"]]},{"name":"rdocinfo","events":["push"],"supported_events":["push"],"schema":[]},{"name":"readthedocs","events":["push"],"supported_events":["push"],"schema":[]},{"name":"redmine","events":["push"],"supported_events":["push"],"schema":[["string","address"],["string","project"],["string","api_key"],["boolean","fetch_commits"],["boolean","update_redmine_issues_about_commits"]]},{"name":"rubyforge","events":["push"],"supported_events":["push"],"schema":[["string","groupid"],["string","username"],["password","password"]]},{"name":"scrumdo","events":["push"],"supported_events":["push"],"schema":[["string","username"],["string","project_slug"],["password","password"]]},{"name":"shiningpanda","events":["push"],"supported_events":["push"],"schema":[["string","workspace"],["string","job"],["string","token"],["string","branches"],["string","parameters"]]},{"name":"sifter","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","token"]]},{"name":"simperium","events":["push","issues","issue_comment","commit_comment","pull_request","pull_request_review_comment","watch","fork","fork_apply","member","public","team_add","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","app_id"],["string","token"],["string","bucket"]]},{"name":"slatebox","events":["push"],"supported_events":["push"],"schema":[["string","app_id"],["string","token"]]},{"name":"snowyevening","events":["push"],"supported_events":["push"],"schema":[["string","project"],["string","api_key"]]},{"name":"socialcast","events":["push"],"supported_events":["push"],"schema":[["string","api_domain"],["string","group_id"],["string","username"],["password","password"]]},{"name":"softlayermessaging","events":["push"],"supported_events":["push"],"schema":[["string","account"],["string","user"],["string","name"],["password","key"],["boolean","topic"]]},{"name":"sourcemint","events":["push"],"supported_events":["push"],"schema":[]},{"name":"splendidbacon","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","token"]]},{"name":"sprintly","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","push","team_add","watch","pull_request_review_comment","status"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","email"],["string","api_key"],["string","product_id"]]},{"name":"sqsqueue","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","aws_access_key"],["string","sqs_queue_name"],["password","aws_secret_key"]]},{"name":"stackmob","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"statusnet","events":["push"],"supported_events":["push"],"schema":[["string","server"],["string","username"],["password","password"],["boolean","digest"]]},{"name":"talker","events":["push"],"supported_events":["issues","pull_request","push"],"schema":[["string","url"],["string","token"],["boolean","digest"]]},{"name":"targetprocess","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","username"],["password","password"]]},{"name":"tddium","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"],["string","override_url"]]},{"name":"teamcity","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","build_type_id"],["string","username"],["string","branches"],["password","password"]]},{"name":"tender","events":["issues"],"supported_events":["issues","pull_request"],"schema":[["string","domain"],["string","token"]]},{"name":"tenxer","events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[]},{"name":"testpilot","events":["push"],"supported_events":["push"],"schema":[["string","token"]]},{"name":"toggl","events":["push"],"supported_events":["push"],"schema":[["string","project"],["string","api_token"]]},{"name":"trac","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","token"]]},{"name":"trajectory","events":["push"],"supported_events":["pull_request","push"],"schema":[["string","api_key"]]},{"name":"travis","events":["push","pull_request","issue_comment","public","member"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","user"],["password","token"],["string","domain"]]},{"name":"trello","events":["push","pull_request"],"supported_events":["pull_request","push"],"schema":[["string","push_list_id"],["string","pull_request_list_id"],["string","ignore_regex"],["boolean","master_only"],["password","consumer_token"]]},{"name":"twilio","events":["push"],"supported_events":["push"],"schema":[["string","account_sid"],["string","from_phone"],["string","to_phone"],["boolean","master_only"],["password","auth_token"]]},{"name":"twitter","events":["push"],"supported_events":["push"],"schema":[["string","token"],["string","secret"],["boolean","digest"],["boolean","short_format"]]},{"name":"unfuddle","events":["push"],"supported_events":["push"],"schema":[["string","subdomain"],["string","repo_id"],["string","username"],["password","password"],["boolean","httponly"]]},{"name":"web","events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","url"],["string","secret"],["string","content_type"],["string","ssl_version"],["boolean","insecure_ssl"]]},{"name":"weblate","events":["push"],"supported_events":["push"],"schema":[["string","url"]]},{"name":"webtranslateit","events":["push"],"supported_events":["push"],"schema":[["string","api_key"]]},{"name":"yammer","events":["push","commit_comment","pull_request","pull_request_review_comment","public"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","token"]]},{"name":"youtrack","events":["push"],"supported_events":["push"],"schema":[["string","base_url"],["string","committers"],["string","username"],["string","branch"],["password","password"]]},{"name":"zendesk","events":["commit_comment","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"],"schema":[["string","subdomain"],["string","username"],["password","password"]]},{"name":"zohoprojects","events":["push"],"supported_events":["push"],"schema":[["string","project_id"],["string","token"]]}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/compare/master...develop -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4870'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'b385a4bc-89bd-418f-b2ee-948a4ed67670'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '711256'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 09:04:41 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ff2ab76c56b865233dfb98f5804276b6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:51 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/compare/master...develop","html_url":"https://github.com/jacquev6/PyGithub/compare/master...develop","permalink_url":"https://github.com/jacquev6/PyGithub/compare/jacquev6:ed781f8...jacquev6:a659749","diff_url":"https://github.com/jacquev6/PyGithub/compare/master...develop.diff","patch_url":"https://github.com/jacquev6/PyGithub/compare/master...develop.patch","base_commit":{"sha":"ed781f8b1b96e1d2a342d36ca53114ea28862fa8","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"message":"Fix date of 1.18.0","tree":{"sha":"e90c43164378222f04883c0f6547102df818d1ef","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e90c43164378222f04883c0f6547102df818d1ef"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","html_url":"https://github.com/jacquev6/PyGithub/commit/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2c4e3cbc24581c214f44682bfc3e7f438bae127a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c4e3cbc24581c214f44682bfc3e7f438bae127a","html_url":"https://github.com/jacquev6/PyGithub/commit/2c4e3cbc24581c214f44682bfc3e7f438bae127a"}]},"merge_base_commit":{"sha":"ed781f8b1b96e1d2a342d36ca53114ea28862fa8","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:39:22Z"},"message":"Fix date of 1.18.0","tree":{"sha":"e90c43164378222f04883c0f6547102df818d1ef","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e90c43164378222f04883c0f6547102df818d1ef"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","html_url":"https://github.com/jacquev6/PyGithub/commit/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2c4e3cbc24581c214f44682bfc3e7f438bae127a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c4e3cbc24581c214f44682bfc3e7f438bae127a","html_url":"https://github.com/jacquev6/PyGithub/commit/2c4e3cbc24581c214f44682bfc3e7f438bae127a"}]},"status":"ahead","ahead_by":99,"behind_by":0,"total_commits":99,"commits":[{"sha":"ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T00:27:42Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T00:27:42Z"},"message":"Update .gitignore to ignore eproject settings and custom build batch files","tree":{"sha":"b4bf5289c36eb4f50999895cf7f1d0c8ddd26448","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b4bf5289c36eb4f50999895cf7f1d0c8ddd26448"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","html_url":"https://github.com/jacquev6/PyGithub/commit/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0a1e1fa488a7cf43016fe9ec30e5cc54dfcc7bfd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0a1e1fa488a7cf43016fe9ec30e5cc54dfcc7bfd","html_url":"https://github.com/jacquev6/PyGithub/commit/0a1e1fa488a7cf43016fe9ec30e5cc54dfcc7bfd"}]},{"sha":"cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T03:21:15Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T03:21:15Z"},"message":"Change GithubObject.__init__ without breaking build.","tree":{"sha":"30c8a26c9dd4a5c68c8b15666f126f9ef3929d8f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/30c8a26c9dd4a5c68c8b15666f126f9ef3929d8f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","html_url":"https://github.com/jacquev6/PyGithub/commit/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03","html_url":"https://github.com/jacquev6/PyGithub/commit/ea4bd8c9ad94a2e38bc272c9f9ff8cfdccea4c03"}]},{"sha":"0bc138b490b0b9d7ebc5e539547b88e062dd127d","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T04:32:41Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T04:32:41Z"},"message":"Change NonCompletableGithubObject without breaking build.","tree":{"sha":"05c4e4c51ed7f77adf8f96b1ef6262bd004822db","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/05c4e4c51ed7f77adf8f96b1ef6262bd004822db"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0bc138b490b0b9d7ebc5e539547b88e062dd127d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc138b490b0b9d7ebc5e539547b88e062dd127d","html_url":"https://github.com/jacquev6/PyGithub/commit/0bc138b490b0b9d7ebc5e539547b88e062dd127d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc138b490b0b9d7ebc5e539547b88e062dd127d/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f","html_url":"https://github.com/jacquev6/PyGithub/commit/cfbe7fb0b0e8f72f8725e48a4155ab0338d9773f"}]},{"sha":"b12c4b38c55ad9649541668950a01e6b3940a1bc","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:05:41Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:05:41Z"},"message":"Update Tag.py","tree":{"sha":"61648b068707a2dd5d7cc00832acc5eb76be102e","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/61648b068707a2dd5d7cc00832acc5eb76be102e"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b12c4b38c55ad9649541668950a01e6b3940a1bc","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b12c4b38c55ad9649541668950a01e6b3940a1bc","html_url":"https://github.com/jacquev6/PyGithub/commit/b12c4b38c55ad9649541668950a01e6b3940a1bc","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b12c4b38c55ad9649541668950a01e6b3940a1bc/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0bc138b490b0b9d7ebc5e539547b88e062dd127d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc138b490b0b9d7ebc5e539547b88e062dd127d","html_url":"https://github.com/jacquev6/PyGithub/commit/0bc138b490b0b9d7ebc5e539547b88e062dd127d"}]},{"sha":"9f6562cb625d30b08b053da44a059ace70ed366e","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:07:23Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:07:23Z"},"message":"Update CommitStatus.py","tree":{"sha":"9d219ca7890099f4b9865927af6d8444557d5dd9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9d219ca7890099f4b9865927af6d8444557d5dd9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/9f6562cb625d30b08b053da44a059ace70ed366e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f6562cb625d30b08b053da44a059ace70ed366e","html_url":"https://github.com/jacquev6/PyGithub/commit/9f6562cb625d30b08b053da44a059ace70ed366e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f6562cb625d30b08b053da44a059ace70ed366e/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"b12c4b38c55ad9649541668950a01e6b3940a1bc","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b12c4b38c55ad9649541668950a01e6b3940a1bc","html_url":"https://github.com/jacquev6/PyGithub/commit/b12c4b38c55ad9649541668950a01e6b3940a1bc"}]},{"sha":"e8e8d174fb65249dd6aa41d3ec7993223dc83af4","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:08:48Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:08:48Z"},"message":"Update Event.py","tree":{"sha":"965865c144a91581cd5560a6853ac7d244e8621d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/965865c144a91581cd5560a6853ac7d244e8621d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e8e8d174fb65249dd6aa41d3ec7993223dc83af4","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e8e8d174fb65249dd6aa41d3ec7993223dc83af4","html_url":"https://github.com/jacquev6/PyGithub/commit/e8e8d174fb65249dd6aa41d3ec7993223dc83af4","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e8e8d174fb65249dd6aa41d3ec7993223dc83af4/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"9f6562cb625d30b08b053da44a059ace70ed366e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f6562cb625d30b08b053da44a059ace70ed366e","html_url":"https://github.com/jacquev6/PyGithub/commit/9f6562cb625d30b08b053da44a059ace70ed366e"}]},{"sha":"6943f6da7f84b05b8eae4555dbc598df2fe5ec01","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:10:32Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:10:32Z"},"message":"Update Branch.py","tree":{"sha":"69f9bb6bfbaa5a78bf94976b71fb778f6e105c17","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/69f9bb6bfbaa5a78bf94976b71fb778f6e105c17"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6943f6da7f84b05b8eae4555dbc598df2fe5ec01","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6943f6da7f84b05b8eae4555dbc598df2fe5ec01","html_url":"https://github.com/jacquev6/PyGithub/commit/6943f6da7f84b05b8eae4555dbc598df2fe5ec01","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6943f6da7f84b05b8eae4555dbc598df2fe5ec01/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"e8e8d174fb65249dd6aa41d3ec7993223dc83af4","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e8e8d174fb65249dd6aa41d3ec7993223dc83af4","html_url":"https://github.com/jacquev6/PyGithub/commit/e8e8d174fb65249dd6aa41d3ec7993223dc83af4"}]},{"sha":"bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:15:25Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:15:25Z"},"message":"Update File.py","tree":{"sha":"1435b24b2da7c0403801e09ea0e9bf9cc1660eac","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1435b24b2da7c0403801e09ea0e9bf9cc1660eac"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","html_url":"https://github.com/jacquev6/PyGithub/commit/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"6943f6da7f84b05b8eae4555dbc598df2fe5ec01","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6943f6da7f84b05b8eae4555dbc598df2fe5ec01","html_url":"https://github.com/jacquev6/PyGithub/commit/6943f6da7f84b05b8eae4555dbc598df2fe5ec01"}]},{"sha":"c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:18:29Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:18:29Z"},"message":"Update Gist.py","tree":{"sha":"002b4962bc4386c46823d1f2f36c7fad4e8aa2b4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/002b4962bc4386c46823d1f2f36c7fad4e8aa2b4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","html_url":"https://github.com/jacquev6/PyGithub/commit/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd","html_url":"https://github.com/jacquev6/PyGithub/commit/bb56857b4d5e9d85f26815a3da4c69f6bc718fbd"}]},{"sha":"4f1e05200d35e951fb52730c3d783c2942836695","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:21:49Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:21:49Z"},"message":"Update GitAuthor.py","tree":{"sha":"c5ad338858b03d34b38b1ca8a8ea8578d5a64da5","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c5ad338858b03d34b38b1ca8a8ea8578d5a64da5"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4f1e05200d35e951fb52730c3d783c2942836695","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1e05200d35e951fb52730c3d783c2942836695","html_url":"https://github.com/jacquev6/PyGithub/commit/4f1e05200d35e951fb52730c3d783c2942836695","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1e05200d35e951fb52730c3d783c2942836695/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a","html_url":"https://github.com/jacquev6/PyGithub/commit/c2dd9452eabc70bf88fc4769e48df63c0de8ce8a"}]},{"sha":"0879cbb6ff5f349bc8f867dace06801cf8f04136","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:23:21Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:23:21Z"},"message":"Update GitignoreTemplate.py","tree":{"sha":"eac0b02fc4be8c34681d548624dec5d93b0875e4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/eac0b02fc4be8c34681d548624dec5d93b0875e4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0879cbb6ff5f349bc8f867dace06801cf8f04136","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0879cbb6ff5f349bc8f867dace06801cf8f04136","html_url":"https://github.com/jacquev6/PyGithub/commit/0879cbb6ff5f349bc8f867dace06801cf8f04136","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0879cbb6ff5f349bc8f867dace06801cf8f04136/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"4f1e05200d35e951fb52730c3d783c2942836695","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1e05200d35e951fb52730c3d783c2942836695","html_url":"https://github.com/jacquev6/PyGithub/commit/4f1e05200d35e951fb52730c3d783c2942836695"}]},{"sha":"274ab70f874098d1a0385e636748f0651b739e62","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:26:08Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:26:08Z"},"message":"Update GitObject.py","tree":{"sha":"596c0e549efc2279f7343db4d1abee3eb70955c7","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/596c0e549efc2279f7343db4d1abee3eb70955c7"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/274ab70f874098d1a0385e636748f0651b739e62","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/274ab70f874098d1a0385e636748f0651b739e62","html_url":"https://github.com/jacquev6/PyGithub/commit/274ab70f874098d1a0385e636748f0651b739e62","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/274ab70f874098d1a0385e636748f0651b739e62/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0879cbb6ff5f349bc8f867dace06801cf8f04136","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0879cbb6ff5f349bc8f867dace06801cf8f04136","html_url":"https://github.com/jacquev6/PyGithub/commit/0879cbb6ff5f349bc8f867dace06801cf8f04136"}]},{"sha":"02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:30:39Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:30:39Z"},"message":"Update GitTree.py","tree":{"sha":"245148f865501a2ad0614136baef4ea6c2341992","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/245148f865501a2ad0614136baef4ea6c2341992"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","html_url":"https://github.com/jacquev6/PyGithub/commit/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"274ab70f874098d1a0385e636748f0651b739e62","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/274ab70f874098d1a0385e636748f0651b739e62","html_url":"https://github.com/jacquev6/PyGithub/commit/274ab70f874098d1a0385e636748f0651b739e62"}]},{"sha":"ac1585ee13f13cfa20fd79a78c4643de815607fd","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:59:08Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T05:59:08Z"},"message":"Update HookDescription.py.","tree":{"sha":"6509b30ec9b0ff54edde6277bf408585b68e464b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6509b30ec9b0ff54edde6277bf408585b68e464b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ac1585ee13f13cfa20fd79a78c4643de815607fd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ac1585ee13f13cfa20fd79a78c4643de815607fd","html_url":"https://github.com/jacquev6/PyGithub/commit/ac1585ee13f13cfa20fd79a78c4643de815607fd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ac1585ee13f13cfa20fd79a78c4643de815607fd/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290","html_url":"https://github.com/jacquev6/PyGithub/commit/02435f3a9f5f321f5ff3d5c1f4bcb9a10fc5e290"}]},{"sha":"d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:03:57Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:03:57Z"},"message":"Update IssuePullRequest.py","tree":{"sha":"a5ea8a1ed6a03152d916d4c066ee2394ed4a4f97","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a5ea8a1ed6a03152d916d4c066ee2394ed4a4f97"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","html_url":"https://github.com/jacquev6/PyGithub/commit/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ac1585ee13f13cfa20fd79a78c4643de815607fd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ac1585ee13f13cfa20fd79a78c4643de815607fd","html_url":"https://github.com/jacquev6/PyGithub/commit/ac1585ee13f13cfa20fd79a78c4643de815607fd"}]},{"sha":"12387505e2fbf25ceae63f169b13d57d86b80282","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:05:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:05:10Z"},"message":"Update Notification.py","tree":{"sha":"2a05533d50e9e0b9173fa9030bad2259f9a8d24b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2a05533d50e9e0b9173fa9030bad2259f9a8d24b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/12387505e2fbf25ceae63f169b13d57d86b80282","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12387505e2fbf25ceae63f169b13d57d86b80282","html_url":"https://github.com/jacquev6/PyGithub/commit/12387505e2fbf25ceae63f169b13d57d86b80282","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12387505e2fbf25ceae63f169b13d57d86b80282/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d","html_url":"https://github.com/jacquev6/PyGithub/commit/d6170e36de261f8107cdc40e1e6e3c91bac0eb3d"}]},{"sha":"6e11aa9cf041be25691971476bc474facb1bd1f1","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:07:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:07:10Z"},"message":"Update Permissions.py","tree":{"sha":"1653ca5e502dacc579e8489c1ff967970e95a68f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1653ca5e502dacc579e8489c1ff967970e95a68f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6e11aa9cf041be25691971476bc474facb1bd1f1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6e11aa9cf041be25691971476bc474facb1bd1f1","html_url":"https://github.com/jacquev6/PyGithub/commit/6e11aa9cf041be25691971476bc474facb1bd1f1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6e11aa9cf041be25691971476bc474facb1bd1f1/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"12387505e2fbf25ceae63f169b13d57d86b80282","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12387505e2fbf25ceae63f169b13d57d86b80282","html_url":"https://github.com/jacquev6/PyGithub/commit/12387505e2fbf25ceae63f169b13d57d86b80282"}]},{"sha":"dcb6874745b2e0466017f94be745ba35b72a3748","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:09:11Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:09:11Z"},"message":"Fix CommitStats.py","tree":{"sha":"9191d147b43f13eee33b585441a4573028534a02","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9191d147b43f13eee33b585441a4573028534a02"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dcb6874745b2e0466017f94be745ba35b72a3748","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dcb6874745b2e0466017f94be745ba35b72a3748","html_url":"https://github.com/jacquev6/PyGithub/commit/dcb6874745b2e0466017f94be745ba35b72a3748","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dcb6874745b2e0466017f94be745ba35b72a3748/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"6e11aa9cf041be25691971476bc474facb1bd1f1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6e11aa9cf041be25691971476bc474facb1bd1f1","html_url":"https://github.com/jacquev6/PyGithub/commit/6e11aa9cf041be25691971476bc474facb1bd1f1"}]},{"sha":"deb0514b5e7364b307a611797681da8ddf6db5c1","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:10:37Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:10:37Z"},"message":"Update Hook.py","tree":{"sha":"2a46cd5f6c33398d1b347912bcdc596fa0b66d0d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2a46cd5f6c33398d1b347912bcdc596fa0b66d0d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/deb0514b5e7364b307a611797681da8ddf6db5c1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/deb0514b5e7364b307a611797681da8ddf6db5c1","html_url":"https://github.com/jacquev6/PyGithub/commit/deb0514b5e7364b307a611797681da8ddf6db5c1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/deb0514b5e7364b307a611797681da8ddf6db5c1/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"dcb6874745b2e0466017f94be745ba35b72a3748","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dcb6874745b2e0466017f94be745ba35b72a3748","html_url":"https://github.com/jacquev6/PyGithub/commit/dcb6874745b2e0466017f94be745ba35b72a3748"}]},{"sha":"c7aeaddfa8897ed9a23764bbb4beda29403ab413","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:13:14Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:13:14Z"},"message":"Fix PullRequestMergeStatus.py","tree":{"sha":"e4f7ae5aa275ca50cbc0e52dcb49ad224355f0af","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e4f7ae5aa275ca50cbc0e52dcb49ad224355f0af"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c7aeaddfa8897ed9a23764bbb4beda29403ab413","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7aeaddfa8897ed9a23764bbb4beda29403ab413","html_url":"https://github.com/jacquev6/PyGithub/commit/c7aeaddfa8897ed9a23764bbb4beda29403ab413","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7aeaddfa8897ed9a23764bbb4beda29403ab413/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"deb0514b5e7364b307a611797681da8ddf6db5c1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/deb0514b5e7364b307a611797681da8ddf6db5c1","html_url":"https://github.com/jacquev6/PyGithub/commit/deb0514b5e7364b307a611797681da8ddf6db5c1"}]},{"sha":"b2c4519c06cf541ae327d80b0b1361e2698e23ae","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:15:09Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:15:09Z"},"message":"Update PulllRequestPart.py","tree":{"sha":"476f8bc503a98475a13bcf929c9af2034044be23","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/476f8bc503a98475a13bcf929c9af2034044be23"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b2c4519c06cf541ae327d80b0b1361e2698e23ae","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b2c4519c06cf541ae327d80b0b1361e2698e23ae","html_url":"https://github.com/jacquev6/PyGithub/commit/b2c4519c06cf541ae327d80b0b1361e2698e23ae","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b2c4519c06cf541ae327d80b0b1361e2698e23ae/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"c7aeaddfa8897ed9a23764bbb4beda29403ab413","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7aeaddfa8897ed9a23764bbb4beda29403ab413","html_url":"https://github.com/jacquev6/PyGithub/commit/c7aeaddfa8897ed9a23764bbb4beda29403ab413"}]},{"sha":"4a1a1d406896ebd96315fcf9092ab68dfb7a7194","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:19:31Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:19:31Z"},"message":"Update Plan.py","tree":{"sha":"68e82c7745d78fca9ac29501be72a3613f95876a","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/68e82c7745d78fca9ac29501be72a3613f95876a"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4a1a1d406896ebd96315fcf9092ab68dfb7a7194","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4a1a1d406896ebd96315fcf9092ab68dfb7a7194","html_url":"https://github.com/jacquev6/PyGithub/commit/4a1a1d406896ebd96315fcf9092ab68dfb7a7194","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4a1a1d406896ebd96315fcf9092ab68dfb7a7194/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"b2c4519c06cf541ae327d80b0b1361e2698e23ae","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b2c4519c06cf541ae327d80b0b1361e2698e23ae","html_url":"https://github.com/jacquev6/PyGithub/commit/b2c4519c06cf541ae327d80b0b1361e2698e23ae"}]},{"sha":"a1b65636df9408d93b115a3533a091e3e9cc68c4","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:25:07Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:25:07Z"},"message":"Clean up. NonCompletableGithubObject refactoring resolved.","tree":{"sha":"eec00d808853aee3bf03f8e705fbf49bd32b1dab","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/eec00d808853aee3bf03f8e705fbf49bd32b1dab"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a1b65636df9408d93b115a3533a091e3e9cc68c4","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a1b65636df9408d93b115a3533a091e3e9cc68c4","html_url":"https://github.com/jacquev6/PyGithub/commit/a1b65636df9408d93b115a3533a091e3e9cc68c4","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a1b65636df9408d93b115a3533a091e3e9cc68c4/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"4a1a1d406896ebd96315fcf9092ab68dfb7a7194","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4a1a1d406896ebd96315fcf9092ab68dfb7a7194","html_url":"https://github.com/jacquev6/PyGithub/commit/4a1a1d406896ebd96315fcf9092ab68dfb7a7194"}]},{"sha":"ca6189c3c94fac963811342ce9f77104d0b5774b","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:49:20Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T06:49:20Z"},"message":"Change CompletableGithubObject.__init__ without breaking build.","tree":{"sha":"a8fd06251014ac406f89342e2ee118fe5e5e562c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a8fd06251014ac406f89342e2ee118fe5e5e562c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ca6189c3c94fac963811342ce9f77104d0b5774b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ca6189c3c94fac963811342ce9f77104d0b5774b","html_url":"https://github.com/jacquev6/PyGithub/commit/ca6189c3c94fac963811342ce9f77104d0b5774b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ca6189c3c94fac963811342ce9f77104d0b5774b/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"a1b65636df9408d93b115a3533a091e3e9cc68c4","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a1b65636df9408d93b115a3533a091e3e9cc68c4","html_url":"https://github.com/jacquev6/PyGithub/commit/a1b65636df9408d93b115a3533a091e3e9cc68c4"}]},{"sha":"2f31828502c95fef62970db7d4ca49fa8b4b8e0d","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:04:34Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:04:34Z"},"message":"Update RepositoryKey.py","tree":{"sha":"f1903010376227506f579412a3356276a2ef3a6f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f1903010376227506f579412a3356276a2ef3a6f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2f31828502c95fef62970db7d4ca49fa8b4b8e0d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2f31828502c95fef62970db7d4ca49fa8b4b8e0d","html_url":"https://github.com/jacquev6/PyGithub/commit/2f31828502c95fef62970db7d4ca49fa8b4b8e0d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2f31828502c95fef62970db7d4ca49fa8b4b8e0d/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ca6189c3c94fac963811342ce9f77104d0b5774b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ca6189c3c94fac963811342ce9f77104d0b5774b","html_url":"https://github.com/jacquev6/PyGithub/commit/ca6189c3c94fac963811342ce9f77104d0b5774b"}]},{"sha":"28a49b94d87408592199ffa018e8c1b3bd9d2a77","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:06:21Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:06:21Z"},"message":"Update AuthenticatedUser.py","tree":{"sha":"be7f3930e35f7752cbf2541d3b9c2ea1b31a4cbb","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/be7f3930e35f7752cbf2541d3b9c2ea1b31a4cbb"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/28a49b94d87408592199ffa018e8c1b3bd9d2a77","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28a49b94d87408592199ffa018e8c1b3bd9d2a77","html_url":"https://github.com/jacquev6/PyGithub/commit/28a49b94d87408592199ffa018e8c1b3bd9d2a77","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28a49b94d87408592199ffa018e8c1b3bd9d2a77/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"2f31828502c95fef62970db7d4ca49fa8b4b8e0d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2f31828502c95fef62970db7d4ca49fa8b4b8e0d","html_url":"https://github.com/jacquev6/PyGithub/commit/2f31828502c95fef62970db7d4ca49fa8b4b8e0d"}]},{"sha":"0e19d8e04e847aac690fcd5563c35aa0c1808a80","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:09:34Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:09:34Z"},"message":"Update Authorization.py","tree":{"sha":"fd2c8b34609c810f111d6f911e7bf8af932a3057","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fd2c8b34609c810f111d6f911e7bf8af932a3057"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0e19d8e04e847aac690fcd5563c35aa0c1808a80","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e19d8e04e847aac690fcd5563c35aa0c1808a80","html_url":"https://github.com/jacquev6/PyGithub/commit/0e19d8e04e847aac690fcd5563c35aa0c1808a80","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e19d8e04e847aac690fcd5563c35aa0c1808a80/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"28a49b94d87408592199ffa018e8c1b3bd9d2a77","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28a49b94d87408592199ffa018e8c1b3bd9d2a77","html_url":"https://github.com/jacquev6/PyGithub/commit/28a49b94d87408592199ffa018e8c1b3bd9d2a77"}]},{"sha":"83c6495ec557898cd17a70be184c307558b4535c","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:10:54Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:10:54Z"},"message":"Update AuthorizationApplication.py","tree":{"sha":"59197288fa8348a8fea3ff62a624c1f423bdc243","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/59197288fa8348a8fea3ff62a624c1f423bdc243"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/83c6495ec557898cd17a70be184c307558b4535c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/83c6495ec557898cd17a70be184c307558b4535c","html_url":"https://github.com/jacquev6/PyGithub/commit/83c6495ec557898cd17a70be184c307558b4535c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/83c6495ec557898cd17a70be184c307558b4535c/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0e19d8e04e847aac690fcd5563c35aa0c1808a80","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e19d8e04e847aac690fcd5563c35aa0c1808a80","html_url":"https://github.com/jacquev6/PyGithub/commit/0e19d8e04e847aac690fcd5563c35aa0c1808a80"}]},{"sha":"ed32e78da1303962afaf8fa0d616a1828fdaa80b","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:26:05Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:26:05Z"},"message":"Update Commit.py and GitCommit.py","tree":{"sha":"137ed1870455860097e3fde5ecc1d32d3ae58461","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/137ed1870455860097e3fde5ecc1d32d3ae58461"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ed32e78da1303962afaf8fa0d616a1828fdaa80b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed32e78da1303962afaf8fa0d616a1828fdaa80b","html_url":"https://github.com/jacquev6/PyGithub/commit/ed32e78da1303962afaf8fa0d616a1828fdaa80b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed32e78da1303962afaf8fa0d616a1828fdaa80b/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"83c6495ec557898cd17a70be184c307558b4535c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/83c6495ec557898cd17a70be184c307558b4535c","html_url":"https://github.com/jacquev6/PyGithub/commit/83c6495ec557898cd17a70be184c307558b4535c"}]},{"sha":"3b2e19488fc6a5f51574d874e546173c1835d10b","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:28:00Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:28:00Z"},"message":"Update CommitComment.py","tree":{"sha":"99c70f3baa022e7e837f7903172325a78d41a2a4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/99c70f3baa022e7e837f7903172325a78d41a2a4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3b2e19488fc6a5f51574d874e546173c1835d10b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3b2e19488fc6a5f51574d874e546173c1835d10b","html_url":"https://github.com/jacquev6/PyGithub/commit/3b2e19488fc6a5f51574d874e546173c1835d10b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3b2e19488fc6a5f51574d874e546173c1835d10b/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ed32e78da1303962afaf8fa0d616a1828fdaa80b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed32e78da1303962afaf8fa0d616a1828fdaa80b","html_url":"https://github.com/jacquev6/PyGithub/commit/ed32e78da1303962afaf8fa0d616a1828fdaa80b"}]},{"sha":"ced048663ba392bfee2543cea5f5fbf875771c0e","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:29:13Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:29:13Z"},"message":"Update Comparision.py","tree":{"sha":"25c0fef0fa652ad8bce55c3efbd10028298eb24f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/25c0fef0fa652ad8bce55c3efbd10028298eb24f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ced048663ba392bfee2543cea5f5fbf875771c0e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ced048663ba392bfee2543cea5f5fbf875771c0e","html_url":"https://github.com/jacquev6/PyGithub/commit/ced048663ba392bfee2543cea5f5fbf875771c0e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ced048663ba392bfee2543cea5f5fbf875771c0e/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"3b2e19488fc6a5f51574d874e546173c1835d10b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3b2e19488fc6a5f51574d874e546173c1835d10b","html_url":"https://github.com/jacquev6/PyGithub/commit/3b2e19488fc6a5f51574d874e546173c1835d10b"}]},{"sha":"0c13da45929dbc528a4f8f14f8ce54df15888660","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:31:45Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:31:45Z"},"message":"Update ContentFile.py","tree":{"sha":"a9d12c606be5d39883e814a16deca4c959374973","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a9d12c606be5d39883e814a16deca4c959374973"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0c13da45929dbc528a4f8f14f8ce54df15888660","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0c13da45929dbc528a4f8f14f8ce54df15888660","html_url":"https://github.com/jacquev6/PyGithub/commit/0c13da45929dbc528a4f8f14f8ce54df15888660","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0c13da45929dbc528a4f8f14f8ce54df15888660/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ced048663ba392bfee2543cea5f5fbf875771c0e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ced048663ba392bfee2543cea5f5fbf875771c0e","html_url":"https://github.com/jacquev6/PyGithub/commit/ced048663ba392bfee2543cea5f5fbf875771c0e"}]},{"sha":"c15cb6575b88b56b48fb21e66931ab2108c8b23c","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:33:25Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:33:25Z"},"message":"Update Download.py","tree":{"sha":"77bb2d83e0989950f5b688505b40ee3bfc3274aa","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/77bb2d83e0989950f5b688505b40ee3bfc3274aa"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c15cb6575b88b56b48fb21e66931ab2108c8b23c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c15cb6575b88b56b48fb21e66931ab2108c8b23c","html_url":"https://github.com/jacquev6/PyGithub/commit/c15cb6575b88b56b48fb21e66931ab2108c8b23c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c15cb6575b88b56b48fb21e66931ab2108c8b23c/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0c13da45929dbc528a4f8f14f8ce54df15888660","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0c13da45929dbc528a4f8f14f8ce54df15888660","html_url":"https://github.com/jacquev6/PyGithub/commit/0c13da45929dbc528a4f8f14f8ce54df15888660"}]},{"sha":"dc8173a5328cede580cae7e2bbf053ee98185d4e","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:39:34Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:39:34Z"},"message":"Update Gist*.py","tree":{"sha":"3d7859d27a4f4ef40a728f1787dea342b9f0d904","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/3d7859d27a4f4ef40a728f1787dea342b9f0d904"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dc8173a5328cede580cae7e2bbf053ee98185d4e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc8173a5328cede580cae7e2bbf053ee98185d4e","html_url":"https://github.com/jacquev6/PyGithub/commit/dc8173a5328cede580cae7e2bbf053ee98185d4e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc8173a5328cede580cae7e2bbf053ee98185d4e/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"c15cb6575b88b56b48fb21e66931ab2108c8b23c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c15cb6575b88b56b48fb21e66931ab2108c8b23c","html_url":"https://github.com/jacquev6/PyGithub/commit/c15cb6575b88b56b48fb21e66931ab2108c8b23c"}]},{"sha":"b43de50dc4f4a538e284645b4f83b597d008a8a2","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:48:08Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:48:08Z"},"message":"Update GitBlob.py","tree":{"sha":"fa891e8f586348ce6d20aa33c7a53215bb3f8eed","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fa891e8f586348ce6d20aa33c7a53215bb3f8eed"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b43de50dc4f4a538e284645b4f83b597d008a8a2","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b43de50dc4f4a538e284645b4f83b597d008a8a2","html_url":"https://github.com/jacquev6/PyGithub/commit/b43de50dc4f4a538e284645b4f83b597d008a8a2","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b43de50dc4f4a538e284645b4f83b597d008a8a2/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"dc8173a5328cede580cae7e2bbf053ee98185d4e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc8173a5328cede580cae7e2bbf053ee98185d4e","html_url":"https://github.com/jacquev6/PyGithub/commit/dc8173a5328cede580cae7e2bbf053ee98185d4e"}]},{"sha":"1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:51:12Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:51:12Z"},"message":"Update GitRef.py","tree":{"sha":"5bb940a1d3d1ca30ee86ae9e25fe56aee5132708","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5bb940a1d3d1ca30ee86ae9e25fe56aee5132708"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","html_url":"https://github.com/jacquev6/PyGithub/commit/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"b43de50dc4f4a538e284645b4f83b597d008a8a2","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b43de50dc4f4a538e284645b4f83b597d008a8a2","html_url":"https://github.com/jacquev6/PyGithub/commit/b43de50dc4f4a538e284645b4f83b597d008a8a2"}]},{"sha":"c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:52:57Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:52:57Z"},"message":"Update GitTag.py","tree":{"sha":"86dc08675585c9a8631152f53fa61f7be7fd76ea","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/86dc08675585c9a8631152f53fa61f7be7fd76ea"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","html_url":"https://github.com/jacquev6/PyGithub/commit/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7","html_url":"https://github.com/jacquev6/PyGithub/commit/1dbc2dd38f5c31a8a48082daad4981c79d92f0b7"}]},{"sha":"038e35cb3d40f85b35b6fbe0807f9c761c474310","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:55:42Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:55:42Z"},"message":"Update GitTree","tree":{"sha":"48f4d2fd9511201c76ada8f1219cae44b427befd","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/48f4d2fd9511201c76ada8f1219cae44b427befd"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/038e35cb3d40f85b35b6fbe0807f9c761c474310","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/038e35cb3d40f85b35b6fbe0807f9c761c474310","html_url":"https://github.com/jacquev6/PyGithub/commit/038e35cb3d40f85b35b6fbe0807f9c761c474310","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/038e35cb3d40f85b35b6fbe0807f9c761c474310/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8","html_url":"https://github.com/jacquev6/PyGithub/commit/c89bebc729b48477b0d8949d9179bb2e9a7c3bf8"}]},{"sha":"044a000d7647e9134c69378f760ff1a2bd141f4d","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:58:07Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T07:58:07Z"},"message":"Update Hook.py","tree":{"sha":"2372a21476b8ec8784687cc470382148733a92ed","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2372a21476b8ec8784687cc470382148733a92ed"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/044a000d7647e9134c69378f760ff1a2bd141f4d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/044a000d7647e9134c69378f760ff1a2bd141f4d","html_url":"https://github.com/jacquev6/PyGithub/commit/044a000d7647e9134c69378f760ff1a2bd141f4d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/044a000d7647e9134c69378f760ff1a2bd141f4d/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"038e35cb3d40f85b35b6fbe0807f9c761c474310","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/038e35cb3d40f85b35b6fbe0807f9c761c474310","html_url":"https://github.com/jacquev6/PyGithub/commit/038e35cb3d40f85b35b6fbe0807f9c761c474310"}]},{"sha":"49a69c9425789cfb21c49888a144b123ae564cf3","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:08:54Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:08:54Z"},"message":"Update Issue.py","tree":{"sha":"a32e11d7c6e916c0600ec08dbc9298423e4efefb","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a32e11d7c6e916c0600ec08dbc9298423e4efefb"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/49a69c9425789cfb21c49888a144b123ae564cf3","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/49a69c9425789cfb21c49888a144b123ae564cf3","html_url":"https://github.com/jacquev6/PyGithub/commit/49a69c9425789cfb21c49888a144b123ae564cf3","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/49a69c9425789cfb21c49888a144b123ae564cf3/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"044a000d7647e9134c69378f760ff1a2bd141f4d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/044a000d7647e9134c69378f760ff1a2bd141f4d","html_url":"https://github.com/jacquev6/PyGithub/commit/044a000d7647e9134c69378f760ff1a2bd141f4d"}]},{"sha":"8f2ba4f522dbae090b8287663a9a1a88283803b4","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:13:22Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:13:22Z"},"message":"Update IssueComment.py","tree":{"sha":"d7287eda45c3e008132a1650f49dbf124b50bc56","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d7287eda45c3e008132a1650f49dbf124b50bc56"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8f2ba4f522dbae090b8287663a9a1a88283803b4","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8f2ba4f522dbae090b8287663a9a1a88283803b4","html_url":"https://github.com/jacquev6/PyGithub/commit/8f2ba4f522dbae090b8287663a9a1a88283803b4","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8f2ba4f522dbae090b8287663a9a1a88283803b4/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"49a69c9425789cfb21c49888a144b123ae564cf3","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/49a69c9425789cfb21c49888a144b123ae564cf3","html_url":"https://github.com/jacquev6/PyGithub/commit/49a69c9425789cfb21c49888a144b123ae564cf3"}]},{"sha":"7d40b9eae87fb1631f358e3c09a9d691a942f258","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:17:26Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:17:26Z"},"message":"Update IssueEvent.py","tree":{"sha":"4171bd3cc8c8ca69c351ea2bf6b5d19900d6c1c1","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4171bd3cc8c8ca69c351ea2bf6b5d19900d6c1c1"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7d40b9eae87fb1631f358e3c09a9d691a942f258","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7d40b9eae87fb1631f358e3c09a9d691a942f258","html_url":"https://github.com/jacquev6/PyGithub/commit/7d40b9eae87fb1631f358e3c09a9d691a942f258","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7d40b9eae87fb1631f358e3c09a9d691a942f258/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"8f2ba4f522dbae090b8287663a9a1a88283803b4","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8f2ba4f522dbae090b8287663a9a1a88283803b4","html_url":"https://github.com/jacquev6/PyGithub/commit/8f2ba4f522dbae090b8287663a9a1a88283803b4"}]},{"sha":"175488270a65a97a42c7bc3fd0bf42676ea4a6e3","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:21:22Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:21:22Z"},"message":"Update Label.py","tree":{"sha":"b2fb450a7dfd492b40bca942f761615a1ac6a342","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b2fb450a7dfd492b40bca942f761615a1ac6a342"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/175488270a65a97a42c7bc3fd0bf42676ea4a6e3","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/175488270a65a97a42c7bc3fd0bf42676ea4a6e3","html_url":"https://github.com/jacquev6/PyGithub/commit/175488270a65a97a42c7bc3fd0bf42676ea4a6e3","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/175488270a65a97a42c7bc3fd0bf42676ea4a6e3/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"7d40b9eae87fb1631f358e3c09a9d691a942f258","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7d40b9eae87fb1631f358e3c09a9d691a942f258","html_url":"https://github.com/jacquev6/PyGithub/commit/7d40b9eae87fb1631f358e3c09a9d691a942f258"}]},{"sha":"e4baf577ed5445bbc156c123ccbd7da3c1a3b650","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:24:27Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:24:27Z"},"message":"Update Milestone.py","tree":{"sha":"6cd4d4a0cc49e8a0ecacc793fccdf99e66668cd2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6cd4d4a0cc49e8a0ecacc793fccdf99e66668cd2"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e4baf577ed5445bbc156c123ccbd7da3c1a3b650","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e4baf577ed5445bbc156c123ccbd7da3c1a3b650","html_url":"https://github.com/jacquev6/PyGithub/commit/e4baf577ed5445bbc156c123ccbd7da3c1a3b650","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e4baf577ed5445bbc156c123ccbd7da3c1a3b650/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"175488270a65a97a42c7bc3fd0bf42676ea4a6e3","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/175488270a65a97a42c7bc3fd0bf42676ea4a6e3","html_url":"https://github.com/jacquev6/PyGithub/commit/175488270a65a97a42c7bc3fd0bf42676ea4a6e3"}]},{"sha":"ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:57:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:57:10Z"},"message":"Update NamedUser.py","tree":{"sha":"22c59fcb82b68071233ebe394ed249d85304b589","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/22c59fcb82b68071233ebe394ed249d85304b589"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","html_url":"https://github.com/jacquev6/PyGithub/commit/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"e4baf577ed5445bbc156c123ccbd7da3c1a3b650","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e4baf577ed5445bbc156c123ccbd7da3c1a3b650","html_url":"https://github.com/jacquev6/PyGithub/commit/e4baf577ed5445bbc156c123ccbd7da3c1a3b650"}]},{"sha":"6cb6e8d232f84e7456c184a4cd055281bb0dba07","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:58:25Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T08:58:25Z"},"message":"Update Notification.py","tree":{"sha":"12744defe09c67111d1ce8454619db76441c74c2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/12744defe09c67111d1ce8454619db76441c74c2"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6cb6e8d232f84e7456c184a4cd055281bb0dba07","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb6e8d232f84e7456c184a4cd055281bb0dba07","html_url":"https://github.com/jacquev6/PyGithub/commit/6cb6e8d232f84e7456c184a4cd055281bb0dba07","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb6e8d232f84e7456c184a4cd055281bb0dba07/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c","html_url":"https://github.com/jacquev6/PyGithub/commit/ba6800ada4213828bdb4f5d54d14e0d4c3c25c4c"}]},{"sha":"ef912af6b79414351de245aa7a6919cad461ca50","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:01:13Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:01:13Z"},"message":"Update Organization.py","tree":{"sha":"25eb4e93c5716005647e58fc78b02258d819e3b8","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/25eb4e93c5716005647e58fc78b02258d819e3b8"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ef912af6b79414351de245aa7a6919cad461ca50","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ef912af6b79414351de245aa7a6919cad461ca50","html_url":"https://github.com/jacquev6/PyGithub/commit/ef912af6b79414351de245aa7a6919cad461ca50","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ef912af6b79414351de245aa7a6919cad461ca50/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"6cb6e8d232f84e7456c184a4cd055281bb0dba07","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb6e8d232f84e7456c184a4cd055281bb0dba07","html_url":"https://github.com/jacquev6/PyGithub/commit/6cb6e8d232f84e7456c184a4cd055281bb0dba07"}]},{"sha":"0e842637a6052129b1706419a66597f419b4b2ba","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:03:41Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:03:41Z"},"message":"Update PullRequest.py","tree":{"sha":"e3ecc0ea2dd602e1eab33f6c384007cd795baa3b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e3ecc0ea2dd602e1eab33f6c384007cd795baa3b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0e842637a6052129b1706419a66597f419b4b2ba","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e842637a6052129b1706419a66597f419b4b2ba","html_url":"https://github.com/jacquev6/PyGithub/commit/0e842637a6052129b1706419a66597f419b4b2ba","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e842637a6052129b1706419a66597f419b4b2ba/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"ef912af6b79414351de245aa7a6919cad461ca50","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ef912af6b79414351de245aa7a6919cad461ca50","html_url":"https://github.com/jacquev6/PyGithub/commit/ef912af6b79414351de245aa7a6919cad461ca50"}]},{"sha":"3c1d17cd649e79ff7c97d2c68daffbf6529ed969","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:13:03Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:13:03Z"},"message":"Update Repository.py","tree":{"sha":"95d2cbe17bc8a248b9a62f29bff961a4fbf9ecfe","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/95d2cbe17bc8a248b9a62f29bff961a4fbf9ecfe"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3c1d17cd649e79ff7c97d2c68daffbf6529ed969","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3c1d17cd649e79ff7c97d2c68daffbf6529ed969","html_url":"https://github.com/jacquev6/PyGithub/commit/3c1d17cd649e79ff7c97d2c68daffbf6529ed969","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3c1d17cd649e79ff7c97d2c68daffbf6529ed969/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"0e842637a6052129b1706419a66597f419b4b2ba","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0e842637a6052129b1706419a66597f419b4b2ba","html_url":"https://github.com/jacquev6/PyGithub/commit/0e842637a6052129b1706419a66597f419b4b2ba"}]},{"sha":"1070631c73f02e1ee6b03c55155086d33791499e","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:18:01Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:18:01Z"},"message":"Update Team.py","tree":{"sha":"0cb42345203225124267c4f866f3747b93e6277c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/0cb42345203225124267c4f866f3747b93e6277c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1070631c73f02e1ee6b03c55155086d33791499e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1070631c73f02e1ee6b03c55155086d33791499e","html_url":"https://github.com/jacquev6/PyGithub/commit/1070631c73f02e1ee6b03c55155086d33791499e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1070631c73f02e1ee6b03c55155086d33791499e/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"3c1d17cd649e79ff7c97d2c68daffbf6529ed969","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3c1d17cd649e79ff7c97d2c68daffbf6529ed969","html_url":"https://github.com/jacquev6/PyGithub/commit/3c1d17cd649e79ff7c97d2c68daffbf6529ed969"}]},{"sha":"c4e8972be12ba249a06cd4c40499e0b32011e7f5","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:19:11Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:19:11Z"},"message":"Update UserKey.py","tree":{"sha":"dc077fcaedfee625d520412e41485893c351c150","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/dc077fcaedfee625d520412e41485893c351c150"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c4e8972be12ba249a06cd4c40499e0b32011e7f5","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c4e8972be12ba249a06cd4c40499e0b32011e7f5","html_url":"https://github.com/jacquev6/PyGithub/commit/c4e8972be12ba249a06cd4c40499e0b32011e7f5","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c4e8972be12ba249a06cd4c40499e0b32011e7f5/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"1070631c73f02e1ee6b03c55155086d33791499e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1070631c73f02e1ee6b03c55155086d33791499e","html_url":"https://github.com/jacquev6/PyGithub/commit/1070631c73f02e1ee6b03c55155086d33791499e"}]},{"sha":"8a301701db354408b63273f78ece6887a1677e55","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:25:29Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:25:29Z"},"message":"Remove helper method in PaginatedList.py","tree":{"sha":"639f5560d925aa1b19e29f3eeb74c7e5f11174cc","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/639f5560d925aa1b19e29f3eeb74c7e5f11174cc"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8a301701db354408b63273f78ece6887a1677e55","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a301701db354408b63273f78ece6887a1677e55","html_url":"https://github.com/jacquev6/PyGithub/commit/8a301701db354408b63273f78ece6887a1677e55","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a301701db354408b63273f78ece6887a1677e55/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"c4e8972be12ba249a06cd4c40499e0b32011e7f5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c4e8972be12ba249a06cd4c40499e0b32011e7f5","html_url":"https://github.com/jacquev6/PyGithub/commit/c4e8972be12ba249a06cd4c40499e0b32011e7f5"}]},{"sha":"3f6d1b6b705de6ea9632021987e55d41875f0102","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:27:37Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:27:37Z"},"message":"Remove helper method in Legacy.py","tree":{"sha":"cdc64db71461393d95d58e89a9a0387fe5d3b447","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/cdc64db71461393d95d58e89a9a0387fe5d3b447"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3f6d1b6b705de6ea9632021987e55d41875f0102","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3f6d1b6b705de6ea9632021987e55d41875f0102","html_url":"https://github.com/jacquev6/PyGithub/commit/3f6d1b6b705de6ea9632021987e55d41875f0102","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3f6d1b6b705de6ea9632021987e55d41875f0102/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"8a301701db354408b63273f78ece6887a1677e55","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a301701db354408b63273f78ece6887a1677e55","html_url":"https://github.com/jacquev6/PyGithub/commit/8a301701db354408b63273f78ece6887a1677e55"}]},{"sha":"30d9d499a1b44552ab9a28ef7317aa2098daafd7","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:32:32Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:32:32Z"},"message":"Clean up","tree":{"sha":"971191c9d4fbd001727beeeb2ff9a482b80e2b39","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/971191c9d4fbd001727beeeb2ff9a482b80e2b39"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/30d9d499a1b44552ab9a28ef7317aa2098daafd7","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/30d9d499a1b44552ab9a28ef7317aa2098daafd7","html_url":"https://github.com/jacquev6/PyGithub/commit/30d9d499a1b44552ab9a28ef7317aa2098daafd7","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/30d9d499a1b44552ab9a28ef7317aa2098daafd7/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"3f6d1b6b705de6ea9632021987e55d41875f0102","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3f6d1b6b705de6ea9632021987e55d41875f0102","html_url":"https://github.com/jacquev6/PyGithub/commit/3f6d1b6b705de6ea9632021987e55d41875f0102"}]},{"sha":"912bec79d2dd2479e5e32118c66ee9a647b46332","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:45:01Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T09:45:01Z"},"message":"Update copyright information","tree":{"sha":"9ce5267aa0ed70277a09594a84c881e9e04da2e5","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9ce5267aa0ed70277a09594a84c881e9e04da2e5"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/912bec79d2dd2479e5e32118c66ee9a647b46332","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/912bec79d2dd2479e5e32118c66ee9a647b46332","html_url":"https://github.com/jacquev6/PyGithub/commit/912bec79d2dd2479e5e32118c66ee9a647b46332","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/912bec79d2dd2479e5e32118c66ee9a647b46332/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"30d9d499a1b44552ab9a28ef7317aa2098daafd7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/30d9d499a1b44552ab9a28ef7317aa2098daafd7","html_url":"https://github.com/jacquev6/PyGithub/commit/30d9d499a1b44552ab9a28ef7317aa2098daafd7"}]},{"sha":"1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T11:25:05Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T11:25:05Z"},"message":"Add debug / test mechanism","tree":{"sha":"6cc4f7080010a73043a4d743a488b207f7117f42","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6cc4f7080010a73043a4d743a488b207f7117f42"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","html_url":"https://github.com/jacquev6/PyGithub/commit/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"912bec79d2dd2479e5e32118c66ee9a647b46332","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/912bec79d2dd2479e5e32118c66ee9a647b46332","html_url":"https://github.com/jacquev6/PyGithub/commit/912bec79d2dd2479e5e32118c66ee9a647b46332"}]},{"sha":"e06257d06017b72bb57b15b043e6f16d4b6eb568","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T12:58:29Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T12:58:29Z"},"message":"Enable debug in TestCase","tree":{"sha":"c99afd32d144d223b8dea8dc3d1bc612a5e7b440","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c99afd32d144d223b8dea8dc3d1bc612a5e7b440"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e06257d06017b72bb57b15b043e6f16d4b6eb568","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e06257d06017b72bb57b15b043e6f16d4b6eb568","html_url":"https://github.com/jacquev6/PyGithub/commit/e06257d06017b72bb57b15b043e6f16d4b6eb568","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e06257d06017b72bb57b15b043e6f16d4b6eb568/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80","html_url":"https://github.com/jacquev6/PyGithub/commit/1d18ea75cce3ca6aeff03d0343e65b2f13b97f80"}]},{"sha":"aa3025271cd918883b31a42fb7b4ce03027b805c","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T13:11:12Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T13:11:12Z"},"message":"Assert response headers","tree":{"sha":"9e5ec5a1f82ccfe07e2abeb586b7d39b98392df2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9e5ec5a1f82ccfe07e2abeb586b7d39b98392df2"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/aa3025271cd918883b31a42fb7b4ce03027b805c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/aa3025271cd918883b31a42fb7b4ce03027b805c","html_url":"https://github.com/jacquev6/PyGithub/commit/aa3025271cd918883b31a42fb7b4ce03027b805c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/aa3025271cd918883b31a42fb7b4ce03027b805c/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"e06257d06017b72bb57b15b043e6f16d4b6eb568","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e06257d06017b72bb57b15b043e6f16d4b6eb568","html_url":"https://github.com/jacquev6/PyGithub/commit/e06257d06017b72bb57b15b043e6f16d4b6eb568"}]},{"sha":"b71329e560795a4df84cb419178ef660824f4c0d","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T14:25:20Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T14:25:20Z"},"message":"Implement data persistence","tree":{"sha":"e617e5b89efd45b9839d8e7f61619f00974367bb","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e617e5b89efd45b9839d8e7f61619f00974367bb"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b71329e560795a4df84cb419178ef660824f4c0d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b71329e560795a4df84cb419178ef660824f4c0d","html_url":"https://github.com/jacquev6/PyGithub/commit/b71329e560795a4df84cb419178ef660824f4c0d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b71329e560795a4df84cb419178ef660824f4c0d/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"aa3025271cd918883b31a42fb7b4ce03027b805c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/aa3025271cd918883b31a42fb7b4ce03027b805c","html_url":"https://github.com/jacquev6/PyGithub/commit/aa3025271cd918883b31a42fb7b4ce03027b805c"}]},{"sha":"bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:01:40Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:01:40Z"},"message":"Add update() method","tree":{"sha":"790ed722bb219aeb47c13f073a41ccb4e67a0ae0","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/790ed722bb219aeb47c13f073a41ccb4e67a0ae0"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","html_url":"https://github.com/jacquev6/PyGithub/commit/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"b71329e560795a4df84cb419178ef660824f4c0d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b71329e560795a4df84cb419178ef660824f4c0d","html_url":"https://github.com/jacquev6/PyGithub/commit/b71329e560795a4df84cb419178ef660824f4c0d"}]},{"sha":"1e9ec2df089973db73aaf99b4ef147efd4614e7c","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:04:07Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:04:07Z"},"message":"Add NotModifiedException class","tree":{"sha":"68bf8de0788f5e0a6675d07bceaeb114183315ba","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/68bf8de0788f5e0a6675d07bceaeb114183315ba"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1e9ec2df089973db73aaf99b4ef147efd4614e7c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e9ec2df089973db73aaf99b4ef147efd4614e7c","html_url":"https://github.com/jacquev6/PyGithub/commit/1e9ec2df089973db73aaf99b4ef147efd4614e7c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e9ec2df089973db73aaf99b4ef147efd4614e7c/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","html_url":"https://github.com/jacquev6/PyGithub/commit/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6"}]},{"sha":"6fd05baf6bea732dd846e08c40891c28060e7c64","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:09:30Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:09:30Z"},"message":"Handle response code 304","tree":{"sha":"8601556063c365eb7c636a3459eca81b5e717e21","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/8601556063c365eb7c636a3459eca81b5e717e21"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6fd05baf6bea732dd846e08c40891c28060e7c64","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6fd05baf6bea732dd846e08c40891c28060e7c64","html_url":"https://github.com/jacquev6/PyGithub/commit/6fd05baf6bea732dd846e08c40891c28060e7c64","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6fd05baf6bea732dd846e08c40891c28060e7c64/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"1e9ec2df089973db73aaf99b4ef147efd4614e7c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e9ec2df089973db73aaf99b4ef147efd4614e7c","html_url":"https://github.com/jacquev6/PyGithub/commit/1e9ec2df089973db73aaf99b4ef147efd4614e7c"}]},{"sha":"5b09f6c82191601cad92076ad4761fe927c511ed","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:17:59Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:17:59Z"},"message":"Implement conditional request","tree":{"sha":"d6c3d2b807635ecd9a9129b1a99d0e2f6758d440","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d6c3d2b807635ecd9a9129b1a99d0e2f6758d440"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5b09f6c82191601cad92076ad4761fe927c511ed","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed","html_url":"https://github.com/jacquev6/PyGithub/commit/5b09f6c82191601cad92076ad4761fe927c511ed","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"6fd05baf6bea732dd846e08c40891c28060e7c64","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6fd05baf6bea732dd846e08c40891c28060e7c64","html_url":"https://github.com/jacquev6/PyGithub/commit/6fd05baf6bea732dd846e08c40891c28060e7c64"}]},{"sha":"1955f7b39d4aeef19356a8269e6430537fcc3006","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:40:21Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T20:24:32Z"},"message":"Use POST /gists/:id/forks instead of POST /gists/:id/fork","tree":{"sha":"96255698cf321052b8d1990af1b282e7e7d9b094","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/96255698cf321052b8d1990af1b282e7e7d9b094"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1955f7b39d4aeef19356a8269e6430537fcc3006","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1955f7b39d4aeef19356a8269e6430537fcc3006","html_url":"https://github.com/jacquev6/PyGithub/commit/1955f7b39d4aeef19356a8269e6430537fcc3006","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1955f7b39d4aeef19356a8269e6430537fcc3006/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"ed781f8b1b96e1d2a342d36ca53114ea28862fa8","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed781f8b1b96e1d2a342d36ca53114ea28862fa8","html_url":"https://github.com/jacquev6/PyGithub/commit/ed781f8b1b96e1d2a342d36ca53114ea28862fa8"}]},{"sha":"0f369ba218414beb8d782904b1f09d4711c82cb7","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T16:51:09Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T20:25:44Z"},"message":"Use POST /repos/:owner/:repo/hooks/:id/tests instead of POST /repos/:owner/:repo/hooks/:id/test","tree":{"sha":"9df3a12c5a595613c179195787593cd18f50df60","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9df3a12c5a595613c179195787593cd18f50df60"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0f369ba218414beb8d782904b1f09d4711c82cb7","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f369ba218414beb8d782904b1f09d4711c82cb7","html_url":"https://github.com/jacquev6/PyGithub/commit/0f369ba218414beb8d782904b1f09d4711c82cb7","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f369ba218414beb8d782904b1f09d4711c82cb7/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1955f7b39d4aeef19356a8269e6430537fcc3006","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1955f7b39d4aeef19356a8269e6430537fcc3006","html_url":"https://github.com/jacquev6/PyGithub/commit/1955f7b39d4aeef19356a8269e6430537fcc3006"}]},{"sha":"e384a52971a8452b9c8eb32ed862e88cd828ee8e","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T19:43:08Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T20:26:58Z"},"message":"NamedUser.has_in_following","tree":{"sha":"becbc15254d47f078ee3e70bee997cea6ad201d0","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/becbc15254d47f078ee3e70bee997cea6ad201d0"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e384a52971a8452b9c8eb32ed862e88cd828ee8e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e384a52971a8452b9c8eb32ed862e88cd828ee8e","html_url":"https://github.com/jacquev6/PyGithub/commit/e384a52971a8452b9c8eb32ed862e88cd828ee8e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e384a52971a8452b9c8eb32ed862e88cd828ee8e/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0f369ba218414beb8d782904b1f09d4711c82cb7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f369ba218414beb8d782904b1f09d4711c82cb7","html_url":"https://github.com/jacquev6/PyGithub/commit/0f369ba218414beb8d782904b1f09d4711c82cb7"}]},{"sha":"1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T19:54:00Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-21T20:28:15Z"},"message":"Github.get_repos (to get all public repositories)","tree":{"sha":"3164e655a882efc8233e688223b17703f7ee0e81","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/3164e655a882efc8233e688223b17703f7ee0e81"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","html_url":"https://github.com/jacquev6/PyGithub/commit/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"e384a52971a8452b9c8eb32ed862e88cd828ee8e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e384a52971a8452b9c8eb32ed862e88cd828ee8e","html_url":"https://github.com/jacquev6/PyGithub/commit/e384a52971a8452b9c8eb32ed862e88cd828ee8e"}]},{"sha":"70a7e9c83dec2bf6b549dc5c77d30b53afb32457","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T23:45:27Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T23:45:27Z"},"message":"Fix update","tree":{"sha":"f99d30ab74ea95fedefb33a8b1b2c77903fbd698","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f99d30ab74ea95fedefb33a8b1b2c77903fbd698"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","html_url":"https://github.com/jacquev6/PyGithub/commit/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"5b09f6c82191601cad92076ad4761fe927c511ed","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed","html_url":"https://github.com/jacquev6/PyGithub/commit/5b09f6c82191601cad92076ad4761fe927c511ed"}]},{"sha":"d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T00:45:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T00:45:10Z"},"message":"Add test record helper","tree":{"sha":"e6e15fccb5b256bba3db1d4fc89088b733de227b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e6e15fccb5b256bba3db1d4fc89088b733de227b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","html_url":"https://github.com/jacquev6/PyGithub/commit/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"70a7e9c83dec2bf6b549dc5c77d30b53afb32457","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","html_url":"https://github.com/jacquev6/PyGithub/commit/70a7e9c83dec2bf6b549dc5c77d30b53afb32457"}]},{"sha":"c7593e84c4a92a044b717b7311c2b6ad8d9a5917","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T02:20:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T02:20:10Z"},"message":"Add test case for conditional request","tree":{"sha":"bbf62558b39720fc7acab1c6b26e4b9260cdc897","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/bbf62558b39720fc7acab1c6b26e4b9260cdc897"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","html_url":"https://github.com/jacquev6/PyGithub/commit/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","html_url":"https://github.com/jacquev6/PyGithub/commit/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7"}]},{"sha":"5c475c7683b2a57ee053d35586248f24febb6ebe","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:12:38Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:12:38Z"},"message":"First review of #192 (pep8, headers... nothing important)\n\n./manage.sh check\n./manage.sh fix_headers","tree":{"sha":"c874a52834343436bb9e1062a9edb11739d0de2b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c874a52834343436bb9e1062a9edb11739d0de2b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5c475c7683b2a57ee053d35586248f24febb6ebe","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5c475c7683b2a57ee053d35586248f24febb6ebe","html_url":"https://github.com/jacquev6/PyGithub/commit/5c475c7683b2a57ee053d35586248f24febb6ebe","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5c475c7683b2a57ee053d35586248f24febb6ebe/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"aa3025271cd918883b31a42fb7b4ce03027b805c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/aa3025271cd918883b31a42fb7b4ce03027b805c","html_url":"https://github.com/jacquev6/PyGithub/commit/aa3025271cd918883b31a42fb7b4ce03027b805c"}]},{"sha":"f2de1fbfcccd1bbb3da722489d361d1937e09860","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:22:07Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:22:07Z"},"message":"Don't fix headers in /build","tree":{"sha":"6151d6667cf979d47a44e9a4852f9e5894eea19a","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6151d6667cf979d47a44e9a4852f9e5894eea19a"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f2de1fbfcccd1bbb3da722489d361d1937e09860","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2de1fbfcccd1bbb3da722489d361d1937e09860","html_url":"https://github.com/jacquev6/PyGithub/commit/f2de1fbfcccd1bbb3da722489d361d1937e09860","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2de1fbfcccd1bbb3da722489d361d1937e09860/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb","html_url":"https://github.com/jacquev6/PyGithub/commit/1c993d3a5f54cd5c30c6e3407dfc216bdcf7c7cb"}]},{"sha":"8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:30:14Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:30:14Z"},"message":"Merge branch 'topic/RememberHeaders' into develop (#192)\n\nConflicts:\n\tgithub/Issue.py\n\tgithub/MainClass.py\n\tgithub/PaginatedList.py\n\tgithub/Repository.py\n\tgithub/Requester.py","tree":{"sha":"61011f6ebafc003fa6561ed990691d0c21611ea2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/61011f6ebafc003fa6561ed990691d0c21611ea2"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","html_url":"https://github.com/jacquev6/PyGithub/commit/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f2de1fbfcccd1bbb3da722489d361d1937e09860","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2de1fbfcccd1bbb3da722489d361d1937e09860","html_url":"https://github.com/jacquev6/PyGithub/commit/f2de1fbfcccd1bbb3da722489d361d1937e09860"},{"sha":"5c475c7683b2a57ee053d35586248f24febb6ebe","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5c475c7683b2a57ee053d35586248f24febb6ebe","html_url":"https://github.com/jacquev6/PyGithub/commit/5c475c7683b2a57ee053d35586248f24febb6ebe"}]},{"sha":"ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:44:38Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T08:44:38Z"},"message":"Fix merge of #192\n\nOne branch modified signature of constructors,\nanother branch added a call to a constructor.","tree":{"sha":"ea54567a0eff56ab2c1701783a2d46a9cd9b1b3d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ea54567a0eff56ab2c1701783a2d46a9cd9b1b3d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","html_url":"https://github.com/jacquev6/PyGithub/commit/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd","html_url":"https://github.com/jacquev6/PyGithub/commit/8a2624e3a1591a36ecf5afdc6fcc84443d8145dd"}]},{"sha":"cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T09:01:51Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T09:01:51Z"},"message":"Merge branch 'develop' into topic/ConditionalRequest\n\nConflicts:\n\t.gitignore\n\tgithub/Requester.py","tree":{"sha":"0d8bb0e1e0d530a2061d0d898a96b0f0ad6a5f25","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/0d8bb0e1e0d530a2061d0d898a96b0f0ad6a5f25"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","html_url":"https://github.com/jacquev6/PyGithub/commit/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"c7593e84c4a92a044b717b7311c2b6ad8d9a5917","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","html_url":"https://github.com/jacquev6/PyGithub/commit/c7593e84c4a92a044b717b7311c2b6ad8d9a5917"},{"sha":"ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","html_url":"https://github.com/jacquev6/PyGithub/commit/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008"}]},{"sha":"1787765a61958617d47e764a0bea2acd70c84f72","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T09:41:15Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T09:41:15Z"},"message":"Review of #189: use dict.get\n\nhttp://docs.python.org/2/library/stdtypes.html#dict.get","tree":{"sha":"7cb1da804d8cec4692c26b5a0d35827c151ddde4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7cb1da804d8cec4692c26b5a0d35827c151ddde4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1787765a61958617d47e764a0bea2acd70c84f72","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1787765a61958617d47e764a0bea2acd70c84f72","html_url":"https://github.com/jacquev6/PyGithub/commit/1787765a61958617d47e764a0bea2acd70c84f72","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1787765a61958617d47e764a0bea2acd70c84f72/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","html_url":"https://github.com/jacquev6/PyGithub/commit/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5"}]},{"sha":"0f74e4389b3c0fa57a83083ecfbbf5c331022674","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T10:12:38Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-22T10:12:38Z"},"message":"Review of #189: pep8, copyrights, style, remarks\n\nFor remarks, run: git grep \"#189\"\nThey are only my first thoughts while reviewing this pull request,\nand should be reviewed themselves.","tree":{"sha":"6704a63e77b81165cb7f8ff4c32bd8455fcdfbdb","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6704a63e77b81165cb7f8ff4c32bd8455fcdfbdb"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0f74e4389b3c0fa57a83083ecfbbf5c331022674","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f74e4389b3c0fa57a83083ecfbbf5c331022674","html_url":"https://github.com/jacquev6/PyGithub/commit/0f74e4389b3c0fa57a83083ecfbbf5c331022674","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f74e4389b3c0fa57a83083ecfbbf5c331022674/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1787765a61958617d47e764a0bea2acd70c84f72","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1787765a61958617d47e764a0bea2acd70c84f72","html_url":"https://github.com/jacquev6/PyGithub/commit/1787765a61958617d47e764a0bea2acd70c84f72"}]},{"sha":"fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:32:47Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:32:47Z"},"message":"Fix remarks on #189 to #193","tree":{"sha":"acda548d54ec2929d3f556bb09d72082c6cce74c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/acda548d54ec2929d3f556bb09d72082c6cce74c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","html_url":"https://github.com/jacquev6/PyGithub/commit/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0f74e4389b3c0fa57a83083ecfbbf5c331022674","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f74e4389b3c0fa57a83083ecfbbf5c331022674","html_url":"https://github.com/jacquev6/PyGithub/commit/0f74e4389b3c0fa57a83083ecfbbf5c331022674"}]},{"sha":"0413c87c12e688fb4fc38d978a2f275ef791cd48","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:39:19Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:39:19Z"},"message":"Remove _record_.py (#193)\n\nAccording to https://github.com/jacquev6/PyGithub/commit/0f74e4389b3c0fa57a83083ecfbbf5c331022674#commitcomment-3919786","tree":{"sha":"97108cad4736d71906a05fc573936659fb81f386","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/97108cad4736d71906a05fc573936659fb81f386"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0413c87c12e688fb4fc38d978a2f275ef791cd48","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0413c87c12e688fb4fc38d978a2f275ef791cd48","html_url":"https://github.com/jacquev6/PyGithub/commit/0413c87c12e688fb4fc38d978a2f275ef791cd48","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0413c87c12e688fb4fc38d978a2f275ef791cd48/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","html_url":"https://github.com/jacquev6/PyGithub/commit/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c"}]},{"sha":"bc3b819ac554a2132427c9ffe629ef371511213e","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:50:51Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T07:50:51Z"},"message":"Separate tests for conditional requests (#193)","tree":{"sha":"cebebf12f44ca09fa382c2673f9577bce01d09f8","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/cebebf12f44ca09fa382c2673f9577bce01d09f8"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bc3b819ac554a2132427c9ffe629ef371511213e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bc3b819ac554a2132427c9ffe629ef371511213e","html_url":"https://github.com/jacquev6/PyGithub/commit/bc3b819ac554a2132427c9ffe629ef371511213e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bc3b819ac554a2132427c9ffe629ef371511213e/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0413c87c12e688fb4fc38d978a2f275ef791cd48","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0413c87c12e688fb4fc38d978a2f275ef791cd48","html_url":"https://github.com/jacquev6/PyGithub/commit/0413c87c12e688fb4fc38d978a2f275ef791cd48"}]},{"sha":"bae0a37d180a4b224c6aa808d03722908109c57d","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:10:35Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:10:35Z"},"message":"#193: Don't use a try-except for a usual execution flow in GithubObject.update\n\n(and factorize assignment of headers in _storeAndUseAttributes,\nas done for rawData)","tree":{"sha":"d56e13d46c851d333baf0d69053dc6527f1e04d7","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d56e13d46c851d333baf0d69053dc6527f1e04d7"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bae0a37d180a4b224c6aa808d03722908109c57d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bae0a37d180a4b224c6aa808d03722908109c57d","html_url":"https://github.com/jacquev6/PyGithub/commit/bae0a37d180a4b224c6aa808d03722908109c57d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bae0a37d180a4b224c6aa808d03722908109c57d/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"bc3b819ac554a2132427c9ffe629ef371511213e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bc3b819ac554a2132427c9ffe629ef371511213e","html_url":"https://github.com/jacquev6/PyGithub/commit/bc3b819ac554a2132427c9ffe629ef371511213e"}]},{"sha":"03d7fb012e9d032165c43f93a4c67bc29af9366f","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:15:17Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:15:17Z"},"message":"#193: Add remarks","tree":{"sha":"887977aa41abc6624fdea3d1ffd185decc57ab90","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/887977aa41abc6624fdea3d1ffd185decc57ab90"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/03d7fb012e9d032165c43f93a4c67bc29af9366f","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03d7fb012e9d032165c43f93a4c67bc29af9366f","html_url":"https://github.com/jacquev6/PyGithub/commit/03d7fb012e9d032165c43f93a4c67bc29af9366f","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03d7fb012e9d032165c43f93a4c67bc29af9366f/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"bae0a37d180a4b224c6aa808d03722908109c57d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bae0a37d180a4b224c6aa808d03722908109c57d","html_url":"https://github.com/jacquev6/PyGithub/commit/bae0a37d180a4b224c6aa808d03722908109c57d"}]},{"sha":"64cf539c83174f95b3410c7decd2549424385ce1","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:31:01Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T09:31:01Z"},"message":"#193: Add a param to Requester.requestXxx for request headers","tree":{"sha":"d8ce377a13245803f223ae5bf50c09db0544a1be","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d8ce377a13245803f223ae5bf50c09db0544a1be"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/64cf539c83174f95b3410c7decd2549424385ce1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64cf539c83174f95b3410c7decd2549424385ce1","html_url":"https://github.com/jacquev6/PyGithub/commit/64cf539c83174f95b3410c7decd2549424385ce1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64cf539c83174f95b3410c7decd2549424385ce1/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"03d7fb012e9d032165c43f93a4c67bc29af9366f","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03d7fb012e9d032165c43f93a4c67bc29af9366f","html_url":"https://github.com/jacquev6/PyGithub/commit/03d7fb012e9d032165c43f93a4c67bc29af9366f"}]},{"sha":"e084b5138106d4ad371a69ca9519862f09c855ae","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T12:51:34Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T12:51:34Z"},"message":"#193: Fix test coverage","tree":{"sha":"e0dc9f5f816e7e6503d60b39b69d5652bd2b77ce","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e0dc9f5f816e7e6503d60b39b69d5652bd2b77ce"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e084b5138106d4ad371a69ca9519862f09c855ae","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e084b5138106d4ad371a69ca9519862f09c855ae","html_url":"https://github.com/jacquev6/PyGithub/commit/e084b5138106d4ad371a69ca9519862f09c855ae","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e084b5138106d4ad371a69ca9519862f09c855ae/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"64cf539c83174f95b3410c7decd2549424385ce1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64cf539c83174f95b3410c7decd2549424385ce1","html_url":"https://github.com/jacquev6/PyGithub/commit/64cf539c83174f95b3410c7decd2549424385ce1"}]},{"sha":"020a3c9917f42d98c1761527825061d2db8352fd","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T16:45:16Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T16:45:16Z"},"message":"Move method update to CompletableGithubObject","tree":{"sha":"4c3e987d82799789d0c2586e509cea8c71e0029b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4c3e987d82799789d0c2586e509cea8c71e0029b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/020a3c9917f42d98c1761527825061d2db8352fd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/020a3c9917f42d98c1761527825061d2db8352fd","html_url":"https://github.com/jacquev6/PyGithub/commit/020a3c9917f42d98c1761527825061d2db8352fd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/020a3c9917f42d98c1761527825061d2db8352fd/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"e084b5138106d4ad371a69ca9519862f09c855ae","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e084b5138106d4ad371a69ca9519862f09c855ae","html_url":"https://github.com/jacquev6/PyGithub/commit/e084b5138106d4ad371a69ca9519862f09c855ae"}]},{"sha":"fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T17:05:53Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-08-23T17:05:53Z"},"message":"Move the DEBUG_ON_RESPONSE call to Requester.__requestEncode","tree":{"sha":"a7fbeaacbdba31ceb21a46bedfce268411d8dfb8","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a7fbeaacbdba31ceb21a46bedfce268411d8dfb8"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","html_url":"https://github.com/jacquev6/PyGithub/commit/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"020a3c9917f42d98c1761527825061d2db8352fd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/020a3c9917f42d98c1761527825061d2db8352fd","html_url":"https://github.com/jacquev6/PyGithub/commit/020a3c9917f42d98c1761527825061d2db8352fd"}]},{"sha":"38b137fb37c0fdc74f8802a4184518e105db9121","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-23T23:21:41Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-23T23:21:41Z"},"message":"Fix line ending","tree":{"sha":"a4260390d7e3d478aed05009657f4632d25dad84","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a4260390d7e3d478aed05009657f4632d25dad84"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/38b137fb37c0fdc74f8802a4184518e105db9121","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121","html_url":"https://github.com/jacquev6/PyGithub/commit/38b137fb37c0fdc74f8802a4184518e105db9121","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"committer":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"parents":[{"sha":"fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","html_url":"https://github.com/jacquev6/PyGithub/commit/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84"}]},{"sha":"3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-04T21:28:44Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-04T21:28:44Z"},"message":"Implement object persistence\n\nThis follows my proposal for #193.\nLargely inspired by AKFish's work.","tree":{"sha":"b6b62d90fe1b65d103b74fe11a8f01f3ddd1851a","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b6b62d90fe1b65d103b74fe11a8f01f3ddd1851a"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","html_url":"https://github.com/jacquev6/PyGithub/commit/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"38b137fb37c0fdc74f8802a4184518e105db9121","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121","html_url":"https://github.com/jacquev6/PyGithub/commit/38b137fb37c0fdc74f8802a4184518e105db9121"}]},{"sha":"c412d49c9fd28406156dff664a1f848da1e95d0b","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T15:50:57Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T15:50:57Z"},"message":"Adapt to Python 2.5","tree":{"sha":"6c7ed56808fdd9a1a17b38f397fafd0e0cf1ae2e","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6c7ed56808fdd9a1a17b38f397fafd0e0cf1ae2e"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c412d49c9fd28406156dff664a1f848da1e95d0b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c412d49c9fd28406156dff664a1f848da1e95d0b","html_url":"https://github.com/jacquev6/PyGithub/commit/c412d49c9fd28406156dff664a1f848da1e95d0b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c412d49c9fd28406156dff664a1f848da1e95d0b/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","html_url":"https://github.com/jacquev6/PyGithub/commit/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4"}]},{"sha":"6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T15:53:31Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T15:53:31Z"},"message":"Adapt to Python 2.5 (again:))","tree":{"sha":"7007556096f9edd3ecd48dfe302748ba9d238273","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7007556096f9edd3ecd48dfe302748ba9d238273"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","html_url":"https://github.com/jacquev6/PyGithub/commit/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"c412d49c9fd28406156dff664a1f848da1e95d0b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c412d49c9fd28406156dff664a1f848da1e95d0b","html_url":"https://github.com/jacquev6/PyGithub/commit/c412d49c9fd28406156dff664a1f848da1e95d0b"}]},{"sha":"d18d1b0354a5c7de920b30ef1e5950a5479dd866","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:01:03Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:01:03Z"},"message":"Update readme","tree":{"sha":"140c1b06794ac9a8130cf3612c604c83f973358f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/140c1b06794ac9a8130cf3612c604c83f973358f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d18d1b0354a5c7de920b30ef1e5950a5479dd866","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d18d1b0354a5c7de920b30ef1e5950a5479dd866","html_url":"https://github.com/jacquev6/PyGithub/commit/d18d1b0354a5c7de920b30ef1e5950a5479dd866","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d18d1b0354a5c7de920b30ef1e5950a5479dd866/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","html_url":"https://github.com/jacquev6/PyGithub/commit/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69"}]},{"sha":"2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:04:49Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:04:49Z"},"message":"Say thank you to stargazers","tree":{"sha":"6c1c7aadddfcbc9a65fae7d164a9432ab3ce452a","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6c1c7aadddfcbc9a65fae7d164a9432ab3ce452a"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","html_url":"https://github.com/jacquev6/PyGithub/commit/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","html_url":"https://github.com/jacquev6/PyGithub/commit/ba5b0d5ea93d362ecd8b5a91701a9c62c385d008"}]},{"sha":"ab626114db1c798e9269daed295d1e79c36879bb","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:21:07Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:21:07Z"},"message":"Merge branch 'topic/ConditionalRequest' into develop\n\nConflicts:\n\tREADME.rst","tree":{"sha":"c15e38407a8fc7f086a7bf48e02aa5ca7be44e62","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c15e38407a8fc7f086a7bf48e02aa5ca7be44e62"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ab626114db1c798e9269daed295d1e79c36879bb","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab626114db1c798e9269daed295d1e79c36879bb","html_url":"https://github.com/jacquev6/PyGithub/commit/ab626114db1c798e9269daed295d1e79c36879bb","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab626114db1c798e9269daed295d1e79c36879bb/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5","html_url":"https://github.com/jacquev6/PyGithub/commit/2e3ab5cc9295c4e3c3c6a0d1c179a49df0db96e5"},{"sha":"d18d1b0354a5c7de920b30ef1e5950a5479dd866","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d18d1b0354a5c7de920b30ef1e5950a5479dd866","html_url":"https://github.com/jacquev6/PyGithub/commit/d18d1b0354a5c7de920b30ef1e5950a5479dd866"}]},{"sha":"1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:23:47Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:23:47Z"},"message":"Don't assume there is a 'message' field in case of error","tree":{"sha":"1eaf1c66ede16d89d6067a0c23f23f93abf83c5e","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1eaf1c66ede16d89d6067a0c23f23f93abf83c5e"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","html_url":"https://github.com/jacquev6/PyGithub/commit/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"ab626114db1c798e9269daed295d1e79c36879bb","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab626114db1c798e9269daed295d1e79c36879bb","html_url":"https://github.com/jacquev6/PyGithub/commit/ab626114db1c798e9269daed295d1e79c36879bb"}]},{"sha":"dc610dfaac50dd5bbbd572986cda35f6729aee5b","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T08:51:50Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T08:51:50Z"},"message":"Small fixes and todos","tree":{"sha":"d54e7b47327b5bb25ba38338bfcc4a0c0a61992e","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d54e7b47327b5bb25ba38338bfcc4a0c0a61992e"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dc610dfaac50dd5bbbd572986cda35f6729aee5b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc610dfaac50dd5bbbd572986cda35f6729aee5b","html_url":"https://github.com/jacquev6/PyGithub/commit/dc610dfaac50dd5bbbd572986cda35f6729aee5b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc610dfaac50dd5bbbd572986cda35f6729aee5b/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","html_url":"https://github.com/jacquev6/PyGithub/commit/1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d"}]},{"sha":"2081675afbfed404f6a580bce0ec363bebbfd98b","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:00:59Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:00:59Z"},"message":"Fix doc generation","tree":{"sha":"7aafacfc490987a44d3c73a72669e07d900f4ea9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7aafacfc490987a44d3c73a72669e07d900f4ea9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2081675afbfed404f6a580bce0ec363bebbfd98b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2081675afbfed404f6a580bce0ec363bebbfd98b","html_url":"https://github.com/jacquev6/PyGithub/commit/2081675afbfed404f6a580bce0ec363bebbfd98b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2081675afbfed404f6a580bce0ec363bebbfd98b/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"dc610dfaac50dd5bbbd572986cda35f6729aee5b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc610dfaac50dd5bbbd572986cda35f6729aee5b","html_url":"https://github.com/jacquev6/PyGithub/commit/dc610dfaac50dd5bbbd572986cda35f6729aee5b"}]},{"sha":"f2feb81dae1b28af80c559db7328f2d6fe017911","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-05T16:56:56Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:01:32Z"},"message":"Add default parameters to greatly reduce code redoundancy","tree":{"sha":"075abd28eec29754d4ac96d94fa00e0ee41e9e09","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/075abd28eec29754d4ac96d94fa00e0ee41e9e09"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f2feb81dae1b28af80c559db7328f2d6fe017911","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2feb81dae1b28af80c559db7328f2d6fe017911","html_url":"https://github.com/jacquev6/PyGithub/commit/f2feb81dae1b28af80c559db7328f2d6fe017911","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2feb81dae1b28af80c559db7328f2d6fe017911/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2081675afbfed404f6a580bce0ec363bebbfd98b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2081675afbfed404f6a580bce0ec363bebbfd98b","html_url":"https://github.com/jacquev6/PyGithub/commit/2081675afbfed404f6a580bce0ec363bebbfd98b"}]},{"sha":"c819580ce872f251e8ec23deee95d9fb15ca19c9","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T08:51:13Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:01:33Z"},"message":"Get status of Github API (#188)","tree":{"sha":"e726ab47b3248869efd35a5f989b15eece62cbe9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e726ab47b3248869efd35a5f989b15eece62cbe9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c819580ce872f251e8ec23deee95d9fb15ca19c9","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c819580ce872f251e8ec23deee95d9fb15ca19c9","html_url":"https://github.com/jacquev6/PyGithub/commit/c819580ce872f251e8ec23deee95d9fb15ca19c9","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c819580ce872f251e8ec23deee95d9fb15ca19c9/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f2feb81dae1b28af80c559db7328f2d6fe017911","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2feb81dae1b28af80c559db7328f2d6fe017911","html_url":"https://github.com/jacquev6/PyGithub/commit/f2feb81dae1b28af80c559db7328f2d6fe017911"}]},{"sha":"a6597499c2f82e063074a3036d875417d5efa296","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:04:41Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-09-06T09:04:41Z"},"message":"Merge branch 'topic/ApiStatus' into develop","tree":{"sha":"e726ab47b3248869efd35a5f989b15eece62cbe9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e726ab47b3248869efd35a5f989b15eece62cbe9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a6597499c2f82e063074a3036d875417d5efa296","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a6597499c2f82e063074a3036d875417d5efa296","html_url":"https://github.com/jacquev6/PyGithub/commit/a6597499c2f82e063074a3036d875417d5efa296","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a6597499c2f82e063074a3036d875417d5efa296/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"2081675afbfed404f6a580bce0ec363bebbfd98b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2081675afbfed404f6a580bce0ec363bebbfd98b","html_url":"https://github.com/jacquev6/PyGithub/commit/2081675afbfed404f6a580bce0ec363bebbfd98b"},{"sha":"c819580ce872f251e8ec23deee95d9fb15ca19c9","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c819580ce872f251e8ec23deee95d9fb15ca19c9","html_url":"https://github.com/jacquev6/PyGithub/commit/c819580ce872f251e8ec23deee95d9fb15ca19c9"}]}],"files":[{"sha":"fa4ed127848a478d04d033a1e4dd1330c285e120","filename":".gitignore","status":"modified","additions":5,"deletions":0,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/.gitignore","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/.gitignore","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/.gitignore?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -1,6 +1,7 @@\n ############################ Copyrights and license ############################\n # #\n # Copyright 2012 Vincent Jacques #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -28,3 +29,7 @@ GithubCredentials.py\n /PyGithub.egg-info/\n /.coverage\n /developer.github.com/\n+\n+*.cfg\n+*.bat\n+*.py~"},{"sha":"32e67f35289f9572bab58ac717f51e36a303cd9e","filename":"README.rst","status":"modified","additions":14,"deletions":22,"changes":36,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/README.rst","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/README.rst","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/README.rst?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -7,18 +7,25 @@ Should you have any question, any remark, or if you find a bug, or if there is s\n \n PyGithub is stable. I will maintain it up to date with the API, and fix bugs if any, but I don't plan new heavy developments.\n \n+\n What's new?\n ===========\n \n+Thank you, dear stargazers!\n+---------------------------\n+\n+Starting today (September 05th, 2013), we now need more than 8 bits to store the number of `stargazers `_! Thank you so much!\n \n-`Version 1.18.0 `_ (August 21st, 2013) (Bénodet edition)\n--------------------------------------------------------------------------------------------------------------------------------\n+`Version 1.19.0 `_ (September ??th, 2013) (AKFish's edition)\n+-----------------------------------------------------------------------------------------------------------------------------------\n \n-* `Issues `_' ``repository`` attribute will never be ``None``. Thank you `stuglaser `_ for the pull request\n-* No more false assumption on `rate_limiting `_, and creation of ``rate_limiting_resettime``. Thank you `edjackson `_ for the pull request\n-* `New `_ parameters ``since`` and ``until`` to ``Repository.get_commits``. Thank you `apetresc `_ for the pull request\n-* `Catch `_ Json parsing exception for some internal server errors, and throw a better exception. Thank you `MarkRoddy `_ for the pull request\n-* `Allow `_ reversed iteration of ``PaginatedList``s. Thank you `davidbrai `_ for the pull request\n+* Implement `conditional requests `_ by the method ``GithubObject.update``. Thank you very much `akfish `_ for the pull request and your collaboration!\n+* Implement persistence of PyGithub objects: ``Github.save`` and ``Github.load``. Don't forget to ``update`` your objects after loading them, it won't decrease your rate limiting quota if nothing has changed. Again, thank you `akfish `_\n+* Implement ``Github.get_repos`` to get all public repositories\n+* Implement ``NamedUser.has_in_following``\n+* Technical change: HTTP headers are now stored in retrieved objects. This is a base for new functionalities. Thank you `akfish `_ for the pull request\n+* Use the new URL to fork gists (minor change)\n+* Use the new URL to test hooks (minor change)\n \n What's missing?\n ===============\n@@ -30,10 +37,6 @@ Github API v3 URLs not (yet) covered by PyGithub\n \n * ``/applications/:client_id/tokens/:access_token`` (GET)\n * ``/feeds`` (GET)\n-* ``/gists/:id/forks`` (POST)\n-\n- * instead, ``Gist.create_fork`` calls the old URL ``/gists/:id/fork``\n-\n * ``/meta`` (GET)\n * ``/notifications`` (PUT)\n * ``/notifications/emails`` (GET)\n@@ -54,10 +57,6 @@ Github API v3 URLs not (yet) covered by PyGithub\n \n * ``/repos/:owner/:repo/contents/:path`` (DELETE)\n * ``/repos/:owner/:repo/contents/:path`` (PUT)\n-* ``/repos/:owner/:repo/hooks/:id/tests`` (POST)\n-\n- * instead, ``Hook.test`` calls the old URL ``/repos/:owner/:repo/hooks/:id/test``\n-\n * ``/repos/:owner/:repo/notifications`` (GET)\n * ``/repos/:owner/:repo/notifications`` (PUT)\n * ``/repos/:owner/:repo/stats/code_frequency`` (GET)\n@@ -68,17 +67,10 @@ Github API v3 URLs not (yet) covered by PyGithub\n * ``/repos/:owner/:repo/subscription`` (DELETE)\n * ``/repos/:owner/:repo/subscription`` (GET)\n * ``/repos/:owner/:repo/subscription`` (PUT)\n-* ``/repositories`` (GET)\n-\n- * should be called in method ``Github.get_repos``\n-\n * ``/search/code`` (GET)\n * ``/search/issues`` (GET)\n * ``/search/repositories`` (GET)\n * ``/search/users`` (GET)\n-* ``/users/:user/following/:target_user`` (GET)\n-\n- * should be called in method ``NamedUser.has_in_following``\n \n Documentation\n ============="},{"sha":"9f856df33d80af7c4699cabf13444e7c69a121da","filename":"doc/conf.py","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/doc/conf.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/doc/conf.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/conf.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -281,6 +281,7 @@\n \t\t\"../github/MainClass.py\",\n \t\t\"../github/PaginatedList.py\",\n \t\t\"../github/Requester.py\",\n+\t\t\"../github/Consts.py\",\n \t\t\"../github/__init__.py\"]\n ]\n \n@@ -318,7 +319,7 @@\n \t\t\t\tif not isProperty:\n \t\t\t\t\tassert method is None, method + \" has no :calls: section\"\n \t\t\t\t\tmethod = line.split(\"(\")[0][8:]\n-\t\t\t\t\tif method in [\"_initAttributes\", \"_useAttributes\", \"__init__\", \"__create_pull_1\", \"__create_pull_2\", \"__create_pull\", \"_hub\", \"__get_FIX_REPO_GET_GIT_REF\", \"__set_FIX_REPO_GET_GIT_REF\", \"__get_per_page\", \"__set_per_page\"]:\n+\t\t\t\t\tif method in [\"_initAttributes\", \"_useAttributes\", \"__init__\", \"__create_pull_1\", \"__create_pull_2\", \"__create_pull\", \"_hub\", \"__get_FIX_REPO_GET_GIT_REF\", \"__set_FIX_REPO_GET_GIT_REF\", \"__get_per_page\", \"__set_per_page\", \"create_from_raw_data\", \"dump\", \"load\"]:\n \t\t\t\t\t\tmethod = None\n \t\t\t\tisProperty = False\n \t\t\tif line.startswith(\" :calls: `\"):"},{"sha":"67a289c3acb10bb39a3228b80e912fb097a0db25","filename":"github/AuthenticatedUser.py","status":"modified","additions":36,"deletions":78,"changes":114,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/AuthenticatedUser.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/AuthenticatedUser.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/AuthenticatedUser.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -256,8 +257,7 @@ def add_to_emails(self, *emails):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/user/emails\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n \n def add_to_following(self, following):\n@@ -269,9 +269,7 @@ def add_to_following(self, following):\n assert isinstance(following, github.NamedUser.NamedUser), following\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- \"/user/following/\" + following._identity,\n- None,\n- None\n+ \"/user/following/\" + following._identity\n )\n \n def add_to_starred(self, starred):\n@@ -283,9 +281,7 @@ def add_to_starred(self, starred):\n assert isinstance(starred, github.Repository.Repository), starred\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- \"/user/starred/\" + starred._identity,\n- None,\n- None\n+ \"/user/starred/\" + starred._identity\n )\n \n def add_to_subscriptions(self, subscription):\n@@ -297,9 +293,7 @@ def add_to_subscriptions(self, subscription):\n assert isinstance(subscription, github.Repository.Repository), subscription\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- \"/user/subscriptions/\" + subscription._identity,\n- None,\n- None\n+ \"/user/subscriptions/\" + subscription._identity\n )\n \n def add_to_watched(self, watched):\n@@ -311,9 +305,7 @@ def add_to_watched(self, watched):\n assert isinstance(watched, github.Repository.Repository), watched\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- \"/user/watched/\" + watched._identity,\n- None,\n- None\n+ \"/user/watched/\" + watched._identity\n )\n \n def create_authorization(self, scopes=github.GithubObject.NotSet, note=github.GithubObject.NotSet, note_url=github.GithubObject.NotSet, client_id=github.GithubObject.NotSet, client_secret=github.GithubObject.NotSet):\n@@ -345,10 +337,9 @@ def create_authorization(self, scopes=github.GithubObject.NotSet, note=github.Gi\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/authorizations\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Authorization.Authorization(self._requester, data, completed=True)\n+ return github.Authorization.Authorization(self._requester, headers, data, completed=True)\n \n def create_fork(self, repo):\n \"\"\"\n@@ -359,11 +350,9 @@ def create_fork(self, repo):\n assert isinstance(repo, github.Repository.Repository), repo\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n- \"/repos/\" + repo.owner.login + \"/\" + repo.name + \"/forks\",\n- None,\n- None\n+ \"/repos/\" + repo.owner.login + \"/\" + repo.name + \"/forks\"\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def create_gist(self, public, files, description=github.GithubObject.NotSet):\n \"\"\"\n@@ -385,10 +374,9 @@ def create_gist(self, public, files, description=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/gists\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Gist.Gist(self._requester, data, completed=True)\n+ return github.Gist.Gist(self._requester, headers, data, completed=True)\n \n def create_key(self, title, key):\n \"\"\"\n@@ -406,10 +394,9 @@ def create_key(self, title, key):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/user/keys\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.UserKey.UserKey(self._requester, data, completed=True)\n+ return github.UserKey.UserKey(self._requester, headers, data, completed=True)\n \n def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, auto_init=github.GithubObject.NotSet, gitignore_template=github.GithubObject.NotSet):\n \"\"\"\n@@ -456,10 +443,9 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/user/repos\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def edit(self, name=github.GithubObject.NotSet, email=github.GithubObject.NotSet, blog=github.GithubObject.NotSet, company=github.GithubObject.NotSet, location=github.GithubObject.NotSet, hireable=github.GithubObject.NotSet, bio=github.GithubObject.NotSet):\n \"\"\"\n@@ -498,8 +484,7 @@ def edit(self, name=github.GithubObject.NotSet, email=github.GithubObject.NotSet\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n \"/user\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -512,11 +497,9 @@ def get_authorization(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/authorizations/\" + str(id),\n- None,\n- None\n+ \"/authorizations/\" + str(id)\n )\n- return github.Authorization.Authorization(self._requester, data, completed=True)\n+ return github.Authorization.Authorization(self._requester, headers, data, completed=True)\n \n def get_authorizations(self):\n \"\"\"\n@@ -537,9 +520,7 @@ def get_emails(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/user/emails\",\n- None,\n- None\n+ \"/user/emails\"\n )\n return data\n \n@@ -676,11 +657,9 @@ def get_key(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/user/keys/\" + str(id),\n- None,\n- None\n+ \"/user/keys/\" + str(id)\n )\n- return github.UserKey.UserKey(self._requester, data, completed=True)\n+ return github.UserKey.UserKey(self._requester, headers, data, completed=True)\n \n def get_keys(self):\n \"\"\"\n@@ -703,11 +682,9 @@ def get_notification(self, id):\n assert isinstance(id, (str, unicode)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/notifications/threads/\" + id,\n- None,\n- None\n+ \"/notifications/threads/\" + id\n )\n- return github.Notification.Notification(self._requester, data, completed=True)\n+ return github.Notification.Notification(self._requester, headers, data, completed=True)\n \n def get_notifications(self, all=github.GithubObject.NotSet, participating=github.GithubObject.NotSet):\n \"\"\"\n@@ -767,11 +744,9 @@ def get_repo(self, name):\n assert isinstance(name, (str, unicode)), name\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/repos/\" + self.login + \"/\" + name,\n- None,\n- None\n+ \"/repos/\" + self.login + \"/\" + name\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def get_repos(self, type=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet):\n \"\"\"\n@@ -855,9 +830,7 @@ def has_in_following(self, following):\n assert isinstance(following, github.NamedUser.NamedUser), following\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- \"/user/following/\" + following._identity,\n- None,\n- None\n+ \"/user/following/\" + following._identity\n )\n return status == 204\n \n@@ -870,9 +843,7 @@ def has_in_starred(self, starred):\n assert isinstance(starred, github.Repository.Repository), starred\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- \"/user/starred/\" + starred._identity,\n- None,\n- None\n+ \"/user/starred/\" + starred._identity\n )\n return status == 204\n \n@@ -885,9 +856,7 @@ def has_in_subscriptions(self, subscription):\n assert isinstance(subscription, github.Repository.Repository), subscription\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- \"/user/subscriptions/\" + subscription._identity,\n- None,\n- None\n+ \"/user/subscriptions/\" + subscription._identity\n )\n return status == 204\n \n@@ -900,9 +869,7 @@ def has_in_watched(self, watched):\n assert isinstance(watched, github.Repository.Repository), watched\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- \"/user/watched/\" + watched._identity,\n- None,\n- None\n+ \"/user/watched/\" + watched._identity\n )\n return status == 204\n \n@@ -917,8 +884,7 @@ def remove_from_emails(self, *emails):\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n \"/user/emails\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n \n def remove_from_following(self, following):\n@@ -930,9 +896,7 @@ def remove_from_following(self, following):\n assert isinstance(following, github.NamedUser.NamedUser), following\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- \"/user/following/\" + following._identity,\n- None,\n- None\n+ \"/user/following/\" + following._identity\n )\n \n def remove_from_starred(self, starred):\n@@ -944,9 +908,7 @@ def remove_from_starred(self, starred):\n assert isinstance(starred, github.Repository.Repository), starred\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- \"/user/starred/\" + starred._identity,\n- None,\n- None\n+ \"/user/starred/\" + starred._identity\n )\n \n def remove_from_subscriptions(self, subscription):\n@@ -958,9 +920,7 @@ def remove_from_subscriptions(self, subscription):\n assert isinstance(subscription, github.Repository.Repository), subscription\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- \"/user/subscriptions/\" + subscription._identity,\n- None,\n- None\n+ \"/user/subscriptions/\" + subscription._identity\n )\n \n def remove_from_watched(self, watched):\n@@ -972,9 +932,7 @@ def remove_from_watched(self, watched):\n assert isinstance(watched, github.Repository.Repository), watched\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- \"/user/watched/\" + watched._identity,\n- None,\n- None\n+ \"/user/watched/\" + watched._identity\n )\n \n def _initAttributes(self):\n@@ -1061,7 +1019,7 @@ def _useAttributes(self, attributes):\n self._owned_private_repos = attributes[\"owned_private_repos\"]\n if \"plan\" in attributes: # pragma no branch\n assert attributes[\"plan\"] is None or isinstance(attributes[\"plan\"], dict), attributes[\"plan\"]\n- self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, attributes[\"plan\"], completed=False)\n+ self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, self._headers, attributes[\"plan\"], completed=False)\n if \"private_gists\" in attributes: # pragma no branch\n assert attributes[\"private_gists\"] is None or isinstance(attributes[\"private_gists\"], (int, long)), attributes[\"private_gists\"]\n self._private_gists = attributes[\"private_gists\"]"},{"sha":"a004fedf687cdbcd52f4ffd494b9e4536bbb037b","filename":"github/Authorization.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Authorization.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Authorization.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Authorization.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -112,9 +113,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, scopes=github.GithubObject.NotSet, add_scopes=github.GithubObject.NotSet, remove_scopes=github.GithubObject.NotSet, note=github.GithubObject.NotSet, note_url=github.GithubObject.NotSet):\n@@ -146,8 +145,7 @@ def edit(self, scopes=github.GithubObject.NotSet, add_scopes=github.GithubObject\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -165,7 +163,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"app\" in attributes: # pragma no branch\n assert attributes[\"app\"] is None or isinstance(attributes[\"app\"], dict), attributes[\"app\"]\n- self._app = None if attributes[\"app\"] is None else github.AuthorizationApplication.AuthorizationApplication(self._requester, attributes[\"app\"], completed=False)\n+ self._app = None if attributes[\"app\"] is None else github.AuthorizationApplication.AuthorizationApplication(self._requester, self._headers, attributes[\"app\"], completed=False)\n if \"created_at\" in attributes: # pragma no branch\n assert attributes[\"created_at\"] is None or isinstance(attributes[\"created_at\"], (str, unicode)), attributes[\"created_at\"]\n self._created_at = self._parseDatetime(attributes[\"created_at\"])"},{"sha":"8f38bc1418f4b14e16da2ea24cd8a0fd525b872a","filename":"github/AuthorizationApplication.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/AuthorizationApplication.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/AuthorizationApplication.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/AuthorizationApplication.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"9e76182677f02c87b49e51a0139112421d53bf59","filename":"github/Branch.py","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Branch.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Branch.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Branch.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -55,7 +56,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"commit\" in attributes: # pragma no branch\n assert attributes[\"commit\"] is None or isinstance(attributes[\"commit\"], dict), attributes[\"commit\"]\n- self._commit = None if attributes[\"commit\"] is None else github.Commit.Commit(self._requester, attributes[\"commit\"], completed=False)\n+ self._commit = None if attributes[\"commit\"] is None else github.Commit.Commit(self._requester, self._headers, attributes[\"commit\"], completed=False)\n if \"name\" in attributes: # pragma no branch\n assert attributes[\"name\"] is None or isinstance(attributes[\"name\"], (str, unicode)), attributes[\"name\"]\n self._name = attributes[\"name\"]"},{"sha":"828da3fe18f120b030701d48a9a78be17ef143e8","filename":"github/Commit.py","status":"modified","additions":11,"deletions":12,"changes":23,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Commit.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Commit.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Commit.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -129,10 +130,9 @@ def create_comment(self, body, line=github.GithubObject.NotSet, path=github.Gith\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/comments\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.CommitComment.CommitComment(self._requester, data, completed=True)\n+ return github.CommitComment.CommitComment(self._requester, headers, data, completed=True)\n \n def create_status(self, state, target_url=github.GithubObject.NotSet, description=github.GithubObject.NotSet):\n \"\"\"\n@@ -155,10 +155,9 @@ def create_status(self, state, target_url=github.GithubObject.NotSet, descriptio\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self._parentUrl(self._parentUrl(self.url)) + \"/statuses/\" + self.sha,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.CommitStatus.CommitStatus(self._requester, data, completed=True)\n+ return github.CommitStatus.CommitStatus(self._requester, headers, data, completed=True)\n \n def get_comments(self):\n \"\"\"\n@@ -201,23 +200,23 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"author\" in attributes: # pragma no branch\n assert attributes[\"author\"] is None or isinstance(attributes[\"author\"], dict), attributes[\"author\"]\n- self._author = None if attributes[\"author\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"author\"], completed=False)\n+ self._author = None if attributes[\"author\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"author\"], completed=False)\n if \"commit\" in attributes: # pragma no branch\n assert attributes[\"commit\"] is None or isinstance(attributes[\"commit\"], dict), attributes[\"commit\"]\n- self._commit = None if attributes[\"commit\"] is None else github.GitCommit.GitCommit(self._requester, attributes[\"commit\"], completed=False)\n+ self._commit = None if attributes[\"commit\"] is None else github.GitCommit.GitCommit(self._requester, self._headers, attributes[\"commit\"], completed=False)\n if \"committer\" in attributes: # pragma no branch\n assert attributes[\"committer\"] is None or isinstance(attributes[\"committer\"], dict), attributes[\"committer\"]\n- self._committer = None if attributes[\"committer\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"committer\"], completed=False)\n+ self._committer = None if attributes[\"committer\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"committer\"], completed=False)\n if \"files\" in attributes: # pragma no branch\n assert attributes[\"files\"] is None or all(isinstance(element, dict) for element in attributes[\"files\"]), attributes[\"files\"]\n self._files = None if attributes[\"files\"] is None else [\n- github.File.File(self._requester, element, completed=False)\n+ github.File.File(self._requester, self._headers, element, completed=False)\n for element in attributes[\"files\"]\n ]\n if \"parents\" in attributes: # pragma no branch\n assert attributes[\"parents\"] is None or all(isinstance(element, dict) for element in attributes[\"parents\"]), attributes[\"parents\"]\n self._parents = None if attributes[\"parents\"] is None else [\n- Commit(self._requester, element, completed=False)\n+ Commit(self._requester, self._headers, element, completed=False)\n for element in attributes[\"parents\"]\n ]\n if \"sha\" in attributes: # pragma no branch\n@@ -225,7 +224,7 @@ def _useAttributes(self, attributes):\n self._sha = attributes[\"sha\"]\n if \"stats\" in attributes: # pragma no branch\n assert attributes[\"stats\"] is None or isinstance(attributes[\"stats\"], dict), attributes[\"stats\"]\n- self._stats = None if attributes[\"stats\"] is None else github.CommitStats.CommitStats(self._requester, attributes[\"stats\"], completed=False)\n+ self._stats = None if attributes[\"stats\"] is None else github.CommitStats.CommitStats(self._requester, self._headers, attributes[\"stats\"], completed=False)\n if \"url\" in attributes: # pragma no branch\n assert attributes[\"url\"] is None or isinstance(attributes[\"url\"], (str, unicode)), attributes[\"url\"]\n self._url = attributes[\"url\"]"},{"sha":"c2c897d13f4092571b2a71f83694e34ff26c560d","filename":"github/CommitComment.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/CommitComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/CommitComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/CommitComment.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -128,9 +129,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, body):\n@@ -146,8 +145,7 @@ def edit(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -197,4 +195,4 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"49f407783d025f012358c435ec1153d293856bef","filename":"github/CommitStats.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/CommitStats.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/CommitStats.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/CommitStats.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"d08e0274279824208d98b1dd4033f18b970f594a","filename":"github/CommitStatus.py","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/CommitStatus.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/CommitStatus.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/CommitStatus.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -97,7 +98,7 @@ def _useAttributes(self, attributes):\n self._created_at = self._parseDatetime(attributes[\"created_at\"])\n if \"creator\" in attributes: # pragma no branch\n assert attributes[\"creator\"] is None or isinstance(attributes[\"creator\"], dict), attributes[\"creator\"]\n- self._creator = None if attributes[\"creator\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"creator\"], completed=False)\n+ self._creator = None if attributes[\"creator\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"creator\"], completed=False)\n if \"description\" in attributes: # pragma no branch\n assert attributes[\"description\"] is None or isinstance(attributes[\"description\"], (str, unicode)), attributes[\"description\"]\n self._description = attributes[\"description\"]"},{"sha":"f5f66bc1f4bcb57c9286fb674e4bfdbaaf47538f","filename":"github/Comparison.py","status":"modified","additions":4,"deletions":3,"changes":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Comparison.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Comparison.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Comparison.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -150,14 +151,14 @@ def _useAttributes(self, attributes):\n self._ahead_by = attributes[\"ahead_by\"]\n if \"base_commit\" in attributes: # pragma no branch\n assert attributes[\"base_commit\"] is None or isinstance(attributes[\"base_commit\"], dict), attributes[\"base_commit\"]\n- self._base_commit = None if attributes[\"base_commit\"] is None else github.Commit.Commit(self._requester, attributes[\"base_commit\"], completed=False)\n+ self._base_commit = None if attributes[\"base_commit\"] is None else github.Commit.Commit(self._requester, self._headers, attributes[\"base_commit\"], completed=False)\n if \"behind_by\" in attributes: # pragma no branch\n assert attributes[\"behind_by\"] is None or isinstance(attributes[\"behind_by\"], (int, long)), attributes[\"behind_by\"]\n self._behind_by = attributes[\"behind_by\"]\n if \"commits\" in attributes: # pragma no branch\n assert attributes[\"commits\"] is None or all(isinstance(element, dict) for element in attributes[\"commits\"]), attributes[\"commits\"]\n self._commits = None if attributes[\"commits\"] is None else [\n- github.Commit.Commit(self._requester, element, completed=False)\n+ github.Commit.Commit(self._requester, self._headers, element, completed=False)\n for element in attributes[\"commits\"]\n ]\n if \"diff_url\" in attributes: # pragma no branch\n@@ -166,7 +167,7 @@ def _useAttributes(self, attributes):\n if \"files\" in attributes: # pragma no branch\n assert attributes[\"files\"] is None or all(isinstance(element, dict) for element in attributes[\"files\"]), attributes[\"files\"]\n self._files = None if attributes[\"files\"] is None else [\n- github.File.File(self._requester, element, completed=False)\n+ github.File.File(self._requester, self._headers, element, completed=False)\n for element in attributes[\"files\"]\n ]\n if \"html_url\" in attributes: # pragma no branch"},{"sha":"b3b4791408f3b48375ba7360ef7aa129c592bd24","filename":"github/Consts.py","status":"added","additions":43,"deletions":0,"changes":43,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Consts.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Consts.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Consts.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,43 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 AKFish #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+# #193: Line endings should be linux style\n+\n+# TODO: As of Thu Aug 21 22:40:13 (BJT) Chinese Standard Time 2013\n+# lots of consts in this project are explict\n+# should realy round them up and reference them by consts\n+# EDIT: well, maybe :-)\n+\n+################################################################################\n+# Request Header #\n+# (Case sensitive) #\n+################################################################################\n+REQ_IF_NONE_MATCH = \"If-None-Match\"\n+REQ_IF_MODIFIED_SINCE = \"If-Modified-Since\"\n+\n+################################################################################\n+# Response Header #\n+# (Lower Case) #\n+################################################################################\n+RES_ETAG = \"etag\"\n+RES_LAST_MODIFED = \"last-modified\""},{"sha":"03818842545b0c6824e8ab4f1e5b1c87462cba6a","filename":"github/ContentFile.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/ContentFile.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/ContentFile.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/ContentFile.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"2cd057cac916898be1451aac7b4f94830a880937","filename":"github/Download.py","status":"modified","additions":2,"deletions":3,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Download.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Download.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Download.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -198,9 +199,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def _initAttributes(self):"},{"sha":"203510252bb0e76c540d3bc20630e75ef99ecb31","filename":"github/Event.py","status":"modified","additions":4,"deletions":3,"changes":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Event.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Event.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Event.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -105,7 +106,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"actor\" in attributes: # pragma no branch\n assert attributes[\"actor\"] is None or isinstance(attributes[\"actor\"], dict), attributes[\"actor\"]\n- self._actor = None if attributes[\"actor\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"actor\"], completed=False)\n+ self._actor = None if attributes[\"actor\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"actor\"], completed=False)\n if \"created_at\" in attributes: # pragma no branch\n assert attributes[\"created_at\"] is None or isinstance(attributes[\"created_at\"], (str, unicode)), attributes[\"created_at\"]\n self._created_at = self._parseDatetime(attributes[\"created_at\"])\n@@ -114,7 +115,7 @@ def _useAttributes(self, attributes):\n self._id = attributes[\"id\"]\n if \"org\" in attributes: # pragma no branch\n assert attributes[\"org\"] is None or isinstance(attributes[\"org\"], dict), attributes[\"org\"]\n- self._org = None if attributes[\"org\"] is None else github.Organization.Organization(self._requester, attributes[\"org\"], completed=False)\n+ self._org = None if attributes[\"org\"] is None else github.Organization.Organization(self._requester, self._headers, attributes[\"org\"], completed=False)\n if \"payload\" in attributes: # pragma no branch\n assert attributes[\"payload\"] is None or isinstance(attributes[\"payload\"], dict), attributes[\"payload\"]\n self._payload = attributes[\"payload\"]\n@@ -123,7 +124,7 @@ def _useAttributes(self, attributes):\n self._public = attributes[\"public\"]\n if \"repo\" in attributes: # pragma no branch\n assert attributes[\"repo\"] is None or isinstance(attributes[\"repo\"], dict), attributes[\"repo\"]\n- self._repo = None if attributes[\"repo\"] is None else github.Repository.Repository(self._requester, attributes[\"repo\"], completed=False)\n+ self._repo = None if attributes[\"repo\"] is None else github.Repository.Repository(self._requester, self._headers, attributes[\"repo\"], completed=False)\n if \"type\" in attributes: # pragma no branch\n assert attributes[\"type\"] is None or isinstance(attributes[\"type\"], (str, unicode)), attributes[\"type\"]\n self._type = attributes[\"type\"]"},{"sha":"6adaae8a974440b489b2913d515a32488f8c252f","filename":"github/File.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/File.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/File.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/File.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"65de668ed8da2c379cc88c0515024aa3d4c7164e","filename":"github/Gist.py","status":"modified","additions":17,"deletions":30,"changes":47,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Gist.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Gist.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Gist.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -171,23 +172,20 @@ def create_comment(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/comments\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GistComment.GistComment(self._requester, data, completed=True)\n+ return github.GistComment.GistComment(self._requester, headers, data, completed=True)\n \n def create_fork(self):\n \"\"\"\n- :calls: `POST /gists/:id/fork `_\n+ :calls: `POST /gists/:id/forks `_\n :rtype: :class:`github.Gist.Gist`\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n- self.url + \"/fork\",\n- None,\n- None\n+ self.url + \"/forks\"\n )\n- return Gist(self._requester, data, completed=True)\n+ return Gist(self._requester, headers, data, completed=True)\n \n def delete(self):\n \"\"\"\n@@ -196,9 +194,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject.NotSet):\n@@ -218,8 +214,7 @@ def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -232,11 +227,9 @@ def get_comment(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/comments/\" + str(id),\n- None,\n- None\n+ self.url + \"/comments/\" + str(id)\n )\n- return github.GistComment.GistComment(self._requester, data, completed=True)\n+ return github.GistComment.GistComment(self._requester, headers, data, completed=True)\n \n def get_comments(self):\n \"\"\"\n@@ -257,9 +250,7 @@ def is_starred(self):\n \"\"\"\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/star\",\n- None,\n- None\n+ self.url + \"/star\"\n )\n return status == 204\n \n@@ -270,9 +261,7 @@ def reset_starred(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/star\",\n- None,\n- None\n+ self.url + \"/star\"\n )\n \n def set_starred(self):\n@@ -282,9 +271,7 @@ def set_starred(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- self.url + \"/star\",\n- None,\n- None\n+ self.url + \"/star\"\n )\n \n def _initAttributes(self):\n@@ -317,12 +304,12 @@ def _useAttributes(self, attributes):\n if \"files\" in attributes: # pragma no branch\n assert attributes[\"files\"] is None or all(isinstance(element, dict) for element in attributes[\"files\"].itervalues()), attributes[\"files\"]\n self._files = None if attributes[\"files\"] is None else dict(\n- (key, github.GistFile.GistFile(self._requester, element, completed=False))\n+ (key, github.GistFile.GistFile(self._requester, self._headers, element, completed=False))\n for key, element in attributes[\"files\"].iteritems()\n )\n if \"fork_of\" in attributes: # pragma no branch\n assert attributes[\"fork_of\"] is None or isinstance(attributes[\"fork_of\"], dict), attributes[\"fork_of\"]\n- self._fork_of = None if attributes[\"fork_of\"] is None else Gist(self._requester, attributes[\"fork_of\"], completed=False)\n+ self._fork_of = None if attributes[\"fork_of\"] is None else Gist(self._requester, self._headers, attributes[\"fork_of\"], completed=False)\n if \"forks\" in attributes: # pragma no branch\n assert attributes[\"forks\"] is None or all(isinstance(element, dict) for element in attributes[\"forks\"]), attributes[\"forks\"]\n self._forks = None if attributes[\"forks\"] is None else [\n@@ -338,7 +325,7 @@ def _useAttributes(self, attributes):\n if \"history\" in attributes: # pragma no branch\n assert attributes[\"history\"] is None or all(isinstance(element, dict) for element in attributes[\"history\"]), attributes[\"history\"]\n self._history = None if attributes[\"history\"] is None else [\n- github.GistHistoryState.GistHistoryState(self._requester, element, completed=False)\n+ github.GistHistoryState.GistHistoryState(self._requester, self._headers, element, completed=False)\n for element in attributes[\"history\"]\n ]\n if \"html_url\" in attributes: # pragma no branch\n@@ -358,4 +345,4 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"5ee0664c5827eccb2cce3e514d907f70daa7e09c","filename":"github/GistComment.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GistComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GistComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GistComment.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -88,9 +89,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, body):\n@@ -106,8 +105,7 @@ def edit(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -137,4 +135,4 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"96c8ee2741d3fe8fbb40d12541f9e4a94839fdf3","filename":"github/GistFile.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GistFile.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GistFile.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GistFile.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"bc24d5c0700d0bf95d76e8cc1b20cdbbdfeb80a7","filename":"github/GistHistoryState.py","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GistHistoryState.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GistHistoryState.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GistHistoryState.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -84,7 +85,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"change_status\" in attributes: # pragma no branch\n assert attributes[\"change_status\"] is None or isinstance(attributes[\"change_status\"], dict), attributes[\"change_status\"]\n- self._change_status = None if attributes[\"change_status\"] is None else github.CommitStats.CommitStats(self._requester, attributes[\"change_status\"], completed=False)\n+ self._change_status = None if attributes[\"change_status\"] is None else github.CommitStats.CommitStats(self._requester, self._headers, attributes[\"change_status\"], completed=False)\n if \"committed_at\" in attributes: # pragma no branch\n assert attributes[\"committed_at\"] is None or isinstance(attributes[\"committed_at\"], (str, unicode)), attributes[\"committed_at\"]\n self._committed_at = self._parseDatetime(attributes[\"committed_at\"])\n@@ -93,7 +94,7 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)\n if \"version\" in attributes: # pragma no branch\n assert attributes[\"version\"] is None or isinstance(attributes[\"version\"], (str, unicode)), attributes[\"version\"]\n self._version = attributes[\"version\"]"},{"sha":"e56ce94d55e53cc74e259293b1a2c91d22f8b40c","filename":"github/GitAuthor.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitAuthor.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitAuthor.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitAuthor.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"8f1056829fa56386223cb843005d6777ac71d32e","filename":"github/GitBlob.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitBlob.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitBlob.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitBlob.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"ffdc6d5a739ed5dd4f701cd2c345108ceb5499c2","filename":"github/GitCommit.py","status":"modified","additions":5,"deletions":4,"changes":9,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitCommit.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitCommit.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitCommit.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -106,17 +107,17 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"author\" in attributes: # pragma no branch\n assert attributes[\"author\"] is None or isinstance(attributes[\"author\"], dict), attributes[\"author\"]\n- self._author = None if attributes[\"author\"] is None else github.GitAuthor.GitAuthor(self._requester, attributes[\"author\"], completed=False)\n+ self._author = None if attributes[\"author\"] is None else github.GitAuthor.GitAuthor(self._requester, self._headers, attributes[\"author\"], completed=False)\n if \"committer\" in attributes: # pragma no branch\n assert attributes[\"committer\"] is None or isinstance(attributes[\"committer\"], dict), attributes[\"committer\"]\n- self._committer = None if attributes[\"committer\"] is None else github.GitAuthor.GitAuthor(self._requester, attributes[\"committer\"], completed=False)\n+ self._committer = None if attributes[\"committer\"] is None else github.GitAuthor.GitAuthor(self._requester, self._headers, attributes[\"committer\"], completed=False)\n if \"message\" in attributes: # pragma no branch\n assert attributes[\"message\"] is None or isinstance(attributes[\"message\"], (str, unicode)), attributes[\"message\"]\n self._message = attributes[\"message\"]\n if \"parents\" in attributes: # pragma no branch\n assert attributes[\"parents\"] is None or all(isinstance(element, dict) for element in attributes[\"parents\"]), attributes[\"parents\"]\n self._parents = None if attributes[\"parents\"] is None else [\n- GitCommit(self._requester, element, completed=False)\n+ GitCommit(self._requester, self._headers, element, completed=False)\n for element in attributes[\"parents\"]\n ]\n if \"sha\" in attributes: # pragma no branch\n@@ -124,7 +125,7 @@ def _useAttributes(self, attributes):\n self._sha = attributes[\"sha\"]\n if \"tree\" in attributes: # pragma no branch\n assert attributes[\"tree\"] is None or isinstance(attributes[\"tree\"], dict), attributes[\"tree\"]\n- self._tree = None if attributes[\"tree\"] is None else github.GitTree.GitTree(self._requester, attributes[\"tree\"], completed=False)\n+ self._tree = None if attributes[\"tree\"] is None else github.GitTree.GitTree(self._requester, self._headers, attributes[\"tree\"], completed=False)\n if \"url\" in attributes: # pragma no branch\n assert attributes[\"url\"] is None or isinstance(attributes[\"url\"], (str, unicode)), attributes[\"url\"]\n self._url = attributes[\"url\"]"},{"sha":"a731464122384af8435525853343bce170cb5cd6","filename":"github/GitObject.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitObject.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitObject.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitObject.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"97a2ca4d6e900f32d7910ef657afc40d4b91a539","filename":"github/GitRef.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitRef.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitRef.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitRef.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -64,9 +65,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, sha, force=github.GithubObject.NotSet):\n@@ -86,8 +85,7 @@ def edit(self, sha, force=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -99,7 +97,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"object\" in attributes: # pragma no branch\n assert attributes[\"object\"] is None or isinstance(attributes[\"object\"], dict), attributes[\"object\"]\n- self._object = None if attributes[\"object\"] is None else github.GitObject.GitObject(self._requester, attributes[\"object\"], completed=False)\n+ self._object = None if attributes[\"object\"] is None else github.GitObject.GitObject(self._requester, self._headers, attributes[\"object\"], completed=False)\n if \"ref\" in attributes: # pragma no branch\n assert attributes[\"ref\"] is None or isinstance(attributes[\"ref\"], (str, unicode)), attributes[\"ref\"]\n self._ref = attributes[\"ref\"]"},{"sha":"564b6b86fa11f943796a0630afd00e17f7fee1ce","filename":"github/GitTag.py","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitTag.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitTag.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitTag.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -96,7 +97,7 @@ def _useAttributes(self, attributes):\n self._message = attributes[\"message\"]\n if \"object\" in attributes: # pragma no branch\n assert attributes[\"object\"] is None or isinstance(attributes[\"object\"], dict), attributes[\"object\"]\n- self._object = None if attributes[\"object\"] is None else github.GitObject.GitObject(self._requester, attributes[\"object\"], completed=False)\n+ self._object = None if attributes[\"object\"] is None else github.GitObject.GitObject(self._requester, self._headers, attributes[\"object\"], completed=False)\n if \"sha\" in attributes: # pragma no branch\n assert attributes[\"sha\"] is None or isinstance(attributes[\"sha\"], (str, unicode)), attributes[\"sha\"]\n self._sha = attributes[\"sha\"]\n@@ -105,7 +106,7 @@ def _useAttributes(self, attributes):\n self._tag = attributes[\"tag\"]\n if \"tagger\" in attributes: # pragma no branch\n assert attributes[\"tagger\"] is None or isinstance(attributes[\"tagger\"], dict), attributes[\"tagger\"]\n- self._tagger = None if attributes[\"tagger\"] is None else github.GitAuthor.GitAuthor(self._requester, attributes[\"tagger\"], completed=False)\n+ self._tagger = None if attributes[\"tagger\"] is None else github.GitAuthor.GitAuthor(self._requester, self._headers, attributes[\"tagger\"], completed=False)\n if \"url\" in attributes: # pragma no branch\n assert attributes[\"url\"] is None or isinstance(attributes[\"url\"], (str, unicode)), attributes[\"url\"]\n self._url = attributes[\"url\"]"},{"sha":"b06c5e82369ae5ba3a50d0edc483e3b22c207aad","filename":"github/GitTree.py","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitTree.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitTree.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitTree.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -73,7 +74,7 @@ def _useAttributes(self, attributes):\n if \"tree\" in attributes: # pragma no branch\n assert attributes[\"tree\"] is None or all(isinstance(element, dict) for element in attributes[\"tree\"]), attributes[\"tree\"]\n self._tree = None if attributes[\"tree\"] is None else [\n- github.GitTreeElement.GitTreeElement(self._requester, element, completed=False)\n+ github.GitTreeElement.GitTreeElement(self._requester, self._headers, element, completed=False)\n for element in attributes[\"tree\"]\n ]\n if \"url\" in attributes: # pragma no branch"},{"sha":"e7ae76bbcb10fa76c9b0b3316550045a03f5f81b","filename":"github/GitTreeElement.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitTreeElement.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitTreeElement.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitTreeElement.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"02e7a75e28a911a1bf691663d2e2b3a6bde84768","filename":"github/GithubException.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GithubException.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GithubException.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GithubException.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"91c079b70a8508a3ab3f7f740f51bdda35cf87ea","filename":"github/GithubObject.py","status":"modified","additions":74,"deletions":10,"changes":84,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GithubObject.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GithubObject.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GithubObject.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -26,6 +27,7 @@\n import datetime\n \n import GithubException\n+import Consts\n \n \n class _NotSetType:\n@@ -38,14 +40,32 @@ class GithubObject(object):\n \"\"\"\n Base class for all classes representing objects returned by the API.\n \"\"\"\n- def __init__(self, requester, attributes, completed):\n+\n+ '''\n+ A global debug flag to enable header validation by requester for all objects\n+ '''\n+ CHECK_AFTER_INIT_FLAG = False\n+\n+ @classmethod\n+ def setCheckAfterInitFlag(cls, flag):\n+ cls.CHECK_AFTER_INIT_FLAG = flag\n+\n+ def __init__(self, requester, headers, attributes, completed):\n self._requester = requester\n self._initAttributes()\n- self._storeAndUseAttributes(attributes)\n+ self._storeAndUseAttributes(headers, attributes)\n \n- def _storeAndUseAttributes(self, attributes):\n- self._useAttributes(attributes)\n+ # Ask requester to do some checking, for debug and test purpose\n+ # Since it's most handy to access and kinda all-knowing\n+ if self.CHECK_AFTER_INIT_FLAG: # pragma no branch (Flag always set in tests)\n+ requester.check_me(self)\n+\n+ def _storeAndUseAttributes(self, headers, attributes):\n+ # Make sure headers are assigned before calling _useAttributes\n+ # (Some derived classes will use headers in _useAttributes)\n+ self._headers = headers\n self._rawData = attributes\n+ self._useAttributes(attributes)\n \n @property\n def raw_data(self):\n@@ -55,6 +75,14 @@ def raw_data(self):\n self._completeIfNeeded()\n return self._rawData\n \n+ @property\n+ def raw_headers(self):\n+ \"\"\"\n+ :type: dict\n+ \"\"\"\n+ self._completeIfNeeded()\n+ return self._headers\n+\n @staticmethod\n def _parentUrl(url):\n return \"/\".join(url.split(\"/\")[: -1])\n@@ -77,6 +105,20 @@ def _parseDatetime(s):\n else:\n return datetime.datetime.strptime(s, \"%Y-%m-%dT%H:%M:%SZ\")\n \n+ @property\n+ def etag(self):\n+ '''\n+ :type str\n+ '''\n+ return self._headers.get(Consts.RES_ETAG)\n+\n+ @property\n+ def last_modified(self):\n+ '''\n+ :type str\n+ '''\n+ return self._headers.get(Consts.RES_LAST_MODIFED)\n+\n \n class NonCompletableGithubObject(GithubObject):\n def _completeIfNeeded(self):\n@@ -84,8 +126,8 @@ def _completeIfNeeded(self):\n \n \n class CompletableGithubObject(GithubObject):\n- def __init__(self, requester, attributes, completed):\n- GithubObject.__init__(self, requester, attributes, completed)\n+ def __init__(self, requester, headers, attributes, completed):\n+ GithubObject.__init__(self, requester, headers, attributes, completed)\n self.__completed = completed\n \n def _completeIfNotSet(self, value):\n@@ -99,9 +141,31 @@ def _completeIfNeeded(self):\n def __complete(self):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self._url,\n- None,\n- None\n+ self._url\n )\n- self._storeAndUseAttributes(data)\n+ self._storeAndUseAttributes(headers, data)\n self.__completed = True\n+\n+ def update(self):\n+ '''\n+ Check and update the object with conditional request\n+ :rtype: Boolean value indicating whether the object is changed\n+ '''\n+ conditionalRequestHeader = dict()\n+ if self.etag is not None:\n+ conditionalRequestHeader[Consts.REQ_IF_NONE_MATCH] = self.etag\n+ if self.last_modified is not None:\n+ conditionalRequestHeader[Consts.REQ_IF_MODIFIED_SINCE] = self.last_modified\n+\n+ status, responseHeaders, output = self._requester.requestJson(\n+ \"GET\",\n+ self._url,\n+ headers=conditionalRequestHeader\n+ )\n+ if status == 304:\n+ return False\n+ else:\n+ headers, data = self._requester._Requester__check(status, responseHeaders, output)\n+ self._storeAndUseAttributes(headers, data)\n+ self.__completed = True\n+ return True"},{"sha":"a8a7022f4602f37b2583f890e324b204cdc89a62","filename":"github/GitignoreTemplate.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/GitignoreTemplate.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/GitignoreTemplate.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/GitignoreTemplate.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -3,6 +3,7 @@\n ############################ Copyrights and license ############################\n # #\n # Copyright 2012 Vincent Jacques #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"447a0e9a7afa1e845dea9dc82f8c114251ea61bc","filename":"github/Hook.py","status":"modified","additions":7,"deletions":11,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Hook.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Hook.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Hook.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -30,7 +31,7 @@\n \n class Hook(github.GithubObject.CompletableGithubObject):\n \"\"\"\n- This class represents Hooks as returned for example by http://developer.github.com/v3/todo\n+ This class represents Hooks as returned for example by http://developer.github.com/v3/repos/hooks\n \"\"\"\n \n @property\n@@ -112,9 +113,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, name, config, events=github.GithubObject.NotSet, add_events=github.GithubObject.NotSet, remove_events=github.GithubObject.NotSet, active=github.GithubObject.NotSet):\n@@ -149,21 +148,18 @@ def edit(self, name, config, events=github.GithubObject.NotSet, add_events=githu\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n def test(self):\n \"\"\"\n- :calls: `POST /repos/:owner/:repo/hooks/:id/test `_\n+ :calls: `POST /repos/:owner/:repo/hooks/:id/tests `_\n :rtype: None\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n- self.url + \"/test\",\n- None,\n- None\n+ self.url + \"/tests\"\n )\n \n def _initAttributes(self):\n@@ -195,7 +191,7 @@ def _useAttributes(self, attributes):\n self._id = attributes[\"id\"]\n if \"last_response\" in attributes: # pragma no branch\n assert attributes[\"last_response\"] is None or isinstance(attributes[\"last_response\"], dict), attributes[\"last_response\"]\n- self._last_response = None if attributes[\"last_response\"] is None else github.HookResponse.HookResponse(self._requester, attributes[\"last_response\"], completed=False)\n+ self._last_response = None if attributes[\"last_response\"] is None else github.HookResponse.HookResponse(self._requester, self._headers, attributes[\"last_response\"], completed=False)\n if \"name\" in attributes: # pragma no branch\n assert attributes[\"name\"] is None or isinstance(attributes[\"name\"], (str, unicode)), attributes[\"name\"]\n self._name = attributes[\"name\"]"},{"sha":"5653492bbd94babe3e1039d8c30eda3dde4349bb","filename":"github/HookDescription.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/HookDescription.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/HookDescription.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/HookDescription.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"41e242b3abfb1ac7e961ee5a524cdb0455d5b253","filename":"github/HookResponse.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/HookResponse.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/HookResponse.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/HookResponse.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"b849e8d459dc6ecbb28278d17680d175a30ba391","filename":"github/Issue.py","status":"modified","additions":18,"deletions":27,"changes":45,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Issue.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Issue.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Issue.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -6,6 +6,7 @@\n # Copyright 2012 Philip Kimmey #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Stuart Glaser #\n # Copyright 2013 Vincent Jacques #\n # #\n@@ -148,7 +149,7 @@ def repository(self):\n if self._repository is github.GithubObject.NotSet:\n # The repository was not set automatically, so it must be looked up by url.\n repo_url = \"/\".join(self.url.split(\"/\")[:-2])\n- self._repository = github.Repository.Repository(self._requester, {'url': repo_url}, False)\n+ self._repository = github.Repository.Repository(self._requester, self._headers, {'url': repo_url}, completed=False)\n return self._repository\n \n @property\n@@ -202,8 +203,7 @@ def add_to_labels(self, *labels):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/labels\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n \n def create_comment(self, body):\n@@ -219,10 +219,9 @@ def create_comment(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/comments\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.IssueComment.IssueComment(self._requester, data, completed=True)\n+ return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)\n \n def delete_labels(self):\n \"\"\"\n@@ -231,9 +230,7 @@ def delete_labels(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/labels\",\n- None,\n- None\n+ self.url + \"/labels\"\n )\n \n def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, assignee=github.GithubObject.NotSet, state=github.GithubObject.NotSet, milestone=github.GithubObject.NotSet, labels=github.GithubObject.NotSet):\n@@ -269,8 +266,7 @@ def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -283,11 +279,9 @@ def get_comment(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self._parentUrl(self.url) + \"/comments/\" + str(id),\n- None,\n- None\n+ self._parentUrl(self.url) + \"/comments/\" + str(id)\n )\n- return github.IssueComment.IssueComment(self._requester, data, completed=True)\n+ return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)\n \n def get_comments(self):\n \"\"\"\n@@ -334,9 +328,7 @@ def remove_from_labels(self, label):\n assert isinstance(label, github.Label.Label), label\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/labels/\" + label._identity,\n- None,\n- None\n+ self.url + \"/labels/\" + label._identity\n )\n \n def set_labels(self, *labels):\n@@ -350,8 +342,7 @@ def set_labels(self, *labels):\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n self.url + \"/labels\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n \n @property\n@@ -381,7 +372,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"assignee\" in attributes: # pragma no branch\n assert attributes[\"assignee\"] is None or isinstance(attributes[\"assignee\"], dict), attributes[\"assignee\"]\n- self._assignee = None if attributes[\"assignee\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"assignee\"], completed=False)\n+ self._assignee = None if attributes[\"assignee\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"assignee\"], completed=False)\n if \"body\" in attributes: # pragma no branch\n assert attributes[\"body\"] is None or isinstance(attributes[\"body\"], (str, unicode)), attributes[\"body\"]\n self._body = attributes[\"body\"]\n@@ -390,7 +381,7 @@ def _useAttributes(self, attributes):\n self._closed_at = self._parseDatetime(attributes[\"closed_at\"])\n if \"closed_by\" in attributes: # pragma no branch\n assert attributes[\"closed_by\"] is None or isinstance(attributes[\"closed_by\"], dict), attributes[\"closed_by\"]\n- self._closed_by = None if attributes[\"closed_by\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"closed_by\"], completed=False)\n+ self._closed_by = None if attributes[\"closed_by\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"closed_by\"], completed=False)\n if \"comments\" in attributes: # pragma no branch\n assert attributes[\"comments\"] is None or isinstance(attributes[\"comments\"], (int, long)), attributes[\"comments\"]\n self._comments = attributes[\"comments\"]\n@@ -406,21 +397,21 @@ def _useAttributes(self, attributes):\n if \"labels\" in attributes: # pragma no branch\n assert attributes[\"labels\"] is None or all(isinstance(element, dict) for element in attributes[\"labels\"]), attributes[\"labels\"]\n self._labels = None if attributes[\"labels\"] is None else [\n- github.Label.Label(self._requester, element, completed=False)\n+ github.Label.Label(self._requester, self._headers, element, completed=False)\n for element in attributes[\"labels\"]\n ]\n if \"milestone\" in attributes: # pragma no branch\n assert attributes[\"milestone\"] is None or isinstance(attributes[\"milestone\"], dict), attributes[\"milestone\"]\n- self._milestone = None if attributes[\"milestone\"] is None else github.Milestone.Milestone(self._requester, attributes[\"milestone\"], completed=False)\n+ self._milestone = None if attributes[\"milestone\"] is None else github.Milestone.Milestone(self._requester, self._headers, attributes[\"milestone\"], completed=False)\n if \"number\" in attributes: # pragma no branch\n assert attributes[\"number\"] is None or isinstance(attributes[\"number\"], (int, long)), attributes[\"number\"]\n self._number = attributes[\"number\"]\n if \"pull_request\" in attributes: # pragma no branch\n assert attributes[\"pull_request\"] is None or isinstance(attributes[\"pull_request\"], dict), attributes[\"pull_request\"]\n- self._pull_request = None if attributes[\"pull_request\"] is None else github.IssuePullRequest.IssuePullRequest(self._requester, attributes[\"pull_request\"], completed=False)\n+ self._pull_request = None if attributes[\"pull_request\"] is None else github.IssuePullRequest.IssuePullRequest(self._requester, self._headers, attributes[\"pull_request\"], completed=False)\n if \"repository\" in attributes: # pragma no branch\n assert attributes[\"repository\"] is None or isinstance(attributes[\"repository\"], dict), attributes[\"repository\"]\n- self._repository = None if attributes[\"repository\"] is None else github.Repository.Repository(self._requester, attributes[\"repository\"], completed=False)\n+ self._repository = None if attributes[\"repository\"] is None else github.Repository.Repository(self._requester, self._headers, attributes[\"repository\"], completed=False)\n if \"state\" in attributes: # pragma no branch\n assert attributes[\"state\"] is None or isinstance(attributes[\"state\"], (str, unicode)), attributes[\"state\"]\n self._state = attributes[\"state\"]\n@@ -435,4 +426,4 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"149a6f6f1eafaf177dd951aa211f659a6975d72f","filename":"github/IssueComment.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/IssueComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/IssueComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/IssueComment.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Michael Stead #\n # Copyright 2013 Vincent Jacques #\n # #\n@@ -97,9 +98,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, body):\n@@ -115,8 +114,7 @@ def edit(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -150,4 +148,4 @@ def _useAttributes(self, attributes):\n self._html_url = attributes[\"html_url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"aca4cdf8a90313170980f3b75d11de61c6e3d202","filename":"github/IssueEvent.py","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/IssueEvent.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/IssueEvent.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/IssueEvent.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -102,7 +103,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"actor\" in attributes: # pragma no branch\n assert attributes[\"actor\"] is None or isinstance(attributes[\"actor\"], dict), attributes[\"actor\"]\n- self._actor = None if attributes[\"actor\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"actor\"], completed=False)\n+ self._actor = None if attributes[\"actor\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"actor\"], completed=False)\n if \"commit_id\" in attributes: # pragma no branch\n assert attributes[\"commit_id\"] is None or isinstance(attributes[\"commit_id\"], (str, unicode)), attributes[\"commit_id\"]\n self._commit_id = attributes[\"commit_id\"]\n@@ -117,7 +118,7 @@ def _useAttributes(self, attributes):\n self._id = attributes[\"id\"]\n if \"issue\" in attributes: # pragma no branch\n assert attributes[\"issue\"] is None or isinstance(attributes[\"issue\"], dict), attributes[\"issue\"]\n- self._issue = None if attributes[\"issue\"] is None else github.Issue.Issue(self._requester, attributes[\"issue\"], completed=False)\n+ self._issue = None if attributes[\"issue\"] is None else github.Issue.Issue(self._requester, self._headers, attributes[\"issue\"], completed=False)\n if \"url\" in attributes: # pragma no branch\n assert attributes[\"url\"] is None or isinstance(attributes[\"url\"], (str, unicode)), attributes[\"url\"]\n self._url = attributes[\"url\"]"},{"sha":"ae7e6b6c203695bc39cd5d057f80df638f8e8ccb","filename":"github/IssuePullRequest.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/IssuePullRequest.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/IssuePullRequest.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/IssuePullRequest.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"813cd5f015c056fdd9e1b0e2e4dc0d9265b5f238","filename":"github/Label.py","status":"modified","additions":3,"deletions":5,"changes":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Label.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Label.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Label.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -65,9 +66,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, name, color):\n@@ -86,8 +85,7 @@ def edit(self, name, color):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n "},{"sha":"cfe48d679963a0e10f861b76fa9a80cfd2ad85cc","filename":"github/Legacy.py","status":"modified","additions":4,"deletions":3,"changes":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Legacy.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Legacy.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Legacy.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -57,12 +58,12 @@ def get_page(self, page):\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n self.__url,\n- args,\n- None\n+ parameters=args\n )\n self.__continue = len(data[self.__key]) > 0\n+\n return [\n- self.__contentClass(self.__requester, self.__convert(element), completed=False)\n+ self.__contentClass(self.__requester, headers, self.__convert(element), completed=False)\n for element in data[self.__key]\n ]\n "},{"sha":"a4af1a618da0a5d865eb1675fd96a085bb0ab680","filename":"github/MainClass.py","status":"modified","additions":113,"deletions":44,"changes":157,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/MainClass.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/MainClass.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/MainClass.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -2,6 +2,7 @@\n \n ############################ Copyrights and license ############################\n # #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Ed Jackson #\n # Copyright 2013 Jonathan J Hunt #\n # Copyright 2013 Peter Golm #\n@@ -25,6 +26,7 @@\n ################################################################################\n \n import urllib\n+import pickle\n \n from Requester import Requester\n import AuthenticatedUser\n@@ -38,6 +40,8 @@\n import HookDescription\n import GitignoreTemplate\n import Notification\n+import Status\n+import StatusMessage\n \n \n DEFAULT_BASE_URL = \"https://api.github.com\"\n@@ -91,8 +95,12 @@ def __get_per_page(self):\n def __set_per_page(self, value):\n self.__requester.per_page = value\n \n+ # v2: Remove this property? Why should it be necessary to read/modify it after construction\n per_page = property(__get_per_page, __set_per_page)\n \n+ # v2: Provide a unified way to access values of headers of last response\n+ # v2: (and add/keep ad hoc properties for specific useful headers like rate limiting, oauth scopes, etc.)\n+ # v2: Return an instance of a class: using a tuple did not allow to add a field \"resettime\"\n @property\n def rate_limiting(self):\n \"\"\"\n@@ -103,9 +111,7 @@ def rate_limiting(self):\n if limit < 0:\n self.__requester.requestJsonAndCheck(\n 'GET',\n- '/rate_limit',\n- None,\n- None\n+ '/rate_limit'\n )\n return self.__requester.rate_limiting\n \n@@ -118,9 +124,7 @@ def rate_limiting_resettime(self):\n if self.__requester.rate_limiting_resettime == 0:\n self.__requester.requestJsonAndCheck(\n 'GET',\n- '/rate_limit',\n- None,\n- None\n+ '/rate_limit'\n )\n return self.__requester.rate_limiting_resettime\n \n@@ -139,15 +143,13 @@ def get_user(self, login=github.GithubObject.NotSet):\n \"\"\"\n assert login is github.GithubObject.NotSet or isinstance(login, (str, unicode)), login\n if login is github.GithubObject.NotSet:\n- return AuthenticatedUser.AuthenticatedUser(self.__requester, {\"url\": \"/user\"}, completed=False)\n+ return AuthenticatedUser.AuthenticatedUser(self.__requester, {}, {\"url\": \"/user\"}, completed=False)\n else:\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/users/\" + login,\n- None,\n- None\n+ \"/users/\" + login\n )\n- return github.NamedUser.NamedUser(self.__requester, data, completed=True)\n+ return github.NamedUser.NamedUser(self.__requester, headers, data, completed=True)\n \n def get_users(self, since=github.GithubObject.NotSet):\n \"\"\"\n@@ -175,11 +177,9 @@ def get_organization(self, login):\n assert isinstance(login, (str, unicode)), login\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/orgs/\" + login,\n- None,\n- None\n+ \"/orgs/\" + login\n )\n- return github.Organization.Organization(self.__requester, data, completed=True)\n+ return github.Organization.Organization(self.__requester, headers, data, completed=True)\n \n def get_repo(self, full_name):\n \"\"\"\n@@ -189,11 +189,26 @@ def get_repo(self, full_name):\n assert isinstance(full_name, (str, unicode)), full_name\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/repos/\" + full_name,\n- None,\n- None\n+ \"/repos/\" + full_name\n+ )\n+ return Repository.Repository(self.__requester, headers, data, completed=True)\n+\n+ def get_repos(self, since=github.GithubObject.NotSet):\n+ \"\"\"\n+ :calls: `GET /repositories `_\n+ :param since: integer\n+ :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository`\n+ \"\"\"\n+ assert since is github.GithubObject.NotSet or isinstance(since, (int, long)), since\n+ url_parameters = dict()\n+ if since is not github.GithubObject.NotSet:\n+ url_parameters[\"since\"] = since\n+ return github.PaginatedList.PaginatedList(\n+ github.Repository.Repository,\n+ self.__requester,\n+ \"/repositories\",\n+ url_parameters\n )\n- return Repository.Repository(self.__requester, data, completed=True)\n \n def get_gist(self, id):\n \"\"\"\n@@ -204,11 +219,9 @@ def get_gist(self, id):\n assert isinstance(id, (str, unicode)), id\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/gists/\" + id,\n- None,\n- None\n+ \"/gists/\" + id\n )\n- return github.Gist.Gist(self.__requester, data, completed=True)\n+ return github.Gist.Gist(self.__requester, headers, data, completed=True)\n \n def get_gists(self):\n \"\"\"\n@@ -266,11 +279,9 @@ def legacy_search_user_by_email(self, email):\n assert isinstance(email, (str, unicode)), email\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/legacy/user/email/\" + email,\n- None,\n- None\n+ \"/legacy/user/email/\" + email\n )\n- return github.NamedUser.NamedUser(self.__requester, Legacy.convertUser(data[\"user\"]), completed=False)\n+ return github.NamedUser.NamedUser(self.__requester, headers, Legacy.convertUser(data[\"user\"]), completed=False)\n \n def render_markdown(self, text, context=github.GithubObject.NotSet):\n \"\"\"\n@@ -290,23 +301,20 @@ def render_markdown(self, text, context=github.GithubObject.NotSet):\n status, headers, data = self.__requester.requestJson(\n \"POST\",\n \"/markdown\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n return data\n \n def get_hooks(self):\n \"\"\"\n :calls: `GET /hooks `_\n- :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.HookDescription.HookDescription`\n+ :rtype: list of :class:`github.HookDescription.HookDescription`\n \"\"\"\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/hooks\",\n- None,\n- None\n+ \"/hooks\"\n )\n- return [HookDescription.HookDescription(self.__requester, attributes, completed=True) for attributes in data]\n+ return [HookDescription.HookDescription(self.__requester, headers, attributes, completed=True) for attributes in data]\n \n def get_gitignore_templates(self):\n \"\"\"\n@@ -315,9 +323,7 @@ def get_gitignore_templates(self):\n \"\"\"\n headers, data = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/gitignore/templates\",\n- None,\n- None\n+ \"/gitignore/templates\"\n )\n return data\n \n@@ -329,18 +335,81 @@ def get_gitignore_template(self, name):\n assert isinstance(name, (str, unicode)), name\n headers, attributes = self.__requester.requestJsonAndCheck(\n \"GET\",\n- \"/gitignore/templates/\" + name,\n- None,\n- None\n+ \"/gitignore/templates/\" + name\n )\n- return GitignoreTemplate.GitignoreTemplate(self.__requester, attributes, completed=True)\n+ return GitignoreTemplate.GitignoreTemplate(self.__requester, headers, attributes, completed=True)\n \n- def create_from_raw_data(self, klass, raw_data):\n+ def create_from_raw_data(self, klass, raw_data, headers={}):\n \"\"\"\n- Creates an object from raw_data previously obtained by :attr:`github.GithubObject.GithubObject.raw_data`\n+ Creates an object from raw_data previously obtained by :attr:`github.GithubObject.GithubObject.raw_data`,\n+ and optionaly headers previously obtained by :attr:`github.GithubObject.GithubObject.raw_headers`.\n \n :param klass: the class of the object to create\n :param raw_data: dict\n+ :param headers: dict\n :rtype: instance of class ``klass``\n \"\"\"\n- return klass(self.__requester, raw_data, completed=True)\n+ return klass(self.__requester, headers, raw_data, completed=True)\n+\n+ def dump(self, obj, file, protocol=0):\n+ \"\"\"\n+ Dumps (pickles) a PyGithub object to a file-like object.\n+ Some effort is made to not pickle sensitive informations like the Github credentials used in the :class:`Github` instance.\n+ But NO EFFORT is made to remove sensitive information from the object's attributes.\n+\n+ :param obj: the object to pickle\n+ :param file: the file-like object to pickle to\n+ :param protocol: the `pickling protocol `_\n+ \"\"\"\n+ pickle.dump((obj.__class__, obj.raw_data, obj.raw_headers), file, protocol)\n+\n+ def load(self, f):\n+ \"\"\"\n+ Loads (unpickles) a PyGithub object from a file-like object.\n+\n+ :param f: the file-like object to unpickle from\n+ :return: the unpickled object\n+ \"\"\"\n+ return self.create_from_raw_data(*pickle.load(f))\n+\n+ def get_api_status(self):\n+ \"\"\"\n+ This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.\n+\n+ :calls: `GET /api/status.json `_\n+ :rtype: :class:`github.Status.Status`\n+ \"\"\"\n+ headers, attributes = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ \"/api/status.json\",\n+ cnx=\"status\"\n+ )\n+ return Status.Status(self.__requester, headers, attributes, completed=True)\n+\n+ def get_last_api_status_message(self):\n+ \"\"\"\n+ This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.\n+\n+ :calls: `GET /api/last-message.json `_\n+ :rtype: :class:`github.StatusMessage.StatusMessage`\n+ \"\"\"\n+ headers, attributes = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ \"/api/last-message.json\",\n+ cnx=\"status\"\n+ )\n+ return StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True)\n+\n+ def get_api_status_messages(self):\n+ \"\"\"\n+ This doesn't work with a Github Enterprise installation, because it always targets https://status.github.com.\n+\n+ :calls: `GET /api/messages.json `_\n+ :rtype: list of :class:`github.StatusMessage.StatusMessage`\n+ \"\"\"\n+ headers, data = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ \"/api/messages.json\",\n+ cnx=\"status\"\n+ )\n+ return [StatusMessage.StatusMessage(self.__requester, headers, attributes, completed=True) for attributes in data]"},{"sha":"c07ec38911b95b9baaccd7926cab22c549a9e5dd","filename":"github/Milestone.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Milestone.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Milestone.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Milestone.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -133,9 +134,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, title, state=github.GithubObject.NotSet, description=github.GithubObject.NotSet, due_on=github.GithubObject.NotSet):\n@@ -163,8 +162,7 @@ def edit(self, title, state=github.GithubObject.NotSet, description=github.Githu\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -206,7 +204,7 @@ def _useAttributes(self, attributes):\n self._created_at = self._parseDatetime(attributes[\"created_at\"])\n if \"creator\" in attributes: # pragma no branch\n assert attributes[\"creator\"] is None or isinstance(attributes[\"creator\"], dict), attributes[\"creator\"]\n- self._creator = None if attributes[\"creator\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"creator\"], completed=False)\n+ self._creator = None if attributes[\"creator\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"creator\"], completed=False)\n if \"description\" in attributes: # pragma no branch\n assert attributes[\"description\"] is None or isinstance(attributes[\"description\"], (str, unicode)), attributes[\"description\"]\n self._description = attributes[\"description\"]"},{"sha":"ec9bfbeddafff7bdf23258a08dc9f0ac8f4d964c","filename":"github/NamedUser.py","status":"modified","additions":19,"deletions":8,"changes":27,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/NamedUser.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/NamedUser.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/NamedUser.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -268,10 +269,9 @@ def create_gist(self, public, files, description=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/gists\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Gist.Gist(self._requester, data, completed=True)\n+ return github.Gist.Gist(self._requester, headers, data, completed=True)\n \n def get_events(self):\n \"\"\"\n@@ -390,11 +390,9 @@ def get_repo(self, name):\n assert isinstance(name, (str, unicode)), name\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/repos/\" + self.login + \"/\" + name,\n- None,\n- None\n+ \"/repos/\" + self.login + \"/\" + name\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def get_repos(self, type=github.GithubObject.NotSet):\n \"\"\"\n@@ -449,6 +447,19 @@ def get_watched(self):\n None\n )\n \n+ def has_in_following(self, following):\n+ \"\"\"\n+ :calls: `GET /user/:user/following/:target_user `_\n+ :param following: :class:`github.NamedUser.NamedUser`\n+ :rtype: bool\n+ \"\"\"\n+ assert isinstance(following, github.NamedUser.NamedUser), following\n+ status, headers, data = self._requester.requestJson(\n+ \"GET\",\n+ self.url + \"/following/\" + following._identity\n+ )\n+ return status == 204\n+\n @property\n def _identity(self):\n return self.login\n@@ -541,7 +552,7 @@ def _useAttributes(self, attributes):\n self._owned_private_repos = attributes[\"owned_private_repos\"]\n if \"plan\" in attributes: # pragma no branch\n assert attributes[\"plan\"] is None or isinstance(attributes[\"plan\"], dict), attributes[\"plan\"]\n- self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, attributes[\"plan\"], completed=False)\n+ self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, self._headers, attributes[\"plan\"], completed=False)\n if \"private_gists\" in attributes: # pragma no branch\n assert attributes[\"private_gists\"] is None or isinstance(attributes[\"private_gists\"], (int, long)), attributes[\"private_gists\"]\n self._private_gists = attributes[\"private_gists\"]"},{"sha":"bb1c96b6780fb31573952d049166fd68ecb5a64a","filename":"github/Notification.py","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Notification.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Notification.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Notification.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -2,6 +2,7 @@\n \n ############################ Copyrights and license ############################\n # #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Peter Golm #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n@@ -104,10 +105,10 @@ def _useAttributes(self, attributes):\n self._id = attributes[\"id\"]\n if \"repository\" in attributes: # pragma no branch\n assert attributes[\"repository\"] is None or isinstance(attributes[\"repository\"], dict), attributes[\"repository\"]\n- self._repository = None if attributes[\"repository\"] is None else github.Repository.Repository(self._requester, attributes[\"repository\"], completed=False)\n+ self._repository = None if attributes[\"repository\"] is None else github.Repository.Repository(self._requester, self._headers, attributes[\"repository\"], completed=False)\n if \"subject\" in attributes: # pragma no branch\n assert attributes[\"subject\"] is None or isinstance(attributes[\"subject\"], dict), attributes[\"subject\"]\n- self._subject = None if attributes[\"subject\"] is None else github.NotificationSubject.NotificationSubject(self._requester, attributes[\"subject\"], completed=False)\n+ self._subject = None if attributes[\"subject\"] is None else github.NotificationSubject.NotificationSubject(self._requester, self._headers, attributes[\"subject\"], completed=False)\n if \"reason\" in attributes: # pragma no branch\n assert attributes[\"reason\"] is None or isinstance(attributes[\"reason\"], (str, unicode)), attributes[\"reason\"]\n self._reason = attributes[\"reason\"]"},{"sha":"7e1ce3adbf00f58e49724f0af978be5294a5b6f1","filename":"github/NotificationSubject.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/NotificationSubject.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/NotificationSubject.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/NotificationSubject.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -2,6 +2,7 @@\n \n ############################ Copyrights and license ############################\n # #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"68245f3e28173790bcae32b16120ab027b995188","filename":"github/Organization.py","status":"modified","additions":18,"deletions":35,"changes":53,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Organization.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Organization.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Organization.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -243,9 +244,7 @@ def add_to_public_members(self, public_member):\n assert isinstance(public_member, github.NamedUser.NamedUser), public_member\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- self.url + \"/public_members/\" + public_member._identity,\n- None,\n- None\n+ self.url + \"/public_members/\" + public_member._identity\n )\n \n def create_fork(self, repo):\n@@ -261,10 +260,9 @@ def create_fork(self, repo):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n \"/repos/\" + repo.owner.login + \"/\" + repo.name + \"/forks\",\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def create_repo(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, private=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, team_id=github.GithubObject.NotSet, auto_init=github.GithubObject.NotSet, gitignore_template=github.GithubObject.NotSet):\n \"\"\"\n@@ -315,10 +313,9 @@ def create_repo(self, name, description=github.GithubObject.NotSet, homepage=git\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/repos\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=github.GithubObject.NotSet):\n \"\"\"\n@@ -341,10 +338,9 @@ def create_team(self, name, repo_names=github.GithubObject.NotSet, permission=gi\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/teams\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Team.Team(self._requester, data, completed=True)\n+ return github.Team.Team(self._requester, headers, data, completed=True)\n \n def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObject.NotSet, company=github.GithubObject.NotSet, email=github.GithubObject.NotSet, location=github.GithubObject.NotSet, name=github.GithubObject.NotSet):\n \"\"\"\n@@ -379,8 +375,7 @@ def edit(self, billing_email=github.GithubObject.NotSet, blog=github.GithubObjec\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -467,11 +462,9 @@ def get_repo(self, name):\n assert isinstance(name, (str, unicode)), name\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/repos/\" + self.login + \"/\" + name,\n- None,\n- None\n+ \"/repos/\" + self.login + \"/\" + name\n )\n- return github.Repository.Repository(self._requester, data, completed=True)\n+ return github.Repository.Repository(self._requester, headers, data, completed=True)\n \n def get_repos(self, type=github.GithubObject.NotSet):\n \"\"\"\n@@ -499,11 +492,9 @@ def get_team(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/teams/\" + str(id),\n- None,\n- None\n+ \"/teams/\" + str(id)\n )\n- return github.Team.Team(self._requester, data, completed=True)\n+ return github.Team.Team(self._requester, headers, data, completed=True)\n \n def get_teams(self):\n \"\"\"\n@@ -526,9 +517,7 @@ def has_in_members(self, member):\n assert isinstance(member, github.NamedUser.NamedUser), member\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/members/\" + member._identity,\n- None,\n- None\n+ self.url + \"/members/\" + member._identity\n )\n return status == 204\n \n@@ -541,9 +530,7 @@ def has_in_public_members(self, public_member):\n assert isinstance(public_member, github.NamedUser.NamedUser), public_member\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/public_members/\" + public_member._identity,\n- None,\n- None\n+ self.url + \"/public_members/\" + public_member._identity\n )\n return status == 204\n \n@@ -556,9 +543,7 @@ def remove_from_members(self, member):\n assert isinstance(member, github.NamedUser.NamedUser), member\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/members/\" + member._identity,\n- None,\n- None\n+ self.url + \"/members/\" + member._identity\n )\n \n def remove_from_public_members(self, public_member):\n@@ -570,9 +555,7 @@ def remove_from_public_members(self, public_member):\n assert isinstance(public_member, github.NamedUser.NamedUser), public_member\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/public_members/\" + public_member._identity,\n- None,\n- None\n+ self.url + \"/public_members/\" + public_member._identity\n )\n \n def _initAttributes(self):\n@@ -655,7 +638,7 @@ def _useAttributes(self, attributes):\n self._owned_private_repos = attributes[\"owned_private_repos\"]\n if \"plan\" in attributes: # pragma no branch\n assert attributes[\"plan\"] is None or isinstance(attributes[\"plan\"], dict), attributes[\"plan\"]\n- self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, attributes[\"plan\"], completed=False)\n+ self._plan = None if attributes[\"plan\"] is None else github.Plan.Plan(self._requester, self._headers, attributes[\"plan\"], completed=False)\n if \"private_gists\" in attributes: # pragma no branch\n assert attributes[\"private_gists\"] is None or isinstance(attributes[\"private_gists\"], (int, long)), attributes[\"private_gists\"]\n self._private_gists = attributes[\"private_gists\"]"},{"sha":"4c22b991def262d6e5032a708ba610f65417f1b9","filename":"github/PaginatedList.py","status":"modified","additions":18,"deletions":5,"changes":23,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/PaginatedList.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/PaginatedList.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/PaginatedList.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Bill Mill #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 davidbrai #\n@@ -118,7 +119,11 @@ def __init__(self, contentClass, requester, firstUrl, firstParams):\n self._reversed = False\n \n def _getLastPageUrl(self):\n- headers, data = self.__requester.requestJsonAndCheck(\"GET\", self.__firstUrl, self.__nextParams, None)\n+ headers, data = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ self.__firstUrl,\n+ parameters=self.__nextParams\n+ )\n links = self.__parseLinkHeader(headers)\n lastUrl = links.get(\"last\")\n return lastUrl\n@@ -139,7 +144,11 @@ def _couldGrow(self):\n return self.__nextUrl is not None\n \n def _fetchNextPage(self):\n- headers, data = self.__requester.requestJsonAndCheck(\"GET\", self.__nextUrl, self.__nextParams, None)\n+ headers, data = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ self.__nextUrl,\n+ parameters=self.__nextParams\n+ )\n \n self.__nextUrl = None\n if len(data) > 0:\n@@ -152,7 +161,7 @@ def _fetchNextPage(self):\n self.__nextParams = None\n \n content = [\n- self.__contentClass(self.__requester, element, completed=False)\n+ self.__contentClass(self.__requester, headers, element, completed=False)\n for element in data\n ]\n if self._reversed:\n@@ -176,9 +185,13 @@ def get_page(self, page):\n params[\"page\"] = page + 1\n if self.__requester.per_page != 30:\n params[\"per_page\"] = self.__requester.per_page\n- headers, data = self.__requester.requestJsonAndCheck(\"GET\", self.__firstUrl, params, None)\n+ headers, data = self.__requester.requestJsonAndCheck(\n+ \"GET\",\n+ self.__firstUrl,\n+ parameters=params\n+ )\n \n return [\n- self.__contentClass(self.__requester, element, completed=False)\n+ self.__contentClass(self.__requester, headers, element, completed=False)\n for element in data\n ]"},{"sha":"3a3b420615062ee9e8a4fff31b65bd575c65d5a9","filename":"github/Permissions.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Permissions.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Permissions.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Permissions.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"99a3c3a6d9b4bef7b9bc78f0bd247a4083a2285e","filename":"github/Plan.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Plan.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Plan.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Plan.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #"},{"sha":"85867c60e0f888692b9410f45be43cb69528ca0b","filename":"github/PullRequest.py","status":"modified","additions":18,"deletions":27,"changes":45,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequest.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequest.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/PullRequest.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -5,6 +5,7 @@\n # Copyright 2012 Michael Stead #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -291,10 +292,9 @@ def create_review_comment(self, body, commit_id, path, position):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/comments\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.PullRequestComment.PullRequestComment(self._requester, data, completed=True)\n+ return github.PullRequestComment.PullRequestComment(self._requester, headers, data, completed=True)\n \n def create_issue_comment(self, body):\n \"\"\"\n@@ -309,10 +309,9 @@ def create_issue_comment(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self._parentUrl(self._parentUrl(self.url)) + \"/issues/\" + str(self.number) + \"/comments\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.IssueComment.IssueComment(self._requester, data, completed=True)\n+ return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)\n \n def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, state=github.GithubObject.NotSet):\n \"\"\"\n@@ -335,8 +334,7 @@ def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -357,11 +355,9 @@ def get_review_comment(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self._parentUrl(self.url) + \"/comments/\" + str(id),\n- None,\n- None\n+ self._parentUrl(self.url) + \"/comments/\" + str(id)\n )\n- return github.PullRequestComment.PullRequestComment(self._requester, data, completed=True)\n+ return github.PullRequestComment.PullRequestComment(self._requester, headers, data, completed=True)\n \n def get_comments(self):\n \"\"\"\n@@ -415,11 +411,9 @@ def get_issue_comment(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self._parentUrl(self._parentUrl(self.url)) + \"/issues/comments/\" + str(id),\n- None,\n- None\n+ self._parentUrl(self._parentUrl(self.url)) + \"/issues/comments/\" + str(id)\n )\n- return github.IssueComment.IssueComment(self._requester, data, completed=True)\n+ return github.IssueComment.IssueComment(self._requester, headers, data, completed=True)\n \n def get_issue_comments(self):\n \"\"\"\n@@ -440,9 +434,7 @@ def is_merged(self):\n \"\"\"\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/merge\",\n- None,\n- None\n+ self.url + \"/merge\"\n )\n return status == 204\n \n@@ -459,10 +451,9 @@ def merge(self, commit_message=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n self.url + \"/merge\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.PullRequestMergeStatus.PullRequestMergeStatus(self._requester, data, completed=True)\n+ return github.PullRequestMergeStatus.PullRequestMergeStatus(self._requester, headers, data, completed=True)\n \n def _initAttributes(self):\n self._additions = github.GithubObject.NotSet\n@@ -499,10 +490,10 @@ def _useAttributes(self, attributes):\n self._additions = attributes[\"additions\"]\n if \"assignee\" in attributes: # pragma no branch\n assert attributes[\"assignee\"] is None or isinstance(attributes[\"assignee\"], dict), attributes[\"assignee\"]\n- self._assignee = None if attributes[\"assignee\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"assignee\"], completed=False)\n+ self._assignee = None if attributes[\"assignee\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"assignee\"], completed=False)\n if \"base\" in attributes: # pragma no branch\n assert attributes[\"base\"] is None or isinstance(attributes[\"base\"], dict), attributes[\"base\"]\n- self._base = None if attributes[\"base\"] is None else github.PullRequestPart.PullRequestPart(self._requester, attributes[\"base\"], completed=False)\n+ self._base = None if attributes[\"base\"] is None else github.PullRequestPart.PullRequestPart(self._requester, self._headers, attributes[\"base\"], completed=False)\n if \"body\" in attributes: # pragma no branch\n assert attributes[\"body\"] is None or isinstance(attributes[\"body\"], (str, unicode)), attributes[\"body\"]\n self._body = attributes[\"body\"]\n@@ -529,7 +520,7 @@ def _useAttributes(self, attributes):\n self._diff_url = attributes[\"diff_url\"]\n if \"head\" in attributes: # pragma no branch\n assert attributes[\"head\"] is None or isinstance(attributes[\"head\"], dict), attributes[\"head\"]\n- self._head = None if attributes[\"head\"] is None else github.PullRequestPart.PullRequestPart(self._requester, attributes[\"head\"], completed=False)\n+ self._head = None if attributes[\"head\"] is None else github.PullRequestPart.PullRequestPart(self._requester, self._headers, attributes[\"head\"], completed=False)\n if \"html_url\" in attributes: # pragma no branch\n assert attributes[\"html_url\"] is None or isinstance(attributes[\"html_url\"], (str, unicode)), attributes[\"html_url\"]\n self._html_url = attributes[\"html_url\"]\n@@ -550,7 +541,7 @@ def _useAttributes(self, attributes):\n self._merged_at = self._parseDatetime(attributes[\"merged_at\"])\n if \"merged_by\" in attributes: # pragma no branch\n assert attributes[\"merged_by\"] is None or isinstance(attributes[\"merged_by\"], dict), attributes[\"merged_by\"]\n- self._merged_by = None if attributes[\"merged_by\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"merged_by\"], completed=False)\n+ self._merged_by = None if attributes[\"merged_by\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"merged_by\"], completed=False)\n if \"number\" in attributes: # pragma no branch\n assert attributes[\"number\"] is None or isinstance(attributes[\"number\"], (int, long)), attributes[\"number\"]\n self._number = attributes[\"number\"]\n@@ -574,4 +565,4 @@ def _useAttributes(self, attributes):\n self._url = attributes[\"url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"1e96426e98b1f17f5ec26185257276cafabb376b","filename":"github/PullRequestComment.py","status":"modified","additions":4,"deletions":6,"changes":10,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestComment.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestComment.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/PullRequestComment.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Michael Stead #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n@@ -138,9 +139,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, body):\n@@ -156,8 +155,7 @@ def edit(self, body):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -211,4 +209,4 @@ def _useAttributes(self, attributes):\n self._html_url = attributes[\"html_url\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"9c416dbd5a260662bca2f7d8d3725e87f822ae06","filename":"github/PullRequestMergeStatus.py","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestMergeStatus.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestMergeStatus.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/PullRequestMergeStatus.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #"},{"sha":"791452b028bd4d1a970b78581b849bb755be2efa","filename":"github/PullRequestPart.py","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestPart.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/PullRequestPart.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/PullRequestPart.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -85,10 +86,10 @@ def _useAttributes(self, attributes):\n self._ref = attributes[\"ref\"]\n if \"repo\" in attributes: # pragma no branch\n assert attributes[\"repo\"] is None or isinstance(attributes[\"repo\"], dict), attributes[\"repo\"]\n- self._repo = None if attributes[\"repo\"] is None else github.Repository.Repository(self._requester, attributes[\"repo\"], completed=False)\n+ self._repo = None if attributes[\"repo\"] is None else github.Repository.Repository(self._requester, self._headers, attributes[\"repo\"], completed=False)\n if \"sha\" in attributes: # pragma no branch\n assert attributes[\"sha\"] is None or isinstance(attributes[\"sha\"], (str, unicode)), attributes[\"sha\"]\n self._sha = attributes[\"sha\"]\n if \"user\" in attributes: # pragma no branch\n assert attributes[\"user\"] is None or isinstance(attributes[\"user\"], dict), attributes[\"user\"]\n- self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"user\"], completed=False)\n+ self._user = None if attributes[\"user\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"user\"], completed=False)"},{"sha":"7eb3d235917b3a63e8d31caefae5cba981a25134","filename":"github/Repository.py","status":"modified","additions":85,"deletions":152,"changes":237,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Repository.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Repository.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Repository.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -7,6 +7,7 @@\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n # Copyright 2013 Adrian Petrescu #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Mark Roddy #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n@@ -316,9 +317,7 @@ def add_to_collaborators(self, collaborator):\n assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- self.url + \"/collaborators/\" + collaborator._identity,\n- None,\n- None\n+ self.url + \"/collaborators/\" + collaborator._identity\n )\n \n def compare(self, base, head):\n@@ -332,11 +331,9 @@ def compare(self, base, head):\n assert isinstance(head, (str, unicode)), head\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/compare/\" + base + \"...\" + head,\n- None,\n- None\n+ self.url + \"/compare/\" + base + \"...\" + head\n )\n- return github.Comparison.Comparison(self._requester, data, completed=True)\n+ return github.Comparison.Comparison(self._requester, headers, data, completed=True)\n \n def create_download(self, name, size, description=github.GithubObject.NotSet, content_type=github.GithubObject.NotSet):\n \"\"\"\n@@ -362,10 +359,9 @@ def create_download(self, name, size, description=github.GithubObject.NotSet, co\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/downloads\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Download.Download(self._requester, data, completed=True)\n+ return github.Download.Download(self._requester, headers, data, completed=True)\n \n def create_git_blob(self, content, encoding):\n \"\"\"\n@@ -383,10 +379,9 @@ def create_git_blob(self, content, encoding):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/git/blobs\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GitBlob.GitBlob(self._requester, data, completed=True)\n+ return github.GitBlob.GitBlob(self._requester, headers, data, completed=True)\n \n def create_git_commit(self, message, tree, parents, author=github.GithubObject.NotSet, committer=github.GithubObject.NotSet):\n \"\"\"\n@@ -415,10 +410,9 @@ def create_git_commit(self, message, tree, parents, author=github.GithubObject.N\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/git/commits\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GitCommit.GitCommit(self._requester, data, completed=True)\n+ return github.GitCommit.GitCommit(self._requester, headers, data, completed=True)\n \n def create_git_ref(self, ref, sha):\n \"\"\"\n@@ -436,10 +430,9 @@ def create_git_ref(self, ref, sha):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/git/refs\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GitRef.GitRef(self._requester, data, completed=True)\n+ return github.GitRef.GitRef(self._requester, headers, data, completed=True)\n \n def create_git_tag(self, tag, message, object, type, tagger=github.GithubObject.NotSet):\n \"\"\"\n@@ -467,10 +460,9 @@ def create_git_tag(self, tag, message, object, type, tagger=github.GithubObject.\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/git/tags\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GitTag.GitTag(self._requester, data, completed=True)\n+ return github.GitTag.GitTag(self._requester, headers, data, completed=True)\n \n def create_git_tree(self, tree, base_tree=github.GithubObject.NotSet):\n \"\"\"\n@@ -489,10 +481,9 @@ def create_git_tree(self, tree, base_tree=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/git/trees\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.GitTree.GitTree(self._requester, data, completed=True)\n+ return github.GitTree.GitTree(self._requester, headers, data, completed=True)\n \n def create_hook(self, name, config, events=github.GithubObject.NotSet, active=github.GithubObject.NotSet):\n \"\"\"\n@@ -518,10 +509,9 @@ def create_hook(self, name, config, events=github.GithubObject.NotSet, active=gi\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/hooks\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Hook.Hook(self._requester, data, completed=True)\n+ return github.Hook.Hook(self._requester, headers, data, completed=True)\n \n def create_issue(self, title, body=github.GithubObject.NotSet, assignee=github.GithubObject.NotSet, milestone=github.GithubObject.NotSet, labels=github.GithubObject.NotSet):\n \"\"\"\n@@ -552,10 +542,9 @@ def create_issue(self, title, body=github.GithubObject.NotSet, assignee=github.G\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/issues\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Issue.Issue(self._requester, data, completed=True)\n+ return github.Issue.Issue(self._requester, headers, data, completed=True)\n \n def create_key(self, title, key):\n \"\"\"\n@@ -573,10 +562,9 @@ def create_key(self, title, key):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/keys\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.RepositoryKey.RepositoryKey(self._requester, data, completed=True, repoUrl=self._url)\n+ return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self._url)\n \n def create_label(self, name, color):\n \"\"\"\n@@ -594,10 +582,9 @@ def create_label(self, name, color):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/labels\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Label.Label(self._requester, data, completed=True)\n+ return github.Label.Label(self._requester, headers, data, completed=True)\n \n def create_milestone(self, title, state=github.GithubObject.NotSet, description=github.GithubObject.NotSet, due_on=github.GithubObject.NotSet):\n \"\"\"\n@@ -624,10 +611,9 @@ def create_milestone(self, title, state=github.GithubObject.NotSet, description=\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/milestones\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.Milestone.Milestone(self._requester, data, completed=True)\n+ return github.Milestone.Milestone(self._requester, headers, data, completed=True)\n \n def create_pull(self, *args, **kwds):\n \"\"\"\n@@ -662,10 +648,9 @@ def __create_pull(self, **kwds):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/pulls\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n- return github.PullRequest.PullRequest(self._requester, data, completed=True)\n+ return github.PullRequest.PullRequest(self._requester, headers, data, completed=True)\n \n def delete(self):\n \"\"\"\n@@ -674,9 +659,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, name, description=github.GithubObject.NotSet, homepage=github.GithubObject.NotSet, public=github.GithubObject.NotSet, has_issues=github.GithubObject.NotSet, has_wiki=github.GithubObject.NotSet, has_downloads=github.GithubObject.NotSet, default_branch=github.GithubObject.NotSet):\n@@ -720,8 +703,7 @@ def edit(self, name, description=github.GithubObject.NotSet, homepage=github.Git\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -739,9 +721,7 @@ def get_archive_link(self, archive_format, ref=github.GithubObject.NotSet):\n url += \"/\" + ref\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- url,\n- None,\n- None\n+ url\n )\n return headers[\"location\"]\n \n@@ -766,11 +746,9 @@ def get_branch(self, branch):\n assert isinstance(branch, (str, unicode)), branch\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/branches/\" + branch,\n- None,\n- None\n+ self.url + \"/branches/\" + branch\n )\n- return github.Branch.Branch(self._requester, data, completed=True)\n+ return github.Branch.Branch(self._requester, headers, data, completed=True)\n \n def get_branches(self):\n \"\"\"\n@@ -805,11 +783,9 @@ def get_comment(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/comments/\" + str(id),\n- None,\n- None\n+ self.url + \"/comments/\" + str(id)\n )\n- return github.CommitComment.CommitComment(self._requester, data, completed=True)\n+ return github.CommitComment.CommitComment(self._requester, headers, data, completed=True)\n \n def get_comments(self):\n \"\"\"\n@@ -832,11 +808,9 @@ def get_commit(self, sha):\n assert isinstance(sha, (str, unicode)), sha\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/commits/\" + sha,\n- None,\n- None\n+ self.url + \"/commits/\" + sha\n )\n- return github.Commit.Commit(self._requester, data, completed=True)\n+ return github.Commit.Commit(self._requester, headers, data, completed=True)\n \n def get_commits(self, sha=github.GithubObject.NotSet, path=github.GithubObject.NotSet, since=github.GithubObject.NotSet, until=github.GithubObject.NotSet):\n \"\"\"\n@@ -891,10 +865,9 @@ def get_file_contents(self, path, ref=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n self.url + \"/contents\" + path,\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n- return github.ContentFile.ContentFile(self._requester, data, completed=True)\n+ return github.ContentFile.ContentFile(self._requester, headers, data, completed=True)\n \n def get_dir_contents(self, path, ref=github.GithubObject.NotSet):\n \"\"\"\n@@ -911,8 +884,7 @@ def get_dir_contents(self, path, ref=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n self.url + \"/contents\" + path,\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n \n # Handle 302 redirect response\n@@ -920,12 +892,11 @@ def get_dir_contents(self, path, ref=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n headers['location'],\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n \n return [\n- github.ContentFile.ContentFile(self._requester, attributes, completed=(attributes[\"type\"] != \"file\")) # Lazy completion only makes sense for files. See discussion here: https://github.com/jacquev6/PyGithub/issues/140#issuecomment-13481130\n+ github.ContentFile.ContentFile(self._requester, headers, attributes, completed=(attributes[\"type\"] != \"file\")) # Lazy completion only makes sense for files. See discussion here: https://github.com/jacquev6/PyGithub/issues/140#issuecomment-13481130\n for attributes in data\n ]\n \n@@ -950,11 +921,9 @@ def get_download(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/downloads/\" + str(id),\n- None,\n- None\n+ self.url + \"/downloads/\" + str(id)\n )\n- return github.Download.Download(self._requester, data, completed=True)\n+ return github.Download.Download(self._requester, headers, data, completed=True)\n \n def get_downloads(self):\n \"\"\"\n@@ -1001,11 +970,9 @@ def get_git_blob(self, sha):\n assert isinstance(sha, (str, unicode)), sha\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/git/blobs/\" + sha,\n- None,\n- None\n+ self.url + \"/git/blobs/\" + sha\n )\n- return github.GitBlob.GitBlob(self._requester, data, completed=True)\n+ return github.GitBlob.GitBlob(self._requester, headers, data, completed=True)\n \n def get_git_commit(self, sha):\n \"\"\"\n@@ -1016,11 +983,9 @@ def get_git_commit(self, sha):\n assert isinstance(sha, (str, unicode)), sha\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/git/commits/\" + sha,\n- None,\n- None\n+ self.url + \"/git/commits/\" + sha\n )\n- return github.GitCommit.GitCommit(self._requester, data, completed=True)\n+ return github.GitCommit.GitCommit(self._requester, headers, data, completed=True)\n \n def get_git_ref(self, ref):\n \"\"\"\n@@ -1034,11 +999,9 @@ def get_git_ref(self, ref):\n assert isinstance(ref, (str, unicode)), ref\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + prefix + ref,\n- None,\n- None\n+ self.url + prefix + ref\n )\n- return github.GitRef.GitRef(self._requester, data, completed=True)\n+ return github.GitRef.GitRef(self._requester, headers, data, completed=True)\n \n def get_git_refs(self):\n \"\"\"\n@@ -1061,11 +1024,9 @@ def get_git_tag(self, sha):\n assert isinstance(sha, (str, unicode)), sha\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/git/tags/\" + sha,\n- None,\n- None\n+ self.url + \"/git/tags/\" + sha\n )\n- return github.GitTag.GitTag(self._requester, data, completed=True)\n+ return github.GitTag.GitTag(self._requester, headers, data, completed=True)\n \n def get_git_tree(self, sha, recursive=github.GithubObject.NotSet):\n \"\"\"\n@@ -1082,10 +1043,9 @@ def get_git_tree(self, sha, recursive=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n self.url + \"/git/trees/\" + sha,\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n- return github.GitTree.GitTree(self._requester, data, completed=True)\n+ return github.GitTree.GitTree(self._requester, headers, data, completed=True)\n \n def get_hook(self, id):\n \"\"\"\n@@ -1096,11 +1056,9 @@ def get_hook(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/hooks/\" + str(id),\n- None,\n- None\n+ self.url + \"/hooks/\" + str(id)\n )\n- return github.Hook.Hook(self._requester, data, completed=True)\n+ return github.Hook.Hook(self._requester, headers, data, completed=True)\n \n def get_hooks(self):\n \"\"\"\n@@ -1123,11 +1081,9 @@ def get_issue(self, number):\n assert isinstance(number, (int, long)), number\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/issues/\" + str(number),\n- None,\n- None\n+ self.url + \"/issues/\" + str(number)\n )\n- return github.Issue.Issue(self._requester, data, completed=True)\n+ return github.Issue.Issue(self._requester, headers, data, completed=True)\n \n def get_issues(self, milestone=github.GithubObject.NotSet, state=github.GithubObject.NotSet, assignee=github.GithubObject.NotSet, mentioned=github.GithubObject.NotSet, labels=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet, since=github.GithubObject.NotSet):\n \"\"\"\n@@ -1214,11 +1170,9 @@ def get_issues_event(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/issues/events/\" + str(id),\n- None,\n- None\n+ self.url + \"/issues/events/\" + str(id)\n )\n- return github.IssueEvent.IssueEvent(self._requester, data, completed=True)\n+ return github.IssueEvent.IssueEvent(self._requester, headers, data, completed=True)\n \n def get_issues_events(self):\n \"\"\"\n@@ -1241,11 +1195,9 @@ def get_key(self, id):\n assert isinstance(id, (int, long)), id\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/keys/\" + str(id),\n- None,\n- None\n+ self.url + \"/keys/\" + str(id)\n )\n- return github.RepositoryKey.RepositoryKey(self._requester, data, completed=True, repoUrl=self._url)\n+ return github.RepositoryKey.RepositoryKey(self._requester, headers, data, completed=True, repoUrl=self._url)\n \n def get_keys(self):\n \"\"\"\n@@ -1253,7 +1205,7 @@ def get_keys(self):\n :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.RepositoryKey.RepositoryKey`\n \"\"\"\n return github.PaginatedList.PaginatedList(\n- lambda requester, data, completed: github.RepositoryKey.RepositoryKey(requester, data, completed, repoUrl=self._url),\n+ lambda requester, headers, data, completed: github.RepositoryKey.RepositoryKey(requester, headers, data, completed, repoUrl=self._url),\n self._requester,\n self.url + \"/keys\",\n None\n@@ -1268,11 +1220,9 @@ def get_label(self, name):\n assert isinstance(name, (str, unicode)), name\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/labels/\" + urllib.quote(name),\n- None,\n- None\n+ self.url + \"/labels/\" + urllib.quote(name)\n )\n- return github.Label.Label(self._requester, data, completed=True)\n+ return github.Label.Label(self._requester, headers, data, completed=True)\n \n def get_labels(self):\n \"\"\"\n@@ -1293,9 +1243,7 @@ def get_languages(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/languages\",\n- None,\n- None\n+ self.url + \"/languages\"\n )\n return data\n \n@@ -1308,11 +1256,9 @@ def get_milestone(self, number):\n assert isinstance(number, (int, long)), number\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/milestones/\" + str(number),\n- None,\n- None\n+ self.url + \"/milestones/\" + str(number)\n )\n- return github.Milestone.Milestone(self._requester, data, completed=True)\n+ return github.Milestone.Milestone(self._requester, headers, data, completed=True)\n \n def get_milestones(self, state=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet):\n \"\"\"\n@@ -1360,11 +1306,9 @@ def get_pull(self, number):\n assert isinstance(number, (int, long)), number\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- self.url + \"/pulls/\" + str(number),\n- None,\n- None\n+ self.url + \"/pulls/\" + str(number)\n )\n- return github.PullRequest.PullRequest(self._requester, data, completed=True)\n+ return github.PullRequest.PullRequest(self._requester, headers, data, completed=True)\n \n def get_pulls(self, state=github.GithubObject.NotSet):\n \"\"\"\n@@ -1431,10 +1375,9 @@ def get_readme(self, ref=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n self.url + \"/readme\",\n- url_parameters,\n- None\n+ parameters=url_parameters\n )\n- return github.ContentFile.ContentFile(self._requester, data, completed=True)\n+ return github.ContentFile.ContentFile(self._requester, headers, data, completed=True)\n \n def get_stargazers(self):\n \"\"\"\n@@ -1505,9 +1448,7 @@ def has_in_assignees(self, assignee):\n assert isinstance(assignee, github.NamedUser.NamedUser), assignee\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/assignees/\" + assignee._identity,\n- None,\n- None\n+ self.url + \"/assignees/\" + assignee._identity\n )\n return status == 204\n \n@@ -1520,9 +1461,7 @@ def has_in_collaborators(self, collaborator):\n assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/collaborators/\" + collaborator._identity,\n- None,\n- None\n+ self.url + \"/collaborators/\" + collaborator._identity\n )\n return status == 204\n \n@@ -1537,12 +1476,10 @@ def legacy_search_issues(self, state, keyword):\n assert isinstance(keyword, (str, unicode)), keyword\n headers, data = self._requester.requestJsonAndCheck(\n \"GET\",\n- \"/legacy/issues/search/\" + self.owner.login + \"/\" + self.name + \"/\" + state + \"/\" + urllib.quote(keyword),\n- None,\n- None\n+ \"/legacy/issues/search/\" + self.owner.login + \"/\" + self.name + \"/\" + state + \"/\" + urllib.quote(keyword)\n )\n return [\n- github.Issue.Issue(self._requester, github.Legacy.convertIssue(element), completed=False)\n+ github.Issue.Issue(self._requester, headers, github.Legacy.convertIssue(element), completed=False)\n for element in data[\"issues\"]\n ]\n \n@@ -1566,13 +1503,12 @@ def merge(self, base, head, commit_message=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"POST\",\n self.url + \"/merges\",\n- None,\n- post_parameters\n+ input=post_parameters\n )\n if data is None:\n return None\n else:\n- return github.Commit.Commit(self._requester, data, completed=True)\n+ return github.Commit.Commit(self._requester, headers, data, completed=True)\n \n def remove_from_collaborators(self, collaborator):\n \"\"\"\n@@ -1583,9 +1519,7 @@ def remove_from_collaborators(self, collaborator):\n assert isinstance(collaborator, github.NamedUser.NamedUser), collaborator\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/collaborators/\" + collaborator._identity,\n- None,\n- None\n+ self.url + \"/collaborators/\" + collaborator._identity\n )\n \n def subscribe_to_hub(self, event, callback, secret=github.GithubObject.NotSet):\n@@ -1625,8 +1559,7 @@ def _hub(self, mode, event, callback, secret):\n responseHeaders, output = self._requester.requestMultipartAndCheck(\n \"POST\",\n \"/hub\",\n- None,\n- post_parameters,\n+ input=post_parameters\n )\n \n @property\n@@ -1719,16 +1652,16 @@ def _useAttributes(self, attributes):\n self._open_issues = attributes[\"open_issues\"]\n if \"organization\" in attributes: # pragma no branch\n assert attributes[\"organization\"] is None or isinstance(attributes[\"organization\"], dict), attributes[\"organization\"]\n- self._organization = None if attributes[\"organization\"] is None else github.Organization.Organization(self._requester, attributes[\"organization\"], completed=False)\n+ self._organization = None if attributes[\"organization\"] is None else github.Organization.Organization(self._requester, self._headers, attributes[\"organization\"], completed=False)\n if \"owner\" in attributes: # pragma no branch\n assert attributes[\"owner\"] is None or isinstance(attributes[\"owner\"], dict), attributes[\"owner\"]\n- self._owner = None if attributes[\"owner\"] is None else github.NamedUser.NamedUser(self._requester, attributes[\"owner\"], completed=False)\n+ self._owner = None if attributes[\"owner\"] is None else github.NamedUser.NamedUser(self._requester, self._headers, attributes[\"owner\"], completed=False)\n if \"parent\" in attributes: # pragma no branch\n assert attributes[\"parent\"] is None or isinstance(attributes[\"parent\"], dict), attributes[\"parent\"]\n- self._parent = None if attributes[\"parent\"] is None else Repository(self._requester, attributes[\"parent\"], completed=False)\n+ self._parent = None if attributes[\"parent\"] is None else Repository(self._requester, self._headers, attributes[\"parent\"], completed=False)\n if \"permissions\" in attributes: # pragma no branch\n assert attributes[\"permissions\"] is None or isinstance(attributes[\"permissions\"], dict), attributes[\"permissions\"]\n- self._permissions = None if attributes[\"permissions\"] is None else github.Permissions.Permissions(self._requester, attributes[\"permissions\"], completed=False)\n+ self._permissions = None if attributes[\"permissions\"] is None else github.Permissions.Permissions(self._requester, self._headers, attributes[\"permissions\"], completed=False)\n if \"private\" in attributes: # pragma no branch\n assert attributes[\"private\"] is None or isinstance(attributes[\"private\"], bool), attributes[\"private\"]\n self._private = attributes[\"private\"]\n@@ -1740,7 +1673,7 @@ def _useAttributes(self, attributes):\n self._size = attributes[\"size\"]\n if \"source\" in attributes: # pragma no branch\n assert attributes[\"source\"] is None or isinstance(attributes[\"source\"], dict), attributes[\"source\"]\n- self._source = None if attributes[\"source\"] is None else Repository(self._requester, attributes[\"source\"], completed=False)\n+ self._source = None if attributes[\"source\"] is None else Repository(self._requester, self._headers, attributes[\"source\"], completed=False)\n if \"ssh_url\" in attributes: # pragma no branch\n assert attributes[\"ssh_url\"] is None or isinstance(attributes[\"ssh_url\"], (str, unicode)), attributes[\"ssh_url\"]\n self._ssh_url = attributes[\"ssh_url\"]"},{"sha":"69e1c6162f2f414f9679101b3fb29de677f7e72f","filename":"github/RepositoryKey.py","status":"modified","additions":5,"deletions":7,"changes":12,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/RepositoryKey.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/RepositoryKey.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/RepositoryKey.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Srijan Choudhary #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n@@ -33,8 +34,8 @@ class RepositoryKey(github.GithubObject.CompletableGithubObject):\n This class represents RepositoryKeys. The reference can be found here http://developer.github.com/v3/repos/keys/\n \"\"\"\n \n- def __init__(self, requester, attributes, completed, repoUrl):\n- github.GithubObject.CompletableGithubObject.__init__(self, requester, attributes, completed)\n+ def __init__(self, requester, headers, attributes, completed, repoUrl):\n+ github.GithubObject.CompletableGithubObject.__init__(self, requester, headers, attributes, completed)\n self.__repoUrl = repoUrl\n \n @property\n@@ -88,9 +89,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.__customUrl,\n- None,\n- None\n+ self.__customUrl\n )\n \n def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet):\n@@ -110,8 +109,7 @@ def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet)\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.__customUrl,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n "},{"sha":"836b776e42a3080cffc8d5f1e6959fa6414a518c","filename":"github/Requester.py","status":"modified","additions":88,"deletions":18,"changes":106,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Requester.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Requester.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Requester.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -9,6 +9,7 @@\n # Copyright 2012 Steve English #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Ed Jackson #\n # Copyright 2013 Jonathan J Hunt #\n # Copyright 2013 Mark Roddy #\n@@ -37,6 +38,7 @@\n import urllib\n import urlparse\n import sys\n+import Consts\n \n atLeastPython26 = sys.hexversion >= 0x02060000\n atLeastPython3 = sys.hexversion >= 0x03000000\n@@ -63,7 +65,66 @@ def resetConnectionClasses(cls):\n cls.__httpConnectionClass = httplib.HTTPConnection\n cls.__httpsConnectionClass = httplib.HTTPSConnection\n \n+ #############################################################\n+ # For Debug\n+ @classmethod\n+ def setDebugFlag(cls, flag):\n+ cls.DEBUG_FLAG = flag\n+\n+ @classmethod\n+ def setOnCheckMe(cls, onCheckMe):\n+ cls.ON_CHECK_ME = onCheckMe\n+\n+ DEBUG_FLAG = False\n+\n+ DEBUG_FRAME_BUFFER_SIZE = 1024\n+\n+ DEBUG_HEADER_KEY = \"DEBUG_FRAME\"\n+\n+ ON_CHECK_ME = None\n+\n+ def NEW_DEBUG_FRAME(self, requestHeader):\n+ '''\n+ Initialize a debug frame with requestHeader\n+ Frame count is updated and will be attached to respond header\n+ The structure of a frame: [requestHeader, statusCode, responseHeader, raw_data]\n+ Some of them may be None\n+ '''\n+ if self.DEBUG_FLAG: # pragma no branch (Flag always set in tests)\n+ new_frame = [requestHeader, None, None, None]\n+ if self._frameCount < self.DEBUG_FRAME_BUFFER_SIZE - 1: # pragma no branch (Should be covered)\n+ self._frameBuffer.append(new_frame)\n+ else:\n+ self._frameBuffer[0] = new_frame # pragma no cover (Should be covered)\n+\n+ self._frameCount = len(self._frameBuffer) - 1\n+\n+ def DEBUG_ON_RESPONSE(self, statusCode, responseHeader, data):\n+ '''\n+ Update current frame with response\n+ Current frame index will be attached to responseHeader\n+ '''\n+ if self.DEBUG_FLAG: # pragma no branch (Flag always set in tests)\n+ self._frameBuffer[self._frameCount][1:4] = [statusCode, responseHeader, data]\n+ responseHeader[self.DEBUG_HEADER_KEY] = self._frameCount\n+\n+ def check_me(self, obj):\n+ if self.DEBUG_FLAG and self.ON_CHECK_ME is not None: # pragma no branch (Flag always set in tests)\n+ frame = None\n+ if self.DEBUG_HEADER_KEY in obj._headers:\n+ frame_index = obj._headers[self.DEBUG_HEADER_KEY]\n+ frame = self._frameBuffer[frame_index]\n+ self.ON_CHECK_ME(obj, frame)\n+\n+ def _initializeDebugFeature(self):\n+ self._frameCount = 0\n+ self._frameBuffer = []\n+\n+ #############################################################\n+\n def __init__(self, login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page):\n+ self._initializeDebugFeature()\n+\n if password is not None:\n login = login_or_token\n if atLeastPython3:\n@@ -103,11 +164,11 @@ def __init__(self, login_or_token, password, base_url, timeout, client_id, clien\n 'See http://developer.github.com/v3/#user-agent-required'\n self.__userAgent = user_agent\n \n- def requestJsonAndCheck(self, verb, url, parameters, input):\n- return self.__check(*self.requestJson(verb, url, parameters, input))\n+ def requestJsonAndCheck(self, verb, url, parameters=None, headers=None, input=None, cnx=None):\n+ return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx))\n \n- def requestMultipartAndCheck(self, verb, url, parameters, input):\n- return self.__check(*self.requestMultipart(verb, url, parameters, input))\n+ def requestMultipartAndCheck(self, verb, url, parameters=None, headers=None, input=None):\n+ return self.__check(*self.requestMultipart(verb, url, parameters, headers, input))\n \n def __check(self, status, responseHeaders, output):\n output = self.__structuredFromJson(output)\n@@ -116,13 +177,13 @@ def __check(self, status, responseHeaders, output):\n return responseHeaders, output\n \n def __createException(self, status, output):\n- if status == 401 and output[\"message\"] == \"Bad credentials\":\n+ if status == 401 and output.get(\"message\") == \"Bad credentials\":\n cls = GithubException.BadCredentialsException\n- elif status == 403 and output[\"message\"].startswith(\"Missing or invalid User Agent string\"):\n+ elif status == 403 and output.get(\"message\").startswith(\"Missing or invalid User Agent string\"):\n cls = GithubException.BadUserAgentException\n- elif status == 403 and output[\"message\"].startswith(\"API Rate Limit Exceeded\"):\n+ elif status == 403 and output.get(\"message\").startswith(\"API Rate Limit Exceeded\"):\n cls = GithubException.RateLimitExceededException\n- elif status == 404 and output[\"message\"] == \"Not Found\":\n+ elif status == 404 and output.get(\"message\") == \"Not Found\":\n cls = GithubException.UnknownObjectException\n else:\n cls = GithubException.GithubException\n@@ -139,13 +200,13 @@ def __structuredFromJson(self, data):\n except ValueError, e:\n return {'data': data}\n \n- def requestJson(self, verb, url, parameters, input):\n+ def requestJson(self, verb, url, parameters=None, headers=None, input=None, cnx=None):\n def encode(input):\n return \"application/json\", json.dumps(input)\n \n- return self.__requestEncode(verb, url, parameters, input, encode)\n+ return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)\n \n- def requestMultipart(self, verb, url, parameters, input):\n+ def requestMultipart(self, verb, url, parameters=None, headers=None, input=None):\n def encode(input):\n boundary = \"----------------------------3c3ba8b523b2\"\n eol = \"\\r\\n\"\n@@ -159,14 +220,15 @@ def encode(input):\n encoded_input += \"--\" + boundary + \"--\" + eol\n return \"multipart/form-data; boundary=\" + boundary, encoded_input\n \n- return self.__requestEncode(verb, url, parameters, input, encode)\n+ return self.__requestEncode(None, verb, url, parameters, headers, input, encode)\n \n- def __requestEncode(self, verb, url, parameters, input, encode):\n+ def __requestEncode(self, cnx, verb, url, parameters, requestHeaders, input, encode):\n assert verb in [\"HEAD\", \"GET\", \"POST\", \"PATCH\", \"PUT\", \"DELETE\"]\n if parameters is None:\n parameters = dict()\n+ if requestHeaders is None:\n+ requestHeaders = dict()\n \n- requestHeaders = dict()\n self.__authenticate(url, requestHeaders, parameters)\n requestHeaders[\"User-Agent\"] = self.__userAgent\n \n@@ -177,7 +239,9 @@ def __requestEncode(self, verb, url, parameters, input, encode):\n if input is not None:\n requestHeaders[\"Content-Type\"], encoded_input = encode(input)\n \n- status, responseHeaders, output = self.__requestRaw(verb, url, requestHeaders, encoded_input)\n+ self.NEW_DEBUG_FRAME(requestHeaders)\n+\n+ status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)\n \n if \"x-ratelimit-remaining\" in responseHeaders and \"x-ratelimit-limit\" in responseHeaders:\n self.rate_limiting = (int(responseHeaders[\"x-ratelimit-remaining\"]), int(responseHeaders[\"x-ratelimit-limit\"]))\n@@ -187,10 +251,16 @@ def __requestEncode(self, verb, url, parameters, input, encode):\n if \"x-oauth-scopes\" in responseHeaders:\n self.oauth_scopes = responseHeaders[\"x-oauth-scopes\"].split(\", \")\n \n+ self.DEBUG_ON_RESPONSE(status, responseHeaders, output)\n+\n return status, responseHeaders, output\n \n- def __requestRaw(self, verb, url, requestHeaders, input):\n- cnx = self.__createConnection()\n+ def __requestRaw(self, cnx, verb, url, requestHeaders, input):\n+ if cnx is None:\n+ cnx = self.__createConnection()\n+ else:\n+ assert cnx == \"status\"\n+ cnx = self.__httpsConnectionClass(\"status.github.com\", 443)\n cnx.request(\n verb,\n url,\n@@ -244,7 +314,7 @@ def __createConnection(self):\n kwds[\"strict\"] = True # Useless in Python3, would generate a deprecation warning\n if atLeastPython26: # pragma no branch (Branch useful only with Python 2.5)\n kwds[\"timeout\"] = self.__timeout # Did not exist before Python2.6\n- return self.__connectionClass(host=self.__hostname, port=self.__port, **kwds)\n+ return self.__connectionClass(self.__hostname, self.__port, **kwds)\n \n def __log(self, verb, url, requestHeaders, input, status, responseHeaders, output):\n logger = logging.getLogger(__name__)"},{"sha":"6c117241297b8cc312ef45fa6240453e35ca36ed","filename":"github/Status.py","status":"added","additions":56,"deletions":0,"changes":56,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Status.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Status.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Status.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,56 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 Vincent Jacques #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+import github.GithubObject\n+\n+\n+class Status(github.GithubObject.NonCompletableGithubObject):\n+ \"\"\"\n+ This class represents status as defined in https://status.github.com/api\n+ \"\"\"\n+\n+ @property\n+ def status(self):\n+ \"\"\"\n+ :type: string\n+ \"\"\"\n+ return self._NoneIfNotSet(self._status)\n+\n+ @property\n+ def last_updated(self):\n+ \"\"\"\n+ :type: datetime.datetime\n+ \"\"\"\n+ return self._NoneIfNotSet(self._last_updated)\n+\n+ def _initAttributes(self):\n+ self._status = github.GithubObject.NotSet\n+ self._last_updated = github.GithubObject.NotSet\n+\n+ def _useAttributes(self, attributes):\n+ if \"status\" in attributes: # pragma no branch\n+ assert attributes[\"status\"] is None or isinstance(attributes[\"status\"], (str, unicode)), attributes[\"status\"]\n+ self._status = attributes[\"status\"]\n+ if \"last_updated\" in attributes: # pragma no branch\n+ assert attributes[\"last_updated\"] is None or isinstance(attributes[\"last_updated\"], (str, unicode)), attributes[\"last_updated\"]\n+ self._last_updated = self._parseDatetime(attributes[\"last_updated\"])"},{"sha":"266e1b05cc4f1b1298b6f56eae34e58ad9be871e","filename":"github/StatusMessage.py","status":"added","additions":66,"deletions":0,"changes":66,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/StatusMessage.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/StatusMessage.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/StatusMessage.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,66 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 Vincent Jacques #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+import github.GithubObject\n+\n+\n+class StatusMessage(github.GithubObject.NonCompletableGithubObject):\n+ \"\"\"\n+ This class represents status messages as defined in https://status.github.com/api\n+ \"\"\"\n+\n+ @property\n+ def body(self):\n+ \"\"\"\n+ :type: string\n+ \"\"\"\n+ return self._NoneIfNotSet(self._body)\n+\n+ @property\n+ def status(self):\n+ \"\"\"\n+ :type: string\n+ \"\"\"\n+ return self._NoneIfNotSet(self._status)\n+\n+ @property\n+ def created_on(self):\n+ \"\"\"\n+ :type: datetime.datetime\n+ \"\"\"\n+ return self._NoneIfNotSet(self._created_on)\n+\n+ def _initAttributes(self):\n+ self._status = github.GithubObject.NotSet\n+ self._created_on = github.GithubObject.NotSet\n+\n+ def _useAttributes(self, attributes):\n+ if \"body\" in attributes: # pragma no branch\n+ assert attributes[\"body\"] is None or isinstance(attributes[\"body\"], (str, unicode)), attributes[\"body\"]\n+ self._body = attributes[\"body\"]\n+ if \"status\" in attributes: # pragma no branch\n+ assert attributes[\"status\"] is None or isinstance(attributes[\"status\"], (str, unicode)), attributes[\"status\"]\n+ self._status = attributes[\"status\"]\n+ if \"created_on\" in attributes: # pragma no branch\n+ assert attributes[\"created_on\"] is None or isinstance(attributes[\"created_on\"], (str, unicode)), attributes[\"created_on\"]\n+ self._created_on = self._parseDatetime(attributes[\"created_on\"])"},{"sha":"890c1a02366be9fd71e36b90084c7dbd624eb2c0","filename":"github/Tag.py","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Tag.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Tag.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Tag.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -71,7 +72,7 @@ def _initAttributes(self):\n def _useAttributes(self, attributes):\n if \"commit\" in attributes: # pragma no branch\n assert attributes[\"commit\"] is None or isinstance(attributes[\"commit\"], dict), attributes[\"commit\"]\n- self._commit = None if attributes[\"commit\"] is None else github.Commit.Commit(self._requester, attributes[\"commit\"], completed=False)\n+ self._commit = None if attributes[\"commit\"] is None else github.Commit.Commit(self._requester, self._headers, attributes[\"commit\"], completed=False)\n if \"name\" in attributes: # pragma no branch\n assert attributes[\"name\"] is None or isinstance(attributes[\"name\"], (str, unicode)), attributes[\"name\"]\n self._name = attributes[\"name\"]"},{"sha":"9b687d8027104bcccf49f6b23d129b94cd963eec","filename":"github/Team.py","status":"modified","additions":9,"deletions":23,"changes":32,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/Team.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/Team.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/Team.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -93,9 +94,7 @@ def add_to_members(self, member):\n assert isinstance(member, github.NamedUser.NamedUser), member\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- self.url + \"/members/\" + member._identity,\n- None,\n- None\n+ self.url + \"/members/\" + member._identity\n )\n \n def add_to_repos(self, repo):\n@@ -107,9 +106,7 @@ def add_to_repos(self, repo):\n assert isinstance(repo, github.Repository.Repository), repo\n headers, data = self._requester.requestJsonAndCheck(\n \"PUT\",\n- self.url + \"/repos/\" + repo._identity,\n- None,\n- None\n+ self.url + \"/repos/\" + repo._identity\n )\n \n def delete(self):\n@@ -119,9 +116,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, name, permission=github.GithubObject.NotSet):\n@@ -141,8 +136,7 @@ def edit(self, name, permission=github.GithubObject.NotSet):\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n \n@@ -179,9 +173,7 @@ def has_in_members(self, member):\n assert isinstance(member, github.NamedUser.NamedUser), member\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/members/\" + member._identity,\n- None,\n- None\n+ self.url + \"/members/\" + member._identity\n )\n return status == 204\n \n@@ -194,9 +186,7 @@ def has_in_repos(self, repo):\n assert isinstance(repo, github.Repository.Repository), repo\n status, headers, data = self._requester.requestJson(\n \"GET\",\n- self.url + \"/repos/\" + repo._identity,\n- None,\n- None\n+ self.url + \"/repos/\" + repo._identity\n )\n return status == 204\n \n@@ -209,9 +199,7 @@ def remove_from_members(self, member):\n assert isinstance(member, github.NamedUser.NamedUser), member\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/members/\" + member._identity,\n- None,\n- None\n+ self.url + \"/members/\" + member._identity\n )\n \n def remove_from_repos(self, repo):\n@@ -223,9 +211,7 @@ def remove_from_repos(self, repo):\n assert isinstance(repo, github.Repository.Repository), repo\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url + \"/repos/\" + repo._identity,\n- None,\n- None\n+ self.url + \"/repos/\" + repo._identity\n )\n \n @property"},{"sha":"9ca0133be4c77ff5720473de5618c97312d6d7e5","filename":"github/UserKey.py","status":"modified","additions":3,"deletions":5,"changes":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/UserKey.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/UserKey.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/UserKey.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # Copyright 2013 martinqt #\n # #\n@@ -79,9 +80,7 @@ def delete(self):\n \"\"\"\n headers, data = self._requester.requestJsonAndCheck(\n \"DELETE\",\n- self.url,\n- None,\n- None\n+ self.url\n )\n \n def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet):\n@@ -101,8 +100,7 @@ def edit(self, title=github.GithubObject.NotSet, key=github.GithubObject.NotSet)\n headers, data = self._requester.requestJsonAndCheck(\n \"PATCH\",\n self.url,\n- None,\n- post_parameters\n+ input=post_parameters\n )\n self._useAttributes(data)\n "},{"sha":"4ddefece6ae21f29c76934cbd1ed7f122907ec1e","filename":"github/tests/AllTests.py","status":"modified","additions":4,"deletions":0,"changes":4,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/AllTests.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/AllTests.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/AllTests.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -56,6 +56,7 @@\n from RateLimiting import *\n from Repository import *\n from RepositoryKey import *\n+from Status import *\n from Tag import *\n from Team import *\n from UserKey import *\n@@ -79,3 +80,6 @@\n # from Issue142 import * # Deactivated for Travis-CI because Github has lowered the rate limitations\n from Issue158 import *\n from Issue174 import *\n+\n+from ConditionalRequestUpdate import ConditionalRequestUpdate\n+from Persistence import Persistence"},{"sha":"bfd3f87df527126bffa6c10c78cbb7d790e54542","filename":"github/tests/ConditionalRequestUpdate.py","status":"added","additions":43,"deletions":0,"changes":43,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ConditionalRequestUpdate.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ConditionalRequestUpdate.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ConditionalRequestUpdate.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,43 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 AKFish #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+# #193: Line endings should be linux style\n+\n+import Framework\n+import github\n+\n+\n+class ConditionalRequestUpdate(Framework.TestCase):\n+ def setUp(self):\n+ Framework.TestCase.setUp(self)\n+ self.repo = self.g.get_repo(\"akfish/PyGithub\")\n+\n+ def testDidNotUpdate(self):\n+ self.assertFalse(self.repo.update(), msg=\"The repo is not changes. But update() != False\")\n+\n+ def testDidUpdate(self):\n+ self.assertTrue(self.repo.update(), msg=\"The repo should be changed by now. But update() != True\")\n+\n+ def testUpdateObjectWithoutEtag(self):\n+ r = self.g.get_repo(\"jacquev6/PyGithub\")\n+ self.assertTrue(r.update())"},{"sha":"24e814b49afae222e8ac8a79ee5696166a76abc1","filename":"github/tests/Framework.py","status":"modified","additions":17,"deletions":0,"changes":17,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Framework.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Framework.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/Framework.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -4,6 +4,7 @@\n # #\n # Copyright 2012 Vincent Jacques #\n # Copyright 2012 Zearin #\n+# Copyright 2013 AKFish #\n # Copyright 2013 Vincent Jacques #\n # #\n # This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n@@ -244,8 +245,24 @@ def assertListKeyBegin(self, elements, key, expectedKeys):\n \n \n class TestCase(BasicTestCase):\n+ def doCheckFrame(self, obj, frame):\n+ if obj._headers == {} and frame is None:\n+ return\n+ if obj._headers is None and frame == {}:\n+ return\n+ self.assertEqual(obj._headers, frame[2])\n+\n+ def getFrameChecker(self):\n+ return lambda requester, obj, frame: self.doCheckFrame(obj, frame)\n+\n def setUp(self):\n BasicTestCase.setUp(self)\n+\n+ # Set up frame debugging\n+ github.GithubObject.GithubObject.setCheckAfterInitFlag(True)\n+ github.Requester.Requester.setDebugFlag(True)\n+ github.Requester.Requester.setOnCheckMe(self.getFrameChecker())\n+\n self.g = github.Github(self.login, self.password)\n \n "},{"sha":"d74dbac39717bba9476ca39070f6f0beced70578","filename":"github/tests/Gist.py","status":"modified","additions":4,"deletions":4,"changes":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Gist.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Gist.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/Gist.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -108,12 +108,12 @@ def testStarring(self):\n self.assertFalse(self.gist.is_starred())\n \n def testFork(self):\n- gist = self.g.get_gist(\"2729818\") # Random gist\n+ gist = self.g.get_gist(\"6296553\") # Random gist\n myGist = gist.create_fork()\n- self.assertEqual(myGist.id, \"2729865\")\n+ self.assertEqual(myGist.id, \"6296732\")\n self.assertEqual(myGist.fork_of, None) # WTF\n- sameGist = self.g.get_gist(\"2729865\")\n- self.assertEqual(sameGist.fork_of.id, \"2729818\")\n+ sameGist = self.g.get_gist(\"6296732\")\n+ self.assertEqual(sameGist.fork_of.id, \"6296553\")\n \n def testDelete(self):\n self.gist.delete()"},{"sha":"dec6a80595e541d50720527d16f752d44ef4acf3","filename":"github/tests/Github_.py","status":"modified","additions":6,"deletions":0,"changes":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Github_.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Github_.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/Github_.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -128,3 +128,9 @@ def testGetUsers(self):\n \n def testGetUsersSince(self):\n self.assertListKeyBegin(self.g.get_users(since=1000), lambda u: u.login, [\"sbecker\"])\n+\n+ def testGetRepos(self):\n+ self.assertListKeyBegin(self.g.get_repos(), lambda r: r.name, [\"grit\", \"merb-core\", \"rubinius\", \"god\", \"jsawesome\", \"jspec\", \"exception_logger\", \"ambition\"])\n+\n+ def testGetReposSince(self):\n+ self.assertListKeyBegin(self.g.get_repos(since=1000), lambda r: r.name, [\"jquery-humanize-messages-plugin\", \"4slicer\", \"fixture-scenarios\", \"mongrel_proctitle\", \"rails-plugins\"])"},{"sha":"5a56bd195039b7f2077fa19952af9bcb5f6c95d1","filename":"github/tests/NamedUser.py","status":"modified","additions":4,"deletions":0,"changes":4,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/NamedUser.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/NamedUser.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/NamedUser.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -109,6 +109,10 @@ def testGetFollowers(self):\n def testGetFollowing(self):\n self.assertListKeyEqual(self.user.get_following(), lambda f: f.login, [\"nvie\", \"schacon\", \"jamis\", \"chad\", \"unclebob\", \"dabrahams\", \"jnorthrup\", \"brugidou\", \"regisb\", \"walidk\", \"tanzilli\", \"fjardon\", \"r3c\", \"sdanzan\", \"vineus\", \"cjuniet\", \"gturri\", \"ant9000\", \"asquini\", \"claudyus\", \"jardon-u\", \"s-bernard\", \"kamaradclimber\", \"Lyloa\"])\n \n+ def testHasInFollowing(self):\n+ nvie = self.g.get_user(\"nvie\")\n+ self.assertTrue(self.user.has_in_following(nvie))\n+\n def testGetOrgs(self):\n self.assertListKeyEqual(self.user.get_orgs(), lambda o: o.login, [\"BeaverSoftware\"])\n "},{"sha":"300e91744c7c62d950b6e5eb91ea8e697b3f570b","filename":"github/tests/Persistence.py","status":"added","additions":55,"deletions":0,"changes":55,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Persistence.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Persistence.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/Persistence.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,55 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 Vincent Jacques #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+import Framework\n+import github\n+\n+if Framework.atLeastPython26:\n+ from io import BytesIO as IO\n+else:\n+ from StringIO import StringIO as IO\n+\n+\n+class Persistence(Framework.TestCase):\n+ def setUp(self):\n+ Framework.TestCase.setUp(self)\n+ self.repo = self.g.get_repo(\"akfish/PyGithub\")\n+\n+ self.dumpedRepo = IO()\n+ self.g.dump(self.repo, self.dumpedRepo)\n+ self.dumpedRepo.seek(0)\n+\n+ def tearDown(self):\n+ self.dumpedRepo.close()\n+\n+ def testLoad(self):\n+ loadedRepo = self.g.load(self.dumpedRepo)\n+ self.assertTrue(isinstance(loadedRepo, github.Repository.Repository))\n+ self.assertTrue(loadedRepo._requester is self.repo._requester)\n+ self.assertTrue(loadedRepo.owner._requester is self.repo._requester)\n+ self.assertEqual(loadedRepo.name, \"PyGithub\")\n+ self.assertEqual(loadedRepo.url, \"https://api.github.com/repos/akfish/PyGithub\")\n+\n+ def testLoadAndUpdate(self):\n+ loadedRepo = self.g.load(self.dumpedRepo)\n+ self.assertTrue(loadedRepo.update())"},{"sha":"dfc62ba258a155c9b40432ec67a51b8b8822ec73","filename":"github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/ConditionalRequestUpdate.setUp.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+api.github.com\n+None\n+/repos/akfish/PyGithub\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13698'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"8600bedcb7fed1d8065e1693e05529ce\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:08 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')]\n+{\"id\":12156762,\"name\":\"PyGithub\",\"full_name\":\"akfish/PyGithub\",\"owner\":{\"login\":\"akfish\",\"id\":922715,\"avatar_url\":\"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png\",\"gravatar_id\":\"12a1b44d4e5c19cee59618084602b112\",\"url\":\"https://api.github.com/users/akfish\",\"html_url\":\"https://github.com/akfish\",\"followers_url\":\"https://api.github.com/users/akfish/followers\",\"following_url\":\"https://api.github.com/users/akfish/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/akfish/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/akfish/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/akfish/subscriptions\",\"organizations_url\":\"https://api.github.com/users/akfish/orgs\",\"repos_url\":\"https://api.github.com/users/akfish/repos\",\"events_url\":\"https://api.github.com/users/akfish/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/akfish/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/akfish/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":true,\"url\":\"https://api.github.com/repos/akfish/PyGithub\",\"forks_url\":\"https://api.github.com/repos/akfish/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/akfish/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/akfish/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/akfish/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/akfish/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/akfish/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/akfish/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/akfish/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/akfish/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/akfish/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/akfish/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/akfish/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/akfish/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/akfish/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/akfish/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/akfish/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/akfish/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/akfish/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/akfish/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/akfish/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/akfish/PyGithub/labels{/name}\",\"created_at\":\"2013-08-16T10:56:11Z\",\"updated_at\":\"2013-08-22T02:09:11Z\",\"pushed_at\":\"2013-08-22T02:09:09Z\",\"git_url\":\"git://github.com/akfish/PyGithub.git\",\"ssh_url\":\"git@github.com:akfish/PyGithub.git\",\"clone_url\":\"https://github.com/akfish/PyGithub.git\",\"svn_url\":\"https://github.com/akfish/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":6736,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"master_branch\":\"master\",\"default_branch\":\"master\",\"permissions\":{\"admin\":true,\"push\":true,\"pull\":true},\"network_count\":70,\"parent\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"},\"source\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"}}\n+"},{"sha":"025aee8c0f6dea08b255b2229fd018af435b9d2a","filename":"github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/ConditionalRequestUpdate.testDidNotUpdate.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+api.github.com\n+None\n+/repos/akfish/PyGithub\n+{'If-None-Match': '\"8600bedcb7fed1d8065e1693e05529ce\"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'}\n+null\n+304\n+[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4988'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"8600bedcb7fed1d8065e1693e05529ce\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:10 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1377140429')]\n+\n+"},{"sha":"b6d8aeec9b3c663cfe561eb2513a514f10011673","filename":"github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/ConditionalRequestUpdate.testDidUpdate.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+api.github.com\n+None\n+/repos/akfish/PyGithub\n+{'If-None-Match': '\"8600bedcb7fed1d8065e1693e05529ce\"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'}\n+null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13712'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:14:54 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"ef281ef0e821c18f80da36902727160b\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:15:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')]\n+{\"id\":12156762,\"name\":\"PyGithub\",\"full_name\":\"akfish/PyGithub\",\"owner\":{\"login\":\"akfish\",\"id\":922715,\"avatar_url\":\"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png\",\"gravatar_id\":\"12a1b44d4e5c19cee59618084602b112\",\"url\":\"https://api.github.com/users/akfish\",\"html_url\":\"https://github.com/akfish\",\"followers_url\":\"https://api.github.com/users/akfish/followers\",\"following_url\":\"https://api.github.com/users/akfish/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/akfish/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/akfish/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/akfish/subscriptions\",\"organizations_url\":\"https://api.github.com/users/akfish/orgs\",\"repos_url\":\"https://api.github.com/users/akfish/repos\",\"events_url\":\"https://api.github.com/users/akfish/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/akfish/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/akfish/PyGithub\",\"description\":\"Python library implementing the full Github API v3 - AKFish Fork\",\"fork\":true,\"url\":\"https://api.github.com/repos/akfish/PyGithub\",\"forks_url\":\"https://api.github.com/repos/akfish/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/akfish/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/akfish/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/akfish/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/akfish/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/akfish/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/akfish/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/akfish/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/akfish/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/akfish/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/akfish/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/akfish/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/akfish/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/akfish/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/akfish/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/akfish/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/akfish/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/akfish/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/akfish/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/akfish/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/akfish/PyGithub/labels{/name}\",\"created_at\":\"2013-08-16T10:56:11Z\",\"updated_at\":\"2013-08-22T02:14:54Z\",\"pushed_at\":\"2013-08-22T02:09:09Z\",\"git_url\":\"git://github.com/akfish/PyGithub.git\",\"ssh_url\":\"git@github.com:akfish/PyGithub.git\",\"clone_url\":\"https://github.com/akfish/PyGithub.git\",\"svn_url\":\"https://github.com/akfish/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":6736,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"master_branch\":\"master\",\"default_branch\":\"master\",\"permissions\":{\"admin\":true,\"push\":true,\"pull\":true},\"network_count\":70,\"parent\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"},\"source\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"}}\n+"},{"sha":"6ef154b5c89fc41728599711ada9ac0aa8d36959","filename":"github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt","status":"added","additions":22,"deletions":0,"changes":22,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/ConditionalRequestUpdate.testUpdateObjectWithoutEtag.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,22 @@\n+https\r\n+GET\r\n+api.github.com\r\n+None\r\n+/repos/jacquev6/PyGithub\r\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\r\n+null\r\n+200\r\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n+{\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"has_downloads\":true,\"watchers\":15,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-27T06:55:28Z\",\"permissions\":{\"pull\":true,\"admin\":true,\"push\":true},\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"mirror_url\":null,\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":3,\"size\":308,\"private\":false,\"open_issues\":16,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"language\":\"Python\",\"description\":\"Python library implementing the full Github API v3\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"pushed_at\":\"2012-05-27T06:00:28Z\",\"created_at\":\"2012-02-25T12:53:47Z\",\"id\":3544490,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"full_name\":\"jacquev6/PyGithub\"}\r\n+\r\n+https\r\n+GET\r\n+api.github.com\r\n+None\r\n+/repos/jacquev6/PyGithub\r\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\r\n+null\r\n+200\r\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n+{\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"has_downloads\":true,\"watchers\":15,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-27T06:55:28Z\",\"permissions\":{\"pull\":true,\"admin\":true,\"push\":true},\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"mirror_url\":null,\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":3,\"size\":308,\"private\":false,\"open_issues\":16,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"language\":\"Python\",\"description\":\"Python library implementing the full Github API v3\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"pushed_at\":\"2012-05-27T06:00:28Z\",\"created_at\":\"2012-02-25T12:53:47Z\",\"id\":3544490,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"full_name\":\"jacquev6/PyGithub\"}\r\n+\r"},{"sha":"0589aa6c8958061fa31f388fd9d737750bdac50a","filename":"github/tests/ReplayData/Gist.testFork.txt","status":"modified","additions":9,"deletions":9,"changes":18,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Gist.testFork.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Gist.testFork.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Gist.testFork.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -2,32 +2,32 @@ https\n GET\n api.github.com\n None\n-/gists/2729818\n+/gists/6296553\n {'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2576'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fda4eb92e9b9a245bccf9efd47857766\"'), ('date', 'Sat, 19 May 2012 07:25:30 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"git_push_url\":\"git@gist.github.com:2729818.git\",\"updated_at\":\"2012-05-19T07:06:08Z\",\"forks\":[],\"url\":\"https://api.github.com/gists/2729818\",\"comments\":0,\"public\":true,\"files\":{\"ror.markdown\":{\"type\":\"text/plain\",\"raw_url\":\"https://gist.github.com/raw/2729818/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown\",\"size\":1076,\"filename\":\"ror.markdown\",\"content\":\"## create user\\n\\nsudo useradd -m username\\nvisudo\\n\\n## delete default user\\n\\nsudo userdel ubuntu\\nsudo rm -Rf ubuntu\\n\\n## setup ssh\\n\\nmkdir ~/.ssh\\nvi /etc/ssh/authorized_keys\\nsudo vi /etc/ssh/sshd_config\\n\\n\\n## install packages\\n\\nsudo apt-get update\\n\\nsudo apt-get install sysv-rc-init git-core apache2-utils wget vim\\nsudo apt-get install mysql-client mysql-server libmysqld-dev\\nsudo apt-get install g++ openssl zlib1g readline-common libyaml-dev libssl-dev zlib1g-dev libxml2-dev libxslt1-dev libjson0-dev libgcc1 libreadline-dev\\n\\n\\n## install nginx\\n\\nwget http://nginx.org/keys/nginx_signing.key\\nsudo apt-key add nginx_signing.key\\n\\n### add /etc/sources.list\\n> \\\"deb http://nginx.org/packages/ubuntu/ lucid nginx\\ndeb-src http://nginx.org/packages/ubuntu/ lucid nginx\\\"\\n\\napt-get update\\napt-get install nginx\\n\\n\\n## setup system\\n\\nsudo sysv-rc-init\\n\\n\\n## install ruby\\n\\ncd /usr/local/src\\nsudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz\\nsudo tar zxvf ruby-1.9.3-p194.tar.gz\\ncd ruby-1.9.3-p194\\nsudo ./configure\\nsudo make && make install\\n\\n\\n## install RoR\\n\\nsudo gem install rails\",\"language\":\"Markdown\"}},\"html_url\":\"https://gist.github.com/2729818\",\"user\":{\"url\":\"https://api.github.com/users/Kechol\",\"gravatar_id\":\"f2a6400b393749ccd9ad3f24d4995f77\",\"login\":\"Kechol\",\"avatar_url\":\"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":625489},\"description\":\"RoR setup in AWS EC2(Ubuntu 12.04 LTS)\",\"created_at\":\"2012-05-19T07:06:08Z\",\"git_pull_url\":\"git://gist.github.com/2729818.git\",\"id\":\"2729818\",\"history\":[{\"url\":\"https://api.github.com/gists/2729818/a655d19a12233e5e5615deb714eae95c433eed57\",\"version\":\"a655d19a12233e5e5615deb714eae95c433eed57\",\"change_status\":{\"deletions\":0,\"additions\":57,\"total\":57},\"committed_at\":\"2012-05-19T07:06:08Z\",\"user\":{\"url\":\"https://api.github.com/users/Kechol\",\"gravatar_id\":\"f2a6400b393749ccd9ad3f24d4995f77\",\"login\":\"Kechol\",\"avatar_url\":\"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":625489}}]}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '25285'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:26:50 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"b96b3895f5da8f5e9533f0db72748a49\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 16:28:20 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377104997')]\n+{\"url\":\"https://api.github.com/gists/6296553\",\"forks_url\":\"https://api.github.com/gists/6296553/forks\",\"commits_url\":\"https://api.github.com/gists/6296553/commits\",\"id\":\"6296553\",\"git_pull_url\":\"https://gist.github.com/6296553.git\",\"git_push_url\":\"https://gist.github.com/6296553.git\",\"html_url\":\"https://gist.github.com/6296553\",\"files\":{\"GithubAPI.lua\":{\"filename\":\"GithubAPI.lua\",\"type\":\"text/plain\",\"language\":\"Lua\",\"raw_url\":\"https://gist.github.com/raw/6296553/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua\",\"size\":21229,\"content\":\"-- GithubAPI\\n-- @Author : Hyro Vitaly Protago\\n-- @Version : 1.0.0\\n\\n--[[\\n\\nINFOS :\\n - Cannot delete an anonymous gist\\n]]--\\n\\nGithubAPI = {\\n\\tlocation = \\\"https://api.github.com/\\\",\\n\\ttoken = nil,\\n\\tOAuth = {\\n\\t\\tauthorizations = {}\\n\\t},\\n\\tgist = {\\n\\t\\tlist = {},\\n\\t\\tcomment = {}\\n\\t},\\n\\tgithub = {}\\n}\\n\\n----------------------------------------------------------------------------\\n------------------------------ Github API ----------------------------------\\n----------------------------------------------------------------------------\\n\\n--- Authentication ---\\n\\n--[[ Scopes --\\n\\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\\nThey do not grant any additional permission beyond that which the user already has.\\n\\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\\n\\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\\n\\n~~~\\n$ curl -H \\\"Authorization: token OAUTH-TOKEN\\\" https://api.github.com/users/technoweenie -I\\nHTTP/1.1 200 OK\\nX-OAuth-Scopes: repo, user\\nX-Accepted-OAuth-Scopes: user\\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\\n~~~\\n\\n- (no scope)\\npublic read-only access (includes public user profile info, public repo info, and gists).\\n- user\\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\\n- user:email\\nRead access to a user’s email addresses.\\n- user:follow\\nAccess to follow or unfollow other users.\\n- public_repo\\nRead/write access to public repos and organizations.\\n- repo\\nRead/write access to public and private repos and organizations.\\n- repo:status\\nRead/write access to public and private repository commit statuses.\\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\\n- delete_repo\\nDelete access to adminable repositories.\\n- notifications\\nRead access to a user’s notifications. repo is accepted too.\\n- gist\\nWrite access to gists.\\n\\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\\n~~~\\nhttps://github.com/login/oauth/authorize?\\n client_id=...&\\n scope=user,public_repo\\n~~~\\n]]--\\n\\n-- Redirect users to request GitHub access --\\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\\n\\tGithubAPI.http_request(\\\"https://github.com/login/oauth/authorize?client_id=\\\"..client_id..\\\"&scope=\\\"..scope, function(data, status, headers)\\n\\t\\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\\n\\tend, nil, true)\\nend\\n-- GitHub redirects back to your site --\\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\\n\\tGithubAPI.http_request(\\\"https://github.com/login/oauth/access_token\\\", callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tclient_id = client_id,\\n\\t\\t\\tclient_secret = client_secret,\\n\\t\\t\\tcode = code\\n\\t\\t}\\n\\t}, true)\\nend\\n\\n-- List your authorizations --\\nfunction GithubAPI.OAuth.authorizations.list(callback)\\n\\tGithubAPI.http_request(\\\"authorizations\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nLink: ; rel=\\\"next\\\",\\n ; rel=\\\"last\\\"\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single authorization --\\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\\n\\tGithubAPI.http_request(\\\"authorizations/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n}\\n]]--\\n\\n-- Create a new authorization --\\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\\n\\tGithubAPI.http_request(\\\"authorizations/\\\", callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tscopes = scopes,\\n\\t\\t\\tnote = note,\\n\\t\\t\\tnote_url = note_url,\\n\\t\\t\\tclient_id = client_id,\\n\\t\\t\\tclient_secret = client_secret\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\nscopes\\nOptional array - A list of scopes that this authorization is in.\\n\\nnote\\nOptional string - A note to remind you what the OAuth token is for.\\n\\nnote_url\\nOptional string - A URL to remind you what app the OAuth token is for.\\n\\nclient_id\\nOptional String - The 20 character OAuth app client key for which to create the token.\\n\\nclient_secret\\nOptional String - The 40 character OAuth app client secret for which to create the token.\\n~~~\\n{\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"note\\\": \\\"admin script\\\"\\n}\\n~~~\\n]]--\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/authorizations/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n}\\n]]--\\n\\n-- TODO\\n-- Update\\n-- Check\\n-- Delete\\n\\n--- GISTS ---\\n\\n-- List gists --\\nfunction GithubAPI.gist.list.user(user, callback)\\n\\tGithubAPI.http_request(\\\"users/\\\"..user..\\\"/gists\\\", callback)\\nend\\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\\n\\tGithubAPI.http_request(\\\"gists\\\", callback)\\nend\\nfunction GithubAPI.gist.list.allPublic(callback)\\n\\tGithubAPI.http_request(\\\"gists/public\\\", callback)\\nend\\nfunction GithubAPI.gist.list.starred(callback)\\n\\tGithubAPI.http_request(\\\"gists/starred\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nLink: ; rel=\\\"next\\\",\\n ; rel=\\\"last\\\"\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single gist --\\nfunction GithubAPI.gist.get(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Create a gist --\\nfunction GithubAPI.gist.create(public, files, callback ,description)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tpublic = public,\\n\\t\\t\\tfiles = files,\\n\\t\\t\\tdescription = description\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"description\\\": \\\"the description for this gist\\\",\\n \\\"public\\\": true,\\n \\\"files\\\": {\\n \\\"file1.txt\\\": {\\n \\\"content\\\": \\\"String file contents\\\"\\n }\\n }\\n}\\n]]--\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Edit a gist --\\nfunction GithubAPI.gist.edit(id, files, callback, description)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {\\n\\t\\tmethod = \\\"PATCH\\\",\\n\\t\\tdata = {\\n\\t\\t\\tid = id,\\n\\t\\t\\tfiles = files,\\n\\t\\t\\tdescription = description\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"description\\\": \\\"the description for this gist\\\",\\n \\\"files\\\": {\\n \\\"file1.txt\\\": {\\n \\\"content\\\": \\\"updated file contents\\\"\\n },\\n \\\"old_name.txt\\\": {\\n \\\"filename\\\": \\\"new_name.txt\\\",\\n \\\"content\\\": \\\"modified contents\\\"\\n },\\n \\\"new_file.txt\\\": {\\n \\\"content\\\": \\\"a new file\\\"\\n },\\n \\\"delete_this_file.txt\\\": null\\n }\\n}\\n]]--\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Star a gist --\\nfunction GithubAPI.gist.star(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback, {method=\\\"PUT\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Unstar a gist --\\nfunction GithubAPI.gist.unstar(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback, {method=\\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Check if a gist is starred --\\nfunction GithubAPI.gist.checkStar(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback)\\nend\\n\\n--[[\\n-- Response if gist is starred --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n\\n-- Response if gist is not starred --\\nStatus: 404 Not Found\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Fork a gist --\\nfunction GithubAPI.gist.fork(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/forks\\\", callback, {method=\\\"POST\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/2\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n}\\n]]--\\n\\n-- Delete a gist --\\nfunction GithubAPI.gist.delete(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {method=\\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n--- GISTS COMMENTS ---\\n\\n-- List comments on a gist --\\nfunction GithubAPI.gist.comment.list(gist_id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single comment --\\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Create a comment --\\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tbody = body\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\"\\n}\\n]]--\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/comments/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Edit a comment --\\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {\\n\\t\\tmethod = \\\"PATCH\\\",\\n\\t\\tdata = {\\n\\t\\t\\tbody = body\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\"\\n}\\n]]--\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Delete a comment --\\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {method = \\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n----------------------------------------------------------------------------\\n-------------------------------- TOOLS -------------------------------------\\n----------------------------------------------------------------------------\\n\\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\\n\\topts = opts or {}\\n\\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\\n\\tif opts.data then opts.data = json.encode(opts.data) end\\n\\n\\tlocal _url\\n\\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\\n\\n\\thttp.request(_url, function(data, status, headers)\\n\\t\\tif (status == 500) then error(\\\"Github: Internal Server Error ...\\\") end\\n\\t\\tdata = json.decode(data)\\n\\t\\tcallback(data, status, headers)\\n\\tend, alert, opts)\\nend\\n\\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\\n if (div=='') then return false end\\n local pos,arr = 0,{}\\n for st,sp in function() return string.find(str,div,pos,true) end do\\n table.insert(arr,string.sub(str,pos,st-1))\\n pos = sp + 1\\n end\\n table.insert(arr,string.sub(str,pos))\\n return arr\\nend\\n\\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\\nfunction GithubAPI.gtimestamp(githubTime)\\n\\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\\n\\tgithubTime = GithubAPI.explode(\\\"T\\\", githubTime)\\n\\tgithubTime[1] = GithubAPI.explode(\\\"-\\\", githubTime[1])\\n\\tgithubTime[2] = GithubAPI.explode(\\\":\\\", githubTime[2])\\n\\treturn os.time({\\n\\t\\tyear = tonumber(githubTime[1][1]),\\n\\t\\tmonth = tonumber(githubTime[1][2]),\\n\\t\\tday = tonumber(githubTime[1][3]),\\n\\t\\thour = tonumber(githubTime[2][1]),\\n\\t\\tmin = tonumber(githubTime[2][2]),\\n\\t\\tsec = tonumber(githubTime[2][3])\\n\\t})\\nend\"}},\"public\":true,\"created_at\":\"2013-08-21T16:12:27Z\",\"updated_at\":\"2013-08-21T16:26:50Z\",\"description\":\"Github API\",\"comments\":0,\"user\":{\"login\":\"HyroVitalyProtago\",\"id\":3470988,\"avatar_url\":\"https://2.gravatar.com/avatar/ed59562b231a649345f38703948f76f4?d=https%3A%2F%2Fidenticons.github.com%2F6582cb986b7a730b12f7c18dfcc865f0.png\",\"gravatar_id\":\"ed59562b231a649345f38703948f76f4\",\"url\":\"https://api.github.com/users/HyroVitalyProtago\",\"html_url\":\"https://github.com/HyroVitalyProtago\",\"followers_url\":\"https://api.github.com/users/HyroVitalyProtago/followers\",\"following_url\":\"https://api.github.com/users/HyroVitalyProtago/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/HyroVitalyProtago/subscriptions\",\"organizations_url\":\"https://api.github.com/users/HyroVitalyProtago/orgs\",\"repos_url\":\"https://api.github.com/users/HyroVitalyProtago/repos\",\"events_url\":\"https://api.github.com/users/HyroVitalyProtago/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/HyroVitalyProtago/received_events\",\"type\":\"User\"},\"comments_url\":\"https://api.github.com/gists/6296553/comments\",\"forks\":[],\"history\":[{\"user\":null,\"version\":\"c464aecd7fea16684e935607eeea7ae4f8caa0e2\",\"committed_at\":\"2013-08-21T16:12:27Z\",\"change_status\":{\"total\":793,\"additions\":793,\"deletions\":0},\"url\":\"https://api.github.com/gists/6296553/c464aecd7fea16684e935607eeea7ae4f8caa0e2\"}]}\n \n https\n POST\n api.github.com\n None\n-/gists/2729818/fork\n+/gists/6296553/forks\n {'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n null\n 201\n-[('status', '201 Created'), ('x-ratelimit-remaining', '4969'), ('content-length', '873'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"502531cd2afdff81b572c8565b17f601\"'), ('date', 'Sat, 19 May 2012 07:25:30 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/2729865')]\n-{\"updated_at\":\"2012-05-19T07:25:30Z\",\"url\":\"https://api.github.com/gists/2729865\",\"comments\":0,\"public\":true,\"git_pull_url\":\"git://gist.github.com/2729865.git\",\"files\":{\"ror.markdown\":{\"raw_url\":\"https://gist.github.com/raw/2729865/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown\",\"type\":\"text/plain\",\"size\":1076,\"filename\":\"ror.markdown\",\"language\":\"Markdown\"}},\"html_url\":\"https://gist.github.com/2729865\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"login\":\"jacquev6\",\"id\":327146},\"description\":\"RoR setup in AWS EC2(Ubuntu 12.04 LTS)\",\"created_at\":\"2012-05-19T07:25:30Z\",\"git_push_url\":\"git@gist.github.com:2729865.git\",\"id\":\"2729865\"}\n+[('status', '201 Created'), ('x-ratelimit-remaining', '4965'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('content-length', '1510'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/gists/6296732'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 16:28:24 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('etag', '\"ceb086d4f395719d1124cade5cedbfd4\"'), ('x-ratelimit-reset', '1377104997')]\n+{\"url\":\"https://api.github.com/gists/6296732\",\"forks_url\":\"https://api.github.com/gists/6296732/forks\",\"commits_url\":\"https://api.github.com/gists/6296732/commits\",\"id\":\"6296732\",\"git_pull_url\":\"https://gist.github.com/6296732.git\",\"git_push_url\":\"https://gist.github.com/6296732.git\",\"html_url\":\"https://gist.github.com/6296732\",\"files\":{},\"public\":true,\"created_at\":\"2013-08-21T16:28:24Z\",\"updated_at\":\"2013-08-21T16:28:24Z\",\"description\":\"Github API\",\"comments\":0,\"user\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"comments_url\":\"https://api.github.com/gists/6296732/comments\"}\n \n https\n GET\n api.github.com\n None\n-/gists/2729865\n+/gists/6296732\n {'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '3460'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"e829012f18db493a69740de762186eb5\"'), ('date', 'Sat, 19 May 2012 07:26:54 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"description\":\"RoR setup in AWS EC2(Ubuntu 12.04 LTS)\",\"comments\":0,\"updated_at\":\"2012-05-19T07:25:30Z\",\"public\":true,\"git_pull_url\":\"git://gist.github.com/2729865.git\",\"history\":[{\"user\":{\"url\":\"https://api.github.com/users/Kechol\",\"avatar_url\":\"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"f2a6400b393749ccd9ad3f24d4995f77\",\"login\":\"Kechol\",\"id\":625489},\"change_status\":{\"total\":57,\"deletions\":0,\"additions\":57},\"committed_at\":\"2012-05-19T07:06:08Z\",\"version\":\"a655d19a12233e5e5615deb714eae95c433eed57\",\"url\":\"https://api.github.com/gists/2729865/a655d19a12233e5e5615deb714eae95c433eed57\"}],\"git_push_url\":\"git@gist.github.com:2729865.git\",\"url\":\"https://api.github.com/gists/2729865\",\"fork_of\":{\"user\":{\"url\":\"https://api.github.com/users/Kechol\",\"avatar_url\":\"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"f2a6400b393749ccd9ad3f24d4995f77\",\"login\":\"Kechol\",\"id\":625489},\"description\":\"RoR setup in AWS EC2(Ubuntu 12.04 LTS)\",\"comments\":0,\"updated_at\":\"2012-05-19T07:06:08Z\",\"public\":true,\"git_pull_url\":\"git://gist.github.com/2729818.git\",\"git_push_url\":\"git@gist.github.com:2729818.git\",\"url\":\"https://api.github.com/gists/2729818\",\"html_url\":\"https://gist.github.com/2729818\",\"id\":\"2729818\",\"created_at\":\"2012-05-19T07:06:08Z\",\"files\":{\"ror.markdown\":{\"type\":\"text/plain\",\"size\":1076,\"filename\":\"ror.markdown\",\"raw_url\":\"https://gist.github.com/raw/2729818/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown\",\"language\":\"Markdown\"}}},\"html_url\":\"https://gist.github.com/2729865\",\"id\":\"2729865\",\"forks\":[],\"created_at\":\"2012-05-19T07:25:30Z\",\"files\":{\"ror.markdown\":{\"content\":\"## create user\\n\\nsudo useradd -m username\\nvisudo\\n\\n## delete default user\\n\\nsudo userdel ubuntu\\nsudo rm -Rf ubuntu\\n\\n## setup ssh\\n\\nmkdir ~/.ssh\\nvi /etc/ssh/authorized_keys\\nsudo vi /etc/ssh/sshd_config\\n\\n\\n## install packages\\n\\nsudo apt-get update\\n\\nsudo apt-get install sysv-rc-init git-core apache2-utils wget vim\\nsudo apt-get install mysql-client mysql-server libmysqld-dev\\nsudo apt-get install g++ openssl zlib1g readline-common libyaml-dev libssl-dev zlib1g-dev libxml2-dev libxslt1-dev libjson0-dev libgcc1 libreadline-dev\\n\\n\\n## install nginx\\n\\nwget http://nginx.org/keys/nginx_signing.key\\nsudo apt-key add nginx_signing.key\\n\\n### add /etc/sources.list\\n> \\\"deb http://nginx.org/packages/ubuntu/ lucid nginx\\ndeb-src http://nginx.org/packages/ubuntu/ lucid nginx\\\"\\n\\napt-get update\\napt-get install nginx\\n\\n\\n## setup system\\n\\nsudo sysv-rc-init\\n\\n\\n## install ruby\\n\\ncd /usr/local/src\\nsudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz\\nsudo tar zxvf ruby-1.9.3-p194.tar.gz\\ncd ruby-1.9.3-p194\\nsudo ./configure\\nsudo make && make install\\n\\n\\n## install RoR\\n\\nsudo gem install rails\",\"type\":\"text/plain\",\"size\":1076,\"filename\":\"ror.markdown\",\"raw_url\":\"https://gist.github.com/raw/2729865/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown\",\"language\":\"Markdown\"}}}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '26806'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:28:24 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"f2916c23435522156274bed022a322e7\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 16:28:25 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377104997')]\n+{\"url\":\"https://api.github.com/gists/6296732\",\"forks_url\":\"https://api.github.com/gists/6296732/forks\",\"commits_url\":\"https://api.github.com/gists/6296732/commits\",\"id\":\"6296732\",\"git_pull_url\":\"https://gist.github.com/6296732.git\",\"git_push_url\":\"https://gist.github.com/6296732.git\",\"html_url\":\"https://gist.github.com/6296732\",\"files\":{\"GithubAPI.lua\":{\"filename\":\"GithubAPI.lua\",\"type\":\"text/plain\",\"language\":\"Lua\",\"raw_url\":\"https://gist.github.com/raw/6296732/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua\",\"size\":21229,\"content\":\"-- GithubAPI\\n-- @Author : Hyro Vitaly Protago\\n-- @Version : 1.0.0\\n\\n--[[\\n\\nINFOS :\\n - Cannot delete an anonymous gist\\n]]--\\n\\nGithubAPI = {\\n\\tlocation = \\\"https://api.github.com/\\\",\\n\\ttoken = nil,\\n\\tOAuth = {\\n\\t\\tauthorizations = {}\\n\\t},\\n\\tgist = {\\n\\t\\tlist = {},\\n\\t\\tcomment = {}\\n\\t},\\n\\tgithub = {}\\n}\\n\\n----------------------------------------------------------------------------\\n------------------------------ Github API ----------------------------------\\n----------------------------------------------------------------------------\\n\\n--- Authentication ---\\n\\n--[[ Scopes --\\n\\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\\nThey do not grant any additional permission beyond that which the user already has.\\n\\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\\n\\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\\n\\n~~~\\n$ curl -H \\\"Authorization: token OAUTH-TOKEN\\\" https://api.github.com/users/technoweenie -I\\nHTTP/1.1 200 OK\\nX-OAuth-Scopes: repo, user\\nX-Accepted-OAuth-Scopes: user\\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\\n~~~\\n\\n- (no scope)\\npublic read-only access (includes public user profile info, public repo info, and gists).\\n- user\\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\\n- user:email\\nRead access to a user’s email addresses.\\n- user:follow\\nAccess to follow or unfollow other users.\\n- public_repo\\nRead/write access to public repos and organizations.\\n- repo\\nRead/write access to public and private repos and organizations.\\n- repo:status\\nRead/write access to public and private repository commit statuses.\\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\\n- delete_repo\\nDelete access to adminable repositories.\\n- notifications\\nRead access to a user’s notifications. repo is accepted too.\\n- gist\\nWrite access to gists.\\n\\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\\n~~~\\nhttps://github.com/login/oauth/authorize?\\n client_id=...&\\n scope=user,public_repo\\n~~~\\n]]--\\n\\n-- Redirect users to request GitHub access --\\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\\n\\tGithubAPI.http_request(\\\"https://github.com/login/oauth/authorize?client_id=\\\"..client_id..\\\"&scope=\\\"..scope, function(data, status, headers)\\n\\t\\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\\n\\tend, nil, true)\\nend\\n-- GitHub redirects back to your site --\\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\\n\\tGithubAPI.http_request(\\\"https://github.com/login/oauth/access_token\\\", callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tclient_id = client_id,\\n\\t\\t\\tclient_secret = client_secret,\\n\\t\\t\\tcode = code\\n\\t\\t}\\n\\t}, true)\\nend\\n\\n-- List your authorizations --\\nfunction GithubAPI.OAuth.authorizations.list(callback)\\n\\tGithubAPI.http_request(\\\"authorizations\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nLink: ; rel=\\\"next\\\",\\n ; rel=\\\"last\\\"\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single authorization --\\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\\n\\tGithubAPI.http_request(\\\"authorizations/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n}\\n]]--\\n\\n-- Create a new authorization --\\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\\n\\tGithubAPI.http_request(\\\"authorizations/\\\", callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tscopes = scopes,\\n\\t\\t\\tnote = note,\\n\\t\\t\\tnote_url = note_url,\\n\\t\\t\\tclient_id = client_id,\\n\\t\\t\\tclient_secret = client_secret\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\nscopes\\nOptional array - A list of scopes that this authorization is in.\\n\\nnote\\nOptional string - A note to remind you what the OAuth token is for.\\n\\nnote_url\\nOptional string - A URL to remind you what app the OAuth token is for.\\n\\nclient_id\\nOptional String - The 20 character OAuth app client key for which to create the token.\\n\\nclient_secret\\nOptional String - The 40 character OAuth app client secret for which to create the token.\\n~~~\\n{\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"note\\\": \\\"admin script\\\"\\n}\\n~~~\\n]]--\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/authorizations/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/authorizations/1\\\",\\n \\\"scopes\\\": [\\n \\\"public_repo\\\"\\n ],\\n \\\"token\\\": \\\"abc123\\\",\\n \\\"app\\\": {\\n \\\"url\\\": \\\"http://my-github-app.com\\\",\\n \\\"name\\\": \\\"my github app\\\",\\n \\\"client_id\\\": \\\"abcde12345fghij67890\\\"\\n },\\n \\\"note\\\": \\\"optional note\\\",\\n \\\"note_url\\\": \\\"http://optional/note/url\\\",\\n \\\"updated_at\\\": \\\"2011-09-06T20:39:23Z\\\",\\n \\\"created_at\\\": \\\"2011-09-06T17:26:27Z\\\"\\n}\\n]]--\\n\\n-- TODO\\n-- Update\\n-- Check\\n-- Delete\\n\\n--- GISTS ---\\n\\n-- List gists --\\nfunction GithubAPI.gist.list.user(user, callback)\\n\\tGithubAPI.http_request(\\\"users/\\\"..user..\\\"/gists\\\", callback)\\nend\\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\\n\\tGithubAPI.http_request(\\\"gists\\\", callback)\\nend\\nfunction GithubAPI.gist.list.allPublic(callback)\\n\\tGithubAPI.http_request(\\\"gists/public\\\", callback)\\nend\\nfunction GithubAPI.gist.list.starred(callback)\\n\\tGithubAPI.http_request(\\\"gists/starred\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nLink: ; rel=\\\"next\\\",\\n ; rel=\\\"last\\\"\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single gist --\\nfunction GithubAPI.gist.get(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Create a gist --\\nfunction GithubAPI.gist.create(public, files, callback ,description)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tpublic = public,\\n\\t\\t\\tfiles = files,\\n\\t\\t\\tdescription = description\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"description\\\": \\\"the description for this gist\\\",\\n \\\"public\\\": true,\\n \\\"files\\\": {\\n \\\"file1.txt\\\": {\\n \\\"content\\\": \\\"String file contents\\\"\\n }\\n }\\n}\\n]]--\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Edit a gist --\\nfunction GithubAPI.gist.edit(id, files, callback, description)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {\\n\\t\\tmethod = \\\"PATCH\\\",\\n\\t\\tdata = {\\n\\t\\t\\tid = id,\\n\\t\\t\\tfiles = files,\\n\\t\\t\\tdescription = description\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"description\\\": \\\"the description for this gist\\\",\\n \\\"files\\\": {\\n \\\"file1.txt\\\": {\\n \\\"content\\\": \\\"updated file contents\\\"\\n },\\n \\\"old_name.txt\\\": {\\n \\\"filename\\\": \\\"new_name.txt\\\",\\n \\\"content\\\": \\\"modified contents\\\"\\n },\\n \\\"new_file.txt\\\": {\\n \\\"content\\\": \\\"a new file\\\"\\n },\\n \\\"delete_this_file.txt\\\": null\\n }\\n}\\n]]--\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\",\\n \\\"forks\\\": [\\n {\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"url\\\": \\\"https://api.github.com/gists/add0d71b065f55c46f60\\\",\\n \\\"created_at\\\": \\\"2011-04-14T16:00:49Z\\\"\\n }\\n ],\\n \\\"history\\\": [\\n {\\n \\\"url\\\": \\\"https://api.github.com/gists/80bdb0d081c447600e18\\\",\\n \\\"version\\\": \\\"57a7f021a713b1c5a6a199b54cc514735d2d462f\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"change_status\\\": {\\n \\\"deletions\\\": 0,\\n \\\"additions\\\": 180,\\n \\\"total\\\": 180\\n },\\n \\\"committed_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n }\\n ]\\n}\\n]]--\\n\\n-- Star a gist --\\nfunction GithubAPI.gist.star(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback, {method=\\\"PUT\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Unstar a gist --\\nfunction GithubAPI.gist.unstar(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback, {method=\\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Check if a gist is starred --\\nfunction GithubAPI.gist.checkStar(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/star\\\", callback)\\nend\\n\\n--[[\\n-- Response if gist is starred --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n\\n-- Response if gist is not starred --\\nStatus: 404 Not Found\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n-- Fork a gist --\\nfunction GithubAPI.gist.fork(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id..\\\"/forks\\\", callback, {method=\\\"POST\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/2\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"url\\\": \\\"https://api.github.com/gists/88a3112be74ba6ad701e\\\",\\n \\\"id\\\": \\\"1\\\",\\n \\\"description\\\": \\\"description of gist\\\",\\n \\\"public\\\": true,\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"files\\\": {\\n \\\"ring.erl\\\": {\\n \\\"size\\\": 932,\\n \\\"filename\\\": \\\"ring.erl\\\",\\n \\\"raw_url\\\": \\\"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\\\"\\n }\\n },\\n \\\"comments\\\": 0,\\n \\\"comments_url\\\": \\\"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\\\",\\n \\\"html_url\\\": \\\"https://gist.github.com/1\\\",\\n \\\"git_pull_url\\\": \\\"git://gist.github.com/1.git\\\",\\n \\\"git_push_url\\\": \\\"git@gist.github.com:1.git\\\",\\n \\\"created_at\\\": \\\"2010-04-14T02:15:15Z\\\"\\n}\\n]]--\\n\\n-- Delete a gist --\\nfunction GithubAPI.gist.delete(id, callback)\\n\\tGithubAPI.http_request(\\\"gists/\\\"..id, callback, {method=\\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n--- GISTS COMMENTS ---\\n\\n-- List comments on a gist --\\nfunction GithubAPI.gist.comment.list(gist_id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments\\\", callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n[\\n {\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n }\\n]\\n]]--\\n\\n-- Get a single comment --\\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback)\\nend\\n\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Create a comment --\\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {\\n\\t\\tmethod = \\\"POST\\\",\\n\\t\\tdata = {\\n\\t\\t\\tbody = body\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\"\\n}\\n]]--\\n--[[ Response --\\nStatus: 201 Created\\nLocation: https://api.github.com/gists/comments/1\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Edit a comment --\\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {\\n\\t\\tmethod = \\\"PATCH\\\",\\n\\t\\tdata = {\\n\\t\\t\\tbody = body\\n\\t\\t}\\n\\t})\\nend\\n\\n--[[ Input --\\n{\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\"\\n}\\n]]--\\n--[[ Response --\\nStatus: 200 OK\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n{\\n \\\"id\\\": 1,\\n \\\"url\\\": \\\"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\\\",\\n \\\"body\\\": \\\"Just commenting for the sake of commenting\\\",\\n \\\"user\\\": {\\n \\\"login\\\": \\\"octocat\\\",\\n \\\"id\\\": 1,\\n \\\"avatar_url\\\": \\\"https://github.com/images/error/octocat_happy.gif\\\",\\n \\\"gravatar_id\\\": \\\"somehexcode\\\",\\n \\\"url\\\": \\\"https://api.github.com/users/octocat\\\"\\n },\\n \\\"created_at\\\": \\\"2011-04-18T23:23:56Z\\\"\\n}\\n]]--\\n\\n-- Delete a comment --\\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\\n\\tGithubAPI.http_request(\\\"gists/..\\\"gist_id\\\"../comments/\\\"..id, callback, {method = \\\"DELETE\\\"})\\nend\\n\\n--[[ Response --\\nStatus: 204 No Content\\nX-RateLimit-Limit: 5000\\nX-RateLimit-Remaining: 4999\\n]]--\\n\\n----------------------------------------------------------------------------\\n-------------------------------- TOOLS -------------------------------------\\n----------------------------------------------------------------------------\\n\\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\\n\\topts = opts or {}\\n\\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\\n\\tif opts.data then opts.data = json.encode(opts.data) end\\n\\n\\tlocal _url\\n\\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\\n\\n\\thttp.request(_url, function(data, status, headers)\\n\\t\\tif (status == 500) then error(\\\"Github: Internal Server Error ...\\\") end\\n\\t\\tdata = json.decode(data)\\n\\t\\tcallback(data, status, headers)\\n\\tend, alert, opts)\\nend\\n\\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\\n if (div=='') then return false end\\n local pos,arr = 0,{}\\n for st,sp in function() return string.find(str,div,pos,true) end do\\n table.insert(arr,string.sub(str,pos,st-1))\\n pos = sp + 1\\n end\\n table.insert(arr,string.sub(str,pos))\\n return arr\\nend\\n\\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\\nfunction GithubAPI.gtimestamp(githubTime)\\n\\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\\n\\tgithubTime = GithubAPI.explode(\\\"T\\\", githubTime)\\n\\tgithubTime[1] = GithubAPI.explode(\\\"-\\\", githubTime[1])\\n\\tgithubTime[2] = GithubAPI.explode(\\\":\\\", githubTime[2])\\n\\treturn os.time({\\n\\t\\tyear = tonumber(githubTime[1][1]),\\n\\t\\tmonth = tonumber(githubTime[1][2]),\\n\\t\\tday = tonumber(githubTime[1][3]),\\n\\t\\thour = tonumber(githubTime[2][1]),\\n\\t\\tmin = tonumber(githubTime[2][2]),\\n\\t\\tsec = tonumber(githubTime[2][3])\\n\\t})\\nend\"}},\"public\":true,\"created_at\":\"2013-08-21T16:28:24Z\",\"updated_at\":\"2013-08-21T16:28:24Z\",\"description\":\"Github API\",\"comments\":0,\"user\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"comments_url\":\"https://api.github.com/gists/6296732/comments\",\"forks\":[],\"history\":[{\"user\":null,\"version\":\"c464aecd7fea16684e935607eeea7ae4f8caa0e2\",\"committed_at\":\"2013-08-21T16:12:27Z\",\"change_status\":{\"total\":793,\"additions\":793,\"deletions\":0},\"url\":\"https://api.github.com/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2\"}],\"fork_of\":{\"url\":\"https://api.github.com/gists/6296553\",\"forks_url\":\"https://api.github.com/gists/6296553/forks\",\"commits_url\":\"https://api.github.com/gists/6296553/commits\",\"id\":\"6296553\",\"git_pull_url\":\"https://gist.github.com/6296553.git\",\"git_push_url\":\"https://gist.github.com/6296553.git\",\"html_url\":\"https://gist.github.com/6296553\",\"files\":{},\"public\":true,\"created_at\":\"2013-08-21T16:12:27Z\",\"updated_at\":\"2013-08-21T16:28:24Z\",\"description\":\"Github API\",\"comments\":0,\"user\":{\"login\":\"HyroVitalyProtago\",\"id\":3470988,\"avatar_url\":\"https://1.gravatar.com/avatar/ed59562b231a649345f38703948f76f4?d=https%3A%2F%2Fidenticons.github.com%2F6582cb986b7a730b12f7c18dfcc865f0.png\",\"gravatar_id\":\"ed59562b231a649345f38703948f76f4\",\"url\":\"https://api.github.com/users/HyroVitalyProtago\",\"html_url\":\"https://github.com/HyroVitalyProtago\",\"followers_url\":\"https://api.github.com/users/HyroVitalyProtago/followers\",\"following_url\":\"https://api.github.com/users/HyroVitalyProtago/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/HyroVitalyProtago/subscriptions\",\"organizations_url\":\"https://api.github.com/users/HyroVitalyProtago/orgs\",\"repos_url\":\"https://api.github.com/users/HyroVitalyProtago/repos\",\"events_url\":\"https://api.github.com/users/HyroVitalyProtago/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/HyroVitalyProtago/received_events\",\"type\":\"User\"},\"comments_url\":\"https://api.github.com/gists/6296553/comments\"}}\n "},{"sha":"7d335ffc25d0f2bf8208709c1d73ec7b216eee61","filename":"github/tests/ReplayData/Github.testGetRepos.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Github.testGetRepos.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Github.testGetRepos.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Github.testGetRepos.txt?ref=a6597499c2f82e063074a3036d875417d5efa296"},{"sha":"476baddfbabd644ff708e3ea3778ae474ff03c86","filename":"github/tests/ReplayData/Github.testGetReposSince.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Github.testGetReposSince.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Github.testGetReposSince.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Github.testGetReposSince.txt?ref=a6597499c2f82e063074a3036d875417d5efa296"},{"sha":"6f6e25494e129725b5aad650839888e3494c52f7","filename":"github/tests/ReplayData/Hook.testTest.txt","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Hook.testTest.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Hook.testTest.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Hook.testTest.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -2,7 +2,7 @@ https\n POST\n api.github.com\n None\n-/repos/jacquev6/PyGithub/hooks/257993/test\n+/repos/jacquev6/PyGithub/hooks/257993/tests\n {'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n null\n 204"},{"sha":"08c61a84ee63868aac85f3d64397e65b0fdf9132","filename":"github/tests/ReplayData/NamedUser.testHasInFollowing.txt","status":"added","additions":22,"deletions":0,"changes":22,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/NamedUser.testHasInFollowing.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/NamedUser.testHasInFollowing.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/NamedUser.testHasInFollowing.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,22 @@\n+https\n+GET\n+api.github.com\n+None\n+/users/nvie\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1218'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:26:40 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"8e2b307f8fb4186bfb512febd7215fc8\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 17:20:44 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377108637')]\n+{\"login\":\"nvie\",\"id\":83844,\"avatar_url\":\"https://2.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https%3A%2F%2Fidenticons.github.com%2Fe6d0513ce49cc06cb956251623cb8fd9.png\",\"gravatar_id\":\"466ef7561a0b100dc5a1021959962d28\",\"url\":\"https://api.github.com/users/nvie\",\"html_url\":\"https://github.com/nvie\",\"followers_url\":\"https://api.github.com/users/nvie/followers\",\"following_url\":\"https://api.github.com/users/nvie/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/nvie/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/nvie/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/nvie/subscriptions\",\"organizations_url\":\"https://api.github.com/users/nvie/orgs\",\"repos_url\":\"https://api.github.com/users/nvie/repos\",\"events_url\":\"https://api.github.com/users/nvie/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/nvie/received_events\",\"type\":\"User\",\"name\":\"Vincent Driessen\",\"company\":\"3rd Cloud\",\"blog\":\"http://nvie.com\",\"location\":\"Netherlands\",\"email\":\"vincent@3rdcloud.com\",\"hireable\":true,\"bio\":null,\"public_repos\":86,\"followers\":530,\"following\":45,\"created_at\":\"2009-05-12T21:19:38Z\",\"updated_at\":\"2013-08-21T16:26:40Z\",\"public_gists\":38}\n+\n+https\n+GET\n+api.github.com\n+None\n+/users/jacquev6/following/nvie\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+204\n+[('status', '204 No Content'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 17:20:48 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1377108637')]\n+\n+"},{"sha":"dfc62ba258a155c9b40432ec67a51b8b8822ec73","filename":"github/tests/ReplayData/Persistence.setUp.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Persistence.setUp.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Persistence.setUp.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Persistence.setUp.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+api.github.com\n+None\n+/repos/akfish/PyGithub\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13698'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"8600bedcb7fed1d8065e1693e05529ce\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:08 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')]\n+{\"id\":12156762,\"name\":\"PyGithub\",\"full_name\":\"akfish/PyGithub\",\"owner\":{\"login\":\"akfish\",\"id\":922715,\"avatar_url\":\"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png\",\"gravatar_id\":\"12a1b44d4e5c19cee59618084602b112\",\"url\":\"https://api.github.com/users/akfish\",\"html_url\":\"https://github.com/akfish\",\"followers_url\":\"https://api.github.com/users/akfish/followers\",\"following_url\":\"https://api.github.com/users/akfish/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/akfish/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/akfish/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/akfish/subscriptions\",\"organizations_url\":\"https://api.github.com/users/akfish/orgs\",\"repos_url\":\"https://api.github.com/users/akfish/repos\",\"events_url\":\"https://api.github.com/users/akfish/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/akfish/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/akfish/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":true,\"url\":\"https://api.github.com/repos/akfish/PyGithub\",\"forks_url\":\"https://api.github.com/repos/akfish/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/akfish/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/akfish/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/akfish/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/akfish/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/akfish/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/akfish/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/akfish/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/akfish/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/akfish/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/akfish/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/akfish/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/akfish/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/akfish/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/akfish/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/akfish/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/akfish/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/akfish/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/akfish/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/akfish/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/akfish/PyGithub/labels{/name}\",\"created_at\":\"2013-08-16T10:56:11Z\",\"updated_at\":\"2013-08-22T02:09:11Z\",\"pushed_at\":\"2013-08-22T02:09:09Z\",\"git_url\":\"git://github.com/akfish/PyGithub.git\",\"ssh_url\":\"git@github.com:akfish/PyGithub.git\",\"clone_url\":\"https://github.com/akfish/PyGithub.git\",\"svn_url\":\"https://github.com/akfish/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":6736,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"master_branch\":\"master\",\"default_branch\":\"master\",\"permissions\":{\"admin\":true,\"push\":true,\"pull\":true},\"network_count\":70,\"parent\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"},\"source\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"}}\n+"},{"sha":"b6d8aeec9b3c663cfe561eb2513a514f10011673","filename":"github/tests/ReplayData/Persistence.testLoadAndUpdate.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+api.github.com\n+None\n+/repos/akfish/PyGithub\n+{'If-None-Match': '\"8600bedcb7fed1d8065e1693e05529ce\"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'}\n+null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13712'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:14:54 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '\"ef281ef0e821c18f80da36902727160b\"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:15:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')]\n+{\"id\":12156762,\"name\":\"PyGithub\",\"full_name\":\"akfish/PyGithub\",\"owner\":{\"login\":\"akfish\",\"id\":922715,\"avatar_url\":\"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png\",\"gravatar_id\":\"12a1b44d4e5c19cee59618084602b112\",\"url\":\"https://api.github.com/users/akfish\",\"html_url\":\"https://github.com/akfish\",\"followers_url\":\"https://api.github.com/users/akfish/followers\",\"following_url\":\"https://api.github.com/users/akfish/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/akfish/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/akfish/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/akfish/subscriptions\",\"organizations_url\":\"https://api.github.com/users/akfish/orgs\",\"repos_url\":\"https://api.github.com/users/akfish/repos\",\"events_url\":\"https://api.github.com/users/akfish/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/akfish/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/akfish/PyGithub\",\"description\":\"Python library implementing the full Github API v3 - AKFish Fork\",\"fork\":true,\"url\":\"https://api.github.com/repos/akfish/PyGithub\",\"forks_url\":\"https://api.github.com/repos/akfish/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/akfish/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/akfish/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/akfish/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/akfish/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/akfish/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/akfish/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/akfish/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/akfish/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/akfish/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/akfish/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/akfish/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/akfish/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/akfish/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/akfish/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/akfish/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/akfish/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/akfish/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/akfish/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/akfish/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/akfish/PyGithub/labels{/name}\",\"created_at\":\"2013-08-16T10:56:11Z\",\"updated_at\":\"2013-08-22T02:14:54Z\",\"pushed_at\":\"2013-08-22T02:09:09Z\",\"git_url\":\"git://github.com/akfish/PyGithub.git\",\"ssh_url\":\"git@github.com:akfish/PyGithub.git\",\"clone_url\":\"https://github.com/akfish/PyGithub.git\",\"svn_url\":\"https://github.com/akfish/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":6736,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"master_branch\":\"master\",\"default_branch\":\"master\",\"permissions\":{\"admin\":true,\"push\":true,\"pull\":true},\"network_count\":70,\"parent\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"},\"source\":{\"id\":3544490,\"name\":\"PyGithub\",\"full_name\":\"jacquev6/PyGithub\",\"owner\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"private\":false,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"description\":\"Python library implementing the full Github API v3\",\"fork\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"forks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/forks\",\"keys_url\":\"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jacquev6/PyGithub/teams\",\"hooks_url\":\"https://api.github.com/repos/jacquev6/PyGithub/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jacquev6/PyGithub/events\",\"assignees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/tags\",\"blobs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jacquev6/PyGithub/languages\",\"stargazers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jacquev6/PyGithub/subscription\",\"commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}\",\"contents_url\":\"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jacquev6/PyGithub/merges\",\"archive_url\":\"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jacquev6/PyGithub/downloads\",\"issues_url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}\",\"created_at\":\"2012-02-25T12:53:47Z\",\"updated_at\":\"2013-08-21T20:32:08Z\",\"pushed_at\":\"2013-08-21T20:31:45Z\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"homepage\":\"http://jacquev6.github.com/PyGithub\",\"size\":7437,\"watchers_count\":248,\"language\":\"Python\",\"has_issues\":true,\"has_downloads\":true,\"has_wiki\":true,\"forks_count\":70,\"mirror_url\":null,\"open_issues_count\":17,\"forks\":70,\"open_issues\":17,\"watchers\":248,\"master_branch\":\"master\",\"default_branch\":\"master\"}}\n+"},{"sha":"3d4b27e8aa1282bb8401e6e2ae753044a7208686","filename":"github/tests/ReplayData/Status.testGetLastMessage.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetLastMessage.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetLastMessage.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Status.testGetLastMessage.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+status.github.com\n+443\n+/api/last-message.json\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('content-length', '93'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:34:01 GMT'), ('content-type', 'application/json;charset=utf-8')]\n+{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-09-01T15:41:46Z\"}\n+"},{"sha":"6c79412a7a4039830228927d1ca5c9557298bdd3","filename":"github/tests/ReplayData/Status.testGetMessages.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetMessages.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetMessages.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Status.testGetMessages.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+status.github.com\n+443\n+/api/messages.json\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('content-length', '1492'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:41:31 GMT'), ('content-type', 'application/json;charset=utf-8')]\n+[{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-09-01T15:41:46Z\"},{\"status\":\"minor\",\"body\":\"GitHub Pages are currently unavailable. We're investigating the problem.\",\"created_on\":\"2013-09-01T15:26:59Z\"},{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-09-01T15:17:24Z\"},{\"status\":\"minor\",\"body\":\"We are investigating an increased rate of errors on GitHub.com\",\"created_on\":\"2013-09-01T15:14:24Z\"},{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-09-01T06:52:46Z\"},{\"status\":\"minor\",\"body\":\"Some GitHub pages are again unavailable. We are continuing to investigate.\",\"created_on\":\"2013-09-01T06:50:31Z\"},{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-09-01T06:47:25Z\"},{\"status\":\"minor\",\"body\":\"Some GitHub pages are temporarily unavailable.\",\"created_on\":\"2013-09-01T06:43:03Z\"},{\"status\":\"good\",\"body\":\"We're back up, now featuring a massively upgraded DB cluster with SSDs and 10Gbps networking! Thanks for your patience.\",\"created_on\":\"2013-08-31T12:13:04Z\"},{\"status\":\"major\",\"body\":\"We're beginning our scheduled maintenance now, and expect to be back up in 20 minutes. https://github.com/blog/1603-site-maintenance-august-31st-2013\",\"created_on\":\"2013-08-31T12:00:13Z\"},{\"status\":\"good\",\"body\":\"Everything operating normally.\",\"created_on\":\"2013-08-31T11:45:50Z\"},{\"status\":\"minor\",\"body\":\"We are investigating issues with GitHub Pages\",\"created_on\":\"2013-08-31T11:43:39Z\"}]\n+"},{"sha":"e01aec021bcb172a4eaf436c5d23e69594bc022f","filename":"github/tests/ReplayData/Status.testGetStatus.txt","status":"added","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetStatus.txt","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/ReplayData/Status.testGetStatus.txt","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Status.testGetStatus.txt?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,11 @@\n+https\n+GET\n+status.github.com\n+443\n+/api/status.json\n+{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}\n+null\n+200\n+[('status', '200 OK'), ('content-length', '55'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:29:36 GMT'), ('content-type', 'application/json;charset=utf-8')]\n+{\"status\":\"good\",\"last_updated\":\"2013-09-06T08:29:27Z\"}\n+"},{"sha":"0bb3c935ce2f4fa86d410b2759a4825e42bc44a3","filename":"github/tests/Status.py","status":"added","additions":43,"deletions":0,"changes":43,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Status.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/github/tests/Status.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/Status.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -0,0 +1,43 @@\n+# -*- coding: utf-8 -*-\n+\n+############################ Copyrights and license ############################\n+# #\n+# Copyright 2013 Vincent Jacques #\n+# #\n+# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ #\n+# #\n+# PyGithub is free software: you can redistribute it and/or modify it under #\n+# the terms of the GNU Lesser General Public License as published by the Free #\n+# Software Foundation, either version 3 of the License, or (at your option) #\n+# any later version. #\n+# #\n+# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #\n+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #\n+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n+# details. #\n+# #\n+# You should have received a copy of the GNU Lesser General Public License #\n+# along with PyGithub. If not, see . #\n+# #\n+################################################################################\n+\n+import Framework\n+\n+import github\n+import datetime\n+\n+\n+class Status(Framework.TestCase):\n+ def testGetStatus(self):\n+ status = self.g.get_api_status()\n+ self.assertEqual(status.status, \"good\")\n+ self.assertEqual(status.last_updated, datetime.datetime(2013, 9, 6, 8, 29, 27))\n+\n+ def testGetLastMessage(self):\n+ message = self.g.get_last_api_status_message()\n+ self.assertEqual(message.status, \"good\")\n+ self.assertEqual(message.body, \"Everything operating normally.\")\n+ self.assertEqual(message.created_on, datetime.datetime(2013, 9, 1, 15, 41, 46))\n+\n+ def testGetMessages(self):\n+ self.assertListKeyEqual(self.g.get_api_status_messages(), lambda m: m.status, [\"good\", \"minor\", \"good\", \"minor\", \"good\", \"minor\", \"good\", \"minor\", \"good\", \"major\", \"good\", \"minor\"])"},{"sha":"3439c6f189e0bd05a747ff4c702518068fde7b3b","filename":"scripts/fix_headers.py","status":"modified","additions":2,"deletions":0,"changes":2,"blob_url":"https://github.com/jacquev6/PyGithub/blob/a6597499c2f82e063074a3036d875417d5efa296/scripts/fix_headers.py","raw_url":"https://github.com/jacquev6/PyGithub/raw/a6597499c2f82e063074a3036d875417d5efa296/scripts/fix_headers.py","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/scripts/fix_headers.py?ref=a6597499c2f82e063074a3036d875417d5efa296","patch":"@@ -132,6 +132,8 @@ def findHeadersAndFiles():\n dirs.remove(\".git\")\n if \"developer.github.com\" in dirs:\n dirs.remove(\"developer.github.com\")\n+ if \"build\" in dirs:\n+ dirs.remove(\"build\")\n \n for filename in files:\n fullname = os.path.join(root, filename)"}]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contentsREADME.rst -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4869'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '36bdc0ef-6149-4a8a-b4b5-3f8a82cf42aa'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '6577'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:39:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"bbffa70478199a10902bf5da76db3481"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"name":"README.rst","path":"README.rst","sha":"7b03e11cebcf910764a583dd8be5b6824046459b","size":4271,"url":"https://api.github.com/repos/jacquev6/PyGithub/contents/README.rst?ref=master","html_url":"https://github.com/jacquev6/PyGithub/blob/master/README.rst","git_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7b03e11cebcf910764a583dd8be5b6824046459b","type":"file","content":"VGhpcyBpcyBhIFB5dGhvbiAoMiBhbmQgMykgbGlicmFyeSB0byBhY2Nlc3Mg\ndGhlIGBHaXRodWIgQVBJIHYzIDxodHRwOi8vZGV2ZWxvcGVyLmdpdGh1Yi5j\nb20vdjM+YF8uCldpdGggaXQsIHlvdSBjYW4gbWFuYWdlIHlvdXIgYEdpdGh1\nYiA8aHR0cDovL2dpdGh1Yi5jb20+YF8gcmVzb3VyY2VzIChyZXBvc2l0b3Jp\nZXMsIHVzZXIgcHJvZmlsZXMsIG9yZ2FuaXphdGlvbnMsIGV0Yy4pIGZyb20g\nUHl0aG9uIHNjcmlwdHMuCgpJdCBjb3ZlcnMgdGhlICoqZnVsbCoqIEFQSSAo\nZXhjZXB0IHJlY2VudCBhZGRpdGlvbnMsIHNlZSAiV2hhdCdzIG1pc3Npbmci\nIGJlbGxvdyksIGFuZCBhbGwgbWV0aG9kcyBhcmUgdGVzdGVkIGFnYWluc3Qg\ndGhlIHJlYWwgR2l0aHViIHNpdGUuCgpTaG91bGQgeW91IGhhdmUgYW55IHF1\nZXN0aW9uLCBhbnkgcmVtYXJrLCBvciBpZiB5b3UgZmluZCBhIGJ1Zywgb3Ig\naWYgdGhlcmUgaXMgc29tZXRoaW5nIHlvdSBjYW4gZG8gd2l0aCB0aGUgQVBJ\nIGJ1dCBub3Qgd2l0aCBQeUdpdGh1YiwgcGxlYXNlIGBvcGVuIGFuIGlzc3Vl\nIDxodHRwczovL2dpdGh1Yi5jb20vamFjcXVldjYvUHlHaXRodWIvaXNzdWVz\nPmBfLgoKUHlHaXRodWIgaXMgc3RhYmxlLiBJIHdpbGwgbWFpbnRhaW4gaXQg\ndXAgdG8gZGF0ZSB3aXRoIHRoZSBBUEksIGFuZCBmaXggYnVncyBpZiBhbnks\nIGJ1dCBJIGRvbid0IHBsYW4gbmV3IGhlYXZ5IGRldmVsb3BtZW50cy4KCldo\nYXQncyBuZXc/Cj09PT09PT09PT09CgoKYFZlcnNpb24gMS4xOC4wIDxodHRw\nczovL2dpdGh1Yi5jb20vamFjcXVldjYvUHlHaXRodWIvaXNzdWVzP21pbGVz\ndG9uZT0zMCZzdGF0ZT1jbG9zZWQ+YF8gKEF1Z3VzdCAyMXN0LCAyMDEzKSAo\nQsOpbm9kZXQgZWRpdGlvbikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLQoKKiBgSXNzdWVzIDxodHRwczovL2dpdGh1Yi5jb20vamFj\ncXVldjYvUHlHaXRodWIvcHVsbC8xODE+YF8nIGBgcmVwb3NpdG9yeWBgIGF0\ndHJpYnV0ZSB3aWxsIG5ldmVyIGJlIGBgTm9uZWBgLiBUaGFuayB5b3UgYHN0\ndWdsYXNlciA8aHR0cHM6Ly9naXRodWIuY29tL3N0dWdsYXNlcj5gXyBmb3Ig\ndGhlIHB1bGwgcmVxdWVzdAoqIE5vIG1vcmUgZmFsc2UgYXNzdW1wdGlvbiBv\nbiBgcmF0ZV9saW1pdGluZyA8aHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2\nL1B5R2l0aHViL3B1bGwvMTg2PmBfLCBhbmQgY3JlYXRpb24gb2YgYGByYXRl\nX2xpbWl0aW5nX3Jlc2V0dGltZWBgLiBUaGFuayB5b3UgYGVkamFja3NvbiA8\naHR0cHM6Ly9naXRodWIuY29tL2VkamFja3Nvbj5gXyBmb3IgdGhlIHB1bGwg\ncmVxdWVzdAoqIGBOZXcgPGh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9Q\neUdpdGh1Yi9wdWxsLzE4Nz5gXyBwYXJhbWV0ZXJzIGBgc2luY2VgYCBhbmQg\nYGB1bnRpbGBgIHRvIGBgUmVwb3NpdG9yeS5nZXRfY29tbWl0c2BgLiBUaGFu\nayB5b3UgYGFwZXRyZXNjIDxodHRwczovL2dpdGh1Yi5jb20vYXBldHJlc2M+\nYF8gZm9yIHRoZSBwdWxsIHJlcXVlc3QKKiBgQ2F0Y2ggPGh0dHBzOi8vZ2l0\naHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9wdWxsLzE4Mj5gXyBKc29uIHBh\ncnNpbmcgZXhjZXB0aW9uIGZvciBzb21lIGludGVybmFsIHNlcnZlciBlcnJv\ncnMsIGFuZCB0aHJvdyBhIGJldHRlciBleGNlcHRpb24uIFRoYW5rIHlvdSBg\nTWFya1JvZGR5IDxodHRwczovL2dpdGh1Yi5jb20vTWFya1JvZGR5PmBfIGZv\nciB0aGUgcHVsbCByZXF1ZXN0CiogYEFsbG93IDxodHRwczovL2dpdGh1Yi5j\nb20vamFjcXVldjYvUHlHaXRodWIvcHVsbC8xODQ+YF8gcmV2ZXJzZWQgaXRl\ncmF0aW9uIG9mIGBgUGFnaW5hdGVkTGlzdGBgcy4gVGhhbmsgeW91IGBkYXZp\nZGJyYWkgPGh0dHBzOi8vZ2l0aHViLmNvbS9kYXZpZGJyYWk+YF8gZm9yIHRo\nZSBwdWxsIHJlcXVlc3QKCldoYXQncyBtaXNzaW5nPwo9PT09PT09PT09PT09\nPT0KCldlIG5vdyBoYXZlIGF1dG9tYXRlZCB3YXlzIHRvIGxpc3QgVVJMcyBk\nb2N1bWVudGVkIGluIGB0aGUgcmVmZXJlbmNlIG9mIEdpdGh1YiBBUEkgdjMg\nPGh0dHA6Ly9kZXZlbG9wZXIuZ2l0aHViLmNvbT5gXyBhbmQgbm90IGNvdmVy\nZWQgYnkgUHlHaXRodWIuCgpHaXRodWIgQVBJIHYzIFVSTHMgbm90ICh5ZXQp\nIGNvdmVyZWQgYnkgUHlHaXRodWIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIGBgL2FwcGxpY2F0aW9ucy86\nY2xpZW50X2lkL3Rva2Vucy86YWNjZXNzX3Rva2VuYGAgKEdFVCkKKiBgYC9m\nZWVkc2BgIChHRVQpCiogYGAvZ2lzdHMvOmlkL2ZvcmtzYGAgKFBPU1QpCgog\nICogaW5zdGVhZCwgYGBHaXN0LmNyZWF0ZV9mb3JrYGAgY2FsbHMgdGhlIG9s\nZCBVUkwgYGAvZ2lzdHMvOmlkL2ZvcmtgYAoKKiBgYC9tZXRhYGAgKEdFVCkK\nKiBgYC9ub3RpZmljYXRpb25zYGAgKFBVVCkKKiBgYC9ub3RpZmljYXRpb25z\nL2VtYWlsc2BgIChHRVQpCiogYGAvbm90aWZpY2F0aW9ucy9lbWFpbHNgYCAo\nUEFUQ0gpCiogYGAvbm90aWZpY2F0aW9ucy9nbG9iYWwvZW1haWxzYGAgKEdF\nVCkKKiBgYC9ub3RpZmljYXRpb25zL2dsb2JhbC9lbWFpbHNgYCAoUFVUKQoq\nIGBgL25vdGlmaWNhdGlvbnMvb3JnYW5pemF0aW9uLzpvcmcvZW1haWxzYGAg\nKEdFVCkKKiBgYC9ub3RpZmljYXRpb25zL29yZ2FuaXphdGlvbi86b3JnL2Vt\nYWlsc2BgIChQVVQpCiogYGAvbm90aWZpY2F0aW9ucy9zZXR0aW5nc2BgIChH\nRVQpCiogYGAvbm90aWZpY2F0aW9ucy9zZXR0aW5nc2BgIChQQVRDSCkKKiBg\nYC9ub3RpZmljYXRpb25zL3RocmVhZHMvOmlkYGAgKFBBVENIKQoqIGBgL25v\ndGlmaWNhdGlvbnMvdGhyZWFkcy86aWQvc3Vic2NyaXB0aW9uYGAgKERFTEVU\nRSkKKiBgYC9ub3RpZmljYXRpb25zL3RocmVhZHMvOmlkL3N1YnNjcmlwdGlv\nbmBgIChHRVQpCiogYGAvbm90aWZpY2F0aW9ucy90aHJlYWRzLzppZC9zdWJz\nY3JpcHRpb25gYCAoUFVUKQoqIGBgL3JhdGVfbGltaXRgYCAoR0VUKQoKICAq\nIHNob3VsZCBiZSBjYWxsZWQgaW4gbWV0aG9kIGBgR2l0aHViLmdldF9yYXRl\nX2xpbWl0YGAuIFNlZSBhbHNvIGBgR2l0aHViLnJhdGVfbGltaXRpbmdgYAoK\nKiBgYC9yZXBvcy86b3duZXIvOnJlcG8vY29udGVudHMvOnBhdGhgYCAoREVM\nRVRFKQoqIGBgL3JlcG9zLzpvd25lci86cmVwby9jb250ZW50cy86cGF0aGBg\nIChQVVQpCiogYGAvcmVwb3MvOm93bmVyLzpyZXBvL2hvb2tzLzppZC90ZXN0\nc2BgIChQT1NUKQoKICAqIGluc3RlYWQsIGBgSG9vay50ZXN0YGAgY2FsbHMg\ndGhlIG9sZCBVUkwgYGAvcmVwb3MvOm93bmVyLzpyZXBvL2hvb2tzLzppZC90\nZXN0YGAKCiogYGAvcmVwb3MvOm93bmVyLzpyZXBvL25vdGlmaWNhdGlvbnNg\nYCAoR0VUKQoqIGBgL3JlcG9zLzpvd25lci86cmVwby9ub3RpZmljYXRpb25z\nYGAgKFBVVCkKKiBgYC9yZXBvcy86b3duZXIvOnJlcG8vc3RhdHMvY29kZV9m\ncmVxdWVuY3lgYCAoR0VUKQoqIGBgL3JlcG9zLzpvd25lci86cmVwby9zdGF0\ncy9jb21taXRfYWN0aXZpdHlgYCAoR0VUKQoqIGBgL3JlcG9zLzpvd25lci86\ncmVwby9zdGF0cy9jb250cmlidXRvcnNgYCAoR0VUKQoqIGBgL3JlcG9zLzpv\nd25lci86cmVwby9zdGF0cy9wYXJ0aWNpcGF0aW9uYGAgKEdFVCkKKiBgYC9y\nZXBvcy86b3duZXIvOnJlcG8vc3RhdHMvcHVuY2hfY2FyZGBgIChHRVQpCiog\nYGAvcmVwb3MvOm93bmVyLzpyZXBvL3N1YnNjcmlwdGlvbmBgIChERUxFVEUp\nCiogYGAvcmVwb3MvOm93bmVyLzpyZXBvL3N1YnNjcmlwdGlvbmBgIChHRVQp\nCiogYGAvcmVwb3MvOm93bmVyLzpyZXBvL3N1YnNjcmlwdGlvbmBgIChQVVQp\nCiogYGAvcmVwb3NpdG9yaWVzYGAgKEdFVCkKCiAgKiBzaG91bGQgYmUgY2Fs\nbGVkIGluIG1ldGhvZCBgYEdpdGh1Yi5nZXRfcmVwb3NgYAoKKiBgYC9zZWFy\nY2gvY29kZWBgIChHRVQpCiogYGAvc2VhcmNoL2lzc3Vlc2BgIChHRVQpCiog\nYGAvc2VhcmNoL3JlcG9zaXRvcmllc2BgIChHRVQpCiogYGAvc2VhcmNoL3Vz\nZXJzYGAgKEdFVCkKKiBgYC91c2Vycy86dXNlci9mb2xsb3dpbmcvOnRhcmdl\ndF91c2VyYGAgKEdFVCkKCiAgKiBzaG91bGQgYmUgY2FsbGVkIGluIG1ldGhv\nZCBgYE5hbWVkVXNlci5oYXNfaW5fZm9sbG93aW5nYGAKCkRvY3VtZW50YXRp\nb24KPT09PT09PT09PT09PQoKQWxsIHRoZSBkb2N1bWVudGF0aW9uIGlzIGhl\ncmU6IGh0dHA6Ly9qYWNxdWV2Ni5naXRodWIuY29tL1B5R2l0aHViLgo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/README.rst?ref=master","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7b03e11cebcf910764a583dd8be5b6824046459b","html":"https://github.com/jacquev6/PyGithub/blob/master/README.rst"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4868'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'aad86338-b4d2-44ad-b094-37965f99ed02'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '150840'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"815ffb5687c4d26df4a1e81e5de3ac7e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:05:58 GMT'), ('access-control-allow-origin', '*'), ('x-poll-interval', '60'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -[{"id":"1823555573","type":"DeleteEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"ref":"topic/ImproveDocumentation","ref_type":"branch"},"public":true,"created_at":"2013-09-06T12:41:05Z"},{"id":"1823554600","type":"DeleteEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"ref":"topic/SpecificExceptions","ref_type":"branch"},"public":true,"created_at":"2013-09-06T12:39:45Z"},{"id":"1823452056","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/163","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/163/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/163/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/163/events","html_url":"https://github.com/jacquev6/PyGithub/issues/163","id":13924435,"number":163,"title":"Looking to help out","user":{"login":"shercoder","id":1681066,"avatar_url":"https://1.gravatar.com/avatar/3bc7caad2383726988f7834c6800f7f9?d=https%3A%2F%2Fidenticons.github.com%2F902797e4e8c74be19dce4e4640f8b455.png","gravatar_id":"3bc7caad2383726988f7834c6800f7f9","url":"https://api.github.com/users/shercoder","html_url":"https://github.com/shercoder","followers_url":"https://api.github.com/users/shercoder/followers","following_url":"https://api.github.com/users/shercoder/following{/other_user}","gists_url":"https://api.github.com/users/shercoder/gists{/gist_id}","starred_url":"https://api.github.com/users/shercoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shercoder/subscriptions","organizations_url":"https://api.github.com/users/shercoder/orgs","repos_url":"https://api.github.com/users/shercoder/repos","events_url":"https://api.github.com/users/shercoder/events{/privacy}","received_events_url":"https://api.github.com/users/shercoder/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/28","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/28/labels","id":358501,"number":28,"title":"Issues assigned to volunteers","description":"This (fake) milestone groups all issues on which a volunteer is working.","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2013-06-18T20:42:13Z","updated_at":"2013-08-20T21:27:13Z","due_on":null},"comments":3,"created_at":"2013-05-03T07:39:10Z","updated_at":"2013-09-06T10:04:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey my friend introduced me to your project and we have already started to use it in our small projects.I am looking to help out. Is there anything that i can do to help out in your project. If there is anything that I can help you with, please let me know. Thank you"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23930309","html_url":"https://github.com/jacquev6/PyGithub/issues/163#issuecomment-23930309","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/163","id":23930309,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-06T10:04:19Z","updated_at":"2013-09-06T10:04:19Z","body":"Update: some missing functionalities are now listed in [README.rst](https://github.com/jacquev6/PyGithub/blob/master/README.rst)"}},"public":true,"created_at":"2013-09-06T10:04:19Z"},{"id":"1823450347","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/179","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/179/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/179/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/179/events","html_url":"https://github.com/jacquev6/PyGithub/pull/179","id":15885976,"number":179,"title":"Automatic rety, empty repo handling and updated arguments for get_commits","user":{"login":"wcdolphin","id":446889,"avatar_url":"https://1.gravatar.com/avatar/3202f845a8cafe9729d397649dfadd3a?d=https%3A%2F%2Fidenticons.github.com%2F37f8d4e8ebdd8ce92fbb3503fe9aa31a.png","gravatar_id":"3202f845a8cafe9729d397649dfadd3a","url":"https://api.github.com/users/wcdolphin","html_url":"https://github.com/wcdolphin","followers_url":"https://api.github.com/users/wcdolphin/followers","following_url":"https://api.github.com/users/wcdolphin/following{/other_user}","gists_url":"https://api.github.com/users/wcdolphin/gists{/gist_id}","starred_url":"https://api.github.com/users/wcdolphin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wcdolphin/subscriptions","organizations_url":"https://api.github.com/users/wcdolphin/orgs","repos_url":"https://api.github.com/users/wcdolphin/repos","events_url":"https://api.github.com/users/wcdolphin/events{/privacy}","received_events_url":"https://api.github.com/users/wcdolphin/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/28","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/28/labels","id":358501,"number":28,"title":"Issues assigned to volunteers","description":"This (fake) milestone groups all issues on which a volunteer is working.","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2013-06-18T20:42:13Z","updated_at":"2013-08-20T21:27:13Z","due_on":null},"comments":3,"created_at":"2013-06-22T15:59:01Z","updated_at":"2013-09-06T10:02:07Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/179","diff_url":"https://github.com/jacquev6/PyGithub/pull/179.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/179.patch"},"body":"This PR adds:\r\n1. Automatic retrying on failure of an idempotent request, up to a default of 5 times.\r\n2. Handling and raising of EmptyRepositoryException which can be emitted by a call to get_commits\r\n3. Updated arguments for Repository.get_commits, reflecting the url_params for Github API V3\r\n\r\nPlease let me know if you have any feedback on style, etc. I will happily address. \r\n "},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23930203","html_url":"https://github.com/jacquev6/PyGithub/pull/179#issuecomment-23930203","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/179","id":23930203,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-06T10:02:07Z","updated_at":"2013-09-06T10:02:07Z","body":"Hello @wcdolphin,\r\n\r\ndo you still plan to work on this? If not, it's not a problem. I ask you this now because I'm going to have time to do it on my side in the coming days.\r\n\r\nThanks,"}},"public":true,"created_at":"2013-09-06T10:02:07Z"},{"id":"1823413095","type":"IssuesEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/events","html_url":"https://github.com/jacquev6/PyGithub/issues/188","id":17736533,"number":188,"title":"Getting the status of GitHub","user":{"login":"ruxandraburtica","id":797922,"avatar_url":"https://2.gravatar.com/avatar/5703c5907fc67b679be40fd307b07733?d=https%3A%2F%2Fidenticons.github.com%2F470a720db37e19afad67c34e30ffcd85.png","gravatar_id":"5703c5907fc67b679be40fd307b07733","url":"https://api.github.com/users/ruxandraburtica","html_url":"https://github.com/ruxandraburtica","followers_url":"https://api.github.com/users/ruxandraburtica/followers","following_url":"https://api.github.com/users/ruxandraburtica/following{/other_user}","gists_url":"https://api.github.com/users/ruxandraburtica/gists{/gist_id}","starred_url":"https://api.github.com/users/ruxandraburtica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruxandraburtica/subscriptions","organizations_url":"https://api.github.com/users/ruxandraburtica/orgs","repos_url":"https://api.github.com/users/ruxandraburtica/repos","events_url":"https://api.github.com/users/ruxandraburtica/events{/privacy}","received_events_url":"https://api.github.com/users/ruxandraburtica/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":1,"closed_issues":3,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T09:11:57Z","due_on":null},"comments":2,"created_at":"2013-08-07T08:57:49Z","updated_at":"2013-09-06T09:11:57Z","closed_at":"2013-09-06T09:11:57Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Maybe I haven't found it, but it would be very useful to have methods for checking the status of the GitHub API (https://status.github.com/api)"}},"public":true,"created_at":"2013-09-06T09:11:58Z"},{"id":"1823413094","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/events","html_url":"https://github.com/jacquev6/PyGithub/issues/188","id":17736533,"number":188,"title":"Getting the status of GitHub","user":{"login":"ruxandraburtica","id":797922,"avatar_url":"https://2.gravatar.com/avatar/5703c5907fc67b679be40fd307b07733?d=https%3A%2F%2Fidenticons.github.com%2F470a720db37e19afad67c34e30ffcd85.png","gravatar_id":"5703c5907fc67b679be40fd307b07733","url":"https://api.github.com/users/ruxandraburtica","html_url":"https://github.com/ruxandraburtica","followers_url":"https://api.github.com/users/ruxandraburtica/followers","following_url":"https://api.github.com/users/ruxandraburtica/following{/other_user}","gists_url":"https://api.github.com/users/ruxandraburtica/gists{/gist_id}","starred_url":"https://api.github.com/users/ruxandraburtica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruxandraburtica/subscriptions","organizations_url":"https://api.github.com/users/ruxandraburtica/orgs","repos_url":"https://api.github.com/users/ruxandraburtica/repos","events_url":"https://api.github.com/users/ruxandraburtica/events{/privacy}","received_events_url":"https://api.github.com/users/ruxandraburtica/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":1,"closed_issues":3,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T09:11:57Z","due_on":null},"comments":2,"created_at":"2013-08-07T08:57:49Z","updated_at":"2013-09-06T09:11:57Z","closed_at":"2013-09-06T09:11:57Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Maybe I haven't found it, but it would be very useful to have methods for checking the status of the GitHub API (https://status.github.com/api)"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23927975","html_url":"https://github.com/jacquev6/PyGithub/issues/188#issuecomment-23927975","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","id":23927975,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-06T09:11:57Z","updated_at":"2013-09-06T09:11:57Z","body":"Done, will be in next release!"}},"public":true,"created_at":"2013-09-06T09:11:58Z"},{"id":"1823408513","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":225103902,"size":5,"distinct_size":5,"ref":"refs/heads/develop","head":"a6597499c2f82e063074a3036d875417d5efa296","before":"1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","commits":[{"sha":"dc610dfaac50dd5bbbd572986cda35f6729aee5b","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Small fixes and todos","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc610dfaac50dd5bbbd572986cda35f6729aee5b"},{"sha":"2081675afbfed404f6a580bce0ec363bebbfd98b","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Fix doc generation","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2081675afbfed404f6a580bce0ec363bebbfd98b"},{"sha":"f2feb81dae1b28af80c559db7328f2d6fe017911","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Add default parameters to greatly reduce code redoundancy","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2feb81dae1b28af80c559db7328f2d6fe017911"},{"sha":"c819580ce872f251e8ec23deee95d9fb15ca19c9","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Get status of Github API (#188)","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c819580ce872f251e8ec23deee95d9fb15ca19c9"},{"sha":"a6597499c2f82e063074a3036d875417d5efa296","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Merge branch 'topic/ApiStatus' into develop","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a6597499c2f82e063074a3036d875417d5efa296"}]},"public":true,"created_at":"2013-09-06T09:05:12Z"},{"id":"1823374294","type":"PullRequestEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"closed","number":193,"pull_request":{"url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/193","id":7785326,"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch","issue_url":"https://github.com/jacquev6/PyGithub/pull/193","number":193,"state":"closed","title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```","created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-06T08:15:35Z","closed_at":"2013-09-06T08:15:35Z","merged_at":null,"merge_commit_sha":"de0e83166f4cc5d6cb177b12b313bb0844e89a12","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":2,"closed_issues":2,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T08:15:35Z","due_on":null},"commits_url":"https://github.com/jacquev6/PyGithub/pull/193/commits","review_comments_url":"https://github.com/jacquev6/PyGithub/pull/193/comments","review_comment_url":"/repos/jacquev6/PyGithub/pulls/comments/{number}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","head":{"label":"akfish:NewFix","ref":"NewFix","sha":"ebbfec86a2fb352cc08e3595a6b58fa1ccccc111","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"repo":{"id":12156762,"name":"PyGithub","full_name":"akfish/PyGithub","owner":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"private":false,"html_url":"https://github.com/akfish/PyGithub","description":"Python library implementing the full Github API v3 - AKFish Fork","fork":true,"url":"https://api.github.com/repos/akfish/PyGithub","forks_url":"https://api.github.com/repos/akfish/PyGithub/forks","keys_url":"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akfish/PyGithub/teams","hooks_url":"https://api.github.com/repos/akfish/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/akfish/PyGithub/events","assignees_url":"https://api.github.com/repos/akfish/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/akfish/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/akfish/PyGithub/tags","blobs_url":"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/akfish/PyGithub/languages","stargazers_url":"https://api.github.com/repos/akfish/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/akfish/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/akfish/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/akfish/PyGithub/subscription","commits_url":"https://api.github.com/repos/akfish/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/akfish/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/akfish/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akfish/PyGithub/merges","archive_url":"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akfish/PyGithub/downloads","issues_url":"https://api.github.com/repos/akfish/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/akfish/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/akfish/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akfish/PyGithub/labels{/name}","created_at":"2013-08-16T10:56:11Z","updated_at":"2013-09-06T08:15:35Z","pushed_at":"2013-08-27T11:14:27Z","git_url":"git://github.com/akfish/PyGithub.git","ssh_url":"git@github.com:akfish/PyGithub.git","clone_url":"https://github.com/akfish/PyGithub.git","svn_url":"https://github.com/akfish/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7340,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master"}},"base":{"label":"jacquev6:develop","ref":"develop","sha":"ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"repo":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-09-06T08:12:07Z","pushed_at":"2013-09-06T08:12:06Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":828,"watchers_count":256,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":76,"mirror_url":null,"open_issues_count":16,"forks":76,"open_issues":16,"watchers":256,"master_branch":"master","default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/193"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/193"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/193"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/193/comments"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":12,"review_comments":1,"commits":40,"additions":1669,"deletions":45,"changed_files":41}},"public":true,"created_at":"2013-09-06T08:15:35Z"},{"id":"1823374292","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/pull/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":2,"closed_issues":2,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T08:15:35Z","due_on":null},"comments":12,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-06T08:15:35Z","closed_at":"2013-09-06T08:15:35Z","pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23925438","html_url":"https://github.com/jacquev6/PyGithub/pull/193#issuecomment-23925438","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23925438,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-06T08:15:35Z","updated_at":"2013-09-06T08:15:35Z","body":"I'm glad it suits your needs, I've just merged conditional requests and persistence in the `develop` branch. It will be in next release, probably this week-end.\r\n\r\nIt has been a pleasure to collaborate with you, thank you :-)"}},"public":true,"created_at":"2013-09-06T08:15:35Z"},{"id":"1823372143","type":"DeleteEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"ref":"topic/ConditionalRequest","ref_type":"branch"},"public":true,"created_at":"2013-09-06T08:12:07Z"},{"id":"1823371399","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":225082808,"size":28,"distinct_size":4,"ref":"refs/heads/develop","head":"1d0ba7ef6461ccdd25af74bfed61d3ceb5bc926d","before":"ba5b0d5ea93d362ecd8b5a91701a9c62c385d008","commits":[{"sha":"b71329e560795a4df84cb419178ef660824f4c0d","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Implement data persistence","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b71329e560795a4df84cb419178ef660824f4c0d"},{"sha":"bd7abb58772ae1a61fd7eb44308a3a2f60432ad6","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Add update() method","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd7abb58772ae1a61fd7eb44308a3a2f60432ad6"},{"sha":"1e9ec2df089973db73aaf99b4ef147efd4614e7c","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Add NotModifiedException class","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e9ec2df089973db73aaf99b4ef147efd4614e7c"},{"sha":"6fd05baf6bea732dd846e08c40891c28060e7c64","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Handle response code 304","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6fd05baf6bea732dd846e08c40891c28060e7c64"},{"sha":"5b09f6c82191601cad92076ad4761fe927c511ed","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Implement conditional request","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed"},{"sha":"70a7e9c83dec2bf6b549dc5c77d30b53afb32457","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Fix update","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457"},{"sha":"d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Add test record helper","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7"},{"sha":"c7593e84c4a92a044b717b7311c2b6ad8d9a5917","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Add test case for conditional request","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917"},{"sha":"cc1bcd5f2da1982a0836a488cf321d363bfcf5b5","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Merge branch 'develop' into topic/ConditionalRequest\n\nConflicts:\n\t.gitignore\n\tgithub/Requester.py","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc1bcd5f2da1982a0836a488cf321d363bfcf5b5"},{"sha":"1787765a61958617d47e764a0bea2acd70c84f72","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Review of #189: use dict.get\n\nhttp://docs.python.org/2/library/stdtypes.html#dict.get","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1787765a61958617d47e764a0bea2acd70c84f72"},{"sha":"0f74e4389b3c0fa57a83083ecfbbf5c331022674","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Review of #189: pep8, copyrights, style, remarks\n\nFor remarks, run: git grep \"#189\"\nThey are only my first thoughts while reviewing this pull request,\nand should be reviewed themselves.","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f74e4389b3c0fa57a83083ecfbbf5c331022674"},{"sha":"fb7325884ee0b8ae73f47bf13c6f36cacbc3131c","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Fix remarks on #189 to #193","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb7325884ee0b8ae73f47bf13c6f36cacbc3131c"},{"sha":"0413c87c12e688fb4fc38d978a2f275ef791cd48","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Remove _record_.py (#193)\n\nAccording to https://github.com/jacquev6/PyGithub/commit/0f74e4389b3c0fa57a83083ecfbbf5c331022674#commitcomment-3919786","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0413c87c12e688fb4fc38d978a2f275ef791cd48"},{"sha":"bc3b819ac554a2132427c9ffe629ef371511213e","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Separate tests for conditional requests (#193)","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bc3b819ac554a2132427c9ffe629ef371511213e"},{"sha":"bae0a37d180a4b224c6aa808d03722908109c57d","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"#193: Don't use a try-except for a usual execution flow in GithubObject.update\n\n(and factorize assignment of headers in _storeAndUseAttributes,\nas done for rawData)","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bae0a37d180a4b224c6aa808d03722908109c57d"},{"sha":"03d7fb012e9d032165c43f93a4c67bc29af9366f","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"#193: Add remarks","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03d7fb012e9d032165c43f93a4c67bc29af9366f"},{"sha":"64cf539c83174f95b3410c7decd2549424385ce1","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"#193: Add a param to Requester.requestXxx for request headers","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64cf539c83174f95b3410c7decd2549424385ce1"},{"sha":"e084b5138106d4ad371a69ca9519862f09c855ae","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"#193: Fix test coverage","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e084b5138106d4ad371a69ca9519862f09c855ae"},{"sha":"020a3c9917f42d98c1761527825061d2db8352fd","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Move method update to CompletableGithubObject","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/020a3c9917f42d98c1761527825061d2db8352fd"},{"sha":"fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Move the DEBUG_ON_RESPONSE call to Requester.__requestEncode","distinct":false,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84"}]},"public":true,"created_at":"2013-09-06T08:10:53Z"},{"id":"1823216085","type":"IssueCommentEvent","actor":{"id":922715,"login":"akfish","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/pull/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":11,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-06T02:24:06Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23915193","html_url":"https://github.com/jacquev6/PyGithub/pull/193#issuecomment-23915193","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23915193,"user":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"created_at":"2013-09-06T02:24:06Z","updated_at":"2013-09-06T02:24:06Z","body":"Well, never mind my previous comments. I think your implementation will work nicely.\r\nThough the pickle format cross-version compatibility still troubles me. I will try it out with some projects and see if a more flexible serialization mechanism (i.e. let developer specify which serializer to use, pickle, JSON, XML and etc) is necessary. \r\nFor now I am happy with that. Thanks."}},"public":true,"created_at":"2013-09-06T02:24:07Z"},{"id":"1823212876","type":"ForkEvent","actor":{"id":1676891,"login":"wadewilliams","gravatar_id":"21a241aa10ee457a5f6b72aca98a4860","url":"https://api.github.com/users/wadewilliams","avatar_url":"https://1.gravatar.com/avatar/21a241aa10ee457a5f6b72aca98a4860?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"forkee":{"id":12633886,"name":"PyGithub","full_name":"wadewilliams/PyGithub","owner":{"login":"wadewilliams","id":1676891,"avatar_url":"https://0.gravatar.com/avatar/21a241aa10ee457a5f6b72aca98a4860?d=https%3A%2F%2Fidenticons.github.com%2F49f04213eb6f9bbf8e6ec031c55c4e31.png","gravatar_id":"21a241aa10ee457a5f6b72aca98a4860","url":"https://api.github.com/users/wadewilliams","html_url":"https://github.com/wadewilliams","followers_url":"https://api.github.com/users/wadewilliams/followers","following_url":"https://api.github.com/users/wadewilliams/following{/other_user}","gists_url":"https://api.github.com/users/wadewilliams/gists{/gist_id}","starred_url":"https://api.github.com/users/wadewilliams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wadewilliams/subscriptions","organizations_url":"https://api.github.com/users/wadewilliams/orgs","repos_url":"https://api.github.com/users/wadewilliams/repos","events_url":"https://api.github.com/users/wadewilliams/events{/privacy}","received_events_url":"https://api.github.com/users/wadewilliams/received_events","type":"User"},"private":false,"html_url":"https://github.com/wadewilliams/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/wadewilliams/PyGithub","forks_url":"https://api.github.com/repos/wadewilliams/PyGithub/forks","keys_url":"https://api.github.com/repos/wadewilliams/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wadewilliams/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wadewilliams/PyGithub/teams","hooks_url":"https://api.github.com/repos/wadewilliams/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/wadewilliams/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/wadewilliams/PyGithub/events","assignees_url":"https://api.github.com/repos/wadewilliams/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/wadewilliams/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/wadewilliams/PyGithub/tags","blobs_url":"https://api.github.com/repos/wadewilliams/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wadewilliams/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wadewilliams/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/wadewilliams/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wadewilliams/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/wadewilliams/PyGithub/languages","stargazers_url":"https://api.github.com/repos/wadewilliams/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/wadewilliams/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/wadewilliams/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/wadewilliams/PyGithub/subscription","commits_url":"https://api.github.com/repos/wadewilliams/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/wadewilliams/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/wadewilliams/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/wadewilliams/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/wadewilliams/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/wadewilliams/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wadewilliams/PyGithub/merges","archive_url":"https://api.github.com/repos/wadewilliams/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wadewilliams/PyGithub/downloads","issues_url":"https://api.github.com/repos/wadewilliams/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/wadewilliams/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/wadewilliams/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/wadewilliams/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wadewilliams/PyGithub/labels{/name}","created_at":"2013-09-06T02:17:04Z","updated_at":"2013-09-06T02:17:04Z","pushed_at":"2013-09-05T15:53:48Z","git_url":"git://github.com/wadewilliams/PyGithub.git","ssh_url":"git@github.com:wadewilliams/PyGithub.git","clone_url":"https://github.com/wadewilliams/PyGithub.git","svn_url":"https://github.com/wadewilliams/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":824,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","public":true}},"public":true,"created_at":"2013-09-06T02:17:05Z"},{"id":"1822756531","type":"IssueCommentEvent","actor":{"id":922715,"login":"akfish","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/issues/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":10,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-05T17:00:40Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23883975","html_url":"https://github.com/jacquev6/PyGithub/issues/193#issuecomment-23883975","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23883975,"user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"created_at":"2013-09-05T17:00:40Z","updated_at":"2013-09-05T17:00:40Z","body":"After some quick scanning of the code, recursively reviving will likely not be an issue. We can just invoke ```_useAttributes``` somehow after ```requester``` is set. That should (re)initialize children with correct info. "}},"public":true,"created_at":"2013-09-05T17:00:41Z"},{"id":"1822742910","type":"IssueCommentEvent","actor":{"id":922715,"login":"akfish","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/issues/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":9,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-05T16:47:24Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23882993","html_url":"https://github.com/jacquev6/PyGithub/issues/193#issuecomment-23882993","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23882993,"user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"created_at":"2013-09-05T16:47:24Z","updated_at":"2013-09-05T16:47:24Z","body":"OK. I will take a look at it in detail tomorrow. Just some quick thoughts:\r\n* It's my oversight that ```__setstate__``` does not implement all ```__init__``` behaviors. That can be easily fixed, since all ```Github.create_from_raw_data``` does is to invoke the constructor. \r\n* I will check on the recursively revive thing. It might be possible to simply introduce a bool flag for status checking and do it lazily when required. And if I understand it correctly, ```Github.create_from_raw_data``` will have the very same issue.\r\n* An alternative for revive is customize the getter for ```self._requester``` that fetches ```requester``` from current ```Github``` instance. Do this in base class, it should then automatically solve every thing, children or not. No \"dead\" objects will exist since they will all be lazily alive.\r\n\r\nSo I think bottom line is to make all the objects serializable and serialize-safe by keep ```__getstate___``` and ```__setstate__```, as long as we can get the initialization right (as ```Github.create_from_raw_data``` does). \r\nAs for the serialization, I am not a big fan on current implementation since I discovery the 2.x and 3.x pickle formats are not compatible. Well, maybe just keep it as an open option and let developers choose whatever methods they want."}},"public":true,"created_at":"2013-09-05T16:47:24Z"},{"id":"1822685130","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":224708516,"size":1,"distinct_size":1,"ref":"refs/heads/topic/ConditionalRequest","head":"6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","before":"c412d49c9fd28406156dff664a1f848da1e95d0b","commits":[{"sha":"6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Adapt to Python 2.5 (again:))","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6cb149dce41cf1f110ae1f1d6a5c6bdd66790b69"}]},"public":true,"created_at":"2013-09-05T15:53:49Z"},{"id":"1822682093","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":224706869,"size":1,"distinct_size":1,"ref":"refs/heads/topic/ConditionalRequest","head":"c412d49c9fd28406156dff664a1f848da1e95d0b","before":"3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","commits":[{"sha":"c412d49c9fd28406156dff664a1f848da1e95d0b","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Adapt to Python 2.5","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c412d49c9fd28406156dff664a1f848da1e95d0b"}]},"public":true,"created_at":"2013-09-05T15:51:13Z"},{"id":"1822678337","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/issues/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":8,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-05T15:47:44Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23877842","html_url":"https://github.com/jacquev6/PyGithub/issues/193#issuecomment-23877842","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23877842,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-05T15:47:44Z","updated_at":"2013-09-05T15:47:44Z","body":"I think I will merge my branch topic/ConditionalRequest (ending at commit 3fe9edf) in next release.\r\n\r\nI may have missed an advantage of your approach of serialization. If so, please tell me, we can continue to discuss it to get the best of both approaches.\r\n\r\nThank you again for your collaboration!"}},"public":true,"created_at":"2013-09-05T15:47:45Z"},{"id":"1822670928","type":"PullRequestReviewCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/6184908","id":6184908,"body":"A few comments on this approach:\r\n\r\n* we can't use the unpickled object in any way, because it has no public attributes, only `raw_data` and `_headers`. We must somehow call `_storeAndUseAttributes` in `__setstate__`\r\n* Creating \"dead\" objects looks like a very dangerous thing. They are not very useful, and quite error-prone (no method can be called on them). Reviving an object after creation is complicated, because its children should be revived too (recursively) (to be able to do things like `repo=g.load(saved_repo); repo.owner.get_followers()[0].login`)\r\n* Having several load and save methods (on `GithubObject`, `Github`) is error-prone.\r\n\r\nPlease see commit 3fe9edf for an implementation of my proposal.","diff_hunk":"@@ -96,6 +100,78 @@ def _parseDatetime(s):\n else:\n return datetime.datetime.strptime(s, \"%Y-%m-%dT%H:%M:%SZ\")\n \n+ # #193: I temporarily comment out those two methods\n+ # We need to address the following:\n+ # - The interface should use file-like objects (not file names)\n+ # - it's more \"pythonic\"\n+ # - it allows user to save several objects in the same physical file\n+ # - it's easier to unit-test because we can inject in-memory file-like objects\n+ # - We should not save identification information\n+ # - We should not re-create several instances of Requester when loading objects\n+ # - This would lead to very surprising behaviors, when changing Github.per_page or anything impacting this central part of PyGithub\n+ # - It should be possible to restore a saved object without knowing its previous type\n+ # - The \"load\" method should not make the user think she must know this previous type\n+ # - In particular, it shouldn't be a classmethod of GithubObject\n+ # - They should be covered by unit tests\n+ #\n+ # My proposal, to be experimented and discussed:\n+ # - in \"save\", pickle a tuple containing the class of the object, its rawData and its headers\n+ # - make \"load\" a method of class Github\n+ # - it will unpickle everything and call Github.create_from_raw_data\n+ # - I would even make \"save\" a method of Github, to keep it symetric with \"load\"\n+ #\n+ # Using __get_state__ would not be enought because we wouldn't have access\n+ # to the Requester instance in __set_state__.\n+\n+ def __getstate__(self):","path":"github/GithubObject.py","position":70,"original_position":70,"commit_id":"ebbfec86a2fb352cc08e3595a6b58fa1ccccc111","original_commit_id":"ebbfec86a2fb352cc08e3595a6b58fa1ccccc111","user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-05T15:41:19Z","updated_at":"2013-09-05T15:41:19Z","html_url":"https://github.com/jacquev6/PyGithub/pull/193#discussion_r6184908","pull_request_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/193","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/6184908"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/193#discussion_r6184908"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/193"}}}},"public":true,"created_at":"2013-09-05T15:41:19Z"},{"id":"1822668222","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":224699122,"size":1,"distinct_size":1,"ref":"refs/heads/topic/ConditionalRequest","head":"3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","before":"38b137fb37c0fdc74f8802a4184518e105db9121","commits":[{"sha":"3fe9edf08707d2c289d4e6a05f7521751cf9f8e4","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"message":"Implement object persistence\n\nThis follows my proposal for #193.\nLargely inspired by AKFish's work.","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3fe9edf08707d2c289d4e6a05f7521751cf9f8e4"}]},"public":true,"created_at":"2013-09-05T15:38:57Z"},{"id":"1822025629","type":"ForkEvent","actor":{"id":813448,"login":"SergioJorge","gravatar_id":"5949c2b4dec0f01c221015a21db10537","url":"https://api.github.com/users/SergioJorge","avatar_url":"https://2.gravatar.com/avatar/5949c2b4dec0f01c221015a21db10537?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"forkee":{"id":12604651,"name":"PyGithub","full_name":"SergioJorge/PyGithub","owner":{"login":"SergioJorge","id":813448,"avatar_url":"https://2.gravatar.com/avatar/5949c2b4dec0f01c221015a21db10537?d=https%3A%2F%2Fidenticons.github.com%2F345b07c0913e6d201a63ba7910b13a10.png","gravatar_id":"5949c2b4dec0f01c221015a21db10537","url":"https://api.github.com/users/SergioJorge","html_url":"https://github.com/SergioJorge","followers_url":"https://api.github.com/users/SergioJorge/followers","following_url":"https://api.github.com/users/SergioJorge/following{/other_user}","gists_url":"https://api.github.com/users/SergioJorge/gists{/gist_id}","starred_url":"https://api.github.com/users/SergioJorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SergioJorge/subscriptions","organizations_url":"https://api.github.com/users/SergioJorge/orgs","repos_url":"https://api.github.com/users/SergioJorge/repos","events_url":"https://api.github.com/users/SergioJorge/events{/privacy}","received_events_url":"https://api.github.com/users/SergioJorge/received_events","type":"User"},"private":false,"html_url":"https://github.com/SergioJorge/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/SergioJorge/PyGithub","forks_url":"https://api.github.com/repos/SergioJorge/PyGithub/forks","keys_url":"https://api.github.com/repos/SergioJorge/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SergioJorge/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SergioJorge/PyGithub/teams","hooks_url":"https://api.github.com/repos/SergioJorge/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/SergioJorge/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/SergioJorge/PyGithub/events","assignees_url":"https://api.github.com/repos/SergioJorge/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/SergioJorge/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/SergioJorge/PyGithub/tags","blobs_url":"https://api.github.com/repos/SergioJorge/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SergioJorge/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SergioJorge/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/SergioJorge/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SergioJorge/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/SergioJorge/PyGithub/languages","stargazers_url":"https://api.github.com/repos/SergioJorge/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/SergioJorge/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/SergioJorge/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/SergioJorge/PyGithub/subscription","commits_url":"https://api.github.com/repos/SergioJorge/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/SergioJorge/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/SergioJorge/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/SergioJorge/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/SergioJorge/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/SergioJorge/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SergioJorge/PyGithub/merges","archive_url":"https://api.github.com/repos/SergioJorge/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SergioJorge/PyGithub/downloads","issues_url":"https://api.github.com/repos/SergioJorge/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/SergioJorge/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/SergioJorge/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/SergioJorge/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SergioJorge/PyGithub/labels{/name}","created_at":"2013-09-04T23:40:46Z","updated_at":"2013-09-04T23:40:46Z","pushed_at":"2013-09-04T19:49:59Z","git_url":"git://github.com/SergioJorge/PyGithub.git","ssh_url":"git@github.com:SergioJorge/PyGithub.git","clone_url":"https://github.com/SergioJorge/PyGithub.git","svn_url":"https://github.com/SergioJorge/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":820,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","public":true}},"public":true,"created_at":"2013-09-04T23:40:46Z"},{"id":"1822025563","type":"WatchEvent","actor":{"id":813448,"login":"SergioJorge","gravatar_id":"5949c2b4dec0f01c221015a21db10537","url":"https://api.github.com/users/SergioJorge","avatar_url":"https://2.gravatar.com/avatar/5949c2b4dec0f01c221015a21db10537?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"started"},"public":true,"created_at":"2013-09-04T23:40:42Z"},{"id":"1821810477","type":"PushEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"push_id":224224755,"size":1,"distinct_size":1,"ref":"refs/heads/topic/ConditionalRequest","head":"38b137fb37c0fdc74f8802a4184518e105db9121","before":"fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","commits":[{"sha":"38b137fb37c0fdc74f8802a4184518e105db9121","author":{"email":"akfish@gmail.com","name":"AKFish"},"message":"Fix line ending","distinct":true,"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121"}]},"public":true,"created_at":"2013-09-04T19:50:00Z"},{"id":"1821476672","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/events","html_url":"https://github.com/jacquev6/PyGithub/issues/194","id":18951718,"number":194,"title":"GitHub 400 \"Problems parsing JSON\" when creating an issue","user":{"login":"technoskald","id":1624387,"avatar_url":"https://0.gravatar.com/avatar/afdbc4563c208b1bc332762fbd1145cb?d=https%3A%2F%2Fidenticons.github.com%2F1fe48bd7b38910219f53e7709ac82ccf.png","gravatar_id":"afdbc4563c208b1bc332762fbd1145cb","url":"https://api.github.com/users/technoskald","html_url":"https://github.com/technoskald","followers_url":"https://api.github.com/users/technoskald/followers","following_url":"https://api.github.com/users/technoskald/following{/other_user}","gists_url":"https://api.github.com/users/technoskald/gists{/gist_id}","starred_url":"https://api.github.com/users/technoskald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoskald/subscriptions","organizations_url":"https://api.github.com/users/technoskald/orgs","repos_url":"https://api.github.com/users/technoskald/repos","events_url":"https://api.github.com/users/technoskald/events{/privacy}","received_events_url":"https://api.github.com/users/technoskald/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":2,"created_at":"2013-09-04T03:34:22Z","updated_at":"2013-09-04T14:35:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm working from the `develop` branch and consistently get an `HTTP 400: Problems parsing JSON` when trying to create an issue.\r\n\r\nThe traceback, including the actual API call, is:\r\n```\r\nTraceback (most recent call last):\r\n File \"import.py\", line 68, in \r\n issue=repo.create_issue(title=i['description'],body=comment,labels=ilabels)\r\n File \"/home/kmaxwell/PyGithub/github/Repository.py\", line 557, in create_issue\r\n post_parameters\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 171, in requestJsonAndCheck\r\n return self.__check(*self.requestJson(verb, url, parameters, input))\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 182, in __check\r\n raise self.__createException(status, output)\r\ngithub.GithubException.GithubException: 400 {u'message': u'Problems parsing JSON'}\r\n```\r\n\r\nAdditionally, I enabled console logging while debugging (per the contribution guidelines) and have the following logs:\r\n\r\n```\r\nPOST https://api.github.com/repos/vz-risk/VCDB/issues {'Content-Type': 'application/json', 'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} {\"body\": \"http://www.heraldonline.com/2013/08/27/5152564/advanced-data-processing-inc-notification.html\\n\\nAnother of the ADP Partner breaches There are several more on the pinboard--search term is ADP.\\n\\nhttp://posttrib.suntimes.com/news/porter/22190511-418/valpo-ambulance-users-could-have-had-personal-information-stolen.html\\n\\nhttp://www.healthdatamanagement.com/news/breach-notification-hipaa-privacy-security-46520-1.html\\n\\n\\n2013 DataBreach NC\", \"labels\": [\"Breach\"], \"title\": \"VALPARAISO, Ind., Aug. 27, 2013: Advanced Data Processing, Inc.: Notification of Possible Unauthorized Access of Patient Information | PRNewswire | Rock Hill Herald Online\"} ==> 400 {'status': '400 Bad Request', 'x-ratelimit-remaining': '4993', 'x-github-media-type': 'github.beta; format=json', 'x-content-type-options': 'nosniff', 'access-control-expose-headers': 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes', 'x-github-request-id': '54c3445d-e229-4b45-b3f1-ef528f1325be', 'x-accepted-oauth-scopes': 'repo, public_repo', 'content-length': '35', 'server': 'GitHub.com', 'x-ratelimit-limit': '5000', 'access-control-allow-credentials': 'true', 'date': 'Wed, 04 Sep 2013 03:27:33 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', 'x-oauth-scopes': 'user, public_repo, repo, gist', 'x-ratelimit-reset': '1378268851'} {\"message\":\"Problems parsing JSON\"}\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23794023","html_url":"https://github.com/jacquev6/PyGithub/issues/194#issuecomment-23794023","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194","id":23794023,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-04T14:35:22Z","updated_at":"2013-09-04T14:35:22Z","body":"Hum in fact I'm going to need your help to solve this... \r\n\r\nCan you please run the script here: https://gist.github.com/jacquev6/6437766 (modify it to use your credentials first) and tell me what you obtain?\r\n\r\nWhen I run it, it works, and the request sent (before the \"==>\" in the log) it **very** similar to the request failing in your case:\r\n\r\n POST https://api.github.com/repos/jacquev6/TestPyGithub/issues {'Content-Type': 'application/json', 'Authorization': 'Basic (login and password removed)', 'User-Agent': 'PyGithub/Python'} {\"body\": \"http://www.heraldonline.com/2013/08/27/5152564/advanced-data-processing-inc-notification.html\\n\\nAnother of the ADP Partner breaches There are several more on the pinboard--search term is ADP.\\n\\nhttp://posttrib.suntimes.com/news/porter/22190511-418/valpo-ambulance-users-could-have-had-personal-information-stolen.html\\n\\nhttp://www.healthdatamanagement.com/news/breach-notification-hipaa-privacy-security-46520-1.html\\n\\n\\n2013 DataBreach NC\", \"labels\": [\"Breach\"], \"title\": \"VALPARAISO, Ind., Aug. 27, 2013: Advanced Data Processing, Inc.: Notification of Possible Unauthorized Access of Patient Information | PRNewswire | Rock Hill Herald Online\"} ==> 201 {'status': '201 Created', 'x-ratelimit-remaining': '4972', 'x-github-media-type': 'github.beta; format=json', 'x-content-type-options': 'nosniff', 'access-control-expose-headers': 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes', 'x-github-request-id': '2be0b759-6752-4210-8ec9-243932b431a4', 'cache-control': 'private, max-age=60, s-maxage=60', 'content-length': '2382', 'server': 'GitHub.com', 'x-ratelimit-limit': '5000', 'location': 'https://api.github.com/repos/jacquev6/TestPyGithub/issues/4', 'access-control-allow-credentials': 'true', 'date': 'Wed, 04 Sep 2013 14:27:51 GMT', 'etag': '\"c95c9d428a9cb16001205311010e4f98\"', 'content-type': 'application/json; charset=utf-8', 'access-control-allow-origin': '*', 'x-ratelimit-reset': '1378305746'} {\"url\":\"https://api.github.com/repos/jacquev6/TestPyGithub/issues/4\",\"labels_url\":\"https://api.github.com/repos/jacquev6/TestPyGithub/issues/4/labels{/name}\",\"comments_url\":\"https://api.github.com/repos/jacquev6/TestPyGithub/issues/4/comments\",\"events_url\":\"https://api.github.com/repos/jacquev6/TestPyGithub/issues/4/events\",\"html_url\":\"https://github.com/jacquev6/TestPyGithub/issues/4\",\"id\":18974584,\"number\":4,\"title\":\"VALPARAISO, Ind., Aug. 27, 2013: Advanced Data Processing, Inc.: Notification of Possible Unauthorized Access of Patient Information | PRNewswire | Rock Hill Herald Online\",\"user\":{\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"url\":\"https://api.github.com/users/jacquev6\",\"html_url\":\"https://github.com/jacquev6\",\"followers_url\":\"https://api.github.com/users/jacquev6/followers\",\"following_url\":\"https://api.github.com/users/jacquev6/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jacquev6/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jacquev6/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jacquev6/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jacquev6/orgs\",\"repos_url\":\"https://api.github.com/users/jacquev6/repos\",\"events_url\":\"https://api.github.com/users/jacquev6/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jacquev6/received_events\",\"type\":\"User\"},\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/TestPyGithub/labels/Breach\",\"name\":\"Breach\",\"color\":\"fbca04\"}],\"state\":\"open\",\"assignee\":null,\"milestone\":null,\"comments\":0,\"created_at\":\"2013-09-04T14:27:51Z\",\"updated_at\":\"2013-09-04T14:27:51Z\",\"closed_at\":null,\"pull_request\":{\"html_url\":null,\"diff_url\":null,\"patch_url\":null},\"body\":\"http://www.heraldonline.com/2013/08/27/5152564/advanced-data-processing-inc-notification.html\\n\\nAnother of the ADP Partner breaches There are several more on the pinboard--search term is ADP.\\n\\nhttp://posttrib.suntimes.com/news/porter/22190511-418/valpo-ambulance-users-could-have-had-personal-information-stolen.html\\n\\nhttp://www.healthdatamanagement.com/news/breach-notification-hipaa-privacy-security-46520-1.html\\n\\n\\n2013 DataBreach NC\",\"closed_by\":null}\r\n"}},"public":true,"created_at":"2013-09-04T14:35:23Z"},{"id":"1821420344","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193/events","html_url":"https://github.com/jacquev6/PyGithub/issues/193","id":18404629,"number":193,"title":"Add Conditional Request and Data Persistence Support Alternative Solution","user":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":7,"created_at":"2013-08-22T10:14:26Z","updated_at":"2013-09-04T13:43:45Z","closed_at":null,"pull_request":{"html_url":"https://github.com/jacquev6/PyGithub/pull/193","diff_url":"https://github.com/jacquev6/PyGithub/pull/193.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/193.patch"},"body":"An alternative solution to pull request #189 based on #192. I am making this new pull request for clarity.\r\nChange List\r\n---------------\r\n1. Add support to [Conditional Request](http://developer.github.com/guides/getting-started/#conditional-requests) API.\r\n * Add ```GithubObject.etag``` property\r\n * Add ```GithubObject.last_modified``` property\r\n * Modify ```Requester``` class to handle 304 response code\r\n * Modify ```Requester``` class to enable making conditional request\r\n * Add ```NotModifiedException``` class for 304 response code\r\n * Add ```GithubObject.update()``` method\r\n * Add a few private helper methods to make this work\r\n2. Add methods for Data Persistence\r\n * Add ```GithubObject.save(file_fname)``` method\r\n * Add ```GithubObject.load(file_fname)``` class method\r\n3. Test class for conditional request\r\n\r\nUsage\r\n---------------\r\n```python\r\n# Get remote issue list and cache locally when syncing\r\nfor issue in repo.get_issues():\r\n issue.save(local_file_path)\r\n\r\n# Offline use/Quick restore previous work state\r\nfor local_file_path in cache.get_files():\r\n cached_issue = issue.load(local_file_path)\r\n #do something with it\r\n\r\n# And check for update when needed\r\nif (cached_issue.update()):\r\n print \"Issue synced“\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23789799","html_url":"https://github.com/jacquev6/PyGithub/issues/193#issuecomment-23789799","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/193","id":23789799,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-04T13:43:45Z","updated_at":"2013-09-04T13:43:45Z","body":"Thank you for the update, this looks very promising! I'll look at it this afternoon."}},"public":true,"created_at":"2013-09-04T13:43:45Z"},{"id":"1821419438","type":"IssueCommentEvent","actor":{"id":327146,"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/events","html_url":"https://github.com/jacquev6/PyGithub/issues/194","id":18951718,"number":194,"title":"GitHub 400 \"Problems parsing JSON\" when creating an issue","user":{"login":"technoskald","id":1624387,"avatar_url":"https://1.gravatar.com/avatar/afdbc4563c208b1bc332762fbd1145cb?d=https%3A%2F%2Fidenticons.github.com%2F1fe48bd7b38910219f53e7709ac82ccf.png","gravatar_id":"afdbc4563c208b1bc332762fbd1145cb","url":"https://api.github.com/users/technoskald","html_url":"https://github.com/technoskald","followers_url":"https://api.github.com/users/technoskald/followers","following_url":"https://api.github.com/users/technoskald/following{/other_user}","gists_url":"https://api.github.com/users/technoskald/gists{/gist_id}","starred_url":"https://api.github.com/users/technoskald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoskald/subscriptions","organizations_url":"https://api.github.com/users/technoskald/orgs","repos_url":"https://api.github.com/users/technoskald/repos","events_url":"https://api.github.com/users/technoskald/events{/privacy}","received_events_url":"https://api.github.com/users/technoskald/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":3,"closed_issues":1,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-04T13:41:07Z","due_on":null},"comments":1,"created_at":"2013-09-04T03:34:22Z","updated_at":"2013-09-04T13:42:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm working from the `develop` branch and consistently get an `HTTP 400: Problems parsing JSON` when trying to create an issue.\r\n\r\nThe traceback, including the actual API call, is:\r\n```\r\nTraceback (most recent call last):\r\n File \"import.py\", line 68, in \r\n issue=repo.create_issue(title=i['description'],body=comment,labels=ilabels)\r\n File \"/home/kmaxwell/PyGithub/github/Repository.py\", line 557, in create_issue\r\n post_parameters\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 171, in requestJsonAndCheck\r\n return self.__check(*self.requestJson(verb, url, parameters, input))\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 182, in __check\r\n raise self.__createException(status, output)\r\ngithub.GithubException.GithubException: 400 {u'message': u'Problems parsing JSON'}\r\n```\r\n\r\nAdditionally, I enabled console logging while debugging (per the contribution guidelines) and have the following logs:\r\n\r\n```\r\nPOST https://api.github.com/repos/vz-risk/VCDB/issues {'Content-Type': 'application/json', 'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} {\"body\": \"http://www.heraldonline.com/2013/08/27/5152564/advanced-data-processing-inc-notification.html\\n\\nAnother of the ADP Partner breaches There are several more on the pinboard--search term is ADP.\\n\\nhttp://posttrib.suntimes.com/news/porter/22190511-418/valpo-ambulance-users-could-have-had-personal-information-stolen.html\\n\\nhttp://www.healthdatamanagement.com/news/breach-notification-hipaa-privacy-security-46520-1.html\\n\\n\\n2013 DataBreach NC\", \"labels\": [\"Breach\"], \"title\": \"VALPARAISO, Ind., Aug. 27, 2013: Advanced Data Processing, Inc.: Notification of Possible Unauthorized Access of Patient Information | PRNewswire | Rock Hill Herald Online\"} ==> 400 {'status': '400 Bad Request', 'x-ratelimit-remaining': '4993', 'x-github-media-type': 'github.beta; format=json', 'x-content-type-options': 'nosniff', 'access-control-expose-headers': 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes', 'x-github-request-id': '54c3445d-e229-4b45-b3f1-ef528f1325be', 'x-accepted-oauth-scopes': 'repo, public_repo', 'content-length': '35', 'server': 'GitHub.com', 'x-ratelimit-limit': '5000', 'access-control-allow-credentials': 'true', 'date': 'Wed, 04 Sep 2013 03:27:33 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', 'x-oauth-scopes': 'user, public_repo, repo, gist', 'x-ratelimit-reset': '1378268851'} {\"message\":\"Problems parsing JSON\"}\r\n```"},"comment":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/23789742","html_url":"https://github.com/jacquev6/PyGithub/issues/194#issuecomment-23789742","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194","id":23789742,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"created_at":"2013-09-04T13:42:51Z","updated_at":"2013-09-04T13:42:51Z","body":"Hello! Thank you for the issue report, I have all the info I need to investigate that.\r\n\r\nThere seems to be something wrong with the json-encoding of the request, in PyGithub. I'll keep you informed this afternoon."}},"public":true,"created_at":"2013-09-04T13:42:52Z"},{"id":"1821181865","type":"WatchEvent","actor":{"id":1114542,"login":"nvbn","gravatar_id":"9c2082cdbe74353788ae2845c2bd8281","url":"https://api.github.com/users/nvbn","avatar_url":"https://1.gravatar.com/avatar/9c2082cdbe74353788ae2845c2bd8281?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"started"},"public":true,"created_at":"2013-09-04T08:31:39Z"},{"id":"1821036113","type":"IssuesEvent","actor":{"id":1624387,"login":"technoskald","gravatar_id":"afdbc4563c208b1bc332762fbd1145cb","url":"https://api.github.com/users/technoskald","avatar_url":"https://1.gravatar.com/avatar/afdbc4563c208b1bc332762fbd1145cb?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/194/events","html_url":"https://github.com/jacquev6/PyGithub/issues/194","id":18951718,"number":194,"title":"GitHub 400 \"Problems parsing JSON\" when creating an issue","user":{"login":"technoskald","id":1624387,"avatar_url":"https://0.gravatar.com/avatar/afdbc4563c208b1bc332762fbd1145cb?d=https%3A%2F%2Fidenticons.github.com%2F1fe48bd7b38910219f53e7709ac82ccf.png","gravatar_id":"afdbc4563c208b1bc332762fbd1145cb","url":"https://api.github.com/users/technoskald","html_url":"https://github.com/technoskald","followers_url":"https://api.github.com/users/technoskald/followers","following_url":"https://api.github.com/users/technoskald/following{/other_user}","gists_url":"https://api.github.com/users/technoskald/gists{/gist_id}","starred_url":"https://api.github.com/users/technoskald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoskald/subscriptions","organizations_url":"https://api.github.com/users/technoskald/orgs","repos_url":"https://api.github.com/users/technoskald/repos","events_url":"https://api.github.com/users/technoskald/events{/privacy}","received_events_url":"https://api.github.com/users/technoskald/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-09-04T03:34:22Z","updated_at":"2013-09-04T03:34:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm working from the `develop` branch and consistently get an `HTTP 400: Problems parsing JSON` when trying to create an issue.\r\n\r\nThe traceback, including the actual API call, is:\r\n```\r\nTraceback (most recent call last):\r\n File \"import.py\", line 68, in \r\n issue=repo.create_issue(title=i['description'],body=comment,labels=ilabels)\r\n File \"/home/kmaxwell/PyGithub/github/Repository.py\", line 557, in create_issue\r\n post_parameters\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 171, in requestJsonAndCheck\r\n return self.__check(*self.requestJson(verb, url, parameters, input))\r\n File \"/home/kmaxwell/PyGithub/github/Requester.py\", line 182, in __check\r\n raise self.__createException(status, output)\r\ngithub.GithubException.GithubException: 400 {u'message': u'Problems parsing JSON'}\r\n```\r\n\r\nAdditionally, I enabled console logging while debugging (per the contribution guidelines) and have the following logs:\r\n\r\n```\r\nPOST https://api.github.com/repos/vz-risk/VCDB/issues {'Content-Type': 'application/json', 'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} {\"body\": \"http://www.heraldonline.com/2013/08/27/5152564/advanced-data-processing-inc-notification.html\\n\\nAnother of the ADP Partner breaches There are several more on the pinboard--search term is ADP.\\n\\nhttp://posttrib.suntimes.com/news/porter/22190511-418/valpo-ambulance-users-could-have-had-personal-information-stolen.html\\n\\nhttp://www.healthdatamanagement.com/news/breach-notification-hipaa-privacy-security-46520-1.html\\n\\n\\n2013 DataBreach NC\", \"labels\": [\"Breach\"], \"title\": \"VALPARAISO, Ind., Aug. 27, 2013: Advanced Data Processing, Inc.: Notification of Possible Unauthorized Access of Patient Information | PRNewswire | Rock Hill Herald Online\"} ==> 400 {'status': '400 Bad Request', 'x-ratelimit-remaining': '4993', 'x-github-media-type': 'github.beta; format=json', 'x-content-type-options': 'nosniff', 'access-control-expose-headers': 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes', 'x-github-request-id': '54c3445d-e229-4b45-b3f1-ef528f1325be', 'x-accepted-oauth-scopes': 'repo, public_repo', 'content-length': '35', 'server': 'GitHub.com', 'x-ratelimit-limit': '5000', 'access-control-allow-credentials': 'true', 'date': 'Wed, 04 Sep 2013 03:27:33 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', 'x-oauth-scopes': 'user, public_repo, repo, gist', 'x-ratelimit-reset': '1378268851'} {\"message\":\"Problems parsing JSON\"}\r\n```"}},"public":true,"created_at":"2013-09-04T03:34:22Z"},{"id":"1819316534","type":"WatchEvent","actor":{"id":1681405,"login":"marianitadn","gravatar_id":"4ede901d02edfca3e35db27377f13d5d","url":"https://api.github.com/users/marianitadn","avatar_url":"https://2.gravatar.com/avatar/4ede901d02edfca3e35db27377f13d5d?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"action":"started"},"public":true,"created_at":"2013-09-02T07:43:17Z"},{"id":"1818956660","type":"ForkEvent","actor":{"id":5172637,"login":"schmidt-fu","gravatar_id":"c9ced8b816f6470e64a4ad13f8ebe16a","url":"https://api.github.com/users/schmidt-fu","avatar_url":"https://1.gravatar.com/avatar/c9ced8b816f6470e64a4ad13f8ebe16a?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"repo":{"id":3544490,"name":"jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub"},"payload":{"forkee":{"id":12518636,"name":"PyGithub","full_name":"schmidt-fu/PyGithub","owner":{"login":"schmidt-fu","id":5172637,"avatar_url":"https://2.gravatar.com/avatar/c9ced8b816f6470e64a4ad13f8ebe16a?d=https%3A%2F%2Fidenticons.github.com%2F3cc9645c6fb2437530f57a2253cf3a8c.png","gravatar_id":"c9ced8b816f6470e64a4ad13f8ebe16a","url":"https://api.github.com/users/schmidt-fu","html_url":"https://github.com/schmidt-fu","followers_url":"https://api.github.com/users/schmidt-fu/followers","following_url":"https://api.github.com/users/schmidt-fu/following{/other_user}","gists_url":"https://api.github.com/users/schmidt-fu/gists{/gist_id}","starred_url":"https://api.github.com/users/schmidt-fu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmidt-fu/subscriptions","organizations_url":"https://api.github.com/users/schmidt-fu/orgs","repos_url":"https://api.github.com/users/schmidt-fu/repos","events_url":"https://api.github.com/users/schmidt-fu/events{/privacy}","received_events_url":"https://api.github.com/users/schmidt-fu/received_events","type":"User"},"private":false,"html_url":"https://github.com/schmidt-fu/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/schmidt-fu/PyGithub","forks_url":"https://api.github.com/repos/schmidt-fu/PyGithub/forks","keys_url":"https://api.github.com/repos/schmidt-fu/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/schmidt-fu/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/schmidt-fu/PyGithub/teams","hooks_url":"https://api.github.com/repos/schmidt-fu/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/schmidt-fu/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/schmidt-fu/PyGithub/events","assignees_url":"https://api.github.com/repos/schmidt-fu/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/schmidt-fu/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/schmidt-fu/PyGithub/tags","blobs_url":"https://api.github.com/repos/schmidt-fu/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/schmidt-fu/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/schmidt-fu/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/schmidt-fu/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/schmidt-fu/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/schmidt-fu/PyGithub/languages","stargazers_url":"https://api.github.com/repos/schmidt-fu/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/schmidt-fu/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/schmidt-fu/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/schmidt-fu/PyGithub/subscription","commits_url":"https://api.github.com/repos/schmidt-fu/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/schmidt-fu/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/schmidt-fu/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/schmidt-fu/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/schmidt-fu/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/schmidt-fu/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/schmidt-fu/PyGithub/merges","archive_url":"https://api.github.com/repos/schmidt-fu/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/schmidt-fu/PyGithub/downloads","issues_url":"https://api.github.com/repos/schmidt-fu/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/schmidt-fu/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/schmidt-fu/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/schmidt-fu/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/schmidt-fu/PyGithub/labels{/name}","created_at":"2013-09-01T09:51:50Z","updated_at":"2013-09-01T09:51:50Z","pushed_at":"2013-08-23T17:06:48Z","git_url":"git://github.com/schmidt-fu/PyGithub.git","ssh_url":"git@github.com:schmidt-fu/PyGithub.git","clone_url":"https://github.com/schmidt-fu/PyGithub.git","svn_url":"https://github.com/schmidt-fu/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7642,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","public":true}},"public":true,"created_at":"2013-09-01T09:51:50Z"}] - -https -GET -api.github.com -None -/notifications/threads/8406712 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4867'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '30848a7f-7351-4751-af8c-3b0a85f5bb7e'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '4203'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"848b2905eeb475bca3c72fe17bedcc0c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:00 GMT'), ('access-control-allow-origin', '*'), ('x-poll-interval', '60'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"id":"8406712","unread":null,"reason":"subscribed","updated_at":"2013-03-15T05:43:11Z","last_read_at":null,"subject":{"title":"Feature/coveralls","url":"https://api.github.com/repos/ZIMK/fwadmin/pulls/21","latest_comment_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/comments/14944813","type":"PullRequest"},"repository":{"id":8432784,"name":"fwadmin","full_name":"ZIMK/fwadmin","owner":{"login":"ZIMK","id":1187008,"avatar_url":"https://1.gravatar.com/avatar/ce407a684dac7cf642606501244dd9f0?d=https%3A%2F%2Fidenticons.github.com%2Fa8b50d6bf21d85e47ce11e1d23087af2.png","gravatar_id":"ce407a684dac7cf642606501244dd9f0","url":"https://api.github.com/users/ZIMK","html_url":"https://github.com/ZIMK","followers_url":"https://api.github.com/users/ZIMK/followers","following_url":"https://api.github.com/users/ZIMK/following{/other_user}","gists_url":"https://api.github.com/users/ZIMK/gists{/gist_id}","starred_url":"https://api.github.com/users/ZIMK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZIMK/subscriptions","organizations_url":"https://api.github.com/users/ZIMK/orgs","repos_url":"https://api.github.com/users/ZIMK/repos","events_url":"https://api.github.com/users/ZIMK/events{/privacy}","received_events_url":"https://api.github.com/users/ZIMK/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/ZIMK/fwadmin","description":"Django based self-service firewall config tool","fork":true,"url":"https://api.github.com/repos/ZIMK/fwadmin","forks_url":"https://api.github.com/repos/ZIMK/fwadmin/forks","keys_url":"https://api.github.com/repos/ZIMK/fwadmin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ZIMK/fwadmin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ZIMK/fwadmin/teams","hooks_url":"https://api.github.com/repos/ZIMK/fwadmin/hooks","issue_events_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/events{/number}","events_url":"https://api.github.com/repos/ZIMK/fwadmin/events","assignees_url":"https://api.github.com/repos/ZIMK/fwadmin/assignees{/user}","branches_url":"https://api.github.com/repos/ZIMK/fwadmin/branches{/branch}","tags_url":"https://api.github.com/repos/ZIMK/fwadmin/tags","blobs_url":"https://api.github.com/repos/ZIMK/fwadmin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ZIMK/fwadmin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ZIMK/fwadmin/git/refs{/sha}","trees_url":"https://api.github.com/repos/ZIMK/fwadmin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ZIMK/fwadmin/statuses/{sha}","languages_url":"https://api.github.com/repos/ZIMK/fwadmin/languages","stargazers_url":"https://api.github.com/repos/ZIMK/fwadmin/stargazers","contributors_url":"https://api.github.com/repos/ZIMK/fwadmin/contributors","subscribers_url":"https://api.github.com/repos/ZIMK/fwadmin/subscribers","subscription_url":"https://api.github.com/repos/ZIMK/fwadmin/subscription","commits_url":"https://api.github.com/repos/ZIMK/fwadmin/commits{/sha}","git_commits_url":"https://api.github.com/repos/ZIMK/fwadmin/git/commits{/sha}","comments_url":"https://api.github.com/repos/ZIMK/fwadmin/comments{/number}","issue_comment_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/comments/{number}","contents_url":"https://api.github.com/repos/ZIMK/fwadmin/contents/{+path}","compare_url":"https://api.github.com/repos/ZIMK/fwadmin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ZIMK/fwadmin/merges","archive_url":"https://api.github.com/repos/ZIMK/fwadmin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ZIMK/fwadmin/downloads","issues_url":"https://api.github.com/repos/ZIMK/fwadmin/issues{/number}","pulls_url":"https://api.github.com/repos/ZIMK/fwadmin/pulls{/number}","milestones_url":"https://api.github.com/repos/ZIMK/fwadmin/milestones{/number}","notifications_url":"https://api.github.com/repos/ZIMK/fwadmin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ZIMK/fwadmin/labels{/name}"},"url":"https://api.github.com/notifications/threads/8406712","subscription_url":"https://api.github.com/notifications/threads/8406712/subscription"} - -https -GET -api.github.com -None -/users/jacquev6 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'f88ab8d2-9b5a-4283-8001-fdd72ca23ee2'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:00 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a -{'If-None-Match': '"91582e2dc24ad5461e61062c01b32969"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Wed, 09 May 2012 16:22:33 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '74293a9e-2207-4848-903c-69d3b04efebe'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 09 May 2012 16:22:33 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"91582e2dc24ad5461e61062c01b32969"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:01 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/comments/3630301 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '31f93d19-354a-448b-ac36-9c674814c063'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:02 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/compare/master...develop -{'If-None-Match': '"ff2ab76c56b865233dfb98f5804276b6"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 09:04:41 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'bed81d6d-586b-453e-bf17-3db9b2abe473'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 09:04:41 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ff2ab76c56b865233dfb98f5804276b6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:03 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/README.rst?ref=master -{'If-None-Match': '"bbffa70478199a10902bf5da76db3481"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Wed, 21 Aug 2013 16:39:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'c3ab101c-0643-4405-8dde-d9738631a6d1'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:39:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"bbffa70478199a10902bf5da76db3481"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:04 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/gists/149016 -{'If-None-Match': '"1aaa6053c05e25abbc1703b90bd409b9"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 13:04:59 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'acf3d7f7-920c-4e6c-9e9f-8c619691fd70'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 13:04:59 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"1aaa6053c05e25abbc1703b90bd409b9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:05 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/gists/149016/comments/4565 -{'If-None-Match': '"923dd32a449cce56dae93d3438b9451a"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 29 Aug 2013 01:07:03 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4867'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '76905633-de04-422b-83f6-9f8dde705b0f'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 29 Aug 2013 01:07:03 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"923dd32a449cce56dae93d3438b9451a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:06 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/gists/149016/3e0e8350f040f21811ceea13975086158ccae986 -{'If-None-Match': '"1aaa6053c05e25abbc1703b90bd409b9"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 13:04:59 GMT'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4866'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '704fb785-3c6d-4f9f-9c14-91f368156bb0'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '32105'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"ad4288b80b5ef38fdd8599ec34f610f7"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:09 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/gists/149016","forks_url":"https://api.github.com/gists/149016/forks","commits_url":"https://api.github.com/gists/149016/commits","id":"149016","git_pull_url":"https://gist.github.com/149016.git","git_push_url":"https://gist.github.com/149016.git","html_url":"https://gist.github.com/149016","files":{".gitignore":{"filename":".gitignore","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/149016/e056704ebab0fbcd7bf937169b4057d378d09cf8/.gitignore","size":145,"content":"*.aux\n*.glo\n*.idx\n*.log\n*.toc\n*.ist\n*.acn\n*.acr\n*.alg\n*.bbl\n*.blg\n*.dvi\n*.glg\n*.gls\n*.ilg\n*.ind\n*.lof\n*.lot\n*.maf\n*.mtc\n*.mtc1\n*.out\n*.synctex.gz"}},"public":true,"created_at":"2009-07-17T11:37:42Z","updated_at":"2013-09-06T13:04:59Z","description":"Git: .gitignore file for LaTeX projects","comments":18,"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"comments_url":"https://api.github.com/gists/149016/comments","forks":[{"url":"https://api.github.com/gists/452042","user":{"login":"cflewis","id":43708,"avatar_url":"https://2.gravatar.com/avatar/5f986018993d9f078927fe29ee912cf2?d=https%3A%2F%2Fidenticons.github.com%2F287915711d06ce6d90e2c18e1d89d3a6.png","gravatar_id":"5f986018993d9f078927fe29ee912cf2","url":"https://api.github.com/users/cflewis","html_url":"https://github.com/cflewis","followers_url":"https://api.github.com/users/cflewis/followers","following_url":"https://api.github.com/users/cflewis/following{/other_user}","gists_url":"https://api.github.com/users/cflewis/gists{/gist_id}","starred_url":"https://api.github.com/users/cflewis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cflewis/subscriptions","organizations_url":"https://api.github.com/users/cflewis/orgs","repos_url":"https://api.github.com/users/cflewis/repos","events_url":"https://api.github.com/users/cflewis/events{/privacy}","received_events_url":"https://api.github.com/users/cflewis/received_events","type":"User"},"id":"452042","created_at":"2010-06-24T21:51:00Z","updated_at":"2010-06-24T21:51:25Z"},{"url":"https://api.github.com/gists/871983","user":{"login":"rbochet","id":56806,"avatar_url":"https://2.gravatar.com/avatar/54925726f7c3a2b76028718eddb8522a?d=https%3A%2F%2Fidenticons.github.com%2F8818556ce6ba4bc9302dca9ec1979591.png","gravatar_id":"54925726f7c3a2b76028718eddb8522a","url":"https://api.github.com/users/rbochet","html_url":"https://github.com/rbochet","followers_url":"https://api.github.com/users/rbochet/followers","following_url":"https://api.github.com/users/rbochet/following{/other_user}","gists_url":"https://api.github.com/users/rbochet/gists{/gist_id}","starred_url":"https://api.github.com/users/rbochet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbochet/subscriptions","organizations_url":"https://api.github.com/users/rbochet/orgs","repos_url":"https://api.github.com/users/rbochet/repos","events_url":"https://api.github.com/users/rbochet/events{/privacy}","received_events_url":"https://api.github.com/users/rbochet/received_events","type":"User"},"id":"871983","created_at":"2011-03-16T03:48:24Z","updated_at":"2013-08-16T00:46:15Z"},{"url":"https://api.github.com/gists/980414","user":{"login":"j10","id":250070,"avatar_url":"https://0.gravatar.com/avatar/7eb0a4d397a695f7fd15069a4f24ad44?d=https%3A%2F%2Fidenticons.github.com%2F6019c728e12af5d048c3d2decb9800cd.png","gravatar_id":"7eb0a4d397a695f7fd15069a4f24ad44","url":"https://api.github.com/users/j10","html_url":"https://github.com/j10","followers_url":"https://api.github.com/users/j10/followers","following_url":"https://api.github.com/users/j10/following{/other_user}","gists_url":"https://api.github.com/users/j10/gists{/gist_id}","starred_url":"https://api.github.com/users/j10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/j10/subscriptions","organizations_url":"https://api.github.com/users/j10/orgs","repos_url":"https://api.github.com/users/j10/repos","events_url":"https://api.github.com/users/j10/events{/privacy}","received_events_url":"https://api.github.com/users/j10/received_events","type":"User"},"id":"980414","created_at":"2011-05-19T08:43:14Z","updated_at":"2011-05-19T08:43:20Z"},{"url":"https://api.github.com/gists/1404741","user":{"login":"Vaguery","id":81171,"avatar_url":"https://0.gravatar.com/avatar/db04d40ecceb0a4c0683a60462d11794?d=https%3A%2F%2Fidenticons.github.com%2Fc3ea21d464d21b7bf62431791ec01b78.png","gravatar_id":"db04d40ecceb0a4c0683a60462d11794","url":"https://api.github.com/users/Vaguery","html_url":"https://github.com/Vaguery","followers_url":"https://api.github.com/users/Vaguery/followers","following_url":"https://api.github.com/users/Vaguery/following{/other_user}","gists_url":"https://api.github.com/users/Vaguery/gists{/gist_id}","starred_url":"https://api.github.com/users/Vaguery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vaguery/subscriptions","organizations_url":"https://api.github.com/users/Vaguery/orgs","repos_url":"https://api.github.com/users/Vaguery/repos","events_url":"https://api.github.com/users/Vaguery/events{/privacy}","received_events_url":"https://api.github.com/users/Vaguery/received_events","type":"User"},"id":"1404741","created_at":"2011-11-29T13:05:35Z","updated_at":"2011-11-29T13:05:35Z"},{"url":"https://api.github.com/gists/1422904","user":{"login":"phieber","id":1208351,"avatar_url":"https://1.gravatar.com/avatar/e2f846ae903d79fa8750763d0809cab5?d=https%3A%2F%2Fidenticons.github.com%2F09c10f8d5454910d48c67ff6081e8601.png","gravatar_id":"e2f846ae903d79fa8750763d0809cab5","url":"https://api.github.com/users/phieber","html_url":"https://github.com/phieber","followers_url":"https://api.github.com/users/phieber/followers","following_url":"https://api.github.com/users/phieber/following{/other_user}","gists_url":"https://api.github.com/users/phieber/gists{/gist_id}","starred_url":"https://api.github.com/users/phieber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phieber/subscriptions","organizations_url":"https://api.github.com/users/phieber/orgs","repos_url":"https://api.github.com/users/phieber/repos","events_url":"https://api.github.com/users/phieber/events{/privacy}","received_events_url":"https://api.github.com/users/phieber/received_events","type":"User"},"id":"1422904","created_at":"2011-12-02T11:25:46Z","updated_at":"2011-12-02T11:25:46Z"},{"url":"https://api.github.com/gists/1585783","user":{"login":"pbroschwitz","id":92129,"avatar_url":"https://1.gravatar.com/avatar/68e33f71f778ec322d68ca15ef2a7315?d=https%3A%2F%2Fidenticons.github.com%2F8417990ede5b8e7dc3295d4dd63e4062.png","gravatar_id":"68e33f71f778ec322d68ca15ef2a7315","url":"https://api.github.com/users/pbroschwitz","html_url":"https://github.com/pbroschwitz","followers_url":"https://api.github.com/users/pbroschwitz/followers","following_url":"https://api.github.com/users/pbroschwitz/following{/other_user}","gists_url":"https://api.github.com/users/pbroschwitz/gists{/gist_id}","starred_url":"https://api.github.com/users/pbroschwitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pbroschwitz/subscriptions","organizations_url":"https://api.github.com/users/pbroschwitz/orgs","repos_url":"https://api.github.com/users/pbroschwitz/repos","events_url":"https://api.github.com/users/pbroschwitz/events{/privacy}","received_events_url":"https://api.github.com/users/pbroschwitz/received_events","type":"User"},"id":"1585783","created_at":"2012-01-09T23:59:07Z","updated_at":"2012-02-20T11:18:52Z"},{"url":"https://api.github.com/gists/2549120","user":{"login":"gaving","id":43741,"avatar_url":"https://2.gravatar.com/avatar/839485ec6b0111d4ccc69646789d6728?d=https%3A%2F%2Fidenticons.github.com%2F781870bb5979fcc948dcc48da5fb798a.png","gravatar_id":"839485ec6b0111d4ccc69646789d6728","url":"https://api.github.com/users/gaving","html_url":"https://github.com/gaving","followers_url":"https://api.github.com/users/gaving/followers","following_url":"https://api.github.com/users/gaving/following{/other_user}","gists_url":"https://api.github.com/users/gaving/gists{/gist_id}","starred_url":"https://api.github.com/users/gaving/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaving/subscriptions","organizations_url":"https://api.github.com/users/gaving/orgs","repos_url":"https://api.github.com/users/gaving/repos","events_url":"https://api.github.com/users/gaving/events{/privacy}","received_events_url":"https://api.github.com/users/gaving/received_events","type":"User"},"id":"2549120","created_at":"2012-04-29T09:57:32Z","updated_at":"2012-04-29T09:57:32Z"},{"url":"https://api.github.com/gists/2549928","user":{"login":"pbelmans","id":700126,"avatar_url":"https://2.gravatar.com/avatar/bf4c56431003682b725b72668e7de35f?d=https%3A%2F%2Fidenticons.github.com%2Fb6e0db3b4d374eb7e8d52b9f271f4822.png","gravatar_id":"bf4c56431003682b725b72668e7de35f","url":"https://api.github.com/users/pbelmans","html_url":"https://github.com/pbelmans","followers_url":"https://api.github.com/users/pbelmans/followers","following_url":"https://api.github.com/users/pbelmans/following{/other_user}","gists_url":"https://api.github.com/users/pbelmans/gists{/gist_id}","starred_url":"https://api.github.com/users/pbelmans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pbelmans/subscriptions","organizations_url":"https://api.github.com/users/pbelmans/orgs","repos_url":"https://api.github.com/users/pbelmans/repos","events_url":"https://api.github.com/users/pbelmans/events{/privacy}","received_events_url":"https://api.github.com/users/pbelmans/received_events","type":"User"},"id":"2549928","created_at":"2012-04-29T12:07:11Z","updated_at":"2012-05-14T11:08:39Z"},{"url":"https://api.github.com/gists/3061207","user":{"login":"robEllenberg","id":1210940,"avatar_url":"https://1.gravatar.com/avatar/cee0a0313cb89262ccaf408cf42eeae8?d=https%3A%2F%2Fidenticons.github.com%2Fb927fc8b72fac9a5b05e8afd1545e069.png","gravatar_id":"cee0a0313cb89262ccaf408cf42eeae8","url":"https://api.github.com/users/robEllenberg","html_url":"https://github.com/robEllenberg","followers_url":"https://api.github.com/users/robEllenberg/followers","following_url":"https://api.github.com/users/robEllenberg/following{/other_user}","gists_url":"https://api.github.com/users/robEllenberg/gists{/gist_id}","starred_url":"https://api.github.com/users/robEllenberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robEllenberg/subscriptions","organizations_url":"https://api.github.com/users/robEllenberg/orgs","repos_url":"https://api.github.com/users/robEllenberg/repos","events_url":"https://api.github.com/users/robEllenberg/events{/privacy}","received_events_url":"https://api.github.com/users/robEllenberg/received_events","type":"User"},"id":"3061207","created_at":"2012-07-06T16:34:35Z","updated_at":"2012-07-06T16:34:35Z"},{"url":"https://api.github.com/gists/3073850","user":{"login":"naught101","id":167164,"avatar_url":"https://2.gravatar.com/avatar/20cb8dcc17ad4334c0f8cb1ddc28bcd0?d=https%3A%2F%2Fidenticons.github.com%2F16a0a5f3381b862da55875130a94ad3f.png","gravatar_id":"20cb8dcc17ad4334c0f8cb1ddc28bcd0","url":"https://api.github.com/users/naught101","html_url":"https://github.com/naught101","followers_url":"https://api.github.com/users/naught101/followers","following_url":"https://api.github.com/users/naught101/following{/other_user}","gists_url":"https://api.github.com/users/naught101/gists{/gist_id}","starred_url":"https://api.github.com/users/naught101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naught101/subscriptions","organizations_url":"https://api.github.com/users/naught101/orgs","repos_url":"https://api.github.com/users/naught101/repos","events_url":"https://api.github.com/users/naught101/events{/privacy}","received_events_url":"https://api.github.com/users/naught101/received_events","type":"User"},"id":"3073850","created_at":"2012-07-09T02:17:21Z","updated_at":"2012-07-09T02:17:21Z"},{"url":"https://api.github.com/gists/3683565","user":{"login":"TKAB","id":66597,"avatar_url":"https://1.gravatar.com/avatar/7a66c8124726c66cf9901d7e09f4f3cb?d=https%3A%2F%2Fidenticons.github.com%2F4bec99ec5bd39630575692948d9e8169.png","gravatar_id":"7a66c8124726c66cf9901d7e09f4f3cb","url":"https://api.github.com/users/TKAB","html_url":"https://github.com/TKAB","followers_url":"https://api.github.com/users/TKAB/followers","following_url":"https://api.github.com/users/TKAB/following{/other_user}","gists_url":"https://api.github.com/users/TKAB/gists{/gist_id}","starred_url":"https://api.github.com/users/TKAB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TKAB/subscriptions","organizations_url":"https://api.github.com/users/TKAB/orgs","repos_url":"https://api.github.com/users/TKAB/repos","events_url":"https://api.github.com/users/TKAB/events{/privacy}","received_events_url":"https://api.github.com/users/TKAB/received_events","type":"User"},"id":"3683565","created_at":"2012-09-09T09:58:43Z","updated_at":"2012-09-09T09:58:43Z"},{"url":"https://api.github.com/gists/3802139","user":{"login":"linchen04","id":1383767,"avatar_url":"https://1.gravatar.com/avatar/4380e7c4928005fc0eaf9772e1fe64b7?d=https%3A%2F%2Fidenticons.github.com%2F39a2a9b3f884c9a2e97ce61cb56e02fd.png","gravatar_id":"4380e7c4928005fc0eaf9772e1fe64b7","url":"https://api.github.com/users/linchen04","html_url":"https://github.com/linchen04","followers_url":"https://api.github.com/users/linchen04/followers","following_url":"https://api.github.com/users/linchen04/following{/other_user}","gists_url":"https://api.github.com/users/linchen04/gists{/gist_id}","starred_url":"https://api.github.com/users/linchen04/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linchen04/subscriptions","organizations_url":"https://api.github.com/users/linchen04/orgs","repos_url":"https://api.github.com/users/linchen04/repos","events_url":"https://api.github.com/users/linchen04/events{/privacy}","received_events_url":"https://api.github.com/users/linchen04/received_events","type":"User"},"id":"3802139","created_at":"2012-09-28T21:20:16Z","updated_at":"2012-09-28T21:20:16Z"},{"url":"https://api.github.com/gists/3958094","user":{"login":"macalicious","id":717205,"avatar_url":"https://2.gravatar.com/avatar/59eb80f68e015e725e9eeb90f24987b2?d=https%3A%2F%2Fidenticons.github.com%2F1d2591e0232d5734561c3c71252a2efa.png","gravatar_id":"59eb80f68e015e725e9eeb90f24987b2","url":"https://api.github.com/users/macalicious","html_url":"https://github.com/macalicious","followers_url":"https://api.github.com/users/macalicious/followers","following_url":"https://api.github.com/users/macalicious/following{/other_user}","gists_url":"https://api.github.com/users/macalicious/gists{/gist_id}","starred_url":"https://api.github.com/users/macalicious/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macalicious/subscriptions","organizations_url":"https://api.github.com/users/macalicious/orgs","repos_url":"https://api.github.com/users/macalicious/repos","events_url":"https://api.github.com/users/macalicious/events{/privacy}","received_events_url":"https://api.github.com/users/macalicious/received_events","type":"User"},"id":"3958094","created_at":"2012-10-26T10:37:44Z","updated_at":"2012-10-26T10:37:44Z"},{"url":"https://api.github.com/gists/4362953","user":{"login":"dermesser","id":1042327,"avatar_url":"https://0.gravatar.com/avatar/1f99406671a26d17de4f0a52a41ad0c7?d=https%3A%2F%2Fidenticons.github.com%2F1b2f62f9f8f36eeb3c2a1ed42d1a2249.png","gravatar_id":"1f99406671a26d17de4f0a52a41ad0c7","url":"https://api.github.com/users/dermesser","html_url":"https://github.com/dermesser","followers_url":"https://api.github.com/users/dermesser/followers","following_url":"https://api.github.com/users/dermesser/following{/other_user}","gists_url":"https://api.github.com/users/dermesser/gists{/gist_id}","starred_url":"https://api.github.com/users/dermesser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dermesser/subscriptions","organizations_url":"https://api.github.com/users/dermesser/orgs","repos_url":"https://api.github.com/users/dermesser/repos","events_url":"https://api.github.com/users/dermesser/events{/privacy}","received_events_url":"https://api.github.com/users/dermesser/received_events","type":"User"},"id":"4362953","created_at":"2012-12-23T11:04:08Z","updated_at":"2013-08-07T18:49:16Z"},{"url":"https://api.github.com/gists/4401093","user":{"login":"szalansky","id":323025,"avatar_url":"https://1.gravatar.com/avatar/b96196ac5b306a6f0d302dd9f82a24ee?d=https%3A%2F%2Fidenticons.github.com%2F6470274ac82665a71a91d36c419016ce.png","gravatar_id":"b96196ac5b306a6f0d302dd9f82a24ee","url":"https://api.github.com/users/szalansky","html_url":"https://github.com/szalansky","followers_url":"https://api.github.com/users/szalansky/followers","following_url":"https://api.github.com/users/szalansky/following{/other_user}","gists_url":"https://api.github.com/users/szalansky/gists{/gist_id}","starred_url":"https://api.github.com/users/szalansky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szalansky/subscriptions","organizations_url":"https://api.github.com/users/szalansky/orgs","repos_url":"https://api.github.com/users/szalansky/repos","events_url":"https://api.github.com/users/szalansky/events{/privacy}","received_events_url":"https://api.github.com/users/szalansky/received_events","type":"User"},"id":"4401093","created_at":"2012-12-28T19:28:03Z","updated_at":"2012-12-28T19:28:03Z"},{"url":"https://api.github.com/gists/4568476","user":{"login":"flomey","id":3226735,"avatar_url":"https://1.gravatar.com/avatar/3143afe043a2fdcd6a22a537e4cc3c8e?d=https%3A%2F%2Fidenticons.github.com%2F9271b5a509f2dabd1c5850acf684759c.png","gravatar_id":"3143afe043a2fdcd6a22a537e4cc3c8e","url":"https://api.github.com/users/flomey","html_url":"https://github.com/flomey","followers_url":"https://api.github.com/users/flomey/followers","following_url":"https://api.github.com/users/flomey/following{/other_user}","gists_url":"https://api.github.com/users/flomey/gists{/gist_id}","starred_url":"https://api.github.com/users/flomey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flomey/subscriptions","organizations_url":"https://api.github.com/users/flomey/orgs","repos_url":"https://api.github.com/users/flomey/repos","events_url":"https://api.github.com/users/flomey/events{/privacy}","received_events_url":"https://api.github.com/users/flomey/received_events","type":"User"},"id":"4568476","created_at":"2013-01-18T20:59:25Z","updated_at":"2013-01-18T20:59:25Z"},{"url":"https://api.github.com/gists/4732801","user":{"login":"mhebing","id":905115,"avatar_url":"https://2.gravatar.com/avatar/14e2a01d187cb0a167942e24e9234f95?d=https%3A%2F%2Fidenticons.github.com%2Fb874dedd9bb70a549db142d519aa6648.png","gravatar_id":"14e2a01d187cb0a167942e24e9234f95","url":"https://api.github.com/users/mhebing","html_url":"https://github.com/mhebing","followers_url":"https://api.github.com/users/mhebing/followers","following_url":"https://api.github.com/users/mhebing/following{/other_user}","gists_url":"https://api.github.com/users/mhebing/gists{/gist_id}","starred_url":"https://api.github.com/users/mhebing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhebing/subscriptions","organizations_url":"https://api.github.com/users/mhebing/orgs","repos_url":"https://api.github.com/users/mhebing/repos","events_url":"https://api.github.com/users/mhebing/events{/privacy}","received_events_url":"https://api.github.com/users/mhebing/received_events","type":"User"},"id":"4732801","created_at":"2013-02-07T17:57:21Z","updated_at":"2013-02-07T17:59:53Z"},{"url":"https://api.github.com/gists/5074215","user":{"login":"fumingshih","id":171536,"avatar_url":"https://0.gravatar.com/avatar/cdaeda52c7e0e7db119ec242652a7eac?d=https%3A%2F%2Fidenticons.github.com%2Ff3daf33ead84c02b32d673addce28321.png","gravatar_id":"cdaeda52c7e0e7db119ec242652a7eac","url":"https://api.github.com/users/fumingshih","html_url":"https://github.com/fumingshih","followers_url":"https://api.github.com/users/fumingshih/followers","following_url":"https://api.github.com/users/fumingshih/following{/other_user}","gists_url":"https://api.github.com/users/fumingshih/gists{/gist_id}","starred_url":"https://api.github.com/users/fumingshih/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fumingshih/subscriptions","organizations_url":"https://api.github.com/users/fumingshih/orgs","repos_url":"https://api.github.com/users/fumingshih/repos","events_url":"https://api.github.com/users/fumingshih/events{/privacy}","received_events_url":"https://api.github.com/users/fumingshih/received_events","type":"User"},"id":"5074215","created_at":"2013-03-03T02:30:54Z","updated_at":"2013-03-03T02:30:54Z"},{"url":"https://api.github.com/gists/5126805","user":{"login":"xiddw","id":742519,"avatar_url":"https://2.gravatar.com/avatar/e3aea2d1cdb375467416bff41c614582?d=https%3A%2F%2Fidenticons.github.com%2Ffd082f32f1f9679671081ba58bb37459.png","gravatar_id":"e3aea2d1cdb375467416bff41c614582","url":"https://api.github.com/users/xiddw","html_url":"https://github.com/xiddw","followers_url":"https://api.github.com/users/xiddw/followers","following_url":"https://api.github.com/users/xiddw/following{/other_user}","gists_url":"https://api.github.com/users/xiddw/gists{/gist_id}","starred_url":"https://api.github.com/users/xiddw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiddw/subscriptions","organizations_url":"https://api.github.com/users/xiddw/orgs","repos_url":"https://api.github.com/users/xiddw/repos","events_url":"https://api.github.com/users/xiddw/events{/privacy}","received_events_url":"https://api.github.com/users/xiddw/received_events","type":"User"},"id":"5126805","created_at":"2013-03-10T02:21:30Z","updated_at":"2013-03-10T02:21:30Z"},{"url":"https://api.github.com/gists/5353918","user":{"login":"stared","id":1001610,"avatar_url":"https://2.gravatar.com/avatar/1b324e4900e79878eb518c1263b41795?d=https%3A%2F%2Fidenticons.github.com%2F031dfe1b6a9e475fa708179fb35beb3b.png","gravatar_id":"1b324e4900e79878eb518c1263b41795","url":"https://api.github.com/users/stared","html_url":"https://github.com/stared","followers_url":"https://api.github.com/users/stared/followers","following_url":"https://api.github.com/users/stared/following{/other_user}","gists_url":"https://api.github.com/users/stared/gists{/gist_id}","starred_url":"https://api.github.com/users/stared/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stared/subscriptions","organizations_url":"https://api.github.com/users/stared/orgs","repos_url":"https://api.github.com/users/stared/repos","events_url":"https://api.github.com/users/stared/events{/privacy}","received_events_url":"https://api.github.com/users/stared/received_events","type":"User"},"id":"5353918","created_at":"2013-04-10T11:42:03Z","updated_at":"2013-04-10T11:43:47Z"},{"url":"https://api.github.com/gists/5600181","user":{"login":"huashuai","id":256761,"avatar_url":"https://1.gravatar.com/avatar/279030da669c3950fc54dea37ee3109e?d=https%3A%2F%2Fidenticons.github.com%2Fc66590f0228b4de1b7d16d1b8f10161c.png","gravatar_id":"279030da669c3950fc54dea37ee3109e","url":"https://api.github.com/users/huashuai","html_url":"https://github.com/huashuai","followers_url":"https://api.github.com/users/huashuai/followers","following_url":"https://api.github.com/users/huashuai/following{/other_user}","gists_url":"https://api.github.com/users/huashuai/gists{/gist_id}","starred_url":"https://api.github.com/users/huashuai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/huashuai/subscriptions","organizations_url":"https://api.github.com/users/huashuai/orgs","repos_url":"https://api.github.com/users/huashuai/repos","events_url":"https://api.github.com/users/huashuai/events{/privacy}","received_events_url":"https://api.github.com/users/huashuai/received_events","type":"User"},"id":"5600181","created_at":"2013-05-17T16:15:32Z","updated_at":"2013-05-17T16:15:32Z"},{"url":"https://api.github.com/gists/5639946","user":{"login":"simardcasanova","id":739940,"avatar_url":"https://0.gravatar.com/avatar/63c42221c8ed3dfc335a0d1b19397e36?d=https%3A%2F%2Fidenticons.github.com%2F819fcce6467f36e0beb6ffc69afa9f21.png","gravatar_id":"63c42221c8ed3dfc335a0d1b19397e36","url":"https://api.github.com/users/simardcasanova","html_url":"https://github.com/simardcasanova","followers_url":"https://api.github.com/users/simardcasanova/followers","following_url":"https://api.github.com/users/simardcasanova/following{/other_user}","gists_url":"https://api.github.com/users/simardcasanova/gists{/gist_id}","starred_url":"https://api.github.com/users/simardcasanova/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simardcasanova/subscriptions","organizations_url":"https://api.github.com/users/simardcasanova/orgs","repos_url":"https://api.github.com/users/simardcasanova/repos","events_url":"https://api.github.com/users/simardcasanova/events{/privacy}","received_events_url":"https://api.github.com/users/simardcasanova/received_events","type":"User"},"id":"5639946","created_at":"2013-05-23T22:24:19Z","updated_at":"2013-05-23T22:24:57Z"},{"url":"https://api.github.com/gists/5965077","user":{"login":"habi","id":1651235,"avatar_url":"https://1.gravatar.com/avatar/4a0a820ba6c1996bc37d64ce14606ad4?d=https%3A%2F%2Fidenticons.github.com%2Fbaa3c8588d9ab73deea280466d5db7e1.png","gravatar_id":"4a0a820ba6c1996bc37d64ce14606ad4","url":"https://api.github.com/users/habi","html_url":"https://github.com/habi","followers_url":"https://api.github.com/users/habi/followers","following_url":"https://api.github.com/users/habi/following{/other_user}","gists_url":"https://api.github.com/users/habi/gists{/gist_id}","starred_url":"https://api.github.com/users/habi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/habi/subscriptions","organizations_url":"https://api.github.com/users/habi/orgs","repos_url":"https://api.github.com/users/habi/repos","events_url":"https://api.github.com/users/habi/events{/privacy}","received_events_url":"https://api.github.com/users/habi/received_events","type":"User"},"id":"5965077","created_at":"2013-07-10T09:57:15Z","updated_at":"2013-07-10T09:57:40Z"},{"url":"https://api.github.com/gists/6394053","user":{"login":"glaubius","id":5349064,"avatar_url":"https://0.gravatar.com/avatar/ff2451755814a23845b19551371bb026?d=https%3A%2F%2Fidenticons.github.com%2Faa59a5980a33a834ee55c9f386e7c996.png","gravatar_id":"ff2451755814a23845b19551371bb026","url":"https://api.github.com/users/glaubius","html_url":"https://github.com/glaubius","followers_url":"https://api.github.com/users/glaubius/followers","following_url":"https://api.github.com/users/glaubius/following{/other_user}","gists_url":"https://api.github.com/users/glaubius/gists{/gist_id}","starred_url":"https://api.github.com/users/glaubius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glaubius/subscriptions","organizations_url":"https://api.github.com/users/glaubius/orgs","repos_url":"https://api.github.com/users/glaubius/repos","events_url":"https://api.github.com/users/glaubius/events{/privacy}","received_events_url":"https://api.github.com/users/glaubius/received_events","type":"User"},"id":"6394053","created_at":"2013-08-30T20:39:05Z","updated_at":"2013-08-30T20:39:05Z"},{"url":"https://api.github.com/gists/6463518","user":{"login":"janten","id":1794407,"avatar_url":"https://2.gravatar.com/avatar/44f5d723bf2ef2dac40327bfa9815989?d=https%3A%2F%2Fidenticons.github.com%2Fe177a89b246259b7b5a84411923e6881.png","gravatar_id":"44f5d723bf2ef2dac40327bfa9815989","url":"https://api.github.com/users/janten","html_url":"https://github.com/janten","followers_url":"https://api.github.com/users/janten/followers","following_url":"https://api.github.com/users/janten/following{/other_user}","gists_url":"https://api.github.com/users/janten/gists{/gist_id}","starred_url":"https://api.github.com/users/janten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janten/subscriptions","organizations_url":"https://api.github.com/users/janten/orgs","repos_url":"https://api.github.com/users/janten/repos","events_url":"https://api.github.com/users/janten/events{/privacy}","received_events_url":"https://api.github.com/users/janten/received_events","type":"User"},"id":"6463518","created_at":"2013-09-06T13:04:58Z","updated_at":"2013-09-06T13:04:58Z"}],"history":[{"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"version":"3e0e8350f040f21811ceea13975086158ccae986","committed_at":"2010-06-25T06:52:37Z","change_status":{"total":3,"additions":2,"deletions":1},"url":"https://api.github.com/gists/149016/3e0e8350f040f21811ceea13975086158ccae986"},{"user":{"login":"kogakure","id":5535,"avatar_url":"https://0.gravatar.com/avatar/b53f98d49e275e8387897de02c92288d?d=https%3A%2F%2Fidenticons.github.com%2F7ec69dd44416c46745f6edd947b470cd.png","gravatar_id":"b53f98d49e275e8387897de02c92288d","url":"https://api.github.com/users/kogakure","html_url":"https://github.com/kogakure","followers_url":"https://api.github.com/users/kogakure/followers","following_url":"https://api.github.com/users/kogakure/following{/other_user}","gists_url":"https://api.github.com/users/kogakure/gists{/gist_id}","starred_url":"https://api.github.com/users/kogakure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kogakure/subscriptions","organizations_url":"https://api.github.com/users/kogakure/orgs","repos_url":"https://api.github.com/users/kogakure/repos","events_url":"https://api.github.com/users/kogakure/events{/privacy}","received_events_url":"https://api.github.com/users/kogakure/received_events","type":"User"},"version":"a3ce60041fe20410fc55d141e77a25d26e1a562a","committed_at":"2009-07-17T11:37:43Z","change_status":{"total":22,"additions":22,"deletions":0},"url":"https://api.github.com/gists/149016/a3ce60041fe20410fc55d141e77a25d26e1a562a"}]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/blobs/681fb61f1761743a02f5c790f1c762cbfe8cfad1 -{'If-None-Match': '"01162d231bc8dfd76e35f833ecebaa0e"', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4866'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'da1e9461-f849-4250-85c4-978c8e9e496d'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"01162d231bc8dfd76e35f833ecebaa0e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:11 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/commits/be37b8a7f3a68631c32672dcd84d9eba27438ee6 -{'If-None-Match': '"b9013239d62338e81f6ec48bae78699e"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Nov 2012 19:06:01 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4866'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '05667811-3080-4fb5-a32a-de8debc918ba'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Nov 2012 19:06:01 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"b9013239d62338e81f6ec48bae78699e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:12 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/tags/v1.17.0 -{'If-None-Match': '"feb5059cac897bdd13fd1205785f865c"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:41:05 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4866'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd852d843-7bb6-4ffc-a4fb-55621588f819'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:13 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/6f7c2d8c66d78863f7b91792deaead619799a1ce -{'If-None-Match': '"feb5059cac897bdd13fd1205785f865c"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:41:05 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4866'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '787d7bf1-e453-4694-87f6-bf3ed4855b87'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:14 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/hooks/423574 -{'If-None-Match': '"f7b3dbaaca94c0219f23e9021e78506f"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:41:06 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4866'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '40b5c72c-2017-43d7-9b3a-9f2531db400c'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:06 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"f7b3dbaaca94c0219f23e9021e78506f"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:15 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/hooks/423574 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4865'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '409e8b85-37ed-4244-b316-1824ddee228c'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '462'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:06 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"f7b3dbaaca94c0219f23e9021e78506f"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:21 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/423574","test_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/423574/test","id":423574,"name":"travis","active":true,"events":["push","pull_request","issue_comment","public","member"],"config":{"domain":"","token":"pJdnhcDq3dQ9Cr1J1znQ","user":"jacquev6"},"last_response":{"code":200,"status":"active","message":"OK"},"updated_at":"2013-09-06T12:41:06Z","created_at":"2012-09-16T07:14:29Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/188 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4865'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'e886b291-23e5-4d71-84d7-78bb6ce13206'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:22 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/22686536 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4865'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'f9addbd4-bd0d-4978-8dae-6f91fd22763f'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:23 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/events/60946408 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4865'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd0f0ed2b-5a02-4538-b7cb-79e35c27f985'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:24 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/events/60946408 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4864'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '92278efc-1781-4b40-9fe4-112cf30d3d3f'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '5613'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:25 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"id":60946408,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/60946408","actor":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"event":"assigned","commit_id":null,"created_at":"2013-08-15T05:55:32Z","issue":{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/comments","events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/188/events","html_url":"https://github.com/jacquev6/PyGithub/issues/188","id":17736533,"number":188,"title":"Getting the status of GitHub","user":{"login":"ruxandraburtica","id":797922,"avatar_url":"https://0.gravatar.com/avatar/5703c5907fc67b679be40fd307b07733?d=https%3A%2F%2Fidenticons.github.com%2F470a720db37e19afad67c34e30ffcd85.png","gravatar_id":"5703c5907fc67b679be40fd307b07733","url":"https://api.github.com/users/ruxandraburtica","html_url":"https://github.com/ruxandraburtica","followers_url":"https://api.github.com/users/ruxandraburtica/followers","following_url":"https://api.github.com/users/ruxandraburtica/following{/other_user}","gists_url":"https://api.github.com/users/ruxandraburtica/gists{/gist_id}","starred_url":"https://api.github.com/users/ruxandraburtica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruxandraburtica/subscriptions","organizations_url":"https://api.github.com/users/ruxandraburtica/orgs","repos_url":"https://api.github.com/users/ruxandraburtica/repos","events_url":"https://api.github.com/users/ruxandraburtica/events{/privacy}","received_events_url":"https://api.github.com/users/ruxandraburtica/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"state":"closed","assignee":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/31/labels","id":402388,"number":31,"title":"Version 1.19.0","description":"","creator":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"open_issues":0,"closed_issues":3,"state":"open","created_at":"2013-08-15T05:54:47Z","updated_at":"2013-09-06T09:42:02Z","due_on":null},"comments":2,"created_at":"2013-08-07T08:57:49Z","updated_at":"2013-09-06T09:11:57Z","closed_at":"2013-09-06T09:11:57Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Maybe I haven't found it, but it would be very useful to have methods for checking the status of the GitHub API (https://status.github.com/api)"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'If-None-Match': '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Sat, 20 Oct 2007 11:24:19 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4864'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd4b19adc-a9cc-4710-b146-93a5c3edb71f'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:26 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/17 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4864'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '21cfd2f1-595f-480a-bbf0-e9259d46277e'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:28 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/users/nvie -{'If-None-Match': '"ded215d39a497c6d2de00dd5e5a5deb6"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 13:38:58 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4864'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd669c122-58f7-447d-8d21-b48c619cca41'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 13:38:58 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ded215d39a497c6d2de00dd5e5a5deb6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:29 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/notifications/threads/8406712 -{'If-None-Match': '"848b2905eeb475bca3c72fe17bedcc0c"', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4863'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '974ec572-54e3-4f64-bcff-c203fea238da'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '4203'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"a1285606034653c336a6b673a35733c1"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:29 GMT'), ('access-control-allow-origin', '*'), ('x-poll-interval', '60'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378482241')] -{"id":"8406712","unread":null,"reason":"subscribed","updated_at":"2013-03-15T05:43:11Z","last_read_at":null,"subject":{"title":"Feature/coveralls","url":"https://api.github.com/repos/ZIMK/fwadmin/pulls/21","latest_comment_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/comments/14944813","type":"PullRequest"},"repository":{"id":8432784,"name":"fwadmin","full_name":"ZIMK/fwadmin","owner":{"login":"ZIMK","id":1187008,"avatar_url":"https://2.gravatar.com/avatar/ce407a684dac7cf642606501244dd9f0?d=https%3A%2F%2Fidenticons.github.com%2Fa8b50d6bf21d85e47ce11e1d23087af2.png","gravatar_id":"ce407a684dac7cf642606501244dd9f0","url":"https://api.github.com/users/ZIMK","html_url":"https://github.com/ZIMK","followers_url":"https://api.github.com/users/ZIMK/followers","following_url":"https://api.github.com/users/ZIMK/following{/other_user}","gists_url":"https://api.github.com/users/ZIMK/gists{/gist_id}","starred_url":"https://api.github.com/users/ZIMK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZIMK/subscriptions","organizations_url":"https://api.github.com/users/ZIMK/orgs","repos_url":"https://api.github.com/users/ZIMK/repos","events_url":"https://api.github.com/users/ZIMK/events{/privacy}","received_events_url":"https://api.github.com/users/ZIMK/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/ZIMK/fwadmin","description":"Django based self-service firewall config tool","fork":true,"url":"https://api.github.com/repos/ZIMK/fwadmin","forks_url":"https://api.github.com/repos/ZIMK/fwadmin/forks","keys_url":"https://api.github.com/repos/ZIMK/fwadmin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ZIMK/fwadmin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ZIMK/fwadmin/teams","hooks_url":"https://api.github.com/repos/ZIMK/fwadmin/hooks","issue_events_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/events{/number}","events_url":"https://api.github.com/repos/ZIMK/fwadmin/events","assignees_url":"https://api.github.com/repos/ZIMK/fwadmin/assignees{/user}","branches_url":"https://api.github.com/repos/ZIMK/fwadmin/branches{/branch}","tags_url":"https://api.github.com/repos/ZIMK/fwadmin/tags","blobs_url":"https://api.github.com/repos/ZIMK/fwadmin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ZIMK/fwadmin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ZIMK/fwadmin/git/refs{/sha}","trees_url":"https://api.github.com/repos/ZIMK/fwadmin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ZIMK/fwadmin/statuses/{sha}","languages_url":"https://api.github.com/repos/ZIMK/fwadmin/languages","stargazers_url":"https://api.github.com/repos/ZIMK/fwadmin/stargazers","contributors_url":"https://api.github.com/repos/ZIMK/fwadmin/contributors","subscribers_url":"https://api.github.com/repos/ZIMK/fwadmin/subscribers","subscription_url":"https://api.github.com/repos/ZIMK/fwadmin/subscription","commits_url":"https://api.github.com/repos/ZIMK/fwadmin/commits{/sha}","git_commits_url":"https://api.github.com/repos/ZIMK/fwadmin/git/commits{/sha}","comments_url":"https://api.github.com/repos/ZIMK/fwadmin/comments{/number}","issue_comment_url":"https://api.github.com/repos/ZIMK/fwadmin/issues/comments/{number}","contents_url":"https://api.github.com/repos/ZIMK/fwadmin/contents/{+path}","compare_url":"https://api.github.com/repos/ZIMK/fwadmin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ZIMK/fwadmin/merges","archive_url":"https://api.github.com/repos/ZIMK/fwadmin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ZIMK/fwadmin/downloads","issues_url":"https://api.github.com/repos/ZIMK/fwadmin/issues{/number}","pulls_url":"https://api.github.com/repos/ZIMK/fwadmin/pulls{/number}","milestones_url":"https://api.github.com/repos/ZIMK/fwadmin/milestones{/number}","notifications_url":"https://api.github.com/repos/ZIMK/fwadmin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ZIMK/fwadmin/labels{/name}"},"url":"https://api.github.com/notifications/threads/8406712","subscription_url":"https://api.github.com/notifications/threads/8406712/subscription"} - -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'If-None-Match': '"99d8ce990ccf1acbb3508bd20d9883e4"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Wed, 23 Jan 2013 12:15:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4863'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '2941dffb-707a-40d0-b4e7-a66e923fa01e'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 23 Jan 2013 12:15:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"99d8ce990ccf1acbb3508bd20d9883e4"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:30 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4863'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '70632470-ec82-4aed-9456-a63147919253'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:32 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments/1580134 -{'If-None-Match': '"654d1a29abe3a61b096e8bffbc61c162"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:51:22 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4863'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '2ca3f96b-7771-41a5-9aba-d8dedc12e465'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:51:22 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"654d1a29abe3a61b096e8bffbc61c162"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:35 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'If-None-Match': '"feb5059cac897bdd13fd1205785f865c"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Fri, 06 Sep 2013 12:41:05 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4863'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'beb42a35-9e06-4b99-9abc-5b7e4e71fa85'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 06 Sep 2013 12:41:05 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"feb5059cac897bdd13fd1205785f865c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:36 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - -https -GET -api.github.com -None -/teams/141487 -{'If-None-Match': '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Sat, 20 Oct 2007 11:24:19 GMT'} -null -304 -[('status', '304 Not Modified'), ('x-ratelimit-remaining', '4863'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'd65865d1-e84d-418b-8465-54b9c8034ead'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"a4af9b5fe3ebc7d9ec2ecd4a637a4863"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 06 Sep 2013 15:06:37 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1378482241')] - - diff --git a/github/tests/ReplayData/Gist.testAttributes.txt b/github/tests/ReplayData/Gist.testAttributes.txt deleted file mode 100644 index 6e1e71c..0000000 --- a/github/tests/ReplayData/Gist.testAttributes.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/6296732 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '26707'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '3061975e1f37121b3751604ad153c687'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"1c7d4253540b5f2dce518343258085ff"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E80DDA:1FFE:2F9F3B3:5366987A'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Sun, 04 May 2014 19:18:39 GMT'), ('date', 'Sun, 04 May 2014 19:43:54 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1399236081')] -{"url":"https://api.github.com/gists/6296732","forks_url":"https://api.github.com/gists/6296732/forks","commits_url":"https://api.github.com/gists/6296732/commits","id":"6296732","git_pull_url":"https://gist.github.com/6296732.git","git_push_url":"https://gist.github.com/6296732.git","html_url":"https://gist.github.com/6296732","files":{"GithubAPI.lua":{"filename":"GithubAPI.lua","type":"text/plain","language":"Lua","raw_url":"https://gist.githubusercontent.com/jacquev6/6296732/raw/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua","size":21229,"content":"-- GithubAPI\n-- @Author : Hyro Vitaly Protago\n-- @Version : 1.0.0\n\n--[[\n\nINFOS :\n - Cannot delete an anonymous gist\n]]--\n\nGithubAPI = {\n\tlocation = \"https://api.github.com/\",\n\ttoken = nil,\n\tOAuth = {\n\t\tauthorizations = {}\n\t},\n\tgist = {\n\t\tlist = {},\n\t\tcomment = {}\n\t},\n\tgithub = {}\n}\n\n----------------------------------------------------------------------------\n------------------------------ Github API ----------------------------------\n----------------------------------------------------------------------------\n\n--- Authentication ---\n\n--[[ Scopes --\n\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\nThey do not grant any additional permission beyond that which the user already has.\n\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\n\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\n\n~~~\n$ curl -H \"Authorization: token OAUTH-TOKEN\" https://api.github.com/users/technoweenie -I\nHTTP/1.1 200 OK\nX-OAuth-Scopes: repo, user\nX-Accepted-OAuth-Scopes: user\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\n~~~\n\n- (no scope)\npublic read-only access (includes public user profile info, public repo info, and gists).\n- user\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\n- user:email\nRead access to a user’s email addresses.\n- user:follow\nAccess to follow or unfollow other users.\n- public_repo\nRead/write access to public repos and organizations.\n- repo\nRead/write access to public and private repos and organizations.\n- repo:status\nRead/write access to public and private repository commit statuses.\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\n- delete_repo\nDelete access to adminable repositories.\n- notifications\nRead access to a user’s notifications. repo is accepted too.\n- gist\nWrite access to gists.\n\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\n~~~\nhttps://github.com/login/oauth/authorize?\n client_id=...&\n scope=user,public_repo\n~~~\n]]--\n\n-- Redirect users to request GitHub access --\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/authorize?client_id=\"..client_id..\"&scope=\"..scope, function(data, status, headers)\n\t\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\n\tend, nil, true)\nend\n-- GitHub redirects back to your site --\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/access_token\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret,\n\t\t\tcode = code\n\t\t}\n\t}, true)\nend\n\n-- List your authorizations --\nfunction GithubAPI.OAuth.authorizations.list(callback)\n\tGithubAPI.http_request(\"authorizations\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n }\n]\n]]--\n\n-- Get a single authorization --\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\n\tGithubAPI.http_request(\"authorizations/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- Create a new authorization --\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\n\tGithubAPI.http_request(\"authorizations/\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tscopes = scopes,\n\t\t\tnote = note,\n\t\t\tnote_url = note_url,\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret\n\t\t}\n\t})\nend\n\n--[[ Input --\nscopes\nOptional array - A list of scopes that this authorization is in.\n\nnote\nOptional string - A note to remind you what the OAuth token is for.\n\nnote_url\nOptional string - A URL to remind you what app the OAuth token is for.\n\nclient_id\nOptional String - The 20 character OAuth app client key for which to create the token.\n\nclient_secret\nOptional String - The 40 character OAuth app client secret for which to create the token.\n~~~\n{\n \"scopes\": [\n \"public_repo\"\n ],\n \"note\": \"admin script\"\n}\n~~~\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/authorizations/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- TODO\n-- Update\n-- Check\n-- Delete\n\n--- GISTS ---\n\n-- List gists --\nfunction GithubAPI.gist.list.user(user, callback)\n\tGithubAPI.http_request(\"users/\"..user..\"/gists\", callback)\nend\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\n\tGithubAPI.http_request(\"gists\", callback)\nend\nfunction GithubAPI.gist.list.allPublic(callback)\n\tGithubAPI.http_request(\"gists/public\", callback)\nend\nfunction GithubAPI.gist.list.starred(callback)\n\tGithubAPI.http_request(\"gists/starred\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n }\n]\n]]--\n\n-- Get a single gist --\nfunction GithubAPI.gist.get(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Create a gist --\nfunction GithubAPI.gist.create(public, files, callback ,description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tpublic = public,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"public\": true,\n \"files\": {\n \"file1.txt\": {\n \"content\": \"String file contents\"\n }\n }\n}\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Edit a gist --\nfunction GithubAPI.gist.edit(id, files, callback, description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tid = id,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"files\": {\n \"file1.txt\": {\n \"content\": \"updated file contents\"\n },\n \"old_name.txt\": {\n \"filename\": \"new_name.txt\",\n \"content\": \"modified contents\"\n },\n \"new_file.txt\": {\n \"content\": \"a new file\"\n },\n \"delete_this_file.txt\": null\n }\n}\n]]--\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Star a gist --\nfunction GithubAPI.gist.star(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"PUT\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Unstar a gist --\nfunction GithubAPI.gist.unstar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Check if a gist is starred --\nfunction GithubAPI.gist.checkStar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback)\nend\n\n--[[\n-- Response if gist is starred --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n\n-- Response if gist is not starred --\nStatus: 404 Not Found\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Fork a gist --\nfunction GithubAPI.gist.fork(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/forks\", callback, {method=\"POST\"})\nend\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/2\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n}\n]]--\n\n-- Delete a gist --\nfunction GithubAPI.gist.delete(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n--- GISTS COMMENTS ---\n\n-- List comments on a gist --\nfunction GithubAPI.gist.comment.list(gist_id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n }\n]\n]]--\n\n-- Get a single comment --\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Create a comment --\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/comments/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Edit a comment --\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Delete a comment --\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {method = \"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n----------------------------------------------------------------------------\n-------------------------------- TOOLS -------------------------------------\n----------------------------------------------------------------------------\n\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\n\topts = opts or {}\n\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\n\tif opts.data then opts.data = json.encode(opts.data) end\n\n\tlocal _url\n\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\n\n\thttp.request(_url, function(data, status, headers)\n\t\tif (status == 500) then error(\"Github: Internal Server Error ...\") end\n\t\tdata = json.decode(data)\n\t\tcallback(data, status, headers)\n\tend, alert, opts)\nend\n\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\n if (div=='') then return false end\n local pos,arr = 0,{}\n for st,sp in function() return string.find(str,div,pos,true) end do\n table.insert(arr,string.sub(str,pos,st-1))\n pos = sp + 1\n end\n table.insert(arr,string.sub(str,pos))\n return arr\nend\n\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\nfunction GithubAPI.gtimestamp(githubTime)\n\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\n\tgithubTime = GithubAPI.explode(\"T\", githubTime)\n\tgithubTime[1] = GithubAPI.explode(\"-\", githubTime[1])\n\tgithubTime[2] = GithubAPI.explode(\":\", githubTime[2])\n\treturn os.time({\n\t\tyear = tonumber(githubTime[1][1]),\n\t\tmonth = tonumber(githubTime[1][2]),\n\t\tday = tonumber(githubTime[1][3]),\n\t\thour = tonumber(githubTime[2][1]),\n\t\tmin = tonumber(githubTime[2][2]),\n\t\tsec = tonumber(githubTime[2][3])\n\t})\nend"}},"public":true,"created_at":"2013-08-21T16:28:24Z","updated_at":"2013-08-21T16:28:24Z","description":"Github API","comments":0,"user":null,"comments_url":"https://api.github.com/gists/6296732/comments","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146?","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"fork_of":{"url":"https://api.github.com/gists/6296553","forks_url":"https://api.github.com/gists/6296553/forks","commits_url":"https://api.github.com/gists/6296553/commits","id":"6296553","git_pull_url":"https://gist.github.com/6296553.git","git_push_url":"https://gist.github.com/6296553.git","html_url":"https://gist.github.com/6296553","files":{},"public":true,"created_at":"2013-08-21T16:12:27Z","updated_at":"2013-10-23T14:58:31Z","description":"Github API","comments":0,"user":null,"comments_url":"https://api.github.com/gists/6296553/comments","owner":{"login":"HyroVitalyProtago","id":3470988,"avatar_url":"https://avatars.githubusercontent.com/u/3470988?","gravatar_id":"ed59562b231a649345f38703948f76f4","url":"https://api.github.com/users/HyroVitalyProtago","html_url":"https://github.com/HyroVitalyProtago","followers_url":"https://api.github.com/users/HyroVitalyProtago/followers","following_url":"https://api.github.com/users/HyroVitalyProtago/following{/other_user}","gists_url":"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}","starred_url":"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HyroVitalyProtago/subscriptions","organizations_url":"https://api.github.com/users/HyroVitalyProtago/orgs","repos_url":"https://api.github.com/users/HyroVitalyProtago/repos","events_url":"https://api.github.com/users/HyroVitalyProtago/events{/privacy}","received_events_url":"https://api.github.com/users/HyroVitalyProtago/received_events","type":"User","site_admin":false}},"forks":[],"history":[{"user":null,"version":"c464aecd7fea16684e935607eeea7ae4f8caa0e2","committed_at":"2013-08-21T16:12:27Z","change_status":{"total":793,"additions":793,"deletions":0},"url":"https://api.github.com/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2"}]} - -https -GET -api.github.com -None -/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '26707'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '03d91026ad8428f4d9966d7434f9d82e'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"893689529e8ac78913dad210662443ac"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E80DDA:1FFB:7D4619:5366987A'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 04 May 2014 19:43:54 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1399236081')] -{"url":"https://api.github.com/gists/6296732","forks_url":"https://api.github.com/gists/6296732/forks","commits_url":"https://api.github.com/gists/6296732/commits","id":"6296732","git_pull_url":"https://gist.github.com/6296732.git","git_push_url":"https://gist.github.com/6296732.git","html_url":"https://gist.github.com/6296732","files":{"GithubAPI.lua":{"filename":"GithubAPI.lua","type":"text/plain","language":"Lua","raw_url":"https://gist.githubusercontent.com/jacquev6/6296732/raw/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua","size":21229,"content":"-- GithubAPI\n-- @Author : Hyro Vitaly Protago\n-- @Version : 1.0.0\n\n--[[\n\nINFOS :\n - Cannot delete an anonymous gist\n]]--\n\nGithubAPI = {\n\tlocation = \"https://api.github.com/\",\n\ttoken = nil,\n\tOAuth = {\n\t\tauthorizations = {}\n\t},\n\tgist = {\n\t\tlist = {},\n\t\tcomment = {}\n\t},\n\tgithub = {}\n}\n\n----------------------------------------------------------------------------\n------------------------------ Github API ----------------------------------\n----------------------------------------------------------------------------\n\n--- Authentication ---\n\n--[[ Scopes --\n\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\nThey do not grant any additional permission beyond that which the user already has.\n\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\n\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\n\n~~~\n$ curl -H \"Authorization: token OAUTH-TOKEN\" https://api.github.com/users/technoweenie -I\nHTTP/1.1 200 OK\nX-OAuth-Scopes: repo, user\nX-Accepted-OAuth-Scopes: user\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\n~~~\n\n- (no scope)\npublic read-only access (includes public user profile info, public repo info, and gists).\n- user\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\n- user:email\nRead access to a user’s email addresses.\n- user:follow\nAccess to follow or unfollow other users.\n- public_repo\nRead/write access to public repos and organizations.\n- repo\nRead/write access to public and private repos and organizations.\n- repo:status\nRead/write access to public and private repository commit statuses.\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\n- delete_repo\nDelete access to adminable repositories.\n- notifications\nRead access to a user’s notifications. repo is accepted too.\n- gist\nWrite access to gists.\n\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\n~~~\nhttps://github.com/login/oauth/authorize?\n client_id=...&\n scope=user,public_repo\n~~~\n]]--\n\n-- Redirect users to request GitHub access --\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/authorize?client_id=\"..client_id..\"&scope=\"..scope, function(data, status, headers)\n\t\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\n\tend, nil, true)\nend\n-- GitHub redirects back to your site --\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/access_token\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret,\n\t\t\tcode = code\n\t\t}\n\t}, true)\nend\n\n-- List your authorizations --\nfunction GithubAPI.OAuth.authorizations.list(callback)\n\tGithubAPI.http_request(\"authorizations\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n }\n]\n]]--\n\n-- Get a single authorization --\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\n\tGithubAPI.http_request(\"authorizations/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- Create a new authorization --\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\n\tGithubAPI.http_request(\"authorizations/\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tscopes = scopes,\n\t\t\tnote = note,\n\t\t\tnote_url = note_url,\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret\n\t\t}\n\t})\nend\n\n--[[ Input --\nscopes\nOptional array - A list of scopes that this authorization is in.\n\nnote\nOptional string - A note to remind you what the OAuth token is for.\n\nnote_url\nOptional string - A URL to remind you what app the OAuth token is for.\n\nclient_id\nOptional String - The 20 character OAuth app client key for which to create the token.\n\nclient_secret\nOptional String - The 40 character OAuth app client secret for which to create the token.\n~~~\n{\n \"scopes\": [\n \"public_repo\"\n ],\n \"note\": \"admin script\"\n}\n~~~\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/authorizations/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- TODO\n-- Update\n-- Check\n-- Delete\n\n--- GISTS ---\n\n-- List gists --\nfunction GithubAPI.gist.list.user(user, callback)\n\tGithubAPI.http_request(\"users/\"..user..\"/gists\", callback)\nend\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\n\tGithubAPI.http_request(\"gists\", callback)\nend\nfunction GithubAPI.gist.list.allPublic(callback)\n\tGithubAPI.http_request(\"gists/public\", callback)\nend\nfunction GithubAPI.gist.list.starred(callback)\n\tGithubAPI.http_request(\"gists/starred\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n }\n]\n]]--\n\n-- Get a single gist --\nfunction GithubAPI.gist.get(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Create a gist --\nfunction GithubAPI.gist.create(public, files, callback ,description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tpublic = public,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"public\": true,\n \"files\": {\n \"file1.txt\": {\n \"content\": \"String file contents\"\n }\n }\n}\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Edit a gist --\nfunction GithubAPI.gist.edit(id, files, callback, description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tid = id,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"files\": {\n \"file1.txt\": {\n \"content\": \"updated file contents\"\n },\n \"old_name.txt\": {\n \"filename\": \"new_name.txt\",\n \"content\": \"modified contents\"\n },\n \"new_file.txt\": {\n \"content\": \"a new file\"\n },\n \"delete_this_file.txt\": null\n }\n}\n]]--\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Star a gist --\nfunction GithubAPI.gist.star(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"PUT\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Unstar a gist --\nfunction GithubAPI.gist.unstar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Check if a gist is starred --\nfunction GithubAPI.gist.checkStar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback)\nend\n\n--[[\n-- Response if gist is starred --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n\n-- Response if gist is not starred --\nStatus: 404 Not Found\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Fork a gist --\nfunction GithubAPI.gist.fork(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/forks\", callback, {method=\"POST\"})\nend\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/2\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n}\n]]--\n\n-- Delete a gist --\nfunction GithubAPI.gist.delete(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n--- GISTS COMMENTS ---\n\n-- List comments on a gist --\nfunction GithubAPI.gist.comment.list(gist_id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n }\n]\n]]--\n\n-- Get a single comment --\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Create a comment --\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/comments/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Edit a comment --\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Delete a comment --\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {method = \"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n----------------------------------------------------------------------------\n-------------------------------- TOOLS -------------------------------------\n----------------------------------------------------------------------------\n\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\n\topts = opts or {}\n\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\n\tif opts.data then opts.data = json.encode(opts.data) end\n\n\tlocal _url\n\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\n\n\thttp.request(_url, function(data, status, headers)\n\t\tif (status == 500) then error(\"Github: Internal Server Error ...\") end\n\t\tdata = json.decode(data)\n\t\tcallback(data, status, headers)\n\tend, alert, opts)\nend\n\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\n if (div=='') then return false end\n local pos,arr = 0,{}\n for st,sp in function() return string.find(str,div,pos,true) end do\n table.insert(arr,string.sub(str,pos,st-1))\n pos = sp + 1\n end\n table.insert(arr,string.sub(str,pos))\n return arr\nend\n\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\nfunction GithubAPI.gtimestamp(githubTime)\n\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\n\tgithubTime = GithubAPI.explode(\"T\", githubTime)\n\tgithubTime[1] = GithubAPI.explode(\"-\", githubTime[1])\n\tgithubTime[2] = GithubAPI.explode(\":\", githubTime[2])\n\treturn os.time({\n\t\tyear = tonumber(githubTime[1][1]),\n\t\tmonth = tonumber(githubTime[1][2]),\n\t\tday = tonumber(githubTime[1][3]),\n\t\thour = tonumber(githubTime[2][1]),\n\t\tmin = tonumber(githubTime[2][2]),\n\t\tsec = tonumber(githubTime[2][3])\n\t})\nend"}},"public":true,"created_at":"2013-08-21T16:28:24Z","updated_at":"2013-08-21T16:28:24Z","description":"Github API","comments":0,"user":null,"comments_url":"https://api.github.com/gists/6296732/comments","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146?","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"fork_of":{"url":"https://api.github.com/gists/6296553","forks_url":"https://api.github.com/gists/6296553/forks","commits_url":"https://api.github.com/gists/6296553/commits","id":"6296553","git_pull_url":"https://gist.github.com/6296553.git","git_push_url":"https://gist.github.com/6296553.git","html_url":"https://gist.github.com/6296553","files":{},"public":true,"created_at":"2013-08-21T16:12:27Z","updated_at":"2013-10-23T14:58:31Z","description":"Github API","comments":0,"user":null,"comments_url":"https://api.github.com/gists/6296553/comments","owner":{"login":"HyroVitalyProtago","id":3470988,"avatar_url":"https://avatars.githubusercontent.com/u/3470988?","gravatar_id":"ed59562b231a649345f38703948f76f4","url":"https://api.github.com/users/HyroVitalyProtago","html_url":"https://github.com/HyroVitalyProtago","followers_url":"https://api.github.com/users/HyroVitalyProtago/followers","following_url":"https://api.github.com/users/HyroVitalyProtago/following{/other_user}","gists_url":"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}","starred_url":"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HyroVitalyProtago/subscriptions","organizations_url":"https://api.github.com/users/HyroVitalyProtago/orgs","repos_url":"https://api.github.com/users/HyroVitalyProtago/repos","events_url":"https://api.github.com/users/HyroVitalyProtago/events{/privacy}","received_events_url":"https://api.github.com/users/HyroVitalyProtago/received_events","type":"User","site_admin":false}},"forks":[],"history":[{"user":null,"version":"c464aecd7fea16684e935607eeea7ae4f8caa0e2","committed_at":"2013-08-21T16:12:27Z","change_status":{"total":793,"additions":793,"deletions":0},"url":"https://api.github.com/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2"}]} - diff --git a/github/tests/ReplayData/Gist.testCreateComment.txt b/github/tests/ReplayData/Gist.testCreateComment.txt deleted file mode 100644 index 6125379..0000000 --- a/github/tests/ReplayData/Gist.testCreateComment.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -POST -api.github.com -None -/gists/2729810/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4992'), ('content-length', '479'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"77456eabf6ebaafc2808cfbd4dfa5904"'), ('date', 'Sat, 19 May 2012 07:07:57 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/comments/323629')] -{"updated_at":"2012-05-19T07:07:57Z","body":"Comment created by PyGithub","url":"https://api.github.com/gists/comments/323629","created_at":"2012-05-19T07:07:57Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":323629} - diff --git a/github/tests/ReplayData/Gist.testDelete.txt b/github/tests/ReplayData/Gist.testDelete.txt deleted file mode 100644 index 5cbe548..0000000 --- a/github/tests/ReplayData/Gist.testDelete.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -DELETE -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4965'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:26:55 GMT')] - - diff --git a/github/tests/ReplayData/Gist.testDeleteFile.txt b/github/tests/ReplayData/Gist.testDeleteFile.txt deleted file mode 100644 index 4455bfd..0000000 --- a/github/tests/ReplayData/Gist.testDeleteFile.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/5339374 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '3241'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 08 Apr 2013 18:46:15 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d1bfdcec2c35202fa167ebdfed524d25"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 08 Apr 2013 18:50:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/5339374","forks_url":"https://api.github.com/gists/5339374/forks","commits_url":"https://api.github.com/gists/5339374/commits","id":"5339374","git_pull_url":"https://gist.github.com/5339374.git","git_push_url":"https://gist.github.com/5339374.git","html_url":"https://gist.github.com/5339374","files":{"bar.txt":{"filename":"bar.txt","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/5339374/9a84713661904c94ce1e404151d15030b042a884/bar.txt","size":49,"content":"This file will be renamed \"baz.txt\" by PyGithub.\n"},"foo.txt":{"filename":"foo.txt","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/5339374/920c28027f920979606c96ca347b050b1ebd1013/foo.txt","size":39,"content":"This file will be deleted by PyGithub.\n"}},"public":true,"created_at":"2013-04-08T18:46:14Z","updated_at":"2013-04-08T18:46:15Z","description":"Test gist for PyGithub","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/5339374/comments","forks":[],"history":[{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"7887f7ac9eb5c1963004bdde3bcfe2221d9a0515","committed_at":"2013-04-08T18:46:14Z","change_status":{"total":2,"additions":2,"deletions":0},"url":"https://api.github.com/gists/5339374/7887f7ac9eb5c1963004bdde3bcfe2221d9a0515"}]} - -https -PATCH -api.github.com -None -/gists/5339374 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"files": {"foo.txt": null}} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '4233'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"316f00c71eeb327bbeac7a3f7aba5237"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Mon, 08 Apr 2013 18:50:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/5339374","forks_url":"https://api.github.com/gists/5339374/forks","commits_url":"https://api.github.com/gists/5339374/commits","id":"5339374","git_pull_url":"https://gist.github.com/5339374.git","git_push_url":"https://gist.github.com/5339374.git","html_url":"https://gist.github.com/5339374","files":{"bar.txt":{"filename":"bar.txt","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/5339374/9a84713661904c94ce1e404151d15030b042a884/bar.txt","size":49,"content":"This file will be renamed \"baz.txt\" by PyGithub.\n"}},"public":true,"created_at":"2013-04-08T18:46:14Z","updated_at":"2013-04-08T18:50:40Z","description":"Test gist for PyGithub","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/5339374/comments","forks":[],"history":[{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5","committed_at":"2013-04-08T18:50:40Z","change_status":{"total":1,"additions":0,"deletions":1},"url":"https://api.github.com/gists/5339374/3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"7887f7ac9eb5c1963004bdde3bcfe2221d9a0515","committed_at":"2013-04-08T18:46:14Z","change_status":{"total":2,"additions":2,"deletions":0},"url":"https://api.github.com/gists/5339374/7887f7ac9eb5c1963004bdde3bcfe2221d9a0515"}]} - diff --git a/github/tests/ReplayData/Gist.testEditWithAllParameters.txt b/github/tests/ReplayData/Gist.testEditWithAllParameters.txt deleted file mode 100644 index 229c5f8..0000000 --- a/github/tests/ReplayData/Gist.testEditWithAllParameters.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -PATCH -api.github.com -None -/gists/2729810 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"files": {"barbaz.txt": {"content": "File also created by PyGithub"}}, "description": "Description edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"14d4466c0580c6f8e9be17f81eb1c3b0"'), ('date', 'Sat, 19 May 2012 07:06:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:06:10Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","version":"e730170a9599696a9d776f8bb5028b35f937b6de","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]} - diff --git a/github/tests/ReplayData/Gist.testEditWithoutParameters.txt b/github/tests/ReplayData/Gist.testEditWithoutParameters.txt deleted file mode 100644 index 599d8d5..0000000 --- a/github/tests/ReplayData/Gist.testEditWithoutParameters.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -PATCH -api.github.com -None -/gists/2729810 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9d90688efdf43c600be9c6c068f007dd"'), ('date', 'Sat, 19 May 2012 07:03:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:00:58Z","git_push_url":"git@gist.github.com:2729810.git","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}],"git_pull_url":"git://gist.github.com/2729810.git"} - diff --git a/github/tests/ReplayData/Gist.testFork.txt b/github/tests/ReplayData/Gist.testFork.txt deleted file mode 100644 index 0589aa6..0000000 --- a/github/tests/ReplayData/Gist.testFork.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/gists/6296553 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '25285'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:26:50 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"b96b3895f5da8f5e9533f0db72748a49"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 16:28:20 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377104997')] -{"url":"https://api.github.com/gists/6296553","forks_url":"https://api.github.com/gists/6296553/forks","commits_url":"https://api.github.com/gists/6296553/commits","id":"6296553","git_pull_url":"https://gist.github.com/6296553.git","git_push_url":"https://gist.github.com/6296553.git","html_url":"https://gist.github.com/6296553","files":{"GithubAPI.lua":{"filename":"GithubAPI.lua","type":"text/plain","language":"Lua","raw_url":"https://gist.github.com/raw/6296553/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua","size":21229,"content":"-- GithubAPI\n-- @Author : Hyro Vitaly Protago\n-- @Version : 1.0.0\n\n--[[\n\nINFOS :\n - Cannot delete an anonymous gist\n]]--\n\nGithubAPI = {\n\tlocation = \"https://api.github.com/\",\n\ttoken = nil,\n\tOAuth = {\n\t\tauthorizations = {}\n\t},\n\tgist = {\n\t\tlist = {},\n\t\tcomment = {}\n\t},\n\tgithub = {}\n}\n\n----------------------------------------------------------------------------\n------------------------------ Github API ----------------------------------\n----------------------------------------------------------------------------\n\n--- Authentication ---\n\n--[[ Scopes --\n\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\nThey do not grant any additional permission beyond that which the user already has.\n\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\n\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\n\n~~~\n$ curl -H \"Authorization: token OAUTH-TOKEN\" https://api.github.com/users/technoweenie -I\nHTTP/1.1 200 OK\nX-OAuth-Scopes: repo, user\nX-Accepted-OAuth-Scopes: user\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\n~~~\n\n- (no scope)\npublic read-only access (includes public user profile info, public repo info, and gists).\n- user\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\n- user:email\nRead access to a user’s email addresses.\n- user:follow\nAccess to follow or unfollow other users.\n- public_repo\nRead/write access to public repos and organizations.\n- repo\nRead/write access to public and private repos and organizations.\n- repo:status\nRead/write access to public and private repository commit statuses.\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\n- delete_repo\nDelete access to adminable repositories.\n- notifications\nRead access to a user’s notifications. repo is accepted too.\n- gist\nWrite access to gists.\n\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\n~~~\nhttps://github.com/login/oauth/authorize?\n client_id=...&\n scope=user,public_repo\n~~~\n]]--\n\n-- Redirect users to request GitHub access --\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/authorize?client_id=\"..client_id..\"&scope=\"..scope, function(data, status, headers)\n\t\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\n\tend, nil, true)\nend\n-- GitHub redirects back to your site --\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/access_token\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret,\n\t\t\tcode = code\n\t\t}\n\t}, true)\nend\n\n-- List your authorizations --\nfunction GithubAPI.OAuth.authorizations.list(callback)\n\tGithubAPI.http_request(\"authorizations\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n }\n]\n]]--\n\n-- Get a single authorization --\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\n\tGithubAPI.http_request(\"authorizations/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- Create a new authorization --\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\n\tGithubAPI.http_request(\"authorizations/\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tscopes = scopes,\n\t\t\tnote = note,\n\t\t\tnote_url = note_url,\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret\n\t\t}\n\t})\nend\n\n--[[ Input --\nscopes\nOptional array - A list of scopes that this authorization is in.\n\nnote\nOptional string - A note to remind you what the OAuth token is for.\n\nnote_url\nOptional string - A URL to remind you what app the OAuth token is for.\n\nclient_id\nOptional String - The 20 character OAuth app client key for which to create the token.\n\nclient_secret\nOptional String - The 40 character OAuth app client secret for which to create the token.\n~~~\n{\n \"scopes\": [\n \"public_repo\"\n ],\n \"note\": \"admin script\"\n}\n~~~\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/authorizations/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- TODO\n-- Update\n-- Check\n-- Delete\n\n--- GISTS ---\n\n-- List gists --\nfunction GithubAPI.gist.list.user(user, callback)\n\tGithubAPI.http_request(\"users/\"..user..\"/gists\", callback)\nend\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\n\tGithubAPI.http_request(\"gists\", callback)\nend\nfunction GithubAPI.gist.list.allPublic(callback)\n\tGithubAPI.http_request(\"gists/public\", callback)\nend\nfunction GithubAPI.gist.list.starred(callback)\n\tGithubAPI.http_request(\"gists/starred\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n }\n]\n]]--\n\n-- Get a single gist --\nfunction GithubAPI.gist.get(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Create a gist --\nfunction GithubAPI.gist.create(public, files, callback ,description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tpublic = public,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"public\": true,\n \"files\": {\n \"file1.txt\": {\n \"content\": \"String file contents\"\n }\n }\n}\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Edit a gist --\nfunction GithubAPI.gist.edit(id, files, callback, description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tid = id,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"files\": {\n \"file1.txt\": {\n \"content\": \"updated file contents\"\n },\n \"old_name.txt\": {\n \"filename\": \"new_name.txt\",\n \"content\": \"modified contents\"\n },\n \"new_file.txt\": {\n \"content\": \"a new file\"\n },\n \"delete_this_file.txt\": null\n }\n}\n]]--\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Star a gist --\nfunction GithubAPI.gist.star(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"PUT\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Unstar a gist --\nfunction GithubAPI.gist.unstar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Check if a gist is starred --\nfunction GithubAPI.gist.checkStar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback)\nend\n\n--[[\n-- Response if gist is starred --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n\n-- Response if gist is not starred --\nStatus: 404 Not Found\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Fork a gist --\nfunction GithubAPI.gist.fork(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/forks\", callback, {method=\"POST\"})\nend\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/2\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n}\n]]--\n\n-- Delete a gist --\nfunction GithubAPI.gist.delete(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n--- GISTS COMMENTS ---\n\n-- List comments on a gist --\nfunction GithubAPI.gist.comment.list(gist_id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n }\n]\n]]--\n\n-- Get a single comment --\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Create a comment --\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/comments/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Edit a comment --\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Delete a comment --\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {method = \"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n----------------------------------------------------------------------------\n-------------------------------- TOOLS -------------------------------------\n----------------------------------------------------------------------------\n\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\n\topts = opts or {}\n\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\n\tif opts.data then opts.data = json.encode(opts.data) end\n\n\tlocal _url\n\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\n\n\thttp.request(_url, function(data, status, headers)\n\t\tif (status == 500) then error(\"Github: Internal Server Error ...\") end\n\t\tdata = json.decode(data)\n\t\tcallback(data, status, headers)\n\tend, alert, opts)\nend\n\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\n if (div=='') then return false end\n local pos,arr = 0,{}\n for st,sp in function() return string.find(str,div,pos,true) end do\n table.insert(arr,string.sub(str,pos,st-1))\n pos = sp + 1\n end\n table.insert(arr,string.sub(str,pos))\n return arr\nend\n\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\nfunction GithubAPI.gtimestamp(githubTime)\n\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\n\tgithubTime = GithubAPI.explode(\"T\", githubTime)\n\tgithubTime[1] = GithubAPI.explode(\"-\", githubTime[1])\n\tgithubTime[2] = GithubAPI.explode(\":\", githubTime[2])\n\treturn os.time({\n\t\tyear = tonumber(githubTime[1][1]),\n\t\tmonth = tonumber(githubTime[1][2]),\n\t\tday = tonumber(githubTime[1][3]),\n\t\thour = tonumber(githubTime[2][1]),\n\t\tmin = tonumber(githubTime[2][2]),\n\t\tsec = tonumber(githubTime[2][3])\n\t})\nend"}},"public":true,"created_at":"2013-08-21T16:12:27Z","updated_at":"2013-08-21T16:26:50Z","description":"Github API","comments":0,"user":{"login":"HyroVitalyProtago","id":3470988,"avatar_url":"https://2.gravatar.com/avatar/ed59562b231a649345f38703948f76f4?d=https%3A%2F%2Fidenticons.github.com%2F6582cb986b7a730b12f7c18dfcc865f0.png","gravatar_id":"ed59562b231a649345f38703948f76f4","url":"https://api.github.com/users/HyroVitalyProtago","html_url":"https://github.com/HyroVitalyProtago","followers_url":"https://api.github.com/users/HyroVitalyProtago/followers","following_url":"https://api.github.com/users/HyroVitalyProtago/following{/other_user}","gists_url":"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}","starred_url":"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HyroVitalyProtago/subscriptions","organizations_url":"https://api.github.com/users/HyroVitalyProtago/orgs","repos_url":"https://api.github.com/users/HyroVitalyProtago/repos","events_url":"https://api.github.com/users/HyroVitalyProtago/events{/privacy}","received_events_url":"https://api.github.com/users/HyroVitalyProtago/received_events","type":"User"},"comments_url":"https://api.github.com/gists/6296553/comments","forks":[],"history":[{"user":null,"version":"c464aecd7fea16684e935607eeea7ae4f8caa0e2","committed_at":"2013-08-21T16:12:27Z","change_status":{"total":793,"additions":793,"deletions":0},"url":"https://api.github.com/gists/6296553/c464aecd7fea16684e935607eeea7ae4f8caa0e2"}]} - -https -POST -api.github.com -None -/gists/6296553/forks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4965'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('content-length', '1510'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/gists/6296732'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 16:28:24 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('etag', '"ceb086d4f395719d1124cade5cedbfd4"'), ('x-ratelimit-reset', '1377104997')] -{"url":"https://api.github.com/gists/6296732","forks_url":"https://api.github.com/gists/6296732/forks","commits_url":"https://api.github.com/gists/6296732/commits","id":"6296732","git_pull_url":"https://gist.github.com/6296732.git","git_push_url":"https://gist.github.com/6296732.git","html_url":"https://gist.github.com/6296732","files":{},"public":true,"created_at":"2013-08-21T16:28:24Z","updated_at":"2013-08-21T16:28:24Z","description":"Github API","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://1.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/6296732/comments"} - -https -GET -api.github.com -None -/gists/6296732 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '26806'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:28:24 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"f2916c23435522156274bed022a322e7"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 16:28:25 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377104997')] -{"url":"https://api.github.com/gists/6296732","forks_url":"https://api.github.com/gists/6296732/forks","commits_url":"https://api.github.com/gists/6296732/commits","id":"6296732","git_pull_url":"https://gist.github.com/6296732.git","git_push_url":"https://gist.github.com/6296732.git","html_url":"https://gist.github.com/6296732","files":{"GithubAPI.lua":{"filename":"GithubAPI.lua","type":"text/plain","language":"Lua","raw_url":"https://gist.github.com/raw/6296732/88aafa25fb28e17013054a117354a37f0d78963c/GithubAPI.lua","size":21229,"content":"-- GithubAPI\n-- @Author : Hyro Vitaly Protago\n-- @Version : 1.0.0\n\n--[[\n\nINFOS :\n - Cannot delete an anonymous gist\n]]--\n\nGithubAPI = {\n\tlocation = \"https://api.github.com/\",\n\ttoken = nil,\n\tOAuth = {\n\t\tauthorizations = {}\n\t},\n\tgist = {\n\t\tlist = {},\n\t\tcomment = {}\n\t},\n\tgithub = {}\n}\n\n----------------------------------------------------------------------------\n------------------------------ Github API ----------------------------------\n----------------------------------------------------------------------------\n\n--- Authentication ---\n\n--[[ Scopes --\n\nScopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens.\nThey do not grant any additional permission beyond that which the user already has.\n\nFor the web flow, requested scopes will be displayed to the user on the authorize form.\n\nCheck headers to see what OAuth scopes you have, and what the API action accepts.\n\n~~~\n$ curl -H \"Authorization: token OAUTH-TOKEN\" https://api.github.com/users/technoweenie -I\nHTTP/1.1 200 OK\nX-OAuth-Scopes: repo, user\nX-Accepted-OAuth-Scopes: user\nX-OAuth-Scopes lists the scopes your token has authorized. X-Accepted-OAuth-Scopes lists the scopes that the action checks for.\n~~~\n\n- (no scope)\npublic read-only access (includes public user profile info, public repo info, and gists).\n- user\nRead/write access to profile info only. Note: this scope includes user:email and user:follow.\n- user:email\nRead access to a user’s email addresses.\n- user:follow\nAccess to follow or unfollow other users.\n- public_repo\nRead/write access to public repos and organizations.\n- repo\nRead/write access to public and private repos and organizations.\n- repo:status\nRead/write access to public and private repository commit statuses.\nThis scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.\nThe repo and public_repo scopes already include access to commit status for private and public repositories respectively.\n- delete_repo\nDelete access to adminable repositories.\n- notifications\nRead access to a user’s notifications. repo is accepted too.\n- gist\nWrite access to gists.\n\nNOTE: Your application can request the scopes in the initial redirection. You can specify multiple scopes by separating them by a comma.\n~~~\nhttps://github.com/login/oauth/authorize?\n client_id=...&\n scope=user,public_repo\n~~~\n]]--\n\n-- Redirect users to request GitHub access --\nfunction GithubAPI.OAuth.getToken(client_id, scope, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/authorize?client_id=\"..client_id..\"&scope=\"..scope, function(data, status, headers)\n\t\tGithubAPI.OAuth._getToken(client_id, client_secret, data, callback)\n\tend, nil, true)\nend\n-- GitHub redirects back to your site --\nfunction GithubAPI.OAuth._getToken(client_id, client_secret, code, callback)\n\tGithubAPI.http_request(\"https://github.com/login/oauth/access_token\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret,\n\t\t\tcode = code\n\t\t}\n\t}, true)\nend\n\n-- List your authorizations --\nfunction GithubAPI.OAuth.authorizations.list(callback)\n\tGithubAPI.http_request(\"authorizations\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n }\n]\n]]--\n\n-- Get a single authorization --\nfunction GithubAPI.OAuth.authorizations.get(id, callback)\n\tGithubAPI.http_request(\"authorizations/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- Create a new authorization --\nfunction GithubAPI.OAuth.authorizations.create(callback, scopes, note, note_url, client_id, client_secret)\n\tGithubAPI.http_request(\"authorizations/\", callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tscopes = scopes,\n\t\t\tnote = note,\n\t\t\tnote_url = note_url,\n\t\t\tclient_id = client_id,\n\t\t\tclient_secret = client_secret\n\t\t}\n\t})\nend\n\n--[[ Input --\nscopes\nOptional array - A list of scopes that this authorization is in.\n\nnote\nOptional string - A note to remind you what the OAuth token is for.\n\nnote_url\nOptional string - A URL to remind you what app the OAuth token is for.\n\nclient_id\nOptional String - The 20 character OAuth app client key for which to create the token.\n\nclient_secret\nOptional String - The 40 character OAuth app client secret for which to create the token.\n~~~\n{\n \"scopes\": [\n \"public_repo\"\n ],\n \"note\": \"admin script\"\n}\n~~~\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/authorizations/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/authorizations/1\",\n \"scopes\": [\n \"public_repo\"\n ],\n \"token\": \"abc123\",\n \"app\": {\n \"url\": \"http://my-github-app.com\",\n \"name\": \"my github app\",\n \"client_id\": \"abcde12345fghij67890\"\n },\n \"note\": \"optional note\",\n \"note_url\": \"http://optional/note/url\",\n \"updated_at\": \"2011-09-06T20:39:23Z\",\n \"created_at\": \"2011-09-06T17:26:27Z\"\n}\n]]--\n\n-- TODO\n-- Update\n-- Check\n-- Delete\n\n--- GISTS ---\n\n-- List gists --\nfunction GithubAPI.gist.list.user(user, callback)\n\tGithubAPI.http_request(\"users/\"..user..\"/gists\", callback)\nend\nfunction GithubAPI.gist.list.all(callback) -- return all public gists if called anonymously\n\tGithubAPI.http_request(\"gists\", callback)\nend\nfunction GithubAPI.gist.list.allPublic(callback)\n\tGithubAPI.http_request(\"gists/public\", callback)\nend\nfunction GithubAPI.gist.list.starred(callback)\n\tGithubAPI.http_request(\"gists/starred\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nLink: ; rel=\"next\",\n ; rel=\"last\"\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n }\n]\n]]--\n\n-- Get a single gist --\nfunction GithubAPI.gist.get(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Create a gist --\nfunction GithubAPI.gist.create(public, files, callback ,description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tpublic = public,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"public\": true,\n \"files\": {\n \"file1.txt\": {\n \"content\": \"String file contents\"\n }\n }\n}\n]]--\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Edit a gist --\nfunction GithubAPI.gist.edit(id, files, callback, description)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tid = id,\n\t\t\tfiles = files,\n\t\t\tdescription = description\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"description\": \"the description for this gist\",\n \"files\": {\n \"file1.txt\": {\n \"content\": \"updated file contents\"\n },\n \"old_name.txt\": {\n \"filename\": \"new_name.txt\",\n \"content\": \"modified contents\"\n },\n \"new_file.txt\": {\n \"content\": \"a new file\"\n },\n \"delete_this_file.txt\": null\n }\n}\n]]--\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\",\n \"forks\": [\n {\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"url\": \"https://api.github.com/gists/add0d71b065f55c46f60\",\n \"created_at\": \"2011-04-14T16:00:49Z\"\n }\n ],\n \"history\": [\n {\n \"url\": \"https://api.github.com/gists/80bdb0d081c447600e18\",\n \"version\": \"57a7f021a713b1c5a6a199b54cc514735d2d462f\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"change_status\": {\n \"deletions\": 0,\n \"additions\": 180,\n \"total\": 180\n },\n \"committed_at\": \"2010-04-14T02:15:15Z\"\n }\n ]\n}\n]]--\n\n-- Star a gist --\nfunction GithubAPI.gist.star(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"PUT\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Unstar a gist --\nfunction GithubAPI.gist.unstar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Check if a gist is starred --\nfunction GithubAPI.gist.checkStar(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/star\", callback)\nend\n\n--[[\n-- Response if gist is starred --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n\n-- Response if gist is not starred --\nStatus: 404 Not Found\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n-- Fork a gist --\nfunction GithubAPI.gist.fork(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id..\"/forks\", callback, {method=\"POST\"})\nend\n\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/2\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"url\": \"https://api.github.com/gists/88a3112be74ba6ad701e\",\n \"id\": \"1\",\n \"description\": \"description of gist\",\n \"public\": true,\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"files\": {\n \"ring.erl\": {\n \"size\": 932,\n \"filename\": \"ring.erl\",\n \"raw_url\": \"https://gist.github.com/raw/365370/8c4d2d43d178df44f4c03a7f2ac0ff512853564e/ring.erl\"\n }\n },\n \"comments\": 0,\n \"comments_url\": \"https://api.github.com/gists/8438e99468ee9a4ab10e/comments/\",\n \"html_url\": \"https://gist.github.com/1\",\n \"git_pull_url\": \"git://gist.github.com/1.git\",\n \"git_push_url\": \"git@gist.github.com:1.git\",\n \"created_at\": \"2010-04-14T02:15:15Z\"\n}\n]]--\n\n-- Delete a gist --\nfunction GithubAPI.gist.delete(id, callback)\n\tGithubAPI.http_request(\"gists/\"..id, callback, {method=\"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n--- GISTS COMMENTS ---\n\n-- List comments on a gist --\nfunction GithubAPI.gist.comment.list(gist_id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments\", callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n[\n {\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n }\n]\n]]--\n\n-- Get a single comment --\nfunction GithubAPI.gist.comment.get(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback)\nend\n\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Create a comment --\nfunction GithubAPI.gist.comment.create(gist_id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"POST\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 201 Created\nLocation: https://api.github.com/gists/comments/1\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Edit a comment --\nfunction GithubAPI.gist.comment.edit(gist_id, id, body, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {\n\t\tmethod = \"PATCH\",\n\t\tdata = {\n\t\t\tbody = body\n\t\t}\n\t})\nend\n\n--[[ Input --\n{\n \"body\": \"Just commenting for the sake of commenting\"\n}\n]]--\n--[[ Response --\nStatus: 200 OK\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n{\n \"id\": 1,\n \"url\": \"https://api.github.com/gists/ae709e9cf889e485e65f/comments/1\",\n \"body\": \"Just commenting for the sake of commenting\",\n \"user\": {\n \"login\": \"octocat\",\n \"id\": 1,\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"somehexcode\",\n \"url\": \"https://api.github.com/users/octocat\"\n },\n \"created_at\": \"2011-04-18T23:23:56Z\"\n}\n]]--\n\n-- Delete a comment --\nfunction GithubAPI.gist.comment.delete(gist_id, id, callback)\n\tGithubAPI.http_request(\"gists/..\"gist_id\"../comments/\"..id, callback, {method = \"DELETE\"})\nend\n\n--[[ Response --\nStatus: 204 No Content\nX-RateLimit-Limit: 5000\nX-RateLimit-Remaining: 4999\n]]--\n\n----------------------------------------------------------------------------\n-------------------------------- TOOLS -------------------------------------\n----------------------------------------------------------------------------\n\nfunction GithubAPI.http_request(url, callback, opts, fullUrl)\n\topts = opts or {}\n\t-- if GithubAPI.token then opts.headers = TOKEN BEARER\n\tif opts.data then opts.data = json.encode(opts.data) end\n\n\tlocal _url\n\tif (fullUrl) then _url = url else _url = GithubAPI.location .. url end\n\n\thttp.request(_url, function(data, status, headers)\n\t\tif (status == 500) then error(\"Github: Internal Server Error ...\") end\n\t\tdata = json.decode(data)\n\t\tcallback(data, status, headers)\n\tend, alert, opts)\nend\n\nfunction GithubAPI.explode(div,str) -- credit: http://richard.warburton.it\n if (div=='') then return false end\n local pos,arr = 0,{}\n for st,sp in function() return string.find(str,div,pos,true) end do\n table.insert(arr,string.sub(str,pos,st-1))\n pos = sp + 1\n end\n table.insert(arr,string.sub(str,pos))\n return arr\nend\n\n-- GITHUB TIMESTAMP (YYYY-MM-DDTHH:MM:SSZ) to os.time\nfunction GithubAPI.gtimestamp(githubTime)\n\tgithubTime = githubTime:sub(1, #githubTime-1) -- remove Z\n\tgithubTime = GithubAPI.explode(\"T\", githubTime)\n\tgithubTime[1] = GithubAPI.explode(\"-\", githubTime[1])\n\tgithubTime[2] = GithubAPI.explode(\":\", githubTime[2])\n\treturn os.time({\n\t\tyear = tonumber(githubTime[1][1]),\n\t\tmonth = tonumber(githubTime[1][2]),\n\t\tday = tonumber(githubTime[1][3]),\n\t\thour = tonumber(githubTime[2][1]),\n\t\tmin = tonumber(githubTime[2][2]),\n\t\tsec = tonumber(githubTime[2][3])\n\t})\nend"}},"public":true,"created_at":"2013-08-21T16:28:24Z","updated_at":"2013-08-21T16:28:24Z","description":"Github API","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://2.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/6296732/comments","forks":[],"history":[{"user":null,"version":"c464aecd7fea16684e935607eeea7ae4f8caa0e2","committed_at":"2013-08-21T16:12:27Z","change_status":{"total":793,"additions":793,"deletions":0},"url":"https://api.github.com/gists/6296732/c464aecd7fea16684e935607eeea7ae4f8caa0e2"}],"fork_of":{"url":"https://api.github.com/gists/6296553","forks_url":"https://api.github.com/gists/6296553/forks","commits_url":"https://api.github.com/gists/6296553/commits","id":"6296553","git_pull_url":"https://gist.github.com/6296553.git","git_push_url":"https://gist.github.com/6296553.git","html_url":"https://gist.github.com/6296553","files":{},"public":true,"created_at":"2013-08-21T16:12:27Z","updated_at":"2013-08-21T16:28:24Z","description":"Github API","comments":0,"user":{"login":"HyroVitalyProtago","id":3470988,"avatar_url":"https://1.gravatar.com/avatar/ed59562b231a649345f38703948f76f4?d=https%3A%2F%2Fidenticons.github.com%2F6582cb986b7a730b12f7c18dfcc865f0.png","gravatar_id":"ed59562b231a649345f38703948f76f4","url":"https://api.github.com/users/HyroVitalyProtago","html_url":"https://github.com/HyroVitalyProtago","followers_url":"https://api.github.com/users/HyroVitalyProtago/followers","following_url":"https://api.github.com/users/HyroVitalyProtago/following{/other_user}","gists_url":"https://api.github.com/users/HyroVitalyProtago/gists{/gist_id}","starred_url":"https://api.github.com/users/HyroVitalyProtago/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HyroVitalyProtago/subscriptions","organizations_url":"https://api.github.com/users/HyroVitalyProtago/orgs","repos_url":"https://api.github.com/users/HyroVitalyProtago/repos","events_url":"https://api.github.com/users/HyroVitalyProtago/events{/privacy}","received_events_url":"https://api.github.com/users/HyroVitalyProtago/received_events","type":"User"},"comments_url":"https://api.github.com/gists/6296553/comments"}} - diff --git a/github/tests/ReplayData/Gist.testGetComments.txt b/github/tests/ReplayData/Gist.testGetComments.txt deleted file mode 100644 index 8f47d99..0000000 --- a/github/tests/ReplayData/Gist.testGetComments.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -GET -api.github.com -None -/gists/2729810/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '473'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ed0bedf32cc0d6f8dfe93e85ffa951cc"'), ('date', 'Sat, 19 May 2012 07:20:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-19T07:19:02Z","body":"Some random comment","url":"https://api.github.com/gists/comments/323637","created_at":"2012-05-19T07:19:02Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":323637}] - diff --git a/github/tests/ReplayData/Gist.testRenameFile.txt b/github/tests/ReplayData/Gist.testRenameFile.txt deleted file mode 100644 index 6cb5446..0000000 --- a/github/tests/ReplayData/Gist.testRenameFile.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/5339374 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '6633'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 08 Apr 2013 19:03:29 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"809219adfdd04544970d95fc5629aac3"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 08 Apr 2013 19:04:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/5339374","forks_url":"https://api.github.com/gists/5339374/forks","commits_url":"https://api.github.com/gists/5339374/commits","id":"5339374","git_pull_url":"https://gist.github.com/5339374.git","git_push_url":"https://gist.github.com/5339374.git","html_url":"https://gist.github.com/5339374","files":{"bar.txt":{"filename":"bar.txt","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/5339374/4821236b6b52e23dfbf8e39157d250f3461aa9c5/bar.txt","size":10,"content":"Bar -> baz"}},"public":true,"created_at":"2013-04-08T18:46:14Z","updated_at":"2013-04-08T19:03:29Z","description":"Test gist for PyGithub","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/5339374/comments","forks":[],"history":[{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"54cc5cd4c452d1a91d8e6241cbffaf6bc59e1b20","committed_at":"2013-04-08T19:03:29Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/5339374/54cc5cd4c452d1a91d8e6241cbffaf6bc59e1b20"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"eb21edfa28bdc9437f2fa42d3e921242d7d72655","committed_at":"2013-04-08T19:01:51Z","change_status":{"total":1,"additions":0,"deletions":1},"url":"https://api.github.com/gists/5339374/eb21edfa28bdc9437f2fa42d3e921242d7d72655"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5","committed_at":"2013-04-08T18:50:40Z","change_status":{"total":1,"additions":0,"deletions":1},"url":"https://api.github.com/gists/5339374/3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"7887f7ac9eb5c1963004bdde3bcfe2221d9a0515","committed_at":"2013-04-08T18:46:14Z","change_status":{"total":2,"additions":2,"deletions":0},"url":"https://api.github.com/gists/5339374/7887f7ac9eb5c1963004bdde3bcfe2221d9a0515"}]} - -https -PATCH -api.github.com -None -/gists/5339374 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"files": {"bar.txt": {"content": "Bar -> baz", "filename": "baz.txt"}}} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '7854'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b77057899bafb1bca16a79dfe56427c3"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Mon, 08 Apr 2013 19:04:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/5339374","forks_url":"https://api.github.com/gists/5339374/forks","commits_url":"https://api.github.com/gists/5339374/commits","id":"5339374","git_pull_url":"https://gist.github.com/5339374.git","git_push_url":"https://gist.github.com/5339374.git","html_url":"https://gist.github.com/5339374","files":{"baz.txt":{"filename":"baz.txt","type":"text/plain","language":null,"raw_url":"https://gist.github.com/raw/5339374/4821236b6b52e23dfbf8e39157d250f3461aa9c5/baz.txt","size":10,"content":"Bar -> baz"}},"public":true,"created_at":"2013-04-08T18:46:14Z","updated_at":"2013-04-08T19:04:07Z","description":"Test gist for PyGithub","comments":0,"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"comments_url":"https://api.github.com/gists/5339374/comments","forks":[],"history":[{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"c670d47c5ffee49794a9793a513603fab578bc56","committed_at":"2013-04-08T19:04:07Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5339374/c670d47c5ffee49794a9793a513603fab578bc56"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"54cc5cd4c452d1a91d8e6241cbffaf6bc59e1b20","committed_at":"2013-04-08T19:03:29Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/5339374/54cc5cd4c452d1a91d8e6241cbffaf6bc59e1b20"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"eb21edfa28bdc9437f2fa42d3e921242d7d72655","committed_at":"2013-04-08T19:01:51Z","change_status":{"total":1,"additions":0,"deletions":1},"url":"https://api.github.com/gists/5339374/eb21edfa28bdc9437f2fa42d3e921242d7d72655"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5","committed_at":"2013-04-08T18:50:40Z","change_status":{"total":1,"additions":0,"deletions":1},"url":"https://api.github.com/gists/5339374/3b66ad4cc07f2bebb2eae2b2f2eefba33d2fb2d5"},{"user":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"version":"7887f7ac9eb5c1963004bdde3bcfe2221d9a0515","committed_at":"2013-04-08T18:46:14Z","change_status":{"total":2,"additions":2,"deletions":0},"url":"https://api.github.com/gists/5339374/7887f7ac9eb5c1963004bdde3bcfe2221d9a0515"}]} - diff --git a/github/tests/ReplayData/Gist.testStarring.txt b/github/tests/ReplayData/Gist.testStarring.txt deleted file mode 100644 index 364e6c7..0000000 --- a/github/tests/ReplayData/Gist.testStarring.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -GET -api.github.com -None -/gists/2729810/star -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4975'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99914b932bd37a50b983c5e7c90ae93b"'), ('date', 'Sat, 19 May 2012 07:22:29 GMT'), ('content-type', 'application/json; charset=utf-8')] -{} - -https -PUT -api.github.com -None -/gists/2729810/star -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:22:29 GMT')] - - -https -GET -api.github.com -None -/gists/2729810/star -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4973'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:22:30 GMT')] - - -https -DELETE -api.github.com -None -/gists/2729810/star -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4972'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:22:30 GMT')] - - -https -GET -api.github.com -None -/gists/2729810/star -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4971'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99914b932bd37a50b983c5e7c90ae93b"'), ('date', 'Sat, 19 May 2012 07:22:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{} - diff --git a/github/tests/ReplayData/GistComment.setUp.txt b/github/tests/ReplayData/GistComment.setUp.txt deleted file mode 100644 index 0d1ac54..0000000 --- a/github/tests/ReplayData/GistComment.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gists/2729810 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} - -https -GET -api.github.com -None -/gists/2729810/comments/323629 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '479'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"c2581153865c9b18a576589587e1fb98"'), ('date', 'Sat, 19 May 2012 07:12:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/2729810/comments/323629","body":"Comment created by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:07:57Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} - diff --git a/github/tests/ReplayData/GistComment.testDelete.txt b/github/tests/ReplayData/GistComment.testDelete.txt deleted file mode 100644 index 87bb6dc..0000000 --- a/github/tests/ReplayData/GistComment.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/gists/2729810/comments/323629 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT')] - - diff --git a/github/tests/ReplayData/GistComment.testEdit.txt b/github/tests/ReplayData/GistComment.testEdit.txt deleted file mode 100644 index 43f5980..0000000 --- a/github/tests/ReplayData/GistComment.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/gists/2729810/comments/323629 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('content-length', '478'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"cea8090368993f1fb95c32cdcf4245d3"'), ('date', 'Sat, 19 May 2012 07:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/2729810/comments/323629","body":"Comment edited by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:12:32Z","id":323629,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} - diff --git a/github/tests/ReplayData/GitBlob.setUp.txt b/github/tests/ReplayData/GitBlob.setUp.txt deleted file mode 100644 index 2ed84e4..0000000 --- a/github/tests/ReplayData/GitBlob.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cae303fffd852767651ae178cc25c7be"'), ('date', 'Thu, 10 May 2012 19:05:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":1,"html_url":"https://github.com/jacquev6","type":"User","url":"https://api.github.com/users/jacquev6","private_gists":5,"disk_usage":16676,"collaborators":0,"plan":{"collaborators":1,"private_repos":5,"space":614400,"name":"micro"},"blog":"http://vincent-jacques.net","hireable":false,"login":"jacquev6","public_repos":10,"email":"vincent@vincent-jacques.net","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","bio":"","created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","total_private_repos":5,"followers":13,"following":24,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"owned_private_repos":5} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"156b4bd24ab7a88fd5e1c851f71eea20"'), ('date', 'Thu, 10 May 2012 19:05:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"mirror_url":null,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '1987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4b96ab346d46fbc2a409711500d54f42"'), ('date', 'Thu, 10 May 2012 19:05:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","encoding":"base64","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\nICdQeUdpdGh1YicsCiAgICB2ZXJzaW9uID0gJzAuNicsCiAgICBkZXNjcmlw\ndGlvbiA9ICdVc2UgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MycsCiAgICBhdXRo\nb3IgPSAnVmluY2VudCBKYWNxdWVzJywKICAgIGF1dGhvcl9lbWFpbCA9ICd2\naW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQnLAogICAgdXJsID0gJ2h0dHA6\nLy92aW5jZW50LWphY3F1ZXMubmV0L1B5R2l0aHViJywKICAgIGxvbmdfZGVz\nY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoICIiIlwKICAgICAgICBUdXRv\ncmlhbAogICAgICAgID09PT09PT09CgogICAgICAgIEZpcnN0IGNyZWF0ZSBh\nIEdpaHViIGluc3RhbmNlOjoKCiAgICAgICAgICAgIGZyb20gZ2l0aHViIGlt\ncG9ydCBHaXRodWIKCiAgICAgICAgICAgIGcgPSBHaXRodWIoICJ1c2VyIiwg\nInBhc3N3b3JkIiApCgogICAgICAgIFRoZW4gcGxheSB3aXRoIHlvdXIgR2l0\naHViIG9iamVjdHM6OgoKICAgICAgICAgICAgZm9yIHJlcG8gaW4gZy5nZXRf\ndXNlcigpLmdldF9yZXBvcygpOgogICAgICAgICAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgICAgICAgICByZXBvLmVkaXQoIGhhc193aWtpID0g\nRmFsc2UgKQoKICAgICAgICBSZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgogICAg\nICAgID09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFNlZSBodHRw\nOi8vdmluY2VudC1qYWNxdWVzLm5ldC9QeUdpdGh1YiIiIiApLAogICAgcGFj\na2FnZXMgPSBbCiAgICAgICAgJ2dpdGh1YicsCiAgICAgICAgJ2dpdGh1Yi5H\naXRodWJPYmplY3RzJywKICAgICAgICAnZ2l0aHViLkdpdGh1Yk9iamVjdHMu\nR2l0aHViT2JqZWN0JywKICAgIF0sCiAgICBjbGFzc2lmaWVycz1bCiAgICAg\nICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCiAgICAgICAg\nIkVudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCIsCiAgICAgICAgIklu\ndGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAogICAgICAgICJMaWNl\nbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgTGlicmFyeSBvciBMZXNzZXIg\nR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCkiLAogICAgICAgICJPcGVy\nYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKICAgICAgICAiUHJv\nZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667"} - diff --git a/github/tests/ReplayData/GitCommit.setUp.txt b/github/tests/ReplayData/GitCommit.setUp.txt deleted file mode 100644 index 7f6377c..0000000 --- a/github/tests/ReplayData/GitCommit.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"55f0187d26f5ca2e7103006d9837865c"'), ('date', 'Thu, 10 May 2012 19:05:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"total_private_repos":5,"html_url":"https://github.com/jacquev6","type":"User","url":"https://api.github.com/users/jacquev6","owned_private_repos":5,"disk_usage":16676,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"public_gists":1,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","blog":"http://vincent-jacques.net","private_gists":5,"login":"jacquev6","public_repos":10,"email":"vincent@vincent-jacques.net","collaborators":0,"created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","hireable":false,"followers":13,"following":24,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","bio":"","id":327146} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"72a84ed8ad0d83f6a4c09dcd388c20a1"'), ('date', 'Thu, 10 May 2012 19:05:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eabd190c639b57d447ea6d3463da7aae"'), ('date', 'Thu, 10 May 2012 19:05:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'\n","committer":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"}} - diff --git a/github/tests/ReplayData/GitRef.setUp.txt b/github/tests/ReplayData/GitRef.setUp.txt deleted file mode 100644 index 5dc74b6..0000000 --- a/github/tests/ReplayData/GitRef.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fc8367028bd9046f0b52929ea8657756"'), ('date', 'Thu, 10 May 2012 18:49:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","owned_private_repos":5,"public_repos":10,"html_url":"https://github.com/jacquev6","blog":"http://vincent-jacques.net","collaborators":0,"following":24,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"followers":13,"url":"https://api.github.com/users/jacquev6","private_gists":5,"hireable":false,"login":"jacquev6","email":"vincent@vincent-jacques.net","disk_usage":16676,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"created_at":"2010-07-09T06:10:06Z","name":"Vincent Jacques","bio":"","id":327146,"total_private_repos":5,"location":"Paris, France"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"82dfa2c767e249ed2a1703529101f0aa"'), ('date', 'Thu, 10 May 2012 18:49:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:14:23Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:14:23Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '336'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ef55032f07a176e09c65b2ac524c2ecf"'), ('date', 'Thu, 10 May 2012 14:38:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","type":"commit","sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"ref":"refs/heads/BranchCreatedByPyGithub"} - diff --git a/github/tests/ReplayData/GitRef.testDelete.txt b/github/tests/ReplayData/GitRef.testDelete.txt deleted file mode 100644 index 687c41c..0000000 --- a/github/tests/ReplayData/GitRef.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Thu, 10 May 2012 18:49:22 GMT')] - - diff --git a/github/tests/ReplayData/GitRef.testEdit.txt b/github/tests/ReplayData/GitRef.testEdit.txt deleted file mode 100644 index ff432f1..0000000 --- a/github/tests/ReplayData/GitRef.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"sha": "04cde900a0775b51f762735637bd30de392a2793"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ced480ad69948233f6520f7cd945eb34"'), ('date', 'Thu, 10 May 2012 18:49:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/04cde900a0775b51f762735637bd30de392a2793","type":"commit","sha":"04cde900a0775b51f762735637bd30de392a2793"},"ref":"refs/heads/BranchCreatedByPyGithub"} - diff --git a/github/tests/ReplayData/GitRef.testEditWithForce.txt b/github/tests/ReplayData/GitRef.testEditWithForce.txt deleted file mode 100644 index a1ef3b7..0000000 --- a/github/tests/ReplayData/GitRef.testEditWithForce.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "force": true} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fb39f29de1defbab14def8a331d00c69"'), ('date', 'Thu, 10 May 2012 18:49:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub"} - diff --git a/github/tests/ReplayData/GitTag.setUp.txt b/github/tests/ReplayData/GitTag.setUp.txt deleted file mode 100644 index bd9f67c..0000000 --- a/github/tests/ReplayData/GitTag.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fc8367028bd9046f0b52929ea8657756"'), ('date', 'Thu, 10 May 2012 19:03:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","owned_private_repos":5,"public_repos":10,"html_url":"https://github.com/jacquev6","blog":"http://vincent-jacques.net","collaborators":0,"following":24,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"followers":13,"url":"https://api.github.com/users/jacquev6","private_gists":5,"hireable":false,"login":"jacquev6","email":"vincent@vincent-jacques.net","disk_usage":16676,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"created_at":"2010-07-09T06:10:06Z","name":"Vincent Jacques","bio":"","id":327146,"total_private_repos":5,"location":"Paris, France"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b297a1eb78f994e828d8b625dae93910"'), ('date', 'Thu, 10 May 2012 19:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1dd282b50e691f8f162ef9355dad8771"'), ('date', 'Thu, 10 May 2012 19:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","tag":"v0.6","message":"Version 0.6\n","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"tagger":{"email":"vincent@vincent-jacques.net","date":"2012-05-10T11:14:15-07:00","name":"Vincent Jacques"},"sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"} - diff --git a/github/tests/ReplayData/GitTree.setUp.txt b/github/tests/ReplayData/GitTree.setUp.txt deleted file mode 100644 index 1ec9eb8..0000000 --- a/github/tests/ReplayData/GitTree.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"87bbafa72e82fd0e23eca263d0939cbc"'), ('date', 'Thu, 10 May 2012 19:03:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"html_url":"https://github.com/jacquev6","type":"User","hireable":false,"url":"https://api.github.com/users/jacquev6","disk_usage":16676,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"bio":"","public_gists":1,"total_private_repos":5,"login":"jacquev6","private_gists":5,"email":"vincent@vincent-jacques.net","owned_private_repos":5,"public_repos":10,"collaborators":0,"created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","followers":13,"following":24,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"blog":"http://vincent-jacques.net"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"80c85d7120a6d887a451a951adbfbe8e"'), ('date', 'Thu, 10 May 2012 19:03:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-10T18:49:21Z","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"homepage":"http://vincent-jacques.net/PyGithub","forks":2,"git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","pushed_at":"2012-05-10T18:49:21Z","language":"Python","size":196,"private":false,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","mirror_url":null,"has_downloads":true,"watchers":13,"description":"Python library implementing the full Github API v3","id":3544490,"permissions":{"admin":true,"pull":true,"push":true}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '2588'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d37c2285c7bc31e9c29a9e36808b12bc"'), ('date', 'Thu, 10 May 2012 19:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","type":"blob","size":53,"sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","path":".gitignore","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","type":"blob","size":1832,"sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","path":"Design.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","type":"blob","size":28643,"sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","path":"IntegrationTest.py","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","type":"blob","size":3153,"sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","path":"ReadMe.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","type":"blob","size":12687,"sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","path":"ReferenceOfApis.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","type":"blob","size":15967,"sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","path":"ReferenceOfClasses.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","type":"tree","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","type":"blob","size":320,"sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","path":"RoadMap.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","type":"tree","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","type":"blob","size":673,"sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","path":"run_tests.sh","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","type":"blob","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667","path":"setup.py","mode":"100644"}]} - diff --git a/github/tests/ReplayData/Github.testGetEmojis.txt b/github/tests/ReplayData/Github.testGetEmojis.txt deleted file mode 100644 index ceb8ccc..0000000 --- a/github/tests/ReplayData/Github.testGetEmojis.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -GET -api.github.com -None -/emojis -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '757'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"cc8e8df5d003cd489fd90931fa7f751a"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 21 Dec 2012 19:54:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"+1": "https://github.global.ssl.fastly.net/images/icons/emoji/+1.png?v5", "-1": "https://github.global.ssl.fastly.net/images/icons/emoji/-1.png?v5", "100": "https://github.global.ssl.fastly.net/images/icons/emoji/100.png?v5", "1234": "https://github.global.ssl.fastly.net/images/icons/emoji/1234.png?v5", "8ball": "https://github.global.ssl.fastly.net/images/icons/emoji/8ball.png?v5", "a": "https://github.global.ssl.fastly.net/images/icons/emoji/a.png?v5", "ab": "https://github.global.ssl.fastly.net/images/icons/emoji/ab.png?v5"} \ No newline at end of file diff --git a/github/tests/ReplayData/Github.testGetGists.txt b/github/tests/ReplayData/Github.testGetGists.txt deleted file mode 100644 index 7037ce4..0000000 --- a/github/tests/ReplayData/Github.testGetGists.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/gists/public -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '28676'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5b610d3d5b133b2a973f55c3a0899707"'), ('date', 'Sat, 19 May 2012 06:25:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-19T06:25:16Z","url":"https://api.github.com/gists/2729695","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729695.git","git_push_url":"git@gist.github.com:2729695.git","files":{"pressman.md":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729695/3b3f0a11f4f4089556fbf2f549a5948140629a51/pressman.md","size":111,"filename":"pressman.md","language":"Markdown"}},"html_url":"https://gist.github.com/2729695","user":{"url":"https://api.github.com/users/kombomilk","gravatar_id":"d973fbfbdcf92509859d80885dfa74df","login":"kombomilk","id":1652697,"avatar_url":"https://secure.gravatar.com/avatar/d973fbfbdcf92509859d80885dfa74df?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T06:25:16Z","id":"2729695"},{"updated_at":"2012-05-19T06:20:20Z","url":"https://api.github.com/gists/2729656","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729656.git","git_push_url":"git@gist.github.com:2729656.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729656/e154088fb07f2b6982a6ca4c86c3ae025325db81/gistfile1.txt","size":401,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729656","user":{"url":"https://api.github.com/users/jeremytregunna","gravatar_id":"5296d70606ba2ff86311c1cef0c92699","login":"jeremytregunna","id":261615,"avatar_url":"https://secure.gravatar.com/avatar/5296d70606ba2ff86311c1cef0c92699?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Sid example, maybe? (Grammar test)","created_at":"2012-05-19T06:20:20Z","id":"2729656"},{"updated_at":"2012-05-19T06:15:36Z","url":"https://api.github.com/gists/2729597","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729597.git","git_push_url":"git@gist.github.com:2729597.git","files":{"gistfile1.cpp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729597/46a80be6ab3c2647e85eea7a4d46f6c66c85e571/gistfile1.cpp","size":660,"filename":"gistfile1.cpp","language":"C++"}},"html_url":"https://gist.github.com/2729597","user":{"url":"https://api.github.com/users/rpwll","gravatar_id":"2e3325fbe0f268a5ac99e0163066bf9c","login":"rpwll","id":320910,"avatar_url":"https://secure.gravatar.com/avatar/2e3325fbe0f268a5ac99e0163066bf9c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T06:15:36Z","id":"2729597"},{"updated_at":"2012-05-19T06:13:04Z","url":"https://api.github.com/gists/2729584","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729584.git","git_push_url":"git@gist.github.com:2729584.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729584/6873ef952676bb4decf8d5e9d543c23b9429f150/gistfile1.txt","size":1854,"filename":"gistfile1.txt","language":"Text"},"main.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2729584/9702c5fa1deb972bb314c69645e9cac90769a591/main.js","size":10466,"filename":"main.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2729584","user":{"url":"https://api.github.com/users/jimklo","gravatar_id":"03408acdcc9796a9682ece76481c83e4","login":"jimklo","id":588760,"avatar_url":"https://secure.gravatar.com/avatar/03408acdcc9796a9682ece76481c83e4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"BrowserID login error","created_at":"2012-05-19T06:13:04Z","id":"2729584"},{"updated_at":"2012-05-19T06:11:49Z","url":"https://api.github.com/gists/2729569","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729569.git","git_push_url":"git@gist.github.com:2729569.git","files":{"my_struct.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729569/b562f236b4c182b89787724b028f3437e9e7e784/my_struct.rb","size":343,"filename":"my_struct.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2729569","user":{"url":"https://api.github.com/users/mdaisuke","gravatar_id":"22f8f3be7207c5e2bbf090b805442f57","login":"mdaisuke","id":122267,"avatar_url":"https://secure.gravatar.com/avatar/22f8f3be7207c5e2bbf090b805442f57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":null,"created_at":"2012-05-19T06:11:49Z","id":"2729569"},{"updated_at":"2012-05-19T06:09:34Z","url":"https://api.github.com/gists/2729554","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729554.git","git_push_url":"git@gist.github.com:2729554.git","files":{"lazy.pl":{"type":"application/perl","raw_url":"https://gist.github.com/raw/2729554/3d3546064cef9bf18c8cc0521e8253277958db0b/lazy.pl","size":110,"filename":"lazy.pl","language":"Perl"},"not-so-lazy.pl":{"type":"application/perl","raw_url":"https://gist.github.com/raw/2729554/760359c4f7327b73431272d9b2df4e093c489ff4/not-so-lazy.pl","size":391,"filename":"not-so-lazy.pl","language":"Perl"}},"html_url":"https://gist.github.com/2729554","user":{"url":"https://api.github.com/users/RsrchBoy","gravatar_id":"ffa68a092e250fa39e9680419592aa6e","login":"RsrchBoy","id":59620,"avatar_url":"https://secure.gravatar.com/avatar/ffa68a092e250fa39e9680419592aa6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Cheap caching with AutoDestruct","created_at":"2012-05-19T06:09:34Z","id":"2729554"},{"updated_at":"2012-05-19T06:07:29Z","url":"https://api.github.com/gists/2729543","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729543.git","git_push_url":"git@gist.github.com:2729543.git","files":{"UserProviderInterface.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2729543/7922ee243c5aea1d452579d76d83268aa78661f2/UserProviderInterface.php","size":825,"filename":"UserProviderInterface.php","language":"PHP"}},"html_url":"https://gist.github.com/2729543","user":{"url":"https://api.github.com/users/coreymcmahon","gravatar_id":"87ae7cb8e1dc49819787951a8a20be30","login":"coreymcmahon","id":700486,"avatar_url":"https://secure.gravatar.com/avatar/87ae7cb8e1dc49819787951a8a20be30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"The UserProviderInterface interface - http://www.symfonycentral.com/securing-your-web-application-with-symfony.html","created_at":"2012-05-19T06:07:29Z","id":"2729543"},{"updated_at":"2012-05-19T06:06:34Z","url":"https://api.github.com/gists/2729537","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729537.git","git_push_url":"git@gist.github.com:2729537.git","files":{"jstestdriver.conf":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729537/a71a62f73f687a3f0f55ca7faed9605bbdf0385b/jstestdriver.conf","size":2171,"filename":"jstestdriver.conf","language":null}},"html_url":"https://gist.github.com/2729537","user":{"url":"https://api.github.com/users/kyo-ago","gravatar_id":"f0ac096759bda90c77e9498f5688b40f","login":"kyo-ago","id":67387,"avatar_url":"https://secure.gravatar.com/avatar/f0ac096759bda90c77e9498f5688b40f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"jstestdriver.conf sample","created_at":"2012-05-19T06:06:34Z","id":"2729537"},{"updated_at":"2012-05-19T06:06:18Z","url":"https://api.github.com/gists/2729536","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729536.git","git_push_url":"git@gist.github.com:2729536.git","files":{"UserInterface.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2729536/deb8f57f706f79db758ad0de2ab5b0dd4243c785/UserInterface.php","size":1010,"filename":"UserInterface.php","language":"PHP"}},"html_url":"https://gist.github.com/2729536","user":{"url":"https://api.github.com/users/coreymcmahon","gravatar_id":"87ae7cb8e1dc49819787951a8a20be30","login":"coreymcmahon","id":700486,"avatar_url":"https://secure.gravatar.com/avatar/87ae7cb8e1dc49819787951a8a20be30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"The UserInterface interface - http://www.symfonycentral.com/securing-your-web-application-with-symfony.html","created_at":"2012-05-19T06:06:18Z","id":"2729536"},{"updated_at":"2012-05-19T06:07:56Z","url":"https://api.github.com/gists/2729533","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729533.git","git_push_url":"git@gist.github.com:2729533.git","files":{"PagingControl.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2729533/d2492668b72c6dd9468de5dc514e8338c1aecdaf/PagingControl.js","size":1733,"filename":"PagingControl.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2729533","user":{"url":"https://api.github.com/users/wgx731","gravatar_id":"7423dcf4785be28fc40bb11329c0ede4","login":"wgx731","id":494702,"avatar_url":"https://secure.gravatar.com/avatar/7423dcf4785be28fc40bb11329c0ede4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Nice Paging control for scrollableViews for Titanium Appcelerator","created_at":"2012-05-19T06:05:20Z","id":"2729533"},{"updated_at":"2012-05-19T06:03:57Z","url":"https://api.github.com/gists/2729525","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729525.git","git_push_url":"git@gist.github.com:2729525.git","files":{"UserRepository.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2729525/6b2666271d0212ec6510720b39f3fd314c1091ac/UserRepository.php","size":1541,"filename":"UserRepository.php","language":"PHP"}},"html_url":"https://gist.github.com/2729525","user":{"url":"https://api.github.com/users/coreymcmahon","gravatar_id":"87ae7cb8e1dc49819787951a8a20be30","login":"coreymcmahon","id":700486,"avatar_url":"https://secure.gravatar.com/avatar/87ae7cb8e1dc49819787951a8a20be30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Using a custom UserProviderInterface for Symfony Security - http://www.symfonycentral.com/securing-your-web-application-with-symfony.html","created_at":"2012-05-19T06:03:57Z","id":"2729525"},{"updated_at":"2012-05-19T06:02:51Z","url":"https://api.github.com/gists/2729522","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729522.git","git_push_url":"git@gist.github.com:2729522.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729522/4450e2adfe6449ce47f8b6557cb5cb6f3d350dfa/gistfile1.txt","size":284,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729522","user":{"url":"https://api.github.com/users/SpiffyJr","gravatar_id":"a5408ecd6ed3688802ef096bbd002a80","login":"SpiffyJr","id":227900,"avatar_url":"https://secure.gravatar.com/avatar/a5408ecd6ed3688802ef096bbd002a80?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T06:02:51Z","id":"2729522"},{"updated_at":"2012-05-19T06:02:30Z","url":"https://api.github.com/gists/2729519","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729519.git","git_push_url":"git@gist.github.com:2729519.git","files":{"arrange.sh":{"type":"application/sh","raw_url":"https://gist.github.com/raw/2729519/53ecb295721b9f6022d8abc92e7e69a5937c2fa5/arrange.sh","size":2523,"filename":"arrange.sh","language":"Shell"}},"html_url":"https://gist.github.com/2729519","user":{"url":"https://api.github.com/users/vinitcool76","gravatar_id":"0474e465f54e54cc1225d67dfd5d9be5","login":"vinitcool76","id":537678,"avatar_url":"https://secure.gravatar.com/avatar/0474e465f54e54cc1225d67dfd5d9be5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Its is a script to arrange a directory and copy the files to respective directories for easy access","created_at":"2012-05-19T06:02:30Z","id":"2729519"},{"updated_at":"2012-05-19T06:01:01Z","url":"https://api.github.com/gists/2729515","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729515.git","git_push_url":"git@gist.github.com:2729515.git","files":{"User.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2729515/6a7df1276bfa169e9d8fceb62462c73629423977/User.php","size":798,"filename":"User.php","language":"PHP"}},"html_url":"https://gist.github.com/2729515","user":{"url":"https://api.github.com/users/coreymcmahon","gravatar_id":"87ae7cb8e1dc49819787951a8a20be30","login":"coreymcmahon","id":700486,"avatar_url":"https://secure.gravatar.com/avatar/87ae7cb8e1dc49819787951a8a20be30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Using a custom UserInterface for Symfony Security - http://www.symfonycentral.com/securing-your-web-application-with-symfony.html","created_at":"2012-05-19T06:01:01Z","id":"2729515"},{"updated_at":"2012-05-19T05:58:58Z","url":"https://api.github.com/gists/2729506","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729506.git","git_push_url":"git@gist.github.com:2729506.git","files":{"apod.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729506/883cff9ec3da597afb74a97ca8853450b5447d28/apod.py","size":1416,"filename":"apod.py","language":"Python"}},"html_url":"https://gist.github.com/2729506","user":{"url":"https://api.github.com/users/ranman","gravatar_id":"79c320d5af1feee21c58b8cb21692d38","login":"ranman","id":175163,"avatar_url":"https://secure.gravatar.com/avatar/79c320d5af1feee21c58b8cb21692d38?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"quick script to set twitter bg to astronomy pic of the day","created_at":"2012-05-19T05:58:58Z","id":"2729506"},{"updated_at":"2012-05-19T05:51:45Z","url":"https://api.github.com/gists/2729487","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729487.git","git_push_url":"git@gist.github.com:2729487.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729487/1605fe71f2e4ecc0d59fc2e9bf10aead6beca013/gistfile1.txt","size":1527,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729487","user":{"url":"https://api.github.com/users/SpiffyJr","gravatar_id":"a5408ecd6ed3688802ef096bbd002a80","login":"SpiffyJr","id":227900,"avatar_url":"https://secure.gravatar.com/avatar/a5408ecd6ed3688802ef096bbd002a80?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T05:51:45Z","id":"2729487"},{"updated_at":"2012-05-19T05:51:19Z","url":"https://api.github.com/gists/2729484","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729484.git","git_push_url":"git@gist.github.com:2729484.git","files":{"settings.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729484/4fd1c18563789afd2f5d717f12a8a12aefe7a326/settings.py","size":45,"filename":"settings.py","language":"Python"},"run_test.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729484/0bdce9ac4cc3fe37627cd9e815d697fec6be798d/run_test.py","size":2615,"filename":"run_test.py","language":"Python"}},"html_url":"https://gist.github.com/2729484","user":{"url":"https://api.github.com/users/cloverrose","gravatar_id":"ec72ff08579d5e16beb2c0f72a4f102a","login":"cloverrose","id":1592208,"avatar_url":"https://secure.gravatar.com/avatar/ec72ff08579d5e16beb2c0f72a4f102a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"[Django] [python manage.py test] Django組み込みのテストを拡張してtest.py以外のスクリプト(mytest.pyやawesome.py)内のdoctestも実行できるようにする","created_at":"2012-05-19T05:51:19Z","id":"2729484"},{"updated_at":"2012-05-19T05:50:59Z","url":"https://api.github.com/gists/2729482","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729482.git","git_push_url":"git@gist.github.com:2729482.git","files":{"client_for_polling.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729482/8cb7069b38a59df94c36183e569191da3b869e3c/client_for_polling.rb","size":411,"filename":"client_for_polling.rb","language":"Ruby"},"mr.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729482/65e890c4537520a80cbb888a63de2001b16cb5df/mr.rb","size":5977,"filename":"mr.rb","language":"Ruby"},"add.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729482/98f293158173e8f18c120baa6e52297dad048002/add.rb","size":393,"filename":"add.rb","language":"Ruby"},"client.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729482/25c160c411d296c9ad36da1168637201df898de9/client.rb","size":285,"filename":"client.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2729482","user":{"url":"https://api.github.com/users/authorNari","gravatar_id":"9f859654c118bcd2f67cc763baf0de7a","login":"authorNari","id":18746,"avatar_url":"https://secure.gravatar.com/avatar/9f859654c118bcd2f67cc763baf0de7a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T05:50:59Z","id":"2729482"},{"updated_at":"2012-05-19T05:45:20Z","url":"https://api.github.com/gists/2729441","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729441.git","git_push_url":"git@gist.github.com:2729441.git","files":{"deploy.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2729441/bdbe656503a4c08bf6b0b2cce4ba900d90721ebf/deploy.rb","size":1508,"filename":"deploy.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2729441","user":{"url":"https://api.github.com/users/bazzel","gravatar_id":"b981c8763cd1027deaec5e3b39226dbe","login":"bazzel","id":7672,"avatar_url":"https://secure.gravatar.com/avatar/b981c8763cd1027deaec5e3b39226dbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Capistrano's deploy.rb with RVM multi user install","created_at":"2012-05-19T05:45:20Z","id":"2729441"},{"updated_at":"2012-05-19T05:44:02Z","url":"https://api.github.com/gists/2729432","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729432.git","git_push_url":"git@gist.github.com:2729432.git","files":{"gistfile1.aw":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729432/7b3bf3d6af7331affed2775b085ea4bbd3f9144a/gistfile1.aw","size":162,"filename":"gistfile1.aw","language":"PHP"}},"html_url":"https://gist.github.com/2729432","user":{"url":"https://api.github.com/users/mojaie","gravatar_id":"f0e1b23df65b364a41c375490aae711d","login":"mojaie","id":1174134,"avatar_url":"https://secure.gravatar.com/avatar/f0e1b23df65b364a41c375490aae711d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"CakePHP:test001_1","created_at":"2012-05-19T05:44:02Z","id":"2729432"},{"updated_at":"2012-05-19T05:41:01Z","url":"https://api.github.com/gists/2729420","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729420.git","git_push_url":"git@gist.github.com:2729420.git","files":{"gistfile1.haml":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729420/74278fa6d12e2b742100dc3af9528da2e7702974/gistfile1.haml","size":485,"filename":"gistfile1.haml","language":"Haml"}},"html_url":"https://gist.github.com/2729420","user":{"url":"https://api.github.com/users/L42y","gravatar_id":"4dc11d87759273f3466ab4f673bcecae","login":"L42y","id":284820,"avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T05:41:01Z","id":"2729420"},{"updated_at":"2012-05-19T05:34:48Z","url":"https://api.github.com/gists/2729398","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729398.git","git_push_url":"git@gist.github.com:2729398.git","files":{"gistfile1.aw":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729398/0b1125bd22482f8252893f7be45b0ea14f476565/gistfile1.aw","size":186,"filename":"gistfile1.aw","language":"PHP"}},"html_url":"https://gist.github.com/2729398","user":{"url":"https://api.github.com/users/mojaie","gravatar_id":"f0e1b23df65b364a41c375490aae711d","login":"mojaie","id":1174134,"avatar_url":"https://secure.gravatar.com/avatar/f0e1b23df65b364a41c375490aae711d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"CakePHP:test001_0","created_at":"2012-05-19T05:34:48Z","id":"2729398"},{"updated_at":"2012-05-19T05:32:58Z","url":"https://api.github.com/gists/2729372","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729372.git","git_push_url":"git@gist.github.com:2729372.git","files":{"successfully retrieves some messages even after usb.core.USBerror":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729372/0e5b736a43e6e9f86db32f72219ded00456bb71a/successfully retrieves some messages even after usb.core.USBerror","size":2235000,"filename":"successfully retrieves some messages even after usb.core.USBerror","language":null},"connection-problem":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729372/32b33c33226faa8d2404dfefc4e27325bb480d5e/connection-problem","size":92116,"filename":"connection-problem","language":null}},"html_url":"https://gist.github.com/2729372","user":{"url":"https://api.github.com/users/christofferholmstedt","gravatar_id":"0b6a259fb4a6967b401918912b44219b","login":"christofferholmstedt","id":65247,"avatar_url":"https://secure.gravatar.com/avatar/0b6a259fb4a6967b401918912b44219b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Error connecting to Garmin 610 with Garmin Forerunner 610 Extractor","created_at":"2012-05-19T05:32:58Z","id":"2729372"},{"updated_at":"2012-05-19T05:32:44Z","url":"https://api.github.com/gists/2729371","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729371.git","git_push_url":"git@gist.github.com:2729371.git","files":{"deploy.rake":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729371/f5630db1020e16c12ca2b0fa4c10dd8c6f0fad20/deploy.rake","size":3245,"filename":"deploy.rake","language":"Ruby"}},"html_url":"https://gist.github.com/2729371","user":{"url":"https://api.github.com/users/toooooooby","gravatar_id":"758ab2510156a6cf87a180b12ed94203","login":"toooooooby","id":20859,"avatar_url":"https://secure.gravatar.com/avatar/758ab2510156a6cf87a180b12ed94203?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"Rakefile to deploy and rollback to Heroku in two different environments (staging and production) for the same app","created_at":"2012-05-19T05:32:44Z","id":"2729371"},{"updated_at":"2012-05-19T05:24:30Z","url":"https://api.github.com/gists/2729351","comments":4,"public":true,"git_pull_url":"git://gist.github.com/2729351.git","git_push_url":"git@gist.github.com:2729351.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729351/10eeb0eb89a99c107932bc5c82a972e359776e14/gistfile1.txt","size":676,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729351","user":{"url":"https://api.github.com/users/ALRubinger","gravatar_id":"4369758fcee235bebd875f0de34aa42e","login":"ALRubinger","id":199891,"avatar_url":"https://secure.gravatar.com/avatar/4369758fcee235bebd875f0de34aa42e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"","created_at":"2012-05-19T05:24:30Z","id":"2729351"},{"updated_at":"2012-05-19T05:23:30Z","url":"https://api.github.com/gists/2729346","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729346.git","git_push_url":"git@gist.github.com:2729346.git","files":{"benchmark.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729346/c104341058b04e8df33bdc7c5caca0824fc9f140/benchmark.txt","size":137,"filename":"benchmark.txt","language":"Text"},"json2csv.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729346/65f9e62c6c63183acfd8f61198c6ce959062f5be/json2csv.py","size":526,"filename":"json2csv.py","language":"Python"}},"html_url":"https://gist.github.com/2729346","user":{"url":"https://api.github.com/users/joskid","gravatar_id":"74231318b03600599b999e675a5c31b4","login":"joskid","id":644086,"avatar_url":"https://secure.gravatar.com/avatar/74231318b03600599b999e675a5c31b4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"JSON to CSV conversion benchmarking","created_at":"2012-05-19T05:23:30Z","id":"2729346"},{"updated_at":"2012-05-19T05:19:03Z","url":"https://api.github.com/gists/2729316","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729316.git","git_push_url":"git@gist.github.com:2729316.git","files":{"make_anchor_by_week_day.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2729316/fa0d97d1f1a115ad2067733538a8b48ddf934a24/make_anchor_by_week_day.html","size":995,"filename":"make_anchor_by_week_day.html","language":"HTML"}},"html_url":"https://gist.github.com/2729316","user":{"url":"https://api.github.com/users/gDD","gravatar_id":"6ef3531050f0e384b8707b4a5f943cbf","login":"gDD","id":113737,"avatar_url":"https://secure.gravatar.com/avatar/6ef3531050f0e384b8707b4a5f943cbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"make anchor by week day","created_at":"2012-05-19T05:19:03Z","id":"2729316"},{"updated_at":"2012-05-19T05:17:20Z","url":"https://api.github.com/gists/2729304","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729304.git","git_push_url":"git@gist.github.com:2729304.git","files":{"KeychainItemWrapper.h":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729304/088c905c4c3d21d34a4608d589131f4c29d169ee/KeychainItemWrapper.h","size":3121,"filename":"KeychainItemWrapper.h","language":"Objective-C"},"KeychainItemWrapper.m":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729304/abf5850d5a0fd78cdbc16d6a431090043457d1f5/KeychainItemWrapper.m","size":14268,"filename":"KeychainItemWrapper.m","language":"Objective-C"}},"html_url":"https://gist.github.com/2729304","user":{"url":"https://api.github.com/users/ruiwen","gravatar_id":"fd7f8247e1c26ba99e7bad148a985510","login":"ruiwen","id":307558,"avatar_url":"https://secure.gravatar.com/avatar/fd7f8247e1c26ba99e7bad148a985510?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"KeychainItemWrapper ARCified - saves NSString, NSArray, NSDictionary","created_at":"2012-05-19T05:13:32Z","id":"2729304"},{"updated_at":"2012-05-19T05:11:04Z","url":"https://api.github.com/gists/2729296","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729296.git","git_push_url":"git@gist.github.com:2729296.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729296/cb5fe306a1159c207fadf865b539f5490876b484/gistfile1.txt","size":1546,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729296","user":{"url":"https://api.github.com/users/nas","gravatar_id":"170b5dc385cc9ddf78ed01bcf1e6990a","login":"nas","id":42499,"avatar_url":"https://secure.gravatar.com/avatar/170b5dc385cc9ddf78ed01bcf1e6990a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"local conf / settings","created_at":"2012-05-19T05:11:04Z","id":"2729296"},{"updated_at":"2012-05-19T05:03:08Z","url":"https://api.github.com/gists/2729276","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729276.git","git_push_url":"git@gist.github.com:2729276.git","files":{"primes.clj":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729276/86f31b33fa4a3c33e784d8525a7513a7f2256c0e/primes.clj","size":138,"filename":"primes.clj","language":"Clojure"}},"html_url":"https://gist.github.com/2729276","user":{"url":"https://api.github.com/users/fumokmm","gravatar_id":"8c018bba93f271f288230310e8e13f98","login":"fumokmm","id":64939,"avatar_url":"https://secure.gravatar.com/avatar/8c018bba93f271f288230310e8e13f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"description":"エラトステネスの篩を使ってClojureで素数を求める","created_at":"2012-05-19T05:03:08Z","id":"2729276"}] - -https -GET -api.github.com -None -/gists/public?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '29882'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"57b2419f70e39497696624710da528ad"'), ('date', 'Sat, 19 May 2012 06:25:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-19T05:00:00Z","url":"https://api.github.com/gists/2729272","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729272.git","files":{"133767.user.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2729272/3e4614c88500d33ba459a5fd3b028c5536acd036/133767.user.js","size":381,"filename":"133767.user.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2729272","git_push_url":"git@gist.github.com:2729272.git","user":{"url":"https://api.github.com/users/ngs","gravatar_id":"53bc8fa21f71dd8e63f3c94275c56191","login":"ngs","avatar_url":"https://secure.gravatar.com/avatar/53bc8fa21f71dd8e63f3c94275c56191?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":18631},"description":"MONOCO Remove Private Overlay","created_at":"2012-05-19T05:00:00Z","id":"2729272"},{"updated_at":"2012-05-19T04:57:29Z","url":"https://api.github.com/gists/2729265","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729265.git","files":{"bubblechart.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2729265/69d1ddceb6f570d6efdaeaacdab21a8d325347ce/bubblechart.html","size":5539,"filename":"bubblechart.html","language":"HTML"}},"html_url":"https://gist.github.com/2729265","git_push_url":"git@gist.github.com:2729265.git","user":{"url":"https://api.github.com/users/tripp","gravatar_id":"5eb68b5c2390328fe30a0ab466cab353","login":"tripp","avatar_url":"https://secure.gravatar.com/avatar/5eb68b5c2390328fe30a0ab466cab353?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":63965},"description":"bubblechart.html","created_at":"2012-05-19T04:57:29Z","id":"2729265"},{"updated_at":"2012-05-19T04:48:17Z","url":"https://api.github.com/gists/2729195","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729195.git","files":{"checkout_previous_branch.sh":{"type":"application/sh","raw_url":"https://gist.github.com/raw/2729195/5e08f89c329ae52f44dd26f5ad4810ba85a77ff1/checkout_previous_branch.sh","size":427,"filename":"checkout_previous_branch.sh","language":"Shell"},"post-checkout.sh":{"type":"application/sh","raw_url":"https://gist.github.com/raw/2729195/fe2024f381942d093095434fc4d1d138438a0cc1/post-checkout.sh","size":1134,"filename":"post-checkout.sh","language":"Shell"}},"html_url":"https://gist.github.com/2729195","git_push_url":"git@gist.github.com:2729195.git","user":{"url":"https://api.github.com/users/wearhere","gravatar_id":"aaf143fc290a92af46e03ab7b62a8340","login":"wearhere","avatar_url":"https://secure.gravatar.com/avatar/aaf143fc290a92af46e03ab7b62a8340?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":110000},"description":"Checkout previous Git branch","created_at":"2012-05-19T04:48:17Z","id":"2729195"},{"updated_at":"2012-05-19T05:08:17Z","url":"https://api.github.com/gists/2729160","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729160.git","files":{"nginx.conf":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729160/fd7cece078340af6fad9f74d2d1a304e3bdd8994/nginx.conf","size":799,"filename":"nginx.conf","language":null}},"html_url":"https://gist.github.com/2729160","git_push_url":"git@gist.github.com:2729160.git","user":{"url":"https://api.github.com/users/seancoyne","gravatar_id":"8eadc3a23ced47e478851bdd282c771a","login":"seancoyne","avatar_url":"https://secure.gravatar.com/avatar/8eadc3a23ced47e478851bdd282c771a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":510437},"description":"nginx connector for cfml on tomcat","created_at":"2012-05-19T04:41:00Z","id":"2729160"},{"updated_at":"2012-05-19T04:33:03Z","url":"https://api.github.com/gists/2729143","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729143.git","files":{"MetadataClass":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729143/daa879532897ae5fe4e7102de9ebcb1fe6b4a666/MetadataClass","size":916,"filename":"MetadataClass","language":null}},"html_url":"https://gist.github.com/2729143","git_push_url":"git@gist.github.com:2729143.git","user":{"url":"https://api.github.com/users/chentepixtol","gravatar_id":"9b0650e1f3afe1a8c927f735e1250ec1","login":"chentepixtol","avatar_url":"https://secure.gravatar.com/avatar/9b0650e1f3afe1a8c927f735e1250ec1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":178278},"description":"Metadata prototype","created_at":"2012-05-19T04:33:03Z","id":"2729143"},{"updated_at":"2012-05-19T04:33:02Z","url":"https://api.github.com/gists/2729127","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729127.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2729127/f1944a22e4ca513fa71008093546717e0cc18b86/dabblet.css","size":482,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2729127/e7716d5202cfe5ebb22df182e7c5b4dde5a86078/dabblet.html","size":95,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2729127/f9b473b3380e302ad0c707460c59a541870e0d3b/settings.json","size":79,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2729127","git_push_url":"git@gist.github.com:2729127.git","user":{"url":"https://api.github.com/users/lucasmazza","gravatar_id":"450908b4010abbbf9eebc146ed4c0246","login":"lucasmazza","avatar_url":"https://secure.gravatar.com/avatar/450908b4010abbbf9eebc146ed4c0246?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":80978},"description":"Classic `position` exercise.","created_at":"2012-05-19T04:32:09Z","id":"2729127"},{"updated_at":"2012-05-19T04:31:48Z","url":"https://api.github.com/gists/2729119","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729119.git","files":{"settings.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729119/4fd1c18563789afd2f5d717f12a8a12aefe7a326/settings.py","size":45,"filename":"settings.py","language":"Python"},"run_test_error.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729119/02735b2b827ac1ace246be9d343491928ae47f6c/run_test_error.py","size":2429,"filename":"run_test_error.py","language":"Python"}},"html_url":"https://gist.github.com/2729119","git_push_url":"git@gist.github.com:2729119.git","user":{"url":"https://api.github.com/users/cloverrose","gravatar_id":"ec72ff08579d5e16beb2c0f72a4f102a","login":"cloverrose","avatar_url":"https://secure.gravatar.com/avatar/ec72ff08579d5e16beb2c0f72a4f102a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1592208},"description":"[Django] [python manage.py test] this is error program!! Django組み込みのテストを拡張してtest.py以外のスクリプト(mytest.pyやawesome.py)内のdoctestも実行できるようにする","created_at":"2012-05-19T04:31:48Z","id":"2729119"},{"updated_at":"2012-05-19T04:30:59Z","url":"https://api.github.com/gists/2729113","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729113.git","files":{"foo.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2729113/7e28791d2774289e3c251a757b08ef37828c64d6/foo.js","size":305,"filename":"foo.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2729113","git_push_url":"git@gist.github.com:2729113.git","user":{"url":"https://api.github.com/users/kaneshin","gravatar_id":"a75c909334d4dc6c7dca7bd915eebdbf","login":"kaneshin","avatar_url":"https://secure.gravatar.com/avatar/a75c909334d4dc6c7dca7bd915eebdbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":936972},"description":"","created_at":"2012-05-19T04:30:59Z","id":"2729113"},{"updated_at":"2012-05-19T04:27:51Z","url":"https://api.github.com/gists/2729103","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729103.git","files":{"RunScalaTest.scala":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729103/ed1310675c4947d096c8803e89c6a61718ee57ee/RunScalaTest.scala","size":654,"filename":"RunScalaTest.scala","language":"Scala"}},"html_url":"https://gist.github.com/2729103","git_push_url":"git@gist.github.com:2729103.git","user":{"url":"https://api.github.com/users/takezoe","gravatar_id":"0b557808a458232e7aea69907ca1dd84","login":"takezoe","avatar_url":"https://secure.gravatar.com/avatar/0b557808a458232e7aea69907ca1dd84?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1094760},"description":"An example which runs ScalaTest by program","created_at":"2012-05-19T04:27:51Z","id":"2729103"},{"updated_at":"2012-05-19T04:21:50Z","url":"https://api.github.com/gists/2729069","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729069.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729069/291681e54dfcef17254e20342c14d32745b53b79/gistfile1.txt","size":241,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2729069","git_push_url":"git@gist.github.com:2729069.git","user":{"url":"https://api.github.com/users/JesseObrien","gravatar_id":"ebf726797ad5f82f68c6532bde0c86d9","login":"JesseObrien","avatar_url":"https://secure.gravatar.com/avatar/ebf726797ad5f82f68c6532bde0c86d9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":865481},"description":"One-liner to install sublime on linux","created_at":"2012-05-19T04:21:50Z","id":"2729069"},{"updated_at":"2012-05-19T04:15:12Z","url":"https://api.github.com/gists/2729059","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729059.git","files":{"monitor_exec.pp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729059/6d778a12e481ae671cd1c2fa6807068b12a4ea06/monitor_exec.pp","size":320,"filename":"monitor_exec.pp","language":"Puppet"}},"html_url":"https://gist.github.com/2729059","git_push_url":"git@gist.github.com:2729059.git","user":{"url":"https://api.github.com/users/marut","gravatar_id":"ad8d48f0ff4016182e9a1a91e681fecc","login":"marut","avatar_url":"https://secure.gravatar.com/avatar/ad8d48f0ff4016182e9a1a91e681fecc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":100142},"description":"Trigger an exec upon changes to a semi-managed file","created_at":"2012-05-19T04:15:12Z","id":"2729059"},{"updated_at":"2012-05-19T04:14:01Z","url":"https://api.github.com/gists/2729051","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729051.git","files":{"index.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2729051/092eb59cb04f9c733fddda5225819bb9281aa47a/index.html","size":2050,"filename":"index.html","language":"HTML"},"hover.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2729051/1bb2b2ea5660cf9369741a49fa2ebddc281bf061/hover.js","size":312,"filename":"hover.js","language":"JavaScript"},"estilo.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2729051/c4a4fd16beab280dacc6e290a620aea6d5da0112/estilo.css","size":1111,"filename":"estilo.css","language":"CSS"}},"html_url":"https://gist.github.com/2729051","git_push_url":"git@gist.github.com:2729051.git","user":{"url":"https://api.github.com/users/fidelisrafael","gravatar_id":"44613931f6ec23e39a95e3319a44f320","login":"fidelisrafael","avatar_url":"https://secure.gravatar.com/avatar/44613931f6ec23e39a95e3319a44f320?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1542608},"description":"","created_at":"2012-05-19T04:14:01Z","id":"2729051"},{"updated_at":"2012-05-19T04:11:22Z","url":"https://api.github.com/gists/2729029","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729029.git","files":{"simple_http_client.scala":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729029/8b50a7e288120c33d4b49e1832d90bb620a2765e/simple_http_client.scala","size":417,"filename":"simple_http_client.scala","language":"Scala"},"using_routing_service.scala":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729029/6b3229017fb1831a7a2868f6d374c00148b571e8/using_routing_service.scala","size":1590,"filename":"using_routing_service.scala","language":"Scala"},"finagle_http_hello.scala":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729029/25ac8412cc6fa35351675e10ba2e4f0a17c20552/finagle_http_hello.scala","size":1145,"filename":"finagle_http_hello.scala","language":"Scala"}},"html_url":"https://gist.github.com/2729029","git_push_url":"git@gist.github.com:2729029.git","user":{"url":"https://api.github.com/users/tototoshi","gravatar_id":"405ad7da1defc0f6f8804e026778038f","login":"tototoshi","avatar_url":"https://secure.gravatar.com/avatar/405ad7da1defc0f6f8804e026778038f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":264469},"description":"finagle-http で Hello, world.","created_at":"2012-05-19T04:11:22Z","id":"2729029"},{"updated_at":"2012-05-19T04:10:56Z","url":"https://api.github.com/gists/2729027","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729027.git","files":{"resourcePHP":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729027/d64aeb0f97a7ae2d837f65b9b9b52234dac7f3e1/resourcePHP","size":6045,"filename":"resourcePHP","language":null}},"html_url":"https://gist.github.com/2729027","git_push_url":"git@gist.github.com:2729027.git","user":{"url":"https://api.github.com/users/eamexicano","gravatar_id":"ea41a0778d7736efedb9deacff43e613","login":"eamexicano","avatar_url":"https://secure.gravatar.com/avatar/ea41a0778d7736efedb9deacff43e613?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":63536},"description":"Funciona para crear las vistas (y SQL) de un recurso en PHP. Esta relacionado con setupPHP. Después de crear el proyecto con setup se utiliza este archivo para crear recursos dentro del proyecto. Al igual que setupPHP lo voy a reescribir en PHP.","created_at":"2012-05-19T04:10:33Z","id":"2729027"},{"updated_at":"2012-05-19T04:10:08Z","url":"https://api.github.com/gists/2729026","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729026.git","files":{"2012-05-19-ender-roundup.md":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729026/c5a687a9c76763fda5d4f141422aac6422765b6a/2012-05-19-ender-roundup.md","size":6389,"filename":"2012-05-19-ender-roundup.md","language":"Markdown"}},"html_url":"https://gist.github.com/2729026","git_push_url":"git@gist.github.com:2729026.git","user":{"url":"https://api.github.com/users/rvagg","gravatar_id":"026f5af604a336a38301639027757f29","login":"rvagg","avatar_url":"https://secure.gravatar.com/avatar/026f5af604a336a38301639027757f29?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":495647},"description":"DailyJS \"Ender Roundup\" #4, May 2012","created_at":"2012-05-19T04:10:08Z","id":"2729026"},{"updated_at":"2012-05-19T04:08:16Z","url":"https://api.github.com/gists/2729022","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729022.git","files":{"setupPHP":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729022/abe8f21e125ac96ca2cd7e1667cf05f6a8824105/setupPHP","size":1848,"filename":"setupPHP","language":null}},"html_url":"https://gist.github.com/2729022","git_push_url":"git@gist.github.com:2729022.git","user":{"url":"https://api.github.com/users/eamexicano","gravatar_id":"ea41a0778d7736efedb9deacff43e613","login":"eamexicano","avatar_url":"https://secure.gravatar.com/avatar/ea41a0778d7736efedb9deacff43e613?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":63536},"description":"Crear directorios archivos base para un proyecto básico en PHP. El archivo es sh se utiliza la terminal y necesita tener mysql en el $PATH (se tiene que estar ejecutando). Lo voy a reescribir en PHP para darle un mejor contexto y dejar este como referenci","created_at":"2012-05-19T04:08:16Z","id":"2729022"},{"updated_at":"2012-05-19T04:06:35Z","url":"https://api.github.com/gists/2729002","comments":2,"public":true,"git_pull_url":"git://gist.github.com/2729002.git","files":{"ConfigurationService.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2729002/cb5e3ac544a11e15c311d282850784e24d1060fa/ConfigurationService.php","size":25774,"filename":"ConfigurationService.php","language":"PHP"}},"html_url":"https://gist.github.com/2729002","git_push_url":"git@gist.github.com:2729002.git","user":{"url":"https://api.github.com/users/AmyStephen","gravatar_id":"d6a6b6a510c2e3bf82e2de88903fd610","login":"AmyStephen","avatar_url":"https://secure.gravatar.com/avatar/d6a6b6a510c2e3bf82e2de88903fd610?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":95525},"description":"Molajo Configuration Service","created_at":"2012-05-19T04:06:35Z","id":"2729002"},{"updated_at":"2012-05-19T04:02:30Z","url":"https://api.github.com/gists/2728985","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728985.git","files":{"SCII Fix Ubuntu 12.04":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728985/cd39c46eee874e3411c257f9b5e61c0e85a5ef9d/SCII Fix Ubuntu 12.04","size":50,"filename":"SCII Fix Ubuntu 12.04","language":null}},"html_url":"https://gist.github.com/2728985","git_push_url":"git@gist.github.com:2728985.git","user":{"url":"https://api.github.com/users/Chevex","gravatar_id":"de59eb063429d3157c5e7f87b5168437","login":"Chevex","avatar_url":"https://secure.gravatar.com/avatar/de59eb063429d3157c5e7f87b5168437?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":874394},"description":"Fix SCII on Ubuntu 12.04","created_at":"2012-05-19T04:02:30Z","id":"2728985"},{"updated_at":"2012-05-19T04:33:19Z","url":"https://api.github.com/gists/2728979","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728979.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728979/53c1244ad9de74354e5aa380260699d50fc38364/dabblet.css","size":405,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728979/638ee815c707ff8b04bd79b9f94d6a5584a50924/dabblet.html","size":68,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728979/f9b473b3380e302ad0c707460c59a541870e0d3b/settings.json","size":79,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728979","git_push_url":"git@gist.github.com:2728979.git","user":{"url":"https://api.github.com/users/lucasmazza","gravatar_id":"450908b4010abbbf9eebc146ed4c0246","login":"lucasmazza","avatar_url":"https://secure.gravatar.com/avatar/450908b4010abbbf9eebc146ed4c0246?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":80978},"description":"shadowy trick by nrrrdcore","created_at":"2012-05-19T03:59:01Z","id":"2728979"},{"updated_at":"2012-05-19T03:48:38Z","url":"https://api.github.com/gists/2728964","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2728964.git","files":{"ModelController.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2728964/6ef504752c3463a92d12be53a6d7b1b4a5fd5bfb/ModelController.php","size":4966,"filename":"ModelController.php","language":"PHP"}},"html_url":"https://gist.github.com/2728964","git_push_url":"git@gist.github.com:2728964.git","user":{"url":"https://api.github.com/users/AmyStephen","gravatar_id":"d6a6b6a510c2e3bf82e2de88903fd610","login":"AmyStephen","avatar_url":"https://secure.gravatar.com/avatar/d6a6b6a510c2e3bf82e2de88903fd610?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":95525},"description":"Molajo ModelController","created_at":"2012-05-19T03:48:38Z","id":"2728964"},{"updated_at":"2012-05-19T03:44:45Z","url":"https://api.github.com/gists/2728937","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728937.git","files":{"get_card.m":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728937/2c5f09aa2cb3cf2fec4becc425f6a06b6300e722/get_card.m","size":2279,"filename":"get_card.m","language":"Matlab"},"game26.m":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728937/0f9add7f1967c0fde154e954e4042b3214a0c6e3/game26.m","size":2050,"filename":"game26.m","language":"Matlab"}},"html_url":"https://gist.github.com/2728937","git_push_url":"git@gist.github.com:2728937.git","user":{"url":"https://api.github.com/users/593mrbean","gravatar_id":"7217bb44883e10bbd2299b1b52c3c59d","login":"593mrbean","avatar_url":"https://secure.gravatar.com/avatar/7217bb44883e10bbd2299b1b52c3c59d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1645006},"description":"Card game called 26","created_at":"2012-05-19T03:44:45Z","id":"2728937"},{"updated_at":"2012-05-19T03:42:54Z","url":"https://api.github.com/gists/2728933","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728933.git","files":{"gistfile1.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728933/4eacdc9596a77a195bd941d20a230acf235a3c52/gistfile1.js","size":247,"filename":"gistfile1.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728933","git_push_url":"git@gist.github.com:2728933.git","user":{"url":"https://api.github.com/users/hafriedlander","gravatar_id":"2d899af51e0f7e1cfab801bc677e05fb","login":"hafriedlander","avatar_url":"https://secure.gravatar.com/avatar/2d899af51e0f7e1cfab801bc677e05fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":114769},"description":"Entwine create property on first access pattern","created_at":"2012-05-19T03:42:54Z","id":"2728933"},{"updated_at":"2012-05-19T03:35:30Z","url":"https://api.github.com/gists/2728884","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728884.git","files":{"gistfile1.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728884/192cc8399a6d4a8bc3d2bfa5990840427aa96b80/gistfile1.js","size":1502,"filename":"gistfile1.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728884","git_push_url":"git@gist.github.com:2728884.git","user":{"url":"https://api.github.com/users/codeglot","gravatar_id":"b681feb514f5756a45a4f106cf0f32de","login":"codeglot","avatar_url":"https://secure.gravatar.com/avatar/b681feb514f5756a45a4f106cf0f32de?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":68357},"description":"Character Hero Audio","created_at":"2012-05-19T03:35:30Z","id":"2728884"},{"updated_at":"2012-05-19T03:31:32Z","url":"https://api.github.com/gists/2728869","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728869.git","files":{"Fetch.sublime-settings":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728869/a071cb66ddd3d5597e4e20d2bf342e003b7644af/Fetch.sublime-settings","size":5361,"filename":"Fetch.sublime-settings","language":null}},"html_url":"https://gist.github.com/2728869","git_push_url":"git@gist.github.com:2728869.git","user":{"url":"https://api.github.com/users/dariongg","gravatar_id":"bc78aea61cd6c0769c2172e6954ed922","login":"dariongg","avatar_url":"https://secure.gravatar.com/avatar/bc78aea61cd6c0769c2172e6954ed922?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1194592},"description":"Sublime Text 2 Fetch Settings","created_at":"2012-05-19T03:31:32Z","id":"2728869"},{"updated_at":"2012-05-19T03:29:57Z","url":"https://api.github.com/gists/2728866","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728866.git","files":{"glmnet.R":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728866/d9e836fe86d3fdc3630b44478535b359c8fe197a/glmnet.R","size":2150,"filename":"glmnet.R","language":"R"}},"html_url":"https://gist.github.com/2728866","git_push_url":"git@gist.github.com:2728866.git","user":{"url":"https://api.github.com/users/xccds","gravatar_id":"526adb6a5fc533c3678f897f3434980a","login":"xccds","avatar_url":"https://secure.gravatar.com/avatar/526adb6a5fc533c3678f897f3434980a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1450275},"description":"","created_at":"2012-05-19T03:29:57Z","id":"2728866"},{"updated_at":"2012-05-19T03:24:28Z","url":"https://api.github.com/gists/2728855","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728855.git","files":{"find_a_person.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728855/b0ee73ffc28b330b16a3c29ee3e41cd49ce5a95a/find_a_person.rb","size":911,"filename":"find_a_person.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728855","git_push_url":"git@gist.github.com:2728855.git","user":{"url":"https://api.github.com/users/mungruby","gravatar_id":"ead0c810163c355535e7c47c20955073","login":"mungruby","avatar_url":"https://secure.gravatar.com/avatar/ead0c810163c355535e7c47c20955073?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1103706},"description":"example of using the inject method","created_at":"2012-05-19T03:24:28Z","id":"2728855"},{"updated_at":"2012-05-19T03:22:49Z","url":"https://api.github.com/gists/2728854","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728854.git","files":{"Gemfile":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728854/b22f6da889266f0f0809bb0109833ec577a98fd9/Gemfile","size":127,"filename":"Gemfile","language":"Ruby"},"Rakefile":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728854/1d28967f05e49ccb5eabd617f8869e3484617580/Rakefile","size":2424,"filename":"Rakefile","language":"Ruby"},"config.ru":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728854/735f67725308b5b3dbdd3d3e27c6d12b0b82da88/config.ru","size":714,"filename":"config.ru","language":"Ruby"}},"html_url":"https://gist.github.com/2728854","git_push_url":"git@gist.github.com:2728854.git","user":{"url":"https://api.github.com/users/ntreadway","gravatar_id":"c580eb3fb9d0c62d0aae3aa2bc473ba5","login":"ntreadway","avatar_url":"https://secure.gravatar.com/avatar/c580eb3fb9d0c62d0aae3aa2bc473ba5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":15833},"description":"A Phonegap development workflow with Rack and Sprockets - http://abhishiv.tumblr.com/post/15994872384/phonegap-and-sprockets-sitting-in-a-tree","created_at":"2012-05-19T03:22:49Z","id":"2728854"},{"updated_at":"2012-05-19T03:22:21Z","url":"https://api.github.com/gists/2728853","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728853.git","files":{"gistfile1.pytb":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728853/4b94e624d7d11a46959f4f115082bf39e469c762/gistfile1.pytb","size":4493,"filename":"gistfile1.pytb","language":"Python traceback"}},"html_url":"https://gist.github.com/2728853","git_push_url":"git@gist.github.com:2728853.git","user":{"url":"https://api.github.com/users/douglatornell","gravatar_id":"dbbe0d92c98862a28a300b8524ede105","login":"douglatornell","avatar_url":"https://secure.gravatar.com/avatar/dbbe0d92c98862a28a300b8524ede105?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":76797},"description":"Typical Traceback of Blogofile plugins Branch Test Error (py.test)","created_at":"2012-05-19T03:22:21Z","id":"2728853"},{"updated_at":"2012-05-19T03:17:49Z","url":"https://api.github.com/gists/2728846","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728846.git","files":{"alcohol.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728846/0e565f8eb93c0ce655f6c0af276283e1c9063970/alcohol.rb","size":2476,"filename":"alcohol.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728846","git_push_url":"git@gist.github.com:2728846.git","user":{"url":"https://api.github.com/users/alloy-d","gravatar_id":"c7ed2a732872be2e1af11430e545a513","login":"alloy-d","avatar_url":"https://secure.gravatar.com/avatar/c7ed2a732872be2e1af11430e545a513?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":78450},"description":"'cause robots should type drunk, too","created_at":"2012-05-19T03:17:49Z","id":"2728846"},{"updated_at":"2012-05-19T03:13:03Z","url":"https://api.github.com/gists/2728825","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728825.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728825/2e6c3240e873c271762938afa4eebe5be39f496c/dabblet.css","size":177,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728825/c65da83130a8b8ffd5511de7411e303d2aca1481/dabblet.html","size":41,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728825/97f2ad9f07f823c2ca15aad5051d48f9b63c42de/settings.json","size":82,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728825","git_push_url":"git@gist.github.com:2728825.git","user":{"url":"https://api.github.com/users/bidah","gravatar_id":"af4fa83a6af88f151cfe8f4b86ce1a4f","login":"bidah","avatar_url":"https://secure.gravatar.com/avatar/af4fa83a6af88f151cfe8f4b86ce1a4f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1574028},"description":"Untitled","created_at":"2012-05-19T03:13:03Z","id":"2728825"}] - -https -GET -api.github.com -None -/gists/public?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '28245'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"5b04b57eaf693f580a30b16157f9ca70"'), ('date', 'Sat, 19 May 2012 06:25:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-19T03:23:29Z","url":"https://api.github.com/gists/2728814","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728814.git","files":{"gistfile1.pytb":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728814/13c1cac8f62d29f0619ddf341fc0c9d2d4128a5c/gistfile1.pytb","size":1329,"filename":"gistfile1.pytb","language":"Python traceback"}},"html_url":"https://gist.github.com/2728814","git_push_url":"git@gist.github.com:2728814.git","user":{"url":"https://api.github.com/users/douglatornell","gravatar_id":"dbbe0d92c98862a28a300b8524ede105","login":"douglatornell","avatar_url":"https://secure.gravatar.com/avatar/dbbe0d92c98862a28a300b8524ede105?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":76797},"description":"Typical Traceback of Blogofile plugins Branch Test Error (unittest discover)","created_at":"2012-05-19T03:09:10Z","id":"2728814"},{"updated_at":"2012-05-19T03:08:51Z","url":"https://api.github.com/gists/2728813","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728813.git","files":{"SSID_automount.scpt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728813/56fd663e9cb3d398dc0db86c8199c2370d7c3807/SSID_automount.scpt","size":1544,"filename":"SSID_automount.scpt","language":"AppleScript"}},"html_url":"https://gist.github.com/2728813","git_push_url":"git@gist.github.com:2728813.git","user":{"url":"https://api.github.com/users/cbuck","gravatar_id":"854462d067823b5648bbde1193cfcc17","login":"cbuck","avatar_url":"https://secure.gravatar.com/avatar/854462d067823b5648bbde1193cfcc17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":98870},"description":"Automount network drives via ssid name","created_at":"2012-05-19T03:08:51Z","id":"2728813"},{"updated_at":"2012-05-19T03:08:35Z","url":"https://api.github.com/gists/2728812","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728812.git","files":{"Server.java":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728812/761e4d4487d603a7214062626424f10c576a0637/Server.java","size":799,"filename":"Server.java","language":"Java"},"Client.java":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728812/e532688e540567c3bdc5d0db53b4da38578c98e9/Client.java","size":1121,"filename":"Client.java","language":"Java"}},"html_url":"https://gist.github.com/2728812","git_push_url":"git@gist.github.com:2728812.git","user":{"url":"https://api.github.com/users/making","gravatar_id":"414cddef87d9c4c451bb16648281f4ec","login":"making","avatar_url":"https://secure.gravatar.com/avatar/414cddef87d9c4c451bb16648281f4ec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":106908},"description":"Java Finagle Example","created_at":"2012-05-19T03:08:35Z","id":"2728812"},{"updated_at":"2012-05-19T03:06:14Z","url":"https://api.github.com/gists/2728805","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728805.git","files":{"gistfile1.coffee":{"type":"text/coffescript","raw_url":"https://gist.github.com/raw/2728805/165e7493748ef11474bf9ab0170cbc6e2ca87b56/gistfile1.coffee","size":280,"filename":"gistfile1.coffee","language":"CoffeeScript"}},"html_url":"https://gist.github.com/2728805","git_push_url":"git@gist.github.com:2728805.git","user":{"url":"https://api.github.com/users/charliesome","gravatar_id":"bcb6acc9d0d9bef99e033b36c3d32ca9","login":"charliesome","avatar_url":"https://secure.gravatar.com/avatar/bcb6acc9d0d9bef99e033b36c3d32ca9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":179065},"description":"","created_at":"2012-05-19T03:06:14Z","id":"2728805"},{"updated_at":"2012-05-19T03:05:45Z","url":"https://api.github.com/gists/2728802","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728802.git","files":{"pre-commit.sh":{"type":"application/sh","raw_url":"https://gist.github.com/raw/2728802/5bd18d3abc2f8c2954c8fd37c98ab712422db1c4/pre-commit.sh","size":447,"filename":"pre-commit.sh","language":"Shell"}},"html_url":"https://gist.github.com/2728802","git_push_url":"git@gist.github.com:2728802.git","user":{"url":"https://api.github.com/users/steakknife","gravatar_id":"3f582b2bc3caf0d7074e85cdf2046a0f","login":"steakknife","avatar_url":"https://secure.gravatar.com/avatar/3f582b2bc3caf0d7074e85cdf2046a0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":224304},"description":"basic ruby pre-commit hook","created_at":"2012-05-19T03:05:45Z","id":"2728802"},{"updated_at":"2012-05-19T03:04:59Z","url":"https://api.github.com/gists/2728800","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728800.git","files":{"site-name-slogan.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2728800/699d94d37aca0f392c2aa0888d981cf6605f92eb/site-name-slogan.php","size":781,"filename":"site-name-slogan.php","language":"PHP"}},"html_url":"https://gist.github.com/2728800","git_push_url":"git@gist.github.com:2728800.git","user":{"url":"https://api.github.com/users/shovon","gravatar_id":"2edd809f45e37c99eefbd6e7c969b52a","login":"shovon","avatar_url":"https://secure.gravatar.com/avatar/2edd809f45e37c99eefbd6e7c969b52a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":284576},"description":"This is how to display the site's name on Drupal.","created_at":"2012-05-19T03:04:59Z","id":"2728800"},{"updated_at":"2012-05-19T03:04:00Z","url":"https://api.github.com/gists/2728798","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728798.git","files":{"gistfile1.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728798/839b901aeab26cc01e38cefe56b13bcd5521a047/gistfile1.js","size":516,"filename":"gistfile1.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728798","git_push_url":"git@gist.github.com:2728798.git","user":{"url":"https://api.github.com/users/hxgdzyuyi","gravatar_id":"7147355364e2d40866e04cd2240c1ea8","login":"hxgdzyuyi","avatar_url":"https://secure.gravatar.com/avatar/7147355364e2d40866e04cd2240c1ea8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":163671},"description":"自动跳转到广播页","created_at":"2012-05-19T03:04:00Z","id":"2728798"},{"updated_at":"2012-05-19T03:03:18Z","url":"https://api.github.com/gists/2728797","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728797.git","files":{"ReplaceMore.scpt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728797/1eca6d122ae4dbf2693275c42cf84330bdf9e3e2/ReplaceMore.scpt","size":804,"filename":"ReplaceMore.scpt","language":"AppleScript"}},"html_url":"https://gist.github.com/2728797","git_push_url":"git@gist.github.com:2728797.git","user":{"url":"https://api.github.com/users/azur256","gravatar_id":"83c061569bd6f20ff8e31262759fff62","login":"azur256","avatar_url":"https://secure.gravatar.com/avatar/83c061569bd6f20ff8e31262759fff62?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1566752},"description":"Replace more tag.","created_at":"2012-05-19T03:03:18Z","id":"2728797"},{"updated_at":"2012-05-19T03:03:16Z","url":"https://api.github.com/gists/2728796","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728796.git","files":{".gitignore":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728796/f59ec20aabf5842d237244ece8c81ab184faeac1/.gitignore","size":1,"filename":".gitignore","language":null},"Default (OSX).sublime-keymap":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728796/506c4285889fd4fc03ba528c1c513033302387fd/Default (OSX).sublime-keymap","size":656,"filename":"Default (OSX).sublime-keymap","language":null},"Global.sublime-settings":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728796/3bda756d25d8fce508283e0657f648eea0b1cea4/Global.sublime-settings","size":544,"filename":"Global.sublime-settings","language":null},"Base File.sublime-settings":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728796/7bc9db091b59e013cba94f72d5fc9a08b3cbdbaa/Base File.sublime-settings","size":317,"filename":"Base File.sublime-settings","language":null}},"html_url":"https://gist.github.com/2728796","git_push_url":"git@gist.github.com:2728796.git","user":{"url":"https://api.github.com/users/dariongg","gravatar_id":"bc78aea61cd6c0769c2172e6954ed922","login":"dariongg","avatar_url":"https://secure.gravatar.com/avatar/bc78aea61cd6c0769c2172e6954ed922?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1194592},"description":"My Sublime settings","created_at":"2012-05-19T03:03:16Z","id":"2728796"},{"updated_at":"2012-05-19T03:01:25Z","url":"https://api.github.com/gists/2728793","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728793.git","files":{"makefile":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728793/f44b7828cc9412e7e909cab3b6593bc4a4c7ab4d/makefile","size":291,"filename":"makefile","language":"Makefile"},"epolltest.c":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728793/79b891652e540109a21cc1dab5eb703b8b6f9011/epolltest.c","size":5327,"filename":"epolltest.c","language":"C"}},"html_url":"https://gist.github.com/2728793","git_push_url":"git@gist.github.com:2728793.git","user":{"url":"https://api.github.com/users/maxdeliso","gravatar_id":"0bf2454bf0ca807891ec4f8947a99a61","login":"maxdeliso","avatar_url":"https://secure.gravatar.com/avatar/0bf2454bf0ca807891ec4f8947a99a61?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":713472},"description":"epolltest.c","created_at":"2012-05-19T03:01:25Z","id":"2728793"},{"updated_at":"2012-05-19T02:43:25Z","url":"https://api.github.com/gists/2728758","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728758.git","files":{"HintTextArea.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728758/212f354a1114749b1da7921edd198b3ebd726605/HintTextArea.js","size":1389,"filename":"HintTextArea.js","language":"JavaScript"},"app.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728758/a990d52ee95c134a801239c525219601faf79194/app.js","size":1289,"filename":"app.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728758","git_push_url":"git@gist.github.com:2728758.git","user":{"url":"https://api.github.com/users/dmarcelino","gravatar_id":"afab66b97eac5e941e62cb533d7ab655","login":"dmarcelino","avatar_url":"https://secure.gravatar.com/avatar/afab66b97eac5e941e62cb533d7ab655?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1280446},"description":"A Titanium Mobile implementation of a TextArea with hintText compatible with iOS","created_at":"2012-05-19T02:43:25Z","id":"2728758"},{"updated_at":"2012-05-19T02:42:34Z","url":"https://api.github.com/gists/2728754","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728754.git","files":{"Fetch.sublime-settings":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728754/72589d4f99025667d5747d120c1d2ce440ab3c70/Fetch.sublime-settings","size":3404,"filename":"Fetch.sublime-settings","language":null}},"html_url":"https://gist.github.com/2728754","git_push_url":"git@gist.github.com:2728754.git","user":{"url":"https://api.github.com/users/dariongg","gravatar_id":"bc78aea61cd6c0769c2172e6954ed922","login":"dariongg","avatar_url":"https://secure.gravatar.com/avatar/bc78aea61cd6c0769c2172e6954ed922?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1194592},"description":"sublime: fetch settings for sublime text 2","created_at":"2012-05-19T02:42:34Z","id":"2728754"},{"updated_at":"2012-05-19T02:42:26Z","url":"https://api.github.com/gists/2728751","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728751.git","files":{"fetch":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728751/a00f22cd91f53c86bdb95c33a84eaa73794b4249/fetch","size":3186,"filename":"fetch","language":null}},"html_url":"https://gist.github.com/2728751","git_push_url":"git@gist.github.com:2728751.git","user":{"url":"https://api.github.com/users/dariongg","gravatar_id":"bc78aea61cd6c0769c2172e6954ed922","login":"dariongg","avatar_url":"https://secure.gravatar.com/avatar/bc78aea61cd6c0769c2172e6954ed922?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1194592},"description":"Fetch Settings for Sublime Text 2","created_at":"2012-05-19T02:42:26Z","id":"2728751"},{"updated_at":"2012-05-19T02:49:47Z","url":"https://api.github.com/gists/2728748","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728748.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728748/ad40dcf5ca43cd0f9ed9b1f2a15334906512a2d9/dabblet.css","size":287,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728748/31d7fbafcf0315d06130bce12d6fbdfedd800bb8/dabblet.html","size":93,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728748/fb9b4820339c3ac92ed0ce73ce7827bbf23c860d/settings.json","size":79,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728748","git_push_url":"git@gist.github.com:2728748.git","user":{"url":"https://api.github.com/users/sebphfx","gravatar_id":"048caa6ac97019a60ee4ff4b28793fa2","login":"sebphfx","avatar_url":"https://secure.gravatar.com/avatar/048caa6ac97019a60ee4ff4b28793fa2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":850967},"description":"TEST","created_at":"2012-05-19T02:41:53Z","id":"2728748"},{"updated_at":"2012-05-19T02:28:54Z","url":"https://api.github.com/gists/2728721","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728721.git","files":{"composer.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728721/380a1e6943dbcec17f634ffd4e49797dfb9b597a/composer.json","size":2021,"filename":"composer.json","language":"JSON"}},"html_url":"https://gist.github.com/2728721","git_push_url":"git@gist.github.com:2728721.git","user":{"url":"https://api.github.com/users/zircote","gravatar_id":"31fbce06e38990bc2933f92809adaef6","login":"zircote","avatar_url":"https://secure.gravatar.com/avatar/31fbce06e38990bc2933f92809adaef6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":307960},"description":"Example Composer utlizing Zend Framework 1.11.9 via SVN","created_at":"2012-05-19T02:28:54Z","id":"2728721"},{"updated_at":"2012-05-19T02:26:09Z","url":"https://api.github.com/gists/2728716","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728716.git","files":{"build.sbt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728716/6c12cf8b5387a77fffe786eada4d76f71676eed3/build.sbt","size":156,"filename":"build.sbt","language":"Scala"}},"html_url":"https://gist.github.com/2728716","git_push_url":"git@gist.github.com:2728716.git","user":{"url":"https://api.github.com/users/Yasushi","gravatar_id":"090cc30a35022b07874503ac613230c9","login":"Yasushi","avatar_url":"https://secure.gravatar.com/avatar/090cc30a35022b07874503ac613230c9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":7523},"description":"Code snippet of build.sbt for Finagle 4.0.2 in Scala 2.9.1","created_at":"2012-05-19T02:26:09Z","id":"2728716"},{"updated_at":"2012-05-19T02:25:59Z","url":"https://api.github.com/gists/2728715","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728715.git","files":{"gistfile1.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728715/2c3e6dff2d2453e81d01f45deafcbff383a7d534/gistfile1.rb","size":4790,"filename":"gistfile1.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728715","git_push_url":"git@gist.github.com:2728715.git","user":{"url":"https://api.github.com/users/Asher-","gravatar_id":"7df7b1298469ef2cc384febe8cde00f0","login":"Asher-","avatar_url":"https://secure.gravatar.com/avatar/7df7b1298469ef2cc384febe8cde00f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":372276},"description":"","created_at":"2012-05-19T02:25:59Z","id":"2728715"},{"updated_at":"2012-05-19T02:24:50Z","url":"https://api.github.com/gists/2728705","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728705.git","files":{"revert.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728705/19115b3dc4c49d0672da4817bed6cc4b1e6e7a09/revert.py","size":1821,"filename":"revert.py","language":"Python"}},"html_url":"https://gist.github.com/2728705","git_push_url":"git@gist.github.com:2728705.git","user":{"url":"https://api.github.com/users/marciomazza","gravatar_id":"18ea4c1e271c0b3ffca2da11df5191c4","login":"marciomazza","avatar_url":"https://secure.gravatar.com/avatar/18ea4c1e271c0b3ffca2da11df5191c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":579665},"description":"reverting accidental replace 'tab' -> ' ' in collective.developermanual b59bd0","created_at":"2012-05-19T02:23:49Z","id":"2728705"},{"updated_at":"2012-05-19T02:23:05Z","url":"https://api.github.com/gists/2728701","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728701.git","files":{"gistfile1.cs":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728701/89b188e3966ae67cdcba8a024474337f6cf22a2d/gistfile1.cs","size":1228,"filename":"gistfile1.cs","language":"C#"}},"html_url":"https://gist.github.com/2728701","git_push_url":"git@gist.github.com:2728701.git","user":{"url":"https://api.github.com/users/pinzolo","gravatar_id":"3140de70ab04d8f9fc979447b0b4fb16","login":"pinzolo","avatar_url":"https://secure.gravatar.com/avatar/3140de70ab04d8f9fc979447b0b4fb16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1542781},"description":"Typeクラス拡張","created_at":"2012-05-19T02:23:05Z","id":"2728701"},{"updated_at":"2012-05-19T02:22:25Z","url":"https://api.github.com/gists/2728699","comments":5,"public":true,"git_pull_url":"git://gist.github.com/2728699.git","files":{"updates.md":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728699/00963b41c91e89c37ed3bb1e38a67e571a51d929/updates.md","size":13611,"filename":"updates.md","language":"Markdown"}},"html_url":"https://gist.github.com/2728699","git_push_url":"git@gist.github.com:2728699.git","user":{"url":"https://api.github.com/users/wycats","gravatar_id":"428167a3ec72235ba971162924492609","login":"wycats","avatar_url":"https://secure.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":4},"description":"","created_at":"2012-05-19T02:22:25Z","id":"2728699"},{"updated_at":"2012-05-19T02:22:03Z","url":"https://api.github.com/gists/2728697","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728697.git","files":{"gistfile1.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728697/2a09840b3d7139c47dca8fa2ab697622ba2797f5/gistfile1.rb","size":496,"filename":"gistfile1.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728697","git_push_url":"git@gist.github.com:2728697.git","user":{"url":"https://api.github.com/users/Asher-","gravatar_id":"7df7b1298469ef2cc384febe8cde00f0","login":"Asher-","avatar_url":"https://secure.gravatar.com/avatar/7df7b1298469ef2cc384febe8cde00f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":372276},"description":"","created_at":"2012-05-19T02:22:03Z","id":"2728697"},{"updated_at":"2012-05-19T02:19:44Z","url":"https://api.github.com/gists/2728688","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728688.git","files":{"infix_calc.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728688/9b652f29d7bd366e45fb36fabcc7716ecdb5e626/infix_calc.py","size":2784,"filename":"infix_calc.py","language":"Python"}},"html_url":"https://gist.github.com/2728688","git_push_url":"git@gist.github.com:2728688.git","user":{"url":"https://api.github.com/users/AnthonyReid99","gravatar_id":"e4cf9bbab57f661fc76f4d61b4867ab2","login":"AnthonyReid99","avatar_url":"https://secure.gravatar.com/avatar/e4cf9bbab57f661fc76f4d61b4867ab2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1650435},"description":"","created_at":"2012-05-19T02:19:44Z","id":"2728688"},{"updated_at":"2012-05-19T02:17:32Z","url":"https://api.github.com/gists/2728683","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728683.git","files":{"gistfile1.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728683/d498fcadc2eb9f37054f7781936242ee197517b5/gistfile1.rb","size":560,"filename":"gistfile1.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728683","git_push_url":"git@gist.github.com:2728683.git","user":{"url":"https://api.github.com/users/Asher-","gravatar_id":"7df7b1298469ef2cc384febe8cde00f0","login":"Asher-","avatar_url":"https://secure.gravatar.com/avatar/7df7b1298469ef2cc384febe8cde00f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":372276},"description":"","created_at":"2012-05-19T02:17:32Z","id":"2728683"},{"updated_at":"2012-05-19T02:14:44Z","url":"https://api.github.com/gists/2728677","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728677.git","files":{"questions.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728677/a03f6658f2fea54558001ecaf0dca97b87563f5f/questions.py","size":895,"filename":"questions.py","language":"Python"}},"html_url":"https://gist.github.com/2728677","git_push_url":"git@gist.github.com:2728677.git","user":{"url":"https://api.github.com/users/occam98","gravatar_id":"034f0b7952e33bf8195dd0a82b6dfe82","login":"occam98","avatar_url":"https://secure.gravatar.com/avatar/034f0b7952e33bf8195dd0a82b6dfe82?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":882807},"description":"Question counter","created_at":"2012-05-19T02:14:44Z","id":"2728677"},{"updated_at":"2012-05-19T02:06:22Z","url":"https://api.github.com/gists/2728649","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728649.git","files":{"recursive.sh":{"type":"application/sh","raw_url":"https://gist.github.com/raw/2728649/eec5db0c2c506b6a529b120f36325db6864ea47a/recursive.sh","size":704,"filename":"recursive.sh","language":"Shell"}},"html_url":"https://gist.github.com/2728649","git_push_url":"git@gist.github.com:2728649.git","user":{"url":"https://api.github.com/users/jou4","gravatar_id":"6f13ec914c1a19920d00b87f76e604be","login":"jou4","avatar_url":"https://secure.gravatar.com/avatar/6f13ec914c1a19920d00b87f76e604be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":478777},"description":"対象のディレクトリを再帰的に走査して、ディレクトリ名変更やファイル内の文字列置換を行うスクリプト","created_at":"2012-05-19T02:06:22Z","id":"2728649"},{"updated_at":"2012-05-19T02:06:04Z","url":"https://api.github.com/gists/2728640","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728640.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728640/7c33d47b2aad36ae0b592f52a6e4479613661845/dabblet.css","size":563,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728640/979bf5faf8256779e2ee5e14468133b15b722aec/dabblet.html","size":43,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728640/f9b473b3380e302ad0c707460c59a541870e0d3b/settings.json","size":79,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728640","git_push_url":"git@gist.github.com:2728640.git","user":{"url":"https://api.github.com/users/lucasmazza","gravatar_id":"450908b4010abbbf9eebc146ed4c0246","login":"lucasmazza","avatar_url":"https://secure.gravatar.com/avatar/450908b4010abbbf9eebc146ed4c0246?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":80978},"description":"Untitled","created_at":"2012-05-19T02:06:04Z","id":"2728640"},{"updated_at":"2012-05-19T02:05:12Z","url":"https://api.github.com/gists/2728625","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728625.git","files":{"underscoreR.coffee":{"type":"text/coffescript","raw_url":"https://gist.github.com/raw/2728625/62ace4310f3e1ad79c184765af7941efaeafa2a9/underscoreR.coffee","size":769,"filename":"underscoreR.coffee","language":"CoffeeScript"}},"html_url":"https://gist.github.com/2728625","git_push_url":"git@gist.github.com:2728625.git","user":{"url":"https://api.github.com/users/bpartridge","gravatar_id":"fdf9c315a72fb628cf3f0c578d6b7210","login":"bpartridge","avatar_url":"https://secure.gravatar.com/avatar/fdf9c315a72fb628cf3f0c578d6b7210?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":20748},"description":"Add CoffeeScript friendly argument order to Underscore.js","created_at":"2012-05-19T02:05:12Z","id":"2728625"},{"updated_at":"2012-05-19T02:04:42Z","url":"https://api.github.com/gists/2728620","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728620.git","files":{"phantom-sample.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728620/898d04b4b0654c184795efb1114fa7391cdd5f21/phantom-sample.js","size":564,"filename":"phantom-sample.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728620","git_push_url":"git@gist.github.com:2728620.git","user":{"url":"https://api.github.com/users/ryuone","gravatar_id":"2f7ac74a21a0719eeea285fc5abcaaec","login":"ryuone","avatar_url":"https://secure.gravatar.com/avatar/2f7ac74a21a0719eeea285fc5abcaaec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":78976},"description":"phantom-sample.js","created_at":"2012-05-19T02:04:42Z","id":"2728620"},{"updated_at":"2012-05-19T02:03:21Z","url":"https://api.github.com/gists/2728615","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728615.git","files":{".vimrc":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728615/26839c061648cf5bb1e3435656f2e7f4e12ea560/.vimrc","size":1574,"filename":".vimrc","language":"VimL"}},"html_url":"https://gist.github.com/2728615","git_push_url":"git@gist.github.com:2728615.git","user":{"url":"https://api.github.com/users/ikaro1192","gravatar_id":"c219736220e0b8ccdb10e6fe7278ffaa","login":"ikaro1192","avatar_url":"https://secure.gravatar.com/avatar/c219736220e0b8ccdb10e6fe7278ffaa?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239660},"description":"vimrcのバックアップ","created_at":"2012-05-19T02:03:21Z","id":"2728615"},{"updated_at":"2012-05-19T02:11:44Z","url":"https://api.github.com/gists/2728614","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2728614.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728614/cfd561370a756d712d761f75b98ab502867be40b/gistfile1.txt","size":890,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728614","git_push_url":"git@gist.github.com:2728614.git","user":{"url":"https://api.github.com/users/dpereira","gravatar_id":"f8c1635e7a185ddb5a0e447e2e010778","login":"dpereira","avatar_url":"https://secure.gravatar.com/avatar/f8c1635e7a185ddb5a0e447e2e010778?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":309799},"description":"Python decorators as per test pre-condition setUp (bonus: they are composable)","created_at":"2012-05-19T02:03:20Z","id":"2728614"}] - -https -GET -api.github.com -None -/gists/public?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '28308'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1fcb97854c213ddcae432893e0cfee55"'), ('date', 'Sat, 19 May 2012 06:25:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-19T01:58:51Z","url":"https://api.github.com/gists/2728565","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728565.git","git_push_url":"git@gist.github.com:2728565.git","files":{"brew_doctor":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728565/b672fa29b0e9ece1289df560a9d0400c11e43d24/brew_doctor","size":42,"filename":"brew_doctor","language":null},"install_output":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728565/0ea63c66353a52f0598df527ee6fe836e6e81d61/install_output","size":486,"filename":"install_output","language":null}},"html_url":"https://gist.github.com/2728565","user":{"url":"https://api.github.com/users/rwestafer","gravatar_id":"ce07029cb168b49c7e8b200a3eee68ed","avatar_url":"https://secure.gravatar.com/avatar/ce07029cb168b49c7e8b200a3eee68ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"rwestafer","id":844251},"description":"brew install octave","created_at":"2012-05-19T01:58:51Z","id":"2728565"},{"updated_at":"2012-05-19T01:55:44Z","url":"https://api.github.com/gists/2728564","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728564.git","git_push_url":"git@gist.github.com:2728564.git","files":{"reultado.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728564/8a55b8d0039a9a6c7eb6c0a342849d1daee47219/reultado.txt","size":182,"filename":"reultado.txt","language":"Text"},"beck.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728564/d98f5ca6a26f29e40d30be809a724bbfa007f042/beck.rb","size":331,"filename":"beck.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728564","user":{"url":"https://api.github.com/users/dmitrynix","gravatar_id":"1c667bd569578905ca81c7af804083db","avatar_url":"https://secure.gravatar.com/avatar/1c667bd569578905ca81c7af804083db?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"dmitrynix","id":53300},"description":"","created_at":"2012-05-19T01:55:44Z","id":"2728564"},{"updated_at":"2012-05-19T01:49:21Z","url":"https://api.github.com/gists/2728554","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728554.git","git_push_url":"git@gist.github.com:2728554.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728554/a92d2cff5a1750ffd34b950302fd2d794e07d767/gistfile1.txt","size":654,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728554","user":{"url":"https://api.github.com/users/dmitrynix","gravatar_id":"1c667bd569578905ca81c7af804083db","avatar_url":"https://secure.gravatar.com/avatar/1c667bd569578905ca81c7af804083db?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"dmitrynix","id":53300},"description":"","created_at":"2012-05-19T01:49:21Z","id":"2728554"},{"updated_at":"2012-05-19T01:42:04Z","url":"https://api.github.com/gists/2728523","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728523.git","git_push_url":"git@gist.github.com:2728523.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728523/b14dda8e226fcb461e7b4f9370c9a2dcb4165417/gistfile1.txt","size":673,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728523","user":{"url":"https://api.github.com/users/mikegrb","gravatar_id":"d616fde29ac0c71b9388a98a8c418bf6","avatar_url":"https://secure.gravatar.com/avatar/d616fde29ac0c71b9388a98a8c418bf6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"mikegrb","id":98198},"description":"","created_at":"2012-05-19T01:42:04Z","id":"2728523"},{"updated_at":"2012-05-19T01:39:29Z","url":"https://api.github.com/gists/2728519","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728519.git","git_push_url":"git@gist.github.com:2728519.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728519/722eb8117f56805c4c9203a45d35ac254d6277e7/gistfile1.txt","size":97,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728519","user":{"url":"https://api.github.com/users/nateluzod","gravatar_id":"91af41dd33380f98217b8f18f0afa11b","avatar_url":"https://secure.gravatar.com/avatar/91af41dd33380f98217b8f18f0afa11b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"nateluzod","id":514800},"description":"Zebra Striping with JSP","created_at":"2012-05-19T01:39:29Z","id":"2728519"},{"updated_at":"2012-05-19T01:36:41Z","url":"https://api.github.com/gists/2728511","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728511.git","git_push_url":"git@gist.github.com:2728511.git","files":{"benchmark.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728511/c104341058b04e8df33bdc7c5caca0824fc9f140/benchmark.txt","size":137,"filename":"benchmark.txt","language":"Text"},"json2csv.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728511/65f9e62c6c63183acfd8f61198c6ce959062f5be/json2csv.py","size":526,"filename":"json2csv.py","language":"Python"}},"html_url":"https://gist.github.com/2728511","user":{"url":"https://api.github.com/users/thinkjson","gravatar_id":"40b11c51061d8ac16284827aaa43ee58","avatar_url":"https://secure.gravatar.com/avatar/40b11c51061d8ac16284827aaa43ee58?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"thinkjson","id":200365},"description":"JSON to CSV conversion benchmarking","created_at":"2012-05-19T01:36:41Z","id":"2728511"},{"updated_at":"2012-05-19T01:38:59Z","url":"https://api.github.com/gists/2728497","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728497.git","git_push_url":"git@gist.github.com:2728497.git","files":{"gistfile1.rkt":{"type":"text/scheme","raw_url":"https://gist.github.com/raw/2728497/2f98db09c722fdc1b67e9ee36e2a74d48c9f77d0/gistfile1.rkt","size":1606,"filename":"gistfile1.rkt","language":"Racket"}},"html_url":"https://gist.github.com/2728497","user":{"url":"https://api.github.com/users/danking","gravatar_id":"04f0f7c2e53e406e17528b434a96b0f3","avatar_url":"https://secure.gravatar.com/avatar/04f0f7c2e53e406e17528b434a96b0f3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danking","id":106194},"description":"A hack to get multiple auto-values","created_at":"2012-05-19T01:30:49Z","id":"2728497"},{"updated_at":"2012-05-19T02:00:16Z","url":"https://api.github.com/gists/2728496","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728496.git","git_push_url":"git@gist.github.com:2728496.git","files":{".gitignore":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728496/dfe05c7e9d7ecb6646d47fa66a5f86bce73abb80/.gitignore","size":79,"filename":".gitignore","language":null}},"html_url":"https://gist.github.com/2728496","user":{"url":"https://api.github.com/users/mfindlater","gravatar_id":"0192c477480a42e2b270fda07542ac25","avatar_url":"https://secure.gravatar.com/avatar/0192c477480a42e2b270fda07542ac25?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"mfindlater","id":1313463},"description":"Unity .gitignore","created_at":"2012-05-19T01:30:01Z","id":"2728496"},{"updated_at":"2012-05-19T01:29:51Z","url":"https://api.github.com/gists/2728495","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728495.git","git_push_url":"git@gist.github.com:2728495.git","files":{"printTreeLevelOrder.cpp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728495/b1370c0e911cffe195031a434b769595bed2fd4e/printTreeLevelOrder.cpp","size":1001,"filename":"printTreeLevelOrder.cpp","language":"C++"},"printAlmostCompleteTreeLeverOrder.cpp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728495/7c52ea9408481c86a23f1ee17dd71fa0634c49a0/printAlmostCompleteTreeLeverOrder.cpp","size":1099,"filename":"printAlmostCompleteTreeLeverOrder.cpp","language":"C++"}},"html_url":"https://gist.github.com/2728495","user":{"url":"https://api.github.com/users/miggaiowski","gravatar_id":"0a3d19c5aab8adac0a7eb8746568f967","avatar_url":"https://secure.gravatar.com/avatar/0a3d19c5aab8adac0a7eb8746568f967?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"miggaiowski","id":473201},"description":"print tree by level order","created_at":"2012-05-19T01:29:51Z","id":"2728495"},{"updated_at":"2012-05-19T01:27:15Z","url":"https://api.github.com/gists/2728487","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728487.git","git_push_url":"git@gist.github.com:2728487.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728487/50d169c111d3bec00d4f62b37f43c857c6642011/gistfile1.txt","size":4756,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728487","user":{"url":"https://api.github.com/users/zentrification","gravatar_id":"1a8020e101199de55c1b3b726f342321","avatar_url":"https://secure.gravatar.com/avatar/1a8020e101199de55c1b3b726f342321?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"zentrification","id":46617},"description":"","created_at":"2012-05-19T01:27:15Z","id":"2728487"},{"updated_at":"2012-05-19T01:21:29Z","url":"https://api.github.com/gists/2728479","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728479.git","git_push_url":"git@gist.github.com:2728479.git","files":{"TDD.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728479/29ad479bb2dd86e85957a568c795ef04369efa9e/TDD.txt","size":762,"filename":"TDD.txt","language":"Text"}},"html_url":"https://gist.github.com/2728479","user":{"url":"https://api.github.com/users/ryuone","gravatar_id":"2f7ac74a21a0719eeea285fc5abcaaec","avatar_url":"https://secure.gravatar.com/avatar/2f7ac74a21a0719eeea285fc5abcaaec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ryuone","id":78976},"description":"TDD","created_at":"2012-05-19T01:21:29Z","id":"2728479"},{"updated_at":"2012-05-19T01:17:06Z","url":"https://api.github.com/gists/2728469","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728469.git","git_push_url":"git@gist.github.com:2728469.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728469/da9eedec484613342d9725cd95db955d49fa947b/gistfile1.txt","size":15323,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728469","user":{"url":"https://api.github.com/users/jesboat","gravatar_id":"deffb4efbaa060f0a39f5ed79844e2d4","avatar_url":"https://secure.gravatar.com/avatar/deffb4efbaa060f0a39f5ed79844e2d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jesboat","id":112358},"description":"Packet trace for ServerFault question http://serverfault.com/questions/390558","created_at":"2012-05-19T01:17:06Z","id":"2728469"},{"updated_at":"2012-05-19T01:15:23Z","url":"https://api.github.com/gists/2728467","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728467.git","git_push_url":"git@gist.github.com:2728467.git","files":{"hoge.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728467/c9cd50de6b6599cd0c802f66d6497d82966248c8/hoge.rb","size":44,"filename":"hoge.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728467","user":{"url":"https://api.github.com/users/ogawaso","gravatar_id":"2f66898c0b4ae9128b684516225f74aa","avatar_url":"https://secure.gravatar.com/avatar/2f66898c0b4ae9128b684516225f74aa?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ogawaso","id":39783},"description":"","created_at":"2012-05-19T01:15:23Z","id":"2728467"},{"updated_at":"2012-05-19T01:12:24Z","url":"https://api.github.com/gists/2728462","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728462.git","git_push_url":"git@gist.github.com:2728462.git","files":{"bane.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728462/78ade2748d032cc715e23c8817375bb984bd2b1d/bane.rb","size":192,"filename":"bane.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728462","user":{"url":"https://api.github.com/users/Vaguery","gravatar_id":"db04d40ecceb0a4c0683a60462d11794","avatar_url":"https://secure.gravatar.com/avatar/db04d40ecceb0a4c0683a60462d11794?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Vaguery","id":81171},"description":"An actually impossible Cargo-Bot puzzle...?","created_at":"2012-05-19T01:12:24Z","id":"2728462"},{"updated_at":"2012-05-19T01:10:01Z","url":"https://api.github.com/gists/2728459","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728459.git","git_push_url":"git@gist.github.com:2728459.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728459/fcce53fa7e8b1e6c54925dd447eee11d04f4fcac/dabblet.css","size":497,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728459/4d3163ebd7daa36553c07dccfd1669080ca481fa/dabblet.html","size":125,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728459/7816f94e27f5880305fe4e93fc053ffdb62b4754/settings.json","size":88,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728459","user":{"url":"https://api.github.com/users/37mm","gravatar_id":"72cbc6763e747df6f4b1504533ed3174","avatar_url":"https://secure.gravatar.com/avatar/72cbc6763e747df6f4b1504533ed3174?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"37mm","id":1298921},"description":"Centering Test","created_at":"2012-05-19T01:10:01Z","id":"2728459"},{"updated_at":"2012-05-19T01:07:12Z","url":"https://api.github.com/gists/2728453","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728453.git","git_push_url":"git@gist.github.com:2728453.git","files":{"pathing.example.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2728453/1fd4ed05b0bd03a5eb2d9ef7383e031ceec2dbab/pathing.example.php","size":2995,"filename":"pathing.example.php","language":"PHP"},"pathing.php":{"type":"application/httpd-php","raw_url":"https://gist.github.com/raw/2728453/2bc4790acd815d6b1817ab82656b81af94d6c7f1/pathing.php","size":3377,"filename":"pathing.php","language":"PHP"}},"html_url":"https://gist.github.com/2728453","user":{"url":"https://api.github.com/users/alixaxel","gravatar_id":"be9e4cbcfa96b7e4ad4bc28c88cfdb2b","avatar_url":"https://secure.gravatar.com/avatar/be9e4cbcfa96b7e4ad4bc28c88cfdb2b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"alixaxel","id":262782},"description":"","created_at":"2012-05-19T01:07:12Z","id":"2728453"},{"updated_at":"2012-05-19T01:06:03Z","url":"https://api.github.com/gists/2728451","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728451.git","git_push_url":"git@gist.github.com:2728451.git","files":{"rfc1918.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728451/df529e59919f90cc44e91aa178fd39f60a637a16/rfc1918.rb","size":758,"filename":"rfc1918.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728451","user":{"url":"https://api.github.com/users/bmc","gravatar_id":"21e10bea0de20a200e5c7801e10227a9","avatar_url":"https://secure.gravatar.com/avatar/21e10bea0de20a200e5c7801e10227a9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bmc","id":23894},"description":"Quick and dirty Ruby module to determine if IP address (as string) is RFC-1918 address","created_at":"2012-05-19T01:06:03Z","id":"2728451"},{"updated_at":"2012-05-19T00:53:36Z","url":"https://api.github.com/gists/2728420","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728420.git","git_push_url":"git@gist.github.com:2728420.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728420/993553d3188fffcfbae007dbc2affa216754156d/dabblet.css","size":689,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728420/2abe752bfe29d0dd2a7bb3d5f2f619fffe530170/dabblet.html","size":162,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728420/7816f94e27f5880305fe4e93fc053ffdb62b4754/settings.json","size":88,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728420","user":{"url":"https://api.github.com/users/37mm","gravatar_id":"72cbc6763e747df6f4b1504533ed3174","avatar_url":"https://secure.gravatar.com/avatar/72cbc6763e747df6f4b1504533ed3174?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"37mm","id":1298921},"description":"Centering Tests","created_at":"2012-05-19T00:53:36Z","id":"2728420"},{"updated_at":"2012-05-19T00:47:32Z","url":"https://api.github.com/gists/2728389","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728389.git","git_push_url":"git@gist.github.com:2728389.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728389/92cb0a7255249b2f94d9d04e51d40e205dba230b/gistfile1.txt","size":1899,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728389","user":{"url":"https://api.github.com/users/qmx","gravatar_id":"684b4bfe97a40454db104abcb601e375","avatar_url":"https://secure.gravatar.com/avatar/684b4bfe97a40454db104abcb601e375?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"qmx","id":66734},"description":"","created_at":"2012-05-19T00:47:32Z","id":"2728389"},{"updated_at":"2012-05-19T00:46:35Z","url":"https://api.github.com/gists/2728385","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728385.git","git_push_url":"git@gist.github.com:2728385.git","files":{"gistfile1.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728385/5fbfa6cede70702fb87f368028c510c880948be8/gistfile1.js","size":309,"filename":"gistfile1.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728385","user":{"url":"https://api.github.com/users/xupeng","gravatar_id":"44fdbd3419f6ce93976fcfa86d599a70","avatar_url":"https://secure.gravatar.com/avatar/44fdbd3419f6ce93976fcfa86d599a70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"xupeng","id":259658},"description":"自动跳转到广播页","created_at":"2012-05-19T00:46:35Z","id":"2728385"},{"updated_at":"2012-05-19T00:45:40Z","url":"https://api.github.com/gists/2728382","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728382.git","git_push_url":"git@gist.github.com:2728382.git","files":{"dabblet.css":{"type":"text/css","raw_url":"https://gist.github.com/raw/2728382/4a6acf3f4153514685a7527a33a4deaafb62fd5f/dabblet.css","size":717,"filename":"dabblet.css","language":"CSS"},"dabblet.html":{"type":"text/html","raw_url":"https://gist.github.com/raw/2728382/12623c75e860747639b043bffa60d49a0bfa41a1/dabblet.html","size":161,"filename":"dabblet.html","language":"HTML"},"settings.json":{"type":"application/json","raw_url":"https://gist.github.com/raw/2728382/7816f94e27f5880305fe4e93fc053ffdb62b4754/settings.json","size":88,"filename":"settings.json","language":"JSON"}},"html_url":"https://gist.github.com/2728382","user":{"url":"https://api.github.com/users/37mm","gravatar_id":"72cbc6763e747df6f4b1504533ed3174","avatar_url":"https://secure.gravatar.com/avatar/72cbc6763e747df6f4b1504533ed3174?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"37mm","id":1298921},"description":"Centering Tests","created_at":"2012-05-19T00:45:40Z","id":"2728382"},{"updated_at":"2012-05-19T00:45:37Z","url":"https://api.github.com/gists/2728380","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728380.git","git_push_url":"git@gist.github.com:2728380.git","files":{"correlation_examples.R":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728380/8306c62b3fea036155cff1104e7bae4e76da253a/correlation_examples.R","size":2586,"filename":"correlation_examples.R","language":"R"},"run.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728380/f15c99f5747110d465b878f26dd81df3e2041c7c/run.py","size":2291,"filename":"run.py","language":"Python"},"correlation_examples.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2728380/b70a10abf9e6495aafb491e46d5ed69200a5e470/correlation_examples.py","size":4140,"filename":"correlation_examples.py","language":"Python"}},"html_url":"https://gist.github.com/2728380","user":{"url":"https://api.github.com/users/joskid","gravatar_id":"74231318b03600599b999e675a5c31b4","avatar_url":"https://secure.gravatar.com/avatar/74231318b03600599b999e675a5c31b4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"joskid","id":644086},"description":"Examples of dependence beyond correlation","created_at":"2012-05-19T00:45:37Z","id":"2728380"},{"updated_at":"2012-05-19T00:42:59Z","url":"https://api.github.com/gists/2728373","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728373.git","git_push_url":"git@gist.github.com:2728373.git","files":{"gistfile1.rkt":{"type":"text/scheme","raw_url":"https://gist.github.com/raw/2728373/846e565c7770e34f6f8c246ac1dad24ce52a105e/gistfile1.rkt","size":977,"filename":"gistfile1.rkt","language":"Racket"}},"html_url":"https://gist.github.com/2728373","user":{"url":"https://api.github.com/users/danking","gravatar_id":"04f0f7c2e53e406e17528b434a96b0f3","avatar_url":"https://secure.gravatar.com/avatar/04f0f7c2e53e406e17528b434a96b0f3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danking","id":106194},"description":"","created_at":"2012-05-19T00:42:59Z","id":"2728373"},{"updated_at":"2012-05-19T00:40:31Z","url":"https://api.github.com/gists/2728371","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728371.git","git_push_url":"git@gist.github.com:2728371.git","files":{"emacs.rb":{"type":"application/ruby","raw_url":"https://gist.github.com/raw/2728371/759965425b353412ed0169c7a024dc4f6e22aab2/emacs.rb","size":3450,"filename":"emacs.rb","language":"Ruby"}},"html_url":"https://gist.github.com/2728371","user":{"url":"https://api.github.com/users/opennista1","gravatar_id":"e523b5425d1e9814221e3c1b6aed5276","avatar_url":"https://secure.gravatar.com/avatar/e523b5425d1e9814221e3c1b6aed5276?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"opennista1","id":1684080},"description":"Yet Another Emacs 23.4 homebrew Formula","created_at":"2012-05-19T00:40:31Z","id":"2728371"},{"updated_at":"2012-05-19T00:38:53Z","url":"https://api.github.com/gists/2728369","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2728369.git","git_push_url":"git@gist.github.com:2728369.git","files":{"build.sbt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728369/a73fa89294fbdc7ed5b05a50345485569da8352d/build.sbt","size":238,"filename":"build.sbt","language":"Scala"}},"html_url":"https://gist.github.com/2728369","user":{"url":"https://api.github.com/users/kmizu","gravatar_id":"0cd46aa475288438b0b7f214b74321e3","avatar_url":"https://secure.gravatar.com/avatar/0cd46aa475288438b0b7f214b74321e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kmizu","id":97326},"description":"Code snippet of build.sbt for Finagle 4.0.2 in Scala 2.9.1","created_at":"2012-05-19T00:38:53Z","id":"2728369"},{"updated_at":"2012-05-19T00:37:08Z","url":"https://api.github.com/gists/2728360","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728360.git","git_push_url":"git@gist.github.com:2728360.git","files":{"gistfile1.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728360/548cc17c6bcdc36b3fb28d7002798ed856f9476f/gistfile1.txt","size":545,"filename":"gistfile1.txt","language":"Text"}},"html_url":"https://gist.github.com/2728360","user":{"url":"https://api.github.com/users/lkuper","gravatar_id":"07293d028e67783e7571b109dbedb472","avatar_url":"https://secure.gravatar.com/avatar/07293d028e67783e7571b109dbedb472?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lkuper","id":535218},"description":"","created_at":"2012-05-19T00:37:08Z","id":"2728360"},{"updated_at":"2012-05-19T00:34:46Z","url":"https://api.github.com/gists/2728325","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728325.git","git_push_url":"git@gist.github.com:2728325.git","files":{"InterceptWithAttributeEntity2.cs":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728325/5adfaf1da715c87f0bb7c7647165705f8c2f8df2/InterceptWithAttributeEntity2.cs","size":3494,"filename":"InterceptWithAttributeEntity2.cs","language":"C#"}},"html_url":"https://gist.github.com/2728325","user":{"url":"https://api.github.com/users/jpolvora","gravatar_id":"1af1996c69c3c6016cbdec50a6c7caf0","avatar_url":"https://secure.gravatar.com/avatar/1af1996c69c3c6016cbdec50a6c7caf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jpolvora","id":955554},"description":"InterceptWithAttributeEntity2","created_at":"2012-05-19T00:34:46Z","id":"2728325"},{"updated_at":"2012-05-19T00:34:16Z","url":"https://api.github.com/gists/2728316","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728316.git","git_push_url":"git@gist.github.com:2728316.git","files":{"Makefile.in":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728316/e48c49a7cf8d9080db9fde5c243d99bf3bdefc46/Makefile.in","size":636,"filename":"Makefile.in","language":null}},"html_url":"https://gist.github.com/2728316","user":{"url":"https://api.github.com/users/shujinarazaki","gravatar_id":"7cbf6733aa281603ea83b22ada147691","avatar_url":"https://secure.gravatar.com/avatar/7cbf6733aa281603ea83b22ada147691?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"shujinarazaki","id":997855},"description":"Emacs trunk/Makefile.in","created_at":"2012-05-19T00:34:16Z","id":"2728316"},{"updated_at":"2012-05-19T00:30:53Z","url":"https://api.github.com/gists/2728309","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728309.git","git_push_url":"git@gist.github.com:2728309.git","files":{"sphere.js":{"type":"application/javascript","raw_url":"https://gist.github.com/raw/2728309/685095bf3e1bd9888c857ca13b16908e42ca2a47/sphere.js","size":156,"filename":"sphere.js","language":"JavaScript"}},"html_url":"https://gist.github.com/2728309","user":{"url":"https://api.github.com/users/bmander","gravatar_id":"ffb24930250fe5b9dc676c63716ee085","avatar_url":"https://secure.gravatar.com/avatar/ffb24930250fe5b9dc676c63716ee085?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bmander","id":51985},"description":"jscad sphere","created_at":"2012-05-19T00:30:53Z","id":"2728309"},{"updated_at":"2012-05-19T00:29:11Z","url":"https://api.github.com/gists/2728306","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2728306.git","git_push_url":"git@gist.github.com:2728306.git","files":{"Component":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2728306/c247a20395c5c2dd20e67fca9300456e457fa17f/Component","size":147,"filename":"Component","language":null}},"html_url":"https://gist.github.com/2728306","user":{"url":"https://api.github.com/users/vladiim","gravatar_id":"5efae54b9db4f9a847b27f8baf9261db","avatar_url":"https://secure.gravatar.com/avatar/5efae54b9db4f9a847b27f8baf9261db?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vladiim","id":701194},"description":"","created_at":"2012-05-19T00:29:11Z","id":"2728306"}] - diff --git a/github/tests/ReplayData/Github.testGetGitignoreTemplate.txt b/github/tests/ReplayData/Github.testGetGitignoreTemplate.txt deleted file mode 100644 index a8b0120..0000000 --- a/github/tests/ReplayData/Github.testGetGitignoreTemplate.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/gitignore/templates/Python -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '367'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4990'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57aaf2580ebb3b8463d514285e0ca3dd"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 21 Dec 2012 19:56:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"source":"*.py[cod]\n\n# C extensions\n*.so\n\n# Packages\n*.egg\n*.egg-info\ndist\nbuild\neggs\nparts\nbin\nvar\nsdist\ndevelop-eggs\n.installed.cfg\nlib\nlib64\n\n# Installer logs\npip-log.txt\n\n# Unit test / coverage reports\n.coverage\n.tox\nnosetests.xml\n\n# Translations\n*.mo\n\n# Mr Developer\n.mr.developer.cfg\n.project\n.pydevproject\n","name":"Python"} - -https -GET -api.github.com -None -/gitignore/templates/C++ -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '165'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4989'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d01fd87df4d9c3bc861c8ccf8f7aa9f0"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 21 Dec 2012 19:56:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"source":"# Compiled Object files\n*.slo\n*.lo\n*.o\n\n# Compiled Dynamic libraries\n*.so\n*.dylib\n\n# Compiled Static libraries\n*.lai\n*.la\n*.a\n","name":"C++"} - diff --git a/github/tests/ReplayData/Github.testGetGitignoreTemplates.txt b/github/tests/ReplayData/Github.testGetGitignoreTemplates.txt deleted file mode 100644 index 0f57b5c..0000000 --- a/github/tests/ReplayData/Github.testGetGitignoreTemplates.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/gitignore/templates -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '757'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"cc8e8df5d003cd489fd90931fa7f751a"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 21 Dec 2012 19:54:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -["Actionscript","Android","AppceleratorTitanium","Autotools","Bancha","C","C++","CFWheels","CMake","CSharp","CakePHP","Clojure","CodeIgniter","Compass","Concrete5","Coq","Delphi","Django","Drupal","Erlang","ExpressionEngine","Finale","ForceDotCom","FuelPHP","GWT","Go","Grails","Haskell","Java","Jboss","Jekyll","Joomla","Jython","Kohana","LaTeX","Leiningen","LemonStand","Lilypond","Lithium","Magento","Maven","Node","OCaml","Objective-C","Opa","OracleForms","Perl","PlayFramework","Python","Qooxdoo","Qt","R","Rails","RhodesRhomobile","Ruby","Scala","Sdcc","SeamGen","SketchUp","SugarCRM","Symfony","Symfony2","SymphonyCMS","Target3001","Tasm","Textpattern","TurboGears2","Unity","VB.Net","Waf","Wordpress","Yii","ZendFramework","gcov","nanoc","opencart"] - diff --git a/github/tests/ReplayData/Github.testGetHook.txt b/github/tests/ReplayData/Github.testGetHook.txt deleted file mode 100644 index 076c578..0000000 --- a/github/tests/ReplayData/Github.testGetHook.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/hooks/activecollab -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', 'b3cd8329-7f33-4611-84d1-4e2ecfd91812'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '191'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 04 Sep 2013 18:03:57 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"678dd8e392d70d3a284c3d47221ec6f0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 11 Sep 2013 21:10:37 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378937437')] -{"name":"activecollab","events":["push"],"supported_events":["push"],"schema":[["string","url"],["string","token"],["string","project_id"],["string","milestone_id"],["string","category_id"]]} - diff --git a/github/tests/ReplayData/Github.testGetHooks.txt b/github/tests/ReplayData/Github.testGetHooks.txt deleted file mode 100644 index 290e8d5..0000000 --- a/github/tests/ReplayData/Github.testGetHooks.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/hooks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '16567'), ('server', 'nginx'), ('last-modified', 'Fri, 24 Aug 2012 07:05:12 GMT'), ('connection', 'keep-alive'), ('etag', '"eb52c03081d2fc22f26ed2718921e500"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 17:26:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"name":"activecollab","schema":[["string","url"],["string","token"],["string","project_id"],["string","milestone_id"],["string","category_id"]],"events":["push"],"supported_events":["push"]},{"name":"acunote","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"agilebench","schema":[["string","token"],["string","project_id"]],"events":["push"],"supported_events":["push"]},{"name":"agilezen","schema":[["string","api_key"],["string","project_id"],["string","branches"]],"events":["push"],"supported_events":["push"]},{"name":"amqp","schema":[["string","server"],["string","port"],["string","vhost"],["string","exchange"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"apoio","schema":[["string","subdomain"],["string","token"]],"events":["issues"],"supported_events":["issues"]},{"name":"appharbor","schema":[["string","application_slug"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"bamboo","schema":[["string","base_url"],["string","build_key"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"basecamp","schema":[["string","url"],["string","project"],["string","category"],["string","username"],["password","password"],["boolean","ssl"]],"events":["push"],"supported_events":["push"]},{"name":"bcx","schema":[["string","project_url"],["string","email_address"],["password","password"]],"events":["push","pull_request","issues"],"supported_events":["issues","pull_request","push"]},{"name":"boxcar","schema":[["string","subscribers"]],"events":["push"],"supported_events":["push"]},{"name":"bugherd","schema":[["string","project_key"]],"events":["push"],"supported_events":["push"]},{"name":"bugly","schema":[["string","project_id"],["string","account_name"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"bugzilla","schema":[["string","server_url"],["string","username"],["string","integration_branch"],["password","password"],["boolean","central_repository"]],"events":["push"],"supported_events":["push"]},{"name":"buildcoin","schema":[["string","company_key"]],"events":["push","pull_request","pull_request_review_comment","issue_comment"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"campfire","schema":[["string","subdomain"],["string","room"],["string","token"],["string","sound"],["boolean","master_only"],["boolean","play_sound"],["boolean","long_url"]],"events":["push","pull_request","issues"],"supported_events":["issues","pull_request","push"]},{"name":"cia","schema":[["string","address"],["string","project"],["string","branch"],["string","module"],["boolean","long_url"]],"events":["push"],"supported_events":["push"]},{"name":"codeclimate","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"codeportingcsharp2java","schema":[["string","project_name"],["string","repo_key"],["string","target_repo_key"],["string","codeporting_username"],["password","codeporting_password"],["string","github_access_token"]],"events":["push"],"supported_events":["push"]},{"name":"coop","schema":[["string","group_id"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"cube","schema":[["string","domain"],["string","project"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"ducksboard","schema":[["string","webhook_key"]],"events":["push","issues","fork","watch"],"supported_events":["fork","issues","push","watch"]},{"name":"email","schema":[["string","address"],["password","secret"],["boolean","send_from_author"]],"events":["push"],"supported_events":["public","push"]},{"name":"flowdock","schema":[["string","token"]],"events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"fogbugz","schema":[["string","cvssubmit_url"],["string","fb_repoid"],["string","fb_version"]],"events":["push"],"supported_events":["push"]},{"name":"freckle","schema":[["string","subdomain"],["string","project"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"friendfeed","schema":[["string","nickname"],["string","remotekey"]],"events":["push"],"supported_events":["push"]},{"name":"gemnasium","schema":[["string","user"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"geocommit","schema":[],"events":["push"],"supported_events":["push"]},{"name":"getlocalization","schema":[["string","project_name"],["string","project_token"]],"events":["push"],"supported_events":["push"]},{"name":"gitlive","schema":[],"events":["push"],"supported_events":["push"]},{"name":"grmble","schema":[["string","room_api_url"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"grouptalent","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"grove","schema":[["string","channel_token"]],"events":["commit_comment","gollum","issues","issue_comment","pull_request","push"],"supported_events":["push"]},{"name":"habitualist","schema":[],"events":["push"],"supported_events":["push"]},{"name":"harvest","schema":[["string","subdomain"],["string","username"],["password","password"],["boolean","ssl"]],"events":["push"],"supported_events":["push"]},{"name":"hipchat","schema":[["string","auth_token"],["string","room"],["boolean","notify"]],"events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"hubci","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"icescrum","schema":[["string","base_url"],["string","project_key"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"irc","schema":[["string","server"],["string","port"],["string","room"],["string","nick"],["string","branch_regexes"],["password","password"],["boolean","ssl"],["boolean","message_without_join"],["boolean","no_colors"],["boolean","long_url"],["boolean","notice"]],"events":["push"],"supported_events":["issues","pull_request","push"]},{"name":"jabber","schema":[["string","user"]],"events":["push"],"supported_events":["push"]},{"name":"jaconda","schema":[["string","subdomain"],["string","room_id"],["string","room_token"],["boolean","digest"]],"events":["commit_comment","download","fork","fork_apply","gollum","issues","issue_comment","member","public","pull_request","push","watch"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"jenkins","schema":[["string","jenkins_hook_url"]],"events":["push"],"supported_events":["push"]},{"name":"jenkinsgit","schema":[["string","jenkins_url"]],"events":["push"],"supported_events":["push"]},{"name":"jira","schema":[["string","server_url"],["string","api_version"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"kanbanery","schema":[["string","project_id"],["string","project_token"]],"events":["push"],"supported_events":["push"]},{"name":"kickoff","schema":[["string","project_id"],["string","project_token"]],"events":["push"],"supported_events":["push"]},{"name":"leanto","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"lighthouse","schema":[["string","subdomain"],["string","project_id"],["string","token"],["boolean","private"],["boolean","send_only_ticket_commits"]],"events":["push"],"supported_events":["push"]},{"name":"loggly","schema":[["string","input_token"]],"events":["push"],"supported_events":["push"]},{"name":"mantisbt","schema":[["string","url"],["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"masterbranch","schema":[],"events":["push"],"supported_events":["push"]},{"name":"mqttpub","schema":[["string","broker"],["string","port"],["string","topic"],["string","clientid"],["string","user"],["password","pass"],["boolean","retain"]],"events":["push"],"supported_events":["push"]},{"name":"nma","schema":[["string","apikey"]],"events":["push"],"supported_events":["push"]},{"name":"nodejitsu","schema":[["string","subdomain"],["string","username"],["string","branch"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"notifo","schema":[["string","subscribers"]],"events":["push"],"supported_events":["push"]},{"name":"ontime","schema":[["string","ontime_url"],["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"pachube","schema":[["string","api_key"],["string","feed_id"],["string","track_branch"]],"events":["push"],"supported_events":["push"]},{"name":"packagist","schema":[["string","domain"],["string","user"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"pivotaltracker","schema":[["string","token"],["string","branch"],["string","endpoint"]],"events":["push"],"supported_events":["push"]},{"name":"planbox","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"planio","schema":[["string","address"],["string","project"],["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"presently","schema":[["string","subdomain"],["string","group_name"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"prowl","schema":[["string","apikey"]],"events":["push"],"supported_events":["push"]},{"name":"puppetlinter","schema":[],"events":["push"],"supported_events":["push"]},{"name":"pushover","schema":[["string","user_key"],["string","device_name"]],"events":["push"],"supported_events":["push"]},{"name":"pythonpackages","schema":[],"events":["push"],"supported_events":["push"]},{"name":"railsbp","schema":[["string","railsbp_url"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"railsbrakeman","schema":[["string","rails_brakeman_url"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"rally","schema":[["string","server"],["string","username"],["string","workspace"],["string","repository"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"rationalteamconcert","schema":[["string","server_url"],["string","username"],["string","project_area_uuid"],["password","password"],["boolean","basic_authentication"]],"events":["push"],"supported_events":["push"]},{"name":"rdocinfo","schema":[],"events":["push"],"supported_events":["push"]},{"name":"readthedocs","schema":[],"events":["push"],"supported_events":["push"]},{"name":"redmine","schema":[["string","address"],["string","project"],["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"rubyforge","schema":[["string","groupid"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"scrumdo","schema":[["string","username"],["string","project_slug"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"shiningpanda","schema":[["string","workspace"],["string","job"],["string","token"],["string","branches"],["string","parameters"]],"events":["push"],"supported_events":["push"]},{"name":"slatebox","schema":[["string","app_id"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"snowyevening","schema":[["string","project"],["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"socialcast","schema":[["string","api_domain"],["string","group_id"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"sourcemint","schema":[],"events":["push"],"supported_events":["push"]},{"name":"splendidbacon","schema":[["string","project_id"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"sqsqueue","schema":[["string","aws_access_key"],["string","sqs_queue_name"],["password","aws_secret_key"]],"events":["push"],"supported_events":["push"]},{"name":"stackmob","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"statusnet","schema":[["string","server"],["string","username"],["password","password"],["boolean","digest"]],"events":["push"],"supported_events":["push"]},{"name":"talker","schema":[["string","url"],["string","token"],["boolean","digest"]],"events":["push"],"supported_events":["issues","pull_request","push"]},{"name":"targetprocess","schema":[["string","base_url"],["string","username"],["string","project_id"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"teamcity","schema":[["string","base_url"],["string","build_type_id"],["string","username"],["string","branches"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"tender","schema":[["string","domain"],["string","token"]],"events":["issues"],"supported_events":["issues","pull_request"]},{"name":"testpilot","schema":[["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"toggl","schema":[["string","project"],["string","api_token"]],"events":["push"],"supported_events":["push"]},{"name":"trac","schema":[["string","url"],["string","token"]],"events":["push"],"supported_events":["push"]},{"name":"trajectory","schema":[["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"travis","schema":[["string","user"],["string","token"],["string","domain"]],"events":["push","pull_request","issue_comment","public","member"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"trello","schema":[["string","list_id"],["string","ignore_regex"],["boolean","master_only"],["password","consumer_token"]],"events":["push"],"supported_events":["push"]},{"name":"twilio","schema":[["string","account_sid"],["string","from_phone"],["string","to_phone"],["boolean","master_only"],["password","auth_token"]],"events":["push"],"supported_events":["push"]},{"name":"twitter","schema":[["string","token"],["string","secret"],["boolean","digest"],["boolean","short_format"]],"events":["push"],"supported_events":["push"]},{"name":"unfuddle","schema":[["string","subdomain"],["string","repo_id"],["string","username"],["password","password"],["boolean","httponly"]],"events":["push"],"supported_events":["push"]},{"name":"web","schema":[["string","url"],["string","secret"],["string","content_type"],["boolean","insecure_ssl"]],"events":["push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"webtranslateit","schema":[["string","api_key"]],"events":["push"],"supported_events":["push"]},{"name":"yammer","schema":[["string","group_id"],["string","consumer_key"],["string","consumer_secret"],["string","access_token"],["string","access_secret"],["boolean","digest"]],"events":["push"],"supported_events":["push"]},{"name":"youtrack","schema":[["string","base_url"],["string","committers"],["string","username"],["password","password"]],"events":["push"],"supported_events":["push"]},{"name":"zendesk","schema":[["string","subdomain"],["string","username"],["password","password"]],"events":["commit_comment","issues","issue_comment","pull_request","push"],"supported_events":["commit_comment","create","delete","download","follow","fork","fork_apply","gist","gollum","issue_comment","issues","member","public","pull_request","pull_request_review_comment","push","status","team_add","watch"]},{"name":"zohoprojects","schema":[["string","project_id"],["string","token"]],"events":["push"],"supported_events":["push"]}] - diff --git a/github/tests/ReplayData/Github.testGetRepoFromFullName.txt b/github/tests/ReplayData/Github.testGetRepoFromFullName.txt deleted file mode 100644 index d0df7b4..0000000 --- a/github/tests/ReplayData/Github.testGetRepoFromFullName.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"922c0519f2733063a899619ae95ce892"'), ('date', 'Sun, 20 May 2012 12:33:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-19T10:50:39Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":18,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-19T10:50:39Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490,"mirror_url":null} - diff --git a/github/tests/ReplayData/Github.testGetRepoFromId.txt b/github/tests/ReplayData/Github.testGetRepoFromId.txt deleted file mode 100644 index 81fda1f..0000000 --- a/github/tests/ReplayData/Github.testGetRepoFromId.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repositories/3544490 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"922c0519f2733063a899619ae95ce892"'), ('date', 'Sun, 20 May 2012 12:33:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-19T10:50:39Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":18,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-19T10:50:39Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490,"mirror_url":null} - diff --git a/github/tests/ReplayData/Github.testGetRepos.txt b/github/tests/ReplayData/Github.testGetRepos.txt deleted file mode 100644 index 7d335ff..0000000 --- a/github/tests/ReplayData/Github.testGetRepos.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repositories -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '404193'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"ce99e4ff5256ec5157ddea4a067b40b5"'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 19:37:39 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377117459')] -[{"id":1,"name":"grit","full_name":"mojombo/grit","owner":{"login":"mojombo","id":1,"avatar_url":"https://1.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/grit","description":"Grit gives you object oriented read/write access to Git repositories via Ruby.","fork":false,"url":"https://api.github.com/repos/mojombo/grit","forks_url":"https://api.github.com/repos/mojombo/grit/forks","keys_url":"https://api.github.com/repos/mojombo/grit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/grit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/grit/teams","hooks_url":"https://api.github.com/repos/mojombo/grit/hooks","issue_events_url":"https://api.github.com/repos/mojombo/grit/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/grit/events","assignees_url":"https://api.github.com/repos/mojombo/grit/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/grit/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/grit/tags","blobs_url":"https://api.github.com/repos/mojombo/grit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/grit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/grit/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/grit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/grit/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/grit/languages","stargazers_url":"https://api.github.com/repos/mojombo/grit/stargazers","contributors_url":"https://api.github.com/repos/mojombo/grit/contributors","subscribers_url":"https://api.github.com/repos/mojombo/grit/subscribers","subscription_url":"https://api.github.com/repos/mojombo/grit/subscription","commits_url":"https://api.github.com/repos/mojombo/grit/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/grit/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/grit/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/grit/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/grit/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/grit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/grit/merges","archive_url":"https://api.github.com/repos/mojombo/grit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/grit/downloads","issues_url":"https://api.github.com/repos/mojombo/grit/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/grit/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/grit/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/grit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/grit/labels{/name}"},{"id":26,"name":"merb-core","full_name":"wycats/merb-core","owner":{"login":"wycats","id":4,"avatar_url":"https://2.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https%3A%2F%2Fidenticons.github.com%2Fa87ff679a2f3e71d9181a67b7542122c.png","gravatar_id":"428167a3ec72235ba971162924492609","url":"https://api.github.com/users/wycats","html_url":"https://github.com/wycats","followers_url":"https://api.github.com/users/wycats/followers","following_url":"https://api.github.com/users/wycats/following{/other_user}","gists_url":"https://api.github.com/users/wycats/gists{/gist_id}","starred_url":"https://api.github.com/users/wycats/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wycats/subscriptions","organizations_url":"https://api.github.com/users/wycats/orgs","repos_url":"https://api.github.com/users/wycats/repos","events_url":"https://api.github.com/users/wycats/events{/privacy}","received_events_url":"https://api.github.com/users/wycats/received_events","type":"User"},"private":false,"html_url":"https://github.com/wycats/merb-core","description":"Merb Core: All you need. None you don't.","fork":false,"url":"https://api.github.com/repos/wycats/merb-core","forks_url":"https://api.github.com/repos/wycats/merb-core/forks","keys_url":"https://api.github.com/repos/wycats/merb-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wycats/merb-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wycats/merb-core/teams","hooks_url":"https://api.github.com/repos/wycats/merb-core/hooks","issue_events_url":"https://api.github.com/repos/wycats/merb-core/issues/events{/number}","events_url":"https://api.github.com/repos/wycats/merb-core/events","assignees_url":"https://api.github.com/repos/wycats/merb-core/assignees{/user}","branches_url":"https://api.github.com/repos/wycats/merb-core/branches{/branch}","tags_url":"https://api.github.com/repos/wycats/merb-core/tags","blobs_url":"https://api.github.com/repos/wycats/merb-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wycats/merb-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wycats/merb-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/wycats/merb-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wycats/merb-core/statuses/{sha}","languages_url":"https://api.github.com/repos/wycats/merb-core/languages","stargazers_url":"https://api.github.com/repos/wycats/merb-core/stargazers","contributors_url":"https://api.github.com/repos/wycats/merb-core/contributors","subscribers_url":"https://api.github.com/repos/wycats/merb-core/subscribers","subscription_url":"https://api.github.com/repos/wycats/merb-core/subscription","commits_url":"https://api.github.com/repos/wycats/merb-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/wycats/merb-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/wycats/merb-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/wycats/merb-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/wycats/merb-core/contents/{+path}","compare_url":"https://api.github.com/repos/wycats/merb-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wycats/merb-core/merges","archive_url":"https://api.github.com/repos/wycats/merb-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wycats/merb-core/downloads","issues_url":"https://api.github.com/repos/wycats/merb-core/issues{/number}","pulls_url":"https://api.github.com/repos/wycats/merb-core/pulls{/number}","milestones_url":"https://api.github.com/repos/wycats/merb-core/milestones{/number}","notifications_url":"https://api.github.com/repos/wycats/merb-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wycats/merb-core/labels{/name}"},{"id":27,"name":"rubinius","full_name":"rubinius/rubinius","owner":{"login":"rubinius","id":317747,"avatar_url":"https://0.gravatar.com/avatar/8a664b7c5ca834af3e7e49d3a6160082?d=https%3A%2F%2Fidenticons.github.com%2F8a2a02b12e404a00b49c0154892fd9c0.png","gravatar_id":"8a664b7c5ca834af3e7e49d3a6160082","url":"https://api.github.com/users/rubinius","html_url":"https://github.com/rubinius","followers_url":"https://api.github.com/users/rubinius/followers","following_url":"https://api.github.com/users/rubinius/following{/other_user}","gists_url":"https://api.github.com/users/rubinius/gists{/gist_id}","starred_url":"https://api.github.com/users/rubinius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubinius/subscriptions","organizations_url":"https://api.github.com/users/rubinius/orgs","repos_url":"https://api.github.com/users/rubinius/repos","events_url":"https://api.github.com/users/rubinius/events{/privacy}","received_events_url":"https://api.github.com/users/rubinius/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/rubinius/rubinius","description":"Rubinius, the Ruby Environment","fork":false,"url":"https://api.github.com/repos/rubinius/rubinius","forks_url":"https://api.github.com/repos/rubinius/rubinius/forks","keys_url":"https://api.github.com/repos/rubinius/rubinius/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rubinius/rubinius/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rubinius/rubinius/teams","hooks_url":"https://api.github.com/repos/rubinius/rubinius/hooks","issue_events_url":"https://api.github.com/repos/rubinius/rubinius/issues/events{/number}","events_url":"https://api.github.com/repos/rubinius/rubinius/events","assignees_url":"https://api.github.com/repos/rubinius/rubinius/assignees{/user}","branches_url":"https://api.github.com/repos/rubinius/rubinius/branches{/branch}","tags_url":"https://api.github.com/repos/rubinius/rubinius/tags","blobs_url":"https://api.github.com/repos/rubinius/rubinius/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rubinius/rubinius/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rubinius/rubinius/git/refs{/sha}","trees_url":"https://api.github.com/repos/rubinius/rubinius/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rubinius/rubinius/statuses/{sha}","languages_url":"https://api.github.com/repos/rubinius/rubinius/languages","stargazers_url":"https://api.github.com/repos/rubinius/rubinius/stargazers","contributors_url":"https://api.github.com/repos/rubinius/rubinius/contributors","subscribers_url":"https://api.github.com/repos/rubinius/rubinius/subscribers","subscription_url":"https://api.github.com/repos/rubinius/rubinius/subscription","commits_url":"https://api.github.com/repos/rubinius/rubinius/commits{/sha}","git_commits_url":"https://api.github.com/repos/rubinius/rubinius/git/commits{/sha}","comments_url":"https://api.github.com/repos/rubinius/rubinius/comments{/number}","issue_comment_url":"https://api.github.com/repos/rubinius/rubinius/issues/comments/{number}","contents_url":"https://api.github.com/repos/rubinius/rubinius/contents/{+path}","compare_url":"https://api.github.com/repos/rubinius/rubinius/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rubinius/rubinius/merges","archive_url":"https://api.github.com/repos/rubinius/rubinius/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rubinius/rubinius/downloads","issues_url":"https://api.github.com/repos/rubinius/rubinius/issues{/number}","pulls_url":"https://api.github.com/repos/rubinius/rubinius/pulls{/number}","milestones_url":"https://api.github.com/repos/rubinius/rubinius/milestones{/number}","notifications_url":"https://api.github.com/repos/rubinius/rubinius/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rubinius/rubinius/labels{/name}"},{"id":28,"name":"god","full_name":"mojombo/god","owner":{"login":"mojombo","id":1,"avatar_url":"https://1.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/god","description":"Ruby process monitor","fork":false,"url":"https://api.github.com/repos/mojombo/god","forks_url":"https://api.github.com/repos/mojombo/god/forks","keys_url":"https://api.github.com/repos/mojombo/god/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/god/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/god/teams","hooks_url":"https://api.github.com/repos/mojombo/god/hooks","issue_events_url":"https://api.github.com/repos/mojombo/god/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/god/events","assignees_url":"https://api.github.com/repos/mojombo/god/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/god/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/god/tags","blobs_url":"https://api.github.com/repos/mojombo/god/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/god/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/god/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/god/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/god/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/god/languages","stargazers_url":"https://api.github.com/repos/mojombo/god/stargazers","contributors_url":"https://api.github.com/repos/mojombo/god/contributors","subscribers_url":"https://api.github.com/repos/mojombo/god/subscribers","subscription_url":"https://api.github.com/repos/mojombo/god/subscription","commits_url":"https://api.github.com/repos/mojombo/god/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/god/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/god/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/god/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/god/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/god/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/god/merges","archive_url":"https://api.github.com/repos/mojombo/god/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/god/downloads","issues_url":"https://api.github.com/repos/mojombo/god/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/god/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/god/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/god/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/god/labels{/name}"},{"id":29,"name":"jsawesome","full_name":"vanpelt/jsawesome","owner":{"login":"vanpelt","id":17,"avatar_url":"https://1.gravatar.com/avatar/1da36d4c1f34454de6c07855098675f6?d=https%3A%2F%2Fidenticons.github.com%2F70efdf2ec9b086079795c442636b55fb.png","gravatar_id":"1da36d4c1f34454de6c07855098675f6","url":"https://api.github.com/users/vanpelt","html_url":"https://github.com/vanpelt","followers_url":"https://api.github.com/users/vanpelt/followers","following_url":"https://api.github.com/users/vanpelt/following{/other_user}","gists_url":"https://api.github.com/users/vanpelt/gists{/gist_id}","starred_url":"https://api.github.com/users/vanpelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanpelt/subscriptions","organizations_url":"https://api.github.com/users/vanpelt/orgs","repos_url":"https://api.github.com/users/vanpelt/repos","events_url":"https://api.github.com/users/vanpelt/events{/privacy}","received_events_url":"https://api.github.com/users/vanpelt/received_events","type":"User"},"private":false,"html_url":"https://github.com/vanpelt/jsawesome","description":"Awesome JSON","fork":false,"url":"https://api.github.com/repos/vanpelt/jsawesome","forks_url":"https://api.github.com/repos/vanpelt/jsawesome/forks","keys_url":"https://api.github.com/repos/vanpelt/jsawesome/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vanpelt/jsawesome/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vanpelt/jsawesome/teams","hooks_url":"https://api.github.com/repos/vanpelt/jsawesome/hooks","issue_events_url":"https://api.github.com/repos/vanpelt/jsawesome/issues/events{/number}","events_url":"https://api.github.com/repos/vanpelt/jsawesome/events","assignees_url":"https://api.github.com/repos/vanpelt/jsawesome/assignees{/user}","branches_url":"https://api.github.com/repos/vanpelt/jsawesome/branches{/branch}","tags_url":"https://api.github.com/repos/vanpelt/jsawesome/tags","blobs_url":"https://api.github.com/repos/vanpelt/jsawesome/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vanpelt/jsawesome/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vanpelt/jsawesome/git/refs{/sha}","trees_url":"https://api.github.com/repos/vanpelt/jsawesome/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vanpelt/jsawesome/statuses/{sha}","languages_url":"https://api.github.com/repos/vanpelt/jsawesome/languages","stargazers_url":"https://api.github.com/repos/vanpelt/jsawesome/stargazers","contributors_url":"https://api.github.com/repos/vanpelt/jsawesome/contributors","subscribers_url":"https://api.github.com/repos/vanpelt/jsawesome/subscribers","subscription_url":"https://api.github.com/repos/vanpelt/jsawesome/subscription","commits_url":"https://api.github.com/repos/vanpelt/jsawesome/commits{/sha}","git_commits_url":"https://api.github.com/repos/vanpelt/jsawesome/git/commits{/sha}","comments_url":"https://api.github.com/repos/vanpelt/jsawesome/comments{/number}","issue_comment_url":"https://api.github.com/repos/vanpelt/jsawesome/issues/comments/{number}","contents_url":"https://api.github.com/repos/vanpelt/jsawesome/contents/{+path}","compare_url":"https://api.github.com/repos/vanpelt/jsawesome/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vanpelt/jsawesome/merges","archive_url":"https://api.github.com/repos/vanpelt/jsawesome/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vanpelt/jsawesome/downloads","issues_url":"https://api.github.com/repos/vanpelt/jsawesome/issues{/number}","pulls_url":"https://api.github.com/repos/vanpelt/jsawesome/pulls{/number}","milestones_url":"https://api.github.com/repos/vanpelt/jsawesome/milestones{/number}","notifications_url":"https://api.github.com/repos/vanpelt/jsawesome/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vanpelt/jsawesome/labels{/name}"},{"id":31,"name":"jspec","full_name":"wycats/jspec","owner":{"login":"wycats","id":4,"avatar_url":"https://2.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https%3A%2F%2Fidenticons.github.com%2Fa87ff679a2f3e71d9181a67b7542122c.png","gravatar_id":"428167a3ec72235ba971162924492609","url":"https://api.github.com/users/wycats","html_url":"https://github.com/wycats","followers_url":"https://api.github.com/users/wycats/followers","following_url":"https://api.github.com/users/wycats/following{/other_user}","gists_url":"https://api.github.com/users/wycats/gists{/gist_id}","starred_url":"https://api.github.com/users/wycats/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wycats/subscriptions","organizations_url":"https://api.github.com/users/wycats/orgs","repos_url":"https://api.github.com/users/wycats/repos","events_url":"https://api.github.com/users/wycats/events{/privacy}","received_events_url":"https://api.github.com/users/wycats/received_events","type":"User"},"private":false,"html_url":"https://github.com/wycats/jspec","description":"A JavaScript BDD Testing Library","fork":false,"url":"https://api.github.com/repos/wycats/jspec","forks_url":"https://api.github.com/repos/wycats/jspec/forks","keys_url":"https://api.github.com/repos/wycats/jspec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wycats/jspec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wycats/jspec/teams","hooks_url":"https://api.github.com/repos/wycats/jspec/hooks","issue_events_url":"https://api.github.com/repos/wycats/jspec/issues/events{/number}","events_url":"https://api.github.com/repos/wycats/jspec/events","assignees_url":"https://api.github.com/repos/wycats/jspec/assignees{/user}","branches_url":"https://api.github.com/repos/wycats/jspec/branches{/branch}","tags_url":"https://api.github.com/repos/wycats/jspec/tags","blobs_url":"https://api.github.com/repos/wycats/jspec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wycats/jspec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wycats/jspec/git/refs{/sha}","trees_url":"https://api.github.com/repos/wycats/jspec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wycats/jspec/statuses/{sha}","languages_url":"https://api.github.com/repos/wycats/jspec/languages","stargazers_url":"https://api.github.com/repos/wycats/jspec/stargazers","contributors_url":"https://api.github.com/repos/wycats/jspec/contributors","subscribers_url":"https://api.github.com/repos/wycats/jspec/subscribers","subscription_url":"https://api.github.com/repos/wycats/jspec/subscription","commits_url":"https://api.github.com/repos/wycats/jspec/commits{/sha}","git_commits_url":"https://api.github.com/repos/wycats/jspec/git/commits{/sha}","comments_url":"https://api.github.com/repos/wycats/jspec/comments{/number}","issue_comment_url":"https://api.github.com/repos/wycats/jspec/issues/comments/{number}","contents_url":"https://api.github.com/repos/wycats/jspec/contents/{+path}","compare_url":"https://api.github.com/repos/wycats/jspec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wycats/jspec/merges","archive_url":"https://api.github.com/repos/wycats/jspec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wycats/jspec/downloads","issues_url":"https://api.github.com/repos/wycats/jspec/issues{/number}","pulls_url":"https://api.github.com/repos/wycats/jspec/pulls{/number}","milestones_url":"https://api.github.com/repos/wycats/jspec/milestones{/number}","notifications_url":"https://api.github.com/repos/wycats/jspec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wycats/jspec/labels{/name}"},{"id":35,"name":"exception_logger","full_name":"defunkt/exception_logger","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/exception_logger","description":"Unmaintained. Sorry.","fork":false,"url":"https://api.github.com/repos/defunkt/exception_logger","forks_url":"https://api.github.com/repos/defunkt/exception_logger/forks","keys_url":"https://api.github.com/repos/defunkt/exception_logger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/exception_logger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/exception_logger/teams","hooks_url":"https://api.github.com/repos/defunkt/exception_logger/hooks","issue_events_url":"https://api.github.com/repos/defunkt/exception_logger/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/exception_logger/events","assignees_url":"https://api.github.com/repos/defunkt/exception_logger/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/exception_logger/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/exception_logger/tags","blobs_url":"https://api.github.com/repos/defunkt/exception_logger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/exception_logger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/exception_logger/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/exception_logger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/exception_logger/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/exception_logger/languages","stargazers_url":"https://api.github.com/repos/defunkt/exception_logger/stargazers","contributors_url":"https://api.github.com/repos/defunkt/exception_logger/contributors","subscribers_url":"https://api.github.com/repos/defunkt/exception_logger/subscribers","subscription_url":"https://api.github.com/repos/defunkt/exception_logger/subscription","commits_url":"https://api.github.com/repos/defunkt/exception_logger/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/exception_logger/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/exception_logger/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/exception_logger/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/exception_logger/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/exception_logger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/exception_logger/merges","archive_url":"https://api.github.com/repos/defunkt/exception_logger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/exception_logger/downloads","issues_url":"https://api.github.com/repos/defunkt/exception_logger/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/exception_logger/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/exception_logger/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/exception_logger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/exception_logger/labels{/name}"},{"id":36,"name":"ambition","full_name":"defunkt/ambition","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/ambition","description":"include Enumerable — Unmaintained","fork":false,"url":"https://api.github.com/repos/defunkt/ambition","forks_url":"https://api.github.com/repos/defunkt/ambition/forks","keys_url":"https://api.github.com/repos/defunkt/ambition/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/ambition/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/ambition/teams","hooks_url":"https://api.github.com/repos/defunkt/ambition/hooks","issue_events_url":"https://api.github.com/repos/defunkt/ambition/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/ambition/events","assignees_url":"https://api.github.com/repos/defunkt/ambition/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/ambition/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/ambition/tags","blobs_url":"https://api.github.com/repos/defunkt/ambition/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/ambition/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/ambition/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/ambition/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/ambition/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/ambition/languages","stargazers_url":"https://api.github.com/repos/defunkt/ambition/stargazers","contributors_url":"https://api.github.com/repos/defunkt/ambition/contributors","subscribers_url":"https://api.github.com/repos/defunkt/ambition/subscribers","subscription_url":"https://api.github.com/repos/defunkt/ambition/subscription","commits_url":"https://api.github.com/repos/defunkt/ambition/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/ambition/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/ambition/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/ambition/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/ambition/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/ambition/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/ambition/merges","archive_url":"https://api.github.com/repos/defunkt/ambition/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/ambition/downloads","issues_url":"https://api.github.com/repos/defunkt/ambition/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/ambition/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/ambition/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/ambition/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/ambition/labels{/name}"},{"id":42,"name":"restful-authentication","full_name":"technoweenie/restful-authentication","owner":{"login":"technoweenie","id":21,"avatar_url":"https://1.gravatar.com/avatar/821395fe70906c8290df7f18ac4ac6cf?d=https%3A%2F%2Fidenticons.github.com%2F3c59dc048e8850243be8079a5c74d079.png","gravatar_id":"821395fe70906c8290df7f18ac4ac6cf","url":"https://api.github.com/users/technoweenie","html_url":"https://github.com/technoweenie","followers_url":"https://api.github.com/users/technoweenie/followers","following_url":"https://api.github.com/users/technoweenie/following{/other_user}","gists_url":"https://api.github.com/users/technoweenie/gists{/gist_id}","starred_url":"https://api.github.com/users/technoweenie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoweenie/subscriptions","organizations_url":"https://api.github.com/users/technoweenie/orgs","repos_url":"https://api.github.com/users/technoweenie/repos","events_url":"https://api.github.com/users/technoweenie/events{/privacy}","received_events_url":"https://api.github.com/users/technoweenie/received_events","type":"User"},"private":false,"html_url":"https://github.com/technoweenie/restful-authentication","description":"Generates common user authentication code for Rails/Merb, with a full test/unit and rspec suite and optional Acts as State Machine support built-in.","fork":false,"url":"https://api.github.com/repos/technoweenie/restful-authentication","forks_url":"https://api.github.com/repos/technoweenie/restful-authentication/forks","keys_url":"https://api.github.com/repos/technoweenie/restful-authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/technoweenie/restful-authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/technoweenie/restful-authentication/teams","hooks_url":"https://api.github.com/repos/technoweenie/restful-authentication/hooks","issue_events_url":"https://api.github.com/repos/technoweenie/restful-authentication/issues/events{/number}","events_url":"https://api.github.com/repos/technoweenie/restful-authentication/events","assignees_url":"https://api.github.com/repos/technoweenie/restful-authentication/assignees{/user}","branches_url":"https://api.github.com/repos/technoweenie/restful-authentication/branches{/branch}","tags_url":"https://api.github.com/repos/technoweenie/restful-authentication/tags","blobs_url":"https://api.github.com/repos/technoweenie/restful-authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/technoweenie/restful-authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/technoweenie/restful-authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/technoweenie/restful-authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/technoweenie/restful-authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/technoweenie/restful-authentication/languages","stargazers_url":"https://api.github.com/repos/technoweenie/restful-authentication/stargazers","contributors_url":"https://api.github.com/repos/technoweenie/restful-authentication/contributors","subscribers_url":"https://api.github.com/repos/technoweenie/restful-authentication/subscribers","subscription_url":"https://api.github.com/repos/technoweenie/restful-authentication/subscription","commits_url":"https://api.github.com/repos/technoweenie/restful-authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/technoweenie/restful-authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/technoweenie/restful-authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/technoweenie/restful-authentication/issues/comments/{number}","contents_url":"https://api.github.com/repos/technoweenie/restful-authentication/contents/{+path}","compare_url":"https://api.github.com/repos/technoweenie/restful-authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/technoweenie/restful-authentication/merges","archive_url":"https://api.github.com/repos/technoweenie/restful-authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/technoweenie/restful-authentication/downloads","issues_url":"https://api.github.com/repos/technoweenie/restful-authentication/issues{/number}","pulls_url":"https://api.github.com/repos/technoweenie/restful-authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/technoweenie/restful-authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/technoweenie/restful-authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/technoweenie/restful-authentication/labels{/name}"},{"id":43,"name":"attachment_fu","full_name":"technoweenie/attachment_fu","owner":{"login":"technoweenie","id":21,"avatar_url":"https://1.gravatar.com/avatar/821395fe70906c8290df7f18ac4ac6cf?d=https%3A%2F%2Fidenticons.github.com%2F3c59dc048e8850243be8079a5c74d079.png","gravatar_id":"821395fe70906c8290df7f18ac4ac6cf","url":"https://api.github.com/users/technoweenie","html_url":"https://github.com/technoweenie","followers_url":"https://api.github.com/users/technoweenie/followers","following_url":"https://api.github.com/users/technoweenie/following{/other_user}","gists_url":"https://api.github.com/users/technoweenie/gists{/gist_id}","starred_url":"https://api.github.com/users/technoweenie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoweenie/subscriptions","organizations_url":"https://api.github.com/users/technoweenie/orgs","repos_url":"https://api.github.com/users/technoweenie/repos","events_url":"https://api.github.com/users/technoweenie/events{/privacy}","received_events_url":"https://api.github.com/users/technoweenie/received_events","type":"User"},"private":false,"html_url":"https://github.com/technoweenie/attachment_fu","description":"Treat an ActiveRecord model as a file attachment, storing its patch, size, content type, etc.","fork":false,"url":"https://api.github.com/repos/technoweenie/attachment_fu","forks_url":"https://api.github.com/repos/technoweenie/attachment_fu/forks","keys_url":"https://api.github.com/repos/technoweenie/attachment_fu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/technoweenie/attachment_fu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/technoweenie/attachment_fu/teams","hooks_url":"https://api.github.com/repos/technoweenie/attachment_fu/hooks","issue_events_url":"https://api.github.com/repos/technoweenie/attachment_fu/issues/events{/number}","events_url":"https://api.github.com/repos/technoweenie/attachment_fu/events","assignees_url":"https://api.github.com/repos/technoweenie/attachment_fu/assignees{/user}","branches_url":"https://api.github.com/repos/technoweenie/attachment_fu/branches{/branch}","tags_url":"https://api.github.com/repos/technoweenie/attachment_fu/tags","blobs_url":"https://api.github.com/repos/technoweenie/attachment_fu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/technoweenie/attachment_fu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/technoweenie/attachment_fu/git/refs{/sha}","trees_url":"https://api.github.com/repos/technoweenie/attachment_fu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/technoweenie/attachment_fu/statuses/{sha}","languages_url":"https://api.github.com/repos/technoweenie/attachment_fu/languages","stargazers_url":"https://api.github.com/repos/technoweenie/attachment_fu/stargazers","contributors_url":"https://api.github.com/repos/technoweenie/attachment_fu/contributors","subscribers_url":"https://api.github.com/repos/technoweenie/attachment_fu/subscribers","subscription_url":"https://api.github.com/repos/technoweenie/attachment_fu/subscription","commits_url":"https://api.github.com/repos/technoweenie/attachment_fu/commits{/sha}","git_commits_url":"https://api.github.com/repos/technoweenie/attachment_fu/git/commits{/sha}","comments_url":"https://api.github.com/repos/technoweenie/attachment_fu/comments{/number}","issue_comment_url":"https://api.github.com/repos/technoweenie/attachment_fu/issues/comments/{number}","contents_url":"https://api.github.com/repos/technoweenie/attachment_fu/contents/{+path}","compare_url":"https://api.github.com/repos/technoweenie/attachment_fu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/technoweenie/attachment_fu/merges","archive_url":"https://api.github.com/repos/technoweenie/attachment_fu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/technoweenie/attachment_fu/downloads","issues_url":"https://api.github.com/repos/technoweenie/attachment_fu/issues{/number}","pulls_url":"https://api.github.com/repos/technoweenie/attachment_fu/pulls{/number}","milestones_url":"https://api.github.com/repos/technoweenie/attachment_fu/milestones{/number}","notifications_url":"https://api.github.com/repos/technoweenie/attachment_fu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/technoweenie/attachment_fu/labels{/name}"},{"id":47,"name":"bong","full_name":"topfunky/bong","owner":{"login":"topfunky","id":26,"avatar_url":"https://2.gravatar.com/avatar/a9d024f5032b8de04d7c74528beb77ab?d=https%3A%2F%2Fidenticons.github.com%2F4e732ced3463d06de0ca9a15b6153677.png","gravatar_id":"a9d024f5032b8de04d7c74528beb77ab","url":"https://api.github.com/users/topfunky","html_url":"https://github.com/topfunky","followers_url":"https://api.github.com/users/topfunky/followers","following_url":"https://api.github.com/users/topfunky/following{/other_user}","gists_url":"https://api.github.com/users/topfunky/gists{/gist_id}","starred_url":"https://api.github.com/users/topfunky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/topfunky/subscriptions","organizations_url":"https://api.github.com/users/topfunky/orgs","repos_url":"https://api.github.com/users/topfunky/repos","events_url":"https://api.github.com/users/topfunky/events{/privacy}","received_events_url":"https://api.github.com/users/topfunky/received_events","type":"User"},"private":false,"html_url":"https://github.com/topfunky/bong","description":"A benchmarking helper for httperf.","fork":false,"url":"https://api.github.com/repos/topfunky/bong","forks_url":"https://api.github.com/repos/topfunky/bong/forks","keys_url":"https://api.github.com/repos/topfunky/bong/keys{/key_id}","collaborators_url":"https://api.github.com/repos/topfunky/bong/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/topfunky/bong/teams","hooks_url":"https://api.github.com/repos/topfunky/bong/hooks","issue_events_url":"https://api.github.com/repos/topfunky/bong/issues/events{/number}","events_url":"https://api.github.com/repos/topfunky/bong/events","assignees_url":"https://api.github.com/repos/topfunky/bong/assignees{/user}","branches_url":"https://api.github.com/repos/topfunky/bong/branches{/branch}","tags_url":"https://api.github.com/repos/topfunky/bong/tags","blobs_url":"https://api.github.com/repos/topfunky/bong/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/topfunky/bong/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/topfunky/bong/git/refs{/sha}","trees_url":"https://api.github.com/repos/topfunky/bong/git/trees{/sha}","statuses_url":"https://api.github.com/repos/topfunky/bong/statuses/{sha}","languages_url":"https://api.github.com/repos/topfunky/bong/languages","stargazers_url":"https://api.github.com/repos/topfunky/bong/stargazers","contributors_url":"https://api.github.com/repos/topfunky/bong/contributors","subscribers_url":"https://api.github.com/repos/topfunky/bong/subscribers","subscription_url":"https://api.github.com/repos/topfunky/bong/subscription","commits_url":"https://api.github.com/repos/topfunky/bong/commits{/sha}","git_commits_url":"https://api.github.com/repos/topfunky/bong/git/commits{/sha}","comments_url":"https://api.github.com/repos/topfunky/bong/comments{/number}","issue_comment_url":"https://api.github.com/repos/topfunky/bong/issues/comments/{number}","contents_url":"https://api.github.com/repos/topfunky/bong/contents/{+path}","compare_url":"https://api.github.com/repos/topfunky/bong/compare/{base}...{head}","merges_url":"https://api.github.com/repos/topfunky/bong/merges","archive_url":"https://api.github.com/repos/topfunky/bong/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/topfunky/bong/downloads","issues_url":"https://api.github.com/repos/topfunky/bong/issues{/number}","pulls_url":"https://api.github.com/repos/topfunky/bong/pulls{/number}","milestones_url":"https://api.github.com/repos/topfunky/bong/milestones{/number}","notifications_url":"https://api.github.com/repos/topfunky/bong/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/topfunky/bong/labels{/name}"},{"id":48,"name":"microsis","full_name":"Caged/microsis","owner":{"login":"Caged","id":25,"avatar_url":"https://2.gravatar.com/avatar/97c3a8eea9b7eaa9e1e93ea3cd47399f?d=https%3A%2F%2Fidenticons.github.com%2F8e296a067a37563370ded05f5a3bf3ec.png","gravatar_id":"97c3a8eea9b7eaa9e1e93ea3cd47399f","url":"https://api.github.com/users/Caged","html_url":"https://github.com/Caged","followers_url":"https://api.github.com/users/Caged/followers","following_url":"https://api.github.com/users/Caged/following{/other_user}","gists_url":"https://api.github.com/users/Caged/gists{/gist_id}","starred_url":"https://api.github.com/users/Caged/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Caged/subscriptions","organizations_url":"https://api.github.com/users/Caged/orgs","repos_url":"https://api.github.com/users/Caged/repos","events_url":"https://api.github.com/users/Caged/events{/privacy}","received_events_url":"https://api.github.com/users/Caged/received_events","type":"User"},"private":false,"html_url":"https://github.com/Caged/microsis","description":"SUPER OLD STUFF","fork":false,"url":"https://api.github.com/repos/Caged/microsis","forks_url":"https://api.github.com/repos/Caged/microsis/forks","keys_url":"https://api.github.com/repos/Caged/microsis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Caged/microsis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Caged/microsis/teams","hooks_url":"https://api.github.com/repos/Caged/microsis/hooks","issue_events_url":"https://api.github.com/repos/Caged/microsis/issues/events{/number}","events_url":"https://api.github.com/repos/Caged/microsis/events","assignees_url":"https://api.github.com/repos/Caged/microsis/assignees{/user}","branches_url":"https://api.github.com/repos/Caged/microsis/branches{/branch}","tags_url":"https://api.github.com/repos/Caged/microsis/tags","blobs_url":"https://api.github.com/repos/Caged/microsis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Caged/microsis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Caged/microsis/git/refs{/sha}","trees_url":"https://api.github.com/repos/Caged/microsis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Caged/microsis/statuses/{sha}","languages_url":"https://api.github.com/repos/Caged/microsis/languages","stargazers_url":"https://api.github.com/repos/Caged/microsis/stargazers","contributors_url":"https://api.github.com/repos/Caged/microsis/contributors","subscribers_url":"https://api.github.com/repos/Caged/microsis/subscribers","subscription_url":"https://api.github.com/repos/Caged/microsis/subscription","commits_url":"https://api.github.com/repos/Caged/microsis/commits{/sha}","git_commits_url":"https://api.github.com/repos/Caged/microsis/git/commits{/sha}","comments_url":"https://api.github.com/repos/Caged/microsis/comments{/number}","issue_comment_url":"https://api.github.com/repos/Caged/microsis/issues/comments/{number}","contents_url":"https://api.github.com/repos/Caged/microsis/contents/{+path}","compare_url":"https://api.github.com/repos/Caged/microsis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Caged/microsis/merges","archive_url":"https://api.github.com/repos/Caged/microsis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Caged/microsis/downloads","issues_url":"https://api.github.com/repos/Caged/microsis/issues{/number}","pulls_url":"https://api.github.com/repos/Caged/microsis/pulls{/number}","milestones_url":"https://api.github.com/repos/Caged/microsis/milestones{/number}","notifications_url":"https://api.github.com/repos/Caged/microsis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Caged/microsis/labels{/name}"},{"id":52,"name":"s3","full_name":"anotherjesse/s3","owner":{"login":"anotherjesse","id":27,"avatar_url":"https://2.gravatar.com/avatar/50d10a8864accf0b2522c326381a4702?d=https%3A%2F%2Fidenticons.github.com%2F02e74f10e0327ad868d138f2b4fdd6f0.png","gravatar_id":"50d10a8864accf0b2522c326381a4702","url":"https://api.github.com/users/anotherjesse","html_url":"https://github.com/anotherjesse","followers_url":"https://api.github.com/users/anotherjesse/followers","following_url":"https://api.github.com/users/anotherjesse/following{/other_user}","gists_url":"https://api.github.com/users/anotherjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/anotherjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anotherjesse/subscriptions","organizations_url":"https://api.github.com/users/anotherjesse/orgs","repos_url":"https://api.github.com/users/anotherjesse/repos","events_url":"https://api.github.com/users/anotherjesse/events{/privacy}","received_events_url":"https://api.github.com/users/anotherjesse/received_events","type":"User"},"private":false,"html_url":"https://github.com/anotherjesse/s3","description":"psuedo s3 protocol for mozilla browsers","fork":false,"url":"https://api.github.com/repos/anotherjesse/s3","forks_url":"https://api.github.com/repos/anotherjesse/s3/forks","keys_url":"https://api.github.com/repos/anotherjesse/s3/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anotherjesse/s3/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anotherjesse/s3/teams","hooks_url":"https://api.github.com/repos/anotherjesse/s3/hooks","issue_events_url":"https://api.github.com/repos/anotherjesse/s3/issues/events{/number}","events_url":"https://api.github.com/repos/anotherjesse/s3/events","assignees_url":"https://api.github.com/repos/anotherjesse/s3/assignees{/user}","branches_url":"https://api.github.com/repos/anotherjesse/s3/branches{/branch}","tags_url":"https://api.github.com/repos/anotherjesse/s3/tags","blobs_url":"https://api.github.com/repos/anotherjesse/s3/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anotherjesse/s3/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anotherjesse/s3/git/refs{/sha}","trees_url":"https://api.github.com/repos/anotherjesse/s3/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anotherjesse/s3/statuses/{sha}","languages_url":"https://api.github.com/repos/anotherjesse/s3/languages","stargazers_url":"https://api.github.com/repos/anotherjesse/s3/stargazers","contributors_url":"https://api.github.com/repos/anotherjesse/s3/contributors","subscribers_url":"https://api.github.com/repos/anotherjesse/s3/subscribers","subscription_url":"https://api.github.com/repos/anotherjesse/s3/subscription","commits_url":"https://api.github.com/repos/anotherjesse/s3/commits{/sha}","git_commits_url":"https://api.github.com/repos/anotherjesse/s3/git/commits{/sha}","comments_url":"https://api.github.com/repos/anotherjesse/s3/comments{/number}","issue_comment_url":"https://api.github.com/repos/anotherjesse/s3/issues/comments/{number}","contents_url":"https://api.github.com/repos/anotherjesse/s3/contents/{+path}","compare_url":"https://api.github.com/repos/anotherjesse/s3/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anotherjesse/s3/merges","archive_url":"https://api.github.com/repos/anotherjesse/s3/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anotherjesse/s3/downloads","issues_url":"https://api.github.com/repos/anotherjesse/s3/issues{/number}","pulls_url":"https://api.github.com/repos/anotherjesse/s3/pulls{/number}","milestones_url":"https://api.github.com/repos/anotherjesse/s3/milestones{/number}","notifications_url":"https://api.github.com/repos/anotherjesse/s3/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anotherjesse/s3/labels{/name}"},{"id":53,"name":"taboo","full_name":"anotherjesse/taboo","owner":{"login":"anotherjesse","id":27,"avatar_url":"https://2.gravatar.com/avatar/50d10a8864accf0b2522c326381a4702?d=https%3A%2F%2Fidenticons.github.com%2F02e74f10e0327ad868d138f2b4fdd6f0.png","gravatar_id":"50d10a8864accf0b2522c326381a4702","url":"https://api.github.com/users/anotherjesse","html_url":"https://github.com/anotherjesse","followers_url":"https://api.github.com/users/anotherjesse/followers","following_url":"https://api.github.com/users/anotherjesse/following{/other_user}","gists_url":"https://api.github.com/users/anotherjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/anotherjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anotherjesse/subscriptions","organizations_url":"https://api.github.com/users/anotherjesse/orgs","repos_url":"https://api.github.com/users/anotherjesse/repos","events_url":"https://api.github.com/users/anotherjesse/events{/privacy}","received_events_url":"https://api.github.com/users/anotherjesse/received_events","type":"User"},"private":false,"html_url":"https://github.com/anotherjesse/taboo","description":"The solution for tabitus of the browser ","fork":false,"url":"https://api.github.com/repos/anotherjesse/taboo","forks_url":"https://api.github.com/repos/anotherjesse/taboo/forks","keys_url":"https://api.github.com/repos/anotherjesse/taboo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anotherjesse/taboo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anotherjesse/taboo/teams","hooks_url":"https://api.github.com/repos/anotherjesse/taboo/hooks","issue_events_url":"https://api.github.com/repos/anotherjesse/taboo/issues/events{/number}","events_url":"https://api.github.com/repos/anotherjesse/taboo/events","assignees_url":"https://api.github.com/repos/anotherjesse/taboo/assignees{/user}","branches_url":"https://api.github.com/repos/anotherjesse/taboo/branches{/branch}","tags_url":"https://api.github.com/repos/anotherjesse/taboo/tags","blobs_url":"https://api.github.com/repos/anotherjesse/taboo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anotherjesse/taboo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anotherjesse/taboo/git/refs{/sha}","trees_url":"https://api.github.com/repos/anotherjesse/taboo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anotherjesse/taboo/statuses/{sha}","languages_url":"https://api.github.com/repos/anotherjesse/taboo/languages","stargazers_url":"https://api.github.com/repos/anotherjesse/taboo/stargazers","contributors_url":"https://api.github.com/repos/anotherjesse/taboo/contributors","subscribers_url":"https://api.github.com/repos/anotherjesse/taboo/subscribers","subscription_url":"https://api.github.com/repos/anotherjesse/taboo/subscription","commits_url":"https://api.github.com/repos/anotherjesse/taboo/commits{/sha}","git_commits_url":"https://api.github.com/repos/anotherjesse/taboo/git/commits{/sha}","comments_url":"https://api.github.com/repos/anotherjesse/taboo/comments{/number}","issue_comment_url":"https://api.github.com/repos/anotherjesse/taboo/issues/comments/{number}","contents_url":"https://api.github.com/repos/anotherjesse/taboo/contents/{+path}","compare_url":"https://api.github.com/repos/anotherjesse/taboo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anotherjesse/taboo/merges","archive_url":"https://api.github.com/repos/anotherjesse/taboo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anotherjesse/taboo/downloads","issues_url":"https://api.github.com/repos/anotherjesse/taboo/issues{/number}","pulls_url":"https://api.github.com/repos/anotherjesse/taboo/pulls{/number}","milestones_url":"https://api.github.com/repos/anotherjesse/taboo/milestones{/number}","notifications_url":"https://api.github.com/repos/anotherjesse/taboo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anotherjesse/taboo/labels{/name}"},{"id":54,"name":"foxtracs","full_name":"anotherjesse/foxtracs","owner":{"login":"anotherjesse","id":27,"avatar_url":"https://2.gravatar.com/avatar/50d10a8864accf0b2522c326381a4702?d=https%3A%2F%2Fidenticons.github.com%2F02e74f10e0327ad868d138f2b4fdd6f0.png","gravatar_id":"50d10a8864accf0b2522c326381a4702","url":"https://api.github.com/users/anotherjesse","html_url":"https://github.com/anotherjesse","followers_url":"https://api.github.com/users/anotherjesse/followers","following_url":"https://api.github.com/users/anotherjesse/following{/other_user}","gists_url":"https://api.github.com/users/anotherjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/anotherjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anotherjesse/subscriptions","organizations_url":"https://api.github.com/users/anotherjesse/orgs","repos_url":"https://api.github.com/users/anotherjesse/repos","events_url":"https://api.github.com/users/anotherjesse/events{/privacy}","received_events_url":"https://api.github.com/users/anotherjesse/received_events","type":"User"},"private":false,"html_url":"https://github.com/anotherjesse/foxtracs","description":"firefox trac integration","fork":false,"url":"https://api.github.com/repos/anotherjesse/foxtracs","forks_url":"https://api.github.com/repos/anotherjesse/foxtracs/forks","keys_url":"https://api.github.com/repos/anotherjesse/foxtracs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anotherjesse/foxtracs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anotherjesse/foxtracs/teams","hooks_url":"https://api.github.com/repos/anotherjesse/foxtracs/hooks","issue_events_url":"https://api.github.com/repos/anotherjesse/foxtracs/issues/events{/number}","events_url":"https://api.github.com/repos/anotherjesse/foxtracs/events","assignees_url":"https://api.github.com/repos/anotherjesse/foxtracs/assignees{/user}","branches_url":"https://api.github.com/repos/anotherjesse/foxtracs/branches{/branch}","tags_url":"https://api.github.com/repos/anotherjesse/foxtracs/tags","blobs_url":"https://api.github.com/repos/anotherjesse/foxtracs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anotherjesse/foxtracs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anotherjesse/foxtracs/git/refs{/sha}","trees_url":"https://api.github.com/repos/anotherjesse/foxtracs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anotherjesse/foxtracs/statuses/{sha}","languages_url":"https://api.github.com/repos/anotherjesse/foxtracs/languages","stargazers_url":"https://api.github.com/repos/anotherjesse/foxtracs/stargazers","contributors_url":"https://api.github.com/repos/anotherjesse/foxtracs/contributors","subscribers_url":"https://api.github.com/repos/anotherjesse/foxtracs/subscribers","subscription_url":"https://api.github.com/repos/anotherjesse/foxtracs/subscription","commits_url":"https://api.github.com/repos/anotherjesse/foxtracs/commits{/sha}","git_commits_url":"https://api.github.com/repos/anotherjesse/foxtracs/git/commits{/sha}","comments_url":"https://api.github.com/repos/anotherjesse/foxtracs/comments{/number}","issue_comment_url":"https://api.github.com/repos/anotherjesse/foxtracs/issues/comments/{number}","contents_url":"https://api.github.com/repos/anotherjesse/foxtracs/contents/{+path}","compare_url":"https://api.github.com/repos/anotherjesse/foxtracs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anotherjesse/foxtracs/merges","archive_url":"https://api.github.com/repos/anotherjesse/foxtracs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anotherjesse/foxtracs/downloads","issues_url":"https://api.github.com/repos/anotherjesse/foxtracs/issues{/number}","pulls_url":"https://api.github.com/repos/anotherjesse/foxtracs/pulls{/number}","milestones_url":"https://api.github.com/repos/anotherjesse/foxtracs/milestones{/number}","notifications_url":"https://api.github.com/repos/anotherjesse/foxtracs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anotherjesse/foxtracs/labels{/name}"},{"id":56,"name":"fotomatic","full_name":"anotherjesse/fotomatic","owner":{"login":"anotherjesse","id":27,"avatar_url":"https://2.gravatar.com/avatar/50d10a8864accf0b2522c326381a4702?d=https%3A%2F%2Fidenticons.github.com%2F02e74f10e0327ad868d138f2b4fdd6f0.png","gravatar_id":"50d10a8864accf0b2522c326381a4702","url":"https://api.github.com/users/anotherjesse","html_url":"https://github.com/anotherjesse","followers_url":"https://api.github.com/users/anotherjesse/followers","following_url":"https://api.github.com/users/anotherjesse/following{/other_user}","gists_url":"https://api.github.com/users/anotherjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/anotherjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anotherjesse/subscriptions","organizations_url":"https://api.github.com/users/anotherjesse/orgs","repos_url":"https://api.github.com/users/anotherjesse/repos","events_url":"https://api.github.com/users/anotherjesse/events{/privacy}","received_events_url":"https://api.github.com/users/anotherjesse/received_events","type":"User"},"private":false,"html_url":"https://github.com/anotherjesse/fotomatic","description":"Flash photo widget prototype - hacked at last SHDH of 2007","fork":false,"url":"https://api.github.com/repos/anotherjesse/fotomatic","forks_url":"https://api.github.com/repos/anotherjesse/fotomatic/forks","keys_url":"https://api.github.com/repos/anotherjesse/fotomatic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anotherjesse/fotomatic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anotherjesse/fotomatic/teams","hooks_url":"https://api.github.com/repos/anotherjesse/fotomatic/hooks","issue_events_url":"https://api.github.com/repos/anotherjesse/fotomatic/issues/events{/number}","events_url":"https://api.github.com/repos/anotherjesse/fotomatic/events","assignees_url":"https://api.github.com/repos/anotherjesse/fotomatic/assignees{/user}","branches_url":"https://api.github.com/repos/anotherjesse/fotomatic/branches{/branch}","tags_url":"https://api.github.com/repos/anotherjesse/fotomatic/tags","blobs_url":"https://api.github.com/repos/anotherjesse/fotomatic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anotherjesse/fotomatic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anotherjesse/fotomatic/git/refs{/sha}","trees_url":"https://api.github.com/repos/anotherjesse/fotomatic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anotherjesse/fotomatic/statuses/{sha}","languages_url":"https://api.github.com/repos/anotherjesse/fotomatic/languages","stargazers_url":"https://api.github.com/repos/anotherjesse/fotomatic/stargazers","contributors_url":"https://api.github.com/repos/anotherjesse/fotomatic/contributors","subscribers_url":"https://api.github.com/repos/anotherjesse/fotomatic/subscribers","subscription_url":"https://api.github.com/repos/anotherjesse/fotomatic/subscription","commits_url":"https://api.github.com/repos/anotherjesse/fotomatic/commits{/sha}","git_commits_url":"https://api.github.com/repos/anotherjesse/fotomatic/git/commits{/sha}","comments_url":"https://api.github.com/repos/anotherjesse/fotomatic/comments{/number}","issue_comment_url":"https://api.github.com/repos/anotherjesse/fotomatic/issues/comments/{number}","contents_url":"https://api.github.com/repos/anotherjesse/fotomatic/contents/{+path}","compare_url":"https://api.github.com/repos/anotherjesse/fotomatic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anotherjesse/fotomatic/merges","archive_url":"https://api.github.com/repos/anotherjesse/fotomatic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anotherjesse/fotomatic/downloads","issues_url":"https://api.github.com/repos/anotherjesse/fotomatic/issues{/number}","pulls_url":"https://api.github.com/repos/anotherjesse/fotomatic/pulls{/number}","milestones_url":"https://api.github.com/repos/anotherjesse/fotomatic/milestones{/number}","notifications_url":"https://api.github.com/repos/anotherjesse/fotomatic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anotherjesse/fotomatic/labels{/name}"},{"id":61,"name":"glowstick","full_name":"mojombo/glowstick","owner":{"login":"mojombo","id":1,"avatar_url":"https://1.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/glowstick","description":"A realtime, OpenGL graphing library for Ruby","fork":false,"url":"https://api.github.com/repos/mojombo/glowstick","forks_url":"https://api.github.com/repos/mojombo/glowstick/forks","keys_url":"https://api.github.com/repos/mojombo/glowstick/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/glowstick/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/glowstick/teams","hooks_url":"https://api.github.com/repos/mojombo/glowstick/hooks","issue_events_url":"https://api.github.com/repos/mojombo/glowstick/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/glowstick/events","assignees_url":"https://api.github.com/repos/mojombo/glowstick/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/glowstick/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/glowstick/tags","blobs_url":"https://api.github.com/repos/mojombo/glowstick/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/glowstick/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/glowstick/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/glowstick/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/glowstick/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/glowstick/languages","stargazers_url":"https://api.github.com/repos/mojombo/glowstick/stargazers","contributors_url":"https://api.github.com/repos/mojombo/glowstick/contributors","subscribers_url":"https://api.github.com/repos/mojombo/glowstick/subscribers","subscription_url":"https://api.github.com/repos/mojombo/glowstick/subscription","commits_url":"https://api.github.com/repos/mojombo/glowstick/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/glowstick/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/glowstick/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/glowstick/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/glowstick/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/glowstick/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/glowstick/merges","archive_url":"https://api.github.com/repos/mojombo/glowstick/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/glowstick/downloads","issues_url":"https://api.github.com/repos/mojombo/glowstick/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/glowstick/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/glowstick/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/glowstick/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/glowstick/labels{/name}"},{"id":63,"name":"starling","full_name":"defunkt/starling","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/starling","description":"","fork":false,"url":"https://api.github.com/repos/defunkt/starling","forks_url":"https://api.github.com/repos/defunkt/starling/forks","keys_url":"https://api.github.com/repos/defunkt/starling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/starling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/starling/teams","hooks_url":"https://api.github.com/repos/defunkt/starling/hooks","issue_events_url":"https://api.github.com/repos/defunkt/starling/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/starling/events","assignees_url":"https://api.github.com/repos/defunkt/starling/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/starling/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/starling/tags","blobs_url":"https://api.github.com/repos/defunkt/starling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/starling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/starling/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/starling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/starling/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/starling/languages","stargazers_url":"https://api.github.com/repos/defunkt/starling/stargazers","contributors_url":"https://api.github.com/repos/defunkt/starling/contributors","subscribers_url":"https://api.github.com/repos/defunkt/starling/subscribers","subscription_url":"https://api.github.com/repos/defunkt/starling/subscription","commits_url":"https://api.github.com/repos/defunkt/starling/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/starling/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/starling/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/starling/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/starling/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/starling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/starling/merges","archive_url":"https://api.github.com/repos/defunkt/starling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/starling/downloads","issues_url":"https://api.github.com/repos/defunkt/starling/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/starling/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/starling/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/starling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/starling/labels{/name}"},{"id":65,"name":"merb-more","full_name":"wycats/merb-more","owner":{"login":"wycats","id":4,"avatar_url":"https://2.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https%3A%2F%2Fidenticons.github.com%2Fa87ff679a2f3e71d9181a67b7542122c.png","gravatar_id":"428167a3ec72235ba971162924492609","url":"https://api.github.com/users/wycats","html_url":"https://github.com/wycats","followers_url":"https://api.github.com/users/wycats/followers","following_url":"https://api.github.com/users/wycats/following{/other_user}","gists_url":"https://api.github.com/users/wycats/gists{/gist_id}","starred_url":"https://api.github.com/users/wycats/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wycats/subscriptions","organizations_url":"https://api.github.com/users/wycats/orgs","repos_url":"https://api.github.com/users/wycats/repos","events_url":"https://api.github.com/users/wycats/events{/privacy}","received_events_url":"https://api.github.com/users/wycats/received_events","type":"User"},"private":false,"html_url":"https://github.com/wycats/merb-more","description":"Merb More: The Full Stack. Take what you need; leave what you don't.","fork":false,"url":"https://api.github.com/repos/wycats/merb-more","forks_url":"https://api.github.com/repos/wycats/merb-more/forks","keys_url":"https://api.github.com/repos/wycats/merb-more/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wycats/merb-more/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wycats/merb-more/teams","hooks_url":"https://api.github.com/repos/wycats/merb-more/hooks","issue_events_url":"https://api.github.com/repos/wycats/merb-more/issues/events{/number}","events_url":"https://api.github.com/repos/wycats/merb-more/events","assignees_url":"https://api.github.com/repos/wycats/merb-more/assignees{/user}","branches_url":"https://api.github.com/repos/wycats/merb-more/branches{/branch}","tags_url":"https://api.github.com/repos/wycats/merb-more/tags","blobs_url":"https://api.github.com/repos/wycats/merb-more/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wycats/merb-more/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wycats/merb-more/git/refs{/sha}","trees_url":"https://api.github.com/repos/wycats/merb-more/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wycats/merb-more/statuses/{sha}","languages_url":"https://api.github.com/repos/wycats/merb-more/languages","stargazers_url":"https://api.github.com/repos/wycats/merb-more/stargazers","contributors_url":"https://api.github.com/repos/wycats/merb-more/contributors","subscribers_url":"https://api.github.com/repos/wycats/merb-more/subscribers","subscription_url":"https://api.github.com/repos/wycats/merb-more/subscription","commits_url":"https://api.github.com/repos/wycats/merb-more/commits{/sha}","git_commits_url":"https://api.github.com/repos/wycats/merb-more/git/commits{/sha}","comments_url":"https://api.github.com/repos/wycats/merb-more/comments{/number}","issue_comment_url":"https://api.github.com/repos/wycats/merb-more/issues/comments/{number}","contents_url":"https://api.github.com/repos/wycats/merb-more/contents/{+path}","compare_url":"https://api.github.com/repos/wycats/merb-more/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wycats/merb-more/merges","archive_url":"https://api.github.com/repos/wycats/merb-more/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wycats/merb-more/downloads","issues_url":"https://api.github.com/repos/wycats/merb-more/issues{/number}","pulls_url":"https://api.github.com/repos/wycats/merb-more/pulls{/number}","milestones_url":"https://api.github.com/repos/wycats/merb-more/milestones{/number}","notifications_url":"https://api.github.com/repos/wycats/merb-more/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wycats/merb-more/labels{/name}"},{"id":68,"name":"thin","full_name":"macournoyer/thin","owner":{"login":"macournoyer","id":22,"avatar_url":"https://0.gravatar.com/avatar/0d949b795e64e062c4c001c6f5a6f3f3?d=https%3A%2F%2Fidenticons.github.com%2Fb6d767d2f8ed5d21a44b0e5886680cb9.png","gravatar_id":"0d949b795e64e062c4c001c6f5a6f3f3","url":"https://api.github.com/users/macournoyer","html_url":"https://github.com/macournoyer","followers_url":"https://api.github.com/users/macournoyer/followers","following_url":"https://api.github.com/users/macournoyer/following{/other_user}","gists_url":"https://api.github.com/users/macournoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/macournoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macournoyer/subscriptions","organizations_url":"https://api.github.com/users/macournoyer/orgs","repos_url":"https://api.github.com/users/macournoyer/repos","events_url":"https://api.github.com/users/macournoyer/events{/privacy}","received_events_url":"https://api.github.com/users/macournoyer/received_events","type":"User"},"private":false,"html_url":"https://github.com/macournoyer/thin","description":"A very fast & simple Ruby web server","fork":false,"url":"https://api.github.com/repos/macournoyer/thin","forks_url":"https://api.github.com/repos/macournoyer/thin/forks","keys_url":"https://api.github.com/repos/macournoyer/thin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/macournoyer/thin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/macournoyer/thin/teams","hooks_url":"https://api.github.com/repos/macournoyer/thin/hooks","issue_events_url":"https://api.github.com/repos/macournoyer/thin/issues/events{/number}","events_url":"https://api.github.com/repos/macournoyer/thin/events","assignees_url":"https://api.github.com/repos/macournoyer/thin/assignees{/user}","branches_url":"https://api.github.com/repos/macournoyer/thin/branches{/branch}","tags_url":"https://api.github.com/repos/macournoyer/thin/tags","blobs_url":"https://api.github.com/repos/macournoyer/thin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/macournoyer/thin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/macournoyer/thin/git/refs{/sha}","trees_url":"https://api.github.com/repos/macournoyer/thin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/macournoyer/thin/statuses/{sha}","languages_url":"https://api.github.com/repos/macournoyer/thin/languages","stargazers_url":"https://api.github.com/repos/macournoyer/thin/stargazers","contributors_url":"https://api.github.com/repos/macournoyer/thin/contributors","subscribers_url":"https://api.github.com/repos/macournoyer/thin/subscribers","subscription_url":"https://api.github.com/repos/macournoyer/thin/subscription","commits_url":"https://api.github.com/repos/macournoyer/thin/commits{/sha}","git_commits_url":"https://api.github.com/repos/macournoyer/thin/git/commits{/sha}","comments_url":"https://api.github.com/repos/macournoyer/thin/comments{/number}","issue_comment_url":"https://api.github.com/repos/macournoyer/thin/issues/comments/{number}","contents_url":"https://api.github.com/repos/macournoyer/thin/contents/{+path}","compare_url":"https://api.github.com/repos/macournoyer/thin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/macournoyer/thin/merges","archive_url":"https://api.github.com/repos/macournoyer/thin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/macournoyer/thin/downloads","issues_url":"https://api.github.com/repos/macournoyer/thin/issues{/number}","pulls_url":"https://api.github.com/repos/macournoyer/thin/pulls{/number}","milestones_url":"https://api.github.com/repos/macournoyer/thin/milestones{/number}","notifications_url":"https://api.github.com/repos/macournoyer/thin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/macournoyer/thin/labels{/name}"},{"id":71,"name":"resource_controller","full_name":"jamesgolick/resource_controller","owner":{"login":"jamesgolick","id":37,"avatar_url":"https://2.gravatar.com/avatar/f6eddf2f983d23c2d031e407852625e9?d=https%3A%2F%2Fidenticons.github.com%2Fa5bfc9e07964f8dddeb95fc584cd965d.png","gravatar_id":"f6eddf2f983d23c2d031e407852625e9","url":"https://api.github.com/users/jamesgolick","html_url":"https://github.com/jamesgolick","followers_url":"https://api.github.com/users/jamesgolick/followers","following_url":"https://api.github.com/users/jamesgolick/following{/other_user}","gists_url":"https://api.github.com/users/jamesgolick/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesgolick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesgolick/subscriptions","organizations_url":"https://api.github.com/users/jamesgolick/orgs","repos_url":"https://api.github.com/users/jamesgolick/repos","events_url":"https://api.github.com/users/jamesgolick/events{/privacy}","received_events_url":"https://api.github.com/users/jamesgolick/received_events","type":"User"},"private":false,"html_url":"https://github.com/jamesgolick/resource_controller","description":"Rails RESTful controller abstraction plugin.","fork":false,"url":"https://api.github.com/repos/jamesgolick/resource_controller","forks_url":"https://api.github.com/repos/jamesgolick/resource_controller/forks","keys_url":"https://api.github.com/repos/jamesgolick/resource_controller/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jamesgolick/resource_controller/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jamesgolick/resource_controller/teams","hooks_url":"https://api.github.com/repos/jamesgolick/resource_controller/hooks","issue_events_url":"https://api.github.com/repos/jamesgolick/resource_controller/issues/events{/number}","events_url":"https://api.github.com/repos/jamesgolick/resource_controller/events","assignees_url":"https://api.github.com/repos/jamesgolick/resource_controller/assignees{/user}","branches_url":"https://api.github.com/repos/jamesgolick/resource_controller/branches{/branch}","tags_url":"https://api.github.com/repos/jamesgolick/resource_controller/tags","blobs_url":"https://api.github.com/repos/jamesgolick/resource_controller/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jamesgolick/resource_controller/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jamesgolick/resource_controller/git/refs{/sha}","trees_url":"https://api.github.com/repos/jamesgolick/resource_controller/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jamesgolick/resource_controller/statuses/{sha}","languages_url":"https://api.github.com/repos/jamesgolick/resource_controller/languages","stargazers_url":"https://api.github.com/repos/jamesgolick/resource_controller/stargazers","contributors_url":"https://api.github.com/repos/jamesgolick/resource_controller/contributors","subscribers_url":"https://api.github.com/repos/jamesgolick/resource_controller/subscribers","subscription_url":"https://api.github.com/repos/jamesgolick/resource_controller/subscription","commits_url":"https://api.github.com/repos/jamesgolick/resource_controller/commits{/sha}","git_commits_url":"https://api.github.com/repos/jamesgolick/resource_controller/git/commits{/sha}","comments_url":"https://api.github.com/repos/jamesgolick/resource_controller/comments{/number}","issue_comment_url":"https://api.github.com/repos/jamesgolick/resource_controller/issues/comments/{number}","contents_url":"https://api.github.com/repos/jamesgolick/resource_controller/contents/{+path}","compare_url":"https://api.github.com/repos/jamesgolick/resource_controller/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jamesgolick/resource_controller/merges","archive_url":"https://api.github.com/repos/jamesgolick/resource_controller/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jamesgolick/resource_controller/downloads","issues_url":"https://api.github.com/repos/jamesgolick/resource_controller/issues{/number}","pulls_url":"https://api.github.com/repos/jamesgolick/resource_controller/pulls{/number}","milestones_url":"https://api.github.com/repos/jamesgolick/resource_controller/milestones{/number}","notifications_url":"https://api.github.com/repos/jamesgolick/resource_controller/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jamesgolick/resource_controller/labels{/name}"},{"id":73,"name":"markaby","full_name":"jamesgolick/markaby","owner":{"login":"jamesgolick","id":37,"avatar_url":"https://2.gravatar.com/avatar/f6eddf2f983d23c2d031e407852625e9?d=https%3A%2F%2Fidenticons.github.com%2Fa5bfc9e07964f8dddeb95fc584cd965d.png","gravatar_id":"f6eddf2f983d23c2d031e407852625e9","url":"https://api.github.com/users/jamesgolick","html_url":"https://github.com/jamesgolick","followers_url":"https://api.github.com/users/jamesgolick/followers","following_url":"https://api.github.com/users/jamesgolick/following{/other_user}","gists_url":"https://api.github.com/users/jamesgolick/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesgolick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesgolick/subscriptions","organizations_url":"https://api.github.com/users/jamesgolick/orgs","repos_url":"https://api.github.com/users/jamesgolick/repos","events_url":"https://api.github.com/users/jamesgolick/events{/privacy}","received_events_url":"https://api.github.com/users/jamesgolick/received_events","type":"User"},"private":false,"html_url":"https://github.com/jamesgolick/markaby","description":"Markaby patched to run on rails 2.0.2","fork":false,"url":"https://api.github.com/repos/jamesgolick/markaby","forks_url":"https://api.github.com/repos/jamesgolick/markaby/forks","keys_url":"https://api.github.com/repos/jamesgolick/markaby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jamesgolick/markaby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jamesgolick/markaby/teams","hooks_url":"https://api.github.com/repos/jamesgolick/markaby/hooks","issue_events_url":"https://api.github.com/repos/jamesgolick/markaby/issues/events{/number}","events_url":"https://api.github.com/repos/jamesgolick/markaby/events","assignees_url":"https://api.github.com/repos/jamesgolick/markaby/assignees{/user}","branches_url":"https://api.github.com/repos/jamesgolick/markaby/branches{/branch}","tags_url":"https://api.github.com/repos/jamesgolick/markaby/tags","blobs_url":"https://api.github.com/repos/jamesgolick/markaby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jamesgolick/markaby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jamesgolick/markaby/git/refs{/sha}","trees_url":"https://api.github.com/repos/jamesgolick/markaby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jamesgolick/markaby/statuses/{sha}","languages_url":"https://api.github.com/repos/jamesgolick/markaby/languages","stargazers_url":"https://api.github.com/repos/jamesgolick/markaby/stargazers","contributors_url":"https://api.github.com/repos/jamesgolick/markaby/contributors","subscribers_url":"https://api.github.com/repos/jamesgolick/markaby/subscribers","subscription_url":"https://api.github.com/repos/jamesgolick/markaby/subscription","commits_url":"https://api.github.com/repos/jamesgolick/markaby/commits{/sha}","git_commits_url":"https://api.github.com/repos/jamesgolick/markaby/git/commits{/sha}","comments_url":"https://api.github.com/repos/jamesgolick/markaby/comments{/number}","issue_comment_url":"https://api.github.com/repos/jamesgolick/markaby/issues/comments/{number}","contents_url":"https://api.github.com/repos/jamesgolick/markaby/contents/{+path}","compare_url":"https://api.github.com/repos/jamesgolick/markaby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jamesgolick/markaby/merges","archive_url":"https://api.github.com/repos/jamesgolick/markaby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jamesgolick/markaby/downloads","issues_url":"https://api.github.com/repos/jamesgolick/markaby/issues{/number}","pulls_url":"https://api.github.com/repos/jamesgolick/markaby/pulls{/number}","milestones_url":"https://api.github.com/repos/jamesgolick/markaby/milestones{/number}","notifications_url":"https://api.github.com/repos/jamesgolick/markaby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jamesgolick/markaby/labels{/name}"},{"id":74,"name":"enum_field","full_name":"jamesgolick/enum_field","owner":{"login":"jamesgolick","id":37,"avatar_url":"https://2.gravatar.com/avatar/f6eddf2f983d23c2d031e407852625e9?d=https%3A%2F%2Fidenticons.github.com%2Fa5bfc9e07964f8dddeb95fc584cd965d.png","gravatar_id":"f6eddf2f983d23c2d031e407852625e9","url":"https://api.github.com/users/jamesgolick","html_url":"https://github.com/jamesgolick","followers_url":"https://api.github.com/users/jamesgolick/followers","following_url":"https://api.github.com/users/jamesgolick/following{/other_user}","gists_url":"https://api.github.com/users/jamesgolick/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesgolick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesgolick/subscriptions","organizations_url":"https://api.github.com/users/jamesgolick/orgs","repos_url":"https://api.github.com/users/jamesgolick/repos","events_url":"https://api.github.com/users/jamesgolick/events{/privacy}","received_events_url":"https://api.github.com/users/jamesgolick/received_events","type":"User"},"private":false,"html_url":"https://github.com/jamesgolick/enum_field","description":"","fork":false,"url":"https://api.github.com/repos/jamesgolick/enum_field","forks_url":"https://api.github.com/repos/jamesgolick/enum_field/forks","keys_url":"https://api.github.com/repos/jamesgolick/enum_field/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jamesgolick/enum_field/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jamesgolick/enum_field/teams","hooks_url":"https://api.github.com/repos/jamesgolick/enum_field/hooks","issue_events_url":"https://api.github.com/repos/jamesgolick/enum_field/issues/events{/number}","events_url":"https://api.github.com/repos/jamesgolick/enum_field/events","assignees_url":"https://api.github.com/repos/jamesgolick/enum_field/assignees{/user}","branches_url":"https://api.github.com/repos/jamesgolick/enum_field/branches{/branch}","tags_url":"https://api.github.com/repos/jamesgolick/enum_field/tags","blobs_url":"https://api.github.com/repos/jamesgolick/enum_field/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jamesgolick/enum_field/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jamesgolick/enum_field/git/refs{/sha}","trees_url":"https://api.github.com/repos/jamesgolick/enum_field/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jamesgolick/enum_field/statuses/{sha}","languages_url":"https://api.github.com/repos/jamesgolick/enum_field/languages","stargazers_url":"https://api.github.com/repos/jamesgolick/enum_field/stargazers","contributors_url":"https://api.github.com/repos/jamesgolick/enum_field/contributors","subscribers_url":"https://api.github.com/repos/jamesgolick/enum_field/subscribers","subscription_url":"https://api.github.com/repos/jamesgolick/enum_field/subscription","commits_url":"https://api.github.com/repos/jamesgolick/enum_field/commits{/sha}","git_commits_url":"https://api.github.com/repos/jamesgolick/enum_field/git/commits{/sha}","comments_url":"https://api.github.com/repos/jamesgolick/enum_field/comments{/number}","issue_comment_url":"https://api.github.com/repos/jamesgolick/enum_field/issues/comments/{number}","contents_url":"https://api.github.com/repos/jamesgolick/enum_field/contents/{+path}","compare_url":"https://api.github.com/repos/jamesgolick/enum_field/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jamesgolick/enum_field/merges","archive_url":"https://api.github.com/repos/jamesgolick/enum_field/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jamesgolick/enum_field/downloads","issues_url":"https://api.github.com/repos/jamesgolick/enum_field/issues{/number}","pulls_url":"https://api.github.com/repos/jamesgolick/enum_field/pulls{/number}","milestones_url":"https://api.github.com/repos/jamesgolick/enum_field/milestones{/number}","notifications_url":"https://api.github.com/repos/jamesgolick/enum_field/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jamesgolick/enum_field/labels{/name}"},{"id":75,"name":"subtlety","full_name":"defunkt/subtlety","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/subtlety","description":"Subtlety: SVN => RSS, hAtom => Atom","fork":false,"url":"https://api.github.com/repos/defunkt/subtlety","forks_url":"https://api.github.com/repos/defunkt/subtlety/forks","keys_url":"https://api.github.com/repos/defunkt/subtlety/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/subtlety/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/subtlety/teams","hooks_url":"https://api.github.com/repos/defunkt/subtlety/hooks","issue_events_url":"https://api.github.com/repos/defunkt/subtlety/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/subtlety/events","assignees_url":"https://api.github.com/repos/defunkt/subtlety/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/subtlety/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/subtlety/tags","blobs_url":"https://api.github.com/repos/defunkt/subtlety/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/subtlety/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/subtlety/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/subtlety/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/subtlety/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/subtlety/languages","stargazers_url":"https://api.github.com/repos/defunkt/subtlety/stargazers","contributors_url":"https://api.github.com/repos/defunkt/subtlety/contributors","subscribers_url":"https://api.github.com/repos/defunkt/subtlety/subscribers","subscription_url":"https://api.github.com/repos/defunkt/subtlety/subscription","commits_url":"https://api.github.com/repos/defunkt/subtlety/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/subtlety/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/subtlety/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/subtlety/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/subtlety/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/subtlety/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/subtlety/merges","archive_url":"https://api.github.com/repos/defunkt/subtlety/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/subtlety/downloads","issues_url":"https://api.github.com/repos/defunkt/subtlety/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/subtlety/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/subtlety/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/subtlety/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/subtlety/labels{/name}"},{"id":92,"name":"zippy","full_name":"defunkt/zippy","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/zippy","description":"Zippy lil’ zipcode lib.","fork":false,"url":"https://api.github.com/repos/defunkt/zippy","forks_url":"https://api.github.com/repos/defunkt/zippy/forks","keys_url":"https://api.github.com/repos/defunkt/zippy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/zippy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/zippy/teams","hooks_url":"https://api.github.com/repos/defunkt/zippy/hooks","issue_events_url":"https://api.github.com/repos/defunkt/zippy/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/zippy/events","assignees_url":"https://api.github.com/repos/defunkt/zippy/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/zippy/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/zippy/tags","blobs_url":"https://api.github.com/repos/defunkt/zippy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/zippy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/zippy/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/zippy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/zippy/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/zippy/languages","stargazers_url":"https://api.github.com/repos/defunkt/zippy/stargazers","contributors_url":"https://api.github.com/repos/defunkt/zippy/contributors","subscribers_url":"https://api.github.com/repos/defunkt/zippy/subscribers","subscription_url":"https://api.github.com/repos/defunkt/zippy/subscription","commits_url":"https://api.github.com/repos/defunkt/zippy/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/zippy/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/zippy/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/zippy/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/zippy/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/zippy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/zippy/merges","archive_url":"https://api.github.com/repos/defunkt/zippy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/zippy/downloads","issues_url":"https://api.github.com/repos/defunkt/zippy/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/zippy/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/zippy/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/zippy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/zippy/labels{/name}"},{"id":93,"name":"cache_fu","full_name":"defunkt/cache_fu","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/cache_fu","description":"Ghost from Christmas past. Unmaintained.","fork":false,"url":"https://api.github.com/repos/defunkt/cache_fu","forks_url":"https://api.github.com/repos/defunkt/cache_fu/forks","keys_url":"https://api.github.com/repos/defunkt/cache_fu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/cache_fu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/cache_fu/teams","hooks_url":"https://api.github.com/repos/defunkt/cache_fu/hooks","issue_events_url":"https://api.github.com/repos/defunkt/cache_fu/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/cache_fu/events","assignees_url":"https://api.github.com/repos/defunkt/cache_fu/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/cache_fu/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/cache_fu/tags","blobs_url":"https://api.github.com/repos/defunkt/cache_fu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/cache_fu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/cache_fu/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/cache_fu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/cache_fu/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/cache_fu/languages","stargazers_url":"https://api.github.com/repos/defunkt/cache_fu/stargazers","contributors_url":"https://api.github.com/repos/defunkt/cache_fu/contributors","subscribers_url":"https://api.github.com/repos/defunkt/cache_fu/subscribers","subscription_url":"https://api.github.com/repos/defunkt/cache_fu/subscription","commits_url":"https://api.github.com/repos/defunkt/cache_fu/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/cache_fu/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/cache_fu/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/cache_fu/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/cache_fu/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/cache_fu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/cache_fu/merges","archive_url":"https://api.github.com/repos/defunkt/cache_fu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/cache_fu/downloads","issues_url":"https://api.github.com/repos/defunkt/cache_fu/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/cache_fu/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/cache_fu/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/cache_fu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/cache_fu/labels{/name}"},{"id":95,"name":"phosphor","full_name":"KirinDave/phosphor","owner":{"login":"KirinDave","id":36,"avatar_url":"https://2.gravatar.com/avatar/d4fabd6c08ac228a3ff846d9d0d1580e?d=https%3A%2F%2Fidenticons.github.com%2F19ca14e7ea6328a42e0eb13d585e4c22.png","gravatar_id":"d4fabd6c08ac228a3ff846d9d0d1580e","url":"https://api.github.com/users/KirinDave","html_url":"https://github.com/KirinDave","followers_url":"https://api.github.com/users/KirinDave/followers","following_url":"https://api.github.com/users/KirinDave/following{/other_user}","gists_url":"https://api.github.com/users/KirinDave/gists{/gist_id}","starred_url":"https://api.github.com/users/KirinDave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KirinDave/subscriptions","organizations_url":"https://api.github.com/users/KirinDave/orgs","repos_url":"https://api.github.com/users/KirinDave/repos","events_url":"https://api.github.com/users/KirinDave/events{/privacy}","received_events_url":"https://api.github.com/users/KirinDave/received_events","type":"User"},"private":false,"html_url":"https://github.com/KirinDave/phosphor","description":" A ruby library to inexpensively emit runtime events via Dtrace","fork":false,"url":"https://api.github.com/repos/KirinDave/phosphor","forks_url":"https://api.github.com/repos/KirinDave/phosphor/forks","keys_url":"https://api.github.com/repos/KirinDave/phosphor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KirinDave/phosphor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KirinDave/phosphor/teams","hooks_url":"https://api.github.com/repos/KirinDave/phosphor/hooks","issue_events_url":"https://api.github.com/repos/KirinDave/phosphor/issues/events{/number}","events_url":"https://api.github.com/repos/KirinDave/phosphor/events","assignees_url":"https://api.github.com/repos/KirinDave/phosphor/assignees{/user}","branches_url":"https://api.github.com/repos/KirinDave/phosphor/branches{/branch}","tags_url":"https://api.github.com/repos/KirinDave/phosphor/tags","blobs_url":"https://api.github.com/repos/KirinDave/phosphor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KirinDave/phosphor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KirinDave/phosphor/git/refs{/sha}","trees_url":"https://api.github.com/repos/KirinDave/phosphor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KirinDave/phosphor/statuses/{sha}","languages_url":"https://api.github.com/repos/KirinDave/phosphor/languages","stargazers_url":"https://api.github.com/repos/KirinDave/phosphor/stargazers","contributors_url":"https://api.github.com/repos/KirinDave/phosphor/contributors","subscribers_url":"https://api.github.com/repos/KirinDave/phosphor/subscribers","subscription_url":"https://api.github.com/repos/KirinDave/phosphor/subscription","commits_url":"https://api.github.com/repos/KirinDave/phosphor/commits{/sha}","git_commits_url":"https://api.github.com/repos/KirinDave/phosphor/git/commits{/sha}","comments_url":"https://api.github.com/repos/KirinDave/phosphor/comments{/number}","issue_comment_url":"https://api.github.com/repos/KirinDave/phosphor/issues/comments/{number}","contents_url":"https://api.github.com/repos/KirinDave/phosphor/contents/{+path}","compare_url":"https://api.github.com/repos/KirinDave/phosphor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KirinDave/phosphor/merges","archive_url":"https://api.github.com/repos/KirinDave/phosphor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KirinDave/phosphor/downloads","issues_url":"https://api.github.com/repos/KirinDave/phosphor/issues{/number}","pulls_url":"https://api.github.com/repos/KirinDave/phosphor/pulls{/number}","milestones_url":"https://api.github.com/repos/KirinDave/phosphor/milestones{/number}","notifications_url":"https://api.github.com/repos/KirinDave/phosphor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KirinDave/phosphor/labels{/name}"},{"id":98,"name":"sinatra","full_name":"bmizerany/sinatra","owner":{"login":"bmizerany","id":46,"avatar_url":"https://2.gravatar.com/avatar/1a250566b475961b9b36abf359950c76?d=https%3A%2F%2Fidenticons.github.com%2Fd9d4f495e875a2e075a1a4a6e1b9770f.png","gravatar_id":"1a250566b475961b9b36abf359950c76","url":"https://api.github.com/users/bmizerany","html_url":"https://github.com/bmizerany","followers_url":"https://api.github.com/users/bmizerany/followers","following_url":"https://api.github.com/users/bmizerany/following{/other_user}","gists_url":"https://api.github.com/users/bmizerany/gists{/gist_id}","starred_url":"https://api.github.com/users/bmizerany/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmizerany/subscriptions","organizations_url":"https://api.github.com/users/bmizerany/orgs","repos_url":"https://api.github.com/users/bmizerany/repos","events_url":"https://api.github.com/users/bmizerany/events{/privacy}","received_events_url":"https://api.github.com/users/bmizerany/received_events","type":"User"},"private":false,"html_url":"https://github.com/bmizerany/sinatra","description":"(offically at github.com/sinatra/sinatra) Classy web-development dressed in a DSL","fork":false,"url":"https://api.github.com/repos/bmizerany/sinatra","forks_url":"https://api.github.com/repos/bmizerany/sinatra/forks","keys_url":"https://api.github.com/repos/bmizerany/sinatra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bmizerany/sinatra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bmizerany/sinatra/teams","hooks_url":"https://api.github.com/repos/bmizerany/sinatra/hooks","issue_events_url":"https://api.github.com/repos/bmizerany/sinatra/issues/events{/number}","events_url":"https://api.github.com/repos/bmizerany/sinatra/events","assignees_url":"https://api.github.com/repos/bmizerany/sinatra/assignees{/user}","branches_url":"https://api.github.com/repos/bmizerany/sinatra/branches{/branch}","tags_url":"https://api.github.com/repos/bmizerany/sinatra/tags","blobs_url":"https://api.github.com/repos/bmizerany/sinatra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bmizerany/sinatra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bmizerany/sinatra/git/refs{/sha}","trees_url":"https://api.github.com/repos/bmizerany/sinatra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bmizerany/sinatra/statuses/{sha}","languages_url":"https://api.github.com/repos/bmizerany/sinatra/languages","stargazers_url":"https://api.github.com/repos/bmizerany/sinatra/stargazers","contributors_url":"https://api.github.com/repos/bmizerany/sinatra/contributors","subscribers_url":"https://api.github.com/repos/bmizerany/sinatra/subscribers","subscription_url":"https://api.github.com/repos/bmizerany/sinatra/subscription","commits_url":"https://api.github.com/repos/bmizerany/sinatra/commits{/sha}","git_commits_url":"https://api.github.com/repos/bmizerany/sinatra/git/commits{/sha}","comments_url":"https://api.github.com/repos/bmizerany/sinatra/comments{/number}","issue_comment_url":"https://api.github.com/repos/bmizerany/sinatra/issues/comments/{number}","contents_url":"https://api.github.com/repos/bmizerany/sinatra/contents/{+path}","compare_url":"https://api.github.com/repos/bmizerany/sinatra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bmizerany/sinatra/merges","archive_url":"https://api.github.com/repos/bmizerany/sinatra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bmizerany/sinatra/downloads","issues_url":"https://api.github.com/repos/bmizerany/sinatra/issues{/number}","pulls_url":"https://api.github.com/repos/bmizerany/sinatra/pulls{/number}","milestones_url":"https://api.github.com/repos/bmizerany/sinatra/milestones{/number}","notifications_url":"https://api.github.com/repos/bmizerany/sinatra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bmizerany/sinatra/labels{/name}"},{"id":102,"name":"gsa-prototype","full_name":"jnewland/gsa-prototype","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/gsa-prototype","description":"Prototype/Javascript wrapper for the Google Search Appliance Search Protocol. Fancy cross-domain JSON support included.","fork":false,"url":"https://api.github.com/repos/jnewland/gsa-prototype","forks_url":"https://api.github.com/repos/jnewland/gsa-prototype/forks","keys_url":"https://api.github.com/repos/jnewland/gsa-prototype/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/gsa-prototype/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/gsa-prototype/teams","hooks_url":"https://api.github.com/repos/jnewland/gsa-prototype/hooks","issue_events_url":"https://api.github.com/repos/jnewland/gsa-prototype/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/gsa-prototype/events","assignees_url":"https://api.github.com/repos/jnewland/gsa-prototype/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/gsa-prototype/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/gsa-prototype/tags","blobs_url":"https://api.github.com/repos/jnewland/gsa-prototype/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/gsa-prototype/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/gsa-prototype/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/gsa-prototype/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/gsa-prototype/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/gsa-prototype/languages","stargazers_url":"https://api.github.com/repos/jnewland/gsa-prototype/stargazers","contributors_url":"https://api.github.com/repos/jnewland/gsa-prototype/contributors","subscribers_url":"https://api.github.com/repos/jnewland/gsa-prototype/subscribers","subscription_url":"https://api.github.com/repos/jnewland/gsa-prototype/subscription","commits_url":"https://api.github.com/repos/jnewland/gsa-prototype/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/gsa-prototype/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/gsa-prototype/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/gsa-prototype/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/gsa-prototype/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/gsa-prototype/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/gsa-prototype/merges","archive_url":"https://api.github.com/repos/jnewland/gsa-prototype/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/gsa-prototype/downloads","issues_url":"https://api.github.com/repos/jnewland/gsa-prototype/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/gsa-prototype/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/gsa-prototype/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/gsa-prototype/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/gsa-prototype/labels{/name}"},{"id":105,"name":"duplikate","full_name":"technoweenie/duplikate","owner":{"login":"technoweenie","id":21,"avatar_url":"https://1.gravatar.com/avatar/821395fe70906c8290df7f18ac4ac6cf?d=https%3A%2F%2Fidenticons.github.com%2F3c59dc048e8850243be8079a5c74d079.png","gravatar_id":"821395fe70906c8290df7f18ac4ac6cf","url":"https://api.github.com/users/technoweenie","html_url":"https://github.com/technoweenie","followers_url":"https://api.github.com/users/technoweenie/followers","following_url":"https://api.github.com/users/technoweenie/following{/other_user}","gists_url":"https://api.github.com/users/technoweenie/gists{/gist_id}","starred_url":"https://api.github.com/users/technoweenie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoweenie/subscriptions","organizations_url":"https://api.github.com/users/technoweenie/orgs","repos_url":"https://api.github.com/users/technoweenie/repos","events_url":"https://api.github.com/users/technoweenie/events{/privacy}","received_events_url":"https://api.github.com/users/technoweenie/received_events","type":"User"},"private":false,"html_url":"https://github.com/technoweenie/duplikate","description":"Syncs one directory to another (example: a git project to an svn repo)","fork":false,"url":"https://api.github.com/repos/technoweenie/duplikate","forks_url":"https://api.github.com/repos/technoweenie/duplikate/forks","keys_url":"https://api.github.com/repos/technoweenie/duplikate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/technoweenie/duplikate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/technoweenie/duplikate/teams","hooks_url":"https://api.github.com/repos/technoweenie/duplikate/hooks","issue_events_url":"https://api.github.com/repos/technoweenie/duplikate/issues/events{/number}","events_url":"https://api.github.com/repos/technoweenie/duplikate/events","assignees_url":"https://api.github.com/repos/technoweenie/duplikate/assignees{/user}","branches_url":"https://api.github.com/repos/technoweenie/duplikate/branches{/branch}","tags_url":"https://api.github.com/repos/technoweenie/duplikate/tags","blobs_url":"https://api.github.com/repos/technoweenie/duplikate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/technoweenie/duplikate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/technoweenie/duplikate/git/refs{/sha}","trees_url":"https://api.github.com/repos/technoweenie/duplikate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/technoweenie/duplikate/statuses/{sha}","languages_url":"https://api.github.com/repos/technoweenie/duplikate/languages","stargazers_url":"https://api.github.com/repos/technoweenie/duplikate/stargazers","contributors_url":"https://api.github.com/repos/technoweenie/duplikate/contributors","subscribers_url":"https://api.github.com/repos/technoweenie/duplikate/subscribers","subscription_url":"https://api.github.com/repos/technoweenie/duplikate/subscription","commits_url":"https://api.github.com/repos/technoweenie/duplikate/commits{/sha}","git_commits_url":"https://api.github.com/repos/technoweenie/duplikate/git/commits{/sha}","comments_url":"https://api.github.com/repos/technoweenie/duplikate/comments{/number}","issue_comment_url":"https://api.github.com/repos/technoweenie/duplikate/issues/comments/{number}","contents_url":"https://api.github.com/repos/technoweenie/duplikate/contents/{+path}","compare_url":"https://api.github.com/repos/technoweenie/duplikate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/technoweenie/duplikate/merges","archive_url":"https://api.github.com/repos/technoweenie/duplikate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/technoweenie/duplikate/downloads","issues_url":"https://api.github.com/repos/technoweenie/duplikate/issues{/number}","pulls_url":"https://api.github.com/repos/technoweenie/duplikate/pulls{/number}","milestones_url":"https://api.github.com/repos/technoweenie/duplikate/milestones{/number}","notifications_url":"https://api.github.com/repos/technoweenie/duplikate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/technoweenie/duplikate/labels{/name}"},{"id":118,"name":"lazy_record","full_name":"jnewland/lazy_record","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/lazy_record","description":"Proof of concept Lazy-Loading for ActiveRecord. Inspired by the 'kickers' of Ambition.","fork":false,"url":"https://api.github.com/repos/jnewland/lazy_record","forks_url":"https://api.github.com/repos/jnewland/lazy_record/forks","keys_url":"https://api.github.com/repos/jnewland/lazy_record/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/lazy_record/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/lazy_record/teams","hooks_url":"https://api.github.com/repos/jnewland/lazy_record/hooks","issue_events_url":"https://api.github.com/repos/jnewland/lazy_record/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/lazy_record/events","assignees_url":"https://api.github.com/repos/jnewland/lazy_record/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/lazy_record/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/lazy_record/tags","blobs_url":"https://api.github.com/repos/jnewland/lazy_record/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/lazy_record/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/lazy_record/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/lazy_record/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/lazy_record/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/lazy_record/languages","stargazers_url":"https://api.github.com/repos/jnewland/lazy_record/stargazers","contributors_url":"https://api.github.com/repos/jnewland/lazy_record/contributors","subscribers_url":"https://api.github.com/repos/jnewland/lazy_record/subscribers","subscription_url":"https://api.github.com/repos/jnewland/lazy_record/subscription","commits_url":"https://api.github.com/repos/jnewland/lazy_record/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/lazy_record/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/lazy_record/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/lazy_record/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/lazy_record/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/lazy_record/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/lazy_record/merges","archive_url":"https://api.github.com/repos/jnewland/lazy_record/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/lazy_record/downloads","issues_url":"https://api.github.com/repos/jnewland/lazy_record/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/lazy_record/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/lazy_record/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/lazy_record/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/lazy_record/labels{/name}"},{"id":119,"name":"gsa-feeds","full_name":"jnewland/gsa-feeds","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/gsa-feeds","description":"A Ruby wrapper for the Google Search Appliance Feeds Protocol","fork":false,"url":"https://api.github.com/repos/jnewland/gsa-feeds","forks_url":"https://api.github.com/repos/jnewland/gsa-feeds/forks","keys_url":"https://api.github.com/repos/jnewland/gsa-feeds/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/gsa-feeds/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/gsa-feeds/teams","hooks_url":"https://api.github.com/repos/jnewland/gsa-feeds/hooks","issue_events_url":"https://api.github.com/repos/jnewland/gsa-feeds/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/gsa-feeds/events","assignees_url":"https://api.github.com/repos/jnewland/gsa-feeds/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/gsa-feeds/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/gsa-feeds/tags","blobs_url":"https://api.github.com/repos/jnewland/gsa-feeds/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/gsa-feeds/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/gsa-feeds/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/gsa-feeds/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/gsa-feeds/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/gsa-feeds/languages","stargazers_url":"https://api.github.com/repos/jnewland/gsa-feeds/stargazers","contributors_url":"https://api.github.com/repos/jnewland/gsa-feeds/contributors","subscribers_url":"https://api.github.com/repos/jnewland/gsa-feeds/subscribers","subscription_url":"https://api.github.com/repos/jnewland/gsa-feeds/subscription","commits_url":"https://api.github.com/repos/jnewland/gsa-feeds/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/gsa-feeds/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/gsa-feeds/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/gsa-feeds/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/gsa-feeds/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/gsa-feeds/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/gsa-feeds/merges","archive_url":"https://api.github.com/repos/jnewland/gsa-feeds/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/gsa-feeds/downloads","issues_url":"https://api.github.com/repos/jnewland/gsa-feeds/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/gsa-feeds/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/gsa-feeds/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/gsa-feeds/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/gsa-feeds/labels{/name}"},{"id":120,"name":"votigoto","full_name":"jnewland/votigoto","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/votigoto","description":"Ruby API wrapper for the TiVoToGo protocol. Use it to access a list of recorded shows and programs on your Tivo.","fork":false,"url":"https://api.github.com/repos/jnewland/votigoto","forks_url":"https://api.github.com/repos/jnewland/votigoto/forks","keys_url":"https://api.github.com/repos/jnewland/votigoto/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/votigoto/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/votigoto/teams","hooks_url":"https://api.github.com/repos/jnewland/votigoto/hooks","issue_events_url":"https://api.github.com/repos/jnewland/votigoto/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/votigoto/events","assignees_url":"https://api.github.com/repos/jnewland/votigoto/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/votigoto/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/votigoto/tags","blobs_url":"https://api.github.com/repos/jnewland/votigoto/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/votigoto/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/votigoto/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/votigoto/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/votigoto/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/votigoto/languages","stargazers_url":"https://api.github.com/repos/jnewland/votigoto/stargazers","contributors_url":"https://api.github.com/repos/jnewland/votigoto/contributors","subscribers_url":"https://api.github.com/repos/jnewland/votigoto/subscribers","subscription_url":"https://api.github.com/repos/jnewland/votigoto/subscription","commits_url":"https://api.github.com/repos/jnewland/votigoto/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/votigoto/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/votigoto/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/votigoto/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/votigoto/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/votigoto/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/votigoto/merges","archive_url":"https://api.github.com/repos/jnewland/votigoto/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/votigoto/downloads","issues_url":"https://api.github.com/repos/jnewland/votigoto/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/votigoto/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/votigoto/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/votigoto/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/votigoto/labels{/name}"},{"id":127,"name":"mofo","full_name":"defunkt/mofo","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/mofo","description":"Mofo was a fast and simple microformat parser, based on a concise DSL and Hpricot. No longer maintained.","fork":false,"url":"https://api.github.com/repos/defunkt/mofo","forks_url":"https://api.github.com/repos/defunkt/mofo/forks","keys_url":"https://api.github.com/repos/defunkt/mofo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/mofo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/mofo/teams","hooks_url":"https://api.github.com/repos/defunkt/mofo/hooks","issue_events_url":"https://api.github.com/repos/defunkt/mofo/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/mofo/events","assignees_url":"https://api.github.com/repos/defunkt/mofo/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/mofo/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/mofo/tags","blobs_url":"https://api.github.com/repos/defunkt/mofo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/mofo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/mofo/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/mofo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/mofo/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/mofo/languages","stargazers_url":"https://api.github.com/repos/defunkt/mofo/stargazers","contributors_url":"https://api.github.com/repos/defunkt/mofo/contributors","subscribers_url":"https://api.github.com/repos/defunkt/mofo/subscribers","subscription_url":"https://api.github.com/repos/defunkt/mofo/subscription","commits_url":"https://api.github.com/repos/defunkt/mofo/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/mofo/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/mofo/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/mofo/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/mofo/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/mofo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/mofo/merges","archive_url":"https://api.github.com/repos/defunkt/mofo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/mofo/downloads","issues_url":"https://api.github.com/repos/defunkt/mofo/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/mofo/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/mofo/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/mofo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/mofo/labels{/name}"},{"id":129,"name":"xhtmlize","full_name":"jnewland/xhtmlize","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/xhtmlize","description":"Rails helper to XHTML-ize chunks of user submitted HTML. For the standardista in all of us","fork":false,"url":"https://api.github.com/repos/jnewland/xhtmlize","forks_url":"https://api.github.com/repos/jnewland/xhtmlize/forks","keys_url":"https://api.github.com/repos/jnewland/xhtmlize/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/xhtmlize/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/xhtmlize/teams","hooks_url":"https://api.github.com/repos/jnewland/xhtmlize/hooks","issue_events_url":"https://api.github.com/repos/jnewland/xhtmlize/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/xhtmlize/events","assignees_url":"https://api.github.com/repos/jnewland/xhtmlize/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/xhtmlize/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/xhtmlize/tags","blobs_url":"https://api.github.com/repos/jnewland/xhtmlize/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/xhtmlize/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/xhtmlize/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/xhtmlize/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/xhtmlize/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/xhtmlize/languages","stargazers_url":"https://api.github.com/repos/jnewland/xhtmlize/stargazers","contributors_url":"https://api.github.com/repos/jnewland/xhtmlize/contributors","subscribers_url":"https://api.github.com/repos/jnewland/xhtmlize/subscribers","subscription_url":"https://api.github.com/repos/jnewland/xhtmlize/subscription","commits_url":"https://api.github.com/repos/jnewland/xhtmlize/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/xhtmlize/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/xhtmlize/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/xhtmlize/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/xhtmlize/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/xhtmlize/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/xhtmlize/merges","archive_url":"https://api.github.com/repos/jnewland/xhtmlize/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/xhtmlize/downloads","issues_url":"https://api.github.com/repos/jnewland/xhtmlize/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/xhtmlize/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/xhtmlize/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/xhtmlize/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/xhtmlize/labels{/name}"},{"id":130,"name":"ruby-git","full_name":"schacon/ruby-git","owner":{"login":"schacon","id":70,"avatar_url":"https://2.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https%3A%2F%2Fidenticons.github.com%2F7cbbc409ec990f19c78c75bd1e06f215.png","gravatar_id":"9375a9529679f1b42b567a640d775e7d","url":"https://api.github.com/users/schacon","html_url":"https://github.com/schacon","followers_url":"https://api.github.com/users/schacon/followers","following_url":"https://api.github.com/users/schacon/following{/other_user}","gists_url":"https://api.github.com/users/schacon/gists{/gist_id}","starred_url":"https://api.github.com/users/schacon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schacon/subscriptions","organizations_url":"https://api.github.com/users/schacon/orgs","repos_url":"https://api.github.com/users/schacon/repos","events_url":"https://api.github.com/users/schacon/events{/privacy}","received_events_url":"https://api.github.com/users/schacon/received_events","type":"User"},"private":false,"html_url":"https://github.com/schacon/ruby-git","description":"Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary.","fork":false,"url":"https://api.github.com/repos/schacon/ruby-git","forks_url":"https://api.github.com/repos/schacon/ruby-git/forks","keys_url":"https://api.github.com/repos/schacon/ruby-git/keys{/key_id}","collaborators_url":"https://api.github.com/repos/schacon/ruby-git/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/schacon/ruby-git/teams","hooks_url":"https://api.github.com/repos/schacon/ruby-git/hooks","issue_events_url":"https://api.github.com/repos/schacon/ruby-git/issues/events{/number}","events_url":"https://api.github.com/repos/schacon/ruby-git/events","assignees_url":"https://api.github.com/repos/schacon/ruby-git/assignees{/user}","branches_url":"https://api.github.com/repos/schacon/ruby-git/branches{/branch}","tags_url":"https://api.github.com/repos/schacon/ruby-git/tags","blobs_url":"https://api.github.com/repos/schacon/ruby-git/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/schacon/ruby-git/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/schacon/ruby-git/git/refs{/sha}","trees_url":"https://api.github.com/repos/schacon/ruby-git/git/trees{/sha}","statuses_url":"https://api.github.com/repos/schacon/ruby-git/statuses/{sha}","languages_url":"https://api.github.com/repos/schacon/ruby-git/languages","stargazers_url":"https://api.github.com/repos/schacon/ruby-git/stargazers","contributors_url":"https://api.github.com/repos/schacon/ruby-git/contributors","subscribers_url":"https://api.github.com/repos/schacon/ruby-git/subscribers","subscription_url":"https://api.github.com/repos/schacon/ruby-git/subscription","commits_url":"https://api.github.com/repos/schacon/ruby-git/commits{/sha}","git_commits_url":"https://api.github.com/repos/schacon/ruby-git/git/commits{/sha}","comments_url":"https://api.github.com/repos/schacon/ruby-git/comments{/number}","issue_comment_url":"https://api.github.com/repos/schacon/ruby-git/issues/comments/{number}","contents_url":"https://api.github.com/repos/schacon/ruby-git/contents/{+path}","compare_url":"https://api.github.com/repos/schacon/ruby-git/compare/{base}...{head}","merges_url":"https://api.github.com/repos/schacon/ruby-git/merges","archive_url":"https://api.github.com/repos/schacon/ruby-git/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/schacon/ruby-git/downloads","issues_url":"https://api.github.com/repos/schacon/ruby-git/issues{/number}","pulls_url":"https://api.github.com/repos/schacon/ruby-git/pulls{/number}","milestones_url":"https://api.github.com/repos/schacon/ruby-git/milestones{/number}","notifications_url":"https://api.github.com/repos/schacon/ruby-git/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/schacon/ruby-git/labels{/name}"},{"id":131,"name":"bmhsearch","full_name":"ezmobius/bmhsearch","owner":{"login":"ezmobius","id":5,"avatar_url":"https://1.gravatar.com/avatar/6a3a6e3da2d97be8df476187ff151f04?d=https%3A%2F%2Fidenticons.github.com%2Fe4da3b7fbbce2345d7772b0674a318d5.png","gravatar_id":"6a3a6e3da2d97be8df476187ff151f04","url":"https://api.github.com/users/ezmobius","html_url":"https://github.com/ezmobius","followers_url":"https://api.github.com/users/ezmobius/followers","following_url":"https://api.github.com/users/ezmobius/following{/other_user}","gists_url":"https://api.github.com/users/ezmobius/gists{/gist_id}","starred_url":"https://api.github.com/users/ezmobius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ezmobius/subscriptions","organizations_url":"https://api.github.com/users/ezmobius/orgs","repos_url":"https://api.github.com/users/ezmobius/repos","events_url":"https://api.github.com/users/ezmobius/events{/privacy}","received_events_url":"https://api.github.com/users/ezmobius/received_events","type":"User"},"private":false,"html_url":"https://github.com/ezmobius/bmhsearch","description":"Fast string searcher, useful for multi-part post parsing","fork":false,"url":"https://api.github.com/repos/ezmobius/bmhsearch","forks_url":"https://api.github.com/repos/ezmobius/bmhsearch/forks","keys_url":"https://api.github.com/repos/ezmobius/bmhsearch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ezmobius/bmhsearch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ezmobius/bmhsearch/teams","hooks_url":"https://api.github.com/repos/ezmobius/bmhsearch/hooks","issue_events_url":"https://api.github.com/repos/ezmobius/bmhsearch/issues/events{/number}","events_url":"https://api.github.com/repos/ezmobius/bmhsearch/events","assignees_url":"https://api.github.com/repos/ezmobius/bmhsearch/assignees{/user}","branches_url":"https://api.github.com/repos/ezmobius/bmhsearch/branches{/branch}","tags_url":"https://api.github.com/repos/ezmobius/bmhsearch/tags","blobs_url":"https://api.github.com/repos/ezmobius/bmhsearch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ezmobius/bmhsearch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ezmobius/bmhsearch/git/refs{/sha}","trees_url":"https://api.github.com/repos/ezmobius/bmhsearch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ezmobius/bmhsearch/statuses/{sha}","languages_url":"https://api.github.com/repos/ezmobius/bmhsearch/languages","stargazers_url":"https://api.github.com/repos/ezmobius/bmhsearch/stargazers","contributors_url":"https://api.github.com/repos/ezmobius/bmhsearch/contributors","subscribers_url":"https://api.github.com/repos/ezmobius/bmhsearch/subscribers","subscription_url":"https://api.github.com/repos/ezmobius/bmhsearch/subscription","commits_url":"https://api.github.com/repos/ezmobius/bmhsearch/commits{/sha}","git_commits_url":"https://api.github.com/repos/ezmobius/bmhsearch/git/commits{/sha}","comments_url":"https://api.github.com/repos/ezmobius/bmhsearch/comments{/number}","issue_comment_url":"https://api.github.com/repos/ezmobius/bmhsearch/issues/comments/{number}","contents_url":"https://api.github.com/repos/ezmobius/bmhsearch/contents/{+path}","compare_url":"https://api.github.com/repos/ezmobius/bmhsearch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ezmobius/bmhsearch/merges","archive_url":"https://api.github.com/repos/ezmobius/bmhsearch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ezmobius/bmhsearch/downloads","issues_url":"https://api.github.com/repos/ezmobius/bmhsearch/issues{/number}","pulls_url":"https://api.github.com/repos/ezmobius/bmhsearch/pulls{/number}","milestones_url":"https://api.github.com/repos/ezmobius/bmhsearch/milestones{/number}","notifications_url":"https://api.github.com/repos/ezmobius/bmhsearch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ezmobius/bmhsearch/labels{/name}"},{"id":137,"name":"mofo","full_name":"uggedal/mofo","owner":{"login":"uggedal","id":71,"avatar_url":"https://1.gravatar.com/avatar/0339e3df937c32000f9e2cf1de04298d?d=https%3A%2F%2Fidenticons.github.com%2Fe2c420d928d4bf8ce0ff2ec19b371514.png","gravatar_id":"0339e3df937c32000f9e2cf1de04298d","url":"https://api.github.com/users/uggedal","html_url":"https://github.com/uggedal","followers_url":"https://api.github.com/users/uggedal/followers","following_url":"https://api.github.com/users/uggedal/following{/other_user}","gists_url":"https://api.github.com/users/uggedal/gists{/gist_id}","starred_url":"https://api.github.com/users/uggedal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uggedal/subscriptions","organizations_url":"https://api.github.com/users/uggedal/orgs","repos_url":"https://api.github.com/users/uggedal/repos","events_url":"https://api.github.com/users/uggedal/events{/privacy}","received_events_url":"https://api.github.com/users/uggedal/received_events","type":"User"},"private":false,"html_url":"https://github.com/uggedal/mofo","description":"Mofo is a fast and simple microformat parser, based on a concise DSL and Hpricot.","fork":true,"url":"https://api.github.com/repos/uggedal/mofo","forks_url":"https://api.github.com/repos/uggedal/mofo/forks","keys_url":"https://api.github.com/repos/uggedal/mofo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/uggedal/mofo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/uggedal/mofo/teams","hooks_url":"https://api.github.com/repos/uggedal/mofo/hooks","issue_events_url":"https://api.github.com/repos/uggedal/mofo/issues/events{/number}","events_url":"https://api.github.com/repos/uggedal/mofo/events","assignees_url":"https://api.github.com/repos/uggedal/mofo/assignees{/user}","branches_url":"https://api.github.com/repos/uggedal/mofo/branches{/branch}","tags_url":"https://api.github.com/repos/uggedal/mofo/tags","blobs_url":"https://api.github.com/repos/uggedal/mofo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/uggedal/mofo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/uggedal/mofo/git/refs{/sha}","trees_url":"https://api.github.com/repos/uggedal/mofo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/uggedal/mofo/statuses/{sha}","languages_url":"https://api.github.com/repos/uggedal/mofo/languages","stargazers_url":"https://api.github.com/repos/uggedal/mofo/stargazers","contributors_url":"https://api.github.com/repos/uggedal/mofo/contributors","subscribers_url":"https://api.github.com/repos/uggedal/mofo/subscribers","subscription_url":"https://api.github.com/repos/uggedal/mofo/subscription","commits_url":"https://api.github.com/repos/uggedal/mofo/commits{/sha}","git_commits_url":"https://api.github.com/repos/uggedal/mofo/git/commits{/sha}","comments_url":"https://api.github.com/repos/uggedal/mofo/comments{/number}","issue_comment_url":"https://api.github.com/repos/uggedal/mofo/issues/comments/{number}","contents_url":"https://api.github.com/repos/uggedal/mofo/contents/{+path}","compare_url":"https://api.github.com/repos/uggedal/mofo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/uggedal/mofo/merges","archive_url":"https://api.github.com/repos/uggedal/mofo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/uggedal/mofo/downloads","issues_url":"https://api.github.com/repos/uggedal/mofo/issues{/number}","pulls_url":"https://api.github.com/repos/uggedal/mofo/pulls{/number}","milestones_url":"https://api.github.com/repos/uggedal/mofo/milestones{/number}","notifications_url":"https://api.github.com/repos/uggedal/mofo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/uggedal/mofo/labels{/name}"},{"id":139,"name":"simply_versioned","full_name":"mmower/simply_versioned","owner":{"login":"mmower","id":74,"avatar_url":"https://2.gravatar.com/avatar/9d89c1c7a998c1f6f6e3fa9ac1753d29?d=https%3A%2F%2Fidenticons.github.com%2Fad61ab143223efbc24c7d2583be69251.png","gravatar_id":"9d89c1c7a998c1f6f6e3fa9ac1753d29","url":"https://api.github.com/users/mmower","html_url":"https://github.com/mmower","followers_url":"https://api.github.com/users/mmower/followers","following_url":"https://api.github.com/users/mmower/following{/other_user}","gists_url":"https://api.github.com/users/mmower/gists{/gist_id}","starred_url":"https://api.github.com/users/mmower/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmower/subscriptions","organizations_url":"https://api.github.com/users/mmower/orgs","repos_url":"https://api.github.com/users/mmower/repos","events_url":"https://api.github.com/users/mmower/events{/privacy}","received_events_url":"https://api.github.com/users/mmower/received_events","type":"User"},"private":false,"html_url":"https://github.com/mmower/simply_versioned","description":"A simple, non-invasive, approach to versioning ActiveRecord models","fork":false,"url":"https://api.github.com/repos/mmower/simply_versioned","forks_url":"https://api.github.com/repos/mmower/simply_versioned/forks","keys_url":"https://api.github.com/repos/mmower/simply_versioned/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mmower/simply_versioned/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mmower/simply_versioned/teams","hooks_url":"https://api.github.com/repos/mmower/simply_versioned/hooks","issue_events_url":"https://api.github.com/repos/mmower/simply_versioned/issues/events{/number}","events_url":"https://api.github.com/repos/mmower/simply_versioned/events","assignees_url":"https://api.github.com/repos/mmower/simply_versioned/assignees{/user}","branches_url":"https://api.github.com/repos/mmower/simply_versioned/branches{/branch}","tags_url":"https://api.github.com/repos/mmower/simply_versioned/tags","blobs_url":"https://api.github.com/repos/mmower/simply_versioned/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mmower/simply_versioned/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mmower/simply_versioned/git/refs{/sha}","trees_url":"https://api.github.com/repos/mmower/simply_versioned/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mmower/simply_versioned/statuses/{sha}","languages_url":"https://api.github.com/repos/mmower/simply_versioned/languages","stargazers_url":"https://api.github.com/repos/mmower/simply_versioned/stargazers","contributors_url":"https://api.github.com/repos/mmower/simply_versioned/contributors","subscribers_url":"https://api.github.com/repos/mmower/simply_versioned/subscribers","subscription_url":"https://api.github.com/repos/mmower/simply_versioned/subscription","commits_url":"https://api.github.com/repos/mmower/simply_versioned/commits{/sha}","git_commits_url":"https://api.github.com/repos/mmower/simply_versioned/git/commits{/sha}","comments_url":"https://api.github.com/repos/mmower/simply_versioned/comments{/number}","issue_comment_url":"https://api.github.com/repos/mmower/simply_versioned/issues/comments/{number}","contents_url":"https://api.github.com/repos/mmower/simply_versioned/contents/{+path}","compare_url":"https://api.github.com/repos/mmower/simply_versioned/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mmower/simply_versioned/merges","archive_url":"https://api.github.com/repos/mmower/simply_versioned/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mmower/simply_versioned/downloads","issues_url":"https://api.github.com/repos/mmower/simply_versioned/issues{/number}","pulls_url":"https://api.github.com/repos/mmower/simply_versioned/pulls{/number}","milestones_url":"https://api.github.com/repos/mmower/simply_versioned/milestones{/number}","notifications_url":"https://api.github.com/repos/mmower/simply_versioned/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mmower/simply_versioned/labels{/name}"},{"id":140,"name":"gchart","full_name":"abhay/gchart","owner":{"login":"abhay","id":75,"avatar_url":"https://1.gravatar.com/avatar/012b62cf82e7956ffe8f47086be831de?d=https%3A%2F%2Fidenticons.github.com%2Fd09bf41544a3365a46c9077ebb5e35c3.png","gravatar_id":"012b62cf82e7956ffe8f47086be831de","url":"https://api.github.com/users/abhay","html_url":"https://github.com/abhay","followers_url":"https://api.github.com/users/abhay/followers","following_url":"https://api.github.com/users/abhay/following{/other_user}","gists_url":"https://api.github.com/users/abhay/gists{/gist_id}","starred_url":"https://api.github.com/users/abhay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhay/subscriptions","organizations_url":"https://api.github.com/users/abhay/orgs","repos_url":"https://api.github.com/users/abhay/repos","events_url":"https://api.github.com/users/abhay/events{/privacy}","received_events_url":"https://api.github.com/users/abhay/received_events","type":"User"},"private":false,"html_url":"https://github.com/abhay/gchart","description":"GChart exposes the Google Chart API (http://code.google.com/apis/chart) via a friendly Ruby interface. It can generate the URL for a given chart (for webpage use), or download the generated PNG (for offline use).","fork":false,"url":"https://api.github.com/repos/abhay/gchart","forks_url":"https://api.github.com/repos/abhay/gchart/forks","keys_url":"https://api.github.com/repos/abhay/gchart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/abhay/gchart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/abhay/gchart/teams","hooks_url":"https://api.github.com/repos/abhay/gchart/hooks","issue_events_url":"https://api.github.com/repos/abhay/gchart/issues/events{/number}","events_url":"https://api.github.com/repos/abhay/gchart/events","assignees_url":"https://api.github.com/repos/abhay/gchart/assignees{/user}","branches_url":"https://api.github.com/repos/abhay/gchart/branches{/branch}","tags_url":"https://api.github.com/repos/abhay/gchart/tags","blobs_url":"https://api.github.com/repos/abhay/gchart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/abhay/gchart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/abhay/gchart/git/refs{/sha}","trees_url":"https://api.github.com/repos/abhay/gchart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/abhay/gchart/statuses/{sha}","languages_url":"https://api.github.com/repos/abhay/gchart/languages","stargazers_url":"https://api.github.com/repos/abhay/gchart/stargazers","contributors_url":"https://api.github.com/repos/abhay/gchart/contributors","subscribers_url":"https://api.github.com/repos/abhay/gchart/subscribers","subscription_url":"https://api.github.com/repos/abhay/gchart/subscription","commits_url":"https://api.github.com/repos/abhay/gchart/commits{/sha}","git_commits_url":"https://api.github.com/repos/abhay/gchart/git/commits{/sha}","comments_url":"https://api.github.com/repos/abhay/gchart/comments{/number}","issue_comment_url":"https://api.github.com/repos/abhay/gchart/issues/comments/{number}","contents_url":"https://api.github.com/repos/abhay/gchart/contents/{+path}","compare_url":"https://api.github.com/repos/abhay/gchart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/abhay/gchart/merges","archive_url":"https://api.github.com/repos/abhay/gchart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/abhay/gchart/downloads","issues_url":"https://api.github.com/repos/abhay/gchart/issues{/number}","pulls_url":"https://api.github.com/repos/abhay/gchart/pulls{/number}","milestones_url":"https://api.github.com/repos/abhay/gchart/milestones{/number}","notifications_url":"https://api.github.com/repos/abhay/gchart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/abhay/gchart/labels{/name}"},{"id":141,"name":"schemr","full_name":"benburkert/schemr","owner":{"login":"benburkert","id":77,"avatar_url":"https://0.gravatar.com/avatar/4d1c9dad17af98e55cb65b4efce27c42?d=https%3A%2F%2Fidenticons.github.com%2F28dd2c7955ce926456240b2ff0100bde.png","gravatar_id":"4d1c9dad17af98e55cb65b4efce27c42","url":"https://api.github.com/users/benburkert","html_url":"https://github.com/benburkert","followers_url":"https://api.github.com/users/benburkert/followers","following_url":"https://api.github.com/users/benburkert/following{/other_user}","gists_url":"https://api.github.com/users/benburkert/gists{/gist_id}","starred_url":"https://api.github.com/users/benburkert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benburkert/subscriptions","organizations_url":"https://api.github.com/users/benburkert/orgs","repos_url":"https://api.github.com/users/benburkert/repos","events_url":"https://api.github.com/users/benburkert/events{/privacy}","received_events_url":"https://api.github.com/users/benburkert/received_events","type":"User"},"private":false,"html_url":"https://github.com/benburkert/schemr","description":"A DSL for creating schema documents in ruby","fork":false,"url":"https://api.github.com/repos/benburkert/schemr","forks_url":"https://api.github.com/repos/benburkert/schemr/forks","keys_url":"https://api.github.com/repos/benburkert/schemr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/benburkert/schemr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/benburkert/schemr/teams","hooks_url":"https://api.github.com/repos/benburkert/schemr/hooks","issue_events_url":"https://api.github.com/repos/benburkert/schemr/issues/events{/number}","events_url":"https://api.github.com/repos/benburkert/schemr/events","assignees_url":"https://api.github.com/repos/benburkert/schemr/assignees{/user}","branches_url":"https://api.github.com/repos/benburkert/schemr/branches{/branch}","tags_url":"https://api.github.com/repos/benburkert/schemr/tags","blobs_url":"https://api.github.com/repos/benburkert/schemr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/benburkert/schemr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/benburkert/schemr/git/refs{/sha}","trees_url":"https://api.github.com/repos/benburkert/schemr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/benburkert/schemr/statuses/{sha}","languages_url":"https://api.github.com/repos/benburkert/schemr/languages","stargazers_url":"https://api.github.com/repos/benburkert/schemr/stargazers","contributors_url":"https://api.github.com/repos/benburkert/schemr/contributors","subscribers_url":"https://api.github.com/repos/benburkert/schemr/subscribers","subscription_url":"https://api.github.com/repos/benburkert/schemr/subscription","commits_url":"https://api.github.com/repos/benburkert/schemr/commits{/sha}","git_commits_url":"https://api.github.com/repos/benburkert/schemr/git/commits{/sha}","comments_url":"https://api.github.com/repos/benburkert/schemr/comments{/number}","issue_comment_url":"https://api.github.com/repos/benburkert/schemr/issues/comments/{number}","contents_url":"https://api.github.com/repos/benburkert/schemr/contents/{+path}","compare_url":"https://api.github.com/repos/benburkert/schemr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/benburkert/schemr/merges","archive_url":"https://api.github.com/repos/benburkert/schemr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/benburkert/schemr/downloads","issues_url":"https://api.github.com/repos/benburkert/schemr/issues{/number}","pulls_url":"https://api.github.com/repos/benburkert/schemr/pulls{/number}","milestones_url":"https://api.github.com/repos/benburkert/schemr/milestones{/number}","notifications_url":"https://api.github.com/repos/benburkert/schemr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/benburkert/schemr/labels{/name}"},{"id":142,"name":"calais","full_name":"abhay/calais","owner":{"login":"abhay","id":75,"avatar_url":"https://1.gravatar.com/avatar/012b62cf82e7956ffe8f47086be831de?d=https%3A%2F%2Fidenticons.github.com%2Fd09bf41544a3365a46c9077ebb5e35c3.png","gravatar_id":"012b62cf82e7956ffe8f47086be831de","url":"https://api.github.com/users/abhay","html_url":"https://github.com/abhay","followers_url":"https://api.github.com/users/abhay/followers","following_url":"https://api.github.com/users/abhay/following{/other_user}","gists_url":"https://api.github.com/users/abhay/gists{/gist_id}","starred_url":"https://api.github.com/users/abhay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhay/subscriptions","organizations_url":"https://api.github.com/users/abhay/orgs","repos_url":"https://api.github.com/users/abhay/repos","events_url":"https://api.github.com/users/abhay/events{/privacy}","received_events_url":"https://api.github.com/users/abhay/received_events","type":"User"},"private":false,"html_url":"https://github.com/abhay/calais","description":"A Ruby interface to the Open Calais API (http://opencalais.com)","fork":false,"url":"https://api.github.com/repos/abhay/calais","forks_url":"https://api.github.com/repos/abhay/calais/forks","keys_url":"https://api.github.com/repos/abhay/calais/keys{/key_id}","collaborators_url":"https://api.github.com/repos/abhay/calais/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/abhay/calais/teams","hooks_url":"https://api.github.com/repos/abhay/calais/hooks","issue_events_url":"https://api.github.com/repos/abhay/calais/issues/events{/number}","events_url":"https://api.github.com/repos/abhay/calais/events","assignees_url":"https://api.github.com/repos/abhay/calais/assignees{/user}","branches_url":"https://api.github.com/repos/abhay/calais/branches{/branch}","tags_url":"https://api.github.com/repos/abhay/calais/tags","blobs_url":"https://api.github.com/repos/abhay/calais/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/abhay/calais/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/abhay/calais/git/refs{/sha}","trees_url":"https://api.github.com/repos/abhay/calais/git/trees{/sha}","statuses_url":"https://api.github.com/repos/abhay/calais/statuses/{sha}","languages_url":"https://api.github.com/repos/abhay/calais/languages","stargazers_url":"https://api.github.com/repos/abhay/calais/stargazers","contributors_url":"https://api.github.com/repos/abhay/calais/contributors","subscribers_url":"https://api.github.com/repos/abhay/calais/subscribers","subscription_url":"https://api.github.com/repos/abhay/calais/subscription","commits_url":"https://api.github.com/repos/abhay/calais/commits{/sha}","git_commits_url":"https://api.github.com/repos/abhay/calais/git/commits{/sha}","comments_url":"https://api.github.com/repos/abhay/calais/comments{/number}","issue_comment_url":"https://api.github.com/repos/abhay/calais/issues/comments/{number}","contents_url":"https://api.github.com/repos/abhay/calais/contents/{+path}","compare_url":"https://api.github.com/repos/abhay/calais/compare/{base}...{head}","merges_url":"https://api.github.com/repos/abhay/calais/merges","archive_url":"https://api.github.com/repos/abhay/calais/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/abhay/calais/downloads","issues_url":"https://api.github.com/repos/abhay/calais/issues{/number}","pulls_url":"https://api.github.com/repos/abhay/calais/pulls{/number}","milestones_url":"https://api.github.com/repos/abhay/calais/milestones{/number}","notifications_url":"https://api.github.com/repos/abhay/calais/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/abhay/calais/labels{/name}"},{"id":144,"name":"chronic","full_name":"mojombo/chronic","owner":{"login":"mojombo","id":1,"avatar_url":"https://1.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/chronic","description":"Chronic is a pure Ruby natural language date parser.","fork":false,"url":"https://api.github.com/repos/mojombo/chronic","forks_url":"https://api.github.com/repos/mojombo/chronic/forks","keys_url":"https://api.github.com/repos/mojombo/chronic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/chronic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/chronic/teams","hooks_url":"https://api.github.com/repos/mojombo/chronic/hooks","issue_events_url":"https://api.github.com/repos/mojombo/chronic/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/chronic/events","assignees_url":"https://api.github.com/repos/mojombo/chronic/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/chronic/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/chronic/tags","blobs_url":"https://api.github.com/repos/mojombo/chronic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/chronic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/chronic/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/chronic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/chronic/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/chronic/languages","stargazers_url":"https://api.github.com/repos/mojombo/chronic/stargazers","contributors_url":"https://api.github.com/repos/mojombo/chronic/contributors","subscribers_url":"https://api.github.com/repos/mojombo/chronic/subscribers","subscription_url":"https://api.github.com/repos/mojombo/chronic/subscription","commits_url":"https://api.github.com/repos/mojombo/chronic/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/chronic/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/chronic/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/chronic/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/chronic/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/chronic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/chronic/merges","archive_url":"https://api.github.com/repos/mojombo/chronic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/chronic/downloads","issues_url":"https://api.github.com/repos/mojombo/chronic/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/chronic/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/chronic/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/chronic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/chronic/labels{/name}"},{"id":165,"name":"git-wiki","full_name":"sr/git-wiki","owner":{"login":"sr","id":90,"avatar_url":"https://1.gravatar.com/avatar/8e0adf6f8274375b90a180d256d73bad?d=https%3A%2F%2Fidenticons.github.com%2F8613985ec49eb8f757ae6439e879bb2a.png","gravatar_id":"8e0adf6f8274375b90a180d256d73bad","url":"https://api.github.com/users/sr","html_url":"https://github.com/sr","followers_url":"https://api.github.com/users/sr/followers","following_url":"https://api.github.com/users/sr/following{/other_user}","gists_url":"https://api.github.com/users/sr/gists{/gist_id}","starred_url":"https://api.github.com/users/sr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sr/subscriptions","organizations_url":"https://api.github.com/users/sr/orgs","repos_url":"https://api.github.com/users/sr/repos","events_url":"https://api.github.com/users/sr/events{/privacy}","received_events_url":"https://api.github.com/users/sr/received_events","type":"User"},"private":false,"html_url":"https://github.com/sr/git-wiki","description":"A quick & dirty git-powered Sinatra wiki","fork":false,"url":"https://api.github.com/repos/sr/git-wiki","forks_url":"https://api.github.com/repos/sr/git-wiki/forks","keys_url":"https://api.github.com/repos/sr/git-wiki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sr/git-wiki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sr/git-wiki/teams","hooks_url":"https://api.github.com/repos/sr/git-wiki/hooks","issue_events_url":"https://api.github.com/repos/sr/git-wiki/issues/events{/number}","events_url":"https://api.github.com/repos/sr/git-wiki/events","assignees_url":"https://api.github.com/repos/sr/git-wiki/assignees{/user}","branches_url":"https://api.github.com/repos/sr/git-wiki/branches{/branch}","tags_url":"https://api.github.com/repos/sr/git-wiki/tags","blobs_url":"https://api.github.com/repos/sr/git-wiki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sr/git-wiki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sr/git-wiki/git/refs{/sha}","trees_url":"https://api.github.com/repos/sr/git-wiki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sr/git-wiki/statuses/{sha}","languages_url":"https://api.github.com/repos/sr/git-wiki/languages","stargazers_url":"https://api.github.com/repos/sr/git-wiki/stargazers","contributors_url":"https://api.github.com/repos/sr/git-wiki/contributors","subscribers_url":"https://api.github.com/repos/sr/git-wiki/subscribers","subscription_url":"https://api.github.com/repos/sr/git-wiki/subscription","commits_url":"https://api.github.com/repos/sr/git-wiki/commits{/sha}","git_commits_url":"https://api.github.com/repos/sr/git-wiki/git/commits{/sha}","comments_url":"https://api.github.com/repos/sr/git-wiki/comments{/number}","issue_comment_url":"https://api.github.com/repos/sr/git-wiki/issues/comments/{number}","contents_url":"https://api.github.com/repos/sr/git-wiki/contents/{+path}","compare_url":"https://api.github.com/repos/sr/git-wiki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sr/git-wiki/merges","archive_url":"https://api.github.com/repos/sr/git-wiki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sr/git-wiki/downloads","issues_url":"https://api.github.com/repos/sr/git-wiki/issues{/number}","pulls_url":"https://api.github.com/repos/sr/git-wiki/pulls{/number}","milestones_url":"https://api.github.com/repos/sr/git-wiki/milestones{/number}","notifications_url":"https://api.github.com/repos/sr/git-wiki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sr/git-wiki/labels{/name}"},{"id":176,"name":"ambitious_activeldap","full_name":"automatthew/ambitious_activeldap","owner":{"login":"automatthew","id":105,"avatar_url":"https://2.gravatar.com/avatar/491d5a2b6e9c9346e2d67da31a633457?d=https%3A%2F%2Fidenticons.github.com%2F65b9eea6e1cc6bb9f0cd2a47751a186f.png","gravatar_id":"491d5a2b6e9c9346e2d67da31a633457","url":"https://api.github.com/users/automatthew","html_url":"https://github.com/automatthew","followers_url":"https://api.github.com/users/automatthew/followers","following_url":"https://api.github.com/users/automatthew/following{/other_user}","gists_url":"https://api.github.com/users/automatthew/gists{/gist_id}","starred_url":"https://api.github.com/users/automatthew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/automatthew/subscriptions","organizations_url":"https://api.github.com/users/automatthew/orgs","repos_url":"https://api.github.com/users/automatthew/repos","events_url":"https://api.github.com/users/automatthew/events{/privacy}","received_events_url":"https://api.github.com/users/automatthew/received_events","type":"User"},"private":false,"html_url":"https://github.com/automatthew/ambitious_activeldap","description":"Ambition adapter for ActiveLdap","fork":false,"url":"https://api.github.com/repos/automatthew/ambitious_activeldap","forks_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/forks","keys_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/teams","hooks_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/hooks","issue_events_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/issues/events{/number}","events_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/events","assignees_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/assignees{/user}","branches_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/branches{/branch}","tags_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/tags","blobs_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/git/refs{/sha}","trees_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/statuses/{sha}","languages_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/languages","stargazers_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/stargazers","contributors_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/contributors","subscribers_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/subscribers","subscription_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/subscription","commits_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/commits{/sha}","git_commits_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/git/commits{/sha}","comments_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/comments{/number}","issue_comment_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/issues/comments/{number}","contents_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/contents/{+path}","compare_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/merges","archive_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/downloads","issues_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/issues{/number}","pulls_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/pulls{/number}","milestones_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/milestones{/number}","notifications_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/automatthew/ambitious_activeldap/labels{/name}"},{"id":177,"name":"signal-wiki","full_name":"queso/signal-wiki","owner":{"login":"queso","id":106,"avatar_url":"https://2.gravatar.com/avatar/089ddf30c09022b92363dd0d8ce2bdfd?d=https%3A%2F%2Fidenticons.github.com%2Ff0935e4cd5920aa6c7c996a5ee53a70f.png","gravatar_id":"089ddf30c09022b92363dd0d8ce2bdfd","url":"https://api.github.com/users/queso","html_url":"https://github.com/queso","followers_url":"https://api.github.com/users/queso/followers","following_url":"https://api.github.com/users/queso/following{/other_user}","gists_url":"https://api.github.com/users/queso/gists{/gist_id}","starred_url":"https://api.github.com/users/queso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/queso/subscriptions","organizations_url":"https://api.github.com/users/queso/orgs","repos_url":"https://api.github.com/users/queso/repos","events_url":"https://api.github.com/users/queso/events{/privacy}","received_events_url":"https://api.github.com/users/queso/received_events","type":"User"},"private":false,"html_url":"https://github.com/queso/signal-wiki","description":"The easy to use rails wiki","fork":false,"url":"https://api.github.com/repos/queso/signal-wiki","forks_url":"https://api.github.com/repos/queso/signal-wiki/forks","keys_url":"https://api.github.com/repos/queso/signal-wiki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/queso/signal-wiki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/queso/signal-wiki/teams","hooks_url":"https://api.github.com/repos/queso/signal-wiki/hooks","issue_events_url":"https://api.github.com/repos/queso/signal-wiki/issues/events{/number}","events_url":"https://api.github.com/repos/queso/signal-wiki/events","assignees_url":"https://api.github.com/repos/queso/signal-wiki/assignees{/user}","branches_url":"https://api.github.com/repos/queso/signal-wiki/branches{/branch}","tags_url":"https://api.github.com/repos/queso/signal-wiki/tags","blobs_url":"https://api.github.com/repos/queso/signal-wiki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/queso/signal-wiki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/queso/signal-wiki/git/refs{/sha}","trees_url":"https://api.github.com/repos/queso/signal-wiki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/queso/signal-wiki/statuses/{sha}","languages_url":"https://api.github.com/repos/queso/signal-wiki/languages","stargazers_url":"https://api.github.com/repos/queso/signal-wiki/stargazers","contributors_url":"https://api.github.com/repos/queso/signal-wiki/contributors","subscribers_url":"https://api.github.com/repos/queso/signal-wiki/subscribers","subscription_url":"https://api.github.com/repos/queso/signal-wiki/subscription","commits_url":"https://api.github.com/repos/queso/signal-wiki/commits{/sha}","git_commits_url":"https://api.github.com/repos/queso/signal-wiki/git/commits{/sha}","comments_url":"https://api.github.com/repos/queso/signal-wiki/comments{/number}","issue_comment_url":"https://api.github.com/repos/queso/signal-wiki/issues/comments/{number}","contents_url":"https://api.github.com/repos/queso/signal-wiki/contents/{+path}","compare_url":"https://api.github.com/repos/queso/signal-wiki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/queso/signal-wiki/merges","archive_url":"https://api.github.com/repos/queso/signal-wiki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/queso/signal-wiki/downloads","issues_url":"https://api.github.com/repos/queso/signal-wiki/issues{/number}","pulls_url":"https://api.github.com/repos/queso/signal-wiki/pulls{/number}","milestones_url":"https://api.github.com/repos/queso/signal-wiki/milestones{/number}","notifications_url":"https://api.github.com/repos/queso/signal-wiki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/queso/signal-wiki/labels{/name}"},{"id":179,"name":"ruby-on-rails-tmbundle","full_name":"drnic/ruby-on-rails-tmbundle","owner":{"login":"drnic","id":108,"avatar_url":"https://2.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https%3A%2F%2Fidenticons.github.com%2Fa3c65c2974270fd093ee8a9bf8ae7d0b.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},"private":false,"html_url":"https://github.com/drnic/ruby-on-rails-tmbundle","description":"Ruby on Rails TextMate bundle [Learn it with PeepCode - http://peepcode.com/products/textmate-for-rails-2]","fork":false,"url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle","forks_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/forks","keys_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/teams","hooks_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/events","assignees_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/tags","blobs_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/languages","stargazers_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/subscription","commits_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/merges","archive_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/downloads","issues_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drnic/ruby-on-rails-tmbundle/labels{/name}"},{"id":185,"name":"low-pro-for-jquery","full_name":"danwrong/low-pro-for-jquery","owner":{"login":"danwrong","id":110,"avatar_url":"https://1.gravatar.com/avatar/0727907ae68db2e8ebc1ea1b01f00d69?d=https%3A%2F%2Fidenticons.github.com%2F5f93f983524def3dca464469d2cf9f3e.png","gravatar_id":"0727907ae68db2e8ebc1ea1b01f00d69","url":"https://api.github.com/users/danwrong","html_url":"https://github.com/danwrong","followers_url":"https://api.github.com/users/danwrong/followers","following_url":"https://api.github.com/users/danwrong/following{/other_user}","gists_url":"https://api.github.com/users/danwrong/gists{/gist_id}","starred_url":"https://api.github.com/users/danwrong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danwrong/subscriptions","organizations_url":"https://api.github.com/users/danwrong/orgs","repos_url":"https://api.github.com/users/danwrong/repos","events_url":"https://api.github.com/users/danwrong/events{/privacy}","received_events_url":"https://api.github.com/users/danwrong/received_events","type":"User"},"private":false,"html_url":"https://github.com/danwrong/low-pro-for-jquery","description":"A jQuery plugin version of the Low Pro behavior framework.","fork":false,"url":"https://api.github.com/repos/danwrong/low-pro-for-jquery","forks_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/forks","keys_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/teams","hooks_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/hooks","issue_events_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/issues/events{/number}","events_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/events","assignees_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/assignees{/user}","branches_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/branches{/branch}","tags_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/tags","blobs_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/git/refs{/sha}","trees_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/statuses/{sha}","languages_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/languages","stargazers_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/stargazers","contributors_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/contributors","subscribers_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/subscribers","subscription_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/subscription","commits_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/commits{/sha}","git_commits_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/git/commits{/sha}","comments_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/comments{/number}","issue_comment_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/issues/comments/{number}","contents_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/contents/{+path}","compare_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/merges","archive_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/downloads","issues_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/issues{/number}","pulls_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/pulls{/number}","milestones_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/milestones{/number}","notifications_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danwrong/low-pro-for-jquery/labels{/name}"},{"id":186,"name":"merb-core","full_name":"wayneeseguin/merb-core","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/merb-core","description":"Merb Core: All you need. None you don't.","fork":true,"url":"https://api.github.com/repos/wayneeseguin/merb-core","forks_url":"https://api.github.com/repos/wayneeseguin/merb-core/forks","keys_url":"https://api.github.com/repos/wayneeseguin/merb-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/merb-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/merb-core/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/merb-core/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/merb-core/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/merb-core/events","assignees_url":"https://api.github.com/repos/wayneeseguin/merb-core/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/merb-core/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/merb-core/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/merb-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/merb-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/merb-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/merb-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/merb-core/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/merb-core/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/merb-core/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/merb-core/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/merb-core/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/merb-core/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/merb-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/merb-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/merb-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/merb-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/merb-core/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/merb-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/merb-core/merges","archive_url":"https://api.github.com/repos/wayneeseguin/merb-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/merb-core/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/merb-core/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/merb-core/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/merb-core/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/merb-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/merb-core/labels{/name}"},{"id":190,"name":"dst","full_name":"sr/dst","owner":{"login":"sr","id":90,"avatar_url":"https://1.gravatar.com/avatar/8e0adf6f8274375b90a180d256d73bad?d=https%3A%2F%2Fidenticons.github.com%2F8613985ec49eb8f757ae6439e879bb2a.png","gravatar_id":"8e0adf6f8274375b90a180d256d73bad","url":"https://api.github.com/users/sr","html_url":"https://github.com/sr","followers_url":"https://api.github.com/users/sr/followers","following_url":"https://api.github.com/users/sr/following{/other_user}","gists_url":"https://api.github.com/users/sr/gists{/gist_id}","starred_url":"https://api.github.com/users/sr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sr/subscriptions","organizations_url":"https://api.github.com/users/sr/orgs","repos_url":"https://api.github.com/users/sr/repos","events_url":"https://api.github.com/users/sr/events{/privacy}","received_events_url":"https://api.github.com/users/sr/received_events","type":"User"},"private":false,"html_url":"https://github.com/sr/dst","description":"todo-list manager I wrote back in 2008 with the help of Gregory Brown in order to learn Ruby and TDD","fork":false,"url":"https://api.github.com/repos/sr/dst","forks_url":"https://api.github.com/repos/sr/dst/forks","keys_url":"https://api.github.com/repos/sr/dst/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sr/dst/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sr/dst/teams","hooks_url":"https://api.github.com/repos/sr/dst/hooks","issue_events_url":"https://api.github.com/repos/sr/dst/issues/events{/number}","events_url":"https://api.github.com/repos/sr/dst/events","assignees_url":"https://api.github.com/repos/sr/dst/assignees{/user}","branches_url":"https://api.github.com/repos/sr/dst/branches{/branch}","tags_url":"https://api.github.com/repos/sr/dst/tags","blobs_url":"https://api.github.com/repos/sr/dst/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sr/dst/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sr/dst/git/refs{/sha}","trees_url":"https://api.github.com/repos/sr/dst/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sr/dst/statuses/{sha}","languages_url":"https://api.github.com/repos/sr/dst/languages","stargazers_url":"https://api.github.com/repos/sr/dst/stargazers","contributors_url":"https://api.github.com/repos/sr/dst/contributors","subscribers_url":"https://api.github.com/repos/sr/dst/subscribers","subscription_url":"https://api.github.com/repos/sr/dst/subscription","commits_url":"https://api.github.com/repos/sr/dst/commits{/sha}","git_commits_url":"https://api.github.com/repos/sr/dst/git/commits{/sha}","comments_url":"https://api.github.com/repos/sr/dst/comments{/number}","issue_comment_url":"https://api.github.com/repos/sr/dst/issues/comments/{number}","contents_url":"https://api.github.com/repos/sr/dst/contents/{+path}","compare_url":"https://api.github.com/repos/sr/dst/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sr/dst/merges","archive_url":"https://api.github.com/repos/sr/dst/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sr/dst/downloads","issues_url":"https://api.github.com/repos/sr/dst/issues{/number}","pulls_url":"https://api.github.com/repos/sr/dst/pulls{/number}","milestones_url":"https://api.github.com/repos/sr/dst/milestones{/number}","notifications_url":"https://api.github.com/repos/sr/dst/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sr/dst/labels{/name}"},{"id":191,"name":"yaws","full_name":"mojombo/yaws","owner":{"login":"mojombo","id":1,"avatar_url":"https://1.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/yaws","description":"YAWS is an erlang web server","fork":false,"url":"https://api.github.com/repos/mojombo/yaws","forks_url":"https://api.github.com/repos/mojombo/yaws/forks","keys_url":"https://api.github.com/repos/mojombo/yaws/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/yaws/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/yaws/teams","hooks_url":"https://api.github.com/repos/mojombo/yaws/hooks","issue_events_url":"https://api.github.com/repos/mojombo/yaws/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/yaws/events","assignees_url":"https://api.github.com/repos/mojombo/yaws/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/yaws/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/yaws/tags","blobs_url":"https://api.github.com/repos/mojombo/yaws/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/yaws/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/yaws/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/yaws/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/yaws/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/yaws/languages","stargazers_url":"https://api.github.com/repos/mojombo/yaws/stargazers","contributors_url":"https://api.github.com/repos/mojombo/yaws/contributors","subscribers_url":"https://api.github.com/repos/mojombo/yaws/subscribers","subscription_url":"https://api.github.com/repos/mojombo/yaws/subscription","commits_url":"https://api.github.com/repos/mojombo/yaws/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/yaws/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/yaws/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/yaws/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/yaws/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/yaws/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/yaws/merges","archive_url":"https://api.github.com/repos/mojombo/yaws/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/yaws/downloads","issues_url":"https://api.github.com/repos/mojombo/yaws/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/yaws/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/yaws/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/yaws/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/yaws/labels{/name}"},{"id":192,"name":"yaws","full_name":"KirinDave/yaws","owner":{"login":"KirinDave","id":36,"avatar_url":"https://2.gravatar.com/avatar/d4fabd6c08ac228a3ff846d9d0d1580e?d=https%3A%2F%2Fidenticons.github.com%2F19ca14e7ea6328a42e0eb13d585e4c22.png","gravatar_id":"d4fabd6c08ac228a3ff846d9d0d1580e","url":"https://api.github.com/users/KirinDave","html_url":"https://github.com/KirinDave","followers_url":"https://api.github.com/users/KirinDave/followers","following_url":"https://api.github.com/users/KirinDave/following{/other_user}","gists_url":"https://api.github.com/users/KirinDave/gists{/gist_id}","starred_url":"https://api.github.com/users/KirinDave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KirinDave/subscriptions","organizations_url":"https://api.github.com/users/KirinDave/orgs","repos_url":"https://api.github.com/users/KirinDave/repos","events_url":"https://api.github.com/users/KirinDave/events{/privacy}","received_events_url":"https://api.github.com/users/KirinDave/received_events","type":"User"},"private":false,"html_url":"https://github.com/KirinDave/yaws","description":"YAWS is an erlang web server","fork":true,"url":"https://api.github.com/repos/KirinDave/yaws","forks_url":"https://api.github.com/repos/KirinDave/yaws/forks","keys_url":"https://api.github.com/repos/KirinDave/yaws/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KirinDave/yaws/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KirinDave/yaws/teams","hooks_url":"https://api.github.com/repos/KirinDave/yaws/hooks","issue_events_url":"https://api.github.com/repos/KirinDave/yaws/issues/events{/number}","events_url":"https://api.github.com/repos/KirinDave/yaws/events","assignees_url":"https://api.github.com/repos/KirinDave/yaws/assignees{/user}","branches_url":"https://api.github.com/repos/KirinDave/yaws/branches{/branch}","tags_url":"https://api.github.com/repos/KirinDave/yaws/tags","blobs_url":"https://api.github.com/repos/KirinDave/yaws/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KirinDave/yaws/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KirinDave/yaws/git/refs{/sha}","trees_url":"https://api.github.com/repos/KirinDave/yaws/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KirinDave/yaws/statuses/{sha}","languages_url":"https://api.github.com/repos/KirinDave/yaws/languages","stargazers_url":"https://api.github.com/repos/KirinDave/yaws/stargazers","contributors_url":"https://api.github.com/repos/KirinDave/yaws/contributors","subscribers_url":"https://api.github.com/repos/KirinDave/yaws/subscribers","subscription_url":"https://api.github.com/repos/KirinDave/yaws/subscription","commits_url":"https://api.github.com/repos/KirinDave/yaws/commits{/sha}","git_commits_url":"https://api.github.com/repos/KirinDave/yaws/git/commits{/sha}","comments_url":"https://api.github.com/repos/KirinDave/yaws/comments{/number}","issue_comment_url":"https://api.github.com/repos/KirinDave/yaws/issues/comments/{number}","contents_url":"https://api.github.com/repos/KirinDave/yaws/contents/{+path}","compare_url":"https://api.github.com/repos/KirinDave/yaws/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KirinDave/yaws/merges","archive_url":"https://api.github.com/repos/KirinDave/yaws/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KirinDave/yaws/downloads","issues_url":"https://api.github.com/repos/KirinDave/yaws/issues{/number}","pulls_url":"https://api.github.com/repos/KirinDave/yaws/pulls{/number}","milestones_url":"https://api.github.com/repos/KirinDave/yaws/milestones{/number}","notifications_url":"https://api.github.com/repos/KirinDave/yaws/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KirinDave/yaws/labels{/name}"},{"id":193,"name":"tasks","full_name":"sr/tasks","owner":{"login":"sr","id":90,"avatar_url":"https://1.gravatar.com/avatar/8e0adf6f8274375b90a180d256d73bad?d=https%3A%2F%2Fidenticons.github.com%2F8613985ec49eb8f757ae6439e879bb2a.png","gravatar_id":"8e0adf6f8274375b90a180d256d73bad","url":"https://api.github.com/users/sr","html_url":"https://github.com/sr","followers_url":"https://api.github.com/users/sr/followers","following_url":"https://api.github.com/users/sr/following{/other_user}","gists_url":"https://api.github.com/users/sr/gists{/gist_id}","starred_url":"https://api.github.com/users/sr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sr/subscriptions","organizations_url":"https://api.github.com/users/sr/orgs","repos_url":"https://api.github.com/users/sr/repos","events_url":"https://api.github.com/users/sr/events{/privacy}","received_events_url":"https://api.github.com/users/sr/received_events","type":"User"},"private":false,"html_url":"https://github.com/sr/tasks","description":"Some more or less useful rake tasks. Includes tasks to work with git-cvs, convert an Atom collection to a blog, post to an AtomPub server and more.","fork":false,"url":"https://api.github.com/repos/sr/tasks","forks_url":"https://api.github.com/repos/sr/tasks/forks","keys_url":"https://api.github.com/repos/sr/tasks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sr/tasks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sr/tasks/teams","hooks_url":"https://api.github.com/repos/sr/tasks/hooks","issue_events_url":"https://api.github.com/repos/sr/tasks/issues/events{/number}","events_url":"https://api.github.com/repos/sr/tasks/events","assignees_url":"https://api.github.com/repos/sr/tasks/assignees{/user}","branches_url":"https://api.github.com/repos/sr/tasks/branches{/branch}","tags_url":"https://api.github.com/repos/sr/tasks/tags","blobs_url":"https://api.github.com/repos/sr/tasks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sr/tasks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sr/tasks/git/refs{/sha}","trees_url":"https://api.github.com/repos/sr/tasks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sr/tasks/statuses/{sha}","languages_url":"https://api.github.com/repos/sr/tasks/languages","stargazers_url":"https://api.github.com/repos/sr/tasks/stargazers","contributors_url":"https://api.github.com/repos/sr/tasks/contributors","subscribers_url":"https://api.github.com/repos/sr/tasks/subscribers","subscription_url":"https://api.github.com/repos/sr/tasks/subscription","commits_url":"https://api.github.com/repos/sr/tasks/commits{/sha}","git_commits_url":"https://api.github.com/repos/sr/tasks/git/commits{/sha}","comments_url":"https://api.github.com/repos/sr/tasks/comments{/number}","issue_comment_url":"https://api.github.com/repos/sr/tasks/issues/comments/{number}","contents_url":"https://api.github.com/repos/sr/tasks/contents/{+path}","compare_url":"https://api.github.com/repos/sr/tasks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sr/tasks/merges","archive_url":"https://api.github.com/repos/sr/tasks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sr/tasks/downloads","issues_url":"https://api.github.com/repos/sr/tasks/issues{/number}","pulls_url":"https://api.github.com/repos/sr/tasks/pulls{/number}","milestones_url":"https://api.github.com/repos/sr/tasks/milestones{/number}","notifications_url":"https://api.github.com/repos/sr/tasks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sr/tasks/labels{/name}"},{"id":195,"name":"ruby-on-rails-tmbundle","full_name":"mattetti/ruby-on-rails-tmbundle","owner":{"login":"mattetti","id":113,"avatar_url":"https://1.gravatar.com/avatar/c69521d6e22fc0bbd69337ec8b1698df?d=https%3A%2F%2Fidenticons.github.com%2F73278a4a86960eeb576a8fd4c9ec6997.png","gravatar_id":"c69521d6e22fc0bbd69337ec8b1698df","url":"https://api.github.com/users/mattetti","html_url":"https://github.com/mattetti","followers_url":"https://api.github.com/users/mattetti/followers","following_url":"https://api.github.com/users/mattetti/following{/other_user}","gists_url":"https://api.github.com/users/mattetti/gists{/gist_id}","starred_url":"https://api.github.com/users/mattetti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattetti/subscriptions","organizations_url":"https://api.github.com/users/mattetti/orgs","repos_url":"https://api.github.com/users/mattetti/repos","events_url":"https://api.github.com/users/mattetti/events{/privacy}","received_events_url":"https://api.github.com/users/mattetti/received_events","type":"User"},"private":false,"html_url":"https://github.com/mattetti/ruby-on-rails-tmbundle","description":"Ruby on Rails TextMate bundle [master branch is svn trunk; patches to drnicwilliams@gmail.com]","fork":true,"url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle","forks_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/forks","keys_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/teams","hooks_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/events","assignees_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/tags","blobs_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/languages","stargazers_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/subscription","commits_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/merges","archive_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/downloads","issues_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mattetti/ruby-on-rails-tmbundle/labels{/name}"},{"id":196,"name":"ruby-on-rails-tmbundle","full_name":"lawrencepit/ruby-on-rails-tmbundle","owner":{"login":"lawrencepit","id":115,"avatar_url":"https://1.gravatar.com/avatar/a31c2c26350e9e2b07fbd99fbd5ff520?d=https%3A%2F%2Fidenticons.github.com%2F2b44928ae11fb9384c4cf38708677c48.png","gravatar_id":"a31c2c26350e9e2b07fbd99fbd5ff520","url":"https://api.github.com/users/lawrencepit","html_url":"https://github.com/lawrencepit","followers_url":"https://api.github.com/users/lawrencepit/followers","following_url":"https://api.github.com/users/lawrencepit/following{/other_user}","gists_url":"https://api.github.com/users/lawrencepit/gists{/gist_id}","starred_url":"https://api.github.com/users/lawrencepit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lawrencepit/subscriptions","organizations_url":"https://api.github.com/users/lawrencepit/orgs","repos_url":"https://api.github.com/users/lawrencepit/repos","events_url":"https://api.github.com/users/lawrencepit/events{/privacy}","received_events_url":"https://api.github.com/users/lawrencepit/received_events","type":"User"},"private":false,"html_url":"https://github.com/lawrencepit/ruby-on-rails-tmbundle","description":"Ruby on Rails TextMate bundle [master branch is svn trunk; patches to drnicwilliams@gmail.com]","fork":true,"url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle","forks_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/forks","keys_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/teams","hooks_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/events","assignees_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/tags","blobs_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/languages","stargazers_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/subscription","commits_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/merges","archive_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/downloads","issues_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lawrencepit/ruby-on-rails-tmbundle/labels{/name}"},{"id":199,"name":"amazon-ec2","full_name":"grempe/amazon-ec2","owner":{"login":"grempe","id":117,"avatar_url":"https://2.gravatar.com/avatar/126e4e797131e8bf3adc528c6a4d78ec?d=https%3A%2F%2Fidenticons.github.com%2Feb160de1de89d9058fcb0b968dbbbd68.png","gravatar_id":"126e4e797131e8bf3adc528c6a4d78ec","url":"https://api.github.com/users/grempe","html_url":"https://github.com/grempe","followers_url":"https://api.github.com/users/grempe/followers","following_url":"https://api.github.com/users/grempe/following{/other_user}","gists_url":"https://api.github.com/users/grempe/gists{/gist_id}","starred_url":"https://api.github.com/users/grempe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grempe/subscriptions","organizations_url":"https://api.github.com/users/grempe/orgs","repos_url":"https://api.github.com/users/grempe/repos","events_url":"https://api.github.com/users/grempe/events{/privacy}","received_events_url":"https://api.github.com/users/grempe/received_events","type":"User"},"private":false,"html_url":"https://github.com/grempe/amazon-ec2","description":"A Ruby Gem that gives you full access to several of the Amazon Web Services API from your Ruby/Ruby on Rails apps","fork":false,"url":"https://api.github.com/repos/grempe/amazon-ec2","forks_url":"https://api.github.com/repos/grempe/amazon-ec2/forks","keys_url":"https://api.github.com/repos/grempe/amazon-ec2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/grempe/amazon-ec2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/grempe/amazon-ec2/teams","hooks_url":"https://api.github.com/repos/grempe/amazon-ec2/hooks","issue_events_url":"https://api.github.com/repos/grempe/amazon-ec2/issues/events{/number}","events_url":"https://api.github.com/repos/grempe/amazon-ec2/events","assignees_url":"https://api.github.com/repos/grempe/amazon-ec2/assignees{/user}","branches_url":"https://api.github.com/repos/grempe/amazon-ec2/branches{/branch}","tags_url":"https://api.github.com/repos/grempe/amazon-ec2/tags","blobs_url":"https://api.github.com/repos/grempe/amazon-ec2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/grempe/amazon-ec2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/grempe/amazon-ec2/git/refs{/sha}","trees_url":"https://api.github.com/repos/grempe/amazon-ec2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/grempe/amazon-ec2/statuses/{sha}","languages_url":"https://api.github.com/repos/grempe/amazon-ec2/languages","stargazers_url":"https://api.github.com/repos/grempe/amazon-ec2/stargazers","contributors_url":"https://api.github.com/repos/grempe/amazon-ec2/contributors","subscribers_url":"https://api.github.com/repos/grempe/amazon-ec2/subscribers","subscription_url":"https://api.github.com/repos/grempe/amazon-ec2/subscription","commits_url":"https://api.github.com/repos/grempe/amazon-ec2/commits{/sha}","git_commits_url":"https://api.github.com/repos/grempe/amazon-ec2/git/commits{/sha}","comments_url":"https://api.github.com/repos/grempe/amazon-ec2/comments{/number}","issue_comment_url":"https://api.github.com/repos/grempe/amazon-ec2/issues/comments/{number}","contents_url":"https://api.github.com/repos/grempe/amazon-ec2/contents/{+path}","compare_url":"https://api.github.com/repos/grempe/amazon-ec2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/grempe/amazon-ec2/merges","archive_url":"https://api.github.com/repos/grempe/amazon-ec2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/grempe/amazon-ec2/downloads","issues_url":"https://api.github.com/repos/grempe/amazon-ec2/issues{/number}","pulls_url":"https://api.github.com/repos/grempe/amazon-ec2/pulls{/number}","milestones_url":"https://api.github.com/repos/grempe/amazon-ec2/milestones{/number}","notifications_url":"https://api.github.com/repos/grempe/amazon-ec2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/grempe/amazon-ec2/labels{/name}"},{"id":203,"name":"merblogger","full_name":"wayneeseguin/merblogger","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/merblogger","description":"A Merb Blogging & Publishing Platform using Merb, DataMapper, haml and jQuery.","fork":false,"url":"https://api.github.com/repos/wayneeseguin/merblogger","forks_url":"https://api.github.com/repos/wayneeseguin/merblogger/forks","keys_url":"https://api.github.com/repos/wayneeseguin/merblogger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/merblogger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/merblogger/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/merblogger/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/merblogger/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/merblogger/events","assignees_url":"https://api.github.com/repos/wayneeseguin/merblogger/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/merblogger/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/merblogger/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/merblogger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/merblogger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/merblogger/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/merblogger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/merblogger/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/merblogger/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/merblogger/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/merblogger/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/merblogger/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/merblogger/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/merblogger/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/merblogger/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/merblogger/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/merblogger/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/merblogger/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/merblogger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/merblogger/merges","archive_url":"https://api.github.com/repos/wayneeseguin/merblogger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/merblogger/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/merblogger/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/merblogger/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/merblogger/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/merblogger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/merblogger/labels{/name}"},{"id":204,"name":"merbtastic","full_name":"wayneeseguin/merbtastic","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/merbtastic","description":"Merb + Webgen CMS system that has dynamic routing, Nginx config and static site generation with haml/sass/erb/... support.","fork":false,"url":"https://api.github.com/repos/wayneeseguin/merbtastic","forks_url":"https://api.github.com/repos/wayneeseguin/merbtastic/forks","keys_url":"https://api.github.com/repos/wayneeseguin/merbtastic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/merbtastic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/merbtastic/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/merbtastic/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/merbtastic/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/merbtastic/events","assignees_url":"https://api.github.com/repos/wayneeseguin/merbtastic/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/merbtastic/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/merbtastic/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/merbtastic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/merbtastic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/merbtastic/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/merbtastic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/merbtastic/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/merbtastic/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/merbtastic/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/merbtastic/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/merbtastic/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/merbtastic/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/merbtastic/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/merbtastic/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/merbtastic/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/merbtastic/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/merbtastic/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/merbtastic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/merbtastic/merges","archive_url":"https://api.github.com/repos/wayneeseguin/merbtastic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/merbtastic/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/merbtastic/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/merbtastic/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/merbtastic/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/merbtastic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/merbtastic/labels{/name}"},{"id":205,"name":"alogr","full_name":"wayneeseguin/alogr","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/alogr","description":"AlogR is a threadsafe non-blocking asynchronous configurable logger for Ruby.","fork":false,"url":"https://api.github.com/repos/wayneeseguin/alogr","forks_url":"https://api.github.com/repos/wayneeseguin/alogr/forks","keys_url":"https://api.github.com/repos/wayneeseguin/alogr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/alogr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/alogr/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/alogr/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/alogr/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/alogr/events","assignees_url":"https://api.github.com/repos/wayneeseguin/alogr/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/alogr/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/alogr/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/alogr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/alogr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/alogr/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/alogr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/alogr/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/alogr/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/alogr/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/alogr/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/alogr/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/alogr/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/alogr/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/alogr/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/alogr/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/alogr/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/alogr/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/alogr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/alogr/merges","archive_url":"https://api.github.com/repos/wayneeseguin/alogr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/alogr/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/alogr/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/alogr/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/alogr/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/alogr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/alogr/labels{/name}"},{"id":206,"name":"autozest","full_name":"wayneeseguin/autozest","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/autozest","description":"AutoZest is an autotest addon that: * automated growl installation * generation of .autotest with growl & autozest config * generation of .autozest.yml config file * autozest.sqlite3 database file for pulling random messages based on severity","fork":false,"url":"https://api.github.com/repos/wayneeseguin/autozest","forks_url":"https://api.github.com/repos/wayneeseguin/autozest/forks","keys_url":"https://api.github.com/repos/wayneeseguin/autozest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/autozest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/autozest/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/autozest/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/autozest/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/autozest/events","assignees_url":"https://api.github.com/repos/wayneeseguin/autozest/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/autozest/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/autozest/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/autozest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/autozest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/autozest/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/autozest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/autozest/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/autozest/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/autozest/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/autozest/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/autozest/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/autozest/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/autozest/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/autozest/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/autozest/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/autozest/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/autozest/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/autozest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/autozest/merges","archive_url":"https://api.github.com/repos/wayneeseguin/autozest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/autozest/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/autozest/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/autozest/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/autozest/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/autozest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/autozest/labels{/name}"},{"id":207,"name":"rnginx","full_name":"wayneeseguin/rnginx","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/rnginx","description":"Command line utility and library for working with Nginx configuration scripts.","fork":false,"url":"https://api.github.com/repos/wayneeseguin/rnginx","forks_url":"https://api.github.com/repos/wayneeseguin/rnginx/forks","keys_url":"https://api.github.com/repos/wayneeseguin/rnginx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/rnginx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/rnginx/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/rnginx/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/rnginx/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/rnginx/events","assignees_url":"https://api.github.com/repos/wayneeseguin/rnginx/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/rnginx/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/rnginx/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/rnginx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/rnginx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/rnginx/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/rnginx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/rnginx/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/rnginx/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/rnginx/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/rnginx/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/rnginx/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/rnginx/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/rnginx/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/rnginx/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/rnginx/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/rnginx/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/rnginx/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/rnginx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/rnginx/merges","archive_url":"https://api.github.com/repos/wayneeseguin/rnginx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/rnginx/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/rnginx/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/rnginx/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/rnginx/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/rnginx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/rnginx/labels{/name}"},{"id":208,"name":"sequel","full_name":"wayneeseguin/sequel","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/sequel","description":"Sequel ORM","fork":false,"url":"https://api.github.com/repos/wayneeseguin/sequel","forks_url":"https://api.github.com/repos/wayneeseguin/sequel/forks","keys_url":"https://api.github.com/repos/wayneeseguin/sequel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/sequel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/sequel/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/sequel/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/sequel/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/sequel/events","assignees_url":"https://api.github.com/repos/wayneeseguin/sequel/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/sequel/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/sequel/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/sequel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/sequel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/sequel/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/sequel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/sequel/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/sequel/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/sequel/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/sequel/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/sequel/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/sequel/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/sequel/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/sequel/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/sequel/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/sequel/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/sequel/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/sequel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/sequel/merges","archive_url":"https://api.github.com/repos/wayneeseguin/sequel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/sequel/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/sequel/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/sequel/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/sequel/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/sequel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/sequel/labels{/name}"},{"id":211,"name":"simply_versioned","full_name":"bmizerany/simply_versioned","owner":{"login":"bmizerany","id":46,"avatar_url":"https://2.gravatar.com/avatar/1a250566b475961b9b36abf359950c76?d=https%3A%2F%2Fidenticons.github.com%2Fd9d4f495e875a2e075a1a4a6e1b9770f.png","gravatar_id":"1a250566b475961b9b36abf359950c76","url":"https://api.github.com/users/bmizerany","html_url":"https://github.com/bmizerany","followers_url":"https://api.github.com/users/bmizerany/followers","following_url":"https://api.github.com/users/bmizerany/following{/other_user}","gists_url":"https://api.github.com/users/bmizerany/gists{/gist_id}","starred_url":"https://api.github.com/users/bmizerany/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmizerany/subscriptions","organizations_url":"https://api.github.com/users/bmizerany/orgs","repos_url":"https://api.github.com/users/bmizerany/repos","events_url":"https://api.github.com/users/bmizerany/events{/privacy}","received_events_url":"https://api.github.com/users/bmizerany/received_events","type":"User"},"private":false,"html_url":"https://github.com/bmizerany/simply_versioned","description":"A simple, non-invasive, approach to versioning ActiveRecord models","fork":true,"url":"https://api.github.com/repos/bmizerany/simply_versioned","forks_url":"https://api.github.com/repos/bmizerany/simply_versioned/forks","keys_url":"https://api.github.com/repos/bmizerany/simply_versioned/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bmizerany/simply_versioned/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bmizerany/simply_versioned/teams","hooks_url":"https://api.github.com/repos/bmizerany/simply_versioned/hooks","issue_events_url":"https://api.github.com/repos/bmizerany/simply_versioned/issues/events{/number}","events_url":"https://api.github.com/repos/bmizerany/simply_versioned/events","assignees_url":"https://api.github.com/repos/bmizerany/simply_versioned/assignees{/user}","branches_url":"https://api.github.com/repos/bmizerany/simply_versioned/branches{/branch}","tags_url":"https://api.github.com/repos/bmizerany/simply_versioned/tags","blobs_url":"https://api.github.com/repos/bmizerany/simply_versioned/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bmizerany/simply_versioned/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bmizerany/simply_versioned/git/refs{/sha}","trees_url":"https://api.github.com/repos/bmizerany/simply_versioned/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bmizerany/simply_versioned/statuses/{sha}","languages_url":"https://api.github.com/repos/bmizerany/simply_versioned/languages","stargazers_url":"https://api.github.com/repos/bmizerany/simply_versioned/stargazers","contributors_url":"https://api.github.com/repos/bmizerany/simply_versioned/contributors","subscribers_url":"https://api.github.com/repos/bmizerany/simply_versioned/subscribers","subscription_url":"https://api.github.com/repos/bmizerany/simply_versioned/subscription","commits_url":"https://api.github.com/repos/bmizerany/simply_versioned/commits{/sha}","git_commits_url":"https://api.github.com/repos/bmizerany/simply_versioned/git/commits{/sha}","comments_url":"https://api.github.com/repos/bmizerany/simply_versioned/comments{/number}","issue_comment_url":"https://api.github.com/repos/bmizerany/simply_versioned/issues/comments/{number}","contents_url":"https://api.github.com/repos/bmizerany/simply_versioned/contents/{+path}","compare_url":"https://api.github.com/repos/bmizerany/simply_versioned/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bmizerany/simply_versioned/merges","archive_url":"https://api.github.com/repos/bmizerany/simply_versioned/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bmizerany/simply_versioned/downloads","issues_url":"https://api.github.com/repos/bmizerany/simply_versioned/issues{/number}","pulls_url":"https://api.github.com/repos/bmizerany/simply_versioned/pulls{/number}","milestones_url":"https://api.github.com/repos/bmizerany/simply_versioned/milestones{/number}","notifications_url":"https://api.github.com/repos/bmizerany/simply_versioned/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bmizerany/simply_versioned/labels{/name}"},{"id":212,"name":"switchpipe","full_name":"peterc/switchpipe","owner":{"login":"peterc","id":118,"avatar_url":"https://1.gravatar.com/avatar/6268c7528d855f1cef5696a00d159909?d=https%3A%2F%2Fidenticons.github.com%2F5ef059938ba799aaa845e1c2e8a762bd.png","gravatar_id":"6268c7528d855f1cef5696a00d159909","url":"https://api.github.com/users/peterc","html_url":"https://github.com/peterc","followers_url":"https://api.github.com/users/peterc/followers","following_url":"https://api.github.com/users/peterc/following{/other_user}","gists_url":"https://api.github.com/users/peterc/gists{/gist_id}","starred_url":"https://api.github.com/users/peterc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterc/subscriptions","organizations_url":"https://api.github.com/users/peterc/orgs","repos_url":"https://api.github.com/users/peterc/repos","events_url":"https://api.github.com/users/peterc/events{/privacy}","received_events_url":"https://api.github.com/users/peterc/received_events","type":"User"},"private":false,"html_url":"https://github.com/peterc/switchpipe","description":"SwitchPipe is a backend process manager and HTTP proxy that makes (especially Ruby) web app deployment simple. NOW OBSOLETE. DO NOT USE.","fork":false,"url":"https://api.github.com/repos/peterc/switchpipe","forks_url":"https://api.github.com/repos/peterc/switchpipe/forks","keys_url":"https://api.github.com/repos/peterc/switchpipe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/peterc/switchpipe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/peterc/switchpipe/teams","hooks_url":"https://api.github.com/repos/peterc/switchpipe/hooks","issue_events_url":"https://api.github.com/repos/peterc/switchpipe/issues/events{/number}","events_url":"https://api.github.com/repos/peterc/switchpipe/events","assignees_url":"https://api.github.com/repos/peterc/switchpipe/assignees{/user}","branches_url":"https://api.github.com/repos/peterc/switchpipe/branches{/branch}","tags_url":"https://api.github.com/repos/peterc/switchpipe/tags","blobs_url":"https://api.github.com/repos/peterc/switchpipe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/peterc/switchpipe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/peterc/switchpipe/git/refs{/sha}","trees_url":"https://api.github.com/repos/peterc/switchpipe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/peterc/switchpipe/statuses/{sha}","languages_url":"https://api.github.com/repos/peterc/switchpipe/languages","stargazers_url":"https://api.github.com/repos/peterc/switchpipe/stargazers","contributors_url":"https://api.github.com/repos/peterc/switchpipe/contributors","subscribers_url":"https://api.github.com/repos/peterc/switchpipe/subscribers","subscription_url":"https://api.github.com/repos/peterc/switchpipe/subscription","commits_url":"https://api.github.com/repos/peterc/switchpipe/commits{/sha}","git_commits_url":"https://api.github.com/repos/peterc/switchpipe/git/commits{/sha}","comments_url":"https://api.github.com/repos/peterc/switchpipe/comments{/number}","issue_comment_url":"https://api.github.com/repos/peterc/switchpipe/issues/comments/{number}","contents_url":"https://api.github.com/repos/peterc/switchpipe/contents/{+path}","compare_url":"https://api.github.com/repos/peterc/switchpipe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/peterc/switchpipe/merges","archive_url":"https://api.github.com/repos/peterc/switchpipe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/peterc/switchpipe/downloads","issues_url":"https://api.github.com/repos/peterc/switchpipe/issues{/number}","pulls_url":"https://api.github.com/repos/peterc/switchpipe/pulls{/number}","milestones_url":"https://api.github.com/repos/peterc/switchpipe/milestones{/number}","notifications_url":"https://api.github.com/repos/peterc/switchpipe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/peterc/switchpipe/labels{/name}"},{"id":213,"name":"arc","full_name":"hornbeck/arc","owner":{"login":"hornbeck","id":49,"avatar_url":"https://2.gravatar.com/avatar/47093444301bbde90d0aef5fa5c3ac86?d=https%3A%2F%2Fidenticons.github.com%2Ff457c545a9ded88f18ecee47145a72c0.png","gravatar_id":"47093444301bbde90d0aef5fa5c3ac86","url":"https://api.github.com/users/hornbeck","html_url":"https://github.com/hornbeck","followers_url":"https://api.github.com/users/hornbeck/followers","following_url":"https://api.github.com/users/hornbeck/following{/other_user}","gists_url":"https://api.github.com/users/hornbeck/gists{/gist_id}","starred_url":"https://api.github.com/users/hornbeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hornbeck/subscriptions","organizations_url":"https://api.github.com/users/hornbeck/orgs","repos_url":"https://api.github.com/users/hornbeck/repos","events_url":"https://api.github.com/users/hornbeck/events{/privacy}","received_events_url":"https://api.github.com/users/hornbeck/received_events","type":"User"},"private":false,"html_url":"https://github.com/hornbeck/arc","description":"My arc repo","fork":false,"url":"https://api.github.com/repos/hornbeck/arc","forks_url":"https://api.github.com/repos/hornbeck/arc/forks","keys_url":"https://api.github.com/repos/hornbeck/arc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hornbeck/arc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hornbeck/arc/teams","hooks_url":"https://api.github.com/repos/hornbeck/arc/hooks","issue_events_url":"https://api.github.com/repos/hornbeck/arc/issues/events{/number}","events_url":"https://api.github.com/repos/hornbeck/arc/events","assignees_url":"https://api.github.com/repos/hornbeck/arc/assignees{/user}","branches_url":"https://api.github.com/repos/hornbeck/arc/branches{/branch}","tags_url":"https://api.github.com/repos/hornbeck/arc/tags","blobs_url":"https://api.github.com/repos/hornbeck/arc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hornbeck/arc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hornbeck/arc/git/refs{/sha}","trees_url":"https://api.github.com/repos/hornbeck/arc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hornbeck/arc/statuses/{sha}","languages_url":"https://api.github.com/repos/hornbeck/arc/languages","stargazers_url":"https://api.github.com/repos/hornbeck/arc/stargazers","contributors_url":"https://api.github.com/repos/hornbeck/arc/contributors","subscribers_url":"https://api.github.com/repos/hornbeck/arc/subscribers","subscription_url":"https://api.github.com/repos/hornbeck/arc/subscription","commits_url":"https://api.github.com/repos/hornbeck/arc/commits{/sha}","git_commits_url":"https://api.github.com/repos/hornbeck/arc/git/commits{/sha}","comments_url":"https://api.github.com/repos/hornbeck/arc/comments{/number}","issue_comment_url":"https://api.github.com/repos/hornbeck/arc/issues/comments/{number}","contents_url":"https://api.github.com/repos/hornbeck/arc/contents/{+path}","compare_url":"https://api.github.com/repos/hornbeck/arc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hornbeck/arc/merges","archive_url":"https://api.github.com/repos/hornbeck/arc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hornbeck/arc/downloads","issues_url":"https://api.github.com/repos/hornbeck/arc/issues{/number}","pulls_url":"https://api.github.com/repos/hornbeck/arc/pulls{/number}","milestones_url":"https://api.github.com/repos/hornbeck/arc/milestones{/number}","notifications_url":"https://api.github.com/repos/hornbeck/arc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hornbeck/arc/labels{/name}"},{"id":217,"name":"ebay4r","full_name":"up_the_irons/ebay4r","owner":{"login":"up_the_irons","id":121,"avatar_url":"https://2.gravatar.com/avatar/d9ae72d7364c7909a0a4b02cba72438a?d=https%3A%2F%2Fidenticons.github.com%2F4c56ff4ce4aaf9573aa5dff913df997a.png","gravatar_id":"d9ae72d7364c7909a0a4b02cba72438a","url":"https://api.github.com/users/up_the_irons","html_url":"https://github.com/up_the_irons","followers_url":"https://api.github.com/users/up_the_irons/followers","following_url":"https://api.github.com/users/up_the_irons/following{/other_user}","gists_url":"https://api.github.com/users/up_the_irons/gists{/gist_id}","starred_url":"https://api.github.com/users/up_the_irons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/up_the_irons/subscriptions","organizations_url":"https://api.github.com/users/up_the_irons/orgs","repos_url":"https://api.github.com/users/up_the_irons/repos","events_url":"https://api.github.com/users/up_the_irons/events{/privacy}","received_events_url":"https://api.github.com/users/up_the_irons/received_events","type":"User"},"private":false,"html_url":"https://github.com/up_the_irons/ebay4r","description":"eBay4R is a Ruby wrapper for eBay's Web Services SOAP API","fork":false,"url":"https://api.github.com/repos/up_the_irons/ebay4r","forks_url":"https://api.github.com/repos/up_the_irons/ebay4r/forks","keys_url":"https://api.github.com/repos/up_the_irons/ebay4r/keys{/key_id}","collaborators_url":"https://api.github.com/repos/up_the_irons/ebay4r/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/up_the_irons/ebay4r/teams","hooks_url":"https://api.github.com/repos/up_the_irons/ebay4r/hooks","issue_events_url":"https://api.github.com/repos/up_the_irons/ebay4r/issues/events{/number}","events_url":"https://api.github.com/repos/up_the_irons/ebay4r/events","assignees_url":"https://api.github.com/repos/up_the_irons/ebay4r/assignees{/user}","branches_url":"https://api.github.com/repos/up_the_irons/ebay4r/branches{/branch}","tags_url":"https://api.github.com/repos/up_the_irons/ebay4r/tags","blobs_url":"https://api.github.com/repos/up_the_irons/ebay4r/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/up_the_irons/ebay4r/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/up_the_irons/ebay4r/git/refs{/sha}","trees_url":"https://api.github.com/repos/up_the_irons/ebay4r/git/trees{/sha}","statuses_url":"https://api.github.com/repos/up_the_irons/ebay4r/statuses/{sha}","languages_url":"https://api.github.com/repos/up_the_irons/ebay4r/languages","stargazers_url":"https://api.github.com/repos/up_the_irons/ebay4r/stargazers","contributors_url":"https://api.github.com/repos/up_the_irons/ebay4r/contributors","subscribers_url":"https://api.github.com/repos/up_the_irons/ebay4r/subscribers","subscription_url":"https://api.github.com/repos/up_the_irons/ebay4r/subscription","commits_url":"https://api.github.com/repos/up_the_irons/ebay4r/commits{/sha}","git_commits_url":"https://api.github.com/repos/up_the_irons/ebay4r/git/commits{/sha}","comments_url":"https://api.github.com/repos/up_the_irons/ebay4r/comments{/number}","issue_comment_url":"https://api.github.com/repos/up_the_irons/ebay4r/issues/comments/{number}","contents_url":"https://api.github.com/repos/up_the_irons/ebay4r/contents/{+path}","compare_url":"https://api.github.com/repos/up_the_irons/ebay4r/compare/{base}...{head}","merges_url":"https://api.github.com/repos/up_the_irons/ebay4r/merges","archive_url":"https://api.github.com/repos/up_the_irons/ebay4r/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/up_the_irons/ebay4r/downloads","issues_url":"https://api.github.com/repos/up_the_irons/ebay4r/issues{/number}","pulls_url":"https://api.github.com/repos/up_the_irons/ebay4r/pulls{/number}","milestones_url":"https://api.github.com/repos/up_the_irons/ebay4r/milestones{/number}","notifications_url":"https://api.github.com/repos/up_the_irons/ebay4r/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/up_the_irons/ebay4r/labels{/name}"},{"id":218,"name":"merb-plugins","full_name":"wycats/merb-plugins","owner":{"login":"wycats","id":4,"avatar_url":"https://2.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https%3A%2F%2Fidenticons.github.com%2Fa87ff679a2f3e71d9181a67b7542122c.png","gravatar_id":"428167a3ec72235ba971162924492609","url":"https://api.github.com/users/wycats","html_url":"https://github.com/wycats","followers_url":"https://api.github.com/users/wycats/followers","following_url":"https://api.github.com/users/wycats/following{/other_user}","gists_url":"https://api.github.com/users/wycats/gists{/gist_id}","starred_url":"https://api.github.com/users/wycats/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wycats/subscriptions","organizations_url":"https://api.github.com/users/wycats/orgs","repos_url":"https://api.github.com/users/wycats/repos","events_url":"https://api.github.com/users/wycats/events{/privacy}","received_events_url":"https://api.github.com/users/wycats/received_events","type":"User"},"private":false,"html_url":"https://github.com/wycats/merb-plugins","description":"Merb Plugins: Even more modules to hook up your Merb installation","fork":false,"url":"https://api.github.com/repos/wycats/merb-plugins","forks_url":"https://api.github.com/repos/wycats/merb-plugins/forks","keys_url":"https://api.github.com/repos/wycats/merb-plugins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wycats/merb-plugins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wycats/merb-plugins/teams","hooks_url":"https://api.github.com/repos/wycats/merb-plugins/hooks","issue_events_url":"https://api.github.com/repos/wycats/merb-plugins/issues/events{/number}","events_url":"https://api.github.com/repos/wycats/merb-plugins/events","assignees_url":"https://api.github.com/repos/wycats/merb-plugins/assignees{/user}","branches_url":"https://api.github.com/repos/wycats/merb-plugins/branches{/branch}","tags_url":"https://api.github.com/repos/wycats/merb-plugins/tags","blobs_url":"https://api.github.com/repos/wycats/merb-plugins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wycats/merb-plugins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wycats/merb-plugins/git/refs{/sha}","trees_url":"https://api.github.com/repos/wycats/merb-plugins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wycats/merb-plugins/statuses/{sha}","languages_url":"https://api.github.com/repos/wycats/merb-plugins/languages","stargazers_url":"https://api.github.com/repos/wycats/merb-plugins/stargazers","contributors_url":"https://api.github.com/repos/wycats/merb-plugins/contributors","subscribers_url":"https://api.github.com/repos/wycats/merb-plugins/subscribers","subscription_url":"https://api.github.com/repos/wycats/merb-plugins/subscription","commits_url":"https://api.github.com/repos/wycats/merb-plugins/commits{/sha}","git_commits_url":"https://api.github.com/repos/wycats/merb-plugins/git/commits{/sha}","comments_url":"https://api.github.com/repos/wycats/merb-plugins/comments{/number}","issue_comment_url":"https://api.github.com/repos/wycats/merb-plugins/issues/comments/{number}","contents_url":"https://api.github.com/repos/wycats/merb-plugins/contents/{+path}","compare_url":"https://api.github.com/repos/wycats/merb-plugins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wycats/merb-plugins/merges","archive_url":"https://api.github.com/repos/wycats/merb-plugins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wycats/merb-plugins/downloads","issues_url":"https://api.github.com/repos/wycats/merb-plugins/issues{/number}","pulls_url":"https://api.github.com/repos/wycats/merb-plugins/pulls{/number}","milestones_url":"https://api.github.com/repos/wycats/merb-plugins/milestones{/number}","notifications_url":"https://api.github.com/repos/wycats/merb-plugins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wycats/merb-plugins/labels{/name}"},{"id":220,"name":"ram","full_name":"up_the_irons/ram","owner":{"login":"up_the_irons","id":121,"avatar_url":"https://2.gravatar.com/avatar/d9ae72d7364c7909a0a4b02cba72438a?d=https%3A%2F%2Fidenticons.github.com%2F4c56ff4ce4aaf9573aa5dff913df997a.png","gravatar_id":"d9ae72d7364c7909a0a4b02cba72438a","url":"https://api.github.com/users/up_the_irons","html_url":"https://github.com/up_the_irons","followers_url":"https://api.github.com/users/up_the_irons/followers","following_url":"https://api.github.com/users/up_the_irons/following{/other_user}","gists_url":"https://api.github.com/users/up_the_irons/gists{/gist_id}","starred_url":"https://api.github.com/users/up_the_irons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/up_the_irons/subscriptions","organizations_url":"https://api.github.com/users/up_the_irons/orgs","repos_url":"https://api.github.com/users/up_the_irons/repos","events_url":"https://api.github.com/users/up_the_irons/events{/privacy}","received_events_url":"https://api.github.com/users/up_the_irons/received_events","type":"User"},"private":false,"html_url":"https://github.com/up_the_irons/ram","description":"Ruby Asset Manager","fork":false,"url":"https://api.github.com/repos/up_the_irons/ram","forks_url":"https://api.github.com/repos/up_the_irons/ram/forks","keys_url":"https://api.github.com/repos/up_the_irons/ram/keys{/key_id}","collaborators_url":"https://api.github.com/repos/up_the_irons/ram/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/up_the_irons/ram/teams","hooks_url":"https://api.github.com/repos/up_the_irons/ram/hooks","issue_events_url":"https://api.github.com/repos/up_the_irons/ram/issues/events{/number}","events_url":"https://api.github.com/repos/up_the_irons/ram/events","assignees_url":"https://api.github.com/repos/up_the_irons/ram/assignees{/user}","branches_url":"https://api.github.com/repos/up_the_irons/ram/branches{/branch}","tags_url":"https://api.github.com/repos/up_the_irons/ram/tags","blobs_url":"https://api.github.com/repos/up_the_irons/ram/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/up_the_irons/ram/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/up_the_irons/ram/git/refs{/sha}","trees_url":"https://api.github.com/repos/up_the_irons/ram/git/trees{/sha}","statuses_url":"https://api.github.com/repos/up_the_irons/ram/statuses/{sha}","languages_url":"https://api.github.com/repos/up_the_irons/ram/languages","stargazers_url":"https://api.github.com/repos/up_the_irons/ram/stargazers","contributors_url":"https://api.github.com/repos/up_the_irons/ram/contributors","subscribers_url":"https://api.github.com/repos/up_the_irons/ram/subscribers","subscription_url":"https://api.github.com/repos/up_the_irons/ram/subscription","commits_url":"https://api.github.com/repos/up_the_irons/ram/commits{/sha}","git_commits_url":"https://api.github.com/repos/up_the_irons/ram/git/commits{/sha}","comments_url":"https://api.github.com/repos/up_the_irons/ram/comments{/number}","issue_comment_url":"https://api.github.com/repos/up_the_irons/ram/issues/comments/{number}","contents_url":"https://api.github.com/repos/up_the_irons/ram/contents/{+path}","compare_url":"https://api.github.com/repos/up_the_irons/ram/compare/{base}...{head}","merges_url":"https://api.github.com/repos/up_the_irons/ram/merges","archive_url":"https://api.github.com/repos/up_the_irons/ram/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/up_the_irons/ram/downloads","issues_url":"https://api.github.com/repos/up_the_irons/ram/issues{/number}","pulls_url":"https://api.github.com/repos/up_the_irons/ram/pulls{/number}","milestones_url":"https://api.github.com/repos/up_the_irons/ram/milestones{/number}","notifications_url":"https://api.github.com/repos/up_the_irons/ram/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/up_the_irons/ram/labels{/name}"},{"id":230,"name":"ambitious_activeldap","full_name":"defunkt/ambitious_activeldap","owner":{"login":"defunkt","id":2,"avatar_url":"https://2.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https%3A%2F%2Fidenticons.github.com%2Fc81e728d9d4c2f636f067f89cc14862c.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},"private":false,"html_url":"https://github.com/defunkt/ambitious_activeldap","description":"Ambition adapter for ActiveLdap","fork":true,"url":"https://api.github.com/repos/defunkt/ambitious_activeldap","forks_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/forks","keys_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/teams","hooks_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/hooks","issue_events_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/issues/events{/number}","events_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/events","assignees_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/assignees{/user}","branches_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/branches{/branch}","tags_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/tags","blobs_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/git/refs{/sha}","trees_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/statuses/{sha}","languages_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/languages","stargazers_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/stargazers","contributors_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/contributors","subscribers_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/subscribers","subscription_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/subscription","commits_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/commits{/sha}","git_commits_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/git/commits{/sha}","comments_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/comments{/number}","issue_comment_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/issues/comments/{number}","contents_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/contents/{+path}","compare_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/merges","archive_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/downloads","issues_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/issues{/number}","pulls_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/pulls{/number}","milestones_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/milestones{/number}","notifications_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/defunkt/ambitious_activeldap/labels{/name}"},{"id":232,"name":"fitter_happier","full_name":"atmos/fitter_happier","owner":{"login":"atmos","id":38,"avatar_url":"https://0.gravatar.com/avatar/a86224d72ce21cd9f5bee6784d4b06c7?d=https%3A%2F%2Fidenticons.github.com%2Fa5771bce93e200c36f7cd9dfd0e5deaa.png","gravatar_id":"a86224d72ce21cd9f5bee6784d4b06c7","url":"https://api.github.com/users/atmos","html_url":"https://github.com/atmos","followers_url":"https://api.github.com/users/atmos/followers","following_url":"https://api.github.com/users/atmos/following{/other_user}","gists_url":"https://api.github.com/users/atmos/gists{/gist_id}","starred_url":"https://api.github.com/users/atmos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atmos/subscriptions","organizations_url":"https://api.github.com/users/atmos/orgs","repos_url":"https://api.github.com/users/atmos/repos","events_url":"https://api.github.com/users/atmos/events{/privacy}","received_events_url":"https://api.github.com/users/atmos/received_events","type":"User"},"private":false,"html_url":"https://github.com/atmos/fitter_happier","description":"A Rails Plugin for adding a simple health check to your application","fork":false,"url":"https://api.github.com/repos/atmos/fitter_happier","forks_url":"https://api.github.com/repos/atmos/fitter_happier/forks","keys_url":"https://api.github.com/repos/atmos/fitter_happier/keys{/key_id}","collaborators_url":"https://api.github.com/repos/atmos/fitter_happier/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/atmos/fitter_happier/teams","hooks_url":"https://api.github.com/repos/atmos/fitter_happier/hooks","issue_events_url":"https://api.github.com/repos/atmos/fitter_happier/issues/events{/number}","events_url":"https://api.github.com/repos/atmos/fitter_happier/events","assignees_url":"https://api.github.com/repos/atmos/fitter_happier/assignees{/user}","branches_url":"https://api.github.com/repos/atmos/fitter_happier/branches{/branch}","tags_url":"https://api.github.com/repos/atmos/fitter_happier/tags","blobs_url":"https://api.github.com/repos/atmos/fitter_happier/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/atmos/fitter_happier/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/atmos/fitter_happier/git/refs{/sha}","trees_url":"https://api.github.com/repos/atmos/fitter_happier/git/trees{/sha}","statuses_url":"https://api.github.com/repos/atmos/fitter_happier/statuses/{sha}","languages_url":"https://api.github.com/repos/atmos/fitter_happier/languages","stargazers_url":"https://api.github.com/repos/atmos/fitter_happier/stargazers","contributors_url":"https://api.github.com/repos/atmos/fitter_happier/contributors","subscribers_url":"https://api.github.com/repos/atmos/fitter_happier/subscribers","subscription_url":"https://api.github.com/repos/atmos/fitter_happier/subscription","commits_url":"https://api.github.com/repos/atmos/fitter_happier/commits{/sha}","git_commits_url":"https://api.github.com/repos/atmos/fitter_happier/git/commits{/sha}","comments_url":"https://api.github.com/repos/atmos/fitter_happier/comments{/number}","issue_comment_url":"https://api.github.com/repos/atmos/fitter_happier/issues/comments/{number}","contents_url":"https://api.github.com/repos/atmos/fitter_happier/contents/{+path}","compare_url":"https://api.github.com/repos/atmos/fitter_happier/compare/{base}...{head}","merges_url":"https://api.github.com/repos/atmos/fitter_happier/merges","archive_url":"https://api.github.com/repos/atmos/fitter_happier/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/atmos/fitter_happier/downloads","issues_url":"https://api.github.com/repos/atmos/fitter_happier/issues{/number}","pulls_url":"https://api.github.com/repos/atmos/fitter_happier/pulls{/number}","milestones_url":"https://api.github.com/repos/atmos/fitter_happier/milestones{/number}","notifications_url":"https://api.github.com/repos/atmos/fitter_happier/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/atmos/fitter_happier/labels{/name}"},{"id":237,"name":"oebfare","full_name":"brosner/oebfare","owner":{"login":"brosner","id":124,"avatar_url":"https://0.gravatar.com/avatar/b7472bc7aa45c70641c299e9408b78ab?d=https%3A%2F%2Fidenticons.github.com%2Fc8ffe9a587b126f152ed3d89a146b445.png","gravatar_id":"b7472bc7aa45c70641c299e9408b78ab","url":"https://api.github.com/users/brosner","html_url":"https://github.com/brosner","followers_url":"https://api.github.com/users/brosner/followers","following_url":"https://api.github.com/users/brosner/following{/other_user}","gists_url":"https://api.github.com/users/brosner/gists{/gist_id}","starred_url":"https://api.github.com/users/brosner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brosner/subscriptions","organizations_url":"https://api.github.com/users/brosner/orgs","repos_url":"https://api.github.com/users/brosner/repos","events_url":"https://api.github.com/users/brosner/events{/privacy}","received_events_url":"https://api.github.com/users/brosner/received_events","type":"User"},"private":false,"html_url":"https://github.com/brosner/oebfare","description":"my personal blog written with django","fork":false,"url":"https://api.github.com/repos/brosner/oebfare","forks_url":"https://api.github.com/repos/brosner/oebfare/forks","keys_url":"https://api.github.com/repos/brosner/oebfare/keys{/key_id}","collaborators_url":"https://api.github.com/repos/brosner/oebfare/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/brosner/oebfare/teams","hooks_url":"https://api.github.com/repos/brosner/oebfare/hooks","issue_events_url":"https://api.github.com/repos/brosner/oebfare/issues/events{/number}","events_url":"https://api.github.com/repos/brosner/oebfare/events","assignees_url":"https://api.github.com/repos/brosner/oebfare/assignees{/user}","branches_url":"https://api.github.com/repos/brosner/oebfare/branches{/branch}","tags_url":"https://api.github.com/repos/brosner/oebfare/tags","blobs_url":"https://api.github.com/repos/brosner/oebfare/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/brosner/oebfare/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/brosner/oebfare/git/refs{/sha}","trees_url":"https://api.github.com/repos/brosner/oebfare/git/trees{/sha}","statuses_url":"https://api.github.com/repos/brosner/oebfare/statuses/{sha}","languages_url":"https://api.github.com/repos/brosner/oebfare/languages","stargazers_url":"https://api.github.com/repos/brosner/oebfare/stargazers","contributors_url":"https://api.github.com/repos/brosner/oebfare/contributors","subscribers_url":"https://api.github.com/repos/brosner/oebfare/subscribers","subscription_url":"https://api.github.com/repos/brosner/oebfare/subscription","commits_url":"https://api.github.com/repos/brosner/oebfare/commits{/sha}","git_commits_url":"https://api.github.com/repos/brosner/oebfare/git/commits{/sha}","comments_url":"https://api.github.com/repos/brosner/oebfare/comments{/number}","issue_comment_url":"https://api.github.com/repos/brosner/oebfare/issues/comments/{number}","contents_url":"https://api.github.com/repos/brosner/oebfare/contents/{+path}","compare_url":"https://api.github.com/repos/brosner/oebfare/compare/{base}...{head}","merges_url":"https://api.github.com/repos/brosner/oebfare/merges","archive_url":"https://api.github.com/repos/brosner/oebfare/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/brosner/oebfare/downloads","issues_url":"https://api.github.com/repos/brosner/oebfare/issues{/number}","pulls_url":"https://api.github.com/repos/brosner/oebfare/pulls{/number}","milestones_url":"https://api.github.com/repos/brosner/oebfare/milestones{/number}","notifications_url":"https://api.github.com/repos/brosner/oebfare/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/brosner/oebfare/labels{/name}"},{"id":245,"name":"credit_card_tools","full_name":"up_the_irons/credit_card_tools","owner":{"login":"up_the_irons","id":121,"avatar_url":"https://2.gravatar.com/avatar/d9ae72d7364c7909a0a4b02cba72438a?d=https%3A%2F%2Fidenticons.github.com%2F4c56ff4ce4aaf9573aa5dff913df997a.png","gravatar_id":"d9ae72d7364c7909a0a4b02cba72438a","url":"https://api.github.com/users/up_the_irons","html_url":"https://github.com/up_the_irons","followers_url":"https://api.github.com/users/up_the_irons/followers","following_url":"https://api.github.com/users/up_the_irons/following{/other_user}","gists_url":"https://api.github.com/users/up_the_irons/gists{/gist_id}","starred_url":"https://api.github.com/users/up_the_irons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/up_the_irons/subscriptions","organizations_url":"https://api.github.com/users/up_the_irons/orgs","repos_url":"https://api.github.com/users/up_the_irons/repos","events_url":"https://api.github.com/users/up_the_irons/events{/privacy}","received_events_url":"https://api.github.com/users/up_the_irons/received_events","type":"User"},"private":false,"html_url":"https://github.com/up_the_irons/credit_card_tools","description":"Tools for processing credit cards on the command line","fork":false,"url":"https://api.github.com/repos/up_the_irons/credit_card_tools","forks_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/forks","keys_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/teams","hooks_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/hooks","issue_events_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/issues/events{/number}","events_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/events","assignees_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/assignees{/user}","branches_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/branches{/branch}","tags_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/tags","blobs_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/statuses/{sha}","languages_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/languages","stargazers_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/stargazers","contributors_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/contributors","subscribers_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/subscribers","subscription_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/subscription","commits_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/issues/comments/{number}","contents_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/contents/{+path}","compare_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/merges","archive_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/downloads","issues_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/issues{/number}","pulls_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/pulls{/number}","milestones_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/milestones{/number}","notifications_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/up_the_irons/credit_card_tools/labels{/name}"},{"id":248,"name":"rorem","full_name":"jnicklas/rorem","owner":{"login":"jnicklas","id":134,"avatar_url":"https://0.gravatar.com/avatar/6c469749d725177dd2837d806c769cd4?d=https%3A%2F%2Fidenticons.github.com%2F02522a2b2726fb0a03bb19f2d8d9524d.png","gravatar_id":"6c469749d725177dd2837d806c769cd4","url":"https://api.github.com/users/jnicklas","html_url":"https://github.com/jnicklas","followers_url":"https://api.github.com/users/jnicklas/followers","following_url":"https://api.github.com/users/jnicklas/following{/other_user}","gists_url":"https://api.github.com/users/jnicklas/gists{/gist_id}","starred_url":"https://api.github.com/users/jnicklas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnicklas/subscriptions","organizations_url":"https://api.github.com/users/jnicklas/orgs","repos_url":"https://api.github.com/users/jnicklas/repos","events_url":"https://api.github.com/users/jnicklas/events{/privacy}","received_events_url":"https://api.github.com/users/jnicklas/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnicklas/rorem","description":"Rorem is a random data generator","fork":false,"url":"https://api.github.com/repos/jnicklas/rorem","forks_url":"https://api.github.com/repos/jnicklas/rorem/forks","keys_url":"https://api.github.com/repos/jnicklas/rorem/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnicklas/rorem/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnicklas/rorem/teams","hooks_url":"https://api.github.com/repos/jnicklas/rorem/hooks","issue_events_url":"https://api.github.com/repos/jnicklas/rorem/issues/events{/number}","events_url":"https://api.github.com/repos/jnicklas/rorem/events","assignees_url":"https://api.github.com/repos/jnicklas/rorem/assignees{/user}","branches_url":"https://api.github.com/repos/jnicklas/rorem/branches{/branch}","tags_url":"https://api.github.com/repos/jnicklas/rorem/tags","blobs_url":"https://api.github.com/repos/jnicklas/rorem/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnicklas/rorem/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnicklas/rorem/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnicklas/rorem/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnicklas/rorem/statuses/{sha}","languages_url":"https://api.github.com/repos/jnicklas/rorem/languages","stargazers_url":"https://api.github.com/repos/jnicklas/rorem/stargazers","contributors_url":"https://api.github.com/repos/jnicklas/rorem/contributors","subscribers_url":"https://api.github.com/repos/jnicklas/rorem/subscribers","subscription_url":"https://api.github.com/repos/jnicklas/rorem/subscription","commits_url":"https://api.github.com/repos/jnicklas/rorem/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnicklas/rorem/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnicklas/rorem/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnicklas/rorem/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnicklas/rorem/contents/{+path}","compare_url":"https://api.github.com/repos/jnicklas/rorem/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnicklas/rorem/merges","archive_url":"https://api.github.com/repos/jnicklas/rorem/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnicklas/rorem/downloads","issues_url":"https://api.github.com/repos/jnicklas/rorem/issues{/number}","pulls_url":"https://api.github.com/repos/jnicklas/rorem/pulls{/number}","milestones_url":"https://api.github.com/repos/jnicklas/rorem/milestones{/number}","notifications_url":"https://api.github.com/repos/jnicklas/rorem/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnicklas/rorem/labels{/name}"},{"id":249,"name":"braid","full_name":"evilchelu/braid","owner":{"login":"evilchelu","id":122,"avatar_url":"https://1.gravatar.com/avatar/0e8c5f8d88cfc1aeeb59acdcc8aad387?d=https%3A%2F%2Fidenticons.github.com%2Fa0a080f42e6f13b3a2df133f073095dd.png","gravatar_id":"0e8c5f8d88cfc1aeeb59acdcc8aad387","url":"https://api.github.com/users/evilchelu","html_url":"https://github.com/evilchelu","followers_url":"https://api.github.com/users/evilchelu/followers","following_url":"https://api.github.com/users/evilchelu/following{/other_user}","gists_url":"https://api.github.com/users/evilchelu/gists{/gist_id}","starred_url":"https://api.github.com/users/evilchelu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilchelu/subscriptions","organizations_url":"https://api.github.com/users/evilchelu/orgs","repos_url":"https://api.github.com/users/evilchelu/repos","events_url":"https://api.github.com/users/evilchelu/events{/privacy}","received_events_url":"https://api.github.com/users/evilchelu/received_events","type":"User"},"private":false,"html_url":"https://github.com/evilchelu/braid","description":"Simple tool to help track git and svn vendor branches in a git repository","fork":false,"url":"https://api.github.com/repos/evilchelu/braid","forks_url":"https://api.github.com/repos/evilchelu/braid/forks","keys_url":"https://api.github.com/repos/evilchelu/braid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evilchelu/braid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evilchelu/braid/teams","hooks_url":"https://api.github.com/repos/evilchelu/braid/hooks","issue_events_url":"https://api.github.com/repos/evilchelu/braid/issues/events{/number}","events_url":"https://api.github.com/repos/evilchelu/braid/events","assignees_url":"https://api.github.com/repos/evilchelu/braid/assignees{/user}","branches_url":"https://api.github.com/repos/evilchelu/braid/branches{/branch}","tags_url":"https://api.github.com/repos/evilchelu/braid/tags","blobs_url":"https://api.github.com/repos/evilchelu/braid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evilchelu/braid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evilchelu/braid/git/refs{/sha}","trees_url":"https://api.github.com/repos/evilchelu/braid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evilchelu/braid/statuses/{sha}","languages_url":"https://api.github.com/repos/evilchelu/braid/languages","stargazers_url":"https://api.github.com/repos/evilchelu/braid/stargazers","contributors_url":"https://api.github.com/repos/evilchelu/braid/contributors","subscribers_url":"https://api.github.com/repos/evilchelu/braid/subscribers","subscription_url":"https://api.github.com/repos/evilchelu/braid/subscription","commits_url":"https://api.github.com/repos/evilchelu/braid/commits{/sha}","git_commits_url":"https://api.github.com/repos/evilchelu/braid/git/commits{/sha}","comments_url":"https://api.github.com/repos/evilchelu/braid/comments{/number}","issue_comment_url":"https://api.github.com/repos/evilchelu/braid/issues/comments/{number}","contents_url":"https://api.github.com/repos/evilchelu/braid/contents/{+path}","compare_url":"https://api.github.com/repos/evilchelu/braid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evilchelu/braid/merges","archive_url":"https://api.github.com/repos/evilchelu/braid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evilchelu/braid/downloads","issues_url":"https://api.github.com/repos/evilchelu/braid/issues{/number}","pulls_url":"https://api.github.com/repos/evilchelu/braid/pulls{/number}","milestones_url":"https://api.github.com/repos/evilchelu/braid/milestones{/number}","notifications_url":"https://api.github.com/repos/evilchelu/braid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evilchelu/braid/labels{/name}"},{"id":251,"name":"uploadcolumn","full_name":"jnicklas/uploadcolumn","owner":{"login":"jnicklas","id":134,"avatar_url":"https://0.gravatar.com/avatar/6c469749d725177dd2837d806c769cd4?d=https%3A%2F%2Fidenticons.github.com%2F02522a2b2726fb0a03bb19f2d8d9524d.png","gravatar_id":"6c469749d725177dd2837d806c769cd4","url":"https://api.github.com/users/jnicklas","html_url":"https://github.com/jnicklas","followers_url":"https://api.github.com/users/jnicklas/followers","following_url":"https://api.github.com/users/jnicklas/following{/other_user}","gists_url":"https://api.github.com/users/jnicklas/gists{/gist_id}","starred_url":"https://api.github.com/users/jnicklas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnicklas/subscriptions","organizations_url":"https://api.github.com/users/jnicklas/orgs","repos_url":"https://api.github.com/users/jnicklas/repos","events_url":"https://api.github.com/users/jnicklas/events{/privacy}","received_events_url":"https://api.github.com/users/jnicklas/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnicklas/uploadcolumn","description":"UploadColumn is no longer maintained, check out CarrierWave for an alternative","fork":false,"url":"https://api.github.com/repos/jnicklas/uploadcolumn","forks_url":"https://api.github.com/repos/jnicklas/uploadcolumn/forks","keys_url":"https://api.github.com/repos/jnicklas/uploadcolumn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnicklas/uploadcolumn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnicklas/uploadcolumn/teams","hooks_url":"https://api.github.com/repos/jnicklas/uploadcolumn/hooks","issue_events_url":"https://api.github.com/repos/jnicklas/uploadcolumn/issues/events{/number}","events_url":"https://api.github.com/repos/jnicklas/uploadcolumn/events","assignees_url":"https://api.github.com/repos/jnicklas/uploadcolumn/assignees{/user}","branches_url":"https://api.github.com/repos/jnicklas/uploadcolumn/branches{/branch}","tags_url":"https://api.github.com/repos/jnicklas/uploadcolumn/tags","blobs_url":"https://api.github.com/repos/jnicklas/uploadcolumn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnicklas/uploadcolumn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnicklas/uploadcolumn/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnicklas/uploadcolumn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnicklas/uploadcolumn/statuses/{sha}","languages_url":"https://api.github.com/repos/jnicklas/uploadcolumn/languages","stargazers_url":"https://api.github.com/repos/jnicklas/uploadcolumn/stargazers","contributors_url":"https://api.github.com/repos/jnicklas/uploadcolumn/contributors","subscribers_url":"https://api.github.com/repos/jnicklas/uploadcolumn/subscribers","subscription_url":"https://api.github.com/repos/jnicklas/uploadcolumn/subscription","commits_url":"https://api.github.com/repos/jnicklas/uploadcolumn/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnicklas/uploadcolumn/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnicklas/uploadcolumn/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnicklas/uploadcolumn/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnicklas/uploadcolumn/contents/{+path}","compare_url":"https://api.github.com/repos/jnicklas/uploadcolumn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnicklas/uploadcolumn/merges","archive_url":"https://api.github.com/repos/jnicklas/uploadcolumn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnicklas/uploadcolumn/downloads","issues_url":"https://api.github.com/repos/jnicklas/uploadcolumn/issues{/number}","pulls_url":"https://api.github.com/repos/jnicklas/uploadcolumn/pulls{/number}","milestones_url":"https://api.github.com/repos/jnicklas/uploadcolumn/milestones{/number}","notifications_url":"https://api.github.com/repos/jnicklas/uploadcolumn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnicklas/uploadcolumn/labels{/name}"},{"id":252,"name":"ruby-on-rails-tmbundle","full_name":"simonjefford/ruby-on-rails-tmbundle","owner":{"login":"simonjefford","id":136,"avatar_url":"https://1.gravatar.com/avatar/46fd60ea4dde74f3d46fcfd27ed700bf?d=https%3A%2F%2Fidenticons.github.com%2F42a0e188f5033bc65bf8d78622277c4e.png","gravatar_id":"46fd60ea4dde74f3d46fcfd27ed700bf","url":"https://api.github.com/users/simonjefford","html_url":"https://github.com/simonjefford","followers_url":"https://api.github.com/users/simonjefford/followers","following_url":"https://api.github.com/users/simonjefford/following{/other_user}","gists_url":"https://api.github.com/users/simonjefford/gists{/gist_id}","starred_url":"https://api.github.com/users/simonjefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonjefford/subscriptions","organizations_url":"https://api.github.com/users/simonjefford/orgs","repos_url":"https://api.github.com/users/simonjefford/repos","events_url":"https://api.github.com/users/simonjefford/events{/privacy}","received_events_url":"https://api.github.com/users/simonjefford/received_events","type":"User"},"private":false,"html_url":"https://github.com/simonjefford/ruby-on-rails-tmbundle","description":"Ruby on Rails TextMate bundle [master branch is svn trunk; patches to drnicwilliams@gmail.com]","fork":true,"url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle","forks_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/forks","keys_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/teams","hooks_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/events","assignees_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/tags","blobs_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/languages","stargazers_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/subscription","commits_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/merges","archive_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/downloads","issues_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/simonjefford/ruby-on-rails-tmbundle/labels{/name}"},{"id":256,"name":"rack-mirror","full_name":"chneukirchen/rack-mirror","owner":{"login":"chneukirchen","id":139,"avatar_url":"https://0.gravatar.com/avatar/7264fb16beeea92b89bb42023738259d?d=https%3A%2F%2Fidenticons.github.com%2Fe00da03b685a0dd18fb6a08af0923de0.png","gravatar_id":"7264fb16beeea92b89bb42023738259d","url":"https://api.github.com/users/chneukirchen","html_url":"https://github.com/chneukirchen","followers_url":"https://api.github.com/users/chneukirchen/followers","following_url":"https://api.github.com/users/chneukirchen/following{/other_user}","gists_url":"https://api.github.com/users/chneukirchen/gists{/gist_id}","starred_url":"https://api.github.com/users/chneukirchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chneukirchen/subscriptions","organizations_url":"https://api.github.com/users/chneukirchen/orgs","repos_url":"https://api.github.com/users/chneukirchen/repos","events_url":"https://api.github.com/users/chneukirchen/events{/privacy}","received_events_url":"https://api.github.com/users/chneukirchen/received_events","type":"User"},"private":false,"html_url":"https://github.com/chneukirchen/rack-mirror","description":"OUTDATED mirror of Rack's darcs repository, use github.com/chneukirchen/rack","fork":false,"url":"https://api.github.com/repos/chneukirchen/rack-mirror","forks_url":"https://api.github.com/repos/chneukirchen/rack-mirror/forks","keys_url":"https://api.github.com/repos/chneukirchen/rack-mirror/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chneukirchen/rack-mirror/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chneukirchen/rack-mirror/teams","hooks_url":"https://api.github.com/repos/chneukirchen/rack-mirror/hooks","issue_events_url":"https://api.github.com/repos/chneukirchen/rack-mirror/issues/events{/number}","events_url":"https://api.github.com/repos/chneukirchen/rack-mirror/events","assignees_url":"https://api.github.com/repos/chneukirchen/rack-mirror/assignees{/user}","branches_url":"https://api.github.com/repos/chneukirchen/rack-mirror/branches{/branch}","tags_url":"https://api.github.com/repos/chneukirchen/rack-mirror/tags","blobs_url":"https://api.github.com/repos/chneukirchen/rack-mirror/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chneukirchen/rack-mirror/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chneukirchen/rack-mirror/git/refs{/sha}","trees_url":"https://api.github.com/repos/chneukirchen/rack-mirror/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chneukirchen/rack-mirror/statuses/{sha}","languages_url":"https://api.github.com/repos/chneukirchen/rack-mirror/languages","stargazers_url":"https://api.github.com/repos/chneukirchen/rack-mirror/stargazers","contributors_url":"https://api.github.com/repos/chneukirchen/rack-mirror/contributors","subscribers_url":"https://api.github.com/repos/chneukirchen/rack-mirror/subscribers","subscription_url":"https://api.github.com/repos/chneukirchen/rack-mirror/subscription","commits_url":"https://api.github.com/repos/chneukirchen/rack-mirror/commits{/sha}","git_commits_url":"https://api.github.com/repos/chneukirchen/rack-mirror/git/commits{/sha}","comments_url":"https://api.github.com/repos/chneukirchen/rack-mirror/comments{/number}","issue_comment_url":"https://api.github.com/repos/chneukirchen/rack-mirror/issues/comments/{number}","contents_url":"https://api.github.com/repos/chneukirchen/rack-mirror/contents/{+path}","compare_url":"https://api.github.com/repos/chneukirchen/rack-mirror/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chneukirchen/rack-mirror/merges","archive_url":"https://api.github.com/repos/chneukirchen/rack-mirror/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chneukirchen/rack-mirror/downloads","issues_url":"https://api.github.com/repos/chneukirchen/rack-mirror/issues{/number}","pulls_url":"https://api.github.com/repos/chneukirchen/rack-mirror/pulls{/number}","milestones_url":"https://api.github.com/repos/chneukirchen/rack-mirror/milestones{/number}","notifications_url":"https://api.github.com/repos/chneukirchen/rack-mirror/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chneukirchen/rack-mirror/labels{/name}"},{"id":257,"name":"coset-mirror","full_name":"chneukirchen/coset-mirror","owner":{"login":"chneukirchen","id":139,"avatar_url":"https://0.gravatar.com/avatar/7264fb16beeea92b89bb42023738259d?d=https%3A%2F%2Fidenticons.github.com%2Fe00da03b685a0dd18fb6a08af0923de0.png","gravatar_id":"7264fb16beeea92b89bb42023738259d","url":"https://api.github.com/users/chneukirchen","html_url":"https://github.com/chneukirchen","followers_url":"https://api.github.com/users/chneukirchen/followers","following_url":"https://api.github.com/users/chneukirchen/following{/other_user}","gists_url":"https://api.github.com/users/chneukirchen/gists{/gist_id}","starred_url":"https://api.github.com/users/chneukirchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chneukirchen/subscriptions","organizations_url":"https://api.github.com/users/chneukirchen/orgs","repos_url":"https://api.github.com/users/chneukirchen/repos","events_url":"https://api.github.com/users/chneukirchen/events{/privacy}","received_events_url":"https://api.github.com/users/chneukirchen/received_events","type":"User"},"private":false,"html_url":"https://github.com/chneukirchen/coset-mirror","description":"(experimental) Mirror of the coset darcs repository","fork":false,"url":"https://api.github.com/repos/chneukirchen/coset-mirror","forks_url":"https://api.github.com/repos/chneukirchen/coset-mirror/forks","keys_url":"https://api.github.com/repos/chneukirchen/coset-mirror/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chneukirchen/coset-mirror/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chneukirchen/coset-mirror/teams","hooks_url":"https://api.github.com/repos/chneukirchen/coset-mirror/hooks","issue_events_url":"https://api.github.com/repos/chneukirchen/coset-mirror/issues/events{/number}","events_url":"https://api.github.com/repos/chneukirchen/coset-mirror/events","assignees_url":"https://api.github.com/repos/chneukirchen/coset-mirror/assignees{/user}","branches_url":"https://api.github.com/repos/chneukirchen/coset-mirror/branches{/branch}","tags_url":"https://api.github.com/repos/chneukirchen/coset-mirror/tags","blobs_url":"https://api.github.com/repos/chneukirchen/coset-mirror/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chneukirchen/coset-mirror/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chneukirchen/coset-mirror/git/refs{/sha}","trees_url":"https://api.github.com/repos/chneukirchen/coset-mirror/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chneukirchen/coset-mirror/statuses/{sha}","languages_url":"https://api.github.com/repos/chneukirchen/coset-mirror/languages","stargazers_url":"https://api.github.com/repos/chneukirchen/coset-mirror/stargazers","contributors_url":"https://api.github.com/repos/chneukirchen/coset-mirror/contributors","subscribers_url":"https://api.github.com/repos/chneukirchen/coset-mirror/subscribers","subscription_url":"https://api.github.com/repos/chneukirchen/coset-mirror/subscription","commits_url":"https://api.github.com/repos/chneukirchen/coset-mirror/commits{/sha}","git_commits_url":"https://api.github.com/repos/chneukirchen/coset-mirror/git/commits{/sha}","comments_url":"https://api.github.com/repos/chneukirchen/coset-mirror/comments{/number}","issue_comment_url":"https://api.github.com/repos/chneukirchen/coset-mirror/issues/comments/{number}","contents_url":"https://api.github.com/repos/chneukirchen/coset-mirror/contents/{+path}","compare_url":"https://api.github.com/repos/chneukirchen/coset-mirror/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chneukirchen/coset-mirror/merges","archive_url":"https://api.github.com/repos/chneukirchen/coset-mirror/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chneukirchen/coset-mirror/downloads","issues_url":"https://api.github.com/repos/chneukirchen/coset-mirror/issues{/number}","pulls_url":"https://api.github.com/repos/chneukirchen/coset-mirror/pulls{/number}","milestones_url":"https://api.github.com/repos/chneukirchen/coset-mirror/milestones{/number}","notifications_url":"https://api.github.com/repos/chneukirchen/coset-mirror/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chneukirchen/coset-mirror/labels{/name}"},{"id":267,"name":"javascript-unittest-tmbundle","full_name":"drnic/javascript-unittest-tmbundle","owner":{"login":"drnic","id":108,"avatar_url":"https://2.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https%3A%2F%2Fidenticons.github.com%2Fa3c65c2974270fd093ee8a9bf8ae7d0b.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},"private":false,"html_url":"https://github.com/drnic/javascript-unittest-tmbundle","description":"JavaScript Unit Test TextMate Bundle [for prototype's unittest.js library]","fork":false,"url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle","forks_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/forks","keys_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/teams","hooks_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/events","assignees_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/tags","blobs_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/languages","stargazers_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/subscription","commits_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/merges","archive_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/downloads","issues_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drnic/javascript-unittest-tmbundle/labels{/name}"},{"id":273,"name":"eycap","full_name":"engineyard/eycap","owner":{"login":"engineyard","id":81,"avatar_url":"https://0.gravatar.com/avatar/27f95ff21f0a4b94a72de0e8f780d4d2?d=https%3A%2F%2Fidenticons.github.com%2F43ec517d68b6edd3015b3edc9a11367b.png","gravatar_id":"27f95ff21f0a4b94a72de0e8f780d4d2","url":"https://api.github.com/users/engineyard","html_url":"https://github.com/engineyard","followers_url":"https://api.github.com/users/engineyard/followers","following_url":"https://api.github.com/users/engineyard/following{/other_user}","gists_url":"https://api.github.com/users/engineyard/gists{/gist_id}","starred_url":"https://api.github.com/users/engineyard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/engineyard/subscriptions","organizations_url":"https://api.github.com/users/engineyard/orgs","repos_url":"https://api.github.com/users/engineyard/repos","events_url":"https://api.github.com/users/engineyard/events{/privacy}","received_events_url":"https://api.github.com/users/engineyard/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/engineyard/eycap","description":"Engine Yard specific capistrano recipes","fork":false,"url":"https://api.github.com/repos/engineyard/eycap","forks_url":"https://api.github.com/repos/engineyard/eycap/forks","keys_url":"https://api.github.com/repos/engineyard/eycap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/engineyard/eycap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/engineyard/eycap/teams","hooks_url":"https://api.github.com/repos/engineyard/eycap/hooks","issue_events_url":"https://api.github.com/repos/engineyard/eycap/issues/events{/number}","events_url":"https://api.github.com/repos/engineyard/eycap/events","assignees_url":"https://api.github.com/repos/engineyard/eycap/assignees{/user}","branches_url":"https://api.github.com/repos/engineyard/eycap/branches{/branch}","tags_url":"https://api.github.com/repos/engineyard/eycap/tags","blobs_url":"https://api.github.com/repos/engineyard/eycap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/engineyard/eycap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/engineyard/eycap/git/refs{/sha}","trees_url":"https://api.github.com/repos/engineyard/eycap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/engineyard/eycap/statuses/{sha}","languages_url":"https://api.github.com/repos/engineyard/eycap/languages","stargazers_url":"https://api.github.com/repos/engineyard/eycap/stargazers","contributors_url":"https://api.github.com/repos/engineyard/eycap/contributors","subscribers_url":"https://api.github.com/repos/engineyard/eycap/subscribers","subscription_url":"https://api.github.com/repos/engineyard/eycap/subscription","commits_url":"https://api.github.com/repos/engineyard/eycap/commits{/sha}","git_commits_url":"https://api.github.com/repos/engineyard/eycap/git/commits{/sha}","comments_url":"https://api.github.com/repos/engineyard/eycap/comments{/number}","issue_comment_url":"https://api.github.com/repos/engineyard/eycap/issues/comments/{number}","contents_url":"https://api.github.com/repos/engineyard/eycap/contents/{+path}","compare_url":"https://api.github.com/repos/engineyard/eycap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/engineyard/eycap/merges","archive_url":"https://api.github.com/repos/engineyard/eycap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/engineyard/eycap/downloads","issues_url":"https://api.github.com/repos/engineyard/eycap/issues{/number}","pulls_url":"https://api.github.com/repos/engineyard/eycap/pulls{/number}","milestones_url":"https://api.github.com/repos/engineyard/eycap/milestones{/number}","notifications_url":"https://api.github.com/repos/engineyard/eycap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/engineyard/eycap/labels{/name}"},{"id":279,"name":"gitsum","full_name":"chneukirchen/gitsum","owner":{"login":"chneukirchen","id":139,"avatar_url":"https://0.gravatar.com/avatar/7264fb16beeea92b89bb42023738259d?d=https%3A%2F%2Fidenticons.github.com%2Fe00da03b685a0dd18fb6a08af0923de0.png","gravatar_id":"7264fb16beeea92b89bb42023738259d","url":"https://api.github.com/users/chneukirchen","html_url":"https://github.com/chneukirchen","followers_url":"https://api.github.com/users/chneukirchen/followers","following_url":"https://api.github.com/users/chneukirchen/following{/other_user}","gists_url":"https://api.github.com/users/chneukirchen/gists{/gist_id}","starred_url":"https://api.github.com/users/chneukirchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chneukirchen/subscriptions","organizations_url":"https://api.github.com/users/chneukirchen/orgs","repos_url":"https://api.github.com/users/chneukirchen/repos","events_url":"https://api.github.com/users/chneukirchen/events{/privacy}","received_events_url":"https://api.github.com/users/chneukirchen/received_events","type":"User"},"private":false,"html_url":"https://github.com/chneukirchen/gitsum","description":"basic darcsum feelalike for Git","fork":false,"url":"https://api.github.com/repos/chneukirchen/gitsum","forks_url":"https://api.github.com/repos/chneukirchen/gitsum/forks","keys_url":"https://api.github.com/repos/chneukirchen/gitsum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chneukirchen/gitsum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chneukirchen/gitsum/teams","hooks_url":"https://api.github.com/repos/chneukirchen/gitsum/hooks","issue_events_url":"https://api.github.com/repos/chneukirchen/gitsum/issues/events{/number}","events_url":"https://api.github.com/repos/chneukirchen/gitsum/events","assignees_url":"https://api.github.com/repos/chneukirchen/gitsum/assignees{/user}","branches_url":"https://api.github.com/repos/chneukirchen/gitsum/branches{/branch}","tags_url":"https://api.github.com/repos/chneukirchen/gitsum/tags","blobs_url":"https://api.github.com/repos/chneukirchen/gitsum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chneukirchen/gitsum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chneukirchen/gitsum/git/refs{/sha}","trees_url":"https://api.github.com/repos/chneukirchen/gitsum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chneukirchen/gitsum/statuses/{sha}","languages_url":"https://api.github.com/repos/chneukirchen/gitsum/languages","stargazers_url":"https://api.github.com/repos/chneukirchen/gitsum/stargazers","contributors_url":"https://api.github.com/repos/chneukirchen/gitsum/contributors","subscribers_url":"https://api.github.com/repos/chneukirchen/gitsum/subscribers","subscription_url":"https://api.github.com/repos/chneukirchen/gitsum/subscription","commits_url":"https://api.github.com/repos/chneukirchen/gitsum/commits{/sha}","git_commits_url":"https://api.github.com/repos/chneukirchen/gitsum/git/commits{/sha}","comments_url":"https://api.github.com/repos/chneukirchen/gitsum/comments{/number}","issue_comment_url":"https://api.github.com/repos/chneukirchen/gitsum/issues/comments/{number}","contents_url":"https://api.github.com/repos/chneukirchen/gitsum/contents/{+path}","compare_url":"https://api.github.com/repos/chneukirchen/gitsum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chneukirchen/gitsum/merges","archive_url":"https://api.github.com/repos/chneukirchen/gitsum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chneukirchen/gitsum/downloads","issues_url":"https://api.github.com/repos/chneukirchen/gitsum/issues{/number}","pulls_url":"https://api.github.com/repos/chneukirchen/gitsum/pulls{/number}","milestones_url":"https://api.github.com/repos/chneukirchen/gitsum/milestones{/number}","notifications_url":"https://api.github.com/repos/chneukirchen/gitsum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chneukirchen/gitsum/labels{/name}"},{"id":284,"name":"ambition","full_name":"automatthew/ambition","owner":{"login":"automatthew","id":105,"avatar_url":"https://2.gravatar.com/avatar/491d5a2b6e9c9346e2d67da31a633457?d=https%3A%2F%2Fidenticons.github.com%2F65b9eea6e1cc6bb9f0cd2a47751a186f.png","gravatar_id":"491d5a2b6e9c9346e2d67da31a633457","url":"https://api.github.com/users/automatthew","html_url":"https://github.com/automatthew","followers_url":"https://api.github.com/users/automatthew/followers","following_url":"https://api.github.com/users/automatthew/following{/other_user}","gists_url":"https://api.github.com/users/automatthew/gists{/gist_id}","starred_url":"https://api.github.com/users/automatthew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/automatthew/subscriptions","organizations_url":"https://api.github.com/users/automatthew/orgs","repos_url":"https://api.github.com/users/automatthew/repos","events_url":"https://api.github.com/users/automatthew/events{/privacy}","received_events_url":"https://api.github.com/users/automatthew/received_events","type":"User"},"private":false,"html_url":"https://github.com/automatthew/ambition","description":"","fork":true,"url":"https://api.github.com/repos/automatthew/ambition","forks_url":"https://api.github.com/repos/automatthew/ambition/forks","keys_url":"https://api.github.com/repos/automatthew/ambition/keys{/key_id}","collaborators_url":"https://api.github.com/repos/automatthew/ambition/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/automatthew/ambition/teams","hooks_url":"https://api.github.com/repos/automatthew/ambition/hooks","issue_events_url":"https://api.github.com/repos/automatthew/ambition/issues/events{/number}","events_url":"https://api.github.com/repos/automatthew/ambition/events","assignees_url":"https://api.github.com/repos/automatthew/ambition/assignees{/user}","branches_url":"https://api.github.com/repos/automatthew/ambition/branches{/branch}","tags_url":"https://api.github.com/repos/automatthew/ambition/tags","blobs_url":"https://api.github.com/repos/automatthew/ambition/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/automatthew/ambition/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/automatthew/ambition/git/refs{/sha}","trees_url":"https://api.github.com/repos/automatthew/ambition/git/trees{/sha}","statuses_url":"https://api.github.com/repos/automatthew/ambition/statuses/{sha}","languages_url":"https://api.github.com/repos/automatthew/ambition/languages","stargazers_url":"https://api.github.com/repos/automatthew/ambition/stargazers","contributors_url":"https://api.github.com/repos/automatthew/ambition/contributors","subscribers_url":"https://api.github.com/repos/automatthew/ambition/subscribers","subscription_url":"https://api.github.com/repos/automatthew/ambition/subscription","commits_url":"https://api.github.com/repos/automatthew/ambition/commits{/sha}","git_commits_url":"https://api.github.com/repos/automatthew/ambition/git/commits{/sha}","comments_url":"https://api.github.com/repos/automatthew/ambition/comments{/number}","issue_comment_url":"https://api.github.com/repos/automatthew/ambition/issues/comments/{number}","contents_url":"https://api.github.com/repos/automatthew/ambition/contents/{+path}","compare_url":"https://api.github.com/repos/automatthew/ambition/compare/{base}...{head}","merges_url":"https://api.github.com/repos/automatthew/ambition/merges","archive_url":"https://api.github.com/repos/automatthew/ambition/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/automatthew/ambition/downloads","issues_url":"https://api.github.com/repos/automatthew/ambition/issues{/number}","pulls_url":"https://api.github.com/repos/automatthew/ambition/pulls{/number}","milestones_url":"https://api.github.com/repos/automatthew/ambition/milestones{/number}","notifications_url":"https://api.github.com/repos/automatthew/ambition/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/automatthew/ambition/labels{/name}"},{"id":293,"name":"sequel-model","full_name":"wayneeseguin/sequel-model","owner":{"login":"wayneeseguin","id":18,"avatar_url":"https://0.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https%3A%2F%2Fidenticons.github.com%2F6f4922f45568161a8cdf4ad2299f6d23.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},"private":false,"html_url":"https://github.com/wayneeseguin/sequel-model","description":"Sequel::Model (No longer working on this project)","fork":false,"url":"https://api.github.com/repos/wayneeseguin/sequel-model","forks_url":"https://api.github.com/repos/wayneeseguin/sequel-model/forks","keys_url":"https://api.github.com/repos/wayneeseguin/sequel-model/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wayneeseguin/sequel-model/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wayneeseguin/sequel-model/teams","hooks_url":"https://api.github.com/repos/wayneeseguin/sequel-model/hooks","issue_events_url":"https://api.github.com/repos/wayneeseguin/sequel-model/issues/events{/number}","events_url":"https://api.github.com/repos/wayneeseguin/sequel-model/events","assignees_url":"https://api.github.com/repos/wayneeseguin/sequel-model/assignees{/user}","branches_url":"https://api.github.com/repos/wayneeseguin/sequel-model/branches{/branch}","tags_url":"https://api.github.com/repos/wayneeseguin/sequel-model/tags","blobs_url":"https://api.github.com/repos/wayneeseguin/sequel-model/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wayneeseguin/sequel-model/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wayneeseguin/sequel-model/git/refs{/sha}","trees_url":"https://api.github.com/repos/wayneeseguin/sequel-model/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wayneeseguin/sequel-model/statuses/{sha}","languages_url":"https://api.github.com/repos/wayneeseguin/sequel-model/languages","stargazers_url":"https://api.github.com/repos/wayneeseguin/sequel-model/stargazers","contributors_url":"https://api.github.com/repos/wayneeseguin/sequel-model/contributors","subscribers_url":"https://api.github.com/repos/wayneeseguin/sequel-model/subscribers","subscription_url":"https://api.github.com/repos/wayneeseguin/sequel-model/subscription","commits_url":"https://api.github.com/repos/wayneeseguin/sequel-model/commits{/sha}","git_commits_url":"https://api.github.com/repos/wayneeseguin/sequel-model/git/commits{/sha}","comments_url":"https://api.github.com/repos/wayneeseguin/sequel-model/comments{/number}","issue_comment_url":"https://api.github.com/repos/wayneeseguin/sequel-model/issues/comments/{number}","contents_url":"https://api.github.com/repos/wayneeseguin/sequel-model/contents/{+path}","compare_url":"https://api.github.com/repos/wayneeseguin/sequel-model/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wayneeseguin/sequel-model/merges","archive_url":"https://api.github.com/repos/wayneeseguin/sequel-model/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wayneeseguin/sequel-model/downloads","issues_url":"https://api.github.com/repos/wayneeseguin/sequel-model/issues{/number}","pulls_url":"https://api.github.com/repos/wayneeseguin/sequel-model/pulls{/number}","milestones_url":"https://api.github.com/repos/wayneeseguin/sequel-model/milestones{/number}","notifications_url":"https://api.github.com/repos/wayneeseguin/sequel-model/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wayneeseguin/sequel-model/labels{/name}"},{"id":305,"name":"god","full_name":"kevinclark/god","owner":{"login":"kevinclark","id":20,"avatar_url":"https://1.gravatar.com/avatar/6f792b946bbf30845314eb501da5e040?d=https%3A%2F%2Fidenticons.github.com%2F98f13708210194c475687be6106a3b84.png","gravatar_id":"6f792b946bbf30845314eb501da5e040","url":"https://api.github.com/users/kevinclark","html_url":"https://github.com/kevinclark","followers_url":"https://api.github.com/users/kevinclark/followers","following_url":"https://api.github.com/users/kevinclark/following{/other_user}","gists_url":"https://api.github.com/users/kevinclark/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinclark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinclark/subscriptions","organizations_url":"https://api.github.com/users/kevinclark/orgs","repos_url":"https://api.github.com/users/kevinclark/repos","events_url":"https://api.github.com/users/kevinclark/events{/privacy}","received_events_url":"https://api.github.com/users/kevinclark/received_events","type":"User"},"private":false,"html_url":"https://github.com/kevinclark/god","description":"Ruby process monitor","fork":true,"url":"https://api.github.com/repos/kevinclark/god","forks_url":"https://api.github.com/repos/kevinclark/god/forks","keys_url":"https://api.github.com/repos/kevinclark/god/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kevinclark/god/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kevinclark/god/teams","hooks_url":"https://api.github.com/repos/kevinclark/god/hooks","issue_events_url":"https://api.github.com/repos/kevinclark/god/issues/events{/number}","events_url":"https://api.github.com/repos/kevinclark/god/events","assignees_url":"https://api.github.com/repos/kevinclark/god/assignees{/user}","branches_url":"https://api.github.com/repos/kevinclark/god/branches{/branch}","tags_url":"https://api.github.com/repos/kevinclark/god/tags","blobs_url":"https://api.github.com/repos/kevinclark/god/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kevinclark/god/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kevinclark/god/git/refs{/sha}","trees_url":"https://api.github.com/repos/kevinclark/god/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kevinclark/god/statuses/{sha}","languages_url":"https://api.github.com/repos/kevinclark/god/languages","stargazers_url":"https://api.github.com/repos/kevinclark/god/stargazers","contributors_url":"https://api.github.com/repos/kevinclark/god/contributors","subscribers_url":"https://api.github.com/repos/kevinclark/god/subscribers","subscription_url":"https://api.github.com/repos/kevinclark/god/subscription","commits_url":"https://api.github.com/repos/kevinclark/god/commits{/sha}","git_commits_url":"https://api.github.com/repos/kevinclark/god/git/commits{/sha}","comments_url":"https://api.github.com/repos/kevinclark/god/comments{/number}","issue_comment_url":"https://api.github.com/repos/kevinclark/god/issues/comments/{number}","contents_url":"https://api.github.com/repos/kevinclark/god/contents/{+path}","compare_url":"https://api.github.com/repos/kevinclark/god/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kevinclark/god/merges","archive_url":"https://api.github.com/repos/kevinclark/god/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kevinclark/god/downloads","issues_url":"https://api.github.com/repos/kevinclark/god/issues{/number}","pulls_url":"https://api.github.com/repos/kevinclark/god/pulls{/number}","milestones_url":"https://api.github.com/repos/kevinclark/god/milestones{/number}","notifications_url":"https://api.github.com/repos/kevinclark/god/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kevinclark/god/labels{/name}"},{"id":307,"name":"blerb-core","full_name":"hornbeck/blerb-core","owner":{"login":"hornbeck","id":49,"avatar_url":"https://2.gravatar.com/avatar/47093444301bbde90d0aef5fa5c3ac86?d=https%3A%2F%2Fidenticons.github.com%2Ff457c545a9ded88f18ecee47145a72c0.png","gravatar_id":"47093444301bbde90d0aef5fa5c3ac86","url":"https://api.github.com/users/hornbeck","html_url":"https://github.com/hornbeck","followers_url":"https://api.github.com/users/hornbeck/followers","following_url":"https://api.github.com/users/hornbeck/following{/other_user}","gists_url":"https://api.github.com/users/hornbeck/gists{/gist_id}","starred_url":"https://api.github.com/users/hornbeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hornbeck/subscriptions","organizations_url":"https://api.github.com/users/hornbeck/orgs","repos_url":"https://api.github.com/users/hornbeck/repos","events_url":"https://api.github.com/users/hornbeck/events{/privacy}","received_events_url":"https://api.github.com/users/hornbeck/received_events","type":"User"},"private":false,"html_url":"https://github.com/hornbeck/blerb-core","description":"blerb running on merb-core","fork":false,"url":"https://api.github.com/repos/hornbeck/blerb-core","forks_url":"https://api.github.com/repos/hornbeck/blerb-core/forks","keys_url":"https://api.github.com/repos/hornbeck/blerb-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hornbeck/blerb-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hornbeck/blerb-core/teams","hooks_url":"https://api.github.com/repos/hornbeck/blerb-core/hooks","issue_events_url":"https://api.github.com/repos/hornbeck/blerb-core/issues/events{/number}","events_url":"https://api.github.com/repos/hornbeck/blerb-core/events","assignees_url":"https://api.github.com/repos/hornbeck/blerb-core/assignees{/user}","branches_url":"https://api.github.com/repos/hornbeck/blerb-core/branches{/branch}","tags_url":"https://api.github.com/repos/hornbeck/blerb-core/tags","blobs_url":"https://api.github.com/repos/hornbeck/blerb-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hornbeck/blerb-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hornbeck/blerb-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/hornbeck/blerb-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hornbeck/blerb-core/statuses/{sha}","languages_url":"https://api.github.com/repos/hornbeck/blerb-core/languages","stargazers_url":"https://api.github.com/repos/hornbeck/blerb-core/stargazers","contributors_url":"https://api.github.com/repos/hornbeck/blerb-core/contributors","subscribers_url":"https://api.github.com/repos/hornbeck/blerb-core/subscribers","subscription_url":"https://api.github.com/repos/hornbeck/blerb-core/subscription","commits_url":"https://api.github.com/repos/hornbeck/blerb-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/hornbeck/blerb-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/hornbeck/blerb-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/hornbeck/blerb-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/hornbeck/blerb-core/contents/{+path}","compare_url":"https://api.github.com/repos/hornbeck/blerb-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hornbeck/blerb-core/merges","archive_url":"https://api.github.com/repos/hornbeck/blerb-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hornbeck/blerb-core/downloads","issues_url":"https://api.github.com/repos/hornbeck/blerb-core/issues{/number}","pulls_url":"https://api.github.com/repos/hornbeck/blerb-core/pulls{/number}","milestones_url":"https://api.github.com/repos/hornbeck/blerb-core/milestones{/number}","notifications_url":"https://api.github.com/repos/hornbeck/blerb-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hornbeck/blerb-core/labels{/name}"},{"id":312,"name":"django-mptt","full_name":"brosner/django-mptt","owner":{"login":"brosner","id":124,"avatar_url":"https://0.gravatar.com/avatar/b7472bc7aa45c70641c299e9408b78ab?d=https%3A%2F%2Fidenticons.github.com%2Fc8ffe9a587b126f152ed3d89a146b445.png","gravatar_id":"b7472bc7aa45c70641c299e9408b78ab","url":"https://api.github.com/users/brosner","html_url":"https://github.com/brosner","followers_url":"https://api.github.com/users/brosner/followers","following_url":"https://api.github.com/users/brosner/following{/other_user}","gists_url":"https://api.github.com/users/brosner/gists{/gist_id}","starred_url":"https://api.github.com/users/brosner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brosner/subscriptions","organizations_url":"https://api.github.com/users/brosner/orgs","repos_url":"https://api.github.com/users/brosner/repos","events_url":"https://api.github.com/users/brosner/events{/privacy}","received_events_url":"https://api.github.com/users/brosner/received_events","type":"User"},"private":false,"html_url":"https://github.com/brosner/django-mptt","description":"utilities for implementing a modified pre-order traversal tree in django","fork":true,"url":"https://api.github.com/repos/brosner/django-mptt","forks_url":"https://api.github.com/repos/brosner/django-mptt/forks","keys_url":"https://api.github.com/repos/brosner/django-mptt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/brosner/django-mptt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/brosner/django-mptt/teams","hooks_url":"https://api.github.com/repos/brosner/django-mptt/hooks","issue_events_url":"https://api.github.com/repos/brosner/django-mptt/issues/events{/number}","events_url":"https://api.github.com/repos/brosner/django-mptt/events","assignees_url":"https://api.github.com/repos/brosner/django-mptt/assignees{/user}","branches_url":"https://api.github.com/repos/brosner/django-mptt/branches{/branch}","tags_url":"https://api.github.com/repos/brosner/django-mptt/tags","blobs_url":"https://api.github.com/repos/brosner/django-mptt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/brosner/django-mptt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/brosner/django-mptt/git/refs{/sha}","trees_url":"https://api.github.com/repos/brosner/django-mptt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/brosner/django-mptt/statuses/{sha}","languages_url":"https://api.github.com/repos/brosner/django-mptt/languages","stargazers_url":"https://api.github.com/repos/brosner/django-mptt/stargazers","contributors_url":"https://api.github.com/repos/brosner/django-mptt/contributors","subscribers_url":"https://api.github.com/repos/brosner/django-mptt/subscribers","subscription_url":"https://api.github.com/repos/brosner/django-mptt/subscription","commits_url":"https://api.github.com/repos/brosner/django-mptt/commits{/sha}","git_commits_url":"https://api.github.com/repos/brosner/django-mptt/git/commits{/sha}","comments_url":"https://api.github.com/repos/brosner/django-mptt/comments{/number}","issue_comment_url":"https://api.github.com/repos/brosner/django-mptt/issues/comments/{number}","contents_url":"https://api.github.com/repos/brosner/django-mptt/contents/{+path}","compare_url":"https://api.github.com/repos/brosner/django-mptt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/brosner/django-mptt/merges","archive_url":"https://api.github.com/repos/brosner/django-mptt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/brosner/django-mptt/downloads","issues_url":"https://api.github.com/repos/brosner/django-mptt/issues{/number}","pulls_url":"https://api.github.com/repos/brosner/django-mptt/pulls{/number}","milestones_url":"https://api.github.com/repos/brosner/django-mptt/milestones{/number}","notifications_url":"https://api.github.com/repos/brosner/django-mptt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/brosner/django-mptt/labels{/name}"},{"id":314,"name":"bus-scheme","full_name":"technomancy/bus-scheme","owner":{"login":"technomancy","id":141,"avatar_url":"https://2.gravatar.com/avatar/22788ec68b2aee512f8f4c5d8ae819ae?d=https%3A%2F%2Fidenticons.github.com%2F0f28b5d49b3020afeecd95b4009adf4c.png","gravatar_id":"22788ec68b2aee512f8f4c5d8ae819ae","url":"https://api.github.com/users/technomancy","html_url":"https://github.com/technomancy","followers_url":"https://api.github.com/users/technomancy/followers","following_url":"https://api.github.com/users/technomancy/following{/other_user}","gists_url":"https://api.github.com/users/technomancy/gists{/gist_id}","starred_url":"https://api.github.com/users/technomancy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technomancy/subscriptions","organizations_url":"https://api.github.com/users/technomancy/orgs","repos_url":"https://api.github.com/users/technomancy/repos","events_url":"https://api.github.com/users/technomancy/events{/privacy}","received_events_url":"https://api.github.com/users/technomancy/received_events","type":"User"},"private":false,"html_url":"https://github.com/technomancy/bus-scheme","description":"a Scheme written in Ruby, but implemented on the bus!","fork":false,"url":"https://api.github.com/repos/technomancy/bus-scheme","forks_url":"https://api.github.com/repos/technomancy/bus-scheme/forks","keys_url":"https://api.github.com/repos/technomancy/bus-scheme/keys{/key_id}","collaborators_url":"https://api.github.com/repos/technomancy/bus-scheme/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/technomancy/bus-scheme/teams","hooks_url":"https://api.github.com/repos/technomancy/bus-scheme/hooks","issue_events_url":"https://api.github.com/repos/technomancy/bus-scheme/issues/events{/number}","events_url":"https://api.github.com/repos/technomancy/bus-scheme/events","assignees_url":"https://api.github.com/repos/technomancy/bus-scheme/assignees{/user}","branches_url":"https://api.github.com/repos/technomancy/bus-scheme/branches{/branch}","tags_url":"https://api.github.com/repos/technomancy/bus-scheme/tags","blobs_url":"https://api.github.com/repos/technomancy/bus-scheme/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/technomancy/bus-scheme/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/technomancy/bus-scheme/git/refs{/sha}","trees_url":"https://api.github.com/repos/technomancy/bus-scheme/git/trees{/sha}","statuses_url":"https://api.github.com/repos/technomancy/bus-scheme/statuses/{sha}","languages_url":"https://api.github.com/repos/technomancy/bus-scheme/languages","stargazers_url":"https://api.github.com/repos/technomancy/bus-scheme/stargazers","contributors_url":"https://api.github.com/repos/technomancy/bus-scheme/contributors","subscribers_url":"https://api.github.com/repos/technomancy/bus-scheme/subscribers","subscription_url":"https://api.github.com/repos/technomancy/bus-scheme/subscription","commits_url":"https://api.github.com/repos/technomancy/bus-scheme/commits{/sha}","git_commits_url":"https://api.github.com/repos/technomancy/bus-scheme/git/commits{/sha}","comments_url":"https://api.github.com/repos/technomancy/bus-scheme/comments{/number}","issue_comment_url":"https://api.github.com/repos/technomancy/bus-scheme/issues/comments/{number}","contents_url":"https://api.github.com/repos/technomancy/bus-scheme/contents/{+path}","compare_url":"https://api.github.com/repos/technomancy/bus-scheme/compare/{base}...{head}","merges_url":"https://api.github.com/repos/technomancy/bus-scheme/merges","archive_url":"https://api.github.com/repos/technomancy/bus-scheme/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/technomancy/bus-scheme/downloads","issues_url":"https://api.github.com/repos/technomancy/bus-scheme/issues{/number}","pulls_url":"https://api.github.com/repos/technomancy/bus-scheme/pulls{/number}","milestones_url":"https://api.github.com/repos/technomancy/bus-scheme/milestones{/number}","notifications_url":"https://api.github.com/repos/technomancy/bus-scheme/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/technomancy/bus-scheme/labels{/name}"},{"id":319,"name":"javascript-bits","full_name":"Caged/javascript-bits","owner":{"login":"Caged","id":25,"avatar_url":"https://2.gravatar.com/avatar/97c3a8eea9b7eaa9e1e93ea3cd47399f?d=https%3A%2F%2Fidenticons.github.com%2F8e296a067a37563370ded05f5a3bf3ec.png","gravatar_id":"97c3a8eea9b7eaa9e1e93ea3cd47399f","url":"https://api.github.com/users/Caged","html_url":"https://github.com/Caged","followers_url":"https://api.github.com/users/Caged/followers","following_url":"https://api.github.com/users/Caged/following{/other_user}","gists_url":"https://api.github.com/users/Caged/gists{/gist_id}","starred_url":"https://api.github.com/users/Caged/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Caged/subscriptions","organizations_url":"https://api.github.com/users/Caged/orgs","repos_url":"https://api.github.com/users/Caged/repos","events_url":"https://api.github.com/users/Caged/events{/privacy}","received_events_url":"https://api.github.com/users/Caged/received_events","type":"User"},"private":false,"html_url":"https://github.com/Caged/javascript-bits","description":"Useful pieces of JavaScript. Some old, some new.","fork":false,"url":"https://api.github.com/repos/Caged/javascript-bits","forks_url":"https://api.github.com/repos/Caged/javascript-bits/forks","keys_url":"https://api.github.com/repos/Caged/javascript-bits/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Caged/javascript-bits/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Caged/javascript-bits/teams","hooks_url":"https://api.github.com/repos/Caged/javascript-bits/hooks","issue_events_url":"https://api.github.com/repos/Caged/javascript-bits/issues/events{/number}","events_url":"https://api.github.com/repos/Caged/javascript-bits/events","assignees_url":"https://api.github.com/repos/Caged/javascript-bits/assignees{/user}","branches_url":"https://api.github.com/repos/Caged/javascript-bits/branches{/branch}","tags_url":"https://api.github.com/repos/Caged/javascript-bits/tags","blobs_url":"https://api.github.com/repos/Caged/javascript-bits/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Caged/javascript-bits/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Caged/javascript-bits/git/refs{/sha}","trees_url":"https://api.github.com/repos/Caged/javascript-bits/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Caged/javascript-bits/statuses/{sha}","languages_url":"https://api.github.com/repos/Caged/javascript-bits/languages","stargazers_url":"https://api.github.com/repos/Caged/javascript-bits/stargazers","contributors_url":"https://api.github.com/repos/Caged/javascript-bits/contributors","subscribers_url":"https://api.github.com/repos/Caged/javascript-bits/subscribers","subscription_url":"https://api.github.com/repos/Caged/javascript-bits/subscription","commits_url":"https://api.github.com/repos/Caged/javascript-bits/commits{/sha}","git_commits_url":"https://api.github.com/repos/Caged/javascript-bits/git/commits{/sha}","comments_url":"https://api.github.com/repos/Caged/javascript-bits/comments{/number}","issue_comment_url":"https://api.github.com/repos/Caged/javascript-bits/issues/comments/{number}","contents_url":"https://api.github.com/repos/Caged/javascript-bits/contents/{+path}","compare_url":"https://api.github.com/repos/Caged/javascript-bits/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Caged/javascript-bits/merges","archive_url":"https://api.github.com/repos/Caged/javascript-bits/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Caged/javascript-bits/downloads","issues_url":"https://api.github.com/repos/Caged/javascript-bits/issues{/number}","pulls_url":"https://api.github.com/repos/Caged/javascript-bits/pulls{/number}","milestones_url":"https://api.github.com/repos/Caged/javascript-bits/milestones{/number}","notifications_url":"https://api.github.com/repos/Caged/javascript-bits/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Caged/javascript-bits/labels{/name}"},{"id":320,"name":"groomlake","full_name":"Caged/groomlake","owner":{"login":"Caged","id":25,"avatar_url":"https://2.gravatar.com/avatar/97c3a8eea9b7eaa9e1e93ea3cd47399f?d=https%3A%2F%2Fidenticons.github.com%2F8e296a067a37563370ded05f5a3bf3ec.png","gravatar_id":"97c3a8eea9b7eaa9e1e93ea3cd47399f","url":"https://api.github.com/users/Caged","html_url":"https://github.com/Caged","followers_url":"https://api.github.com/users/Caged/followers","following_url":"https://api.github.com/users/Caged/following{/other_user}","gists_url":"https://api.github.com/users/Caged/gists{/gist_id}","starred_url":"https://api.github.com/users/Caged/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Caged/subscriptions","organizations_url":"https://api.github.com/users/Caged/orgs","repos_url":"https://api.github.com/users/Caged/repos","events_url":"https://api.github.com/users/Caged/events{/privacy}","received_events_url":"https://api.github.com/users/Caged/received_events","type":"User"},"private":false,"html_url":"https://github.com/Caged/groomlake","description":"Ruby parsers for some Adobe file formats.","fork":false,"url":"https://api.github.com/repos/Caged/groomlake","forks_url":"https://api.github.com/repos/Caged/groomlake/forks","keys_url":"https://api.github.com/repos/Caged/groomlake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Caged/groomlake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Caged/groomlake/teams","hooks_url":"https://api.github.com/repos/Caged/groomlake/hooks","issue_events_url":"https://api.github.com/repos/Caged/groomlake/issues/events{/number}","events_url":"https://api.github.com/repos/Caged/groomlake/events","assignees_url":"https://api.github.com/repos/Caged/groomlake/assignees{/user}","branches_url":"https://api.github.com/repos/Caged/groomlake/branches{/branch}","tags_url":"https://api.github.com/repos/Caged/groomlake/tags","blobs_url":"https://api.github.com/repos/Caged/groomlake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Caged/groomlake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Caged/groomlake/git/refs{/sha}","trees_url":"https://api.github.com/repos/Caged/groomlake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Caged/groomlake/statuses/{sha}","languages_url":"https://api.github.com/repos/Caged/groomlake/languages","stargazers_url":"https://api.github.com/repos/Caged/groomlake/stargazers","contributors_url":"https://api.github.com/repos/Caged/groomlake/contributors","subscribers_url":"https://api.github.com/repos/Caged/groomlake/subscribers","subscription_url":"https://api.github.com/repos/Caged/groomlake/subscription","commits_url":"https://api.github.com/repos/Caged/groomlake/commits{/sha}","git_commits_url":"https://api.github.com/repos/Caged/groomlake/git/commits{/sha}","comments_url":"https://api.github.com/repos/Caged/groomlake/comments{/number}","issue_comment_url":"https://api.github.com/repos/Caged/groomlake/issues/comments/{number}","contents_url":"https://api.github.com/repos/Caged/groomlake/contents/{+path}","compare_url":"https://api.github.com/repos/Caged/groomlake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Caged/groomlake/merges","archive_url":"https://api.github.com/repos/Caged/groomlake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Caged/groomlake/downloads","issues_url":"https://api.github.com/repos/Caged/groomlake/issues{/number}","pulls_url":"https://api.github.com/repos/Caged/groomlake/pulls{/number}","milestones_url":"https://api.github.com/repos/Caged/groomlake/milestones{/number}","notifications_url":"https://api.github.com/repos/Caged/groomlake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Caged/groomlake/labels{/name}"},{"id":322,"name":"forgery","full_name":"sevenwire/forgery","owner":{"login":"sevenwire","id":150,"avatar_url":"https://1.gravatar.com/avatar/2d699571a445b9a9205779628fe9a818?d=https%3A%2F%2Fidenticons.github.com%2F7ef605fc8dba5425d6965fbd4c8fbe1f.png","gravatar_id":"2d699571a445b9a9205779628fe9a818","url":"https://api.github.com/users/sevenwire","html_url":"https://github.com/sevenwire","followers_url":"https://api.github.com/users/sevenwire/followers","following_url":"https://api.github.com/users/sevenwire/following{/other_user}","gists_url":"https://api.github.com/users/sevenwire/gists{/gist_id}","starred_url":"https://api.github.com/users/sevenwire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevenwire/subscriptions","organizations_url":"https://api.github.com/users/sevenwire/orgs","repos_url":"https://api.github.com/users/sevenwire/repos","events_url":"https://api.github.com/users/sevenwire/events{/privacy}","received_events_url":"https://api.github.com/users/sevenwire/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/sevenwire/forgery","description":"Easy and customizable generation of forged data.","fork":false,"url":"https://api.github.com/repos/sevenwire/forgery","forks_url":"https://api.github.com/repos/sevenwire/forgery/forks","keys_url":"https://api.github.com/repos/sevenwire/forgery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sevenwire/forgery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sevenwire/forgery/teams","hooks_url":"https://api.github.com/repos/sevenwire/forgery/hooks","issue_events_url":"https://api.github.com/repos/sevenwire/forgery/issues/events{/number}","events_url":"https://api.github.com/repos/sevenwire/forgery/events","assignees_url":"https://api.github.com/repos/sevenwire/forgery/assignees{/user}","branches_url":"https://api.github.com/repos/sevenwire/forgery/branches{/branch}","tags_url":"https://api.github.com/repos/sevenwire/forgery/tags","blobs_url":"https://api.github.com/repos/sevenwire/forgery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sevenwire/forgery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sevenwire/forgery/git/refs{/sha}","trees_url":"https://api.github.com/repos/sevenwire/forgery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sevenwire/forgery/statuses/{sha}","languages_url":"https://api.github.com/repos/sevenwire/forgery/languages","stargazers_url":"https://api.github.com/repos/sevenwire/forgery/stargazers","contributors_url":"https://api.github.com/repos/sevenwire/forgery/contributors","subscribers_url":"https://api.github.com/repos/sevenwire/forgery/subscribers","subscription_url":"https://api.github.com/repos/sevenwire/forgery/subscription","commits_url":"https://api.github.com/repos/sevenwire/forgery/commits{/sha}","git_commits_url":"https://api.github.com/repos/sevenwire/forgery/git/commits{/sha}","comments_url":"https://api.github.com/repos/sevenwire/forgery/comments{/number}","issue_comment_url":"https://api.github.com/repos/sevenwire/forgery/issues/comments/{number}","contents_url":"https://api.github.com/repos/sevenwire/forgery/contents/{+path}","compare_url":"https://api.github.com/repos/sevenwire/forgery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sevenwire/forgery/merges","archive_url":"https://api.github.com/repos/sevenwire/forgery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sevenwire/forgery/downloads","issues_url":"https://api.github.com/repos/sevenwire/forgery/issues{/number}","pulls_url":"https://api.github.com/repos/sevenwire/forgery/pulls{/number}","milestones_url":"https://api.github.com/repos/sevenwire/forgery/milestones{/number}","notifications_url":"https://api.github.com/repos/sevenwire/forgery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sevenwire/forgery/labels{/name}"},{"id":324,"name":"ambitious-sphinx","full_name":"technicalpickles/ambitious-sphinx","owner":{"login":"technicalpickles","id":159,"avatar_url":"https://0.gravatar.com/avatar/1c1aabc1abed5cce37b192dd00f0f28c?d=https%3A%2F%2Fidenticons.github.com%2F140f6969d5213fd0ece03148e62e461e.png","gravatar_id":"1c1aabc1abed5cce37b192dd00f0f28c","url":"https://api.github.com/users/technicalpickles","html_url":"https://github.com/technicalpickles","followers_url":"https://api.github.com/users/technicalpickles/followers","following_url":"https://api.github.com/users/technicalpickles/following{/other_user}","gists_url":"https://api.github.com/users/technicalpickles/gists{/gist_id}","starred_url":"https://api.github.com/users/technicalpickles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technicalpickles/subscriptions","organizations_url":"https://api.github.com/users/technicalpickles/orgs","repos_url":"https://api.github.com/users/technicalpickles/repos","events_url":"https://api.github.com/users/technicalpickles/events{/privacy}","received_events_url":"https://api.github.com/users/technicalpickles/received_events","type":"User"},"private":false,"html_url":"https://github.com/technicalpickles/ambitious-sphinx","description":"Ambition adapter for Sphinx","fork":false,"url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx","forks_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/forks","keys_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/teams","hooks_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/hooks","issue_events_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/issues/events{/number}","events_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/events","assignees_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/assignees{/user}","branches_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/branches{/branch}","tags_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/tags","blobs_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/git/refs{/sha}","trees_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/statuses/{sha}","languages_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/languages","stargazers_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/stargazers","contributors_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/contributors","subscribers_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/subscribers","subscription_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/subscription","commits_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/commits{/sha}","git_commits_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/git/commits{/sha}","comments_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/comments{/number}","issue_comment_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/issues/comments/{number}","contents_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/contents/{+path}","compare_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/merges","archive_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/downloads","issues_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/issues{/number}","pulls_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/pulls{/number}","milestones_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/milestones{/number}","notifications_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/technicalpickles/ambitious-sphinx/labels{/name}"},{"id":329,"name":"soup","full_name":"lazyatom/soup","owner":{"login":"lazyatom","id":145,"avatar_url":"https://0.gravatar.com/avatar/acd62030df551952268e84c8fff26a5b?d=https%3A%2F%2Fidenticons.github.com%2F2b24d495052a8ce66358eb576b8912c8.png","gravatar_id":"acd62030df551952268e84c8fff26a5b","url":"https://api.github.com/users/lazyatom","html_url":"https://github.com/lazyatom","followers_url":"https://api.github.com/users/lazyatom/followers","following_url":"https://api.github.com/users/lazyatom/following{/other_user}","gists_url":"https://api.github.com/users/lazyatom/gists{/gist_id}","starred_url":"https://api.github.com/users/lazyatom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lazyatom/subscriptions","organizations_url":"https://api.github.com/users/lazyatom/orgs","repos_url":"https://api.github.com/users/lazyatom/repos","events_url":"https://api.github.com/users/lazyatom/events{/privacy}","received_events_url":"https://api.github.com/users/lazyatom/received_events","type":"User"},"private":false,"html_url":"https://github.com/lazyatom/soup","description":"I suppose it's a document database. Or a tuple store. But really, it's just data sloshing around, waiting to be used.","fork":false,"url":"https://api.github.com/repos/lazyatom/soup","forks_url":"https://api.github.com/repos/lazyatom/soup/forks","keys_url":"https://api.github.com/repos/lazyatom/soup/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lazyatom/soup/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lazyatom/soup/teams","hooks_url":"https://api.github.com/repos/lazyatom/soup/hooks","issue_events_url":"https://api.github.com/repos/lazyatom/soup/issues/events{/number}","events_url":"https://api.github.com/repos/lazyatom/soup/events","assignees_url":"https://api.github.com/repos/lazyatom/soup/assignees{/user}","branches_url":"https://api.github.com/repos/lazyatom/soup/branches{/branch}","tags_url":"https://api.github.com/repos/lazyatom/soup/tags","blobs_url":"https://api.github.com/repos/lazyatom/soup/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lazyatom/soup/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lazyatom/soup/git/refs{/sha}","trees_url":"https://api.github.com/repos/lazyatom/soup/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lazyatom/soup/statuses/{sha}","languages_url":"https://api.github.com/repos/lazyatom/soup/languages","stargazers_url":"https://api.github.com/repos/lazyatom/soup/stargazers","contributors_url":"https://api.github.com/repos/lazyatom/soup/contributors","subscribers_url":"https://api.github.com/repos/lazyatom/soup/subscribers","subscription_url":"https://api.github.com/repos/lazyatom/soup/subscription","commits_url":"https://api.github.com/repos/lazyatom/soup/commits{/sha}","git_commits_url":"https://api.github.com/repos/lazyatom/soup/git/commits{/sha}","comments_url":"https://api.github.com/repos/lazyatom/soup/comments{/number}","issue_comment_url":"https://api.github.com/repos/lazyatom/soup/issues/comments/{number}","contents_url":"https://api.github.com/repos/lazyatom/soup/contents/{+path}","compare_url":"https://api.github.com/repos/lazyatom/soup/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lazyatom/soup/merges","archive_url":"https://api.github.com/repos/lazyatom/soup/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lazyatom/soup/downloads","issues_url":"https://api.github.com/repos/lazyatom/soup/issues{/number}","pulls_url":"https://api.github.com/repos/lazyatom/soup/pulls{/number}","milestones_url":"https://api.github.com/repos/lazyatom/soup/milestones{/number}","notifications_url":"https://api.github.com/repos/lazyatom/soup/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lazyatom/soup/labels{/name}"},{"id":332,"name":"rails","full_name":"josh/rails","owner":{"login":"josh","id":137,"avatar_url":"https://2.gravatar.com/avatar/bbe5dc8dcf248706525ab76f46185520?d=https%3A%2F%2Fidenticons.github.com%2F3988c7f88ebcb58c6ce932b957b6f332.png","gravatar_id":"bbe5dc8dcf248706525ab76f46185520","url":"https://api.github.com/users/josh","html_url":"https://github.com/josh","followers_url":"https://api.github.com/users/josh/followers","following_url":"https://api.github.com/users/josh/following{/other_user}","gists_url":"https://api.github.com/users/josh/gists{/gist_id}","starred_url":"https://api.github.com/users/josh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josh/subscriptions","organizations_url":"https://api.github.com/users/josh/orgs","repos_url":"https://api.github.com/users/josh/repos","events_url":"https://api.github.com/users/josh/events{/privacy}","received_events_url":"https://api.github.com/users/josh/received_events","type":"User"},"private":false,"html_url":"https://github.com/josh/rails","description":"Ruby on Rails","fork":true,"url":"https://api.github.com/repos/josh/rails","forks_url":"https://api.github.com/repos/josh/rails/forks","keys_url":"https://api.github.com/repos/josh/rails/keys{/key_id}","collaborators_url":"https://api.github.com/repos/josh/rails/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/josh/rails/teams","hooks_url":"https://api.github.com/repos/josh/rails/hooks","issue_events_url":"https://api.github.com/repos/josh/rails/issues/events{/number}","events_url":"https://api.github.com/repos/josh/rails/events","assignees_url":"https://api.github.com/repos/josh/rails/assignees{/user}","branches_url":"https://api.github.com/repos/josh/rails/branches{/branch}","tags_url":"https://api.github.com/repos/josh/rails/tags","blobs_url":"https://api.github.com/repos/josh/rails/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/josh/rails/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/josh/rails/git/refs{/sha}","trees_url":"https://api.github.com/repos/josh/rails/git/trees{/sha}","statuses_url":"https://api.github.com/repos/josh/rails/statuses/{sha}","languages_url":"https://api.github.com/repos/josh/rails/languages","stargazers_url":"https://api.github.com/repos/josh/rails/stargazers","contributors_url":"https://api.github.com/repos/josh/rails/contributors","subscribers_url":"https://api.github.com/repos/josh/rails/subscribers","subscription_url":"https://api.github.com/repos/josh/rails/subscription","commits_url":"https://api.github.com/repos/josh/rails/commits{/sha}","git_commits_url":"https://api.github.com/repos/josh/rails/git/commits{/sha}","comments_url":"https://api.github.com/repos/josh/rails/comments{/number}","issue_comment_url":"https://api.github.com/repos/josh/rails/issues/comments/{number}","contents_url":"https://api.github.com/repos/josh/rails/contents/{+path}","compare_url":"https://api.github.com/repos/josh/rails/compare/{base}...{head}","merges_url":"https://api.github.com/repos/josh/rails/merges","archive_url":"https://api.github.com/repos/josh/rails/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/josh/rails/downloads","issues_url":"https://api.github.com/repos/josh/rails/issues{/number}","pulls_url":"https://api.github.com/repos/josh/rails/pulls{/number}","milestones_url":"https://api.github.com/repos/josh/rails/milestones{/number}","notifications_url":"https://api.github.com/repos/josh/rails/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/josh/rails/labels{/name}"},{"id":334,"name":"backpacking","full_name":"cdcarter/backpacking","owner":{"login":"cdcarter","id":164,"avatar_url":"https://1.gravatar.com/avatar/96931bfe0c2948f47a98e15ae52e5637?d=https%3A%2F%2Fidenticons.github.com%2Ffa7cdfad1a5aaf8370ebeda47a1ff1c3.png","gravatar_id":"96931bfe0c2948f47a98e15ae52e5637","url":"https://api.github.com/users/cdcarter","html_url":"https://github.com/cdcarter","followers_url":"https://api.github.com/users/cdcarter/followers","following_url":"https://api.github.com/users/cdcarter/following{/other_user}","gists_url":"https://api.github.com/users/cdcarter/gists{/gist_id}","starred_url":"https://api.github.com/users/cdcarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdcarter/subscriptions","organizations_url":"https://api.github.com/users/cdcarter/orgs","repos_url":"https://api.github.com/users/cdcarter/repos","events_url":"https://api.github.com/users/cdcarter/events{/privacy}","received_events_url":"https://api.github.com/users/cdcarter/received_events","type":"User"},"private":false,"html_url":"https://github.com/cdcarter/backpacking","description":"An Io web framework of sorts","fork":false,"url":"https://api.github.com/repos/cdcarter/backpacking","forks_url":"https://api.github.com/repos/cdcarter/backpacking/forks","keys_url":"https://api.github.com/repos/cdcarter/backpacking/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cdcarter/backpacking/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cdcarter/backpacking/teams","hooks_url":"https://api.github.com/repos/cdcarter/backpacking/hooks","issue_events_url":"https://api.github.com/repos/cdcarter/backpacking/issues/events{/number}","events_url":"https://api.github.com/repos/cdcarter/backpacking/events","assignees_url":"https://api.github.com/repos/cdcarter/backpacking/assignees{/user}","branches_url":"https://api.github.com/repos/cdcarter/backpacking/branches{/branch}","tags_url":"https://api.github.com/repos/cdcarter/backpacking/tags","blobs_url":"https://api.github.com/repos/cdcarter/backpacking/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cdcarter/backpacking/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cdcarter/backpacking/git/refs{/sha}","trees_url":"https://api.github.com/repos/cdcarter/backpacking/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cdcarter/backpacking/statuses/{sha}","languages_url":"https://api.github.com/repos/cdcarter/backpacking/languages","stargazers_url":"https://api.github.com/repos/cdcarter/backpacking/stargazers","contributors_url":"https://api.github.com/repos/cdcarter/backpacking/contributors","subscribers_url":"https://api.github.com/repos/cdcarter/backpacking/subscribers","subscription_url":"https://api.github.com/repos/cdcarter/backpacking/subscription","commits_url":"https://api.github.com/repos/cdcarter/backpacking/commits{/sha}","git_commits_url":"https://api.github.com/repos/cdcarter/backpacking/git/commits{/sha}","comments_url":"https://api.github.com/repos/cdcarter/backpacking/comments{/number}","issue_comment_url":"https://api.github.com/repos/cdcarter/backpacking/issues/comments/{number}","contents_url":"https://api.github.com/repos/cdcarter/backpacking/contents/{+path}","compare_url":"https://api.github.com/repos/cdcarter/backpacking/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cdcarter/backpacking/merges","archive_url":"https://api.github.com/repos/cdcarter/backpacking/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cdcarter/backpacking/downloads","issues_url":"https://api.github.com/repos/cdcarter/backpacking/issues{/number}","pulls_url":"https://api.github.com/repos/cdcarter/backpacking/pulls{/number}","milestones_url":"https://api.github.com/repos/cdcarter/backpacking/milestones{/number}","notifications_url":"https://api.github.com/repos/cdcarter/backpacking/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cdcarter/backpacking/labels{/name}"},{"id":339,"name":"capsize","full_name":"jnewland/capsize","owner":{"login":"jnewland","id":47,"avatar_url":"https://1.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https%3A%2F%2Fidenticons.github.com%2F67c6a1e7ce56d3d6fa748ab6d9af3fd7.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},"private":false,"html_url":"https://github.com/jnewland/capsize","description":"A Capistrano extension for managing and running your app on Amazon EC2.","fork":false,"url":"https://api.github.com/repos/jnewland/capsize","forks_url":"https://api.github.com/repos/jnewland/capsize/forks","keys_url":"https://api.github.com/repos/jnewland/capsize/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jnewland/capsize/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jnewland/capsize/teams","hooks_url":"https://api.github.com/repos/jnewland/capsize/hooks","issue_events_url":"https://api.github.com/repos/jnewland/capsize/issues/events{/number}","events_url":"https://api.github.com/repos/jnewland/capsize/events","assignees_url":"https://api.github.com/repos/jnewland/capsize/assignees{/user}","branches_url":"https://api.github.com/repos/jnewland/capsize/branches{/branch}","tags_url":"https://api.github.com/repos/jnewland/capsize/tags","blobs_url":"https://api.github.com/repos/jnewland/capsize/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jnewland/capsize/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jnewland/capsize/git/refs{/sha}","trees_url":"https://api.github.com/repos/jnewland/capsize/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jnewland/capsize/statuses/{sha}","languages_url":"https://api.github.com/repos/jnewland/capsize/languages","stargazers_url":"https://api.github.com/repos/jnewland/capsize/stargazers","contributors_url":"https://api.github.com/repos/jnewland/capsize/contributors","subscribers_url":"https://api.github.com/repos/jnewland/capsize/subscribers","subscription_url":"https://api.github.com/repos/jnewland/capsize/subscription","commits_url":"https://api.github.com/repos/jnewland/capsize/commits{/sha}","git_commits_url":"https://api.github.com/repos/jnewland/capsize/git/commits{/sha}","comments_url":"https://api.github.com/repos/jnewland/capsize/comments{/number}","issue_comment_url":"https://api.github.com/repos/jnewland/capsize/issues/comments/{number}","contents_url":"https://api.github.com/repos/jnewland/capsize/contents/{+path}","compare_url":"https://api.github.com/repos/jnewland/capsize/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jnewland/capsize/merges","archive_url":"https://api.github.com/repos/jnewland/capsize/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jnewland/capsize/downloads","issues_url":"https://api.github.com/repos/jnewland/capsize/issues{/number}","pulls_url":"https://api.github.com/repos/jnewland/capsize/pulls{/number}","milestones_url":"https://api.github.com/repos/jnewland/capsize/milestones{/number}","notifications_url":"https://api.github.com/repos/jnewland/capsize/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jnewland/capsize/labels{/name}"},{"id":351,"name":"starling","full_name":"bs/starling","owner":{"login":"bs","id":68,"avatar_url":"https://0.gravatar.com/avatar/e9abc07e644756d917e9de193236fd39?d=https%3A%2F%2Fidenticons.github.com%2Fa3f390d88e4c41f2747bfa2f1b5f87db.png","gravatar_id":"e9abc07e644756d917e9de193236fd39","url":"https://api.github.com/users/bs","html_url":"https://github.com/bs","followers_url":"https://api.github.com/users/bs/followers","following_url":"https://api.github.com/users/bs/following{/other_user}","gists_url":"https://api.github.com/users/bs/gists{/gist_id}","starred_url":"https://api.github.com/users/bs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bs/subscriptions","organizations_url":"https://api.github.com/users/bs/orgs","repos_url":"https://api.github.com/users/bs/repos","events_url":"https://api.github.com/users/bs/events{/privacy}","received_events_url":"https://api.github.com/users/bs/received_events","type":"User"},"private":false,"html_url":"https://github.com/bs/starling","description":"Starling Message Queue","fork":false,"url":"https://api.github.com/repos/bs/starling","forks_url":"https://api.github.com/repos/bs/starling/forks","keys_url":"https://api.github.com/repos/bs/starling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bs/starling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bs/starling/teams","hooks_url":"https://api.github.com/repos/bs/starling/hooks","issue_events_url":"https://api.github.com/repos/bs/starling/issues/events{/number}","events_url":"https://api.github.com/repos/bs/starling/events","assignees_url":"https://api.github.com/repos/bs/starling/assignees{/user}","branches_url":"https://api.github.com/repos/bs/starling/branches{/branch}","tags_url":"https://api.github.com/repos/bs/starling/tags","blobs_url":"https://api.github.com/repos/bs/starling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bs/starling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bs/starling/git/refs{/sha}","trees_url":"https://api.github.com/repos/bs/starling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bs/starling/statuses/{sha}","languages_url":"https://api.github.com/repos/bs/starling/languages","stargazers_url":"https://api.github.com/repos/bs/starling/stargazers","contributors_url":"https://api.github.com/repos/bs/starling/contributors","subscribers_url":"https://api.github.com/repos/bs/starling/subscribers","subscription_url":"https://api.github.com/repos/bs/starling/subscription","commits_url":"https://api.github.com/repos/bs/starling/commits{/sha}","git_commits_url":"https://api.github.com/repos/bs/starling/git/commits{/sha}","comments_url":"https://api.github.com/repos/bs/starling/comments{/number}","issue_comment_url":"https://api.github.com/repos/bs/starling/issues/comments/{number}","contents_url":"https://api.github.com/repos/bs/starling/contents/{+path}","compare_url":"https://api.github.com/repos/bs/starling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bs/starling/merges","archive_url":"https://api.github.com/repos/bs/starling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bs/starling/downloads","issues_url":"https://api.github.com/repos/bs/starling/issues{/number}","pulls_url":"https://api.github.com/repos/bs/starling/pulls{/number}","milestones_url":"https://api.github.com/repos/bs/starling/milestones{/number}","notifications_url":"https://api.github.com/repos/bs/starling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bs/starling/labels{/name}"},{"id":360,"name":"ape","full_name":"sr/ape","owner":{"login":"sr","id":90,"avatar_url":"https://1.gravatar.com/avatar/8e0adf6f8274375b90a180d256d73bad?d=https%3A%2F%2Fidenticons.github.com%2F8613985ec49eb8f757ae6439e879bb2a.png","gravatar_id":"8e0adf6f8274375b90a180d256d73bad","url":"https://api.github.com/users/sr","html_url":"https://github.com/sr","followers_url":"https://api.github.com/users/sr/followers","following_url":"https://api.github.com/users/sr/following{/other_user}","gists_url":"https://api.github.com/users/sr/gists{/gist_id}","starred_url":"https://api.github.com/users/sr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sr/subscriptions","organizations_url":"https://api.github.com/users/sr/orgs","repos_url":"https://api.github.com/users/sr/repos","events_url":"https://api.github.com/users/sr/events{/privacy}","received_events_url":"https://api.github.com/users/sr/received_events","type":"User"},"private":false,"html_url":"https://github.com/sr/ape","description":"The Atom Protocol Exerciser","fork":false,"url":"https://api.github.com/repos/sr/ape","forks_url":"https://api.github.com/repos/sr/ape/forks","keys_url":"https://api.github.com/repos/sr/ape/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sr/ape/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sr/ape/teams","hooks_url":"https://api.github.com/repos/sr/ape/hooks","issue_events_url":"https://api.github.com/repos/sr/ape/issues/events{/number}","events_url":"https://api.github.com/repos/sr/ape/events","assignees_url":"https://api.github.com/repos/sr/ape/assignees{/user}","branches_url":"https://api.github.com/repos/sr/ape/branches{/branch}","tags_url":"https://api.github.com/repos/sr/ape/tags","blobs_url":"https://api.github.com/repos/sr/ape/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sr/ape/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sr/ape/git/refs{/sha}","trees_url":"https://api.github.com/repos/sr/ape/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sr/ape/statuses/{sha}","languages_url":"https://api.github.com/repos/sr/ape/languages","stargazers_url":"https://api.github.com/repos/sr/ape/stargazers","contributors_url":"https://api.github.com/repos/sr/ape/contributors","subscribers_url":"https://api.github.com/repos/sr/ape/subscribers","subscription_url":"https://api.github.com/repos/sr/ape/subscription","commits_url":"https://api.github.com/repos/sr/ape/commits{/sha}","git_commits_url":"https://api.github.com/repos/sr/ape/git/commits{/sha}","comments_url":"https://api.github.com/repos/sr/ape/comments{/number}","issue_comment_url":"https://api.github.com/repos/sr/ape/issues/comments/{number}","contents_url":"https://api.github.com/repos/sr/ape/contents/{+path}","compare_url":"https://api.github.com/repos/sr/ape/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sr/ape/merges","archive_url":"https://api.github.com/repos/sr/ape/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sr/ape/downloads","issues_url":"https://api.github.com/repos/sr/ape/issues{/number}","pulls_url":"https://api.github.com/repos/sr/ape/pulls{/number}","milestones_url":"https://api.github.com/repos/sr/ape/milestones{/number}","notifications_url":"https://api.github.com/repos/sr/ape/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sr/ape/labels{/name}"},{"id":362,"name":"awesomeness","full_name":"collectiveidea/awesomeness","owner":{"login":"collectiveidea","id":128,"avatar_url":"https://2.gravatar.com/avatar/13ff8dc8c2bf2a4752816e1e3f201a05?d=https%3A%2F%2Fidenticons.github.com%2F76dc611d6ebaafc66cc0879c71b5db5c.png","gravatar_id":"13ff8dc8c2bf2a4752816e1e3f201a05","url":"https://api.github.com/users/collectiveidea","html_url":"https://github.com/collectiveidea","followers_url":"https://api.github.com/users/collectiveidea/followers","following_url":"https://api.github.com/users/collectiveidea/following{/other_user}","gists_url":"https://api.github.com/users/collectiveidea/gists{/gist_id}","starred_url":"https://api.github.com/users/collectiveidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/collectiveidea/subscriptions","organizations_url":"https://api.github.com/users/collectiveidea/orgs","repos_url":"https://api.github.com/users/collectiveidea/repos","events_url":"https://api.github.com/users/collectiveidea/events{/privacy}","received_events_url":"https://api.github.com/users/collectiveidea/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/collectiveidea/awesomeness","description":"Collective Idea's Awesomeness. A collection of useful Rails bits and pieces.","fork":false,"url":"https://api.github.com/repos/collectiveidea/awesomeness","forks_url":"https://api.github.com/repos/collectiveidea/awesomeness/forks","keys_url":"https://api.github.com/repos/collectiveidea/awesomeness/keys{/key_id}","collaborators_url":"https://api.github.com/repos/collectiveidea/awesomeness/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/collectiveidea/awesomeness/teams","hooks_url":"https://api.github.com/repos/collectiveidea/awesomeness/hooks","issue_events_url":"https://api.github.com/repos/collectiveidea/awesomeness/issues/events{/number}","events_url":"https://api.github.com/repos/collectiveidea/awesomeness/events","assignees_url":"https://api.github.com/repos/collectiveidea/awesomeness/assignees{/user}","branches_url":"https://api.github.com/repos/collectiveidea/awesomeness/branches{/branch}","tags_url":"https://api.github.com/repos/collectiveidea/awesomeness/tags","blobs_url":"https://api.github.com/repos/collectiveidea/awesomeness/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/collectiveidea/awesomeness/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/collectiveidea/awesomeness/git/refs{/sha}","trees_url":"https://api.github.com/repos/collectiveidea/awesomeness/git/trees{/sha}","statuses_url":"https://api.github.com/repos/collectiveidea/awesomeness/statuses/{sha}","languages_url":"https://api.github.com/repos/collectiveidea/awesomeness/languages","stargazers_url":"https://api.github.com/repos/collectiveidea/awesomeness/stargazers","contributors_url":"https://api.github.com/repos/collectiveidea/awesomeness/contributors","subscribers_url":"https://api.github.com/repos/collectiveidea/awesomeness/subscribers","subscription_url":"https://api.github.com/repos/collectiveidea/awesomeness/subscription","commits_url":"https://api.github.com/repos/collectiveidea/awesomeness/commits{/sha}","git_commits_url":"https://api.github.com/repos/collectiveidea/awesomeness/git/commits{/sha}","comments_url":"https://api.github.com/repos/collectiveidea/awesomeness/comments{/number}","issue_comment_url":"https://api.github.com/repos/collectiveidea/awesomeness/issues/comments/{number}","contents_url":"https://api.github.com/repos/collectiveidea/awesomeness/contents/{+path}","compare_url":"https://api.github.com/repos/collectiveidea/awesomeness/compare/{base}...{head}","merges_url":"https://api.github.com/repos/collectiveidea/awesomeness/merges","archive_url":"https://api.github.com/repos/collectiveidea/awesomeness/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/collectiveidea/awesomeness/downloads","issues_url":"https://api.github.com/repos/collectiveidea/awesomeness/issues{/number}","pulls_url":"https://api.github.com/repos/collectiveidea/awesomeness/pulls{/number}","milestones_url":"https://api.github.com/repos/collectiveidea/awesomeness/milestones{/number}","notifications_url":"https://api.github.com/repos/collectiveidea/awesomeness/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/collectiveidea/awesomeness/labels{/name}"},{"id":363,"name":"audited","full_name":"collectiveidea/audited","owner":{"login":"collectiveidea","id":128,"avatar_url":"https://2.gravatar.com/avatar/13ff8dc8c2bf2a4752816e1e3f201a05?d=https%3A%2F%2Fidenticons.github.com%2F76dc611d6ebaafc66cc0879c71b5db5c.png","gravatar_id":"13ff8dc8c2bf2a4752816e1e3f201a05","url":"https://api.github.com/users/collectiveidea","html_url":"https://github.com/collectiveidea","followers_url":"https://api.github.com/users/collectiveidea/followers","following_url":"https://api.github.com/users/collectiveidea/following{/other_user}","gists_url":"https://api.github.com/users/collectiveidea/gists{/gist_id}","starred_url":"https://api.github.com/users/collectiveidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/collectiveidea/subscriptions","organizations_url":"https://api.github.com/users/collectiveidea/orgs","repos_url":"https://api.github.com/users/collectiveidea/repos","events_url":"https://api.github.com/users/collectiveidea/events{/privacy}","received_events_url":"https://api.github.com/users/collectiveidea/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/collectiveidea/audited","description":"Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.","fork":false,"url":"https://api.github.com/repos/collectiveidea/audited","forks_url":"https://api.github.com/repos/collectiveidea/audited/forks","keys_url":"https://api.github.com/repos/collectiveidea/audited/keys{/key_id}","collaborators_url":"https://api.github.com/repos/collectiveidea/audited/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/collectiveidea/audited/teams","hooks_url":"https://api.github.com/repos/collectiveidea/audited/hooks","issue_events_url":"https://api.github.com/repos/collectiveidea/audited/issues/events{/number}","events_url":"https://api.github.com/repos/collectiveidea/audited/events","assignees_url":"https://api.github.com/repos/collectiveidea/audited/assignees{/user}","branches_url":"https://api.github.com/repos/collectiveidea/audited/branches{/branch}","tags_url":"https://api.github.com/repos/collectiveidea/audited/tags","blobs_url":"https://api.github.com/repos/collectiveidea/audited/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/collectiveidea/audited/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/collectiveidea/audited/git/refs{/sha}","trees_url":"https://api.github.com/repos/collectiveidea/audited/git/trees{/sha}","statuses_url":"https://api.github.com/repos/collectiveidea/audited/statuses/{sha}","languages_url":"https://api.github.com/repos/collectiveidea/audited/languages","stargazers_url":"https://api.github.com/repos/collectiveidea/audited/stargazers","contributors_url":"https://api.github.com/repos/collectiveidea/audited/contributors","subscribers_url":"https://api.github.com/repos/collectiveidea/audited/subscribers","subscription_url":"https://api.github.com/repos/collectiveidea/audited/subscription","commits_url":"https://api.github.com/repos/collectiveidea/audited/commits{/sha}","git_commits_url":"https://api.github.com/repos/collectiveidea/audited/git/commits{/sha}","comments_url":"https://api.github.com/repos/collectiveidea/audited/comments{/number}","issue_comment_url":"https://api.github.com/repos/collectiveidea/audited/issues/comments/{number}","contents_url":"https://api.github.com/repos/collectiveidea/audited/contents/{+path}","compare_url":"https://api.github.com/repos/collectiveidea/audited/compare/{base}...{head}","merges_url":"https://api.github.com/repos/collectiveidea/audited/merges","archive_url":"https://api.github.com/repos/collectiveidea/audited/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/collectiveidea/audited/downloads","issues_url":"https://api.github.com/repos/collectiveidea/audited/issues{/number}","pulls_url":"https://api.github.com/repos/collectiveidea/audited/pulls{/number}","milestones_url":"https://api.github.com/repos/collectiveidea/audited/milestones{/number}","notifications_url":"https://api.github.com/repos/collectiveidea/audited/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/collectiveidea/audited/labels{/name}"},{"id":364,"name":"acts_as_geocodable","full_name":"collectiveidea/acts_as_geocodable","owner":{"login":"collectiveidea","id":128,"avatar_url":"https://2.gravatar.com/avatar/13ff8dc8c2bf2a4752816e1e3f201a05?d=https%3A%2F%2Fidenticons.github.com%2F76dc611d6ebaafc66cc0879c71b5db5c.png","gravatar_id":"13ff8dc8c2bf2a4752816e1e3f201a05","url":"https://api.github.com/users/collectiveidea","html_url":"https://github.com/collectiveidea","followers_url":"https://api.github.com/users/collectiveidea/followers","following_url":"https://api.github.com/users/collectiveidea/following{/other_user}","gists_url":"https://api.github.com/users/collectiveidea/gists{/gist_id}","starred_url":"https://api.github.com/users/collectiveidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/collectiveidea/subscriptions","organizations_url":"https://api.github.com/users/collectiveidea/orgs","repos_url":"https://api.github.com/users/collectiveidea/repos","events_url":"https://api.github.com/users/collectiveidea/events{/privacy}","received_events_url":"https://api.github.com/users/collectiveidea/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/collectiveidea/acts_as_geocodable","description":"A Rails plugin that makes your applications geo-aware.","fork":false,"url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable","forks_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/forks","keys_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/teams","hooks_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/hooks","issue_events_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/issues/events{/number}","events_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/events","assignees_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/assignees{/user}","branches_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/branches{/branch}","tags_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/tags","blobs_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/git/refs{/sha}","trees_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/statuses/{sha}","languages_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/languages","stargazers_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/stargazers","contributors_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/contributors","subscribers_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/subscribers","subscription_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/subscription","commits_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/commits{/sha}","git_commits_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/git/commits{/sha}","comments_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/comments{/number}","issue_comment_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/issues/comments/{number}","contents_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/contents/{+path}","compare_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/merges","archive_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/downloads","issues_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/issues{/number}","pulls_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/pulls{/number}","milestones_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/milestones{/number}","notifications_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/collectiveidea/acts_as_geocodable/labels{/name}"}] - diff --git a/github/tests/ReplayData/Github.testGetReposSince.txt b/github/tests/ReplayData/Github.testGetReposSince.txt deleted file mode 100644 index 476badd..0000000 --- a/github/tests/ReplayData/Github.testGetReposSince.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repositories?since=1000 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '399618'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"12e839cbce49c8f05e4f6dcb7a3889f0"'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 19:48:29 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377117459')] -[{"id":1008,"name":"jquery-humanize-messages-plugin","full_name":"andykent/jquery-humanize-messages-plugin","owner":{"login":"andykent","id":614,"avatar_url":"https://0.gravatar.com/avatar/c296fd4ef131939f1aa09b8294bbd08c?d=https%3A%2F%2Fidenticons.github.com%2F851ddf5058cf22df63d3344ad89919cf.png","gravatar_id":"c296fd4ef131939f1aa09b8294bbd08c","url":"https://api.github.com/users/andykent","html_url":"https://github.com/andykent","followers_url":"https://api.github.com/users/andykent/followers","following_url":"https://api.github.com/users/andykent/following{/other_user}","gists_url":"https://api.github.com/users/andykent/gists{/gist_id}","starred_url":"https://api.github.com/users/andykent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andykent/subscriptions","organizations_url":"https://api.github.com/users/andykent/orgs","repos_url":"https://api.github.com/users/andykent/repos","events_url":"https://api.github.com/users/andykent/events{/privacy}","received_events_url":"https://api.github.com/users/andykent/received_events","type":"User"},"private":false,"html_url":"https://github.com/andykent/jquery-humanize-messages-plugin","description":"A jQuery port of the humanized dialog display technique. (http://www.humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/)","fork":false,"url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin","forks_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/forks","keys_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/teams","hooks_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/hooks","issue_events_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/events","assignees_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/tags","blobs_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/languages","stargazers_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/stargazers","contributors_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/contributors","subscribers_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/subscribers","subscription_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/subscription","commits_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/issues/comments/{number}","contents_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/merges","archive_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/downloads","issues_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andykent/jquery-humanize-messages-plugin/labels{/name}"},{"id":1010,"name":"4slicer","full_name":"avalade/4slicer","owner":{"login":"avalade","id":449,"avatar_url":"https://1.gravatar.com/avatar/7cd8f51abfade91b3e57af0887d69063?d=https%3A%2F%2Fidenticons.github.com%2Fd61e4bbd6393c9111e6526ea173a7c8b.png","gravatar_id":"7cd8f51abfade91b3e57af0887d69063","url":"https://api.github.com/users/avalade","html_url":"https://github.com/avalade","followers_url":"https://api.github.com/users/avalade/followers","following_url":"https://api.github.com/users/avalade/following{/other_user}","gists_url":"https://api.github.com/users/avalade/gists{/gist_id}","starred_url":"https://api.github.com/users/avalade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avalade/subscriptions","organizations_url":"https://api.github.com/users/avalade/orgs","repos_url":"https://api.github.com/users/avalade/repos","events_url":"https://api.github.com/users/avalade/events{/privacy}","received_events_url":"https://api.github.com/users/avalade/received_events","type":"User"},"private":false,"html_url":"https://github.com/avalade/4slicer","description":"","fork":false,"url":"https://api.github.com/repos/avalade/4slicer","forks_url":"https://api.github.com/repos/avalade/4slicer/forks","keys_url":"https://api.github.com/repos/avalade/4slicer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/avalade/4slicer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/avalade/4slicer/teams","hooks_url":"https://api.github.com/repos/avalade/4slicer/hooks","issue_events_url":"https://api.github.com/repos/avalade/4slicer/issues/events{/number}","events_url":"https://api.github.com/repos/avalade/4slicer/events","assignees_url":"https://api.github.com/repos/avalade/4slicer/assignees{/user}","branches_url":"https://api.github.com/repos/avalade/4slicer/branches{/branch}","tags_url":"https://api.github.com/repos/avalade/4slicer/tags","blobs_url":"https://api.github.com/repos/avalade/4slicer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/avalade/4slicer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/avalade/4slicer/git/refs{/sha}","trees_url":"https://api.github.com/repos/avalade/4slicer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/avalade/4slicer/statuses/{sha}","languages_url":"https://api.github.com/repos/avalade/4slicer/languages","stargazers_url":"https://api.github.com/repos/avalade/4slicer/stargazers","contributors_url":"https://api.github.com/repos/avalade/4slicer/contributors","subscribers_url":"https://api.github.com/repos/avalade/4slicer/subscribers","subscription_url":"https://api.github.com/repos/avalade/4slicer/subscription","commits_url":"https://api.github.com/repos/avalade/4slicer/commits{/sha}","git_commits_url":"https://api.github.com/repos/avalade/4slicer/git/commits{/sha}","comments_url":"https://api.github.com/repos/avalade/4slicer/comments{/number}","issue_comment_url":"https://api.github.com/repos/avalade/4slicer/issues/comments/{number}","contents_url":"https://api.github.com/repos/avalade/4slicer/contents/{+path}","compare_url":"https://api.github.com/repos/avalade/4slicer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/avalade/4slicer/merges","archive_url":"https://api.github.com/repos/avalade/4slicer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/avalade/4slicer/downloads","issues_url":"https://api.github.com/repos/avalade/4slicer/issues{/number}","pulls_url":"https://api.github.com/repos/avalade/4slicer/pulls{/number}","milestones_url":"https://api.github.com/repos/avalade/4slicer/milestones{/number}","notifications_url":"https://api.github.com/repos/avalade/4slicer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/avalade/4slicer/labels{/name}"},{"id":1015,"name":"fixture-scenarios","full_name":"mojombo/fixture-scenarios","owner":{"login":"mojombo","id":1,"avatar_url":"https://2.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/fixture-scenarios","description":"This plugin allows you to create 'scenarios' which are collections of fixtures and ruby files that represent a context against which you can run tests.","fork":false,"url":"https://api.github.com/repos/mojombo/fixture-scenarios","forks_url":"https://api.github.com/repos/mojombo/fixture-scenarios/forks","keys_url":"https://api.github.com/repos/mojombo/fixture-scenarios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/fixture-scenarios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/fixture-scenarios/teams","hooks_url":"https://api.github.com/repos/mojombo/fixture-scenarios/hooks","issue_events_url":"https://api.github.com/repos/mojombo/fixture-scenarios/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/fixture-scenarios/events","assignees_url":"https://api.github.com/repos/mojombo/fixture-scenarios/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/fixture-scenarios/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/fixture-scenarios/tags","blobs_url":"https://api.github.com/repos/mojombo/fixture-scenarios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/fixture-scenarios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/fixture-scenarios/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/fixture-scenarios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/fixture-scenarios/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/fixture-scenarios/languages","stargazers_url":"https://api.github.com/repos/mojombo/fixture-scenarios/stargazers","contributors_url":"https://api.github.com/repos/mojombo/fixture-scenarios/contributors","subscribers_url":"https://api.github.com/repos/mojombo/fixture-scenarios/subscribers","subscription_url":"https://api.github.com/repos/mojombo/fixture-scenarios/subscription","commits_url":"https://api.github.com/repos/mojombo/fixture-scenarios/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/fixture-scenarios/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/fixture-scenarios/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/fixture-scenarios/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/fixture-scenarios/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/fixture-scenarios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/fixture-scenarios/merges","archive_url":"https://api.github.com/repos/mojombo/fixture-scenarios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/fixture-scenarios/downloads","issues_url":"https://api.github.com/repos/mojombo/fixture-scenarios/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/fixture-scenarios/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/fixture-scenarios/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/fixture-scenarios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/fixture-scenarios/labels{/name}"},{"id":1016,"name":"mongrel_proctitle","full_name":"rtomayko/mongrel_proctitle","owner":{"login":"rtomayko","id":404,"avatar_url":"https://0.gravatar.com/avatar/abfc88b96ae18c85ba7aac3bded2ec5e?d=https%3A%2F%2Fidenticons.github.com%2F4f4adcbf8c6f66dcfc8a3282ac2bf10a.png","gravatar_id":"abfc88b96ae18c85ba7aac3bded2ec5e","url":"https://api.github.com/users/rtomayko","html_url":"https://github.com/rtomayko","followers_url":"https://api.github.com/users/rtomayko/followers","following_url":"https://api.github.com/users/rtomayko/following{/other_user}","gists_url":"https://api.github.com/users/rtomayko/gists{/gist_id}","starred_url":"https://api.github.com/users/rtomayko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtomayko/subscriptions","organizations_url":"https://api.github.com/users/rtomayko/orgs","repos_url":"https://api.github.com/users/rtomayko/repos","events_url":"https://api.github.com/users/rtomayko/events{/privacy}","received_events_url":"https://api.github.com/users/rtomayko/received_events","type":"User"},"private":false,"html_url":"https://github.com/rtomayko/mongrel_proctitle","description":"Process title support for Mongrel (GemPlugin)","fork":false,"url":"https://api.github.com/repos/rtomayko/mongrel_proctitle","forks_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/forks","keys_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/teams","hooks_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/hooks","issue_events_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/issues/events{/number}","events_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/events","assignees_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/assignees{/user}","branches_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/branches{/branch}","tags_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/tags","blobs_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/git/refs{/sha}","trees_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/statuses/{sha}","languages_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/languages","stargazers_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/stargazers","contributors_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/contributors","subscribers_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/subscribers","subscription_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/subscription","commits_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/commits{/sha}","git_commits_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/git/commits{/sha}","comments_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/comments{/number}","issue_comment_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/issues/comments/{number}","contents_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/contents/{+path}","compare_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/merges","archive_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/downloads","issues_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/issues{/number}","pulls_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/pulls{/number}","milestones_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/milestones{/number}","notifications_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rtomayko/mongrel_proctitle/labels{/name}"},{"id":1017,"name":"rails-plugins","full_name":"zachinglis/rails-plugins","owner":{"login":"zachinglis","id":665,"avatar_url":"https://0.gravatar.com/avatar/1055b2b90f5beb844f28fd909ed45d5f?d=https%3A%2F%2Fidenticons.github.com%2F84117275be999ff55a987b9381e01f96.png","gravatar_id":"1055b2b90f5beb844f28fd909ed45d5f","url":"https://api.github.com/users/zachinglis","html_url":"https://github.com/zachinglis","followers_url":"https://api.github.com/users/zachinglis/followers","following_url":"https://api.github.com/users/zachinglis/following{/other_user}","gists_url":"https://api.github.com/users/zachinglis/gists{/gist_id}","starred_url":"https://api.github.com/users/zachinglis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zachinglis/subscriptions","organizations_url":"https://api.github.com/users/zachinglis/orgs","repos_url":"https://api.github.com/users/zachinglis/repos","events_url":"https://api.github.com/users/zachinglis/events{/privacy}","received_events_url":"https://api.github.com/users/zachinglis/received_events","type":"User"},"private":false,"html_url":"https://github.com/zachinglis/rails-plugins","description":"All my Rails plugins bundled up.","fork":false,"url":"https://api.github.com/repos/zachinglis/rails-plugins","forks_url":"https://api.github.com/repos/zachinglis/rails-plugins/forks","keys_url":"https://api.github.com/repos/zachinglis/rails-plugins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zachinglis/rails-plugins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zachinglis/rails-plugins/teams","hooks_url":"https://api.github.com/repos/zachinglis/rails-plugins/hooks","issue_events_url":"https://api.github.com/repos/zachinglis/rails-plugins/issues/events{/number}","events_url":"https://api.github.com/repos/zachinglis/rails-plugins/events","assignees_url":"https://api.github.com/repos/zachinglis/rails-plugins/assignees{/user}","branches_url":"https://api.github.com/repos/zachinglis/rails-plugins/branches{/branch}","tags_url":"https://api.github.com/repos/zachinglis/rails-plugins/tags","blobs_url":"https://api.github.com/repos/zachinglis/rails-plugins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zachinglis/rails-plugins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zachinglis/rails-plugins/git/refs{/sha}","trees_url":"https://api.github.com/repos/zachinglis/rails-plugins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zachinglis/rails-plugins/statuses/{sha}","languages_url":"https://api.github.com/repos/zachinglis/rails-plugins/languages","stargazers_url":"https://api.github.com/repos/zachinglis/rails-plugins/stargazers","contributors_url":"https://api.github.com/repos/zachinglis/rails-plugins/contributors","subscribers_url":"https://api.github.com/repos/zachinglis/rails-plugins/subscribers","subscription_url":"https://api.github.com/repos/zachinglis/rails-plugins/subscription","commits_url":"https://api.github.com/repos/zachinglis/rails-plugins/commits{/sha}","git_commits_url":"https://api.github.com/repos/zachinglis/rails-plugins/git/commits{/sha}","comments_url":"https://api.github.com/repos/zachinglis/rails-plugins/comments{/number}","issue_comment_url":"https://api.github.com/repos/zachinglis/rails-plugins/issues/comments/{number}","contents_url":"https://api.github.com/repos/zachinglis/rails-plugins/contents/{+path}","compare_url":"https://api.github.com/repos/zachinglis/rails-plugins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zachinglis/rails-plugins/merges","archive_url":"https://api.github.com/repos/zachinglis/rails-plugins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zachinglis/rails-plugins/downloads","issues_url":"https://api.github.com/repos/zachinglis/rails-plugins/issues{/number}","pulls_url":"https://api.github.com/repos/zachinglis/rails-plugins/pulls{/number}","milestones_url":"https://api.github.com/repos/zachinglis/rails-plugins/milestones{/number}","notifications_url":"https://api.github.com/repos/zachinglis/rails-plugins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zachinglis/rails-plugins/labels{/name}"},{"id":1028,"name":"date-performance","full_name":"rtomayko/date-performance","owner":{"login":"rtomayko","id":404,"avatar_url":"https://0.gravatar.com/avatar/abfc88b96ae18c85ba7aac3bded2ec5e?d=https%3A%2F%2Fidenticons.github.com%2F4f4adcbf8c6f66dcfc8a3282ac2bf10a.png","gravatar_id":"abfc88b96ae18c85ba7aac3bded2ec5e","url":"https://api.github.com/users/rtomayko","html_url":"https://github.com/rtomayko","followers_url":"https://api.github.com/users/rtomayko/followers","following_url":"https://api.github.com/users/rtomayko/following{/other_user}","gists_url":"https://api.github.com/users/rtomayko/gists{/gist_id}","starred_url":"https://api.github.com/users/rtomayko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtomayko/subscriptions","organizations_url":"https://api.github.com/users/rtomayko/orgs","repos_url":"https://api.github.com/users/rtomayko/repos","events_url":"https://api.github.com/users/rtomayko/events{/privacy}","received_events_url":"https://api.github.com/users/rtomayko/received_events","type":"User"},"private":false,"html_url":"https://github.com/rtomayko/date-performance","description":"Adds a semblance of performance to Ruby's core Date class ...","fork":false,"url":"https://api.github.com/repos/rtomayko/date-performance","forks_url":"https://api.github.com/repos/rtomayko/date-performance/forks","keys_url":"https://api.github.com/repos/rtomayko/date-performance/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rtomayko/date-performance/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rtomayko/date-performance/teams","hooks_url":"https://api.github.com/repos/rtomayko/date-performance/hooks","issue_events_url":"https://api.github.com/repos/rtomayko/date-performance/issues/events{/number}","events_url":"https://api.github.com/repos/rtomayko/date-performance/events","assignees_url":"https://api.github.com/repos/rtomayko/date-performance/assignees{/user}","branches_url":"https://api.github.com/repos/rtomayko/date-performance/branches{/branch}","tags_url":"https://api.github.com/repos/rtomayko/date-performance/tags","blobs_url":"https://api.github.com/repos/rtomayko/date-performance/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rtomayko/date-performance/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rtomayko/date-performance/git/refs{/sha}","trees_url":"https://api.github.com/repos/rtomayko/date-performance/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rtomayko/date-performance/statuses/{sha}","languages_url":"https://api.github.com/repos/rtomayko/date-performance/languages","stargazers_url":"https://api.github.com/repos/rtomayko/date-performance/stargazers","contributors_url":"https://api.github.com/repos/rtomayko/date-performance/contributors","subscribers_url":"https://api.github.com/repos/rtomayko/date-performance/subscribers","subscription_url":"https://api.github.com/repos/rtomayko/date-performance/subscription","commits_url":"https://api.github.com/repos/rtomayko/date-performance/commits{/sha}","git_commits_url":"https://api.github.com/repos/rtomayko/date-performance/git/commits{/sha}","comments_url":"https://api.github.com/repos/rtomayko/date-performance/comments{/number}","issue_comment_url":"https://api.github.com/repos/rtomayko/date-performance/issues/comments/{number}","contents_url":"https://api.github.com/repos/rtomayko/date-performance/contents/{+path}","compare_url":"https://api.github.com/repos/rtomayko/date-performance/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rtomayko/date-performance/merges","archive_url":"https://api.github.com/repos/rtomayko/date-performance/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rtomayko/date-performance/downloads","issues_url":"https://api.github.com/repos/rtomayko/date-performance/issues{/number}","pulls_url":"https://api.github.com/repos/rtomayko/date-performance/pulls{/number}","milestones_url":"https://api.github.com/repos/rtomayko/date-performance/milestones{/number}","notifications_url":"https://api.github.com/repos/rtomayko/date-performance/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rtomayko/date-performance/labels{/name}"},{"id":1031,"name":"rails-ssl-authentication","full_name":"labria/rails-ssl-authentication","owner":{"login":"labria","id":323,"avatar_url":"https://1.gravatar.com/avatar/f5049506664636c6cc725099367bd167?d=https%3A%2F%2Fidenticons.github.com%2Fbc6dc48b743dc5d013b1abaebd2faed2.png","gravatar_id":"f5049506664636c6cc725099367bd167","url":"https://api.github.com/users/labria","html_url":"https://github.com/labria","followers_url":"https://api.github.com/users/labria/followers","following_url":"https://api.github.com/users/labria/following{/other_user}","gists_url":"https://api.github.com/users/labria/gists{/gist_id}","starred_url":"https://api.github.com/users/labria/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labria/subscriptions","organizations_url":"https://api.github.com/users/labria/orgs","repos_url":"https://api.github.com/users/labria/repos","events_url":"https://api.github.com/users/labria/events{/privacy}","received_events_url":"https://api.github.com/users/labria/received_events","type":"User"},"private":false,"html_url":"https://github.com/labria/rails-ssl-authentication","description":"A attempt to make SSL client certificate authentication with rails painless","fork":false,"url":"https://api.github.com/repos/labria/rails-ssl-authentication","forks_url":"https://api.github.com/repos/labria/rails-ssl-authentication/forks","keys_url":"https://api.github.com/repos/labria/rails-ssl-authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/labria/rails-ssl-authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/labria/rails-ssl-authentication/teams","hooks_url":"https://api.github.com/repos/labria/rails-ssl-authentication/hooks","issue_events_url":"https://api.github.com/repos/labria/rails-ssl-authentication/issues/events{/number}","events_url":"https://api.github.com/repos/labria/rails-ssl-authentication/events","assignees_url":"https://api.github.com/repos/labria/rails-ssl-authentication/assignees{/user}","branches_url":"https://api.github.com/repos/labria/rails-ssl-authentication/branches{/branch}","tags_url":"https://api.github.com/repos/labria/rails-ssl-authentication/tags","blobs_url":"https://api.github.com/repos/labria/rails-ssl-authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/labria/rails-ssl-authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/labria/rails-ssl-authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/labria/rails-ssl-authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/labria/rails-ssl-authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/labria/rails-ssl-authentication/languages","stargazers_url":"https://api.github.com/repos/labria/rails-ssl-authentication/stargazers","contributors_url":"https://api.github.com/repos/labria/rails-ssl-authentication/contributors","subscribers_url":"https://api.github.com/repos/labria/rails-ssl-authentication/subscribers","subscription_url":"https://api.github.com/repos/labria/rails-ssl-authentication/subscription","commits_url":"https://api.github.com/repos/labria/rails-ssl-authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/labria/rails-ssl-authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/labria/rails-ssl-authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/labria/rails-ssl-authentication/issues/comments/{number}","contents_url":"https://api.github.com/repos/labria/rails-ssl-authentication/contents/{+path}","compare_url":"https://api.github.com/repos/labria/rails-ssl-authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/labria/rails-ssl-authentication/merges","archive_url":"https://api.github.com/repos/labria/rails-ssl-authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/labria/rails-ssl-authentication/downloads","issues_url":"https://api.github.com/repos/labria/rails-ssl-authentication/issues{/number}","pulls_url":"https://api.github.com/repos/labria/rails-ssl-authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/labria/rails-ssl-authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/labria/rails-ssl-authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/labria/rails-ssl-authentication/labels{/name}"},{"id":1032,"name":"onebody","full_name":"churchio/onebody","owner":{"login":"churchio","id":935086,"avatar_url":"https://0.gravatar.com/avatar/be6afcca013316741f7189ccda95067e?d=https%3A%2F%2Fidenticons.github.com%2Fb903ff4db9f18d88c10889cc7de72269.png","gravatar_id":"be6afcca013316741f7189ccda95067e","url":"https://api.github.com/users/churchio","html_url":"https://github.com/churchio","followers_url":"https://api.github.com/users/churchio/followers","following_url":"https://api.github.com/users/churchio/following{/other_user}","gists_url":"https://api.github.com/users/churchio/gists{/gist_id}","starred_url":"https://api.github.com/users/churchio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/churchio/subscriptions","organizations_url":"https://api.github.com/users/churchio/orgs","repos_url":"https://api.github.com/users/churchio/repos","events_url":"https://api.github.com/users/churchio/events{/privacy}","received_events_url":"https://api.github.com/users/churchio/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/churchio/onebody","description":"OneBody is a private social network and online directory solution for churches built with Ruby on Rails.","fork":false,"url":"https://api.github.com/repos/churchio/onebody","forks_url":"https://api.github.com/repos/churchio/onebody/forks","keys_url":"https://api.github.com/repos/churchio/onebody/keys{/key_id}","collaborators_url":"https://api.github.com/repos/churchio/onebody/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/churchio/onebody/teams","hooks_url":"https://api.github.com/repos/churchio/onebody/hooks","issue_events_url":"https://api.github.com/repos/churchio/onebody/issues/events{/number}","events_url":"https://api.github.com/repos/churchio/onebody/events","assignees_url":"https://api.github.com/repos/churchio/onebody/assignees{/user}","branches_url":"https://api.github.com/repos/churchio/onebody/branches{/branch}","tags_url":"https://api.github.com/repos/churchio/onebody/tags","blobs_url":"https://api.github.com/repos/churchio/onebody/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/churchio/onebody/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/churchio/onebody/git/refs{/sha}","trees_url":"https://api.github.com/repos/churchio/onebody/git/trees{/sha}","statuses_url":"https://api.github.com/repos/churchio/onebody/statuses/{sha}","languages_url":"https://api.github.com/repos/churchio/onebody/languages","stargazers_url":"https://api.github.com/repos/churchio/onebody/stargazers","contributors_url":"https://api.github.com/repos/churchio/onebody/contributors","subscribers_url":"https://api.github.com/repos/churchio/onebody/subscribers","subscription_url":"https://api.github.com/repos/churchio/onebody/subscription","commits_url":"https://api.github.com/repos/churchio/onebody/commits{/sha}","git_commits_url":"https://api.github.com/repos/churchio/onebody/git/commits{/sha}","comments_url":"https://api.github.com/repos/churchio/onebody/comments{/number}","issue_comment_url":"https://api.github.com/repos/churchio/onebody/issues/comments/{number}","contents_url":"https://api.github.com/repos/churchio/onebody/contents/{+path}","compare_url":"https://api.github.com/repos/churchio/onebody/compare/{base}...{head}","merges_url":"https://api.github.com/repos/churchio/onebody/merges","archive_url":"https://api.github.com/repos/churchio/onebody/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/churchio/onebody/downloads","issues_url":"https://api.github.com/repos/churchio/onebody/issues{/number}","pulls_url":"https://api.github.com/repos/churchio/onebody/pulls{/number}","milestones_url":"https://api.github.com/repos/churchio/onebody/milestones{/number}","notifications_url":"https://api.github.com/repos/churchio/onebody/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/churchio/onebody/labels{/name}"},{"id":1040,"name":"jacks-php","full_name":"russ/jacks-php","owner":{"login":"russ","id":684,"avatar_url":"https://1.gravatar.com/avatar/5f763744270a1aa74c614cec8b30a3e1?d=https%3A%2F%2Fidenticons.github.com%2F556f391937dfd4398cbac35e050a2177.png","gravatar_id":"5f763744270a1aa74c614cec8b30a3e1","url":"https://api.github.com/users/russ","html_url":"https://github.com/russ","followers_url":"https://api.github.com/users/russ/followers","following_url":"https://api.github.com/users/russ/following{/other_user}","gists_url":"https://api.github.com/users/russ/gists{/gist_id}","starred_url":"https://api.github.com/users/russ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russ/subscriptions","organizations_url":"https://api.github.com/users/russ/orgs","repos_url":"https://api.github.com/users/russ/repos","events_url":"https://api.github.com/users/russ/events{/privacy}","received_events_url":"https://api.github.com/users/russ/received_events","type":"User"},"private":false,"html_url":"https://github.com/russ/jacks-php","description":"I am Jacks PHP framework.","fork":false,"url":"https://api.github.com/repos/russ/jacks-php","forks_url":"https://api.github.com/repos/russ/jacks-php/forks","keys_url":"https://api.github.com/repos/russ/jacks-php/keys{/key_id}","collaborators_url":"https://api.github.com/repos/russ/jacks-php/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/russ/jacks-php/teams","hooks_url":"https://api.github.com/repos/russ/jacks-php/hooks","issue_events_url":"https://api.github.com/repos/russ/jacks-php/issues/events{/number}","events_url":"https://api.github.com/repos/russ/jacks-php/events","assignees_url":"https://api.github.com/repos/russ/jacks-php/assignees{/user}","branches_url":"https://api.github.com/repos/russ/jacks-php/branches{/branch}","tags_url":"https://api.github.com/repos/russ/jacks-php/tags","blobs_url":"https://api.github.com/repos/russ/jacks-php/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/russ/jacks-php/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/russ/jacks-php/git/refs{/sha}","trees_url":"https://api.github.com/repos/russ/jacks-php/git/trees{/sha}","statuses_url":"https://api.github.com/repos/russ/jacks-php/statuses/{sha}","languages_url":"https://api.github.com/repos/russ/jacks-php/languages","stargazers_url":"https://api.github.com/repos/russ/jacks-php/stargazers","contributors_url":"https://api.github.com/repos/russ/jacks-php/contributors","subscribers_url":"https://api.github.com/repos/russ/jacks-php/subscribers","subscription_url":"https://api.github.com/repos/russ/jacks-php/subscription","commits_url":"https://api.github.com/repos/russ/jacks-php/commits{/sha}","git_commits_url":"https://api.github.com/repos/russ/jacks-php/git/commits{/sha}","comments_url":"https://api.github.com/repos/russ/jacks-php/comments{/number}","issue_comment_url":"https://api.github.com/repos/russ/jacks-php/issues/comments/{number}","contents_url":"https://api.github.com/repos/russ/jacks-php/contents/{+path}","compare_url":"https://api.github.com/repos/russ/jacks-php/compare/{base}...{head}","merges_url":"https://api.github.com/repos/russ/jacks-php/merges","archive_url":"https://api.github.com/repos/russ/jacks-php/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/russ/jacks-php/downloads","issues_url":"https://api.github.com/repos/russ/jacks-php/issues{/number}","pulls_url":"https://api.github.com/repos/russ/jacks-php/pulls{/number}","milestones_url":"https://api.github.com/repos/russ/jacks-php/milestones{/number}","notifications_url":"https://api.github.com/repos/russ/jacks-php/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/russ/jacks-php/labels{/name}"},{"id":1042,"name":"loudmouth","full_name":"mhallendal/loudmouth","owner":{"login":"mhallendal","id":541,"avatar_url":"https://1.gravatar.com/avatar/9736d1741af3929d5960dacffb03cfd5?d=https%3A%2F%2Fidenticons.github.com%2F16c222aa19898e5058938167c8ab6c57.png","gravatar_id":"9736d1741af3929d5960dacffb03cfd5","url":"https://api.github.com/users/mhallendal","html_url":"https://github.com/mhallendal","followers_url":"https://api.github.com/users/mhallendal/followers","following_url":"https://api.github.com/users/mhallendal/following{/other_user}","gists_url":"https://api.github.com/users/mhallendal/gists{/gist_id}","starred_url":"https://api.github.com/users/mhallendal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhallendal/subscriptions","organizations_url":"https://api.github.com/users/mhallendal/orgs","repos_url":"https://api.github.com/users/mhallendal/repos","events_url":"https://api.github.com/users/mhallendal/events{/privacy}","received_events_url":"https://api.github.com/users/mhallendal/received_events","type":"User"},"private":false,"html_url":"https://github.com/mhallendal/loudmouth","description":"An asynchronous XMPP library","fork":false,"url":"https://api.github.com/repos/mhallendal/loudmouth","forks_url":"https://api.github.com/repos/mhallendal/loudmouth/forks","keys_url":"https://api.github.com/repos/mhallendal/loudmouth/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mhallendal/loudmouth/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mhallendal/loudmouth/teams","hooks_url":"https://api.github.com/repos/mhallendal/loudmouth/hooks","issue_events_url":"https://api.github.com/repos/mhallendal/loudmouth/issues/events{/number}","events_url":"https://api.github.com/repos/mhallendal/loudmouth/events","assignees_url":"https://api.github.com/repos/mhallendal/loudmouth/assignees{/user}","branches_url":"https://api.github.com/repos/mhallendal/loudmouth/branches{/branch}","tags_url":"https://api.github.com/repos/mhallendal/loudmouth/tags","blobs_url":"https://api.github.com/repos/mhallendal/loudmouth/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mhallendal/loudmouth/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mhallendal/loudmouth/git/refs{/sha}","trees_url":"https://api.github.com/repos/mhallendal/loudmouth/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mhallendal/loudmouth/statuses/{sha}","languages_url":"https://api.github.com/repos/mhallendal/loudmouth/languages","stargazers_url":"https://api.github.com/repos/mhallendal/loudmouth/stargazers","contributors_url":"https://api.github.com/repos/mhallendal/loudmouth/contributors","subscribers_url":"https://api.github.com/repos/mhallendal/loudmouth/subscribers","subscription_url":"https://api.github.com/repos/mhallendal/loudmouth/subscription","commits_url":"https://api.github.com/repos/mhallendal/loudmouth/commits{/sha}","git_commits_url":"https://api.github.com/repos/mhallendal/loudmouth/git/commits{/sha}","comments_url":"https://api.github.com/repos/mhallendal/loudmouth/comments{/number}","issue_comment_url":"https://api.github.com/repos/mhallendal/loudmouth/issues/comments/{number}","contents_url":"https://api.github.com/repos/mhallendal/loudmouth/contents/{+path}","compare_url":"https://api.github.com/repos/mhallendal/loudmouth/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mhallendal/loudmouth/merges","archive_url":"https://api.github.com/repos/mhallendal/loudmouth/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mhallendal/loudmouth/downloads","issues_url":"https://api.github.com/repos/mhallendal/loudmouth/issues{/number}","pulls_url":"https://api.github.com/repos/mhallendal/loudmouth/pulls{/number}","milestones_url":"https://api.github.com/repos/mhallendal/loudmouth/milestones{/number}","notifications_url":"https://api.github.com/repos/mhallendal/loudmouth/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mhallendal/loudmouth/labels{/name}"},{"id":1043,"name":"getfake","full_name":"anildigital/getfake","owner":{"login":"anildigital","id":266,"avatar_url":"https://2.gravatar.com/avatar/2ad20e87f55ce79b113a12c516ec9d09?d=https%3A%2F%2Fidenticons.github.com%2Ff7664060cc52bc6f3d620bcedc94a4b6.png","gravatar_id":"2ad20e87f55ce79b113a12c516ec9d09","url":"https://api.github.com/users/anildigital","html_url":"https://github.com/anildigital","followers_url":"https://api.github.com/users/anildigital/followers","following_url":"https://api.github.com/users/anildigital/following{/other_user}","gists_url":"https://api.github.com/users/anildigital/gists{/gist_id}","starred_url":"https://api.github.com/users/anildigital/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anildigital/subscriptions","organizations_url":"https://api.github.com/users/anildigital/orgs","repos_url":"https://api.github.com/users/anildigital/repos","events_url":"https://api.github.com/users/anildigital/events{/privacy}","received_events_url":"https://api.github.com/users/anildigital/received_events","type":"User"},"private":false,"html_url":"https://github.com/anildigital/getfake","description":"Its a web UI for for ruby faker gem","fork":false,"url":"https://api.github.com/repos/anildigital/getfake","forks_url":"https://api.github.com/repos/anildigital/getfake/forks","keys_url":"https://api.github.com/repos/anildigital/getfake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anildigital/getfake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anildigital/getfake/teams","hooks_url":"https://api.github.com/repos/anildigital/getfake/hooks","issue_events_url":"https://api.github.com/repos/anildigital/getfake/issues/events{/number}","events_url":"https://api.github.com/repos/anildigital/getfake/events","assignees_url":"https://api.github.com/repos/anildigital/getfake/assignees{/user}","branches_url":"https://api.github.com/repos/anildigital/getfake/branches{/branch}","tags_url":"https://api.github.com/repos/anildigital/getfake/tags","blobs_url":"https://api.github.com/repos/anildigital/getfake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anildigital/getfake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anildigital/getfake/git/refs{/sha}","trees_url":"https://api.github.com/repos/anildigital/getfake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anildigital/getfake/statuses/{sha}","languages_url":"https://api.github.com/repos/anildigital/getfake/languages","stargazers_url":"https://api.github.com/repos/anildigital/getfake/stargazers","contributors_url":"https://api.github.com/repos/anildigital/getfake/contributors","subscribers_url":"https://api.github.com/repos/anildigital/getfake/subscribers","subscription_url":"https://api.github.com/repos/anildigital/getfake/subscription","commits_url":"https://api.github.com/repos/anildigital/getfake/commits{/sha}","git_commits_url":"https://api.github.com/repos/anildigital/getfake/git/commits{/sha}","comments_url":"https://api.github.com/repos/anildigital/getfake/comments{/number}","issue_comment_url":"https://api.github.com/repos/anildigital/getfake/issues/comments/{number}","contents_url":"https://api.github.com/repos/anildigital/getfake/contents/{+path}","compare_url":"https://api.github.com/repos/anildigital/getfake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anildigital/getfake/merges","archive_url":"https://api.github.com/repos/anildigital/getfake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anildigital/getfake/downloads","issues_url":"https://api.github.com/repos/anildigital/getfake/issues{/number}","pulls_url":"https://api.github.com/repos/anildigital/getfake/pulls{/number}","milestones_url":"https://api.github.com/repos/anildigital/getfake/milestones{/number}","notifications_url":"https://api.github.com/repos/anildigital/getfake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anildigital/getfake/labels{/name}"},{"id":1049,"name":"effen","full_name":"nkallen/effen","owner":{"login":"nkallen","id":699,"avatar_url":"https://1.gravatar.com/avatar/2b292377455ec105686730d6aa59c262?d=https%3A%2F%2Fidenticons.github.com%2Fafd4836712c5e77550897e25711e1d96.png","gravatar_id":"2b292377455ec105686730d6aa59c262","url":"https://api.github.com/users/nkallen","html_url":"https://github.com/nkallen","followers_url":"https://api.github.com/users/nkallen/followers","following_url":"https://api.github.com/users/nkallen/following{/other_user}","gists_url":"https://api.github.com/users/nkallen/gists{/gist_id}","starred_url":"https://api.github.com/users/nkallen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nkallen/subscriptions","organizations_url":"https://api.github.com/users/nkallen/orgs","repos_url":"https://api.github.com/users/nkallen/repos","events_url":"https://api.github.com/users/nkallen/events{/privacy}","received_events_url":"https://api.github.com/users/nkallen/received_events","type":"User"},"private":false,"html_url":"https://github.com/nkallen/effen","description":"A jQuery plugin for Morphic programming","fork":false,"url":"https://api.github.com/repos/nkallen/effen","forks_url":"https://api.github.com/repos/nkallen/effen/forks","keys_url":"https://api.github.com/repos/nkallen/effen/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nkallen/effen/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nkallen/effen/teams","hooks_url":"https://api.github.com/repos/nkallen/effen/hooks","issue_events_url":"https://api.github.com/repos/nkallen/effen/issues/events{/number}","events_url":"https://api.github.com/repos/nkallen/effen/events","assignees_url":"https://api.github.com/repos/nkallen/effen/assignees{/user}","branches_url":"https://api.github.com/repos/nkallen/effen/branches{/branch}","tags_url":"https://api.github.com/repos/nkallen/effen/tags","blobs_url":"https://api.github.com/repos/nkallen/effen/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nkallen/effen/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nkallen/effen/git/refs{/sha}","trees_url":"https://api.github.com/repos/nkallen/effen/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nkallen/effen/statuses/{sha}","languages_url":"https://api.github.com/repos/nkallen/effen/languages","stargazers_url":"https://api.github.com/repos/nkallen/effen/stargazers","contributors_url":"https://api.github.com/repos/nkallen/effen/contributors","subscribers_url":"https://api.github.com/repos/nkallen/effen/subscribers","subscription_url":"https://api.github.com/repos/nkallen/effen/subscription","commits_url":"https://api.github.com/repos/nkallen/effen/commits{/sha}","git_commits_url":"https://api.github.com/repos/nkallen/effen/git/commits{/sha}","comments_url":"https://api.github.com/repos/nkallen/effen/comments{/number}","issue_comment_url":"https://api.github.com/repos/nkallen/effen/issues/comments/{number}","contents_url":"https://api.github.com/repos/nkallen/effen/contents/{+path}","compare_url":"https://api.github.com/repos/nkallen/effen/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nkallen/effen/merges","archive_url":"https://api.github.com/repos/nkallen/effen/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nkallen/effen/downloads","issues_url":"https://api.github.com/repos/nkallen/effen/issues{/number}","pulls_url":"https://api.github.com/repos/nkallen/effen/pulls{/number}","milestones_url":"https://api.github.com/repos/nkallen/effen/milestones{/number}","notifications_url":"https://api.github.com/repos/nkallen/effen/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nkallen/effen/labels{/name}"},{"id":1052,"name":"template","full_name":"jparker/template","owner":{"login":"jparker","id":703,"avatar_url":"https://2.gravatar.com/avatar/f239ccb7f4c904a74e523a3334ca45e7?d=https%3A%2F%2Fidenticons.github.com%2Fd6c651ddcd97183b2e40bc464231c962.png","gravatar_id":"f239ccb7f4c904a74e523a3334ca45e7","url":"https://api.github.com/users/jparker","html_url":"https://github.com/jparker","followers_url":"https://api.github.com/users/jparker/followers","following_url":"https://api.github.com/users/jparker/following{/other_user}","gists_url":"https://api.github.com/users/jparker/gists{/gist_id}","starred_url":"https://api.github.com/users/jparker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jparker/subscriptions","organizations_url":"https://api.github.com/users/jparker/orgs","repos_url":"https://api.github.com/users/jparker/repos","events_url":"https://api.github.com/users/jparker/events{/privacy}","received_events_url":"https://api.github.com/users/jparker/received_events","type":"User"},"private":false,"html_url":"https://github.com/jparker/template","description":"Rails project template","fork":false,"url":"https://api.github.com/repos/jparker/template","forks_url":"https://api.github.com/repos/jparker/template/forks","keys_url":"https://api.github.com/repos/jparker/template/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jparker/template/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jparker/template/teams","hooks_url":"https://api.github.com/repos/jparker/template/hooks","issue_events_url":"https://api.github.com/repos/jparker/template/issues/events{/number}","events_url":"https://api.github.com/repos/jparker/template/events","assignees_url":"https://api.github.com/repos/jparker/template/assignees{/user}","branches_url":"https://api.github.com/repos/jparker/template/branches{/branch}","tags_url":"https://api.github.com/repos/jparker/template/tags","blobs_url":"https://api.github.com/repos/jparker/template/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jparker/template/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jparker/template/git/refs{/sha}","trees_url":"https://api.github.com/repos/jparker/template/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jparker/template/statuses/{sha}","languages_url":"https://api.github.com/repos/jparker/template/languages","stargazers_url":"https://api.github.com/repos/jparker/template/stargazers","contributors_url":"https://api.github.com/repos/jparker/template/contributors","subscribers_url":"https://api.github.com/repos/jparker/template/subscribers","subscription_url":"https://api.github.com/repos/jparker/template/subscription","commits_url":"https://api.github.com/repos/jparker/template/commits{/sha}","git_commits_url":"https://api.github.com/repos/jparker/template/git/commits{/sha}","comments_url":"https://api.github.com/repos/jparker/template/comments{/number}","issue_comment_url":"https://api.github.com/repos/jparker/template/issues/comments/{number}","contents_url":"https://api.github.com/repos/jparker/template/contents/{+path}","compare_url":"https://api.github.com/repos/jparker/template/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jparker/template/merges","archive_url":"https://api.github.com/repos/jparker/template/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jparker/template/downloads","issues_url":"https://api.github.com/repos/jparker/template/issues{/number}","pulls_url":"https://api.github.com/repos/jparker/template/pulls{/number}","milestones_url":"https://api.github.com/repos/jparker/template/milestones{/number}","notifications_url":"https://api.github.com/repos/jparker/template/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jparker/template/labels{/name}"},{"id":1054,"name":"TourGuide","full_name":"TekNoLogic/TourGuide","owner":{"login":"TekNoLogic","id":318374,"avatar_url":"https://0.gravatar.com/avatar/3260416e668934213340ecc4f8a835f4?d=https%3A%2F%2Fidenticons.github.com%2F10061d18a6a471274d9f419b0bf5502b.png","gravatar_id":"3260416e668934213340ecc4f8a835f4","url":"https://api.github.com/users/TekNoLogic","html_url":"https://github.com/TekNoLogic","followers_url":"https://api.github.com/users/TekNoLogic/followers","following_url":"https://api.github.com/users/TekNoLogic/following{/other_user}","gists_url":"https://api.github.com/users/TekNoLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/TekNoLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TekNoLogic/subscriptions","organizations_url":"https://api.github.com/users/TekNoLogic/orgs","repos_url":"https://api.github.com/users/TekNoLogic/repos","events_url":"https://api.github.com/users/TekNoLogic/events{/privacy}","received_events_url":"https://api.github.com/users/TekNoLogic/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/TekNoLogic/TourGuide","description":"WoW Addon - Powerleveling guide framework","fork":false,"url":"https://api.github.com/repos/TekNoLogic/TourGuide","forks_url":"https://api.github.com/repos/TekNoLogic/TourGuide/forks","keys_url":"https://api.github.com/repos/TekNoLogic/TourGuide/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TekNoLogic/TourGuide/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TekNoLogic/TourGuide/teams","hooks_url":"https://api.github.com/repos/TekNoLogic/TourGuide/hooks","issue_events_url":"https://api.github.com/repos/TekNoLogic/TourGuide/issues/events{/number}","events_url":"https://api.github.com/repos/TekNoLogic/TourGuide/events","assignees_url":"https://api.github.com/repos/TekNoLogic/TourGuide/assignees{/user}","branches_url":"https://api.github.com/repos/TekNoLogic/TourGuide/branches{/branch}","tags_url":"https://api.github.com/repos/TekNoLogic/TourGuide/tags","blobs_url":"https://api.github.com/repos/TekNoLogic/TourGuide/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TekNoLogic/TourGuide/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TekNoLogic/TourGuide/git/refs{/sha}","trees_url":"https://api.github.com/repos/TekNoLogic/TourGuide/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TekNoLogic/TourGuide/statuses/{sha}","languages_url":"https://api.github.com/repos/TekNoLogic/TourGuide/languages","stargazers_url":"https://api.github.com/repos/TekNoLogic/TourGuide/stargazers","contributors_url":"https://api.github.com/repos/TekNoLogic/TourGuide/contributors","subscribers_url":"https://api.github.com/repos/TekNoLogic/TourGuide/subscribers","subscription_url":"https://api.github.com/repos/TekNoLogic/TourGuide/subscription","commits_url":"https://api.github.com/repos/TekNoLogic/TourGuide/commits{/sha}","git_commits_url":"https://api.github.com/repos/TekNoLogic/TourGuide/git/commits{/sha}","comments_url":"https://api.github.com/repos/TekNoLogic/TourGuide/comments{/number}","issue_comment_url":"https://api.github.com/repos/TekNoLogic/TourGuide/issues/comments/{number}","contents_url":"https://api.github.com/repos/TekNoLogic/TourGuide/contents/{+path}","compare_url":"https://api.github.com/repos/TekNoLogic/TourGuide/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TekNoLogic/TourGuide/merges","archive_url":"https://api.github.com/repos/TekNoLogic/TourGuide/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TekNoLogic/TourGuide/downloads","issues_url":"https://api.github.com/repos/TekNoLogic/TourGuide/issues{/number}","pulls_url":"https://api.github.com/repos/TekNoLogic/TourGuide/pulls{/number}","milestones_url":"https://api.github.com/repos/TekNoLogic/TourGuide/milestones{/number}","notifications_url":"https://api.github.com/repos/TekNoLogic/TourGuide/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TekNoLogic/TourGuide/labels{/name}"},{"id":1057,"name":"configuration-files","full_name":"adulteratedjedi/configuration-files","owner":{"login":"adulteratedjedi","id":702,"avatar_url":"https://1.gravatar.com/avatar/699b1f8c794863bc25a00221b4120ac7?d=https%3A%2F%2Fidenticons.github.com%2Fb1eec33c726a60554bc78518d5f9b32c.png","gravatar_id":"699b1f8c794863bc25a00221b4120ac7","url":"https://api.github.com/users/adulteratedjedi","html_url":"https://github.com/adulteratedjedi","followers_url":"https://api.github.com/users/adulteratedjedi/followers","following_url":"https://api.github.com/users/adulteratedjedi/following{/other_user}","gists_url":"https://api.github.com/users/adulteratedjedi/gists{/gist_id}","starred_url":"https://api.github.com/users/adulteratedjedi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adulteratedjedi/subscriptions","organizations_url":"https://api.github.com/users/adulteratedjedi/orgs","repos_url":"https://api.github.com/users/adulteratedjedi/repos","events_url":"https://api.github.com/users/adulteratedjedi/events{/privacy}","received_events_url":"https://api.github.com/users/adulteratedjedi/received_events","type":"User"},"private":false,"html_url":"https://github.com/adulteratedjedi/configuration-files","description":"My Config Files","fork":false,"url":"https://api.github.com/repos/adulteratedjedi/configuration-files","forks_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/forks","keys_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/teams","hooks_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/hooks","issue_events_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/issues/events{/number}","events_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/events","assignees_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/assignees{/user}","branches_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/branches{/branch}","tags_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/tags","blobs_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/git/refs{/sha}","trees_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/statuses/{sha}","languages_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/languages","stargazers_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/stargazers","contributors_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/contributors","subscribers_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/subscribers","subscription_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/subscription","commits_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/commits{/sha}","git_commits_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/git/commits{/sha}","comments_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/comments{/number}","issue_comment_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/issues/comments/{number}","contents_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/contents/{+path}","compare_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/merges","archive_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/downloads","issues_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/issues{/number}","pulls_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/pulls{/number}","milestones_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/milestones{/number}","notifications_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adulteratedjedi/configuration-files/labels{/name}"},{"id":1061,"name":"fora","full_name":"ELLIOTTCABLE/fora","owner":{"login":"ELLIOTTCABLE","id":200,"avatar_url":"https://1.gravatar.com/avatar/4eac78fe7a7a607dcc097a0d6fd63690?d=https%3A%2F%2Fidenticons.github.com%2F3644a684f98ea8fe223c713b77189a77.png","gravatar_id":"4eac78fe7a7a607dcc097a0d6fd63690","url":"https://api.github.com/users/ELLIOTTCABLE","html_url":"https://github.com/ELLIOTTCABLE","followers_url":"https://api.github.com/users/ELLIOTTCABLE/followers","following_url":"https://api.github.com/users/ELLIOTTCABLE/following{/other_user}","gists_url":"https://api.github.com/users/ELLIOTTCABLE/gists{/gist_id}","starred_url":"https://api.github.com/users/ELLIOTTCABLE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ELLIOTTCABLE/subscriptions","organizations_url":"https://api.github.com/users/ELLIOTTCABLE/orgs","repos_url":"https://api.github.com/users/ELLIOTTCABLE/repos","events_url":"https://api.github.com/users/ELLIOTTCABLE/events{/privacy}","received_events_url":"https://api.github.com/users/ELLIOTTCABLE/received_events","type":"User"},"private":false,"html_url":"https://github.com/ELLIOTTCABLE/fora","description":"Open source forum - done *different*","fork":false,"url":"https://api.github.com/repos/ELLIOTTCABLE/fora","forks_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/forks","keys_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/teams","hooks_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/hooks","issue_events_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/issues/events{/number}","events_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/events","assignees_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/assignees{/user}","branches_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/branches{/branch}","tags_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/tags","blobs_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/git/refs{/sha}","trees_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/statuses/{sha}","languages_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/languages","stargazers_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/stargazers","contributors_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/contributors","subscribers_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/subscribers","subscription_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/subscription","commits_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/commits{/sha}","git_commits_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/git/commits{/sha}","comments_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/comments{/number}","issue_comment_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/issues/comments/{number}","contents_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/contents/{+path}","compare_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/merges","archive_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/downloads","issues_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/issues{/number}","pulls_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/pulls{/number}","milestones_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/milestones{/number}","notifications_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ELLIOTTCABLE/fora/labels{/name}"},{"id":1062,"name":"dcbot","full_name":"kballard/dcbot","owner":{"login":"kballard","id":714,"avatar_url":"https://2.gravatar.com/avatar/6451ee8093c9cedc94f6c813b4dde2c5?d=https%3A%2F%2Fidenticons.github.com%2Fd14220ee66aeec73c49038385428ec4c.png","gravatar_id":"6451ee8093c9cedc94f6c813b4dde2c5","url":"https://api.github.com/users/kballard","html_url":"https://github.com/kballard","followers_url":"https://api.github.com/users/kballard/followers","following_url":"https://api.github.com/users/kballard/following{/other_user}","gists_url":"https://api.github.com/users/kballard/gists{/gist_id}","starred_url":"https://api.github.com/users/kballard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kballard/subscriptions","organizations_url":"https://api.github.com/users/kballard/orgs","repos_url":"https://api.github.com/users/kballard/repos","events_url":"https://api.github.com/users/kballard/events{/privacy}","received_events_url":"https://api.github.com/users/kballard/received_events","type":"User"},"private":false,"html_url":"https://github.com/kballard/dcbot","description":"Direct Connect bot written in Ruby","fork":false,"url":"https://api.github.com/repos/kballard/dcbot","forks_url":"https://api.github.com/repos/kballard/dcbot/forks","keys_url":"https://api.github.com/repos/kballard/dcbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kballard/dcbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kballard/dcbot/teams","hooks_url":"https://api.github.com/repos/kballard/dcbot/hooks","issue_events_url":"https://api.github.com/repos/kballard/dcbot/issues/events{/number}","events_url":"https://api.github.com/repos/kballard/dcbot/events","assignees_url":"https://api.github.com/repos/kballard/dcbot/assignees{/user}","branches_url":"https://api.github.com/repos/kballard/dcbot/branches{/branch}","tags_url":"https://api.github.com/repos/kballard/dcbot/tags","blobs_url":"https://api.github.com/repos/kballard/dcbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kballard/dcbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kballard/dcbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/kballard/dcbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kballard/dcbot/statuses/{sha}","languages_url":"https://api.github.com/repos/kballard/dcbot/languages","stargazers_url":"https://api.github.com/repos/kballard/dcbot/stargazers","contributors_url":"https://api.github.com/repos/kballard/dcbot/contributors","subscribers_url":"https://api.github.com/repos/kballard/dcbot/subscribers","subscription_url":"https://api.github.com/repos/kballard/dcbot/subscription","commits_url":"https://api.github.com/repos/kballard/dcbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/kballard/dcbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/kballard/dcbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/kballard/dcbot/issues/comments/{number}","contents_url":"https://api.github.com/repos/kballard/dcbot/contents/{+path}","compare_url":"https://api.github.com/repos/kballard/dcbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kballard/dcbot/merges","archive_url":"https://api.github.com/repos/kballard/dcbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kballard/dcbot/downloads","issues_url":"https://api.github.com/repos/kballard/dcbot/issues{/number}","pulls_url":"https://api.github.com/repos/kballard/dcbot/pulls{/number}","milestones_url":"https://api.github.com/repos/kballard/dcbot/milestones{/number}","notifications_url":"https://api.github.com/repos/kballard/dcbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kballard/dcbot/labels{/name}"},{"id":1076,"name":"cudgel","full_name":"igouss/cudgel","owner":{"login":"igouss","id":339,"avatar_url":"https://0.gravatar.com/avatar/cedb4d8fed66a5365b4ff6a556c3385f?d=https%3A%2F%2Fidenticons.github.com%2F04025959b191f8f9de3f924f0940515f.png","gravatar_id":"cedb4d8fed66a5365b4ff6a556c3385f","url":"https://api.github.com/users/igouss","html_url":"https://github.com/igouss","followers_url":"https://api.github.com/users/igouss/followers","following_url":"https://api.github.com/users/igouss/following{/other_user}","gists_url":"https://api.github.com/users/igouss/gists{/gist_id}","starred_url":"https://api.github.com/users/igouss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igouss/subscriptions","organizations_url":"https://api.github.com/users/igouss/orgs","repos_url":"https://api.github.com/users/igouss/repos","events_url":"https://api.github.com/users/igouss/events{/privacy}","received_events_url":"https://api.github.com/users/igouss/received_events","type":"User"},"private":false,"html_url":"https://github.com/igouss/cudgel","description":"A short heavy stick","fork":false,"url":"https://api.github.com/repos/igouss/cudgel","forks_url":"https://api.github.com/repos/igouss/cudgel/forks","keys_url":"https://api.github.com/repos/igouss/cudgel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/igouss/cudgel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/igouss/cudgel/teams","hooks_url":"https://api.github.com/repos/igouss/cudgel/hooks","issue_events_url":"https://api.github.com/repos/igouss/cudgel/issues/events{/number}","events_url":"https://api.github.com/repos/igouss/cudgel/events","assignees_url":"https://api.github.com/repos/igouss/cudgel/assignees{/user}","branches_url":"https://api.github.com/repos/igouss/cudgel/branches{/branch}","tags_url":"https://api.github.com/repos/igouss/cudgel/tags","blobs_url":"https://api.github.com/repos/igouss/cudgel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/igouss/cudgel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/igouss/cudgel/git/refs{/sha}","trees_url":"https://api.github.com/repos/igouss/cudgel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/igouss/cudgel/statuses/{sha}","languages_url":"https://api.github.com/repos/igouss/cudgel/languages","stargazers_url":"https://api.github.com/repos/igouss/cudgel/stargazers","contributors_url":"https://api.github.com/repos/igouss/cudgel/contributors","subscribers_url":"https://api.github.com/repos/igouss/cudgel/subscribers","subscription_url":"https://api.github.com/repos/igouss/cudgel/subscription","commits_url":"https://api.github.com/repos/igouss/cudgel/commits{/sha}","git_commits_url":"https://api.github.com/repos/igouss/cudgel/git/commits{/sha}","comments_url":"https://api.github.com/repos/igouss/cudgel/comments{/number}","issue_comment_url":"https://api.github.com/repos/igouss/cudgel/issues/comments/{number}","contents_url":"https://api.github.com/repos/igouss/cudgel/contents/{+path}","compare_url":"https://api.github.com/repos/igouss/cudgel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/igouss/cudgel/merges","archive_url":"https://api.github.com/repos/igouss/cudgel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/igouss/cudgel/downloads","issues_url":"https://api.github.com/repos/igouss/cudgel/issues{/number}","pulls_url":"https://api.github.com/repos/igouss/cudgel/pulls{/number}","milestones_url":"https://api.github.com/repos/igouss/cudgel/milestones{/number}","notifications_url":"https://api.github.com/repos/igouss/cudgel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/igouss/cudgel/labels{/name}"},{"id":1101,"name":"micro","full_name":"seaofclouds/micro","owner":{"login":"seaofclouds","id":708,"avatar_url":"https://2.gravatar.com/avatar/0c5c5a350941044192ff794a9cd2205b?d=https%3A%2F%2Fidenticons.github.com%2Fae0eb3eed39d2bcef4622b2499a05fe6.png","gravatar_id":"0c5c5a350941044192ff794a9cd2205b","url":"https://api.github.com/users/seaofclouds","html_url":"https://github.com/seaofclouds","followers_url":"https://api.github.com/users/seaofclouds/followers","following_url":"https://api.github.com/users/seaofclouds/following{/other_user}","gists_url":"https://api.github.com/users/seaofclouds/gists{/gist_id}","starred_url":"https://api.github.com/users/seaofclouds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seaofclouds/subscriptions","organizations_url":"https://api.github.com/users/seaofclouds/orgs","repos_url":"https://api.github.com/users/seaofclouds/repos","events_url":"https://api.github.com/users/seaofclouds/events{/privacy}","received_events_url":"https://api.github.com/users/seaofclouds/received_events","type":"User"},"private":false,"html_url":"https://github.com/seaofclouds/micro","description":"blogware that fits in your pocket","fork":false,"url":"https://api.github.com/repos/seaofclouds/micro","forks_url":"https://api.github.com/repos/seaofclouds/micro/forks","keys_url":"https://api.github.com/repos/seaofclouds/micro/keys{/key_id}","collaborators_url":"https://api.github.com/repos/seaofclouds/micro/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/seaofclouds/micro/teams","hooks_url":"https://api.github.com/repos/seaofclouds/micro/hooks","issue_events_url":"https://api.github.com/repos/seaofclouds/micro/issues/events{/number}","events_url":"https://api.github.com/repos/seaofclouds/micro/events","assignees_url":"https://api.github.com/repos/seaofclouds/micro/assignees{/user}","branches_url":"https://api.github.com/repos/seaofclouds/micro/branches{/branch}","tags_url":"https://api.github.com/repos/seaofclouds/micro/tags","blobs_url":"https://api.github.com/repos/seaofclouds/micro/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/seaofclouds/micro/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/seaofclouds/micro/git/refs{/sha}","trees_url":"https://api.github.com/repos/seaofclouds/micro/git/trees{/sha}","statuses_url":"https://api.github.com/repos/seaofclouds/micro/statuses/{sha}","languages_url":"https://api.github.com/repos/seaofclouds/micro/languages","stargazers_url":"https://api.github.com/repos/seaofclouds/micro/stargazers","contributors_url":"https://api.github.com/repos/seaofclouds/micro/contributors","subscribers_url":"https://api.github.com/repos/seaofclouds/micro/subscribers","subscription_url":"https://api.github.com/repos/seaofclouds/micro/subscription","commits_url":"https://api.github.com/repos/seaofclouds/micro/commits{/sha}","git_commits_url":"https://api.github.com/repos/seaofclouds/micro/git/commits{/sha}","comments_url":"https://api.github.com/repos/seaofclouds/micro/comments{/number}","issue_comment_url":"https://api.github.com/repos/seaofclouds/micro/issues/comments/{number}","contents_url":"https://api.github.com/repos/seaofclouds/micro/contents/{+path}","compare_url":"https://api.github.com/repos/seaofclouds/micro/compare/{base}...{head}","merges_url":"https://api.github.com/repos/seaofclouds/micro/merges","archive_url":"https://api.github.com/repos/seaofclouds/micro/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/seaofclouds/micro/downloads","issues_url":"https://api.github.com/repos/seaofclouds/micro/issues{/number}","pulls_url":"https://api.github.com/repos/seaofclouds/micro/pulls{/number}","milestones_url":"https://api.github.com/repos/seaofclouds/micro/milestones{/number}","notifications_url":"https://api.github.com/repos/seaofclouds/micro/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/seaofclouds/micro/labels{/name}"},{"id":1102,"name":"cacheable","full_name":"tobi/cacheable","owner":{"login":"tobi","id":347,"avatar_url":"https://1.gravatar.com/avatar/44a1b8a3a990e1a496261f55cd44fbd9?d=https%3A%2F%2Fidenticons.github.com%2Fc5ff2543b53f4cc0ad3819a36752467b.png","gravatar_id":"44a1b8a3a990e1a496261f55cd44fbd9","url":"https://api.github.com/users/tobi","html_url":"https://github.com/tobi","followers_url":"https://api.github.com/users/tobi/followers","following_url":"https://api.github.com/users/tobi/following{/other_user}","gists_url":"https://api.github.com/users/tobi/gists{/gist_id}","starred_url":"https://api.github.com/users/tobi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobi/subscriptions","organizations_url":"https://api.github.com/users/tobi/orgs","repos_url":"https://api.github.com/users/tobi/repos","events_url":"https://api.github.com/users/tobi/events{/privacy}","received_events_url":"https://api.github.com/users/tobi/received_events","type":"User"},"private":false,"html_url":"https://github.com/tobi/cacheable","description":"Page caching extension of Shopify","fork":false,"url":"https://api.github.com/repos/tobi/cacheable","forks_url":"https://api.github.com/repos/tobi/cacheable/forks","keys_url":"https://api.github.com/repos/tobi/cacheable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tobi/cacheable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tobi/cacheable/teams","hooks_url":"https://api.github.com/repos/tobi/cacheable/hooks","issue_events_url":"https://api.github.com/repos/tobi/cacheable/issues/events{/number}","events_url":"https://api.github.com/repos/tobi/cacheable/events","assignees_url":"https://api.github.com/repos/tobi/cacheable/assignees{/user}","branches_url":"https://api.github.com/repos/tobi/cacheable/branches{/branch}","tags_url":"https://api.github.com/repos/tobi/cacheable/tags","blobs_url":"https://api.github.com/repos/tobi/cacheable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tobi/cacheable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tobi/cacheable/git/refs{/sha}","trees_url":"https://api.github.com/repos/tobi/cacheable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tobi/cacheable/statuses/{sha}","languages_url":"https://api.github.com/repos/tobi/cacheable/languages","stargazers_url":"https://api.github.com/repos/tobi/cacheable/stargazers","contributors_url":"https://api.github.com/repos/tobi/cacheable/contributors","subscribers_url":"https://api.github.com/repos/tobi/cacheable/subscribers","subscription_url":"https://api.github.com/repos/tobi/cacheable/subscription","commits_url":"https://api.github.com/repos/tobi/cacheable/commits{/sha}","git_commits_url":"https://api.github.com/repos/tobi/cacheable/git/commits{/sha}","comments_url":"https://api.github.com/repos/tobi/cacheable/comments{/number}","issue_comment_url":"https://api.github.com/repos/tobi/cacheable/issues/comments/{number}","contents_url":"https://api.github.com/repos/tobi/cacheable/contents/{+path}","compare_url":"https://api.github.com/repos/tobi/cacheable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tobi/cacheable/merges","archive_url":"https://api.github.com/repos/tobi/cacheable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tobi/cacheable/downloads","issues_url":"https://api.github.com/repos/tobi/cacheable/issues{/number}","pulls_url":"https://api.github.com/repos/tobi/cacheable/pulls{/number}","milestones_url":"https://api.github.com/repos/tobi/cacheable/milestones{/number}","notifications_url":"https://api.github.com/repos/tobi/cacheable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tobi/cacheable/labels{/name}"},{"id":1104,"name":"micro-theme","full_name":"seaofclouds/micro-theme","owner":{"login":"seaofclouds","id":708,"avatar_url":"https://2.gravatar.com/avatar/0c5c5a350941044192ff794a9cd2205b?d=https%3A%2F%2Fidenticons.github.com%2Fae0eb3eed39d2bcef4622b2499a05fe6.png","gravatar_id":"0c5c5a350941044192ff794a9cd2205b","url":"https://api.github.com/users/seaofclouds","html_url":"https://github.com/seaofclouds","followers_url":"https://api.github.com/users/seaofclouds/followers","following_url":"https://api.github.com/users/seaofclouds/following{/other_user}","gists_url":"https://api.github.com/users/seaofclouds/gists{/gist_id}","starred_url":"https://api.github.com/users/seaofclouds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seaofclouds/subscriptions","organizations_url":"https://api.github.com/users/seaofclouds/orgs","repos_url":"https://api.github.com/users/seaofclouds/repos","events_url":"https://api.github.com/users/seaofclouds/events{/privacy}","received_events_url":"https://api.github.com/users/seaofclouds/received_events","type":"User"},"private":false,"html_url":"https://github.com/seaofclouds/micro-theme","description":"simple blogging theme for mephisto and blogger","fork":false,"url":"https://api.github.com/repos/seaofclouds/micro-theme","forks_url":"https://api.github.com/repos/seaofclouds/micro-theme/forks","keys_url":"https://api.github.com/repos/seaofclouds/micro-theme/keys{/key_id}","collaborators_url":"https://api.github.com/repos/seaofclouds/micro-theme/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/seaofclouds/micro-theme/teams","hooks_url":"https://api.github.com/repos/seaofclouds/micro-theme/hooks","issue_events_url":"https://api.github.com/repos/seaofclouds/micro-theme/issues/events{/number}","events_url":"https://api.github.com/repos/seaofclouds/micro-theme/events","assignees_url":"https://api.github.com/repos/seaofclouds/micro-theme/assignees{/user}","branches_url":"https://api.github.com/repos/seaofclouds/micro-theme/branches{/branch}","tags_url":"https://api.github.com/repos/seaofclouds/micro-theme/tags","blobs_url":"https://api.github.com/repos/seaofclouds/micro-theme/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/seaofclouds/micro-theme/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/seaofclouds/micro-theme/git/refs{/sha}","trees_url":"https://api.github.com/repos/seaofclouds/micro-theme/git/trees{/sha}","statuses_url":"https://api.github.com/repos/seaofclouds/micro-theme/statuses/{sha}","languages_url":"https://api.github.com/repos/seaofclouds/micro-theme/languages","stargazers_url":"https://api.github.com/repos/seaofclouds/micro-theme/stargazers","contributors_url":"https://api.github.com/repos/seaofclouds/micro-theme/contributors","subscribers_url":"https://api.github.com/repos/seaofclouds/micro-theme/subscribers","subscription_url":"https://api.github.com/repos/seaofclouds/micro-theme/subscription","commits_url":"https://api.github.com/repos/seaofclouds/micro-theme/commits{/sha}","git_commits_url":"https://api.github.com/repos/seaofclouds/micro-theme/git/commits{/sha}","comments_url":"https://api.github.com/repos/seaofclouds/micro-theme/comments{/number}","issue_comment_url":"https://api.github.com/repos/seaofclouds/micro-theme/issues/comments/{number}","contents_url":"https://api.github.com/repos/seaofclouds/micro-theme/contents/{+path}","compare_url":"https://api.github.com/repos/seaofclouds/micro-theme/compare/{base}...{head}","merges_url":"https://api.github.com/repos/seaofclouds/micro-theme/merges","archive_url":"https://api.github.com/repos/seaofclouds/micro-theme/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/seaofclouds/micro-theme/downloads","issues_url":"https://api.github.com/repos/seaofclouds/micro-theme/issues{/number}","pulls_url":"https://api.github.com/repos/seaofclouds/micro-theme/pulls{/number}","milestones_url":"https://api.github.com/repos/seaofclouds/micro-theme/milestones{/number}","notifications_url":"https://api.github.com/repos/seaofclouds/micro-theme/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/seaofclouds/micro-theme/labels{/name}"},{"id":1108,"name":"icaltodoscheduler","full_name":"lypanov/icaltodoscheduler","owner":{"login":"lypanov","id":311,"avatar_url":"https://2.gravatar.com/avatar/fde764988033c802599aa33705dce509?d=https%3A%2F%2Fidenticons.github.com%2F9dfcd5e558dfa04aaf37f137a1d9d3e5.png","gravatar_id":"fde764988033c802599aa33705dce509","url":"https://api.github.com/users/lypanov","html_url":"https://github.com/lypanov","followers_url":"https://api.github.com/users/lypanov/followers","following_url":"https://api.github.com/users/lypanov/following{/other_user}","gists_url":"https://api.github.com/users/lypanov/gists{/gist_id}","starred_url":"https://api.github.com/users/lypanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lypanov/subscriptions","organizations_url":"https://api.github.com/users/lypanov/orgs","repos_url":"https://api.github.com/users/lypanov/repos","events_url":"https://api.github.com/users/lypanov/events{/privacy}","received_events_url":"https://api.github.com/users/lypanov/received_events","type":"User"},"private":false,"html_url":"https://github.com/lypanov/icaltodoscheduler","description":"iCal To Do scheduler for Leopard","fork":false,"url":"https://api.github.com/repos/lypanov/icaltodoscheduler","forks_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/forks","keys_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/teams","hooks_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/hooks","issue_events_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/issues/events{/number}","events_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/events","assignees_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/assignees{/user}","branches_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/branches{/branch}","tags_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/tags","blobs_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/git/refs{/sha}","trees_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/statuses/{sha}","languages_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/languages","stargazers_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/stargazers","contributors_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/contributors","subscribers_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/subscribers","subscription_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/subscription","commits_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/commits{/sha}","git_commits_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/git/commits{/sha}","comments_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/comments{/number}","issue_comment_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/issues/comments/{number}","contents_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/contents/{+path}","compare_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/merges","archive_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/downloads","issues_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/issues{/number}","pulls_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/pulls{/number}","milestones_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/milestones{/number}","notifications_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lypanov/icaltodoscheduler/labels{/name}"},{"id":1111,"name":"catface","full_name":"jney/catface","owner":{"login":"jney","id":747,"avatar_url":"https://1.gravatar.com/avatar/4b87f676cb6c4d648d71000681823693?d=https%3A%2F%2Fidenticons.github.com%2F8d317bdcf4aafcfc22149d77babee96d.png","gravatar_id":"4b87f676cb6c4d648d71000681823693","url":"https://api.github.com/users/jney","html_url":"https://github.com/jney","followers_url":"https://api.github.com/users/jney/followers","following_url":"https://api.github.com/users/jney/following{/other_user}","gists_url":"https://api.github.com/users/jney/gists{/gist_id}","starred_url":"https://api.github.com/users/jney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jney/subscriptions","organizations_url":"https://api.github.com/users/jney/orgs","repos_url":"https://api.github.com/users/jney/repos","events_url":"https://api.github.com/users/jney/events{/privacy}","received_events_url":"https://api.github.com/users/jney/received_events","type":"User"},"private":false,"html_url":"https://github.com/jney/catface","description":"jquey plugin: a mix between facebox & catfish. message alert.","fork":false,"url":"https://api.github.com/repos/jney/catface","forks_url":"https://api.github.com/repos/jney/catface/forks","keys_url":"https://api.github.com/repos/jney/catface/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jney/catface/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jney/catface/teams","hooks_url":"https://api.github.com/repos/jney/catface/hooks","issue_events_url":"https://api.github.com/repos/jney/catface/issues/events{/number}","events_url":"https://api.github.com/repos/jney/catface/events","assignees_url":"https://api.github.com/repos/jney/catface/assignees{/user}","branches_url":"https://api.github.com/repos/jney/catface/branches{/branch}","tags_url":"https://api.github.com/repos/jney/catface/tags","blobs_url":"https://api.github.com/repos/jney/catface/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jney/catface/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jney/catface/git/refs{/sha}","trees_url":"https://api.github.com/repos/jney/catface/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jney/catface/statuses/{sha}","languages_url":"https://api.github.com/repos/jney/catface/languages","stargazers_url":"https://api.github.com/repos/jney/catface/stargazers","contributors_url":"https://api.github.com/repos/jney/catface/contributors","subscribers_url":"https://api.github.com/repos/jney/catface/subscribers","subscription_url":"https://api.github.com/repos/jney/catface/subscription","commits_url":"https://api.github.com/repos/jney/catface/commits{/sha}","git_commits_url":"https://api.github.com/repos/jney/catface/git/commits{/sha}","comments_url":"https://api.github.com/repos/jney/catface/comments{/number}","issue_comment_url":"https://api.github.com/repos/jney/catface/issues/comments/{number}","contents_url":"https://api.github.com/repos/jney/catface/contents/{+path}","compare_url":"https://api.github.com/repos/jney/catface/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jney/catface/merges","archive_url":"https://api.github.com/repos/jney/catface/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jney/catface/downloads","issues_url":"https://api.github.com/repos/jney/catface/issues{/number}","pulls_url":"https://api.github.com/repos/jney/catface/pulls{/number}","milestones_url":"https://api.github.com/repos/jney/catface/milestones{/number}","notifications_url":"https://api.github.com/repos/jney/catface/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jney/catface/labels{/name}"},{"id":1124,"name":"pyelection","full_name":"alex/pyelection","owner":{"login":"alex","id":772,"avatar_url":"https://2.gravatar.com/avatar/edcdfd5affb524e0f88ec1a00ed3fe5d?d=https%3A%2F%2Fidenticons.github.com%2Fe57c6b956a6521b28495f2886ca0977a.png","gravatar_id":"edcdfd5affb524e0f88ec1a00ed3fe5d","url":"https://api.github.com/users/alex","html_url":"https://github.com/alex","followers_url":"https://api.github.com/users/alex/followers","following_url":"https://api.github.com/users/alex/following{/other_user}","gists_url":"https://api.github.com/users/alex/gists{/gist_id}","starred_url":"https://api.github.com/users/alex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex/subscriptions","organizations_url":"https://api.github.com/users/alex/orgs","repos_url":"https://api.github.com/users/alex/repos","events_url":"https://api.github.com/users/alex/events{/privacy}","received_events_url":"https://api.github.com/users/alex/received_events","type":"User"},"private":false,"html_url":"https://github.com/alex/pyelection","description":"A python application for following the US primaries","fork":false,"url":"https://api.github.com/repos/alex/pyelection","forks_url":"https://api.github.com/repos/alex/pyelection/forks","keys_url":"https://api.github.com/repos/alex/pyelection/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alex/pyelection/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alex/pyelection/teams","hooks_url":"https://api.github.com/repos/alex/pyelection/hooks","issue_events_url":"https://api.github.com/repos/alex/pyelection/issues/events{/number}","events_url":"https://api.github.com/repos/alex/pyelection/events","assignees_url":"https://api.github.com/repos/alex/pyelection/assignees{/user}","branches_url":"https://api.github.com/repos/alex/pyelection/branches{/branch}","tags_url":"https://api.github.com/repos/alex/pyelection/tags","blobs_url":"https://api.github.com/repos/alex/pyelection/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alex/pyelection/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alex/pyelection/git/refs{/sha}","trees_url":"https://api.github.com/repos/alex/pyelection/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alex/pyelection/statuses/{sha}","languages_url":"https://api.github.com/repos/alex/pyelection/languages","stargazers_url":"https://api.github.com/repos/alex/pyelection/stargazers","contributors_url":"https://api.github.com/repos/alex/pyelection/contributors","subscribers_url":"https://api.github.com/repos/alex/pyelection/subscribers","subscription_url":"https://api.github.com/repos/alex/pyelection/subscription","commits_url":"https://api.github.com/repos/alex/pyelection/commits{/sha}","git_commits_url":"https://api.github.com/repos/alex/pyelection/git/commits{/sha}","comments_url":"https://api.github.com/repos/alex/pyelection/comments{/number}","issue_comment_url":"https://api.github.com/repos/alex/pyelection/issues/comments/{number}","contents_url":"https://api.github.com/repos/alex/pyelection/contents/{+path}","compare_url":"https://api.github.com/repos/alex/pyelection/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alex/pyelection/merges","archive_url":"https://api.github.com/repos/alex/pyelection/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alex/pyelection/downloads","issues_url":"https://api.github.com/repos/alex/pyelection/issues{/number}","pulls_url":"https://api.github.com/repos/alex/pyelection/pulls{/number}","milestones_url":"https://api.github.com/repos/alex/pyelection/milestones{/number}","notifications_url":"https://api.github.com/repos/alex/pyelection/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alex/pyelection/labels{/name}"},{"id":1126,"name":"git-todo-py","full_name":"lydgate/git-todo-py","owner":{"login":"lydgate","id":771,"avatar_url":"https://2.gravatar.com/avatar/6f0880ac5ed12ad4b40e5befd00032bd?d=https%3A%2F%2Fidenticons.github.com%2Fb7ee6f5f9aa5cd17ca1aea43ce848496.png","gravatar_id":"6f0880ac5ed12ad4b40e5befd00032bd","url":"https://api.github.com/users/lydgate","html_url":"https://github.com/lydgate","followers_url":"https://api.github.com/users/lydgate/followers","following_url":"https://api.github.com/users/lydgate/following{/other_user}","gists_url":"https://api.github.com/users/lydgate/gists{/gist_id}","starred_url":"https://api.github.com/users/lydgate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydgate/subscriptions","organizations_url":"https://api.github.com/users/lydgate/orgs","repos_url":"https://api.github.com/users/lydgate/repos","events_url":"https://api.github.com/users/lydgate/events{/privacy}","received_events_url":"https://api.github.com/users/lydgate/received_events","type":"User"},"private":false,"html_url":"https://github.com/lydgate/git-todo-py","description":"A fork of todo.py that commits all changes into a git repository.","fork":false,"url":"https://api.github.com/repos/lydgate/git-todo-py","forks_url":"https://api.github.com/repos/lydgate/git-todo-py/forks","keys_url":"https://api.github.com/repos/lydgate/git-todo-py/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lydgate/git-todo-py/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lydgate/git-todo-py/teams","hooks_url":"https://api.github.com/repos/lydgate/git-todo-py/hooks","issue_events_url":"https://api.github.com/repos/lydgate/git-todo-py/issues/events{/number}","events_url":"https://api.github.com/repos/lydgate/git-todo-py/events","assignees_url":"https://api.github.com/repos/lydgate/git-todo-py/assignees{/user}","branches_url":"https://api.github.com/repos/lydgate/git-todo-py/branches{/branch}","tags_url":"https://api.github.com/repos/lydgate/git-todo-py/tags","blobs_url":"https://api.github.com/repos/lydgate/git-todo-py/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lydgate/git-todo-py/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lydgate/git-todo-py/git/refs{/sha}","trees_url":"https://api.github.com/repos/lydgate/git-todo-py/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lydgate/git-todo-py/statuses/{sha}","languages_url":"https://api.github.com/repos/lydgate/git-todo-py/languages","stargazers_url":"https://api.github.com/repos/lydgate/git-todo-py/stargazers","contributors_url":"https://api.github.com/repos/lydgate/git-todo-py/contributors","subscribers_url":"https://api.github.com/repos/lydgate/git-todo-py/subscribers","subscription_url":"https://api.github.com/repos/lydgate/git-todo-py/subscription","commits_url":"https://api.github.com/repos/lydgate/git-todo-py/commits{/sha}","git_commits_url":"https://api.github.com/repos/lydgate/git-todo-py/git/commits{/sha}","comments_url":"https://api.github.com/repos/lydgate/git-todo-py/comments{/number}","issue_comment_url":"https://api.github.com/repos/lydgate/git-todo-py/issues/comments/{number}","contents_url":"https://api.github.com/repos/lydgate/git-todo-py/contents/{+path}","compare_url":"https://api.github.com/repos/lydgate/git-todo-py/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lydgate/git-todo-py/merges","archive_url":"https://api.github.com/repos/lydgate/git-todo-py/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lydgate/git-todo-py/downloads","issues_url":"https://api.github.com/repos/lydgate/git-todo-py/issues{/number}","pulls_url":"https://api.github.com/repos/lydgate/git-todo-py/pulls{/number}","milestones_url":"https://api.github.com/repos/lydgate/git-todo-py/milestones{/number}","notifications_url":"https://api.github.com/repos/lydgate/git-todo-py/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lydgate/git-todo-py/labels{/name}"},{"id":1129,"name":"merb-core","full_name":"piclez/merb-core","owner":{"login":"piclez","id":781,"avatar_url":"https://2.gravatar.com/avatar/c87ede80f824a59883082b697e12348d?d=https%3A%2F%2Fidenticons.github.com%2F7143d7fbadfa4693b9eec507d9d37443.png","gravatar_id":"c87ede80f824a59883082b697e12348d","url":"https://api.github.com/users/piclez","html_url":"https://github.com/piclez","followers_url":"https://api.github.com/users/piclez/followers","following_url":"https://api.github.com/users/piclez/following{/other_user}","gists_url":"https://api.github.com/users/piclez/gists{/gist_id}","starred_url":"https://api.github.com/users/piclez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piclez/subscriptions","organizations_url":"https://api.github.com/users/piclez/orgs","repos_url":"https://api.github.com/users/piclez/repos","events_url":"https://api.github.com/users/piclez/events{/privacy}","received_events_url":"https://api.github.com/users/piclez/received_events","type":"User"},"private":false,"html_url":"https://github.com/piclez/merb-core","description":"Merb Core: All you need. None you don't.","fork":true,"url":"https://api.github.com/repos/piclez/merb-core","forks_url":"https://api.github.com/repos/piclez/merb-core/forks","keys_url":"https://api.github.com/repos/piclez/merb-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/piclez/merb-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/piclez/merb-core/teams","hooks_url":"https://api.github.com/repos/piclez/merb-core/hooks","issue_events_url":"https://api.github.com/repos/piclez/merb-core/issues/events{/number}","events_url":"https://api.github.com/repos/piclez/merb-core/events","assignees_url":"https://api.github.com/repos/piclez/merb-core/assignees{/user}","branches_url":"https://api.github.com/repos/piclez/merb-core/branches{/branch}","tags_url":"https://api.github.com/repos/piclez/merb-core/tags","blobs_url":"https://api.github.com/repos/piclez/merb-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/piclez/merb-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/piclez/merb-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/piclez/merb-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/piclez/merb-core/statuses/{sha}","languages_url":"https://api.github.com/repos/piclez/merb-core/languages","stargazers_url":"https://api.github.com/repos/piclez/merb-core/stargazers","contributors_url":"https://api.github.com/repos/piclez/merb-core/contributors","subscribers_url":"https://api.github.com/repos/piclez/merb-core/subscribers","subscription_url":"https://api.github.com/repos/piclez/merb-core/subscription","commits_url":"https://api.github.com/repos/piclez/merb-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/piclez/merb-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/piclez/merb-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/piclez/merb-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/piclez/merb-core/contents/{+path}","compare_url":"https://api.github.com/repos/piclez/merb-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/piclez/merb-core/merges","archive_url":"https://api.github.com/repos/piclez/merb-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/piclez/merb-core/downloads","issues_url":"https://api.github.com/repos/piclez/merb-core/issues{/number}","pulls_url":"https://api.github.com/repos/piclez/merb-core/pulls{/number}","milestones_url":"https://api.github.com/repos/piclez/merb-core/milestones{/number}","notifications_url":"https://api.github.com/repos/piclez/merb-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/piclez/merb-core/labels{/name}"},{"id":1130,"name":"merb-more","full_name":"piclez/merb-more","owner":{"login":"piclez","id":781,"avatar_url":"https://2.gravatar.com/avatar/c87ede80f824a59883082b697e12348d?d=https%3A%2F%2Fidenticons.github.com%2F7143d7fbadfa4693b9eec507d9d37443.png","gravatar_id":"c87ede80f824a59883082b697e12348d","url":"https://api.github.com/users/piclez","html_url":"https://github.com/piclez","followers_url":"https://api.github.com/users/piclez/followers","following_url":"https://api.github.com/users/piclez/following{/other_user}","gists_url":"https://api.github.com/users/piclez/gists{/gist_id}","starred_url":"https://api.github.com/users/piclez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piclez/subscriptions","organizations_url":"https://api.github.com/users/piclez/orgs","repos_url":"https://api.github.com/users/piclez/repos","events_url":"https://api.github.com/users/piclez/events{/privacy}","received_events_url":"https://api.github.com/users/piclez/received_events","type":"User"},"private":false,"html_url":"https://github.com/piclez/merb-more","description":"Merb More: The Full Stack. Take what you need; leave what you don't.","fork":true,"url":"https://api.github.com/repos/piclez/merb-more","forks_url":"https://api.github.com/repos/piclez/merb-more/forks","keys_url":"https://api.github.com/repos/piclez/merb-more/keys{/key_id}","collaborators_url":"https://api.github.com/repos/piclez/merb-more/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/piclez/merb-more/teams","hooks_url":"https://api.github.com/repos/piclez/merb-more/hooks","issue_events_url":"https://api.github.com/repos/piclez/merb-more/issues/events{/number}","events_url":"https://api.github.com/repos/piclez/merb-more/events","assignees_url":"https://api.github.com/repos/piclez/merb-more/assignees{/user}","branches_url":"https://api.github.com/repos/piclez/merb-more/branches{/branch}","tags_url":"https://api.github.com/repos/piclez/merb-more/tags","blobs_url":"https://api.github.com/repos/piclez/merb-more/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/piclez/merb-more/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/piclez/merb-more/git/refs{/sha}","trees_url":"https://api.github.com/repos/piclez/merb-more/git/trees{/sha}","statuses_url":"https://api.github.com/repos/piclez/merb-more/statuses/{sha}","languages_url":"https://api.github.com/repos/piclez/merb-more/languages","stargazers_url":"https://api.github.com/repos/piclez/merb-more/stargazers","contributors_url":"https://api.github.com/repos/piclez/merb-more/contributors","subscribers_url":"https://api.github.com/repos/piclez/merb-more/subscribers","subscription_url":"https://api.github.com/repos/piclez/merb-more/subscription","commits_url":"https://api.github.com/repos/piclez/merb-more/commits{/sha}","git_commits_url":"https://api.github.com/repos/piclez/merb-more/git/commits{/sha}","comments_url":"https://api.github.com/repos/piclez/merb-more/comments{/number}","issue_comment_url":"https://api.github.com/repos/piclez/merb-more/issues/comments/{number}","contents_url":"https://api.github.com/repos/piclez/merb-more/contents/{+path}","compare_url":"https://api.github.com/repos/piclez/merb-more/compare/{base}...{head}","merges_url":"https://api.github.com/repos/piclez/merb-more/merges","archive_url":"https://api.github.com/repos/piclez/merb-more/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/piclez/merb-more/downloads","issues_url":"https://api.github.com/repos/piclez/merb-more/issues{/number}","pulls_url":"https://api.github.com/repos/piclez/merb-more/pulls{/number}","milestones_url":"https://api.github.com/repos/piclez/merb-more/milestones{/number}","notifications_url":"https://api.github.com/repos/piclez/merb-more/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/piclez/merb-more/labels{/name}"},{"id":1131,"name":"merb-plugins","full_name":"piclez/merb-plugins","owner":{"login":"piclez","id":781,"avatar_url":"https://2.gravatar.com/avatar/c87ede80f824a59883082b697e12348d?d=https%3A%2F%2Fidenticons.github.com%2F7143d7fbadfa4693b9eec507d9d37443.png","gravatar_id":"c87ede80f824a59883082b697e12348d","url":"https://api.github.com/users/piclez","html_url":"https://github.com/piclez","followers_url":"https://api.github.com/users/piclez/followers","following_url":"https://api.github.com/users/piclez/following{/other_user}","gists_url":"https://api.github.com/users/piclez/gists{/gist_id}","starred_url":"https://api.github.com/users/piclez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piclez/subscriptions","organizations_url":"https://api.github.com/users/piclez/orgs","repos_url":"https://api.github.com/users/piclez/repos","events_url":"https://api.github.com/users/piclez/events{/privacy}","received_events_url":"https://api.github.com/users/piclez/received_events","type":"User"},"private":false,"html_url":"https://github.com/piclez/merb-plugins","description":"Merb Plugins: Even more modules to hook up your Merb installation","fork":true,"url":"https://api.github.com/repos/piclez/merb-plugins","forks_url":"https://api.github.com/repos/piclez/merb-plugins/forks","keys_url":"https://api.github.com/repos/piclez/merb-plugins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/piclez/merb-plugins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/piclez/merb-plugins/teams","hooks_url":"https://api.github.com/repos/piclez/merb-plugins/hooks","issue_events_url":"https://api.github.com/repos/piclez/merb-plugins/issues/events{/number}","events_url":"https://api.github.com/repos/piclez/merb-plugins/events","assignees_url":"https://api.github.com/repos/piclez/merb-plugins/assignees{/user}","branches_url":"https://api.github.com/repos/piclez/merb-plugins/branches{/branch}","tags_url":"https://api.github.com/repos/piclez/merb-plugins/tags","blobs_url":"https://api.github.com/repos/piclez/merb-plugins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/piclez/merb-plugins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/piclez/merb-plugins/git/refs{/sha}","trees_url":"https://api.github.com/repos/piclez/merb-plugins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/piclez/merb-plugins/statuses/{sha}","languages_url":"https://api.github.com/repos/piclez/merb-plugins/languages","stargazers_url":"https://api.github.com/repos/piclez/merb-plugins/stargazers","contributors_url":"https://api.github.com/repos/piclez/merb-plugins/contributors","subscribers_url":"https://api.github.com/repos/piclez/merb-plugins/subscribers","subscription_url":"https://api.github.com/repos/piclez/merb-plugins/subscription","commits_url":"https://api.github.com/repos/piclez/merb-plugins/commits{/sha}","git_commits_url":"https://api.github.com/repos/piclez/merb-plugins/git/commits{/sha}","comments_url":"https://api.github.com/repos/piclez/merb-plugins/comments{/number}","issue_comment_url":"https://api.github.com/repos/piclez/merb-plugins/issues/comments/{number}","contents_url":"https://api.github.com/repos/piclez/merb-plugins/contents/{+path}","compare_url":"https://api.github.com/repos/piclez/merb-plugins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/piclez/merb-plugins/merges","archive_url":"https://api.github.com/repos/piclez/merb-plugins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/piclez/merb-plugins/downloads","issues_url":"https://api.github.com/repos/piclez/merb-plugins/issues{/number}","pulls_url":"https://api.github.com/repos/piclez/merb-plugins/pulls{/number}","milestones_url":"https://api.github.com/repos/piclez/merb-plugins/milestones{/number}","notifications_url":"https://api.github.com/repos/piclez/merb-plugins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/piclez/merb-plugins/labels{/name}"},{"id":1157,"name":"ami-ragel","full_name":"jicksta/ami-ragel","owner":{"login":"jicksta","id":155,"avatar_url":"https://1.gravatar.com/avatar/c48fff96ea2bf539a7939ca6d94f2443?d=https%3A%2F%2Fidenticons.github.com%2F2a79ea27c279e471f4d180b08d62b00a.png","gravatar_id":"c48fff96ea2bf539a7939ca6d94f2443","url":"https://api.github.com/users/jicksta","html_url":"https://github.com/jicksta","followers_url":"https://api.github.com/users/jicksta/followers","following_url":"https://api.github.com/users/jicksta/following{/other_user}","gists_url":"https://api.github.com/users/jicksta/gists{/gist_id}","starred_url":"https://api.github.com/users/jicksta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jicksta/subscriptions","organizations_url":"https://api.github.com/users/jicksta/orgs","repos_url":"https://api.github.com/users/jicksta/repos","events_url":"https://api.github.com/users/jicksta/events{/privacy}","received_events_url":"https://api.github.com/users/jicksta/received_events","type":"User"},"private":false,"html_url":"https://github.com/jicksta/ami-ragel","description":"The new Asterisk Manager Interface implementation that uses Ragel and EventMachine","fork":false,"url":"https://api.github.com/repos/jicksta/ami-ragel","forks_url":"https://api.github.com/repos/jicksta/ami-ragel/forks","keys_url":"https://api.github.com/repos/jicksta/ami-ragel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jicksta/ami-ragel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jicksta/ami-ragel/teams","hooks_url":"https://api.github.com/repos/jicksta/ami-ragel/hooks","issue_events_url":"https://api.github.com/repos/jicksta/ami-ragel/issues/events{/number}","events_url":"https://api.github.com/repos/jicksta/ami-ragel/events","assignees_url":"https://api.github.com/repos/jicksta/ami-ragel/assignees{/user}","branches_url":"https://api.github.com/repos/jicksta/ami-ragel/branches{/branch}","tags_url":"https://api.github.com/repos/jicksta/ami-ragel/tags","blobs_url":"https://api.github.com/repos/jicksta/ami-ragel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jicksta/ami-ragel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jicksta/ami-ragel/git/refs{/sha}","trees_url":"https://api.github.com/repos/jicksta/ami-ragel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jicksta/ami-ragel/statuses/{sha}","languages_url":"https://api.github.com/repos/jicksta/ami-ragel/languages","stargazers_url":"https://api.github.com/repos/jicksta/ami-ragel/stargazers","contributors_url":"https://api.github.com/repos/jicksta/ami-ragel/contributors","subscribers_url":"https://api.github.com/repos/jicksta/ami-ragel/subscribers","subscription_url":"https://api.github.com/repos/jicksta/ami-ragel/subscription","commits_url":"https://api.github.com/repos/jicksta/ami-ragel/commits{/sha}","git_commits_url":"https://api.github.com/repos/jicksta/ami-ragel/git/commits{/sha}","comments_url":"https://api.github.com/repos/jicksta/ami-ragel/comments{/number}","issue_comment_url":"https://api.github.com/repos/jicksta/ami-ragel/issues/comments/{number}","contents_url":"https://api.github.com/repos/jicksta/ami-ragel/contents/{+path}","compare_url":"https://api.github.com/repos/jicksta/ami-ragel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jicksta/ami-ragel/merges","archive_url":"https://api.github.com/repos/jicksta/ami-ragel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jicksta/ami-ragel/downloads","issues_url":"https://api.github.com/repos/jicksta/ami-ragel/issues{/number}","pulls_url":"https://api.github.com/repos/jicksta/ami-ragel/pulls{/number}","milestones_url":"https://api.github.com/repos/jicksta/ami-ragel/milestones{/number}","notifications_url":"https://api.github.com/repos/jicksta/ami-ragel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jicksta/ami-ragel/labels{/name}"},{"id":1196,"name":"test","full_name":"weepy/test","owner":{"login":"weepy","id":820,"avatar_url":"https://0.gravatar.com/avatar/fccf42643feb2aaf9e6b4bfce0d737cc?d=https%3A%2F%2Fidenticons.github.com%2Fe2a2dcc36a08a345332c751b2f2e476c.png","gravatar_id":"fccf42643feb2aaf9e6b4bfce0d737cc","url":"https://api.github.com/users/weepy","html_url":"https://github.com/weepy","followers_url":"https://api.github.com/users/weepy/followers","following_url":"https://api.github.com/users/weepy/following{/other_user}","gists_url":"https://api.github.com/users/weepy/gists{/gist_id}","starred_url":"https://api.github.com/users/weepy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weepy/subscriptions","organizations_url":"https://api.github.com/users/weepy/orgs","repos_url":"https://api.github.com/users/weepy/repos","events_url":"https://api.github.com/users/weepy/events{/privacy}","received_events_url":"https://api.github.com/users/weepy/received_events","type":"User"},"private":false,"html_url":"https://github.com/weepy/test","description":"test","fork":false,"url":"https://api.github.com/repos/weepy/test","forks_url":"https://api.github.com/repos/weepy/test/forks","keys_url":"https://api.github.com/repos/weepy/test/keys{/key_id}","collaborators_url":"https://api.github.com/repos/weepy/test/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/weepy/test/teams","hooks_url":"https://api.github.com/repos/weepy/test/hooks","issue_events_url":"https://api.github.com/repos/weepy/test/issues/events{/number}","events_url":"https://api.github.com/repos/weepy/test/events","assignees_url":"https://api.github.com/repos/weepy/test/assignees{/user}","branches_url":"https://api.github.com/repos/weepy/test/branches{/branch}","tags_url":"https://api.github.com/repos/weepy/test/tags","blobs_url":"https://api.github.com/repos/weepy/test/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/weepy/test/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/weepy/test/git/refs{/sha}","trees_url":"https://api.github.com/repos/weepy/test/git/trees{/sha}","statuses_url":"https://api.github.com/repos/weepy/test/statuses/{sha}","languages_url":"https://api.github.com/repos/weepy/test/languages","stargazers_url":"https://api.github.com/repos/weepy/test/stargazers","contributors_url":"https://api.github.com/repos/weepy/test/contributors","subscribers_url":"https://api.github.com/repos/weepy/test/subscribers","subscription_url":"https://api.github.com/repos/weepy/test/subscription","commits_url":"https://api.github.com/repos/weepy/test/commits{/sha}","git_commits_url":"https://api.github.com/repos/weepy/test/git/commits{/sha}","comments_url":"https://api.github.com/repos/weepy/test/comments{/number}","issue_comment_url":"https://api.github.com/repos/weepy/test/issues/comments/{number}","contents_url":"https://api.github.com/repos/weepy/test/contents/{+path}","compare_url":"https://api.github.com/repos/weepy/test/compare/{base}...{head}","merges_url":"https://api.github.com/repos/weepy/test/merges","archive_url":"https://api.github.com/repos/weepy/test/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/weepy/test/downloads","issues_url":"https://api.github.com/repos/weepy/test/issues{/number}","pulls_url":"https://api.github.com/repos/weepy/test/pulls{/number}","milestones_url":"https://api.github.com/repos/weepy/test/milestones{/number}","notifications_url":"https://api.github.com/repos/weepy/test/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/weepy/test/labels{/name}"},{"id":1208,"name":"hydrate","full_name":"olivM/hydrate","owner":{"login":"olivM","id":855,"avatar_url":"https://2.gravatar.com/avatar/0d4a250c55cc214768d6544ea43dc21f?d=https%3A%2F%2Fidenticons.github.com%2Faddfa9b7e234254d26e9c7f2af1005cb.png","gravatar_id":"0d4a250c55cc214768d6544ea43dc21f","url":"https://api.github.com/users/olivM","html_url":"https://github.com/olivM","followers_url":"https://api.github.com/users/olivM/followers","following_url":"https://api.github.com/users/olivM/following{/other_user}","gists_url":"https://api.github.com/users/olivM/gists{/gist_id}","starred_url":"https://api.github.com/users/olivM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivM/subscriptions","organizations_url":"https://api.github.com/users/olivM/orgs","repos_url":"https://api.github.com/users/olivM/repos","events_url":"https://api.github.com/users/olivM/events{/privacy}","received_events_url":"https://api.github.com/users/olivM/received_events","type":"User"},"private":false,"html_url":"https://github.com/olivM/hydrate","description":"a blog hub (a daemon that aggregate items and re-publish them on differents platforms) : an attempt for a one4all blogging system","fork":false,"url":"https://api.github.com/repos/olivM/hydrate","forks_url":"https://api.github.com/repos/olivM/hydrate/forks","keys_url":"https://api.github.com/repos/olivM/hydrate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/olivM/hydrate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/olivM/hydrate/teams","hooks_url":"https://api.github.com/repos/olivM/hydrate/hooks","issue_events_url":"https://api.github.com/repos/olivM/hydrate/issues/events{/number}","events_url":"https://api.github.com/repos/olivM/hydrate/events","assignees_url":"https://api.github.com/repos/olivM/hydrate/assignees{/user}","branches_url":"https://api.github.com/repos/olivM/hydrate/branches{/branch}","tags_url":"https://api.github.com/repos/olivM/hydrate/tags","blobs_url":"https://api.github.com/repos/olivM/hydrate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/olivM/hydrate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/olivM/hydrate/git/refs{/sha}","trees_url":"https://api.github.com/repos/olivM/hydrate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/olivM/hydrate/statuses/{sha}","languages_url":"https://api.github.com/repos/olivM/hydrate/languages","stargazers_url":"https://api.github.com/repos/olivM/hydrate/stargazers","contributors_url":"https://api.github.com/repos/olivM/hydrate/contributors","subscribers_url":"https://api.github.com/repos/olivM/hydrate/subscribers","subscription_url":"https://api.github.com/repos/olivM/hydrate/subscription","commits_url":"https://api.github.com/repos/olivM/hydrate/commits{/sha}","git_commits_url":"https://api.github.com/repos/olivM/hydrate/git/commits{/sha}","comments_url":"https://api.github.com/repos/olivM/hydrate/comments{/number}","issue_comment_url":"https://api.github.com/repos/olivM/hydrate/issues/comments/{number}","contents_url":"https://api.github.com/repos/olivM/hydrate/contents/{+path}","compare_url":"https://api.github.com/repos/olivM/hydrate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/olivM/hydrate/merges","archive_url":"https://api.github.com/repos/olivM/hydrate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/olivM/hydrate/downloads","issues_url":"https://api.github.com/repos/olivM/hydrate/issues{/number}","pulls_url":"https://api.github.com/repos/olivM/hydrate/pulls{/number}","milestones_url":"https://api.github.com/repos/olivM/hydrate/milestones{/number}","notifications_url":"https://api.github.com/repos/olivM/hydrate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/olivM/hydrate/labels{/name}"},{"id":1212,"name":"pmpknpi","full_name":"sintaxi/pmpknpi","owner":{"login":"sintaxi","id":867,"avatar_url":"https://0.gravatar.com/avatar/bcf46750ba13cf50684639eecda1aa4f?d=https%3A%2F%2Fidenticons.github.com%2Fede7e2b6d13a41ddf9f4bdef84fdc737.png","gravatar_id":"bcf46750ba13cf50684639eecda1aa4f","url":"https://api.github.com/users/sintaxi","html_url":"https://github.com/sintaxi","followers_url":"https://api.github.com/users/sintaxi/followers","following_url":"https://api.github.com/users/sintaxi/following{/other_user}","gists_url":"https://api.github.com/users/sintaxi/gists{/gist_id}","starred_url":"https://api.github.com/users/sintaxi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sintaxi/subscriptions","organizations_url":"https://api.github.com/users/sintaxi/orgs","repos_url":"https://api.github.com/users/sintaxi/repos","events_url":"https://api.github.com/users/sintaxi/events{/privacy}","received_events_url":"https://api.github.com/users/sintaxi/received_events","type":"User"},"private":false,"html_url":"https://github.com/sintaxi/pmpknpi","description":"A RESTful Blog API written in Merb","fork":false,"url":"https://api.github.com/repos/sintaxi/pmpknpi","forks_url":"https://api.github.com/repos/sintaxi/pmpknpi/forks","keys_url":"https://api.github.com/repos/sintaxi/pmpknpi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sintaxi/pmpknpi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sintaxi/pmpknpi/teams","hooks_url":"https://api.github.com/repos/sintaxi/pmpknpi/hooks","issue_events_url":"https://api.github.com/repos/sintaxi/pmpknpi/issues/events{/number}","events_url":"https://api.github.com/repos/sintaxi/pmpknpi/events","assignees_url":"https://api.github.com/repos/sintaxi/pmpknpi/assignees{/user}","branches_url":"https://api.github.com/repos/sintaxi/pmpknpi/branches{/branch}","tags_url":"https://api.github.com/repos/sintaxi/pmpknpi/tags","blobs_url":"https://api.github.com/repos/sintaxi/pmpknpi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sintaxi/pmpknpi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sintaxi/pmpknpi/git/refs{/sha}","trees_url":"https://api.github.com/repos/sintaxi/pmpknpi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sintaxi/pmpknpi/statuses/{sha}","languages_url":"https://api.github.com/repos/sintaxi/pmpknpi/languages","stargazers_url":"https://api.github.com/repos/sintaxi/pmpknpi/stargazers","contributors_url":"https://api.github.com/repos/sintaxi/pmpknpi/contributors","subscribers_url":"https://api.github.com/repos/sintaxi/pmpknpi/subscribers","subscription_url":"https://api.github.com/repos/sintaxi/pmpknpi/subscription","commits_url":"https://api.github.com/repos/sintaxi/pmpknpi/commits{/sha}","git_commits_url":"https://api.github.com/repos/sintaxi/pmpknpi/git/commits{/sha}","comments_url":"https://api.github.com/repos/sintaxi/pmpknpi/comments{/number}","issue_comment_url":"https://api.github.com/repos/sintaxi/pmpknpi/issues/comments/{number}","contents_url":"https://api.github.com/repos/sintaxi/pmpknpi/contents/{+path}","compare_url":"https://api.github.com/repos/sintaxi/pmpknpi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sintaxi/pmpknpi/merges","archive_url":"https://api.github.com/repos/sintaxi/pmpknpi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sintaxi/pmpknpi/downloads","issues_url":"https://api.github.com/repos/sintaxi/pmpknpi/issues{/number}","pulls_url":"https://api.github.com/repos/sintaxi/pmpknpi/pulls{/number}","milestones_url":"https://api.github.com/repos/sintaxi/pmpknpi/milestones{/number}","notifications_url":"https://api.github.com/repos/sintaxi/pmpknpi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sintaxi/pmpknpi/labels{/name}"},{"id":1213,"name":"restful-authentication","full_name":"rmanalan/restful-authentication","owner":{"login":"rmanalan","id":549,"avatar_url":"https://0.gravatar.com/avatar/78c939ec0390fe89d78cdbf85e8e6856?d=https%3A%2F%2Fidenticons.github.com%2Fccb1d45fb76f7c5a0bf619f979c6cf36.png","gravatar_id":"78c939ec0390fe89d78cdbf85e8e6856","url":"https://api.github.com/users/rmanalan","html_url":"https://github.com/rmanalan","followers_url":"https://api.github.com/users/rmanalan/followers","following_url":"https://api.github.com/users/rmanalan/following{/other_user}","gists_url":"https://api.github.com/users/rmanalan/gists{/gist_id}","starred_url":"https://api.github.com/users/rmanalan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmanalan/subscriptions","organizations_url":"https://api.github.com/users/rmanalan/orgs","repos_url":"https://api.github.com/users/rmanalan/repos","events_url":"https://api.github.com/users/rmanalan/events{/privacy}","received_events_url":"https://api.github.com/users/rmanalan/received_events","type":"User"},"private":false,"html_url":"https://github.com/rmanalan/restful-authentication","description":"Generates common user authentication code for Rails/Merb, with a full test/unit and rspec suite and optional Acts as State Machine support built-in. Added support for Oracle SSO authentication.","fork":true,"url":"https://api.github.com/repos/rmanalan/restful-authentication","forks_url":"https://api.github.com/repos/rmanalan/restful-authentication/forks","keys_url":"https://api.github.com/repos/rmanalan/restful-authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rmanalan/restful-authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rmanalan/restful-authentication/teams","hooks_url":"https://api.github.com/repos/rmanalan/restful-authentication/hooks","issue_events_url":"https://api.github.com/repos/rmanalan/restful-authentication/issues/events{/number}","events_url":"https://api.github.com/repos/rmanalan/restful-authentication/events","assignees_url":"https://api.github.com/repos/rmanalan/restful-authentication/assignees{/user}","branches_url":"https://api.github.com/repos/rmanalan/restful-authentication/branches{/branch}","tags_url":"https://api.github.com/repos/rmanalan/restful-authentication/tags","blobs_url":"https://api.github.com/repos/rmanalan/restful-authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rmanalan/restful-authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rmanalan/restful-authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/rmanalan/restful-authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rmanalan/restful-authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/rmanalan/restful-authentication/languages","stargazers_url":"https://api.github.com/repos/rmanalan/restful-authentication/stargazers","contributors_url":"https://api.github.com/repos/rmanalan/restful-authentication/contributors","subscribers_url":"https://api.github.com/repos/rmanalan/restful-authentication/subscribers","subscription_url":"https://api.github.com/repos/rmanalan/restful-authentication/subscription","commits_url":"https://api.github.com/repos/rmanalan/restful-authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/rmanalan/restful-authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/rmanalan/restful-authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/rmanalan/restful-authentication/issues/comments/{number}","contents_url":"https://api.github.com/repos/rmanalan/restful-authentication/contents/{+path}","compare_url":"https://api.github.com/repos/rmanalan/restful-authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rmanalan/restful-authentication/merges","archive_url":"https://api.github.com/repos/rmanalan/restful-authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rmanalan/restful-authentication/downloads","issues_url":"https://api.github.com/repos/rmanalan/restful-authentication/issues{/number}","pulls_url":"https://api.github.com/repos/rmanalan/restful-authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/rmanalan/restful-authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/rmanalan/restful-authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rmanalan/restful-authentication/labels{/name}"},{"id":1217,"name":"facebox","full_name":"rmanalan/facebox","owner":{"login":"rmanalan","id":549,"avatar_url":"https://0.gravatar.com/avatar/78c939ec0390fe89d78cdbf85e8e6856?d=https%3A%2F%2Fidenticons.github.com%2Fccb1d45fb76f7c5a0bf619f979c6cf36.png","gravatar_id":"78c939ec0390fe89d78cdbf85e8e6856","url":"https://api.github.com/users/rmanalan","html_url":"https://github.com/rmanalan","followers_url":"https://api.github.com/users/rmanalan/followers","following_url":"https://api.github.com/users/rmanalan/following{/other_user}","gists_url":"https://api.github.com/users/rmanalan/gists{/gist_id}","starred_url":"https://api.github.com/users/rmanalan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmanalan/subscriptions","organizations_url":"https://api.github.com/users/rmanalan/orgs","repos_url":"https://api.github.com/users/rmanalan/repos","events_url":"https://api.github.com/users/rmanalan/events{/privacy}","received_events_url":"https://api.github.com/users/rmanalan/received_events","type":"User"},"private":false,"html_url":"https://github.com/rmanalan/facebox","description":"Facebook-style lightbox, built in jQuery","fork":true,"url":"https://api.github.com/repos/rmanalan/facebox","forks_url":"https://api.github.com/repos/rmanalan/facebox/forks","keys_url":"https://api.github.com/repos/rmanalan/facebox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rmanalan/facebox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rmanalan/facebox/teams","hooks_url":"https://api.github.com/repos/rmanalan/facebox/hooks","issue_events_url":"https://api.github.com/repos/rmanalan/facebox/issues/events{/number}","events_url":"https://api.github.com/repos/rmanalan/facebox/events","assignees_url":"https://api.github.com/repos/rmanalan/facebox/assignees{/user}","branches_url":"https://api.github.com/repos/rmanalan/facebox/branches{/branch}","tags_url":"https://api.github.com/repos/rmanalan/facebox/tags","blobs_url":"https://api.github.com/repos/rmanalan/facebox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rmanalan/facebox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rmanalan/facebox/git/refs{/sha}","trees_url":"https://api.github.com/repos/rmanalan/facebox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rmanalan/facebox/statuses/{sha}","languages_url":"https://api.github.com/repos/rmanalan/facebox/languages","stargazers_url":"https://api.github.com/repos/rmanalan/facebox/stargazers","contributors_url":"https://api.github.com/repos/rmanalan/facebox/contributors","subscribers_url":"https://api.github.com/repos/rmanalan/facebox/subscribers","subscription_url":"https://api.github.com/repos/rmanalan/facebox/subscription","commits_url":"https://api.github.com/repos/rmanalan/facebox/commits{/sha}","git_commits_url":"https://api.github.com/repos/rmanalan/facebox/git/commits{/sha}","comments_url":"https://api.github.com/repos/rmanalan/facebox/comments{/number}","issue_comment_url":"https://api.github.com/repos/rmanalan/facebox/issues/comments/{number}","contents_url":"https://api.github.com/repos/rmanalan/facebox/contents/{+path}","compare_url":"https://api.github.com/repos/rmanalan/facebox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rmanalan/facebox/merges","archive_url":"https://api.github.com/repos/rmanalan/facebox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rmanalan/facebox/downloads","issues_url":"https://api.github.com/repos/rmanalan/facebox/issues{/number}","pulls_url":"https://api.github.com/repos/rmanalan/facebox/pulls{/number}","milestones_url":"https://api.github.com/repos/rmanalan/facebox/milestones{/number}","notifications_url":"https://api.github.com/repos/rmanalan/facebox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rmanalan/facebox/labels{/name}"},{"id":1220,"name":"gcbot","full_name":"halorgium/gcbot","owner":{"login":"halorgium","id":263,"avatar_url":"https://1.gravatar.com/avatar/3200c5348a7c08c2f20fdaceac6804b0?d=https%3A%2F%2Fidenticons.github.com%2F8c19f571e251e61cb8dd3612f26d5ecf.png","gravatar_id":"3200c5348a7c08c2f20fdaceac6804b0","url":"https://api.github.com/users/halorgium","html_url":"https://github.com/halorgium","followers_url":"https://api.github.com/users/halorgium/followers","following_url":"https://api.github.com/users/halorgium/following{/other_user}","gists_url":"https://api.github.com/users/halorgium/gists{/gist_id}","starred_url":"https://api.github.com/users/halorgium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halorgium/subscriptions","organizations_url":"https://api.github.com/users/halorgium/orgs","repos_url":"https://api.github.com/users/halorgium/repos","events_url":"https://api.github.com/users/halorgium/events{/privacy}","received_events_url":"https://api.github.com/users/halorgium/received_events","type":"User"},"private":false,"html_url":"https://github.com/halorgium/gcbot","description":"","fork":false,"url":"https://api.github.com/repos/halorgium/gcbot","forks_url":"https://api.github.com/repos/halorgium/gcbot/forks","keys_url":"https://api.github.com/repos/halorgium/gcbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/halorgium/gcbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/halorgium/gcbot/teams","hooks_url":"https://api.github.com/repos/halorgium/gcbot/hooks","issue_events_url":"https://api.github.com/repos/halorgium/gcbot/issues/events{/number}","events_url":"https://api.github.com/repos/halorgium/gcbot/events","assignees_url":"https://api.github.com/repos/halorgium/gcbot/assignees{/user}","branches_url":"https://api.github.com/repos/halorgium/gcbot/branches{/branch}","tags_url":"https://api.github.com/repos/halorgium/gcbot/tags","blobs_url":"https://api.github.com/repos/halorgium/gcbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/halorgium/gcbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/halorgium/gcbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/halorgium/gcbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/halorgium/gcbot/statuses/{sha}","languages_url":"https://api.github.com/repos/halorgium/gcbot/languages","stargazers_url":"https://api.github.com/repos/halorgium/gcbot/stargazers","contributors_url":"https://api.github.com/repos/halorgium/gcbot/contributors","subscribers_url":"https://api.github.com/repos/halorgium/gcbot/subscribers","subscription_url":"https://api.github.com/repos/halorgium/gcbot/subscription","commits_url":"https://api.github.com/repos/halorgium/gcbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/halorgium/gcbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/halorgium/gcbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/halorgium/gcbot/issues/comments/{number}","contents_url":"https://api.github.com/repos/halorgium/gcbot/contents/{+path}","compare_url":"https://api.github.com/repos/halorgium/gcbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/halorgium/gcbot/merges","archive_url":"https://api.github.com/repos/halorgium/gcbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/halorgium/gcbot/downloads","issues_url":"https://api.github.com/repos/halorgium/gcbot/issues{/number}","pulls_url":"https://api.github.com/repos/halorgium/gcbot/pulls{/number}","milestones_url":"https://api.github.com/repos/halorgium/gcbot/milestones{/number}","notifications_url":"https://api.github.com/repos/halorgium/gcbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/halorgium/gcbot/labels{/name}"},{"id":1227,"name":"will_paginate","full_name":"mislav/will_paginate","owner":{"login":"mislav","id":887,"avatar_url":"https://0.gravatar.com/avatar/8f93a872e399bc1353cc8d4e791d5401?d=https%3A%2F%2Fidenticons.github.com%2F7ce3284b743aefde80ffd9aec500e085.png","gravatar_id":"8f93a872e399bc1353cc8d4e791d5401","url":"https://api.github.com/users/mislav","html_url":"https://github.com/mislav","followers_url":"https://api.github.com/users/mislav/followers","following_url":"https://api.github.com/users/mislav/following{/other_user}","gists_url":"https://api.github.com/users/mislav/gists{/gist_id}","starred_url":"https://api.github.com/users/mislav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mislav/subscriptions","organizations_url":"https://api.github.com/users/mislav/orgs","repos_url":"https://api.github.com/users/mislav/repos","events_url":"https://api.github.com/users/mislav/events{/privacy}","received_events_url":"https://api.github.com/users/mislav/received_events","type":"User"},"private":false,"html_url":"https://github.com/mislav/will_paginate","description":"Pagination library for Rails 3, Sinatra, Merb, DataMapper, and more","fork":false,"url":"https://api.github.com/repos/mislav/will_paginate","forks_url":"https://api.github.com/repos/mislav/will_paginate/forks","keys_url":"https://api.github.com/repos/mislav/will_paginate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mislav/will_paginate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mislav/will_paginate/teams","hooks_url":"https://api.github.com/repos/mislav/will_paginate/hooks","issue_events_url":"https://api.github.com/repos/mislav/will_paginate/issues/events{/number}","events_url":"https://api.github.com/repos/mislav/will_paginate/events","assignees_url":"https://api.github.com/repos/mislav/will_paginate/assignees{/user}","branches_url":"https://api.github.com/repos/mislav/will_paginate/branches{/branch}","tags_url":"https://api.github.com/repos/mislav/will_paginate/tags","blobs_url":"https://api.github.com/repos/mislav/will_paginate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mislav/will_paginate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mislav/will_paginate/git/refs{/sha}","trees_url":"https://api.github.com/repos/mislav/will_paginate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mislav/will_paginate/statuses/{sha}","languages_url":"https://api.github.com/repos/mislav/will_paginate/languages","stargazers_url":"https://api.github.com/repos/mislav/will_paginate/stargazers","contributors_url":"https://api.github.com/repos/mislav/will_paginate/contributors","subscribers_url":"https://api.github.com/repos/mislav/will_paginate/subscribers","subscription_url":"https://api.github.com/repos/mislav/will_paginate/subscription","commits_url":"https://api.github.com/repos/mislav/will_paginate/commits{/sha}","git_commits_url":"https://api.github.com/repos/mislav/will_paginate/git/commits{/sha}","comments_url":"https://api.github.com/repos/mislav/will_paginate/comments{/number}","issue_comment_url":"https://api.github.com/repos/mislav/will_paginate/issues/comments/{number}","contents_url":"https://api.github.com/repos/mislav/will_paginate/contents/{+path}","compare_url":"https://api.github.com/repos/mislav/will_paginate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mislav/will_paginate/merges","archive_url":"https://api.github.com/repos/mislav/will_paginate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mislav/will_paginate/downloads","issues_url":"https://api.github.com/repos/mislav/will_paginate/issues{/number}","pulls_url":"https://api.github.com/repos/mislav/will_paginate/pulls{/number}","milestones_url":"https://api.github.com/repos/mislav/will_paginate/milestones{/number}","notifications_url":"https://api.github.com/repos/mislav/will_paginate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mislav/will_paginate/labels{/name}"},{"id":1233,"name":"socialgraph-viewer","full_name":"rmanalan/socialgraph-viewer","owner":{"login":"rmanalan","id":549,"avatar_url":"https://0.gravatar.com/avatar/78c939ec0390fe89d78cdbf85e8e6856?d=https%3A%2F%2Fidenticons.github.com%2Fccb1d45fb76f7c5a0bf619f979c6cf36.png","gravatar_id":"78c939ec0390fe89d78cdbf85e8e6856","url":"https://api.github.com/users/rmanalan","html_url":"https://github.com/rmanalan","followers_url":"https://api.github.com/users/rmanalan/followers","following_url":"https://api.github.com/users/rmanalan/following{/other_user}","gists_url":"https://api.github.com/users/rmanalan/gists{/gist_id}","starred_url":"https://api.github.com/users/rmanalan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmanalan/subscriptions","organizations_url":"https://api.github.com/users/rmanalan/orgs","repos_url":"https://api.github.com/users/rmanalan/repos","events_url":"https://api.github.com/users/rmanalan/events{/privacy}","received_events_url":"https://api.github.com/users/rmanalan/received_events","type":"User"},"private":false,"html_url":"https://github.com/rmanalan/socialgraph-viewer","description":"Simple social graph javascript viewer. Uses the Google Social Graph API","fork":false,"url":"https://api.github.com/repos/rmanalan/socialgraph-viewer","forks_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/forks","keys_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/teams","hooks_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/hooks","issue_events_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/issues/events{/number}","events_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/events","assignees_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/assignees{/user}","branches_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/branches{/branch}","tags_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/tags","blobs_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/git/refs{/sha}","trees_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/statuses/{sha}","languages_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/languages","stargazers_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/stargazers","contributors_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/contributors","subscribers_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/subscribers","subscription_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/subscription","commits_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/commits{/sha}","git_commits_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/git/commits{/sha}","comments_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/comments{/number}","issue_comment_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/issues/comments/{number}","contents_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/contents/{+path}","compare_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/merges","archive_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/downloads","issues_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/issues{/number}","pulls_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/pulls{/number}","milestones_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/milestones{/number}","notifications_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rmanalan/socialgraph-viewer/labels{/name}"},{"id":1234,"name":"ruvi","full_name":"lypanov/ruvi","owner":{"login":"lypanov","id":311,"avatar_url":"https://2.gravatar.com/avatar/fde764988033c802599aa33705dce509?d=https%3A%2F%2Fidenticons.github.com%2F9dfcd5e558dfa04aaf37f137a1d9d3e5.png","gravatar_id":"fde764988033c802599aa33705dce509","url":"https://api.github.com/users/lypanov","html_url":"https://github.com/lypanov","followers_url":"https://api.github.com/users/lypanov/followers","following_url":"https://api.github.com/users/lypanov/following{/other_user}","gists_url":"https://api.github.com/users/lypanov/gists{/gist_id}","starred_url":"https://api.github.com/users/lypanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lypanov/subscriptions","organizations_url":"https://api.github.com/users/lypanov/orgs","repos_url":"https://api.github.com/users/lypanov/repos","events_url":"https://api.github.com/users/lypanov/events{/privacy}","received_events_url":"https://api.github.com/users/lypanov/received_events","type":"User"},"private":false,"html_url":"https://github.com/lypanov/ruvi","description":"vi wannebe written in ruby","fork":false,"url":"https://api.github.com/repos/lypanov/ruvi","forks_url":"https://api.github.com/repos/lypanov/ruvi/forks","keys_url":"https://api.github.com/repos/lypanov/ruvi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lypanov/ruvi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lypanov/ruvi/teams","hooks_url":"https://api.github.com/repos/lypanov/ruvi/hooks","issue_events_url":"https://api.github.com/repos/lypanov/ruvi/issues/events{/number}","events_url":"https://api.github.com/repos/lypanov/ruvi/events","assignees_url":"https://api.github.com/repos/lypanov/ruvi/assignees{/user}","branches_url":"https://api.github.com/repos/lypanov/ruvi/branches{/branch}","tags_url":"https://api.github.com/repos/lypanov/ruvi/tags","blobs_url":"https://api.github.com/repos/lypanov/ruvi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lypanov/ruvi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lypanov/ruvi/git/refs{/sha}","trees_url":"https://api.github.com/repos/lypanov/ruvi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lypanov/ruvi/statuses/{sha}","languages_url":"https://api.github.com/repos/lypanov/ruvi/languages","stargazers_url":"https://api.github.com/repos/lypanov/ruvi/stargazers","contributors_url":"https://api.github.com/repos/lypanov/ruvi/contributors","subscribers_url":"https://api.github.com/repos/lypanov/ruvi/subscribers","subscription_url":"https://api.github.com/repos/lypanov/ruvi/subscription","commits_url":"https://api.github.com/repos/lypanov/ruvi/commits{/sha}","git_commits_url":"https://api.github.com/repos/lypanov/ruvi/git/commits{/sha}","comments_url":"https://api.github.com/repos/lypanov/ruvi/comments{/number}","issue_comment_url":"https://api.github.com/repos/lypanov/ruvi/issues/comments/{number}","contents_url":"https://api.github.com/repos/lypanov/ruvi/contents/{+path}","compare_url":"https://api.github.com/repos/lypanov/ruvi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lypanov/ruvi/merges","archive_url":"https://api.github.com/repos/lypanov/ruvi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lypanov/ruvi/downloads","issues_url":"https://api.github.com/repos/lypanov/ruvi/issues{/number}","pulls_url":"https://api.github.com/repos/lypanov/ruvi/pulls{/number}","milestones_url":"https://api.github.com/repos/lypanov/ruvi/milestones{/number}","notifications_url":"https://api.github.com/repos/lypanov/ruvi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lypanov/ruvi/labels{/name}"},{"id":1241,"name":"soco","full_name":"caius/soco","owner":{"login":"caius","id":696,"avatar_url":"https://0.gravatar.com/avatar/ad072c8b8e23a18a49eddb6517490fa1?d=https%3A%2F%2Fidenticons.github.com%2F0cb929eae7a499e50248a3a78f7acfc7.png","gravatar_id":"ad072c8b8e23a18a49eddb6517490fa1","url":"https://api.github.com/users/caius","html_url":"https://github.com/caius","followers_url":"https://api.github.com/users/caius/followers","following_url":"https://api.github.com/users/caius/following{/other_user}","gists_url":"https://api.github.com/users/caius/gists{/gist_id}","starred_url":"https://api.github.com/users/caius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caius/subscriptions","organizations_url":"https://api.github.com/users/caius/orgs","repos_url":"https://api.github.com/users/caius/repos","events_url":"https://api.github.com/users/caius/events{/privacy}","received_events_url":"https://api.github.com/users/caius/received_events","type":"User"},"private":false,"html_url":"https://github.com/caius/soco","description":"A static file dynamically generated website backend","fork":false,"url":"https://api.github.com/repos/caius/soco","forks_url":"https://api.github.com/repos/caius/soco/forks","keys_url":"https://api.github.com/repos/caius/soco/keys{/key_id}","collaborators_url":"https://api.github.com/repos/caius/soco/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/caius/soco/teams","hooks_url":"https://api.github.com/repos/caius/soco/hooks","issue_events_url":"https://api.github.com/repos/caius/soco/issues/events{/number}","events_url":"https://api.github.com/repos/caius/soco/events","assignees_url":"https://api.github.com/repos/caius/soco/assignees{/user}","branches_url":"https://api.github.com/repos/caius/soco/branches{/branch}","tags_url":"https://api.github.com/repos/caius/soco/tags","blobs_url":"https://api.github.com/repos/caius/soco/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/caius/soco/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/caius/soco/git/refs{/sha}","trees_url":"https://api.github.com/repos/caius/soco/git/trees{/sha}","statuses_url":"https://api.github.com/repos/caius/soco/statuses/{sha}","languages_url":"https://api.github.com/repos/caius/soco/languages","stargazers_url":"https://api.github.com/repos/caius/soco/stargazers","contributors_url":"https://api.github.com/repos/caius/soco/contributors","subscribers_url":"https://api.github.com/repos/caius/soco/subscribers","subscription_url":"https://api.github.com/repos/caius/soco/subscription","commits_url":"https://api.github.com/repos/caius/soco/commits{/sha}","git_commits_url":"https://api.github.com/repos/caius/soco/git/commits{/sha}","comments_url":"https://api.github.com/repos/caius/soco/comments{/number}","issue_comment_url":"https://api.github.com/repos/caius/soco/issues/comments/{number}","contents_url":"https://api.github.com/repos/caius/soco/contents/{+path}","compare_url":"https://api.github.com/repos/caius/soco/compare/{base}...{head}","merges_url":"https://api.github.com/repos/caius/soco/merges","archive_url":"https://api.github.com/repos/caius/soco/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/caius/soco/downloads","issues_url":"https://api.github.com/repos/caius/soco/issues{/number}","pulls_url":"https://api.github.com/repos/caius/soco/pulls{/number}","milestones_url":"https://api.github.com/repos/caius/soco/milestones{/number}","notifications_url":"https://api.github.com/repos/caius/soco/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/caius/soco/labels{/name}"},{"id":1249,"name":"ruby-gsl","full_name":"codahale/ruby-gsl","owner":{"login":"codahale","id":207,"avatar_url":"https://2.gravatar.com/avatar/87206f3bf53d403e16ec023c56e904c5?d=https%3A%2F%2Fidenticons.github.com%2F69adc1e107f7f7d035d7baf04342e1ca.png","gravatar_id":"87206f3bf53d403e16ec023c56e904c5","url":"https://api.github.com/users/codahale","html_url":"https://github.com/codahale","followers_url":"https://api.github.com/users/codahale/followers","following_url":"https://api.github.com/users/codahale/following{/other_user}","gists_url":"https://api.github.com/users/codahale/gists{/gist_id}","starred_url":"https://api.github.com/users/codahale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codahale/subscriptions","organizations_url":"https://api.github.com/users/codahale/orgs","repos_url":"https://api.github.com/users/codahale/repos","events_url":"https://api.github.com/users/codahale/events{/privacy}","received_events_url":"https://api.github.com/users/codahale/received_events","type":"User"},"private":false,"html_url":"https://github.com/codahale/ruby-gsl","description":"[ABANDONED] New development on the Ruby bindings for the GNU Scientific Library","fork":false,"url":"https://api.github.com/repos/codahale/ruby-gsl","forks_url":"https://api.github.com/repos/codahale/ruby-gsl/forks","keys_url":"https://api.github.com/repos/codahale/ruby-gsl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/codahale/ruby-gsl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/codahale/ruby-gsl/teams","hooks_url":"https://api.github.com/repos/codahale/ruby-gsl/hooks","issue_events_url":"https://api.github.com/repos/codahale/ruby-gsl/issues/events{/number}","events_url":"https://api.github.com/repos/codahale/ruby-gsl/events","assignees_url":"https://api.github.com/repos/codahale/ruby-gsl/assignees{/user}","branches_url":"https://api.github.com/repos/codahale/ruby-gsl/branches{/branch}","tags_url":"https://api.github.com/repos/codahale/ruby-gsl/tags","blobs_url":"https://api.github.com/repos/codahale/ruby-gsl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/codahale/ruby-gsl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/codahale/ruby-gsl/git/refs{/sha}","trees_url":"https://api.github.com/repos/codahale/ruby-gsl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/codahale/ruby-gsl/statuses/{sha}","languages_url":"https://api.github.com/repos/codahale/ruby-gsl/languages","stargazers_url":"https://api.github.com/repos/codahale/ruby-gsl/stargazers","contributors_url":"https://api.github.com/repos/codahale/ruby-gsl/contributors","subscribers_url":"https://api.github.com/repos/codahale/ruby-gsl/subscribers","subscription_url":"https://api.github.com/repos/codahale/ruby-gsl/subscription","commits_url":"https://api.github.com/repos/codahale/ruby-gsl/commits{/sha}","git_commits_url":"https://api.github.com/repos/codahale/ruby-gsl/git/commits{/sha}","comments_url":"https://api.github.com/repos/codahale/ruby-gsl/comments{/number}","issue_comment_url":"https://api.github.com/repos/codahale/ruby-gsl/issues/comments/{number}","contents_url":"https://api.github.com/repos/codahale/ruby-gsl/contents/{+path}","compare_url":"https://api.github.com/repos/codahale/ruby-gsl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/codahale/ruby-gsl/merges","archive_url":"https://api.github.com/repos/codahale/ruby-gsl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/codahale/ruby-gsl/downloads","issues_url":"https://api.github.com/repos/codahale/ruby-gsl/issues{/number}","pulls_url":"https://api.github.com/repos/codahale/ruby-gsl/pulls{/number}","milestones_url":"https://api.github.com/repos/codahale/ruby-gsl/milestones{/number}","notifications_url":"https://api.github.com/repos/codahale/ruby-gsl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/codahale/ruby-gsl/labels{/name}"},{"id":1252,"name":"yard","full_name":"lsegal/yard","owner":{"login":"lsegal","id":686,"avatar_url":"https://0.gravatar.com/avatar/510395998b7e929a8f48dc8cdb087379?d=https%3A%2F%2Fidenticons.github.com%2F109a0ca3bc27f3e96597370d5c8cf03d.png","gravatar_id":"510395998b7e929a8f48dc8cdb087379","url":"https://api.github.com/users/lsegal","html_url":"https://github.com/lsegal","followers_url":"https://api.github.com/users/lsegal/followers","following_url":"https://api.github.com/users/lsegal/following{/other_user}","gists_url":"https://api.github.com/users/lsegal/gists{/gist_id}","starred_url":"https://api.github.com/users/lsegal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsegal/subscriptions","organizations_url":"https://api.github.com/users/lsegal/orgs","repos_url":"https://api.github.com/users/lsegal/repos","events_url":"https://api.github.com/users/lsegal/events{/privacy}","received_events_url":"https://api.github.com/users/lsegal/received_events","type":"User"},"private":false,"html_url":"https://github.com/lsegal/yard","description":"YARD is a Ruby Documentation tool. The Y stands for \"Yay!\"","fork":false,"url":"https://api.github.com/repos/lsegal/yard","forks_url":"https://api.github.com/repos/lsegal/yard/forks","keys_url":"https://api.github.com/repos/lsegal/yard/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lsegal/yard/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lsegal/yard/teams","hooks_url":"https://api.github.com/repos/lsegal/yard/hooks","issue_events_url":"https://api.github.com/repos/lsegal/yard/issues/events{/number}","events_url":"https://api.github.com/repos/lsegal/yard/events","assignees_url":"https://api.github.com/repos/lsegal/yard/assignees{/user}","branches_url":"https://api.github.com/repos/lsegal/yard/branches{/branch}","tags_url":"https://api.github.com/repos/lsegal/yard/tags","blobs_url":"https://api.github.com/repos/lsegal/yard/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lsegal/yard/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lsegal/yard/git/refs{/sha}","trees_url":"https://api.github.com/repos/lsegal/yard/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lsegal/yard/statuses/{sha}","languages_url":"https://api.github.com/repos/lsegal/yard/languages","stargazers_url":"https://api.github.com/repos/lsegal/yard/stargazers","contributors_url":"https://api.github.com/repos/lsegal/yard/contributors","subscribers_url":"https://api.github.com/repos/lsegal/yard/subscribers","subscription_url":"https://api.github.com/repos/lsegal/yard/subscription","commits_url":"https://api.github.com/repos/lsegal/yard/commits{/sha}","git_commits_url":"https://api.github.com/repos/lsegal/yard/git/commits{/sha}","comments_url":"https://api.github.com/repos/lsegal/yard/comments{/number}","issue_comment_url":"https://api.github.com/repos/lsegal/yard/issues/comments/{number}","contents_url":"https://api.github.com/repos/lsegal/yard/contents/{+path}","compare_url":"https://api.github.com/repos/lsegal/yard/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lsegal/yard/merges","archive_url":"https://api.github.com/repos/lsegal/yard/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lsegal/yard/downloads","issues_url":"https://api.github.com/repos/lsegal/yard/issues{/number}","pulls_url":"https://api.github.com/repos/lsegal/yard/pulls{/number}","milestones_url":"https://api.github.com/repos/lsegal/yard/milestones{/number}","notifications_url":"https://api.github.com/repos/lsegal/yard/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lsegal/yard/labels{/name}"},{"id":1253,"name":"castanaut","full_name":"joseph/castanaut","owner":{"login":"joseph","id":900,"avatar_url":"https://0.gravatar.com/avatar/dba7eb74aae18f1045ac33579736949b?d=https%3A%2F%2Fidenticons.github.com%2Facf4b89d3d503d8252c9c4ba75ddbf6d.png","gravatar_id":"dba7eb74aae18f1045ac33579736949b","url":"https://api.github.com/users/joseph","html_url":"https://github.com/joseph","followers_url":"https://api.github.com/users/joseph/followers","following_url":"https://api.github.com/users/joseph/following{/other_user}","gists_url":"https://api.github.com/users/joseph/gists{/gist_id}","starred_url":"https://api.github.com/users/joseph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joseph/subscriptions","organizations_url":"https://api.github.com/users/joseph/orgs","repos_url":"https://api.github.com/users/joseph/repos","events_url":"https://api.github.com/users/joseph/events{/privacy}","received_events_url":"https://api.github.com/users/joseph/received_events","type":"User"},"private":false,"html_url":"https://github.com/joseph/castanaut","description":" Castanaut lets you write executable scripts for your screencasts. With a simple dictionary of stage directions, you can create complex interactions with a variety of applications.","fork":false,"url":"https://api.github.com/repos/joseph/castanaut","forks_url":"https://api.github.com/repos/joseph/castanaut/forks","keys_url":"https://api.github.com/repos/joseph/castanaut/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joseph/castanaut/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joseph/castanaut/teams","hooks_url":"https://api.github.com/repos/joseph/castanaut/hooks","issue_events_url":"https://api.github.com/repos/joseph/castanaut/issues/events{/number}","events_url":"https://api.github.com/repos/joseph/castanaut/events","assignees_url":"https://api.github.com/repos/joseph/castanaut/assignees{/user}","branches_url":"https://api.github.com/repos/joseph/castanaut/branches{/branch}","tags_url":"https://api.github.com/repos/joseph/castanaut/tags","blobs_url":"https://api.github.com/repos/joseph/castanaut/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joseph/castanaut/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joseph/castanaut/git/refs{/sha}","trees_url":"https://api.github.com/repos/joseph/castanaut/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joseph/castanaut/statuses/{sha}","languages_url":"https://api.github.com/repos/joseph/castanaut/languages","stargazers_url":"https://api.github.com/repos/joseph/castanaut/stargazers","contributors_url":"https://api.github.com/repos/joseph/castanaut/contributors","subscribers_url":"https://api.github.com/repos/joseph/castanaut/subscribers","subscription_url":"https://api.github.com/repos/joseph/castanaut/subscription","commits_url":"https://api.github.com/repos/joseph/castanaut/commits{/sha}","git_commits_url":"https://api.github.com/repos/joseph/castanaut/git/commits{/sha}","comments_url":"https://api.github.com/repos/joseph/castanaut/comments{/number}","issue_comment_url":"https://api.github.com/repos/joseph/castanaut/issues/comments/{number}","contents_url":"https://api.github.com/repos/joseph/castanaut/contents/{+path}","compare_url":"https://api.github.com/repos/joseph/castanaut/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joseph/castanaut/merges","archive_url":"https://api.github.com/repos/joseph/castanaut/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joseph/castanaut/downloads","issues_url":"https://api.github.com/repos/joseph/castanaut/issues{/number}","pulls_url":"https://api.github.com/repos/joseph/castanaut/pulls{/number}","milestones_url":"https://api.github.com/repos/joseph/castanaut/milestones{/number}","notifications_url":"https://api.github.com/repos/joseph/castanaut/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joseph/castanaut/labels{/name}"},{"id":1259,"name":"ruby-tmbundle","full_name":"drnic/ruby-tmbundle","owner":{"login":"drnic","id":108,"avatar_url":"https://1.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https%3A%2F%2Fidenticons.github.com%2Fa3c65c2974270fd093ee8a9bf8ae7d0b.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},"private":false,"html_url":"https://github.com/drnic/ruby-tmbundle","description":"Ruby TextMate bundle","fork":false,"url":"https://api.github.com/repos/drnic/ruby-tmbundle","forks_url":"https://api.github.com/repos/drnic/ruby-tmbundle/forks","keys_url":"https://api.github.com/repos/drnic/ruby-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drnic/ruby-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drnic/ruby-tmbundle/teams","hooks_url":"https://api.github.com/repos/drnic/ruby-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/drnic/ruby-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/drnic/ruby-tmbundle/events","assignees_url":"https://api.github.com/repos/drnic/ruby-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/drnic/ruby-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/drnic/ruby-tmbundle/tags","blobs_url":"https://api.github.com/repos/drnic/ruby-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drnic/ruby-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drnic/ruby-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/drnic/ruby-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drnic/ruby-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/drnic/ruby-tmbundle/languages","stargazers_url":"https://api.github.com/repos/drnic/ruby-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/drnic/ruby-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/drnic/ruby-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/drnic/ruby-tmbundle/subscription","commits_url":"https://api.github.com/repos/drnic/ruby-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/drnic/ruby-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/drnic/ruby-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/drnic/ruby-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/drnic/ruby-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/drnic/ruby-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drnic/ruby-tmbundle/merges","archive_url":"https://api.github.com/repos/drnic/ruby-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drnic/ruby-tmbundle/downloads","issues_url":"https://api.github.com/repos/drnic/ruby-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/drnic/ruby-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/drnic/ruby-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/drnic/ruby-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drnic/ruby-tmbundle/labels{/name}"},{"id":1298,"name":"html-tmbundle","full_name":"drnic/html-tmbundle","owner":{"login":"drnic","id":108,"avatar_url":"https://1.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https%3A%2F%2Fidenticons.github.com%2Fa3c65c2974270fd093ee8a9bf8ae7d0b.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},"private":false,"html_url":"https://github.com/drnic/html-tmbundle","description":"HTML TextMate bundle","fork":false,"url":"https://api.github.com/repos/drnic/html-tmbundle","forks_url":"https://api.github.com/repos/drnic/html-tmbundle/forks","keys_url":"https://api.github.com/repos/drnic/html-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drnic/html-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drnic/html-tmbundle/teams","hooks_url":"https://api.github.com/repos/drnic/html-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/drnic/html-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/drnic/html-tmbundle/events","assignees_url":"https://api.github.com/repos/drnic/html-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/drnic/html-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/drnic/html-tmbundle/tags","blobs_url":"https://api.github.com/repos/drnic/html-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drnic/html-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drnic/html-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/drnic/html-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drnic/html-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/drnic/html-tmbundle/languages","stargazers_url":"https://api.github.com/repos/drnic/html-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/drnic/html-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/drnic/html-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/drnic/html-tmbundle/subscription","commits_url":"https://api.github.com/repos/drnic/html-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/drnic/html-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/drnic/html-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/drnic/html-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/drnic/html-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/drnic/html-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drnic/html-tmbundle/merges","archive_url":"https://api.github.com/repos/drnic/html-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drnic/html-tmbundle/downloads","issues_url":"https://api.github.com/repos/drnic/html-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/drnic/html-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/drnic/html-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/drnic/html-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drnic/html-tmbundle/labels{/name}"},{"id":1299,"name":"orb","full_name":"noin/orb","owner":{"login":"noin","id":840,"avatar_url":"https://2.gravatar.com/avatar/f08f6910e7ad06bf8709bc3ffd4f7031?d=https%3A%2F%2Fidenticons.github.com%2Ffa83a11a198d5a7f0bf77a1987bcd006.png","gravatar_id":"f08f6910e7ad06bf8709bc3ffd4f7031","url":"https://api.github.com/users/noin","html_url":"https://github.com/noin","followers_url":"https://api.github.com/users/noin/followers","following_url":"https://api.github.com/users/noin/following{/other_user}","gists_url":"https://api.github.com/users/noin/gists{/gist_id}","starred_url":"https://api.github.com/users/noin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noin/subscriptions","organizations_url":"https://api.github.com/users/noin/orgs","repos_url":"https://api.github.com/users/noin/repos","events_url":"https://api.github.com/users/noin/events{/privacy}","received_events_url":"https://api.github.com/users/noin/received_events","type":"User"},"private":false,"html_url":"https://github.com/noin/orb","description":"nFlux-Orb","fork":false,"url":"https://api.github.com/repos/noin/orb","forks_url":"https://api.github.com/repos/noin/orb/forks","keys_url":"https://api.github.com/repos/noin/orb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/noin/orb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/noin/orb/teams","hooks_url":"https://api.github.com/repos/noin/orb/hooks","issue_events_url":"https://api.github.com/repos/noin/orb/issues/events{/number}","events_url":"https://api.github.com/repos/noin/orb/events","assignees_url":"https://api.github.com/repos/noin/orb/assignees{/user}","branches_url":"https://api.github.com/repos/noin/orb/branches{/branch}","tags_url":"https://api.github.com/repos/noin/orb/tags","blobs_url":"https://api.github.com/repos/noin/orb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/noin/orb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/noin/orb/git/refs{/sha}","trees_url":"https://api.github.com/repos/noin/orb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/noin/orb/statuses/{sha}","languages_url":"https://api.github.com/repos/noin/orb/languages","stargazers_url":"https://api.github.com/repos/noin/orb/stargazers","contributors_url":"https://api.github.com/repos/noin/orb/contributors","subscribers_url":"https://api.github.com/repos/noin/orb/subscribers","subscription_url":"https://api.github.com/repos/noin/orb/subscription","commits_url":"https://api.github.com/repos/noin/orb/commits{/sha}","git_commits_url":"https://api.github.com/repos/noin/orb/git/commits{/sha}","comments_url":"https://api.github.com/repos/noin/orb/comments{/number}","issue_comment_url":"https://api.github.com/repos/noin/orb/issues/comments/{number}","contents_url":"https://api.github.com/repos/noin/orb/contents/{+path}","compare_url":"https://api.github.com/repos/noin/orb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/noin/orb/merges","archive_url":"https://api.github.com/repos/noin/orb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/noin/orb/downloads","issues_url":"https://api.github.com/repos/noin/orb/issues{/number}","pulls_url":"https://api.github.com/repos/noin/orb/pulls{/number}","milestones_url":"https://api.github.com/repos/noin/orb/milestones{/number}","notifications_url":"https://api.github.com/repos/noin/orb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/noin/orb/labels{/name}"},{"id":1302,"name":"ikhebhonger","full_name":"bart-xx/ikhebhonger","owner":{"login":"bart-xx","id":909,"avatar_url":"https://1.gravatar.com/avatar/6d723250f9c1c093ee16b53a09448d8c?d=https%3A%2F%2Fidenticons.github.com%2Fa4300b002bcfb71f291dac175d52df94.png","gravatar_id":"6d723250f9c1c093ee16b53a09448d8c","url":"https://api.github.com/users/bart-xx","html_url":"https://github.com/bart-xx","followers_url":"https://api.github.com/users/bart-xx/followers","following_url":"https://api.github.com/users/bart-xx/following{/other_user}","gists_url":"https://api.github.com/users/bart-xx/gists{/gist_id}","starred_url":"https://api.github.com/users/bart-xx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bart-xx/subscriptions","organizations_url":"https://api.github.com/users/bart-xx/orgs","repos_url":"https://api.github.com/users/bart-xx/repos","events_url":"https://api.github.com/users/bart-xx/events{/privacy}","received_events_url":"https://api.github.com/users/bart-xx/received_events","type":"User"},"private":false,"html_url":"https://github.com/bart-xx/ikhebhonger","description":"Restaurant mashup site","fork":false,"url":"https://api.github.com/repos/bart-xx/ikhebhonger","forks_url":"https://api.github.com/repos/bart-xx/ikhebhonger/forks","keys_url":"https://api.github.com/repos/bart-xx/ikhebhonger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bart-xx/ikhebhonger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bart-xx/ikhebhonger/teams","hooks_url":"https://api.github.com/repos/bart-xx/ikhebhonger/hooks","issue_events_url":"https://api.github.com/repos/bart-xx/ikhebhonger/issues/events{/number}","events_url":"https://api.github.com/repos/bart-xx/ikhebhonger/events","assignees_url":"https://api.github.com/repos/bart-xx/ikhebhonger/assignees{/user}","branches_url":"https://api.github.com/repos/bart-xx/ikhebhonger/branches{/branch}","tags_url":"https://api.github.com/repos/bart-xx/ikhebhonger/tags","blobs_url":"https://api.github.com/repos/bart-xx/ikhebhonger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bart-xx/ikhebhonger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bart-xx/ikhebhonger/git/refs{/sha}","trees_url":"https://api.github.com/repos/bart-xx/ikhebhonger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bart-xx/ikhebhonger/statuses/{sha}","languages_url":"https://api.github.com/repos/bart-xx/ikhebhonger/languages","stargazers_url":"https://api.github.com/repos/bart-xx/ikhebhonger/stargazers","contributors_url":"https://api.github.com/repos/bart-xx/ikhebhonger/contributors","subscribers_url":"https://api.github.com/repos/bart-xx/ikhebhonger/subscribers","subscription_url":"https://api.github.com/repos/bart-xx/ikhebhonger/subscription","commits_url":"https://api.github.com/repos/bart-xx/ikhebhonger/commits{/sha}","git_commits_url":"https://api.github.com/repos/bart-xx/ikhebhonger/git/commits{/sha}","comments_url":"https://api.github.com/repos/bart-xx/ikhebhonger/comments{/number}","issue_comment_url":"https://api.github.com/repos/bart-xx/ikhebhonger/issues/comments/{number}","contents_url":"https://api.github.com/repos/bart-xx/ikhebhonger/contents/{+path}","compare_url":"https://api.github.com/repos/bart-xx/ikhebhonger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bart-xx/ikhebhonger/merges","archive_url":"https://api.github.com/repos/bart-xx/ikhebhonger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bart-xx/ikhebhonger/downloads","issues_url":"https://api.github.com/repos/bart-xx/ikhebhonger/issues{/number}","pulls_url":"https://api.github.com/repos/bart-xx/ikhebhonger/pulls{/number}","milestones_url":"https://api.github.com/repos/bart-xx/ikhebhonger/milestones{/number}","notifications_url":"https://api.github.com/repos/bart-xx/ikhebhonger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bart-xx/ikhebhonger/labels{/name}"},{"id":1303,"name":"permalizer","full_name":"revans/permalizer","owner":{"login":"revans","id":394,"avatar_url":"https://0.gravatar.com/avatar/bc5fbb4a793359c2c527e37edfa470a2?d=https%3A%2F%2Fidenticons.github.com%2F28f0b864598a1291557bed248a998d4e.png","gravatar_id":"bc5fbb4a793359c2c527e37edfa470a2","url":"https://api.github.com/users/revans","html_url":"https://github.com/revans","followers_url":"https://api.github.com/users/revans/followers","following_url":"https://api.github.com/users/revans/following{/other_user}","gists_url":"https://api.github.com/users/revans/gists{/gist_id}","starred_url":"https://api.github.com/users/revans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/revans/subscriptions","organizations_url":"https://api.github.com/users/revans/orgs","repos_url":"https://api.github.com/users/revans/repos","events_url":"https://api.github.com/users/revans/events{/privacy}","received_events_url":"https://api.github.com/users/revans/received_events","type":"User"},"private":false,"html_url":"https://github.com/revans/permalizer","description":"An easy way to create Permalinks.","fork":false,"url":"https://api.github.com/repos/revans/permalizer","forks_url":"https://api.github.com/repos/revans/permalizer/forks","keys_url":"https://api.github.com/repos/revans/permalizer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/revans/permalizer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/revans/permalizer/teams","hooks_url":"https://api.github.com/repos/revans/permalizer/hooks","issue_events_url":"https://api.github.com/repos/revans/permalizer/issues/events{/number}","events_url":"https://api.github.com/repos/revans/permalizer/events","assignees_url":"https://api.github.com/repos/revans/permalizer/assignees{/user}","branches_url":"https://api.github.com/repos/revans/permalizer/branches{/branch}","tags_url":"https://api.github.com/repos/revans/permalizer/tags","blobs_url":"https://api.github.com/repos/revans/permalizer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/revans/permalizer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/revans/permalizer/git/refs{/sha}","trees_url":"https://api.github.com/repos/revans/permalizer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/revans/permalizer/statuses/{sha}","languages_url":"https://api.github.com/repos/revans/permalizer/languages","stargazers_url":"https://api.github.com/repos/revans/permalizer/stargazers","contributors_url":"https://api.github.com/repos/revans/permalizer/contributors","subscribers_url":"https://api.github.com/repos/revans/permalizer/subscribers","subscription_url":"https://api.github.com/repos/revans/permalizer/subscription","commits_url":"https://api.github.com/repos/revans/permalizer/commits{/sha}","git_commits_url":"https://api.github.com/repos/revans/permalizer/git/commits{/sha}","comments_url":"https://api.github.com/repos/revans/permalizer/comments{/number}","issue_comment_url":"https://api.github.com/repos/revans/permalizer/issues/comments/{number}","contents_url":"https://api.github.com/repos/revans/permalizer/contents/{+path}","compare_url":"https://api.github.com/repos/revans/permalizer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/revans/permalizer/merges","archive_url":"https://api.github.com/repos/revans/permalizer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/revans/permalizer/downloads","issues_url":"https://api.github.com/repos/revans/permalizer/issues{/number}","pulls_url":"https://api.github.com/repos/revans/permalizer/pulls{/number}","milestones_url":"https://api.github.com/repos/revans/permalizer/milestones{/number}","notifications_url":"https://api.github.com/repos/revans/permalizer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/revans/permalizer/labels{/name}"},{"id":1318,"name":"sprinkle","full_name":"sprinkle-tool/sprinkle","owner":{"login":"sprinkle-tool","id":4121318,"avatar_url":"https://identicons.github.com/e5cfb82e868d055ce1ddbebed117d622.png","gravatar_id":null,"url":"https://api.github.com/users/sprinkle-tool","html_url":"https://github.com/sprinkle-tool","followers_url":"https://api.github.com/users/sprinkle-tool/followers","following_url":"https://api.github.com/users/sprinkle-tool/following{/other_user}","gists_url":"https://api.github.com/users/sprinkle-tool/gists{/gist_id}","starred_url":"https://api.github.com/users/sprinkle-tool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sprinkle-tool/subscriptions","organizations_url":"https://api.github.com/users/sprinkle-tool/orgs","repos_url":"https://api.github.com/users/sprinkle-tool/repos","events_url":"https://api.github.com/users/sprinkle-tool/events{/privacy}","received_events_url":"https://api.github.com/users/sprinkle-tool/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/sprinkle-tool/sprinkle","description":"Sprinkle is a software provisioning tool you can use to build remote servers with. eg. to install a Rails, or Sinatra stack on a brand new slice directly after its been created","fork":false,"url":"https://api.github.com/repos/sprinkle-tool/sprinkle","forks_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/forks","keys_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/teams","hooks_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/hooks","issue_events_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/issues/events{/number}","events_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/events","assignees_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/assignees{/user}","branches_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/branches{/branch}","tags_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/tags","blobs_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/git/refs{/sha}","trees_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/statuses/{sha}","languages_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/languages","stargazers_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/stargazers","contributors_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/contributors","subscribers_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/subscribers","subscription_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/subscription","commits_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/commits{/sha}","git_commits_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/git/commits{/sha}","comments_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/comments{/number}","issue_comment_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/issues/comments/{number}","contents_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/contents/{+path}","compare_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/merges","archive_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/downloads","issues_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/issues{/number}","pulls_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/pulls{/number}","milestones_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/milestones{/number}","notifications_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sprinkle-tool/sprinkle/labels{/name}"},{"id":1321,"name":"wlwdeezerplayer","full_name":"julesss/wlwdeezerplayer","owner":{"login":"julesss","id":929,"avatar_url":"https://identicons.github.com/0d0871f0806eae32d30983b62252da50.png","gravatar_id":null,"url":"https://api.github.com/users/julesss","html_url":"https://github.com/julesss","followers_url":"https://api.github.com/users/julesss/followers","following_url":"https://api.github.com/users/julesss/following{/other_user}","gists_url":"https://api.github.com/users/julesss/gists{/gist_id}","starred_url":"https://api.github.com/users/julesss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julesss/subscriptions","organizations_url":"https://api.github.com/users/julesss/orgs","repos_url":"https://api.github.com/users/julesss/repos","events_url":"https://api.github.com/users/julesss/events{/privacy}","received_events_url":"https://api.github.com/users/julesss/received_events","type":"User"},"private":false,"html_url":"https://github.com/julesss/wlwdeezerplayer","description":"Lets you insert a Deezer player in your blog using Windows Live Writer","fork":false,"url":"https://api.github.com/repos/julesss/wlwdeezerplayer","forks_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/forks","keys_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/teams","hooks_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/hooks","issue_events_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/issues/events{/number}","events_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/events","assignees_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/assignees{/user}","branches_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/branches{/branch}","tags_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/tags","blobs_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/git/refs{/sha}","trees_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/statuses/{sha}","languages_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/languages","stargazers_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/stargazers","contributors_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/contributors","subscribers_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/subscribers","subscription_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/subscription","commits_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/commits{/sha}","git_commits_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/git/commits{/sha}","comments_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/comments{/number}","issue_comment_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/issues/comments/{number}","contents_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/contents/{+path}","compare_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/merges","archive_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/downloads","issues_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/issues{/number}","pulls_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/pulls{/number}","milestones_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/milestones{/number}","notifications_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/julesss/wlwdeezerplayer/labels{/name}"},{"id":1344,"name":"utility-belt","full_name":"gilesbowkett/utility-belt","owner":{"login":"gilesbowkett","id":974,"avatar_url":"https://2.gravatar.com/avatar/ce8b03e5750097942c58e12b46724312?d=https%3A%2F%2Fidenticons.github.com%2F4311359ed4969e8401880e3c1836fbe1.png","gravatar_id":"ce8b03e5750097942c58e12b46724312","url":"https://api.github.com/users/gilesbowkett","html_url":"https://github.com/gilesbowkett","followers_url":"https://api.github.com/users/gilesbowkett/followers","following_url":"https://api.github.com/users/gilesbowkett/following{/other_user}","gists_url":"https://api.github.com/users/gilesbowkett/gists{/gist_id}","starred_url":"https://api.github.com/users/gilesbowkett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gilesbowkett/subscriptions","organizations_url":"https://api.github.com/users/gilesbowkett/orgs","repos_url":"https://api.github.com/users/gilesbowkett/repos","events_url":"https://api.github.com/users/gilesbowkett/events{/privacy}","received_events_url":"https://api.github.com/users/gilesbowkett/received_events","type":"User"},"private":false,"html_url":"https://github.com/gilesbowkett/utility-belt","description":"IRB Power User Utility Belt","fork":false,"url":"https://api.github.com/repos/gilesbowkett/utility-belt","forks_url":"https://api.github.com/repos/gilesbowkett/utility-belt/forks","keys_url":"https://api.github.com/repos/gilesbowkett/utility-belt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gilesbowkett/utility-belt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gilesbowkett/utility-belt/teams","hooks_url":"https://api.github.com/repos/gilesbowkett/utility-belt/hooks","issue_events_url":"https://api.github.com/repos/gilesbowkett/utility-belt/issues/events{/number}","events_url":"https://api.github.com/repos/gilesbowkett/utility-belt/events","assignees_url":"https://api.github.com/repos/gilesbowkett/utility-belt/assignees{/user}","branches_url":"https://api.github.com/repos/gilesbowkett/utility-belt/branches{/branch}","tags_url":"https://api.github.com/repos/gilesbowkett/utility-belt/tags","blobs_url":"https://api.github.com/repos/gilesbowkett/utility-belt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gilesbowkett/utility-belt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gilesbowkett/utility-belt/git/refs{/sha}","trees_url":"https://api.github.com/repos/gilesbowkett/utility-belt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gilesbowkett/utility-belt/statuses/{sha}","languages_url":"https://api.github.com/repos/gilesbowkett/utility-belt/languages","stargazers_url":"https://api.github.com/repos/gilesbowkett/utility-belt/stargazers","contributors_url":"https://api.github.com/repos/gilesbowkett/utility-belt/contributors","subscribers_url":"https://api.github.com/repos/gilesbowkett/utility-belt/subscribers","subscription_url":"https://api.github.com/repos/gilesbowkett/utility-belt/subscription","commits_url":"https://api.github.com/repos/gilesbowkett/utility-belt/commits{/sha}","git_commits_url":"https://api.github.com/repos/gilesbowkett/utility-belt/git/commits{/sha}","comments_url":"https://api.github.com/repos/gilesbowkett/utility-belt/comments{/number}","issue_comment_url":"https://api.github.com/repos/gilesbowkett/utility-belt/issues/comments/{number}","contents_url":"https://api.github.com/repos/gilesbowkett/utility-belt/contents/{+path}","compare_url":"https://api.github.com/repos/gilesbowkett/utility-belt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gilesbowkett/utility-belt/merges","archive_url":"https://api.github.com/repos/gilesbowkett/utility-belt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gilesbowkett/utility-belt/downloads","issues_url":"https://api.github.com/repos/gilesbowkett/utility-belt/issues{/number}","pulls_url":"https://api.github.com/repos/gilesbowkett/utility-belt/pulls{/number}","milestones_url":"https://api.github.com/repos/gilesbowkett/utility-belt/milestones{/number}","notifications_url":"https://api.github.com/repos/gilesbowkett/utility-belt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gilesbowkett/utility-belt/labels{/name}"},{"id":1353,"name":"restful-authentication","full_name":"labria/restful-authentication","owner":{"login":"labria","id":323,"avatar_url":"https://1.gravatar.com/avatar/f5049506664636c6cc725099367bd167?d=https%3A%2F%2Fidenticons.github.com%2Fbc6dc48b743dc5d013b1abaebd2faed2.png","gravatar_id":"f5049506664636c6cc725099367bd167","url":"https://api.github.com/users/labria","html_url":"https://github.com/labria","followers_url":"https://api.github.com/users/labria/followers","following_url":"https://api.github.com/users/labria/following{/other_user}","gists_url":"https://api.github.com/users/labria/gists{/gist_id}","starred_url":"https://api.github.com/users/labria/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labria/subscriptions","organizations_url":"https://api.github.com/users/labria/orgs","repos_url":"https://api.github.com/users/labria/repos","events_url":"https://api.github.com/users/labria/events{/privacy}","received_events_url":"https://api.github.com/users/labria/received_events","type":"User"},"private":false,"html_url":"https://github.com/labria/restful-authentication","description":"Attempt to add SSL client certificate support to the restful_authenctication plugin","fork":true,"url":"https://api.github.com/repos/labria/restful-authentication","forks_url":"https://api.github.com/repos/labria/restful-authentication/forks","keys_url":"https://api.github.com/repos/labria/restful-authentication/keys{/key_id}","collaborators_url":"https://api.github.com/repos/labria/restful-authentication/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/labria/restful-authentication/teams","hooks_url":"https://api.github.com/repos/labria/restful-authentication/hooks","issue_events_url":"https://api.github.com/repos/labria/restful-authentication/issues/events{/number}","events_url":"https://api.github.com/repos/labria/restful-authentication/events","assignees_url":"https://api.github.com/repos/labria/restful-authentication/assignees{/user}","branches_url":"https://api.github.com/repos/labria/restful-authentication/branches{/branch}","tags_url":"https://api.github.com/repos/labria/restful-authentication/tags","blobs_url":"https://api.github.com/repos/labria/restful-authentication/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/labria/restful-authentication/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/labria/restful-authentication/git/refs{/sha}","trees_url":"https://api.github.com/repos/labria/restful-authentication/git/trees{/sha}","statuses_url":"https://api.github.com/repos/labria/restful-authentication/statuses/{sha}","languages_url":"https://api.github.com/repos/labria/restful-authentication/languages","stargazers_url":"https://api.github.com/repos/labria/restful-authentication/stargazers","contributors_url":"https://api.github.com/repos/labria/restful-authentication/contributors","subscribers_url":"https://api.github.com/repos/labria/restful-authentication/subscribers","subscription_url":"https://api.github.com/repos/labria/restful-authentication/subscription","commits_url":"https://api.github.com/repos/labria/restful-authentication/commits{/sha}","git_commits_url":"https://api.github.com/repos/labria/restful-authentication/git/commits{/sha}","comments_url":"https://api.github.com/repos/labria/restful-authentication/comments{/number}","issue_comment_url":"https://api.github.com/repos/labria/restful-authentication/issues/comments/{number}","contents_url":"https://api.github.com/repos/labria/restful-authentication/contents/{+path}","compare_url":"https://api.github.com/repos/labria/restful-authentication/compare/{base}...{head}","merges_url":"https://api.github.com/repos/labria/restful-authentication/merges","archive_url":"https://api.github.com/repos/labria/restful-authentication/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/labria/restful-authentication/downloads","issues_url":"https://api.github.com/repos/labria/restful-authentication/issues{/number}","pulls_url":"https://api.github.com/repos/labria/restful-authentication/pulls{/number}","milestones_url":"https://api.github.com/repos/labria/restful-authentication/milestones{/number}","notifications_url":"https://api.github.com/repos/labria/restful-authentication/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/labria/restful-authentication/labels{/name}"},{"id":1355,"name":"ruby-screen","full_name":"dpetersen/ruby-screen","owner":{"login":"dpetersen","id":408,"avatar_url":"https://2.gravatar.com/avatar/5cc7967fc5c25199c88410bc56eb1329?d=https%3A%2F%2Fidenticons.github.com%2F0d0fd7c6e093f7b804fa0150b875b868.png","gravatar_id":"5cc7967fc5c25199c88410bc56eb1329","url":"https://api.github.com/users/dpetersen","html_url":"https://github.com/dpetersen","followers_url":"https://api.github.com/users/dpetersen/followers","following_url":"https://api.github.com/users/dpetersen/following{/other_user}","gists_url":"https://api.github.com/users/dpetersen/gists{/gist_id}","starred_url":"https://api.github.com/users/dpetersen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpetersen/subscriptions","organizations_url":"https://api.github.com/users/dpetersen/orgs","repos_url":"https://api.github.com/users/dpetersen/repos","events_url":"https://api.github.com/users/dpetersen/events{/privacy}","received_events_url":"https://api.github.com/users/dpetersen/received_events","type":"User"},"private":false,"html_url":"https://github.com/dpetersen/ruby-screen","description":"A utility to supplement GNU Screen, easing use of custom configurations, packaged as a RubyGem.","fork":false,"url":"https://api.github.com/repos/dpetersen/ruby-screen","forks_url":"https://api.github.com/repos/dpetersen/ruby-screen/forks","keys_url":"https://api.github.com/repos/dpetersen/ruby-screen/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dpetersen/ruby-screen/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dpetersen/ruby-screen/teams","hooks_url":"https://api.github.com/repos/dpetersen/ruby-screen/hooks","issue_events_url":"https://api.github.com/repos/dpetersen/ruby-screen/issues/events{/number}","events_url":"https://api.github.com/repos/dpetersen/ruby-screen/events","assignees_url":"https://api.github.com/repos/dpetersen/ruby-screen/assignees{/user}","branches_url":"https://api.github.com/repos/dpetersen/ruby-screen/branches{/branch}","tags_url":"https://api.github.com/repos/dpetersen/ruby-screen/tags","blobs_url":"https://api.github.com/repos/dpetersen/ruby-screen/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dpetersen/ruby-screen/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dpetersen/ruby-screen/git/refs{/sha}","trees_url":"https://api.github.com/repos/dpetersen/ruby-screen/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dpetersen/ruby-screen/statuses/{sha}","languages_url":"https://api.github.com/repos/dpetersen/ruby-screen/languages","stargazers_url":"https://api.github.com/repos/dpetersen/ruby-screen/stargazers","contributors_url":"https://api.github.com/repos/dpetersen/ruby-screen/contributors","subscribers_url":"https://api.github.com/repos/dpetersen/ruby-screen/subscribers","subscription_url":"https://api.github.com/repos/dpetersen/ruby-screen/subscription","commits_url":"https://api.github.com/repos/dpetersen/ruby-screen/commits{/sha}","git_commits_url":"https://api.github.com/repos/dpetersen/ruby-screen/git/commits{/sha}","comments_url":"https://api.github.com/repos/dpetersen/ruby-screen/comments{/number}","issue_comment_url":"https://api.github.com/repos/dpetersen/ruby-screen/issues/comments/{number}","contents_url":"https://api.github.com/repos/dpetersen/ruby-screen/contents/{+path}","compare_url":"https://api.github.com/repos/dpetersen/ruby-screen/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dpetersen/ruby-screen/merges","archive_url":"https://api.github.com/repos/dpetersen/ruby-screen/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dpetersen/ruby-screen/downloads","issues_url":"https://api.github.com/repos/dpetersen/ruby-screen/issues{/number}","pulls_url":"https://api.github.com/repos/dpetersen/ruby-screen/pulls{/number}","milestones_url":"https://api.github.com/repos/dpetersen/ruby-screen/milestones{/number}","notifications_url":"https://api.github.com/repos/dpetersen/ruby-screen/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dpetersen/ruby-screen/labels{/name}"},{"id":1364,"name":"eatingsafe","full_name":"aharper/eatingsafe","owner":{"login":"aharper","id":1002,"avatar_url":"https://identicons.github.com/fba9d88164f3e2d9109ee770223212a0.png","gravatar_id":null,"url":"https://api.github.com/users/aharper","html_url":"https://github.com/aharper","followers_url":"https://api.github.com/users/aharper/followers","following_url":"https://api.github.com/users/aharper/following{/other_user}","gists_url":"https://api.github.com/users/aharper/gists{/gist_id}","starred_url":"https://api.github.com/users/aharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aharper/subscriptions","organizations_url":"https://api.github.com/users/aharper/orgs","repos_url":"https://api.github.com/users/aharper/repos","events_url":"https://api.github.com/users/aharper/events{/privacy}","received_events_url":"https://api.github.com/users/aharper/received_events","type":"User"},"private":false,"html_url":"https://github.com/aharper/eatingsafe","description":"","fork":false,"url":"https://api.github.com/repos/aharper/eatingsafe","forks_url":"https://api.github.com/repos/aharper/eatingsafe/forks","keys_url":"https://api.github.com/repos/aharper/eatingsafe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aharper/eatingsafe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aharper/eatingsafe/teams","hooks_url":"https://api.github.com/repos/aharper/eatingsafe/hooks","issue_events_url":"https://api.github.com/repos/aharper/eatingsafe/issues/events{/number}","events_url":"https://api.github.com/repos/aharper/eatingsafe/events","assignees_url":"https://api.github.com/repos/aharper/eatingsafe/assignees{/user}","branches_url":"https://api.github.com/repos/aharper/eatingsafe/branches{/branch}","tags_url":"https://api.github.com/repos/aharper/eatingsafe/tags","blobs_url":"https://api.github.com/repos/aharper/eatingsafe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aharper/eatingsafe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aharper/eatingsafe/git/refs{/sha}","trees_url":"https://api.github.com/repos/aharper/eatingsafe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aharper/eatingsafe/statuses/{sha}","languages_url":"https://api.github.com/repos/aharper/eatingsafe/languages","stargazers_url":"https://api.github.com/repos/aharper/eatingsafe/stargazers","contributors_url":"https://api.github.com/repos/aharper/eatingsafe/contributors","subscribers_url":"https://api.github.com/repos/aharper/eatingsafe/subscribers","subscription_url":"https://api.github.com/repos/aharper/eatingsafe/subscription","commits_url":"https://api.github.com/repos/aharper/eatingsafe/commits{/sha}","git_commits_url":"https://api.github.com/repos/aharper/eatingsafe/git/commits{/sha}","comments_url":"https://api.github.com/repos/aharper/eatingsafe/comments{/number}","issue_comment_url":"https://api.github.com/repos/aharper/eatingsafe/issues/comments/{number}","contents_url":"https://api.github.com/repos/aharper/eatingsafe/contents/{+path}","compare_url":"https://api.github.com/repos/aharper/eatingsafe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aharper/eatingsafe/merges","archive_url":"https://api.github.com/repos/aharper/eatingsafe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aharper/eatingsafe/downloads","issues_url":"https://api.github.com/repos/aharper/eatingsafe/issues{/number}","pulls_url":"https://api.github.com/repos/aharper/eatingsafe/pulls{/number}","milestones_url":"https://api.github.com/repos/aharper/eatingsafe/milestones{/number}","notifications_url":"https://api.github.com/repos/aharper/eatingsafe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aharper/eatingsafe/labels{/name}"},{"id":1377,"name":"name_parser","full_name":"bricooke/name_parser","owner":{"login":"bricooke","id":977,"avatar_url":"https://1.gravatar.com/avatar/916de6eec58087391b518c5ac3ac7f47?d=https%3A%2F%2Fidenticons.github.com%2Fcc1aa436277138f61cda703991069eaf.png","gravatar_id":"916de6eec58087391b518c5ac3ac7f47","url":"https://api.github.com/users/bricooke","html_url":"https://github.com/bricooke","followers_url":"https://api.github.com/users/bricooke/followers","following_url":"https://api.github.com/users/bricooke/following{/other_user}","gists_url":"https://api.github.com/users/bricooke/gists{/gist_id}","starred_url":"https://api.github.com/users/bricooke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bricooke/subscriptions","organizations_url":"https://api.github.com/users/bricooke/orgs","repos_url":"https://api.github.com/users/bricooke/repos","events_url":"https://api.github.com/users/bricooke/events{/privacy}","received_events_url":"https://api.github.com/users/bricooke/received_events","type":"User"},"private":false,"html_url":"https://github.com/bricooke/name_parser","description":"Gem for parsing names into first, last, middle, prefix and suffix","fork":false,"url":"https://api.github.com/repos/bricooke/name_parser","forks_url":"https://api.github.com/repos/bricooke/name_parser/forks","keys_url":"https://api.github.com/repos/bricooke/name_parser/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bricooke/name_parser/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bricooke/name_parser/teams","hooks_url":"https://api.github.com/repos/bricooke/name_parser/hooks","issue_events_url":"https://api.github.com/repos/bricooke/name_parser/issues/events{/number}","events_url":"https://api.github.com/repos/bricooke/name_parser/events","assignees_url":"https://api.github.com/repos/bricooke/name_parser/assignees{/user}","branches_url":"https://api.github.com/repos/bricooke/name_parser/branches{/branch}","tags_url":"https://api.github.com/repos/bricooke/name_parser/tags","blobs_url":"https://api.github.com/repos/bricooke/name_parser/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bricooke/name_parser/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bricooke/name_parser/git/refs{/sha}","trees_url":"https://api.github.com/repos/bricooke/name_parser/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bricooke/name_parser/statuses/{sha}","languages_url":"https://api.github.com/repos/bricooke/name_parser/languages","stargazers_url":"https://api.github.com/repos/bricooke/name_parser/stargazers","contributors_url":"https://api.github.com/repos/bricooke/name_parser/contributors","subscribers_url":"https://api.github.com/repos/bricooke/name_parser/subscribers","subscription_url":"https://api.github.com/repos/bricooke/name_parser/subscription","commits_url":"https://api.github.com/repos/bricooke/name_parser/commits{/sha}","git_commits_url":"https://api.github.com/repos/bricooke/name_parser/git/commits{/sha}","comments_url":"https://api.github.com/repos/bricooke/name_parser/comments{/number}","issue_comment_url":"https://api.github.com/repos/bricooke/name_parser/issues/comments/{number}","contents_url":"https://api.github.com/repos/bricooke/name_parser/contents/{+path}","compare_url":"https://api.github.com/repos/bricooke/name_parser/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bricooke/name_parser/merges","archive_url":"https://api.github.com/repos/bricooke/name_parser/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bricooke/name_parser/downloads","issues_url":"https://api.github.com/repos/bricooke/name_parser/issues{/number}","pulls_url":"https://api.github.com/repos/bricooke/name_parser/pulls{/number}","milestones_url":"https://api.github.com/repos/bricooke/name_parser/milestones{/number}","notifications_url":"https://api.github.com/repos/bricooke/name_parser/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bricooke/name_parser/labels{/name}"},{"id":1381,"name":"ext_scaffold","full_name":"drudru/ext_scaffold","owner":{"login":"drudru","id":546,"avatar_url":"https://identicons.github.com/ed265bc903a5a097f61d3ec064d96d2e.png","gravatar_id":null,"url":"https://api.github.com/users/drudru","html_url":"https://github.com/drudru","followers_url":"https://api.github.com/users/drudru/followers","following_url":"https://api.github.com/users/drudru/following{/other_user}","gists_url":"https://api.github.com/users/drudru/gists{/gist_id}","starred_url":"https://api.github.com/users/drudru/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drudru/subscriptions","organizations_url":"https://api.github.com/users/drudru/orgs","repos_url":"https://api.github.com/users/drudru/repos","events_url":"https://api.github.com/users/drudru/events{/privacy}","received_events_url":"https://api.github.com/users/drudru/received_events","type":"User"},"private":false,"html_url":"https://github.com/drudru/ext_scaffold","description":"copy of ext_scaffold","fork":false,"url":"https://api.github.com/repos/drudru/ext_scaffold","forks_url":"https://api.github.com/repos/drudru/ext_scaffold/forks","keys_url":"https://api.github.com/repos/drudru/ext_scaffold/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drudru/ext_scaffold/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drudru/ext_scaffold/teams","hooks_url":"https://api.github.com/repos/drudru/ext_scaffold/hooks","issue_events_url":"https://api.github.com/repos/drudru/ext_scaffold/issues/events{/number}","events_url":"https://api.github.com/repos/drudru/ext_scaffold/events","assignees_url":"https://api.github.com/repos/drudru/ext_scaffold/assignees{/user}","branches_url":"https://api.github.com/repos/drudru/ext_scaffold/branches{/branch}","tags_url":"https://api.github.com/repos/drudru/ext_scaffold/tags","blobs_url":"https://api.github.com/repos/drudru/ext_scaffold/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drudru/ext_scaffold/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drudru/ext_scaffold/git/refs{/sha}","trees_url":"https://api.github.com/repos/drudru/ext_scaffold/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drudru/ext_scaffold/statuses/{sha}","languages_url":"https://api.github.com/repos/drudru/ext_scaffold/languages","stargazers_url":"https://api.github.com/repos/drudru/ext_scaffold/stargazers","contributors_url":"https://api.github.com/repos/drudru/ext_scaffold/contributors","subscribers_url":"https://api.github.com/repos/drudru/ext_scaffold/subscribers","subscription_url":"https://api.github.com/repos/drudru/ext_scaffold/subscription","commits_url":"https://api.github.com/repos/drudru/ext_scaffold/commits{/sha}","git_commits_url":"https://api.github.com/repos/drudru/ext_scaffold/git/commits{/sha}","comments_url":"https://api.github.com/repos/drudru/ext_scaffold/comments{/number}","issue_comment_url":"https://api.github.com/repos/drudru/ext_scaffold/issues/comments/{number}","contents_url":"https://api.github.com/repos/drudru/ext_scaffold/contents/{+path}","compare_url":"https://api.github.com/repos/drudru/ext_scaffold/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drudru/ext_scaffold/merges","archive_url":"https://api.github.com/repos/drudru/ext_scaffold/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drudru/ext_scaffold/downloads","issues_url":"https://api.github.com/repos/drudru/ext_scaffold/issues{/number}","pulls_url":"https://api.github.com/repos/drudru/ext_scaffold/pulls{/number}","milestones_url":"https://api.github.com/repos/drudru/ext_scaffold/milestones{/number}","notifications_url":"https://api.github.com/repos/drudru/ext_scaffold/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drudru/ext_scaffold/labels{/name}"},{"id":1385,"name":"spongewolf","full_name":"ckhsponge/spongewolf","owner":{"login":"ckhsponge","id":590,"avatar_url":"https://2.gravatar.com/avatar/56b08cc76663f72307f41583a1980454?d=https%3A%2F%2Fidenticons.github.com%2F08b255a5d42b89b0585260b6f2360bdd.png","gravatar_id":"56b08cc76663f72307f41583a1980454","url":"https://api.github.com/users/ckhsponge","html_url":"https://github.com/ckhsponge","followers_url":"https://api.github.com/users/ckhsponge/followers","following_url":"https://api.github.com/users/ckhsponge/following{/other_user}","gists_url":"https://api.github.com/users/ckhsponge/gists{/gist_id}","starred_url":"https://api.github.com/users/ckhsponge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ckhsponge/subscriptions","organizations_url":"https://api.github.com/users/ckhsponge/orgs","repos_url":"https://api.github.com/users/ckhsponge/repos","events_url":"https://api.github.com/users/ckhsponge/events{/privacy}","received_events_url":"https://api.github.com/users/ckhsponge/received_events","type":"User"},"private":false,"html_url":"https://github.com/ckhsponge/spongewolf","description":"Rails application for building event lists and calendars using the Spongecell API","fork":false,"url":"https://api.github.com/repos/ckhsponge/spongewolf","forks_url":"https://api.github.com/repos/ckhsponge/spongewolf/forks","keys_url":"https://api.github.com/repos/ckhsponge/spongewolf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ckhsponge/spongewolf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ckhsponge/spongewolf/teams","hooks_url":"https://api.github.com/repos/ckhsponge/spongewolf/hooks","issue_events_url":"https://api.github.com/repos/ckhsponge/spongewolf/issues/events{/number}","events_url":"https://api.github.com/repos/ckhsponge/spongewolf/events","assignees_url":"https://api.github.com/repos/ckhsponge/spongewolf/assignees{/user}","branches_url":"https://api.github.com/repos/ckhsponge/spongewolf/branches{/branch}","tags_url":"https://api.github.com/repos/ckhsponge/spongewolf/tags","blobs_url":"https://api.github.com/repos/ckhsponge/spongewolf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ckhsponge/spongewolf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ckhsponge/spongewolf/git/refs{/sha}","trees_url":"https://api.github.com/repos/ckhsponge/spongewolf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ckhsponge/spongewolf/statuses/{sha}","languages_url":"https://api.github.com/repos/ckhsponge/spongewolf/languages","stargazers_url":"https://api.github.com/repos/ckhsponge/spongewolf/stargazers","contributors_url":"https://api.github.com/repos/ckhsponge/spongewolf/contributors","subscribers_url":"https://api.github.com/repos/ckhsponge/spongewolf/subscribers","subscription_url":"https://api.github.com/repos/ckhsponge/spongewolf/subscription","commits_url":"https://api.github.com/repos/ckhsponge/spongewolf/commits{/sha}","git_commits_url":"https://api.github.com/repos/ckhsponge/spongewolf/git/commits{/sha}","comments_url":"https://api.github.com/repos/ckhsponge/spongewolf/comments{/number}","issue_comment_url":"https://api.github.com/repos/ckhsponge/spongewolf/issues/comments/{number}","contents_url":"https://api.github.com/repos/ckhsponge/spongewolf/contents/{+path}","compare_url":"https://api.github.com/repos/ckhsponge/spongewolf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ckhsponge/spongewolf/merges","archive_url":"https://api.github.com/repos/ckhsponge/spongewolf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ckhsponge/spongewolf/downloads","issues_url":"https://api.github.com/repos/ckhsponge/spongewolf/issues{/number}","pulls_url":"https://api.github.com/repos/ckhsponge/spongewolf/pulls{/number}","milestones_url":"https://api.github.com/repos/ckhsponge/spongewolf/milestones{/number}","notifications_url":"https://api.github.com/repos/ckhsponge/spongewolf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ckhsponge/spongewolf/labels{/name}"},{"id":1388,"name":"amazing","full_name":"dag/amazing","owner":{"login":"dag","id":319,"avatar_url":"https://1.gravatar.com/avatar/482f6832b98eccb86e2a5dc4de8aad91?d=https%3A%2F%2Fidenticons.github.com%2F8d3bba7425e7c98c50f52ca1b52d3735.png","gravatar_id":"482f6832b98eccb86e2a5dc4de8aad91","url":"https://api.github.com/users/dag","html_url":"https://github.com/dag","followers_url":"https://api.github.com/users/dag/followers","following_url":"https://api.github.com/users/dag/following{/other_user}","gists_url":"https://api.github.com/users/dag/gists{/gist_id}","starred_url":"https://api.github.com/users/dag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dag/subscriptions","organizations_url":"https://api.github.com/users/dag/orgs","repos_url":"https://api.github.com/users/dag/repos","events_url":"https://api.github.com/users/dag/events{/privacy}","received_events_url":"https://api.github.com/users/dag/received_events","type":"User"},"private":false,"html_url":"https://github.com/dag/amazing","description":"an amazing widget manager for an awesome window manager","fork":false,"url":"https://api.github.com/repos/dag/amazing","forks_url":"https://api.github.com/repos/dag/amazing/forks","keys_url":"https://api.github.com/repos/dag/amazing/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dag/amazing/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dag/amazing/teams","hooks_url":"https://api.github.com/repos/dag/amazing/hooks","issue_events_url":"https://api.github.com/repos/dag/amazing/issues/events{/number}","events_url":"https://api.github.com/repos/dag/amazing/events","assignees_url":"https://api.github.com/repos/dag/amazing/assignees{/user}","branches_url":"https://api.github.com/repos/dag/amazing/branches{/branch}","tags_url":"https://api.github.com/repos/dag/amazing/tags","blobs_url":"https://api.github.com/repos/dag/amazing/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dag/amazing/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dag/amazing/git/refs{/sha}","trees_url":"https://api.github.com/repos/dag/amazing/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dag/amazing/statuses/{sha}","languages_url":"https://api.github.com/repos/dag/amazing/languages","stargazers_url":"https://api.github.com/repos/dag/amazing/stargazers","contributors_url":"https://api.github.com/repos/dag/amazing/contributors","subscribers_url":"https://api.github.com/repos/dag/amazing/subscribers","subscription_url":"https://api.github.com/repos/dag/amazing/subscription","commits_url":"https://api.github.com/repos/dag/amazing/commits{/sha}","git_commits_url":"https://api.github.com/repos/dag/amazing/git/commits{/sha}","comments_url":"https://api.github.com/repos/dag/amazing/comments{/number}","issue_comment_url":"https://api.github.com/repos/dag/amazing/issues/comments/{number}","contents_url":"https://api.github.com/repos/dag/amazing/contents/{+path}","compare_url":"https://api.github.com/repos/dag/amazing/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dag/amazing/merges","archive_url":"https://api.github.com/repos/dag/amazing/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dag/amazing/downloads","issues_url":"https://api.github.com/repos/dag/amazing/issues{/number}","pulls_url":"https://api.github.com/repos/dag/amazing/pulls{/number}","milestones_url":"https://api.github.com/repos/dag/amazing/milestones{/number}","notifications_url":"https://api.github.com/repos/dag/amazing/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dag/amazing/labels{/name}"},{"id":1398,"name":"ruby-merlin","full_name":"pdsphil/ruby-merlin","owner":{"login":"pdsphil","id":268,"avatar_url":"https://1.gravatar.com/avatar/e0bd199c24c59f1666f3ce960c3309ee?d=https%3A%2F%2Fidenticons.github.com%2F8f121ce07d74717e0b1f21d122e04521.png","gravatar_id":"e0bd199c24c59f1666f3ce960c3309ee","url":"https://api.github.com/users/pdsphil","html_url":"https://github.com/pdsphil","followers_url":"https://api.github.com/users/pdsphil/followers","following_url":"https://api.github.com/users/pdsphil/following{/other_user}","gists_url":"https://api.github.com/users/pdsphil/gists{/gist_id}","starred_url":"https://api.github.com/users/pdsphil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pdsphil/subscriptions","organizations_url":"https://api.github.com/users/pdsphil/orgs","repos_url":"https://api.github.com/users/pdsphil/repos","events_url":"https://api.github.com/users/pdsphil/events{/privacy}","received_events_url":"https://api.github.com/users/pdsphil/received_events","type":"User"},"private":false,"html_url":"https://github.com/pdsphil/ruby-merlin","description":"Ruby interface to the Merlin API","fork":false,"url":"https://api.github.com/repos/pdsphil/ruby-merlin","forks_url":"https://api.github.com/repos/pdsphil/ruby-merlin/forks","keys_url":"https://api.github.com/repos/pdsphil/ruby-merlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pdsphil/ruby-merlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pdsphil/ruby-merlin/teams","hooks_url":"https://api.github.com/repos/pdsphil/ruby-merlin/hooks","issue_events_url":"https://api.github.com/repos/pdsphil/ruby-merlin/issues/events{/number}","events_url":"https://api.github.com/repos/pdsphil/ruby-merlin/events","assignees_url":"https://api.github.com/repos/pdsphil/ruby-merlin/assignees{/user}","branches_url":"https://api.github.com/repos/pdsphil/ruby-merlin/branches{/branch}","tags_url":"https://api.github.com/repos/pdsphil/ruby-merlin/tags","blobs_url":"https://api.github.com/repos/pdsphil/ruby-merlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pdsphil/ruby-merlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pdsphil/ruby-merlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/pdsphil/ruby-merlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pdsphil/ruby-merlin/statuses/{sha}","languages_url":"https://api.github.com/repos/pdsphil/ruby-merlin/languages","stargazers_url":"https://api.github.com/repos/pdsphil/ruby-merlin/stargazers","contributors_url":"https://api.github.com/repos/pdsphil/ruby-merlin/contributors","subscribers_url":"https://api.github.com/repos/pdsphil/ruby-merlin/subscribers","subscription_url":"https://api.github.com/repos/pdsphil/ruby-merlin/subscription","commits_url":"https://api.github.com/repos/pdsphil/ruby-merlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/pdsphil/ruby-merlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/pdsphil/ruby-merlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/pdsphil/ruby-merlin/issues/comments/{number}","contents_url":"https://api.github.com/repos/pdsphil/ruby-merlin/contents/{+path}","compare_url":"https://api.github.com/repos/pdsphil/ruby-merlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pdsphil/ruby-merlin/merges","archive_url":"https://api.github.com/repos/pdsphil/ruby-merlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pdsphil/ruby-merlin/downloads","issues_url":"https://api.github.com/repos/pdsphil/ruby-merlin/issues{/number}","pulls_url":"https://api.github.com/repos/pdsphil/ruby-merlin/pulls{/number}","milestones_url":"https://api.github.com/repos/pdsphil/ruby-merlin/milestones{/number}","notifications_url":"https://api.github.com/repos/pdsphil/ruby-merlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pdsphil/ruby-merlin/labels{/name}"},{"id":1401,"name":"tekkonfig","full_name":"tekkub/tekkonfig","owner":{"login":"tekkub","id":706,"avatar_url":"https://1.gravatar.com/avatar/472814aac7576b67da59ea79fcbf7d66?d=https%3A%2F%2Fidenticons.github.com%2F9c82c7143c102b71c593d98d96093fde.png","gravatar_id":"472814aac7576b67da59ea79fcbf7d66","url":"https://api.github.com/users/tekkub","html_url":"https://github.com/tekkub","followers_url":"https://api.github.com/users/tekkub/followers","following_url":"https://api.github.com/users/tekkub/following{/other_user}","gists_url":"https://api.github.com/users/tekkub/gists{/gist_id}","starred_url":"https://api.github.com/users/tekkub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tekkub/subscriptions","organizations_url":"https://api.github.com/users/tekkub/orgs","repos_url":"https://api.github.com/users/tekkub/repos","events_url":"https://api.github.com/users/tekkub/events{/privacy}","received_events_url":"https://api.github.com/users/tekkub/received_events","type":"User"},"private":false,"html_url":"https://github.com/tekkub/tekkonfig","description":"Misc GUI widget factories for World of Warcraft addons","fork":false,"url":"https://api.github.com/repos/tekkub/tekkonfig","forks_url":"https://api.github.com/repos/tekkub/tekkonfig/forks","keys_url":"https://api.github.com/repos/tekkub/tekkonfig/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tekkub/tekkonfig/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tekkub/tekkonfig/teams","hooks_url":"https://api.github.com/repos/tekkub/tekkonfig/hooks","issue_events_url":"https://api.github.com/repos/tekkub/tekkonfig/issues/events{/number}","events_url":"https://api.github.com/repos/tekkub/tekkonfig/events","assignees_url":"https://api.github.com/repos/tekkub/tekkonfig/assignees{/user}","branches_url":"https://api.github.com/repos/tekkub/tekkonfig/branches{/branch}","tags_url":"https://api.github.com/repos/tekkub/tekkonfig/tags","blobs_url":"https://api.github.com/repos/tekkub/tekkonfig/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tekkub/tekkonfig/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tekkub/tekkonfig/git/refs{/sha}","trees_url":"https://api.github.com/repos/tekkub/tekkonfig/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tekkub/tekkonfig/statuses/{sha}","languages_url":"https://api.github.com/repos/tekkub/tekkonfig/languages","stargazers_url":"https://api.github.com/repos/tekkub/tekkonfig/stargazers","contributors_url":"https://api.github.com/repos/tekkub/tekkonfig/contributors","subscribers_url":"https://api.github.com/repos/tekkub/tekkonfig/subscribers","subscription_url":"https://api.github.com/repos/tekkub/tekkonfig/subscription","commits_url":"https://api.github.com/repos/tekkub/tekkonfig/commits{/sha}","git_commits_url":"https://api.github.com/repos/tekkub/tekkonfig/git/commits{/sha}","comments_url":"https://api.github.com/repos/tekkub/tekkonfig/comments{/number}","issue_comment_url":"https://api.github.com/repos/tekkub/tekkonfig/issues/comments/{number}","contents_url":"https://api.github.com/repos/tekkub/tekkonfig/contents/{+path}","compare_url":"https://api.github.com/repos/tekkub/tekkonfig/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tekkub/tekkonfig/merges","archive_url":"https://api.github.com/repos/tekkub/tekkonfig/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tekkub/tekkonfig/downloads","issues_url":"https://api.github.com/repos/tekkub/tekkonfig/issues{/number}","pulls_url":"https://api.github.com/repos/tekkub/tekkonfig/pulls{/number}","milestones_url":"https://api.github.com/repos/tekkub/tekkonfig/milestones{/number}","notifications_url":"https://api.github.com/repos/tekkub/tekkonfig/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tekkub/tekkonfig/labels{/name}"},{"id":1402,"name":"ruby-idology","full_name":"pdsphil/ruby-idology","owner":{"login":"pdsphil","id":268,"avatar_url":"https://1.gravatar.com/avatar/e0bd199c24c59f1666f3ce960c3309ee?d=https%3A%2F%2Fidenticons.github.com%2F8f121ce07d74717e0b1f21d122e04521.png","gravatar_id":"e0bd199c24c59f1666f3ce960c3309ee","url":"https://api.github.com/users/pdsphil","html_url":"https://github.com/pdsphil","followers_url":"https://api.github.com/users/pdsphil/followers","following_url":"https://api.github.com/users/pdsphil/following{/other_user}","gists_url":"https://api.github.com/users/pdsphil/gists{/gist_id}","starred_url":"https://api.github.com/users/pdsphil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pdsphil/subscriptions","organizations_url":"https://api.github.com/users/pdsphil/orgs","repos_url":"https://api.github.com/users/pdsphil/repos","events_url":"https://api.github.com/users/pdsphil/events{/privacy}","received_events_url":"https://api.github.com/users/pdsphil/received_events","type":"User"},"private":false,"html_url":"https://github.com/pdsphil/ruby-idology","description":"Ruby interface to the IDology API","fork":false,"url":"https://api.github.com/repos/pdsphil/ruby-idology","forks_url":"https://api.github.com/repos/pdsphil/ruby-idology/forks","keys_url":"https://api.github.com/repos/pdsphil/ruby-idology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pdsphil/ruby-idology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pdsphil/ruby-idology/teams","hooks_url":"https://api.github.com/repos/pdsphil/ruby-idology/hooks","issue_events_url":"https://api.github.com/repos/pdsphil/ruby-idology/issues/events{/number}","events_url":"https://api.github.com/repos/pdsphil/ruby-idology/events","assignees_url":"https://api.github.com/repos/pdsphil/ruby-idology/assignees{/user}","branches_url":"https://api.github.com/repos/pdsphil/ruby-idology/branches{/branch}","tags_url":"https://api.github.com/repos/pdsphil/ruby-idology/tags","blobs_url":"https://api.github.com/repos/pdsphil/ruby-idology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pdsphil/ruby-idology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pdsphil/ruby-idology/git/refs{/sha}","trees_url":"https://api.github.com/repos/pdsphil/ruby-idology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pdsphil/ruby-idology/statuses/{sha}","languages_url":"https://api.github.com/repos/pdsphil/ruby-idology/languages","stargazers_url":"https://api.github.com/repos/pdsphil/ruby-idology/stargazers","contributors_url":"https://api.github.com/repos/pdsphil/ruby-idology/contributors","subscribers_url":"https://api.github.com/repos/pdsphil/ruby-idology/subscribers","subscription_url":"https://api.github.com/repos/pdsphil/ruby-idology/subscription","commits_url":"https://api.github.com/repos/pdsphil/ruby-idology/commits{/sha}","git_commits_url":"https://api.github.com/repos/pdsphil/ruby-idology/git/commits{/sha}","comments_url":"https://api.github.com/repos/pdsphil/ruby-idology/comments{/number}","issue_comment_url":"https://api.github.com/repos/pdsphil/ruby-idology/issues/comments/{number}","contents_url":"https://api.github.com/repos/pdsphil/ruby-idology/contents/{+path}","compare_url":"https://api.github.com/repos/pdsphil/ruby-idology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pdsphil/ruby-idology/merges","archive_url":"https://api.github.com/repos/pdsphil/ruby-idology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pdsphil/ruby-idology/downloads","issues_url":"https://api.github.com/repos/pdsphil/ruby-idology/issues{/number}","pulls_url":"https://api.github.com/repos/pdsphil/ruby-idology/pulls{/number}","milestones_url":"https://api.github.com/repos/pdsphil/ruby-idology/milestones{/number}","notifications_url":"https://api.github.com/repos/pdsphil/ruby-idology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pdsphil/ruby-idology/labels{/name}"},{"id":1408,"name":"luaclr","full_name":"mascarenhas/luaclr","owner":{"login":"mascarenhas","id":363,"avatar_url":"https://0.gravatar.com/avatar/f9757c8ee985d7343427b8bd1797ec2f?d=https%3A%2F%2Fidenticons.github.com%2F00411460f7c92d2124a67ea0f4cb5f85.png","gravatar_id":"f9757c8ee985d7343427b8bd1797ec2f","url":"https://api.github.com/users/mascarenhas","html_url":"https://github.com/mascarenhas","followers_url":"https://api.github.com/users/mascarenhas/followers","following_url":"https://api.github.com/users/mascarenhas/following{/other_user}","gists_url":"https://api.github.com/users/mascarenhas/gists{/gist_id}","starred_url":"https://api.github.com/users/mascarenhas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mascarenhas/subscriptions","organizations_url":"https://api.github.com/users/mascarenhas/orgs","repos_url":"https://api.github.com/users/mascarenhas/repos","events_url":"https://api.github.com/users/mascarenhas/events{/privacy}","received_events_url":"https://api.github.com/users/mascarenhas/received_events","type":"User"},"private":false,"html_url":"https://github.com/mascarenhas/luaclr","description":"","fork":false,"url":"https://api.github.com/repos/mascarenhas/luaclr","forks_url":"https://api.github.com/repos/mascarenhas/luaclr/forks","keys_url":"https://api.github.com/repos/mascarenhas/luaclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mascarenhas/luaclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mascarenhas/luaclr/teams","hooks_url":"https://api.github.com/repos/mascarenhas/luaclr/hooks","issue_events_url":"https://api.github.com/repos/mascarenhas/luaclr/issues/events{/number}","events_url":"https://api.github.com/repos/mascarenhas/luaclr/events","assignees_url":"https://api.github.com/repos/mascarenhas/luaclr/assignees{/user}","branches_url":"https://api.github.com/repos/mascarenhas/luaclr/branches{/branch}","tags_url":"https://api.github.com/repos/mascarenhas/luaclr/tags","blobs_url":"https://api.github.com/repos/mascarenhas/luaclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mascarenhas/luaclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mascarenhas/luaclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/mascarenhas/luaclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mascarenhas/luaclr/statuses/{sha}","languages_url":"https://api.github.com/repos/mascarenhas/luaclr/languages","stargazers_url":"https://api.github.com/repos/mascarenhas/luaclr/stargazers","contributors_url":"https://api.github.com/repos/mascarenhas/luaclr/contributors","subscribers_url":"https://api.github.com/repos/mascarenhas/luaclr/subscribers","subscription_url":"https://api.github.com/repos/mascarenhas/luaclr/subscription","commits_url":"https://api.github.com/repos/mascarenhas/luaclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/mascarenhas/luaclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/mascarenhas/luaclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/mascarenhas/luaclr/issues/comments/{number}","contents_url":"https://api.github.com/repos/mascarenhas/luaclr/contents/{+path}","compare_url":"https://api.github.com/repos/mascarenhas/luaclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mascarenhas/luaclr/merges","archive_url":"https://api.github.com/repos/mascarenhas/luaclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mascarenhas/luaclr/downloads","issues_url":"https://api.github.com/repos/mascarenhas/luaclr/issues{/number}","pulls_url":"https://api.github.com/repos/mascarenhas/luaclr/pulls{/number}","milestones_url":"https://api.github.com/repos/mascarenhas/luaclr/milestones{/number}","notifications_url":"https://api.github.com/repos/mascarenhas/luaclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mascarenhas/luaclr/labels{/name}"},{"id":1411,"name":"bricklet-core","full_name":"jasonm/bricklet-core","owner":{"login":"jasonm","id":1031,"avatar_url":"https://2.gravatar.com/avatar/8478f9ebe099ad853f022deeb2c1defe?d=https%3A%2F%2Fidenticons.github.com%2Fafdec7005cc9f14302cd0474fd0f3c96.png","gravatar_id":"8478f9ebe099ad853f022deeb2c1defe","url":"https://api.github.com/users/jasonm","html_url":"https://github.com/jasonm","followers_url":"https://api.github.com/users/jasonm/followers","following_url":"https://api.github.com/users/jasonm/following{/other_user}","gists_url":"https://api.github.com/users/jasonm/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonm/subscriptions","organizations_url":"https://api.github.com/users/jasonm/orgs","repos_url":"https://api.github.com/users/jasonm/repos","events_url":"https://api.github.com/users/jasonm/events{/privacy}","received_events_url":"https://api.github.com/users/jasonm/received_events","type":"User"},"private":false,"html_url":"https://github.com/jasonm/bricklet-core","description":"Core data server for BioBrick format","fork":false,"url":"https://api.github.com/repos/jasonm/bricklet-core","forks_url":"https://api.github.com/repos/jasonm/bricklet-core/forks","keys_url":"https://api.github.com/repos/jasonm/bricklet-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jasonm/bricklet-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jasonm/bricklet-core/teams","hooks_url":"https://api.github.com/repos/jasonm/bricklet-core/hooks","issue_events_url":"https://api.github.com/repos/jasonm/bricklet-core/issues/events{/number}","events_url":"https://api.github.com/repos/jasonm/bricklet-core/events","assignees_url":"https://api.github.com/repos/jasonm/bricklet-core/assignees{/user}","branches_url":"https://api.github.com/repos/jasonm/bricklet-core/branches{/branch}","tags_url":"https://api.github.com/repos/jasonm/bricklet-core/tags","blobs_url":"https://api.github.com/repos/jasonm/bricklet-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jasonm/bricklet-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jasonm/bricklet-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/jasonm/bricklet-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jasonm/bricklet-core/statuses/{sha}","languages_url":"https://api.github.com/repos/jasonm/bricklet-core/languages","stargazers_url":"https://api.github.com/repos/jasonm/bricklet-core/stargazers","contributors_url":"https://api.github.com/repos/jasonm/bricklet-core/contributors","subscribers_url":"https://api.github.com/repos/jasonm/bricklet-core/subscribers","subscription_url":"https://api.github.com/repos/jasonm/bricklet-core/subscription","commits_url":"https://api.github.com/repos/jasonm/bricklet-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/jasonm/bricklet-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/jasonm/bricklet-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/jasonm/bricklet-core/issues/comments/{number}","contents_url":"https://api.github.com/repos/jasonm/bricklet-core/contents/{+path}","compare_url":"https://api.github.com/repos/jasonm/bricklet-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jasonm/bricklet-core/merges","archive_url":"https://api.github.com/repos/jasonm/bricklet-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jasonm/bricklet-core/downloads","issues_url":"https://api.github.com/repos/jasonm/bricklet-core/issues{/number}","pulls_url":"https://api.github.com/repos/jasonm/bricklet-core/pulls{/number}","milestones_url":"https://api.github.com/repos/jasonm/bricklet-core/milestones{/number}","notifications_url":"https://api.github.com/repos/jasonm/bricklet-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jasonm/bricklet-core/labels{/name}"},{"id":1414,"name":"bookeater","full_name":"gensym/bookeater","owner":{"login":"gensym","id":899,"avatar_url":"https://0.gravatar.com/avatar/e63b603ed7ffcb6b5c65707abc30e303?d=https%3A%2F%2Fidenticons.github.com%2F01882513d5fa7c329e940dda99b12147.png","gravatar_id":"e63b603ed7ffcb6b5c65707abc30e303","url":"https://api.github.com/users/gensym","html_url":"https://github.com/gensym","followers_url":"https://api.github.com/users/gensym/followers","following_url":"https://api.github.com/users/gensym/following{/other_user}","gists_url":"https://api.github.com/users/gensym/gists{/gist_id}","starred_url":"https://api.github.com/users/gensym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gensym/subscriptions","organizations_url":"https://api.github.com/users/gensym/orgs","repos_url":"https://api.github.com/users/gensym/repos","events_url":"https://api.github.com/users/gensym/events{/privacy}","received_events_url":"https://api.github.com/users/gensym/received_events","type":"User"},"private":false,"html_url":"https://github.com/gensym/bookeater","description":"BookEater.net","fork":false,"url":"https://api.github.com/repos/gensym/bookeater","forks_url":"https://api.github.com/repos/gensym/bookeater/forks","keys_url":"https://api.github.com/repos/gensym/bookeater/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gensym/bookeater/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gensym/bookeater/teams","hooks_url":"https://api.github.com/repos/gensym/bookeater/hooks","issue_events_url":"https://api.github.com/repos/gensym/bookeater/issues/events{/number}","events_url":"https://api.github.com/repos/gensym/bookeater/events","assignees_url":"https://api.github.com/repos/gensym/bookeater/assignees{/user}","branches_url":"https://api.github.com/repos/gensym/bookeater/branches{/branch}","tags_url":"https://api.github.com/repos/gensym/bookeater/tags","blobs_url":"https://api.github.com/repos/gensym/bookeater/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gensym/bookeater/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gensym/bookeater/git/refs{/sha}","trees_url":"https://api.github.com/repos/gensym/bookeater/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gensym/bookeater/statuses/{sha}","languages_url":"https://api.github.com/repos/gensym/bookeater/languages","stargazers_url":"https://api.github.com/repos/gensym/bookeater/stargazers","contributors_url":"https://api.github.com/repos/gensym/bookeater/contributors","subscribers_url":"https://api.github.com/repos/gensym/bookeater/subscribers","subscription_url":"https://api.github.com/repos/gensym/bookeater/subscription","commits_url":"https://api.github.com/repos/gensym/bookeater/commits{/sha}","git_commits_url":"https://api.github.com/repos/gensym/bookeater/git/commits{/sha}","comments_url":"https://api.github.com/repos/gensym/bookeater/comments{/number}","issue_comment_url":"https://api.github.com/repos/gensym/bookeater/issues/comments/{number}","contents_url":"https://api.github.com/repos/gensym/bookeater/contents/{+path}","compare_url":"https://api.github.com/repos/gensym/bookeater/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gensym/bookeater/merges","archive_url":"https://api.github.com/repos/gensym/bookeater/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gensym/bookeater/downloads","issues_url":"https://api.github.com/repos/gensym/bookeater/issues{/number}","pulls_url":"https://api.github.com/repos/gensym/bookeater/pulls{/number}","milestones_url":"https://api.github.com/repos/gensym/bookeater/milestones{/number}","notifications_url":"https://api.github.com/repos/gensym/bookeater/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gensym/bookeater/labels{/name}"},{"id":1425,"name":"facon","full_name":"chuyeow/facon","owner":{"login":"chuyeow","id":213,"avatar_url":"https://2.gravatar.com/avatar/00fd4ce27c06ba63e7ddca4c3d67e5ea?d=https%3A%2F%2Fidenticons.github.com%2F979d472a84804b9f647bc185a877a8b5.png","gravatar_id":"00fd4ce27c06ba63e7ddca4c3d67e5ea","url":"https://api.github.com/users/chuyeow","html_url":"https://github.com/chuyeow","followers_url":"https://api.github.com/users/chuyeow/followers","following_url":"https://api.github.com/users/chuyeow/following{/other_user}","gists_url":"https://api.github.com/users/chuyeow/gists{/gist_id}","starred_url":"https://api.github.com/users/chuyeow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chuyeow/subscriptions","organizations_url":"https://api.github.com/users/chuyeow/orgs","repos_url":"https://api.github.com/users/chuyeow/repos","events_url":"https://api.github.com/users/chuyeow/events{/privacy}","received_events_url":"https://api.github.com/users/chuyeow/received_events","type":"User"},"private":false,"html_url":"https://github.com/chuyeow/facon","description":"Facon is a mocking library in the spirit of the Bacon spec library. Small, compact, and works with Bacon.","fork":false,"url":"https://api.github.com/repos/chuyeow/facon","forks_url":"https://api.github.com/repos/chuyeow/facon/forks","keys_url":"https://api.github.com/repos/chuyeow/facon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chuyeow/facon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chuyeow/facon/teams","hooks_url":"https://api.github.com/repos/chuyeow/facon/hooks","issue_events_url":"https://api.github.com/repos/chuyeow/facon/issues/events{/number}","events_url":"https://api.github.com/repos/chuyeow/facon/events","assignees_url":"https://api.github.com/repos/chuyeow/facon/assignees{/user}","branches_url":"https://api.github.com/repos/chuyeow/facon/branches{/branch}","tags_url":"https://api.github.com/repos/chuyeow/facon/tags","blobs_url":"https://api.github.com/repos/chuyeow/facon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chuyeow/facon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chuyeow/facon/git/refs{/sha}","trees_url":"https://api.github.com/repos/chuyeow/facon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chuyeow/facon/statuses/{sha}","languages_url":"https://api.github.com/repos/chuyeow/facon/languages","stargazers_url":"https://api.github.com/repos/chuyeow/facon/stargazers","contributors_url":"https://api.github.com/repos/chuyeow/facon/contributors","subscribers_url":"https://api.github.com/repos/chuyeow/facon/subscribers","subscription_url":"https://api.github.com/repos/chuyeow/facon/subscription","commits_url":"https://api.github.com/repos/chuyeow/facon/commits{/sha}","git_commits_url":"https://api.github.com/repos/chuyeow/facon/git/commits{/sha}","comments_url":"https://api.github.com/repos/chuyeow/facon/comments{/number}","issue_comment_url":"https://api.github.com/repos/chuyeow/facon/issues/comments/{number}","contents_url":"https://api.github.com/repos/chuyeow/facon/contents/{+path}","compare_url":"https://api.github.com/repos/chuyeow/facon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chuyeow/facon/merges","archive_url":"https://api.github.com/repos/chuyeow/facon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chuyeow/facon/downloads","issues_url":"https://api.github.com/repos/chuyeow/facon/issues{/number}","pulls_url":"https://api.github.com/repos/chuyeow/facon/pulls{/number}","milestones_url":"https://api.github.com/repos/chuyeow/facon/milestones{/number}","notifications_url":"https://api.github.com/repos/chuyeow/facon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chuyeow/facon/labels{/name}"},{"id":1429,"name":"stat","full_name":"vanpelt/stat","owner":{"login":"vanpelt","id":17,"avatar_url":"https://1.gravatar.com/avatar/1da36d4c1f34454de6c07855098675f6?d=https%3A%2F%2Fidenticons.github.com%2F70efdf2ec9b086079795c442636b55fb.png","gravatar_id":"1da36d4c1f34454de6c07855098675f6","url":"https://api.github.com/users/vanpelt","html_url":"https://github.com/vanpelt","followers_url":"https://api.github.com/users/vanpelt/followers","following_url":"https://api.github.com/users/vanpelt/following{/other_user}","gists_url":"https://api.github.com/users/vanpelt/gists{/gist_id}","starred_url":"https://api.github.com/users/vanpelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanpelt/subscriptions","organizations_url":"https://api.github.com/users/vanpelt/orgs","repos_url":"https://api.github.com/users/vanpelt/repos","events_url":"https://api.github.com/users/vanpelt/events{/privacy}","received_events_url":"https://api.github.com/users/vanpelt/received_events","type":"User"},"private":false,"html_url":"https://github.com/vanpelt/stat","description":"A Rakefile that makes static website creation and deploying stupid simple","fork":false,"url":"https://api.github.com/repos/vanpelt/stat","forks_url":"https://api.github.com/repos/vanpelt/stat/forks","keys_url":"https://api.github.com/repos/vanpelt/stat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vanpelt/stat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vanpelt/stat/teams","hooks_url":"https://api.github.com/repos/vanpelt/stat/hooks","issue_events_url":"https://api.github.com/repos/vanpelt/stat/issues/events{/number}","events_url":"https://api.github.com/repos/vanpelt/stat/events","assignees_url":"https://api.github.com/repos/vanpelt/stat/assignees{/user}","branches_url":"https://api.github.com/repos/vanpelt/stat/branches{/branch}","tags_url":"https://api.github.com/repos/vanpelt/stat/tags","blobs_url":"https://api.github.com/repos/vanpelt/stat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vanpelt/stat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vanpelt/stat/git/refs{/sha}","trees_url":"https://api.github.com/repos/vanpelt/stat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vanpelt/stat/statuses/{sha}","languages_url":"https://api.github.com/repos/vanpelt/stat/languages","stargazers_url":"https://api.github.com/repos/vanpelt/stat/stargazers","contributors_url":"https://api.github.com/repos/vanpelt/stat/contributors","subscribers_url":"https://api.github.com/repos/vanpelt/stat/subscribers","subscription_url":"https://api.github.com/repos/vanpelt/stat/subscription","commits_url":"https://api.github.com/repos/vanpelt/stat/commits{/sha}","git_commits_url":"https://api.github.com/repos/vanpelt/stat/git/commits{/sha}","comments_url":"https://api.github.com/repos/vanpelt/stat/comments{/number}","issue_comment_url":"https://api.github.com/repos/vanpelt/stat/issues/comments/{number}","contents_url":"https://api.github.com/repos/vanpelt/stat/contents/{+path}","compare_url":"https://api.github.com/repos/vanpelt/stat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vanpelt/stat/merges","archive_url":"https://api.github.com/repos/vanpelt/stat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vanpelt/stat/downloads","issues_url":"https://api.github.com/repos/vanpelt/stat/issues{/number}","pulls_url":"https://api.github.com/repos/vanpelt/stat/pulls{/number}","milestones_url":"https://api.github.com/repos/vanpelt/stat/milestones{/number}","notifications_url":"https://api.github.com/repos/vanpelt/stat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vanpelt/stat/labels{/name}"},{"id":1435,"name":"rubynomic","full_name":"Norgg/rubynomic","owner":{"login":"Norgg","id":913,"avatar_url":"https://0.gravatar.com/avatar/f041ccf24524caf8d010097770b5eeae?d=https%3A%2F%2Fidenticons.github.com%2F8b5040a8a5baf3e0e67386c2e3a9b903.png","gravatar_id":"f041ccf24524caf8d010097770b5eeae","url":"https://api.github.com/users/Norgg","html_url":"https://github.com/Norgg","followers_url":"https://api.github.com/users/Norgg/followers","following_url":"https://api.github.com/users/Norgg/following{/other_user}","gists_url":"https://api.github.com/users/Norgg/gists{/gist_id}","starred_url":"https://api.github.com/users/Norgg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Norgg/subscriptions","organizations_url":"https://api.github.com/users/Norgg/orgs","repos_url":"https://api.github.com/users/Norgg/repos","events_url":"https://api.github.com/users/Norgg/events{/privacy}","received_events_url":"https://api.github.com/users/Norgg/received_events","type":"User"},"private":false,"html_url":"https://github.com/Norgg/rubynomic","description":"Initial source code for ruby nomic games","fork":false,"url":"https://api.github.com/repos/Norgg/rubynomic","forks_url":"https://api.github.com/repos/Norgg/rubynomic/forks","keys_url":"https://api.github.com/repos/Norgg/rubynomic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Norgg/rubynomic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Norgg/rubynomic/teams","hooks_url":"https://api.github.com/repos/Norgg/rubynomic/hooks","issue_events_url":"https://api.github.com/repos/Norgg/rubynomic/issues/events{/number}","events_url":"https://api.github.com/repos/Norgg/rubynomic/events","assignees_url":"https://api.github.com/repos/Norgg/rubynomic/assignees{/user}","branches_url":"https://api.github.com/repos/Norgg/rubynomic/branches{/branch}","tags_url":"https://api.github.com/repos/Norgg/rubynomic/tags","blobs_url":"https://api.github.com/repos/Norgg/rubynomic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Norgg/rubynomic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Norgg/rubynomic/git/refs{/sha}","trees_url":"https://api.github.com/repos/Norgg/rubynomic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Norgg/rubynomic/statuses/{sha}","languages_url":"https://api.github.com/repos/Norgg/rubynomic/languages","stargazers_url":"https://api.github.com/repos/Norgg/rubynomic/stargazers","contributors_url":"https://api.github.com/repos/Norgg/rubynomic/contributors","subscribers_url":"https://api.github.com/repos/Norgg/rubynomic/subscribers","subscription_url":"https://api.github.com/repos/Norgg/rubynomic/subscription","commits_url":"https://api.github.com/repos/Norgg/rubynomic/commits{/sha}","git_commits_url":"https://api.github.com/repos/Norgg/rubynomic/git/commits{/sha}","comments_url":"https://api.github.com/repos/Norgg/rubynomic/comments{/number}","issue_comment_url":"https://api.github.com/repos/Norgg/rubynomic/issues/comments/{number}","contents_url":"https://api.github.com/repos/Norgg/rubynomic/contents/{+path}","compare_url":"https://api.github.com/repos/Norgg/rubynomic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Norgg/rubynomic/merges","archive_url":"https://api.github.com/repos/Norgg/rubynomic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Norgg/rubynomic/downloads","issues_url":"https://api.github.com/repos/Norgg/rubynomic/issues{/number}","pulls_url":"https://api.github.com/repos/Norgg/rubynomic/pulls{/number}","milestones_url":"https://api.github.com/repos/Norgg/rubynomic/milestones{/number}","notifications_url":"https://api.github.com/repos/Norgg/rubynomic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Norgg/rubynomic/labels{/name}"},{"id":1436,"name":"depth-charge","full_name":"bscofield/depth-charge","owner":{"login":"bscofield","id":433,"avatar_url":"https://1.gravatar.com/avatar/01604be00b0c8371437cbc2b96265b9b?d=https%3A%2F%2Fidenticons.github.com%2F019d385eb67632a7e958e23f24bd07d7.png","gravatar_id":"01604be00b0c8371437cbc2b96265b9b","url":"https://api.github.com/users/bscofield","html_url":"https://github.com/bscofield","followers_url":"https://api.github.com/users/bscofield/followers","following_url":"https://api.github.com/users/bscofield/following{/other_user}","gists_url":"https://api.github.com/users/bscofield/gists{/gist_id}","starred_url":"https://api.github.com/users/bscofield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bscofield/subscriptions","organizations_url":"https://api.github.com/users/bscofield/orgs","repos_url":"https://api.github.com/users/bscofield/repos","events_url":"https://api.github.com/users/bscofield/events{/privacy}","received_events_url":"https://api.github.com/users/bscofield/received_events","type":"User"},"private":false,"html_url":"https://github.com/bscofield/depth-charge","description":"A quick and dirty dependency finder for your Ruby projects","fork":false,"url":"https://api.github.com/repos/bscofield/depth-charge","forks_url":"https://api.github.com/repos/bscofield/depth-charge/forks","keys_url":"https://api.github.com/repos/bscofield/depth-charge/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bscofield/depth-charge/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bscofield/depth-charge/teams","hooks_url":"https://api.github.com/repos/bscofield/depth-charge/hooks","issue_events_url":"https://api.github.com/repos/bscofield/depth-charge/issues/events{/number}","events_url":"https://api.github.com/repos/bscofield/depth-charge/events","assignees_url":"https://api.github.com/repos/bscofield/depth-charge/assignees{/user}","branches_url":"https://api.github.com/repos/bscofield/depth-charge/branches{/branch}","tags_url":"https://api.github.com/repos/bscofield/depth-charge/tags","blobs_url":"https://api.github.com/repos/bscofield/depth-charge/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bscofield/depth-charge/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bscofield/depth-charge/git/refs{/sha}","trees_url":"https://api.github.com/repos/bscofield/depth-charge/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bscofield/depth-charge/statuses/{sha}","languages_url":"https://api.github.com/repos/bscofield/depth-charge/languages","stargazers_url":"https://api.github.com/repos/bscofield/depth-charge/stargazers","contributors_url":"https://api.github.com/repos/bscofield/depth-charge/contributors","subscribers_url":"https://api.github.com/repos/bscofield/depth-charge/subscribers","subscription_url":"https://api.github.com/repos/bscofield/depth-charge/subscription","commits_url":"https://api.github.com/repos/bscofield/depth-charge/commits{/sha}","git_commits_url":"https://api.github.com/repos/bscofield/depth-charge/git/commits{/sha}","comments_url":"https://api.github.com/repos/bscofield/depth-charge/comments{/number}","issue_comment_url":"https://api.github.com/repos/bscofield/depth-charge/issues/comments/{number}","contents_url":"https://api.github.com/repos/bscofield/depth-charge/contents/{+path}","compare_url":"https://api.github.com/repos/bscofield/depth-charge/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bscofield/depth-charge/merges","archive_url":"https://api.github.com/repos/bscofield/depth-charge/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bscofield/depth-charge/downloads","issues_url":"https://api.github.com/repos/bscofield/depth-charge/issues{/number}","pulls_url":"https://api.github.com/repos/bscofield/depth-charge/pulls{/number}","milestones_url":"https://api.github.com/repos/bscofield/depth-charge/milestones{/number}","notifications_url":"https://api.github.com/repos/bscofield/depth-charge/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bscofield/depth-charge/labels{/name}"},{"id":1440,"name":"portfolio","full_name":"myabc/portfolio","owner":{"login":"myabc","id":755,"avatar_url":"https://0.gravatar.com/avatar/9b1a71682de14fc6fc2b944a9c4814a0?d=https%3A%2F%2Fidenticons.github.com%2Fccb0989662211f61edae2e26d58ea92f.png","gravatar_id":"9b1a71682de14fc6fc2b944a9c4814a0","url":"https://api.github.com/users/myabc","html_url":"https://github.com/myabc","followers_url":"https://api.github.com/users/myabc/followers","following_url":"https://api.github.com/users/myabc/following{/other_user}","gists_url":"https://api.github.com/users/myabc/gists{/gist_id}","starred_url":"https://api.github.com/users/myabc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myabc/subscriptions","organizations_url":"https://api.github.com/users/myabc/orgs","repos_url":"https://api.github.com/users/myabc/repos","events_url":"https://api.github.com/users/myabc/events{/privacy}","received_events_url":"https://api.github.com/users/myabc/received_events","type":"User"},"private":false,"html_url":"https://github.com/myabc/portfolio","description":"Alex Coles Portfolio","fork":false,"url":"https://api.github.com/repos/myabc/portfolio","forks_url":"https://api.github.com/repos/myabc/portfolio/forks","keys_url":"https://api.github.com/repos/myabc/portfolio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/myabc/portfolio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/myabc/portfolio/teams","hooks_url":"https://api.github.com/repos/myabc/portfolio/hooks","issue_events_url":"https://api.github.com/repos/myabc/portfolio/issues/events{/number}","events_url":"https://api.github.com/repos/myabc/portfolio/events","assignees_url":"https://api.github.com/repos/myabc/portfolio/assignees{/user}","branches_url":"https://api.github.com/repos/myabc/portfolio/branches{/branch}","tags_url":"https://api.github.com/repos/myabc/portfolio/tags","blobs_url":"https://api.github.com/repos/myabc/portfolio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/myabc/portfolio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/myabc/portfolio/git/refs{/sha}","trees_url":"https://api.github.com/repos/myabc/portfolio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/myabc/portfolio/statuses/{sha}","languages_url":"https://api.github.com/repos/myabc/portfolio/languages","stargazers_url":"https://api.github.com/repos/myabc/portfolio/stargazers","contributors_url":"https://api.github.com/repos/myabc/portfolio/contributors","subscribers_url":"https://api.github.com/repos/myabc/portfolio/subscribers","subscription_url":"https://api.github.com/repos/myabc/portfolio/subscription","commits_url":"https://api.github.com/repos/myabc/portfolio/commits{/sha}","git_commits_url":"https://api.github.com/repos/myabc/portfolio/git/commits{/sha}","comments_url":"https://api.github.com/repos/myabc/portfolio/comments{/number}","issue_comment_url":"https://api.github.com/repos/myabc/portfolio/issues/comments/{number}","contents_url":"https://api.github.com/repos/myabc/portfolio/contents/{+path}","compare_url":"https://api.github.com/repos/myabc/portfolio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/myabc/portfolio/merges","archive_url":"https://api.github.com/repos/myabc/portfolio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/myabc/portfolio/downloads","issues_url":"https://api.github.com/repos/myabc/portfolio/issues{/number}","pulls_url":"https://api.github.com/repos/myabc/portfolio/pulls{/number}","milestones_url":"https://api.github.com/repos/myabc/portfolio/milestones{/number}","notifications_url":"https://api.github.com/repos/myabc/portfolio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/myabc/portfolio/labels{/name}"},{"id":1441,"name":"clickatell","full_name":"lukeredpath/clickatell","owner":{"login":"lukeredpath","id":613,"avatar_url":"https://0.gravatar.com/avatar/bdd4d23d1a822b2d68b53e7c51d69a39?d=https%3A%2F%2Fidenticons.github.com%2Ff29c21d4897f78948b91f03172341b7b.png","gravatar_id":"bdd4d23d1a822b2d68b53e7c51d69a39","url":"https://api.github.com/users/lukeredpath","html_url":"https://github.com/lukeredpath","followers_url":"https://api.github.com/users/lukeredpath/followers","following_url":"https://api.github.com/users/lukeredpath/following{/other_user}","gists_url":"https://api.github.com/users/lukeredpath/gists{/gist_id}","starred_url":"https://api.github.com/users/lukeredpath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukeredpath/subscriptions","organizations_url":"https://api.github.com/users/lukeredpath/orgs","repos_url":"https://api.github.com/users/lukeredpath/repos","events_url":"https://api.github.com/users/lukeredpath/events{/privacy}","received_events_url":"https://api.github.com/users/lukeredpath/received_events","type":"User"},"private":false,"html_url":"https://github.com/lukeredpath/clickatell","description":"NO LONGER SUPPORTED - Ruby interface to the Clickatell SMS Gateway API","fork":false,"url":"https://api.github.com/repos/lukeredpath/clickatell","forks_url":"https://api.github.com/repos/lukeredpath/clickatell/forks","keys_url":"https://api.github.com/repos/lukeredpath/clickatell/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lukeredpath/clickatell/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lukeredpath/clickatell/teams","hooks_url":"https://api.github.com/repos/lukeredpath/clickatell/hooks","issue_events_url":"https://api.github.com/repos/lukeredpath/clickatell/issues/events{/number}","events_url":"https://api.github.com/repos/lukeredpath/clickatell/events","assignees_url":"https://api.github.com/repos/lukeredpath/clickatell/assignees{/user}","branches_url":"https://api.github.com/repos/lukeredpath/clickatell/branches{/branch}","tags_url":"https://api.github.com/repos/lukeredpath/clickatell/tags","blobs_url":"https://api.github.com/repos/lukeredpath/clickatell/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lukeredpath/clickatell/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lukeredpath/clickatell/git/refs{/sha}","trees_url":"https://api.github.com/repos/lukeredpath/clickatell/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lukeredpath/clickatell/statuses/{sha}","languages_url":"https://api.github.com/repos/lukeredpath/clickatell/languages","stargazers_url":"https://api.github.com/repos/lukeredpath/clickatell/stargazers","contributors_url":"https://api.github.com/repos/lukeredpath/clickatell/contributors","subscribers_url":"https://api.github.com/repos/lukeredpath/clickatell/subscribers","subscription_url":"https://api.github.com/repos/lukeredpath/clickatell/subscription","commits_url":"https://api.github.com/repos/lukeredpath/clickatell/commits{/sha}","git_commits_url":"https://api.github.com/repos/lukeredpath/clickatell/git/commits{/sha}","comments_url":"https://api.github.com/repos/lukeredpath/clickatell/comments{/number}","issue_comment_url":"https://api.github.com/repos/lukeredpath/clickatell/issues/comments/{number}","contents_url":"https://api.github.com/repos/lukeredpath/clickatell/contents/{+path}","compare_url":"https://api.github.com/repos/lukeredpath/clickatell/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lukeredpath/clickatell/merges","archive_url":"https://api.github.com/repos/lukeredpath/clickatell/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lukeredpath/clickatell/downloads","issues_url":"https://api.github.com/repos/lukeredpath/clickatell/issues{/number}","pulls_url":"https://api.github.com/repos/lukeredpath/clickatell/pulls{/number}","milestones_url":"https://api.github.com/repos/lukeredpath/clickatell/milestones{/number}","notifications_url":"https://api.github.com/repos/lukeredpath/clickatell/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lukeredpath/clickatell/labels{/name}"},{"id":1444,"name":"do_notation","full_name":"aanand/do_notation","owner":{"login":"aanand","id":1062,"avatar_url":"https://2.gravatar.com/avatar/73022df4be6fcced9792f50497b4f119?d=https%3A%2F%2Fidenticons.github.com%2Fcd89fef7ffdd490db800357f47722b20.png","gravatar_id":"73022df4be6fcced9792f50497b4f119","url":"https://api.github.com/users/aanand","html_url":"https://github.com/aanand","followers_url":"https://api.github.com/users/aanand/followers","following_url":"https://api.github.com/users/aanand/following{/other_user}","gists_url":"https://api.github.com/users/aanand/gists{/gist_id}","starred_url":"https://api.github.com/users/aanand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aanand/subscriptions","organizations_url":"https://api.github.com/users/aanand/orgs","repos_url":"https://api.github.com/users/aanand/repos","events_url":"https://api.github.com/users/aanand/events{/privacy}","received_events_url":"https://api.github.com/users/aanand/received_events","type":"User"},"private":false,"html_url":"https://github.com/aanand/do_notation","description":"Haskell-style monad do-notation for Ruby","fork":false,"url":"https://api.github.com/repos/aanand/do_notation","forks_url":"https://api.github.com/repos/aanand/do_notation/forks","keys_url":"https://api.github.com/repos/aanand/do_notation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aanand/do_notation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aanand/do_notation/teams","hooks_url":"https://api.github.com/repos/aanand/do_notation/hooks","issue_events_url":"https://api.github.com/repos/aanand/do_notation/issues/events{/number}","events_url":"https://api.github.com/repos/aanand/do_notation/events","assignees_url":"https://api.github.com/repos/aanand/do_notation/assignees{/user}","branches_url":"https://api.github.com/repos/aanand/do_notation/branches{/branch}","tags_url":"https://api.github.com/repos/aanand/do_notation/tags","blobs_url":"https://api.github.com/repos/aanand/do_notation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aanand/do_notation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aanand/do_notation/git/refs{/sha}","trees_url":"https://api.github.com/repos/aanand/do_notation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aanand/do_notation/statuses/{sha}","languages_url":"https://api.github.com/repos/aanand/do_notation/languages","stargazers_url":"https://api.github.com/repos/aanand/do_notation/stargazers","contributors_url":"https://api.github.com/repos/aanand/do_notation/contributors","subscribers_url":"https://api.github.com/repos/aanand/do_notation/subscribers","subscription_url":"https://api.github.com/repos/aanand/do_notation/subscription","commits_url":"https://api.github.com/repos/aanand/do_notation/commits{/sha}","git_commits_url":"https://api.github.com/repos/aanand/do_notation/git/commits{/sha}","comments_url":"https://api.github.com/repos/aanand/do_notation/comments{/number}","issue_comment_url":"https://api.github.com/repos/aanand/do_notation/issues/comments/{number}","contents_url":"https://api.github.com/repos/aanand/do_notation/contents/{+path}","compare_url":"https://api.github.com/repos/aanand/do_notation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aanand/do_notation/merges","archive_url":"https://api.github.com/repos/aanand/do_notation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aanand/do_notation/downloads","issues_url":"https://api.github.com/repos/aanand/do_notation/issues{/number}","pulls_url":"https://api.github.com/repos/aanand/do_notation/pulls{/number}","milestones_url":"https://api.github.com/repos/aanand/do_notation/milestones{/number}","notifications_url":"https://api.github.com/repos/aanand/do_notation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aanand/do_notation/labels{/name}"},{"id":1453,"name":"pictrails","full_name":"shingara/pictrails","owner":{"login":"shingara","id":1088,"avatar_url":"https://0.gravatar.com/avatar/2fd0206c71a1b22a9cc6293f38537461?d=https%3A%2F%2Fidenticons.github.com%2Fb1563a78ec59337587f6ab6397699afc.png","gravatar_id":"2fd0206c71a1b22a9cc6293f38537461","url":"https://api.github.com/users/shingara","html_url":"https://github.com/shingara","followers_url":"https://api.github.com/users/shingara/followers","following_url":"https://api.github.com/users/shingara/following{/other_user}","gists_url":"https://api.github.com/users/shingara/gists{/gist_id}","starred_url":"https://api.github.com/users/shingara/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shingara/subscriptions","organizations_url":"https://api.github.com/users/shingara/orgs","repos_url":"https://api.github.com/users/shingara/repos","events_url":"https://api.github.com/users/shingara/events{/privacy}","received_events_url":"https://api.github.com/users/shingara/received_events","type":"User"},"private":false,"html_url":"https://github.com/shingara/pictrails","description":"A Web Photo Gallery, written with Rails 2.0. Pictrails can manage several photo galleries.","fork":false,"url":"https://api.github.com/repos/shingara/pictrails","forks_url":"https://api.github.com/repos/shingara/pictrails/forks","keys_url":"https://api.github.com/repos/shingara/pictrails/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shingara/pictrails/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shingara/pictrails/teams","hooks_url":"https://api.github.com/repos/shingara/pictrails/hooks","issue_events_url":"https://api.github.com/repos/shingara/pictrails/issues/events{/number}","events_url":"https://api.github.com/repos/shingara/pictrails/events","assignees_url":"https://api.github.com/repos/shingara/pictrails/assignees{/user}","branches_url":"https://api.github.com/repos/shingara/pictrails/branches{/branch}","tags_url":"https://api.github.com/repos/shingara/pictrails/tags","blobs_url":"https://api.github.com/repos/shingara/pictrails/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shingara/pictrails/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shingara/pictrails/git/refs{/sha}","trees_url":"https://api.github.com/repos/shingara/pictrails/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shingara/pictrails/statuses/{sha}","languages_url":"https://api.github.com/repos/shingara/pictrails/languages","stargazers_url":"https://api.github.com/repos/shingara/pictrails/stargazers","contributors_url":"https://api.github.com/repos/shingara/pictrails/contributors","subscribers_url":"https://api.github.com/repos/shingara/pictrails/subscribers","subscription_url":"https://api.github.com/repos/shingara/pictrails/subscription","commits_url":"https://api.github.com/repos/shingara/pictrails/commits{/sha}","git_commits_url":"https://api.github.com/repos/shingara/pictrails/git/commits{/sha}","comments_url":"https://api.github.com/repos/shingara/pictrails/comments{/number}","issue_comment_url":"https://api.github.com/repos/shingara/pictrails/issues/comments/{number}","contents_url":"https://api.github.com/repos/shingara/pictrails/contents/{+path}","compare_url":"https://api.github.com/repos/shingara/pictrails/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shingara/pictrails/merges","archive_url":"https://api.github.com/repos/shingara/pictrails/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shingara/pictrails/downloads","issues_url":"https://api.github.com/repos/shingara/pictrails/issues{/number}","pulls_url":"https://api.github.com/repos/shingara/pictrails/pulls{/number}","milestones_url":"https://api.github.com/repos/shingara/pictrails/milestones{/number}","notifications_url":"https://api.github.com/repos/shingara/pictrails/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shingara/pictrails/labels{/name}"},{"id":1462,"name":"annotate_models","full_name":"ctran/annotate_models","owner":{"login":"ctran","id":491,"avatar_url":"https://1.gravatar.com/avatar/accad816054fc1b2fa7dae2a2fce5266?d=https%3A%2F%2Fidenticons.github.com%2F559cb990c9dffd8675f6bc2186971dc2.png","gravatar_id":"accad816054fc1b2fa7dae2a2fce5266","url":"https://api.github.com/users/ctran","html_url":"https://github.com/ctran","followers_url":"https://api.github.com/users/ctran/followers","following_url":"https://api.github.com/users/ctran/following{/other_user}","gists_url":"https://api.github.com/users/ctran/gists{/gist_id}","starred_url":"https://api.github.com/users/ctran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ctran/subscriptions","organizations_url":"https://api.github.com/users/ctran/orgs","repos_url":"https://api.github.com/users/ctran/repos","events_url":"https://api.github.com/users/ctran/events{/privacy}","received_events_url":"https://api.github.com/users/ctran/received_events","type":"User"},"private":false,"html_url":"https://github.com/ctran/annotate_models","description":"Annotate ActiveRecord models as a gem","fork":false,"url":"https://api.github.com/repos/ctran/annotate_models","forks_url":"https://api.github.com/repos/ctran/annotate_models/forks","keys_url":"https://api.github.com/repos/ctran/annotate_models/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ctran/annotate_models/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ctran/annotate_models/teams","hooks_url":"https://api.github.com/repos/ctran/annotate_models/hooks","issue_events_url":"https://api.github.com/repos/ctran/annotate_models/issues/events{/number}","events_url":"https://api.github.com/repos/ctran/annotate_models/events","assignees_url":"https://api.github.com/repos/ctran/annotate_models/assignees{/user}","branches_url":"https://api.github.com/repos/ctran/annotate_models/branches{/branch}","tags_url":"https://api.github.com/repos/ctran/annotate_models/tags","blobs_url":"https://api.github.com/repos/ctran/annotate_models/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ctran/annotate_models/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ctran/annotate_models/git/refs{/sha}","trees_url":"https://api.github.com/repos/ctran/annotate_models/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ctran/annotate_models/statuses/{sha}","languages_url":"https://api.github.com/repos/ctran/annotate_models/languages","stargazers_url":"https://api.github.com/repos/ctran/annotate_models/stargazers","contributors_url":"https://api.github.com/repos/ctran/annotate_models/contributors","subscribers_url":"https://api.github.com/repos/ctran/annotate_models/subscribers","subscription_url":"https://api.github.com/repos/ctran/annotate_models/subscription","commits_url":"https://api.github.com/repos/ctran/annotate_models/commits{/sha}","git_commits_url":"https://api.github.com/repos/ctran/annotate_models/git/commits{/sha}","comments_url":"https://api.github.com/repos/ctran/annotate_models/comments{/number}","issue_comment_url":"https://api.github.com/repos/ctran/annotate_models/issues/comments/{number}","contents_url":"https://api.github.com/repos/ctran/annotate_models/contents/{+path}","compare_url":"https://api.github.com/repos/ctran/annotate_models/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ctran/annotate_models/merges","archive_url":"https://api.github.com/repos/ctran/annotate_models/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ctran/annotate_models/downloads","issues_url":"https://api.github.com/repos/ctran/annotate_models/issues{/number}","pulls_url":"https://api.github.com/repos/ctran/annotate_models/pulls{/number}","milestones_url":"https://api.github.com/repos/ctran/annotate_models/milestones{/number}","notifications_url":"https://api.github.com/repos/ctran/annotate_models/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ctran/annotate_models/labels{/name}"},{"id":1469,"name":"blueprint_layout","full_name":"alce/blueprint_layout","owner":{"login":"alce","id":1133,"avatar_url":"https://1.gravatar.com/avatar/b404a438e7106c61e31fa6ebcc089a5f?d=https%3A%2F%2Fidenticons.github.com%2Ffd06b8ea02fe5b1c2496fe1700e9d16c.png","gravatar_id":"b404a438e7106c61e31fa6ebcc089a5f","url":"https://api.github.com/users/alce","html_url":"https://github.com/alce","followers_url":"https://api.github.com/users/alce/followers","following_url":"https://api.github.com/users/alce/following{/other_user}","gists_url":"https://api.github.com/users/alce/gists{/gist_id}","starred_url":"https://api.github.com/users/alce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alce/subscriptions","organizations_url":"https://api.github.com/users/alce/orgs","repos_url":"https://api.github.com/users/alce/repos","events_url":"https://api.github.com/users/alce/events{/privacy}","received_events_url":"https://api.github.com/users/alce/received_events","type":"User"},"private":false,"html_url":"https://github.com/alce/blueprint_layout","description":"Create ","fork":false,"url":"https://api.github.com/repos/alce/blueprint_layout","forks_url":"https://api.github.com/repos/alce/blueprint_layout/forks","keys_url":"https://api.github.com/repos/alce/blueprint_layout/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alce/blueprint_layout/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alce/blueprint_layout/teams","hooks_url":"https://api.github.com/repos/alce/blueprint_layout/hooks","issue_events_url":"https://api.github.com/repos/alce/blueprint_layout/issues/events{/number}","events_url":"https://api.github.com/repos/alce/blueprint_layout/events","assignees_url":"https://api.github.com/repos/alce/blueprint_layout/assignees{/user}","branches_url":"https://api.github.com/repos/alce/blueprint_layout/branches{/branch}","tags_url":"https://api.github.com/repos/alce/blueprint_layout/tags","blobs_url":"https://api.github.com/repos/alce/blueprint_layout/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alce/blueprint_layout/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alce/blueprint_layout/git/refs{/sha}","trees_url":"https://api.github.com/repos/alce/blueprint_layout/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alce/blueprint_layout/statuses/{sha}","languages_url":"https://api.github.com/repos/alce/blueprint_layout/languages","stargazers_url":"https://api.github.com/repos/alce/blueprint_layout/stargazers","contributors_url":"https://api.github.com/repos/alce/blueprint_layout/contributors","subscribers_url":"https://api.github.com/repos/alce/blueprint_layout/subscribers","subscription_url":"https://api.github.com/repos/alce/blueprint_layout/subscription","commits_url":"https://api.github.com/repos/alce/blueprint_layout/commits{/sha}","git_commits_url":"https://api.github.com/repos/alce/blueprint_layout/git/commits{/sha}","comments_url":"https://api.github.com/repos/alce/blueprint_layout/comments{/number}","issue_comment_url":"https://api.github.com/repos/alce/blueprint_layout/issues/comments/{number}","contents_url":"https://api.github.com/repos/alce/blueprint_layout/contents/{+path}","compare_url":"https://api.github.com/repos/alce/blueprint_layout/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alce/blueprint_layout/merges","archive_url":"https://api.github.com/repos/alce/blueprint_layout/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alce/blueprint_layout/downloads","issues_url":"https://api.github.com/repos/alce/blueprint_layout/issues{/number}","pulls_url":"https://api.github.com/repos/alce/blueprint_layout/pulls{/number}","milestones_url":"https://api.github.com/repos/alce/blueprint_layout/milestones{/number}","notifications_url":"https://api.github.com/repos/alce/blueprint_layout/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alce/blueprint_layout/labels{/name}"},{"id":1479,"name":"wp_theme_victoria","full_name":"enhiro/wp_theme_victoria","owner":{"login":"enhiro","id":1098,"avatar_url":"https://1.gravatar.com/avatar/1e62788b9ca14d8456b17deaf97f048f?d=https%3A%2F%2Fidenticons.github.com%2Fa5e0ff62be0b08456fc7f1e88812af3d.png","gravatar_id":"1e62788b9ca14d8456b17deaf97f048f","url":"https://api.github.com/users/enhiro","html_url":"https://github.com/enhiro","followers_url":"https://api.github.com/users/enhiro/followers","following_url":"https://api.github.com/users/enhiro/following{/other_user}","gists_url":"https://api.github.com/users/enhiro/gists{/gist_id}","starred_url":"https://api.github.com/users/enhiro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enhiro/subscriptions","organizations_url":"https://api.github.com/users/enhiro/orgs","repos_url":"https://api.github.com/users/enhiro/repos","events_url":"https://api.github.com/users/enhiro/events{/privacy}","received_events_url":"https://api.github.com/users/enhiro/received_events","type":"User"},"private":false,"html_url":"https://github.com/enhiro/wp_theme_victoria","description":"Tema para wordpress","fork":false,"url":"https://api.github.com/repos/enhiro/wp_theme_victoria","forks_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/forks","keys_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/keys{/key_id}","collaborators_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/teams","hooks_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/hooks","issue_events_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/issues/events{/number}","events_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/events","assignees_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/assignees{/user}","branches_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/branches{/branch}","tags_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/tags","blobs_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/git/refs{/sha}","trees_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/git/trees{/sha}","statuses_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/statuses/{sha}","languages_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/languages","stargazers_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/stargazers","contributors_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/contributors","subscribers_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/subscribers","subscription_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/subscription","commits_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/commits{/sha}","git_commits_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/git/commits{/sha}","comments_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/comments{/number}","issue_comment_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/issues/comments/{number}","contents_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/contents/{+path}","compare_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/compare/{base}...{head}","merges_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/merges","archive_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/downloads","issues_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/issues{/number}","pulls_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/pulls{/number}","milestones_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/milestones{/number}","notifications_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/enhiro/wp_theme_victoria/labels{/name}"},{"id":1482,"name":"cosmo","full_name":"travis/cosmo","owner":{"login":"travis","id":1113,"avatar_url":"https://0.gravatar.com/avatar/1ec6df8a238d0088e58865391c9b5c7f?d=https%3A%2F%2Fidenticons.github.com%2F9c3b1830513cc3b8fc4b76635d32e692.png","gravatar_id":"1ec6df8a238d0088e58865391c9b5c7f","url":"https://api.github.com/users/travis","html_url":"https://github.com/travis","followers_url":"https://api.github.com/users/travis/followers","following_url":"https://api.github.com/users/travis/following{/other_user}","gists_url":"https://api.github.com/users/travis/gists{/gist_id}","starred_url":"https://api.github.com/users/travis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/travis/subscriptions","organizations_url":"https://api.github.com/users/travis/orgs","repos_url":"https://api.github.com/users/travis/repos","events_url":"https://api.github.com/users/travis/events{/privacy}","received_events_url":"https://api.github.com/users/travis/received_events","type":"User"},"private":false,"html_url":"https://github.com/travis/cosmo","description":"Travis Vachon's clone of the Cosmo Subversion tree","fork":false,"url":"https://api.github.com/repos/travis/cosmo","forks_url":"https://api.github.com/repos/travis/cosmo/forks","keys_url":"https://api.github.com/repos/travis/cosmo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/travis/cosmo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/travis/cosmo/teams","hooks_url":"https://api.github.com/repos/travis/cosmo/hooks","issue_events_url":"https://api.github.com/repos/travis/cosmo/issues/events{/number}","events_url":"https://api.github.com/repos/travis/cosmo/events","assignees_url":"https://api.github.com/repos/travis/cosmo/assignees{/user}","branches_url":"https://api.github.com/repos/travis/cosmo/branches{/branch}","tags_url":"https://api.github.com/repos/travis/cosmo/tags","blobs_url":"https://api.github.com/repos/travis/cosmo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/travis/cosmo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/travis/cosmo/git/refs{/sha}","trees_url":"https://api.github.com/repos/travis/cosmo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/travis/cosmo/statuses/{sha}","languages_url":"https://api.github.com/repos/travis/cosmo/languages","stargazers_url":"https://api.github.com/repos/travis/cosmo/stargazers","contributors_url":"https://api.github.com/repos/travis/cosmo/contributors","subscribers_url":"https://api.github.com/repos/travis/cosmo/subscribers","subscription_url":"https://api.github.com/repos/travis/cosmo/subscription","commits_url":"https://api.github.com/repos/travis/cosmo/commits{/sha}","git_commits_url":"https://api.github.com/repos/travis/cosmo/git/commits{/sha}","comments_url":"https://api.github.com/repos/travis/cosmo/comments{/number}","issue_comment_url":"https://api.github.com/repos/travis/cosmo/issues/comments/{number}","contents_url":"https://api.github.com/repos/travis/cosmo/contents/{+path}","compare_url":"https://api.github.com/repos/travis/cosmo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/travis/cosmo/merges","archive_url":"https://api.github.com/repos/travis/cosmo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/travis/cosmo/downloads","issues_url":"https://api.github.com/repos/travis/cosmo/issues{/number}","pulls_url":"https://api.github.com/repos/travis/cosmo/pulls{/number}","milestones_url":"https://api.github.com/repos/travis/cosmo/milestones{/number}","notifications_url":"https://api.github.com/repos/travis/cosmo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/travis/cosmo/labels{/name}"},{"id":1490,"name":"fogbugz-svnhook","full_name":"francois/fogbugz-svnhook","owner":{"login":"francois","id":247,"avatar_url":"https://0.gravatar.com/avatar/7da32f740e64088d2b07c277f3c1b94b?d=https%3A%2F%2Fidenticons.github.com%2F3cec07e9ba5f5bb252d13f5f431e4bbb.png","gravatar_id":"7da32f740e64088d2b07c277f3c1b94b","url":"https://api.github.com/users/francois","html_url":"https://github.com/francois","followers_url":"https://api.github.com/users/francois/followers","following_url":"https://api.github.com/users/francois/following{/other_user}","gists_url":"https://api.github.com/users/francois/gists{/gist_id}","starred_url":"https://api.github.com/users/francois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/francois/subscriptions","organizations_url":"https://api.github.com/users/francois/orgs","repos_url":"https://api.github.com/users/francois/repos","events_url":"https://api.github.com/users/francois/events{/privacy}","received_events_url":"https://api.github.com/users/francois/received_events","type":"User"},"private":false,"html_url":"https://github.com/francois/fogbugz-svnhook","description":"A Subversion post-commit hook that will edit FogBugz cases using Trac-like keywords","fork":false,"url":"https://api.github.com/repos/francois/fogbugz-svnhook","forks_url":"https://api.github.com/repos/francois/fogbugz-svnhook/forks","keys_url":"https://api.github.com/repos/francois/fogbugz-svnhook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/francois/fogbugz-svnhook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/francois/fogbugz-svnhook/teams","hooks_url":"https://api.github.com/repos/francois/fogbugz-svnhook/hooks","issue_events_url":"https://api.github.com/repos/francois/fogbugz-svnhook/issues/events{/number}","events_url":"https://api.github.com/repos/francois/fogbugz-svnhook/events","assignees_url":"https://api.github.com/repos/francois/fogbugz-svnhook/assignees{/user}","branches_url":"https://api.github.com/repos/francois/fogbugz-svnhook/branches{/branch}","tags_url":"https://api.github.com/repos/francois/fogbugz-svnhook/tags","blobs_url":"https://api.github.com/repos/francois/fogbugz-svnhook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/francois/fogbugz-svnhook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/francois/fogbugz-svnhook/git/refs{/sha}","trees_url":"https://api.github.com/repos/francois/fogbugz-svnhook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/francois/fogbugz-svnhook/statuses/{sha}","languages_url":"https://api.github.com/repos/francois/fogbugz-svnhook/languages","stargazers_url":"https://api.github.com/repos/francois/fogbugz-svnhook/stargazers","contributors_url":"https://api.github.com/repos/francois/fogbugz-svnhook/contributors","subscribers_url":"https://api.github.com/repos/francois/fogbugz-svnhook/subscribers","subscription_url":"https://api.github.com/repos/francois/fogbugz-svnhook/subscription","commits_url":"https://api.github.com/repos/francois/fogbugz-svnhook/commits{/sha}","git_commits_url":"https://api.github.com/repos/francois/fogbugz-svnhook/git/commits{/sha}","comments_url":"https://api.github.com/repos/francois/fogbugz-svnhook/comments{/number}","issue_comment_url":"https://api.github.com/repos/francois/fogbugz-svnhook/issues/comments/{number}","contents_url":"https://api.github.com/repos/francois/fogbugz-svnhook/contents/{+path}","compare_url":"https://api.github.com/repos/francois/fogbugz-svnhook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/francois/fogbugz-svnhook/merges","archive_url":"https://api.github.com/repos/francois/fogbugz-svnhook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/francois/fogbugz-svnhook/downloads","issues_url":"https://api.github.com/repos/francois/fogbugz-svnhook/issues{/number}","pulls_url":"https://api.github.com/repos/francois/fogbugz-svnhook/pulls{/number}","milestones_url":"https://api.github.com/repos/francois/fogbugz-svnhook/milestones{/number}","notifications_url":"https://api.github.com/repos/francois/fogbugz-svnhook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/francois/fogbugz-svnhook/labels{/name}"},{"id":1494,"name":"haml","full_name":"mislav/haml","owner":{"login":"mislav","id":887,"avatar_url":"https://0.gravatar.com/avatar/8f93a872e399bc1353cc8d4e791d5401?d=https%3A%2F%2Fidenticons.github.com%2F7ce3284b743aefde80ffd9aec500e085.png","gravatar_id":"8f93a872e399bc1353cc8d4e791d5401","url":"https://api.github.com/users/mislav","html_url":"https://github.com/mislav","followers_url":"https://api.github.com/users/mislav/followers","following_url":"https://api.github.com/users/mislav/following{/other_user}","gists_url":"https://api.github.com/users/mislav/gists{/gist_id}","starred_url":"https://api.github.com/users/mislav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mislav/subscriptions","organizations_url":"https://api.github.com/users/mislav/orgs","repos_url":"https://api.github.com/users/mislav/repos","events_url":"https://api.github.com/users/mislav/events{/privacy}","received_events_url":"https://api.github.com/users/mislav/received_events","type":"User"},"private":false,"html_url":"https://github.com/mislav/haml","description":"HTML Abstraction Markup Language - A Markup Haiku","fork":true,"url":"https://api.github.com/repos/mislav/haml","forks_url":"https://api.github.com/repos/mislav/haml/forks","keys_url":"https://api.github.com/repos/mislav/haml/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mislav/haml/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mislav/haml/teams","hooks_url":"https://api.github.com/repos/mislav/haml/hooks","issue_events_url":"https://api.github.com/repos/mislav/haml/issues/events{/number}","events_url":"https://api.github.com/repos/mislav/haml/events","assignees_url":"https://api.github.com/repos/mislav/haml/assignees{/user}","branches_url":"https://api.github.com/repos/mislav/haml/branches{/branch}","tags_url":"https://api.github.com/repos/mislav/haml/tags","blobs_url":"https://api.github.com/repos/mislav/haml/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mislav/haml/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mislav/haml/git/refs{/sha}","trees_url":"https://api.github.com/repos/mislav/haml/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mislav/haml/statuses/{sha}","languages_url":"https://api.github.com/repos/mislav/haml/languages","stargazers_url":"https://api.github.com/repos/mislav/haml/stargazers","contributors_url":"https://api.github.com/repos/mislav/haml/contributors","subscribers_url":"https://api.github.com/repos/mislav/haml/subscribers","subscription_url":"https://api.github.com/repos/mislav/haml/subscription","commits_url":"https://api.github.com/repos/mislav/haml/commits{/sha}","git_commits_url":"https://api.github.com/repos/mislav/haml/git/commits{/sha}","comments_url":"https://api.github.com/repos/mislav/haml/comments{/number}","issue_comment_url":"https://api.github.com/repos/mislav/haml/issues/comments/{number}","contents_url":"https://api.github.com/repos/mislav/haml/contents/{+path}","compare_url":"https://api.github.com/repos/mislav/haml/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mislav/haml/merges","archive_url":"https://api.github.com/repos/mislav/haml/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mislav/haml/downloads","issues_url":"https://api.github.com/repos/mislav/haml/issues{/number}","pulls_url":"https://api.github.com/repos/mislav/haml/pulls{/number}","milestones_url":"https://api.github.com/repos/mislav/haml/milestones{/number}","notifications_url":"https://api.github.com/repos/mislav/haml/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mislav/haml/labels{/name}"},{"id":1499,"name":"quicktest","full_name":"gregwebs/quicktest","owner":{"login":"gregwebs","id":1183,"avatar_url":"https://1.gravatar.com/avatar/bad65d3d7319025d73e065d7a29ee22a?d=https%3A%2F%2Fidenticons.github.com%2F0e095e054ee94774d6a496099eb1cf6a.png","gravatar_id":"bad65d3d7319025d73e065d7a29ee22a","url":"https://api.github.com/users/gregwebs","html_url":"https://github.com/gregwebs","followers_url":"https://api.github.com/users/gregwebs/followers","following_url":"https://api.github.com/users/gregwebs/following{/other_user}","gists_url":"https://api.github.com/users/gregwebs/gists{/gist_id}","starred_url":"https://api.github.com/users/gregwebs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregwebs/subscriptions","organizations_url":"https://api.github.com/users/gregwebs/orgs","repos_url":"https://api.github.com/users/gregwebs/repos","events_url":"https://api.github.com/users/gregwebs/events{/privacy}","received_events_url":"https://api.github.com/users/gregwebs/received_events","type":"User"},"private":false,"html_url":"https://github.com/gregwebs/quicktest","description":"Utility for inlining unit tests with the code under test.","fork":false,"url":"https://api.github.com/repos/gregwebs/quicktest","forks_url":"https://api.github.com/repos/gregwebs/quicktest/forks","keys_url":"https://api.github.com/repos/gregwebs/quicktest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gregwebs/quicktest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gregwebs/quicktest/teams","hooks_url":"https://api.github.com/repos/gregwebs/quicktest/hooks","issue_events_url":"https://api.github.com/repos/gregwebs/quicktest/issues/events{/number}","events_url":"https://api.github.com/repos/gregwebs/quicktest/events","assignees_url":"https://api.github.com/repos/gregwebs/quicktest/assignees{/user}","branches_url":"https://api.github.com/repos/gregwebs/quicktest/branches{/branch}","tags_url":"https://api.github.com/repos/gregwebs/quicktest/tags","blobs_url":"https://api.github.com/repos/gregwebs/quicktest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gregwebs/quicktest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gregwebs/quicktest/git/refs{/sha}","trees_url":"https://api.github.com/repos/gregwebs/quicktest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gregwebs/quicktest/statuses/{sha}","languages_url":"https://api.github.com/repos/gregwebs/quicktest/languages","stargazers_url":"https://api.github.com/repos/gregwebs/quicktest/stargazers","contributors_url":"https://api.github.com/repos/gregwebs/quicktest/contributors","subscribers_url":"https://api.github.com/repos/gregwebs/quicktest/subscribers","subscription_url":"https://api.github.com/repos/gregwebs/quicktest/subscription","commits_url":"https://api.github.com/repos/gregwebs/quicktest/commits{/sha}","git_commits_url":"https://api.github.com/repos/gregwebs/quicktest/git/commits{/sha}","comments_url":"https://api.github.com/repos/gregwebs/quicktest/comments{/number}","issue_comment_url":"https://api.github.com/repos/gregwebs/quicktest/issues/comments/{number}","contents_url":"https://api.github.com/repos/gregwebs/quicktest/contents/{+path}","compare_url":"https://api.github.com/repos/gregwebs/quicktest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gregwebs/quicktest/merges","archive_url":"https://api.github.com/repos/gregwebs/quicktest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gregwebs/quicktest/downloads","issues_url":"https://api.github.com/repos/gregwebs/quicktest/issues{/number}","pulls_url":"https://api.github.com/repos/gregwebs/quicktest/pulls{/number}","milestones_url":"https://api.github.com/repos/gregwebs/quicktest/milestones{/number}","notifications_url":"https://api.github.com/repos/gregwebs/quicktest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gregwebs/quicktest/labels{/name}"},{"id":1511,"name":"getfamilliarwithgit","full_name":"bcbroom/getfamilliarwithgit","owner":{"login":"bcbroom","id":1240,"avatar_url":"https://1.gravatar.com/avatar/72ddd6509156a7dd3c301b87a46c5219?d=https%3A%2F%2Fidenticons.github.com%2Fa9078e8653368c9c291ae2f8b74012e7.png","gravatar_id":"72ddd6509156a7dd3c301b87a46c5219","url":"https://api.github.com/users/bcbroom","html_url":"https://github.com/bcbroom","followers_url":"https://api.github.com/users/bcbroom/followers","following_url":"https://api.github.com/users/bcbroom/following{/other_user}","gists_url":"https://api.github.com/users/bcbroom/gists{/gist_id}","starred_url":"https://api.github.com/users/bcbroom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcbroom/subscriptions","organizations_url":"https://api.github.com/users/bcbroom/orgs","repos_url":"https://api.github.com/users/bcbroom/repos","events_url":"https://api.github.com/users/bcbroom/events{/privacy}","received_events_url":"https://api.github.com/users/bcbroom/received_events","type":"User"},"private":false,"html_url":"https://github.com/bcbroom/getfamilliarwithgit","description":"","fork":false,"url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit","forks_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/forks","keys_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/teams","hooks_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/hooks","issue_events_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/issues/events{/number}","events_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/events","assignees_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/assignees{/user}","branches_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/branches{/branch}","tags_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/tags","blobs_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/git/refs{/sha}","trees_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/statuses/{sha}","languages_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/languages","stargazers_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/stargazers","contributors_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/contributors","subscribers_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/subscribers","subscription_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/subscription","commits_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/commits{/sha}","git_commits_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/git/commits{/sha}","comments_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/comments{/number}","issue_comment_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/issues/comments/{number}","contents_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/contents/{+path}","compare_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/merges","archive_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/downloads","issues_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/issues{/number}","pulls_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/pulls{/number}","milestones_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/milestones{/number}","notifications_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bcbroom/getfamilliarwithgit/labels{/name}"},{"id":1512,"name":"stor","full_name":"qartis/stor","owner":{"login":"qartis","id":1253,"avatar_url":"https://2.gravatar.com/avatar/1b2c7498c940fe0af16e0408af8eb02c?d=https%3A%2F%2Fidenticons.github.com%2Fb495ce63ede0f4efc9eec62cb947c162.png","gravatar_id":"1b2c7498c940fe0af16e0408af8eb02c","url":"https://api.github.com/users/qartis","html_url":"https://github.com/qartis","followers_url":"https://api.github.com/users/qartis/followers","following_url":"https://api.github.com/users/qartis/following{/other_user}","gists_url":"https://api.github.com/users/qartis/gists{/gist_id}","starred_url":"https://api.github.com/users/qartis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qartis/subscriptions","organizations_url":"https://api.github.com/users/qartis/orgs","repos_url":"https://api.github.com/users/qartis/repos","events_url":"https://api.github.com/users/qartis/events{/privacy}","received_events_url":"https://api.github.com/users/qartis/received_events","type":"User"},"private":false,"html_url":"https://github.com/qartis/stor","description":"stor qt systray applet","fork":false,"url":"https://api.github.com/repos/qartis/stor","forks_url":"https://api.github.com/repos/qartis/stor/forks","keys_url":"https://api.github.com/repos/qartis/stor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/qartis/stor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/qartis/stor/teams","hooks_url":"https://api.github.com/repos/qartis/stor/hooks","issue_events_url":"https://api.github.com/repos/qartis/stor/issues/events{/number}","events_url":"https://api.github.com/repos/qartis/stor/events","assignees_url":"https://api.github.com/repos/qartis/stor/assignees{/user}","branches_url":"https://api.github.com/repos/qartis/stor/branches{/branch}","tags_url":"https://api.github.com/repos/qartis/stor/tags","blobs_url":"https://api.github.com/repos/qartis/stor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/qartis/stor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/qartis/stor/git/refs{/sha}","trees_url":"https://api.github.com/repos/qartis/stor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/qartis/stor/statuses/{sha}","languages_url":"https://api.github.com/repos/qartis/stor/languages","stargazers_url":"https://api.github.com/repos/qartis/stor/stargazers","contributors_url":"https://api.github.com/repos/qartis/stor/contributors","subscribers_url":"https://api.github.com/repos/qartis/stor/subscribers","subscription_url":"https://api.github.com/repos/qartis/stor/subscription","commits_url":"https://api.github.com/repos/qartis/stor/commits{/sha}","git_commits_url":"https://api.github.com/repos/qartis/stor/git/commits{/sha}","comments_url":"https://api.github.com/repos/qartis/stor/comments{/number}","issue_comment_url":"https://api.github.com/repos/qartis/stor/issues/comments/{number}","contents_url":"https://api.github.com/repos/qartis/stor/contents/{+path}","compare_url":"https://api.github.com/repos/qartis/stor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/qartis/stor/merges","archive_url":"https://api.github.com/repos/qartis/stor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/qartis/stor/downloads","issues_url":"https://api.github.com/repos/qartis/stor/issues{/number}","pulls_url":"https://api.github.com/repos/qartis/stor/pulls{/number}","milestones_url":"https://api.github.com/repos/qartis/stor/milestones{/number}","notifications_url":"https://api.github.com/repos/qartis/stor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/qartis/stor/labels{/name}"},{"id":1531,"name":"tonal","full_name":"bobbyrward/tonal","owner":{"login":"bobbyrward","id":1262,"avatar_url":"https://0.gravatar.com/avatar/36455d5ff84898dbba1724694fd32875?d=https%3A%2F%2Fidenticons.github.com%2Fdc4c44f624d600aa568390f1f1104aa0.png","gravatar_id":"36455d5ff84898dbba1724694fd32875","url":"https://api.github.com/users/bobbyrward","html_url":"https://github.com/bobbyrward","followers_url":"https://api.github.com/users/bobbyrward/followers","following_url":"https://api.github.com/users/bobbyrward/following{/other_user}","gists_url":"https://api.github.com/users/bobbyrward/gists{/gist_id}","starred_url":"https://api.github.com/users/bobbyrward/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bobbyrward/subscriptions","organizations_url":"https://api.github.com/users/bobbyrward/orgs","repos_url":"https://api.github.com/users/bobbyrward/repos","events_url":"https://api.github.com/users/bobbyrward/events{/privacy}","received_events_url":"https://api.github.com/users/bobbyrward/received_events","type":"User"},"private":false,"html_url":"https://github.com/bobbyrward/tonal","description":"A cross platform media player using wxPython and pyglet","fork":false,"url":"https://api.github.com/repos/bobbyrward/tonal","forks_url":"https://api.github.com/repos/bobbyrward/tonal/forks","keys_url":"https://api.github.com/repos/bobbyrward/tonal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bobbyrward/tonal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bobbyrward/tonal/teams","hooks_url":"https://api.github.com/repos/bobbyrward/tonal/hooks","issue_events_url":"https://api.github.com/repos/bobbyrward/tonal/issues/events{/number}","events_url":"https://api.github.com/repos/bobbyrward/tonal/events","assignees_url":"https://api.github.com/repos/bobbyrward/tonal/assignees{/user}","branches_url":"https://api.github.com/repos/bobbyrward/tonal/branches{/branch}","tags_url":"https://api.github.com/repos/bobbyrward/tonal/tags","blobs_url":"https://api.github.com/repos/bobbyrward/tonal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bobbyrward/tonal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bobbyrward/tonal/git/refs{/sha}","trees_url":"https://api.github.com/repos/bobbyrward/tonal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bobbyrward/tonal/statuses/{sha}","languages_url":"https://api.github.com/repos/bobbyrward/tonal/languages","stargazers_url":"https://api.github.com/repos/bobbyrward/tonal/stargazers","contributors_url":"https://api.github.com/repos/bobbyrward/tonal/contributors","subscribers_url":"https://api.github.com/repos/bobbyrward/tonal/subscribers","subscription_url":"https://api.github.com/repos/bobbyrward/tonal/subscription","commits_url":"https://api.github.com/repos/bobbyrward/tonal/commits{/sha}","git_commits_url":"https://api.github.com/repos/bobbyrward/tonal/git/commits{/sha}","comments_url":"https://api.github.com/repos/bobbyrward/tonal/comments{/number}","issue_comment_url":"https://api.github.com/repos/bobbyrward/tonal/issues/comments/{number}","contents_url":"https://api.github.com/repos/bobbyrward/tonal/contents/{+path}","compare_url":"https://api.github.com/repos/bobbyrward/tonal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bobbyrward/tonal/merges","archive_url":"https://api.github.com/repos/bobbyrward/tonal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bobbyrward/tonal/downloads","issues_url":"https://api.github.com/repos/bobbyrward/tonal/issues{/number}","pulls_url":"https://api.github.com/repos/bobbyrward/tonal/pulls{/number}","milestones_url":"https://api.github.com/repos/bobbyrward/tonal/milestones{/number}","notifications_url":"https://api.github.com/repos/bobbyrward/tonal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bobbyrward/tonal/labels{/name}"},{"id":1537,"name":"axiom","full_name":"daly/axiom","owner":{"login":"daly","id":1325,"avatar_url":"https://0.gravatar.com/avatar/b99e76fb0ce8c7c5093ffc6bde1d07c9?d=https%3A%2F%2Fidenticons.github.com%2F3546ab441e56fa333f8b44b610d95691.png","gravatar_id":"b99e76fb0ce8c7c5093ffc6bde1d07c9","url":"https://api.github.com/users/daly","html_url":"https://github.com/daly","followers_url":"https://api.github.com/users/daly/followers","following_url":"https://api.github.com/users/daly/following{/other_user}","gists_url":"https://api.github.com/users/daly/gists{/gist_id}","starred_url":"https://api.github.com/users/daly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daly/subscriptions","organizations_url":"https://api.github.com/users/daly/orgs","repos_url":"https://api.github.com/users/daly/repos","events_url":"https://api.github.com/users/daly/events{/privacy}","received_events_url":"https://api.github.com/users/daly/received_events","type":"User"},"private":false,"html_url":"https://github.com/daly/axiom","description":"Axiom is a free, open source computer algebra system","fork":false,"url":"https://api.github.com/repos/daly/axiom","forks_url":"https://api.github.com/repos/daly/axiom/forks","keys_url":"https://api.github.com/repos/daly/axiom/keys{/key_id}","collaborators_url":"https://api.github.com/repos/daly/axiom/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/daly/axiom/teams","hooks_url":"https://api.github.com/repos/daly/axiom/hooks","issue_events_url":"https://api.github.com/repos/daly/axiom/issues/events{/number}","events_url":"https://api.github.com/repos/daly/axiom/events","assignees_url":"https://api.github.com/repos/daly/axiom/assignees{/user}","branches_url":"https://api.github.com/repos/daly/axiom/branches{/branch}","tags_url":"https://api.github.com/repos/daly/axiom/tags","blobs_url":"https://api.github.com/repos/daly/axiom/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/daly/axiom/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/daly/axiom/git/refs{/sha}","trees_url":"https://api.github.com/repos/daly/axiom/git/trees{/sha}","statuses_url":"https://api.github.com/repos/daly/axiom/statuses/{sha}","languages_url":"https://api.github.com/repos/daly/axiom/languages","stargazers_url":"https://api.github.com/repos/daly/axiom/stargazers","contributors_url":"https://api.github.com/repos/daly/axiom/contributors","subscribers_url":"https://api.github.com/repos/daly/axiom/subscribers","subscription_url":"https://api.github.com/repos/daly/axiom/subscription","commits_url":"https://api.github.com/repos/daly/axiom/commits{/sha}","git_commits_url":"https://api.github.com/repos/daly/axiom/git/commits{/sha}","comments_url":"https://api.github.com/repos/daly/axiom/comments{/number}","issue_comment_url":"https://api.github.com/repos/daly/axiom/issues/comments/{number}","contents_url":"https://api.github.com/repos/daly/axiom/contents/{+path}","compare_url":"https://api.github.com/repos/daly/axiom/compare/{base}...{head}","merges_url":"https://api.github.com/repos/daly/axiom/merges","archive_url":"https://api.github.com/repos/daly/axiom/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/daly/axiom/downloads","issues_url":"https://api.github.com/repos/daly/axiom/issues{/number}","pulls_url":"https://api.github.com/repos/daly/axiom/pulls{/number}","milestones_url":"https://api.github.com/repos/daly/axiom/milestones{/number}","notifications_url":"https://api.github.com/repos/daly/axiom/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/daly/axiom/labels{/name}"},{"id":1540,"name":"deal","full_name":"wavydavy/deal","owner":{"login":"wavydavy","id":1042,"avatar_url":"https://1.gravatar.com/avatar/771b7a3bcfb5cac42aa4de59499be72c?d=https%3A%2F%2Fidenticons.github.com%2F9ac403da7947a183884c18a67d3aa8de.png","gravatar_id":"771b7a3bcfb5cac42aa4de59499be72c","url":"https://api.github.com/users/wavydavy","html_url":"https://github.com/wavydavy","followers_url":"https://api.github.com/users/wavydavy/followers","following_url":"https://api.github.com/users/wavydavy/following{/other_user}","gists_url":"https://api.github.com/users/wavydavy/gists{/gist_id}","starred_url":"https://api.github.com/users/wavydavy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavydavy/subscriptions","organizations_url":"https://api.github.com/users/wavydavy/orgs","repos_url":"https://api.github.com/users/wavydavy/repos","events_url":"https://api.github.com/users/wavydavy/events{/privacy}","received_events_url":"https://api.github.com/users/wavydavy/received_events","type":"User"},"private":false,"html_url":"https://github.com/wavydavy/deal","description":"A SimPy simulation for a fully Decentralised Economic ALlocation mechansim","fork":false,"url":"https://api.github.com/repos/wavydavy/deal","forks_url":"https://api.github.com/repos/wavydavy/deal/forks","keys_url":"https://api.github.com/repos/wavydavy/deal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wavydavy/deal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wavydavy/deal/teams","hooks_url":"https://api.github.com/repos/wavydavy/deal/hooks","issue_events_url":"https://api.github.com/repos/wavydavy/deal/issues/events{/number}","events_url":"https://api.github.com/repos/wavydavy/deal/events","assignees_url":"https://api.github.com/repos/wavydavy/deal/assignees{/user}","branches_url":"https://api.github.com/repos/wavydavy/deal/branches{/branch}","tags_url":"https://api.github.com/repos/wavydavy/deal/tags","blobs_url":"https://api.github.com/repos/wavydavy/deal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wavydavy/deal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wavydavy/deal/git/refs{/sha}","trees_url":"https://api.github.com/repos/wavydavy/deal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wavydavy/deal/statuses/{sha}","languages_url":"https://api.github.com/repos/wavydavy/deal/languages","stargazers_url":"https://api.github.com/repos/wavydavy/deal/stargazers","contributors_url":"https://api.github.com/repos/wavydavy/deal/contributors","subscribers_url":"https://api.github.com/repos/wavydavy/deal/subscribers","subscription_url":"https://api.github.com/repos/wavydavy/deal/subscription","commits_url":"https://api.github.com/repos/wavydavy/deal/commits{/sha}","git_commits_url":"https://api.github.com/repos/wavydavy/deal/git/commits{/sha}","comments_url":"https://api.github.com/repos/wavydavy/deal/comments{/number}","issue_comment_url":"https://api.github.com/repos/wavydavy/deal/issues/comments/{number}","contents_url":"https://api.github.com/repos/wavydavy/deal/contents/{+path}","compare_url":"https://api.github.com/repos/wavydavy/deal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wavydavy/deal/merges","archive_url":"https://api.github.com/repos/wavydavy/deal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wavydavy/deal/downloads","issues_url":"https://api.github.com/repos/wavydavy/deal/issues{/number}","pulls_url":"https://api.github.com/repos/wavydavy/deal/pulls{/number}","milestones_url":"https://api.github.com/repos/wavydavy/deal/milestones{/number}","notifications_url":"https://api.github.com/repos/wavydavy/deal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wavydavy/deal/labels{/name}"},{"id":1549,"name":"test","full_name":"tphyahoo/test","owner":{"login":"tphyahoo","id":1337,"avatar_url":"https://1.gravatar.com/avatar/33fab7467f144391d68e0115a959ebbb?d=https%3A%2F%2Fidenticons.github.com%2Fe48e13207341b6bffb7fb1622282247b.png","gravatar_id":"33fab7467f144391d68e0115a959ebbb","url":"https://api.github.com/users/tphyahoo","html_url":"https://github.com/tphyahoo","followers_url":"https://api.github.com/users/tphyahoo/followers","following_url":"https://api.github.com/users/tphyahoo/following{/other_user}","gists_url":"https://api.github.com/users/tphyahoo/gists{/gist_id}","starred_url":"https://api.github.com/users/tphyahoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tphyahoo/subscriptions","organizations_url":"https://api.github.com/users/tphyahoo/orgs","repos_url":"https://api.github.com/users/tphyahoo/repos","events_url":"https://api.github.com/users/tphyahoo/events{/privacy}","received_events_url":"https://api.github.com/users/tphyahoo/received_events","type":"User"},"private":false,"html_url":"https://github.com/tphyahoo/test","description":"test","fork":false,"url":"https://api.github.com/repos/tphyahoo/test","forks_url":"https://api.github.com/repos/tphyahoo/test/forks","keys_url":"https://api.github.com/repos/tphyahoo/test/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tphyahoo/test/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tphyahoo/test/teams","hooks_url":"https://api.github.com/repos/tphyahoo/test/hooks","issue_events_url":"https://api.github.com/repos/tphyahoo/test/issues/events{/number}","events_url":"https://api.github.com/repos/tphyahoo/test/events","assignees_url":"https://api.github.com/repos/tphyahoo/test/assignees{/user}","branches_url":"https://api.github.com/repos/tphyahoo/test/branches{/branch}","tags_url":"https://api.github.com/repos/tphyahoo/test/tags","blobs_url":"https://api.github.com/repos/tphyahoo/test/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tphyahoo/test/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tphyahoo/test/git/refs{/sha}","trees_url":"https://api.github.com/repos/tphyahoo/test/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tphyahoo/test/statuses/{sha}","languages_url":"https://api.github.com/repos/tphyahoo/test/languages","stargazers_url":"https://api.github.com/repos/tphyahoo/test/stargazers","contributors_url":"https://api.github.com/repos/tphyahoo/test/contributors","subscribers_url":"https://api.github.com/repos/tphyahoo/test/subscribers","subscription_url":"https://api.github.com/repos/tphyahoo/test/subscription","commits_url":"https://api.github.com/repos/tphyahoo/test/commits{/sha}","git_commits_url":"https://api.github.com/repos/tphyahoo/test/git/commits{/sha}","comments_url":"https://api.github.com/repos/tphyahoo/test/comments{/number}","issue_comment_url":"https://api.github.com/repos/tphyahoo/test/issues/comments/{number}","contents_url":"https://api.github.com/repos/tphyahoo/test/contents/{+path}","compare_url":"https://api.github.com/repos/tphyahoo/test/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tphyahoo/test/merges","archive_url":"https://api.github.com/repos/tphyahoo/test/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tphyahoo/test/downloads","issues_url":"https://api.github.com/repos/tphyahoo/test/issues{/number}","pulls_url":"https://api.github.com/repos/tphyahoo/test/pulls{/number}","milestones_url":"https://api.github.com/repos/tphyahoo/test/milestones{/number}","notifications_url":"https://api.github.com/repos/tphyahoo/test/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tphyahoo/test/labels{/name}"},{"id":1553,"name":"knuff","full_name":"jesper/knuff","owner":{"login":"jesper","id":1334,"avatar_url":"https://0.gravatar.com/avatar/c8612f9313ed7f88f79349b27fd19e55?d=https%3A%2F%2Fidenticons.github.com%2F8edd72158ccd2a879f79cb2538568fdc.png","gravatar_id":"c8612f9313ed7f88f79349b27fd19e55","url":"https://api.github.com/users/jesper","html_url":"https://github.com/jesper","followers_url":"https://api.github.com/users/jesper/followers","following_url":"https://api.github.com/users/jesper/following{/other_user}","gists_url":"https://api.github.com/users/jesper/gists{/gist_id}","starred_url":"https://api.github.com/users/jesper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesper/subscriptions","organizations_url":"https://api.github.com/users/jesper/orgs","repos_url":"https://api.github.com/users/jesper/repos","events_url":"https://api.github.com/users/jesper/events{/privacy}","received_events_url":"https://api.github.com/users/jesper/received_events","type":"User"},"private":false,"html_url":"https://github.com/jesper/knuff","description":"A simple game revolving around pushing circles around on a table like surface.","fork":false,"url":"https://api.github.com/repos/jesper/knuff","forks_url":"https://api.github.com/repos/jesper/knuff/forks","keys_url":"https://api.github.com/repos/jesper/knuff/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jesper/knuff/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jesper/knuff/teams","hooks_url":"https://api.github.com/repos/jesper/knuff/hooks","issue_events_url":"https://api.github.com/repos/jesper/knuff/issues/events{/number}","events_url":"https://api.github.com/repos/jesper/knuff/events","assignees_url":"https://api.github.com/repos/jesper/knuff/assignees{/user}","branches_url":"https://api.github.com/repos/jesper/knuff/branches{/branch}","tags_url":"https://api.github.com/repos/jesper/knuff/tags","blobs_url":"https://api.github.com/repos/jesper/knuff/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jesper/knuff/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jesper/knuff/git/refs{/sha}","trees_url":"https://api.github.com/repos/jesper/knuff/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jesper/knuff/statuses/{sha}","languages_url":"https://api.github.com/repos/jesper/knuff/languages","stargazers_url":"https://api.github.com/repos/jesper/knuff/stargazers","contributors_url":"https://api.github.com/repos/jesper/knuff/contributors","subscribers_url":"https://api.github.com/repos/jesper/knuff/subscribers","subscription_url":"https://api.github.com/repos/jesper/knuff/subscription","commits_url":"https://api.github.com/repos/jesper/knuff/commits{/sha}","git_commits_url":"https://api.github.com/repos/jesper/knuff/git/commits{/sha}","comments_url":"https://api.github.com/repos/jesper/knuff/comments{/number}","issue_comment_url":"https://api.github.com/repos/jesper/knuff/issues/comments/{number}","contents_url":"https://api.github.com/repos/jesper/knuff/contents/{+path}","compare_url":"https://api.github.com/repos/jesper/knuff/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jesper/knuff/merges","archive_url":"https://api.github.com/repos/jesper/knuff/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jesper/knuff/downloads","issues_url":"https://api.github.com/repos/jesper/knuff/issues{/number}","pulls_url":"https://api.github.com/repos/jesper/knuff/pulls{/number}","milestones_url":"https://api.github.com/repos/jesper/knuff/milestones{/number}","notifications_url":"https://api.github.com/repos/jesper/knuff/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jesper/knuff/labels{/name}"},{"id":1558,"name":"testprj","full_name":"Judeqiu/testprj","owner":{"login":"Judeqiu","id":1353,"avatar_url":"https://2.gravatar.com/avatar/6fd8df9678eb77f4d1767ccdccdc7dd0?d=https%3A%2F%2Fidenticons.github.com%2Fee8374ec4e4ad797d42350c904d73077.png","gravatar_id":"6fd8df9678eb77f4d1767ccdccdc7dd0","url":"https://api.github.com/users/Judeqiu","html_url":"https://github.com/Judeqiu","followers_url":"https://api.github.com/users/Judeqiu/followers","following_url":"https://api.github.com/users/Judeqiu/following{/other_user}","gists_url":"https://api.github.com/users/Judeqiu/gists{/gist_id}","starred_url":"https://api.github.com/users/Judeqiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Judeqiu/subscriptions","organizations_url":"https://api.github.com/users/Judeqiu/orgs","repos_url":"https://api.github.com/users/Judeqiu/repos","events_url":"https://api.github.com/users/Judeqiu/events{/privacy}","received_events_url":"https://api.github.com/users/Judeqiu/received_events","type":"User"},"private":false,"html_url":"https://github.com/Judeqiu/testprj","description":"","fork":false,"url":"https://api.github.com/repos/Judeqiu/testprj","forks_url":"https://api.github.com/repos/Judeqiu/testprj/forks","keys_url":"https://api.github.com/repos/Judeqiu/testprj/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Judeqiu/testprj/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Judeqiu/testprj/teams","hooks_url":"https://api.github.com/repos/Judeqiu/testprj/hooks","issue_events_url":"https://api.github.com/repos/Judeqiu/testprj/issues/events{/number}","events_url":"https://api.github.com/repos/Judeqiu/testprj/events","assignees_url":"https://api.github.com/repos/Judeqiu/testprj/assignees{/user}","branches_url":"https://api.github.com/repos/Judeqiu/testprj/branches{/branch}","tags_url":"https://api.github.com/repos/Judeqiu/testprj/tags","blobs_url":"https://api.github.com/repos/Judeqiu/testprj/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Judeqiu/testprj/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Judeqiu/testprj/git/refs{/sha}","trees_url":"https://api.github.com/repos/Judeqiu/testprj/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Judeqiu/testprj/statuses/{sha}","languages_url":"https://api.github.com/repos/Judeqiu/testprj/languages","stargazers_url":"https://api.github.com/repos/Judeqiu/testprj/stargazers","contributors_url":"https://api.github.com/repos/Judeqiu/testprj/contributors","subscribers_url":"https://api.github.com/repos/Judeqiu/testprj/subscribers","subscription_url":"https://api.github.com/repos/Judeqiu/testprj/subscription","commits_url":"https://api.github.com/repos/Judeqiu/testprj/commits{/sha}","git_commits_url":"https://api.github.com/repos/Judeqiu/testprj/git/commits{/sha}","comments_url":"https://api.github.com/repos/Judeqiu/testprj/comments{/number}","issue_comment_url":"https://api.github.com/repos/Judeqiu/testprj/issues/comments/{number}","contents_url":"https://api.github.com/repos/Judeqiu/testprj/contents/{+path}","compare_url":"https://api.github.com/repos/Judeqiu/testprj/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Judeqiu/testprj/merges","archive_url":"https://api.github.com/repos/Judeqiu/testprj/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Judeqiu/testprj/downloads","issues_url":"https://api.github.com/repos/Judeqiu/testprj/issues{/number}","pulls_url":"https://api.github.com/repos/Judeqiu/testprj/pulls{/number}","milestones_url":"https://api.github.com/repos/Judeqiu/testprj/milestones{/number}","notifications_url":"https://api.github.com/repos/Judeqiu/testprj/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Judeqiu/testprj/labels{/name}"},{"id":1559,"name":"gazelle","full_name":"haberman/gazelle","owner":{"login":"haberman","id":1270,"avatar_url":"https://1.gravatar.com/avatar/35921adc4b1c0d7839fe8350e2429a68?d=https%3A%2F%2Fidenticons.github.com%2Fc850371fda6892fbfd1c5a5b457e5777.png","gravatar_id":"35921adc4b1c0d7839fe8350e2429a68","url":"https://api.github.com/users/haberman","html_url":"https://github.com/haberman","followers_url":"https://api.github.com/users/haberman/followers","following_url":"https://api.github.com/users/haberman/following{/other_user}","gists_url":"https://api.github.com/users/haberman/gists{/gist_id}","starred_url":"https://api.github.com/users/haberman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haberman/subscriptions","organizations_url":"https://api.github.com/users/haberman/orgs","repos_url":"https://api.github.com/users/haberman/repos","events_url":"https://api.github.com/users/haberman/events{/privacy}","received_events_url":"https://api.github.com/users/haberman/received_events","type":"User"},"private":false,"html_url":"https://github.com/haberman/gazelle","description":"A system for creating fast, reusable parsers","fork":false,"url":"https://api.github.com/repos/haberman/gazelle","forks_url":"https://api.github.com/repos/haberman/gazelle/forks","keys_url":"https://api.github.com/repos/haberman/gazelle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haberman/gazelle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haberman/gazelle/teams","hooks_url":"https://api.github.com/repos/haberman/gazelle/hooks","issue_events_url":"https://api.github.com/repos/haberman/gazelle/issues/events{/number}","events_url":"https://api.github.com/repos/haberman/gazelle/events","assignees_url":"https://api.github.com/repos/haberman/gazelle/assignees{/user}","branches_url":"https://api.github.com/repos/haberman/gazelle/branches{/branch}","tags_url":"https://api.github.com/repos/haberman/gazelle/tags","blobs_url":"https://api.github.com/repos/haberman/gazelle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haberman/gazelle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haberman/gazelle/git/refs{/sha}","trees_url":"https://api.github.com/repos/haberman/gazelle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haberman/gazelle/statuses/{sha}","languages_url":"https://api.github.com/repos/haberman/gazelle/languages","stargazers_url":"https://api.github.com/repos/haberman/gazelle/stargazers","contributors_url":"https://api.github.com/repos/haberman/gazelle/contributors","subscribers_url":"https://api.github.com/repos/haberman/gazelle/subscribers","subscription_url":"https://api.github.com/repos/haberman/gazelle/subscription","commits_url":"https://api.github.com/repos/haberman/gazelle/commits{/sha}","git_commits_url":"https://api.github.com/repos/haberman/gazelle/git/commits{/sha}","comments_url":"https://api.github.com/repos/haberman/gazelle/comments{/number}","issue_comment_url":"https://api.github.com/repos/haberman/gazelle/issues/comments/{number}","contents_url":"https://api.github.com/repos/haberman/gazelle/contents/{+path}","compare_url":"https://api.github.com/repos/haberman/gazelle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haberman/gazelle/merges","archive_url":"https://api.github.com/repos/haberman/gazelle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haberman/gazelle/downloads","issues_url":"https://api.github.com/repos/haberman/gazelle/issues{/number}","pulls_url":"https://api.github.com/repos/haberman/gazelle/pulls{/number}","milestones_url":"https://api.github.com/repos/haberman/gazelle/milestones{/number}","notifications_url":"https://api.github.com/repos/haberman/gazelle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haberman/gazelle/labels{/name}"},{"id":1561,"name":"fast-recs-collate","full_name":"haberman/fast-recs-collate","owner":{"login":"haberman","id":1270,"avatar_url":"https://1.gravatar.com/avatar/35921adc4b1c0d7839fe8350e2429a68?d=https%3A%2F%2Fidenticons.github.com%2Fc850371fda6892fbfd1c5a5b457e5777.png","gravatar_id":"35921adc4b1c0d7839fe8350e2429a68","url":"https://api.github.com/users/haberman","html_url":"https://github.com/haberman","followers_url":"https://api.github.com/users/haberman/followers","following_url":"https://api.github.com/users/haberman/following{/other_user}","gists_url":"https://api.github.com/users/haberman/gists{/gist_id}","starred_url":"https://api.github.com/users/haberman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haberman/subscriptions","organizations_url":"https://api.github.com/users/haberman/orgs","repos_url":"https://api.github.com/users/haberman/repos","events_url":"https://api.github.com/users/haberman/events{/privacy}","received_events_url":"https://api.github.com/users/haberman/received_events","type":"User"},"private":false,"html_url":"https://github.com/haberman/fast-recs-collate","description":"A fast version of recs-collate","fork":false,"url":"https://api.github.com/repos/haberman/fast-recs-collate","forks_url":"https://api.github.com/repos/haberman/fast-recs-collate/forks","keys_url":"https://api.github.com/repos/haberman/fast-recs-collate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haberman/fast-recs-collate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haberman/fast-recs-collate/teams","hooks_url":"https://api.github.com/repos/haberman/fast-recs-collate/hooks","issue_events_url":"https://api.github.com/repos/haberman/fast-recs-collate/issues/events{/number}","events_url":"https://api.github.com/repos/haberman/fast-recs-collate/events","assignees_url":"https://api.github.com/repos/haberman/fast-recs-collate/assignees{/user}","branches_url":"https://api.github.com/repos/haberman/fast-recs-collate/branches{/branch}","tags_url":"https://api.github.com/repos/haberman/fast-recs-collate/tags","blobs_url":"https://api.github.com/repos/haberman/fast-recs-collate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haberman/fast-recs-collate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haberman/fast-recs-collate/git/refs{/sha}","trees_url":"https://api.github.com/repos/haberman/fast-recs-collate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haberman/fast-recs-collate/statuses/{sha}","languages_url":"https://api.github.com/repos/haberman/fast-recs-collate/languages","stargazers_url":"https://api.github.com/repos/haberman/fast-recs-collate/stargazers","contributors_url":"https://api.github.com/repos/haberman/fast-recs-collate/contributors","subscribers_url":"https://api.github.com/repos/haberman/fast-recs-collate/subscribers","subscription_url":"https://api.github.com/repos/haberman/fast-recs-collate/subscription","commits_url":"https://api.github.com/repos/haberman/fast-recs-collate/commits{/sha}","git_commits_url":"https://api.github.com/repos/haberman/fast-recs-collate/git/commits{/sha}","comments_url":"https://api.github.com/repos/haberman/fast-recs-collate/comments{/number}","issue_comment_url":"https://api.github.com/repos/haberman/fast-recs-collate/issues/comments/{number}","contents_url":"https://api.github.com/repos/haberman/fast-recs-collate/contents/{+path}","compare_url":"https://api.github.com/repos/haberman/fast-recs-collate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haberman/fast-recs-collate/merges","archive_url":"https://api.github.com/repos/haberman/fast-recs-collate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haberman/fast-recs-collate/downloads","issues_url":"https://api.github.com/repos/haberman/fast-recs-collate/issues{/number}","pulls_url":"https://api.github.com/repos/haberman/fast-recs-collate/pulls{/number}","milestones_url":"https://api.github.com/repos/haberman/fast-recs-collate/milestones{/number}","notifications_url":"https://api.github.com/repos/haberman/fast-recs-collate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haberman/fast-recs-collate/labels{/name}"},{"id":1572,"name":"family_budget","full_name":"francois/family_budget","owner":{"login":"francois","id":247,"avatar_url":"https://0.gravatar.com/avatar/7da32f740e64088d2b07c277f3c1b94b?d=https%3A%2F%2Fidenticons.github.com%2F3cec07e9ba5f5bb252d13f5f431e4bbb.png","gravatar_id":"7da32f740e64088d2b07c277f3c1b94b","url":"https://api.github.com/users/francois","html_url":"https://github.com/francois","followers_url":"https://api.github.com/users/francois/followers","following_url":"https://api.github.com/users/francois/following{/other_user}","gists_url":"https://api.github.com/users/francois/gists{/gist_id}","starred_url":"https://api.github.com/users/francois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/francois/subscriptions","organizations_url":"https://api.github.com/users/francois/orgs","repos_url":"https://api.github.com/users/francois/repos","events_url":"https://api.github.com/users/francois/events{/privacy}","received_events_url":"https://api.github.com/users/francois/received_events","type":"User"},"private":false,"html_url":"https://github.com/francois/family_budget","description":"A Family Budget application","fork":false,"url":"https://api.github.com/repos/francois/family_budget","forks_url":"https://api.github.com/repos/francois/family_budget/forks","keys_url":"https://api.github.com/repos/francois/family_budget/keys{/key_id}","collaborators_url":"https://api.github.com/repos/francois/family_budget/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/francois/family_budget/teams","hooks_url":"https://api.github.com/repos/francois/family_budget/hooks","issue_events_url":"https://api.github.com/repos/francois/family_budget/issues/events{/number}","events_url":"https://api.github.com/repos/francois/family_budget/events","assignees_url":"https://api.github.com/repos/francois/family_budget/assignees{/user}","branches_url":"https://api.github.com/repos/francois/family_budget/branches{/branch}","tags_url":"https://api.github.com/repos/francois/family_budget/tags","blobs_url":"https://api.github.com/repos/francois/family_budget/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/francois/family_budget/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/francois/family_budget/git/refs{/sha}","trees_url":"https://api.github.com/repos/francois/family_budget/git/trees{/sha}","statuses_url":"https://api.github.com/repos/francois/family_budget/statuses/{sha}","languages_url":"https://api.github.com/repos/francois/family_budget/languages","stargazers_url":"https://api.github.com/repos/francois/family_budget/stargazers","contributors_url":"https://api.github.com/repos/francois/family_budget/contributors","subscribers_url":"https://api.github.com/repos/francois/family_budget/subscribers","subscription_url":"https://api.github.com/repos/francois/family_budget/subscription","commits_url":"https://api.github.com/repos/francois/family_budget/commits{/sha}","git_commits_url":"https://api.github.com/repos/francois/family_budget/git/commits{/sha}","comments_url":"https://api.github.com/repos/francois/family_budget/comments{/number}","issue_comment_url":"https://api.github.com/repos/francois/family_budget/issues/comments/{number}","contents_url":"https://api.github.com/repos/francois/family_budget/contents/{+path}","compare_url":"https://api.github.com/repos/francois/family_budget/compare/{base}...{head}","merges_url":"https://api.github.com/repos/francois/family_budget/merges","archive_url":"https://api.github.com/repos/francois/family_budget/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/francois/family_budget/downloads","issues_url":"https://api.github.com/repos/francois/family_budget/issues{/number}","pulls_url":"https://api.github.com/repos/francois/family_budget/pulls{/number}","milestones_url":"https://api.github.com/repos/francois/family_budget/milestones{/number}","notifications_url":"https://api.github.com/repos/francois/family_budget/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/francois/family_budget/labels{/name}"},{"id":1576,"name":"javascript-jquery-tmbundle","full_name":"drnic/javascript-jquery-tmbundle","owner":{"login":"drnic","id":108,"avatar_url":"https://1.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https%3A%2F%2Fidenticons.github.com%2Fa3c65c2974270fd093ee8a9bf8ae7d0b.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},"private":false,"html_url":"https://github.com/drnic/javascript-jquery-tmbundle","description":"JavaScript jQuery.tmbundle","fork":false,"url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle","forks_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/forks","keys_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/teams","hooks_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/hooks","issue_events_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/issues/events{/number}","events_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/events","assignees_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/assignees{/user}","branches_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/branches{/branch}","tags_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/tags","blobs_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/git/refs{/sha}","trees_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/statuses/{sha}","languages_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/languages","stargazers_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/stargazers","contributors_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/contributors","subscribers_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/subscribers","subscription_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/subscription","commits_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/commits{/sha}","git_commits_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/git/commits{/sha}","comments_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/comments{/number}","issue_comment_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/issues/comments/{number}","contents_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/contents/{+path}","compare_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/merges","archive_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/downloads","issues_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/issues{/number}","pulls_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/pulls{/number}","milestones_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/milestones{/number}","notifications_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drnic/javascript-jquery-tmbundle/labels{/name}"},{"id":1584,"name":"markable","full_name":"AndrewO/markable","owner":{"login":"AndrewO","id":550,"avatar_url":"https://2.gravatar.com/avatar/bdf2290f0b1d87cb0853966e7e51606b?d=https%3A%2F%2Fidenticons.github.com%2F01f78be6f7cad02658508fe4616098a9.png","gravatar_id":"bdf2290f0b1d87cb0853966e7e51606b","url":"https://api.github.com/users/AndrewO","html_url":"https://github.com/AndrewO","followers_url":"https://api.github.com/users/AndrewO/followers","following_url":"https://api.github.com/users/AndrewO/following{/other_user}","gists_url":"https://api.github.com/users/AndrewO/gists{/gist_id}","starred_url":"https://api.github.com/users/AndrewO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndrewO/subscriptions","organizations_url":"https://api.github.com/users/AndrewO/orgs","repos_url":"https://api.github.com/users/AndrewO/repos","events_url":"https://api.github.com/users/AndrewO/events{/privacy}","received_events_url":"https://api.github.com/users/AndrewO/received_events","type":"User"},"private":false,"html_url":"https://github.com/AndrewO/markable","description":"A module that adds Markaby functionality to any class","fork":false,"url":"https://api.github.com/repos/AndrewO/markable","forks_url":"https://api.github.com/repos/AndrewO/markable/forks","keys_url":"https://api.github.com/repos/AndrewO/markable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AndrewO/markable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AndrewO/markable/teams","hooks_url":"https://api.github.com/repos/AndrewO/markable/hooks","issue_events_url":"https://api.github.com/repos/AndrewO/markable/issues/events{/number}","events_url":"https://api.github.com/repos/AndrewO/markable/events","assignees_url":"https://api.github.com/repos/AndrewO/markable/assignees{/user}","branches_url":"https://api.github.com/repos/AndrewO/markable/branches{/branch}","tags_url":"https://api.github.com/repos/AndrewO/markable/tags","blobs_url":"https://api.github.com/repos/AndrewO/markable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AndrewO/markable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AndrewO/markable/git/refs{/sha}","trees_url":"https://api.github.com/repos/AndrewO/markable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AndrewO/markable/statuses/{sha}","languages_url":"https://api.github.com/repos/AndrewO/markable/languages","stargazers_url":"https://api.github.com/repos/AndrewO/markable/stargazers","contributors_url":"https://api.github.com/repos/AndrewO/markable/contributors","subscribers_url":"https://api.github.com/repos/AndrewO/markable/subscribers","subscription_url":"https://api.github.com/repos/AndrewO/markable/subscription","commits_url":"https://api.github.com/repos/AndrewO/markable/commits{/sha}","git_commits_url":"https://api.github.com/repos/AndrewO/markable/git/commits{/sha}","comments_url":"https://api.github.com/repos/AndrewO/markable/comments{/number}","issue_comment_url":"https://api.github.com/repos/AndrewO/markable/issues/comments/{number}","contents_url":"https://api.github.com/repos/AndrewO/markable/contents/{+path}","compare_url":"https://api.github.com/repos/AndrewO/markable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AndrewO/markable/merges","archive_url":"https://api.github.com/repos/AndrewO/markable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AndrewO/markable/downloads","issues_url":"https://api.github.com/repos/AndrewO/markable/issues{/number}","pulls_url":"https://api.github.com/repos/AndrewO/markable/pulls{/number}","milestones_url":"https://api.github.com/repos/AndrewO/markable/milestones{/number}","notifications_url":"https://api.github.com/repos/AndrewO/markable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AndrewO/markable/labels{/name}"},{"id":1592,"name":"erlenmeyer","full_name":"KirinDave/erlenmeyer","owner":{"login":"KirinDave","id":36,"avatar_url":"https://2.gravatar.com/avatar/d4fabd6c08ac228a3ff846d9d0d1580e?d=https%3A%2F%2Fidenticons.github.com%2F19ca14e7ea6328a42e0eb13d585e4c22.png","gravatar_id":"d4fabd6c08ac228a3ff846d9d0d1580e","url":"https://api.github.com/users/KirinDave","html_url":"https://github.com/KirinDave","followers_url":"https://api.github.com/users/KirinDave/followers","following_url":"https://api.github.com/users/KirinDave/following{/other_user}","gists_url":"https://api.github.com/users/KirinDave/gists{/gist_id}","starred_url":"https://api.github.com/users/KirinDave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KirinDave/subscriptions","organizations_url":"https://api.github.com/users/KirinDave/orgs","repos_url":"https://api.github.com/users/KirinDave/repos","events_url":"https://api.github.com/users/KirinDave/events{/privacy}","received_events_url":"https://api.github.com/users/KirinDave/received_events","type":"User"},"private":false,"html_url":"https://github.com/KirinDave/erlenmeyer","description":"A binding between erlang and mzscheme.","fork":false,"url":"https://api.github.com/repos/KirinDave/erlenmeyer","forks_url":"https://api.github.com/repos/KirinDave/erlenmeyer/forks","keys_url":"https://api.github.com/repos/KirinDave/erlenmeyer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KirinDave/erlenmeyer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KirinDave/erlenmeyer/teams","hooks_url":"https://api.github.com/repos/KirinDave/erlenmeyer/hooks","issue_events_url":"https://api.github.com/repos/KirinDave/erlenmeyer/issues/events{/number}","events_url":"https://api.github.com/repos/KirinDave/erlenmeyer/events","assignees_url":"https://api.github.com/repos/KirinDave/erlenmeyer/assignees{/user}","branches_url":"https://api.github.com/repos/KirinDave/erlenmeyer/branches{/branch}","tags_url":"https://api.github.com/repos/KirinDave/erlenmeyer/tags","blobs_url":"https://api.github.com/repos/KirinDave/erlenmeyer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KirinDave/erlenmeyer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KirinDave/erlenmeyer/git/refs{/sha}","trees_url":"https://api.github.com/repos/KirinDave/erlenmeyer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KirinDave/erlenmeyer/statuses/{sha}","languages_url":"https://api.github.com/repos/KirinDave/erlenmeyer/languages","stargazers_url":"https://api.github.com/repos/KirinDave/erlenmeyer/stargazers","contributors_url":"https://api.github.com/repos/KirinDave/erlenmeyer/contributors","subscribers_url":"https://api.github.com/repos/KirinDave/erlenmeyer/subscribers","subscription_url":"https://api.github.com/repos/KirinDave/erlenmeyer/subscription","commits_url":"https://api.github.com/repos/KirinDave/erlenmeyer/commits{/sha}","git_commits_url":"https://api.github.com/repos/KirinDave/erlenmeyer/git/commits{/sha}","comments_url":"https://api.github.com/repos/KirinDave/erlenmeyer/comments{/number}","issue_comment_url":"https://api.github.com/repos/KirinDave/erlenmeyer/issues/comments/{number}","contents_url":"https://api.github.com/repos/KirinDave/erlenmeyer/contents/{+path}","compare_url":"https://api.github.com/repos/KirinDave/erlenmeyer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KirinDave/erlenmeyer/merges","archive_url":"https://api.github.com/repos/KirinDave/erlenmeyer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KirinDave/erlenmeyer/downloads","issues_url":"https://api.github.com/repos/KirinDave/erlenmeyer/issues{/number}","pulls_url":"https://api.github.com/repos/KirinDave/erlenmeyer/pulls{/number}","milestones_url":"https://api.github.com/repos/KirinDave/erlenmeyer/milestones{/number}","notifications_url":"https://api.github.com/repos/KirinDave/erlenmeyer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KirinDave/erlenmeyer/labels{/name}"},{"id":1598,"name":"yikes","full_name":"xpaulbettsx/yikes","owner":{"login":"xpaulbettsx","id":1396,"avatar_url":"https://2.gravatar.com/avatar/cba1c933e48e5ec70c68f640a530b969?d=https%3A%2F%2Fidenticons.github.com%2F0966289037ad9846c5e994be2a91bafa.png","gravatar_id":"cba1c933e48e5ec70c68f640a530b969","url":"https://api.github.com/users/xpaulbettsx","html_url":"https://github.com/xpaulbettsx","followers_url":"https://api.github.com/users/xpaulbettsx/followers","following_url":"https://api.github.com/users/xpaulbettsx/following{/other_user}","gists_url":"https://api.github.com/users/xpaulbettsx/gists{/gist_id}","starred_url":"https://api.github.com/users/xpaulbettsx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xpaulbettsx/subscriptions","organizations_url":"https://api.github.com/users/xpaulbettsx/orgs","repos_url":"https://api.github.com/users/xpaulbettsx/repos","events_url":"https://api.github.com/users/xpaulbettsx/events{/privacy}","received_events_url":"https://api.github.com/users/xpaulbettsx/received_events","type":"User"},"private":false,"html_url":"https://github.com/xpaulbettsx/yikes","description":"An automatic way to convert videos and put them on your iPod","fork":false,"url":"https://api.github.com/repos/xpaulbettsx/yikes","forks_url":"https://api.github.com/repos/xpaulbettsx/yikes/forks","keys_url":"https://api.github.com/repos/xpaulbettsx/yikes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xpaulbettsx/yikes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xpaulbettsx/yikes/teams","hooks_url":"https://api.github.com/repos/xpaulbettsx/yikes/hooks","issue_events_url":"https://api.github.com/repos/xpaulbettsx/yikes/issues/events{/number}","events_url":"https://api.github.com/repos/xpaulbettsx/yikes/events","assignees_url":"https://api.github.com/repos/xpaulbettsx/yikes/assignees{/user}","branches_url":"https://api.github.com/repos/xpaulbettsx/yikes/branches{/branch}","tags_url":"https://api.github.com/repos/xpaulbettsx/yikes/tags","blobs_url":"https://api.github.com/repos/xpaulbettsx/yikes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xpaulbettsx/yikes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xpaulbettsx/yikes/git/refs{/sha}","trees_url":"https://api.github.com/repos/xpaulbettsx/yikes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xpaulbettsx/yikes/statuses/{sha}","languages_url":"https://api.github.com/repos/xpaulbettsx/yikes/languages","stargazers_url":"https://api.github.com/repos/xpaulbettsx/yikes/stargazers","contributors_url":"https://api.github.com/repos/xpaulbettsx/yikes/contributors","subscribers_url":"https://api.github.com/repos/xpaulbettsx/yikes/subscribers","subscription_url":"https://api.github.com/repos/xpaulbettsx/yikes/subscription","commits_url":"https://api.github.com/repos/xpaulbettsx/yikes/commits{/sha}","git_commits_url":"https://api.github.com/repos/xpaulbettsx/yikes/git/commits{/sha}","comments_url":"https://api.github.com/repos/xpaulbettsx/yikes/comments{/number}","issue_comment_url":"https://api.github.com/repos/xpaulbettsx/yikes/issues/comments/{number}","contents_url":"https://api.github.com/repos/xpaulbettsx/yikes/contents/{+path}","compare_url":"https://api.github.com/repos/xpaulbettsx/yikes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xpaulbettsx/yikes/merges","archive_url":"https://api.github.com/repos/xpaulbettsx/yikes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xpaulbettsx/yikes/downloads","issues_url":"https://api.github.com/repos/xpaulbettsx/yikes/issues{/number}","pulls_url":"https://api.github.com/repos/xpaulbettsx/yikes/pulls{/number}","milestones_url":"https://api.github.com/repos/xpaulbettsx/yikes/milestones{/number}","notifications_url":"https://api.github.com/repos/xpaulbettsx/yikes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xpaulbettsx/yikes/labels{/name}"},{"id":1602,"name":"erlenmeyer","full_name":"mojombo/erlenmeyer","owner":{"login":"mojombo","id":1,"avatar_url":"https://2.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https%3A%2F%2Fidenticons.github.com%2Fc4ca4238a0b923820dcc509a6f75849b.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},"private":false,"html_url":"https://github.com/mojombo/erlenmeyer","description":"A binding between erlang and mzscheme.","fork":true,"url":"https://api.github.com/repos/mojombo/erlenmeyer","forks_url":"https://api.github.com/repos/mojombo/erlenmeyer/forks","keys_url":"https://api.github.com/repos/mojombo/erlenmeyer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mojombo/erlenmeyer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mojombo/erlenmeyer/teams","hooks_url":"https://api.github.com/repos/mojombo/erlenmeyer/hooks","issue_events_url":"https://api.github.com/repos/mojombo/erlenmeyer/issues/events{/number}","events_url":"https://api.github.com/repos/mojombo/erlenmeyer/events","assignees_url":"https://api.github.com/repos/mojombo/erlenmeyer/assignees{/user}","branches_url":"https://api.github.com/repos/mojombo/erlenmeyer/branches{/branch}","tags_url":"https://api.github.com/repos/mojombo/erlenmeyer/tags","blobs_url":"https://api.github.com/repos/mojombo/erlenmeyer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mojombo/erlenmeyer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mojombo/erlenmeyer/git/refs{/sha}","trees_url":"https://api.github.com/repos/mojombo/erlenmeyer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mojombo/erlenmeyer/statuses/{sha}","languages_url":"https://api.github.com/repos/mojombo/erlenmeyer/languages","stargazers_url":"https://api.github.com/repos/mojombo/erlenmeyer/stargazers","contributors_url":"https://api.github.com/repos/mojombo/erlenmeyer/contributors","subscribers_url":"https://api.github.com/repos/mojombo/erlenmeyer/subscribers","subscription_url":"https://api.github.com/repos/mojombo/erlenmeyer/subscription","commits_url":"https://api.github.com/repos/mojombo/erlenmeyer/commits{/sha}","git_commits_url":"https://api.github.com/repos/mojombo/erlenmeyer/git/commits{/sha}","comments_url":"https://api.github.com/repos/mojombo/erlenmeyer/comments{/number}","issue_comment_url":"https://api.github.com/repos/mojombo/erlenmeyer/issues/comments/{number}","contents_url":"https://api.github.com/repos/mojombo/erlenmeyer/contents/{+path}","compare_url":"https://api.github.com/repos/mojombo/erlenmeyer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mojombo/erlenmeyer/merges","archive_url":"https://api.github.com/repos/mojombo/erlenmeyer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mojombo/erlenmeyer/downloads","issues_url":"https://api.github.com/repos/mojombo/erlenmeyer/issues{/number}","pulls_url":"https://api.github.com/repos/mojombo/erlenmeyer/pulls{/number}","milestones_url":"https://api.github.com/repos/mojombo/erlenmeyer/milestones{/number}","notifications_url":"https://api.github.com/repos/mojombo/erlenmeyer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mojombo/erlenmeyer/labels{/name}"},{"id":1603,"name":"python-tool","full_name":"alexeysudachen/python-tool","owner":{"login":"alexeysudachen","id":1428,"avatar_url":"https://2.gravatar.com/avatar/de4e1b989525c878e34c1910aab27dfc?d=https%3A%2F%2Fidenticons.github.com%2F0663a4ddceacb40b095eda264a85f15c.png","gravatar_id":"de4e1b989525c878e34c1910aab27dfc","url":"https://api.github.com/users/alexeysudachen","html_url":"https://github.com/alexeysudachen","followers_url":"https://api.github.com/users/alexeysudachen/followers","following_url":"https://api.github.com/users/alexeysudachen/following{/other_user}","gists_url":"https://api.github.com/users/alexeysudachen/gists{/gist_id}","starred_url":"https://api.github.com/users/alexeysudachen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexeysudachen/subscriptions","organizations_url":"https://api.github.com/users/alexeysudachen/orgs","repos_url":"https://api.github.com/users/alexeysudachen/repos","events_url":"https://api.github.com/users/alexeysudachen/events{/privacy}","received_events_url":"https://api.github.com/users/alexeysudachen/received_events","type":"User"},"private":false,"html_url":"https://github.com/alexeysudachen/python-tool","description":"some python related utilities like py2cc","fork":false,"url":"https://api.github.com/repos/alexeysudachen/python-tool","forks_url":"https://api.github.com/repos/alexeysudachen/python-tool/forks","keys_url":"https://api.github.com/repos/alexeysudachen/python-tool/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexeysudachen/python-tool/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexeysudachen/python-tool/teams","hooks_url":"https://api.github.com/repos/alexeysudachen/python-tool/hooks","issue_events_url":"https://api.github.com/repos/alexeysudachen/python-tool/issues/events{/number}","events_url":"https://api.github.com/repos/alexeysudachen/python-tool/events","assignees_url":"https://api.github.com/repos/alexeysudachen/python-tool/assignees{/user}","branches_url":"https://api.github.com/repos/alexeysudachen/python-tool/branches{/branch}","tags_url":"https://api.github.com/repos/alexeysudachen/python-tool/tags","blobs_url":"https://api.github.com/repos/alexeysudachen/python-tool/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexeysudachen/python-tool/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexeysudachen/python-tool/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexeysudachen/python-tool/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexeysudachen/python-tool/statuses/{sha}","languages_url":"https://api.github.com/repos/alexeysudachen/python-tool/languages","stargazers_url":"https://api.github.com/repos/alexeysudachen/python-tool/stargazers","contributors_url":"https://api.github.com/repos/alexeysudachen/python-tool/contributors","subscribers_url":"https://api.github.com/repos/alexeysudachen/python-tool/subscribers","subscription_url":"https://api.github.com/repos/alexeysudachen/python-tool/subscription","commits_url":"https://api.github.com/repos/alexeysudachen/python-tool/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexeysudachen/python-tool/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexeysudachen/python-tool/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexeysudachen/python-tool/issues/comments/{number}","contents_url":"https://api.github.com/repos/alexeysudachen/python-tool/contents/{+path}","compare_url":"https://api.github.com/repos/alexeysudachen/python-tool/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexeysudachen/python-tool/merges","archive_url":"https://api.github.com/repos/alexeysudachen/python-tool/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexeysudachen/python-tool/downloads","issues_url":"https://api.github.com/repos/alexeysudachen/python-tool/issues{/number}","pulls_url":"https://api.github.com/repos/alexeysudachen/python-tool/pulls{/number}","milestones_url":"https://api.github.com/repos/alexeysudachen/python-tool/milestones{/number}","notifications_url":"https://api.github.com/repos/alexeysudachen/python-tool/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexeysudachen/python-tool/labels{/name}"},{"id":1611,"name":"tableau","full_name":"bousquet/tableau","owner":{"login":"bousquet","id":1347,"avatar_url":"https://0.gravatar.com/avatar/7491ae9acee0ca6a37d078b87ec7cd7a?d=https%3A%2F%2Fidenticons.github.com%2F0e55666a4ad822e0e34299df3591d979.png","gravatar_id":"7491ae9acee0ca6a37d078b87ec7cd7a","url":"https://api.github.com/users/bousquet","html_url":"https://github.com/bousquet","followers_url":"https://api.github.com/users/bousquet/followers","following_url":"https://api.github.com/users/bousquet/following{/other_user}","gists_url":"https://api.github.com/users/bousquet/gists{/gist_id}","starred_url":"https://api.github.com/users/bousquet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bousquet/subscriptions","organizations_url":"https://api.github.com/users/bousquet/orgs","repos_url":"https://api.github.com/users/bousquet/repos","events_url":"https://api.github.com/users/bousquet/events{/privacy}","received_events_url":"https://api.github.com/users/bousquet/received_events","type":"User"},"private":false,"html_url":"https://github.com/bousquet/tableau","description":"Open source photo gallery in Rails","fork":false,"url":"https://api.github.com/repos/bousquet/tableau","forks_url":"https://api.github.com/repos/bousquet/tableau/forks","keys_url":"https://api.github.com/repos/bousquet/tableau/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bousquet/tableau/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bousquet/tableau/teams","hooks_url":"https://api.github.com/repos/bousquet/tableau/hooks","issue_events_url":"https://api.github.com/repos/bousquet/tableau/issues/events{/number}","events_url":"https://api.github.com/repos/bousquet/tableau/events","assignees_url":"https://api.github.com/repos/bousquet/tableau/assignees{/user}","branches_url":"https://api.github.com/repos/bousquet/tableau/branches{/branch}","tags_url":"https://api.github.com/repos/bousquet/tableau/tags","blobs_url":"https://api.github.com/repos/bousquet/tableau/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bousquet/tableau/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bousquet/tableau/git/refs{/sha}","trees_url":"https://api.github.com/repos/bousquet/tableau/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bousquet/tableau/statuses/{sha}","languages_url":"https://api.github.com/repos/bousquet/tableau/languages","stargazers_url":"https://api.github.com/repos/bousquet/tableau/stargazers","contributors_url":"https://api.github.com/repos/bousquet/tableau/contributors","subscribers_url":"https://api.github.com/repos/bousquet/tableau/subscribers","subscription_url":"https://api.github.com/repos/bousquet/tableau/subscription","commits_url":"https://api.github.com/repos/bousquet/tableau/commits{/sha}","git_commits_url":"https://api.github.com/repos/bousquet/tableau/git/commits{/sha}","comments_url":"https://api.github.com/repos/bousquet/tableau/comments{/number}","issue_comment_url":"https://api.github.com/repos/bousquet/tableau/issues/comments/{number}","contents_url":"https://api.github.com/repos/bousquet/tableau/contents/{+path}","compare_url":"https://api.github.com/repos/bousquet/tableau/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bousquet/tableau/merges","archive_url":"https://api.github.com/repos/bousquet/tableau/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bousquet/tableau/downloads","issues_url":"https://api.github.com/repos/bousquet/tableau/issues{/number}","pulls_url":"https://api.github.com/repos/bousquet/tableau/pulls{/number}","milestones_url":"https://api.github.com/repos/bousquet/tableau/milestones{/number}","notifications_url":"https://api.github.com/repos/bousquet/tableau/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bousquet/tableau/labels{/name}"},{"id":1613,"name":"blue-channel","full_name":"davemerwin/blue-channel","owner":{"login":"davemerwin","id":1435,"avatar_url":"https://0.gravatar.com/avatar/3f3cd92849c7b4332396a4f5e4a97162?d=https%3A%2F%2Fidenticons.github.com%2F1f3202d820180a39f736f20fce790de8.png","gravatar_id":"3f3cd92849c7b4332396a4f5e4a97162","url":"https://api.github.com/users/davemerwin","html_url":"https://github.com/davemerwin","followers_url":"https://api.github.com/users/davemerwin/followers","following_url":"https://api.github.com/users/davemerwin/following{/other_user}","gists_url":"https://api.github.com/users/davemerwin/gists{/gist_id}","starred_url":"https://api.github.com/users/davemerwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davemerwin/subscriptions","organizations_url":"https://api.github.com/users/davemerwin/orgs","repos_url":"https://api.github.com/users/davemerwin/repos","events_url":"https://api.github.com/users/davemerwin/events{/privacy}","received_events_url":"https://api.github.com/users/davemerwin/received_events","type":"User"},"private":false,"html_url":"https://github.com/davemerwin/blue-channel","description":"A content management system developed in Django, jQuery and 960","fork":false,"url":"https://api.github.com/repos/davemerwin/blue-channel","forks_url":"https://api.github.com/repos/davemerwin/blue-channel/forks","keys_url":"https://api.github.com/repos/davemerwin/blue-channel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/davemerwin/blue-channel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/davemerwin/blue-channel/teams","hooks_url":"https://api.github.com/repos/davemerwin/blue-channel/hooks","issue_events_url":"https://api.github.com/repos/davemerwin/blue-channel/issues/events{/number}","events_url":"https://api.github.com/repos/davemerwin/blue-channel/events","assignees_url":"https://api.github.com/repos/davemerwin/blue-channel/assignees{/user}","branches_url":"https://api.github.com/repos/davemerwin/blue-channel/branches{/branch}","tags_url":"https://api.github.com/repos/davemerwin/blue-channel/tags","blobs_url":"https://api.github.com/repos/davemerwin/blue-channel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/davemerwin/blue-channel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/davemerwin/blue-channel/git/refs{/sha}","trees_url":"https://api.github.com/repos/davemerwin/blue-channel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/davemerwin/blue-channel/statuses/{sha}","languages_url":"https://api.github.com/repos/davemerwin/blue-channel/languages","stargazers_url":"https://api.github.com/repos/davemerwin/blue-channel/stargazers","contributors_url":"https://api.github.com/repos/davemerwin/blue-channel/contributors","subscribers_url":"https://api.github.com/repos/davemerwin/blue-channel/subscribers","subscription_url":"https://api.github.com/repos/davemerwin/blue-channel/subscription","commits_url":"https://api.github.com/repos/davemerwin/blue-channel/commits{/sha}","git_commits_url":"https://api.github.com/repos/davemerwin/blue-channel/git/commits{/sha}","comments_url":"https://api.github.com/repos/davemerwin/blue-channel/comments{/number}","issue_comment_url":"https://api.github.com/repos/davemerwin/blue-channel/issues/comments/{number}","contents_url":"https://api.github.com/repos/davemerwin/blue-channel/contents/{+path}","compare_url":"https://api.github.com/repos/davemerwin/blue-channel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/davemerwin/blue-channel/merges","archive_url":"https://api.github.com/repos/davemerwin/blue-channel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/davemerwin/blue-channel/downloads","issues_url":"https://api.github.com/repos/davemerwin/blue-channel/issues{/number}","pulls_url":"https://api.github.com/repos/davemerwin/blue-channel/pulls{/number}","milestones_url":"https://api.github.com/repos/davemerwin/blue-channel/milestones{/number}","notifications_url":"https://api.github.com/repos/davemerwin/blue-channel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/davemerwin/blue-channel/labels{/name}"},{"id":1615,"name":"weshowthemoney-com","full_name":"maborg/weshowthemoney-com","owner":{"login":"maborg","id":1446,"avatar_url":"https://2.gravatar.com/avatar/f86675c1ed32bf619a669a4b8bc29d2c?d=https%3A%2F%2Fidenticons.github.com%2F8fb21ee7a2207526da55a679f0332de2.png","gravatar_id":"f86675c1ed32bf619a669a4b8bc29d2c","url":"https://api.github.com/users/maborg","html_url":"https://github.com/maborg","followers_url":"https://api.github.com/users/maborg/followers","following_url":"https://api.github.com/users/maborg/following{/other_user}","gists_url":"https://api.github.com/users/maborg/gists{/gist_id}","starred_url":"https://api.github.com/users/maborg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maborg/subscriptions","organizations_url":"https://api.github.com/users/maborg/orgs","repos_url":"https://api.github.com/users/maborg/repos","events_url":"https://api.github.com/users/maborg/events{/privacy}","received_events_url":"https://api.github.com/users/maborg/received_events","type":"User"},"private":false,"html_url":"https://github.com/maborg/weshowthemoney-com","description":"a visual approach to the us election","fork":false,"url":"https://api.github.com/repos/maborg/weshowthemoney-com","forks_url":"https://api.github.com/repos/maborg/weshowthemoney-com/forks","keys_url":"https://api.github.com/repos/maborg/weshowthemoney-com/keys{/key_id}","collaborators_url":"https://api.github.com/repos/maborg/weshowthemoney-com/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/maborg/weshowthemoney-com/teams","hooks_url":"https://api.github.com/repos/maborg/weshowthemoney-com/hooks","issue_events_url":"https://api.github.com/repos/maborg/weshowthemoney-com/issues/events{/number}","events_url":"https://api.github.com/repos/maborg/weshowthemoney-com/events","assignees_url":"https://api.github.com/repos/maborg/weshowthemoney-com/assignees{/user}","branches_url":"https://api.github.com/repos/maborg/weshowthemoney-com/branches{/branch}","tags_url":"https://api.github.com/repos/maborg/weshowthemoney-com/tags","blobs_url":"https://api.github.com/repos/maborg/weshowthemoney-com/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/maborg/weshowthemoney-com/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/maborg/weshowthemoney-com/git/refs{/sha}","trees_url":"https://api.github.com/repos/maborg/weshowthemoney-com/git/trees{/sha}","statuses_url":"https://api.github.com/repos/maborg/weshowthemoney-com/statuses/{sha}","languages_url":"https://api.github.com/repos/maborg/weshowthemoney-com/languages","stargazers_url":"https://api.github.com/repos/maborg/weshowthemoney-com/stargazers","contributors_url":"https://api.github.com/repos/maborg/weshowthemoney-com/contributors","subscribers_url":"https://api.github.com/repos/maborg/weshowthemoney-com/subscribers","subscription_url":"https://api.github.com/repos/maborg/weshowthemoney-com/subscription","commits_url":"https://api.github.com/repos/maborg/weshowthemoney-com/commits{/sha}","git_commits_url":"https://api.github.com/repos/maborg/weshowthemoney-com/git/commits{/sha}","comments_url":"https://api.github.com/repos/maborg/weshowthemoney-com/comments{/number}","issue_comment_url":"https://api.github.com/repos/maborg/weshowthemoney-com/issues/comments/{number}","contents_url":"https://api.github.com/repos/maborg/weshowthemoney-com/contents/{+path}","compare_url":"https://api.github.com/repos/maborg/weshowthemoney-com/compare/{base}...{head}","merges_url":"https://api.github.com/repos/maborg/weshowthemoney-com/merges","archive_url":"https://api.github.com/repos/maborg/weshowthemoney-com/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/maborg/weshowthemoney-com/downloads","issues_url":"https://api.github.com/repos/maborg/weshowthemoney-com/issues{/number}","pulls_url":"https://api.github.com/repos/maborg/weshowthemoney-com/pulls{/number}","milestones_url":"https://api.github.com/repos/maborg/weshowthemoney-com/milestones{/number}","notifications_url":"https://api.github.com/repos/maborg/weshowthemoney-com/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/maborg/weshowthemoney-com/labels{/name}"},{"id":1618,"name":"marshmallow","full_name":"bousquet/marshmallow","owner":{"login":"bousquet","id":1347,"avatar_url":"https://0.gravatar.com/avatar/7491ae9acee0ca6a37d078b87ec7cd7a?d=https%3A%2F%2Fidenticons.github.com%2F0e55666a4ad822e0e34299df3591d979.png","gravatar_id":"7491ae9acee0ca6a37d078b87ec7cd7a","url":"https://api.github.com/users/bousquet","html_url":"https://github.com/bousquet","followers_url":"https://api.github.com/users/bousquet/followers","following_url":"https://api.github.com/users/bousquet/following{/other_user}","gists_url":"https://api.github.com/users/bousquet/gists{/gist_id}","starred_url":"https://api.github.com/users/bousquet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bousquet/subscriptions","organizations_url":"https://api.github.com/users/bousquet/orgs","repos_url":"https://api.github.com/users/bousquet/repos","events_url":"https://api.github.com/users/bousquet/events{/privacy}","received_events_url":"https://api.github.com/users/bousquet/received_events","type":"User"},"private":false,"html_url":"https://github.com/bousquet/marshmallow","description":"Campfire chat bot in Ruby","fork":false,"url":"https://api.github.com/repos/bousquet/marshmallow","forks_url":"https://api.github.com/repos/bousquet/marshmallow/forks","keys_url":"https://api.github.com/repos/bousquet/marshmallow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bousquet/marshmallow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bousquet/marshmallow/teams","hooks_url":"https://api.github.com/repos/bousquet/marshmallow/hooks","issue_events_url":"https://api.github.com/repos/bousquet/marshmallow/issues/events{/number}","events_url":"https://api.github.com/repos/bousquet/marshmallow/events","assignees_url":"https://api.github.com/repos/bousquet/marshmallow/assignees{/user}","branches_url":"https://api.github.com/repos/bousquet/marshmallow/branches{/branch}","tags_url":"https://api.github.com/repos/bousquet/marshmallow/tags","blobs_url":"https://api.github.com/repos/bousquet/marshmallow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bousquet/marshmallow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bousquet/marshmallow/git/refs{/sha}","trees_url":"https://api.github.com/repos/bousquet/marshmallow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bousquet/marshmallow/statuses/{sha}","languages_url":"https://api.github.com/repos/bousquet/marshmallow/languages","stargazers_url":"https://api.github.com/repos/bousquet/marshmallow/stargazers","contributors_url":"https://api.github.com/repos/bousquet/marshmallow/contributors","subscribers_url":"https://api.github.com/repos/bousquet/marshmallow/subscribers","subscription_url":"https://api.github.com/repos/bousquet/marshmallow/subscription","commits_url":"https://api.github.com/repos/bousquet/marshmallow/commits{/sha}","git_commits_url":"https://api.github.com/repos/bousquet/marshmallow/git/commits{/sha}","comments_url":"https://api.github.com/repos/bousquet/marshmallow/comments{/number}","issue_comment_url":"https://api.github.com/repos/bousquet/marshmallow/issues/comments/{number}","contents_url":"https://api.github.com/repos/bousquet/marshmallow/contents/{+path}","compare_url":"https://api.github.com/repos/bousquet/marshmallow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bousquet/marshmallow/merges","archive_url":"https://api.github.com/repos/bousquet/marshmallow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bousquet/marshmallow/downloads","issues_url":"https://api.github.com/repos/bousquet/marshmallow/issues{/number}","pulls_url":"https://api.github.com/repos/bousquet/marshmallow/pulls{/number}","milestones_url":"https://api.github.com/repos/bousquet/marshmallow/milestones{/number}","notifications_url":"https://api.github.com/repos/bousquet/marshmallow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bousquet/marshmallow/labels{/name}"},{"id":1630,"name":"tarn","full_name":"jdp/tarn","owner":{"login":"jdp","id":574,"avatar_url":"https://1.gravatar.com/avatar/07b06bbb5ecda29c3744c1be35656247?d=https%3A%2F%2Fidenticons.github.com%2Ff0e52b27a7a5d6a1a87373dffa53dbe5.png","gravatar_id":"07b06bbb5ecda29c3744c1be35656247","url":"https://api.github.com/users/jdp","html_url":"https://github.com/jdp","followers_url":"https://api.github.com/users/jdp/followers","following_url":"https://api.github.com/users/jdp/following{/other_user}","gists_url":"https://api.github.com/users/jdp/gists{/gist_id}","starred_url":"https://api.github.com/users/jdp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdp/subscriptions","organizations_url":"https://api.github.com/users/jdp/orgs","repos_url":"https://api.github.com/users/jdp/repos","events_url":"https://api.github.com/users/jdp/events{/privacy}","received_events_url":"https://api.github.com/users/jdp/received_events","type":"User"},"private":false,"html_url":"https://github.com/jdp/tarn","description":"A completely Lua-scriptable roguelike engine","fork":false,"url":"https://api.github.com/repos/jdp/tarn","forks_url":"https://api.github.com/repos/jdp/tarn/forks","keys_url":"https://api.github.com/repos/jdp/tarn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdp/tarn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdp/tarn/teams","hooks_url":"https://api.github.com/repos/jdp/tarn/hooks","issue_events_url":"https://api.github.com/repos/jdp/tarn/issues/events{/number}","events_url":"https://api.github.com/repos/jdp/tarn/events","assignees_url":"https://api.github.com/repos/jdp/tarn/assignees{/user}","branches_url":"https://api.github.com/repos/jdp/tarn/branches{/branch}","tags_url":"https://api.github.com/repos/jdp/tarn/tags","blobs_url":"https://api.github.com/repos/jdp/tarn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdp/tarn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdp/tarn/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdp/tarn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdp/tarn/statuses/{sha}","languages_url":"https://api.github.com/repos/jdp/tarn/languages","stargazers_url":"https://api.github.com/repos/jdp/tarn/stargazers","contributors_url":"https://api.github.com/repos/jdp/tarn/contributors","subscribers_url":"https://api.github.com/repos/jdp/tarn/subscribers","subscription_url":"https://api.github.com/repos/jdp/tarn/subscription","commits_url":"https://api.github.com/repos/jdp/tarn/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdp/tarn/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdp/tarn/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdp/tarn/issues/comments/{number}","contents_url":"https://api.github.com/repos/jdp/tarn/contents/{+path}","compare_url":"https://api.github.com/repos/jdp/tarn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdp/tarn/merges","archive_url":"https://api.github.com/repos/jdp/tarn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdp/tarn/downloads","issues_url":"https://api.github.com/repos/jdp/tarn/issues{/number}","pulls_url":"https://api.github.com/repos/jdp/tarn/pulls{/number}","milestones_url":"https://api.github.com/repos/jdp/tarn/milestones{/number}","notifications_url":"https://api.github.com/repos/jdp/tarn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdp/tarn/labels{/name}"}] - diff --git a/github/tests/ReplayData/Github.testGetUsers.txt b/github/tests/ReplayData/Github.testGetUsers.txt deleted file mode 100644 index 1c1e206..0000000 --- a/github/tests/ReplayData/Github.testGetUsers.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '98606'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"324912429a6c8d7f41cb480e07da772a"'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 18 Jun 2013 15:43:07 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"login":"mojombo","id":1,"avatar_url":"https://secure.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"25c7c18223fb42a4c6ae1c8db6f50f9b","url":"https://api.github.com/users/mojombo","html_url":"https://github.com/mojombo","followers_url":"https://api.github.com/users/mojombo/followers","following_url":"https://api.github.com/users/mojombo/following{/other_user}","gists_url":"https://api.github.com/users/mojombo/gists{/gist_id}","starred_url":"https://api.github.com/users/mojombo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojombo/subscriptions","organizations_url":"https://api.github.com/users/mojombo/orgs","repos_url":"https://api.github.com/users/mojombo/repos","events_url":"https://api.github.com/users/mojombo/events{/privacy}","received_events_url":"https://api.github.com/users/mojombo/received_events","type":"User"},{"login":"defunkt","id":2,"avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","html_url":"https://github.com/defunkt","followers_url":"https://api.github.com/users/defunkt/followers","following_url":"https://api.github.com/users/defunkt/following{/other_user}","gists_url":"https://api.github.com/users/defunkt/gists{/gist_id}","starred_url":"https://api.github.com/users/defunkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defunkt/subscriptions","organizations_url":"https://api.github.com/users/defunkt/orgs","repos_url":"https://api.github.com/users/defunkt/repos","events_url":"https://api.github.com/users/defunkt/events{/privacy}","received_events_url":"https://api.github.com/users/defunkt/received_events","type":"User"},{"login":"pjhyett","id":3,"avatar_url":"https://secure.gravatar.com/avatar/947c333c75de1dc54a711a400d575c8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"947c333c75de1dc54a711a400d575c8c","url":"https://api.github.com/users/pjhyett","html_url":"https://github.com/pjhyett","followers_url":"https://api.github.com/users/pjhyett/followers","following_url":"https://api.github.com/users/pjhyett/following{/other_user}","gists_url":"https://api.github.com/users/pjhyett/gists{/gist_id}","starred_url":"https://api.github.com/users/pjhyett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pjhyett/subscriptions","organizations_url":"https://api.github.com/users/pjhyett/orgs","repos_url":"https://api.github.com/users/pjhyett/repos","events_url":"https://api.github.com/users/pjhyett/events{/privacy}","received_events_url":"https://api.github.com/users/pjhyett/received_events","type":"User"},{"login":"wycats","id":4,"avatar_url":"https://secure.gravatar.com/avatar/428167a3ec72235ba971162924492609?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"428167a3ec72235ba971162924492609","url":"https://api.github.com/users/wycats","html_url":"https://github.com/wycats","followers_url":"https://api.github.com/users/wycats/followers","following_url":"https://api.github.com/users/wycats/following{/other_user}","gists_url":"https://api.github.com/users/wycats/gists{/gist_id}","starred_url":"https://api.github.com/users/wycats/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wycats/subscriptions","organizations_url":"https://api.github.com/users/wycats/orgs","repos_url":"https://api.github.com/users/wycats/repos","events_url":"https://api.github.com/users/wycats/events{/privacy}","received_events_url":"https://api.github.com/users/wycats/received_events","type":"User"},{"login":"ezmobius","id":5,"avatar_url":"https://secure.gravatar.com/avatar/6a3a6e3da2d97be8df476187ff151f04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6a3a6e3da2d97be8df476187ff151f04","url":"https://api.github.com/users/ezmobius","html_url":"https://github.com/ezmobius","followers_url":"https://api.github.com/users/ezmobius/followers","following_url":"https://api.github.com/users/ezmobius/following{/other_user}","gists_url":"https://api.github.com/users/ezmobius/gists{/gist_id}","starred_url":"https://api.github.com/users/ezmobius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ezmobius/subscriptions","organizations_url":"https://api.github.com/users/ezmobius/orgs","repos_url":"https://api.github.com/users/ezmobius/repos","events_url":"https://api.github.com/users/ezmobius/events{/privacy}","received_events_url":"https://api.github.com/users/ezmobius/received_events","type":"User"},{"login":"ivey","id":6,"avatar_url":"https://secure.gravatar.com/avatar/a667482dce34922ec51f6b044d253d47?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a667482dce34922ec51f6b044d253d47","url":"https://api.github.com/users/ivey","html_url":"https://github.com/ivey","followers_url":"https://api.github.com/users/ivey/followers","following_url":"https://api.github.com/users/ivey/following{/other_user}","gists_url":"https://api.github.com/users/ivey/gists{/gist_id}","starred_url":"https://api.github.com/users/ivey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivey/subscriptions","organizations_url":"https://api.github.com/users/ivey/orgs","repos_url":"https://api.github.com/users/ivey/repos","events_url":"https://api.github.com/users/ivey/events{/privacy}","received_events_url":"https://api.github.com/users/ivey/received_events","type":"User"},{"login":"evanphx","id":7,"avatar_url":"https://secure.gravatar.com/avatar/540cb3b3712ffe045113cb03bab616a2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"540cb3b3712ffe045113cb03bab616a2","url":"https://api.github.com/users/evanphx","html_url":"https://github.com/evanphx","followers_url":"https://api.github.com/users/evanphx/followers","following_url":"https://api.github.com/users/evanphx/following{/other_user}","gists_url":"https://api.github.com/users/evanphx/gists{/gist_id}","starred_url":"https://api.github.com/users/evanphx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evanphx/subscriptions","organizations_url":"https://api.github.com/users/evanphx/orgs","repos_url":"https://api.github.com/users/evanphx/repos","events_url":"https://api.github.com/users/evanphx/events{/privacy}","received_events_url":"https://api.github.com/users/evanphx/received_events","type":"User"},{"login":"vanpelt","id":17,"avatar_url":"https://secure.gravatar.com/avatar/1da36d4c1f34454de6c07855098675f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1da36d4c1f34454de6c07855098675f6","url":"https://api.github.com/users/vanpelt","html_url":"https://github.com/vanpelt","followers_url":"https://api.github.com/users/vanpelt/followers","following_url":"https://api.github.com/users/vanpelt/following{/other_user}","gists_url":"https://api.github.com/users/vanpelt/gists{/gist_id}","starred_url":"https://api.github.com/users/vanpelt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanpelt/subscriptions","organizations_url":"https://api.github.com/users/vanpelt/orgs","repos_url":"https://api.github.com/users/vanpelt/repos","events_url":"https://api.github.com/users/vanpelt/events{/privacy}","received_events_url":"https://api.github.com/users/vanpelt/received_events","type":"User"},{"login":"wayneeseguin","id":18,"avatar_url":"https://secure.gravatar.com/avatar/b9b5ff40232c1dfd61238c2a90467f84?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b9b5ff40232c1dfd61238c2a90467f84","url":"https://api.github.com/users/wayneeseguin","html_url":"https://github.com/wayneeseguin","followers_url":"https://api.github.com/users/wayneeseguin/followers","following_url":"https://api.github.com/users/wayneeseguin/following{/other_user}","gists_url":"https://api.github.com/users/wayneeseguin/gists{/gist_id}","starred_url":"https://api.github.com/users/wayneeseguin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wayneeseguin/subscriptions","organizations_url":"https://api.github.com/users/wayneeseguin/orgs","repos_url":"https://api.github.com/users/wayneeseguin/repos","events_url":"https://api.github.com/users/wayneeseguin/events{/privacy}","received_events_url":"https://api.github.com/users/wayneeseguin/received_events","type":"User"},{"login":"brynary","id":19,"avatar_url":"https://secure.gravatar.com/avatar/535d73db0b47b6f745e9981e80dabdb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"535d73db0b47b6f745e9981e80dabdb4","url":"https://api.github.com/users/brynary","html_url":"https://github.com/brynary","followers_url":"https://api.github.com/users/brynary/followers","following_url":"https://api.github.com/users/brynary/following{/other_user}","gists_url":"https://api.github.com/users/brynary/gists{/gist_id}","starred_url":"https://api.github.com/users/brynary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brynary/subscriptions","organizations_url":"https://api.github.com/users/brynary/orgs","repos_url":"https://api.github.com/users/brynary/repos","events_url":"https://api.github.com/users/brynary/events{/privacy}","received_events_url":"https://api.github.com/users/brynary/received_events","type":"User"},{"login":"kevinclark","id":20,"avatar_url":"https://secure.gravatar.com/avatar/6f792b946bbf30845314eb501da5e040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6f792b946bbf30845314eb501da5e040","url":"https://api.github.com/users/kevinclark","html_url":"https://github.com/kevinclark","followers_url":"https://api.github.com/users/kevinclark/followers","following_url":"https://api.github.com/users/kevinclark/following{/other_user}","gists_url":"https://api.github.com/users/kevinclark/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinclark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinclark/subscriptions","organizations_url":"https://api.github.com/users/kevinclark/orgs","repos_url":"https://api.github.com/users/kevinclark/repos","events_url":"https://api.github.com/users/kevinclark/events{/privacy}","received_events_url":"https://api.github.com/users/kevinclark/received_events","type":"User"},{"login":"technoweenie","id":21,"avatar_url":"https://secure.gravatar.com/avatar/821395fe70906c8290df7f18ac4ac6cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"821395fe70906c8290df7f18ac4ac6cf","url":"https://api.github.com/users/technoweenie","html_url":"https://github.com/technoweenie","followers_url":"https://api.github.com/users/technoweenie/followers","following_url":"https://api.github.com/users/technoweenie/following{/other_user}","gists_url":"https://api.github.com/users/technoweenie/gists{/gist_id}","starred_url":"https://api.github.com/users/technoweenie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoweenie/subscriptions","organizations_url":"https://api.github.com/users/technoweenie/orgs","repos_url":"https://api.github.com/users/technoweenie/repos","events_url":"https://api.github.com/users/technoweenie/events{/privacy}","received_events_url":"https://api.github.com/users/technoweenie/received_events","type":"User"},{"login":"macournoyer","id":22,"avatar_url":"https://secure.gravatar.com/avatar/0d949b795e64e062c4c001c6f5a6f3f3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0d949b795e64e062c4c001c6f5a6f3f3","url":"https://api.github.com/users/macournoyer","html_url":"https://github.com/macournoyer","followers_url":"https://api.github.com/users/macournoyer/followers","following_url":"https://api.github.com/users/macournoyer/following{/other_user}","gists_url":"https://api.github.com/users/macournoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/macournoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macournoyer/subscriptions","organizations_url":"https://api.github.com/users/macournoyer/orgs","repos_url":"https://api.github.com/users/macournoyer/repos","events_url":"https://api.github.com/users/macournoyer/events{/privacy}","received_events_url":"https://api.github.com/users/macournoyer/received_events","type":"User"},{"login":"takeo","id":23,"avatar_url":"https://secure.gravatar.com/avatar/4e85af59fc5cabbec1a59fd7e25c1d5b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4e85af59fc5cabbec1a59fd7e25c1d5b","url":"https://api.github.com/users/takeo","html_url":"https://github.com/takeo","followers_url":"https://api.github.com/users/takeo/followers","following_url":"https://api.github.com/users/takeo/following{/other_user}","gists_url":"https://api.github.com/users/takeo/gists{/gist_id}","starred_url":"https://api.github.com/users/takeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takeo/subscriptions","organizations_url":"https://api.github.com/users/takeo/orgs","repos_url":"https://api.github.com/users/takeo/repos","events_url":"https://api.github.com/users/takeo/events{/privacy}","received_events_url":"https://api.github.com/users/takeo/received_events","type":"User"},{"login":"Caged","id":25,"avatar_url":"https://secure.gravatar.com/avatar/97c3a8eea9b7eaa9e1e93ea3cd47399f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"97c3a8eea9b7eaa9e1e93ea3cd47399f","url":"https://api.github.com/users/Caged","html_url":"https://github.com/Caged","followers_url":"https://api.github.com/users/Caged/followers","following_url":"https://api.github.com/users/Caged/following{/other_user}","gists_url":"https://api.github.com/users/Caged/gists{/gist_id}","starred_url":"https://api.github.com/users/Caged/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Caged/subscriptions","organizations_url":"https://api.github.com/users/Caged/orgs","repos_url":"https://api.github.com/users/Caged/repos","events_url":"https://api.github.com/users/Caged/events{/privacy}","received_events_url":"https://api.github.com/users/Caged/received_events","type":"User"},{"login":"topfunky","id":26,"avatar_url":"https://secure.gravatar.com/avatar/a9d024f5032b8de04d7c74528beb77ab?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a9d024f5032b8de04d7c74528beb77ab","url":"https://api.github.com/users/topfunky","html_url":"https://github.com/topfunky","followers_url":"https://api.github.com/users/topfunky/followers","following_url":"https://api.github.com/users/topfunky/following{/other_user}","gists_url":"https://api.github.com/users/topfunky/gists{/gist_id}","starred_url":"https://api.github.com/users/topfunky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/topfunky/subscriptions","organizations_url":"https://api.github.com/users/topfunky/orgs","repos_url":"https://api.github.com/users/topfunky/repos","events_url":"https://api.github.com/users/topfunky/events{/privacy}","received_events_url":"https://api.github.com/users/topfunky/received_events","type":"User"},{"login":"anotherjesse","id":27,"avatar_url":"https://secure.gravatar.com/avatar/50d10a8864accf0b2522c326381a4702?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"50d10a8864accf0b2522c326381a4702","url":"https://api.github.com/users/anotherjesse","html_url":"https://github.com/anotherjesse","followers_url":"https://api.github.com/users/anotherjesse/followers","following_url":"https://api.github.com/users/anotherjesse/following{/other_user}","gists_url":"https://api.github.com/users/anotherjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/anotherjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anotherjesse/subscriptions","organizations_url":"https://api.github.com/users/anotherjesse/orgs","repos_url":"https://api.github.com/users/anotherjesse/repos","events_url":"https://api.github.com/users/anotherjesse/events{/privacy}","received_events_url":"https://api.github.com/users/anotherjesse/received_events","type":"User"},{"login":"roland","id":28,"avatar_url":"https://secure.gravatar.com/avatar/a0fdde9231afc79ff35cb186690d087c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a0fdde9231afc79ff35cb186690d087c","url":"https://api.github.com/users/roland","html_url":"https://github.com/roland","followers_url":"https://api.github.com/users/roland/followers","following_url":"https://api.github.com/users/roland/following{/other_user}","gists_url":"https://api.github.com/users/roland/gists{/gist_id}","starred_url":"https://api.github.com/users/roland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roland/subscriptions","organizations_url":"https://api.github.com/users/roland/orgs","repos_url":"https://api.github.com/users/roland/repos","events_url":"https://api.github.com/users/roland/events{/privacy}","received_events_url":"https://api.github.com/users/roland/received_events","type":"User"},{"login":"lukas","id":29,"avatar_url":"https://secure.gravatar.com/avatar/be8ab9c98803e0143e4754824fc8bc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"be8ab9c98803e0143e4754824fc8bc37","url":"https://api.github.com/users/lukas","html_url":"https://github.com/lukas","followers_url":"https://api.github.com/users/lukas/followers","following_url":"https://api.github.com/users/lukas/following{/other_user}","gists_url":"https://api.github.com/users/lukas/gists{/gist_id}","starred_url":"https://api.github.com/users/lukas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukas/subscriptions","organizations_url":"https://api.github.com/users/lukas/orgs","repos_url":"https://api.github.com/users/lukas/repos","events_url":"https://api.github.com/users/lukas/events{/privacy}","received_events_url":"https://api.github.com/users/lukas/received_events","type":"User"},{"login":"fanvsfan","id":30,"avatar_url":"https://secure.gravatar.com/avatar/ed3c1cd93641334bd74b2096b43009f3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ed3c1cd93641334bd74b2096b43009f3","url":"https://api.github.com/users/fanvsfan","html_url":"https://github.com/fanvsfan","followers_url":"https://api.github.com/users/fanvsfan/followers","following_url":"https://api.github.com/users/fanvsfan/following{/other_user}","gists_url":"https://api.github.com/users/fanvsfan/gists{/gist_id}","starred_url":"https://api.github.com/users/fanvsfan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fanvsfan/subscriptions","organizations_url":"https://api.github.com/users/fanvsfan/orgs","repos_url":"https://api.github.com/users/fanvsfan/repos","events_url":"https://api.github.com/users/fanvsfan/events{/privacy}","received_events_url":"https://api.github.com/users/fanvsfan/received_events","type":"User"},{"login":"tomtt","id":31,"avatar_url":"https://secure.gravatar.com/avatar/407731ff6abcef686d6ee0c3029a12ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"407731ff6abcef686d6ee0c3029a12ad","url":"https://api.github.com/users/tomtt","html_url":"https://github.com/tomtt","followers_url":"https://api.github.com/users/tomtt/followers","following_url":"https://api.github.com/users/tomtt/following{/other_user}","gists_url":"https://api.github.com/users/tomtt/gists{/gist_id}","starred_url":"https://api.github.com/users/tomtt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomtt/subscriptions","organizations_url":"https://api.github.com/users/tomtt/orgs","repos_url":"https://api.github.com/users/tomtt/repos","events_url":"https://api.github.com/users/tomtt/events{/privacy}","received_events_url":"https://api.github.com/users/tomtt/received_events","type":"User"},{"login":"railsjitsu","id":32,"avatar_url":"https://secure.gravatar.com/avatar/7e7889b349cc5c48ab4f364c92b02e6b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7e7889b349cc5c48ab4f364c92b02e6b","url":"https://api.github.com/users/railsjitsu","html_url":"https://github.com/railsjitsu","followers_url":"https://api.github.com/users/railsjitsu/followers","following_url":"https://api.github.com/users/railsjitsu/following{/other_user}","gists_url":"https://api.github.com/users/railsjitsu/gists{/gist_id}","starred_url":"https://api.github.com/users/railsjitsu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/railsjitsu/subscriptions","organizations_url":"https://api.github.com/users/railsjitsu/orgs","repos_url":"https://api.github.com/users/railsjitsu/repos","events_url":"https://api.github.com/users/railsjitsu/events{/privacy}","received_events_url":"https://api.github.com/users/railsjitsu/received_events","type":"User"},{"login":"nitay","id":34,"avatar_url":"https://secure.gravatar.com/avatar/c7f765d33dba45433cdd38d0b522a92c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c7f765d33dba45433cdd38d0b522a92c","url":"https://api.github.com/users/nitay","html_url":"https://github.com/nitay","followers_url":"https://api.github.com/users/nitay/followers","following_url":"https://api.github.com/users/nitay/following{/other_user}","gists_url":"https://api.github.com/users/nitay/gists{/gist_id}","starred_url":"https://api.github.com/users/nitay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitay/subscriptions","organizations_url":"https://api.github.com/users/nitay/orgs","repos_url":"https://api.github.com/users/nitay/repos","events_url":"https://api.github.com/users/nitay/events{/privacy}","received_events_url":"https://api.github.com/users/nitay/received_events","type":"User"},{"login":"kevwil","id":35,"avatar_url":"https://secure.gravatar.com/avatar/267942571862781dd912de6482a35f46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"267942571862781dd912de6482a35f46","url":"https://api.github.com/users/kevwil","html_url":"https://github.com/kevwil","followers_url":"https://api.github.com/users/kevwil/followers","following_url":"https://api.github.com/users/kevwil/following{/other_user}","gists_url":"https://api.github.com/users/kevwil/gists{/gist_id}","starred_url":"https://api.github.com/users/kevwil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevwil/subscriptions","organizations_url":"https://api.github.com/users/kevwil/orgs","repos_url":"https://api.github.com/users/kevwil/repos","events_url":"https://api.github.com/users/kevwil/events{/privacy}","received_events_url":"https://api.github.com/users/kevwil/received_events","type":"User"},{"login":"KirinDave","id":36,"avatar_url":"https://secure.gravatar.com/avatar/d4fabd6c08ac228a3ff846d9d0d1580e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d4fabd6c08ac228a3ff846d9d0d1580e","url":"https://api.github.com/users/KirinDave","html_url":"https://github.com/KirinDave","followers_url":"https://api.github.com/users/KirinDave/followers","following_url":"https://api.github.com/users/KirinDave/following{/other_user}","gists_url":"https://api.github.com/users/KirinDave/gists{/gist_id}","starred_url":"https://api.github.com/users/KirinDave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KirinDave/subscriptions","organizations_url":"https://api.github.com/users/KirinDave/orgs","repos_url":"https://api.github.com/users/KirinDave/repos","events_url":"https://api.github.com/users/KirinDave/events{/privacy}","received_events_url":"https://api.github.com/users/KirinDave/received_events","type":"User"},{"login":"jamesgolick","id":37,"avatar_url":"https://secure.gravatar.com/avatar/f6eddf2f983d23c2d031e407852625e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f6eddf2f983d23c2d031e407852625e9","url":"https://api.github.com/users/jamesgolick","html_url":"https://github.com/jamesgolick","followers_url":"https://api.github.com/users/jamesgolick/followers","following_url":"https://api.github.com/users/jamesgolick/following{/other_user}","gists_url":"https://api.github.com/users/jamesgolick/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesgolick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesgolick/subscriptions","organizations_url":"https://api.github.com/users/jamesgolick/orgs","repos_url":"https://api.github.com/users/jamesgolick/repos","events_url":"https://api.github.com/users/jamesgolick/events{/privacy}","received_events_url":"https://api.github.com/users/jamesgolick/received_events","type":"User"},{"login":"atmos","id":38,"avatar_url":"https://secure.gravatar.com/avatar/a86224d72ce21cd9f5bee6784d4b06c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a86224d72ce21cd9f5bee6784d4b06c7","url":"https://api.github.com/users/atmos","html_url":"https://github.com/atmos","followers_url":"https://api.github.com/users/atmos/followers","following_url":"https://api.github.com/users/atmos/following{/other_user}","gists_url":"https://api.github.com/users/atmos/gists{/gist_id}","starred_url":"https://api.github.com/users/atmos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atmos/subscriptions","organizations_url":"https://api.github.com/users/atmos/orgs","repos_url":"https://api.github.com/users/atmos/repos","events_url":"https://api.github.com/users/atmos/events{/privacy}","received_events_url":"https://api.github.com/users/atmos/received_events","type":"User"},{"login":"errfree","id":44,"avatar_url":"https://secure.gravatar.com/avatar/f152c438d3c985f1e771a1287c762dd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"f152c438d3c985f1e771a1287c762dd6","url":"https://api.github.com/users/errfree","html_url":"https://github.com/errfree","followers_url":"https://api.github.com/users/errfree/followers","following_url":"https://api.github.com/users/errfree/following{/other_user}","gists_url":"https://api.github.com/users/errfree/gists{/gist_id}","starred_url":"https://api.github.com/users/errfree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/errfree/subscriptions","organizations_url":"https://api.github.com/users/errfree/orgs","repos_url":"https://api.github.com/users/errfree/repos","events_url":"https://api.github.com/users/errfree/events{/privacy}","received_events_url":"https://api.github.com/users/errfree/received_events","type":"Organization"},{"login":"mojodna","id":45,"avatar_url":"https://secure.gravatar.com/avatar/a0b49382b6dcd9dd4602c3088717724e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a0b49382b6dcd9dd4602c3088717724e","url":"https://api.github.com/users/mojodna","html_url":"https://github.com/mojodna","followers_url":"https://api.github.com/users/mojodna/followers","following_url":"https://api.github.com/users/mojodna/following{/other_user}","gists_url":"https://api.github.com/users/mojodna/gists{/gist_id}","starred_url":"https://api.github.com/users/mojodna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojodna/subscriptions","organizations_url":"https://api.github.com/users/mojodna/orgs","repos_url":"https://api.github.com/users/mojodna/repos","events_url":"https://api.github.com/users/mojodna/events{/privacy}","received_events_url":"https://api.github.com/users/mojodna/received_events","type":"User"},{"login":"bmizerany","id":46,"avatar_url":"https://secure.gravatar.com/avatar/1a250566b475961b9b36abf359950c76?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1a250566b475961b9b36abf359950c76","url":"https://api.github.com/users/bmizerany","html_url":"https://github.com/bmizerany","followers_url":"https://api.github.com/users/bmizerany/followers","following_url":"https://api.github.com/users/bmizerany/following{/other_user}","gists_url":"https://api.github.com/users/bmizerany/gists{/gist_id}","starred_url":"https://api.github.com/users/bmizerany/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmizerany/subscriptions","organizations_url":"https://api.github.com/users/bmizerany/orgs","repos_url":"https://api.github.com/users/bmizerany/repos","events_url":"https://api.github.com/users/bmizerany/events{/privacy}","received_events_url":"https://api.github.com/users/bmizerany/received_events","type":"User"},{"login":"jnewland","id":47,"avatar_url":"https://secure.gravatar.com/avatar/f317439da90c3176adc8938bcf5181ff?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f317439da90c3176adc8938bcf5181ff","url":"https://api.github.com/users/jnewland","html_url":"https://github.com/jnewland","followers_url":"https://api.github.com/users/jnewland/followers","following_url":"https://api.github.com/users/jnewland/following{/other_user}","gists_url":"https://api.github.com/users/jnewland/gists{/gist_id}","starred_url":"https://api.github.com/users/jnewland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnewland/subscriptions","organizations_url":"https://api.github.com/users/jnewland/orgs","repos_url":"https://api.github.com/users/jnewland/repos","events_url":"https://api.github.com/users/jnewland/events{/privacy}","received_events_url":"https://api.github.com/users/jnewland/received_events","type":"User"},{"login":"joshknowles","id":48,"avatar_url":"https://secure.gravatar.com/avatar/57e939ff00f9df2670a09f417c08da5e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"57e939ff00f9df2670a09f417c08da5e","url":"https://api.github.com/users/joshknowles","html_url":"https://github.com/joshknowles","followers_url":"https://api.github.com/users/joshknowles/followers","following_url":"https://api.github.com/users/joshknowles/following{/other_user}","gists_url":"https://api.github.com/users/joshknowles/gists{/gist_id}","starred_url":"https://api.github.com/users/joshknowles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshknowles/subscriptions","organizations_url":"https://api.github.com/users/joshknowles/orgs","repos_url":"https://api.github.com/users/joshknowles/repos","events_url":"https://api.github.com/users/joshknowles/events{/privacy}","received_events_url":"https://api.github.com/users/joshknowles/received_events","type":"User"},{"login":"hornbeck","id":49,"avatar_url":"https://secure.gravatar.com/avatar/47093444301bbde90d0aef5fa5c3ac86?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"47093444301bbde90d0aef5fa5c3ac86","url":"https://api.github.com/users/hornbeck","html_url":"https://github.com/hornbeck","followers_url":"https://api.github.com/users/hornbeck/followers","following_url":"https://api.github.com/users/hornbeck/following{/other_user}","gists_url":"https://api.github.com/users/hornbeck/gists{/gist_id}","starred_url":"https://api.github.com/users/hornbeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hornbeck/subscriptions","organizations_url":"https://api.github.com/users/hornbeck/orgs","repos_url":"https://api.github.com/users/hornbeck/repos","events_url":"https://api.github.com/users/hornbeck/events{/privacy}","received_events_url":"https://api.github.com/users/hornbeck/received_events","type":"User"},{"login":"jwhitmire","id":50,"avatar_url":"https://secure.gravatar.com/avatar/2de99c2f473304df3d95978ac9dcf2cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2de99c2f473304df3d95978ac9dcf2cc","url":"https://api.github.com/users/jwhitmire","html_url":"https://github.com/jwhitmire","followers_url":"https://api.github.com/users/jwhitmire/followers","following_url":"https://api.github.com/users/jwhitmire/following{/other_user}","gists_url":"https://api.github.com/users/jwhitmire/gists{/gist_id}","starred_url":"https://api.github.com/users/jwhitmire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwhitmire/subscriptions","organizations_url":"https://api.github.com/users/jwhitmire/orgs","repos_url":"https://api.github.com/users/jwhitmire/repos","events_url":"https://api.github.com/users/jwhitmire/events{/privacy}","received_events_url":"https://api.github.com/users/jwhitmire/received_events","type":"User"},{"login":"elbowdonkey","id":51,"avatar_url":"https://secure.gravatar.com/avatar/e71cd8cdf1a6ff389f6c7393cbd08516?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e71cd8cdf1a6ff389f6c7393cbd08516","url":"https://api.github.com/users/elbowdonkey","html_url":"https://github.com/elbowdonkey","followers_url":"https://api.github.com/users/elbowdonkey/followers","following_url":"https://api.github.com/users/elbowdonkey/following{/other_user}","gists_url":"https://api.github.com/users/elbowdonkey/gists{/gist_id}","starred_url":"https://api.github.com/users/elbowdonkey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elbowdonkey/subscriptions","organizations_url":"https://api.github.com/users/elbowdonkey/orgs","repos_url":"https://api.github.com/users/elbowdonkey/repos","events_url":"https://api.github.com/users/elbowdonkey/events{/privacy}","received_events_url":"https://api.github.com/users/elbowdonkey/received_events","type":"User"},{"login":"reinh","id":52,"avatar_url":"https://secure.gravatar.com/avatar/f30b04ed4d0b3fc4bc791a28815f34ca?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f30b04ed4d0b3fc4bc791a28815f34ca","url":"https://api.github.com/users/reinh","html_url":"https://github.com/reinh","followers_url":"https://api.github.com/users/reinh/followers","following_url":"https://api.github.com/users/reinh/following{/other_user}","gists_url":"https://api.github.com/users/reinh/gists{/gist_id}","starred_url":"https://api.github.com/users/reinh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reinh/subscriptions","organizations_url":"https://api.github.com/users/reinh/orgs","repos_url":"https://api.github.com/users/reinh/repos","events_url":"https://api.github.com/users/reinh/events{/privacy}","received_events_url":"https://api.github.com/users/reinh/received_events","type":"User"},{"login":"timocratic","id":53,"avatar_url":"https://secure.gravatar.com/avatar/984959912ebf94363592e07d7ae9eaa8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"984959912ebf94363592e07d7ae9eaa8","url":"https://api.github.com/users/timocratic","html_url":"https://github.com/timocratic","followers_url":"https://api.github.com/users/timocratic/followers","following_url":"https://api.github.com/users/timocratic/following{/other_user}","gists_url":"https://api.github.com/users/timocratic/gists{/gist_id}","starred_url":"https://api.github.com/users/timocratic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timocratic/subscriptions","organizations_url":"https://api.github.com/users/timocratic/orgs","repos_url":"https://api.github.com/users/timocratic/repos","events_url":"https://api.github.com/users/timocratic/events{/privacy}","received_events_url":"https://api.github.com/users/timocratic/received_events","type":"User"},{"login":"bs","id":68,"avatar_url":"https://secure.gravatar.com/avatar/e9abc07e644756d917e9de193236fd39?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e9abc07e644756d917e9de193236fd39","url":"https://api.github.com/users/bs","html_url":"https://github.com/bs","followers_url":"https://api.github.com/users/bs/followers","following_url":"https://api.github.com/users/bs/following{/other_user}","gists_url":"https://api.github.com/users/bs/gists{/gist_id}","starred_url":"https://api.github.com/users/bs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bs/subscriptions","organizations_url":"https://api.github.com/users/bs/orgs","repos_url":"https://api.github.com/users/bs/repos","events_url":"https://api.github.com/users/bs/events{/privacy}","received_events_url":"https://api.github.com/users/bs/received_events","type":"User"},{"login":"rsanheim","id":69,"avatar_url":"https://secure.gravatar.com/avatar/df5e7adb20adae6c120b04e7cafb15a0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"df5e7adb20adae6c120b04e7cafb15a0","url":"https://api.github.com/users/rsanheim","html_url":"https://github.com/rsanheim","followers_url":"https://api.github.com/users/rsanheim/followers","following_url":"https://api.github.com/users/rsanheim/following{/other_user}","gists_url":"https://api.github.com/users/rsanheim/gists{/gist_id}","starred_url":"https://api.github.com/users/rsanheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsanheim/subscriptions","organizations_url":"https://api.github.com/users/rsanheim/orgs","repos_url":"https://api.github.com/users/rsanheim/repos","events_url":"https://api.github.com/users/rsanheim/events{/privacy}","received_events_url":"https://api.github.com/users/rsanheim/received_events","type":"User"},{"login":"schacon","id":70,"avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9375a9529679f1b42b567a640d775e7d","url":"https://api.github.com/users/schacon","html_url":"https://github.com/schacon","followers_url":"https://api.github.com/users/schacon/followers","following_url":"https://api.github.com/users/schacon/following{/other_user}","gists_url":"https://api.github.com/users/schacon/gists{/gist_id}","starred_url":"https://api.github.com/users/schacon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schacon/subscriptions","organizations_url":"https://api.github.com/users/schacon/orgs","repos_url":"https://api.github.com/users/schacon/repos","events_url":"https://api.github.com/users/schacon/events{/privacy}","received_events_url":"https://api.github.com/users/schacon/received_events","type":"User"},{"login":"uggedal","id":71,"avatar_url":"https://secure.gravatar.com/avatar/0339e3df937c32000f9e2cf1de04298d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0339e3df937c32000f9e2cf1de04298d","url":"https://api.github.com/users/uggedal","html_url":"https://github.com/uggedal","followers_url":"https://api.github.com/users/uggedal/followers","following_url":"https://api.github.com/users/uggedal/following{/other_user}","gists_url":"https://api.github.com/users/uggedal/gists{/gist_id}","starred_url":"https://api.github.com/users/uggedal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uggedal/subscriptions","organizations_url":"https://api.github.com/users/uggedal/orgs","repos_url":"https://api.github.com/users/uggedal/repos","events_url":"https://api.github.com/users/uggedal/events{/privacy}","received_events_url":"https://api.github.com/users/uggedal/received_events","type":"User"},{"login":"bruce","id":72,"avatar_url":"https://secure.gravatar.com/avatar/e01449f66c9665b7ebc70ebca6921427?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e01449f66c9665b7ebc70ebca6921427","url":"https://api.github.com/users/bruce","html_url":"https://github.com/bruce","followers_url":"https://api.github.com/users/bruce/followers","following_url":"https://api.github.com/users/bruce/following{/other_user}","gists_url":"https://api.github.com/users/bruce/gists{/gist_id}","starred_url":"https://api.github.com/users/bruce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bruce/subscriptions","organizations_url":"https://api.github.com/users/bruce/orgs","repos_url":"https://api.github.com/users/bruce/repos","events_url":"https://api.github.com/users/bruce/events{/privacy}","received_events_url":"https://api.github.com/users/bruce/received_events","type":"User"},{"login":"sam","id":73,"avatar_url":"https://secure.gravatar.com/avatar/41c597a48c80e37ba68d1adc7095ea0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"41c597a48c80e37ba68d1adc7095ea0e","url":"https://api.github.com/users/sam","html_url":"https://github.com/sam","followers_url":"https://api.github.com/users/sam/followers","following_url":"https://api.github.com/users/sam/following{/other_user}","gists_url":"https://api.github.com/users/sam/gists{/gist_id}","starred_url":"https://api.github.com/users/sam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sam/subscriptions","organizations_url":"https://api.github.com/users/sam/orgs","repos_url":"https://api.github.com/users/sam/repos","events_url":"https://api.github.com/users/sam/events{/privacy}","received_events_url":"https://api.github.com/users/sam/received_events","type":"User"},{"login":"mmower","id":74,"avatar_url":"https://secure.gravatar.com/avatar/9d89c1c7a998c1f6f6e3fa9ac1753d29?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9d89c1c7a998c1f6f6e3fa9ac1753d29","url":"https://api.github.com/users/mmower","html_url":"https://github.com/mmower","followers_url":"https://api.github.com/users/mmower/followers","following_url":"https://api.github.com/users/mmower/following{/other_user}","gists_url":"https://api.github.com/users/mmower/gists{/gist_id}","starred_url":"https://api.github.com/users/mmower/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmower/subscriptions","organizations_url":"https://api.github.com/users/mmower/orgs","repos_url":"https://api.github.com/users/mmower/repos","events_url":"https://api.github.com/users/mmower/events{/privacy}","received_events_url":"https://api.github.com/users/mmower/received_events","type":"User"},{"login":"abhay","id":75,"avatar_url":"https://secure.gravatar.com/avatar/012b62cf82e7956ffe8f47086be831de?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"012b62cf82e7956ffe8f47086be831de","url":"https://api.github.com/users/abhay","html_url":"https://github.com/abhay","followers_url":"https://api.github.com/users/abhay/followers","following_url":"https://api.github.com/users/abhay/following{/other_user}","gists_url":"https://api.github.com/users/abhay/gists{/gist_id}","starred_url":"https://api.github.com/users/abhay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhay/subscriptions","organizations_url":"https://api.github.com/users/abhay/orgs","repos_url":"https://api.github.com/users/abhay/repos","events_url":"https://api.github.com/users/abhay/events{/privacy}","received_events_url":"https://api.github.com/users/abhay/received_events","type":"User"},{"login":"rabble","id":76,"avatar_url":"https://secure.gravatar.com/avatar/0d81b7e9dd9a8372a69abf2c9f942ec9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0d81b7e9dd9a8372a69abf2c9f942ec9","url":"https://api.github.com/users/rabble","html_url":"https://github.com/rabble","followers_url":"https://api.github.com/users/rabble/followers","following_url":"https://api.github.com/users/rabble/following{/other_user}","gists_url":"https://api.github.com/users/rabble/gists{/gist_id}","starred_url":"https://api.github.com/users/rabble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rabble/subscriptions","organizations_url":"https://api.github.com/users/rabble/orgs","repos_url":"https://api.github.com/users/rabble/repos","events_url":"https://api.github.com/users/rabble/events{/privacy}","received_events_url":"https://api.github.com/users/rabble/received_events","type":"User"},{"login":"benburkert","id":77,"avatar_url":"https://secure.gravatar.com/avatar/4d1c9dad17af98e55cb65b4efce27c42?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4d1c9dad17af98e55cb65b4efce27c42","url":"https://api.github.com/users/benburkert","html_url":"https://github.com/benburkert","followers_url":"https://api.github.com/users/benburkert/followers","following_url":"https://api.github.com/users/benburkert/following{/other_user}","gists_url":"https://api.github.com/users/benburkert/gists{/gist_id}","starred_url":"https://api.github.com/users/benburkert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benburkert/subscriptions","organizations_url":"https://api.github.com/users/benburkert/orgs","repos_url":"https://api.github.com/users/benburkert/repos","events_url":"https://api.github.com/users/benburkert/events{/privacy}","received_events_url":"https://api.github.com/users/benburkert/received_events","type":"User"},{"login":"indirect","id":78,"avatar_url":"https://secure.gravatar.com/avatar/4c3ed917e59156a36212d48155831482?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4c3ed917e59156a36212d48155831482","url":"https://api.github.com/users/indirect","html_url":"https://github.com/indirect","followers_url":"https://api.github.com/users/indirect/followers","following_url":"https://api.github.com/users/indirect/following{/other_user}","gists_url":"https://api.github.com/users/indirect/gists{/gist_id}","starred_url":"https://api.github.com/users/indirect/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/indirect/subscriptions","organizations_url":"https://api.github.com/users/indirect/orgs","repos_url":"https://api.github.com/users/indirect/repos","events_url":"https://api.github.com/users/indirect/events{/privacy}","received_events_url":"https://api.github.com/users/indirect/received_events","type":"User"},{"login":"fearoffish","id":79,"avatar_url":"https://secure.gravatar.com/avatar/68997894c112b0878885ef2d8ac065eb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"68997894c112b0878885ef2d8ac065eb","url":"https://api.github.com/users/fearoffish","html_url":"https://github.com/fearoffish","followers_url":"https://api.github.com/users/fearoffish/followers","following_url":"https://api.github.com/users/fearoffish/following{/other_user}","gists_url":"https://api.github.com/users/fearoffish/gists{/gist_id}","starred_url":"https://api.github.com/users/fearoffish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fearoffish/subscriptions","organizations_url":"https://api.github.com/users/fearoffish/orgs","repos_url":"https://api.github.com/users/fearoffish/repos","events_url":"https://api.github.com/users/fearoffish/events{/privacy}","received_events_url":"https://api.github.com/users/fearoffish/received_events","type":"User"},{"login":"ry","id":80,"avatar_url":"https://secure.gravatar.com/avatar/b984299ceb40752b58146714eb192554?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b984299ceb40752b58146714eb192554","url":"https://api.github.com/users/ry","html_url":"https://github.com/ry","followers_url":"https://api.github.com/users/ry/followers","following_url":"https://api.github.com/users/ry/following{/other_user}","gists_url":"https://api.github.com/users/ry/gists{/gist_id}","starred_url":"https://api.github.com/users/ry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ry/subscriptions","organizations_url":"https://api.github.com/users/ry/orgs","repos_url":"https://api.github.com/users/ry/repos","events_url":"https://api.github.com/users/ry/events{/privacy}","received_events_url":"https://api.github.com/users/ry/received_events","type":"User"},{"login":"engineyard","id":81,"avatar_url":"https://secure.gravatar.com/avatar/27f95ff21f0a4b94a72de0e8f780d4d2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"27f95ff21f0a4b94a72de0e8f780d4d2","url":"https://api.github.com/users/engineyard","html_url":"https://github.com/engineyard","followers_url":"https://api.github.com/users/engineyard/followers","following_url":"https://api.github.com/users/engineyard/following{/other_user}","gists_url":"https://api.github.com/users/engineyard/gists{/gist_id}","starred_url":"https://api.github.com/users/engineyard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/engineyard/subscriptions","organizations_url":"https://api.github.com/users/engineyard/orgs","repos_url":"https://api.github.com/users/engineyard/repos","events_url":"https://api.github.com/users/engineyard/events{/privacy}","received_events_url":"https://api.github.com/users/engineyard/received_events","type":"Organization"},{"login":"jsierles","id":82,"avatar_url":"https://secure.gravatar.com/avatar/1bd957835a856ab9040d96696e0524af?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1bd957835a856ab9040d96696e0524af","url":"https://api.github.com/users/jsierles","html_url":"https://github.com/jsierles","followers_url":"https://api.github.com/users/jsierles/followers","following_url":"https://api.github.com/users/jsierles/following{/other_user}","gists_url":"https://api.github.com/users/jsierles/gists{/gist_id}","starred_url":"https://api.github.com/users/jsierles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsierles/subscriptions","organizations_url":"https://api.github.com/users/jsierles/orgs","repos_url":"https://api.github.com/users/jsierles/repos","events_url":"https://api.github.com/users/jsierles/events{/privacy}","received_events_url":"https://api.github.com/users/jsierles/received_events","type":"User"},{"login":"tweibley","id":83,"avatar_url":"https://secure.gravatar.com/avatar/b145a4e73d5c71886fa9a5438e222d91?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b145a4e73d5c71886fa9a5438e222d91","url":"https://api.github.com/users/tweibley","html_url":"https://github.com/tweibley","followers_url":"https://api.github.com/users/tweibley/followers","following_url":"https://api.github.com/users/tweibley/following{/other_user}","gists_url":"https://api.github.com/users/tweibley/gists{/gist_id}","starred_url":"https://api.github.com/users/tweibley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tweibley/subscriptions","organizations_url":"https://api.github.com/users/tweibley/orgs","repos_url":"https://api.github.com/users/tweibley/repos","events_url":"https://api.github.com/users/tweibley/events{/privacy}","received_events_url":"https://api.github.com/users/tweibley/received_events","type":"User"},{"login":"peimei","id":84,"avatar_url":"https://secure.gravatar.com/avatar/4ab3cf52f63deb10800e3a3775794bfb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ab3cf52f63deb10800e3a3775794bfb","url":"https://api.github.com/users/peimei","html_url":"https://github.com/peimei","followers_url":"https://api.github.com/users/peimei/followers","following_url":"https://api.github.com/users/peimei/following{/other_user}","gists_url":"https://api.github.com/users/peimei/gists{/gist_id}","starred_url":"https://api.github.com/users/peimei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peimei/subscriptions","organizations_url":"https://api.github.com/users/peimei/orgs","repos_url":"https://api.github.com/users/peimei/repos","events_url":"https://api.github.com/users/peimei/events{/privacy}","received_events_url":"https://api.github.com/users/peimei/received_events","type":"User"},{"login":"brixen","id":85,"avatar_url":"https://secure.gravatar.com/avatar/a8e44ce1b57c2689d5a7172d15df42b5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a8e44ce1b57c2689d5a7172d15df42b5","url":"https://api.github.com/users/brixen","html_url":"https://github.com/brixen","followers_url":"https://api.github.com/users/brixen/followers","following_url":"https://api.github.com/users/brixen/following{/other_user}","gists_url":"https://api.github.com/users/brixen/gists{/gist_id}","starred_url":"https://api.github.com/users/brixen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brixen/subscriptions","organizations_url":"https://api.github.com/users/brixen/orgs","repos_url":"https://api.github.com/users/brixen/repos","events_url":"https://api.github.com/users/brixen/events{/privacy}","received_events_url":"https://api.github.com/users/brixen/received_events","type":"User"},{"login":"tmornini","id":87,"avatar_url":"https://secure.gravatar.com/avatar/1b6d52da24b30bae630ee0993372ee1e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1b6d52da24b30bae630ee0993372ee1e","url":"https://api.github.com/users/tmornini","html_url":"https://github.com/tmornini","followers_url":"https://api.github.com/users/tmornini/followers","following_url":"https://api.github.com/users/tmornini/following{/other_user}","gists_url":"https://api.github.com/users/tmornini/gists{/gist_id}","starred_url":"https://api.github.com/users/tmornini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmornini/subscriptions","organizations_url":"https://api.github.com/users/tmornini/orgs","repos_url":"https://api.github.com/users/tmornini/repos","events_url":"https://api.github.com/users/tmornini/events{/privacy}","received_events_url":"https://api.github.com/users/tmornini/received_events","type":"User"},{"login":"outerim","id":88,"avatar_url":"https://secure.gravatar.com/avatar/dc5c452fdda58299526be1ad75416ad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"dc5c452fdda58299526be1ad75416ad5","url":"https://api.github.com/users/outerim","html_url":"https://github.com/outerim","followers_url":"https://api.github.com/users/outerim/followers","following_url":"https://api.github.com/users/outerim/following{/other_user}","gists_url":"https://api.github.com/users/outerim/gists{/gist_id}","starred_url":"https://api.github.com/users/outerim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/outerim/subscriptions","organizations_url":"https://api.github.com/users/outerim/orgs","repos_url":"https://api.github.com/users/outerim/repos","events_url":"https://api.github.com/users/outerim/events{/privacy}","received_events_url":"https://api.github.com/users/outerim/received_events","type":"User"},{"login":"daksis","id":89,"avatar_url":"https://secure.gravatar.com/avatar/ab4480bc43e3f6d845a43fe9659041fd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ab4480bc43e3f6d845a43fe9659041fd","url":"https://api.github.com/users/daksis","html_url":"https://github.com/daksis","followers_url":"https://api.github.com/users/daksis/followers","following_url":"https://api.github.com/users/daksis/following{/other_user}","gists_url":"https://api.github.com/users/daksis/gists{/gist_id}","starred_url":"https://api.github.com/users/daksis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daksis/subscriptions","organizations_url":"https://api.github.com/users/daksis/orgs","repos_url":"https://api.github.com/users/daksis/repos","events_url":"https://api.github.com/users/daksis/events{/privacy}","received_events_url":"https://api.github.com/users/daksis/received_events","type":"User"},{"login":"sr","id":90,"avatar_url":"https://secure.gravatar.com/avatar/8cf17bf55c4d16cf52480619bb0b6c92?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8cf17bf55c4d16cf52480619bb0b6c92","url":"https://api.github.com/users/sr","html_url":"https://github.com/sr","followers_url":"https://api.github.com/users/sr/followers","following_url":"https://api.github.com/users/sr/following{/other_user}","gists_url":"https://api.github.com/users/sr/gists{/gist_id}","starred_url":"https://api.github.com/users/sr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sr/subscriptions","organizations_url":"https://api.github.com/users/sr/orgs","repos_url":"https://api.github.com/users/sr/repos","events_url":"https://api.github.com/users/sr/events{/privacy}","received_events_url":"https://api.github.com/users/sr/received_events","type":"User"},{"login":"lifo","id":91,"avatar_url":"https://secure.gravatar.com/avatar/a05834e9b5954947eb0ba3b570c47d5e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a05834e9b5954947eb0ba3b570c47d5e","url":"https://api.github.com/users/lifo","html_url":"https://github.com/lifo","followers_url":"https://api.github.com/users/lifo/followers","following_url":"https://api.github.com/users/lifo/following{/other_user}","gists_url":"https://api.github.com/users/lifo/gists{/gist_id}","starred_url":"https://api.github.com/users/lifo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lifo/subscriptions","organizations_url":"https://api.github.com/users/lifo/orgs","repos_url":"https://api.github.com/users/lifo/repos","events_url":"https://api.github.com/users/lifo/events{/privacy}","received_events_url":"https://api.github.com/users/lifo/received_events","type":"User"},{"login":"rsl","id":92,"avatar_url":"https://secure.gravatar.com/avatar/70225136eacd3d870f64e03bff678655?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"70225136eacd3d870f64e03bff678655","url":"https://api.github.com/users/rsl","html_url":"https://github.com/rsl","followers_url":"https://api.github.com/users/rsl/followers","following_url":"https://api.github.com/users/rsl/following{/other_user}","gists_url":"https://api.github.com/users/rsl/gists{/gist_id}","starred_url":"https://api.github.com/users/rsl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsl/subscriptions","organizations_url":"https://api.github.com/users/rsl/orgs","repos_url":"https://api.github.com/users/rsl/repos","events_url":"https://api.github.com/users/rsl/events{/privacy}","received_events_url":"https://api.github.com/users/rsl/received_events","type":"User"},{"login":"imownbey","id":93,"avatar_url":"https://secure.gravatar.com/avatar/1df2bf5b0af6ab60c1e0103098023976?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1df2bf5b0af6ab60c1e0103098023976","url":"https://api.github.com/users/imownbey","html_url":"https://github.com/imownbey","followers_url":"https://api.github.com/users/imownbey/followers","following_url":"https://api.github.com/users/imownbey/following{/other_user}","gists_url":"https://api.github.com/users/imownbey/gists{/gist_id}","starred_url":"https://api.github.com/users/imownbey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imownbey/subscriptions","organizations_url":"https://api.github.com/users/imownbey/orgs","repos_url":"https://api.github.com/users/imownbey/repos","events_url":"https://api.github.com/users/imownbey/events{/privacy}","received_events_url":"https://api.github.com/users/imownbey/received_events","type":"User"},{"login":"dylanegan","id":94,"avatar_url":"https://secure.gravatar.com/avatar/a843658f82ac78a00e135b851467b2d3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a843658f82ac78a00e135b851467b2d3","url":"https://api.github.com/users/dylanegan","html_url":"https://github.com/dylanegan","followers_url":"https://api.github.com/users/dylanegan/followers","following_url":"https://api.github.com/users/dylanegan/following{/other_user}","gists_url":"https://api.github.com/users/dylanegan/gists{/gist_id}","starred_url":"https://api.github.com/users/dylanegan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylanegan/subscriptions","organizations_url":"https://api.github.com/users/dylanegan/orgs","repos_url":"https://api.github.com/users/dylanegan/repos","events_url":"https://api.github.com/users/dylanegan/events{/privacy}","received_events_url":"https://api.github.com/users/dylanegan/received_events","type":"User"},{"login":"jm","id":95,"avatar_url":"https://secure.gravatar.com/avatar/6ac41c39b6087f6e059f31903ffc003e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ac41c39b6087f6e059f31903ffc003e","url":"https://api.github.com/users/jm","html_url":"https://github.com/jm","followers_url":"https://api.github.com/users/jm/followers","following_url":"https://api.github.com/users/jm/following{/other_user}","gists_url":"https://api.github.com/users/jm/gists{/gist_id}","starred_url":"https://api.github.com/users/jm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm/subscriptions","organizations_url":"https://api.github.com/users/jm/orgs","repos_url":"https://api.github.com/users/jm/repos","events_url":"https://api.github.com/users/jm/events{/privacy}","received_events_url":"https://api.github.com/users/jm/received_events","type":"User"},{"login":"willcodeforfoo","id":100,"avatar_url":"https://secure.gravatar.com/avatar/6a2f7f7a997fab1dbf815d155cca50ee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6a2f7f7a997fab1dbf815d155cca50ee","url":"https://api.github.com/users/willcodeforfoo","html_url":"https://github.com/willcodeforfoo","followers_url":"https://api.github.com/users/willcodeforfoo/followers","following_url":"https://api.github.com/users/willcodeforfoo/following{/other_user}","gists_url":"https://api.github.com/users/willcodeforfoo/gists{/gist_id}","starred_url":"https://api.github.com/users/willcodeforfoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/willcodeforfoo/subscriptions","organizations_url":"https://api.github.com/users/willcodeforfoo/orgs","repos_url":"https://api.github.com/users/willcodeforfoo/repos","events_url":"https://api.github.com/users/willcodeforfoo/events{/privacy}","received_events_url":"https://api.github.com/users/willcodeforfoo/received_events","type":"User"},{"login":"jvantuyl","id":101,"avatar_url":"https://secure.gravatar.com/avatar/ae92f1b2f224075cf8604bf608a5f88c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae92f1b2f224075cf8604bf608a5f88c","url":"https://api.github.com/users/jvantuyl","html_url":"https://github.com/jvantuyl","followers_url":"https://api.github.com/users/jvantuyl/followers","following_url":"https://api.github.com/users/jvantuyl/following{/other_user}","gists_url":"https://api.github.com/users/jvantuyl/gists{/gist_id}","starred_url":"https://api.github.com/users/jvantuyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvantuyl/subscriptions","organizations_url":"https://api.github.com/users/jvantuyl/orgs","repos_url":"https://api.github.com/users/jvantuyl/repos","events_url":"https://api.github.com/users/jvantuyl/events{/privacy}","received_events_url":"https://api.github.com/users/jvantuyl/received_events","type":"User"},{"login":"BrianTheCoder","id":102,"avatar_url":"https://secure.gravatar.com/avatar/3f91cf60c92b20940674ebdeb46f6582?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3f91cf60c92b20940674ebdeb46f6582","url":"https://api.github.com/users/BrianTheCoder","html_url":"https://github.com/BrianTheCoder","followers_url":"https://api.github.com/users/BrianTheCoder/followers","following_url":"https://api.github.com/users/BrianTheCoder/following{/other_user}","gists_url":"https://api.github.com/users/BrianTheCoder/gists{/gist_id}","starred_url":"https://api.github.com/users/BrianTheCoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrianTheCoder/subscriptions","organizations_url":"https://api.github.com/users/BrianTheCoder/orgs","repos_url":"https://api.github.com/users/BrianTheCoder/repos","events_url":"https://api.github.com/users/BrianTheCoder/events{/privacy}","received_events_url":"https://api.github.com/users/BrianTheCoder/received_events","type":"User"},{"login":"freeformz","id":103,"avatar_url":"https://secure.gravatar.com/avatar/d0ddef50299354758664f679265746cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d0ddef50299354758664f679265746cd","url":"https://api.github.com/users/freeformz","html_url":"https://github.com/freeformz","followers_url":"https://api.github.com/users/freeformz/followers","following_url":"https://api.github.com/users/freeformz/following{/other_user}","gists_url":"https://api.github.com/users/freeformz/gists{/gist_id}","starred_url":"https://api.github.com/users/freeformz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freeformz/subscriptions","organizations_url":"https://api.github.com/users/freeformz/orgs","repos_url":"https://api.github.com/users/freeformz/repos","events_url":"https://api.github.com/users/freeformz/events{/privacy}","received_events_url":"https://api.github.com/users/freeformz/received_events","type":"User"},{"login":"hassox","id":104,"avatar_url":"https://secure.gravatar.com/avatar/9d1f5d2d9de70bd9a934f557dc95a406?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9d1f5d2d9de70bd9a934f557dc95a406","url":"https://api.github.com/users/hassox","html_url":"https://github.com/hassox","followers_url":"https://api.github.com/users/hassox/followers","following_url":"https://api.github.com/users/hassox/following{/other_user}","gists_url":"https://api.github.com/users/hassox/gists{/gist_id}","starred_url":"https://api.github.com/users/hassox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hassox/subscriptions","organizations_url":"https://api.github.com/users/hassox/orgs","repos_url":"https://api.github.com/users/hassox/repos","events_url":"https://api.github.com/users/hassox/events{/privacy}","received_events_url":"https://api.github.com/users/hassox/received_events","type":"User"},{"login":"automatthew","id":105,"avatar_url":"https://secure.gravatar.com/avatar/491d5a2b6e9c9346e2d67da31a633457?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"491d5a2b6e9c9346e2d67da31a633457","url":"https://api.github.com/users/automatthew","html_url":"https://github.com/automatthew","followers_url":"https://api.github.com/users/automatthew/followers","following_url":"https://api.github.com/users/automatthew/following{/other_user}","gists_url":"https://api.github.com/users/automatthew/gists{/gist_id}","starred_url":"https://api.github.com/users/automatthew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/automatthew/subscriptions","organizations_url":"https://api.github.com/users/automatthew/orgs","repos_url":"https://api.github.com/users/automatthew/repos","events_url":"https://api.github.com/users/automatthew/events{/privacy}","received_events_url":"https://api.github.com/users/automatthew/received_events","type":"User"},{"login":"queso","id":106,"avatar_url":"https://secure.gravatar.com/avatar/089ddf30c09022b92363dd0d8ce2bdfd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"089ddf30c09022b92363dd0d8ce2bdfd","url":"https://api.github.com/users/queso","html_url":"https://github.com/queso","followers_url":"https://api.github.com/users/queso/followers","following_url":"https://api.github.com/users/queso/following{/other_user}","gists_url":"https://api.github.com/users/queso/gists{/gist_id}","starred_url":"https://api.github.com/users/queso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/queso/subscriptions","organizations_url":"https://api.github.com/users/queso/orgs","repos_url":"https://api.github.com/users/queso/repos","events_url":"https://api.github.com/users/queso/events{/privacy}","received_events_url":"https://api.github.com/users/queso/received_events","type":"User"},{"login":"lancecarlson","id":107,"avatar_url":"https://secure.gravatar.com/avatar/4f2a6021d0a8e02fe6dcce1a202f251f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4f2a6021d0a8e02fe6dcce1a202f251f","url":"https://api.github.com/users/lancecarlson","html_url":"https://github.com/lancecarlson","followers_url":"https://api.github.com/users/lancecarlson/followers","following_url":"https://api.github.com/users/lancecarlson/following{/other_user}","gists_url":"https://api.github.com/users/lancecarlson/gists{/gist_id}","starred_url":"https://api.github.com/users/lancecarlson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lancecarlson/subscriptions","organizations_url":"https://api.github.com/users/lancecarlson/orgs","repos_url":"https://api.github.com/users/lancecarlson/repos","events_url":"https://api.github.com/users/lancecarlson/events{/privacy}","received_events_url":"https://api.github.com/users/lancecarlson/received_events","type":"User"},{"login":"drnic","id":108,"avatar_url":"https://secure.gravatar.com/avatar/cb2b768a5e546b24052ea03334e43676?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cb2b768a5e546b24052ea03334e43676","url":"https://api.github.com/users/drnic","html_url":"https://github.com/drnic","followers_url":"https://api.github.com/users/drnic/followers","following_url":"https://api.github.com/users/drnic/following{/other_user}","gists_url":"https://api.github.com/users/drnic/gists{/gist_id}","starred_url":"https://api.github.com/users/drnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drnic/subscriptions","organizations_url":"https://api.github.com/users/drnic/orgs","repos_url":"https://api.github.com/users/drnic/repos","events_url":"https://api.github.com/users/drnic/events{/privacy}","received_events_url":"https://api.github.com/users/drnic/received_events","type":"User"},{"login":"lukesutton","id":109,"avatar_url":"https://secure.gravatar.com/avatar/a3017ef8782075ffe81b8b3afd464c5f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3017ef8782075ffe81b8b3afd464c5f","url":"https://api.github.com/users/lukesutton","html_url":"https://github.com/lukesutton","followers_url":"https://api.github.com/users/lukesutton/followers","following_url":"https://api.github.com/users/lukesutton/following{/other_user}","gists_url":"https://api.github.com/users/lukesutton/gists{/gist_id}","starred_url":"https://api.github.com/users/lukesutton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukesutton/subscriptions","organizations_url":"https://api.github.com/users/lukesutton/orgs","repos_url":"https://api.github.com/users/lukesutton/repos","events_url":"https://api.github.com/users/lukesutton/events{/privacy}","received_events_url":"https://api.github.com/users/lukesutton/received_events","type":"User"},{"login":"danwrong","id":110,"avatar_url":"https://secure.gravatar.com/avatar/0727907ae68db2e8ebc1ea1b01f00d69?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0727907ae68db2e8ebc1ea1b01f00d69","url":"https://api.github.com/users/danwrong","html_url":"https://github.com/danwrong","followers_url":"https://api.github.com/users/danwrong/followers","following_url":"https://api.github.com/users/danwrong/following{/other_user}","gists_url":"https://api.github.com/users/danwrong/gists{/gist_id}","starred_url":"https://api.github.com/users/danwrong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danwrong/subscriptions","organizations_url":"https://api.github.com/users/danwrong/orgs","repos_url":"https://api.github.com/users/danwrong/repos","events_url":"https://api.github.com/users/danwrong/events{/privacy}","received_events_url":"https://api.github.com/users/danwrong/received_events","type":"User"},{"login":"hcatlin","id":111,"avatar_url":"https://secure.gravatar.com/avatar/a77873df3a9766b208e009248a2a9a56?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a77873df3a9766b208e009248a2a9a56","url":"https://api.github.com/users/hcatlin","html_url":"https://github.com/hcatlin","followers_url":"https://api.github.com/users/hcatlin/followers","following_url":"https://api.github.com/users/hcatlin/following{/other_user}","gists_url":"https://api.github.com/users/hcatlin/gists{/gist_id}","starred_url":"https://api.github.com/users/hcatlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hcatlin/subscriptions","organizations_url":"https://api.github.com/users/hcatlin/orgs","repos_url":"https://api.github.com/users/hcatlin/repos","events_url":"https://api.github.com/users/hcatlin/events{/privacy}","received_events_url":"https://api.github.com/users/hcatlin/received_events","type":"User"},{"login":"jfrost","id":112,"avatar_url":"https://secure.gravatar.com/avatar/0be47dc418f1d83d42e4387b0cd129e7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0be47dc418f1d83d42e4387b0cd129e7","url":"https://api.github.com/users/jfrost","html_url":"https://github.com/jfrost","followers_url":"https://api.github.com/users/jfrost/followers","following_url":"https://api.github.com/users/jfrost/following{/other_user}","gists_url":"https://api.github.com/users/jfrost/gists{/gist_id}","starred_url":"https://api.github.com/users/jfrost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfrost/subscriptions","organizations_url":"https://api.github.com/users/jfrost/orgs","repos_url":"https://api.github.com/users/jfrost/repos","events_url":"https://api.github.com/users/jfrost/events{/privacy}","received_events_url":"https://api.github.com/users/jfrost/received_events","type":"User"},{"login":"mattetti","id":113,"avatar_url":"https://secure.gravatar.com/avatar/c69521d6e22fc0bbd69337ec8b1698df?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c69521d6e22fc0bbd69337ec8b1698df","url":"https://api.github.com/users/mattetti","html_url":"https://github.com/mattetti","followers_url":"https://api.github.com/users/mattetti/followers","following_url":"https://api.github.com/users/mattetti/following{/other_user}","gists_url":"https://api.github.com/users/mattetti/gists{/gist_id}","starred_url":"https://api.github.com/users/mattetti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattetti/subscriptions","organizations_url":"https://api.github.com/users/mattetti/orgs","repos_url":"https://api.github.com/users/mattetti/repos","events_url":"https://api.github.com/users/mattetti/events{/privacy}","received_events_url":"https://api.github.com/users/mattetti/received_events","type":"User"},{"login":"ctennis","id":114,"avatar_url":"https://secure.gravatar.com/avatar/19857df1802f5eeec3dc7e359d757fca?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"19857df1802f5eeec3dc7e359d757fca","url":"https://api.github.com/users/ctennis","html_url":"https://github.com/ctennis","followers_url":"https://api.github.com/users/ctennis/followers","following_url":"https://api.github.com/users/ctennis/following{/other_user}","gists_url":"https://api.github.com/users/ctennis/gists{/gist_id}","starred_url":"https://api.github.com/users/ctennis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ctennis/subscriptions","organizations_url":"https://api.github.com/users/ctennis/orgs","repos_url":"https://api.github.com/users/ctennis/repos","events_url":"https://api.github.com/users/ctennis/events{/privacy}","received_events_url":"https://api.github.com/users/ctennis/received_events","type":"User"},{"login":"lawrencepit","id":115,"avatar_url":"https://secure.gravatar.com/avatar/a31c2c26350e9e2b07fbd99fbd5ff520?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a31c2c26350e9e2b07fbd99fbd5ff520","url":"https://api.github.com/users/lawrencepit","html_url":"https://github.com/lawrencepit","followers_url":"https://api.github.com/users/lawrencepit/followers","following_url":"https://api.github.com/users/lawrencepit/following{/other_user}","gists_url":"https://api.github.com/users/lawrencepit/gists{/gist_id}","starred_url":"https://api.github.com/users/lawrencepit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lawrencepit/subscriptions","organizations_url":"https://api.github.com/users/lawrencepit/orgs","repos_url":"https://api.github.com/users/lawrencepit/repos","events_url":"https://api.github.com/users/lawrencepit/events{/privacy}","received_events_url":"https://api.github.com/users/lawrencepit/received_events","type":"User"},{"login":"marcjeanson","id":116,"avatar_url":"https://secure.gravatar.com/avatar/da5b4f39ce382519beb6dfb8fe12b560?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"da5b4f39ce382519beb6dfb8fe12b560","url":"https://api.github.com/users/marcjeanson","html_url":"https://github.com/marcjeanson","followers_url":"https://api.github.com/users/marcjeanson/followers","following_url":"https://api.github.com/users/marcjeanson/following{/other_user}","gists_url":"https://api.github.com/users/marcjeanson/gists{/gist_id}","starred_url":"https://api.github.com/users/marcjeanson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcjeanson/subscriptions","organizations_url":"https://api.github.com/users/marcjeanson/orgs","repos_url":"https://api.github.com/users/marcjeanson/repos","events_url":"https://api.github.com/users/marcjeanson/events{/privacy}","received_events_url":"https://api.github.com/users/marcjeanson/received_events","type":"User"},{"login":"grempe","id":117,"avatar_url":"https://secure.gravatar.com/avatar/126e4e797131e8bf3adc528c6a4d78ec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"126e4e797131e8bf3adc528c6a4d78ec","url":"https://api.github.com/users/grempe","html_url":"https://github.com/grempe","followers_url":"https://api.github.com/users/grempe/followers","following_url":"https://api.github.com/users/grempe/following{/other_user}","gists_url":"https://api.github.com/users/grempe/gists{/gist_id}","starred_url":"https://api.github.com/users/grempe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grempe/subscriptions","organizations_url":"https://api.github.com/users/grempe/orgs","repos_url":"https://api.github.com/users/grempe/repos","events_url":"https://api.github.com/users/grempe/events{/privacy}","received_events_url":"https://api.github.com/users/grempe/received_events","type":"User"},{"login":"peterc","id":118,"avatar_url":"https://secure.gravatar.com/avatar/6268c7528d855f1cef5696a00d159909?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6268c7528d855f1cef5696a00d159909","url":"https://api.github.com/users/peterc","html_url":"https://github.com/peterc","followers_url":"https://api.github.com/users/peterc/followers","following_url":"https://api.github.com/users/peterc/following{/other_user}","gists_url":"https://api.github.com/users/peterc/gists{/gist_id}","starred_url":"https://api.github.com/users/peterc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterc/subscriptions","organizations_url":"https://api.github.com/users/peterc/orgs","repos_url":"https://api.github.com/users/peterc/repos","events_url":"https://api.github.com/users/peterc/events{/privacy}","received_events_url":"https://api.github.com/users/peterc/received_events","type":"User"},{"login":"ministrycentered","id":119,"avatar_url":"https://secure.gravatar.com/avatar/f7e31611579183a67d8290ac024418b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"f7e31611579183a67d8290ac024418b2","url":"https://api.github.com/users/ministrycentered","html_url":"https://github.com/ministrycentered","followers_url":"https://api.github.com/users/ministrycentered/followers","following_url":"https://api.github.com/users/ministrycentered/following{/other_user}","gists_url":"https://api.github.com/users/ministrycentered/gists{/gist_id}","starred_url":"https://api.github.com/users/ministrycentered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ministrycentered/subscriptions","organizations_url":"https://api.github.com/users/ministrycentered/orgs","repos_url":"https://api.github.com/users/ministrycentered/repos","events_url":"https://api.github.com/users/ministrycentered/events{/privacy}","received_events_url":"https://api.github.com/users/ministrycentered/received_events","type":"Organization"},{"login":"afarnham","id":120,"avatar_url":"https://secure.gravatar.com/avatar/887a033f9f60352145a49e8a3b5178af?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"887a033f9f60352145a49e8a3b5178af","url":"https://api.github.com/users/afarnham","html_url":"https://github.com/afarnham","followers_url":"https://api.github.com/users/afarnham/followers","following_url":"https://api.github.com/users/afarnham/following{/other_user}","gists_url":"https://api.github.com/users/afarnham/gists{/gist_id}","starred_url":"https://api.github.com/users/afarnham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afarnham/subscriptions","organizations_url":"https://api.github.com/users/afarnham/orgs","repos_url":"https://api.github.com/users/afarnham/repos","events_url":"https://api.github.com/users/afarnham/events{/privacy}","received_events_url":"https://api.github.com/users/afarnham/received_events","type":"User"},{"login":"up_the_irons","id":121,"avatar_url":"https://secure.gravatar.com/avatar/d9ae72d7364c7909a0a4b02cba72438a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d9ae72d7364c7909a0a4b02cba72438a","url":"https://api.github.com/users/up_the_irons","html_url":"https://github.com/up_the_irons","followers_url":"https://api.github.com/users/up_the_irons/followers","following_url":"https://api.github.com/users/up_the_irons/following{/other_user}","gists_url":"https://api.github.com/users/up_the_irons/gists{/gist_id}","starred_url":"https://api.github.com/users/up_the_irons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/up_the_irons/subscriptions","organizations_url":"https://api.github.com/users/up_the_irons/orgs","repos_url":"https://api.github.com/users/up_the_irons/repos","events_url":"https://api.github.com/users/up_the_irons/events{/privacy}","received_events_url":"https://api.github.com/users/up_the_irons/received_events","type":"User"},{"login":"evilchelu","id":122,"avatar_url":"https://secure.gravatar.com/avatar/0e8c5f8d88cfc1aeeb59acdcc8aad387?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0e8c5f8d88cfc1aeeb59acdcc8aad387","url":"https://api.github.com/users/evilchelu","html_url":"https://github.com/evilchelu","followers_url":"https://api.github.com/users/evilchelu/followers","following_url":"https://api.github.com/users/evilchelu/following{/other_user}","gists_url":"https://api.github.com/users/evilchelu/gists{/gist_id}","starred_url":"https://api.github.com/users/evilchelu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilchelu/subscriptions","organizations_url":"https://api.github.com/users/evilchelu/orgs","repos_url":"https://api.github.com/users/evilchelu/repos","events_url":"https://api.github.com/users/evilchelu/events{/privacy}","received_events_url":"https://api.github.com/users/evilchelu/received_events","type":"User"},{"login":"heavysixer","id":123,"avatar_url":"https://secure.gravatar.com/avatar/1442971a09a48a3a81f2eabe6adcd7a3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1442971a09a48a3a81f2eabe6adcd7a3","url":"https://api.github.com/users/heavysixer","html_url":"https://github.com/heavysixer","followers_url":"https://api.github.com/users/heavysixer/followers","following_url":"https://api.github.com/users/heavysixer/following{/other_user}","gists_url":"https://api.github.com/users/heavysixer/gists{/gist_id}","starred_url":"https://api.github.com/users/heavysixer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heavysixer/subscriptions","organizations_url":"https://api.github.com/users/heavysixer/orgs","repos_url":"https://api.github.com/users/heavysixer/repos","events_url":"https://api.github.com/users/heavysixer/events{/privacy}","received_events_url":"https://api.github.com/users/heavysixer/received_events","type":"User"},{"login":"brosner","id":124,"avatar_url":"https://secure.gravatar.com/avatar/b7472bc7aa45c70641c299e9408b78ab?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b7472bc7aa45c70641c299e9408b78ab","url":"https://api.github.com/users/brosner","html_url":"https://github.com/brosner","followers_url":"https://api.github.com/users/brosner/followers","following_url":"https://api.github.com/users/brosner/following{/other_user}","gists_url":"https://api.github.com/users/brosner/gists{/gist_id}","starred_url":"https://api.github.com/users/brosner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brosner/subscriptions","organizations_url":"https://api.github.com/users/brosner/orgs","repos_url":"https://api.github.com/users/brosner/repos","events_url":"https://api.github.com/users/brosner/events{/privacy}","received_events_url":"https://api.github.com/users/brosner/received_events","type":"User"},{"login":"danielmorrison","id":125,"avatar_url":"https://secure.gravatar.com/avatar/16ae5c2e160af3bdb60db447c092985d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"16ae5c2e160af3bdb60db447c092985d","url":"https://api.github.com/users/danielmorrison","html_url":"https://github.com/danielmorrison","followers_url":"https://api.github.com/users/danielmorrison/followers","following_url":"https://api.github.com/users/danielmorrison/following{/other_user}","gists_url":"https://api.github.com/users/danielmorrison/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmorrison/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmorrison/subscriptions","organizations_url":"https://api.github.com/users/danielmorrison/orgs","repos_url":"https://api.github.com/users/danielmorrison/repos","events_url":"https://api.github.com/users/danielmorrison/events{/privacy}","received_events_url":"https://api.github.com/users/danielmorrison/received_events","type":"User"},{"login":"danielharan","id":126,"avatar_url":"https://secure.gravatar.com/avatar/880cbab435f00197613c9cc2065b4f5a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"880cbab435f00197613c9cc2065b4f5a","url":"https://api.github.com/users/danielharan","html_url":"https://github.com/danielharan","followers_url":"https://api.github.com/users/danielharan/followers","following_url":"https://api.github.com/users/danielharan/following{/other_user}","gists_url":"https://api.github.com/users/danielharan/gists{/gist_id}","starred_url":"https://api.github.com/users/danielharan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielharan/subscriptions","organizations_url":"https://api.github.com/users/danielharan/orgs","repos_url":"https://api.github.com/users/danielharan/repos","events_url":"https://api.github.com/users/danielharan/events{/privacy}","received_events_url":"https://api.github.com/users/danielharan/received_events","type":"User"},{"login":"kvnsmth","id":127,"avatar_url":"https://secure.gravatar.com/avatar/4ecc54f97b9dfb424565edd96eca2fed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ecc54f97b9dfb424565edd96eca2fed","url":"https://api.github.com/users/kvnsmth","html_url":"https://github.com/kvnsmth","followers_url":"https://api.github.com/users/kvnsmth/followers","following_url":"https://api.github.com/users/kvnsmth/following{/other_user}","gists_url":"https://api.github.com/users/kvnsmth/gists{/gist_id}","starred_url":"https://api.github.com/users/kvnsmth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvnsmth/subscriptions","organizations_url":"https://api.github.com/users/kvnsmth/orgs","repos_url":"https://api.github.com/users/kvnsmth/repos","events_url":"https://api.github.com/users/kvnsmth/events{/privacy}","received_events_url":"https://api.github.com/users/kvnsmth/received_events","type":"User"},{"login":"collectiveidea","id":128,"avatar_url":"https://secure.gravatar.com/avatar/13ff8dc8c2bf2a4752816e1e3f201a05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"13ff8dc8c2bf2a4752816e1e3f201a05","url":"https://api.github.com/users/collectiveidea","html_url":"https://github.com/collectiveidea","followers_url":"https://api.github.com/users/collectiveidea/followers","following_url":"https://api.github.com/users/collectiveidea/following{/other_user}","gists_url":"https://api.github.com/users/collectiveidea/gists{/gist_id}","starred_url":"https://api.github.com/users/collectiveidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/collectiveidea/subscriptions","organizations_url":"https://api.github.com/users/collectiveidea/orgs","repos_url":"https://api.github.com/users/collectiveidea/repos","events_url":"https://api.github.com/users/collectiveidea/events{/privacy}","received_events_url":"https://api.github.com/users/collectiveidea/received_events","type":"Organization"},{"login":"canadaduane","id":129,"avatar_url":"https://secure.gravatar.com/avatar/d8cb8c8cd40ddf0cd05241443a591868?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d8cb8c8cd40ddf0cd05241443a591868","url":"https://api.github.com/users/canadaduane","html_url":"https://github.com/canadaduane","followers_url":"https://api.github.com/users/canadaduane/followers","following_url":"https://api.github.com/users/canadaduane/following{/other_user}","gists_url":"https://api.github.com/users/canadaduane/gists{/gist_id}","starred_url":"https://api.github.com/users/canadaduane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/canadaduane/subscriptions","organizations_url":"https://api.github.com/users/canadaduane/orgs","repos_url":"https://api.github.com/users/canadaduane/repos","events_url":"https://api.github.com/users/canadaduane/events{/privacy}","received_events_url":"https://api.github.com/users/canadaduane/received_events","type":"User"},{"login":"nate","id":130,"avatar_url":"https://secure.gravatar.com/avatar/42ccb9ab63769b88ce6d44d6b0b869da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"42ccb9ab63769b88ce6d44d6b0b869da","url":"https://api.github.com/users/nate","html_url":"https://github.com/nate","followers_url":"https://api.github.com/users/nate/followers","following_url":"https://api.github.com/users/nate/following{/other_user}","gists_url":"https://api.github.com/users/nate/gists{/gist_id}","starred_url":"https://api.github.com/users/nate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nate/subscriptions","organizations_url":"https://api.github.com/users/nate/orgs","repos_url":"https://api.github.com/users/nate/repos","events_url":"https://api.github.com/users/nate/events{/privacy}","received_events_url":"https://api.github.com/users/nate/received_events","type":"User"},{"login":"dstrelau","id":131,"avatar_url":"https://secure.gravatar.com/avatar/41134a2aaccc46d2c00689e3a7e26b3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"41134a2aaccc46d2c00689e3a7e26b3f","url":"https://api.github.com/users/dstrelau","html_url":"https://github.com/dstrelau","followers_url":"https://api.github.com/users/dstrelau/followers","following_url":"https://api.github.com/users/dstrelau/following{/other_user}","gists_url":"https://api.github.com/users/dstrelau/gists{/gist_id}","starred_url":"https://api.github.com/users/dstrelau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dstrelau/subscriptions","organizations_url":"https://api.github.com/users/dstrelau/orgs","repos_url":"https://api.github.com/users/dstrelau/repos","events_url":"https://api.github.com/users/dstrelau/events{/privacy}","received_events_url":"https://api.github.com/users/dstrelau/received_events","type":"User"},{"login":"sunny","id":132,"avatar_url":"https://secure.gravatar.com/avatar/3798b6a0f8feb12ef3639b95ce977f68?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3798b6a0f8feb12ef3639b95ce977f68","url":"https://api.github.com/users/sunny","html_url":"https://github.com/sunny","followers_url":"https://api.github.com/users/sunny/followers","following_url":"https://api.github.com/users/sunny/following{/other_user}","gists_url":"https://api.github.com/users/sunny/gists{/gist_id}","starred_url":"https://api.github.com/users/sunny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunny/subscriptions","organizations_url":"https://api.github.com/users/sunny/orgs","repos_url":"https://api.github.com/users/sunny/repos","events_url":"https://api.github.com/users/sunny/events{/privacy}","received_events_url":"https://api.github.com/users/sunny/received_events","type":"User"},{"login":"dkubb","id":133,"avatar_url":"https://secure.gravatar.com/avatar/7c92608db4acf7a44337670eff6ce5bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7c92608db4acf7a44337670eff6ce5bc","url":"https://api.github.com/users/dkubb","html_url":"https://github.com/dkubb","followers_url":"https://api.github.com/users/dkubb/followers","following_url":"https://api.github.com/users/dkubb/following{/other_user}","gists_url":"https://api.github.com/users/dkubb/gists{/gist_id}","starred_url":"https://api.github.com/users/dkubb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkubb/subscriptions","organizations_url":"https://api.github.com/users/dkubb/orgs","repos_url":"https://api.github.com/users/dkubb/repos","events_url":"https://api.github.com/users/dkubb/events{/privacy}","received_events_url":"https://api.github.com/users/dkubb/received_events","type":"User"},{"login":"jnicklas","id":134,"avatar_url":"https://secure.gravatar.com/avatar/6c469749d725177dd2837d806c769cd4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6c469749d725177dd2837d806c769cd4","url":"https://api.github.com/users/jnicklas","html_url":"https://github.com/jnicklas","followers_url":"https://api.github.com/users/jnicklas/followers","following_url":"https://api.github.com/users/jnicklas/following{/other_user}","gists_url":"https://api.github.com/users/jnicklas/gists{/gist_id}","starred_url":"https://api.github.com/users/jnicklas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnicklas/subscriptions","organizations_url":"https://api.github.com/users/jnicklas/orgs","repos_url":"https://api.github.com/users/jnicklas/repos","events_url":"https://api.github.com/users/jnicklas/events{/privacy}","received_events_url":"https://api.github.com/users/jnicklas/received_events","type":"User"},{"login":"richcollins","id":135,"avatar_url":"https://secure.gravatar.com/avatar/f7612335d0011de02dac1436652bf44c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f7612335d0011de02dac1436652bf44c","url":"https://api.github.com/users/richcollins","html_url":"https://github.com/richcollins","followers_url":"https://api.github.com/users/richcollins/followers","following_url":"https://api.github.com/users/richcollins/following{/other_user}","gists_url":"https://api.github.com/users/richcollins/gists{/gist_id}","starred_url":"https://api.github.com/users/richcollins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richcollins/subscriptions","organizations_url":"https://api.github.com/users/richcollins/orgs","repos_url":"https://api.github.com/users/richcollins/repos","events_url":"https://api.github.com/users/richcollins/events{/privacy}","received_events_url":"https://api.github.com/users/richcollins/received_events","type":"User"}] - -https -GET -api.github.com -None -/users?since=135 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '99066'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"041061592b07c3c1b5b3063baec8316c"'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 18 Jun 2013 15:43:09 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"login":"simonjefford","id":136,"avatar_url":"https://secure.gravatar.com/avatar/46fd60ea4dde74f3d46fcfd27ed700bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"46fd60ea4dde74f3d46fcfd27ed700bf","url":"https://api.github.com/users/simonjefford","html_url":"https://github.com/simonjefford","followers_url":"https://api.github.com/users/simonjefford/followers","following_url":"https://api.github.com/users/simonjefford/following{/other_user}","gists_url":"https://api.github.com/users/simonjefford/gists{/gist_id}","starred_url":"https://api.github.com/users/simonjefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonjefford/subscriptions","organizations_url":"https://api.github.com/users/simonjefford/orgs","repos_url":"https://api.github.com/users/simonjefford/repos","events_url":"https://api.github.com/users/simonjefford/events{/privacy}","received_events_url":"https://api.github.com/users/simonjefford/received_events","type":"User"},{"login":"josh","id":137,"avatar_url":"https://secure.gravatar.com/avatar/bbe5dc8dcf248706525ab76f46185520?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bbe5dc8dcf248706525ab76f46185520","url":"https://api.github.com/users/josh","html_url":"https://github.com/josh","followers_url":"https://api.github.com/users/josh/followers","following_url":"https://api.github.com/users/josh/following{/other_user}","gists_url":"https://api.github.com/users/josh/gists{/gist_id}","starred_url":"https://api.github.com/users/josh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josh/subscriptions","organizations_url":"https://api.github.com/users/josh/orgs","repos_url":"https://api.github.com/users/josh/repos","events_url":"https://api.github.com/users/josh/events{/privacy}","received_events_url":"https://api.github.com/users/josh/received_events","type":"User"},{"login":"stevedekorte","id":138,"avatar_url":"https://secure.gravatar.com/avatar/7588e3d3aa94ba40f57f495ec8c3206b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7588e3d3aa94ba40f57f495ec8c3206b","url":"https://api.github.com/users/stevedekorte","html_url":"https://github.com/stevedekorte","followers_url":"https://api.github.com/users/stevedekorte/followers","following_url":"https://api.github.com/users/stevedekorte/following{/other_user}","gists_url":"https://api.github.com/users/stevedekorte/gists{/gist_id}","starred_url":"https://api.github.com/users/stevedekorte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevedekorte/subscriptions","organizations_url":"https://api.github.com/users/stevedekorte/orgs","repos_url":"https://api.github.com/users/stevedekorte/repos","events_url":"https://api.github.com/users/stevedekorte/events{/privacy}","received_events_url":"https://api.github.com/users/stevedekorte/received_events","type":"User"},{"login":"chneukirchen","id":139,"avatar_url":"https://secure.gravatar.com/avatar/7264fb16beeea92b89bb42023738259d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7264fb16beeea92b89bb42023738259d","url":"https://api.github.com/users/chneukirchen","html_url":"https://github.com/chneukirchen","followers_url":"https://api.github.com/users/chneukirchen/followers","following_url":"https://api.github.com/users/chneukirchen/following{/other_user}","gists_url":"https://api.github.com/users/chneukirchen/gists{/gist_id}","starred_url":"https://api.github.com/users/chneukirchen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chneukirchen/subscriptions","organizations_url":"https://api.github.com/users/chneukirchen/orgs","repos_url":"https://api.github.com/users/chneukirchen/repos","events_url":"https://api.github.com/users/chneukirchen/events{/privacy}","received_events_url":"https://api.github.com/users/chneukirchen/received_events","type":"User"},{"login":"cheapRoc","id":140,"avatar_url":"https://secure.gravatar.com/avatar/6b8a9192d85a59d2caec9cfd58bc4f9a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6b8a9192d85a59d2caec9cfd58bc4f9a","url":"https://api.github.com/users/cheapRoc","html_url":"https://github.com/cheapRoc","followers_url":"https://api.github.com/users/cheapRoc/followers","following_url":"https://api.github.com/users/cheapRoc/following{/other_user}","gists_url":"https://api.github.com/users/cheapRoc/gists{/gist_id}","starred_url":"https://api.github.com/users/cheapRoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cheapRoc/subscriptions","organizations_url":"https://api.github.com/users/cheapRoc/orgs","repos_url":"https://api.github.com/users/cheapRoc/repos","events_url":"https://api.github.com/users/cheapRoc/events{/privacy}","received_events_url":"https://api.github.com/users/cheapRoc/received_events","type":"User"},{"login":"technomancy","id":141,"avatar_url":"https://secure.gravatar.com/avatar/22788ec68b2aee512f8f4c5d8ae819ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"22788ec68b2aee512f8f4c5d8ae819ae","url":"https://api.github.com/users/technomancy","html_url":"https://github.com/technomancy","followers_url":"https://api.github.com/users/technomancy/followers","following_url":"https://api.github.com/users/technomancy/following{/other_user}","gists_url":"https://api.github.com/users/technomancy/gists{/gist_id}","starred_url":"https://api.github.com/users/technomancy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technomancy/subscriptions","organizations_url":"https://api.github.com/users/technomancy/orgs","repos_url":"https://api.github.com/users/technomancy/repos","events_url":"https://api.github.com/users/technomancy/events{/privacy}","received_events_url":"https://api.github.com/users/technomancy/received_events","type":"User"},{"login":"kenphused","id":142,"avatar_url":"https://secure.gravatar.com/avatar/7d560f92abc58cf561f3b1ae28c45b05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7d560f92abc58cf561f3b1ae28c45b05","url":"https://api.github.com/users/kenphused","html_url":"https://github.com/kenphused","followers_url":"https://api.github.com/users/kenphused/followers","following_url":"https://api.github.com/users/kenphused/following{/other_user}","gists_url":"https://api.github.com/users/kenphused/gists{/gist_id}","starred_url":"https://api.github.com/users/kenphused/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenphused/subscriptions","organizations_url":"https://api.github.com/users/kenphused/orgs","repos_url":"https://api.github.com/users/kenphused/repos","events_url":"https://api.github.com/users/kenphused/events{/privacy}","received_events_url":"https://api.github.com/users/kenphused/received_events","type":"User"},{"login":"rubyist","id":143,"avatar_url":"https://secure.gravatar.com/avatar/6993d6b4b6d882f421e1b45ac147f3e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6993d6b4b6d882f421e1b45ac147f3e0","url":"https://api.github.com/users/rubyist","html_url":"https://github.com/rubyist","followers_url":"https://api.github.com/users/rubyist/followers","following_url":"https://api.github.com/users/rubyist/following{/other_user}","gists_url":"https://api.github.com/users/rubyist/gists{/gist_id}","starred_url":"https://api.github.com/users/rubyist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubyist/subscriptions","organizations_url":"https://api.github.com/users/rubyist/orgs","repos_url":"https://api.github.com/users/rubyist/repos","events_url":"https://api.github.com/users/rubyist/events{/privacy}","received_events_url":"https://api.github.com/users/rubyist/received_events","type":"User"},{"login":"ogc","id":144,"avatar_url":"https://secure.gravatar.com/avatar/eda326cac07289ef5ba2b03a9fd45a16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"eda326cac07289ef5ba2b03a9fd45a16","url":"https://api.github.com/users/ogc","html_url":"https://github.com/ogc","followers_url":"https://api.github.com/users/ogc/followers","following_url":"https://api.github.com/users/ogc/following{/other_user}","gists_url":"https://api.github.com/users/ogc/gists{/gist_id}","starred_url":"https://api.github.com/users/ogc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ogc/subscriptions","organizations_url":"https://api.github.com/users/ogc/orgs","repos_url":"https://api.github.com/users/ogc/repos","events_url":"https://api.github.com/users/ogc/events{/privacy}","received_events_url":"https://api.github.com/users/ogc/received_events","type":"Organization"},{"login":"lazyatom","id":145,"avatar_url":"https://secure.gravatar.com/avatar/acd62030df551952268e84c8fff26a5b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"acd62030df551952268e84c8fff26a5b","url":"https://api.github.com/users/lazyatom","html_url":"https://github.com/lazyatom","followers_url":"https://api.github.com/users/lazyatom/followers","following_url":"https://api.github.com/users/lazyatom/following{/other_user}","gists_url":"https://api.github.com/users/lazyatom/gists{/gist_id}","starred_url":"https://api.github.com/users/lazyatom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lazyatom/subscriptions","organizations_url":"https://api.github.com/users/lazyatom/orgs","repos_url":"https://api.github.com/users/lazyatom/repos","events_url":"https://api.github.com/users/lazyatom/events{/privacy}","received_events_url":"https://api.github.com/users/lazyatom/received_events","type":"User"},{"login":"jdhuntington","id":147,"avatar_url":"https://secure.gravatar.com/avatar/a3d6887041bc564a5d60cdc811ae4ef9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3d6887041bc564a5d60cdc811ae4ef9","url":"https://api.github.com/users/jdhuntington","html_url":"https://github.com/jdhuntington","followers_url":"https://api.github.com/users/jdhuntington/followers","following_url":"https://api.github.com/users/jdhuntington/following{/other_user}","gists_url":"https://api.github.com/users/jdhuntington/gists{/gist_id}","starred_url":"https://api.github.com/users/jdhuntington/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdhuntington/subscriptions","organizations_url":"https://api.github.com/users/jdhuntington/orgs","repos_url":"https://api.github.com/users/jdhuntington/repos","events_url":"https://api.github.com/users/jdhuntington/events{/privacy}","received_events_url":"https://api.github.com/users/jdhuntington/received_events","type":"User"},{"login":"nwebb","id":148,"avatar_url":"https://secure.gravatar.com/avatar/ee413c2b052c86bca0a821fa7da10c36?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ee413c2b052c86bca0a821fa7da10c36","url":"https://api.github.com/users/nwebb","html_url":"https://github.com/nwebb","followers_url":"https://api.github.com/users/nwebb/followers","following_url":"https://api.github.com/users/nwebb/following{/other_user}","gists_url":"https://api.github.com/users/nwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/nwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwebb/subscriptions","organizations_url":"https://api.github.com/users/nwebb/orgs","repos_url":"https://api.github.com/users/nwebb/repos","events_url":"https://api.github.com/users/nwebb/events{/privacy}","received_events_url":"https://api.github.com/users/nwebb/received_events","type":"User"},{"login":"nsutton","id":149,"avatar_url":"https://secure.gravatar.com/avatar/2815682737dcc9a7a3506c1a08dc5159?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2815682737dcc9a7a3506c1a08dc5159","url":"https://api.github.com/users/nsutton","html_url":"https://github.com/nsutton","followers_url":"https://api.github.com/users/nsutton/followers","following_url":"https://api.github.com/users/nsutton/following{/other_user}","gists_url":"https://api.github.com/users/nsutton/gists{/gist_id}","starred_url":"https://api.github.com/users/nsutton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nsutton/subscriptions","organizations_url":"https://api.github.com/users/nsutton/orgs","repos_url":"https://api.github.com/users/nsutton/repos","events_url":"https://api.github.com/users/nsutton/events{/privacy}","received_events_url":"https://api.github.com/users/nsutton/received_events","type":"User"},{"login":"sevenwire","id":150,"avatar_url":"https://secure.gravatar.com/avatar/2d699571a445b9a9205779628fe9a818?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2d699571a445b9a9205779628fe9a818","url":"https://api.github.com/users/sevenwire","html_url":"https://github.com/sevenwire","followers_url":"https://api.github.com/users/sevenwire/followers","following_url":"https://api.github.com/users/sevenwire/following{/other_user}","gists_url":"https://api.github.com/users/sevenwire/gists{/gist_id}","starred_url":"https://api.github.com/users/sevenwire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevenwire/subscriptions","organizations_url":"https://api.github.com/users/sevenwire/orgs","repos_url":"https://api.github.com/users/sevenwire/repos","events_url":"https://api.github.com/users/sevenwire/events{/privacy}","received_events_url":"https://api.github.com/users/sevenwire/received_events","type":"Organization"},{"login":"brandonarbini","id":151,"avatar_url":"https://secure.gravatar.com/avatar/4ebddee9146bb9c4f4f8ce7229c6615d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ebddee9146bb9c4f4f8ce7229c6615d","url":"https://api.github.com/users/brandonarbini","html_url":"https://github.com/brandonarbini","followers_url":"https://api.github.com/users/brandonarbini/followers","following_url":"https://api.github.com/users/brandonarbini/following{/other_user}","gists_url":"https://api.github.com/users/brandonarbini/gists{/gist_id}","starred_url":"https://api.github.com/users/brandonarbini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandonarbini/subscriptions","organizations_url":"https://api.github.com/users/brandonarbini/orgs","repos_url":"https://api.github.com/users/brandonarbini/repos","events_url":"https://api.github.com/users/brandonarbini/events{/privacy}","received_events_url":"https://api.github.com/users/brandonarbini/received_events","type":"User"},{"login":"al3x","id":152,"avatar_url":"https://secure.gravatar.com/avatar/3fcb27e39d2ff47357a803e91347fee4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3fcb27e39d2ff47357a803e91347fee4","url":"https://api.github.com/users/al3x","html_url":"https://github.com/al3x","followers_url":"https://api.github.com/users/al3x/followers","following_url":"https://api.github.com/users/al3x/following{/other_user}","gists_url":"https://api.github.com/users/al3x/gists{/gist_id}","starred_url":"https://api.github.com/users/al3x/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/al3x/subscriptions","organizations_url":"https://api.github.com/users/al3x/orgs","repos_url":"https://api.github.com/users/al3x/repos","events_url":"https://api.github.com/users/al3x/events{/privacy}","received_events_url":"https://api.github.com/users/al3x/received_events","type":"User"},{"login":"toolmantim","id":153,"avatar_url":"https://secure.gravatar.com/avatar/8b3a5fa50d63275c5c6e304f1a081bfb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8b3a5fa50d63275c5c6e304f1a081bfb","url":"https://api.github.com/users/toolmantim","html_url":"https://github.com/toolmantim","followers_url":"https://api.github.com/users/toolmantim/followers","following_url":"https://api.github.com/users/toolmantim/following{/other_user}","gists_url":"https://api.github.com/users/toolmantim/gists{/gist_id}","starred_url":"https://api.github.com/users/toolmantim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toolmantim/subscriptions","organizations_url":"https://api.github.com/users/toolmantim/orgs","repos_url":"https://api.github.com/users/toolmantim/repos","events_url":"https://api.github.com/users/toolmantim/events{/privacy}","received_events_url":"https://api.github.com/users/toolmantim/received_events","type":"User"},{"login":"nicksieger","id":154,"avatar_url":"https://secure.gravatar.com/avatar/526d60de6472502bb570a9df2842b33b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"526d60de6472502bb570a9df2842b33b","url":"https://api.github.com/users/nicksieger","html_url":"https://github.com/nicksieger","followers_url":"https://api.github.com/users/nicksieger/followers","following_url":"https://api.github.com/users/nicksieger/following{/other_user}","gists_url":"https://api.github.com/users/nicksieger/gists{/gist_id}","starred_url":"https://api.github.com/users/nicksieger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicksieger/subscriptions","organizations_url":"https://api.github.com/users/nicksieger/orgs","repos_url":"https://api.github.com/users/nicksieger/repos","events_url":"https://api.github.com/users/nicksieger/events{/privacy}","received_events_url":"https://api.github.com/users/nicksieger/received_events","type":"User"},{"login":"jicksta","id":155,"avatar_url":"https://secure.gravatar.com/avatar/c48fff96ea2bf539a7939ca6d94f2443?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c48fff96ea2bf539a7939ca6d94f2443","url":"https://api.github.com/users/jicksta","html_url":"https://github.com/jicksta","followers_url":"https://api.github.com/users/jicksta/followers","following_url":"https://api.github.com/users/jicksta/following{/other_user}","gists_url":"https://api.github.com/users/jicksta/gists{/gist_id}","starred_url":"https://api.github.com/users/jicksta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jicksta/subscriptions","organizations_url":"https://api.github.com/users/jicksta/orgs","repos_url":"https://api.github.com/users/jicksta/repos","events_url":"https://api.github.com/users/jicksta/events{/privacy}","received_events_url":"https://api.github.com/users/jicksta/received_events","type":"User"},{"login":"joshsusser","id":156,"avatar_url":"https://secure.gravatar.com/avatar/9f0f89bbd9e1ecfbaab6584e429b7a2f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9f0f89bbd9e1ecfbaab6584e429b7a2f","url":"https://api.github.com/users/joshsusser","html_url":"https://github.com/joshsusser","followers_url":"https://api.github.com/users/joshsusser/followers","following_url":"https://api.github.com/users/joshsusser/following{/other_user}","gists_url":"https://api.github.com/users/joshsusser/gists{/gist_id}","starred_url":"https://api.github.com/users/joshsusser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshsusser/subscriptions","organizations_url":"https://api.github.com/users/joshsusser/orgs","repos_url":"https://api.github.com/users/joshsusser/repos","events_url":"https://api.github.com/users/joshsusser/events{/privacy}","received_events_url":"https://api.github.com/users/joshsusser/received_events","type":"User"},{"login":"jcrosby","id":157,"avatar_url":"https://secure.gravatar.com/avatar/1badabda6a153422e275625ae2f1e976?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1badabda6a153422e275625ae2f1e976","url":"https://api.github.com/users/jcrosby","html_url":"https://github.com/jcrosby","followers_url":"https://api.github.com/users/jcrosby/followers","following_url":"https://api.github.com/users/jcrosby/following{/other_user}","gists_url":"https://api.github.com/users/jcrosby/gists{/gist_id}","starred_url":"https://api.github.com/users/jcrosby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcrosby/subscriptions","organizations_url":"https://api.github.com/users/jcrosby/orgs","repos_url":"https://api.github.com/users/jcrosby/repos","events_url":"https://api.github.com/users/jcrosby/events{/privacy}","received_events_url":"https://api.github.com/users/jcrosby/received_events","type":"User"},{"login":"thewoolleyman","id":158,"avatar_url":"https://secure.gravatar.com/avatar/2475563a3ba1da4018af64f964ab45b0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2475563a3ba1da4018af64f964ab45b0","url":"https://api.github.com/users/thewoolleyman","html_url":"https://github.com/thewoolleyman","followers_url":"https://api.github.com/users/thewoolleyman/followers","following_url":"https://api.github.com/users/thewoolleyman/following{/other_user}","gists_url":"https://api.github.com/users/thewoolleyman/gists{/gist_id}","starred_url":"https://api.github.com/users/thewoolleyman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thewoolleyman/subscriptions","organizations_url":"https://api.github.com/users/thewoolleyman/orgs","repos_url":"https://api.github.com/users/thewoolleyman/repos","events_url":"https://api.github.com/users/thewoolleyman/events{/privacy}","received_events_url":"https://api.github.com/users/thewoolleyman/received_events","type":"User"},{"login":"technicalpickles","id":159,"avatar_url":"https://secure.gravatar.com/avatar/1c1aabc1abed5cce37b192dd00f0f28c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1c1aabc1abed5cce37b192dd00f0f28c","url":"https://api.github.com/users/technicalpickles","html_url":"https://github.com/technicalpickles","followers_url":"https://api.github.com/users/technicalpickles/followers","following_url":"https://api.github.com/users/technicalpickles/following{/other_user}","gists_url":"https://api.github.com/users/technicalpickles/gists{/gist_id}","starred_url":"https://api.github.com/users/technicalpickles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technicalpickles/subscriptions","organizations_url":"https://api.github.com/users/technicalpickles/orgs","repos_url":"https://api.github.com/users/technicalpickles/repos","events_url":"https://api.github.com/users/technicalpickles/events{/privacy}","received_events_url":"https://api.github.com/users/technicalpickles/received_events","type":"User"},{"login":"halbtuerke","id":160,"avatar_url":"https://secure.gravatar.com/avatar/be965afd8e05334af7ed2adc64736310?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"be965afd8e05334af7ed2adc64736310","url":"https://api.github.com/users/halbtuerke","html_url":"https://github.com/halbtuerke","followers_url":"https://api.github.com/users/halbtuerke/followers","following_url":"https://api.github.com/users/halbtuerke/following{/other_user}","gists_url":"https://api.github.com/users/halbtuerke/gists{/gist_id}","starred_url":"https://api.github.com/users/halbtuerke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halbtuerke/subscriptions","organizations_url":"https://api.github.com/users/halbtuerke/orgs","repos_url":"https://api.github.com/users/halbtuerke/repos","events_url":"https://api.github.com/users/halbtuerke/events{/privacy}","received_events_url":"https://api.github.com/users/halbtuerke/received_events","type":"User"},{"login":"ryanb","id":161,"avatar_url":"https://secure.gravatar.com/avatar/8dbf316d36ff66aad4869a4fc3cfbd37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dbf316d36ff66aad4869a4fc3cfbd37","url":"https://api.github.com/users/ryanb","html_url":"https://github.com/ryanb","followers_url":"https://api.github.com/users/ryanb/followers","following_url":"https://api.github.com/users/ryanb/following{/other_user}","gists_url":"https://api.github.com/users/ryanb/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanb/subscriptions","organizations_url":"https://api.github.com/users/ryanb/orgs","repos_url":"https://api.github.com/users/ryanb/repos","events_url":"https://api.github.com/users/ryanb/events{/privacy}","received_events_url":"https://api.github.com/users/ryanb/received_events","type":"User"},{"login":"cnix","id":162,"avatar_url":"https://secure.gravatar.com/avatar/20477915bd063457a7a6025888ae6a00?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"20477915bd063457a7a6025888ae6a00","url":"https://api.github.com/users/cnix","html_url":"https://github.com/cnix","followers_url":"https://api.github.com/users/cnix/followers","following_url":"https://api.github.com/users/cnix/following{/other_user}","gists_url":"https://api.github.com/users/cnix/gists{/gist_id}","starred_url":"https://api.github.com/users/cnix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cnix/subscriptions","organizations_url":"https://api.github.com/users/cnix/orgs","repos_url":"https://api.github.com/users/cnix/repos","events_url":"https://api.github.com/users/cnix/events{/privacy}","received_events_url":"https://api.github.com/users/cnix/received_events","type":"User"},{"login":"tpitale","id":163,"avatar_url":"https://secure.gravatar.com/avatar/cc371b26b5881c44cde17f7885ccd608?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cc371b26b5881c44cde17f7885ccd608","url":"https://api.github.com/users/tpitale","html_url":"https://github.com/tpitale","followers_url":"https://api.github.com/users/tpitale/followers","following_url":"https://api.github.com/users/tpitale/following{/other_user}","gists_url":"https://api.github.com/users/tpitale/gists{/gist_id}","starred_url":"https://api.github.com/users/tpitale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpitale/subscriptions","organizations_url":"https://api.github.com/users/tpitale/orgs","repos_url":"https://api.github.com/users/tpitale/repos","events_url":"https://api.github.com/users/tpitale/events{/privacy}","received_events_url":"https://api.github.com/users/tpitale/received_events","type":"User"},{"login":"cdcarter","id":164,"avatar_url":"https://secure.gravatar.com/avatar/96931bfe0c2948f47a98e15ae52e5637?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96931bfe0c2948f47a98e15ae52e5637","url":"https://api.github.com/users/cdcarter","html_url":"https://github.com/cdcarter","followers_url":"https://api.github.com/users/cdcarter/followers","following_url":"https://api.github.com/users/cdcarter/following{/other_user}","gists_url":"https://api.github.com/users/cdcarter/gists{/gist_id}","starred_url":"https://api.github.com/users/cdcarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdcarter/subscriptions","organizations_url":"https://api.github.com/users/cdcarter/orgs","repos_url":"https://api.github.com/users/cdcarter/repos","events_url":"https://api.github.com/users/cdcarter/events{/privacy}","received_events_url":"https://api.github.com/users/cdcarter/received_events","type":"User"},{"login":"atduskgreg","id":165,"avatar_url":"https://secure.gravatar.com/avatar/2f4faa539dc6a0ae688e58d6a329fce9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2f4faa539dc6a0ae688e58d6a329fce9","url":"https://api.github.com/users/atduskgreg","html_url":"https://github.com/atduskgreg","followers_url":"https://api.github.com/users/atduskgreg/followers","following_url":"https://api.github.com/users/atduskgreg/following{/other_user}","gists_url":"https://api.github.com/users/atduskgreg/gists{/gist_id}","starred_url":"https://api.github.com/users/atduskgreg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atduskgreg/subscriptions","organizations_url":"https://api.github.com/users/atduskgreg/orgs","repos_url":"https://api.github.com/users/atduskgreg/repos","events_url":"https://api.github.com/users/atduskgreg/events{/privacy}","received_events_url":"https://api.github.com/users/atduskgreg/received_events","type":"User"},{"login":"heff","id":166,"avatar_url":"https://secure.gravatar.com/avatar/c6c46cea19cd77122092331f81e713b8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c6c46cea19cd77122092331f81e713b8","url":"https://api.github.com/users/heff","html_url":"https://github.com/heff","followers_url":"https://api.github.com/users/heff/followers","following_url":"https://api.github.com/users/heff/following{/other_user}","gists_url":"https://api.github.com/users/heff/gists{/gist_id}","starred_url":"https://api.github.com/users/heff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heff/subscriptions","organizations_url":"https://api.github.com/users/heff/orgs","repos_url":"https://api.github.com/users/heff/repos","events_url":"https://api.github.com/users/heff/events{/privacy}","received_events_url":"https://api.github.com/users/heff/received_events","type":"User"},{"login":"entryway","id":167,"avatar_url":"https://secure.gravatar.com/avatar/707ce7e4f6b46e5a1dfb7501184efea2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"707ce7e4f6b46e5a1dfb7501184efea2","url":"https://api.github.com/users/entryway","html_url":"https://github.com/entryway","followers_url":"https://api.github.com/users/entryway/followers","following_url":"https://api.github.com/users/entryway/following{/other_user}","gists_url":"https://api.github.com/users/entryway/gists{/gist_id}","starred_url":"https://api.github.com/users/entryway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/entryway/subscriptions","organizations_url":"https://api.github.com/users/entryway/orgs","repos_url":"https://api.github.com/users/entryway/repos","events_url":"https://api.github.com/users/entryway/events{/privacy}","received_events_url":"https://api.github.com/users/entryway/received_events","type":"Organization"},{"login":"aflatter","id":168,"avatar_url":"https://secure.gravatar.com/avatar/e4c4d0dc21883635beecd9b511e2e294?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e4c4d0dc21883635beecd9b511e2e294","url":"https://api.github.com/users/aflatter","html_url":"https://github.com/aflatter","followers_url":"https://api.github.com/users/aflatter/followers","following_url":"https://api.github.com/users/aflatter/following{/other_user}","gists_url":"https://api.github.com/users/aflatter/gists{/gist_id}","starred_url":"https://api.github.com/users/aflatter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aflatter/subscriptions","organizations_url":"https://api.github.com/users/aflatter/orgs","repos_url":"https://api.github.com/users/aflatter/repos","events_url":"https://api.github.com/users/aflatter/events{/privacy}","received_events_url":"https://api.github.com/users/aflatter/received_events","type":"User"},{"login":"schofield","id":169,"avatar_url":"https://secure.gravatar.com/avatar/815c14d8894ca4b5128c6ab3e30765fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"815c14d8894ca4b5128c6ab3e30765fb","url":"https://api.github.com/users/schofield","html_url":"https://github.com/schofield","followers_url":"https://api.github.com/users/schofield/followers","following_url":"https://api.github.com/users/schofield/following{/other_user}","gists_url":"https://api.github.com/users/schofield/gists{/gist_id}","starred_url":"https://api.github.com/users/schofield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schofield/subscriptions","organizations_url":"https://api.github.com/users/schofield/orgs","repos_url":"https://api.github.com/users/schofield/repos","events_url":"https://api.github.com/users/schofield/events{/privacy}","received_events_url":"https://api.github.com/users/schofield/received_events","type":"User"},{"login":"rbazinet","id":170,"avatar_url":"https://secure.gravatar.com/avatar/75d620852fc7691a0a3a86c336055e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"75d620852fc7691a0a3a86c336055e7d","url":"https://api.github.com/users/rbazinet","html_url":"https://github.com/rbazinet","followers_url":"https://api.github.com/users/rbazinet/followers","following_url":"https://api.github.com/users/rbazinet/following{/other_user}","gists_url":"https://api.github.com/users/rbazinet/gists{/gist_id}","starred_url":"https://api.github.com/users/rbazinet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbazinet/subscriptions","organizations_url":"https://api.github.com/users/rbazinet/orgs","repos_url":"https://api.github.com/users/rbazinet/repos","events_url":"https://api.github.com/users/rbazinet/events{/privacy}","received_events_url":"https://api.github.com/users/rbazinet/received_events","type":"User"},{"login":"tranqy","id":171,"avatar_url":"https://secure.gravatar.com/avatar/8aec21323e118581af6ca1d4e2a3c338?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8aec21323e118581af6ca1d4e2a3c338","url":"https://api.github.com/users/tranqy","html_url":"https://github.com/tranqy","followers_url":"https://api.github.com/users/tranqy/followers","following_url":"https://api.github.com/users/tranqy/following{/other_user}","gists_url":"https://api.github.com/users/tranqy/gists{/gist_id}","starred_url":"https://api.github.com/users/tranqy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tranqy/subscriptions","organizations_url":"https://api.github.com/users/tranqy/orgs","repos_url":"https://api.github.com/users/tranqy/repos","events_url":"https://api.github.com/users/tranqy/events{/privacy}","received_events_url":"https://api.github.com/users/tranqy/received_events","type":"User"},{"login":"robey","id":172,"avatar_url":"https://secure.gravatar.com/avatar/08759e178c55c968a861367e55f56ad9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"08759e178c55c968a861367e55f56ad9","url":"https://api.github.com/users/robey","html_url":"https://github.com/robey","followers_url":"https://api.github.com/users/robey/followers","following_url":"https://api.github.com/users/robey/following{/other_user}","gists_url":"https://api.github.com/users/robey/gists{/gist_id}","starred_url":"https://api.github.com/users/robey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robey/subscriptions","organizations_url":"https://api.github.com/users/robey/orgs","repos_url":"https://api.github.com/users/robey/repos","events_url":"https://api.github.com/users/robey/events{/privacy}","received_events_url":"https://api.github.com/users/robey/received_events","type":"User"},{"login":"bkeepers","id":173,"avatar_url":"https://secure.gravatar.com/avatar/20bfe76b3d6105641f879fe45cfc9272?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"20bfe76b3d6105641f879fe45cfc9272","url":"https://api.github.com/users/bkeepers","html_url":"https://github.com/bkeepers","followers_url":"https://api.github.com/users/bkeepers/followers","following_url":"https://api.github.com/users/bkeepers/following{/other_user}","gists_url":"https://api.github.com/users/bkeepers/gists{/gist_id}","starred_url":"https://api.github.com/users/bkeepers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkeepers/subscriptions","organizations_url":"https://api.github.com/users/bkeepers/orgs","repos_url":"https://api.github.com/users/bkeepers/repos","events_url":"https://api.github.com/users/bkeepers/events{/privacy}","received_events_url":"https://api.github.com/users/bkeepers/received_events","type":"User"},{"login":"wilson","id":174,"avatar_url":"https://secure.gravatar.com/avatar/c86f8ec92dc489e296a38bfcbaa9c770?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c86f8ec92dc489e296a38bfcbaa9c770","url":"https://api.github.com/users/wilson","html_url":"https://github.com/wilson","followers_url":"https://api.github.com/users/wilson/followers","following_url":"https://api.github.com/users/wilson/following{/other_user}","gists_url":"https://api.github.com/users/wilson/gists{/gist_id}","starred_url":"https://api.github.com/users/wilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilson/subscriptions","organizations_url":"https://api.github.com/users/wilson/orgs","repos_url":"https://api.github.com/users/wilson/repos","events_url":"https://api.github.com/users/wilson/events{/privacy}","received_events_url":"https://api.github.com/users/wilson/received_events","type":"User"},{"login":"tommorris","id":175,"avatar_url":"https://secure.gravatar.com/avatar/3e00403e6a08fc4499057d8be5b85709?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3e00403e6a08fc4499057d8be5b85709","url":"https://api.github.com/users/tommorris","html_url":"https://github.com/tommorris","followers_url":"https://api.github.com/users/tommorris/followers","following_url":"https://api.github.com/users/tommorris/following{/other_user}","gists_url":"https://api.github.com/users/tommorris/gists{/gist_id}","starred_url":"https://api.github.com/users/tommorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tommorris/subscriptions","organizations_url":"https://api.github.com/users/tommorris/orgs","repos_url":"https://api.github.com/users/tommorris/repos","events_url":"https://api.github.com/users/tommorris/events{/privacy}","received_events_url":"https://api.github.com/users/tommorris/received_events","type":"User"},{"login":"charlesroper","id":176,"avatar_url":"https://secure.gravatar.com/avatar/93fc84c261cdce2e2f1d64c8e531ecb7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"93fc84c261cdce2e2f1d64c8e531ecb7","url":"https://api.github.com/users/charlesroper","html_url":"https://github.com/charlesroper","followers_url":"https://api.github.com/users/charlesroper/followers","following_url":"https://api.github.com/users/charlesroper/following{/other_user}","gists_url":"https://api.github.com/users/charlesroper/gists{/gist_id}","starred_url":"https://api.github.com/users/charlesroper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/charlesroper/subscriptions","organizations_url":"https://api.github.com/users/charlesroper/orgs","repos_url":"https://api.github.com/users/charlesroper/repos","events_url":"https://api.github.com/users/charlesroper/events{/privacy}","received_events_url":"https://api.github.com/users/charlesroper/received_events","type":"User"},{"login":"adamwiggins","id":177,"avatar_url":"https://secure.gravatar.com/avatar/fcafc7eab67d34d48b14f9d70bc05713?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fcafc7eab67d34d48b14f9d70bc05713","url":"https://api.github.com/users/adamwiggins","html_url":"https://github.com/adamwiggins","followers_url":"https://api.github.com/users/adamwiggins/followers","following_url":"https://api.github.com/users/adamwiggins/following{/other_user}","gists_url":"https://api.github.com/users/adamwiggins/gists{/gist_id}","starred_url":"https://api.github.com/users/adamwiggins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamwiggins/subscriptions","organizations_url":"https://api.github.com/users/adamwiggins/orgs","repos_url":"https://api.github.com/users/adamwiggins/repos","events_url":"https://api.github.com/users/adamwiggins/events{/privacy}","received_events_url":"https://api.github.com/users/adamwiggins/received_events","type":"User"},{"login":"myobie","id":179,"avatar_url":"https://secure.gravatar.com/avatar/0a4c768b6fe54bdbb797cf8140b96a98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0a4c768b6fe54bdbb797cf8140b96a98","url":"https://api.github.com/users/myobie","html_url":"https://github.com/myobie","followers_url":"https://api.github.com/users/myobie/followers","following_url":"https://api.github.com/users/myobie/following{/other_user}","gists_url":"https://api.github.com/users/myobie/gists{/gist_id}","starred_url":"https://api.github.com/users/myobie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myobie/subscriptions","organizations_url":"https://api.github.com/users/myobie/orgs","repos_url":"https://api.github.com/users/myobie/repos","events_url":"https://api.github.com/users/myobie/events{/privacy}","received_events_url":"https://api.github.com/users/myobie/received_events","type":"User"},{"login":"samgranieri","id":180,"avatar_url":"https://secure.gravatar.com/avatar/351a8885dc5529755abfcd4902538f22?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"351a8885dc5529755abfcd4902538f22","url":"https://api.github.com/users/samgranieri","html_url":"https://github.com/samgranieri","followers_url":"https://api.github.com/users/samgranieri/followers","following_url":"https://api.github.com/users/samgranieri/following{/other_user}","gists_url":"https://api.github.com/users/samgranieri/gists{/gist_id}","starred_url":"https://api.github.com/users/samgranieri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samgranieri/subscriptions","organizations_url":"https://api.github.com/users/samgranieri/orgs","repos_url":"https://api.github.com/users/samgranieri/repos","events_url":"https://api.github.com/users/samgranieri/events{/privacy}","received_events_url":"https://api.github.com/users/samgranieri/received_events","type":"User"},{"login":"adam","id":181,"avatar_url":"https://secure.gravatar.com/avatar/e65d3a1af7bc44273b9a118386351e0c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e65d3a1af7bc44273b9a118386351e0c","url":"https://api.github.com/users/adam","html_url":"https://github.com/adam","followers_url":"https://api.github.com/users/adam/followers","following_url":"https://api.github.com/users/adam/following{/other_user}","gists_url":"https://api.github.com/users/adam/gists{/gist_id}","starred_url":"https://api.github.com/users/adam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam/subscriptions","organizations_url":"https://api.github.com/users/adam/orgs","repos_url":"https://api.github.com/users/adam/repos","events_url":"https://api.github.com/users/adam/events{/privacy}","received_events_url":"https://api.github.com/users/adam/received_events","type":"User"},{"login":"mtodd","id":182,"avatar_url":"https://secure.gravatar.com/avatar/b6861bc75bff3c594212338a914a39ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b6861bc75bff3c594212338a914a39ad","url":"https://api.github.com/users/mtodd","html_url":"https://github.com/mtodd","followers_url":"https://api.github.com/users/mtodd/followers","following_url":"https://api.github.com/users/mtodd/following{/other_user}","gists_url":"https://api.github.com/users/mtodd/gists{/gist_id}","starred_url":"https://api.github.com/users/mtodd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtodd/subscriptions","organizations_url":"https://api.github.com/users/mtodd/orgs","repos_url":"https://api.github.com/users/mtodd/repos","events_url":"https://api.github.com/users/mtodd/events{/privacy}","received_events_url":"https://api.github.com/users/mtodd/received_events","type":"User"},{"login":"timcharper","id":183,"avatar_url":"https://secure.gravatar.com/avatar/63f259ca39670e260cd50dd71013663c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"63f259ca39670e260cd50dd71013663c","url":"https://api.github.com/users/timcharper","html_url":"https://github.com/timcharper","followers_url":"https://api.github.com/users/timcharper/followers","following_url":"https://api.github.com/users/timcharper/following{/other_user}","gists_url":"https://api.github.com/users/timcharper/gists{/gist_id}","starred_url":"https://api.github.com/users/timcharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timcharper/subscriptions","organizations_url":"https://api.github.com/users/timcharper/orgs","repos_url":"https://api.github.com/users/timcharper/repos","events_url":"https://api.github.com/users/timcharper/events{/privacy}","received_events_url":"https://api.github.com/users/timcharper/received_events","type":"User"},{"login":"paul","id":184,"avatar_url":"https://secure.gravatar.com/avatar/8f4b861a5b83575337b98d144a4ef4ca?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f4b861a5b83575337b98d144a4ef4ca","url":"https://api.github.com/users/paul","html_url":"https://github.com/paul","followers_url":"https://api.github.com/users/paul/followers","following_url":"https://api.github.com/users/paul/following{/other_user}","gists_url":"https://api.github.com/users/paul/gists{/gist_id}","starred_url":"https://api.github.com/users/paul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paul/subscriptions","organizations_url":"https://api.github.com/users/paul/orgs","repos_url":"https://api.github.com/users/paul/repos","events_url":"https://api.github.com/users/paul/events{/privacy}","received_events_url":"https://api.github.com/users/paul/received_events","type":"User"},{"login":"DocSavage","id":185,"avatar_url":"https://secure.gravatar.com/avatar/9e7c9c07e64a6b7b075097831c360d53?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9e7c9c07e64a6b7b075097831c360d53","url":"https://api.github.com/users/DocSavage","html_url":"https://github.com/DocSavage","followers_url":"https://api.github.com/users/DocSavage/followers","following_url":"https://api.github.com/users/DocSavage/following{/other_user}","gists_url":"https://api.github.com/users/DocSavage/gists{/gist_id}","starred_url":"https://api.github.com/users/DocSavage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DocSavage/subscriptions","organizations_url":"https://api.github.com/users/DocSavage/orgs","repos_url":"https://api.github.com/users/DocSavage/repos","events_url":"https://api.github.com/users/DocSavage/events{/privacy}","received_events_url":"https://api.github.com/users/DocSavage/received_events","type":"User"},{"login":"shane","id":186,"avatar_url":"https://secure.gravatar.com/avatar/29e5052f13e153942d44f2f4e96d070d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"29e5052f13e153942d44f2f4e96d070d","url":"https://api.github.com/users/shane","html_url":"https://github.com/shane","followers_url":"https://api.github.com/users/shane/followers","following_url":"https://api.github.com/users/shane/following{/other_user}","gists_url":"https://api.github.com/users/shane/gists{/gist_id}","starred_url":"https://api.github.com/users/shane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shane/subscriptions","organizations_url":"https://api.github.com/users/shane/orgs","repos_url":"https://api.github.com/users/shane/repos","events_url":"https://api.github.com/users/shane/events{/privacy}","received_events_url":"https://api.github.com/users/shane/received_events","type":"User"},{"login":"vlucas","id":187,"avatar_url":"https://secure.gravatar.com/avatar/94cb827736e36e0f6343e9640e72fec7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"94cb827736e36e0f6343e9640e72fec7","url":"https://api.github.com/users/vlucas","html_url":"https://github.com/vlucas","followers_url":"https://api.github.com/users/vlucas/followers","following_url":"https://api.github.com/users/vlucas/following{/other_user}","gists_url":"https://api.github.com/users/vlucas/gists{/gist_id}","starred_url":"https://api.github.com/users/vlucas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlucas/subscriptions","organizations_url":"https://api.github.com/users/vlucas/orgs","repos_url":"https://api.github.com/users/vlucas/repos","events_url":"https://api.github.com/users/vlucas/events{/privacy}","received_events_url":"https://api.github.com/users/vlucas/received_events","type":"User"},{"login":"nex3","id":188,"avatar_url":"https://secure.gravatar.com/avatar/39b3031f890ad7ce40661614af8b52a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"39b3031f890ad7ce40661614af8b52a6","url":"https://api.github.com/users/nex3","html_url":"https://github.com/nex3","followers_url":"https://api.github.com/users/nex3/followers","following_url":"https://api.github.com/users/nex3/following{/other_user}","gists_url":"https://api.github.com/users/nex3/gists{/gist_id}","starred_url":"https://api.github.com/users/nex3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nex3/subscriptions","organizations_url":"https://api.github.com/users/nex3/orgs","repos_url":"https://api.github.com/users/nex3/repos","events_url":"https://api.github.com/users/nex3/events{/privacy}","received_events_url":"https://api.github.com/users/nex3/received_events","type":"User"},{"login":"max-xx","id":189,"avatar_url":"https://secure.gravatar.com/avatar/c27be5c26bd5f7b849ac1c2ca8833e99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c27be5c26bd5f7b849ac1c2ca8833e99","url":"https://api.github.com/users/max-xx","html_url":"https://github.com/max-xx","followers_url":"https://api.github.com/users/max-xx/followers","following_url":"https://api.github.com/users/max-xx/following{/other_user}","gists_url":"https://api.github.com/users/max-xx/gists{/gist_id}","starred_url":"https://api.github.com/users/max-xx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/max-xx/subscriptions","organizations_url":"https://api.github.com/users/max-xx/orgs","repos_url":"https://api.github.com/users/max-xx/repos","events_url":"https://api.github.com/users/max-xx/events{/privacy}","received_events_url":"https://api.github.com/users/max-xx/received_events","type":"User"},{"login":"norbauer","id":190,"avatar_url":"https://secure.gravatar.com/avatar/5b58a428dd9f1ac0c7ea42c5557692bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5b58a428dd9f1ac0c7ea42c5557692bc","url":"https://api.github.com/users/norbauer","html_url":"https://github.com/norbauer","followers_url":"https://api.github.com/users/norbauer/followers","following_url":"https://api.github.com/users/norbauer/following{/other_user}","gists_url":"https://api.github.com/users/norbauer/gists{/gist_id}","starred_url":"https://api.github.com/users/norbauer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norbauer/subscriptions","organizations_url":"https://api.github.com/users/norbauer/orgs","repos_url":"https://api.github.com/users/norbauer/repos","events_url":"https://api.github.com/users/norbauer/events{/privacy}","received_events_url":"https://api.github.com/users/norbauer/received_events","type":"User"},{"login":"crigor","id":191,"avatar_url":"https://secure.gravatar.com/avatar/c49ed3ac5bb2c11a7df1aa06bc9cfc96?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c49ed3ac5bb2c11a7df1aa06bc9cfc96","url":"https://api.github.com/users/crigor","html_url":"https://github.com/crigor","followers_url":"https://api.github.com/users/crigor/followers","following_url":"https://api.github.com/users/crigor/following{/other_user}","gists_url":"https://api.github.com/users/crigor/gists{/gist_id}","starred_url":"https://api.github.com/users/crigor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crigor/subscriptions","organizations_url":"https://api.github.com/users/crigor/orgs","repos_url":"https://api.github.com/users/crigor/repos","events_url":"https://api.github.com/users/crigor/events{/privacy}","received_events_url":"https://api.github.com/users/crigor/received_events","type":"User"},{"login":"knowtheory","id":192,"avatar_url":"https://secure.gravatar.com/avatar/1ed56a3c8445bfafc7a545d9a63175ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1ed56a3c8445bfafc7a545d9a63175ce","url":"https://api.github.com/users/knowtheory","html_url":"https://github.com/knowtheory","followers_url":"https://api.github.com/users/knowtheory/followers","following_url":"https://api.github.com/users/knowtheory/following{/other_user}","gists_url":"https://api.github.com/users/knowtheory/gists{/gist_id}","starred_url":"https://api.github.com/users/knowtheory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knowtheory/subscriptions","organizations_url":"https://api.github.com/users/knowtheory/orgs","repos_url":"https://api.github.com/users/knowtheory/repos","events_url":"https://api.github.com/users/knowtheory/events{/privacy}","received_events_url":"https://api.github.com/users/knowtheory/received_events","type":"User"},{"login":"bernerdschaefer","id":193,"avatar_url":"https://secure.gravatar.com/avatar/c6e7bc52e950b434362d337bcfa01993?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c6e7bc52e950b434362d337bcfa01993","url":"https://api.github.com/users/bernerdschaefer","html_url":"https://github.com/bernerdschaefer","followers_url":"https://api.github.com/users/bernerdschaefer/followers","following_url":"https://api.github.com/users/bernerdschaefer/following{/other_user}","gists_url":"https://api.github.com/users/bernerdschaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/bernerdschaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bernerdschaefer/subscriptions","organizations_url":"https://api.github.com/users/bernerdschaefer/orgs","repos_url":"https://api.github.com/users/bernerdschaefer/repos","events_url":"https://api.github.com/users/bernerdschaefer/events{/privacy}","received_events_url":"https://api.github.com/users/bernerdschaefer/received_events","type":"User"},{"login":"zapnap","id":194,"avatar_url":"https://secure.gravatar.com/avatar/9ea5b82a23b081cdc7e2ac5e2282c852?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9ea5b82a23b081cdc7e2ac5e2282c852","url":"https://api.github.com/users/zapnap","html_url":"https://github.com/zapnap","followers_url":"https://api.github.com/users/zapnap/followers","following_url":"https://api.github.com/users/zapnap/following{/other_user}","gists_url":"https://api.github.com/users/zapnap/gists{/gist_id}","starred_url":"https://api.github.com/users/zapnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zapnap/subscriptions","organizations_url":"https://api.github.com/users/zapnap/orgs","repos_url":"https://api.github.com/users/zapnap/repos","events_url":"https://api.github.com/users/zapnap/events{/privacy}","received_events_url":"https://api.github.com/users/zapnap/received_events","type":"User"},{"login":"testdude","id":195,"avatar_url":"https://secure.gravatar.com/avatar/d1525f124bd7d3506d69d53bae825c19?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d1525f124bd7d3506d69d53bae825c19","url":"https://api.github.com/users/testdude","html_url":"https://github.com/testdude","followers_url":"https://api.github.com/users/testdude/followers","following_url":"https://api.github.com/users/testdude/following{/other_user}","gists_url":"https://api.github.com/users/testdude/gists{/gist_id}","starred_url":"https://api.github.com/users/testdude/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/testdude/subscriptions","organizations_url":"https://api.github.com/users/testdude/orgs","repos_url":"https://api.github.com/users/testdude/repos","events_url":"https://api.github.com/users/testdude/events{/privacy}","received_events_url":"https://api.github.com/users/testdude/received_events","type":"User"},{"login":"groovious","id":196,"avatar_url":"https://secure.gravatar.com/avatar/4aff9349b377b0d6592f0256852e8c9e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4aff9349b377b0d6592f0256852e8c9e","url":"https://api.github.com/users/groovious","html_url":"https://github.com/groovious","followers_url":"https://api.github.com/users/groovious/followers","following_url":"https://api.github.com/users/groovious/following{/other_user}","gists_url":"https://api.github.com/users/groovious/gists{/gist_id}","starred_url":"https://api.github.com/users/groovious/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/groovious/subscriptions","organizations_url":"https://api.github.com/users/groovious/orgs","repos_url":"https://api.github.com/users/groovious/repos","events_url":"https://api.github.com/users/groovious/events{/privacy}","received_events_url":"https://api.github.com/users/groovious/received_events","type":"User"},{"login":"NZKoz","id":197,"avatar_url":"https://secure.gravatar.com/avatar/efa76b164a7de4a5730e4fa397cc4425?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"efa76b164a7de4a5730e4fa397cc4425","url":"https://api.github.com/users/NZKoz","html_url":"https://github.com/NZKoz","followers_url":"https://api.github.com/users/NZKoz/followers","following_url":"https://api.github.com/users/NZKoz/following{/other_user}","gists_url":"https://api.github.com/users/NZKoz/gists{/gist_id}","starred_url":"https://api.github.com/users/NZKoz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NZKoz/subscriptions","organizations_url":"https://api.github.com/users/NZKoz/orgs","repos_url":"https://api.github.com/users/NZKoz/repos","events_url":"https://api.github.com/users/NZKoz/events{/privacy}","received_events_url":"https://api.github.com/users/NZKoz/received_events","type":"User"},{"login":"croaky","id":198,"avatar_url":"https://secure.gravatar.com/avatar/8e2b996de3842c6ef7e68a82fa5f01f5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8e2b996de3842c6ef7e68a82fa5f01f5","url":"https://api.github.com/users/croaky","html_url":"https://github.com/croaky","followers_url":"https://api.github.com/users/croaky/followers","following_url":"https://api.github.com/users/croaky/following{/other_user}","gists_url":"https://api.github.com/users/croaky/gists{/gist_id}","starred_url":"https://api.github.com/users/croaky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/croaky/subscriptions","organizations_url":"https://api.github.com/users/croaky/orgs","repos_url":"https://api.github.com/users/croaky/repos","events_url":"https://api.github.com/users/croaky/events{/privacy}","received_events_url":"https://api.github.com/users/croaky/received_events","type":"User"},{"login":"jeremy","id":199,"avatar_url":"https://secure.gravatar.com/avatar/24d2f8804e6bb4b7ea6bd11e0a586470?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"24d2f8804e6bb4b7ea6bd11e0a586470","url":"https://api.github.com/users/jeremy","html_url":"https://github.com/jeremy","followers_url":"https://api.github.com/users/jeremy/followers","following_url":"https://api.github.com/users/jeremy/following{/other_user}","gists_url":"https://api.github.com/users/jeremy/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremy/subscriptions","organizations_url":"https://api.github.com/users/jeremy/orgs","repos_url":"https://api.github.com/users/jeremy/repos","events_url":"https://api.github.com/users/jeremy/events{/privacy}","received_events_url":"https://api.github.com/users/jeremy/received_events","type":"User"},{"login":"ELLIOTTCABLE","id":200,"avatar_url":"https://secure.gravatar.com/avatar/4eac78fe7a7a607dcc097a0d6fd63690?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4eac78fe7a7a607dcc097a0d6fd63690","url":"https://api.github.com/users/ELLIOTTCABLE","html_url":"https://github.com/ELLIOTTCABLE","followers_url":"https://api.github.com/users/ELLIOTTCABLE/followers","following_url":"https://api.github.com/users/ELLIOTTCABLE/following{/other_user}","gists_url":"https://api.github.com/users/ELLIOTTCABLE/gists{/gist_id}","starred_url":"https://api.github.com/users/ELLIOTTCABLE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ELLIOTTCABLE/subscriptions","organizations_url":"https://api.github.com/users/ELLIOTTCABLE/orgs","repos_url":"https://api.github.com/users/ELLIOTTCABLE/repos","events_url":"https://api.github.com/users/ELLIOTTCABLE/events{/privacy}","received_events_url":"https://api.github.com/users/ELLIOTTCABLE/received_events","type":"User"},{"login":"monde","id":201,"avatar_url":"https://secure.gravatar.com/avatar/74c036cfbef785b139d06ccad4687b44?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"74c036cfbef785b139d06ccad4687b44","url":"https://api.github.com/users/monde","html_url":"https://github.com/monde","followers_url":"https://api.github.com/users/monde/followers","following_url":"https://api.github.com/users/monde/following{/other_user}","gists_url":"https://api.github.com/users/monde/gists{/gist_id}","starred_url":"https://api.github.com/users/monde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/monde/subscriptions","organizations_url":"https://api.github.com/users/monde/orgs","repos_url":"https://api.github.com/users/monde/repos","events_url":"https://api.github.com/users/monde/events{/privacy}","received_events_url":"https://api.github.com/users/monde/received_events","type":"User"},{"login":"ryanbriones","id":202,"avatar_url":"https://secure.gravatar.com/avatar/881b7dd91c0d9287aea5bc505c10a15a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"881b7dd91c0d9287aea5bc505c10a15a","url":"https://api.github.com/users/ryanbriones","html_url":"https://github.com/ryanbriones","followers_url":"https://api.github.com/users/ryanbriones/followers","following_url":"https://api.github.com/users/ryanbriones/following{/other_user}","gists_url":"https://api.github.com/users/ryanbriones/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanbriones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanbriones/subscriptions","organizations_url":"https://api.github.com/users/ryanbriones/orgs","repos_url":"https://api.github.com/users/ryanbriones/repos","events_url":"https://api.github.com/users/ryanbriones/events{/privacy}","received_events_url":"https://api.github.com/users/ryanbriones/received_events","type":"User"},{"login":"wfarr","id":203,"avatar_url":"https://secure.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"993c45489aac7a71f27112ba2ab4f74c","url":"https://api.github.com/users/wfarr","html_url":"https://github.com/wfarr","followers_url":"https://api.github.com/users/wfarr/followers","following_url":"https://api.github.com/users/wfarr/following{/other_user}","gists_url":"https://api.github.com/users/wfarr/gists{/gist_id}","starred_url":"https://api.github.com/users/wfarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wfarr/subscriptions","organizations_url":"https://api.github.com/users/wfarr/orgs","repos_url":"https://api.github.com/users/wfarr/repos","events_url":"https://api.github.com/users/wfarr/events{/privacy}","received_events_url":"https://api.github.com/users/wfarr/received_events","type":"User"},{"login":"jseifer","id":204,"avatar_url":"https://secure.gravatar.com/avatar/a890d2e9ed0d6ba7b427e4f8cb923090?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a890d2e9ed0d6ba7b427e4f8cb923090","url":"https://api.github.com/users/jseifer","html_url":"https://github.com/jseifer","followers_url":"https://api.github.com/users/jseifer/followers","following_url":"https://api.github.com/users/jseifer/following{/other_user}","gists_url":"https://api.github.com/users/jseifer/gists{/gist_id}","starred_url":"https://api.github.com/users/jseifer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jseifer/subscriptions","organizations_url":"https://api.github.com/users/jseifer/orgs","repos_url":"https://api.github.com/users/jseifer/repos","events_url":"https://api.github.com/users/jseifer/events{/privacy}","received_events_url":"https://api.github.com/users/jseifer/received_events","type":"User"},{"login":"symlink","id":205,"avatar_url":"https://secure.gravatar.com/avatar/3c21859f7834da950a5c04c5335d0e7f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3c21859f7834da950a5c04c5335d0e7f","url":"https://api.github.com/users/symlink","html_url":"https://github.com/symlink","followers_url":"https://api.github.com/users/symlink/followers","following_url":"https://api.github.com/users/symlink/following{/other_user}","gists_url":"https://api.github.com/users/symlink/gists{/gist_id}","starred_url":"https://api.github.com/users/symlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/symlink/subscriptions","organizations_url":"https://api.github.com/users/symlink/orgs","repos_url":"https://api.github.com/users/symlink/repos","events_url":"https://api.github.com/users/symlink/events{/privacy}","received_events_url":"https://api.github.com/users/symlink/received_events","type":"User"},{"login":"sprsquish","id":206,"avatar_url":"https://secure.gravatar.com/avatar/9046f1681dc8375fd81b34799d5abd36?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9046f1681dc8375fd81b34799d5abd36","url":"https://api.github.com/users/sprsquish","html_url":"https://github.com/sprsquish","followers_url":"https://api.github.com/users/sprsquish/followers","following_url":"https://api.github.com/users/sprsquish/following{/other_user}","gists_url":"https://api.github.com/users/sprsquish/gists{/gist_id}","starred_url":"https://api.github.com/users/sprsquish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sprsquish/subscriptions","organizations_url":"https://api.github.com/users/sprsquish/orgs","repos_url":"https://api.github.com/users/sprsquish/repos","events_url":"https://api.github.com/users/sprsquish/events{/privacy}","received_events_url":"https://api.github.com/users/sprsquish/received_events","type":"User"},{"login":"codahale","id":207,"avatar_url":"https://secure.gravatar.com/avatar/87206f3bf53d403e16ec023c56e904c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"87206f3bf53d403e16ec023c56e904c5","url":"https://api.github.com/users/codahale","html_url":"https://github.com/codahale","followers_url":"https://api.github.com/users/codahale/followers","following_url":"https://api.github.com/users/codahale/following{/other_user}","gists_url":"https://api.github.com/users/codahale/gists{/gist_id}","starred_url":"https://api.github.com/users/codahale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codahale/subscriptions","organizations_url":"https://api.github.com/users/codahale/orgs","repos_url":"https://api.github.com/users/codahale/repos","events_url":"https://api.github.com/users/codahale/events{/privacy}","received_events_url":"https://api.github.com/users/codahale/received_events","type":"User"},{"login":"zackchandler","id":208,"avatar_url":"https://secure.gravatar.com/avatar/9bd29b4df0b88fba09fb74743336fc1e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9bd29b4df0b88fba09fb74743336fc1e","url":"https://api.github.com/users/zackchandler","html_url":"https://github.com/zackchandler","followers_url":"https://api.github.com/users/zackchandler/followers","following_url":"https://api.github.com/users/zackchandler/following{/other_user}","gists_url":"https://api.github.com/users/zackchandler/gists{/gist_id}","starred_url":"https://api.github.com/users/zackchandler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zackchandler/subscriptions","organizations_url":"https://api.github.com/users/zackchandler/orgs","repos_url":"https://api.github.com/users/zackchandler/repos","events_url":"https://api.github.com/users/zackchandler/events{/privacy}","received_events_url":"https://api.github.com/users/zackchandler/received_events","type":"User"},{"login":"jakehow","id":209,"avatar_url":"https://secure.gravatar.com/avatar/2dc29dd55d41c04abb7979a43078e6b5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2dc29dd55d41c04abb7979a43078e6b5","url":"https://api.github.com/users/jakehow","html_url":"https://github.com/jakehow","followers_url":"https://api.github.com/users/jakehow/followers","following_url":"https://api.github.com/users/jakehow/following{/other_user}","gists_url":"https://api.github.com/users/jakehow/gists{/gist_id}","starred_url":"https://api.github.com/users/jakehow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakehow/subscriptions","organizations_url":"https://api.github.com/users/jakehow/orgs","repos_url":"https://api.github.com/users/jakehow/repos","events_url":"https://api.github.com/users/jakehow/events{/privacy}","received_events_url":"https://api.github.com/users/jakehow/received_events","type":"User"},{"login":"evan","id":210,"avatar_url":"https://secure.gravatar.com/avatar/f8634aca904bc63cb047cb1bd93bdc74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f8634aca904bc63cb047cb1bd93bdc74","url":"https://api.github.com/users/evan","html_url":"https://github.com/evan","followers_url":"https://api.github.com/users/evan/followers","following_url":"https://api.github.com/users/evan/following{/other_user}","gists_url":"https://api.github.com/users/evan/gists{/gist_id}","starred_url":"https://api.github.com/users/evan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evan/subscriptions","organizations_url":"https://api.github.com/users/evan/orgs","repos_url":"https://api.github.com/users/evan/repos","events_url":"https://api.github.com/users/evan/events{/privacy}","received_events_url":"https://api.github.com/users/evan/received_events","type":"User"},{"login":"olleolleolle","id":211,"avatar_url":"https://secure.gravatar.com/avatar/577ffaaa74822dddde97e39d72c5d953?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"577ffaaa74822dddde97e39d72c5d953","url":"https://api.github.com/users/olleolleolle","html_url":"https://github.com/olleolleolle","followers_url":"https://api.github.com/users/olleolleolle/followers","following_url":"https://api.github.com/users/olleolleolle/following{/other_user}","gists_url":"https://api.github.com/users/olleolleolle/gists{/gist_id}","starred_url":"https://api.github.com/users/olleolleolle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olleolleolle/subscriptions","organizations_url":"https://api.github.com/users/olleolleolle/orgs","repos_url":"https://api.github.com/users/olleolleolle/repos","events_url":"https://api.github.com/users/olleolleolle/events{/privacy}","received_events_url":"https://api.github.com/users/olleolleolle/received_events","type":"User"},{"login":"chrismcg","id":212,"avatar_url":"https://secure.gravatar.com/avatar/0b1b1c3a746a2e346d8cae668b109b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0b1b1c3a746a2e346d8cae668b109b6e","url":"https://api.github.com/users/chrismcg","html_url":"https://github.com/chrismcg","followers_url":"https://api.github.com/users/chrismcg/followers","following_url":"https://api.github.com/users/chrismcg/following{/other_user}","gists_url":"https://api.github.com/users/chrismcg/gists{/gist_id}","starred_url":"https://api.github.com/users/chrismcg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrismcg/subscriptions","organizations_url":"https://api.github.com/users/chrismcg/orgs","repos_url":"https://api.github.com/users/chrismcg/repos","events_url":"https://api.github.com/users/chrismcg/events{/privacy}","received_events_url":"https://api.github.com/users/chrismcg/received_events","type":"User"},{"login":"chuyeow","id":213,"avatar_url":"https://secure.gravatar.com/avatar/00fd4ce27c06ba63e7ddca4c3d67e5ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"00fd4ce27c06ba63e7ddca4c3d67e5ea","url":"https://api.github.com/users/chuyeow","html_url":"https://github.com/chuyeow","followers_url":"https://api.github.com/users/chuyeow/followers","following_url":"https://api.github.com/users/chuyeow/following{/other_user}","gists_url":"https://api.github.com/users/chuyeow/gists{/gist_id}","starred_url":"https://api.github.com/users/chuyeow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chuyeow/subscriptions","organizations_url":"https://api.github.com/users/chuyeow/orgs","repos_url":"https://api.github.com/users/chuyeow/repos","events_url":"https://api.github.com/users/chuyeow/events{/privacy}","received_events_url":"https://api.github.com/users/chuyeow/received_events","type":"User"},{"login":"mloughran","id":214,"avatar_url":"https://secure.gravatar.com/avatar/46bcac797b7a0fb45555cf912d580202?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"46bcac797b7a0fb45555cf912d580202","url":"https://api.github.com/users/mloughran","html_url":"https://github.com/mloughran","followers_url":"https://api.github.com/users/mloughran/followers","following_url":"https://api.github.com/users/mloughran/following{/other_user}","gists_url":"https://api.github.com/users/mloughran/gists{/gist_id}","starred_url":"https://api.github.com/users/mloughran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mloughran/subscriptions","organizations_url":"https://api.github.com/users/mloughran/orgs","repos_url":"https://api.github.com/users/mloughran/repos","events_url":"https://api.github.com/users/mloughran/events{/privacy}","received_events_url":"https://api.github.com/users/mloughran/received_events","type":"User"},{"login":"matthewford","id":215,"avatar_url":"https://secure.gravatar.com/avatar/5238fd6b05bebf4fcc4d9863291ae6b4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5238fd6b05bebf4fcc4d9863291ae6b4","url":"https://api.github.com/users/matthewford","html_url":"https://github.com/matthewford","followers_url":"https://api.github.com/users/matthewford/followers","following_url":"https://api.github.com/users/matthewford/following{/other_user}","gists_url":"https://api.github.com/users/matthewford/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewford/subscriptions","organizations_url":"https://api.github.com/users/matthewford/orgs","repos_url":"https://api.github.com/users/matthewford/repos","events_url":"https://api.github.com/users/matthewford/events{/privacy}","received_events_url":"https://api.github.com/users/matthewford/received_events","type":"User"},{"login":"henrik","id":216,"avatar_url":"https://secure.gravatar.com/avatar/4a551074ddba4460f95d011c47190d0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4a551074ddba4460f95d011c47190d0e","url":"https://api.github.com/users/henrik","html_url":"https://github.com/henrik","followers_url":"https://api.github.com/users/henrik/followers","following_url":"https://api.github.com/users/henrik/following{/other_user}","gists_url":"https://api.github.com/users/henrik/gists{/gist_id}","starred_url":"https://api.github.com/users/henrik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrik/subscriptions","organizations_url":"https://api.github.com/users/henrik/orgs","repos_url":"https://api.github.com/users/henrik/repos","events_url":"https://api.github.com/users/henrik/events{/privacy}","received_events_url":"https://api.github.com/users/henrik/received_events","type":"User"},{"login":"entangledstate","id":217,"avatar_url":"https://secure.gravatar.com/avatar/5a571ddc5f6c3fe0da7d5bef6fe90379?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5a571ddc5f6c3fe0da7d5bef6fe90379","url":"https://api.github.com/users/entangledstate","html_url":"https://github.com/entangledstate","followers_url":"https://api.github.com/users/entangledstate/followers","following_url":"https://api.github.com/users/entangledstate/following{/other_user}","gists_url":"https://api.github.com/users/entangledstate/gists{/gist_id}","starred_url":"https://api.github.com/users/entangledstate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/entangledstate/subscriptions","organizations_url":"https://api.github.com/users/entangledstate/orgs","repos_url":"https://api.github.com/users/entangledstate/repos","events_url":"https://api.github.com/users/entangledstate/events{/privacy}","received_events_url":"https://api.github.com/users/entangledstate/received_events","type":"User"},{"login":"acf","id":218,"avatar_url":"https://secure.gravatar.com/avatar/4daf0b71d5d9a3882e583c0e72eaf5dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4daf0b71d5d9a3882e583c0e72eaf5dc","url":"https://api.github.com/users/acf","html_url":"https://github.com/acf","followers_url":"https://api.github.com/users/acf/followers","following_url":"https://api.github.com/users/acf/following{/other_user}","gists_url":"https://api.github.com/users/acf/gists{/gist_id}","starred_url":"https://api.github.com/users/acf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acf/subscriptions","organizations_url":"https://api.github.com/users/acf/orgs","repos_url":"https://api.github.com/users/acf/repos","events_url":"https://api.github.com/users/acf/events{/privacy}","received_events_url":"https://api.github.com/users/acf/received_events","type":"User"},{"login":"dan","id":219,"avatar_url":"https://secure.gravatar.com/avatar/ccac01cefa0352e0014a8de5b4efcdfd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ccac01cefa0352e0014a8de5b4efcdfd","url":"https://api.github.com/users/dan","html_url":"https://github.com/dan","followers_url":"https://api.github.com/users/dan/followers","following_url":"https://api.github.com/users/dan/following{/other_user}","gists_url":"https://api.github.com/users/dan/gists{/gist_id}","starred_url":"https://api.github.com/users/dan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dan/subscriptions","organizations_url":"https://api.github.com/users/dan/orgs","repos_url":"https://api.github.com/users/dan/repos","events_url":"https://api.github.com/users/dan/events{/privacy}","received_events_url":"https://api.github.com/users/dan/received_events","type":"User"},{"login":"seebq","id":220,"avatar_url":"https://secure.gravatar.com/avatar/9fbfc1f08cd2a8d73475c384b1882824?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9fbfc1f08cd2a8d73475c384b1882824","url":"https://api.github.com/users/seebq","html_url":"https://github.com/seebq","followers_url":"https://api.github.com/users/seebq/followers","following_url":"https://api.github.com/users/seebq/following{/other_user}","gists_url":"https://api.github.com/users/seebq/gists{/gist_id}","starred_url":"https://api.github.com/users/seebq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seebq/subscriptions","organizations_url":"https://api.github.com/users/seebq/orgs","repos_url":"https://api.github.com/users/seebq/repos","events_url":"https://api.github.com/users/seebq/events{/privacy}","received_events_url":"https://api.github.com/users/seebq/received_events","type":"User"},{"login":"delynn","id":221,"avatar_url":"https://secure.gravatar.com/avatar/81279142caec7e29150fced7f916da62?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"81279142caec7e29150fced7f916da62","url":"https://api.github.com/users/delynn","html_url":"https://github.com/delynn","followers_url":"https://api.github.com/users/delynn/followers","following_url":"https://api.github.com/users/delynn/following{/other_user}","gists_url":"https://api.github.com/users/delynn/gists{/gist_id}","starred_url":"https://api.github.com/users/delynn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delynn/subscriptions","organizations_url":"https://api.github.com/users/delynn/orgs","repos_url":"https://api.github.com/users/delynn/repos","events_url":"https://api.github.com/users/delynn/events{/privacy}","received_events_url":"https://api.github.com/users/delynn/received_events","type":"User"},{"login":"spicycode","id":222,"avatar_url":"https://secure.gravatar.com/avatar/7ce90d712fab09421b7f2cf955b9a4c8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7ce90d712fab09421b7f2cf955b9a4c8","url":"https://api.github.com/users/spicycode","html_url":"https://github.com/spicycode","followers_url":"https://api.github.com/users/spicycode/followers","following_url":"https://api.github.com/users/spicycode/following{/other_user}","gists_url":"https://api.github.com/users/spicycode/gists{/gist_id}","starred_url":"https://api.github.com/users/spicycode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spicycode/subscriptions","organizations_url":"https://api.github.com/users/spicycode/orgs","repos_url":"https://api.github.com/users/spicycode/repos","events_url":"https://api.github.com/users/spicycode/events{/privacy}","received_events_url":"https://api.github.com/users/spicycode/received_events","type":"User"},{"login":"ntalbott","id":223,"avatar_url":"https://secure.gravatar.com/avatar/de4ad5b12586407fd72276710dc0fcb5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de4ad5b12586407fd72276710dc0fcb5","url":"https://api.github.com/users/ntalbott","html_url":"https://github.com/ntalbott","followers_url":"https://api.github.com/users/ntalbott/followers","following_url":"https://api.github.com/users/ntalbott/following{/other_user}","gists_url":"https://api.github.com/users/ntalbott/gists{/gist_id}","starred_url":"https://api.github.com/users/ntalbott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ntalbott/subscriptions","organizations_url":"https://api.github.com/users/ntalbott/orgs","repos_url":"https://api.github.com/users/ntalbott/repos","events_url":"https://api.github.com/users/ntalbott/events{/privacy}","received_events_url":"https://api.github.com/users/ntalbott/received_events","type":"User"},{"login":"rdempsey","id":224,"avatar_url":"https://secure.gravatar.com/avatar/8234a5ea3e56fca09c5549ee5e23e3e1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8234a5ea3e56fca09c5549ee5e23e3e1","url":"https://api.github.com/users/rdempsey","html_url":"https://github.com/rdempsey","followers_url":"https://api.github.com/users/rdempsey/followers","following_url":"https://api.github.com/users/rdempsey/following{/other_user}","gists_url":"https://api.github.com/users/rdempsey/gists{/gist_id}","starred_url":"https://api.github.com/users/rdempsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rdempsey/subscriptions","organizations_url":"https://api.github.com/users/rdempsey/orgs","repos_url":"https://api.github.com/users/rdempsey/repos","events_url":"https://api.github.com/users/rdempsey/events{/privacy}","received_events_url":"https://api.github.com/users/rdempsey/received_events","type":"User"},{"login":"mjankowski","id":225,"avatar_url":"https://secure.gravatar.com/avatar/e535b2456534fcea111ddd58375b7aa9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e535b2456534fcea111ddd58375b7aa9","url":"https://api.github.com/users/mjankowski","html_url":"https://github.com/mjankowski","followers_url":"https://api.github.com/users/mjankowski/followers","following_url":"https://api.github.com/users/mjankowski/following{/other_user}","gists_url":"https://api.github.com/users/mjankowski/gists{/gist_id}","starred_url":"https://api.github.com/users/mjankowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjankowski/subscriptions","organizations_url":"https://api.github.com/users/mjankowski/orgs","repos_url":"https://api.github.com/users/mjankowski/repos","events_url":"https://api.github.com/users/mjankowski/events{/privacy}","received_events_url":"https://api.github.com/users/mjankowski/received_events","type":"User"},{"login":"danahern","id":226,"avatar_url":"https://secure.gravatar.com/avatar/c5a551578630f77febda69e391cb2a36?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c5a551578630f77febda69e391cb2a36","url":"https://api.github.com/users/danahern","html_url":"https://github.com/danahern","followers_url":"https://api.github.com/users/danahern/followers","following_url":"https://api.github.com/users/danahern/following{/other_user}","gists_url":"https://api.github.com/users/danahern/gists{/gist_id}","starred_url":"https://api.github.com/users/danahern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danahern/subscriptions","organizations_url":"https://api.github.com/users/danahern/orgs","repos_url":"https://api.github.com/users/danahern/repos","events_url":"https://api.github.com/users/danahern/events{/privacy}","received_events_url":"https://api.github.com/users/danahern/received_events","type":"User"},{"login":"dctanner","id":227,"avatar_url":"https://secure.gravatar.com/avatar/ef40b5b6a8593bb6a0360c0efe00f991?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ef40b5b6a8593bb6a0360c0efe00f991","url":"https://api.github.com/users/dctanner","html_url":"https://github.com/dctanner","followers_url":"https://api.github.com/users/dctanner/followers","following_url":"https://api.github.com/users/dctanner/following{/other_user}","gists_url":"https://api.github.com/users/dctanner/gists{/gist_id}","starred_url":"https://api.github.com/users/dctanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dctanner/subscriptions","organizations_url":"https://api.github.com/users/dctanner/orgs","repos_url":"https://api.github.com/users/dctanner/repos","events_url":"https://api.github.com/users/dctanner/events{/privacy}","received_events_url":"https://api.github.com/users/dctanner/received_events","type":"User"},{"login":"alexvollmer","id":228,"avatar_url":"https://secure.gravatar.com/avatar/0bcaed12375a062b25777bf528cc1539?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0bcaed12375a062b25777bf528cc1539","url":"https://api.github.com/users/alexvollmer","html_url":"https://github.com/alexvollmer","followers_url":"https://api.github.com/users/alexvollmer/followers","following_url":"https://api.github.com/users/alexvollmer/following{/other_user}","gists_url":"https://api.github.com/users/alexvollmer/gists{/gist_id}","starred_url":"https://api.github.com/users/alexvollmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexvollmer/subscriptions","organizations_url":"https://api.github.com/users/alexvollmer/orgs","repos_url":"https://api.github.com/users/alexvollmer/repos","events_url":"https://api.github.com/users/alexvollmer/events{/privacy}","received_events_url":"https://api.github.com/users/alexvollmer/received_events","type":"User"},{"login":"RailsAddict","id":229,"avatar_url":"https://secure.gravatar.com/avatar/867657059fc852575d685dc1292f77a0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"867657059fc852575d685dc1292f77a0","url":"https://api.github.com/users/RailsAddict","html_url":"https://github.com/RailsAddict","followers_url":"https://api.github.com/users/RailsAddict/followers","following_url":"https://api.github.com/users/RailsAddict/following{/other_user}","gists_url":"https://api.github.com/users/RailsAddict/gists{/gist_id}","starred_url":"https://api.github.com/users/RailsAddict/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RailsAddict/subscriptions","organizations_url":"https://api.github.com/users/RailsAddict/orgs","repos_url":"https://api.github.com/users/RailsAddict/repos","events_url":"https://api.github.com/users/RailsAddict/events{/privacy}","received_events_url":"https://api.github.com/users/RailsAddict/received_events","type":"User"},{"login":"scharfie","id":230,"avatar_url":"https://secure.gravatar.com/avatar/828dc634f7493008dbc96c437e54ea2f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"828dc634f7493008dbc96c437e54ea2f","url":"https://api.github.com/users/scharfie","html_url":"https://github.com/scharfie","followers_url":"https://api.github.com/users/scharfie/followers","following_url":"https://api.github.com/users/scharfie/following{/other_user}","gists_url":"https://api.github.com/users/scharfie/gists{/gist_id}","starred_url":"https://api.github.com/users/scharfie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scharfie/subscriptions","organizations_url":"https://api.github.com/users/scharfie/orgs","repos_url":"https://api.github.com/users/scharfie/repos","events_url":"https://api.github.com/users/scharfie/events{/privacy}","received_events_url":"https://api.github.com/users/scharfie/received_events","type":"User"},{"login":"jhardy-deleteme","id":231,"avatar_url":"https://secure.gravatar.com/avatar/3c3ae4f2a02a1d48755eceb2b291dcfd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3c3ae4f2a02a1d48755eceb2b291dcfd","url":"https://api.github.com/users/jhardy-deleteme","html_url":"https://github.com/jhardy-deleteme","followers_url":"https://api.github.com/users/jhardy-deleteme/followers","following_url":"https://api.github.com/users/jhardy-deleteme/following{/other_user}","gists_url":"https://api.github.com/users/jhardy-deleteme/gists{/gist_id}","starred_url":"https://api.github.com/users/jhardy-deleteme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhardy-deleteme/subscriptions","organizations_url":"https://api.github.com/users/jhardy-deleteme/orgs","repos_url":"https://api.github.com/users/jhardy-deleteme/repos","events_url":"https://api.github.com/users/jhardy-deleteme/events{/privacy}","received_events_url":"https://api.github.com/users/jhardy-deleteme/received_events","type":"User"},{"login":"daikini","id":232,"avatar_url":"https://secure.gravatar.com/avatar/d1e098b7194f0948f4efe23e8ba404ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d1e098b7194f0948f4efe23e8ba404ba","url":"https://api.github.com/users/daikini","html_url":"https://github.com/daikini","followers_url":"https://api.github.com/users/daikini/followers","following_url":"https://api.github.com/users/daikini/following{/other_user}","gists_url":"https://api.github.com/users/daikini/gists{/gist_id}","starred_url":"https://api.github.com/users/daikini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daikini/subscriptions","organizations_url":"https://api.github.com/users/daikini/orgs","repos_url":"https://api.github.com/users/daikini/repos","events_url":"https://api.github.com/users/daikini/events{/privacy}","received_events_url":"https://api.github.com/users/daikini/received_events","type":"User"},{"login":"tdreyno","id":233,"avatar_url":"https://secure.gravatar.com/avatar/291394b477c2824bf5d75b831f125304?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"291394b477c2824bf5d75b831f125304","url":"https://api.github.com/users/tdreyno","html_url":"https://github.com/tdreyno","followers_url":"https://api.github.com/users/tdreyno/followers","following_url":"https://api.github.com/users/tdreyno/following{/other_user}","gists_url":"https://api.github.com/users/tdreyno/gists{/gist_id}","starred_url":"https://api.github.com/users/tdreyno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdreyno/subscriptions","organizations_url":"https://api.github.com/users/tdreyno/orgs","repos_url":"https://api.github.com/users/tdreyno/repos","events_url":"https://api.github.com/users/tdreyno/events{/privacy}","received_events_url":"https://api.github.com/users/tdreyno/received_events","type":"User"},{"login":"mysmallidea","id":234,"avatar_url":"https://secure.gravatar.com/avatar/e53d645e050e733280ee67c8e408042a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e53d645e050e733280ee67c8e408042a","url":"https://api.github.com/users/mysmallidea","html_url":"https://github.com/mysmallidea","followers_url":"https://api.github.com/users/mysmallidea/followers","following_url":"https://api.github.com/users/mysmallidea/following{/other_user}","gists_url":"https://api.github.com/users/mysmallidea/gists{/gist_id}","starred_url":"https://api.github.com/users/mysmallidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysmallidea/subscriptions","organizations_url":"https://api.github.com/users/mysmallidea/orgs","repos_url":"https://api.github.com/users/mysmallidea/repos","events_url":"https://api.github.com/users/mysmallidea/events{/privacy}","received_events_url":"https://api.github.com/users/mysmallidea/received_events","type":"User"},{"login":"jnunemaker","id":235,"avatar_url":"https://secure.gravatar.com/avatar/3783e88128f2773aa70a8f925d5f795d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3783e88128f2773aa70a8f925d5f795d","url":"https://api.github.com/users/jnunemaker","html_url":"https://github.com/jnunemaker","followers_url":"https://api.github.com/users/jnunemaker/followers","following_url":"https://api.github.com/users/jnunemaker/following{/other_user}","gists_url":"https://api.github.com/users/jnunemaker/gists{/gist_id}","starred_url":"https://api.github.com/users/jnunemaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnunemaker/subscriptions","organizations_url":"https://api.github.com/users/jnunemaker/orgs","repos_url":"https://api.github.com/users/jnunemaker/repos","events_url":"https://api.github.com/users/jnunemaker/events{/privacy}","received_events_url":"https://api.github.com/users/jnunemaker/received_events","type":"User"},{"login":"shayarnett","id":236,"avatar_url":"https://secure.gravatar.com/avatar/bc56e3ab1109d0ac3322d9cdea2bd52c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bc56e3ab1109d0ac3322d9cdea2bd52c","url":"https://api.github.com/users/shayarnett","html_url":"https://github.com/shayarnett","followers_url":"https://api.github.com/users/shayarnett/followers","following_url":"https://api.github.com/users/shayarnett/following{/other_user}","gists_url":"https://api.github.com/users/shayarnett/gists{/gist_id}","starred_url":"https://api.github.com/users/shayarnett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shayarnett/subscriptions","organizations_url":"https://api.github.com/users/shayarnett/orgs","repos_url":"https://api.github.com/users/shayarnett/repos","events_url":"https://api.github.com/users/shayarnett/events{/privacy}","received_events_url":"https://api.github.com/users/shayarnett/received_events","type":"User"},{"login":"chad","id":237,"avatar_url":"https://secure.gravatar.com/avatar/77f306388bb6ae00ac0b0401e27cdc99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"77f306388bb6ae00ac0b0401e27cdc99","url":"https://api.github.com/users/chad","html_url":"https://github.com/chad","followers_url":"https://api.github.com/users/chad/followers","following_url":"https://api.github.com/users/chad/following{/other_user}","gists_url":"https://api.github.com/users/chad/gists{/gist_id}","starred_url":"https://api.github.com/users/chad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chad/subscriptions","organizations_url":"https://api.github.com/users/chad/orgs","repos_url":"https://api.github.com/users/chad/repos","events_url":"https://api.github.com/users/chad/events{/privacy}","received_events_url":"https://api.github.com/users/chad/received_events","type":"User"}] - diff --git a/github/tests/ReplayData/Github.testGetUsersSince.txt b/github/tests/ReplayData/Github.testGetUsersSince.txt deleted file mode 100644 index ed99df3..0000000 --- a/github/tests/ReplayData/Github.testGetUsersSince.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users?since=1000 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '98348'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"cca5d88559ccabed801c053558444403"'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 18 Jun 2013 15:43:12 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"login":"sbecker","id":1001,"avatar_url":"https://secure.gravatar.com/avatar/981b75f949c81efad3bc4b3c4ea88332?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"981b75f949c81efad3bc4b3c4ea88332","url":"https://api.github.com/users/sbecker","html_url":"https://github.com/sbecker","followers_url":"https://api.github.com/users/sbecker/followers","following_url":"https://api.github.com/users/sbecker/following{/other_user}","gists_url":"https://api.github.com/users/sbecker/gists{/gist_id}","starred_url":"https://api.github.com/users/sbecker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbecker/subscriptions","organizations_url":"https://api.github.com/users/sbecker/orgs","repos_url":"https://api.github.com/users/sbecker/repos","events_url":"https://api.github.com/users/sbecker/events{/privacy}","received_events_url":"https://api.github.com/users/sbecker/received_events","type":"User"},{"login":"aharper","id":1002,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/aharper","html_url":"https://github.com/aharper","followers_url":"https://api.github.com/users/aharper/followers","following_url":"https://api.github.com/users/aharper/following{/other_user}","gists_url":"https://api.github.com/users/aharper/gists{/gist_id}","starred_url":"https://api.github.com/users/aharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aharper/subscriptions","organizations_url":"https://api.github.com/users/aharper/orgs","repos_url":"https://api.github.com/users/aharper/repos","events_url":"https://api.github.com/users/aharper/events{/privacy}","received_events_url":"https://api.github.com/users/aharper/received_events","type":"User"},{"login":"stocad","id":1003,"avatar_url":"https://secure.gravatar.com/avatar/c186bc6ed8c59bd65d7d17c27584ff99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c186bc6ed8c59bd65d7d17c27584ff99","url":"https://api.github.com/users/stocad","html_url":"https://github.com/stocad","followers_url":"https://api.github.com/users/stocad/followers","following_url":"https://api.github.com/users/stocad/following{/other_user}","gists_url":"https://api.github.com/users/stocad/gists{/gist_id}","starred_url":"https://api.github.com/users/stocad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stocad/subscriptions","organizations_url":"https://api.github.com/users/stocad/orgs","repos_url":"https://api.github.com/users/stocad/repos","events_url":"https://api.github.com/users/stocad/events{/privacy}","received_events_url":"https://api.github.com/users/stocad/received_events","type":"User"},{"login":"adambair","id":1004,"avatar_url":"https://secure.gravatar.com/avatar/96630febb655a1425f1279cc68c1dfa2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96630febb655a1425f1279cc68c1dfa2","url":"https://api.github.com/users/adambair","html_url":"https://github.com/adambair","followers_url":"https://api.github.com/users/adambair/followers","following_url":"https://api.github.com/users/adambair/following{/other_user}","gists_url":"https://api.github.com/users/adambair/gists{/gist_id}","starred_url":"https://api.github.com/users/adambair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambair/subscriptions","organizations_url":"https://api.github.com/users/adambair/orgs","repos_url":"https://api.github.com/users/adambair/repos","events_url":"https://api.github.com/users/adambair/events{/privacy}","received_events_url":"https://api.github.com/users/adambair/received_events","type":"User"},{"login":"ernesto-jimenez","id":1005,"avatar_url":"https://secure.gravatar.com/avatar/125b528cf4cb0ddc3d4da9671dd2ee40?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"125b528cf4cb0ddc3d4da9671dd2ee40","url":"https://api.github.com/users/ernesto-jimenez","html_url":"https://github.com/ernesto-jimenez","followers_url":"https://api.github.com/users/ernesto-jimenez/followers","following_url":"https://api.github.com/users/ernesto-jimenez/following{/other_user}","gists_url":"https://api.github.com/users/ernesto-jimenez/gists{/gist_id}","starred_url":"https://api.github.com/users/ernesto-jimenez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ernesto-jimenez/subscriptions","organizations_url":"https://api.github.com/users/ernesto-jimenez/orgs","repos_url":"https://api.github.com/users/ernesto-jimenez/repos","events_url":"https://api.github.com/users/ernesto-jimenez/events{/privacy}","received_events_url":"https://api.github.com/users/ernesto-jimenez/received_events","type":"User"},{"login":"aglasgall","id":1006,"avatar_url":"https://secure.gravatar.com/avatar/349ebc82502b22272184dccd32b0a045?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"349ebc82502b22272184dccd32b0a045","url":"https://api.github.com/users/aglasgall","html_url":"https://github.com/aglasgall","followers_url":"https://api.github.com/users/aglasgall/followers","following_url":"https://api.github.com/users/aglasgall/following{/other_user}","gists_url":"https://api.github.com/users/aglasgall/gists{/gist_id}","starred_url":"https://api.github.com/users/aglasgall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aglasgall/subscriptions","organizations_url":"https://api.github.com/users/aglasgall/orgs","repos_url":"https://api.github.com/users/aglasgall/repos","events_url":"https://api.github.com/users/aglasgall/events{/privacy}","received_events_url":"https://api.github.com/users/aglasgall/received_events","type":"User"},{"login":"marcinpohl","id":1007,"avatar_url":"https://secure.gravatar.com/avatar/0c2f52ce1edc35f686d3240bf7043264?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0c2f52ce1edc35f686d3240bf7043264","url":"https://api.github.com/users/marcinpohl","html_url":"https://github.com/marcinpohl","followers_url":"https://api.github.com/users/marcinpohl/followers","following_url":"https://api.github.com/users/marcinpohl/following{/other_user}","gists_url":"https://api.github.com/users/marcinpohl/gists{/gist_id}","starred_url":"https://api.github.com/users/marcinpohl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcinpohl/subscriptions","organizations_url":"https://api.github.com/users/marcinpohl/orgs","repos_url":"https://api.github.com/users/marcinpohl/repos","events_url":"https://api.github.com/users/marcinpohl/events{/privacy}","received_events_url":"https://api.github.com/users/marcinpohl/received_events","type":"User"},{"login":"Schultz","id":1008,"avatar_url":"https://secure.gravatar.com/avatar/c996e830c7dc59a5e8db36dff386325f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c996e830c7dc59a5e8db36dff386325f","url":"https://api.github.com/users/Schultz","html_url":"https://github.com/Schultz","followers_url":"https://api.github.com/users/Schultz/followers","following_url":"https://api.github.com/users/Schultz/following{/other_user}","gists_url":"https://api.github.com/users/Schultz/gists{/gist_id}","starred_url":"https://api.github.com/users/Schultz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Schultz/subscriptions","organizations_url":"https://api.github.com/users/Schultz/orgs","repos_url":"https://api.github.com/users/Schultz/repos","events_url":"https://api.github.com/users/Schultz/events{/privacy}","received_events_url":"https://api.github.com/users/Schultz/received_events","type":"User"},{"login":"altano","id":1009,"avatar_url":"https://secure.gravatar.com/avatar/64225bb31539cd70861cc055b0251ddb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"64225bb31539cd70861cc055b0251ddb","url":"https://api.github.com/users/altano","html_url":"https://github.com/altano","followers_url":"https://api.github.com/users/altano/followers","following_url":"https://api.github.com/users/altano/following{/other_user}","gists_url":"https://api.github.com/users/altano/gists{/gist_id}","starred_url":"https://api.github.com/users/altano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/altano/subscriptions","organizations_url":"https://api.github.com/users/altano/orgs","repos_url":"https://api.github.com/users/altano/repos","events_url":"https://api.github.com/users/altano/events{/privacy}","received_events_url":"https://api.github.com/users/altano/received_events","type":"User"},{"login":"damm","id":1010,"avatar_url":"https://secure.gravatar.com/avatar/7f8d72b1b13288b6ab18d29a73408ae1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7f8d72b1b13288b6ab18d29a73408ae1","url":"https://api.github.com/users/damm","html_url":"https://github.com/damm","followers_url":"https://api.github.com/users/damm/followers","following_url":"https://api.github.com/users/damm/following{/other_user}","gists_url":"https://api.github.com/users/damm/gists{/gist_id}","starred_url":"https://api.github.com/users/damm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damm/subscriptions","organizations_url":"https://api.github.com/users/damm/orgs","repos_url":"https://api.github.com/users/damm/repos","events_url":"https://api.github.com/users/damm/events{/privacy}","received_events_url":"https://api.github.com/users/damm/received_events","type":"User"},{"login":"plaggypig","id":1011,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/plaggypig","html_url":"https://github.com/plaggypig","followers_url":"https://api.github.com/users/plaggypig/followers","following_url":"https://api.github.com/users/plaggypig/following{/other_user}","gists_url":"https://api.github.com/users/plaggypig/gists{/gist_id}","starred_url":"https://api.github.com/users/plaggypig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plaggypig/subscriptions","organizations_url":"https://api.github.com/users/plaggypig/orgs","repos_url":"https://api.github.com/users/plaggypig/repos","events_url":"https://api.github.com/users/plaggypig/events{/privacy}","received_events_url":"https://api.github.com/users/plaggypig/received_events","type":"User"},{"login":"rwdaigle","id":1012,"avatar_url":"https://secure.gravatar.com/avatar/8eb7bf96dd877adca0cbd29bb2e47e38?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8eb7bf96dd877adca0cbd29bb2e47e38","url":"https://api.github.com/users/rwdaigle","html_url":"https://github.com/rwdaigle","followers_url":"https://api.github.com/users/rwdaigle/followers","following_url":"https://api.github.com/users/rwdaigle/following{/other_user}","gists_url":"https://api.github.com/users/rwdaigle/gists{/gist_id}","starred_url":"https://api.github.com/users/rwdaigle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwdaigle/subscriptions","organizations_url":"https://api.github.com/users/rwdaigle/orgs","repos_url":"https://api.github.com/users/rwdaigle/repos","events_url":"https://api.github.com/users/rwdaigle/events{/privacy}","received_events_url":"https://api.github.com/users/rwdaigle/received_events","type":"User"},{"login":"lbuenaventura","id":1013,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/lbuenaventura","html_url":"https://github.com/lbuenaventura","followers_url":"https://api.github.com/users/lbuenaventura/followers","following_url":"https://api.github.com/users/lbuenaventura/following{/other_user}","gists_url":"https://api.github.com/users/lbuenaventura/gists{/gist_id}","starred_url":"https://api.github.com/users/lbuenaventura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbuenaventura/subscriptions","organizations_url":"https://api.github.com/users/lbuenaventura/orgs","repos_url":"https://api.github.com/users/lbuenaventura/repos","events_url":"https://api.github.com/users/lbuenaventura/events{/privacy}","received_events_url":"https://api.github.com/users/lbuenaventura/received_events","type":"User"},{"login":"sunfmin","id":1014,"avatar_url":"https://secure.gravatar.com/avatar/d4a7c04ca87944e7fb06518fb64f9c36?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d4a7c04ca87944e7fb06518fb64f9c36","url":"https://api.github.com/users/sunfmin","html_url":"https://github.com/sunfmin","followers_url":"https://api.github.com/users/sunfmin/followers","following_url":"https://api.github.com/users/sunfmin/following{/other_user}","gists_url":"https://api.github.com/users/sunfmin/gists{/gist_id}","starred_url":"https://api.github.com/users/sunfmin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunfmin/subscriptions","organizations_url":"https://api.github.com/users/sunfmin/orgs","repos_url":"https://api.github.com/users/sunfmin/repos","events_url":"https://api.github.com/users/sunfmin/events{/privacy}","received_events_url":"https://api.github.com/users/sunfmin/received_events","type":"User"},{"login":"hilc","id":1015,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/hilc","html_url":"https://github.com/hilc","followers_url":"https://api.github.com/users/hilc/followers","following_url":"https://api.github.com/users/hilc/following{/other_user}","gists_url":"https://api.github.com/users/hilc/gists{/gist_id}","starred_url":"https://api.github.com/users/hilc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hilc/subscriptions","organizations_url":"https://api.github.com/users/hilc/orgs","repos_url":"https://api.github.com/users/hilc/repos","events_url":"https://api.github.com/users/hilc/events{/privacy}","received_events_url":"https://api.github.com/users/hilc/received_events","type":"User"},{"login":"amerine","id":1016,"avatar_url":"https://secure.gravatar.com/avatar/627f0a46a5ea5729951b8224833ca653?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"627f0a46a5ea5729951b8224833ca653","url":"https://api.github.com/users/amerine","html_url":"https://github.com/amerine","followers_url":"https://api.github.com/users/amerine/followers","following_url":"https://api.github.com/users/amerine/following{/other_user}","gists_url":"https://api.github.com/users/amerine/gists{/gist_id}","starred_url":"https://api.github.com/users/amerine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amerine/subscriptions","organizations_url":"https://api.github.com/users/amerine/orgs","repos_url":"https://api.github.com/users/amerine/repos","events_url":"https://api.github.com/users/amerine/events{/privacy}","received_events_url":"https://api.github.com/users/amerine/received_events","type":"User"},{"login":"jjgod","id":1017,"avatar_url":"https://secure.gravatar.com/avatar/2dd3e7469ade9ddedc6781133a39525e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2dd3e7469ade9ddedc6781133a39525e","url":"https://api.github.com/users/jjgod","html_url":"https://github.com/jjgod","followers_url":"https://api.github.com/users/jjgod/followers","following_url":"https://api.github.com/users/jjgod/following{/other_user}","gists_url":"https://api.github.com/users/jjgod/gists{/gist_id}","starred_url":"https://api.github.com/users/jjgod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjgod/subscriptions","organizations_url":"https://api.github.com/users/jjgod/orgs","repos_url":"https://api.github.com/users/jjgod/repos","events_url":"https://api.github.com/users/jjgod/events{/privacy}","received_events_url":"https://api.github.com/users/jjgod/received_events","type":"User"},{"login":"mystical","id":1018,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/mystical","html_url":"https://github.com/mystical","followers_url":"https://api.github.com/users/mystical/followers","following_url":"https://api.github.com/users/mystical/following{/other_user}","gists_url":"https://api.github.com/users/mystical/gists{/gist_id}","starred_url":"https://api.github.com/users/mystical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mystical/subscriptions","organizations_url":"https://api.github.com/users/mystical/orgs","repos_url":"https://api.github.com/users/mystical/repos","events_url":"https://api.github.com/users/mystical/events{/privacy}","received_events_url":"https://api.github.com/users/mystical/received_events","type":"User"},{"login":"holin","id":1019,"avatar_url":"https://secure.gravatar.com/avatar/1263181dddbc17abed4d1d1c5ef47e17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1263181dddbc17abed4d1d1c5ef47e17","url":"https://api.github.com/users/holin","html_url":"https://github.com/holin","followers_url":"https://api.github.com/users/holin/followers","following_url":"https://api.github.com/users/holin/following{/other_user}","gists_url":"https://api.github.com/users/holin/gists{/gist_id}","starred_url":"https://api.github.com/users/holin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holin/subscriptions","organizations_url":"https://api.github.com/users/holin/orgs","repos_url":"https://api.github.com/users/holin/repos","events_url":"https://api.github.com/users/holin/events{/privacy}","received_events_url":"https://api.github.com/users/holin/received_events","type":"User"},{"login":"justinweiss","id":1020,"avatar_url":"https://secure.gravatar.com/avatar/81cb8ff8ba584785c33bc786997624bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"81cb8ff8ba584785c33bc786997624bc","url":"https://api.github.com/users/justinweiss","html_url":"https://github.com/justinweiss","followers_url":"https://api.github.com/users/justinweiss/followers","following_url":"https://api.github.com/users/justinweiss/following{/other_user}","gists_url":"https://api.github.com/users/justinweiss/gists{/gist_id}","starred_url":"https://api.github.com/users/justinweiss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinweiss/subscriptions","organizations_url":"https://api.github.com/users/justinweiss/orgs","repos_url":"https://api.github.com/users/justinweiss/repos","events_url":"https://api.github.com/users/justinweiss/events{/privacy}","received_events_url":"https://api.github.com/users/justinweiss/received_events","type":"User"},{"login":"sethtrain","id":1021,"avatar_url":"https://secure.gravatar.com/avatar/8599d4a5752e74c5bb6bd81044a058d0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8599d4a5752e74c5bb6bd81044a058d0","url":"https://api.github.com/users/sethtrain","html_url":"https://github.com/sethtrain","followers_url":"https://api.github.com/users/sethtrain/followers","following_url":"https://api.github.com/users/sethtrain/following{/other_user}","gists_url":"https://api.github.com/users/sethtrain/gists{/gist_id}","starred_url":"https://api.github.com/users/sethtrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethtrain/subscriptions","organizations_url":"https://api.github.com/users/sethtrain/orgs","repos_url":"https://api.github.com/users/sethtrain/repos","events_url":"https://api.github.com/users/sethtrain/events{/privacy}","received_events_url":"https://api.github.com/users/sethtrain/received_events","type":"User"},{"login":"mbleigh","id":1022,"avatar_url":"https://secure.gravatar.com/avatar/69dc78b59ef008c58e6e842f9f3e0624?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69dc78b59ef008c58e6e842f9f3e0624","url":"https://api.github.com/users/mbleigh","html_url":"https://github.com/mbleigh","followers_url":"https://api.github.com/users/mbleigh/followers","following_url":"https://api.github.com/users/mbleigh/following{/other_user}","gists_url":"https://api.github.com/users/mbleigh/gists{/gist_id}","starred_url":"https://api.github.com/users/mbleigh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbleigh/subscriptions","organizations_url":"https://api.github.com/users/mbleigh/orgs","repos_url":"https://api.github.com/users/mbleigh/repos","events_url":"https://api.github.com/users/mbleigh/events{/privacy}","received_events_url":"https://api.github.com/users/mbleigh/received_events","type":"User"},{"login":"cobrien","id":1023,"avatar_url":"https://secure.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d41d8cd98f00b204e9800998ecf8427e","url":"https://api.github.com/users/cobrien","html_url":"https://github.com/cobrien","followers_url":"https://api.github.com/users/cobrien/followers","following_url":"https://api.github.com/users/cobrien/following{/other_user}","gists_url":"https://api.github.com/users/cobrien/gists{/gist_id}","starred_url":"https://api.github.com/users/cobrien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cobrien/subscriptions","organizations_url":"https://api.github.com/users/cobrien/orgs","repos_url":"https://api.github.com/users/cobrien/repos","events_url":"https://api.github.com/users/cobrien/events{/privacy}","received_events_url":"https://api.github.com/users/cobrien/received_events","type":"User"},{"login":"pstuteville","id":1024,"avatar_url":"https://secure.gravatar.com/avatar/199cfe81f5ceaa16aa3a8c317e142b5c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"199cfe81f5ceaa16aa3a8c317e142b5c","url":"https://api.github.com/users/pstuteville","html_url":"https://github.com/pstuteville","followers_url":"https://api.github.com/users/pstuteville/followers","following_url":"https://api.github.com/users/pstuteville/following{/other_user}","gists_url":"https://api.github.com/users/pstuteville/gists{/gist_id}","starred_url":"https://api.github.com/users/pstuteville/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pstuteville/subscriptions","organizations_url":"https://api.github.com/users/pstuteville/orgs","repos_url":"https://api.github.com/users/pstuteville/repos","events_url":"https://api.github.com/users/pstuteville/events{/privacy}","received_events_url":"https://api.github.com/users/pstuteville/received_events","type":"User"},{"login":"da3mon","id":1025,"avatar_url":"https://secure.gravatar.com/avatar/2c1d180ae7dc513f3071932acea4ee8d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2c1d180ae7dc513f3071932acea4ee8d","url":"https://api.github.com/users/da3mon","html_url":"https://github.com/da3mon","followers_url":"https://api.github.com/users/da3mon/followers","following_url":"https://api.github.com/users/da3mon/following{/other_user}","gists_url":"https://api.github.com/users/da3mon/gists{/gist_id}","starred_url":"https://api.github.com/users/da3mon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/da3mon/subscriptions","organizations_url":"https://api.github.com/users/da3mon/orgs","repos_url":"https://api.github.com/users/da3mon/repos","events_url":"https://api.github.com/users/da3mon/events{/privacy}","received_events_url":"https://api.github.com/users/da3mon/received_events","type":"User"},{"login":"fiveruns","id":1026,"avatar_url":"https://secure.gravatar.com/avatar/cdbed635952f5f8b021822d135cc3451?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cdbed635952f5f8b021822d135cc3451","url":"https://api.github.com/users/fiveruns","html_url":"https://github.com/fiveruns","followers_url":"https://api.github.com/users/fiveruns/followers","following_url":"https://api.github.com/users/fiveruns/following{/other_user}","gists_url":"https://api.github.com/users/fiveruns/gists{/gist_id}","starred_url":"https://api.github.com/users/fiveruns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fiveruns/subscriptions","organizations_url":"https://api.github.com/users/fiveruns/orgs","repos_url":"https://api.github.com/users/fiveruns/repos","events_url":"https://api.github.com/users/fiveruns/events{/privacy}","received_events_url":"https://api.github.com/users/fiveruns/received_events","type":"User"},{"login":"waferbaby","id":1027,"avatar_url":"https://secure.gravatar.com/avatar/94c2b3de82a261ea5bbe25e704b88407?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"94c2b3de82a261ea5bbe25e704b88407","url":"https://api.github.com/users/waferbaby","html_url":"https://github.com/waferbaby","followers_url":"https://api.github.com/users/waferbaby/followers","following_url":"https://api.github.com/users/waferbaby/following{/other_user}","gists_url":"https://api.github.com/users/waferbaby/gists{/gist_id}","starred_url":"https://api.github.com/users/waferbaby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waferbaby/subscriptions","organizations_url":"https://api.github.com/users/waferbaby/orgs","repos_url":"https://api.github.com/users/waferbaby/repos","events_url":"https://api.github.com/users/waferbaby/events{/privacy}","received_events_url":"https://api.github.com/users/waferbaby/received_events","type":"User"},{"login":"codabee","id":1028,"avatar_url":"https://secure.gravatar.com/avatar/64eea2c9fa64c23412563b1eeb6f8c3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"64eea2c9fa64c23412563b1eeb6f8c3d","url":"https://api.github.com/users/codabee","html_url":"https://github.com/codabee","followers_url":"https://api.github.com/users/codabee/followers","following_url":"https://api.github.com/users/codabee/following{/other_user}","gists_url":"https://api.github.com/users/codabee/gists{/gist_id}","starred_url":"https://api.github.com/users/codabee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codabee/subscriptions","organizations_url":"https://api.github.com/users/codabee/orgs","repos_url":"https://api.github.com/users/codabee/repos","events_url":"https://api.github.com/users/codabee/events{/privacy}","received_events_url":"https://api.github.com/users/codabee/received_events","type":"User"},{"login":"creston","id":1029,"avatar_url":"https://secure.gravatar.com/avatar/fedcd70929e8b47916199a9079f57898?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fedcd70929e8b47916199a9079f57898","url":"https://api.github.com/users/creston","html_url":"https://github.com/creston","followers_url":"https://api.github.com/users/creston/followers","following_url":"https://api.github.com/users/creston/following{/other_user}","gists_url":"https://api.github.com/users/creston/gists{/gist_id}","starred_url":"https://api.github.com/users/creston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/creston/subscriptions","organizations_url":"https://api.github.com/users/creston/orgs","repos_url":"https://api.github.com/users/creston/repos","events_url":"https://api.github.com/users/creston/events{/privacy}","received_events_url":"https://api.github.com/users/creston/received_events","type":"User"},{"login":"jkatz05","id":1030,"avatar_url":"https://secure.gravatar.com/avatar/5aa55195444ca63deae46f9e1b5a11c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5aa55195444ca63deae46f9e1b5a11c6","url":"https://api.github.com/users/jkatz05","html_url":"https://github.com/jkatz05","followers_url":"https://api.github.com/users/jkatz05/followers","following_url":"https://api.github.com/users/jkatz05/following{/other_user}","gists_url":"https://api.github.com/users/jkatz05/gists{/gist_id}","starred_url":"https://api.github.com/users/jkatz05/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkatz05/subscriptions","organizations_url":"https://api.github.com/users/jkatz05/orgs","repos_url":"https://api.github.com/users/jkatz05/repos","events_url":"https://api.github.com/users/jkatz05/events{/privacy}","received_events_url":"https://api.github.com/users/jkatz05/received_events","type":"User"},{"login":"jasonm","id":1031,"avatar_url":"https://secure.gravatar.com/avatar/8478f9ebe099ad853f022deeb2c1defe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8478f9ebe099ad853f022deeb2c1defe","url":"https://api.github.com/users/jasonm","html_url":"https://github.com/jasonm","followers_url":"https://api.github.com/users/jasonm/followers","following_url":"https://api.github.com/users/jasonm/following{/other_user}","gists_url":"https://api.github.com/users/jasonm/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonm/subscriptions","organizations_url":"https://api.github.com/users/jasonm/orgs","repos_url":"https://api.github.com/users/jasonm/repos","events_url":"https://api.github.com/users/jasonm/events{/privacy}","received_events_url":"https://api.github.com/users/jasonm/received_events","type":"User"},{"login":"antage","id":1032,"avatar_url":"https://secure.gravatar.com/avatar/5aabebb65e39f16a1bd9987bc96b09a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5aabebb65e39f16a1bd9987bc96b09a5","url":"https://api.github.com/users/antage","html_url":"https://github.com/antage","followers_url":"https://api.github.com/users/antage/followers","following_url":"https://api.github.com/users/antage/following{/other_user}","gists_url":"https://api.github.com/users/antage/gists{/gist_id}","starred_url":"https://api.github.com/users/antage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antage/subscriptions","organizations_url":"https://api.github.com/users/antage/orgs","repos_url":"https://api.github.com/users/antage/repos","events_url":"https://api.github.com/users/antage/events{/privacy}","received_events_url":"https://api.github.com/users/antage/received_events","type":"User"},{"login":"cduhard","id":1033,"avatar_url":"https://secure.gravatar.com/avatar/e2c5f9a999cb73c86f3cd46572733f88?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e2c5f9a999cb73c86f3cd46572733f88","url":"https://api.github.com/users/cduhard","html_url":"https://github.com/cduhard","followers_url":"https://api.github.com/users/cduhard/followers","following_url":"https://api.github.com/users/cduhard/following{/other_user}","gists_url":"https://api.github.com/users/cduhard/gists{/gist_id}","starred_url":"https://api.github.com/users/cduhard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cduhard/subscriptions","organizations_url":"https://api.github.com/users/cduhard/orgs","repos_url":"https://api.github.com/users/cduhard/repos","events_url":"https://api.github.com/users/cduhard/events{/privacy}","received_events_url":"https://api.github.com/users/cduhard/received_events","type":"User"},{"login":"matthewd","id":1034,"avatar_url":"https://secure.gravatar.com/avatar/e55df1cc7d5fdb4ae9bc2afcb9afe7e4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e55df1cc7d5fdb4ae9bc2afcb9afe7e4","url":"https://api.github.com/users/matthewd","html_url":"https://github.com/matthewd","followers_url":"https://api.github.com/users/matthewd/followers","following_url":"https://api.github.com/users/matthewd/following{/other_user}","gists_url":"https://api.github.com/users/matthewd/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewd/subscriptions","organizations_url":"https://api.github.com/users/matthewd/orgs","repos_url":"https://api.github.com/users/matthewd/repos","events_url":"https://api.github.com/users/matthewd/events{/privacy}","received_events_url":"https://api.github.com/users/matthewd/received_events","type":"User"},{"login":"mattman","id":1035,"avatar_url":"https://secure.gravatar.com/avatar/d95fb6f97cb2d47b08d4c79735010171?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d95fb6f97cb2d47b08d4c79735010171","url":"https://api.github.com/users/mattman","html_url":"https://github.com/mattman","followers_url":"https://api.github.com/users/mattman/followers","following_url":"https://api.github.com/users/mattman/following{/other_user}","gists_url":"https://api.github.com/users/mattman/gists{/gist_id}","starred_url":"https://api.github.com/users/mattman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattman/subscriptions","organizations_url":"https://api.github.com/users/mattman/orgs","repos_url":"https://api.github.com/users/mattman/repos","events_url":"https://api.github.com/users/mattman/events{/privacy}","received_events_url":"https://api.github.com/users/mattman/received_events","type":"User"},{"login":"asiemar","id":1036,"avatar_url":"https://secure.gravatar.com/avatar/3e5b676b4f67a5e383ab4fd2a88647ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3e5b676b4f67a5e383ab4fd2a88647ad","url":"https://api.github.com/users/asiemar","html_url":"https://github.com/asiemar","followers_url":"https://api.github.com/users/asiemar/followers","following_url":"https://api.github.com/users/asiemar/following{/other_user}","gists_url":"https://api.github.com/users/asiemar/gists{/gist_id}","starred_url":"https://api.github.com/users/asiemar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asiemar/subscriptions","organizations_url":"https://api.github.com/users/asiemar/orgs","repos_url":"https://api.github.com/users/asiemar/repos","events_url":"https://api.github.com/users/asiemar/events{/privacy}","received_events_url":"https://api.github.com/users/asiemar/received_events","type":"User"},{"login":"zmack","id":1037,"avatar_url":"https://secure.gravatar.com/avatar/75cb325d7b55a6659fc050f6fa822c7c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"75cb325d7b55a6659fc050f6fa822c7c","url":"https://api.github.com/users/zmack","html_url":"https://github.com/zmack","followers_url":"https://api.github.com/users/zmack/followers","following_url":"https://api.github.com/users/zmack/following{/other_user}","gists_url":"https://api.github.com/users/zmack/gists{/gist_id}","starred_url":"https://api.github.com/users/zmack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zmack/subscriptions","organizations_url":"https://api.github.com/users/zmack/orgs","repos_url":"https://api.github.com/users/zmack/repos","events_url":"https://api.github.com/users/zmack/events{/privacy}","received_events_url":"https://api.github.com/users/zmack/received_events","type":"User"},{"login":"Arthur","id":1038,"avatar_url":"https://secure.gravatar.com/avatar/352d2eb2d9c29d5e08e599c3999fff43?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"352d2eb2d9c29d5e08e599c3999fff43","url":"https://api.github.com/users/Arthur","html_url":"https://github.com/Arthur","followers_url":"https://api.github.com/users/Arthur/followers","following_url":"https://api.github.com/users/Arthur/following{/other_user}","gists_url":"https://api.github.com/users/Arthur/gists{/gist_id}","starred_url":"https://api.github.com/users/Arthur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Arthur/subscriptions","organizations_url":"https://api.github.com/users/Arthur/orgs","repos_url":"https://api.github.com/users/Arthur/repos","events_url":"https://api.github.com/users/Arthur/events{/privacy}","received_events_url":"https://api.github.com/users/Arthur/received_events","type":"User"},{"login":"nalin","id":1039,"avatar_url":"https://secure.gravatar.com/avatar/9f23fc0803edc32d25efde9019dc85c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9f23fc0803edc32d25efde9019dc85c1","url":"https://api.github.com/users/nalin","html_url":"https://github.com/nalin","followers_url":"https://api.github.com/users/nalin/followers","following_url":"https://api.github.com/users/nalin/following{/other_user}","gists_url":"https://api.github.com/users/nalin/gists{/gist_id}","starred_url":"https://api.github.com/users/nalin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nalin/subscriptions","organizations_url":"https://api.github.com/users/nalin/orgs","repos_url":"https://api.github.com/users/nalin/repos","events_url":"https://api.github.com/users/nalin/events{/privacy}","received_events_url":"https://api.github.com/users/nalin/received_events","type":"User"},{"login":"vivaopensource","id":1040,"avatar_url":"https://secure.gravatar.com/avatar/32962cca7fa82b1479764763cd22cd6a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"32962cca7fa82b1479764763cd22cd6a","url":"https://api.github.com/users/vivaopensource","html_url":"https://github.com/vivaopensource","followers_url":"https://api.github.com/users/vivaopensource/followers","following_url":"https://api.github.com/users/vivaopensource/following{/other_user}","gists_url":"https://api.github.com/users/vivaopensource/gists{/gist_id}","starred_url":"https://api.github.com/users/vivaopensource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vivaopensource/subscriptions","organizations_url":"https://api.github.com/users/vivaopensource/orgs","repos_url":"https://api.github.com/users/vivaopensource/repos","events_url":"https://api.github.com/users/vivaopensource/events{/privacy}","received_events_url":"https://api.github.com/users/vivaopensource/received_events","type":"User"},{"login":"joao","id":1041,"avatar_url":"https://secure.gravatar.com/avatar/077bbf65a67d507d5d271b6ff860d466?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"077bbf65a67d507d5d271b6ff860d466","url":"https://api.github.com/users/joao","html_url":"https://github.com/joao","followers_url":"https://api.github.com/users/joao/followers","following_url":"https://api.github.com/users/joao/following{/other_user}","gists_url":"https://api.github.com/users/joao/gists{/gist_id}","starred_url":"https://api.github.com/users/joao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joao/subscriptions","organizations_url":"https://api.github.com/users/joao/orgs","repos_url":"https://api.github.com/users/joao/repos","events_url":"https://api.github.com/users/joao/events{/privacy}","received_events_url":"https://api.github.com/users/joao/received_events","type":"User"},{"login":"wavydavy","id":1042,"avatar_url":"https://secure.gravatar.com/avatar/771b7a3bcfb5cac42aa4de59499be72c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"771b7a3bcfb5cac42aa4de59499be72c","url":"https://api.github.com/users/wavydavy","html_url":"https://github.com/wavydavy","followers_url":"https://api.github.com/users/wavydavy/followers","following_url":"https://api.github.com/users/wavydavy/following{/other_user}","gists_url":"https://api.github.com/users/wavydavy/gists{/gist_id}","starred_url":"https://api.github.com/users/wavydavy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavydavy/subscriptions","organizations_url":"https://api.github.com/users/wavydavy/orgs","repos_url":"https://api.github.com/users/wavydavy/repos","events_url":"https://api.github.com/users/wavydavy/events{/privacy}","received_events_url":"https://api.github.com/users/wavydavy/received_events","type":"User"},{"login":"darkel","id":1043,"avatar_url":"https://secure.gravatar.com/avatar/f2b260f965834d1b54fab53d043bc4f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f2b260f965834d1b54fab53d043bc4f0","url":"https://api.github.com/users/darkel","html_url":"https://github.com/darkel","followers_url":"https://api.github.com/users/darkel/followers","following_url":"https://api.github.com/users/darkel/following{/other_user}","gists_url":"https://api.github.com/users/darkel/gists{/gist_id}","starred_url":"https://api.github.com/users/darkel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkel/subscriptions","organizations_url":"https://api.github.com/users/darkel/orgs","repos_url":"https://api.github.com/users/darkel/repos","events_url":"https://api.github.com/users/darkel/events{/privacy}","received_events_url":"https://api.github.com/users/darkel/received_events","type":"User"},{"login":"edbond","id":1044,"avatar_url":"https://secure.gravatar.com/avatar/671af8c4a2d223c7d2e2ede3a0154975?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"671af8c4a2d223c7d2e2ede3a0154975","url":"https://api.github.com/users/edbond","html_url":"https://github.com/edbond","followers_url":"https://api.github.com/users/edbond/followers","following_url":"https://api.github.com/users/edbond/following{/other_user}","gists_url":"https://api.github.com/users/edbond/gists{/gist_id}","starred_url":"https://api.github.com/users/edbond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edbond/subscriptions","organizations_url":"https://api.github.com/users/edbond/orgs","repos_url":"https://api.github.com/users/edbond/repos","events_url":"https://api.github.com/users/edbond/events{/privacy}","received_events_url":"https://api.github.com/users/edbond/received_events","type":"User"},{"login":"pejorative","id":1045,"avatar_url":"https://secure.gravatar.com/avatar/7bff617f94e1f3d929164475e3d14611?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7bff617f94e1f3d929164475e3d14611","url":"https://api.github.com/users/pejorative","html_url":"https://github.com/pejorative","followers_url":"https://api.github.com/users/pejorative/followers","following_url":"https://api.github.com/users/pejorative/following{/other_user}","gists_url":"https://api.github.com/users/pejorative/gists{/gist_id}","starred_url":"https://api.github.com/users/pejorative/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pejorative/subscriptions","organizations_url":"https://api.github.com/users/pejorative/orgs","repos_url":"https://api.github.com/users/pejorative/repos","events_url":"https://api.github.com/users/pejorative/events{/privacy}","received_events_url":"https://api.github.com/users/pejorative/received_events","type":"User"},{"login":"mewz","id":1046,"avatar_url":"https://secure.gravatar.com/avatar/a4e763b116e14c5eec2483bdb6f431fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a4e763b116e14c5eec2483bdb6f431fb","url":"https://api.github.com/users/mewz","html_url":"https://github.com/mewz","followers_url":"https://api.github.com/users/mewz/followers","following_url":"https://api.github.com/users/mewz/following{/other_user}","gists_url":"https://api.github.com/users/mewz/gists{/gist_id}","starred_url":"https://api.github.com/users/mewz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mewz/subscriptions","organizations_url":"https://api.github.com/users/mewz/orgs","repos_url":"https://api.github.com/users/mewz/repos","events_url":"https://api.github.com/users/mewz/events{/privacy}","received_events_url":"https://api.github.com/users/mewz/received_events","type":"User"},{"login":"btbytes","id":1047,"avatar_url":"https://secure.gravatar.com/avatar/84c3eab99b7425d6b614ba6d11402d6b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c3eab99b7425d6b614ba6d11402d6b","url":"https://api.github.com/users/btbytes","html_url":"https://github.com/btbytes","followers_url":"https://api.github.com/users/btbytes/followers","following_url":"https://api.github.com/users/btbytes/following{/other_user}","gists_url":"https://api.github.com/users/btbytes/gists{/gist_id}","starred_url":"https://api.github.com/users/btbytes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btbytes/subscriptions","organizations_url":"https://api.github.com/users/btbytes/orgs","repos_url":"https://api.github.com/users/btbytes/repos","events_url":"https://api.github.com/users/btbytes/events{/privacy}","received_events_url":"https://api.github.com/users/btbytes/received_events","type":"User"},{"login":"arunthampi","id":1048,"avatar_url":"https://secure.gravatar.com/avatar/ca448f8bc4c932c6e691202a05a095a3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ca448f8bc4c932c6e691202a05a095a3","url":"https://api.github.com/users/arunthampi","html_url":"https://github.com/arunthampi","followers_url":"https://api.github.com/users/arunthampi/followers","following_url":"https://api.github.com/users/arunthampi/following{/other_user}","gists_url":"https://api.github.com/users/arunthampi/gists{/gist_id}","starred_url":"https://api.github.com/users/arunthampi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arunthampi/subscriptions","organizations_url":"https://api.github.com/users/arunthampi/orgs","repos_url":"https://api.github.com/users/arunthampi/repos","events_url":"https://api.github.com/users/arunthampi/events{/privacy}","received_events_url":"https://api.github.com/users/arunthampi/received_events","type":"User"},{"login":"universal","id":1049,"avatar_url":"https://secure.gravatar.com/avatar/9c62482a24aff44f86c1fa7627ca2d16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c62482a24aff44f86c1fa7627ca2d16","url":"https://api.github.com/users/universal","html_url":"https://github.com/universal","followers_url":"https://api.github.com/users/universal/followers","following_url":"https://api.github.com/users/universal/following{/other_user}","gists_url":"https://api.github.com/users/universal/gists{/gist_id}","starred_url":"https://api.github.com/users/universal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/universal/subscriptions","organizations_url":"https://api.github.com/users/universal/orgs","repos_url":"https://api.github.com/users/universal/repos","events_url":"https://api.github.com/users/universal/events{/privacy}","received_events_url":"https://api.github.com/users/universal/received_events","type":"User"},{"login":"calavera","id":1050,"avatar_url":"https://secure.gravatar.com/avatar/0c39b828636367fc6e22b7be8c803c74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0c39b828636367fc6e22b7be8c803c74","url":"https://api.github.com/users/calavera","html_url":"https://github.com/calavera","followers_url":"https://api.github.com/users/calavera/followers","following_url":"https://api.github.com/users/calavera/following{/other_user}","gists_url":"https://api.github.com/users/calavera/gists{/gist_id}","starred_url":"https://api.github.com/users/calavera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calavera/subscriptions","organizations_url":"https://api.github.com/users/calavera/orgs","repos_url":"https://api.github.com/users/calavera/repos","events_url":"https://api.github.com/users/calavera/events{/privacy}","received_events_url":"https://api.github.com/users/calavera/received_events","type":"User"},{"login":"elia","id":1051,"avatar_url":"https://secure.gravatar.com/avatar/c82630c82a3c675d2928804f432fcf17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c82630c82a3c675d2928804f432fcf17","url":"https://api.github.com/users/elia","html_url":"https://github.com/elia","followers_url":"https://api.github.com/users/elia/followers","following_url":"https://api.github.com/users/elia/following{/other_user}","gists_url":"https://api.github.com/users/elia/gists{/gist_id}","starred_url":"https://api.github.com/users/elia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elia/subscriptions","organizations_url":"https://api.github.com/users/elia/orgs","repos_url":"https://api.github.com/users/elia/repos","events_url":"https://api.github.com/users/elia/events{/privacy}","received_events_url":"https://api.github.com/users/elia/received_events","type":"User"},{"login":"joerichsen","id":1052,"avatar_url":"https://secure.gravatar.com/avatar/2f8f11ab83818a2861da96898dc60a3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2f8f11ab83818a2861da96898dc60a3f","url":"https://api.github.com/users/joerichsen","html_url":"https://github.com/joerichsen","followers_url":"https://api.github.com/users/joerichsen/followers","following_url":"https://api.github.com/users/joerichsen/following{/other_user}","gists_url":"https://api.github.com/users/joerichsen/gists{/gist_id}","starred_url":"https://api.github.com/users/joerichsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joerichsen/subscriptions","organizations_url":"https://api.github.com/users/joerichsen/orgs","repos_url":"https://api.github.com/users/joerichsen/repos","events_url":"https://api.github.com/users/joerichsen/events{/privacy}","received_events_url":"https://api.github.com/users/joerichsen/received_events","type":"User"},{"login":"haraldmartin","id":1053,"avatar_url":"https://secure.gravatar.com/avatar/b78374fb8f70fb5f674a9d5fa91eee16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b78374fb8f70fb5f674a9d5fa91eee16","url":"https://api.github.com/users/haraldmartin","html_url":"https://github.com/haraldmartin","followers_url":"https://api.github.com/users/haraldmartin/followers","following_url":"https://api.github.com/users/haraldmartin/following{/other_user}","gists_url":"https://api.github.com/users/haraldmartin/gists{/gist_id}","starred_url":"https://api.github.com/users/haraldmartin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haraldmartin/subscriptions","organizations_url":"https://api.github.com/users/haraldmartin/orgs","repos_url":"https://api.github.com/users/haraldmartin/repos","events_url":"https://api.github.com/users/haraldmartin/events{/privacy}","received_events_url":"https://api.github.com/users/haraldmartin/received_events","type":"User"},{"login":"benreesman","id":1055,"avatar_url":"https://secure.gravatar.com/avatar/1a0baa0251ce76b320e44bae2738ec9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1a0baa0251ce76b320e44bae2738ec9b","url":"https://api.github.com/users/benreesman","html_url":"https://github.com/benreesman","followers_url":"https://api.github.com/users/benreesman/followers","following_url":"https://api.github.com/users/benreesman/following{/other_user}","gists_url":"https://api.github.com/users/benreesman/gists{/gist_id}","starred_url":"https://api.github.com/users/benreesman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benreesman/subscriptions","organizations_url":"https://api.github.com/users/benreesman/orgs","repos_url":"https://api.github.com/users/benreesman/repos","events_url":"https://api.github.com/users/benreesman/events{/privacy}","received_events_url":"https://api.github.com/users/benreesman/received_events","type":"User"},{"login":"ludwig","id":1056,"avatar_url":"https://secure.gravatar.com/avatar/581cfb0e3c97afb9c196a0c90bf4cf92?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"581cfb0e3c97afb9c196a0c90bf4cf92","url":"https://api.github.com/users/ludwig","html_url":"https://github.com/ludwig","followers_url":"https://api.github.com/users/ludwig/followers","following_url":"https://api.github.com/users/ludwig/following{/other_user}","gists_url":"https://api.github.com/users/ludwig/gists{/gist_id}","starred_url":"https://api.github.com/users/ludwig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ludwig/subscriptions","organizations_url":"https://api.github.com/users/ludwig/orgs","repos_url":"https://api.github.com/users/ludwig/repos","events_url":"https://api.github.com/users/ludwig/events{/privacy}","received_events_url":"https://api.github.com/users/ludwig/received_events","type":"User"},{"login":"jkp","id":1057,"avatar_url":"https://secure.gravatar.com/avatar/62c795f7890d6c5b889b665f457320ee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"62c795f7890d6c5b889b665f457320ee","url":"https://api.github.com/users/jkp","html_url":"https://github.com/jkp","followers_url":"https://api.github.com/users/jkp/followers","following_url":"https://api.github.com/users/jkp/following{/other_user}","gists_url":"https://api.github.com/users/jkp/gists{/gist_id}","starred_url":"https://api.github.com/users/jkp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkp/subscriptions","organizations_url":"https://api.github.com/users/jkp/orgs","repos_url":"https://api.github.com/users/jkp/repos","events_url":"https://api.github.com/users/jkp/events{/privacy}","received_events_url":"https://api.github.com/users/jkp/received_events","type":"User"},{"login":"Cirex","id":1058,"avatar_url":"https://secure.gravatar.com/avatar/77dcfc91f4acf2a0497fb3f45c2e96b5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"77dcfc91f4acf2a0497fb3f45c2e96b5","url":"https://api.github.com/users/Cirex","html_url":"https://github.com/Cirex","followers_url":"https://api.github.com/users/Cirex/followers","following_url":"https://api.github.com/users/Cirex/following{/other_user}","gists_url":"https://api.github.com/users/Cirex/gists{/gist_id}","starred_url":"https://api.github.com/users/Cirex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cirex/subscriptions","organizations_url":"https://api.github.com/users/Cirex/orgs","repos_url":"https://api.github.com/users/Cirex/repos","events_url":"https://api.github.com/users/Cirex/events{/privacy}","received_events_url":"https://api.github.com/users/Cirex/received_events","type":"User"},{"login":"pilu","id":1059,"avatar_url":"https://secure.gravatar.com/avatar/e46a22caa688e5b7e3ee17b068409173?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e46a22caa688e5b7e3ee17b068409173","url":"https://api.github.com/users/pilu","html_url":"https://github.com/pilu","followers_url":"https://api.github.com/users/pilu/followers","following_url":"https://api.github.com/users/pilu/following{/other_user}","gists_url":"https://api.github.com/users/pilu/gists{/gist_id}","starred_url":"https://api.github.com/users/pilu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pilu/subscriptions","organizations_url":"https://api.github.com/users/pilu/orgs","repos_url":"https://api.github.com/users/pilu/repos","events_url":"https://api.github.com/users/pilu/events{/privacy}","received_events_url":"https://api.github.com/users/pilu/received_events","type":"User"},{"login":"andrew","id":1060,"avatar_url":"https://secure.gravatar.com/avatar/8ddbf811da78bb0daeeb3cacd7cf743f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8ddbf811da78bb0daeeb3cacd7cf743f","url":"https://api.github.com/users/andrew","html_url":"https://github.com/andrew","followers_url":"https://api.github.com/users/andrew/followers","following_url":"https://api.github.com/users/andrew/following{/other_user}","gists_url":"https://api.github.com/users/andrew/gists{/gist_id}","starred_url":"https://api.github.com/users/andrew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrew/subscriptions","organizations_url":"https://api.github.com/users/andrew/orgs","repos_url":"https://api.github.com/users/andrew/repos","events_url":"https://api.github.com/users/andrew/events{/privacy}","received_events_url":"https://api.github.com/users/andrew/received_events","type":"User"},{"login":"hmans","id":1061,"avatar_url":"https://secure.gravatar.com/avatar/b13a9240291ffa22215214316bd365de?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b13a9240291ffa22215214316bd365de","url":"https://api.github.com/users/hmans","html_url":"https://github.com/hmans","followers_url":"https://api.github.com/users/hmans/followers","following_url":"https://api.github.com/users/hmans/following{/other_user}","gists_url":"https://api.github.com/users/hmans/gists{/gist_id}","starred_url":"https://api.github.com/users/hmans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmans/subscriptions","organizations_url":"https://api.github.com/users/hmans/orgs","repos_url":"https://api.github.com/users/hmans/repos","events_url":"https://api.github.com/users/hmans/events{/privacy}","received_events_url":"https://api.github.com/users/hmans/received_events","type":"User"},{"login":"aanand","id":1062,"avatar_url":"https://secure.gravatar.com/avatar/73022df4be6fcced9792f50497b4f119?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"73022df4be6fcced9792f50497b4f119","url":"https://api.github.com/users/aanand","html_url":"https://github.com/aanand","followers_url":"https://api.github.com/users/aanand/followers","following_url":"https://api.github.com/users/aanand/following{/other_user}","gists_url":"https://api.github.com/users/aanand/gists{/gist_id}","starred_url":"https://api.github.com/users/aanand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aanand/subscriptions","organizations_url":"https://api.github.com/users/aanand/orgs","repos_url":"https://api.github.com/users/aanand/repos","events_url":"https://api.github.com/users/aanand/events{/privacy}","received_events_url":"https://api.github.com/users/aanand/received_events","type":"User"},{"login":"pqs","id":1063,"avatar_url":"https://secure.gravatar.com/avatar/9220c70df7fd1b481ef72152ee1ee198?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9220c70df7fd1b481ef72152ee1ee198","url":"https://api.github.com/users/pqs","html_url":"https://github.com/pqs","followers_url":"https://api.github.com/users/pqs/followers","following_url":"https://api.github.com/users/pqs/following{/other_user}","gists_url":"https://api.github.com/users/pqs/gists{/gist_id}","starred_url":"https://api.github.com/users/pqs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pqs/subscriptions","organizations_url":"https://api.github.com/users/pqs/orgs","repos_url":"https://api.github.com/users/pqs/repos","events_url":"https://api.github.com/users/pqs/events{/privacy}","received_events_url":"https://api.github.com/users/pqs/received_events","type":"User"},{"login":"muf","id":1064,"avatar_url":"https://secure.gravatar.com/avatar/f9e2701f83fac81ff02f7a7daf7d59f3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f9e2701f83fac81ff02f7a7daf7d59f3","url":"https://api.github.com/users/muf","html_url":"https://github.com/muf","followers_url":"https://api.github.com/users/muf/followers","following_url":"https://api.github.com/users/muf/following{/other_user}","gists_url":"https://api.github.com/users/muf/gists{/gist_id}","starred_url":"https://api.github.com/users/muf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muf/subscriptions","organizations_url":"https://api.github.com/users/muf/orgs","repos_url":"https://api.github.com/users/muf/repos","events_url":"https://api.github.com/users/muf/events{/privacy}","received_events_url":"https://api.github.com/users/muf/received_events","type":"User"},{"login":"smn","id":1065,"avatar_url":"https://secure.gravatar.com/avatar/e92fdbb9e57b1e2aa67bcc827a728370?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e92fdbb9e57b1e2aa67bcc827a728370","url":"https://api.github.com/users/smn","html_url":"https://github.com/smn","followers_url":"https://api.github.com/users/smn/followers","following_url":"https://api.github.com/users/smn/following{/other_user}","gists_url":"https://api.github.com/users/smn/gists{/gist_id}","starred_url":"https://api.github.com/users/smn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smn/subscriptions","organizations_url":"https://api.github.com/users/smn/orgs","repos_url":"https://api.github.com/users/smn/repos","events_url":"https://api.github.com/users/smn/events{/privacy}","received_events_url":"https://api.github.com/users/smn/received_events","type":"User"},{"login":"solnic","id":1066,"avatar_url":"https://secure.gravatar.com/avatar/e864e5088627498df8f9b911a9bc3219?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e864e5088627498df8f9b911a9bc3219","url":"https://api.github.com/users/solnic","html_url":"https://github.com/solnic","followers_url":"https://api.github.com/users/solnic/followers","following_url":"https://api.github.com/users/solnic/following{/other_user}","gists_url":"https://api.github.com/users/solnic/gists{/gist_id}","starred_url":"https://api.github.com/users/solnic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/solnic/subscriptions","organizations_url":"https://api.github.com/users/solnic/orgs","repos_url":"https://api.github.com/users/solnic/repos","events_url":"https://api.github.com/users/solnic/events{/privacy}","received_events_url":"https://api.github.com/users/solnic/received_events","type":"User"},{"login":"railslove","id":1067,"avatar_url":"https://secure.gravatar.com/avatar/eee01e7dfdb3c215a285b08eb59a1ce3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"eee01e7dfdb3c215a285b08eb59a1ce3","url":"https://api.github.com/users/railslove","html_url":"https://github.com/railslove","followers_url":"https://api.github.com/users/railslove/followers","following_url":"https://api.github.com/users/railslove/following{/other_user}","gists_url":"https://api.github.com/users/railslove/gists{/gist_id}","starred_url":"https://api.github.com/users/railslove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/railslove/subscriptions","organizations_url":"https://api.github.com/users/railslove/orgs","repos_url":"https://api.github.com/users/railslove/repos","events_url":"https://api.github.com/users/railslove/events{/privacy}","received_events_url":"https://api.github.com/users/railslove/received_events","type":"Organization"},{"login":"we5","id":1068,"avatar_url":"https://secure.gravatar.com/avatar/717223ce8209fcb4bb298bdeeaedd518?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"717223ce8209fcb4bb298bdeeaedd518","url":"https://api.github.com/users/we5","html_url":"https://github.com/we5","followers_url":"https://api.github.com/users/we5/followers","following_url":"https://api.github.com/users/we5/following{/other_user}","gists_url":"https://api.github.com/users/we5/gists{/gist_id}","starred_url":"https://api.github.com/users/we5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/we5/subscriptions","organizations_url":"https://api.github.com/users/we5/orgs","repos_url":"https://api.github.com/users/we5/repos","events_url":"https://api.github.com/users/we5/events{/privacy}","received_events_url":"https://api.github.com/users/we5/received_events","type":"User"},{"login":"returnthis","id":1069,"avatar_url":"https://secure.gravatar.com/avatar/0b444e7b90924d0711d0dcc7d08e09f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0b444e7b90924d0711d0dcc7d08e09f9","url":"https://api.github.com/users/returnthis","html_url":"https://github.com/returnthis","followers_url":"https://api.github.com/users/returnthis/followers","following_url":"https://api.github.com/users/returnthis/following{/other_user}","gists_url":"https://api.github.com/users/returnthis/gists{/gist_id}","starred_url":"https://api.github.com/users/returnthis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/returnthis/subscriptions","organizations_url":"https://api.github.com/users/returnthis/orgs","repos_url":"https://api.github.com/users/returnthis/repos","events_url":"https://api.github.com/users/returnthis/events{/privacy}","received_events_url":"https://api.github.com/users/returnthis/received_events","type":"User"},{"login":"stympy","id":1070,"avatar_url":"https://secure.gravatar.com/avatar/2ddece96c2f2046f723ee37485e86be5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2ddece96c2f2046f723ee37485e86be5","url":"https://api.github.com/users/stympy","html_url":"https://github.com/stympy","followers_url":"https://api.github.com/users/stympy/followers","following_url":"https://api.github.com/users/stympy/following{/other_user}","gists_url":"https://api.github.com/users/stympy/gists{/gist_id}","starred_url":"https://api.github.com/users/stympy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stympy/subscriptions","organizations_url":"https://api.github.com/users/stympy/orgs","repos_url":"https://api.github.com/users/stympy/repos","events_url":"https://api.github.com/users/stympy/events{/privacy}","received_events_url":"https://api.github.com/users/stympy/received_events","type":"User"},{"login":"jspears","id":1071,"avatar_url":"https://secure.gravatar.com/avatar/02262e2f944b78b10d2cdcefe8ea2bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"02262e2f944b78b10d2cdcefe8ea2bbe","url":"https://api.github.com/users/jspears","html_url":"https://github.com/jspears","followers_url":"https://api.github.com/users/jspears/followers","following_url":"https://api.github.com/users/jspears/following{/other_user}","gists_url":"https://api.github.com/users/jspears/gists{/gist_id}","starred_url":"https://api.github.com/users/jspears/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspears/subscriptions","organizations_url":"https://api.github.com/users/jspears/orgs","repos_url":"https://api.github.com/users/jspears/repos","events_url":"https://api.github.com/users/jspears/events{/privacy}","received_events_url":"https://api.github.com/users/jspears/received_events","type":"User"},{"login":"mwise","id":1072,"avatar_url":"https://secure.gravatar.com/avatar/15d38c4baafee1f87c772284080ee42b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"15d38c4baafee1f87c772284080ee42b","url":"https://api.github.com/users/mwise","html_url":"https://github.com/mwise","followers_url":"https://api.github.com/users/mwise/followers","following_url":"https://api.github.com/users/mwise/following{/other_user}","gists_url":"https://api.github.com/users/mwise/gists{/gist_id}","starred_url":"https://api.github.com/users/mwise/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwise/subscriptions","organizations_url":"https://api.github.com/users/mwise/orgs","repos_url":"https://api.github.com/users/mwise/repos","events_url":"https://api.github.com/users/mwise/events{/privacy}","received_events_url":"https://api.github.com/users/mwise/received_events","type":"User"},{"login":"georgepalmer","id":1073,"avatar_url":"https://secure.gravatar.com/avatar/cee5f57dec08a6e547f6e209393d9c63?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cee5f57dec08a6e547f6e209393d9c63","url":"https://api.github.com/users/georgepalmer","html_url":"https://github.com/georgepalmer","followers_url":"https://api.github.com/users/georgepalmer/followers","following_url":"https://api.github.com/users/georgepalmer/following{/other_user}","gists_url":"https://api.github.com/users/georgepalmer/gists{/gist_id}","starred_url":"https://api.github.com/users/georgepalmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/georgepalmer/subscriptions","organizations_url":"https://api.github.com/users/georgepalmer/orgs","repos_url":"https://api.github.com/users/georgepalmer/repos","events_url":"https://api.github.com/users/georgepalmer/events{/privacy}","received_events_url":"https://api.github.com/users/georgepalmer/received_events","type":"User"},{"login":"andregoncalves","id":1074,"avatar_url":"https://secure.gravatar.com/avatar/4595f74cb9ac661ba3060d85352037b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4595f74cb9ac661ba3060d85352037b9","url":"https://api.github.com/users/andregoncalves","html_url":"https://github.com/andregoncalves","followers_url":"https://api.github.com/users/andregoncalves/followers","following_url":"https://api.github.com/users/andregoncalves/following{/other_user}","gists_url":"https://api.github.com/users/andregoncalves/gists{/gist_id}","starred_url":"https://api.github.com/users/andregoncalves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andregoncalves/subscriptions","organizations_url":"https://api.github.com/users/andregoncalves/orgs","repos_url":"https://api.github.com/users/andregoncalves/repos","events_url":"https://api.github.com/users/andregoncalves/events{/privacy}","received_events_url":"https://api.github.com/users/andregoncalves/received_events","type":"User"},{"login":"dchelimsky","id":1075,"avatar_url":"https://secure.gravatar.com/avatar/5d38ab152e1e3e219512a9859fcd93af?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5d38ab152e1e3e219512a9859fcd93af","url":"https://api.github.com/users/dchelimsky","html_url":"https://github.com/dchelimsky","followers_url":"https://api.github.com/users/dchelimsky/followers","following_url":"https://api.github.com/users/dchelimsky/following{/other_user}","gists_url":"https://api.github.com/users/dchelimsky/gists{/gist_id}","starred_url":"https://api.github.com/users/dchelimsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchelimsky/subscriptions","organizations_url":"https://api.github.com/users/dchelimsky/orgs","repos_url":"https://api.github.com/users/dchelimsky/repos","events_url":"https://api.github.com/users/dchelimsky/events{/privacy}","received_events_url":"https://api.github.com/users/dchelimsky/received_events","type":"User"},{"login":"dmondark","id":1076,"avatar_url":"https://secure.gravatar.com/avatar/e076cb8dfb81c15933038dc93cb6570a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e076cb8dfb81c15933038dc93cb6570a","url":"https://api.github.com/users/dmondark","html_url":"https://github.com/dmondark","followers_url":"https://api.github.com/users/dmondark/followers","following_url":"https://api.github.com/users/dmondark/following{/other_user}","gists_url":"https://api.github.com/users/dmondark/gists{/gist_id}","starred_url":"https://api.github.com/users/dmondark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmondark/subscriptions","organizations_url":"https://api.github.com/users/dmondark/orgs","repos_url":"https://api.github.com/users/dmondark/repos","events_url":"https://api.github.com/users/dmondark/events{/privacy}","received_events_url":"https://api.github.com/users/dmondark/received_events","type":"User"},{"login":"pdlug","id":1077,"avatar_url":"https://secure.gravatar.com/avatar/1067916bdca9347542c035fdb7430083?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1067916bdca9347542c035fdb7430083","url":"https://api.github.com/users/pdlug","html_url":"https://github.com/pdlug","followers_url":"https://api.github.com/users/pdlug/followers","following_url":"https://api.github.com/users/pdlug/following{/other_user}","gists_url":"https://api.github.com/users/pdlug/gists{/gist_id}","starred_url":"https://api.github.com/users/pdlug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pdlug/subscriptions","organizations_url":"https://api.github.com/users/pdlug/orgs","repos_url":"https://api.github.com/users/pdlug/repos","events_url":"https://api.github.com/users/pdlug/events{/privacy}","received_events_url":"https://api.github.com/users/pdlug/received_events","type":"User"},{"login":"fredix","id":1078,"avatar_url":"https://secure.gravatar.com/avatar/3c75327133edef1a398f48a3566b0f7b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3c75327133edef1a398f48a3566b0f7b","url":"https://api.github.com/users/fredix","html_url":"https://github.com/fredix","followers_url":"https://api.github.com/users/fredix/followers","following_url":"https://api.github.com/users/fredix/following{/other_user}","gists_url":"https://api.github.com/users/fredix/gists{/gist_id}","starred_url":"https://api.github.com/users/fredix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredix/subscriptions","organizations_url":"https://api.github.com/users/fredix/orgs","repos_url":"https://api.github.com/users/fredix/repos","events_url":"https://api.github.com/users/fredix/events{/privacy}","received_events_url":"https://api.github.com/users/fredix/received_events","type":"User"},{"login":"agibralter","id":1079,"avatar_url":"https://secure.gravatar.com/avatar/de396cedd7085b8ac01f8c18a7e24167?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de396cedd7085b8ac01f8c18a7e24167","url":"https://api.github.com/users/agibralter","html_url":"https://github.com/agibralter","followers_url":"https://api.github.com/users/agibralter/followers","following_url":"https://api.github.com/users/agibralter/following{/other_user}","gists_url":"https://api.github.com/users/agibralter/gists{/gist_id}","starred_url":"https://api.github.com/users/agibralter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agibralter/subscriptions","organizations_url":"https://api.github.com/users/agibralter/orgs","repos_url":"https://api.github.com/users/agibralter/repos","events_url":"https://api.github.com/users/agibralter/events{/privacy}","received_events_url":"https://api.github.com/users/agibralter/received_events","type":"User"},{"login":"frac","id":1080,"avatar_url":"https://secure.gravatar.com/avatar/3fccf3feddc8c218a4007bf51e4143e7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3fccf3feddc8c218a4007bf51e4143e7","url":"https://api.github.com/users/frac","html_url":"https://github.com/frac","followers_url":"https://api.github.com/users/frac/followers","following_url":"https://api.github.com/users/frac/following{/other_user}","gists_url":"https://api.github.com/users/frac/gists{/gist_id}","starred_url":"https://api.github.com/users/frac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frac/subscriptions","organizations_url":"https://api.github.com/users/frac/orgs","repos_url":"https://api.github.com/users/frac/repos","events_url":"https://api.github.com/users/frac/events{/privacy}","received_events_url":"https://api.github.com/users/frac/received_events","type":"User"},{"login":"ismasan","id":1081,"avatar_url":"https://secure.gravatar.com/avatar/93894025c277e9617911a949f1848a21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"93894025c277e9617911a949f1848a21","url":"https://api.github.com/users/ismasan","html_url":"https://github.com/ismasan","followers_url":"https://api.github.com/users/ismasan/followers","following_url":"https://api.github.com/users/ismasan/following{/other_user}","gists_url":"https://api.github.com/users/ismasan/gists{/gist_id}","starred_url":"https://api.github.com/users/ismasan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ismasan/subscriptions","organizations_url":"https://api.github.com/users/ismasan/orgs","repos_url":"https://api.github.com/users/ismasan/repos","events_url":"https://api.github.com/users/ismasan/events{/privacy}","received_events_url":"https://api.github.com/users/ismasan/received_events","type":"User"},{"login":"dpickett","id":1082,"avatar_url":"https://secure.gravatar.com/avatar/ae619e02984c5efc3d3e6f9fef39079c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ae619e02984c5efc3d3e6f9fef39079c","url":"https://api.github.com/users/dpickett","html_url":"https://github.com/dpickett","followers_url":"https://api.github.com/users/dpickett/followers","following_url":"https://api.github.com/users/dpickett/following{/other_user}","gists_url":"https://api.github.com/users/dpickett/gists{/gist_id}","starred_url":"https://api.github.com/users/dpickett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpickett/subscriptions","organizations_url":"https://api.github.com/users/dpickett/orgs","repos_url":"https://api.github.com/users/dpickett/repos","events_url":"https://api.github.com/users/dpickett/events{/privacy}","received_events_url":"https://api.github.com/users/dpickett/received_events","type":"User"},{"login":"maxwellterry","id":1083,"avatar_url":"https://secure.gravatar.com/avatar/a905cdf7d80252315ece9293e8ef3f71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a905cdf7d80252315ece9293e8ef3f71","url":"https://api.github.com/users/maxwellterry","html_url":"https://github.com/maxwellterry","followers_url":"https://api.github.com/users/maxwellterry/followers","following_url":"https://api.github.com/users/maxwellterry/following{/other_user}","gists_url":"https://api.github.com/users/maxwellterry/gists{/gist_id}","starred_url":"https://api.github.com/users/maxwellterry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxwellterry/subscriptions","organizations_url":"https://api.github.com/users/maxwellterry/orgs","repos_url":"https://api.github.com/users/maxwellterry/repos","events_url":"https://api.github.com/users/maxwellterry/events{/privacy}","received_events_url":"https://api.github.com/users/maxwellterry/received_events","type":"User"},{"login":"fsvehla","id":1084,"avatar_url":"https://secure.gravatar.com/avatar/d3374d506ecb4145d399bd9162dd66ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d3374d506ecb4145d399bd9162dd66ce","url":"https://api.github.com/users/fsvehla","html_url":"https://github.com/fsvehla","followers_url":"https://api.github.com/users/fsvehla/followers","following_url":"https://api.github.com/users/fsvehla/following{/other_user}","gists_url":"https://api.github.com/users/fsvehla/gists{/gist_id}","starred_url":"https://api.github.com/users/fsvehla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fsvehla/subscriptions","organizations_url":"https://api.github.com/users/fsvehla/orgs","repos_url":"https://api.github.com/users/fsvehla/repos","events_url":"https://api.github.com/users/fsvehla/events{/privacy}","received_events_url":"https://api.github.com/users/fsvehla/received_events","type":"User"},{"login":"glasner","id":1085,"avatar_url":"https://secure.gravatar.com/avatar/008059ed6b16d4c2a8793bbb24508ba7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"008059ed6b16d4c2a8793bbb24508ba7","url":"https://api.github.com/users/glasner","html_url":"https://github.com/glasner","followers_url":"https://api.github.com/users/glasner/followers","following_url":"https://api.github.com/users/glasner/following{/other_user}","gists_url":"https://api.github.com/users/glasner/gists{/gist_id}","starred_url":"https://api.github.com/users/glasner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glasner/subscriptions","organizations_url":"https://api.github.com/users/glasner/orgs","repos_url":"https://api.github.com/users/glasner/repos","events_url":"https://api.github.com/users/glasner/events{/privacy}","received_events_url":"https://api.github.com/users/glasner/received_events","type":"User"},{"login":"dmadding","id":1086,"avatar_url":"https://secure.gravatar.com/avatar/6ecf5b7000fb010ba83cff733b5149a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ecf5b7000fb010ba83cff733b5149a6","url":"https://api.github.com/users/dmadding","html_url":"https://github.com/dmadding","followers_url":"https://api.github.com/users/dmadding/followers","following_url":"https://api.github.com/users/dmadding/following{/other_user}","gists_url":"https://api.github.com/users/dmadding/gists{/gist_id}","starred_url":"https://api.github.com/users/dmadding/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmadding/subscriptions","organizations_url":"https://api.github.com/users/dmadding/orgs","repos_url":"https://api.github.com/users/dmadding/repos","events_url":"https://api.github.com/users/dmadding/events{/privacy}","received_events_url":"https://api.github.com/users/dmadding/received_events","type":"User"},{"login":"jwilkins","id":1087,"avatar_url":"https://secure.gravatar.com/avatar/1b03afc0871dcebcb94ea8c71c30d119?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1b03afc0871dcebcb94ea8c71c30d119","url":"https://api.github.com/users/jwilkins","html_url":"https://github.com/jwilkins","followers_url":"https://api.github.com/users/jwilkins/followers","following_url":"https://api.github.com/users/jwilkins/following{/other_user}","gists_url":"https://api.github.com/users/jwilkins/gists{/gist_id}","starred_url":"https://api.github.com/users/jwilkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwilkins/subscriptions","organizations_url":"https://api.github.com/users/jwilkins/orgs","repos_url":"https://api.github.com/users/jwilkins/repos","events_url":"https://api.github.com/users/jwilkins/events{/privacy}","received_events_url":"https://api.github.com/users/jwilkins/received_events","type":"User"},{"login":"shingara","id":1088,"avatar_url":"https://secure.gravatar.com/avatar/2fd0206c71a1b22a9cc6293f38537461?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2fd0206c71a1b22a9cc6293f38537461","url":"https://api.github.com/users/shingara","html_url":"https://github.com/shingara","followers_url":"https://api.github.com/users/shingara/followers","following_url":"https://api.github.com/users/shingara/following{/other_user}","gists_url":"https://api.github.com/users/shingara/gists{/gist_id}","starred_url":"https://api.github.com/users/shingara/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shingara/subscriptions","organizations_url":"https://api.github.com/users/shingara/orgs","repos_url":"https://api.github.com/users/shingara/repos","events_url":"https://api.github.com/users/shingara/events{/privacy}","received_events_url":"https://api.github.com/users/shingara/received_events","type":"User"},{"login":"sebastian","id":1089,"avatar_url":"https://secure.gravatar.com/avatar/ebac0be1687975b63a20da7b254442ab?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ebac0be1687975b63a20da7b254442ab","url":"https://api.github.com/users/sebastian","html_url":"https://github.com/sebastian","followers_url":"https://api.github.com/users/sebastian/followers","following_url":"https://api.github.com/users/sebastian/following{/other_user}","gists_url":"https://api.github.com/users/sebastian/gists{/gist_id}","starred_url":"https://api.github.com/users/sebastian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebastian/subscriptions","organizations_url":"https://api.github.com/users/sebastian/orgs","repos_url":"https://api.github.com/users/sebastian/repos","events_url":"https://api.github.com/users/sebastian/events{/privacy}","received_events_url":"https://api.github.com/users/sebastian/received_events","type":"User"},{"login":"michaelklishin","id":1090,"avatar_url":"https://secure.gravatar.com/avatar/388dee5b4fb00316282b5f40b8409438?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"388dee5b4fb00316282b5f40b8409438","url":"https://api.github.com/users/michaelklishin","html_url":"https://github.com/michaelklishin","followers_url":"https://api.github.com/users/michaelklishin/followers","following_url":"https://api.github.com/users/michaelklishin/following{/other_user}","gists_url":"https://api.github.com/users/michaelklishin/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelklishin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelklishin/subscriptions","organizations_url":"https://api.github.com/users/michaelklishin/orgs","repos_url":"https://api.github.com/users/michaelklishin/repos","events_url":"https://api.github.com/users/michaelklishin/events{/privacy}","received_events_url":"https://api.github.com/users/michaelklishin/received_events","type":"User"},{"login":"yaanno","id":1091,"avatar_url":"https://secure.gravatar.com/avatar/12609643dd685a6753f15d542a77b7f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"12609643dd685a6753f15d542a77b7f9","url":"https://api.github.com/users/yaanno","html_url":"https://github.com/yaanno","followers_url":"https://api.github.com/users/yaanno/followers","following_url":"https://api.github.com/users/yaanno/following{/other_user}","gists_url":"https://api.github.com/users/yaanno/gists{/gist_id}","starred_url":"https://api.github.com/users/yaanno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yaanno/subscriptions","organizations_url":"https://api.github.com/users/yaanno/orgs","repos_url":"https://api.github.com/users/yaanno/repos","events_url":"https://api.github.com/users/yaanno/events{/privacy}","received_events_url":"https://api.github.com/users/yaanno/received_events","type":"User"},{"login":"slip","id":1092,"avatar_url":"https://secure.gravatar.com/avatar/8e4f193e6765aaa57925baa2876f55a7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8e4f193e6765aaa57925baa2876f55a7","url":"https://api.github.com/users/slip","html_url":"https://github.com/slip","followers_url":"https://api.github.com/users/slip/followers","following_url":"https://api.github.com/users/slip/following{/other_user}","gists_url":"https://api.github.com/users/slip/gists{/gist_id}","starred_url":"https://api.github.com/users/slip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slip/subscriptions","organizations_url":"https://api.github.com/users/slip/orgs","repos_url":"https://api.github.com/users/slip/repos","events_url":"https://api.github.com/users/slip/events{/privacy}","received_events_url":"https://api.github.com/users/slip/received_events","type":"User"},{"login":"jamie","id":1093,"avatar_url":"https://secure.gravatar.com/avatar/e2ee1b6676c1e04dd641371723ca77b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e2ee1b6676c1e04dd641371723ca77b2","url":"https://api.github.com/users/jamie","html_url":"https://github.com/jamie","followers_url":"https://api.github.com/users/jamie/followers","following_url":"https://api.github.com/users/jamie/following{/other_user}","gists_url":"https://api.github.com/users/jamie/gists{/gist_id}","starred_url":"https://api.github.com/users/jamie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamie/subscriptions","organizations_url":"https://api.github.com/users/jamie/orgs","repos_url":"https://api.github.com/users/jamie/repos","events_url":"https://api.github.com/users/jamie/events{/privacy}","received_events_url":"https://api.github.com/users/jamie/received_events","type":"User"},{"login":"azsromej","id":1094,"avatar_url":"https://secure.gravatar.com/avatar/084a5458b3057bd33048a3e5dbe3f855?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"084a5458b3057bd33048a3e5dbe3f855","url":"https://api.github.com/users/azsromej","html_url":"https://github.com/azsromej","followers_url":"https://api.github.com/users/azsromej/followers","following_url":"https://api.github.com/users/azsromej/following{/other_user}","gists_url":"https://api.github.com/users/azsromej/gists{/gist_id}","starred_url":"https://api.github.com/users/azsromej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azsromej/subscriptions","organizations_url":"https://api.github.com/users/azsromej/orgs","repos_url":"https://api.github.com/users/azsromej/repos","events_url":"https://api.github.com/users/azsromej/events{/privacy}","received_events_url":"https://api.github.com/users/azsromej/received_events","type":"User"},{"login":"phsilva","id":1095,"avatar_url":"https://secure.gravatar.com/avatar/f3c282d158c56d60d46d865852b577a0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f3c282d158c56d60d46d865852b577a0","url":"https://api.github.com/users/phsilva","html_url":"https://github.com/phsilva","followers_url":"https://api.github.com/users/phsilva/followers","following_url":"https://api.github.com/users/phsilva/following{/other_user}","gists_url":"https://api.github.com/users/phsilva/gists{/gist_id}","starred_url":"https://api.github.com/users/phsilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phsilva/subscriptions","organizations_url":"https://api.github.com/users/phsilva/orgs","repos_url":"https://api.github.com/users/phsilva/repos","events_url":"https://api.github.com/users/phsilva/events{/privacy}","received_events_url":"https://api.github.com/users/phsilva/received_events","type":"User"},{"login":"wmoxam","id":1096,"avatar_url":"https://secure.gravatar.com/avatar/23a7e2ff4a8656de4ef222f2eecd4a01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"23a7e2ff4a8656de4ef222f2eecd4a01","url":"https://api.github.com/users/wmoxam","html_url":"https://github.com/wmoxam","followers_url":"https://api.github.com/users/wmoxam/followers","following_url":"https://api.github.com/users/wmoxam/following{/other_user}","gists_url":"https://api.github.com/users/wmoxam/gists{/gist_id}","starred_url":"https://api.github.com/users/wmoxam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmoxam/subscriptions","organizations_url":"https://api.github.com/users/wmoxam/orgs","repos_url":"https://api.github.com/users/wmoxam/repos","events_url":"https://api.github.com/users/wmoxam/events{/privacy}","received_events_url":"https://api.github.com/users/wmoxam/received_events","type":"User"},{"login":"quirkey","id":1097,"avatar_url":"https://secure.gravatar.com/avatar/f04bfa14141dca6713f0d9caa763e26b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f04bfa14141dca6713f0d9caa763e26b","url":"https://api.github.com/users/quirkey","html_url":"https://github.com/quirkey","followers_url":"https://api.github.com/users/quirkey/followers","following_url":"https://api.github.com/users/quirkey/following{/other_user}","gists_url":"https://api.github.com/users/quirkey/gists{/gist_id}","starred_url":"https://api.github.com/users/quirkey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quirkey/subscriptions","organizations_url":"https://api.github.com/users/quirkey/orgs","repos_url":"https://api.github.com/users/quirkey/repos","events_url":"https://api.github.com/users/quirkey/events{/privacy}","received_events_url":"https://api.github.com/users/quirkey/received_events","type":"User"},{"login":"enhiro","id":1098,"avatar_url":"https://secure.gravatar.com/avatar/1e62788b9ca14d8456b17deaf97f048f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1e62788b9ca14d8456b17deaf97f048f","url":"https://api.github.com/users/enhiro","html_url":"https://github.com/enhiro","followers_url":"https://api.github.com/users/enhiro/followers","following_url":"https://api.github.com/users/enhiro/following{/other_user}","gists_url":"https://api.github.com/users/enhiro/gists{/gist_id}","starred_url":"https://api.github.com/users/enhiro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enhiro/subscriptions","organizations_url":"https://api.github.com/users/enhiro/orgs","repos_url":"https://api.github.com/users/enhiro/repos","events_url":"https://api.github.com/users/enhiro/events{/privacy}","received_events_url":"https://api.github.com/users/enhiro/received_events","type":"User"},{"login":"shillcock","id":1099,"avatar_url":"https://secure.gravatar.com/avatar/ca40eff0767d6403505881a3be5200bd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ca40eff0767d6403505881a3be5200bd","url":"https://api.github.com/users/shillcock","html_url":"https://github.com/shillcock","followers_url":"https://api.github.com/users/shillcock/followers","following_url":"https://api.github.com/users/shillcock/following{/other_user}","gists_url":"https://api.github.com/users/shillcock/gists{/gist_id}","starred_url":"https://api.github.com/users/shillcock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shillcock/subscriptions","organizations_url":"https://api.github.com/users/shillcock/orgs","repos_url":"https://api.github.com/users/shillcock/repos","events_url":"https://api.github.com/users/shillcock/events{/privacy}","received_events_url":"https://api.github.com/users/shillcock/received_events","type":"User"},{"login":"niallkennedy","id":1100,"avatar_url":"https://secure.gravatar.com/avatar/62078292ef0e01419da698efa65af5ec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"62078292ef0e01419da698efa65af5ec","url":"https://api.github.com/users/niallkennedy","html_url":"https://github.com/niallkennedy","followers_url":"https://api.github.com/users/niallkennedy/followers","following_url":"https://api.github.com/users/niallkennedy/following{/other_user}","gists_url":"https://api.github.com/users/niallkennedy/gists{/gist_id}","starred_url":"https://api.github.com/users/niallkennedy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niallkennedy/subscriptions","organizations_url":"https://api.github.com/users/niallkennedy/orgs","repos_url":"https://api.github.com/users/niallkennedy/repos","events_url":"https://api.github.com/users/niallkennedy/events{/privacy}","received_events_url":"https://api.github.com/users/niallkennedy/received_events","type":"User"},{"login":"sandropaganotti","id":1101,"avatar_url":"https://secure.gravatar.com/avatar/0df4a6c75caf1bd9b01d2dcbfb085ee4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0df4a6c75caf1bd9b01d2dcbfb085ee4","url":"https://api.github.com/users/sandropaganotti","html_url":"https://github.com/sandropaganotti","followers_url":"https://api.github.com/users/sandropaganotti/followers","following_url":"https://api.github.com/users/sandropaganotti/following{/other_user}","gists_url":"https://api.github.com/users/sandropaganotti/gists{/gist_id}","starred_url":"https://api.github.com/users/sandropaganotti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandropaganotti/subscriptions","organizations_url":"https://api.github.com/users/sandropaganotti/orgs","repos_url":"https://api.github.com/users/sandropaganotti/repos","events_url":"https://api.github.com/users/sandropaganotti/events{/privacy}","received_events_url":"https://api.github.com/users/sandropaganotti/received_events","type":"User"}] - diff --git a/github/tests/ReplayData/Github.testLegacySearchRepos.txt b/github/tests/ReplayData/Github.testLegacySearchRepos.txt deleted file mode 100644 index 2730ff9..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchRepos.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/legacy/repos/search/github+api+v3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:384B:3C53F52:5325DB4E'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '54021'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"2e97920754b93224515e63947f6d0866"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 16 Mar 2014 17:11:43 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1394992949')] -{"repositories":[{"type":"repo","username":"peter-murach","name":"github","owner":"peter-murach","homepage":"http://peter-murach.github.com/github","description":"Ruby interface to github API v3","language":"Ruby","watchers":423,"followers":423,"forks":107,"size":5278,"open_issues":11,"score":53.85517,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/peter-murach/github","created":"2011-09-25T19:36:22Z","created_at":"2011-09-25T19:36:22Z","pushed_at":"2014-03-06T21:56:09Z","pushed":"2014-03-06T21:56:09Z"},{"type":"repo","username":"pksunkara","name":"octonode","owner":"pksunkara","homepage":"","description":"github api v3 in nodejs","language":"CoffeeScript","watchers":236,"followers":236,"forks":61,"size":752,"open_issues":6,"score":49.94121,"has_downloads":true,"has_issues":true,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/pksunkara/octonode","created":"2011-11-21T02:13:13Z","created_at":"2011-11-21T02:13:13Z","pushed_at":"2014-02-22T09:55:45Z","pushed":"2014-02-22T09:55:45Z"},{"type":"repo","username":"jacquev6","name":"PyGithub","owner":"jacquev6","homepage":"http://jacquev6.github.io/PyGithub","description":"Python library implementing the full Github API v3","language":"Python","watchers":365,"followers":365,"forks":102,"size":11373,"open_issues":14,"score":43.15671,"has_downloads":true,"has_issues":true,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/jacquev6/PyGithub","created":"2012-02-25T12:53:47Z","created_at":"2012-02-25T12:53:47Z","pushed_at":"2014-03-16T17:01:56Z","pushed":"2014-03-16T17:01:56Z"},{"type":"repo","username":"jwilger","name":"github-v3-api","owner":"jwilger","homepage":null,"description":"Ruby Client for the GitHub v3 API","language":"Ruby","watchers":45,"followers":45,"forks":16,"size":180,"open_issues":3,"score":38.894547,"has_downloads":true,"has_issues":true,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/jwilger/github-v3-api","created":"2011-06-23T22:52:33Z","created_at":"2011-06-23T22:52:33Z","pushed_at":"2013-06-05T22:45:46Z","pushed":"2013-06-05T22:45:46Z"},{"type":"repo","username":"k33g","name":"gh3","owner":"k33g","homepage":"","description":"Client-side Javascript API wrapper for GitHub API V3","language":"JavaScript","watchers":122,"followers":122,"forks":21,"size":288,"open_issues":5,"score":24.372953,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/k33g/gh3","created":"2012-07-25T15:27:05Z","created_at":"2012-07-25T15:27:05Z","pushed_at":"2014-03-04T07:57:09Z","pushed":"2014-03-04T07:57:09Z"},{"type":"repo","username":"dsyph3r","name":"github-api3-php","owner":"dsyph3r","homepage":"","description":"PHP library for the GitHub API v3","language":"PHP","watchers":49,"followers":49,"forks":16,"size":112,"open_issues":1,"score":20.564543,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/dsyph3r/github-api3-php","created":"2011-09-06T20:24:42Z","created_at":"2011-09-06T20:24:42Z","pushed_at":"2013-07-27T11:13:54Z","pushed":"2013-07-27T11:13:54Z"},{"type":"repo","username":"ChristopherMacGown","name":"python-github3","owner":"ChristopherMacGown","homepage":"","description":"Github API v3 library for Python.","language":"Python","watchers":27,"followers":27,"forks":13,"size":180,"open_issues":3,"score":16.044289,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ChristopherMacGown/python-github3","created":"2011-04-28T17:07:29Z","created_at":"2011-04-28T17:07:29Z","pushed_at":"2012-09-06T20:37:01Z","pushed":"2012-09-06T20:37:01Z"},{"type":"repo","username":"peter-murach","name":"github_cli","owner":"peter-murach","homepage":"","description":"CLI-based access to GitHub API v3","language":"Ruby","watchers":81,"followers":81,"forks":9,"size":1498,"open_issues":2,"score":15.2712145,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/peter-murach/github_cli","created":"2012-03-11T20:35:23Z","created_at":"2012-03-11T20:35:23Z","pushed_at":"2013-10-06T15:30:23Z","pushed":"2013-10-06T15:30:23Z"},{"type":"repo","username":"edwardhotchkiss","name":"github3","owner":"edwardhotchkiss","homepage":"http://documentup.com/edwardhotchkiss/github3/","description":"Node.js GitHub API (v3) Wrapper","language":"JavaScript","watchers":26,"followers":26,"forks":13,"size":151,"open_issues":0,"score":13.217138,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/edwardhotchkiss/github3","created":"2011-11-30T22:56:52Z","created_at":"2011-11-30T22:56:52Z","pushed_at":"2013-08-24T19:18:54Z","pushed":"2013-08-24T19:18:54Z"},{"type":"repo","username":"farnoy","name":"github-api-client","owner":"farnoy","homepage":"","description":"v2+v3 GitHub API Ruby client library","language":"Ruby","watchers":48,"followers":48,"forks":7,"size":160,"open_issues":5,"score":13.036334,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/farnoy/github-api-client","created":"2011-01-21T21:09:02Z","created_at":"2011-01-21T21:09:02Z","pushed_at":"2012-01-31T12:33:03Z","pushed":"2012-01-31T12:33:03Z"},{"type":"repo","username":"michaelliao","name":"githubpy","owner":"michaelliao","homepage":"http://michaelliao.github.com/githubpy/","description":"A simple GitHub v3 API SDK for Python","language":"Python","watchers":26,"followers":26,"forks":11,"size":319,"open_issues":0,"score":12.356312,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/michaelliao/githubpy","created":"2012-10-14T14:13:59Z","created_at":"2012-10-14T14:13:59Z","pushed_at":"2014-02-24T13:07:01Z","pushed":"2014-02-24T13:07:01Z"},{"type":"repo","username":"yiiext","name":"github-api","owner":"yiiext","homepage":"http://developer.github.com/v3/","description":"implementation of github api v3","language":"PHP","watchers":17,"followers":17,"forks":7,"size":170,"open_issues":1,"score":12.258284,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/yiiext/github-api","created":"2011-10-23T08:34:00Z","created_at":"2011-10-23T08:34:00Z","pushed_at":"2011-11-16T09:07:50Z","pushed":"2011-11-16T09:07:50Z"},{"type":"repo","username":"trustmaster","name":"trac2github","owner":"trustmaster","homepage":"","description":"Converts Trac milestones, tickets and comments into Github issues 2.0 using github api v3","language":"PHP","watchers":17,"followers":17,"forks":22,"size":198,"open_issues":2,"score":11.880741,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/trustmaster/trac2github","created":"2011-05-12T19:18:23Z","created_at":"2011-05-12T19:18:23Z","pushed_at":"2014-01-10T19:39:55Z","pushed":"2014-01-10T19:39:55Z"},{"type":"repo","username":"plu","name":"Pithub","owner":"plu","homepage":"http://metacpan.org/module/Pithub","description":"Perl Github v3 API","language":"Perl","watchers":28,"followers":28,"forks":5,"size":970,"open_issues":21,"score":11.874863,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/plu/Pithub","created":"2011-06-25T10:40:24Z","created_at":"2011-06-25T10:40:24Z","pushed_at":"2014-01-29T19:28:14Z","pushed":"2014-01-29T19:28:14Z"},{"type":"repo","username":"in2bits","name":"IronGitHub","owner":"in2bits","homepage":"","description":"C# GitHub Api v3","language":"C#","watchers":10,"followers":10,"forks":13,"size":732,"open_issues":8,"score":11.255773,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/in2bits/IronGitHub","created":"2013-05-26T02:25:58Z","created_at":"2013-05-26T02:25:58Z","pushed_at":"2013-10-14T13:19:18Z","pushed":"2013-10-14T13:19:18Z"},{"type":"repo","username":"lynnwallenstein","name":"jQuery-GitHub-Badge","owner":"lynnwallenstein","homepage":"","description":"User and Project GitHub badge using jQuery and GitHub API v3","language":"JavaScript","watchers":40,"followers":40,"forks":8,"size":263,"open_issues":3,"score":10.357203,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/lynnwallenstein/jQuery-GitHub-Badge","created":"2010-09-11T06:51:56Z","created_at":"2010-09-11T06:51:56Z","pushed_at":"2013-12-28T06:19:33Z","pushed":"2013-12-28T06:19:33Z"},{"type":"repo","username":"acoulton","name":"github_v3_api","owner":"acoulton","homepage":"","description":"KO3 module for interacting with the new Github v3 API","language":"PHP","watchers":16,"followers":16,"forks":5,"size":223,"open_issues":1,"score":9.768645,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/acoulton/github_v3_api","created":"2011-10-11T20:02:03Z","created_at":"2011-10-11T20:02:03Z","pushed_at":"2012-08-27T19:44:55Z","pushed":"2012-08-27T19:44:55Z"},{"type":"repo","username":"VisualAppeal","name":"Github-API-v3","owner":"VisualAppeal","homepage":null,"description":"PHP Github API client for version 3.","language":"PHP","watchers":4,"followers":4,"forks":0,"size":126,"open_issues":0,"score":8.485444,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/VisualAppeal/Github-API-v3","created":"2012-06-04T22:20:41Z","created_at":"2012-06-04T22:20:41Z","pushed_at":"2014-01-07T22:06:13Z","pushed":"2014-01-07T22:06:13Z"},{"type":"repo","username":"Burgestrand","name":"hue-api","owner":"Burgestrand","homepage":"http://burgestrand.github.com/hue-api/","description":"A fork of GitHub API v3, to describe the Philips Hue API.","language":"Ruby","watchers":23,"followers":23,"forks":5,"size":1344,"open_issues":0,"score":8.409387,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Burgestrand/hue-api","created":"2012-11-08T20:04:38Z","created_at":"2012-11-08T20:04:38Z","pushed_at":"2013-03-02T00:03:38Z","pushed":"2013-03-02T00:03:38Z"},{"type":"repo","username":"rsanders","name":"github-api-v3.el","owner":"rsanders","homepage":"","description":"Emacs Lisp interface for the GitHub API v3","language":"Emacs Lisp","watchers":5,"followers":5,"forks":2,"size":124,"open_issues":0,"score":7.4247637,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/rsanders/github-api-v3.el","created":"2012-02-06T04:34:12Z","created_at":"2012-02-06T04:34:12Z","pushed_at":"2012-02-08T06:50:13Z","pushed":"2012-02-08T06:50:13Z"},{"type":"repo","username":"phated","name":"github-v3-api-js","owner":"phated","homepage":"","description":"Experimentation with github api (v3) in javascript","language":"JavaScript","watchers":3,"followers":3,"forks":0,"size":9124,"open_issues":0,"score":7.4247637,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/phated/github-v3-api-js","created":"2012-01-15T01:32:10Z","created_at":"2012-01-15T01:32:10Z","pushed_at":"2012-01-16T07:58:31Z","pushed":"2012-01-16T07:58:31Z"},{"type":"repo","username":"marfarma","name":"github-api-v3-projects","owner":"marfarma","homepage":null,"description":"","language":"Ruby","watchers":0,"followers":0,"forks":0,"size":68,"open_issues":0,"score":7.4247637,"has_downloads":true,"has_issues":false,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/marfarma/github-api-v3-projects","created":"2013-06-05T17:14:09Z","created_at":"2013-06-05T17:14:09Z","pushed_at":"2013-04-20T03:38:20Z","pushed":"2013-04-20T03:38:20Z"},{"type":"repo","username":"clockfort","name":"GitHub-Backup","owner":"clockfort","homepage":"","description":"Backup all the repositories of a github user or organization automatically. (Hilariously, this project I wrote in perl for a GitHub API v2 a long time ago; when GH API v3 came out, a friend rewrote it in Python. Ever since then I've had 0 code in this project, but I'm the maintainer and get ~2-3 pull requests a month to fix other peoples' code)","language":"Python","watchers":20,"followers":20,"forks":16,"size":214,"open_issues":4,"score":6.6330028,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/clockfort/GitHub-Backup","created":"2010-07-13T18:21:49Z","created_at":"2010-07-13T18:21:49Z","pushed_at":"2013-10-03T17:55:12Z","pushed":"2013-10-03T17:55:12Z"},{"type":"repo","username":"nesv","name":"gothub","owner":"nesv","homepage":null,"description":"GitHub client (API v3) for the Go programming language.","language":"Go","watchers":36,"followers":36,"forks":3,"size":234,"open_issues":8,"score":6.2265697,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/nesv/gothub","created":"2013-03-02T00:49:00Z","created_at":"2013-03-02T00:49:00Z","pushed_at":"2014-03-03T02:06:17Z","pushed":"2014-03-03T02:06:17Z"},{"type":"repo","username":"jhelwig","name":"octocat_herder","owner":"jhelwig","homepage":"http://rdoc.info/github/jhelwig/octocat_herder/master/frames","description":"Ruby interface to the v3 GitHub API","language":"Ruby","watchers":18,"followers":18,"forks":3,"size":128,"open_issues":1,"score":6.026624,"has_downloads":true,"has_issues":true,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/jhelwig/octocat_herder","created":"2011-07-16T22:32:34Z","created_at":"2011-07-16T22:32:34Z","pushed_at":"2012-05-23T20:17:32Z","pushed":"2012-05-23T20:17:32Z"},{"type":"repo","username":"diogenes","name":"hubruby","owner":"diogenes","homepage":"","description":"A simple Ruby library to access the current GitHub API (v3)","language":"Ruby","watchers":24,"followers":24,"forks":3,"size":120,"open_issues":0,"score":5.522051,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/diogenes/hubruby","created":"2010-08-26T00:50:01Z","created_at":"2010-08-26T00:50:01Z","pushed_at":"2011-10-17T15:15:23Z","pushed":"2011-10-17T15:15:23Z"},{"type":"repo","username":"zhaoguobin","name":"github_api_test_2","owner":"zhaoguobin","homepage":null,"description":"test github api v3","language":"","watchers":0,"followers":0,"forks":0,"size":132,"open_issues":0,"score":5.1196856,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/zhaoguobin/github_api_test_2","created":"2013-10-25T14:49:30Z","created_at":"2013-10-25T14:49:30Z","pushed_at":"2013-10-25T14:52:20Z","pushed":"2013-10-25T14:52:20Z"},{"type":"repo","username":"jaeh","name":"github-api-data-test","owner":"jaeh","homepage":null,"description":"testing github api v3","language":"","watchers":0,"followers":0,"forks":0,"size":76,"open_issues":0,"score":5.1196856,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/jaeh/github-api-data-test","created":"2013-11-09T13:16:06Z","created_at":"2013-11-09T13:16:06Z","pushed_at":"2013-11-09T13:17:17Z","pushed":"2013-11-09T13:17:17Z"},{"type":"repo","username":"mskasal","name":"gitcrawler","owner":"mskasal","homepage":null,"description":"experiment with github api v3","language":"CSS","watchers":0,"followers":0,"forks":0,"size":236,"open_issues":0,"score":5.1196856,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/mskasal/gitcrawler","created":"2013-11-17T23:54:20Z","created_at":"2013-11-17T23:54:20Z","pushed_at":"2013-11-24T16:54:58Z","pushed":"2013-11-24T16:54:58Z"},{"type":"repo","username":"simon816","name":"GithubAPI","owner":"simon816","homepage":"","description":"Playing with the github API V3","language":"","watchers":0,"followers":0,"forks":0,"size":584,"open_issues":0,"score":5.1196856,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/simon816/GithubAPI","created":"2013-04-09T21:44:55Z","created_at":"2013-04-09T21:44:55Z","pushed_at":"2013-06-03T10:45:22Z","pushed":"2013-06-03T10:45:22Z"},{"type":"repo","username":"zhaoguobin","name":"github_api_test_1","owner":"zhaoguobin","homepage":null,"description":"test github api v3","language":"","watchers":0,"followers":0,"forks":0,"size":0,"open_issues":0,"score":5.098453,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/zhaoguobin/github_api_test_1","created":"2013-10-25T14:11:41Z","created_at":"2013-10-25T14:11:41Z","pushed_at":"2013-10-25T14:11:41Z","pushed":"2013-10-25T14:11:41Z"},{"type":"repo","username":"bcg","name":"github","owner":"bcg","homepage":null,"description":"Go api for github v3","language":"Go","watchers":2,"followers":2,"forks":0,"size":104,"open_issues":0,"score":5.098453,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/bcg/github","created":"2012-06-12T11:43:27Z","created_at":"2012-06-12T11:43:27Z","pushed_at":"2012-06-12T11:46:45Z","pushed":"2012-06-12T11:46:45Z"},{"type":"repo","username":"dkucinskas","name":"net-github-api","owner":"dkucinskas","homepage":"","description":"Simple Github API v3 client library for .Net","language":"C#","watchers":4,"followers":4,"forks":4,"size":120,"open_issues":1,"score":5.0485406,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/dkucinskas/net-github-api","created":"2012-02-22T11:20:10Z","created_at":"2012-02-22T11:20:10Z","pushed_at":"2012-06-25T05:10:11Z","pushed":"2012-06-25T05:10:11Z"},{"type":"repo","username":"guillaumepotier","name":"GithubApi_v3","owner":"guillaumepotier","homepage":"","description":"Very simple class I use for my pet projects","language":"PHP","watchers":3,"followers":3,"forks":0,"size":92,"open_issues":0,"score":5.040694,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/guillaumepotier/GithubApi_v3","created":"2012-02-21T10:02:04Z","created_at":"2012-02-21T10:02:04Z","pushed_at":"2012-02-23T09:05:23Z","pushed":"2012-02-23T09:05:23Z"},{"type":"repo","username":"sigmavirus24","name":"github-cli","owner":"sigmavirus24","homepage":"http://sigmavirus24.github.com/github-cli","description":"Command-line access to GitHub via the API (v3)","language":"Python","watchers":15,"followers":15,"forks":3,"size":280,"open_issues":2,"score":4.7053924,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/sigmavirus24/github-cli","created":"2012-07-05T14:58:47Z","created_at":"2012-07-05T14:58:47Z","pushed_at":"2013-05-13T04:11:11Z","pushed":"2013-05-13T04:11:11Z"},{"type":"repo","username":"ji","name":"github_widgets","owner":"ji","homepage":"","description":"Github widgets for the github v3 API.","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":248,"open_issues":0,"score":4.6856112,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ji/github_widgets","created":"2012-02-14T14:15:34Z","created_at":"2012-02-14T14:15:34Z","pushed_at":"2012-03-07T18:29:38Z","pushed":"2012-03-07T18:29:38Z"},{"type":"repo","username":"jhance","name":"github","owner":"jhance","homepage":null,"description":"Github v3 API client for Haskell","language":"Haskell","watchers":1,"followers":1,"forks":0,"size":456,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/jhance/github","created":"2012-07-22T17:25:36Z","created_at":"2012-07-22T17:25:36Z","pushed_at":"2012-07-26T18:42:41Z","pushed":"2012-07-26T18:42:41Z"},{"type":"repo","username":"ozipi","name":"github.js","owner":"ozipi","homepage":"","description":"Github v3 Api Javascript library","language":"JavaScript","watchers":3,"followers":3,"forks":1,"size":116,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ozipi/github.js","created":"2011-12-26T22:00:46Z","created_at":"2011-12-26T22:00:46Z","pushed_at":"2012-01-08T22:10:07Z","pushed":"2012-01-08T22:10:07Z"},{"type":"repo","username":"devjones","name":"py_github3","owner":"devjones","homepage":"","description":"draft python wrapper for Github API v3","language":"Python","watchers":1,"followers":1,"forks":0,"size":116,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/devjones/py_github3","created":"2012-02-02T23:15:01Z","created_at":"2012-02-02T23:15:01Z","pushed_at":"2012-02-02T23:15:52Z","pushed":"2012-02-02T23:15:52Z"},{"type":"repo","username":"markharmon","name":"GitHub.Net","owner":"markharmon","homepage":"","description":"GitHub Api V3 for .Net","language":"","watchers":1,"followers":1,"forks":0,"size":84,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/markharmon/GitHub.Net","created":"2011-10-06T10:41:32Z","created_at":"2011-10-06T10:41:32Z","pushed_at":null,"pushed":null},{"type":"repo","username":"wanthony","name":"octo_rest","owner":"wanthony","homepage":"","description":"A ruby client for the github v3 api","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":128,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/wanthony/octo_rest","created":"2011-07-15T02:46:55Z","created_at":"2011-07-15T02:46:55Z","pushed_at":"2011-07-15T02:57:37Z","pushed":"2011-07-15T02:57:37Z"},{"type":"repo","username":"nobelium","name":"github-php-sdk","owner":"nobelium","homepage":null,"description":"A minimalistic php sdk for GITHUB API v3","language":"PHP","watchers":3,"followers":3,"forks":0,"size":220,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/nobelium/github-php-sdk","created":"2012-10-01T06:36:59Z","created_at":"2012-10-01T06:36:59Z","pushed_at":"2013-06-06T12:10:09Z","pushed":"2013-06-06T12:10:09Z"},{"type":"repo","username":"hahuang65","name":"Octobot","owner":"hahuang65","homepage":null,"description":"GitHub V3 API Wrapper for Ruby","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":460,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/hahuang65/Octobot","created":"2012-06-05T07:39:13Z","created_at":"2012-06-05T07:39:13Z","pushed_at":"2012-12-18T23:10:20Z","pushed":"2012-12-18T23:10:20Z"},{"type":"repo","username":"benoitmugnier","name":"GitHub-API","owner":"benoitmugnier","homepage":null,"description":"Deal with the GitHub API v3","language":"PHP","watchers":0,"followers":0,"forks":0,"size":140,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/benoitmugnier/GitHub-API","created":"2013-10-10T09:06:18Z","created_at":"2013-10-10T09:06:18Z","pushed_at":"2013-12-16T16:06:18Z","pushed":"2013-12-16T16:06:18Z"},{"type":"repo","username":"derak","name":"github-api-bash","owner":"derak","homepage":null,"description":"GitHub API v3 bash scripts","language":"Shell","watchers":0,"followers":0,"forks":0,"size":100,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/derak/github-api-bash","created":"2013-12-16T23:47:38Z","created_at":"2013-12-16T23:47:38Z","pushed_at":"2014-01-18T01:08:53Z","pushed":"2014-01-18T01:08:53Z"},{"type":"repo","username":"db0company","name":"GitHub-API-OCaml","owner":"db0company","homepage":null,"description":"GitHub API v3 bindings in OCaml","language":"OCaml","watchers":0,"followers":0,"forks":0,"size":120,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/db0company/GitHub-API-OCaml","created":"2013-07-29T01:53:59Z","created_at":"2013-07-29T01:53:59Z","pushed_at":"2013-07-30T02:48:34Z","pushed":"2013-07-30T02:48:34Z"},{"type":"repo","username":"mattinsler","name":"github.node","owner":"mattinsler","homepage":null,"description":"Github v3 API client for node","language":"CoffeeScript","watchers":0,"followers":0,"forks":0,"size":140,"open_issues":0,"score":4.3883023,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/mattinsler/github.node","created":"2013-01-21T01:05:59Z","created_at":"2013-01-21T01:05:59Z","pushed_at":"2014-01-26T09:58:40Z","pushed":"2014-01-26T09:58:40Z"},{"type":"repo","username":"zx2c4","name":"python-github3","owner":"zx2c4","homepage":"http://git.zx2c4.com/python-github3","description":"Fork of the github v3 api wrapper for python.","language":"Python","watchers":1,"followers":1,"forks":0,"size":536,"open_issues":0,"score":4.3701024,"has_downloads":false,"has_issues":false,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/zx2c4/python-github3","created":"2012-07-11T02:00:51Z","created_at":"2012-07-11T02:00:51Z","pushed_at":"2012-07-12T19:04:57Z","pushed":"2012-07-12T19:04:57Z"},{"type":"repo","username":"ngs","name":"AFGitHubClient","owner":"ngs","homepage":null,"description":"AFNetworking Client for the GitHub API V3","language":"Objective-C","watchers":5,"followers":5,"forks":1,"size":184,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ngs/AFGitHubClient","created":"2013-01-31T02:37:32Z","created_at":"2013-01-31T02:37:32Z","pushed_at":"2013-05-15T15:56:49Z","pushed":"2013-05-15T15:56:49Z"},{"type":"repo","username":"mixu","name":"github.js","owner":"mixu","homepage":"","description":"Github API v3 JS client","language":"JavaScript","watchers":1,"followers":1,"forks":0,"size":112,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/mixu/github.js","created":"2011-08-16T16:17:47Z","created_at":"2011-08-16T16:17:47Z","pushed_at":"2011-08-16T16:44:41Z","pushed":"2011-08-16T16:44:41Z"},{"type":"repo","username":"jcarver989","name":"GithubApi.js","owner":"jcarver989","homepage":"","description":"Micro library for Github's API (v3)","language":"JavaScript","watchers":2,"followers":2,"forks":0,"size":132,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/jcarver989/GithubApi.js","created":"2011-11-19T20:57:47Z","created_at":"2011-11-19T20:57:47Z","pushed_at":"2011-11-19T21:21:11Z","pushed":"2011-11-19T21:21:11Z"},{"type":"repo","username":"eed3si9n","name":"repatch-github","owner":"eed3si9n","homepage":"","description":"dispatch plugin for github API v3","language":"Scala","watchers":6,"followers":6,"forks":1,"size":184,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/eed3si9n/repatch-github","created":"2011-11-14T06:02:02Z","created_at":"2011-11-14T06:02:02Z","pushed_at":"2013-03-28T07:38:00Z","pushed":"2013-03-28T07:38:00Z"},{"type":"repo","username":"testpilot","name":"octoplex","owner":"testpilot","homepage":"testpilot.me","description":"Github v3 API wrapper gem","language":"Ruby","watchers":2,"followers":2,"forks":0,"size":308,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/testpilot/octoplex","created":"2011-10-04T00:46:03Z","created_at":"2011-10-04T00:46:03Z","pushed_at":"2011-11-29T08:14:53Z","pushed":"2011-11-29T08:14:53Z"},{"type":"repo","username":"soimort","name":"GitHub.tcl","owner":"soimort","homepage":null,"description":"Tcl library for GitHub API v3","language":"Tcl","watchers":0,"followers":0,"forks":0,"size":76,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/soimort/GitHub.tcl","created":"2013-10-25T04:03:32Z","created_at":"2013-10-25T04:03:32Z","pushed_at":"2013-10-25T04:06:26Z","pushed":"2013-10-25T04:06:26Z"},{"type":"repo","username":"woloski","name":"githubapi-testrepo","owner":"woloski","homepage":"","description":"testing repo for github api v3","language":"","watchers":2,"followers":2,"forks":1,"size":340,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/woloski/githubapi-testrepo","created":"2012-02-29T23:46:40Z","created_at":"2012-02-29T23:46:40Z","pushed_at":"2012-03-02T02:36:35Z","pushed":"2012-03-02T02:36:35Z"},{"type":"repo","username":"letiemble","name":"hubsharp","owner":"letiemble","homepage":null,"description":"A library to access GitHub API v3","language":"C#","watchers":0,"followers":0,"forks":0,"size":364,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/letiemble/hubsharp","created":"2012-11-06T21:12:46Z","created_at":"2012-11-06T21:12:46Z","pushed_at":"2012-11-09T17:11:24Z","pushed":"2012-11-09T17:11:24Z"},{"type":"repo","username":"csphere","name":"phphub","owner":"csphere","homepage":"","description":"An intuitive wrapper for the Github Api v3.","language":"PHP","watchers":10,"followers":10,"forks":2,"size":487,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/csphere/phphub","created":"2012-02-21T19:25:15Z","created_at":"2012-02-21T19:25:15Z","pushed_at":"2013-09-17T02:08:31Z","pushed":"2013-09-17T02:08:31Z"},{"type":"repo","username":"Shishire","name":"proboscis","owner":"Shishire","homepage":null,"description":"A PHP wrapper library for the Github API v3","language":"PHP","watchers":0,"followers":0,"forks":0,"size":304,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Shishire/proboscis","created":"2013-06-14T22:15:14Z","created_at":"2013-06-14T22:15:14Z","pushed_at":"2013-12-10T14:39:36Z","pushed":"2013-12-10T14:39:36Z"},{"type":"repo","username":"csphere","name":"GithubApiWrapper-Python","owner":"csphere","homepage":"","description":"An intuitive wrapper for the Github Api v3.","language":"Python","watchers":6,"followers":6,"forks":0,"size":579,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/csphere/GithubApiWrapper-Python","created":"2012-02-23T02:29:18Z","created_at":"2012-02-23T02:29:18Z","pushed_at":"2012-05-18T17:26:45Z","pushed":"2012-05-18T17:26:45Z"},{"type":"repo","username":"rubik","name":"github.py","owner":"rubik","homepage":"","description":"Python wrapper for Github API v3","language":"Python","watchers":3,"followers":3,"forks":0,"size":100,"open_issues":0,"score":4.3701024,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/rubik/github.py","created":"2011-06-15T07:51:00Z","created_at":"2011-06-15T07:51:00Z","pushed_at":"2011-06-15T07:58:19Z","pushed":"2011-06-15T07:58:19Z"},{"type":"repo","username":"Wolfy87","name":"github.js","owner":"Wolfy87","homepage":"","description":"Frontend JavaScript library for interacting with the GitHub API v3","language":"JavaScript","watchers":15,"followers":15,"forks":1,"size":116,"open_issues":0,"score":4.30087,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Wolfy87/github.js","created":"2012-01-15T12:51:05Z","created_at":"2012-01-15T12:51:05Z","pushed_at":"2012-01-23T14:38:19Z","pushed":"2012-01-23T14:38:19Z"},{"type":"repo","username":"samsonjs","name":"gitter","owner":"samsonjs","homepage":"http://samhuri.net/proj/gitter","description":"GitHub client for node and browsers (v3 API)","language":"JavaScript","watchers":15,"followers":15,"forks":1,"size":150,"open_issues":1,"score":4.283033,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/samsonjs/gitter","created":"2010-11-08T00:01:46Z","created_at":"2010-11-08T00:01:46Z","pushed_at":"2012-06-13T05:14:21Z","pushed":"2012-06-13T05:14:21Z"},{"type":"repo","username":"BrianMc21","name":"Go-GitHub-API","owner":"BrianMc21","homepage":"http://godoc.org/github.com/BrianMc21/Go-GitHub-API","description":"GitHub API v3 Bindings package for the Go Programming Language.","language":"Go","watchers":14,"followers":14,"forks":1,"size":204,"open_issues":0,"score":4.173914,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/BrianMc21/Go-GitHub-API","created":"2013-02-17T18:22:57Z","created_at":"2013-02-17T18:22:57Z","pushed_at":"2013-05-26T15:38:17Z","pushed":"2013-05-26T15:38:17Z"},{"type":"repo","username":"NickPresta","name":"gogithub","owner":"NickPresta","homepage":null,"description":"A Go implement of the Github API v3 (http://developer.github.com/v3/)","language":"Go","watchers":2,"followers":2,"forks":0,"size":104,"open_issues":0,"score":3.9932094,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/NickPresta/gogithub","created":"2012-09-03T09:09:32Z","created_at":"2012-09-03T09:09:32Z","pushed_at":"2012-09-06T19:01:51Z","pushed":"2012-09-06T19:01:51Z"},{"type":"repo","username":"Gerhut","name":"IssuesFeed","owner":"Gerhut","homepage":null,"description":"Convert GitHub Issues to Feed by GitHub API v3","language":"JavaScript","watchers":0,"followers":0,"forks":0,"size":124,"open_issues":0,"score":3.904676,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Gerhut/IssuesFeed","created":"2013-09-30T12:57:51Z","created_at":"2013-09-30T12:57:51Z","pushed_at":"2013-09-30T15:02:57Z","pushed":"2013-09-30T15:02:57Z"},{"type":"repo","username":"hit9","name":"flask-sign-in-with-github.py","owner":"hit9","homepage":"","description":"Sign in with github via github V3 API in Flask","language":"Python","watchers":2,"followers":2,"forks":0,"size":156,"open_issues":0,"score":3.886216,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/hit9/flask-sign-in-with-github.py","created":"2013-03-11T13:29:52Z","created_at":"2013-03-11T13:29:52Z","pushed_at":"2013-03-12T04:49:23Z","pushed":"2013-03-12T04:49:23Z"},{"type":"repo","username":"frikille","name":"GitHubWrapper","owner":"frikille","homepage":null,"description":"Client side Javascript API wrapper for GitHub API v3","language":"JavaScript","watchers":0,"followers":0,"forks":0,"size":192,"open_issues":0,"score":3.8209975,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/frikille/GitHubWrapper","created":"2012-12-14T13:01:21Z","created_at":"2012-12-14T13:01:21Z","pushed_at":"2013-04-14T16:49:48Z","pushed":"2013-04-14T16:49:48Z"},{"type":"repo","username":"meritt","name":"node-gisty","owner":"meritt","homepage":"http://simonenko.su/projects/node-gisty","description":"A node.js wrapper for the GitHub Gists API v3","language":"CoffeeScript","watchers":11,"followers":11,"forks":1,"size":160,"open_issues":0,"score":3.8082883,"has_downloads":true,"has_issues":true,"has_wiki":false,"fork":false,"private":false,"url":"https://github.com/meritt/node-gisty","created":"2011-08-12T22:20:29Z","created_at":"2011-08-12T22:20:29Z","pushed_at":"2013-12-25T13:45:15Z","pushed":"2013-12-25T13:45:15Z"},{"type":"repo","username":"Factual","name":"ruby-factual","owner":"Factual","homepage":"http://wiki.developer.factual.com/","description":"THIS PROJECT IS DEPRECATED. Please use https://github.com/Factual/factual-ruby-driver. Ruby gem to access Factual API v2. Since the Factual API v2 will be deprecated in Q2 2012, and we are moving forward to API v3, there is new ruby gem for V3 accessing, which is at https://github.com/Factual/factual-ruby-driver.","language":"Ruby","watchers":14,"followers":14,"forks":4,"size":112,"open_issues":0,"score":3.669366,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Factual/ruby-factual","created":"2010-10-29T02:31:52Z","created_at":"2010-10-29T02:31:52Z","pushed_at":"2012-08-16T13:49:41Z","pushed":"2012-08-16T13:49:41Z"},{"type":"repo","username":"rmsr","name":"python-github-api","owner":"rmsr","homepage":null,"description":"Pythonic wrapper around the GitHub API v3","language":"","watchers":0,"followers":0,"forks":0,"size":76,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/rmsr/python-github-api","created":"2012-08-10T14:46:39Z","created_at":"2012-08-10T14:46:39Z","pushed_at":"2012-08-10T14:46:40Z","pushed":"2012-08-10T14:46:40Z"},{"type":"repo","username":"wanthony","name":"coffeehub","owner":"wanthony","homepage":"","description":"A Node.js / CoffeeScript GitHub API v3 Implementation","language":"","watchers":1,"followers":1,"forks":0,"size":80,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/wanthony/coffeehub","created":"2011-09-09T01:44:48Z","created_at":"2011-09-09T01:44:48Z","pushed_at":null,"pushed":null},{"type":"repo","username":"jeffremer","name":"gist-client","owner":"jeffremer","homepage":"http://jeffremer.com","description":"A REST client for CRUDing Github Gists via the v3 API.","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":872,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/jeffremer/gist-client","created":"2011-04-29T22:16:32Z","created_at":"2011-04-29T22:16:32Z","pushed_at":"2011-05-01T02:43:37Z","pushed":"2011-05-01T02:43:37Z"},{"type":"repo","username":"ssouporg","name":"jquery-github","owner":"ssouporg","homepage":null,"description":"JQuery plugin for interacting with GitHub api v3","language":"JavaScript","watchers":1,"followers":1,"forks":0,"size":5972,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ssouporg/jquery-github","created":"2012-07-07T16:46:05Z","created_at":"2012-07-07T16:46:05Z","pushed_at":"2013-10-31T16:08:18Z","pushed":"2013-10-31T16:08:18Z"},{"type":"repo","username":"olly","name":"grim_repo","owner":"olly","homepage":"http://olly.github.com/grim_repo","description":"An idiomatic Ruby wrapper for the GitHub v3 API – for humans, not computers.","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":296,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/olly/grim_repo","created":"2013-03-04T18:37:46Z","created_at":"2013-03-04T18:37:46Z","pushed_at":"2013-03-05T16:45:52Z","pushed":"2013-03-05T16:45:52Z"},{"type":"repo","username":"shokai","name":"sinatra-github-oauth-sample","owner":"shokai","homepage":null,"description":"Sinatra and OAuth Sample with GitHub API v3","language":"Ruby","watchers":0,"followers":0,"forks":0,"size":204,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/shokai/sinatra-github-oauth-sample","created":"2013-06-12T15:08:10Z","created_at":"2013-06-12T15:08:10Z","pushed_at":"2013-06-13T00:03:11Z","pushed":"2013-06-13T00:03:11Z"},{"type":"repo","username":"cheeyeo","name":"snipplets-test","owner":"cheeyeo","homepage":null,"description":"Testing snipplets app link to github through api v3","language":"","watchers":1,"followers":1,"forks":0,"size":216,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/cheeyeo/snipplets-test","created":"2012-06-07T15:51:53Z","created_at":"2012-06-07T15:51:53Z","pushed_at":"2012-06-07T17:39:31Z","pushed":"2012-06-07T17:39:31Z"},{"type":"repo","username":"mtutty","name":"GithubIssueSync","owner":"mtutty","homepage":"","description":"Allows bulk import and export of issues via Github API V3","language":"C#","watchers":2,"followers":2,"forks":0,"size":4418,"open_issues":1,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/mtutty/GithubIssueSync","created":"2012-01-02T05:15:53Z","created_at":"2012-01-02T05:15:53Z","pushed_at":"2012-01-18T21:24:44Z","pushed":"2012-01-18T21:24:44Z"},{"type":"repo","username":"csphere","name":"rubhub","owner":"csphere","homepage":"","description":"Ruby Gem - An intuitive wrapper for the Github Api v3.","language":"Ruby","watchers":1,"followers":1,"forks":0,"size":664,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/csphere/rubhub","created":"2012-03-08T20:07:25Z","created_at":"2012-03-08T20:07:25Z","pushed_at":"2012-04-02T22:08:54Z","pushed":"2012-04-02T22:08:54Z"},{"type":"repo","username":"philcali","name":"github-cli","owner":"philcali","homepage":null,"description":"Simple CL program interfacing with Github via API v3","language":"Scala","watchers":0,"followers":0,"forks":0,"size":100,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/philcali/github-cli","created":"2012-12-16T05:33:48Z","created_at":"2012-12-16T05:33:48Z","pushed_at":"2012-12-16T06:13:00Z","pushed":"2012-12-16T06:13:00Z"},{"type":"repo","username":"schacon","name":"fuselage","owner":"schacon","homepage":"http://www.gitpilot.com","description":"Light weight Ruby wrapper for Github v3 api","language":"Ruby","watchers":3,"followers":3,"forks":0,"size":130,"open_issues":0,"score":3.6569185,"has_downloads":true,"has_issues":false,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/schacon/fuselage","created":"2011-07-21T15:10:46Z","created_at":"2011-07-21T15:10:46Z","pushed_at":"2011-07-20T14:15:23Z","pushed":"2011-07-20T14:15:23Z"},{"type":"repo","username":"baz","name":"node-github-issues","owner":"baz","homepage":"","description":"GitHub Issues API v3 Node.js module","language":"JavaScript","watchers":1,"followers":1,"forks":0,"size":148,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/baz/node-github-issues","created":"2011-05-13T02:11:45Z","created_at":"2011-05-13T02:11:45Z","pushed_at":"2011-05-13T02:13:02Z","pushed":"2011-05-13T02:13:02Z"},{"type":"repo","username":"chrisvogt","name":"GithubEventsWidget","owner":"chrisvogt","homepage":null,"description":"Cake 2.x Component to assist with consuming the Github API v3","language":"","watchers":1,"followers":1,"forks":0,"size":164,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/chrisvogt/GithubEventsWidget","created":"2013-07-02T08:33:48Z","created_at":"2013-07-02T08:33:48Z","pushed_at":"2013-07-03T04:38:18Z","pushed":"2013-07-03T04:38:18Z"},{"type":"repo","username":"RobertFischer","name":"github-api-3","owner":"RobertFischer","homepage":"","description":"An under-implemented version of the GitHub API v3 using Resty.","language":"Java","watchers":1,"followers":1,"forks":0,"size":228,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/RobertFischer/github-api-3","created":"2012-04-15T17:14:22Z","created_at":"2012-04-15T17:14:22Z","pushed_at":"2012-08-27T03:12:06Z","pushed":"2012-08-27T03:12:06Z"},{"type":"repo","username":"ralphschindler","name":"GitHubAPI","owner":"ralphschindler","homepage":null,"description":"A PHP library for interacting with the GitHub v3 API","language":"PHP","watchers":6,"followers":6,"forks":0,"size":168,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ralphschindler/GitHubAPI","created":"2012-09-15T15:46:16Z","created_at":"2012-09-15T15:46:16Z","pushed_at":"2013-08-01T16:06:20Z","pushed":"2013-08-01T16:06:20Z"},{"type":"repo","username":"Strech","name":"abak_oauth","owner":"Strech","homepage":null,"description":"This is a simple rails app for github api v3 oauth2","language":"Ruby","watchers":0,"followers":0,"forks":0,"size":214,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/Strech/abak_oauth","created":"2012-04-30T14:59:23Z","created_at":"2012-04-30T14:59:23Z","pushed_at":"2014-01-17T12:50:13Z","pushed":"2014-01-17T12:50:13Z"},{"type":"repo","username":"theWPValet","name":"python-github-api","owner":"theWPValet","homepage":null,"description":"A simple python github api v3 wrapper using requests","language":"Python","watchers":0,"followers":0,"forks":0,"size":144,"open_issues":0,"score":3.641752,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/theWPValet/python-github-api","created":"2014-02-06T00:48:01Z","created_at":"2014-02-06T00:48:01Z","pushed_at":"2014-02-22T00:46:37Z","pushed":"2014-02-22T00:46:37Z"},{"type":"repo","username":"bitprophet","name":"redmine2github","owner":"bitprophet","homepage":"","description":"Port (Fabric's) Redmine tickets to (Fabric's) Github Issues v2 / API v3","language":"Ruby","watchers":2,"followers":2,"forks":1,"size":120,"open_issues":0,"score":3.1878119,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/bitprophet/redmine2github","created":"2011-07-13T06:06:31Z","created_at":"2011-07-13T06:06:31Z","pushed_at":"2011-08-19T00:19:18Z","pushed":"2011-08-19T00:19:18Z"},{"type":"repo","username":"andreazevedo","name":"dispatch-github-specs","owner":"andreazevedo","homepage":null,"description":"Projects used by the specs of andreazevedo/dispatch-github to test the github api v3","language":"","watchers":1,"followers":1,"forks":0,"size":144,"open_issues":3,"score":3.123741,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/andreazevedo/dispatch-github-specs","created":"2012-11-05T20:09:47Z","created_at":"2012-11-05T20:09:47Z","pushed_at":"2012-11-05T20:09:47Z","pushed":"2012-11-05T20:09:47Z"},{"type":"repo","username":"otint","name":"github-issues-via-feedback-form","owner":"otint","homepage":null,"description":"Create GitHub Issues via a feedback form on your website using the GitHub api v3","language":"JavaScript","watchers":1,"followers":1,"forks":0,"size":952,"open_issues":13,"score":3.123741,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/otint/github-issues-via-feedback-form","created":"2012-12-28T00:49:40Z","created_at":"2012-12-28T00:49:40Z","pushed_at":"2013-01-01T21:28:46Z","pushed":"2013-01-01T21:28:46Z"},{"type":"repo","username":"ritratt","name":"gituserinfo","owner":"ritratt","homepage":null,"description":"A simple python script that uses PyGithub for accessing user information through Github API v3","language":"Python","watchers":1,"followers":1,"forks":0,"size":108,"open_issues":0,"score":3.1089733,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/ritratt/gituserinfo","created":"2012-06-13T20:26:46Z","created_at":"2012-06-13T20:26:46Z","pushed_at":"2012-06-13T20:37:31Z","pushed":"2012-06-13T20:37:31Z"},{"type":"repo","username":"jasim","name":"finding_bits","owner":"jasim","homepage":null,"description":"Search Github top repos for code snippets using the Github API v3","language":"Ruby","watchers":0,"followers":0,"forks":1,"size":803,"open_issues":0,"score":3.1089733,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/jasim/finding_bits","created":"2013-08-28T13:06:35Z","created_at":"2013-08-28T13:06:35Z","pushed_at":"2013-09-13T12:31:53Z","pushed":"2013-09-13T12:31:53Z"},{"type":"repo","username":"f0t0n","name":"GitHubApiTestRepo","owner":"f0t0n","homepage":null,"description":"Second repository for testing the interaction between the BugKick and GitHub via GitHub API v3.","language":"","watchers":1,"followers":1,"forks":0,"size":96,"open_issues":4,"score":3.1089733,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/f0t0n/GitHubApiTestRepo","created":"2012-07-12T22:07:17Z","created_at":"2012-07-12T22:07:17Z","pushed_at":"2012-07-12T22:07:18Z","pushed":"2012-07-12T22:07:18Z"},{"type":"repo","username":"inkel","name":"cuba-omniauth-octokit","owner":"inkel","homepage":"","description":"Proof of concept of a Cuba application with OmniAuth and Octokit to access the GitHub v3 API","language":"JavaScript","watchers":1,"followers":1,"forks":0,"size":412,"open_issues":3,"score":2.9255345,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/inkel/cuba-omniauth-octokit","created":"2012-03-09T13:24:54Z","created_at":"2012-03-09T13:24:54Z","pushed_at":"2012-03-12T12:38:07Z","pushed":"2012-03-12T12:38:07Z"},{"type":"repo","username":"roopeshvaddepally","name":"pygh3","owner":"roopeshvaddepally","homepage":"","description":"python github wrapper for api v3. make it more like iorayne/tentacles","language":"Python","watchers":1,"followers":1,"forks":0,"size":132,"open_issues":0,"score":2.9255345,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/roopeshvaddepally/pygh3","created":"2012-02-12T06:46:07Z","created_at":"2012-02-12T06:46:07Z","pushed_at":"2012-02-12T23:14:35Z","pushed":"2012-02-12T23:14:35Z"},{"type":"repo","username":"thiagolocatelli","name":"android-github-oauth","owner":"thiagolocatelli","homepage":"","description":"Library and example project on how to connect to GitHub OAuth (v3) API","language":"Java","watchers":3,"followers":3,"forks":2,"size":120,"open_issues":0,"score":2.9255345,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/thiagolocatelli/android-github-oauth","created":"2011-09-27T14:41:01Z","created_at":"2011-09-27T14:41:01Z","pushed_at":"2011-09-27T14:53:33Z","pushed":"2011-09-27T14:53:33Z"},{"type":"repo","username":"plu","name":"Octotco","owner":"plu","homepage":"","description":"iOS App to access the Github v3 API via RestKit","language":"Objective-C","watchers":2,"followers":2,"forks":0,"size":372,"open_issues":0,"score":2.9255345,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/plu/Octotco","created":"2011-11-18T07:39:13Z","created_at":"2011-11-18T07:39:13Z","pushed_at":"2011-11-18T07:41:46Z","pushed":"2011-11-18T07:41:46Z"},{"type":"repo","username":"mklabs","name":"ghv3","owner":"mklabs","homepage":"","description":"GitHub Api v3 library. Ideally, it should work in node via http request, and in browsers using jsonp.","language":"JavaScript","watchers":2,"followers":2,"forks":0,"size":264,"open_issues":0,"score":2.9255345,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/mklabs/ghv3","created":"2011-07-31T10:41:16Z","created_at":"2011-07-31T10:41:16Z","pushed_at":"2011-07-31T15:34:55Z","pushed":"2011-07-31T15:34:55Z"},{"type":"repo","username":"exallium","name":"gitIssues2","owner":"exallium","homepage":"","description":"Complete Rewrite of GitIssues, including new UI and utilizing Github's V3 API Java Library","language":"Java","watchers":1,"followers":1,"forks":0,"size":1960,"open_issues":2,"score":2.9134018,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/exallium/gitIssues2","created":"2011-11-02T16:35:46Z","created_at":"2011-11-02T16:35:46Z","pushed_at":"2012-03-02T23:30:29Z","pushed":"2012-03-02T23:30:29Z"},{"type":"repo","username":"gregorynicholas","name":"flask-github","owner":"gregorynicholas","homepage":"gregorynicholas.github.io/flask-github","description":"github api (v3) python client. one step install, fully modeled request and response data objects.","language":"Python","watchers":7,"followers":7,"forks":2,"size":948,"open_issues":0,"score":2.9134018,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/gregorynicholas/flask-github","created":"2012-11-27T09:50:03Z","created_at":"2012-11-27T09:50:03Z","pushed_at":"2013-01-05T23:25:21Z","pushed":"2013-01-05T23:25:21Z"},{"type":"repo","username":"bgribble","name":"github2csv","owner":"bgribble","homepage":null,"description":"Use GitHub v3 API to generate a CSV-formatted report of issues. ","language":"Python","watchers":2,"followers":2,"forks":0,"size":252,"open_issues":0,"score":2.9134018,"has_downloads":true,"has_issues":true,"has_wiki":true,"fork":false,"private":false,"url":"https://github.com/bgribble/github2csv","created":"2013-09-18T18:20:55Z","created_at":"2013-09-18T18:20:55Z","pushed_at":"2013-10-17T20:51:00Z","pushed":"2013-10-17T20:51:00Z"}]} - -https -GET -api.github.com -None -/repos/peter-murach/github -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:384A:2FAB97B:5325DB4F'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '4906'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 06 Mar 2014 21:56:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"82265a365b9313e6c76377ba9cf8d2ab"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 16 Mar 2014 17:11:44 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1394992949')] -{"id":2456210,"name":"github","full_name":"peter-murach/github","owner":{"login":"peter-murach","id":444312,"avatar_url":"https://gravatar.com/avatar/fb249d5564a0f8c5a0b69e0d71d58949?d=https%3A%2F%2Fidenticons.github.com%2F2c3d0e804b05aa1e6a2235d9117479b4.png&r=x","gravatar_id":"fb249d5564a0f8c5a0b69e0d71d58949","url":"https://api.github.com/users/peter-murach","html_url":"https://github.com/peter-murach","followers_url":"https://api.github.com/users/peter-murach/followers","following_url":"https://api.github.com/users/peter-murach/following{/other_user}","gists_url":"https://api.github.com/users/peter-murach/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-murach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-murach/subscriptions","organizations_url":"https://api.github.com/users/peter-murach/orgs","repos_url":"https://api.github.com/users/peter-murach/repos","events_url":"https://api.github.com/users/peter-murach/events{/privacy}","received_events_url":"https://api.github.com/users/peter-murach/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/peter-murach/github","description":"Ruby interface to github API v3","fork":false,"url":"https://api.github.com/repos/peter-murach/github","forks_url":"https://api.github.com/repos/peter-murach/github/forks","keys_url":"https://api.github.com/repos/peter-murach/github/keys{/key_id}","collaborators_url":"https://api.github.com/repos/peter-murach/github/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/peter-murach/github/teams","hooks_url":"https://api.github.com/repos/peter-murach/github/hooks","issue_events_url":"https://api.github.com/repos/peter-murach/github/issues/events{/number}","events_url":"https://api.github.com/repos/peter-murach/github/events","assignees_url":"https://api.github.com/repos/peter-murach/github/assignees{/user}","branches_url":"https://api.github.com/repos/peter-murach/github/branches{/branch}","tags_url":"https://api.github.com/repos/peter-murach/github/tags","blobs_url":"https://api.github.com/repos/peter-murach/github/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/peter-murach/github/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/peter-murach/github/git/refs{/sha}","trees_url":"https://api.github.com/repos/peter-murach/github/git/trees{/sha}","statuses_url":"https://api.github.com/repos/peter-murach/github/statuses/{sha}","languages_url":"https://api.github.com/repos/peter-murach/github/languages","stargazers_url":"https://api.github.com/repos/peter-murach/github/stargazers","contributors_url":"https://api.github.com/repos/peter-murach/github/contributors","subscribers_url":"https://api.github.com/repos/peter-murach/github/subscribers","subscription_url":"https://api.github.com/repos/peter-murach/github/subscription","commits_url":"https://api.github.com/repos/peter-murach/github/commits{/sha}","git_commits_url":"https://api.github.com/repos/peter-murach/github/git/commits{/sha}","comments_url":"https://api.github.com/repos/peter-murach/github/comments{/number}","issue_comment_url":"https://api.github.com/repos/peter-murach/github/issues/comments/{number}","contents_url":"https://api.github.com/repos/peter-murach/github/contents/{+path}","compare_url":"https://api.github.com/repos/peter-murach/github/compare/{base}...{head}","merges_url":"https://api.github.com/repos/peter-murach/github/merges","archive_url":"https://api.github.com/repos/peter-murach/github/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/peter-murach/github/downloads","issues_url":"https://api.github.com/repos/peter-murach/github/issues{/number}","pulls_url":"https://api.github.com/repos/peter-murach/github/pulls{/number}","milestones_url":"https://api.github.com/repos/peter-murach/github/milestones{/number}","notifications_url":"https://api.github.com/repos/peter-murach/github/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/peter-murach/github/labels{/name}","releases_url":"https://api.github.com/repos/peter-murach/github/releases{/id}","created_at":"2011-09-25T19:36:22Z","updated_at":"2014-03-06T21:56:11Z","pushed_at":"2014-03-06T21:56:09Z","git_url":"git://github.com/peter-murach/github.git","ssh_url":"git@github.com:peter-murach/github.git","clone_url":"https://github.com/peter-murach/github.git","svn_url":"https://github.com/peter-murach/github","homepage":"http://peter-murach.github.com/github","size":5302,"stargazers_count":425,"watchers_count":425,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":108,"mirror_url":null,"open_issues_count":11,"forks":108,"open_issues":11,"watchers":425,"default_branch":"master","master_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"network_count":108,"subscribers_count":27} - diff --git a/github/tests/ReplayData/Github.testLegacySearchReposExplicitPagination.txt b/github/tests/ReplayData/Github.testLegacySearchReposExplicitPagination.txt deleted file mode 100644 index bf74915..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchReposExplicitPagination.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/repos/search/python?start_page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('content-length', '40758'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"55a485e08fb00f1ed4304534fbbf0cb0"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 11 Sep 2012 21:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","forks":183,"owner":"kriswallsmith","pushed":"2012-09-07T10:40:33-07:00","username":"kriswallsmith","description":"Asset Management for PHP","created_at":"2011-01-10T09:47:13-08:00","watchers":1171,"followers":1171,"fork":false,"size":752,"created":"2011-01-10T09:47:13-08:00","name":"assetic","private":false,"pushed_at":"2012-09-07T10:40:33-07:00","language":"PHP"},{"type":"repo","forks":28,"owner":"Vizzuality","pushed":"2012-09-11T13:59:46-07:00","username":"Vizzuality","description":"Geospatial database for the cloud","created_at":"2011-01-12T07:25:41-08:00","watchers":238,"followers":238,"fork":false,"size":352,"created":"2011-01-12T07:25:41-08:00","name":"cartodb","private":false,"pushed_at":"2012-09-11T13:59:46-07:00","language":"JavaScript"},{"type":"repo","forks":73,"owner":"sebastien","pushed":"2012-09-11T12:10:16-07:00","username":"sebastien","description":"Chef-like functionality for Fabric","created_at":"2011-02-28T12:26:37-08:00","watchers":515,"followers":515,"fork":false,"size":236,"created":"2011-02-28T12:26:37-08:00","name":"cuisine","private":false,"pushed_at":"2012-09-11T12:10:16-07:00","language":"Python"},{"type":"repo","forks":26,"owner":"dound","pushed":"2011-12-19T12:52:24-08:00","username":"dound","description":"Fast, lightweight Sessions middleware for Google App Engine (secure cookies, memcache, or datastore)","created_at":"2010-04-07T02:30:31-07:00","watchers":231,"followers":231,"fork":false,"size":272,"created":"2010-04-07T02:30:31-07:00","name":"gae-sessions","private":false,"pushed_at":"2011-12-19T12:52:24-08:00","language":"Python"},{"type":"repo","forks":2,"owner":"geoalchemy","pushed":"2012-09-11T10:16:06-07:00","username":"geoalchemy","description":"GeoAlchemy 2","created_at":"2012-09-01T03:00:24-07:00","watchers":2,"followers":2,"fork":false,"size":228,"created":"2012-09-01T03:00:24-07:00","name":"geoalchemy2","private":false,"pushed_at":"2012-09-11T10:16:06-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"SimonSapin","pushed":"2012-09-11T12:15:38-07:00","username":"SimonSapin","description":"Data Access Library","created_at":"2011-07-03T10:32:42-07:00","watchers":2,"followers":2,"fork":true,"size":232,"created":"2011-07-03T10:32:42-07:00","name":"Multicorn","private":false,"pushed_at":"2012-09-11T12:15:38-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"JeanFred","pushed":"2012-09-11T13:08:53-07:00","username":"JeanFred","description":"A WmFr timeline","created_at":"2012-08-07T12:38:19-07:00","watchers":0,"followers":0,"fork":false,"size":336,"created":"2012-08-07T12:38:19-07:00","name":"wmfr-timeline","private":false,"pushed_at":"2012-09-11T13:08:53-07:00","language":"Python"},{"type":"repo","forks":12,"owner":"sripathikrishnan","pushed":"2012-08-02T08:16:15-07:00","username":"sripathikrishnan","description":"Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON","created_at":"2012-03-10T03:09:12-08:00","watchers":108,"followers":108,"fork":false,"size":132,"created":"2012-03-10T03:09:12-08:00","name":"redis-rdb-tools","private":false,"pushed_at":"2012-08-02T08:16:15-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"Ilastik","pushed":"2012-09-11T10:02:43-07:00","username":"Ilastik","description":"ilastik-shell, applets, and workflows to string them together.","created_at":"2012-05-08T08:59:36-07:00","watchers":1,"followers":1,"fork":false,"size":296,"created":"2012-05-08T08:59:36-07:00","name":"applet-workflows","private":false,"pushed_at":"2012-09-11T10:02:43-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"agoebel","pushed":"2012-09-11T10:19:08-07:00","username":"agoebel","description":"a micro command line tool that posts delayed tweets (like Buffer)","created_at":"2012-09-11T10:18:41-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T10:18:41-07:00","name":"TweetBuff","private":false,"pushed_at":"2012-09-11T10:19:08-07:00","language":"Python"},{"type":"repo","forks":77,"owner":"groovy","pushed":"2012-09-11T10:24:22-07:00","username":"groovy","description":"Groovy language Git repository","created_at":"2011-09-19T00:41:42-07:00","watchers":227,"followers":227,"fork":false,"size":928,"created":"2011-09-19T00:41:42-07:00","name":"groovy-core","private":false,"pushed_at":"2012-09-11T10:24:22-07:00","language":"Java"},{"type":"repo","forks":0,"owner":"RazvanB","pushed":"2012-09-11T10:34:54-07:00","username":"RazvanB","description":"","created_at":"2012-09-06T10:53:50-07:00","watchers":0,"followers":0,"fork":false,"size":220,"created":"2012-09-06T10:53:50-07:00","name":"StarTrekGame","private":false,"pushed_at":"2012-09-11T10:34:54-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"Ugrt","pushed":"2012-09-11T11:19:36-07:00","username":"Ugrt","description":"Un nuevo repositorio","created_at":"2012-09-11T11:12:55-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T11:12:55-07:00","name":"Nuevo","private":false,"pushed_at":"2012-09-11T11:19:36-07:00","language":"Python"},{"type":"repo","forks":2,"owner":"andrewfiorillo","pushed":"2012-08-02T14:07:38-07:00","username":"andrewfiorillo","description":"Cupid color scheme for Sublime Text 2 and Textmate","created_at":"2012-05-29T07:05:33-07:00","watchers":3,"followers":3,"fork":false,"size":136,"created":"2012-05-29T07:05:33-07:00","name":"Cupid","private":false,"pushed_at":"2012-08-02T14:07:38-07:00","language":null},{"type":"repo","forks":25,"owner":"WindowsAzure","pushed":"2012-08-30T14:23:42-07:00","username":"WindowsAzure","description":"","created_at":"2012-03-02T08:35:36-08:00","watchers":175,"followers":175,"fork":false,"size":168,"created":"2012-03-02T08:35:36-08:00","name":"node-sqlserver","private":false,"pushed_at":"2012-08-30T14:23:42-07:00","language":"C++"},{"type":"repo","forks":6,"owner":"danfolkes","pushed":"2012-09-09T18:39:17-07:00","username":"danfolkes","description":"This will convert a magnet link into a .torrent file","created_at":"2012-04-19T07:31:02-07:00","watchers":17,"followers":17,"fork":false,"size":128,"created":"2012-04-19T07:31:02-07:00","name":"Magnet2Torrent","private":false,"pushed_at":"2012-09-09T18:39:17-07:00","language":"Python"},{"type":"repo","forks":18,"owner":"mattt","pushed":"2012-09-06T08:06:47-07:00","username":"mattt","description":"Remote configuration for iOS","created_at":"2012-08-31T16:13:59-07:00","watchers":308,"followers":308,"fork":false,"size":136,"created":"2012-08-31T16:13:59-07:00","name":"GroundControl","private":false,"pushed_at":"2012-09-06T08:06:47-07:00","language":"Objective-C"},{"type":"repo","forks":5,"owner":"dcramer","pushed":"2012-08-16T12:45:29-07:00","username":"dcramer","description":"","created_at":"2012-02-06T13:39:47-08:00","watchers":33,"followers":33,"fork":false,"size":132,"created":"2012-02-06T13:39:47-08:00","name":"mock-django","private":false,"pushed_at":"2012-08-16T12:45:29-07:00","language":"Python"},{"type":"repo","forks":16,"owner":"ciembor","pushed":"2012-09-07T10:18:30-07:00","username":"ciembor","description":"Terminal Color Scheme Designer","created_at":"2012-08-20T11:36:25-07:00","watchers":164,"followers":164,"fork":false,"size":208,"created":"2012-08-20T11:36:25-07:00","name":"4bit","private":false,"pushed_at":"2012-09-07T10:18:30-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"hexsprite","pushed":"2012-09-11T12:12:32-07:00","username":"hexsprite","description":"","created_at":"2012-09-11T12:05:15-07:00","watchers":0,"followers":0,"fork":true,"size":112,"created":"2012-09-11T12:05:15-07:00","name":"mock-django","private":false,"pushed_at":"2012-09-11T12:12:32-07:00","language":"Python"},{"type":"repo","forks":39,"owner":"gcollazo","pushed":"2012-08-08T09:06:13-07:00","username":"gcollazo","description":"Deploy django apps to Amazon EC2 with ONE command","created_at":"2011-06-26T13:27:07-07:00","watchers":383,"followers":383,"fork":false,"size":136,"created":"2011-06-26T13:27:07-07:00","name":"Fabulous","private":false,"pushed_at":"2012-08-08T09:06:13-07:00","language":"Python"},{"type":"repo","forks":78,"owner":"LaurentGomila","pushed":"2012-09-01T14:23:07-07:00","username":"LaurentGomila","description":"Simple and Fast Multimedia Library","created_at":"2011-03-25T01:05:25-07:00","watchers":637,"followers":637,"fork":false,"size":796,"created":"2011-03-25T01:05:25-07:00","name":"SFML","private":false,"pushed_at":"2012-09-01T14:23:07-07:00","language":"C"},{"type":"repo","forks":0,"owner":"fabiocerqueira","pushed":"2012-09-11T12:39:14-07:00","username":"fabiocerqueira","description":"Página pessoal: http://cerqueira.me","created_at":"2012-09-11T12:38:06-07:00","watchers":0,"followers":0,"fork":false,"size":316,"created":"2012-09-11T12:38:06-07:00","name":"pydicas","private":false,"pushed_at":"2012-09-11T12:39:14-07:00","language":"JavaScript"},{"type":"repo","forks":139,"owner":"AdamAtomic","pushed":"2011-10-16T12:30:21-07:00","username":"AdamAtomic","description":"flixel is a free Actionscript (Flash) library that I distilled from a variety of Flash games that I've worked on over the last couple years, including Gravity Hook, Fathom and Canabalt. It's primary function is to provide some useful base classes that you can extend to make your own game objects.","created_at":"2009-10-18T16:14:40-07:00","watchers":916,"followers":916,"fork":false,"size":284,"created":"2009-10-18T16:14:40-07:00","name":"flixel","private":false,"pushed_at":"2011-10-16T12:30:21-07:00","language":"ActionScript"},{"type":"repo","forks":0,"owner":"joehewitt","pushed":"2012-09-11T01:08:28-07:00","username":"joehewitt","description":"It's a programming language.","created_at":"2012-08-04T23:56:03-07:00","watchers":19,"followers":19,"fork":false,"size":3376,"created":"2012-08-04T23:56:03-07:00","name":"up","private":false,"pushed_at":"2012-09-11T01:08:28-07:00","language":"C"},{"type":"repo","forks":71,"owner":"zedshaw","pushed":"2012-09-01T11:24:16-07:00","username":"zedshaw","description":"The Mongrel2 Web Server Project","created_at":"2011-05-21T10:04:11-07:00","watchers":760,"followers":760,"fork":false,"size":264,"created":"2011-05-21T10:04:11-07:00","name":"mongrel2","private":false,"pushed_at":"2012-09-01T11:24:16-07:00","language":"C"},{"type":"repo","forks":0,"owner":"fabriceleal","pushed":"2012-09-11T13:43:09-07:00","username":"fabriceleal","description":"A static page server in node.js","created_at":"2012-09-10T14:38:34-07:00","watchers":1,"followers":1,"fork":false,"size":120,"created":"2012-09-10T14:38:34-07:00","name":"SimpleHTTPServerJs","private":false,"pushed_at":"2012-09-11T13:43:09-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"djrahl","pushed":"2012-09-11T13:48:10-07:00","username":"djrahl","description":"a crpg in the spirit of ultima v","created_at":"2012-09-11T13:38:24-07:00","watchers":0,"followers":0,"fork":false,"size":92,"created":"2012-09-11T13:38:24-07:00","name":"ultimos","private":false,"pushed_at":"2012-09-11T13:48:10-07:00","language":null},{"type":"repo","forks":45,"owner":"ArchipelProject","pushed":"2012-09-11T13:51:51-07:00","username":"ArchipelProject","description":"XMPP Based Orchestrator","created_at":"2010-09-25T08:03:52-07:00","watchers":298,"followers":298,"fork":false,"size":416,"created":"2010-09-25T08:03:52-07:00","name":"Archipel","private":false,"pushed_at":"2012-09-11T13:51:51-07:00","language":"Objective-J"},{"type":"repo","forks":32,"owner":"revolunet","pushed":"2012-08-27T09:22:58-07:00","username":"revolunet","description":"Open source javascript books compilation","created_at":"2012-07-31T01:03:56-07:00","watchers":153,"followers":153,"fork":false,"size":184,"created":"2012-07-31T01:03:56-07:00","name":"JSbooks","private":false,"pushed_at":"2012-08-27T09:22:58-07:00","language":"JavaScript"},{"type":"repo","forks":345,"owner":"openstack","pushed":"2012-09-11T14:17:33-07:00","username":"openstack","description":"OpenStack Compute (Nova)","created_at":"2010-07-21T19:04:27-07:00","watchers":630,"followers":630,"fork":false,"size":7912,"created":"2010-07-21T19:04:27-07:00","name":"nova","private":false,"pushed_at":"2012-09-11T14:17:33-07:00","language":"Python"},{"type":"repo","forks":9,"owner":"nodebox","pushed":"2012-09-11T14:18:01-07:00","username":"nodebox","description":"Interactive, hackable graphic design application ","created_at":"2009-02-10T08:28:47-08:00","watchers":160,"followers":160,"fork":false,"size":452568,"created":"2009-02-10T08:28:47-08:00","name":"nodebox","private":false,"pushed_at":"2012-09-11T14:18:01-07:00","language":"Java"},{"type":"repo","forks":24,"owner":"bitly","pushed":"2012-09-11T14:24:12-07:00","username":"bitly","description":"a family of libraries and daemons for building scalable web infrastructure","created_at":"2010-12-16T14:13:56-08:00","watchers":143,"followers":143,"fork":false,"size":193,"created":"2010-12-16T14:13:56-08:00","name":"simplehttp","private":false,"pushed_at":"2012-09-11T14:24:12-07:00","language":"C"},{"type":"repo","forks":23,"owner":"bitly","pushed":"2012-09-04T10:07:19-07:00","username":"bitly","description":"scaling, counting, bloom filter library","created_at":"2012-07-25T11:41:03-07:00","watchers":326,"followers":326,"fork":false,"size":356,"created":"2012-07-25T11:41:03-07:00","name":"dablooms","private":false,"pushed_at":"2012-09-04T10:07:19-07:00","language":"C"},{"type":"repo","forks":362,"owner":"altercation","pushed":"2012-08-26T22:50:52-07:00","username":"altercation","description":"precision color scheme for multiple applications (terminal, vim, etc.) with both dark/light modes","created_at":"2011-02-17T21:18:27-08:00","watchers":2918,"followers":2918,"fork":false,"size":388,"created":"2011-02-17T21:18:27-08:00","name":"solarized","private":false,"pushed_at":"2012-08-26T22:50:52-07:00","language":"Perl"},{"type":"repo","forks":132,"owner":"adamzap","pushed":"2012-09-06T21:24:25-07:00","username":"adamzap","description":"Generate a slideshow using the slides that power the html5-slides presentation","created_at":"2010-05-11T21:34:16-07:00","watchers":693,"followers":693,"fork":false,"size":176,"created":"2010-05-11T21:34:16-07:00","name":"landslide","private":false,"pushed_at":"2012-09-06T21:24:25-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"i2bizpl","pushed":"2012-09-05T21:11:49-07:00","username":"i2bizpl","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-09-11T10:22:38-07:00","watchers":0,"followers":0,"fork":true,"size":316,"created":"2012-09-11T10:22:38-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-09-05T21:11:49-07:00","language":"JavaScript"},{"type":"repo","forks":3,"owner":"swhitley","pushed":"2012-05-18T21:06:33-07:00","username":"swhitley","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-05-18T15:15:11-07:00","watchers":5,"followers":5,"fork":true,"size":116,"created":"2012-05-18T15:15:11-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-05-18T21:06:33-07:00","language":"JavaScript"},{"type":"repo","forks":3,"owner":"timabell","pushed":"2012-03-21T09:32:35-07:00","username":"timabell","description":"File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.","created_at":"2012-03-21T09:12:48-07:00","watchers":7,"followers":7,"fork":true,"size":612,"created":"2012-03-21T09:12:48-07:00","name":"jQuery-File-Upload","private":false,"pushed_at":"2012-03-21T09:32:35-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"MisterY","pushed":"2012-09-11T14:11:50-07:00","username":"MisterY","description":"Clipperz Community Edition is a web-based password manager. It allows you to host on your own server a web service identical to the well-known Clipperz online password manager. It supports multiple backends (PHP/MySQL, Python/AppEngine, …) and you can contribute your own. Local encryption within the browser guarantees that no one except you can read your data.","created_at":"2012-09-08T11:10:24-07:00","watchers":0,"followers":0,"fork":true,"size":156,"created":"2012-09-08T11:10:24-07:00","name":"password-manager","private":false,"pushed_at":"2012-09-11T14:11:50-07:00","language":"JavaScript"},{"type":"repo","forks":7,"owner":"spesmilo","pushed":"2012-09-11T12:02:13-07:00","username":"spesmilo","description":"Electrum; Bitcoin thin client","created_at":"2012-08-02T09:24:30-07:00","watchers":19,"followers":19,"fork":false,"size":552,"created":"2012-08-02T09:24:30-07:00","name":"electrum","private":false,"pushed_at":"2012-09-11T12:02:13-07:00","language":"Python"},{"type":"repo","forks":8,"owner":"aritter","pushed":"2012-06-28T20:57:20-07:00","username":"aritter","description":"UW Twitter NLP Tools","created_at":"2011-07-16T13:24:35-07:00","watchers":54,"followers":54,"fork":false,"size":1272,"created":"2011-07-16T13:24:35-07:00","name":"twitter_nlp","private":false,"pushed_at":"2012-06-28T20:57:20-07:00","language":"Java"},{"type":"repo","forks":12,"owner":"af","pushed":"2012-05-06T20:38:22-07:00","username":"af","description":"Makes it easy for Django backends to talk to Backbone.js.","created_at":"2011-11-26T13:33:53-08:00","watchers":122,"followers":122,"fork":false,"size":128,"created":"2011-11-26T13:33:53-08:00","name":"djangbone","private":false,"pushed_at":"2012-05-06T20:38:22-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"vchahun","pushed":"2012-09-11T10:47:11-07:00","username":"vchahun","description":"Cython XFST bindings","created_at":"2012-09-11T10:46:18-07:00","watchers":0,"followers":0,"fork":false,"size":112,"created":"2012-09-11T10:46:18-07:00","name":"pyxfst","private":false,"pushed_at":"2012-09-11T10:47:11-07:00","language":"C"},{"type":"repo","forks":17,"owner":"TooTallNate","pushed":"2012-09-07T11:08:32-07:00","username":"TooTallNate","description":"Node.js native addon build tool","created_at":"2012-02-02T21:50:50-08:00","watchers":170,"followers":170,"fork":false,"size":1184,"created":"2012-02-02T21:50:50-08:00","name":"node-gyp","private":false,"pushed_at":"2012-09-07T11:08:32-07:00","language":"Python"},{"type":"repo","forks":63,"owner":"clintbellanger","pushed":"2012-09-11T11:27:46-07:00","username":"clintbellanger","description":"Free Libre Action Roleplaying Engine","created_at":"2011-06-03T19:53:27-07:00","watchers":178,"followers":178,"fork":false,"size":258771,"created":"2011-06-03T19:53:27-07:00","name":"flare","private":false,"pushed_at":"2012-09-11T11:27:46-07:00","language":"C++"},{"type":"repo","forks":21,"owner":"whit537","pushed":"2012-09-11T11:48:51-07:00","username":"whit537","description":"Gittip is a personal funding platform.","created_at":"2012-06-01T09:01:02-07:00","watchers":148,"followers":148,"fork":false,"size":764,"created":"2012-06-01T09:01:02-07:00","name":"www.gittip.com","private":false,"pushed_at":"2012-09-11T11:48:51-07:00","language":"Python"},{"type":"repo","forks":57,"owner":"wymeditor","pushed":"2012-08-24T07:33:42-07:00","username":"wymeditor","description":"Pure js cross-browser WYSIWYM editor with a focus on the clean separation of content and styling.","created_at":"2010-01-22T02:50:59-08:00","watchers":336,"followers":336,"fork":false,"size":1464,"created":"2010-01-22T02:50:59-08:00","name":"wymeditor","private":false,"pushed_at":"2012-08-24T07:33:42-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"Kokothekoala","pushed":"2012-09-11T13:10:34-07:00","username":"Kokothekoala","description":"","created_at":"2012-06-29T01:30:02-07:00","watchers":1,"followers":1,"fork":false,"size":2452,"created":"2012-06-29T01:30:02-07:00","name":"Kokobox","private":false,"pushed_at":"2012-09-11T13:10:34-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"practo","pushed":"2012-08-01T15:35:10-07:00","username":"practo","description":"MyCQ is a simple website written in Flask to give MCQ test","created_at":"2012-07-29T08:51:31-07:00","watchers":2,"followers":2,"fork":false,"size":240,"created":"2012-07-29T08:51:31-07:00","name":"MyCQ","private":false,"pushed_at":"2012-08-01T15:35:10-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"mhsundstrom","pushed":"2012-09-11T13:14:23-07:00","username":"mhsundstrom","description":"data analysis of race and workout runwalks","created_at":"2012-08-03T09:33:43-07:00","watchers":1,"followers":1,"fork":false,"size":272,"created":"2012-08-03T09:33:43-07:00","name":"runwalk","private":false,"pushed_at":"2012-09-11T13:14:23-07:00","language":"JavaScript"},{"type":"repo","forks":7,"owner":"arc90","pushed":"2012-04-23T07:38:20-07:00","username":"arc90","description":"A command-line tool that helps you clean up Git branches that have been merged into master.","created_at":"2012-03-16T06:58:07-07:00","watchers":114,"followers":114,"fork":false,"size":172,"created":"2012-03-16T06:58:07-07:00","name":"git-sweep","private":false,"pushed_at":"2012-04-23T07:38:20-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"aterrel","pushed":"2012-09-11T14:07:51-07:00","username":"aterrel","description":"","created_at":"2012-09-05T12:44:32-07:00","watchers":1,"followers":1,"fork":false,"size":1712,"created":"2012-09-05T12:44:32-07:00","name":"HPCPythonSC2012","private":false,"pushed_at":"2012-09-11T14:07:51-07:00","language":null},{"type":"repo","forks":73,"owner":"vmg","pushed":"2012-08-01T16:27:07-07:00","username":"vmg","description":"Standards compliant, fast, secure markdown processing library in C","created_at":"2011-04-15T01:38:13-07:00","watchers":566,"followers":566,"fork":false,"size":192,"created":"2011-04-15T01:38:13-07:00","name":"sundown","private":false,"pushed_at":"2012-08-01T16:27:07-07:00","language":"C"},{"type":"repo","forks":59,"owner":"Instagram","pushed":"2012-06-13T10:47:46-07:00","username":"Instagram","description":"","created_at":"2012-02-17T00:21:51-08:00","watchers":613,"followers":613,"fork":false,"size":136,"created":"2012-02-17T00:21:51-08:00","name":"node2dm","private":false,"pushed_at":"2012-06-13T10:47:46-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"MeirKriheli","pushed":"2012-09-11T10:34:46-07:00","username":"MeirKriheli","description":"Multilingual static site and blog generator","created_at":"2011-04-27T11:47:17-07:00","watchers":1,"followers":1,"fork":false,"size":324,"created":"2011-04-27T11:47:17-07:00","name":"statirator","private":false,"pushed_at":"2012-09-11T10:34:46-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"orzubalsky","pushed":"2012-09-11T11:12:18-07:00","username":"orzubalsky","description":"","created_at":"2012-08-22T07:24:46-07:00","watchers":0,"followers":0,"fork":false,"size":7176,"created":"2012-08-22T07:24:46-07:00","name":"fantastic-futures","private":false,"pushed_at":"2012-09-11T11:12:18-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"blahed","pushed":"2012-09-04T15:52:24-07:00","username":"blahed","description":"","created_at":"2012-08-30T11:56:14-07:00","watchers":138,"followers":138,"fork":false,"size":624,"created":"2012-08-30T11:56:14-07:00","name":"chainsaw","private":false,"pushed_at":"2012-09-04T15:52:24-07:00","language":"Ruby"},{"type":"repo","forks":1,"owner":"lucasmcastro","pushed":"2012-02-11T12:54:37-08:00","username":"lucasmcastro","description":"Gerenciador Tarefas IT Cursos","created_at":"2012-02-04T06:05:58-08:00","watchers":1,"followers":1,"fork":false,"size":136,"created":"2012-02-04T06:05:58-08:00","name":"itcursos-gerenciador-tarefas","private":false,"pushed_at":"2012-02-11T12:54:37-08:00","language":"Python"},{"type":"repo","forks":25,"owner":"TideSDK","pushed":"2012-09-07T21:49:37-07:00","username":"TideSDK","description":"Create multi-platform desktop apps with HTML5, CSS3 and JavaScript. TideSDK formerly known as Titanium Desktop is the best way to create beautiful, unique desktop apps using your web development skills.","created_at":"2012-03-06T05:53:47-08:00","watchers":174,"followers":174,"fork":true,"size":155104,"created":"2012-03-06T05:53:47-08:00","name":"TideSDK","private":false,"pushed_at":"2012-09-07T21:49:37-07:00","language":"C++"},{"type":"repo","forks":1,"owner":"KpaBap","pushed":"2012-09-11T12:18:52-07:00","username":"KpaBap","description":"Simple IRC Channel bot","created_at":"2012-06-21T09:20:27-07:00","watchers":3,"followers":3,"fork":true,"size":456,"created":"2012-06-21T09:20:27-07:00","name":"genmaybot","private":false,"pushed_at":"2012-09-11T12:18:52-07:00","language":"Python"},{"type":"repo","forks":83,"owner":"milkypostman","pushed":"2012-09-10T13:33:00-07:00","username":"milkypostman","description":"Scripts for building Emacs packages from Version Control","created_at":"2011-10-04T22:50:47-07:00","watchers":130,"followers":130,"fork":false,"size":564,"created":"2011-10-04T22:50:47-07:00","name":"melpa","private":false,"pushed_at":"2012-09-10T13:33:00-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"mjcuva","pushed":"2012-09-11T12:43:02-07:00","username":"mjcuva","description":null,"created_at":"2012-08-23T13:21:24-07:00","watchers":0,"followers":0,"fork":false,"size":1996,"created":"2012-08-23T13:21:24-07:00","name":"ConnectedWire","private":false,"pushed_at":"2012-09-11T12:43:02-07:00","language":"Python"},{"type":"repo","forks":13,"owner":"mailru","pushed":"2012-09-11T13:07:39-07:00","username":"mailru","description":"efficient in-memory storage","created_at":"2010-09-15T00:59:26-07:00","watchers":122,"followers":122,"fork":false,"size":560,"created":"2010-09-15T00:59:26-07:00","name":"tarantool","private":false,"pushed_at":"2012-09-11T13:07:39-07:00","language":"C"},{"type":"repo","forks":0,"owner":"agodbehere","pushed":"2012-09-11T13:20:51-07:00","username":"agodbehere","description":"experimental db alpha internal","created_at":"2012-09-10T12:33:32-07:00","watchers":0,"followers":0,"fork":false,"size":308,"created":"2012-09-10T12:33:32-07:00","name":"anserindicus_sn","private":false,"pushed_at":"2012-09-11T13:20:51-07:00","language":"Python"},{"type":"repo","forks":61,"owner":"luvit","pushed":"2012-09-11T13:24:05-07:00","username":"luvit","description":"Lua + libUV + jIT = pure awesomesauce","created_at":"2011-09-10T15:54:00-07:00","watchers":742,"followers":742,"fork":false,"size":936,"created":"2011-09-10T15:54:00-07:00","name":"luvit","private":false,"pushed_at":"2012-09-11T13:24:05-07:00","language":"C"},{"type":"repo","forks":131,"owner":"overviewer","pushed":"2012-09-11T13:42:15-07:00","username":"overviewer","description":"Render high-resolution maps of a Minecraft world with a Google Maps powered interface","created_at":"2010-08-28T14:44:16-07:00","watchers":646,"followers":646,"fork":false,"size":45878,"created":"2010-08-28T14:44:16-07:00","name":"Minecraft-Overviewer","private":false,"pushed_at":"2012-09-11T13:42:15-07:00","language":"Python"},{"type":"repo","forks":117,"owner":"somerandomdude","pushed":"2012-07-10T14:04:49-07:00","username":"somerandomdude","description":"A minimal set of icons in raster, vector and font formats — free for public use.","created_at":"2011-09-21T19:11:09-07:00","watchers":932,"followers":932,"fork":false,"size":10490,"created":"2011-09-21T19:11:09-07:00","name":"Iconic","private":false,"pushed_at":"2012-07-10T14:04:49-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"cihann","pushed":"2012-09-11T14:23:44-07:00","username":"cihann","description":"","created_at":"2012-05-20T11:15:16-07:00","watchers":1,"followers":1,"fork":true,"size":132,"created":"2012-05-20T11:15:16-07:00","name":"pyist.net","private":false,"pushed_at":"2012-09-11T14:23:44-07:00","language":"JavaScript"},{"type":"repo","forks":0,"owner":"objarni","pushed":"2012-09-11T14:25:26-07:00","username":"objarni","description":"motargumentwikis bokskaparscript","created_at":"2012-09-10T23:42:49-07:00","watchers":0,"followers":0,"fork":false,"size":776,"created":"2012-09-10T23:42:49-07:00","name":"wikibok","private":false,"pushed_at":"2012-09-11T14:25:26-07:00","language":null},{"type":"repo","forks":0,"owner":"mguillech","pushed":"2012-09-11T11:25:14-07:00","username":"mguillech","description":"Scraper for Mejorenvo.com","created_at":"2012-09-09T08:39:24-07:00","watchers":0,"followers":0,"fork":false,"size":168,"created":"2012-09-09T08:39:24-07:00","name":"mejorenvo-scraper","private":false,"pushed_at":"2012-09-11T11:25:14-07:00","language":"Python"},{"type":"repo","forks":79,"owner":"samuelclay","pushed":"2012-09-11T13:43:15-07:00","username":"samuelclay","description":"NewsBlur is a social news reader with intelligence. A new sound of an old instrument.","created_at":"2009-01-05T06:00:43-08:00","watchers":705,"followers":705,"fork":false,"size":1944,"created":"2009-01-05T06:00:43-08:00","name":"NewsBlur","private":false,"pushed_at":"2012-09-11T13:43:15-07:00","language":"Objective-C"},{"type":"repo","forks":78,"owner":"square","pushed":"2012-08-30T19:07:53-07:00","username":"square","description":"A conforming Objective-C WebSocket client library.","created_at":"2012-01-29T16:21:34-08:00","watchers":868,"followers":868,"fork":false,"size":1148,"created":"2012-01-29T16:21:34-08:00","name":"SocketRocket","private":false,"pushed_at":"2012-08-30T19:07:53-07:00","language":"Python"},{"type":"repo","forks":299,"owner":"spf13","pushed":"2012-09-10T10:58:47-07:00","username":"spf13","description":"The ultimate vim distribution","created_at":"2010-04-20T09:20:16-07:00","watchers":1081,"followers":1081,"fork":false,"size":196,"created":"2010-04-20T09:20:16-07:00","name":"spf13-vim","private":false,"pushed_at":"2012-09-10T10:58:47-07:00","language":"VimL"},{"type":"repo","forks":153,"owner":"globocom","pushed":"2012-08-23T15:41:05-07:00","username":"globocom","description":"Você é web dev? Quer trabalhar no maior portal da América Latina? Esse repositório é pra você","created_at":"2011-05-26T09:54:51-07:00","watchers":211,"followers":211,"fork":false,"size":204,"created":"2011-05-26T09:54:51-07:00","name":"IWantToWorkAtGloboCom","private":false,"pushed_at":"2012-08-23T15:41:05-07:00","language":null},{"type":"repo","forks":309,"owner":"bbatsov","pushed":"2012-09-10T23:01:24-07:00","username":"bbatsov","description":"A community-driven Ruby coding style guide","created_at":"2011-09-12T06:03:05-07:00","watchers":1945,"followers":1945,"fork":false,"size":144,"created":"2011-09-12T06:03:05-07:00","name":"ruby-style-guide","private":false,"pushed_at":"2012-09-10T23:01:24-07:00","language":"Ruby"},{"type":"repo","forks":1,"owner":"aery32","pushed":"2012-09-11T12:40:20-07:00","username":"aery32","description":"Reference Guide for the Aery32 Software Framework","created_at":"2012-05-12T10:33:06-07:00","watchers":1,"followers":1,"fork":false,"size":3760,"created":"2012-05-12T10:33:06-07:00","name":"aery32-refguide","private":false,"pushed_at":"2012-09-11T12:40:20-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"ana-balica","pushed":"2012-09-11T10:46:22-07:00","username":"ana-balica","description":"Anglophone Department Website","created_at":"2012-07-26T02:15:53-07:00","watchers":6,"followers":6,"fork":false,"size":3440,"created":"2012-07-26T02:15:53-07:00","name":"fafsite","private":false,"pushed_at":"2012-09-11T10:46:22-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"miketrumpis","pushed":"2010-12-14T11:41:32-08:00","username":"miketrumpis","description":"","created_at":"2010-12-13T08:08:46-08:00","watchers":3,"followers":3,"fork":false,"size":1388,"created":"2010-12-13T08:08:46-08:00","name":"compsense_demo","private":false,"pushed_at":"2010-12-14T11:41:32-08:00","language":"C"},{"type":"repo","forks":17,"owner":"enthought","pushed":"2012-09-11T14:02:49-07:00","username":"enthought","description":"","created_at":"2011-08-05T08:02:07-07:00","watchers":65,"followers":65,"fork":false,"size":828,"created":"2011-08-05T08:02:07-07:00","name":"enaml","private":false,"pushed_at":"2012-09-11T14:02:49-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"erdc-cm","pushed":"2012-09-11T10:07:34-07:00","username":"erdc-cm","description":"","created_at":"2012-01-26T10:07:04-08:00","watchers":1,"followers":1,"fork":false,"size":7400,"created":"2012-01-26T10:07:04-08:00","name":"mpi4py","private":false,"pushed_at":"2012-09-11T10:07:34-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"python-finland","pushed":"2012-09-11T10:35:47-07:00","username":"python-finland","description":"PyCon Finland website","created_at":"2011-07-16T11:38:08-07:00","watchers":5,"followers":5,"fork":false,"size":280,"created":"2011-07-16T11:38:08-07:00","name":"fi.pycon.org","private":false,"pushed_at":"2012-09-11T10:35:47-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"stefanv","pushed":"2012-09-11T11:53:01-07:00","username":"stefanv","description":"Image Processing SciKit (Toolbox for SciPy)","created_at":"2011-09-17T10:42:44-07:00","watchers":1,"followers":1,"fork":true,"size":180,"created":"2011-09-17T10:42:44-07:00","name":"scikits-image","private":false,"pushed_at":"2012-09-11T11:53:01-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"ahojnnes","pushed":"2012-09-11T13:02:36-07:00","username":"ahojnnes","description":"Image Processing SciKit (Toolbox for SciPy)","created_at":"2012-04-14T04:42:47-07:00","watchers":1,"followers":1,"fork":true,"size":452,"created":"2012-04-14T04:42:47-07:00","name":"scikits-image","private":false,"pushed_at":"2012-09-11T13:02:36-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"lanticezdd","pushed":"2012-09-11T10:03:18-07:00","username":"lanticezdd","description":"","created_at":"2012-06-28T13:20:42-07:00","watchers":1,"followers":1,"fork":false,"size":1208,"created":"2012-06-28T13:20:42-07:00","name":"uni","private":false,"pushed_at":"2012-09-11T10:03:18-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"vim-scripts","pushed":"2010-10-18T17:05:20-07:00","username":"vim-scripts","description":"Adds mako support to vim","created_at":"2010-10-18T17:05:04-07:00","watchers":1,"followers":1,"fork":false,"size":200,"created":"2010-10-18T17:05:04-07:00","name":"mako.vim","private":false,"pushed_at":"2010-10-18T17:05:20-07:00","language":"VimL"},{"type":"repo","forks":0,"owner":"lambacck","pushed":"2010-10-18T17:05:20-07:00","username":"lambacck","description":"Adds mako support to vim","created_at":"2012-09-11T10:27:26-07:00","watchers":0,"followers":0,"fork":true,"size":200,"created":"2012-09-11T10:27:26-07:00","name":"mako.vim","private":false,"pushed_at":"2010-10-18T17:05:20-07:00","language":"VimL"},{"type":"repo","forks":0,"owner":"squirly","pushed":"2012-09-11T10:30:04-07:00","username":"squirly","description":"A library that makes consuming a RESTful API easier and more convenient","created_at":"2012-09-06T16:41:58-07:00","watchers":0,"followers":0,"fork":true,"size":120,"created":"2012-09-06T16:41:58-07:00","name":"slumber","private":false,"pushed_at":"2012-09-11T10:30:04-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"triposorbust","pushed":"2012-09-11T10:32:17-07:00","username":"triposorbust","description":"\"All you need is love!\", but for now I'll settle for a bit of linear prediction...","created_at":"2012-08-09T17:53:28-07:00","watchers":1,"followers":1,"fork":false,"size":312,"created":"2012-08-09T17:53:28-07:00","name":"de-composer","private":false,"pushed_at":"2012-09-11T10:32:17-07:00","language":"Python"},{"type":"repo","forks":117,"owner":"creationix","pushed":"2012-08-22T11:32:50-07:00","username":"creationix","description":"Node Version Manager - Simple bash script to manage multiple active node.js versions","created_at":"2010-04-15T10:47:47-07:00","watchers":991,"followers":991,"fork":false,"size":148,"created":"2010-04-15T10:47:47-07:00","name":"nvm","private":false,"pushed_at":"2012-08-22T11:32:50-07:00","language":"Shell"},{"type":"repo","forks":0,"owner":"anandrjoshi","pushed":"2012-09-11T10:49:20-07:00","username":"anandrjoshi","description":"","created_at":"2012-09-10T15:00:18-07:00","watchers":0,"followers":0,"fork":true,"size":120,"created":"2012-09-10T15:00:18-07:00","name":"helloshopply","private":false,"pushed_at":"2012-09-11T10:49:20-07:00","language":"Python"},{"type":"repo","forks":1,"owner":"diegofer","pushed":"2012-09-11T10:58:29-07:00","username":"diegofer","description":"Repositorio de la Alianza en Colombia","created_at":"2012-06-30T23:30:36-07:00","watchers":1,"followers":1,"fork":false,"size":11080,"created":"2012-06-30T23:30:36-07:00","name":"Alianza","private":false,"pushed_at":"2012-09-11T10:58:29-07:00","language":"JavaScript"},{"type":"repo","forks":1,"owner":"julionc","pushed":"2012-09-11T11:00:51-07:00","username":"julionc","description":"My ~/.vim configuration files","created_at":"2011-11-01T15:31:38-07:00","watchers":3,"followers":3,"fork":false,"size":1612,"created":"2011-11-01T15:31:38-07:00","name":"vimfiles","private":false,"pushed_at":"2012-09-11T11:00:51-07:00","language":"VimL"},{"type":"repo","forks":11,"owner":"mozilla","pushed":"2012-09-11T11:31:45-07:00","username":"mozilla","description":"crash-stats.m.o web UI using playdoh (Mozilla's django-based framework)","created_at":"2012-05-10T18:30:29-07:00","watchers":12,"followers":12,"fork":false,"size":376,"created":"2012-05-10T18:30:29-07:00","name":"socorro-crashstats","private":false,"pushed_at":"2012-09-11T11:31:45-07:00","language":"Python"},{"type":"repo","forks":0,"owner":"tinawen","pushed":"2012-09-11T11:32:49-07:00","username":"tinawen","description":"","created_at":"2012-08-19T01:57:40-07:00","watchers":0,"followers":0,"fork":false,"size":1604,"created":"2012-08-19T01:57:40-07:00","name":"menu","private":false,"pushed_at":"2012-09-11T11:32:49-07:00","language":"Python"},{"type":"repo","forks":3,"owner":"Khan","pushed":"2012-09-11T11:42:11-07:00","username":"Khan","description":"Tools to analyze KA logs and other data","created_at":"2012-05-15T16:38:46-07:00","watchers":7,"followers":7,"fork":false,"size":492,"created":"2012-05-15T16:38:46-07:00","name":"analytics","private":false,"pushed_at":"2012-09-11T11:42:11-07:00","language":"Python"},{"type":"repo","forks":141,"owner":"Studio-42","pushed":"2012-09-11T11:54:59-07:00","username":"Studio-42","description":"Open-source file manager for web, written in JavaScript using jQuery and jQuery UI","created_at":"2010-11-19T10:05:06-08:00","watchers":620,"followers":620,"fork":false,"size":1009,"created":"2010-11-19T10:05:06-08:00","name":"elFinder","private":false,"pushed_at":"2012-09-11T11:54:59-07:00","language":"JavaScript"},{"type":"repo","forks":89,"owner":"basho","pushed":"2012-09-11T10:40:59-07:00","username":"basho","description":"Riak Wiki","created_at":"2010-12-27T09:42:36-08:00","watchers":155,"followers":155,"fork":false,"size":712,"created":"2010-12-27T09:42:36-08:00","name":"riak_wiki","private":false,"pushed_at":"2012-09-11T10:40:59-07:00","language":"JavaScript"},{"type":"repo","forks":5,"owner":"chrippa","pushed":"2012-09-11T12:02:30-07:00","username":"chrippa","description":"Livestreamer is a CLI program that launches streams from various streaming services (Twitch.tv, Own3d.tv etc) in a custom video player (VLC, mplayer etc)","created_at":"2011-08-14T19:38:37-07:00","watchers":48,"followers":48,"fork":false,"size":220,"created":"2011-08-14T19:38:37-07:00","name":"livestreamer","private":false,"pushed_at":"2012-09-11T12:02:30-07:00","language":"Python"},{"type":"repo","forks":6,"owner":"nowells","pushed":"2012-04-02T18:21:11-07:00","username":"nowells","description":"A series of GIT utilities to streamline working with remote branches and reviewing code. git-goggles can be thought of as \"git branch -a\" on steroids. You can install with \"[pip install | easy_install] git-goggles\" and then run \"git goggles\".","created_at":"2010-01-15T08:09:35-08:00","watchers":129,"followers":129,"fork":false,"size":128,"created":"2010-01-15T08:09:35-08:00","name":"git-goggles","private":false,"pushed_at":"2012-04-02T18:21:11-07:00","language":"Python"}]} - diff --git a/github/tests/ReplayData/Github.testLegacySearchReposPagination.txt b/github/tests/ReplayData/Github.testLegacySearchReposPagination.txt deleted file mode 100644 index 8563336..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchReposPagination.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/legacy/repos/search/document -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '62686'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"119efa369d825b108cebd210eb1381cb"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:52:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","created_at":"2008-07-23T07:21:26-07:00","score":240.037,"owner":"git","followers":2455,"open_issues":4,"organization":"git","created":"2008-07-23T07:21:26-07:00","homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","has_issues":false,"has_downloads":true,"language":"C","pushed_at":"2012-06-28T16:36:34-07:00","forks":619,"fork":false,"size":33656,"name":"git","url":"https://github.com/git/git","description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","private":false,"username":"git","pushed":"2012-06-28T16:36:34-07:00","watchers":2455,"has_wiki":false},{"type":"repo","created_at":"2011-06-09T08:01:53-07:00","score":160.90036,"owner":"jverkoey","followers":1643,"open_issues":17,"created":"2011-06-09T08:01:53-07:00","homepage":"nimbuskit.info","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-06-28T10:14:09-07:00","forks":190,"fork":false,"size":19296,"name":"nimbus","url":"https://github.com/jverkoey/nimbus","description":"The iOS framework whose growth is bounded by its documentation.","private":false,"username":"jverkoey","pushed":"2012-06-28T10:14:09-07:00","watchers":1643,"has_wiki":true},{"type":"repo","created_at":"2011-11-25T10:03:29-08:00","score":132.56409,"owner":"kneath","followers":1352,"open_issues":17,"created":"2011-11-25T10:03:29-08:00","homepage":"warpspire.com/kss","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-05-16T00:19:42-07:00","forks":68,"fork":false,"size":132,"name":"kss","url":"https://github.com/kneath/kss","description":"A methodology for documenting CSS and generating styleguides","private":false,"username":"kneath","pushed":"2012-05-16T00:19:42-07:00","watchers":1352,"has_wiki":false},{"type":"repo","created_at":"2010-08-19T12:17:22-07:00","score":121.16062,"owner":"samsoffes","followers":1237,"open_issues":36,"created":"2010-08-19T12:17:22-07:00","homepage":"http://sstoolk.it","has_issues":true,"master_branch":"master","has_downloads":true,"language":"Objective-C","pushed_at":"2012-06-14T22:25:20-07:00","forks":124,"fork":false,"size":460,"name":"sstoolkit","url":"https://github.com/samsoffes/sstoolkit","description":"A collection of well-documented iOS classes for making life easier","private":false,"username":"samsoffes","pushed":"2012-06-14T22:25:20-07:00","watchers":1237,"has_wiki":false},{"type":"repo","created_at":"2009-07-08T19:09:35-07:00","score":105.90017,"owner":"brianleroux","followers":1079,"open_issues":38,"created":"2009-07-08T19:09:35-07:00","homepage":"http://brianleroux.github.com/lawnchair","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-29T16:27:29-07:00","forks":132,"fork":false,"size":300,"name":"lawnchair","url":"https://github.com/brianleroux/lawnchair","description":"A lightweight clientside JSON document store,","private":false,"username":"brianleroux","pushed":"2012-05-29T16:27:29-07:00","watchers":1079,"has_wiki":true},{"type":"repo","created_at":"2009-04-24T00:19:31-07:00","score":91.45697,"owner":"tomaz","followers":932,"open_issues":50,"created":"2009-04-24T00:19:31-07:00","homepage":"http://gentlebytes.com","has_issues":true,"has_downloads":false,"language":"Objective-C","pushed_at":"2012-06-26T07:51:09-07:00","forks":79,"fork":false,"size":604,"name":"appledoc","url":"https://github.com/tomaz/appledoc","description":"Objective-c code Apple style documentation set generator.","private":false,"username":"tomaz","pushed":"2012-06-26T07:51:09-07:00","watchers":932,"has_wiki":false},{"type":"repo","created_at":"2011-12-21T08:16:30-08:00","score":85.80408,"owner":"appMobi","followers":876,"open_issues":4,"organization":"appMobi","created":"2011-12-21T08:16:30-08:00","homepage":"http://www.jqmobi.com","has_issues":false,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-22T06:25:09-07:00","forks":143,"fork":false,"size":5722,"name":"jQ.Mobi","url":"https://github.com/appMobi/jQ.Mobi","description":"HTML5 javascript libary for mobile application development. Find documentation and report bugs at http://www.jqmobi.com","private":false,"username":"appMobi","pushed":"2012-06-22T06:25:09-07:00","watchers":876,"has_wiki":true},{"type":"repo","created_at":"2010-05-09T21:46:06-07:00","score":81.79961,"owner":"ipython","followers":834,"open_issues":289,"organization":"ipython","created":"2010-05-09T21:46:06-07:00","integrate_branch":"master","homepage":"http://ipython.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T16:29:38-07:00","forks":282,"fork":false,"size":1204,"name":"ipython","url":"https://github.com/ipython/ipython","description":"Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.","private":false,"username":"ipython","pushed":"2012-06-28T16:29:38-07:00","watchers":834,"has_wiki":false},{"type":"repo","created_at":"2009-11-22T15:28:24-08:00","score":81.39696,"owner":"hmarr","followers":829,"open_issues":72,"created":"2009-11-22T15:28:24-08:00","integrate_branch":"dev","homepage":"http://mongoengine.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-23T14:24:37-07:00","forks":212,"fork":false,"size":376,"name":"mongoengine","url":"https://github.com/hmarr/mongoengine","description":"A Python Object-Document-Mapper for working with MongoDB","private":false,"username":"hmarr","pushed":"2012-06-23T14:24:37-07:00","watchers":829,"has_wiki":false},{"type":"repo","created_at":"2010-03-02T03:05:30-08:00","score":78.25956,"owner":"ravendb","followers":796,"open_issues":4,"created":"2010-03-02T03:05:30-08:00","homepage":"http://ayende.com/Blog/","has_issues":false,"has_downloads":true,"language":"C#","pushed_at":"2012-06-02T06:28:41-07:00","forks":225,"fork":false,"size":39524,"name":"ravendb","url":"https://github.com/ravendb/ravendb","description":"A linq enabled document database for .NET","private":false,"username":"ravendb","pushed":"2012-06-02T06:28:41-07:00","watchers":796,"has_wiki":true},{"type":"repo","created_at":"2010-10-27T12:03:38-07:00","score":75.14608,"owner":"substance","followers":765,"open_issues":73,"organization":"substance","created":"2010-10-27T12:03:38-07:00","homepage":"http://substance.io","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-17T22:44:44-07:00","forks":73,"fork":false,"size":156,"name":"substance","url":"https://github.com/substance/substance","description":"A data-driven and cloud-aware document authoring engine","private":false,"username":"substance","pushed":"2012-06-17T22:44:44-07:00","watchers":765,"has_wiki":true},{"type":"repo","created_at":"2010-02-17T00:43:51-08:00","score":74.91484,"owner":"symfony","followers":760,"open_issues":129,"organization":"symfony","created":"2010-02-17T00:43:51-08:00","homepage":"http://symfony.com/doc/2.0/","has_issues":true,"language":"","has_downloads":false,"pushed_at":"2012-06-25T20:52:42-07:00","forks":453,"fork":false,"size":972,"name":"symfony-docs","url":"https://github.com/symfony/symfony-docs","description":"The Symfony2 documentation","private":false,"username":"symfony","pushed":"2012-06-25T20:52:42-07:00","watchers":760,"has_wiki":false},{"type":"repo","created_at":"2011-01-04T06:41:31-08:00","score":67.442116,"owner":"BonsaiDen","followers":687,"open_issues":42,"created":"2011-01-04T06:41:31-08:00","integrate_branch":"master","homepage":"http://bonsaiden.github.com/JavaScript-Garden","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-06T08:43:43-07:00","forks":110,"fork":false,"size":220,"name":"JavaScript-Garden","url":"https://github.com/BonsaiDen/JavaScript-Garden","description":"A collection of documentation about the most quirky parts of the JavaScript language. ","private":false,"username":"BonsaiDen","pushed":"2012-05-06T08:43:43-07:00","watchers":687,"has_wiki":true},{"type":"repo","created_at":"2012-01-26T15:00:24-08:00","score":58.944824,"owner":"omz","followers":600,"open_issues":8,"created":"2012-01-26T15:00:24-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"C","pushed_at":"2012-06-01T16:09:06-07:00","forks":59,"fork":false,"size":1340,"name":"DocSets-for-iOS","url":"https://github.com/omz/DocSets-for-iOS","description":"Dedicated app for reading Apple's developer documentation on an iPad or iPhone","private":false,"username":"omz","pushed":"2012-06-01T16:09:06-07:00","watchers":600,"has_wiki":true},{"type":"repo","created_at":"2008-02-25T16:01:52-08:00","score":55.709747,"owner":"lsegal","followers":567,"open_issues":38,"created":"2008-02-25T16:01:52-08:00","homepage":"http://yardoc.org","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-16T09:53:09-07:00","forks":84,"fork":false,"size":492,"name":"yard","url":"https://github.com/lsegal/yard","description":"YARD is a Ruby Documentation tool. The Y stands for \"Yay!\"","private":false,"username":"lsegal","pushed":"2012-06-16T09:53:09-07:00","watchers":567,"has_wiki":true},{"type":"repo","created_at":"2010-07-07T05:07:55-07:00","score":54.990154,"owner":"phpDocumentor","followers":556,"open_issues":90,"organization":"phpDocumentor","created":"2010-07-07T05:07:55-07:00","homepage":"http://www.phpdoc.org","has_issues":true,"master_branch":"develop","has_downloads":true,"language":"PHP","pushed_at":"2012-06-26T13:24:59-07:00","forks":105,"fork":false,"size":1876,"name":"phpDocumentor2","url":"https://github.com/phpDocumentor/phpDocumentor2","description":"Documentation Generator for PHP ","private":false,"username":"phpDocumentor","pushed":"2012-06-26T13:24:59-07:00","watchers":556,"has_wiki":false},{"type":"repo","created_at":"2009-05-05T01:40:42-07:00","score":50.904995,"owner":"facebook","followers":518,"open_issues":12,"organization":"facebook","created":"2009-05-05T01:40:42-07:00","homepage":"http://www.phpsh.org/","has_issues":true,"has_downloads":true,"language":"Emacs Lisp","pushed_at":"2011-09-22T09:30:17-07:00","forks":46,"fork":false,"size":136,"name":"phpsh","url":"https://github.com/facebook/phpsh","description":"phpsh is a read-eval-print-loop for php that features readline history, tab completion, and quick access to documentation. It was developed at Facebook and ironically, is written mostly in python. It is open source and released under a modified BSD license.","private":false,"username":"facebook","pushed":"2011-09-22T09:30:17-07:00","watchers":518,"has_wiki":true},{"type":"repo","created_at":"2011-06-11T11:23:07-07:00","score":50.032917,"owner":"worrydream","followers":508,"open_issues":8,"created":"2011-06-11T11:23:07-07:00","homepage":"http://worrydream.com/Tangle/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-11-23T20:25:39-08:00","forks":51,"fork":false,"size":177,"name":"Tangle","url":"https://github.com/worrydream/Tangle","description":"a JavaScript library for reactive documents","private":false,"username":"worrydream","pushed":"2011-11-23T20:25:39-08:00","watchers":508,"has_wiki":true},{"type":"repo","created_at":"2010-01-23T13:54:00-08:00","score":49.520634,"owner":"fileability","followers":500,"open_issues":32,"created":"2010-01-23T13:54:00-08:00","homepage":"http://fileability.net/ingredients/","has_issues":true,"has_downloads":true,"language":"C","pushed_at":"2012-04-22T16:07:21-07:00","forks":41,"fork":false,"size":184,"name":"Ingredients","url":"https://github.com/fileability/Ingredients","description":"A Cocoa documentation viewer.","private":false,"username":"fileability","pushed":"2012-04-22T16:07:21-07:00","watchers":500,"has_wiki":true},{"type":"repo","created_at":"2010-02-23T08:16:13-08:00","score":48.653572,"owner":"jupiterjs","followers":492,"open_issues":6,"organization":"jupiterjs","created":"2010-02-23T08:16:13-08:00","homepage":"http://javascriptmvc.com","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-12T13:25:49-07:00","forks":385,"fork":false,"size":6631,"name":"documentjs","url":"https://github.com/jupiterjs/documentjs","description":"A powerful documentation engine for JS","private":false,"username":"jupiterjs","pushed":"2012-06-12T13:25:49-07:00","watchers":492,"has_wiki":true},{"type":"repo","created_at":"2010-01-07T12:20:02-08:00","score":48.5918,"owner":"facebook","followers":494,"open_issues":16,"organization":"facebook","created":"2010-01-07T12:20:02-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-02-15T10:53:21-08:00","forks":44,"fork":false,"size":224,"name":"xhp","url":"https://github.com/facebook/xhp","description":"XHP is a PHP extension which augments the syntax of the language such that XML document fragments become valid PHP expressions.","private":false,"username":"facebook","pushed":"2012-02-15T10:53:21-08:00","watchers":494,"has_wiki":true},{"type":"repo","created_at":"2009-01-25T07:37:12-08:00","score":47.90811,"owner":"rnewson","followers":487,"open_issues":38,"created":"2009-01-25T07:37:12-08:00","integrate_branch":"master","homepage":"http://rnewson.github.com/couchdb-lucene/","has_issues":true,"has_downloads":true,"language":"Java","pushed_at":"2012-06-20T05:20:03-07:00","forks":63,"fork":false,"size":167262,"name":"couchdb-lucene","url":"https://github.com/rnewson/couchdb-lucene","description":"Enables full-text searching of CouchDB documents using Lucene","private":false,"username":"rnewson","pushed":"2012-06-20T05:20:03-07:00","watchers":487,"has_wiki":false},{"type":"repo","created_at":"2010-06-23T15:54:55-07:00","score":45.259056,"owner":"visionmedia","followers":459,"open_issues":31,"created":"2010-06-23T15:54:55-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-18T07:55:53-07:00","forks":44,"fork":false,"size":176,"name":"dox","url":"https://github.com/visionmedia/dox","description":"JavaScript documentation generator for node using markdown and jsdoc","private":false,"username":"visionmedia","pushed":"2012-05-18T07:55:53-07:00","watchers":459,"has_wiki":true},{"type":"repo","created_at":"2011-11-30T07:30:13-08:00","score":44.361103,"owner":"magento","followers":452,"open_issues":1,"organization":"magento","created":"2011-11-30T07:30:13-08:00","homepage":"http://www.magento.com","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-21T11:48:36-07:00","forks":79,"fork":false,"size":1952,"name":"magento2","url":"https://github.com/magento/magento2","description":"Magento 2 is currently at development stage. The information contained herein is subject to change without notice and is not warranted to be error-free. The software and documentation provided WITHOUT ANY WARRANTY and it is NOT intended for commercial applications and may be used at your own risk. ","private":false,"username":"magento","pushed":"2012-06-21T11:48:36-07:00","watchers":452,"has_wiki":false},{"type":"repo","created_at":"2010-02-10T16:19:31-08:00","score":42.82927,"owner":"jupiterjs","followers":435,"open_issues":8,"organization":"jupiterjs","created":"2010-02-10T16:19:31-08:00","homepage":"http://javascriptmvc.com","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-04-20T12:12:28-07:00","forks":78,"fork":false,"size":540704,"name":"javascriptmvc","url":"https://github.com/jupiterjs/javascriptmvc","description":"The framework containing StealJS, FuncUnit, jQueryMX, and DocumentJS.","private":false,"username":"jupiterjs","pushed":"2012-04-20T12:12:28-07:00","watchers":435,"has_wiki":true},{"type":"repo","created_at":"2010-10-27T02:28:44-07:00","score":42.34092,"owner":"mobfarm","followers":430,"open_issues":9,"organization":"mobfarm","created":"2010-10-27T02:28:44-07:00","homepage":"http://fastpdfkit.com","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-06-28T03:12:58-07:00","forks":72,"fork":false,"size":163332,"name":"FastPdfKit","url":"https://github.com/mobfarm/FastPdfKit","description":"A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF","private":false,"username":"mobfarm","pushed":"2012-06-28T03:12:58-07:00","watchers":430,"has_wiki":true},{"type":"repo","created_at":"2011-01-01T10:22:16-08:00","score":41.65723,"owner":"apotonick","followers":423,"open_issues":3,"created":"2011-01-01T10:22:16-08:00","homepage":"http://roar.apotomo.de","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-22T01:23:58-07:00","forks":35,"fork":false,"size":152,"name":"roar","url":"https://github.com/apotonick/roar","description":"Resource-oriented architectures in Ruby. Roar focuses on object-oriented REST documents.","private":false,"username":"apotonick","pushed":"2012-06-22T01:23:58-07:00","watchers":423,"has_wiki":true},{"type":"repo","created_at":"2012-01-22T09:41:35-08:00","score":40.684464,"owner":"jeromegn","followers":372,"open_issues":11,"created":"2012-01-22T09:41:35-08:00","homepage":"http://documentup.com","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-13T14:06:55-07:00","forks":32,"fork":false,"size":196,"name":"DocumentUp","url":"https://github.com/jeromegn/DocumentUp","description":"Pretty documentation generator for Github projects with proper Readme.","private":false,"username":"jeromegn","pushed":"2012-05-13T14:06:55-07:00","watchers":372,"has_wiki":true},{"type":"repo","created_at":"2010-01-30T19:01:50-08:00","score":40.05166,"owner":"atheken","followers":407,"open_issues":47,"created":"2010-01-30T19:01:50-08:00","integrate_branch":"unstable","homepage":"","has_issues":true,"has_downloads":true,"language":"C#","pushed_at":"2012-03-08T07:36:16-08:00","forks":81,"fork":false,"size":1996,"name":"NoRM","url":"https://github.com/atheken/NoRM","description":"NoRM is a MongoDB driver for .Net designed to provide access to strongly/statically-typed documents and collections.","private":false,"username":"atheken","pushed":"2012-03-08T07:36:16-08:00","watchers":407,"has_wiki":true},{"type":"repo","created_at":"2010-03-13T01:18:03-08:00","score":39.191544,"owner":"jsdoc3","followers":396,"open_issues":6,"organization":"jsdoc3","created":"2010-03-13T01:18:03-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-27T14:10:20-07:00","forks":66,"fork":false,"size":368,"name":"jsdoc","url":"https://github.com/jsdoc3/jsdoc","description":"An automatic documentation generator for JavaScript.","private":false,"username":"jsdoc3","pushed":"2012-06-27T14:10:20-07:00","watchers":396,"has_wiki":false},{"type":"repo","created_at":"2011-05-05T11:59:49-07:00","score":38.422153,"owner":"apresta","followers":389,"open_issues":2,"created":"2011-05-05T11:59:49-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-11T05:43:52-07:00","forks":19,"fork":false,"size":140,"name":"tagger","url":"https://github.com/apresta/tagger","description":"A Python module for extracting relevant tags from text documents.","private":false,"username":"apresta","pushed":"2011-08-11T05:43:52-07:00","watchers":389,"has_wiki":true},{"type":"repo","created_at":"2009-08-02T14:55:59-07:00","score":35.40635,"owner":"samus","followers":359,"open_issues":6,"created":"2009-08-02T14:55:59-07:00","homepage":"","has_issues":false,"master_branch":"master","has_downloads":true,"language":"C#","pushed_at":"2010-09-20T20:00:13-07:00","forks":66,"fork":false,"size":4629,"name":"mongodb-csharp","url":"https://github.com/samus/mongodb-csharp","description":"A driver written in c# to connect to the MongoDB document oriented database.","private":false,"username":"samus","pushed":"2010-09-20T20:00:13-07:00","watchers":359,"has_wiki":true},{"type":"repo","created_at":"2010-02-13T03:26:52-08:00","score":35.16816,"owner":"ornicar","followers":357,"open_issues":5,"created":"2010-02-13T03:26:52-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-13T13:33:59-07:00","forks":68,"fork":false,"size":168,"name":"php-github-api","url":"https://github.com/ornicar/php-github-api","description":"A simple PHP GitHub API client, Object Oriented, tested and documented. For PHP 5.1 to 5.3.","private":false,"username":"ornicar","pushed":"2012-06-13T13:33:59-07:00","watchers":357,"has_wiki":false},{"type":"repo","created_at":"2012-01-04T14:23:26-08:00","score":34.80836,"owner":"PharkMillups","followers":353,"open_issues":3,"created":"2012-01-04T14:23:26-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-05-29T21:45:59-07:00","forks":40,"fork":false,"size":156,"name":"beautiful-docs","url":"https://github.com/PharkMillups/beautiful-docs","description":"Pointers to useful, well-written, and otherwise beautiful documentation.","private":false,"username":"PharkMillups","pushed":"2012-05-29T21:45:59-07:00","watchers":353,"has_wiki":true},{"type":"repo","created_at":"2010-05-20T13:20:00-07:00","score":33.147972,"owner":"doctrine","followers":335,"open_issues":41,"organization":"doctrine","created":"2010-05-20T13:20:00-07:00","homepage":"http://www.doctrine-project.org/projects/mongodb_odm","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-28T10:37:20-07:00","forks":125,"fork":false,"size":956,"name":"mongodb-odm","url":"https://github.com/doctrine/mongodb-odm","description":"Doctrine MongoDB Object Document Mapper (ODM)","private":false,"username":"doctrine","pushed":"2012-06-28T10:37:20-07:00","watchers":335,"has_wiki":true},{"type":"repo","created_at":"2011-07-29T09:02:42-07:00","score":32.23304,"owner":"mashery","followers":323,"open_issues":23,"organization":"mashery","created":"2011-07-29T09:02:42-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-03T10:42:05-07:00","forks":64,"fork":false,"size":132,"name":"iodocs","url":"https://github.com/mashery/iodocs","description":"Interactive API documentation system","private":false,"username":"mashery","pushed":"2012-05-03T10:42:05-07:00","watchers":323,"has_wiki":true},{"type":"repo","created_at":"2011-03-20T19:44:09-07:00","score":32.18324,"owner":"daveray","followers":326,"open_issues":17,"created":"2011-03-20T19:44:09-07:00","integrate_branch":"develop","homepage":"https://groups.google.com/group/seesaw-clj","has_issues":true,"master_branch":"develop","has_downloads":true,"language":"Clojure","pushed_at":"2012-05-23T18:09:13-07:00","forks":36,"fork":false,"size":310,"name":"seesaw","url":"https://github.com/daveray/seesaw","description":"Seesaw turns the Horror of Swing into a friendly, well-documented, Clojure library","private":false,"username":"daveray","pushed":"2012-05-23T18:09:13-07:00","watchers":326,"has_wiki":true},{"type":"repo","created_at":"2012-03-24T02:45:34-07:00","score":29.607916,"owner":"37signals","followers":297,"open_issues":16,"organization":"37signals","created":"2012-03-24T02:45:34-07:00","homepage":"http://basecamp.com","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-05-31T12:56:06-07:00","forks":34,"fork":false,"size":196,"name":"bcx-api","url":"https://github.com/37signals/bcx-api","description":"API documentation and wrappers for the new Basecamp","private":false,"username":"37signals","pushed":"2012-05-31T12:56:06-07:00","watchers":297,"has_wiki":true},{"type":"repo","created_at":"2011-04-26T12:20:56-07:00","score":29.314905,"owner":"github","followers":294,"open_issues":1,"organization":"github","created":"2011-04-26T12:20:56-07:00","homepage":"http://developer.github.com","has_issues":false,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-27T18:26:50-07:00","forks":139,"fork":false,"size":344,"name":"developer.github.com","url":"https://github.com/github/developer.github.com","description":"GitHub API documentation","private":false,"username":"github","pushed":"2012-06-27T18:26:50-07:00","watchers":294,"has_wiki":false},{"type":"repo","created_at":"2011-01-07T02:14:40-08:00","score":28.202702,"owner":"ruby-amqp","followers":287,"open_issues":6,"organization":"ruby-amqp","created":"2011-01-07T02:14:40-08:00","homepage":"http://rubyamqp.info","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-22T21:00:13-07:00","forks":86,"fork":false,"size":184,"name":"amqp","url":"https://github.com/ruby-amqp/amqp","description":"Ruby amqp gem is a widely used, feature-rich, well-maintained, fast asynchronous AMQP 0.9.1 Ruby client with batteries included. Get started in an instant: http://bit.ly/jcuACj, all documentation guides are at http://bit.ly/amqp-gem-docs, API reference is at http://bit.ly/mDm1JE — we do care about the docs!","private":false,"username":"ruby-amqp","pushed":"2012-06-22T21:00:13-07:00","watchers":287,"has_wiki":false},{"type":"repo","created_at":"2009-12-03T12:01:23-08:00","score":26.103762,"owner":"documentcloud","followers":262,"open_issues":14,"organization":"documentcloud","created":"2009-12-03T12:01:23-08:00","homepage":"http://documentcloud.github.com/docsplit/","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-14T08:55:07-07:00","forks":56,"fork":false,"size":144,"name":"docsplit","url":"https://github.com/documentcloud/docsplit","description":"Break Apart Documents into Images, Text, Pages and PDFs","private":false,"username":"documentcloud","pushed":"2012-06-14T08:55:07-07:00","watchers":262,"has_wiki":false},{"type":"repo","created_at":"2010-06-29T00:02:31-07:00","score":25.798784,"owner":"fitzgen","followers":259,"open_issues":13,"created":"2010-06-29T00:02:31-07:00","homepage":"http://fitzgen.github.com/pycco/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-23T16:07:26-07:00","forks":61,"fork":false,"size":156,"name":"pycco","url":"https://github.com/fitzgen/pycco","description":"Literate-style documentation generator.","private":false,"username":"fitzgen","pushed":"2012-06-23T16:07:26-07:00","watchers":259,"has_wiki":true},{"type":"repo","created_at":"2012-05-13T00:47:34-07:00","score":25.2367,"owner":"LearnProgramming","followers":253,"open_issues":2,"organization":"LearnProgramming","created":"2012-05-13T00:47:34-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-27T14:12:15-07:00","forks":43,"fork":false,"size":168,"name":"standards-and-practices","url":"https://github.com/LearnProgramming/standards-and-practices","description":"A collection of documents outlining what it is that we intend to do.","private":false,"username":"LearnProgramming","pushed":"2012-06-27T14:12:15-07:00","watchers":253,"has_wiki":true},{"type":"repo","created_at":"2011-11-16T23:11:35-08:00","score":24.736382,"owner":"w3c","followers":248,"open_issues":0,"organization":"w3c","created":"2011-11-16T23:11:35-08:00","homepage":"http://w3c.github.com/tidy-html5/","has_issues":true,"has_downloads":true,"language":"C","pushed_at":"2012-06-26T20:01:02-07:00","forks":29,"fork":false,"size":152,"name":"tidy-html5","url":"https://github.com/w3c/tidy-html5","description":"Experimental fork of Tidy for HTML5 documents","private":false,"username":"w3c","pushed":"2012-06-26T20:01:02-07:00","watchers":248,"has_wiki":true},{"type":"repo","created_at":"2010-09-16T08:34:02-07:00","score":23.295265,"owner":"antirez","followers":235,"open_issues":33,"created":"2010-09-16T08:34:02-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-25T11:52:53-07:00","forks":96,"fork":false,"size":308,"name":"redis-doc","url":"https://github.com/antirez/redis-doc","description":"Redis documentation source code for markdown and metadata files, conversion scripts, and so forth","private":false,"username":"antirez","pushed":"2012-06-25T11:52:53-07:00","watchers":235,"has_wiki":true},{"type":"repo","created_at":"2010-04-06T17:07:00-07:00","score":22.306599,"owner":"mojombo","followers":224,"open_issues":7,"created":"2010-04-06T17:07:00-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-05-07T21:15:09-07:00","forks":22,"fork":false,"size":144,"name":"tomdoc","url":"https://github.com/mojombo/tomdoc","description":"A flexible code documentation specification with human readers in mind.","private":false,"username":"mojombo","pushed":"2012-05-07T21:15:09-07:00","watchers":224,"has_wiki":true},{"type":"repo","created_at":"2010-11-01T06:16:49-07:00","score":20.707977,"owner":"fuel","followers":205,"open_issues":10,"organization":"fuel","created":"2010-11-01T06:16:49-07:00","integrate_branch":"1.1/develop","homepage":"http://fuelphp.com/docs","has_issues":true,"master_branch":"1.3/develop","has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-24T16:10:10-07:00","forks":130,"fork":false,"size":316,"name":"docs","url":"https://github.com/fuel/docs","description":"Documentation for FuelPHP","private":false,"username":"fuel","pushed":"2012-06-24T16:10:10-07:00","watchers":205,"has_wiki":false},{"type":"repo","created_at":"2008-12-20T07:46:07-08:00","score":20.572474,"owner":"wbond","followers":208,"open_issues":1,"created":"2008-12-20T07:46:07-08:00","homepage":"http://flourishlib.com","has_issues":false,"has_downloads":false,"language":"PHP","pushed_at":"2012-01-12T10:40:08-08:00","forks":26,"fork":false,"size":444,"name":"flourish","url":"https://github.com/wbond/flourish","description":"Flourish is a PHP unframework — a general-purpose, object-oriented library. It's architecture is modular and thus not strictly MVC. It focuses on being secure, broadly compatible, portable, well documented and easy to use.","private":false,"username":"wbond","pushed":"2012-01-12T10:40:08-08:00","watchers":208,"has_wiki":false},{"type":"repo","created_at":"2009-09-06T19:21:55-07:00","score":20.536572,"owner":"kohana","followers":205,"open_issues":9,"organization":"kohana","created":"2009-09-06T19:21:55-07:00","integrate_branch":"3.1/develop","homepage":"http://kohanaphp.com/","has_issues":false,"master_branch":"3.2/master","has_downloads":false,"language":"PHP","pushed_at":"2012-06-25T18:09:29-07:00","forks":108,"fork":false,"size":452,"name":"userguide","url":"https://github.com/kohana/userguide","description":"Kohana user guide and live API documentation module","private":false,"username":"kohana","pushed":"2012-06-25T18:09:29-07:00","watchers":205,"has_wiki":false},{"type":"repo","created_at":"2011-07-15T15:56:39-07:00","score":19.986452,"owner":"wordnik","followers":202,"open_issues":10,"organization":"wordnik","created":"2011-07-15T15:56:39-07:00","homepage":"http://swagger.wordnik.com","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-28T13:12:36-07:00","forks":47,"fork":false,"size":357,"name":"swagger-ui","url":"https://github.com/wordnik/swagger-ui","description":"Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.","private":false,"username":"wordnik","pushed":"2012-06-28T13:12:36-07:00","watchers":202,"has_wiki":true},{"type":"repo","created_at":"2011-08-29T02:14:46-07:00","score":19.474169,"owner":"mislav","followers":195,"open_issues":10,"created":"2011-08-29T02:14:46-07:00","homepage":"http://pretty-rfc.herokuapp.com/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-24T03:27:53-07:00","forks":8,"fork":false,"size":302,"name":"rfc","url":"https://github.com/mislav/rfc","description":"Pretty RFC indexes and reformats RFC documents for easier discovery and viewing.","private":false,"username":"mislav","pushed":"2012-05-24T03:27:53-07:00","watchers":195,"has_wiki":true},{"type":"repo","created_at":"2012-04-03T14:50:25-07:00","score":19.4622,"owner":"mattetti","followers":194,"open_issues":4,"created":"2012-04-03T14:50:25-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-05-24T08:57:33-07:00","forks":9,"fork":false,"size":168,"name":"Weasel-Diesel","url":"https://github.com/mattetti/Weasel-Diesel","description":"DSL to describe, document and test web services","private":false,"username":"mattetti","pushed":"2012-05-24T08:57:33-07:00","watchers":194,"has_wiki":true},{"type":"repo","created_at":"2008-12-04T18:26:02-08:00","score":18.363897,"owner":"yui","followers":181,"open_issues":8,"organization":"yui","created":"2008-12-04T18:26:02-08:00","homepage":"http://yui.github.com/yuidoc","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-07T12:22:17-07:00","forks":36,"fork":false,"size":392,"name":"yuidoc","url":"https://github.com/yui/yuidoc","description":"YUI Javascript Documentation Tool","private":false,"username":"yui","pushed":"2012-06-07T12:22:17-07:00","watchers":181,"has_wiki":false},{"type":"repo","created_at":"2011-02-26T12:23:53-08:00","score":18.192492,"owner":"apigen","followers":181,"open_issues":31,"organization":"apigen","created":"2011-02-26T12:23:53-08:00","integrate_branch":"develop","homepage":"http://apigen.org","has_issues":true,"master_branch":"develop","has_downloads":true,"language":"PHP","pushed_at":"2012-06-03T14:34:45-07:00","forks":33,"fork":false,"size":21078,"name":"apigen","url":"https://github.com/apigen/apigen","description":"API documentation generator for PHP 5.3+","private":false,"username":"apigen","pushed":"2012-06-03T14:34:45-07:00","watchers":181,"has_wiki":false},{"type":"repo","created_at":"2010-06-01T18:58:32-07:00","score":18.026733,"owner":"NYTimes","followers":140,"open_issues":6,"organization":"NYTimes","created":"2010-06-01T18:58:32-07:00","homepage":"http://open.blogs.nytimes.com/2010/03/27/a-new-view-introducing-doc-viewer-2-0/","has_issues":true,"master_branch":"frontend","has_downloads":true,"language":"JavaScript","pushed_at":"2010-07-07T11:18:04-07:00","forks":45,"fork":false,"size":6352,"name":"document-viewer","url":"https://github.com/NYTimes/document-viewer","description":"The NYTimes Document Viewer","private":false,"username":"NYTimes","pushed":"2010-07-07T11:18:04-07:00","watchers":140,"has_wiki":true},{"type":"repo","created_at":"2009-02-17T15:51:23-08:00","score":17.985184,"owner":"github","followers":178,"open_issues":44,"organization":"github","created":"2009-02-17T15:51:23-08:00","homepage":"http://develop.github.com","has_issues":true,"master_branch":"gh-pages","has_downloads":false,"language":"JavaScript","pushed_at":"2012-03-27T00:08:29-07:00","forks":61,"fork":false,"size":424,"name":"develop.github.com","url":"https://github.com/github/develop.github.com","description":"API Documentation for GitHub","private":false,"username":"github","pushed":"2012-03-27T00:08:29-07:00","watchers":178,"has_wiki":false},{"type":"repo","created_at":"2010-02-04T12:07:16-08:00","score":17.928259,"owner":"coen-hyde","followers":179,"open_issues":24,"created":"2010-02-04T12:07:16-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-17T11:18:14-07:00","forks":47,"fork":false,"size":240,"name":"Shanty-Mongo","url":"https://github.com/coen-hyde/Shanty-Mongo","description":"Shanty Mongo is a mongodb library for the Zend Framework. Its intention is to make working with mongodb documents as natural and as simple as possible. In particular allowing embedded documents to also have custom document classes.","private":false,"username":"coen-hyde","pushed":"2012-06-17T11:18:14-07:00","watchers":179,"has_wiki":true},{"type":"repo","created_at":"2012-02-28T03:21:21-08:00","score":17.501852,"owner":"exalted","followers":177,"open_issues":4,"created":"2012-02-28T03:21:21-08:00","homepage":"http://www.pittle.org/","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-06-27T07:29:43-07:00","forks":18,"fork":false,"size":168,"name":"PTShowcaseViewController","url":"https://github.com/exalted/PTShowcaseViewController","description":"An initial implementation of a \"showcase\" view( controller) for iOS apps... Visualizes images, videos and PDF files beautifully! (by @pittleorg) [meta: image, photo, video, document, pdf, album, gallery, showcase, gallery, iOS, iPhone, iPad, component, library, viewer]","private":false,"username":"exalted","pushed":"2012-06-27T07:29:43-07:00","watchers":177,"has_wiki":true},{"type":"repo","created_at":"2009-09-01T12:10:29-07:00","score":17.142056,"owner":"mdeering","followers":172,"open_issues":1,"created":"2009-09-01T12:10:29-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-24T09:55:45-07:00","forks":10,"fork":false,"size":192,"name":"gravatar_image_tag","url":"https://github.com/mdeering/gravatar_image_tag","description":"A configurable and documented Rail view helper for adding gravatars into your Rails application","private":false,"username":"mdeering","pushed":"2012-06-24T09:55:45-07:00","watchers":172,"has_wiki":true},{"type":"repo","created_at":"2011-06-10T11:54:25-07:00","score":17.106153,"owner":"Blizzard","followers":169,"open_issues":2,"organization":"Blizzard","created":"2011-06-10T11:54:25-07:00","homepage":"http://blizzard.github.com/api-wow-docs/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-29T10:05:31-07:00","forks":14,"fork":false,"size":220,"name":"api-wow-docs","url":"https://github.com/Blizzard/api-wow-docs","description":"Documentation for the World of Warcraft web APIs.","private":false,"username":"Blizzard","pushed":"2012-05-29T10:05:31-07:00","watchers":169,"has_wiki":false},{"type":"repo","created_at":"2010-07-25T09:03:41-07:00","score":16.544067,"owner":"benedikt","followers":165,"open_issues":0,"created":"2010-07-25T09:03:41-07:00","homepage":"http://benedikt.github.com/mongoid-tree","has_issues":true,"has_downloads":false,"language":"Ruby","pushed_at":"2012-06-03T15:17:03-07:00","forks":35,"fork":false,"size":132,"name":"mongoid-tree","url":"https://github.com/benedikt/mongoid-tree","description":"A tree structure for Mongoid documents using the materialized path pattern","private":false,"username":"benedikt","pushed":"2012-06-03T15:17:03-07:00","watchers":165,"has_wiki":true},{"type":"repo","created_at":"2010-06-13T19:11:39-07:00","score":16.067684,"owner":"rfletcher","followers":161,"open_issues":7,"created":"2010-06-13T19:11:39-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-02-26T12:28:11-08:00","forks":16,"fork":false,"size":118,"name":"safari-json-formatter","url":"https://github.com/rfletcher/safari-json-formatter","description":"A Safari extension which makes valid JSON documents human-readable.","private":false,"username":"rfletcher","pushed":"2012-02-26T12:28:11-08:00","watchers":161,"has_wiki":true},{"type":"repo","created_at":"2011-02-03T08:37:15-08:00","score":15.89314,"owner":"rosarior","followers":159,"open_issues":8,"created":"2011-02-03T08:37:15-08:00","homepage":"http://www.mayan-edms.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T14:11:59-07:00","forks":31,"fork":false,"size":204,"name":"mayan","url":"https://github.com/rosarior/mayan","description":"Open source, Django based DMS (document management system) with custom metadata indexing, file serving integration, OCR capabilities, document versioning and electronic signature verification.","private":false,"username":"rosarior","pushed":"2012-06-28T14:11:59-07:00","watchers":159,"has_wiki":true},{"type":"repo","created_at":"2010-04-05T15:03:29-07:00","score":15.098347,"owner":"doctrine","followers":110,"open_issues":13,"organization":"doctrine","created":"2010-04-05T15:03:29-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T06:52:05-07:00","forks":79,"fork":false,"size":224,"name":"orm-documentation","url":"https://github.com/doctrine/orm-documentation","description":"Doctrine documentation","private":false,"username":"doctrine","pushed":"2012-06-28T06:52:05-07:00","watchers":110,"has_wiki":true},{"type":"repo","created_at":"2010-09-23T02:34:18-07:00","score":15.06705,"owner":"jsfiddle","followers":149,"open_issues":81,"organization":"jsfiddle","created":"2010-09-23T02:34:18-07:00","homepage":"doc.jsfiddle.net","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-31T04:44:25-07:00","forks":36,"fork":false,"size":132,"name":"jsfiddle-docs-alpha","url":"https://github.com/jsfiddle/jsfiddle-docs-alpha","description":"End user documentation for jsFiddle","private":false,"username":"jsfiddle","pushed":"2012-05-31T04:44:25-07:00","watchers":149,"has_wiki":true},{"type":"repo","created_at":"2010-08-05T12:41:31-07:00","score":14.786007,"owner":"weld","followers":147,"open_issues":6,"organization":"weld","created":"2010-08-05T12:41:31-07:00","homepage":"http://www.seamframework.org/Weld","has_issues":false,"master_branch":"master","has_downloads":false,"language":"Java","pushed_at":"2012-06-29T04:18:42-07:00","forks":87,"fork":false,"size":832,"name":"core","url":"https://github.com/weld/core","description":"Weld, including integrations for Servlet containers and Java SE, examples and documentation","private":false,"username":"weld","pushed":"2012-06-29T04:18:42-07:00","watchers":147,"has_wiki":false},{"type":"repo","created_at":"2011-11-30T02:09:35-08:00","score":14.652436,"owner":"documentcloud","followers":143,"open_issues":16,"organization":"documentcloud","created":"2011-11-30T02:09:35-08:00","homepage":"http://www.documentcloud.org","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-28T15:17:54-07:00","forks":24,"fork":false,"size":204,"name":"documentcloud","url":"https://github.com/documentcloud/documentcloud","description":"The DocumentCloud platform","private":false,"username":"documentcloud","pushed":"2012-06-28T15:17:54-07:00","watchers":143,"has_wiki":true},{"type":"repo","created_at":"2011-07-27T11:37:58-07:00","score":14.614601,"owner":"gre","followers":147,"open_issues":3,"created":"2011-07-27T11:37:58-07:00","homepage":"http://demo.greweb.fr/flexible-nav/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-11-10T13:05:11-08:00","forks":15,"fork":false,"size":141,"name":"flexible-nav","url":"https://github.com/gre/flexible-nav","description":"Improve your navigation experience - this jQuery lib improves a webpage navigation and helps to visualize different sections. of a document, an article,.. any web page.","private":false,"username":"gre","pushed":"2011-11-10T13:05:11-08:00","watchers":147,"has_wiki":true},{"type":"repo","created_at":"2009-11-24T17:50:29-08:00","score":14.614601,"owner":"iamnoah","followers":147,"open_issues":2,"created":"2009-11-24T17:50:29-08:00","homepage":"http://iamnoah.github.com/writeCapture","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-05-29T18:39:07-07:00","forks":21,"fork":false,"size":279,"name":"writeCapture","url":"https://github.com/iamnoah/writeCapture","description":"Utility to assist the Ajax loading of HTML containing script tags that use document.write. Mailing List: http://groups.google.com/group/writecapturejs-users","private":false,"username":"iamnoah","pushed":"2012-05-29T18:39:07-07:00","watchers":147,"has_wiki":true},{"type":"repo","created_at":"2012-02-02T07:48:33-08:00","score":14.18802,"owner":"readium","followers":140,"open_issues":46,"created":"2012-02-02T07:48:33-08:00","homepage":"http://readium.org","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-28T15:40:55-07:00","forks":31,"fork":false,"size":832,"name":"readium","url":"https://github.com/readium/readium","description":"Readium: open source library for handling EPUB documents","private":false,"username":"readium","pushed":"2012-06-28T15:40:55-07:00","watchers":140,"has_wiki":true},{"type":"repo","created_at":"2011-01-20T09:04:50-08:00","score":14.102317,"owner":"nfarina","followers":140,"open_issues":0,"created":"2011-01-20T09:04:50-08:00","homepage":"http://nfarina.com/post/2843708636/a-lightweight-xml-parser-for-ios","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-04-30T14:23:33-07:00","forks":9,"fork":false,"size":164,"name":"xmldocument","url":"https://github.com/nfarina/xmldocument","description":"A lightweight XML Document class for iOS.","private":false,"username":"nfarina","pushed":"2012-04-30T14:23:33-07:00","watchers":140,"has_wiki":true},{"type":"repo","created_at":"2010-12-06T10:42:17-08:00","score":14.015406,"owner":"appcelerator","followers":99,"open_issues":1,"organization":"appcelerator","created":"2010-12-06T10:42:17-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-10-13T15:45:24-07:00","forks":20,"fork":false,"size":3472,"name":"Documentation-Examples","url":"https://github.com/appcelerator/Documentation-Examples","description":"","private":false,"username":"appcelerator","pushed":"2011-10-13T15:45:24-07:00","watchers":99,"has_wiki":true},{"type":"repo","created_at":"2010-02-10T15:59:05-08:00","score":13.99268,"owner":"grails","followers":138,"open_issues":3,"organization":"grails","created":"2010-02-10T15:59:05-08:00","homepage":"http://grails.org/doc/latest/","has_issues":true,"has_downloads":true,"language":"Groovy","pushed_at":"2012-06-27T06:26:26-07:00","forks":95,"fork":false,"size":216,"name":"grails-doc","url":"https://github.com/grails/grails-doc","description":"Documentation Project For The Grails Web Application Framework","private":false,"username":"grails","pushed":"2012-06-27T06:26:26-07:00","watchers":138,"has_wiki":true},{"type":"repo","created_at":"2009-01-29T00:22:07-08:00","score":13.821274,"owner":"astraw","followers":138,"open_issues":19,"created":"2009-01-29T00:22:07-08:00","homepage":"http://pypi.python.org/pypi/stdeb","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-07-30T02:08:17-07:00","forks":24,"fork":false,"size":1176,"name":"stdeb","url":"https://github.com/astraw/stdeb","description":"produces Debian source packages from Python packages (see README.rst for full documentation)","private":false,"username":"astraw","pushed":"2010-07-30T02:08:17-07:00","watchers":138,"has_wiki":false},{"type":"repo","created_at":"2012-01-11T14:29:55-08:00","score":13.79734,"owner":"Netflix","followers":136,"open_issues":1,"organization":"Netflix","created":"2012-01-11T14:29:55-08:00","homepage":"https://github.com/Netflix/aws-autoscaling/wiki","has_issues":true,"has_downloads":true,"language":"Shell","pushed_at":"2012-01-12T15:03:28-08:00","forks":13,"fork":false,"size":124,"name":"aws-autoscaling","url":"https://github.com/Netflix/aws-autoscaling","description":"Tools and Documentation about using Auto Scaling","private":false,"username":"Netflix","pushed":"2012-01-12T15:03:28-08:00","watchers":136,"has_wiki":true},{"type":"repo","created_at":"2010-09-01T05:52:55-07:00","score":13.680753,"owner":"vinova","followers":137,"open_issues":15,"organization":"vinova","created":"2010-09-01T05:52:55-07:00","homepage":"github.com/vinova/voteable_benchmarks","has_issues":true,"has_downloads":false,"language":"Ruby","pushed_at":"2011-10-19T06:24:52-07:00","forks":29,"fork":false,"size":3084,"name":"voteable_mongo","url":"https://github.com/vinova/voteable_mongo","description":"Add up / down voteability to Mongoid and MongoMapper documents. Optimized for speed by using only ONE request to validate, update, and retrieve updated data.","private":false,"username":"vinova","pushed":"2011-10-19T06:24:52-07:00","watchers":137,"has_wiki":true},{"type":"repo","created_at":"2010-01-16T04:42:25-08:00","score":13.516297,"owner":"kmuto","followers":134,"open_issues":34,"created":"2010-01-16T04:42:25-08:00","homepage":"https://svn.github.com/kmuto/review or https://kmuto.jp/svn/review/trunk","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-24T09:23:10-07:00","forks":21,"fork":false,"size":236,"name":"review","url":"https://github.com/kmuto/review","description":"ReVIEW is flexible document format/conversion system","private":false,"username":"kmuto","pushed":"2012-06-24T09:23:10-07:00","watchers":134,"has_wiki":true},{"type":"repo","created_at":"2009-04-06T13:18:23-07:00","score":13.418627,"owner":"10to1","followers":133,"open_issues":0,"organization":"10to1","created":"2009-04-06T13:18:23-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-04-04T09:19:56-07:00","forks":12,"fork":false,"size":168,"name":"spreadsheet_on_rails","url":"https://github.com/10to1/spreadsheet_on_rails","description":"A Rails plugin to generate xls documents by using rxls templates.","private":false,"username":"10to1","pushed":"2012-04-04T09:19:56-07:00","watchers":133,"has_wiki":true},{"type":"repo","created_at":"2010-02-18T12:27:48-08:00","score":13.182137,"owner":"uliwitness","followers":96,"open_issues":0,"created":"2010-02-18T12:27:48-08:00","homepage":"http://www.zathras.de/sourcecode.htm","has_issues":false,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-02-05T04:20:24-08:00","forks":6,"fork":false,"size":168,"name":"UKSyntaxColoredTextDocument","url":"https://github.com/uliwitness/UKSyntaxColoredTextDocument","description":"An NSViewController (and optional document class) that implements syntax coloring and code editing-related features in an NSTextView.","private":false,"username":"uliwitness","pushed":"2012-02-05T04:20:24-08:00","watchers":96,"has_wiki":false},{"type":"repo","created_at":"2011-03-13T13:21:49-07:00","score":13.137584,"owner":"mandango","followers":131,"open_issues":7,"organization":"mandango","created":"2011-03-13T13:21:49-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-08T04:23:38-07:00","forks":17,"fork":false,"size":156,"name":"mandango","url":"https://github.com/mandango/mandango","description":"Mandango is a simple, poweful and ultrafast Object Document Mapper (ODM) for PHP and MongoDB.","private":false,"username":"mandango","pushed":"2012-06-08T04:23:38-07:00","watchers":131,"has_wiki":true},{"type":"repo","created_at":"2009-03-28T22:10:17-07:00","score":13.101683,"owner":"rmanalan","followers":128,"open_issues":5,"created":"2009-03-28T22:10:17-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2011-11-10T12:18:27-08:00","forks":12,"fork":false,"size":1044,"name":"bdoc","url":"https://github.com/rmanalan/bdoc","description":"Your local gem documentation browser","private":false,"username":"rmanalan","pushed":"2011-11-10T12:18:27-08:00","watchers":128,"has_wiki":false},{"type":"repo","created_at":"2010-11-04T22:26:15-07:00","score":13.0933,"owner":"movabletype","followers":45,"open_issues":0,"organization":"movabletype","created":"2010-11-04T22:26:15-07:00","homepage":"http://www.movabletype.org/","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-01-26T21:35:15-08:00","forks":5,"fork":false,"size":156,"name":"Documentation","url":"https://github.com/movabletype/Documentation","description":"Managing Movable Type documentation projects.","private":false,"username":"movabletype","pushed":"2012-01-26T21:35:15-08:00","watchers":45,"has_wiki":true},{"type":"repo","created_at":"2009-04-01T04:33:13-07:00","score":12.745697,"owner":"jessegrosjean","followers":86,"open_issues":1,"created":"2009-04-01T04:33:13-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-11-03T10:06:54-07:00","forks":12,"fork":false,"size":120,"name":"documents.com","url":"https://github.com/jessegrosjean/documents.com","description":"","private":false,"username":"jessegrosjean","pushed":"2011-11-03T10:06:54-07:00","watchers":86,"has_wiki":true},{"type":"repo","created_at":"2008-12-12T08:32:50-08:00","score":12.572359,"owner":"shairontoledo","followers":125,"open_issues":3,"created":"2008-12-12T08:32:50-08:00","integrate_branch":"master","homepage":"http://rghost.rubyforge.org","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-04-23T08:21:04-07:00","forks":17,"fork":false,"size":148,"name":"rghost","url":"https://github.com/shairontoledo/rghost","description":"RGhost is a document creation and conversion API. It uses the Ghostscript framework for the format conversion, utilizes EPS templates and is optimized to work with larger documents. Support(PDF,PS,GIF,TIF,PNG,JPG,etc)","private":false,"username":"shairontoledo","pushed":"2012-04-23T08:21:04-07:00","watchers":125,"has_wiki":true},{"type":"repo","created_at":"2009-12-30T23:40:28-08:00","score":12.453894,"owner":"leesmith","followers":124,"open_issues":5,"created":"2009-12-30T23:40:28-08:00","homepage":"http://appogee.posterous.com/ticketmule","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-05-16T19:51:01-07:00","forks":33,"fork":false,"size":144,"name":"ticket_mule","url":"https://github.com/leesmith/ticket_mule","description":"No frills, general use support ticket tracking. Easily document and communicate client relations within a support team.","private":false,"username":"leesmith","pushed":"2012-05-16T19:51:01-07:00","watchers":124,"has_wiki":true},{"type":"repo","created_at":"2010-11-02T18:42:33-07:00","score":12.441927,"owner":"vendo","followers":123,"open_issues":2,"organization":"vendo","created":"2010-11-02T18:42:33-07:00","homepage":"","has_issues":true,"master_branch":"develop","has_downloads":true,"language":"PHP","pushed_at":"2011-09-07T05:10:19-07:00","forks":17,"fork":false,"size":124,"name":"vendo","url":"https://github.com/vendo/vendo","description":"General documentation and sample files for Vendo e-commerce framework","private":false,"username":"vendo","pushed":"2011-09-07T05:10:19-07:00","watchers":123,"has_wiki":true},{"type":"repo","created_at":"2011-06-01T12:16:56-07:00","score":12.344256,"owner":"Khan","followers":122,"open_issues":8,"organization":"Khan","created":"2011-06-01T12:16:56-07:00","homepage":"http://www.khanacademy.org","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-02-27T11:44:11-08:00","forks":19,"fork":false,"size":124,"name":"khan-api","url":"https://github.com/Khan/khan-api","description":"Documentation for (and examples of) using the Khan Academy API ","private":false,"username":"Khan","pushed":"2012-02-27T11:44:11-08:00","watchers":122,"has_wiki":true},{"type":"repo","created_at":"2010-11-11T13:21:37-08:00","score":12.012239,"owner":"SpringSource","followers":84,"open_issues":2,"organization":"SpringSource","created":"2010-11-11T13:21:37-08:00","homepage":"http://www.springsource.org/spring-data","has_issues":true,"has_downloads":true,"language":"Java","pushed_at":"2011-09-07T04:45:54-07:00","forks":29,"fork":false,"size":148,"name":"spring-data-document-examples","url":"https://github.com/SpringSource/spring-data-document-examples","description":"Examples using Spring Data Document features","private":false,"username":"SpringSource","pushed":"2011-09-07T04:45:54-07:00","watchers":84,"has_wiki":true},{"type":"repo","created_at":"2011-11-15T08:12:21-08:00","score":11.871808,"owner":"zipmark","followers":77,"open_issues":6,"organization":"zipmark","created":"2011-11-15T08:12:21-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-05T06:53:03-07:00","forks":15,"fork":false,"size":204,"name":"rspec_api_documentation","url":"https://github.com/zipmark/rspec_api_documentation","description":"Automatically generate API documentation from RSpec","private":false,"username":"zipmark","pushed":"2012-06-05T06:53:03-07:00","watchers":77,"has_wiki":true},{"type":"repo","created_at":"2011-11-20T06:15:45-08:00","score":11.794138,"owner":"randym","followers":119,"open_issues":5,"created":"2011-11-20T06:15:45-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-27T20:57:36-07:00","forks":17,"fork":false,"size":41736,"name":"axlsx","url":"https://github.com/randym/axlsx","description":" xlsx generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.","private":false,"username":"randym","pushed":"2012-06-27T20:57:36-07:00","watchers":119,"has_wiki":true},{"type":"repo","created_at":"2010-09-26T14:42:53-07:00","score":11.574863,"owner":"theseer","followers":115,"open_issues":17,"created":"2010-09-26T14:42:53-07:00","homepage":"http://phpdox.de","has_issues":true,"has_downloads":false,"language":"PHP","pushed_at":"2012-02-25T10:57:19-08:00","forks":21,"fork":false,"size":136,"name":"phpdox","url":"https://github.com/theseer/phpdox","description":"Documentation generator for PHP Code using standard technology (SRC, DOCBLOCK, XML and XSLT)","private":false,"username":"theseer","pushed":"2012-02-25T10:57:19-08:00","watchers":115,"has_wiki":false},{"type":"repo","created_at":"2010-10-04T08:50:42-07:00","score":11.533151,"owner":"croogo","followers":29,"open_issues":0,"organization":"croogo","created":"2010-10-04T08:50:42-07:00","homepage":"http://wiki.croogo.org/","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-27T05:39:32-07:00","forks":21,"fork":false,"size":144,"name":"documentation","url":"https://github.com/croogo/documentation","description":"Documentation for Croogo","private":false,"username":"croogo","pushed":"2012-06-27T05:39:32-07:00","watchers":29,"has_wiki":true},{"type":"repo","created_at":"2012-05-15T04:20:10-07:00","score":11.526996,"owner":"fabpot","followers":111,"open_issues":9,"created":"2012-05-15T04:20:10-07:00","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-24T23:37:25-07:00","forks":13,"fork":false,"size":156,"name":"Sami","url":"https://github.com/fabpot/Sami","description":"An API documentation generator","private":false,"username":"fabpot","pushed":"2012-06-24T23:37:25-07:00","watchers":111,"has_wiki":false},{"type":"repo","created_at":"2010-04-04T14:36:21-07:00","score":11.379523,"owner":"jdbartlett","followers":113,"open_issues":0,"created":"2010-04-04T14:36:21-07:00","homepage":"http://jdbartlett.github.com/innershiv","has_issues":false,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-12-22T06:54:27-08:00","forks":21,"fork":false,"size":160,"name":"innershiv","url":"https://github.com/jdbartlett/innershiv","description":"a workaround for HTML 5 via innerHTML outside the document in IE","private":false,"username":"jdbartlett","pushed":"2011-12-22T06:54:27-08:00","watchers":113,"has_wiki":false},{"type":"repo","created_at":"2009-02-02T00:34:22-08:00","score":11.184184,"owner":"mattball","followers":111,"open_issues":6,"created":"2009-02-02T00:34:22-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-10-19T12:45:49-07:00","forks":8,"fork":false,"size":1372,"name":"doxyclean","url":"https://github.com/mattball/doxyclean","description":"A script to convert Doxygen output to resemble Apple's AppKit documentation","private":false,"username":"mattball","pushed":"2011-10-19T12:45:49-07:00","watchers":111,"has_wiki":true},{"type":"repo","created_at":"2011-04-21T04:19:55-07:00","score":11.1339,"owner":"chenshuo","followers":25,"open_issues":0,"created":"2011-04-21T04:19:55-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-04-21T04:20:40-07:00","forks":3,"fork":false,"size":6794,"name":"documents","url":"https://github.com/chenshuo/documents","description":"","private":false,"username":"chenshuo","pushed":"2011-04-21T04:20:40-07:00","watchers":25,"has_wiki":true},{"type":"repo","created_at":"2010-02-27T10:51:22-08:00","score":11.038645,"owner":"wayneeseguin","followers":106,"open_issues":3,"created":"2010-02-27T10:51:22-08:00","homepage":"http://rvm.beginrescueend.com","has_issues":true,"has_downloads":false,"language":"JavaScript","pushed_at":"2012-06-28T23:00:06-07:00","forks":84,"fork":false,"size":260,"name":"rvm-site","url":"https://github.com/wayneeseguin/rvm-site","description":"RVM website and documentation","private":false,"username":"wayneeseguin","pushed":"2012-06-28T23:00:06-07:00","watchers":106,"has_wiki":false},{"type":"repo","created_at":"2010-01-30T05:23:40-08:00","score":10.976876,"owner":"mustardamus","followers":108,"open_issues":6,"created":"2010-01-30T05:23:40-08:00","homepage":"http://jqapi.com/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-01-13T08:23:17-08:00","forks":73,"fork":false,"size":3349,"name":"jqapi","url":"https://github.com/mustardamus/jqapi","description":"jQAPI - Alternative jQuery Documentation","private":false,"username":"mustardamus","pushed":"2012-01-13T08:23:17-08:00","watchers":108,"has_wiki":true},{"type":"repo","created_at":"2010-01-25T05:15:01-08:00","score":10.845175,"owner":"onesocialweb","followers":22,"open_issues":0,"created":"2010-01-25T05:15:01-08:00","homepage":"http://onesocialweb.org","has_issues":false,"has_downloads":false,"language":"Shell","pushed_at":"2011-04-13T05:25:34-07:00","forks":5,"fork":false,"size":136,"name":"documentation","url":"https://github.com/onesocialweb/documentation","description":"All working documents, standards, data model, protocol extensions, etc.","private":false,"username":"onesocialweb","pushed":"2011-04-13T05:25:34-07:00","watchers":22,"has_wiki":false},{"type":"repo","created_at":"2009-10-17T18:25:29-07:00","score":10.598164,"owner":"bwhite","followers":105,"open_issues":37,"created":"2009-10-17T18:25:29-07:00","homepage":"www.hadoopy.com","has_issues":true,"has_downloads":true,"language":"C","pushed_at":"2012-06-27T13:01:38-07:00","forks":13,"fork":false,"size":156,"name":"hadoopy","url":"https://github.com/bwhite/hadoopy","description":"Python MapReduce library written in Cython. Visit us in #hadoopy on freenode. See the link below for documentation and tutorials.","private":false,"username":"bwhite","pushed":"2012-06-27T13:01:38-07:00","watchers":105,"has_wiki":false}]} - -https -GET -api.github.com -None -/legacy/repos/search/document?start_page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '56821'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7a429048f738479a3828adfd641228c6"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:52:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","created_at":"2011-12-01T14:18:22-08:00","score":10.500494,"owner":"dustin10","followers":104,"open_issues":15,"created":"2011-12-01T14:18:22-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-03-22T07:27:47-07:00","forks":24,"fork":false,"size":128,"name":"VichUploaderBundle","url":"https://github.com/dustin10/VichUploaderBundle","description":"A simple Symfony2 bundle to ease file uploads with ORM entities and ODM documents.","private":false,"username":"dustin10","pushed":"2012-03-22T07:27:47-07:00","watchers":104,"has_wiki":false},{"type":"repo","created_at":"2008-04-07T17:29:47-07:00","score":10.47656,"owner":"tobie","followers":102,"open_issues":2,"created":"2008-04-07T17:29:47-07:00","homepage":"http://pdoc.org","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2011-08-31T02:50:14-07:00","forks":17,"fork":false,"size":220,"name":"pdoc","url":"https://github.com/tobie/pdoc","description":"JavaScript inline documentation parser","private":false,"username":"tobie","pushed":"2011-08-31T02:50:14-07:00","watchers":102,"has_wiki":false},{"type":"repo","created_at":"2010-09-12T12:15:07-07:00","score":10.257012,"owner":"josegonzalez","followers":16,"open_issues":0,"created":"2010-09-12T12:15:07-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-02-22T16:46:05-08:00","forks":3,"fork":false,"size":164,"name":"documentation","url":"https://github.com/josegonzalez/documentation","description":"An INCOMPLETE re-implementation of the CakePHP documentation as a series of tutorials. CakePHP 1.3 ONLY. Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License","private":false,"username":"josegonzalez","pushed":"2012-02-22T16:46:05-08:00","watchers":16,"has_wiki":true},{"type":"repo","created_at":"2011-07-10T00:14:54-07:00","score":10.207483,"owner":"ryanmcgrath","followers":101,"open_issues":0,"created":"2011-07-10T00:14:54-07:00","homepage":"http://venodesigns.net/wii/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-10-28T01:24:03-07:00","forks":5,"fork":false,"size":120,"name":"wii-js","url":"https://github.com/ryanmcgrath/wii-js","description":"A sane, documented, (hopefully) performant event-based library for Wiimote webpage interaction.","private":false,"username":"ryanmcgrath","pushed":"2011-10-28T01:24:03-07:00","watchers":101,"has_wiki":true},{"type":"repo","created_at":"2012-04-08T18:02:57-07:00","score":10.183549,"owner":"cloudfoundry","followers":99,"open_issues":1,"organization":"cloudfoundry","created":"2012-04-08T18:02:57-07:00","homepage":"http://cloudfoundry.org","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-26T22:45:56-07:00","forks":18,"fork":false,"size":232,"name":"oss-docs","url":"https://github.com/cloudfoundry/oss-docs","description":"Documentation for the Cloud Foundry Platform as a Service","private":false,"username":"cloudfoundry","pushed":"2012-06-26T22:45:56-07:00","watchers":99,"has_wiki":true},{"type":"repo","created_at":"2008-05-31T14:02:12-07:00","score":10.164632,"owner":"davidB","followers":101,"open_issues":18,"created":"2008-05-31T14:02:12-07:00","homepage":"http://davidb.github.com/scala-maven-plugin/","has_issues":true,"has_downloads":false,"language":"Java","pushed_at":"2012-06-29T00:35:06-07:00","forks":28,"fork":false,"size":208,"name":"scala-maven-plugin","url":"https://github.com/davidB/scala-maven-plugin","description":"The scala-maven-plugin (previously maven-scala-plugin) is used for compiling/testing/running/documenting scala code in maven.","private":false,"username":"davidB","pushed":"2012-06-29T00:35:06-07:00","watchers":101,"has_wiki":true},{"type":"repo","created_at":"2010-11-29T17:07:24-08:00","score":10.1572,"owner":"tpetricek","followers":15,"open_issues":0,"created":"2010-11-29T17:07:24-08:00","homepage":"http://tomasp.net/blog","has_issues":true,"has_downloads":true,"language":"F#","pushed_at":"2012-06-26T15:17:29-07:00","forks":3,"fork":false,"size":6960,"name":"Documents","url":"https://github.com/tpetricek/Documents","description":"Includes samples for my blog posts, source code and slides for my talks and other resources.","private":false,"username":"tpetricek","pushed":"2012-06-26T15:17:29-07:00","watchers":15,"has_wiki":true},{"type":"repo","created_at":"2010-01-01T15:23:02-08:00","score":10.063814,"owner":"symphonists","followers":14,"open_issues":2,"organization":"symphonists","created":"2010-01-01T15:23:02-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-05-18T09:20:36-07:00","forks":7,"fork":false,"size":208,"name":"documenter","url":"https://github.com/symphonists/documenter","description":"Symphony extension that allows users to add documentation to back-end pages","private":false,"username":"symphonists","pushed":"2012-05-18T09:20:36-07:00","watchers":14,"has_wiki":true},{"type":"repo","created_at":"2010-06-15T09:39:09-07:00","score":10.012143,"owner":"DigitalPebble","followers":99,"open_issues":12,"organization":"DigitalPebble","created":"2010-06-15T09:39:09-07:00","homepage":"","has_issues":true,"has_downloads":false,"language":"Java","pushed_at":"2012-06-28T05:59:52-07:00","forks":14,"fork":false,"size":200,"name":"behemoth","url":"https://github.com/DigitalPebble/behemoth","description":"Behemoth is an open source platform for large scale document analysis based on Apache Hadoop.","private":false,"username":"DigitalPebble","pushed":"2012-06-28T05:59:52-07:00","watchers":99,"has_wiki":true},{"type":"repo","created_at":"2012-02-14T00:57:11-08:00","score":9.966145,"owner":"locomotivecms","followers":13,"open_issues":2,"organization":"locomotivecms","created":"2012-02-14T00:57:11-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-28T05:30:46-07:00","forks":11,"fork":false,"size":196,"name":"documentation","url":"https://github.com/locomotivecms/documentation","description":"The website sources about the new LocomotiveCMS documentation \"center\"","private":false,"username":"locomotivecms","pushed":"2012-06-28T05:30:46-07:00","watchers":13,"has_wiki":true},{"type":"repo","created_at":"2012-05-23T17:31:03-07:00","score":9.96186,"owner":"eucalyptus","followers":13,"open_issues":0,"organization":"eucalyptus","created":"2012-05-23T17:31:03-07:00","has_issues":true,"has_downloads":true,"language":"Prolog","pushed_at":"2012-06-27T10:41:21-07:00","forks":9,"fork":false,"size":372,"name":"documentation","url":"https://github.com/eucalyptus/documentation","description":"","private":false,"username":"eucalyptus","pushed":"2012-06-27T10:41:21-07:00","watchers":13,"has_wiki":true},{"type":"repo","created_at":"2011-08-22T16:39:11-07:00","score":9.940341,"owner":"propelorm","followers":93,"open_issues":6,"organization":"propelorm","created":"2011-08-22T16:39:11-07:00","homepage":"http://www.propelorm.org/","has_issues":true,"master_branch":"master","has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-27T06:49:38-07:00","forks":67,"fork":false,"size":236,"name":"propelorm.github.com","url":"https://github.com/propelorm/propelorm.github.com","description":"The Propel documentation.","private":false,"username":"propelorm","pushed":"2012-06-27T06:49:38-07:00","watchers":93,"has_wiki":false},{"type":"repo","created_at":"2011-06-20T12:36:30-07:00","score":9.92644,"owner":"kobold2d","followers":99,"open_issues":0,"organization":"kobold2d","created":"2011-06-20T12:36:30-07:00","integrate_branch":"develop","homepage":"http://www.kobold2d.com","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-03-24T14:21:10-07:00","forks":6,"fork":false,"size":112,"name":"Kobold2D","url":"https://github.com/kobold2d/Kobold2D","description":"Bringing Order to Cocos2D Chaos and Complexity. Kobold2D is open source, all-inclusive, ARC enabled, documented. For iOS and Mac OS X.","private":false,"username":"kobold2d","pushed":"2012-03-24T14:21:10-07:00","watchers":99,"has_wiki":true},{"type":"repo","created_at":"2011-06-12T19:11:35-07:00","score":9.918407,"owner":"vladocar","followers":57,"open_issues":1,"created":"2011-06-12T19:11:35-07:00","homepage":"http://www.vcarrer.com","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-09-18T08:09:13-07:00","forks":2,"fork":false,"size":172,"name":"AutoObjectDocumentation","url":"https://github.com/vladocar/AutoObjectDocumentation","description":"Auto Object Documentation - JavaScript","private":false,"username":"vladocar","pushed":"2011-09-18T08:09:13-07:00","watchers":57,"has_wiki":true},{"type":"repo","created_at":"2010-04-29T20:23:55-07:00","score":9.871622,"owner":"jwage","followers":98,"open_issues":2,"created":"2010-04-29T20:23:55-07:00","homepage":"http://www.twitter.com/jwage","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2011-06-27T08:36:05-07:00","forks":27,"fork":false,"size":224,"name":"php-mongodb-admin","url":"https://github.com/jwage/php-mongodb-admin","description":"A PHP MongoDB Admin script for managing databases, collections and documents from a standalone easy to use script.","private":false,"username":"jwage","pushed":"2011-06-27T08:36:05-07:00","watchers":98,"has_wiki":true},{"type":"repo","created_at":"2010-02-26T05:48:00-08:00","score":9.816803,"owner":"peterbe","followers":97,"open_issues":2,"created":"2010-02-26T05:48:00-08:00","integrate_branch":"master","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-09-01T07:58:42-07:00","forks":10,"fork":false,"size":488,"name":"django-mongokit","url":"https://github.com/peterbe/django-mongokit","description":"Bridging Django to MongoDB with the MongoKit ODM (Object Document Mapper)","private":false,"username":"peterbe","pushed":"2011-09-01T07:58:42-07:00","watchers":97,"has_wiki":true},{"type":"repo","created_at":"2010-09-14T12:30:19-07:00","score":9.768935,"owner":"puppetlabs","followers":93,"open_issues":0,"organization":"puppetlabs","created":"2010-09-14T12:30:19-07:00","homepage":"","has_issues":false,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-27T14:16:41-07:00","forks":73,"fork":false,"size":404,"name":"puppet-docs","url":"https://github.com/puppetlabs/puppet-docs","description":"Curated Puppet Documentation","private":false,"username":"puppetlabs","pushed":"2012-06-27T14:16:41-07:00","watchers":93,"has_wiki":true},{"type":"repo","created_at":"2011-07-16T08:54:08-07:00","score":9.671265,"owner":"laravel","followers":92,"open_issues":25,"organization":"laravel","created":"2011-07-16T08:54:08-07:00","homepage":"http://laravel.com","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-19T05:19:16-07:00","forks":53,"fork":false,"size":256,"name":"docs","url":"https://github.com/laravel/docs","description":"The Laravel Framework Documentation.","private":false,"username":"laravel","pushed":"2012-06-19T05:19:16-07:00","watchers":92,"has_wiki":false},{"type":"repo","created_at":"2012-04-24T14:59:39-07:00","score":9.668849,"owner":"zetacomponents","followers":10,"open_issues":1,"organization":"zetacomponents","created":"2012-04-24T14:59:39-07:00","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-05-21T02:55:50-07:00","forks":2,"fork":false,"size":128,"name":"Document","url":"https://github.com/zetacomponents/Document","description":"","private":false,"username":"zetacomponents","pushed":"2012-05-21T02:55:50-07:00","watchers":10,"has_wiki":true},{"type":"repo","created_at":"2011-12-12T21:52:00-08:00","score":9.597529,"owner":"grosser","followers":93,"open_issues":4,"created":"2011-12-12T21:52:00-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-04-06T09:26:19-07:00","forks":10,"fork":false,"size":144,"name":"vendorer","url":"https://github.com/grosser/vendorer","description":"Vendorer keeps your dependencies documented and up to date","private":false,"username":"grosser","pushed":"2012-04-06T09:26:19-07:00","watchers":93,"has_wiki":true},{"type":"repo","created_at":"2010-04-02T00:25:34-07:00","score":9.597529,"owner":"symfony","followers":93,"open_issues":1,"organization":"symfony","created":"2010-04-02T00:25:34-07:00","homepage":"http://www.symfony-project.org/","has_issues":false,"has_downloads":false,"language":"PHP","pushed_at":"2012-06-26T06:41:18-07:00","forks":50,"fork":false,"size":420,"name":"symfony1-docs","url":"https://github.com/symfony/symfony1-docs","description":"Documentation for symfony 1.3/1.4","private":false,"username":"symfony","pushed":"2012-06-26T06:41:18-07:00","watchers":93,"has_wiki":false},{"type":"repo","created_at":"2010-03-10T12:11:20-08:00","score":9.523793,"owner":"rtomayko","followers":94,"open_issues":8,"created":"2010-03-10T12:11:20-08:00","homepage":"http://rtomayko.github.com/shocco/","has_issues":true,"has_downloads":true,"language":"Perl","pushed_at":"2011-12-10T07:09:17-08:00","forks":17,"fork":false,"size":256,"name":"shocco","url":"https://github.com/rtomayko/shocco","description":"shocco is a quick-and-dirty, literate-programming-style documentation generator for / in POSIX shell","private":false,"username":"rtomayko","pushed":"2011-12-10T07:09:17-08:00","watchers":94,"has_wiki":true},{"type":"repo","created_at":"2010-06-21T18:18:23-07:00","score":9.480366,"owner":"swganh","followers":8,"open_issues":0,"created":"2010-06-21T18:18:23-07:00","homepage":"http://www.swganh.com","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2010-12-10T11:48:02-08:00","forks":3,"fork":false,"size":296,"name":"documentation","url":"https://github.com/swganh/documentation","description":"SWG:ANH - Documentation","private":false,"username":"swganh","pushed":"2010-12-10T11:48:02-08:00","watchers":8,"has_wiki":true},{"type":"repo","created_at":"2012-03-27T20:50:52-07:00","score":9.414156,"owner":"visionmedia","followers":92,"open_issues":5,"created":"2012-03-27T20:50:52-07:00","homepage":"http://visionmedia.github.com/jog ","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-04-15T09:58:56-07:00","forks":9,"fork":false,"size":192,"name":"jog","url":"https://github.com/visionmedia/jog","description":"JSON document logging & reporting inspired by loggly for node.js","private":false,"username":"visionmedia","pushed":"2012-04-15T09:58:56-07:00","watchers":92,"has_wiki":true},{"type":"repo","created_at":"2011-09-23T13:57:35-07:00","score":9.304519,"owner":"mongodb","followers":90,"open_issues":0,"organization":"mongodb","created":"2011-09-23T13:57:35-07:00","homepage":"http://docs.mongodb.org","has_issues":false,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T13:04:39-07:00","forks":58,"fork":false,"size":676,"name":"docs","url":"https://github.com/mongodb/docs","description":"The MongoDB Documentation Project Source.","private":false,"username":"mongodb","pushed":"2012-06-28T13:04:39-07:00","watchers":90,"has_wiki":false},{"type":"repo","created_at":"2011-05-07T17:05:20-07:00","score":9.285026,"owner":"HumMod","followers":6,"open_issues":0,"organization":"HumMod","created":"2011-05-07T17:05:20-07:00","homepage":"","has_issues":true,"master_branch":"gh-pages","language":"","has_downloads":true,"pushed_at":"2011-08-10T06:23:09-07:00","forks":4,"fork":false,"size":900,"name":"documentation","url":"https://github.com/HumMod/documentation","description":"The HumMod documentation.","private":false,"username":"HumMod","pushed":"2011-08-10T06:23:09-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2010-10-02T13:36:38-07:00","score":9.285026,"owner":"londonhackspace","followers":7,"open_issues":0,"organization":"londonhackspace","created":"2010-10-02T13:36:38-07:00","homepage":"","has_issues":false,"language":"","has_downloads":false,"pushed_at":"2012-01-10T17:54:22-08:00","forks":2,"fork":false,"size":108,"name":"documentation","url":"https://github.com/londonhackspace/documentation","description":"London Hackspace's legal documentation","private":false,"username":"londonhackspace","pushed":"2012-01-10T17:54:22-08:00","watchers":7,"has_wiki":false},{"type":"repo","created_at":"2012-04-18T12:35:38-07:00","score":9.285026,"owner":"enStratus","followers":6,"open_issues":1,"organization":"enStratus","created":"2012-04-18T12:35:38-07:00","homepage":"http://docs.enstratus.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-12T20:17:53-07:00","forks":2,"fork":false,"size":376,"name":"documentation","url":"https://github.com/enStratus/documentation","description":"enStratus Documentation","private":false,"username":"enStratus","pushed":"2012-06-12T20:17:53-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2011-03-29T10:32:53-07:00","score":9.285026,"owner":"citation-style-language","followers":6,"open_issues":4,"organization":"citation-style-language","created":"2011-03-29T10:32:53-07:00","homepage":"http://citationstyles.org/","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-27T18:42:14-07:00","forks":4,"fork":false,"size":188,"name":"documentation","url":"https://github.com/citation-style-language/documentation","description":"Citation Style Language documentation","private":false,"username":"citation-style-language","pushed":"2012-06-27T18:42:14-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2011-12-01T09:58:56-08:00","score":9.283312,"owner":"Sylius","followers":6,"open_issues":0,"organization":"Sylius","created":"2011-12-01T09:58:56-08:00","homepage":"Sylius.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-13T02:36:33-07:00","forks":2,"fork":false,"size":136,"name":"Documentation","url":"https://github.com/Sylius/Documentation","description":"Official documentation repository, hosted on readthedocs.org.","private":false,"username":"Sylius","pushed":"2012-05-13T02:36:33-07:00","watchers":6,"has_wiki":false},{"type":"repo","created_at":"2011-10-27T12:22:20-07:00","score":9.2824545,"owner":"phpbb","followers":6,"open_issues":4,"organization":"phpbb","created":"2011-10-27T12:22:20-07:00","homepage":"http://www.phpbb.com","has_issues":true,"has_downloads":true,"language":"Shell","pushed_at":"2011-10-27T12:24:35-07:00","forks":7,"fork":false,"size":6680,"name":"documentation","url":"https://github.com/phpbb/documentation","description":"Documentation for end-users: board visitors, moderators and administrators","private":false,"username":"phpbb","pushed":"2011-10-27T12:24:35-07:00","watchers":6,"has_wiki":false},{"type":"repo","created_at":"2011-11-26T19:17:09-08:00","score":9.27817,"owner":"panada","followers":6,"open_issues":0,"created":"2011-11-26T19:17:09-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-25T05:05:38-07:00","forks":6,"fork":false,"size":260,"name":"documentation","url":"https://github.com/panada/documentation","description":"","private":false,"username":"panada","pushed":"2012-06-25T05:05:38-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2009-12-25T01:41:27-08:00","score":9.238146,"owner":"sebastianbergmann","followers":50,"open_issues":10,"created":"2009-12-25T01:41:27-08:00","homepage":"http://www.phpunit.de/","has_issues":true,"has_downloads":false,"language":"JavaScript","pushed_at":"2012-06-20T20:04:57-07:00","forks":36,"fork":false,"size":184,"name":"phpunit-documentation","url":"https://github.com/sebastianbergmann/phpunit-documentation","description":"Documentation for PHPUnit.","private":false,"username":"sebastianbergmann","pushed":"2012-06-20T20:04:57-07:00","watchers":50,"has_wiki":false},{"type":"repo","created_at":"2009-10-08T12:58:28-07:00","score":9.218816,"owner":"coordt","followers":90,"open_issues":4,"created":"2009-10-08T12:58:28-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-02-17T09:44:35-08:00","forks":12,"fork":false,"size":188,"name":"ADCtheme","url":"https://github.com/coordt/ADCtheme","description":"A Sphinx theme that formats documentation like the Apple Developer Connection","private":false,"username":"coordt","pushed":"2012-02-17T09:44:35-08:00","watchers":90,"has_wiki":true},{"type":"repo","created_at":"2012-04-12T09:28:15-07:00","score":9.206849,"owner":"nelmio","followers":89,"open_issues":8,"organization":"nelmio","created":"2012-04-12T09:28:15-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-06-28T01:39:29-07:00","forks":11,"fork":false,"size":228,"name":"NelmioApiDocBundle","url":"https://github.com/nelmio/NelmioApiDocBundle","description":"Generates documentation for your REST API from annotations","private":false,"username":"nelmio","pushed":"2012-06-28T01:39:29-07:00","watchers":89,"has_wiki":true},{"type":"repo","created_at":"2011-11-25T04:23:08-08:00","score":9.187932,"owner":"sergiomtzlosa","followers":91,"open_issues":0,"created":"2011-11-25T04:23:08-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2011-11-25T04:41:56-08:00","forks":4,"fork":false,"size":100,"name":"iCloud-Singleton-CloudMe","url":"https://github.com/sergiomtzlosa/iCloud-Singleton-CloudMe","description":"Upload text documents and images easily, also you can save your defaults in your cloud, just with few lines. Follow me : @sergimtzlosa","private":false,"username":"sergiomtzlosa","pushed":"2011-11-25T04:41:56-08:00","watchers":91,"has_wiki":true},{"type":"repo","created_at":"2011-10-26T08:35:29-07:00","score":9.186499,"owner":"Innovators-Team10","followers":5,"open_issues":0,"organization":"Innovators-Team10","created":"2011-10-26T08:35:29-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-24T08:03:51-07:00","forks":3,"fork":false,"size":272,"name":"Documentation","url":"https://github.com/Innovators-Team10/Documentation","description":"Team documentation for TrollEdit ","private":false,"username":"Innovators-Team10","pushed":"2012-06-24T08:03:51-07:00","watchers":5,"has_wiki":true},{"type":"repo","created_at":"2011-03-05T18:53:23-08:00","score":9.180499,"owner":"DrupalVietNam","followers":5,"open_issues":2,"organization":"DrupalVietNam","created":"2011-03-05T18:53:23-08:00","homepage":"http://drupalvietnam.org","has_issues":true,"master_branch":"master","has_downloads":true,"language":"PHP","pushed_at":"2011-03-05T19:09:07-08:00","forks":1,"fork":false,"size":320,"name":"document","url":"https://github.com/DrupalVietNam/document","description":"","private":false,"username":"DrupalVietNam","pushed":"2011-03-05T19:09:07-08:00","watchers":5,"has_wiki":true},{"type":"repo","created_at":"2010-08-10T05:46:25-07:00","score":9.135334,"owner":"ralph","followers":49,"open_issues":2,"created":"2010-08-10T05:46:25-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-01-29T05:56:58-08:00","forks":8,"fork":false,"size":116,"name":"document_mapper","url":"https://github.com/ralph/document_mapper","description":"Simple model layer that let's you query text documents as if they were a database.","private":false,"username":"ralph","pushed":"2012-01-29T05:56:58-08:00","watchers":49,"has_wiki":true},{"type":"repo","created_at":"2009-04-01T01:13:53-07:00","score":9.121146,"owner":"heroku","followers":89,"open_issues":1,"organization":"heroku","created":"2009-04-01T01:13:53-07:00","homepage":"http://docs.heroku.com/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2011-01-24T12:55:46-08:00","forks":22,"fork":false,"size":1080,"name":"heroku-docs","url":"https://github.com/heroku/heroku-docs","description":"Documentation for Heroku, in the form of a Sinatra app serving markdown text files.","private":false,"username":"heroku","pushed":"2011-01-24T12:55:46-08:00","watchers":89,"has_wiki":true},{"type":"repo","created_at":"2010-09-18T02:37:23-07:00","score":9.109179,"owner":"doctrine","followers":88,"open_issues":4,"organization":"doctrine","created":"2010-09-18T02:37:23-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-05-22T06:19:26-07:00","forks":16,"fork":false,"size":204,"name":"couchdb-odm","url":"https://github.com/doctrine/couchdb-odm","description":"A Document Mapper based on CouchDB","private":false,"username":"doctrine","pushed":"2012-05-22T06:19:26-07:00","watchers":88,"has_wiki":true},{"type":"repo","created_at":"2010-09-29T12:34:21-07:00","score":9.089685,"owner":"travelbot","followers":4,"open_issues":0,"created":"2010-09-29T12:34:21-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2010-11-25T06:03:55-08:00","forks":1,"fork":false,"size":616,"name":"documentation","url":"https://github.com/travelbot/documentation","description":"Travelbot documentation repo","private":false,"username":"travelbot","pushed":"2010-11-25T06:03:55-08:00","watchers":4,"has_wiki":true},{"type":"repo","created_at":"2012-01-17T03:10:07-08:00","score":9.087114,"owner":"nizsheanez","followers":4,"open_issues":0,"created":"2012-01-17T03:10:07-08:00","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-05-06T10:03:05-07:00","forks":1,"fork":false,"size":2620,"name":"documentation","url":"https://github.com/nizsheanez/documentation","description":"Documentation engine for https://github.com/ostapetc/Yii-CMS","private":false,"username":"nizsheanez","pushed":"2012-05-06T10:03:05-07:00","watchers":4,"has_wiki":true},{"type":"repo","created_at":"2010-11-24T08:52:10-08:00","score":9.082829,"owner":"developmentseed","followers":5,"open_issues":0,"organization":"developmentseed","created":"2010-11-24T08:52:10-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-03-28T19:00:43-07:00","forks":1,"fork":false,"size":980,"name":"document","url":"https://github.com/developmentseed/document","description":"Rudimentary content system for Express + CouchDB + HBS.","private":false,"username":"developmentseed","pushed":"2012-03-28T19:00:43-07:00","watchers":5,"has_wiki":true},{"type":"repo","created_at":"2012-03-29T04:04:47-07:00","score":9.082829,"owner":"jbosstm","followers":4,"open_issues":0,"created":"2012-03-29T04:04:47-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Java","pushed_at":"2012-06-12T06:38:29-07:00","forks":3,"fork":false,"size":128,"name":"documentation","url":"https://github.com/jbosstm/documentation","description":"","private":false,"username":"jbosstm","pushed":"2012-06-12T06:38:29-07:00","watchers":4,"has_wiki":true},{"type":"repo","created_at":"2010-09-23T05:54:13-07:00","score":9.04741,"owner":"tciuro","followers":90,"open_issues":1,"created":"2010-09-23T05:54:13-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-06-15T17:30:23-07:00","forks":6,"fork":false,"size":236,"name":"NanoStore","url":"https://github.com/tciuro/NanoStore","description":"NanoStore is an open source, lightweight schema-less local key-value document store written in Objective-C for Mac OS X and iOS. ","private":false,"username":"tciuro","pushed":"2012-06-15T17:30:23-07:00","watchers":90,"has_wiki":true},{"type":"repo","created_at":"2011-05-18T04:38:40-07:00","score":8.99373,"owner":"massidea","followers":3,"open_issues":0,"organization":"massidea","created":"2011-05-18T04:38:40-07:00","homepage":"http://code.google.com/p/massidea/wiki/","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-05-25T05:59:08-07:00","forks":3,"fork":false,"size":332,"name":"documentation","url":"https://github.com/massidea/documentation","description":"Documentation images and such","private":false,"username":"massidea","pushed":"2011-05-25T05:59:08-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-01-20T14:36:42-08:00","score":8.99373,"owner":"phonelab","followers":3,"open_issues":0,"organization":"phonelab","created":"2012-01-20T14:36:42-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"Documentation","url":"https://github.com/phonelab/Documentation","description":"Repo for documentation","private":false,"username":"phonelab","pushed":null,"watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-01-23T15:37:44-08:00","score":8.99373,"owner":"agavi","followers":3,"open_issues":9,"created":"2012-01-23T15:37:44-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"PHP","pushed_at":"2012-02-08T19:42:39-08:00","forks":1,"fork":false,"size":812,"name":"documentation","url":"https://github.com/agavi/documentation","description":"The documentation for Agavi","private":false,"username":"agavi","pushed":"2012-02-08T19:42:39-08:00","watchers":3,"has_wiki":false},{"type":"repo","created_at":"2011-05-05T09:22:01-07:00","score":8.992015,"owner":"deskmetrics","followers":3,"open_issues":0,"organization":"deskmetrics","created":"2011-05-05T09:22:01-07:00","homepage":"http://docs.deskmetrics.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-08T08:16:56-07:00","forks":3,"fork":false,"size":254,"name":"Documentation","url":"https://github.com/deskmetrics/Documentation","description":"DeskMetrics Documentation","private":false,"username":"deskmetrics","pushed":"2011-08-08T08:16:56-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-03-24T08:18:23-07:00","score":8.992015,"owner":"pika","followers":3,"open_issues":0,"organization":"pika","created":"2011-03-24T08:18:23-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-03-28T22:15:05-07:00","forks":1,"fork":false,"size":344,"name":"documentation","url":"https://github.com/pika/documentation","description":"Pika Sphinx documentation","private":false,"username":"pika","pushed":"2011-03-28T22:15:05-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-05-25T12:26:01-07:00","score":8.9911585,"owner":"substance","followers":3,"open_issues":1,"organization":"substance","created":"2012-05-25T12:26:01-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-24T15:41:45-07:00","forks":1,"fork":false,"size":448,"name":"document","url":"https://github.com/substance/document","description":"Substance Document Format - not yet functional -","private":false,"username":"substance","pushed":"2012-06-24T15:41:45-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2010-07-26T12:46:25-07:00","score":8.9911585,"owner":"68kb","followers":3,"open_issues":0,"organization":"68kb","created":"2010-07-26T12:46:25-07:00","homepage":"http://68kb.com","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"documentation","url":"https://github.com/68kb/documentation","description":"68KB v2 Documentation","private":false,"username":"68kb","pushed":null,"watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-02-28T12:53:11-08:00","score":8.990301,"owner":"openmhealth","followers":3,"open_issues":0,"organization":"openmhealth","created":"2012-02-28T12:53:11-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"documentation","url":"https://github.com/openmhealth/documentation","description":"Open mHealth Technical Documentation","private":false,"username":"openmhealth","pushed":null,"watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-08-03T06:01:45-07:00","score":8.985159,"owner":"bonatoc","followers":3,"open_issues":0,"created":"2011-08-03T06:01:45-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"Documentation","url":"https://github.com/bonatoc/Documentation","description":"","private":false,"username":"bonatoc","pushed":null,"watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-04-23T00:19:47-07:00","score":8.985159,"owner":"trapd00r","followers":3,"open_issues":0,"created":"2011-04-23T00:19:47-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"VimL","pushed_at":"2012-06-12T10:14:02-07:00","forks":1,"fork":false,"size":225816,"name":"Documentation","url":"https://github.com/trapd00r/Documentation","description":"Docs and notes for Vim, Zsh, Git, Terminal emulators, Perl ... that I've either written or collected over time","private":false,"username":"trapd00r","pushed":"2012-06-12T10:14:02-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2009-11-11T16:10:04-08:00","score":8.937773,"owner":"wesabe","followers":88,"open_issues":3,"organization":"wesabe","created":"2009-11-11T16:10:04-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Java","pushed_at":"2010-12-21T11:58:36-08:00","forks":7,"fork":false,"size":204,"name":"grendel","url":"https://github.com/wesabe/grendel","description":"Grendel is a RESTful web service which allows for the secure storage of users' documents.","private":false,"username":"wesabe","pushed":"2010-12-21T11:58:36-08:00","watchers":88,"has_wiki":true},{"type":"repo","created_at":"2011-01-24T06:25:50-08:00","score":8.937773,"owner":"ceylon","followers":88,"open_issues":76,"organization":"ceylon","created":"2011-01-24T06:25:50-08:00","homepage":"http://ceylon-lang.org","has_issues":true,"has_downloads":true,"language":"Java","pushed_at":"2012-06-28T03:45:52-07:00","forks":28,"fork":false,"size":2657,"name":"ceylon-compiler","url":"https://github.com/ceylon/ceylon-compiler","description":"Ceylon compiler (ceylonc: Java backend), Ceylon documentation generator (ceylond) and Ceylon ant tasks.","private":false,"username":"ceylon","pushed":"2012-06-28T03:45:52-07:00","watchers":88,"has_wiki":true},{"type":"repo","created_at":"2011-02-07T14:15:37-08:00","score":8.901872,"owner":"mapbox","followers":85,"open_issues":10,"organization":"mapbox","created":"2011-02-07T14:15:37-08:00","homepage":"http://mbtiles.org/","has_issues":true,"has_downloads":true,"language":"JavaScript","pushed_at":"2012-06-10T21:31:16-07:00","forks":9,"fork":false,"size":804,"name":"mbtiles-spec","url":"https://github.com/mapbox/mbtiles-spec","description":"specification documents for the MBTiles tileset format","private":false,"username":"mapbox","pushed":"2012-06-10T21:31:16-07:00","watchers":85,"has_wiki":true},{"type":"repo","created_at":"2011-03-18T15:42:12-07:00","score":8.901202,"owner":"sciversedev","followers":2,"open_issues":0,"created":"2011-03-18T15:42:12-07:00","homepage":"http://developer.sciverse.com/learn","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-04-07T15:47:16-07:00","forks":2,"fork":false,"size":27244,"name":"documentation","url":"https://github.com/sciversedev/documentation","description":"documentation","private":false,"username":"sciversedev","pushed":"2011-04-07T15:47:16-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-07-05T23:14:09-07:00","score":8.89606,"owner":"andreassolberg","followers":2,"open_issues":0,"created":"2011-07-05T23:14:09-07:00","homepage":"http://rnd.feide.no","has_issues":false,"language":"","has_downloads":true,"pushed_at":"2012-02-13T00:02:53-08:00","forks":1,"fork":false,"size":392,"name":"documents","url":"https://github.com/andreassolberg/documents","description":"Andreas' documents","private":false,"username":"andreassolberg","pushed":"2012-02-13T00:02:53-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-12-22T14:44:38-08:00","score":8.89606,"owner":"coolfluid","followers":2,"open_issues":0,"organization":"coolfluid","created":"2011-12-22T14:44:38-08:00","homepage":"http://coolfluidsrv.vki.ac.be","has_issues":true,"has_downloads":true,"language":"Objective-C","pushed_at":"2012-04-28T03:18:18-07:00","forks":2,"fork":false,"size":116,"name":"documents","url":"https://github.com/coolfluid/documents","description":"coolfluid documentation","private":false,"username":"coolfluid","pushed":"2012-04-28T03:18:18-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-05-16T18:19:31-07:00","score":8.89606,"owner":"DragonflyStudios","followers":2,"open_issues":0,"organization":"DragonflyStudios","created":"2012-05-16T18:19:31-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-05-16T18:20:15-07:00","forks":1,"fork":false,"size":92,"name":"Documents","url":"https://github.com/DragonflyStudios/Documents","description":"Organization Documents","private":false,"username":"DragonflyStudios","pushed":"2012-05-16T18:20:15-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2009-11-09T16:33:29-08:00","score":8.894345,"owner":"RedTeamCOSC470","followers":2,"open_issues":2,"created":"2009-11-09T16:33:29-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2010-04-25T11:34:05-07:00","forks":1,"fork":false,"size":29964,"name":"Documentation","url":"https://github.com/RedTeamCOSC470/Documentation","description":"Documentation for the Stargazer project.","private":false,"username":"RedTeamCOSC470","pushed":"2010-04-25T11:34:05-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2010-11-15T07:11:42-08:00","score":8.894345,"owner":"sugestio","followers":2,"open_issues":0,"created":"2010-11-15T07:11:42-08:00","homepage":"https://www.sugestio.com","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-12-15T03:17:16-08:00","forks":1,"fork":false,"size":1260,"name":"documentation","url":"https://github.com/sugestio/documentation","description":"API documentation in markdown format.","private":false,"username":"sugestio","pushed":"2011-12-15T03:17:16-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-12-19T05:55:08-08:00","score":8.894345,"owner":"NServiceBus","followers":2,"open_issues":1,"created":"2011-12-19T05:55:08-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-12-19T05:58:58-08:00","forks":1,"fork":false,"size":96,"name":"Documentation","url":"https://github.com/NServiceBus/Documentation","description":"Documentation for NServiceBus","private":false,"username":"NServiceBus","pushed":"2011-12-19T05:58:58-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2008-12-16T02:58:36-08:00","score":8.893489,"owner":"wodzupl20","followers":2,"open_issues":0,"created":"2008-12-16T02:58:36-08:00","homepage":"http://www.xmpp.org/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2008-12-02T09:11:15-08:00","forks":4,"fork":false,"size":26624,"name":"documentation","url":"https://github.com/wodzupl20/documentation","description":"Mirror of the main Documentation Subversion repository","private":false,"username":"wodzupl20","pushed":"2008-12-02T09:11:15-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-10-14T09:05:10-07:00","score":8.893489,"owner":"mantidproject","followers":2,"open_issues":0,"organization":"mantidproject","created":"2011-10-14T09:05:10-07:00","homepage":"www.mantidproject.org","has_issues":false,"has_downloads":true,"language":"Perl","pushed_at":"2012-06-27T08:21:29-07:00","forks":1,"fork":false,"size":264812,"name":"documents","url":"https://github.com/mantidproject/documents","description":"Holds documents relating to the Mantid project","private":false,"username":"mantidproject","pushed":"2012-06-27T08:21:29-07:00","watchers":2,"has_wiki":false},{"type":"repo","created_at":"2012-01-14T10:45:50-08:00","score":8.892632,"owner":"adventureloop","followers":2,"open_issues":16,"created":"2012-01-14T10:45:50-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-05-10T06:39:51-07:00","forks":1,"fork":false,"size":576,"name":"Documentation","url":"https://github.com/adventureloop/Documentation","description":"Documentation for all stages of final year project","private":false,"username":"adventureloop","pushed":"2012-05-10T06:39:51-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-05-13T23:49:04-07:00","score":8.892632,"owner":"enstratus-ja","followers":2,"open_issues":0,"organization":"enstratus-ja","created":"2012-05-13T23:49:04-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-13T01:26:36-07:00","forks":1,"fork":false,"size":12748,"name":"documentation","url":"https://github.com/enstratus-ja/documentation","description":"Japanese translation of enStratus Documentation","private":false,"username":"enstratus-ja","pushed":"2012-06-13T01:26:36-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-11-06T08:41:26-08:00","score":8.892632,"owner":"winlibs","followers":2,"open_issues":0,"organization":"winlibs","created":"2011-11-06T08:41:26-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-11-07T09:14:52-08:00","forks":1,"fork":false,"size":148,"name":"documentation","url":"https://github.com/winlibs/documentation","description":"General documentations about the winlib org and projects","private":false,"username":"winlibs","pushed":"2011-11-07T09:14:52-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2010-04-17T07:54:37-07:00","score":8.891774,"owner":"thousandparsec","followers":2,"open_issues":0,"organization":"thousandparsec","created":"2010-04-17T07:54:37-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2010-08-10T23:50:12-07:00","forks":1,"fork":false,"size":604,"name":"documents","url":"https://github.com/thousandparsec/documents","description":"A repository containing important documents such as the XML definition of the Thousand Parsec protocol. ","private":false,"username":"thousandparsec","pushed":"2010-08-10T23:50:12-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-08-29T09:22:13-07:00","score":8.891774,"owner":"wocommunity","followers":2,"open_issues":0,"organization":"wocommunity","created":"2011-08-29T09:22:13-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"Documentation","url":"https://github.com/wocommunity/Documentation","description":"All things needed for collaborate on new documentation (books, tutorials, etc.)","private":false,"username":"wocommunity","pushed":null,"watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-08-25T06:43:49-07:00","score":8.891774,"owner":"mangos","followers":2,"open_issues":0,"organization":"mangos","created":"2011-08-25T06:43:49-07:00","homepage":"http://getmangos.com/","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"documentation","url":"https://github.com/mangos/documentation","description":"Project documentation, including general guidelines and rules for our community.","private":false,"username":"mangos","pushed":null,"watchers":2,"has_wiki":true},{"type":"repo","created_at":"2009-11-30T05:10:30-08:00","score":8.887489,"owner":"goremika","followers":2,"open_issues":0,"created":"2009-11-30T05:10:30-08:00","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2009-12-14T01:22:23-08:00","forks":1,"fork":false,"size":5836,"name":"documenter","url":"https://github.com/goremika/documenter","description":"TODO: one-line summary of your gem","private":false,"username":"goremika","pushed":"2009-12-14T01:22:23-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-02-01T09:49:03-08:00","score":8.887489,"owner":"fluid-project","followers":2,"open_issues":0,"organization":"fluid-project","created":"2011-02-01T09:49:03-08:00","homepage":"http://fluidproject.org/","has_issues":false,"master_branch":"tutorials","has_downloads":true,"language":"JavaScript","pushed_at":"2011-02-01T11:06:56-08:00","forks":2,"fork":false,"size":456,"name":"documentation","url":"https://github.com/fluid-project/documentation","description":"","private":false,"username":"fluid-project","pushed":"2011-02-01T11:06:56-08:00","watchers":2,"has_wiki":false},{"type":"repo","created_at":"2011-01-14T03:57:10-08:00","score":8.887489,"owner":"scieloorg","followers":3,"open_issues":0,"organization":"scieloorg","created":"2011-01-14T03:57:10-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-10-24T06:01:02-07:00","forks":2,"fork":false,"size":9364,"name":"documents","url":"https://github.com/scieloorg/documents","description":"This repository was created to be a repository of attatchements (Images, PDF, Video, etc)that will be used in the wiki pages on githug. ","private":false,"username":"scieloorg","pushed":"2011-10-24T06:01:02-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-02-16T19:42:14-08:00","score":8.887489,"owner":"TulsaLUG","followers":2,"open_issues":0,"created":"2012-02-16T19:42:14-08:00","homepage":"http://orgs.utulsa.edu/linuxusers/","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-02-16T19:54:14-08:00","forks":1,"fork":false,"size":84,"name":"Documents","url":"https://github.com/TulsaLUG/Documents","description":"The meeting topics, minutes, and more","private":false,"username":"TulsaLUG","pushed":"2012-02-16T19:54:14-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-07-03T13:30:47-07:00","score":8.887489,"owner":"amotl","followers":2,"open_issues":0,"created":"2011-07-03T13:30:47-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-03-19T03:09:46-07:00","forks":1,"fork":false,"size":176,"name":"documents","url":"https://github.com/amotl/documents","description":"This and that. Non-blocking, asynchronous I/O; Gevent; Python","private":false,"username":"amotl","pushed":"2012-03-19T03:09:46-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-11-04T06:00:07-07:00","score":8.887489,"owner":"honza","followers":2,"open_issues":1,"created":"2011-11-04T06:00:07-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-01-09T08:20:30-08:00","forks":3,"fork":false,"size":116,"name":"documents","url":"https://github.com/honza/documents","description":"","private":false,"username":"honza","pushed":"2012-01-09T08:20:30-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-03-19T20:00:45-07:00","score":8.887489,"owner":"dylan-hackers","followers":2,"open_issues":0,"organization":"dylan-hackers","created":"2011-03-19T20:00:45-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Perl","pushed_at":"2011-03-19T20:18:59-07:00","forks":1,"fork":false,"size":66572,"name":"documentation","url":"https://github.com/dylan-hackers/documentation","description":"Open Dylan and Gwydion Dylan doc","private":false,"username":"dylan-hackers","pushed":"2011-03-19T20:18:59-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-01-30T16:10:57-08:00","score":8.887489,"owner":"kfly8","followers":2,"open_issues":0,"created":"2012-01-30T16:10:57-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-20T06:29:31-07:00","forks":1,"fork":false,"size":136,"name":"Document","url":"https://github.com/kfly8/Document","description":"勉強した内容を貯めておくよ。ブログにしろよ。","private":false,"username":"kfly8","pushed":"2012-06-20T06:29:31-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-04-11T23:23:37-07:00","score":8.887489,"owner":"dongyongzhou","followers":2,"open_issues":0,"created":"2012-04-11T23:23:37-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-26T00:58:04-07:00","forks":2,"fork":false,"size":228,"name":"document","url":"https://github.com/dongyongzhou/document","description":"recording what I learm","private":false,"username":"dongyongzhou","pushed":"2012-06-26T00:58:04-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2010-12-23T11:32:54-08:00","score":8.884431,"owner":"rdoc","followers":86,"open_issues":28,"organization":"rdoc","created":"2010-12-23T11:32:54-08:00","homepage":"http://rdoc.rubyforge.org/","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-06-28T17:22:47-07:00","forks":33,"fork":false,"size":264,"name":"rdoc","url":"https://github.com/rdoc/rdoc","description":"RDoc produces HTML and online documentation for Ruby projects. RDoc includes the rdoc and ri tools for generating and displaying online documentation.","private":false,"username":"rdoc","pushed":"2012-06-28T17:22:47-07:00","watchers":86,"has_wiki":true},{"type":"repo","created_at":"2011-06-03T21:05:16-07:00","score":8.828136,"owner":"thetron","followers":86,"open_issues":5,"created":"2011-06-03T21:05:16-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Ruby","pushed_at":"2012-04-12T23:31:10-07:00","forks":10,"fork":false,"size":144,"name":"mongoid_token","url":"https://github.com/thetron/mongoid_token","description":"A little random, unique token generator for Mongoid documents.","private":false,"username":"thetron","pushed":"2012-04-12T23:31:10-07:00","watchers":86,"has_wiki":true},{"type":"repo","created_at":"2011-06-18T10:43:36-07:00","score":8.816169,"owner":"travis-ci","followers":85,"open_issues":4,"organization":"travis-ci","created":"2011-06-18T10:43:36-07:00","homepage":"http://about.travis-ci.org","has_issues":true,"master_branch":"master","has_downloads":true,"language":"Ruby","pushed_at":"2012-06-28T10:22:18-07:00","forks":62,"fork":false,"size":240,"name":"travis-ci.github.com","url":"https://github.com/travis-ci/travis-ci.github.com","description":"the official Travis CI blog & documentation website","private":false,"username":"travis-ci","pushed":"2012-06-28T10:22:18-07:00","watchers":85,"has_wiki":false},{"type":"repo","created_at":"2009-07-15T02:21:19-07:00","score":8.803532,"owner":"darrylcousins","followers":1,"open_issues":0,"created":"2009-07-15T02:21:19-07:00","homepage":"http://darrylcousins.net.nz/documents","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2009-11-10T11:41:32-08:00","forks":1,"fork":false,"size":1126,"name":"Documents","url":"https://github.com/darrylcousins/Documents","description":"Documents","private":false,"username":"darrylcousins","pushed":"2009-11-10T11:41:32-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-01-06T06:07:11-08:00","score":8.803532,"owner":"tinybyte","followers":1,"open_issues":0,"created":"2011-01-06T06:07:11-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"Documents","url":"https://github.com/tinybyte/Documents","description":"Documents","private":false,"username":"tinybyte","pushed":null,"watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-06-08T18:46:23-07:00","score":8.803532,"owner":"op-wiki","followers":1,"open_issues":0,"created":"2011-06-08T18:46:23-07:00","homepage":"op.sdo.com","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-06-09T03:05:00-07:00","forks":1,"fork":false,"size":108,"name":"documents","url":"https://github.com/op-wiki/documents","description":"Documents","private":false,"username":"op-wiki","pushed":"2011-06-09T03:05:00-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-09-11T17:29:00-07:00","score":8.803532,"owner":"jackqin","followers":1,"open_issues":0,"created":"2011-09-11T17:29:00-07:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-11-18T17:01:12-08:00","forks":1,"fork":false,"size":384,"name":"Document","url":"https://github.com/jackqin/Document","description":"document","private":false,"username":"jackqin","pushed":"2011-11-18T17:01:12-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-12-13T07:59:28-08:00","score":8.803532,"owner":"patuww","followers":1,"open_issues":0,"created":"2011-12-13T07:59:28-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2011-12-14T07:52:42-08:00","forks":1,"fork":false,"size":50084,"name":"Documentation","url":"https://github.com/patuww/Documentation","description":"Documentation","private":false,"username":"patuww","pushed":"2011-12-14T07:52:42-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-12-23T21:27:31-08:00","score":8.803532,"owner":"srini4rails","followers":1,"open_issues":0,"created":"2011-12-23T21:27:31-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"forks":1,"fork":false,"size":0,"name":"documents","url":"https://github.com/srini4rails/documents","description":"documents","private":false,"username":"srini4rails","pushed":null,"watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-03-11T00:38:36-08:00","score":8.803532,"owner":"keamas","followers":1,"open_issues":0,"created":"2011-03-11T00:38:36-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-02-05T12:09:18-08:00","forks":1,"fork":false,"size":5944,"name":"Documents","url":"https://github.com/keamas/Documents","description":"Document ","private":false,"username":"keamas","pushed":"2012-02-05T12:09:18-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-02-22T23:18:36-08:00","score":8.803532,"owner":"goaaronnyc","followers":1,"open_issues":0,"created":"2012-02-22T23:18:36-08:00","homepage":"","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-02-22T23:27:34-08:00","forks":1,"fork":false,"size":84,"name":"Documentation","url":"https://github.com/goaaronnyc/Documentation","description":"Documentation","private":false,"username":"goaaronnyc","pushed":"2012-02-22T23:27:34-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-04-24T22:40:25-07:00","score":8.803532,"owner":"dongyulong","followers":1,"open_issues":0,"created":"2012-04-24T22:40:25-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-04-24T22:44:24-07:00","forks":1,"fork":false,"size":96,"name":"documents","url":"https://github.com/dongyulong/documents","description":"documents","private":false,"username":"dongyulong","pushed":"2012-04-24T22:44:24-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-06-07T23:19:59-07:00","score":8.803532,"owner":"wydoorg","followers":1,"open_issues":0,"created":"2012-06-07T23:19:59-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-13T04:47:29-07:00","forks":1,"fork":false,"size":168,"name":"documents","url":"https://github.com/wydoorg/documents","description":"documents","private":false,"username":"wydoorg","pushed":"2012-06-13T04:47:29-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-06-09T04:42:08-07:00","score":8.803532,"owner":"nomad","followers":1,"open_issues":0,"organization":"nomad","created":"2012-06-09T04:42:08-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-09T04:42:41-07:00","forks":1,"fork":false,"size":764,"name":"documents","url":"https://github.com/nomad/documents","description":"Documents","private":false,"username":"nomad","pushed":"2012-06-09T04:42:41-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-03-27T10:15:22-07:00","score":8.803532,"owner":"heldopslippers","followers":1,"open_issues":0,"created":"2012-03-27T10:15:22-07:00","homepage":"website-development.nl","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-03-28T02:44:56-07:00","forks":1,"fork":false,"size":128,"name":"documentation","url":"https://github.com/heldopslippers/documentation","description":"documentation","private":false,"username":"heldopslippers","pushed":"2012-03-28T02:44:56-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-06-25T20:03:54-07:00","score":8.803532,"owner":"ninehills","followers":1,"open_issues":0,"created":"2012-06-25T20:03:54-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-25T20:05:54-07:00","forks":1,"fork":false,"size":0,"name":"Documents","url":"https://github.com/ninehills/Documents","description":"Documents","private":false,"username":"ninehills","pushed":"2012-06-25T20:05:54-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-06-28T19:45:38-07:00","score":8.803532,"owner":"lsjeng","followers":1,"open_issues":0,"created":"2012-06-28T19:45:38-07:00","has_issues":true,"language":"","has_downloads":true,"pushed_at":"2012-06-29T04:49:51-07:00","forks":1,"fork":false,"size":124,"name":"Document","url":"https://github.com/lsjeng/Document","description":"Document","private":false,"username":"lsjeng","pushed":"2012-06-29T04:49:51-07:00","watchers":1,"has_wiki":true}]} - -https -GET -api.github.com -None -/legacy/repos/search/document?start_page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '52000'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"05d6b83482e746254755a87b7d666cef"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:52:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","has_downloads":true,"homepage":"","owner":"railstone","score":8.798389,"pushed":"2011-07-03T10:15:29-07:00","description":"My documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":96,"open_issues":0,"created_at":"2011-07-03T09:43:44-07:00","username":"railstone","name":"documents","url":"https://github.com/railstone/documents","language":"","private":false,"pushed_at":"2011-07-03T10:15:29-07:00","created":"2011-07-03T09:43:44-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"fooker","score":8.798389,"pushed":"2011-01-18T05:57:25-08:00","description":"my documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":173280,"open_issues":0,"created_at":"2010-11-22T04:45:44-08:00","username":"fooker","name":"documents","url":"https://github.com/fooker/documents","private":false,"language":"Shell","pushed_at":"2011-01-18T05:57:25-08:00","created":"2010-11-22T04:45:44-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"levpevzner","score":8.798389,"pushed":null,"description":"Flite documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-07-22T09:13:58-07:00","username":"levpevzner","name":"Documentation","url":"https://github.com/levpevzner/Documentation","language":"","private":false,"created":"2011-07-22T09:13:58-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"ariandikovic","score":8.798389,"pushed":"2011-11-11T02:23:07-08:00","description":"Project documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":912,"open_issues":0,"created_at":"2011-11-11T02:22:24-08:00","username":"ariandikovic","name":"Documentation","url":"https://github.com/ariandikovic/Documentation","language":"","private":false,"pushed_at":"2011-11-11T02:23:07-08:00","created":"2011-11-11T02:22:24-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"QPhuong","score":8.798389,"pushed":null,"description":"some document","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-11-20T19:13:45-08:00","username":"QPhuong","name":"Document","url":"https://github.com/QPhuong/Document","language":"","private":false,"created":"2011-11-20T19:13:45-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"ifdefese","score":8.798389,"pushed":"2011-12-09T08:13:25-08:00","description":"Contains documentation","watchers":1,"has_wiki":true,"followers":1,"organization":"ifdefese","fork":false,"size":192,"open_issues":0,"created_at":"2011-11-09T03:32:13-08:00","username":"ifdefese","name":"documents","url":"https://github.com/ifdefese/documents","language":"","private":false,"pushed_at":"2011-12-09T08:13:25-08:00","created":"2011-11-09T03:32:13-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"sebastienv","score":8.798389,"pushed":"2011-12-16T02:14:27-08:00","description":"My documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":384,"open_issues":0,"created_at":"2011-12-16T02:10:53-08:00","username":"sebastienv","name":"Documents","url":"https://github.com/sebastienv/Documents","language":"","private":false,"pushed_at":"2011-12-16T02:14:27-08:00","created":"2011-12-16T02:10:53-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"git-for-oer","score":8.798389,"pushed":"2012-04-13T12:14:06-07:00","description":"Documents and Notes","watchers":1,"has_wiki":true,"followers":1,"organization":"git-for-oer","fork":false,"size":92,"open_issues":0,"created_at":"2012-04-13T12:02:06-07:00","username":"git-for-oer","name":"Documents","url":"https://github.com/git-for-oer/Documents","language":"","private":false,"pushed_at":"2012-04-13T12:14:06-07:00","created":"2012-04-13T12:02:06-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://flite.com","owner":"flite","score":8.798389,"pushed":"2012-04-16T22:51:21-07:00","description":"Flite documentation.","watchers":1,"has_wiki":true,"followers":1,"organization":"flite","fork":false,"size":3688,"open_issues":0,"created_at":"2011-07-22T09:40:13-07:00","username":"flite","name":"Documentation","url":"https://github.com/flite/Documentation","language":"","private":false,"pushed_at":"2012-04-16T22:51:21-07:00","created":"2011-07-22T09:40:13-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"stoani89","score":8.798389,"pushed":null,"description":"Documents by me","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":501,"open_issues":0,"created_at":"2010-08-24T07:53:32-07:00","username":"stoani89","name":"Documents","url":"https://github.com/stoani89/Documents","language":"","private":false,"created":"2010-08-24T07:53:32-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"lcguerrerocovo","score":8.798389,"pushed":"2012-04-22T14:12:20-07:00","description":"luisca's documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":140,"open_issues":0,"created_at":"2012-04-22T13:17:54-07:00","username":"lcguerrerocovo","name":"documents","url":"https://github.com/lcguerrerocovo/documents","language":"","private":false,"pushed_at":"2012-04-22T14:12:20-07:00","created":"2012-04-22T13:17:54-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"zipcodeman","score":8.798389,"pushed":"2012-05-01T19:54:17-07:00","description":"My Documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":188,"open_issues":0,"created_at":"2011-11-20T11:56:52-08:00","username":"zipcodeman","name":"Documents","url":"https://github.com/zipcodeman/Documents","private":false,"language":"Python","pushed_at":"2012-05-01T19:54:17-07:00","created":"2011-11-20T11:56:52-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"buta9999","score":8.798389,"pushed":"2012-05-13T04:10:27-07:00","description":"sphinx document","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":7620,"open_issues":0,"created_at":"2012-03-31T04:11:37-07:00","username":"buta9999","name":"document","url":"https://github.com/buta9999/document","private":false,"language":"JavaScript","pushed_at":"2012-05-13T04:10:27-07:00","created":"2012-03-31T04:11:37-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"yafengli","score":8.798389,"pushed":"2012-05-21T20:18:53-07:00","description":"My documents.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":14524,"open_issues":0,"created_at":"2010-09-27T22:53:42-07:00","username":"yafengli","name":"documents","url":"https://github.com/yafengli/documents","private":false,"language":"JavaScript","pushed_at":"2012-05-21T20:18:53-07:00","created":"2010-09-27T22:53:42-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"lalyre","score":8.798389,"pushed":"2012-06-12T14:33:47-07:00","description":"Technical documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":7664,"open_issues":0,"created_at":"2012-02-16T12:48:04-08:00","username":"lalyre","name":"Documentation","url":"https://github.com/lalyre/Documentation","language":"","private":false,"pushed_at":"2012-06-12T14:33:47-07:00","created":"2012-02-16T12:48:04-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"sposs","score":8.798389,"pushed":"2012-06-07T06:38:33-07:00","description":"My documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":74696,"open_issues":0,"created_at":"2011-05-26T00:58:15-07:00","username":"sposs","name":"Documents","url":"https://github.com/sposs/Documents","private":false,"language":"Python","pushed_at":"2012-06-07T06:38:33-07:00","created":"2011-05-26T00:58:15-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://martijn.vermaat.name","owner":"martijnvermaat","score":8.798389,"pushed":"2012-06-21T02:50:00-07:00","description":"My Documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":8280,"open_issues":0,"created_at":"2011-05-04T00:30:40-07:00","username":"martijnvermaat","name":"documents","url":"https://github.com/martijnvermaat/documents","private":false,"language":"Coq","pushed_at":"2012-06-21T02:50:00-07:00","created":"2011-05-04T00:30:40-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://about.me/leaf","owner":"cardmaster","score":8.797091,"pushed":"2011-09-16T03:58:03-07:00","description":"My public documents, including cv, or some documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":1652,"open_issues":0,"created_at":"2011-03-22T07:41:07-07:00","username":"cardmaster","name":"documents","url":"https://github.com/cardmaster/documents","language":"","private":false,"pushed_at":"2011-09-16T03:58:03-07:00","created":"2011-03-22T07:41:07-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"sireeshapatibandla","score":8.796675,"pushed":"2011-06-27T22:16:42-07:00","description":"Documents for TalentTube","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":96,"open_issues":0,"created_at":"2011-06-27T21:42:41-07:00","username":"sireeshapatibandla","name":"Documents","url":"https://github.com/sireeshapatibandla/Documents","language":"","private":false,"pushed_at":"2011-06-27T22:16:42-07:00","created":"2011-06-27T21:42:41-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"scroll","score":8.796675,"pushed":"2011-09-23T14:54:43-07:00","description":"documents and text files","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":100,"open_issues":0,"created_at":"2011-09-23T14:51:12-07:00","username":"scroll","name":"documents","url":"https://github.com/scroll/documents","language":"","private":false,"pushed_at":"2011-09-23T14:54:43-07:00","created":"2011-09-23T14:51:12-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"documentation","owner":"santony","score":8.796675,"pushed":"2009-12-29T08:56:38-08:00","description":"Mes documents utiles","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":76,"open_issues":0,"created_at":"2009-12-29T06:20:30-08:00","username":"santony","name":"Documentation","url":"https://github.com/santony/Documentation","integrate_branch":"testbranch","language":"","private":false,"pushed_at":"2009-12-29T08:56:38-08:00","created":"2009-12-29T06:20:30-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://dedomenon.org","owner":"dedomenon","score":8.796675,"pushed":"2010-03-10T06:51:37-08:00","description":"Developer documentation for Dedomenon","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":1312,"open_issues":0,"created_at":"2009-11-25T02:01:46-08:00","username":"dedomenon","name":"documentation","url":"https://github.com/dedomenon/documentation","private":false,"language":"Shell","pushed_at":"2010-03-10T06:51:37-08:00","created":"2009-11-25T02:01:46-08:00","forks":1,"has_issues":true,"master_branch":"gh-pages"},{"type":"repo","has_downloads":true,"homepage":"http://search.cpan.org/dist/Document/","owner":"gitpan","score":8.796675,"pushed":"2009-12-09T23:45:41-08:00","description":"Release history of Document","watchers":1,"has_wiki":true,"followers":1,"organization":"gitpan","fork":false,"size":552,"open_issues":0,"created_at":"2009-12-09T23:45:28-08:00","username":"gitpan","name":"Document","url":"https://github.com/gitpan/Document","private":false,"language":"Perl","pushed_at":"2009-12-09T23:45:41-08:00","created":"2009-12-09T23:45:28-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"plomb","score":8.796675,"pushed":null,"description":"Miscellaneous Public Documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-05-15T11:27:03-07:00","username":"plomb","name":"Documents","url":"https://github.com/plomb/Documents","language":"","private":false,"created":"2010-05-15T11:27:03-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"th0","score":8.796675,"pushed":null,"description":"documents task manager","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-01-03T02:02:10-08:00","username":"th0","name":"documents","url":"https://github.com/th0/documents","language":"","private":false,"created":"2011-01-03T02:02:10-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"oan","score":8.796675,"pushed":"2011-06-07T04:37:51-07:00","description":"Open Archive Network Documents","watchers":1,"has_wiki":true,"followers":1,"organization":"oan","fork":false,"size":456,"open_issues":0,"created_at":"2011-02-10T12:27:49-08:00","username":"oan","name":"documents","url":"https://github.com/oan/documents","language":"","private":false,"pushed_at":"2011-06-07T04:37:51-07:00","created":"2011-02-10T12:27:49-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"onixie","score":8.796675,"pushed":null,"description":"Study Documents and Notes","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-07-25T19:54:18-07:00","username":"onixie","name":"documents","url":"https://github.com/onixie/documents","language":"","private":false,"created":"2011-07-25T19:54:18-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"Andy2K11","score":8.796675,"pushed":"2011-10-13T04:29:04-07:00","description":"Working documents and drafts","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":108,"open_issues":0,"created_at":"2011-10-13T04:24:50-07:00","username":"Andy2K11","name":"Documentation","url":"https://github.com/Andy2K11/Documentation","language":"","private":false,"pushed_at":"2011-10-13T04:29:04-07:00","created":"2011-10-13T04:24:50-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"TouchLay","score":8.796675,"pushed":"2011-11-19T06:08:01-08:00","description":"TouchLay's Documentations","watchers":1,"has_wiki":true,"followers":1,"organization":"TouchLay","fork":false,"size":460,"open_issues":0,"created_at":"2011-11-07T07:12:05-08:00","username":"TouchLay","name":"Documentation","url":"https://github.com/TouchLay/Documentation","private":false,"language":"Python","pushed_at":"2011-11-19T06:08:01-08:00","created":"2011-11-07T07:12:05-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"chandershivdasani","score":8.796675,"pushed":"2011-12-07T13:41:59-08:00","description":"Some documents for helpful facts","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":96,"open_issues":0,"created_at":"2011-12-06T16:27:12-08:00","username":"chandershivdasani","name":"Documents","url":"https://github.com/chandershivdasani/Documents","language":"","private":false,"pushed_at":"2011-12-07T13:41:59-08:00","created":"2011-12-06T16:27:12-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"entouragesolutions","score":8.796675,"pushed":"2011-12-10T11:49:38-08:00","description":"For storing all documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":124,"open_issues":0,"created_at":"2011-12-08T00:59:16-08:00","username":"entouragesolutions","name":"Documents","url":"https://github.com/entouragesolutions/Documents","language":"","private":false,"pushed_at":"2011-12-10T11:49:38-08:00","created":"2011-12-08T00:59:16-08:00","forks":1,"has_issues":true,"master_branch":"gh-pages"},{"type":"repo","has_downloads":true,"homepage":"","owner":"mcgillcomp361","score":8.796675,"pushed":"2012-01-07T07:17:45-08:00","description":"Various documents for the report submissions","watchers":1,"has_wiki":true,"followers":1,"organization":"mcgillcomp361","fork":false,"size":168,"open_issues":0,"created_at":"2011-11-18T08:06:52-08:00","username":"mcgillcomp361","name":"Documents","url":"https://github.com/mcgillcomp361/Documents","language":"","private":false,"pushed_at":"2012-01-07T07:17:45-08:00","created":"2011-11-18T08:06:52-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"a-sk","score":8.796675,"pushed":"2012-02-18T06:27:45-08:00","description":"Sublimetext documentation writing plugin","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":276,"open_issues":0,"created_at":"2012-02-13T15:08:30-08:00","username":"a-sk","name":"Documenter","url":"https://github.com/a-sk/Documenter","private":false,"language":"Python","pushed_at":"2012-02-18T06:27:45-08:00","created":"2012-02-13T15:08:30-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://frankpzh.wordpress.com/","owner":"frankpzh","score":8.796675,"pushed":"2012-03-15T10:54:49-07:00","description":"Frank Pan's public document","watchers":1,"has_wiki":false,"followers":1,"fork":false,"size":3952,"open_issues":0,"created_at":"2010-08-15T02:20:35-07:00","username":"frankpzh","name":"document","url":"https://github.com/frankpzh/document","private":false,"language":"Emacs Lisp","pushed_at":"2012-03-15T10:54:49-07:00","created":"2010-08-15T02:20:35-07:00","forks":1,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"","owner":"TonyZhai","score":8.796675,"pushed":"2012-03-15T23:34:08-07:00","description":"Documentation for some useful","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":104,"open_issues":0,"created_at":"2012-03-14T06:54:06-07:00","username":"TonyZhai","name":"Documentation","url":"https://github.com/TonyZhai/Documentation","language":"","private":false,"pushed_at":"2012-03-15T23:34:08-07:00","created":"2012-03-14T06:54:06-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"railsfactory-shafi","score":8.796675,"pushed":null,"description":"RF reference Documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2012-03-28T20:47:49-07:00","username":"railsfactory-shafi","name":"Documents","url":"https://github.com/railsfactory-shafi/Documents","language":"","private":false,"created":"2012-03-28T20:47:49-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"athap","score":8.796675,"pushed":"2012-05-12T19:20:07-07:00","description":"This folder contains useful documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":412,"open_issues":0,"created_at":"2012-03-10T22:05:04-08:00","username":"athap","name":"Documents","url":"https://github.com/athap/Documents","language":"","private":false,"pushed_at":"2012-05-12T19:20:07-07:00","created":"2012-03-10T22:05:04-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"EucalyptusSystems","score":8.796675,"pushed":"2012-05-23T17:26:17-07:00","description":"Eucalyptus Product Documentation","watchers":1,"has_wiki":true,"followers":1,"organization":"EucalyptusSystems","fork":false,"size":0,"open_issues":0,"created_at":"2012-05-23T17:26:17-07:00","username":"EucalyptusSystems","name":"documentation","url":"https://github.com/EucalyptusSystems/documentation","language":"","private":false,"pushed_at":"2012-05-23T17:26:17-07:00","created":"2012-05-23T17:26:17-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"aaltsys.info","owner":"aaltsys","score":8.796675,"pushed":"2012-05-30T14:31:09-07:00","description":"AAltSys Documentation","watchers":1,"has_wiki":true,"followers":1,"organization":"aaltsys","fork":false,"size":2812,"open_issues":0,"created_at":"2011-09-27T13:23:39-07:00","username":"aaltsys","name":"documentation","url":"https://github.com/aaltsys/documentation","private":false,"language":"JavaScript","pushed_at":"2012-05-30T14:31:09-07:00","created":"2011-09-27T13:23:39-07:00","forks":1,"has_issues":true,"master_branch":"gh-pages"},{"type":"repo","has_downloads":true,"homepage":"","owner":"cordoval","score":8.796675,"pushed":"2012-01-27T21:23:16-08:00","description":"document component of zetacomponents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":3748,"open_issues":0,"created_at":"2012-01-27T21:21:45-08:00","username":"cordoval","name":"Document","url":"https://github.com/cordoval/Document","private":false,"language":"PHP","pushed_at":"2012-01-27T21:23:16-08:00","created":"2012-01-27T21:21:45-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"ykiveish","score":8.796675,"pushed":"2012-06-18T02:10:32-07:00","description":"All important documents.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2012-06-18T02:10:32-07:00","username":"ykiveish","name":"Documents","url":"https://github.com/ykiveish/Documents","language":"","private":false,"pushed_at":"2012-06-18T02:10:32-07:00","created":"2012-06-18T02:10:32-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"Ahmed-Elbagoury","score":8.796675,"pushed":"2012-06-20T09:34:33-07:00","description":"Graduation project documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2012-06-20T09:34:33-07:00","username":"Ahmed-Elbagoury","name":"Documentation","url":"https://github.com/Ahmed-Elbagoury/Documentation","language":"","private":false,"pushed_at":"2012-06-20T09:34:33-07:00","created":"2012-06-20T09:34:33-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"3mara","score":8.796675,"pushed":"2012-06-28T20:41:16-07:00","description":"Graduation Project Documentation","watchers":1,"has_wiki":false,"followers":1,"fork":false,"size":29780,"open_issues":0,"created_at":"2012-04-15T08:49:26-07:00","username":"3mara","name":"Documentation","url":"https://github.com/3mara/Documentation","language":"","private":false,"pushed_at":"2012-06-28T20:41:16-07:00","created":"2012-04-15T08:49:26-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"yussidivnall","score":8.795818,"pushed":"2011-02-05T16:21:10-08:00","description":"Some misc documents I wrote","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":3036,"open_issues":0,"created_at":"2009-09-19T01:35:58-07:00","username":"yussidivnall","name":"Documents","url":"https://github.com/yussidivnall/Documents","language":"","private":false,"pushed_at":"2011-02-05T16:21:10-08:00","created":"2009-09-19T01:35:58-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"aronasorman","score":8.795818,"pushed":"2010-02-13T02:36:12-08:00","description":"A backup of my documents folder","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":1124,"open_issues":0,"created_at":"2010-02-01T03:52:08-08:00","username":"aronasorman","name":"documents","url":"https://github.com/aronasorman/documents","language":"","private":false,"pushed_at":"2010-02-13T02:36:12-08:00","created":"2010-02-01T03:52:08-08:00","forks":1,"has_issues":true,"master_branch":"1styear"},{"type":"repo","has_downloads":true,"homepage":"http://nerdsrescue.me/documents","owner":"nerdsrescueme","score":8.795818,"pushed":"2012-01-30T18:32:39-08:00","description":"Nerds, Rescue Me! development documents","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":668,"open_issues":0,"created_at":"2012-01-30T07:21:46-08:00","username":"nerdsrescueme","name":"Documents","url":"https://github.com/nerdsrescueme/Documents","private":false,"language":"PHP","pushed_at":"2012-01-30T18:32:39-08:00","created":"2012-01-30T07:21:46-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://jsfiddle.net/carylandholt/uCraE/","owner":"CaryLandholt","score":8.795818,"pushed":"2012-02-25T19:45:45-08:00","description":"Provides the document object as a module.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":192,"open_issues":0,"created_at":"2011-11-21T19:26:17-08:00","username":"CaryLandholt","name":"document","url":"https://github.com/CaryLandholt/document","private":false,"language":"JavaScript","pushed_at":"2012-02-25T19:45:45-08:00","created":"2011-11-21T19:26:17-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://geomati.co","owner":"geomatico","score":8.795818,"pushed":"2012-04-11T08:26:33-07:00","description":"Geomati.co developer documentation","watchers":1,"has_wiki":true,"followers":1,"organization":"geomatico","fork":false,"size":1992,"open_issues":0,"created_at":"2012-01-31T03:06:00-08:00","username":"geomatico","name":"documentation","url":"https://github.com/geomatico/documentation","private":false,"language":"Python","pushed_at":"2012-04-11T08:26:33-07:00","created":"2012-01-31T03:06:00-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"alsuren","score":8.795818,"pushed":"2012-05-30T05:27:14-07:00","description":"Versioned Copy of my Documents folder","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":340,"open_issues":0,"created_at":"2012-01-25T08:33:35-08:00","username":"alsuren","name":"Documents","url":"https://github.com/alsuren/Documents","language":"","private":false,"pushed_at":"2012-05-30T05:27:14-07:00","created":"2012-01-25T08:33:35-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"mren","score":8.795818,"pushed":"2012-06-26T12:18:03-07:00","description":"personal documentation of tools I used","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":184,"open_issues":0,"created_at":"2012-03-29T00:45:10-07:00","username":"mren","name":"documentation","url":"https://github.com/mren/documentation","language":"","private":false,"pushed_at":"2012-06-26T12:18:03-07:00","created":"2012-03-29T00:45:10-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"webtsys","score":8.795818,"pushed":"2012-06-26T15:18:21-07:00","description":"A module for write basic documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":132,"open_issues":0,"created_at":"2012-06-19T17:31:20-07:00","username":"webtsys","name":"documentation","url":"https://github.com/webtsys/documentation","private":false,"language":"PHP","pushed_at":"2012-06-26T15:18:21-07:00","created":"2012-06-19T17:31:20-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"androportal","score":8.795818,"pushed":"2012-06-29T03:28:54-07:00","description":"document all Aakash related work","watchers":1,"has_wiki":true,"followers":1,"organization":"androportal","fork":false,"size":204,"open_issues":0,"created_at":"2012-06-27T06:36:06-07:00","username":"androportal","name":"documentation","url":"https://github.com/androportal/documentation","language":"","private":false,"pushed_at":"2012-06-29T03:28:54-07:00","created":"2012-06-27T06:36:06-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"MobileRaggingPreventerApp","score":8.794961,"pushed":null,"description":"This project will have documentation to help in coding of the Mobile Application","watchers":1,"has_wiki":true,"followers":1,"organization":"MobileRaggingPreventerApp","fork":false,"size":0,"open_issues":0,"created_at":"2010-11-13T22:47:39-08:00","username":"MobileRaggingPreventerApp","name":"Documentation","url":"https://github.com/MobileRaggingPreventerApp/Documentation","language":"","private":false,"created":"2010-11-13T22:47:39-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"wclarkso","score":8.794961,"pushed":null,"description":"Important Documents that I want backed up forever.....","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2009-09-30T12:14:40-07:00","username":"wclarkso","name":"Documents","url":"https://github.com/wclarkso/Documents","language":"","private":false,"created":"2009-09-30T12:14:40-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"danmaclean","score":8.794961,"pushed":"2010-01-28T09:23:51-08:00","description":"HTML Documentation describing usage of Perl Modules","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":260,"open_issues":0,"created_at":"2009-10-29T12:15:28-07:00","username":"danmaclean","name":"Documents","url":"https://github.com/danmaclean/Documents","language":"","private":false,"pushed_at":"2010-01-28T09:23:51-08:00","created":"2009-10-29T12:15:28-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":false,"homepage":"http://projectaliter.com/documentation/","owner":"aliter","score":8.794961,"pushed":"2011-06-05T01:30:17-07:00","description":"Aliter's documentation on GitHub Pages.","watchers":1,"has_wiki":false,"followers":1,"organization":"aliter","fork":false,"size":352,"open_issues":0,"created_at":"2009-09-19T23:56:24-07:00","username":"aliter","name":"documentation","url":"https://github.com/aliter/documentation","private":false,"language":"Python","pushed_at":"2011-06-05T01:30:17-07:00","created":"2009-09-19T23:56:24-07:00","forks":1,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"","owner":"vexix","score":8.794961,"pushed":null,"description":"Documents that I work on with school, game development, etc.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-03-14T14:18:09-07:00","username":"vexix","name":"Documents","url":"https://github.com/vexix/Documents","language":"","private":false,"created":"2010-03-14T14:18:09-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"LaurensRietveld","score":8.794961,"pushed":"2011-10-10T06:54:29-07:00","description":"All relevant documents for the open notebook science project","watchers":1,"has_wiki":false,"followers":1,"fork":false,"size":860,"open_issues":0,"created_at":"2011-09-28T04:52:35-07:00","username":"LaurensRietveld","name":"Documents","url":"https://github.com/LaurensRietveld/Documents","language":"","private":false,"pushed_at":"2011-10-10T06:54:29-07:00","created":"2011-09-28T04:52:35-07:00","forks":1,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"http://papyri.github.com/documentation","owner":"papyri","score":8.794961,"pushed":"2012-01-12T07:05:02-08:00","description":"Project-wide Documentation for Integrating Digital Papyrology","watchers":1,"has_wiki":true,"followers":1,"organization":"papyri","fork":false,"size":3692,"open_issues":0,"created_at":"2011-07-07T08:05:44-07:00","username":"papyri","name":"documentation","url":"https://github.com/papyri/documentation","private":false,"language":"Ruby","pushed_at":"2012-01-12T07:05:02-08:00","created":"2011-07-07T08:05:44-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://visualdiffer.com","owner":"visualdiffer","score":8.794961,"pushed":null,"description":"All documentation related to VisualDiffer","watchers":1,"has_wiki":true,"followers":1,"organization":"visualdiffer","fork":false,"size":0,"open_issues":0,"created_at":"2012-03-06T04:37:47-08:00","username":"visualdiffer","name":"documentation","url":"https://github.com/visualdiffer/documentation","language":"","private":false,"created":"2012-03-06T04:37:47-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://froodee.at","owner":"smtm","score":8.794961,"pushed":"2009-11-05T08:02:37-08:00","description":"copies of the legal document templates froodee uses","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2009-11-05T07:56:36-08:00","username":"smtm","name":"documents","url":"https://github.com/smtm/documents","language":"","private":false,"pushed_at":"2009-11-05T08:02:37-08:00","created":"2009-11-05T07:56:36-08:00","forks":1,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"","owner":"suthikshn","score":8.794104,"pushed":null,"description":"This will contain documentation for the project Open Source Virtual Campus Tour","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-11-13T22:44:20-08:00","username":"suthikshn","name":"Documentation","url":"https://github.com/suthikshn/Documentation","language":"","private":false,"created":"2010-11-13T22:44:20-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"craigplummer","score":8.794104,"pushed":null,"description":"A Rails Application for managing and presenting user documentation (Name to be decided)","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-08-30T12:44:05-07:00","username":"craigplummer","name":"documents","url":"https://github.com/craigplummer/documents","language":"","private":false,"created":"2011-08-30T12:44:05-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://pyrocms.com/documentation","owner":"ngonchan","score":8.794104,"pushed":"2010-12-06T02:13:21-08:00","description":"Documentation for the open-source project PyroCMS.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":180,"open_issues":0,"created_at":"2010-12-08T17:39:06-08:00","username":"ngonchan","name":"documentation","url":"https://github.com/ngonchan/documentation","language":"","private":false,"pushed_at":"2010-12-06T02:13:21-08:00","created":"2010-12-08T17:39:06-08:00","forks":0,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"","owner":"AWooldrige","score":8.794104,"pushed":null,"description":"Testing using Hudson to build LaTeX documentation","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2012-02-09T04:44:05-08:00","username":"AWooldrige","name":"Documentation","url":"https://github.com/AWooldrige/Documentation","language":"","private":false,"created":"2012-02-09T04:44:05-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"erebos42","score":8.794104,"pushed":"2012-05-30T04:19:54-07:00","description":"Just some documents i wanted to share with me and maybe others...","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":3936,"open_issues":0,"created_at":"2012-03-19T06:29:27-07:00","username":"erebos42","name":"Documents","url":"https://github.com/erebos42/Documents","language":"","private":false,"pushed_at":"2012-05-30T04:19:54-07:00","created":"2012-03-19T06:29:27-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"c-team-2","score":8.794104,"pushed":"2012-06-12T16:33:48-07:00","description":"All the documentation that goes with the project: presentations, javadocs, API doc, etc...","watchers":1,"has_wiki":true,"followers":1,"organization":"c-team-2","fork":false,"size":1400,"open_issues":0,"created_at":"2012-05-11T16:14:05-07:00","username":"c-team-2","name":"documentation","url":"https://github.com/c-team-2/documentation","language":"","private":false,"pushed_at":"2012-06-12T16:33:48-07:00","created":"2012-05-11T16:14:05-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://social-igniter.com/documentation","owner":"socialigniter","score":8.793247,"pushed":"2011-10-01T13:21:51-07:00","description":"Documentation for the core Social-Igniter project. For specific Apps look at those repos","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":112,"open_issues":0,"created_at":"2011-07-05T12:47:30-07:00","username":"socialigniter","name":"documentation","url":"https://github.com/socialigniter/documentation","private":false,"language":"PHP","pushed_at":"2011-10-01T13:21:51-07:00","created":"2011-07-05T12:47:30-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"owner":"jackey","score":8.793247,"pushed":"2012-06-11T06:45:18-07:00","description":"record my works with document. So I can review them instead of searching.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":324,"open_issues":0,"created_at":"2012-04-19T20:12:21-07:00","username":"jackey","name":"documents","url":"https://github.com/jackey/documents","private":false,"language":"PHP","pushed_at":"2012-06-11T06:45:18-07:00","created":"2012-04-19T20:12:21-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"remomueller","score":8.79239,"pushed":"2012-06-06T07:26:21-07:00","description":"Documentation for setting up servers to host Rails Applications. Servers: CentOS, Mac OS X, Windows. Tools: Git, Apache, MySQL, Node.js and CoffeeScript","watchers":1,"has_wiki":false,"followers":1,"fork":false,"size":288,"open_issues":0,"created_at":"2012-02-15T10:53:20-08:00","username":"remomueller","name":"documentation","url":"https://github.com/remomueller/documentation","language":"","private":false,"pushed_at":"2012-06-06T07:26:21-07:00","created":"2012-02-15T10:53:20-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"our.umbraco.org/documentation","owner":"umbraco","score":8.792234,"pushed":"2012-06-28T01:42:18-07:00","description":"The Umbraco Documentation Project","watchers":83,"has_wiki":true,"followers":83,"organization":"umbraco","fork":false,"size":264,"open_issues":2,"created_at":"2012-03-09T01:27:46-08:00","username":"umbraco","name":"Umbraco5Docs","url":"https://github.com/umbraco/Umbraco5Docs","language":"","private":false,"pushed_at":"2012-06-28T01:42:18-07:00","created":"2012-03-09T01:27:46-08:00","forks":38,"has_issues":true,"master_branch":"5.0.1"},{"type":"repo","has_downloads":true,"homepage":"","owner":"onewheelskyward","score":8.789819,"pushed":"2010-09-27T00:23:19-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":92,"open_issues":0,"created_at":"2010-09-26T16:26:25-07:00","username":"onewheelskyward","name":"documents","url":"https://github.com/onewheelskyward/documents","private":false,"language":"PHP","pushed_at":"2010-09-27T00:23:19-07:00","created":"2010-09-26T16:26:25-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"abdulghaffarpk","score":8.789819,"pushed":null,"description":"My Docs","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-10-23T02:41:47-07:00","username":"abdulghaffarpk","name":"Documents","url":"https://github.com/abdulghaffarpk/Documents","language":"","private":false,"created":"2010-10-23T02:41:47-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"williamgkeys.com","owner":"williamkeys","score":8.789819,"pushed":"2011-06-20T13:14:02-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":2876,"open_issues":0,"created_at":"2011-04-17T14:52:52-07:00","username":"williamkeys","name":"Documentation","url":"https://github.com/williamkeys/Documentation","private":false,"language":"VimL","pushed_at":"2011-06-20T13:14:02-07:00","created":"2011-04-17T14:52:52-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"wangdeshui","score":8.789819,"pushed":null,"description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-06-27T19:29:03-07:00","username":"wangdeshui","name":"documents","url":"https://github.com/wangdeshui/documents","language":"","private":false,"created":"2011-06-27T19:29:03-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"Elgg","score":8.789819,"pushed":"2011-06-13T17:28:16-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"organization":"Elgg","fork":false,"size":328,"open_issues":0,"created_at":"2011-06-13T17:25:44-07:00","username":"Elgg","name":"document","url":"https://github.com/Elgg/document","private":false,"language":"PHP","pushed_at":"2011-06-13T17:28:16-07:00","created":"2011-06-13T17:25:44-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"vincentp","score":8.789819,"pushed":"2011-07-07T02:53:23-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":100,"open_issues":0,"created_at":"2011-07-07T02:50:39-07:00","username":"vincentp","name":"documents","url":"https://github.com/vincentp/documents","language":"","private":false,"pushed_at":"2011-07-07T02:53:23-07:00","created":"2011-07-07T02:50:39-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"horntau","score":8.789819,"pushed":null,"description":"mydocument","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-07-11T00:35:32-07:00","username":"horntau","name":"document","url":"https://github.com/horntau/document","language":"","private":false,"created":"2011-07-11T00:35:32-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"aodag","score":8.789819,"pushed":null,"description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-07-15T10:08:45-07:00","username":"aodag","name":"documents","url":"https://github.com/aodag/documents","language":"","private":false,"created":"2011-07-15T10:08:45-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"iineed","score":8.789819,"pushed":"2011-09-18T12:55:03-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":124,"open_issues":0,"created_at":"2011-09-08T10:11:39-07:00","username":"iineed","name":"documentation","url":"https://github.com/iineed/documentation","language":"","private":false,"pushed_at":"2011-09-18T12:55:03-07:00","created":"2011-09-08T10:11:39-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"Progressbar","score":8.789819,"pushed":null,"description":"Dokumenty a subory verejne dostupne a zverejnovane v Progressbar hackerspace","watchers":1,"has_wiki":true,"followers":1,"organization":"Progressbar","fork":false,"size":0,"open_issues":0,"created_at":"2011-09-28T13:14:45-07:00","username":"Progressbar","name":"Documents","url":"https://github.com/Progressbar/Documents","language":"","private":false,"created":"2011-09-28T13:14:45-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"http://d.hatena.ne.jp/yuroyoro/","owner":"yuroyoro","score":8.789819,"pushed":"2008-11-18T18:34:42-08:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2008-11-18T18:32:04-08:00","username":"yuroyoro","name":"documents","url":"https://github.com/yuroyoro/documents","language":"","private":false,"pushed_at":"2008-11-18T18:34:42-08:00","created":"2008-11-18T18:32:04-08:00","forks":0,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"synn","score":8.789819,"pushed":"2009-01-30T01:07:14-08:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":516,"open_issues":0,"created_at":"2008-11-24T04:08:53-08:00","username":"synn","name":"document","url":"https://github.com/synn/document","language":"","private":false,"pushed_at":"2009-01-30T01:07:14-08:00","created":"2008-11-24T04:08:53-08:00","forks":0,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"RaviVaranasi","score":8.789819,"pushed":null,"description":"Container for resume, cover letter etc","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2009-06-14T05:18:51-07:00","username":"RaviVaranasi","name":"Documents","url":"https://github.com/RaviVaranasi/Documents","language":"","private":false,"created":"2009-06-14T05:18:51-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"mrhaydel","score":8.789819,"pushed":null,"description":"My docs for stuff.","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2009-10-27T06:13:38-07:00","username":"mrhaydel","name":"Documentation","url":"https://github.com/mrhaydel/Documentation","language":"","private":false,"created":"2009-10-27T06:13:38-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"fiedlert","score":8.789819,"pushed":"2009-08-20T06:38:17-07:00","description":"Bits of cruft and whitespace that I pick up","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":240,"open_issues":0,"created_at":"2009-08-14T05:41:20-07:00","username":"fiedlert","name":"Documentation","url":"https://github.com/fiedlert/Documentation","private":false,"language":"Shell","pushed_at":"2009-08-20T06:38:17-07:00","created":"2009-08-14T05:41:20-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"jardapoliak","score":8.789819,"pushed":"2010-08-22T12:05:55-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":92,"open_issues":0,"created_at":"2010-08-22T10:36:08-07:00","username":"jardapoliak","name":"documentation","url":"https://github.com/jardapoliak/documentation","language":"","private":false,"pushed_at":"2010-08-22T12:05:55-07:00","created":"2010-08-22T10:36:08-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"zjemcichleb.documentation","owner":"zjemcichleb","score":8.789819,"pushed":null,"description":"doc","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-08-26T03:38:09-07:00","username":"zjemcichleb","name":"Documentation","url":"https://github.com/zjemcichleb/Documentation","language":"","private":false,"created":"2010-08-26T03:38:09-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"jackhouse","score":8.789819,"pushed":"2010-12-13T23:12:08-08:00","description":"雑多なドキュメントのリポジトリ","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":108,"open_issues":0,"created_at":"2010-12-13T19:01:47-08:00","username":"jackhouse","name":"document","url":"https://github.com/jackhouse/document","language":"","private":false,"pushed_at":"2010-12-13T23:12:08-08:00","created":"2010-12-13T19:01:47-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"scottjacobsen","score":8.789819,"pushed":null,"description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2010-12-28T09:31:41-08:00","username":"scottjacobsen","name":"documentation","url":"https://github.com/scottjacobsen/documentation","language":"","private":false,"created":"2010-12-28T09:31:41-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"Amivono","score":8.789819,"pushed":"2011-09-09T15:21:40-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"organization":"Amivono","fork":false,"size":228,"open_issues":0,"created_at":"2011-02-26T08:11:15-08:00","username":"Amivono","name":"documents","url":"https://github.com/Amivono/documents","language":"","private":false,"pushed_at":"2011-09-09T15:21:40-07:00","created":"2011-02-26T08:11:15-08:00","forks":0,"has_issues":false},{"type":"repo","has_downloads":true,"homepage":"","owner":"cessor","score":8.789819,"pushed":null,"description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-03-02T11:02:26-08:00","username":"cessor","name":"documents","url":"https://github.com/cessor/documents","language":"","private":false,"created":"2011-03-02T11:02:26-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"kshitij22","score":8.789819,"pushed":"2011-02-28T21:13:51-08:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":200,"open_issues":0,"created_at":"2011-02-28T11:32:33-08:00","username":"kshitij22","name":"Documentations","url":"https://github.com/kshitij22/Documentations","private":false,"language":"Java","pushed_at":"2011-02-28T21:13:51-08:00","created":"2011-02-28T11:32:33-08:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"solea","score":8.789819,"pushed":null,"description":"cument","watchers":1,"has_wiki":false,"followers":1,"fork":false,"size":0,"open_issues":0,"created_at":"2011-03-27T20:28:06-07:00","username":"solea","name":"document","url":"https://github.com/solea/document","language":"","private":false,"created":"2011-03-27T20:28:06-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"circlsocial","score":8.789819,"pushed":null,"description":"","watchers":1,"has_wiki":true,"followers":1,"organization":"circlsocial","fork":false,"size":0,"open_issues":0,"created_at":"2011-03-28T15:55:48-07:00","username":"circlsocial","name":"documentation","url":"https://github.com/circlsocial/documentation","language":"","private":false,"created":"2011-03-28T15:55:48-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"macmade","score":8.789819,"pushed":"2011-04-03T01:08:59-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":376,"open_issues":0,"created_at":"2011-04-03T01:06:51-07:00","username":"macmade","name":"Documentation","url":"https://github.com/macmade/Documentation","language":"","private":false,"pushed_at":"2011-04-03T01:08:59-07:00","created":"2011-04-03T01:06:51-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"IgoR0604","score":8.789819,"pushed":"2011-04-08T10:22:03-07:00","description":"Lab02","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":121,"open_issues":0,"created_at":"2011-04-06T14:02:09-07:00","username":"IgoR0604","name":"Document","url":"https://github.com/IgoR0604/Document","language":"","private":false,"pushed_at":"2011-04-08T10:22:03-07:00","created":"2011-04-06T14:02:09-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"mayurp","score":8.789819,"pushed":"2011-04-06T14:47:16-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":124,"open_issues":0,"created_at":"2011-04-06T14:46:32-07:00","username":"mayurp","name":"Documents","url":"https://github.com/mayurp/Documents","language":"","private":false,"pushed_at":"2011-04-06T14:47:16-07:00","created":"2011-04-06T14:46:32-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"Amonaum","score":8.789819,"pushed":"2011-04-13T05:52:07-07:00","description":"","watchers":1,"has_wiki":true,"followers":1,"organization":"Amonaum","fork":false,"size":108,"open_issues":0,"created_at":"2011-04-13T05:46:35-07:00","username":"Amonaum","name":"Documents","url":"https://github.com/Amonaum/Documents","language":"","private":false,"pushed_at":"2011-04-13T05:52:07-07:00","created":"2011-04-13T05:46:35-07:00","forks":1,"has_issues":true},{"type":"repo","has_downloads":true,"homepage":"","owner":"sunshinemyson","score":8.789819,"pushed":"2011-09-02T01:31:05-07:00","description":"words","watchers":1,"has_wiki":true,"followers":1,"fork":false,"size":148,"open_issues":0,"created_at":"2011-04-24T19:26:49-07:00","username":"sunshinemyson","name":"Document","url":"https://github.com/sunshinemyson/Document","language":"","private":false,"pushed_at":"2011-09-02T01:31:05-07:00","created":"2011-04-24T19:26:49-07:00","forks":1,"has_issues":true}]} - diff --git a/github/tests/ReplayData/Github.testLegacySearchReposWithLanguage.txt b/github/tests/ReplayData/Github.testLegacySearchReposWithLanguage.txt deleted file mode 100644 index 1fa774b..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchReposWithLanguage.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/legacy/repos/search/document?language=Python -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '58730'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e5b8b7c4009c469b7d50d0ebe243fbcd"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:37:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","created_at":"2010-05-09T21:46:06-07:00","score":81.79961,"owner":"ipython","followers":834,"open_issues":289,"organization":"ipython","username":"ipython","created":"2010-05-09T21:46:06-07:00","integrate_branch":"master","homepage":"http://ipython.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T16:29:38-07:00","forks":282,"fork":false,"size":1204,"name":"ipython","url":"https://github.com/ipython/ipython","description":"Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.","private":false,"pushed":"2012-06-28T16:29:38-07:00","watchers":834,"has_wiki":false},{"type":"repo","created_at":"2009-11-22T15:28:24-08:00","score":81.39696,"owner":"hmarr","followers":829,"open_issues":72,"username":"hmarr","created":"2009-11-22T15:28:24-08:00","integrate_branch":"dev","homepage":"http://mongoengine.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-23T14:24:37-07:00","forks":212,"fork":false,"size":376,"name":"mongoengine","url":"https://github.com/hmarr/mongoengine","description":"A Python Object-Document-Mapper for working with MongoDB","private":false,"pushed":"2012-06-23T14:24:37-07:00","watchers":829,"has_wiki":false},{"type":"repo","created_at":"2011-05-05T11:59:49-07:00","score":38.422153,"owner":"apresta","followers":389,"open_issues":2,"username":"apresta","created":"2011-05-05T11:59:49-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-11T05:43:52-07:00","forks":19,"fork":false,"size":140,"name":"tagger","url":"https://github.com/apresta/tagger","description":"A Python module for extracting relevant tags from text documents.","private":false,"pushed":"2011-08-11T05:43:52-07:00","watchers":389,"has_wiki":true},{"type":"repo","created_at":"2010-06-29T00:02:31-07:00","score":25.798784,"owner":"fitzgen","followers":259,"open_issues":13,"username":"fitzgen","created":"2010-06-29T00:02:31-07:00","homepage":"http://fitzgen.github.com/pycco/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-23T16:07:26-07:00","forks":61,"fork":false,"size":156,"name":"pycco","url":"https://github.com/fitzgen/pycco","description":"Literate-style documentation generator.","private":false,"pushed":"2012-06-23T16:07:26-07:00","watchers":259,"has_wiki":true},{"type":"repo","created_at":"2011-02-03T08:37:15-08:00","score":15.89314,"owner":"rosarior","followers":159,"open_issues":8,"username":"rosarior","created":"2011-02-03T08:37:15-08:00","homepage":"http://www.mayan-edms.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T14:11:59-07:00","forks":31,"fork":false,"size":204,"name":"mayan","url":"https://github.com/rosarior/mayan","description":"Open source, Django based DMS (document management system) with custom metadata indexing, file serving integration, OCR capabilities, document versioning and electronic signature verification.","private":false,"pushed":"2012-06-28T14:11:59-07:00","watchers":159,"has_wiki":true},{"type":"repo","created_at":"2010-04-05T15:03:29-07:00","score":15.098347,"owner":"doctrine","followers":110,"open_issues":13,"organization":"doctrine","username":"doctrine","created":"2010-04-05T15:03:29-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T06:52:05-07:00","forks":79,"fork":false,"size":224,"name":"orm-documentation","url":"https://github.com/doctrine/orm-documentation","description":"Doctrine documentation","private":false,"pushed":"2012-06-28T06:52:05-07:00","watchers":110,"has_wiki":true},{"type":"repo","created_at":"2010-09-23T02:34:18-07:00","score":15.06705,"owner":"jsfiddle","followers":149,"open_issues":81,"organization":"jsfiddle","username":"jsfiddle","created":"2010-09-23T02:34:18-07:00","homepage":"doc.jsfiddle.net","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-31T04:44:25-07:00","forks":36,"fork":false,"size":132,"name":"jsfiddle-docs-alpha","url":"https://github.com/jsfiddle/jsfiddle-docs-alpha","description":"End user documentation for jsFiddle","private":false,"pushed":"2012-05-31T04:44:25-07:00","watchers":149,"has_wiki":true},{"type":"repo","created_at":"2009-01-29T00:22:07-08:00","score":13.821274,"owner":"astraw","followers":138,"open_issues":19,"username":"astraw","created":"2009-01-29T00:22:07-08:00","homepage":"http://pypi.python.org/pypi/stdeb","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-07-30T02:08:17-07:00","forks":24,"fork":false,"size":1176,"name":"stdeb","url":"https://github.com/astraw/stdeb","description":"produces Debian source packages from Python packages (see README.rst for full documentation)","private":false,"pushed":"2010-07-30T02:08:17-07:00","watchers":138,"has_wiki":false},{"type":"repo","created_at":"2009-04-01T04:33:13-07:00","score":12.745697,"owner":"jessegrosjean","followers":86,"open_issues":1,"username":"jessegrosjean","created":"2009-04-01T04:33:13-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-11-03T10:06:54-07:00","forks":12,"fork":false,"size":120,"name":"documents.com","url":"https://github.com/jessegrosjean/documents.com","description":"","private":false,"pushed":"2011-11-03T10:06:54-07:00","watchers":86,"has_wiki":true},{"type":"repo","created_at":"2009-02-02T00:34:22-08:00","score":11.184184,"owner":"mattball","followers":111,"open_issues":6,"username":"mattball","created":"2009-02-02T00:34:22-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-10-19T12:45:49-07:00","forks":8,"fork":false,"size":1372,"name":"doxyclean","url":"https://github.com/mattball/doxyclean","description":"A script to convert Doxygen output to resemble Apple's AppKit documentation","private":false,"pushed":"2011-10-19T12:45:49-07:00","watchers":111,"has_wiki":true},{"type":"repo","created_at":"2010-02-26T05:48:00-08:00","score":9.816803,"owner":"peterbe","followers":97,"open_issues":2,"username":"peterbe","created":"2010-02-26T05:48:00-08:00","integrate_branch":"master","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-09-01T07:58:42-07:00","forks":10,"fork":false,"size":488,"name":"django-mongokit","url":"https://github.com/peterbe/django-mongokit","description":"Bridging Django to MongoDB with the MongoKit ODM (Object Document Mapper)","private":false,"pushed":"2011-09-01T07:58:42-07:00","watchers":97,"has_wiki":true},{"type":"repo","created_at":"2011-09-23T13:57:35-07:00","score":9.304519,"owner":"mongodb","followers":90,"open_issues":0,"organization":"mongodb","username":"mongodb","created":"2011-09-23T13:57:35-07:00","homepage":"http://docs.mongodb.org","has_issues":false,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T13:04:39-07:00","forks":58,"fork":false,"size":676,"name":"docs","url":"https://github.com/mongodb/docs","description":"The MongoDB Documentation Project Source.","private":false,"pushed":"2012-06-28T13:04:39-07:00","watchers":90,"has_wiki":false},{"type":"repo","created_at":"2012-04-18T12:35:38-07:00","score":9.285026,"owner":"enStratus","followers":6,"open_issues":1,"organization":"enStratus","username":"enStratus","created":"2012-04-18T12:35:38-07:00","homepage":"http://docs.enstratus.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-12T20:17:53-07:00","forks":2,"fork":false,"size":376,"name":"documentation","url":"https://github.com/enStratus/documentation","description":"enStratus Documentation","private":false,"pushed":"2012-06-12T20:17:53-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2011-12-01T09:58:56-08:00","score":9.283312,"owner":"Sylius","followers":6,"open_issues":0,"organization":"Sylius","username":"Sylius","created":"2011-12-01T09:58:56-08:00","homepage":"Sylius.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-13T02:36:33-07:00","forks":2,"fork":false,"size":136,"name":"Documentation","url":"https://github.com/Sylius/Documentation","description":"Official documentation repository, hosted on readthedocs.org.","private":false,"pushed":"2012-05-13T02:36:33-07:00","watchers":6,"has_wiki":false},{"type":"repo","created_at":"2011-05-05T09:22:01-07:00","score":8.992015,"owner":"deskmetrics","followers":3,"open_issues":0,"organization":"deskmetrics","username":"deskmetrics","created":"2011-05-05T09:22:01-07:00","homepage":"http://docs.deskmetrics.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-08T08:16:56-07:00","forks":3,"fork":false,"size":254,"name":"Documentation","url":"https://github.com/deskmetrics/Documentation","description":"DeskMetrics Documentation","private":false,"pushed":"2011-08-08T08:16:56-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-03-24T08:18:23-07:00","score":8.992015,"owner":"pika","followers":3,"open_issues":0,"organization":"pika","username":"pika","created":"2011-03-24T08:18:23-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-03-28T22:15:05-07:00","forks":1,"fork":false,"size":344,"name":"documentation","url":"https://github.com/pika/documentation","description":"Pika Sphinx documentation","private":false,"pushed":"2011-03-28T22:15:05-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2008-12-16T02:58:36-08:00","score":8.893489,"owner":"wodzupl20","followers":2,"open_issues":0,"username":"wodzupl20","created":"2008-12-16T02:58:36-08:00","homepage":"http://www.xmpp.org/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2008-12-02T09:11:15-08:00","forks":4,"fork":false,"size":26624,"name":"documentation","url":"https://github.com/wodzupl20/documentation","description":"Mirror of the main Documentation Subversion repository","private":false,"pushed":"2008-12-02T09:11:15-08:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-07-03T13:30:47-07:00","score":8.887489,"owner":"amotl","followers":2,"open_issues":0,"username":"amotl","created":"2011-07-03T13:30:47-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-03-19T03:09:46-07:00","forks":1,"fork":false,"size":176,"name":"documents","url":"https://github.com/amotl/documents","description":"This and that. Non-blocking, asynchronous I/O; Gevent; Python","private":false,"pushed":"2012-03-19T03:09:46-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-11-20T11:56:52-08:00","score":8.798389,"owner":"zipcodeman","followers":1,"open_issues":0,"username":"zipcodeman","created":"2011-11-20T11:56:52-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-01T19:54:17-07:00","forks":1,"fork":false,"size":188,"name":"Documents","url":"https://github.com/zipcodeman/Documents","description":"My Documents","private":false,"pushed":"2012-05-01T19:54:17-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-26T00:58:15-07:00","score":8.798389,"owner":"sposs","followers":1,"open_issues":0,"username":"sposs","created":"2011-05-26T00:58:15-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-07T06:38:33-07:00","forks":1,"fork":false,"size":74696,"name":"Documents","url":"https://github.com/sposs/Documents","description":"My documents","private":false,"pushed":"2012-06-07T06:38:33-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-11-07T07:12:05-08:00","score":8.796675,"owner":"TouchLay","followers":1,"open_issues":0,"organization":"TouchLay","username":"TouchLay","created":"2011-11-07T07:12:05-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-11-19T06:08:01-08:00","forks":1,"fork":false,"size":460,"name":"Documentation","url":"https://github.com/TouchLay/Documentation","description":"TouchLay's Documentations","private":false,"pushed":"2011-11-19T06:08:01-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-02-13T15:08:30-08:00","score":8.796675,"owner":"a-sk","followers":1,"open_issues":0,"username":"a-sk","created":"2012-02-13T15:08:30-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-02-18T06:27:45-08:00","forks":1,"fork":false,"size":276,"name":"Documenter","url":"https://github.com/a-sk/Documenter","description":"Sublimetext documentation writing plugin","private":false,"pushed":"2012-02-18T06:27:45-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-01-31T03:06:00-08:00","score":8.795818,"owner":"geomatico","followers":1,"open_issues":0,"organization":"geomatico","username":"geomatico","created":"2012-01-31T03:06:00-08:00","homepage":"http://geomati.co","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-11T08:26:33-07:00","forks":1,"fork":false,"size":1992,"name":"documentation","url":"https://github.com/geomatico/documentation","description":"Geomati.co developer documentation","private":false,"pushed":"2012-04-11T08:26:33-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2009-09-19T23:56:24-07:00","score":8.794961,"owner":"aliter","followers":1,"open_issues":0,"organization":"aliter","username":"aliter","created":"2009-09-19T23:56:24-07:00","homepage":"http://projectaliter.com/documentation/","has_issues":false,"has_downloads":false,"language":"Python","pushed_at":"2011-06-05T01:30:17-07:00","forks":1,"fork":false,"size":352,"name":"documentation","url":"https://github.com/aliter/documentation","description":"Aliter's documentation on GitHub Pages.","private":false,"pushed":"2011-06-05T01:30:17-07:00","watchers":1,"has_wiki":false},{"type":"repo","created_at":"2012-01-02T06:11:35-08:00","score":8.789819,"owner":"plaguemorin","followers":1,"open_issues":0,"username":"plaguemorin","created":"2012-01-02T06:11:35-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-01-03T05:23:05-08:00","forks":1,"fork":false,"size":188,"name":"Documents","url":"https://github.com/plaguemorin/Documents","description":"","private":false,"pushed":"2012-01-03T05:23:05-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-03-10T04:52:36-08:00","score":8.789819,"owner":"masasuzu","followers":1,"open_issues":0,"username":"masasuzu","created":"2011-03-10T04:52:36-08:00","homepage":"http://masasuzu.github.com/document/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-03T04:17:47-07:00","forks":1,"fork":false,"size":3056,"name":"document","url":"https://github.com/masasuzu/document","description":"いろいろな資料","private":false,"pushed":"2012-06-03T04:17:47-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-10T09:09:22-07:00","score":8.789819,"owner":"pborky","followers":1,"open_issues":0,"username":"pborky","created":"2011-05-10T09:09:22-07:00","homepage":"http://www.pborky.sk/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-06T12:59:26-07:00","forks":1,"fork":false,"size":4868,"name":"documents","url":"https://github.com/pborky/documents","description":"","private":false,"pushed":"2012-06-06T12:59:26-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2010-12-25T21:21:21-08:00","score":8.694565,"owner":"Pylons","followers":82,"open_issues":0,"organization":"Pylons","username":"Pylons","created":"2010-12-25T21:21:21-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-17T00:14:17-07:00","forks":36,"fork":false,"size":216,"name":"pyramid_cookbook","url":"https://github.com/Pylons/pyramid_cookbook","description":"Pyramid cookbook recipes (documentation)","private":false,"pushed":"2012-06-17T00:14:17-07:00","watchers":82,"has_wiki":true},{"type":"repo","created_at":"2011-04-11T10:22:04-07:00","score":8.449423,"owner":"dagwieers","followers":83,"open_issues":18,"username":"dagwieers","created":"2011-04-11T10:22:04-07:00","homepage":"http://dag.wieers.com/home-made/unoconv/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-22T06:45:00-07:00","forks":21,"fork":false,"size":474,"name":"unoconv","url":"https://github.com/dagwieers/unoconv","description":"Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.","private":false,"pushed":"2012-05-22T06:45:00-07:00","watchers":83,"has_wiki":true},{"type":"repo","created_at":"2010-05-20T13:20:33-07:00","score":7.965925,"owner":"doctrine","followers":37,"open_issues":2,"organization":"doctrine","username":"doctrine","created":"2010-05-20T13:20:33-07:00","homepage":"http://www.doctrine-project.org/projects/mongodb_odm","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-27T11:18:06-07:00","forks":27,"fork":false,"size":188,"name":"mongodb-odm-documentation","url":"https://github.com/doctrine/mongodb-odm-documentation","description":"Doctrine MongoDB Object Document Mapper (ODM) Documentation","private":false,"pushed":"2012-06-27T11:18:06-07:00","watchers":37,"has_wiki":true},{"type":"repo","created_at":"2011-07-18T13:29:40-07:00","score":7.961073,"owner":"wallix","followers":78,"open_issues":0,"organization":"wallix","username":"wallix","created":"2011-07-18T13:29:40-07:00","homepage":"http://www.wallix.org/pylogsparser-project/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-13T09:15:09-07:00","forks":7,"fork":false,"size":160,"name":"pylogsparser","url":"https://github.com/wallix/pylogsparser","description":"Library for Log parsing in Python - get the documentation at http://wallix.github.com/pylogsparser/","private":false,"pushed":"2012-06-13T09:15:09-07:00","watchers":78,"has_wiki":true},{"type":"repo","created_at":"2010-07-06T11:28:10-07:00","score":7.4766574,"owner":"cguardia","followers":32,"open_issues":0,"username":"cguardia","created":"2010-07-06T11:28:10-07:00","homepage":"http://zodbdocs.blogspot.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-09-26T17:05:09-07:00","forks":7,"fork":false,"size":252,"name":"ZODB-Documentation","url":"https://github.com/cguardia/ZODB-Documentation","description":"Community supported documentation for the Z Object Data Base","private":false,"pushed":"2011-09-26T17:05:09-07:00","watchers":32,"has_wiki":true},{"type":"repo","created_at":"2011-05-19T22:57:28-07:00","score":7.4487886,"owner":"bigjason","followers":72,"open_issues":3,"username":"bigjason","created":"2011-05-19T22:57:28-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-02-25T00:39:21-08:00","forks":2,"fork":false,"size":116,"name":"datatree","url":"https://github.com/bigjason/datatree","description":"Pythonic, low noise structured document authoring","private":false,"pushed":"2012-02-25T00:39:21-08:00","watchers":72,"has_wiki":true},{"type":"repo","created_at":"2012-04-17T12:39:42-07:00","score":7.4487886,"owner":"jokull","followers":71,"open_issues":0,"username":"jokull","created":"2012-04-17T12:39:42-07:00","homepage":"http://calepin.co/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-26T07:12:28-07:00","forks":10,"fork":false,"size":124,"name":"calepin","url":"https://github.com/jokull/calepin","description":"Publish your markdown documents with the Dropbox API","private":false,"pushed":"2012-06-26T07:12:28-07:00","watchers":71,"has_wiki":true},{"type":"repo","created_at":"2009-09-05T08:58:24-07:00","score":6.732916,"owner":"jessegrosjean","followers":30,"open_issues":0,"username":"jessegrosjean","created":"2009-09-05T08:58:24-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-03-10T12:52:23-08:00","forks":5,"fork":false,"size":504,"name":"Documents.com.client.python","url":"https://github.com/jessegrosjean/Documents.com.client.python","description":"","private":false,"pushed":"2010-03-10T12:52:23-08:00","watchers":30,"has_wiki":true},{"type":"repo","created_at":"2008-07-19T08:52:59-07:00","score":6.6793957,"owner":"FooBarWidget","followers":64,"open_issues":0,"username":"FooBarWidget","created":"2008-07-19T08:52:59-07:00","homepage":"https://github.com/FooBarWidget/mizuho","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-28T03:21:35-07:00","forks":2,"fork":false,"size":164,"name":"mizuho","url":"https://github.com/FooBarWidget/mizuho","description":"Documentation formatting tool. Converts Asciidoc input into nicely formatted HTML.","private":false,"pushed":"2012-05-28T03:21:35-07:00","watchers":64,"has_wiki":true},{"type":"repo","created_at":"2010-04-06T11:12:45-07:00","score":6.5993414,"owner":"doctrine","followers":23,"open_issues":3,"organization":"doctrine","username":"doctrine","created":"2010-04-06T11:12:45-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-16T01:00:00-07:00","forks":11,"fork":false,"size":180,"name":"doctrine1-documentation","url":"https://github.com/doctrine/doctrine1-documentation","description":"Documentation for Doctrine 1","private":false,"pushed":"2012-06-16T01:00:00-07:00","watchers":23,"has_wiki":true},{"type":"repo","created_at":"2011-09-29T00:21:08-07:00","score":6.585479,"owner":"kemayo","followers":34,"open_issues":5,"username":"kemayo","created":"2011-09-29T00:21:08-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-06T01:38:50-07:00","forks":9,"fork":false,"size":132,"name":"sublime-text-2-goto-documentation","url":"https://github.com/kemayo/sublime-text-2-goto-documentation","description":"Sublime Text 2 plugin to go to documentation","private":false,"pushed":"2012-06-06T01:38:50-07:00","watchers":34,"has_wiki":true},{"type":"repo","created_at":"2010-04-07T11:57:56-07:00","score":6.2078037,"owner":"doctrine","followers":19,"open_issues":0,"organization":"doctrine","username":"doctrine","created":"2010-04-07T11:57:56-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-25T01:33:38-07:00","forks":10,"fork":false,"size":156,"name":"dbal-documentation","url":"https://github.com/doctrine/dbal-documentation","description":"Documentation files for the Doctrine 2 DBAL","private":false,"pushed":"2012-06-25T01:33:38-07:00","watchers":19,"has_wiki":true},{"type":"repo","created_at":"2009-12-15T11:18:56-08:00","score":5.9837384,"owner":"bradfitz","followers":56,"open_issues":0,"username":"bradfitz","created":"2009-12-15T11:18:56-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-11T10:56:35-07:00","forks":6,"fork":false,"size":276,"name":"scanningcabinet","url":"https://github.com/bradfitz/scanningcabinet","description":"Document Management System (scanner -> appengine blobs)","private":false,"pushed":"2011-08-11T10:56:35-07:00","watchers":56,"has_wiki":true},{"type":"repo","created_at":"2009-07-08T16:22:59-07:00","score":5.9156513,"owner":"rapidsms","followers":16,"open_issues":6,"organization":"rapidsms","username":"rapidsms","created":"2009-07-08T16:22:59-07:00","homepage":"http://docs.rapidsms.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-05T02:03:11-07:00","forks":9,"fork":false,"size":160,"name":"rapidsms-documentation","url":"https://github.com/rapidsms/rapidsms-documentation","description":"Documentation for RapidSMS","private":false,"pushed":"2011-08-05T02:03:11-07:00","watchers":16,"has_wiki":true},{"type":"repo","created_at":"2010-05-23T12:45:20-07:00","score":5.9100027,"owner":"paltman","followers":57,"open_issues":2,"username":"paltman","created":"2010-05-23T12:45:20-07:00","homepage":"http://packages.python.org/django-pdf/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-06-30T20:24:33-07:00","forks":11,"fork":false,"size":592,"name":"django-pdf","url":"https://github.com/paltman/django-pdf","description":"Manage uploaded documents (pdfs) with backend cloud processing of the pdfs into individual pngs per page","private":false,"pushed":"2010-06-30T20:24:33-07:00","watchers":57,"has_wiki":true},{"type":"repo","created_at":"2010-08-02T13:28:23-07:00","score":5.620927,"owner":"doctrine","followers":13,"open_issues":0,"organization":"doctrine","username":"doctrine","created":"2010-08-02T13:28:23-07:00","homepage":"http://www.doctrine-project.org/projects/common","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-27T06:53:53-07:00","forks":7,"fork":false,"size":400,"name":"common-documentation","url":"https://github.com/doctrine/common-documentation","description":"Documentation for the common Doctrine PHP extensions library.","private":false,"pushed":"2012-06-27T06:53:53-07:00","watchers":13,"has_wiki":true},{"type":"repo","created_at":"2011-02-19T14:56:14-08:00","score":5.5232573,"owner":"datadesk","followers":12,"open_issues":10,"organization":"datadesk","username":"datadesk","created":"2011-02-19T14:56:14-08:00","homepage":"http://document-stacker.appspot.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-16T11:35:06-07:00","forks":2,"fork":false,"size":116,"name":"latimes-document-stacker","url":"https://github.com/datadesk/latimes-document-stacker","description":"Use DocumentCloud to publish PDFs for humans.","private":false,"pushed":"2011-08-16T11:35:06-07:00","watchers":12,"has_wiki":true},{"type":"repo","created_at":"2010-04-22T08:51:01-07:00","score":5.4273014,"owner":"doctrine","followers":11,"open_issues":1,"organization":"doctrine","username":"doctrine","created":"2010-04-22T08:51:01-07:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-29T04:37:15-07:00","forks":3,"fork":false,"size":228,"name":"migrations-documentation","url":"https://github.com/doctrine/migrations-documentation","description":"Documentation for the Doctrine Migrations","private":false,"pushed":"2012-06-29T04:37:15-07:00","watchers":11,"has_wiki":true},{"type":"repo","created_at":"2012-01-23T16:40:31-08:00","score":5.3857517,"owner":"sjl","followers":49,"open_issues":1,"username":"sjl","created":"2012-01-23T16:40:31-08:00","homepage":"http://sjl.bitbucket.org/d/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-03-14T14:25:05-07:00","forks":6,"fork":false,"size":280,"name":"d","url":"https://github.com/sjl/d","description":"Markdown files to documentation. Nothing else.","private":false,"pushed":"2012-03-14T14:25:05-07:00","watchers":49,"has_wiki":true},{"type":"repo","created_at":"2011-02-13T07:27:47-08:00","score":5.034907,"owner":"doctrine","followers":7,"open_issues":0,"organization":"doctrine","username":"doctrine","created":"2011-02-13T07:27:47-08:00","homepage":"http://www.doctrine-project.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-04T04:29:03-07:00","forks":6,"fork":false,"size":144,"name":"couchdb-documentation","url":"https://github.com/doctrine/couchdb-documentation","description":"Documentation for Doctrine CouchDB ODM","private":false,"pushed":"2012-04-04T04:29:03-07:00","watchers":7,"has_wiki":true},{"type":"repo","created_at":"2012-01-17T02:20:53-08:00","score":4.937237,"owner":"openmicroscopy","followers":6,"open_issues":1,"organization":"openmicroscopy","username":"openmicroscopy","created":"2012-01-17T02:20:53-08:00","homepage":"http://openmicroscopy.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-11T01:40:42-07:00","forks":5,"fork":false,"size":288,"name":"ome-documentation","url":"https://github.com/openmicroscopy/ome-documentation","description":"Sphinx-based documentation for the Open Microscopy Environment ","private":false,"pushed":"2012-04-11T01:40:42-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2011-11-23T02:58:02-08:00","score":4.9320946,"owner":"trigger-corp","followers":6,"open_issues":1,"organization":"trigger-corp","username":"trigger-corp","created":"2011-11-23T02:58:02-08:00","homepage":"https://webmynd.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T21:55:54-07:00","forks":2,"fork":false,"size":284,"name":"Forge-Documentation","url":"https://github.com/trigger-corp/Forge-Documentation","description":"","private":false,"pushed":"2012-06-28T21:55:54-07:00","watchers":6,"has_wiki":true},{"type":"repo","created_at":"2011-12-14T01:01:14-08:00","score":4.8395667,"owner":"simod","followers":5,"open_issues":5,"username":"simod","created":"2011-12-14T01:01:14-08:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-02-09T13:18:00-08:00","forks":4,"fork":false,"size":124,"name":"geonode-documents","url":"https://github.com/simod/geonode-documents","description":"Document handling extension for GeoNode","private":false,"pushed":"2012-02-09T13:18:00-08:00","watchers":5,"has_wiki":true},{"type":"repo","created_at":"2008-12-28T22:46:04-08:00","score":4.823665,"owner":"brosner","followers":45,"open_issues":0,"username":"brosner","created":"2008-12-28T22:46:04-08:00","homepage":"http://appdocs.oebfare.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2008-12-29T11:24:17-08:00","forks":24,"fork":false,"size":264,"name":"django-reusable-app-docs","url":"https://github.com/brosner/django-reusable-app-docs","description":"Documentation about how to write and maintain a Django reusable app.","private":false,"pushed":"2008-12-29T11:24:17-08:00","watchers":45,"has_wiki":true},{"type":"repo","created_at":"2011-02-17T08:10:23-08:00","score":4.7877645,"owner":"Behat","followers":42,"open_issues":1,"organization":"Behat","username":"Behat","created":"2011-02-17T08:10:23-08:00","homepage":"http://docs.behat.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-27T16:41:49-07:00","forks":22,"fork":false,"size":228,"name":"en-docs.behat.org","url":"https://github.com/Behat/en-docs.behat.org","description":"Behat Documentation Repository","private":false,"pushed":"2012-06-27T16:41:49-07:00","watchers":42,"has_wiki":false},{"type":"repo","created_at":"2011-11-27T06:37:09-08:00","score":4.7436113,"owner":"ninja-ide","followers":4,"open_issues":1,"organization":"ninja-ide","username":"ninja-ide","created":"2011-11-27T06:37:09-08:00","homepage":"http://ninja-ide.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-03-29T10:06:34-07:00","forks":3,"fork":false,"size":128,"name":"ninja-ide-documentation","url":"https://github.com/ninja-ide/ninja-ide-documentation","description":"Documentation for NINJA-IDE","private":false,"pushed":"2012-03-29T10:06:34-07:00","watchers":4,"has_wiki":true},{"type":"repo","created_at":"2011-10-12T00:55:30-07:00","score":4.7367544,"owner":"pdebuyl","followers":4,"open_issues":0,"username":"pdebuyl","created":"2011-10-12T00:55:30-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-03-02T02:24:49-08:00","forks":4,"fork":false,"size":116,"name":"euroscipy2012_document","url":"https://github.com/pdebuyl/euroscipy2012_document","description":"","private":false,"pushed":"2012-03-02T02:24:49-08:00","watchers":4,"has_wiki":true},{"type":"repo","created_at":"2010-01-06T14:16:16-08:00","score":4.690094,"owner":"tbaugis","followers":41,"open_issues":6,"username":"tbaugis","created":"2010-01-06T14:16:16-08:00","homepage":"http://wiki.github.com/tbaugis/hamster_experiments/","has_issues":true,"has_downloads":false,"language":"Python","pushed_at":"2012-06-12T09:37:16-07:00","forks":3,"fork":false,"size":444,"name":"hamster_experiments","url":"https://github.com/tbaugis/hamster_experiments","description":"Follow the link for documentation:","private":false,"pushed":"2012-06-12T09:37:16-07:00","watchers":41,"has_wiki":true},{"type":"repo","created_at":"2011-03-29T02:29:34-07:00","score":4.6459413,"owner":"Tryton-EvKliD","followers":3,"open_issues":0,"organization":"Tryton-EvKliD","username":"Tryton-EvKliD","created":"2011-03-29T02:29:34-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-03-30T22:27:50-07:00","forks":1,"fork":false,"size":6957,"name":"ekd_documents","url":"https://github.com/Tryton-EvKliD/ekd_documents","description":"module for Tryton (Documents)","private":false,"pushed":"2011-03-30T22:27:50-07:00","watchers":3,"has_wiki":false},{"type":"repo","created_at":"2011-02-07T22:59:53-08:00","score":4.6459413,"owner":"yosuke","followers":3,"open_issues":0,"username":"yosuke","created":"2011-02-07T22:59:53-08:00","homepage":"http://openhri.net/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-12-05T22:41:17-08:00","forks":3,"fork":false,"size":1108,"name":"OpenHRI-document","url":"https://github.com/yosuke/OpenHRI-document","description":"Documentation for OpenHRI","private":false,"pushed":"2011-12-05T22:41:17-08:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2010-09-30T08:54:44-07:00","score":4.64337,"owner":"powellc","followers":3,"open_issues":0,"username":"powellc","created":"2010-09-30T08:54:44-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-03-29T08:25:44-07:00","forks":2,"fork":false,"size":416,"name":"django-documents","url":"https://github.com/powellc/django-documents","description":"Manages documents, allows them to be handled a bit like tags","private":false,"pushed":"2011-03-29T08:25:44-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-05-25T08:04:47-07:00","score":4.64337,"owner":"alchemy-fr","followers":3,"open_issues":0,"organization":"alchemy-fr","username":"alchemy-fr","created":"2012-05-25T08:04:47-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-18T06:54:37-07:00","forks":2,"fork":false,"size":144,"name":"Documentation-Boilerplate","url":"https://github.com/alchemy-fr/Documentation-Boilerplate","description":"A sphinx documentation boilerplate for Alchemy open source projects","private":false,"pushed":"2012-06-18T06:54:37-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2010-06-13T18:38:37-07:00","score":4.639085,"owner":"hflw","followers":3,"open_issues":0,"username":"hflw","created":"2010-06-13T18:38:37-07:00","homepage":"http://www.persvr.org/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-07-28T00:43:27-07:00","forks":1,"fork":false,"size":172,"name":"Persevere-Documentation","url":"https://github.com/hflw/Persevere-Documentation","description":"Better docs for persevere 2.0","private":false,"pushed":"2010-07-28T00:43:27-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-07-26T06:11:40-07:00","score":4.639085,"owner":"cgsoftware","followers":3,"open_issues":0,"organization":"cgsoftware","username":"cgsoftware","created":"2011-07-26T06:11:40-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-12T07:40:26-07:00","forks":1,"fork":false,"size":1352,"name":"ItalianFiscalDocument","url":"https://github.com/cgsoftware/ItalianFiscalDocument","description":"Gestione documenti di Vendita e di Acquisto Openerp","private":false,"pushed":"2012-06-12T07:40:26-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-04-27T03:18:50-07:00","score":4.639085,"owner":"noum","followers":3,"open_issues":0,"username":"noum","created":"2011-04-27T03:18:50-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-14T03:39:16-07:00","forks":2,"fork":false,"size":132,"name":"documentation-achrolab","url":"https://github.com/noum/documentation-achrolab","description":"","private":false,"pushed":"2012-06-14T03:39:16-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2012-02-16T07:19:34-08:00","score":4.639085,"owner":"Alerion","followers":3,"open_issues":2,"username":"Alerion","created":"2012-02-16T07:19:34-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-18T08:31:55-07:00","forks":2,"fork":false,"size":232,"name":"django_documentation","url":"https://github.com/Alerion/django_documentation","description":"","private":false,"pushed":"2012-06-18T08:31:55-07:00","watchers":3,"has_wiki":true},{"type":"repo","created_at":"2011-04-30T21:40:32-07:00","score":4.548271,"owner":"richardfullmer","followers":2,"open_issues":0,"username":"richardfullmer","created":"2011-04-30T21:40:32-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-04-30T22:18:08-07:00","forks":1,"fork":false,"size":684,"name":"oxm-documentation","url":"https://github.com/richardfullmer/oxm-documentation","description":"Doctrine OXM Documentation","private":false,"pushed":"2011-04-30T22:18:08-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-02-08T04:29:40-08:00","score":4.547414,"owner":"aptivate","followers":2,"open_issues":0,"organization":"aptivate","username":"aptivate","created":"2012-02-08T04:29:40-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-27T02:18:31-07:00","forks":1,"fork":false,"size":824,"name":"intranet-documents","url":"https://github.com/aptivate/intranet-documents","description":"Generic Intranet, Document Store application","private":false,"pushed":"2012-06-27T02:18:31-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-09-19T17:46:57-07:00","score":4.546557,"owner":"NBitWonder","followers":2,"open_issues":0,"username":"NBitWonder","created":"2011-09-19T17:46:57-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-09-23T11:20:36-07:00","forks":1,"fork":false,"size":280,"name":"OpenDocumentationSystem","url":"https://github.com/NBitWonder/OpenDocumentationSystem","description":"OpenOffice-based project documentation templates","private":false,"pushed":"2011-09-23T11:20:36-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2010-12-16T00:44:55-08:00","score":4.5457,"owner":"bluedynamics","followers":2,"open_issues":0,"organization":"bluedynamics","username":"bluedynamics","created":"2010-12-16T00:44:55-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-22T08:02:15-07:00","forks":2,"fork":false,"size":252,"name":"yafowil.documentation","url":"https://github.com/bluedynamics/yafowil.documentation","description":"Documentation of YAFOWIL - Yet Another Form Widget Library (Python, Web)","private":false,"pushed":"2012-06-22T08:02:15-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-12-17T04:44:26-08:00","score":4.5457,"owner":"zyga","followers":2,"open_issues":0,"username":"zyga","created":"2011-12-17T04:44:26-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-13T14:17:48-07:00","forks":1,"fork":false,"size":424,"name":"json-document","url":"https://github.com/zyga/json-document","description":"Intuitive and powerful python bindings to JSON documents (with schema!)","private":false,"pushed":"2012-05-13T14:17:48-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2011-11-22T07:02:00-08:00","score":4.5444446,"owner":"raprasad","followers":2,"open_issues":0,"username":"raprasad","created":"2011-11-22T07:02:00-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-16T11:15:06-07:00","forks":1,"fork":false,"size":204,"name":"Simple-Project-Documentation","url":"https://github.com/raprasad/Simple-Project-Documentation","description":"Django admin interface/database to store basic information on existing projects/services. e.g., server location, codebase, who to contact for help, etc. Allow exporting of the documentation to static HTML--in case the documentation site itself is unavailable.","private":false,"pushed":"2012-05-16T11:15:06-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-06-06T04:53:24-07:00","score":4.5414147,"owner":"shinriyo","followers":2,"open_issues":0,"username":"shinriyo","created":"2012-06-06T04:53:24-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-08T02:37:54-07:00","forks":1,"fork":false,"size":1452,"name":"NGUI-japanese-document","url":"https://github.com/shinriyo/NGUI-japanese-document","description":"The translated from http://www.tasharen.com/?page_id=197 to Japanese","private":false,"pushed":"2012-06-08T02:37:54-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2012-06-20T02:49:07-07:00","score":4.5414147,"owner":"nfms4redd","followers":2,"open_issues":0,"organization":"nfms4redd","username":"nfms4redd","created":"2012-06-20T02:49:07-07:00","has_issues":true,"language":"Python","has_downloads":true,"pushed_at":"2012-06-25T13:25:17-07:00","forks":1,"fork":false,"size":2512,"name":"nfms-documentation","url":"https://github.com/nfms4redd/nfms-documentation","description":"","private":false,"pushed":"2012-06-25T13:25:17-07:00","watchers":2,"has_wiki":true},{"type":"repo","created_at":"2010-08-18T11:35:30-07:00","score":4.451017,"owner":"nyxtom","followers":1,"open_issues":0,"username":"nyxtom","created":"2010-08-18T11:35:30-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-08-18T12:27:29-07:00","forks":1,"fork":false,"size":120,"name":"django-documents","url":"https://github.com/nyxtom/django-documents","description":"A simple manager of documents, document versions and attributes.","private":false,"pushed":"2010-08-18T12:27:29-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-06-02T04:34:28-07:00","score":4.450601,"owner":"gracefullife","followers":1,"open_issues":0,"username":"gracefullife","created":"2011-06-02T04:34:28-07:00","homepage":"http://d.hatena.ne.jp/graceful_life/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-07-28T08:24:49-07:00","forks":1,"fork":false,"size":100,"name":"GerritDocument_Ja","url":"https://github.com/gracefullife/GerritDocument_Ja","description":"Translated Gerrit Document to Japanese","private":false,"pushed":"2011-07-28T08:24:49-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-03-20T20:33:30-07:00","score":4.450601,"owner":"servee","followers":1,"open_issues":0,"organization":"servee","username":"servee","created":"2011-03-20T20:33:30-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-11-21T09:46:08-08:00","forks":1,"fork":false,"size":860,"name":"django-servee-document","url":"https://github.com/servee/django-servee-document","description":"Document Plugin for Servee","private":false,"pushed":"2011-11-21T09:46:08-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-26T00:19:25-07:00","score":4.450601,"owner":"alexgarel","followers":1,"open_issues":0,"username":"alexgarel","created":"2011-05-26T00:19:25-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-19T11:05:25-07:00","forks":1,"fork":false,"size":1304,"name":"document-chain","url":"https://github.com/alexgarel/document-chain","description":"A document transformation chain","private":false,"pushed":"2012-06-19T11:05:25-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-06-25T14:23:40-07:00","score":4.450601,"owner":"iunruh","followers":1,"open_issues":0,"username":"iunruh","created":"2012-06-25T14:23:40-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-25T19:34:08-07:00","forks":1,"fork":false,"size":128,"name":"frost-api-documentation","url":"https://github.com/iunruh/frost-api-documentation","description":"Frost MSP API Documentation","private":false,"pushed":"2012-06-25T19:34:08-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-12T02:51:25-07:00","score":4.4497437,"owner":"cuteflow","followers":1,"open_issues":0,"organization":"cuteflow","username":"cuteflow","created":"2011-05-12T02:51:25-07:00","homepage":"www.cuteflow.org","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-09T05:25:30-07:00","forks":2,"fork":false,"size":172,"name":"cuteflow-documentation","url":"https://github.com/cuteflow/cuteflow-documentation","description":"Documentation for the CuteFlow project","private":false,"pushed":"2011-08-09T05:25:30-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-04-21T09:17:09-07:00","score":4.4497437,"owner":"timvieira","followers":1,"open_issues":0,"username":"timvieira","created":"2012-04-21T09:17:09-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-21T16:58:11-07:00","forks":1,"fork":false,"size":144,"name":"document-explorer","url":"https://github.com/timvieira/document-explorer","description":"Too many documents on the hard drive...","private":false,"pushed":"2012-04-21T16:58:11-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-03-29T09:17:08-07:00","score":4.448887,"owner":"hugosantosred","followers":1,"open_issues":0,"username":"hugosantosred","created":"2012-03-29T09:17:08-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-27T09:19:28-07:00","forks":1,"fork":false,"size":176,"name":"dropbox_document_manager","url":"https://github.com/hugosantosred/dropbox_document_manager","description":"Document Manager With Dropbox for OpenERP","private":false,"pushed":"2012-05-27T09:19:28-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-05-02T07:36:05-07:00","score":4.448887,"owner":"benoitbryon","followers":1,"open_issues":9,"username":"benoitbryon","created":"2012-05-02T07:36:05-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-31T11:28:01-07:00","forks":1,"fork":false,"size":220,"name":"documentation-best-practices","url":"https://github.com/benoitbryon/documentation-best-practices","description":"Tips, tricks and conventions about documentation content.","private":false,"pushed":"2012-05-31T11:28:01-07:00","watchers":1,"has_wiki":false},{"type":"repo","created_at":"2011-02-10T08:20:54-08:00","score":4.4485927,"owner":"conwetlab","followers":1,"open_issues":0,"organization":"conwetlab","username":"conwetlab","created":"2011-02-10T08:20:54-08:00","homepage":"http://exlabos.blogspot.com","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-02-11T07:45:23-08:00","forks":1,"fork":false,"size":280,"name":"Markdown-Documentation","url":"https://github.com/conwetlab/Markdown-Documentation","description":"Markdown extensions to produce HTML code documentation. It is an environment prepared to offer fancy HTML outputs for extended markdown documents","private":false,"pushed":"2011-02-11T07:45:23-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-07-06T13:49:36-07:00","score":4.44803,"owner":"rhoslug","followers":1,"open_issues":0,"username":"rhoslug","created":"2011-07-06T13:49:36-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-08-10T13:59:51-07:00","forks":1,"fork":false,"size":188,"name":"Document_Tokenizer","url":"https://github.com/rhoslug/Document_Tokenizer","description":"A set of tools to tokenize and extract information from documents.","private":false,"pushed":"2011-08-10T13:59:51-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-06-22T19:26:15-07:00","score":4.44803,"owner":"srichand","followers":1,"open_issues":0,"username":"srichand","created":"2011-06-22T19:26:15-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-02-17T19:57:01-08:00","forks":1,"fork":false,"size":108,"name":"DocumentGenerator","url":"https://github.com/srichand/DocumentGenerator","description":"Generates nice LaTeX documents from web pages","private":false,"pushed":"2012-02-17T19:57:01-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-05-02T07:38:13-07:00","score":4.44803,"owner":"benoitbryon","followers":1,"open_issues":1,"username":"benoitbryon","created":"2012-05-02T07:38:13-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-31T13:57:03-07:00","forks":1,"fork":false,"size":124,"name":"documentation-templates-sphinx","url":"https://github.com/benoitbryon/documentation-templates-sphinx","description":"Template(s) to generate Sphinx-based documentations.","private":false,"pushed":"2012-05-31T13:57:03-07:00","watchers":1,"has_wiki":false},{"type":"repo","created_at":"2012-04-06T09:09:50-07:00","score":4.446316,"owner":"dae-eklen","followers":1,"open_issues":0,"username":"dae-eklen","created":"2012-04-06T09:09:50-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-06T09:13:19-07:00","forks":1,"fork":false,"size":96,"name":"Remote-documents-viewer","url":"https://github.com/dae-eklen/Remote-documents-viewer","description":"a remote documents viewer with CLI: concurrent server administrates a set of files in a directory; the client asks for files and information about them according to preestablished protocol","private":false,"pushed":"2012-04-06T09:13:19-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2010-10-05T13:29:59-07:00","score":4.4437447,"owner":"jbillsx","followers":1,"open_issues":0,"username":"jbillsx","created":"2010-10-05T13:29:59-07:00","homepage":"http://www.facebook.com/home.php?sk=group_108466959215982","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2010-10-07T17:59:39-07:00","forks":1,"fork":false,"size":216,"name":"Iggy-Document-Editor","url":"https://github.com/jbillsx/Iggy-Document-Editor","description":"A real time collaborative editor written in python, php, and AJAX","private":false,"pushed":"2010-10-07T17:59:39-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-24T06:54:31-07:00","score":4.4437447,"owner":"imait","followers":1,"open_issues":0,"username":"imait","created":"2011-05-24T06:54:31-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-05-24T06:57:35-07:00","forks":1,"fork":false,"size":124,"name":"HtmlDocument","url":"https://github.com/imait/HtmlDocument","description":"HTML -- Assist to make HTML.","private":false,"pushed":"2011-05-24T06:57:35-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-05-07T13:23:51-07:00","score":4.4437447,"owner":"dnephin","followers":1,"open_issues":0,"username":"dnephin","created":"2011-05-07T13:23:51-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-05-10T22:04:43-07:00","forks":1,"fork":false,"size":800,"name":"Find-Similar-Documents","url":"https://github.com/dnephin/Find-Similar-Documents","description":"","private":false,"pushed":"2011-05-10T22:04:43-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-07-24T00:33:46-07:00","score":4.4437447,"owner":"cametan001","followers":1,"open_issues":0,"username":"cametan001","created":"2011-07-24T00:33:46-07:00","homepage":"http://www.oreilly.co.jp/books/9784873113647/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-07-29T06:51:09-07:00","forks":1,"fork":false,"size":124,"name":"document_filtering","url":"https://github.com/cametan001/document_filtering","description":"集合知プログラミングでのベイジアンフィルタ","private":false,"pushed":"2011-07-29T06:51:09-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-07-12T01:47:29-07:00","score":4.4437447,"owner":"Zojax","followers":1,"open_issues":0,"organization":"Zojax","username":"Zojax","created":"2011-07-12T01:47:29-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-12-15T23:14:00-08:00","forks":1,"fork":false,"size":168,"name":"zojax.contenttype.document","url":"https://github.com/Zojax/zojax.contenttype.document","description":"","private":false,"pushed":"2011-12-15T23:14:00-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-07-12T02:58:28-07:00","score":4.4437447,"owner":"Zojax","followers":1,"open_issues":0,"organization":"Zojax","username":"Zojax","created":"2011-07-12T02:58:28-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2011-12-15T23:12:05-08:00","forks":1,"fork":false,"size":184,"name":"zojax.content.documents","url":"https://github.com/Zojax/zojax.content.documents","description":"","private":false,"pushed":"2011-12-15T23:12:05-08:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-04-28T03:21:43-07:00","score":4.4437447,"owner":"chedabob","followers":1,"open_issues":0,"username":"chedabob","created":"2012-04-28T03:21:43-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-28T13:50:13-07:00","forks":1,"fork":false,"size":156,"name":"DocumentStore","url":"https://github.com/chedabob/DocumentStore","description":"","private":false,"pushed":"2012-04-28T13:50:13-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2011-08-04T10:31:54-07:00","score":4.4437447,"owner":"slyzer05","followers":1,"open_issues":0,"username":"slyzer05","created":"2011-08-04T10:31:54-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-08T10:51:20-07:00","forks":1,"fork":false,"size":220,"name":"Document-Backup","url":"https://github.com/slyzer05/Document-Backup","description":"Python program to backup user data to another location.","private":false,"pushed":"2012-05-08T10:51:20-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-05-19T11:42:21-07:00","score":4.4437447,"owner":"berserck","followers":1,"open_issues":0,"username":"berserck","created":"2012-05-19T11:42:21-07:00","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-19T11:54:52-07:00","forks":1,"fork":false,"size":332,"name":"latexDocuments","url":"https://github.com/berserck/latexDocuments","description":"A place to put my latex templates and snippets","private":false,"pushed":"2012-05-19T11:54:52-07:00","watchers":1,"has_wiki":true},{"type":"repo","created_at":"2012-03-02T13:30:32-08:00","score":4.4437447,"owner":"vkolev","followers":1,"open_issues":0,"username":"vkolev","created":"2012-03-02T13:30:32-08:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-27T04:47:41-07:00","forks":1,"fork":false,"size":552,"name":"go-documentation-bg","url":"https://github.com/vkolev/go-documentation-bg","description":"Документация за Go на български език","private":false,"pushed":"2012-06-27T04:47:41-07:00","watchers":1,"has_wiki":false},{"type":"repo","created_at":"2012-04-27T04:06:39-07:00","score":4.3939776,"owner":"benoitbryon","followers":6,"open_issues":10,"username":"benoitbryon","created":"2012-04-27T04:06:39-07:00","homepage":"","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-05-31T13:46:43-07:00","forks":1,"fork":false,"size":508,"name":"documentation-style-guide-sphinx","url":"https://github.com/benoitbryon/documentation-style-guide-sphinx","description":"Coding standards for Sphinx-based documentations","private":false,"pushed":"2012-05-31T13:46:43-07:00","watchers":6,"has_wiki":false},{"type":"repo","created_at":"2009-03-07T12:25:43-08:00","score":4.2735467,"owner":"engla","followers":42,"open_issues":4,"username":"engla","created":"2009-03-07T12:25:43-08:00","homepage":"http://kaizer.se/wiki/kupfer/","has_issues":false,"has_downloads":true,"language":"Python","pushed_at":"2012-06-28T11:36:40-07:00","forks":21,"fork":false,"size":344,"name":"kupfer","url":"https://github.com/engla/kupfer","description":"kupfer, smart, quick launcher. `master' is kupfer's release branch and tracks the main repository at http://git.gnome.org/browse/kupfer/ — All topic branches are Works in Progress and might be rebased. Kupfer Technical Documentation: http://kaizer.se/wiki/kupfer/Manual.html [[Send email, not pull requests. Email (or me)]]","private":false,"pushed":"2012-06-28T11:36:40-07:00","watchers":42,"has_wiki":false},{"type":"repo","created_at":"2011-01-13T17:04:59-08:00","score":4.1519423,"owner":"pycollada","followers":39,"open_issues":2,"organization":"pycollada","username":"pycollada","created":"2011-01-13T17:04:59-08:00","homepage":"http://pycollada.github.com/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-04-25T12:32:34-07:00","forks":8,"fork":false,"size":156,"name":"pycollada","url":"https://github.com/pycollada/pycollada","description":"A python COLLADA library. Can be used to create, edit and load COLLADA documents.","private":false,"pushed":"2012-04-25T12:32:34-07:00","watchers":39,"has_wiki":true},{"type":"repo","created_at":"2011-01-16T20:08:57-08:00","score":4.1519423,"owner":"NetAngels","followers":39,"open_issues":3,"username":"NetAngels","created":"2011-01-16T20:08:57-08:00","homepage":"http://packages.python.org/django-webodt/","has_issues":true,"has_downloads":true,"language":"Python","pushed_at":"2012-06-01T10:11:29-07:00","forks":8,"fork":false,"size":128,"name":"django-webodt","url":"https://github.com/NetAngels/django-webodt","description":"django module to create MS Word, PDF and other types of documents from ODF and HTML templates","private":false,"pushed":"2012-06-01T10:11:29-07:00","watchers":39,"has_wiki":true},{"type":"repo","created_at":"2011-02-12T15:30:34-08:00","score":4.139975,"owner":"chrisglass","followers":38,"open_issues":4,"username":"chrisglass","created":"2011-02-12T15:30:34-08:00","homepage":"http://bserve.webhop.org/django_polymorphic","has_issues":true,"has_downloads":false,"language":"Python","pushed_at":"2012-01-09T07:48:59-08:00","forks":19,"fork":false,"size":300,"name":"django_polymorphic","url":"https://github.com/chrisglass/django_polymorphic","description":"Seamless Polymorphic Inheritance for Django Models. For documentation and news click link below.","private":false,"pushed":"2012-01-09T07:48:59-08:00","watchers":38,"has_wiki":false}]} - -https -GET -api.github.com -None -/repos/ipython/ipython -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1527'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 23:29:38 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"724e676270069b5ab1aacdade3f0847f"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 29 Jun 2012 11:37:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"mirror_url":null,"has_downloads":true,"homepage":"http://ipython.org","owner":{"avatar_url":"https://secure.gravatar.com/avatar/f72497397dd9a0a79c654c8182460bb1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"ipython","url":"https://api.github.com/users/ipython","gravatar_id":"f72497397dd9a0a79c654c8182460bb1","id":230453},"html_url":"https://github.com/ipython/ipython","clone_url":"https://github.com/ipython/ipython.git","has_wiki":false,"watchers":834,"description":"Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.","ssh_url":"git@github.com:ipython/ipython.git","organization":{"avatar_url":"https://secure.gravatar.com/avatar/f72497397dd9a0a79c654c8182460bb1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"ipython","url":"https://api.github.com/users/ipython","gravatar_id":"f72497397dd9a0a79c654c8182460bb1","id":230453},"git_url":"git://github.com/ipython/ipython.git","full_name":"ipython/ipython","open_issues":289,"size":1204,"fork":false,"created_at":"2010-05-10T04:46:06Z","name":"ipython","url":"https://api.github.com/repos/ipython/ipython","permissions":{"push":false,"pull":true,"admin":false},"language":"Python","private":false,"pushed_at":"2012-06-28T23:29:38Z","id":658518,"master_branch":"master","forks":282,"has_issues":true,"svn_url":"https://github.com/ipython/ipython","updated_at":"2012-06-28T23:29:38Z"} - diff --git a/github/tests/ReplayData/Github.testLegacySearchUserByEmail.txt b/github/tests/ReplayData/Github.testLegacySearchUserByEmail.txt deleted file mode 100644 index bbfb223..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchUserByEmail.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/email/vincent@vincent-jacques.net -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '395'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f225d9662153996a309db055598b3c8b"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:37:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"user":{"email":"vincent@vincent-jacques.net","blog":"http://vincent-jacques.net","name":"Vincent Jacques","location":"Paris, France","created_at":"2010-07-08T23:10:06-07:00","followers_count":13,"company":"Criteo","type":"User","permission":null,"public_repo_count":11,"public_gist_count":3,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"following_count":24}} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '801'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4998'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 15 Jun 2012 15:37:06 GMT'), ('connection', 'keep-alive'), ('etag', '"41ade9c2e4794dd5214bb5f497af92cb"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 29 Jun 2012 11:37:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"following":24,"created_at":"2010-07-09T06:10:06Z","type":"User","hireable":false,"private_gists":5,"collaborators":0,"public_repos":11,"followers":13,"company":"Criteo","bio":"","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","plan":{"collaborators":1,"private_repos":5,"space":614400,"name":"micro"},"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"disk_usage":16812,"location":"Paris, France","owned_private_repos":5,"login":"jacquev6","html_url":"https://github.com/jacquev6","name":"Vincent Jacques","url":"https://api.github.com/users/jacquev6","id":327146,"public_gists":3,"blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net"} - diff --git a/github/tests/ReplayData/Github.testLegacySearchUsers.txt b/github/tests/ReplayData/Github.testLegacySearchUsers.txt deleted file mode 100644 index f173721..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchUsers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/search/vincent -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '41235'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"77b0277b5efb0ebf5f9e3de8a493fd0c"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:57:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[{"gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","score":73.982216,"type":"user","name":"Vincent Driessen","location":"Netherlands","fullname":"Vincent Driessen","repos":63,"login":"nvie","public_repo_count":63,"username":"nvie","created_at":"2009-05-12T21:19:38Z","record":null,"id":"user-83844","followers":310,"followers_count":310,"created":"2009-05-12T21:19:38Z","language":"Python","pushed":"2012-06-26T14:15:26.172Z"},{"gravatar_id":"a145dbf5d67ba1eb717fbe3a1f51509c","score":35.851326,"type":"user","fullname":"Jesse Vincent","repos":57,"name":"Jesse Vincent","location":"Somerville, MA, USA","login":"obra","public_repo_count":57,"username":"obra","created_at":"2009-01-09T20:24:15Z","record":null,"id":"user-45416","followers":127,"followers_count":127,"created":"2009-01-09T20:24:15Z","language":"Perl","pushed":"2012-06-27T02:15:19.036Z"},{"gravatar_id":"03a966709300efb4a86ce5ee8f88f696","score":33.5964,"type":"user","repos":86,"name":"John E. Vincent","fullname":"John E. Vincent","location":"Roswell, GA.","login":"lusis","public_repo_count":86,"username":"lusis","created_at":"2010-03-23T20:28:44Z","record":null,"id":"user-228958","followers":112,"followers_count":112,"created":"2010-03-23T20:28:44Z","language":"Ruby","pushed":"2012-06-28T15:15:44.987Z"},{"gravatar_id":"c676f9efc8e54985e84c044899481267","score":29.771633,"type":"user","name":"Vincent Jousse","repos":43,"fullname":"Vincent Jousse","location":"Le Mans","login":"vjousse","public_repo_count":43,"username":"vjousse","created_at":"2009-11-18T15:43:09Z","record":null,"id":"user-154904","followers":102,"followers_count":102,"created":"2009-11-18T15:43:09Z","language":"PHP","pushed":"2012-06-19T10:15:25.469Z"},{"gravatar_id":"1d0a2ab73604a28d767acc0e547c8985","score":14.943241,"type":"user","name":"Vincent Hanquez","fullname":"Vincent Hanquez","repos":43,"location":"","login":"vincenthz","public_repo_count":43,"username":"vincenthz","created_at":"2009-12-31T10:52:40Z","record":null,"id":"user-174631","followers":30,"followers_count":30,"created":"2009-12-31T10:52:40Z","language":"Haskell","pushed":"2011-12-02T11:15:26.599Z"},{"gravatar_id":"dd02e2c7ecf7c377b6b9c2c1a23633d0","score":13.608737,"type":"user","location":"http://git.io/vt","name":"Vincent Tsai","fullname":"Vincent Tsai","repos":18,"login":"Vayn","public_repo_count":18,"username":"Vayn","created_at":"2010-03-17T07:53:26Z","record":null,"id":"user-224407","followers":32,"followers_count":32,"created":"2010-03-17T07:53:26Z","language":"Python","pushed":"2012-05-05T02:15:14.813Z"},{"gravatar_id":"a3895a2d6f26155968be47fc03dddc40","score":13.566472,"type":"user","fullname":"Vincent Battaglia","repos":11,"name":"Vincent Battaglia","location":"San Francisco, CA","login":"vinch","public_repo_count":11,"username":"vinch","created_at":"2009-11-19T11:56:56Z","record":null,"id":"user-155370","followers":34,"followers_count":34,"created":"2009-11-19T11:56:56Z","language":"JavaScript","pushed":"2012-06-27T19:15:37.908Z"},{"gravatar_id":"2c0bde3f5628f35390c42fe505b79da4","score":12.853587,"type":"user","fullname":"Vincent Bernat","name":"Vincent Bernat","repos":25,"location":"Paris","login":"vincentbernat","public_repo_count":25,"username":"vincentbernat","created_at":"2011-02-22T07:20:26Z","record":null,"id":"user-631446","followers":26,"followers_count":26,"created":"2011-02-22T07:20:26Z","language":"C","pushed":"2012-04-24T14:15:18.536Z"},{"gravatar_id":"bbd55fb25025ef973c45e587103a1007","score":12.540491,"type":"user","location":"Nantes, France","name":"Vincent Giersch","fullname":"Vincent Giersch","repos":20,"login":"gierschv","public_repo_count":20,"username":"gierschv","created_at":"2010-09-12T16:41:49Z","record":null,"id":"user-396537","followers":26,"followers_count":26,"created":"2010-09-12T16:41:49Z","language":"JavaScript","pushed":"2012-06-07T01:15:19.516Z"},{"gravatar_id":"c8ff80488014da414b65346806178fa5","score":12.304387,"type":"user","name":"Vincent Batts","repos":20,"fullname":"Vincent Batts","location":"Vienna, VA","login":"vbatts","public_repo_count":20,"username":"vbatts","created_at":"2009-03-25T14:57:43Z","record":null,"id":"user-67049","followers":25,"followers_count":25,"created":"2009-03-25T14:57:43Z","language":"Ruby","pushed":"2012-06-18T14:15:37.054Z"},{"gravatar_id":"5ad827a4eff2f5c23d26e1b4eb746143","score":12.204174,"type":"user","repos":16,"name":"Vincent","fullname":"Vincent","location":"","login":"Valodim","public_repo_count":16,"username":"Valodim","created_at":"2008-10-06T20:33:02Z","record":null,"id":"user-27813","followers":9,"followers_count":9,"created":"2008-10-06T20:33:02Z","language":"Python","pushed":"2011-11-27T18:15:31.138Z"},{"gravatar_id":"a267b99df7d74999affbda5c314083d7","score":12.204174,"type":"user","fullname":"Vincent","repos":25,"name":"Vincent","location":"","login":"Twinside","public_repo_count":25,"username":"Twinside","created_at":"2009-12-17T09:22:27Z","record":null,"id":"user-168874","followers":6,"followers_count":6,"created":"2009-12-17T09:22:27Z","language":"VimL","pushed":"2012-06-28T07:15:16.26Z"},{"gravatar_id":"722218c7702627097bd72901d7b39e6a","score":12.197243,"type":"user","name":"Mike Vincent","location":"FTW, TX","fullname":"Mike Vincent","repos":9,"login":"agile","public_repo_count":9,"username":"agile","created_at":"2008-02-13T19:58:02Z","record":null,"id":"user-249","followers":28,"followers_count":28,"created":"2008-02-13T19:58:02Z","language":"Ruby","pushed":"2012-06-23T19:16:35.651Z"},{"gravatar_id":"a56a9079e6af8a892337a671c3b1a230","score":12.029787,"type":"user","name":"Vincent Pit","repos":13,"location":"Paris, France","fullname":"Vincent Pit","login":"vpit","public_repo_count":13,"username":"vpit","created_at":"2009-04-05T16:43:32Z","record":null,"id":"user-70731","followers":26,"followers_count":26,"created":"2009-04-05T16:43:32Z","language":"Perl","pushed":"2012-04-25T22:15:28.818Z"},{"gravatar_id":"317cf21cbde7d18d79c27e123cbf7b73","score":11.095074,"type":"user","fullname":"Vincent Velociter","name":"Vincent Velociter","repos":14,"location":"Nantes","login":"veloce","public_repo_count":14,"username":"veloce","created_at":"2010-10-01T12:58:39Z","record":null,"id":"user-423393","followers":21,"followers_count":21,"created":"2010-10-01T12:58:39Z","language":"VimL","pushed":"2012-06-20T16:15:20.04Z"},{"gravatar_id":"d4ad14bf23231763ea3c1754a65de041","score":11.040714,"type":"user","repos":45,"name":"Vincent van Haaff","fullname":"Vincent van Haaff","location":"Vancouver, BC","login":"flyingoctopus","public_repo_count":45,"username":"flyingoctopus","created_at":"2009-02-03T08:21:05Z","record":null,"id":"user-51352","followers":16,"followers_count":16,"created":"2009-02-03T08:21:05Z","language":"JavaScript","pushed":"2012-06-28T19:15:23.553Z"},{"gravatar_id":"652e02cbd134e0e92f3f81fe14bda3d1","score":11.000038,"type":"user","name":"Seth Vincent","repos":52,"fullname":"Seth Vincent","location":"olympia, wa","login":"sethvincent","public_repo_count":52,"username":"sethvincent","created_at":"2009-12-08T05:13:00Z","record":null,"id":"user-164214","followers":8,"followers_count":8,"created":"2009-12-08T05:13:00Z","language":"JavaScript","pushed":"2012-06-13T05:15:13.738Z"},{"gravatar_id":"7d3e511e6531fa9fde610015867d5c82","score":10.762525,"type":"user","fullname":"Vincent","repos":13,"name":"Vincent","location":"Zurich","login":"minikermit","public_repo_count":13,"username":"minikermit","created_at":"2009-01-18T10:56:54Z","record":null,"id":"user-47452","followers":3,"followers_count":3,"created":"2009-01-18T10:56:54Z","language":"JavaScript","pushed":"2012-06-27T19:16:29.254Z"},{"gravatar_id":"d3f0155cbb376d40f0c2e6f2d70552a4","score":10.7480545,"type":"user","fullname":"Vincent Agnano","repos":15,"name":"Vincent Agnano","location":"Montpellier","login":"vinyll","public_repo_count":15,"username":"vinyll","created_at":"2009-10-27T09:00:05Z","record":null,"id":"user-145172","followers":19,"followers_count":19,"created":"2009-10-27T09:00:05Z","language":"PHP","pushed":"2012-06-27T13:15:35.164Z"},{"gravatar_id":"dca7a9de73436b37325226984917bec0","score":10.725438,"type":"user","fullname":"Vincent Mazenod","name":"Vincent Mazenod","repos":18,"location":"Clermont Ferrand (636)","login":"mazenovi","public_repo_count":18,"username":"mazenovi","created_at":"2010-08-17T08:26:28Z","record":null,"id":"user-366957","followers":18,"followers_count":18,"created":"2010-08-17T08:26:28Z","language":"PHP","pushed":"2012-06-12T10:15:21.258Z"},{"gravatar_id":"9cfe5fa2f21186a7bec97f0e25fdf68e","score":10.578381,"type":"user","fullname":"Vincent Lark","name":"Vincent Lark","location":"France / Luxembourg","repos":11,"login":"vincent","public_repo_count":11,"username":"vincent","created_at":"2008-04-07T17:52:22Z","record":null,"id":"user-5623","followers":9,"followers_count":9,"created":"2008-04-07T17:52:22Z","language":"Python","pushed":"2011-10-17T15:15:11.027Z"},{"gravatar_id":"2bb264ba6bb334e5bfa5e266788a94c7","score":10.556574,"type":"user","repos":13,"name":"Vincent","fullname":"Vincent","location":"","login":"vjcharles","public_repo_count":13,"username":"vjcharles","created_at":"2008-06-23T08:36:59Z","record":null,"id":"user-14668","followers":2,"followers_count":2,"created":"2008-06-23T08:36:59Z","language":"Ruby","pushed":"2012-06-28T18:15:31.165Z"},{"gravatar_id":"7105cb5590c1d689191fabaff3cfc23b","score":10.545874,"type":"user","name":"Sam Vincent","repos":6,"fullname":"Sam Vincent","location":"Vancouver, BC","login":"samvincent","public_repo_count":6,"username":"samvincent","created_at":"2009-02-25T08:54:33Z","record":null,"id":"user-57775","followers":21,"followers_count":21,"created":"2009-02-25T08:54:33Z","language":"Ruby","pushed":"2012-06-15T21:15:20.297Z"},{"gravatar_id":"96f903d97afc840d7c317ce094fef408","score":10.537209,"type":"user","name":"vincent","repos":18,"fullname":"vincent","location":"北京市海淀区海淀北街8号中关村SOHO ","login":"vincent1900","public_repo_count":18,"username":"vincent1900","created_at":"2011-04-21T04:53:45Z","record":null,"id":"user-743038","followers":0,"followers_count":0,"created":"2011-04-21T04:53:45Z","language":"JavaScript","pushed":"2012-01-10T03:15:21.421Z"},{"gravatar_id":"2ecfff7b4be5cc2a6f42a0e6258f1bdd","score":10.464482,"type":"user","name":"Aziz Hardaya","location":"Jakarta Timur","repos":5,"fullname":"Aziz Hardaya","login":"AzizVincent","public_repo_count":5,"username":"AzizVincent","created_at":"2011-08-12T03:56:24Z","record":null,"id":"user-975298","followers":30,"followers_count":30,"created":"2011-08-12T03:56:24Z","language":"","pushed":"2012-02-13T03:15:25.527Z"},{"gravatar_id":"e5e032ef6bc616aab797ce8562fa60fa","score":10.312129,"type":"user","repos":3,"name":"Vincent","fullname":"Vincent","location":"Rotterdam","login":"VvanGemert","public_repo_count":3,"username":"VvanGemert","created_at":"2010-03-22T15:14:38Z","record":null,"id":"user-227966","followers":4,"followers_count":4,"created":"2010-03-22T15:14:38Z","language":"Ruby","pushed":"2012-03-29T14:15:14.844Z"},{"gravatar_id":"31a9803728a756c2b6ec090cb77852b3","score":10.310701,"type":"user","name":"Vincent Toups","location":"North Carolina","fullname":"Vincent Toups","repos":17,"login":"VincentToups","public_repo_count":17,"username":"VincentToups","created_at":"2008-10-31T13:41:24Z","record":null,"id":"user-31994","followers":16,"followers_count":16,"created":"2008-10-31T13:41:24Z","language":"Common Lisp","pushed":"2012-05-20T16:15:19.958Z"},{"gravatar_id":"2843b1e49827c8a63ef3695778646263","score":10.281975,"type":"user","fullname":"vincent","name":"vincent","location":"","repos":6,"login":"vincentwv","public_repo_count":6,"username":"vincentwv","created_at":"2011-08-17T09:40:13Z","record":null,"id":"user-985725","followers":3,"followers_count":3,"created":"2011-08-17T09:40:13Z","language":"JavaScript","pushed":"2012-04-04T16:15:11.99Z"},{"gravatar_id":"2c7e6e3e5b099d9d9d3ceba6819ca864","score":10.244888,"type":"user","fullname":"Vincent Waller","repos":44,"name":"Vincent Waller","location":"Bend, OR","login":"vwall","public_repo_count":44,"username":"vwall","created_at":"2009-08-21T18:38:05Z","record":null,"id":"user-118020","followers":7,"followers_count":7,"created":"2009-08-21T18:38:05Z","language":"Ruby","pushed":"2012-06-26T19:16:08.156Z"},{"gravatar_id":"3a66abaecbdf3edc16b509b9f46a5128","score":10.102409,"type":"user","fullname":"Vincent","repos":3,"name":"Vincent","location":"Irvine, CA","login":"vmarquez","public_repo_count":3,"username":"vmarquez","created_at":"2010-10-05T06:35:10Z","record":null,"id":"user-427578","followers":3,"followers_count":3,"created":"2010-10-05T06:35:10Z","language":"VimL","pushed":"2012-06-26T23:15:29.811Z"},{"gravatar_id":"0fa1e7a2807be2aaf0bd66d688506199","score":10.076025,"type":"user","location":"Taipei/Taiwan ","name":"Vincent","repos":12,"fullname":"Vincent","login":"changyihsin","public_repo_count":12,"username":"changyihsin","created_at":"2012-01-10T07:09:41Z","record":null,"id":"user-1317650","followers":0,"followers_count":0,"created":"2012-01-10T07:09:41Z","language":"C","pushed":"2012-06-05T07:15:20.895Z"},{"gravatar_id":"a8d7a6a8449afeeeaf9583c80c9ce8fc","score":10.073187,"type":"user","fullname":"Vincent","name":"Vincent","location":"Rotterdam/NL","repos":11,"login":"vincent-psarga","public_repo_count":11,"username":"vincent-psarga","created_at":"2010-01-20T15:27:54Z","record":null,"id":"user-186248","followers":0,"followers_count":0,"created":"2010-01-20T15:27:54Z","language":"Python","pushed":"2011-10-19T10:15:15.782Z"},{"gravatar_id":"15f0181accb819d21fd149a30303d68c","score":10.065324,"type":"user","fullname":"Vincent Demeester","repos":38,"name":"Vincent Demeester","location":"Bordeaux, Aquitaine, France","login":"vdemeester","public_repo_count":38,"username":"vdemeester","created_at":"2008-04-11T06:56:22Z","record":null,"id":"user-6508","followers":8,"followers_count":8,"created":"2008-04-11T06:56:22Z","language":"Shell","pushed":"2012-06-26T21:15:36.396Z"},{"gravatar_id":"ea99573d979fd0a4e9503a1e9331e68a","score":10.0389385,"type":"user","name":"Vincent Cogne","location":"France, Paris","fullname":"Vincent Cogne","repos":20,"login":"xpac27","public_repo_count":20,"username":"xpac27","created_at":"2009-04-22T13:24:07Z","record":null,"id":"user-76585","followers":14,"followers_count":14,"created":"2009-04-22T13:24:07Z","language":"JavaScript","pushed":"2012-06-23T19:15:31.367Z"},{"gravatar_id":"cce588dc4e7a73ae4c284915ca4de863","score":10.007375,"type":"user","repos":11,"name":"VIncent","fullname":"VIncent","location":"Guangzhou,China","login":"ywdong","public_repo_count":11,"username":"ywdong","created_at":"2012-02-21T15:58:13Z","record":null,"id":"user-1457889","followers":0,"followers_count":0,"created":"2012-02-21T15:58:13Z","language":"Java","pushed":"2012-06-03T05:15:15.227Z"},{"gravatar_id":"06366cecc21b382cef72494f25bcbf3e","score":9.9387245,"type":"user","fullname":"Vincent","repos":10,"name":"Vincent","location":"","login":"zakora","public_repo_count":10,"username":"zakora","created_at":"2009-07-19T20:21:15Z","record":null,"id":"user-106620","followers":0,"followers_count":0,"created":"2009-07-19T20:21:15Z","language":"Python","pushed":"2012-06-27T20:15:10.991Z"},{"gravatar_id":"1255ca023ce9ca08c7354b619d562625","score":9.870074,"type":"user","location":"","name":"Vincent","repos":9,"fullname":"Vincent","login":"xuevin","public_repo_count":9,"username":"xuevin","created_at":"2010-06-04T01:46:36Z","record":null,"id":"user-296101","followers":0,"followers_count":0,"created":"2010-06-04T01:46:36Z","language":"Java","pushed":"2012-06-08T20:15:31.323Z"},{"gravatar_id":"94f3a1b384d13d1413422b6b64935d48","score":9.794494,"type":"user","fullname":"Vincent Anonymouse","repos":1,"name":"Vincent Anonymouse","location":"","login":"milomouse","public_repo_count":1,"username":"milomouse","created_at":"2009-04-23T05:11:40Z","record":null,"id":"user-76868","followers":19,"followers_count":19,"created":"2009-04-23T05:11:40Z","language":"Common Lisp","pushed":"2012-03-07T19:19:44.686Z"},{"gravatar_id":"0d131f51bf9526483afcac2dd0d3dad5","score":9.7643385,"type":"user","fullname":"Vincent Cabansag","repos":1,"name":"Vincent Cabansag","location":"Chicago, IL","login":"vcabansag","public_repo_count":1,"username":"vcabansag","created_at":"2011-09-19T15:10:07Z","record":null,"id":"user-1062352","followers":19,"followers_count":19,"created":"2011-09-19T15:10:07Z","language":"Ruby","pushed":"2012-06-27T15:15:38.916Z"},{"gravatar_id":"8c6856b195974b4e03bf9ce24f36ec16","score":9.6641245,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"Santa Barbara, CA","login":"vincentalindogan","public_repo_count":0,"username":"vincentalindogan","created_at":"2011-03-27T18:47:05Z","record":null,"id":"user-693707","followers":2,"followers_count":2,"created":"2011-03-27T18:47:05Z","language":"","pushed":"2012-03-26T00:15:09.735Z"},{"gravatar_id":"fb56e63daee1464b77209410873f0070","score":9.6641245,"type":"user","name":"Will Vincent","location":"Twin Cities, MN","repos":0,"fullname":"Will Vincent","login":"willvincent","public_repo_count":0,"username":"willvincent","created_at":"2011-03-25T08:19:27Z","record":null,"id":"user-689891","followers":2,"followers_count":2,"created":"2011-03-25T08:19:27Z","language":"","pushed":"2012-05-14T19:16:38.835Z"},{"gravatar_id":"ed4127e0b58e6d0f753a987f895abebd","score":9.6641245,"type":"user","name":"vincent","fullname":"vincent","location":"Beijing China","repos":3,"login":"vincenttone","public_repo_count":3,"username":"vincenttone","created_at":"2011-11-08T01:48:51Z","record":null,"id":"user-1179536","followers":1,"followers_count":1,"created":"2011-11-08T01:48:51Z","language":"Python","pushed":"2012-05-28T11:15:18.397Z"},{"gravatar_id":"aa7c3566126ee339d33fee2c801662d9","score":9.6641245,"type":"user","fullname":"Vincent","name":"Vincent","repos":6,"location":"Valence/France","login":"vinzcoco","public_repo_count":6,"username":"vinzcoco","created_at":"2012-01-23T21:13:58Z","record":null,"id":"user-1372480","followers":0,"followers_count":0,"created":"2012-01-23T21:13:58Z","language":"PHP","pushed":"2012-06-20T10:15:18.217Z"},{"gravatar_id":"8493dbf44e9a5995b24165464f10df92","score":9.595475,"type":"user","location":"","name":"Vincent ","repos":5,"fullname":"Vincent ","login":"livewire195","public_repo_count":5,"username":"livewire195","created_at":"2012-03-27T16:10:49Z","record":null,"id":"user-1580359","followers":0,"followers_count":0,"created":"2012-03-27T16:10:49Z","language":"Python","pushed":"2012-06-09T07:15:13.208Z"},{"gravatar_id":"4667846b9c1e5e426ca958ac96882eb9","score":9.576109,"type":"user","name":"vincent","repos":4,"fullname":"vincent","location":"","login":"vincent5295","public_repo_count":4,"username":"vincent5295","created_at":"2012-02-29T03:00:42Z","record":null,"id":"user-1483932","followers":0,"followers_count":0,"created":"2012-02-29T03:00:42Z","language":"C","pushed":"2012-06-17T14:15:11.01Z"},{"gravatar_id":"032f1a85263f21ff1f013421967ef99e","score":9.558389,"type":"user","name":"Vincent Franco","repos":13,"fullname":"Vincent Franco","location":"Sacramento","login":"vinniefranco","public_repo_count":13,"username":"vinniefranco","created_at":"2010-07-10T20:05:55Z","record":null,"id":"user-328428","followers":14,"followers_count":14,"created":"2010-07-10T20:05:55Z","language":"Ruby","pushed":"2012-06-17T19:15:32.752Z"},{"gravatar_id":"5ed6fc41ebf7d88590a4c07eae074e97","score":9.558389,"type":"user","fullname":"Vincent Deloso","repos":25,"name":"Vincent Deloso","location":"","login":"Mitsugaru","public_repo_count":25,"username":"Mitsugaru","created_at":"2011-11-09T21:32:35Z","record":null,"id":"user-1184640","followers":10,"followers_count":10,"created":"2011-11-09T21:32:35Z","language":"Java","pushed":"2012-06-27T15:15:40.449Z"},{"gravatar_id":"051a209f0b3759e8e51680562955d555","score":9.556979,"type":"user","name":"Vincent","fullname":"Vincent","repos":1,"location":"","login":"vgametoo","public_repo_count":1,"username":"vgametoo","created_at":"2012-03-19T12:39:35Z","record":null,"id":"user-1552699","followers":1,"followers_count":1,"created":"2012-03-19T12:39:35Z","language":"","pushed":"2012-06-21T19:15:26.276Z"},{"gravatar_id":"a270083a603e945d156b9fa5ba7f1270","score":9.55321,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":1,"login":"dominiquevincent","public_repo_count":1,"username":"dominiquevincent","created_at":"2010-05-05T13:45:32Z","record":null,"id":"user-265581","followers":1,"followers_count":1,"created":"2010-05-05T13:45:32Z","language":"JavaScript","pushed":"2010-11-12T07:15:10.614Z"},{"gravatar_id":"4136d955e297f2759ac728b6d1701f36","score":9.55321,"type":"user","name":"Vincent","repos":1,"fullname":"Vincent","location":"","login":"vincentamari","public_repo_count":1,"username":"vincentamari","created_at":"2011-03-14T11:02:58Z","record":null,"id":"user-668429","followers":1,"followers_count":1,"created":"2011-03-14T11:02:58Z","language":"JavaScript","pushed":"2012-06-18T07:15:51.072Z"},{"gravatar_id":"4b44c097908d14610ba01790b5fc975c","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":4,"login":"ciex","public_repo_count":4,"username":"ciex","created_at":"2010-05-16T15:08:50Z","record":null,"id":"user-278463","followers":0,"followers_count":0,"created":"2010-05-16T15:08:50Z","language":"Python","pushed":"2012-04-16T15:15:29.943Z"},{"gravatar_id":"010564c5d5894e8e22ba40de45917566","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"The Netherlands","login":"Vinnl","public_repo_count":1,"username":"Vinnl","created_at":"2008-04-02T18:24:21Z","record":null,"id":"user-4251","followers":1,"followers_count":1,"created":"2008-04-02T18:24:21Z","language":"","pushed":"2012-05-04T14:15:33.377Z"},{"gravatar_id":"4b86e791cadf9cc2c0a4a7bfc32d9e9e","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"","login":"monkeymajiks","public_repo_count":1,"username":"monkeymajiks","created_at":"2012-01-25T22:10:51Z","record":null,"id":"user-1380497","followers":1,"followers_count":1,"created":"2012-01-25T22:10:51Z","language":"","pushed":"2012-06-12T11:15:31.686Z"},{"gravatar_id":"916769ca776c1e7576bcb7cd34be7391","score":9.526825,"type":"user","name":"Vincent","location":"","fullname":"Vincent","repos":4,"login":"vgauthier","public_repo_count":4,"username":"vgauthier","created_at":"2012-02-25T20:07:22Z","record":null,"id":"user-1473920","followers":0,"followers_count":0,"created":"2012-02-25T20:07:22Z","language":"Python","pushed":"2012-06-23T16:15:14.419Z"},{"gravatar_id":"b2f52d3a1a83d0fa6be6705d322bc1de","score":9.523987,"type":"user","name":"Vincent","location":"France","repos":0,"fullname":"Vincent","login":"Vincent-P","public_repo_count":0,"username":"Vincent-P","created_at":"2011-07-28T13:51:46Z","record":null,"id":"user-944506","followers":1,"followers_count":1,"created":"2011-07-28T13:51:46Z","language":"","pushed":"2012-05-12T09:15:15.844Z"},{"gravatar_id":"fc24888b3f4d2a85348e7bbded2f4100","score":9.488329,"type":"user","fullname":"Vincent","repos":0,"name":"Vincent","location":"Amsterdam","login":"viancen","public_repo_count":0,"username":"viancen","created_at":"2012-02-15T08:22:55Z","record":null,"id":"user-1439145","followers":1,"followers_count":1,"created":"2012-02-15T08:22:55Z","language":"","pushed":"2012-06-26T21:15:34.446Z"},{"gravatar_id":"8682561c2989398cda139818390a25c4","score":9.48456,"type":"user","name":"Vincent","repos":0,"fullname":"Vincent","location":"Singapore","login":"vsputra","public_repo_count":0,"username":"vsputra","created_at":"2010-07-19T17:38:53Z","record":null,"id":"user-337548","followers":1,"followers_count":1,"created":"2010-07-19T17:38:53Z","language":"","pushed":"2012-06-19T03:15:15.214Z"},{"gravatar_id":"d3d7715ddc9d2c98dc0acca41026e3ec","score":9.48079,"type":"user","name":"Vincent","location":"Melbourne/Australia","fullname":"Vincent","repos":3,"login":"vincentwongso","public_repo_count":3,"username":"vincentwongso","created_at":"2012-01-03T00:57:50Z","record":null,"id":"user-1300030","followers":0,"followers_count":0,"created":"2012-01-03T00:57:50Z","language":"JavaScript","pushed":"2012-05-10T23:15:22.719Z"},{"gravatar_id":"207cf37afe1b8de78411201832496eb3","score":9.48079,"type":"user","name":"vincent","location":"bordeaux","fullname":"vincent","repos":3,"login":"guillaumevincent","public_repo_count":3,"username":"guillaumevincent","created_at":"2011-07-28T06:59:30Z","record":null,"id":"user-943762","followers":0,"followers_count":0,"created":"2011-07-28T06:59:30Z","language":"Python","pushed":"2012-06-22T12:15:17.467Z"},{"gravatar_id":"fc35e4705d430b49a2e1f962e73d567f","score":9.458175,"type":"user","fullname":"Vincent","repos":0,"name":"Vincent","location":"","login":"vn","public_repo_count":0,"username":"vn","created_at":"2012-01-20T23:48:32Z","record":null,"id":"user-1361165","followers":1,"followers_count":1,"created":"2012-01-20T23:48:32Z","language":"","pushed":"2012-06-28T11:15:11.679Z"},{"gravatar_id":"c34027ae138bf86507c5a36a6b3bf3a5","score":9.421089,"type":"user","name":"Vincent Lannurien","fullname":"Vincent Lannurien","location":"France","repos":8,"login":"addikt1ve","public_repo_count":8,"username":"addikt1ve","created_at":"2008-09-01T13:41:54Z","record":null,"id":"user-22757","followers":15,"followers_count":15,"created":"2008-09-01T13:41:54Z","language":"Shell","pushed":"2011-04-29T22:15:09.273Z"},{"gravatar_id":"226e40fdc55d4597a46279296a616384","score":9.419679,"type":"user","location":"Denver","name":"Vincent","repos":2,"fullname":"Vincent","login":"vincentdavis","public_repo_count":2,"username":"vincentdavis","created_at":"2010-03-29T12:06:25Z","record":null,"id":"user-232564","followers":0,"followers_count":0,"created":"2010-03-29T12:06:25Z","language":"VimL","pushed":"2012-06-05T19:15:38.974Z"},{"gravatar_id":"f6e9045bb7bf8b000eaf62caffbd17ab","score":9.41591,"type":"user","fullname":"Vincent","repos":2,"name":"Vincent","location":"Mont sainte anne","login":"vincentvent","public_repo_count":2,"username":"vincentvent","created_at":"2011-08-10T01:40:18Z","record":null,"id":"user-970338","followers":0,"followers_count":0,"created":"2011-08-10T01:40:18Z","language":"","pushed":"2012-03-08T14:15:38.332Z"},{"gravatar_id":"dfac99df6d6b570feb68f0b88f720a80","score":9.41214,"type":"user","name":"vincent","repos":2,"fullname":"vincent","location":"China, Shenzhen, Nanshan","login":"chenws","public_repo_count":2,"username":"chenws","created_at":"2012-01-03T16:35:05Z","record":null,"id":"user-1301573","followers":0,"followers_count":0,"created":"2012-01-03T16:35:05Z","language":"C","pushed":"2012-05-02T09:15:37.412Z"},{"gravatar_id":"1cc07aa5b421181a130efdd61112ec3e","score":9.403019,"type":"user","fullname":"Vincent S","name":"Vincent S","repos":1,"location":"","login":"VincentS","public_repo_count":1,"username":"VincentS","created_at":"2011-08-23T12:33:31Z","record":null,"id":"user-998872","followers":0,"followers_count":0,"created":"2011-08-23T12:33:31Z","language":"Ruby","pushed":"2011-08-23T13:15:25.062Z"},{"gravatar_id":"304da7fc1421e25a18b95b784baf9539","score":9.389524,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":2,"login":"copyshaft","public_repo_count":2,"username":"copyshaft","created_at":"2009-12-04T03:29:28Z","record":null,"id":"user-161704","followers":0,"followers_count":0,"created":"2009-12-04T03:29:28Z","language":"","pushed":"2010-05-24T00:25:15.443Z"},{"gravatar_id":"838409afe0def35c03da9757148df790","score":9.389524,"type":"user","name":"Vincent","repos":2,"fullname":"Vincent","location":"Paris","login":"vinceofdrink","public_repo_count":2,"username":"vinceofdrink","created_at":"2011-07-04T11:24:46Z","record":null,"id":"user-893359","followers":0,"followers_count":0,"created":"2011-07-04T11:24:46Z","language":"C","pushed":"2012-01-12T15:15:29.207Z"},{"gravatar_id":"1adf0d0b91278d02e88627ffbdd1c65a","score":9.389524,"type":"user","repos":2,"name":"Vincent","fullname":"Vincent","location":"China","login":"wenzheng","public_repo_count":2,"username":"wenzheng","created_at":"2011-08-11T12:35:23Z","record":null,"id":"user-973811","followers":0,"followers_count":0,"created":"2011-08-11T12:35:23Z","language":"","pushed":"2012-02-23T15:15:48.56Z"},{"score":9.389524,"type":"user","fullname":"Vincent","name":"Vincent","location":"France","repos":2,"login":"ziefno","public_repo_count":2,"username":"ziefno","created_at":"2012-03-10T14:44:03Z","record":null,"id":"user-1523263","followers":0,"followers_count":0,"created":"2012-03-10T14:44:03Z","language":"","pushed":"2012-03-10T22:15:17.63Z"},{"gravatar_id":"95bcdb7789b7c0481aea3cf55b5bb987","score":9.389524,"type":"user","name":"Vincent","location":"","fullname":"Vincent","repos":2,"login":"vincentm8","public_repo_count":2,"username":"vincentm8","created_at":"2010-09-12T19:26:07Z","record":null,"id":"user-396662","followers":0,"followers_count":0,"created":"2010-09-12T19:26:07Z","language":"PHP","pushed":"2012-04-16T08:15:17.843Z"},{"gravatar_id":"811d7edddfcb7e652f38c7e56d51ea51","score":9.389524,"type":"user","fullname":"Vincent","repos":2,"name":"Vincent","location":"HCM","login":"vnoob","public_repo_count":2,"username":"vnoob","created_at":"2011-04-15T15:26:21Z","record":null,"id":"user-731797","followers":0,"followers_count":0,"created":"2011-04-15T15:26:21Z","language":"","pushed":"2012-06-02T04:15:19.714Z"},{"gravatar_id":"bf4442de23d120becefaa556f41562f2","score":9.389524,"type":"user","name":"Vincente","repos":2,"fullname":"Vincente","location":"California","login":"vciancio","public_repo_count":2,"username":"vciancio","created_at":"2011-12-01T03:03:38Z","record":null,"id":"user-1232406","followers":0,"followers_count":0,"created":"2011-12-01T03:03:38Z","language":"Java","pushed":"2012-06-19T00:15:59.771Z"},{"gravatar_id":"d6288a0b3a370e4db4ea27adbeb74a30","score":9.378824,"type":"user","repos":10,"name":"Blanchon Vincent","fullname":"Blanchon Vincent","location":"Sophia Antipolis, France","login":"blanchonvincent","public_repo_count":10,"username":"blanchonvincent","created_at":"2012-03-27T17:07:35Z","record":null,"id":"user-1580512","followers":14,"followers_count":14,"created":"2012-03-27T17:07:35Z","language":"PHP","pushed":"2012-06-04T10:15:20.206Z"},{"gravatar_id":"667176b96540d167eb74f473c9aea5f7","score":9.378824,"type":"user","name":"Vincent Voyer","location":"Paris, france","fullname":"Vincent Voyer","repos":13,"login":"vvo","public_repo_count":13,"username":"vvo","created_at":"2009-09-06T14:28:06Z","record":null,"id":"user-123822","followers":13,"followers_count":13,"created":"2009-09-06T14:28:06Z","language":"JavaScript","pushed":"2012-06-26T17:15:45.365Z"},{"gravatar_id":"71e56904f65a1ad1f3a178062fad6897","score":9.370159,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"France, Tarn","login":"Vincent81","public_repo_count":1,"username":"Vincent81","created_at":"2011-08-05T21:22:58Z","record":null,"id":"user-962113","followers":0,"followers_count":0,"created":"2011-08-05T21:22:58Z","language":"","pushed":"2011-09-06T14:15:24.224Z"},{"gravatar_id":"014023e8bd4f74bdd5dd949f9afcf9c9","score":9.34726,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":1,"login":"Vincentbosch","public_repo_count":1,"username":"Vincentbosch","created_at":"2011-05-12T14:48:43Z","record":null,"id":"user-784014","followers":0,"followers_count":0,"created":"2011-05-12T14:48:43Z","language":"","pushed":"2011-05-17T14:15:16.145Z"},{"gravatar_id":"86f44ee7aef87c7df23227ed99af157c","score":9.34726,"type":"user","name":"vincent","location":"","repos":1,"fullname":"vincent","login":"legarconjoure","public_repo_count":1,"username":"legarconjoure","created_at":"2011-04-04T12:20:19Z","record":null,"id":"user-708274","followers":0,"followers_count":0,"created":"2011-04-04T12:20:19Z","language":"","pushed":"2012-05-14T08:15:24.999Z"},{"gravatar_id":"fceb28e90061e831277e161d5e85757a","score":9.327894,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vincent7894","public_repo_count":0,"username":"vincent7894","created_at":"2011-12-10T20:26:26Z","record":null,"id":"user-1254570","followers":0,"followers_count":0,"created":"2011-12-10T20:26:26Z","language":"","pushed":"2012-03-29T18:15:22.448Z"},{"gravatar_id":"8a817ae82ab5e742c6aca7548e39ab65","score":9.327894,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vincent73000","public_repo_count":0,"username":"vincent73000","created_at":"2011-07-30T13:45:47Z","record":null,"id":"user-948600","followers":0,"followers_count":0,"created":"2011-07-30T13:45:47Z","language":"","pushed":"2012-06-04T11:15:21.524Z"},{"gravatar_id":"d98356664e29463bdc8d8e77095a80bd","score":9.320875,"type":"user","name":"Vincent","fullname":"Vincent","location":"Shanghai, China","repos":1,"login":"ttyio","public_repo_count":1,"username":"ttyio","created_at":"2010-08-16T06:35:46Z","record":null,"id":"user-365590","followers":0,"followers_count":0,"created":"2010-08-16T06:35:46Z","language":"VimL","pushed":"2010-11-08T03:15:12.032Z"},{"gravatar_id":"74ccd2db6dd9211393d4bd62408c6c13","score":9.320875,"type":"user","fullname":"vincent","repos":1,"name":"vincent","location":"","login":"tean60","public_repo_count":1,"username":"tean60","created_at":"2011-01-20T06:55:22Z","record":null,"id":"user-574055","followers":0,"followers_count":0,"created":"2011-01-20T06:55:22Z","language":"","pushed":"2011-06-10T06:15:11.093Z"},{"gravatar_id":"3526439448f2288e0aa5f9456b6aad4b","score":9.320875,"type":"user","name":"Will Vincent","fullname":"Will Vincent","repos":1,"location":"","login":"tcindie","public_repo_count":1,"username":"tcindie","created_at":"2010-07-02T18:50:26Z","record":null,"id":"user-321392","followers":0,"followers_count":0,"created":"2010-07-02T18:50:26Z","language":"PHP","pushed":"2011-07-01T17:15:14.856Z"},{"gravatar_id":"3aeafe584ef75baac1976c910f069752","score":9.320875,"type":"user","name":"vincent","fullname":"vincent","location":"","repos":1,"login":"vincentye38","public_repo_count":1,"username":"vincentye38","created_at":"2011-01-27T07:37:41Z","record":null,"id":"user-586072","followers":0,"followers_count":0,"created":"2011-01-27T07:37:41Z","language":"","pushed":"2012-04-05T05:15:16.89Z"},{"gravatar_id":"49a3fcbf452d1e9d85259d8e1f510934","score":9.320875,"type":"user","repos":1,"name":"Vincent","location":"Rouen","fullname":"Vincent","login":"pasificking","public_repo_count":1,"username":"pasificking","created_at":"2012-03-30T09:07:51Z","record":null,"id":"user-1589894","followers":0,"followers_count":0,"created":"2012-03-30T09:07:51Z","language":"","pushed":"2012-04-10T09:15:35.441Z"},{"gravatar_id":"c3ca1e10cdb67296511fdb480b4acdf0","score":9.320875,"type":"user","name":"Vincent","repos":1,"fullname":"Vincent","location":"","login":"Bpbannerproject","public_repo_count":1,"username":"Bpbannerproject","created_at":"2012-05-07T19:08:32Z","record":null,"id":"user-1714420","followers":0,"followers_count":0,"created":"2012-05-07T19:08:32Z","language":"","pushed":"2012-05-16T06:15:09.874Z"},{"gravatar_id":"259619f6b128ff8886bffa31ea52ab35","score":9.320875,"type":"user","fullname":"Vincent","repos":1,"name":"Vincent","location":"Nanjing, China","login":"farawayboat","public_repo_count":1,"username":"farawayboat","created_at":"2011-09-23T16:35:39Z","record":null,"id":"user-1074475","followers":0,"followers_count":0,"created":"2011-09-23T16:35:39Z","language":"","pushed":"2012-06-28T07:15:16.399Z"},{"gravatar_id":"6b3cc4c0504401ebb74ecac20cec5fbb","score":9.301509,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":0,"login":"vincent7842","public_repo_count":0,"username":"vincent7842","created_at":"2012-03-17T14:30:39Z","record":null,"id":"user-1547379","followers":0,"followers_count":0,"created":"2012-03-17T14:30:39Z","language":"","pushed":"2012-03-17T15:15:16.619Z"},{"gravatar_id":"886a562bd3cc225ec3250650d8cdf4bd","score":9.297433,"type":"user","name":"Zhiqiang Zhao","location":"Hangzhou, China","fullname":"Zhiqiang Zhao","repos":9,"login":"vincent-zhao","public_repo_count":9,"username":"vincent-zhao","created_at":"2012-01-31T03:18:49Z","record":null,"id":"user-1393423","followers":23,"followers_count":23,"created":"2012-01-31T03:18:49Z","language":"JavaScript","pushed":"2012-06-23T07:15:16.545Z"},{"gravatar_id":"4c7ff78c68f09a6294059d17df823fbf","score":9.291653,"type":"user","name":"Vincent","repos":0,"fullname":"Vincent","location":"Belgium","login":"VincentU","public_repo_count":0,"username":"VincentU","created_at":"2012-03-21T06:39:02Z","record":null,"id":"user-1559921","followers":0,"followers_count":0,"created":"2012-03-21T06:39:02Z","language":"","pushed":"2012-05-16T18:15:22.652Z"},{"gravatar_id":"9ec9ad37e9ab75436de0b3a0ce971dbe","score":9.283789,"type":"user","name":"Vincent Tencé","location":"Laval, Qc Canada","fullname":"Vincent Tencé","repos":12,"login":"testinfected","public_repo_count":12,"username":"testinfected","created_at":"2009-09-18T23:30:38Z","record":null,"id":"user-128804","followers":13,"followers_count":13,"created":"2009-09-18T23:30:38Z","language":"Java","pushed":"2012-06-23T19:16:06.24Z"},{"gravatar_id":"30d318bdf8e6a1d013c1bd8c5e9749a0","score":9.282379,"type":"user","name":"Vincent","fullname":"Vincent","location":"Coeur d'Alene ID","repos":0,"login":"thinkeryvin","public_repo_count":0,"username":"thinkeryvin","created_at":"2009-09-22T06:48:36Z","record":null,"id":"user-129806","followers":0,"followers_count":0,"created":"2009-09-22T06:48:36Z","language":"","pushed":"2011-03-30T07:15:09.25Z"},{"gravatar_id":"160934525d484d9269d3f5be05ff26da","score":9.282379,"type":"user","fullname":"Vincent","name":"Vincent","repos":0,"location":"Zoetermeer","login":"vinnyb","public_repo_count":0,"username":"vinnyb","created_at":"2010-08-16T13:04:14Z","record":null,"id":"user-365924","followers":0,"followers_count":0,"created":"2010-08-16T13:04:14Z","language":"","pushed":"2012-05-07T09:15:11.135Z"},{"gravatar_id":"e36b0ea5f740b3545bb9c39dcf4e5110","score":9.282379,"type":"user","fullname":"vincent","name":"vincent","location":"","repos":0,"login":"vinc3nt","public_repo_count":0,"username":"vinc3nt","created_at":"2011-07-01T11:34:07Z","record":null,"id":"user-888545","followers":0,"followers_count":0,"created":"2011-07-01T11:34:07Z","language":"","pushed":"2012-05-22T21:15:13.084Z"},{"gravatar_id":"953b83ade35b99fb82c2a6e134b2329a","score":9.27861,"type":"user","name":"vincent","location":"Montpellier, France","fullname":"vincent","repos":0,"login":"narf","public_repo_count":0,"username":"narf","created_at":"2010-10-28T16:11:35Z","record":null,"id":"user-458263","followers":0,"followers_count":0,"created":"2010-10-28T16:11:35Z","language":"","pushed":"2012-05-21T08:15:26.631Z"},{"gravatar_id":"a6c32849daa0d165f480bfa612116767","score":9.27861,"type":"user","name":"Vincent","location":"","repos":0,"fullname":"Vincent","login":"vincentveri","public_repo_count":0,"username":"vincentveri","created_at":"2011-05-03T08:59:39Z","record":null,"id":"user-765248","followers":0,"followers_count":0,"created":"2011-05-03T08:59:39Z","language":"","pushed":"2012-05-25T18:15:20.565Z"},{"gravatar_id":"23284aaf57ee593baa81a3d953386021","score":9.27861,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vrafols","public_repo_count":0,"username":"vrafols","created_at":"2012-05-28T03:31:24Z","record":null,"id":"user-1784314","followers":0,"followers_count":0,"created":"2012-05-28T03:31:24Z","language":"","pushed":"2012-06-04T07:15:19.793Z"},{"gravatar_id":"24eb2af05f128cbf59314bddf59f3ed9","score":9.27861,"type":"user","name":"Vincent","fullname":"Vincent","repos":0,"location":"","login":"vinc38","public_repo_count":0,"username":"vinc38","created_at":"2012-01-18T08:14:07Z","record":null,"id":"user-1343597","followers":0,"followers_count":0,"created":"2012-01-18T08:14:07Z","language":"","pushed":"2012-06-14T14:15:37.571Z"},{"gravatar_id":"5a60bf71026c317ff9cacf9cce842924","score":9.27484,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"Squee","public_repo_count":0,"username":"Squee","created_at":"2009-11-18T13:16:18Z","record":null,"id":"user-154841","followers":0,"followers_count":0,"created":"2009-11-18T13:16:18Z","language":"","pushed":"2011-11-15T17:15:15.363Z"},{"gravatar_id":"747d136a83a1e1fd26b5f001eb632d2c","score":9.252225,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":0,"login":"msr911","public_repo_count":0,"username":"msr911","created_at":"2010-02-11T10:01:05Z","record":null,"id":"user-201682","followers":0,"followers_count":0,"created":"2010-02-11T10:01:05Z","language":"","pushed":"2010-05-23T23:30:14.272Z"},{"gravatar_id":"f09b6aab5c78a879998248e76e9e80b8","score":9.252225,"type":"user","name":"vincent","fullname":"vincent","location":"","repos":0,"login":"vincwu","public_repo_count":0,"username":"vincwu","created_at":"2009-05-02T14:51:55Z","record":null,"id":"user-80223","followers":0,"followers_count":0,"created":"2009-05-02T14:51:55Z","language":"","pushed":"2011-03-22T06:15:08.705Z"}]} - diff --git a/github/tests/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt b/github/tests/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt deleted file mode 100644 index 59a5ce3..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchUsersExplicitPagination.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/search/Lucy?start_page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('x-ratelimit-limit', '5000'), ('content-length', '17711'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"2276a70e7cb32c70ab3018105c9dcb22"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 12:30:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[{"fullname":"","created_at":"2010-08-08T23:52:29Z","followers":0,"pushed":"2010-08-09T00:15:09.022Z","gravatar_id":"6d7d3334458d9b82a5c5e22409ed043b","followers_count":0,"name":"","username":"lucievh","login":"lucievh","repos":0,"created":"2010-08-08T23:52:29Z","language":"","record":null,"id":"user-358057","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-09-22T05:31:14Z","followers":0,"pushed":"2010-09-22T06:15:13.692Z","gravatar_id":"f753f69213bbfc3b80607ee48a488d6e","followers_count":0,"name":"","username":"lucyim","login":"lucyim","repos":0,"created":"2010-09-22T05:31:14Z","language":"","record":null,"id":"user-410994","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-04-24T20:45:24Z","followers":0,"pushed":"2011-04-24T21:15:12.163Z","gravatar_id":"f1e19ca48feb1e62ee3149d28c11e911","followers_count":0,"name":"","username":"Lucief","login":"Lucief","repos":0,"created":"2011-04-24T20:45:24Z","language":"","record":null,"id":"user-749248","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-05-30T09:55:59Z","followers":0,"pushed":"2011-05-30T11:15:20.068Z","gravatar_id":"2da8ca4713c1b1e42a4a17323e4e8dae","followers_count":0,"name":"","username":"RevolverUpstairs","login":"RevolverUpstairs","repos":0,"created":"2011-05-30T09:55:59Z","language":"","record":null,"id":"user-818408","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-22T13:27:38Z","followers":0,"pushed":"2011-07-22T15:15:23.693Z","gravatar_id":"3686834b80a859db93c76e78df9a5a64","followers_count":0,"name":"","username":"seriousprogramming","login":"seriousprogramming","repos":0,"created":"2011-07-22T13:27:38Z","language":"","record":null,"id":"user-932499","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-06T09:47:48Z","followers":0,"pushed":"2011-08-06T10:15:31.758Z","gravatar_id":"69eafce84a5e4a9b26bc337a58ca72bc","followers_count":0,"name":"","username":"reicul","login":"reicul","repos":0,"created":"2011-08-06T09:47:48Z","language":"","record":null,"id":"user-962793","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-07T11:56:47Z","followers":0,"pushed":"2011-08-07T12:15:14.482Z","gravatar_id":"8896a319762ed30fea086e8213003809","followers_count":0,"name":"","username":"davincidubai","login":"davincidubai","repos":0,"created":"2011-08-07T11:56:47Z","language":"","record":null,"id":"user-964372","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-14T23:19:20Z","followers":0,"pushed":"2011-08-15T00:15:17.005Z","gravatar_id":"c464112ee895455ebc7e4395455cc3b4","followers_count":0,"name":"","username":"LucianaNascimentodoPrado","login":"LucianaNascimentodoPrado","repos":0,"created":"2011-08-14T23:19:20Z","language":"","record":null,"id":"user-979924","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-20T03:41:59Z","followers":0,"pushed":"2011-08-20T04:15:15.688Z","gravatar_id":"89b16b399fef7f5cf0f09aa52eb1f982","followers_count":0,"name":"","username":"lucia-huenchunao","login":"lucia-huenchunao","repos":0,"created":"2011-08-20T03:41:59Z","language":"","record":null,"id":"user-992290","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-30T06:35:07Z","followers":0,"pushed":"2011-08-30T07:15:40.964Z","gravatar_id":"15e9c23dc4ff8309d32759ebbc12f136","followers_count":0,"name":"","username":"kraji20","login":"kraji20","repos":0,"created":"2011-08-30T06:35:07Z","language":"","record":null,"id":"user-1013732","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-16T16:00:13Z","followers":0,"pushed":"2011-09-16T16:15:31.791Z","gravatar_id":"29b7278765b2513f6b1770acffd6e76c","followers_count":0,"name":"","username":"Lucywolo","login":"Lucywolo","repos":0,"created":"2011-09-16T16:00:13Z","language":"","record":null,"id":"user-1056415","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-20T08:49:42Z","followers":0,"pushed":"2011-09-20T09:15:39.554Z","gravatar_id":"272574bc4ad24eb6ca99e0ff63181708","followers_count":0,"name":"","username":"Luciel","login":"Luciel","repos":0,"created":"2011-09-20T08:49:42Z","language":"","record":null,"id":"user-1064456","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-26T00:34:00Z","followers":0,"pushed":"2011-09-26T01:15:19.861Z","gravatar_id":"88afbca53168e171337cd236ebf861eb","followers_count":0,"name":"","username":"sunnysummer","login":"sunnysummer","repos":0,"created":"2011-09-26T00:34:00Z","language":"","record":null,"location":"","id":"user-1079184","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-12T18:56:57Z","followers":0,"pushed":"2011-10-12T19:15:46.788Z","gravatar_id":"2d2bbcf8fc6ba08acad9d0120f7e877f","followers_count":0,"name":"","username":"elush","login":"elush","repos":0,"created":"2011-10-12T18:56:57Z","language":"","record":null,"id":"user-1123389","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-08T13:10:02Z","followers":0,"pushed":"2011-11-08T13:15:29.919Z","gravatar_id":"e47379a7fb647bcfe9cb35b313c6681d","followers_count":0,"name":"","username":"oprealuci","login":"oprealuci","repos":0,"created":"2011-11-08T13:10:02Z","language":"","record":null,"id":"user-1180621","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-30T12:50:11Z","followers":0,"pushed":"2012-01-06T20:15:31.201Z","followers_count":0,"name":"","username":"Flika","login":"Flika","repos":0,"created":"2011-11-30T12:50:11Z","language":"","record":null,"id":"user-1230733","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-16T13:52:04Z","followers":0,"pushed":"2012-01-16T14:15:26.544Z","gravatar_id":"93a807008d0335f8cfa7630905a3731a","followers_count":0,"name":"","username":"lsher","login":"lsher","created":"2012-01-16T13:52:04Z","repos":0,"language":"","record":null,"id":"user-1333790","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-14T12:45:55Z","followers":0,"pushed":"2012-02-14T13:15:21.421Z","gravatar_id":"48c680a1435659586d2b5fa88978bf2f","followers_count":0,"name":"","username":"datadrivenjournalism","login":"datadrivenjournalism","created":"2012-02-14T12:45:55Z","repos":0,"language":"","record":null,"id":"user-1436639","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-05T19:25:13Z","followers":0,"pushed":"2012-03-07T21:16:16.829Z","gravatar_id":"f85bd730cad7f29b2a6ffcb877ca9049","followers_count":0,"name":"","username":"nill2020","login":"nill2020","repos":0,"created":"2011-09-05T19:25:13Z","language":"","record":null,"id":"user-1028199","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-12T09:34:25Z","followers":0,"pushed":"2012-03-12T10:15:30.499Z","followers_count":0,"name":"","username":"doobi","login":"doobi","created":"2012-03-12T09:34:25Z","repos":0,"language":"","record":null,"id":"user-1528155","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-15T05:39:16Z","followers":0,"pushed":"2012-03-15T06:15:26.409Z","gravatar_id":"6e1dffbbee01406ca6362a476406e311","followers_count":0,"name":"","username":"lucilu","login":"lucilu","repos":0,"created":"2012-03-15T05:39:16Z","language":"","record":null,"id":"user-1539233","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-21T15:37:52Z","followers":0,"pushed":"2012-03-21T16:15:24.866Z","gravatar_id":"de5a284da24ca18274e389e172269cfa","followers_count":0,"name":"","username":"deldeldel","login":"deldeldel","repos":0,"created":"2012-03-21T15:37:52Z","language":"","record":null,"id":"user-1561401","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-27T13:06:55Z","followers":0,"pushed":"2012-03-27T13:15:45.802Z","gravatar_id":"b004de54d6f13d701ae5050809bdd091","followers_count":0,"name":"","username":"lucianacocca","login":"lucianacocca","repos":0,"created":"2012-03-27T13:06:55Z","language":"","record":null,"id":"user-1579740","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-27T23:18:49Z","followers":0,"pushed":"2012-04-27T02:15:22.503Z","gravatar_id":"6692a18a892458d7c4ab139f2c442277","followers_count":0,"name":"","username":"lucyli-sfdc","login":"lucyli-sfdc","repos":0,"created":"2011-09-27T23:18:49Z","language":"","record":null,"id":"user-1085374","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T10:05:02Z","followers":0,"pushed":"2012-05-01T12:15:23.517Z","gravatar_id":"9786861913ce64448699dba1ee27a7a6","followers_count":0,"name":"","username":"lucysatchell","login":"lucysatchell","repos":0,"created":"2012-05-01T10:05:02Z","language":"","record":null,"id":"user-1695084","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T12:11:30Z","followers":0,"pushed":"2012-06-01T19:16:17.478Z","gravatar_id":"c0228bc603e6802f3ee5e8299474587b","followers_count":0,"name":"","username":"UBM","login":"UBM","repos":0,"created":"2012-05-01T12:11:30Z","language":"","record":null,"id":"user-1695284","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-30T16:12:12Z","followers":0,"pushed":"2012-06-06T19:16:09.64Z","gravatar_id":"1652e06df5d348d1a575a36e2f7e5f72","followers_count":0,"name":"","username":"kolousek","login":"kolousek","created":"2012-05-30T16:12:12Z","repos":0,"language":"","record":null,"id":"user-1794308","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-05-04T01:08:54Z","followers":0,"pushed":"2012-06-13T20:15:11.55Z","gravatar_id":"f8ec680ef4321558d220391d96dfb797","followers_count":0,"name":"","username":"lucyzhang","login":"lucyzhang","created":"2010-05-04T01:08:54Z","repos":0,"language":"","record":null,"id":"user-263828","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-20T17:01:35Z","followers":0,"pushed":"2012-06-28T00:15:22.237Z","gravatar_id":"772de244d454a467439f0cdb6f4a1e4e","followers_count":0,"name":"","username":"lmegia","login":"lmegia","repos":0,"created":"2011-07-20T17:01:35Z","language":"","record":null,"id":"user-928346","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"Luis Olivo","created_at":"2012-03-07T21:32:50Z","followers":1,"pushed":"2012-06-02T18:15:15.477Z","gravatar_id":"4141a3f99023b16642e8a33d155947b6","followers_count":1,"name":"Luis Olivo","username":"luisolivo","login":"luisolivo","repos":1,"created":"2012-03-07T21:32:50Z","language":"Ruby","record":null,"id":"user-1513356","location":"Port Saint Lucie, Florida","score":2.791304,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2011-08-31T03:50:47Z","followers":0,"pushed":"2011-08-31T04:15:23.388Z","gravatar_id":"331ecd4d2e53187e0287d9a1af51a7cd","followers_count":0,"name":"","username":"Lucyzhen","login":"Lucyzhen","repos":1,"created":"2011-08-31T03:50:47Z","language":"C#","record":null,"id":"user-1016061","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-04-28T11:04:47Z","followers":0,"pushed":"2012-04-28T11:15:41.657Z","gravatar_id":"10cdf0c816a67a79461e672dd47c46de","followers_count":0,"name":"","username":"Luhzinha","login":"Luhzinha","repos":1,"created":"2012-04-28T11:04:47Z","language":"","record":null,"id":"user-1687701","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2009-09-18T00:12:07Z","followers":0,"pushed":"2010-05-25T02:17:49.827Z","gravatar_id":"7766d61aa4bee478cd29d01653f99a27","followers_count":0,"name":"","username":"beautifly","login":"beautifly","repos":0,"created":"2009-09-18T00:12:07Z","language":"","record":null,"id":"user-128333","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-30T20:31:27Z","followers":0,"pushed":"2011-09-30T21:15:27.445Z","gravatar_id":"2421514bb391ad0e4009b441f35a8cfd","followers_count":0,"name":"","username":"lucybm96","login":"lucybm96","repos":0,"created":"2011-09-30T20:31:27Z","language":"","record":null,"id":"user-1093675","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-08T21:10:18Z","followers":0,"pushed":"2011-10-19T16:15:28.01Z","gravatar_id":"bc63269a11f7ce4a1ba817d7b598a4ec","followers_count":0,"name":"","username":"BuonocoreL","login":"BuonocoreL","repos":0,"created":"2011-08-08T21:10:18Z","language":"","record":null,"id":"user-967470","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-25T13:59:15Z","followers":0,"pushed":"2011-10-25T14:15:35.825Z","gravatar_id":"336abbd9e4151ae169e30e7e6679c7b7","followers_count":0,"name":"","username":"lucywilliams","login":"lucywilliams","repos":0,"created":"2011-10-25T13:59:15Z","language":"","record":null,"id":"user-1150845","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-05T19:08:43Z","followers":0,"pushed":"2012-02-05T19:15:26.112Z","gravatar_id":"710af9c67bfc63c7911801c960153551","followers_count":0,"name":"","username":"ZxOxZ","login":"ZxOxZ","created":"2012-02-05T19:08:43Z","repos":0,"language":"","record":null,"id":"user-1410529","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-22T12:38:07Z","followers":0,"pushed":"2012-02-22T13:15:21.033Z","gravatar_id":"4e34174ab98cfb31d27783a15edd65ff","followers_count":0,"name":"","username":"Motwinb","login":"Motwinb","repos":0,"created":"2012-02-22T12:38:07Z","language":"","record":null,"id":"user-1461109","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T06:41:31Z","followers":0,"pushed":"2012-03-05T07:15:17.415Z","gravatar_id":"3fd43be5de5bc0394cbb2f02fd5f8e55","followers_count":0,"name":"","username":"johnlucy","login":"johnlucy","repos":0,"created":"2012-03-05T06:41:31Z","language":"","record":null,"id":"user-1501671","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T16:24:11Z","followers":0,"pushed":"2012-03-05T17:15:18.016Z","gravatar_id":"c4c7f39ce80796afe054742ecebebd68","followers_count":0,"name":"","username":"Aquanimation","login":"Aquanimation","repos":0,"created":"2012-03-05T16:24:11Z","language":"","record":null,"id":"user-1503528","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-25T22:54:59Z","followers":0,"pushed":"2012-03-25T23:15:19.92Z","gravatar_id":"941783cf5e9908c1c1539f52063bfa83","followers_count":0,"name":"","username":"alaltaieri","login":"alaltaieri","repos":0,"created":"2012-03-25T22:54:59Z","language":"","record":null,"id":"user-1574456","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-02T14:04:23Z","followers":0,"pushed":"2012-04-02T14:15:39.659Z","gravatar_id":"b6dd2523be99cb65f67549fb3397038f","followers_count":0,"name":"","username":"lucylin","login":"lucylin","created":"2012-04-02T14:04:23Z","repos":0,"language":"","record":null,"id":"user-1598365","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-06T12:13:13Z","followers":0,"pushed":"2012-06-12T16:15:31.304Z","gravatar_id":"24b955ee4add1de5b71d892ba6bd52ac","followers_count":0,"name":"","username":"lucychambers","login":"lucychambers","created":"2011-09-06T12:13:13Z","repos":0,"language":"","record":null,"id":"user-1029861","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"Juan M Sesma","created_at":"2011-04-14T18:29:44Z","followers":0,"pushed":"2011-07-25T16:15:21.323Z","gravatar_id":"9aa303ceb9eece6fe6af228fe5d992f6","followers_count":0,"name":"Juan M Sesma","username":"JuanSesma","login":"JuanSesma","repos":1,"created":"2011-04-14T18:29:44Z","language":"Ruby","record":null,"id":"user-729951","location":"Port St Lucie","score":2.6404455,"type":"user","public_repo_count":1},{"fullname":"Carl","created_at":"2012-03-17T22:30:00Z","followers":0,"pushed":"2012-03-19T04:15:12.148Z","gravatar_id":"f9e3fc4d72e3199a38ea641ccafbb844","followers_count":0,"name":"Carl","username":"cdwwebware","login":"cdwwebware","repos":0,"created":"2012-03-17T22:30:00Z","language":"","record":null,"id":"user-1548384","location":"Port Saint Lucie, Florida","score":2.5901594,"type":"user","public_repo_count":0},{"fullname":"Zachary Wills","created_at":"2012-03-07T00:29:36Z","followers":0,"pushed":"2012-06-20T16:15:50.039Z","gravatar_id":"31decf5c3bc6f0006c8152eb778203c1","followers_count":0,"name":"Zachary Wills","username":"ZachWills","login":"ZachWills","repos":0,"created":"2012-03-07T00:29:36Z","language":"","record":null,"id":"user-1509438","location":"Port St. Lucie, FL","score":2.5901594,"type":"user","public_repo_count":0}]} - diff --git a/github/tests/ReplayData/Github.testLegacySearchUsersPagination.txt b/github/tests/ReplayData/Github.testLegacySearchUsersPagination.txt deleted file mode 100644 index 789b9ee..0000000 --- a/github/tests/ReplayData/Github.testLegacySearchUsersPagination.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/search/Lucy -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('x-ratelimit-limit', '5000'), ('content-length', '38993'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"30586212918ceda0cf4664e806f50d3d"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 12:30:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[{"fullname":"lucy","created_at":"2008-08-21T13:06:47Z","followers":21,"pushed":"2012-06-20T20:15:48.832Z","gravatar_id":"274036f0898dcde5d22abc02541cc6fe","followers_count":21,"name":"lucy","username":"diN0bot","login":"diN0bot","repos":22,"created":"2008-08-21T13:06:47Z","language":"Python","record":null,"id":"user-21395","location":"SF, USA, EARTH","score":17.231083,"type":"user","public_repo_count":22},{"fullname":"lucie","created_at":"2012-04-09T21:24:43Z","followers":0,"pushed":"2012-04-09T22:15:16.463Z","gravatar_id":"f0ef4bb33686c9e1bdae0ce7cab03684","followers_count":0,"name":"lucie","username":"lucie-tomoconcept","login":"lucie-tomoconcept","created":"2012-04-09T21:24:43Z","repos":1,"language":"JavaScript","record":null,"id":"user-1627153","location":"","score":13.04163,"type":"user","public_repo_count":1},{"fullname":"Lucy","created_at":"2011-11-18T12:56:11Z","followers":0,"pushed":"2011-11-18T15:15:33.245Z","gravatar_id":"3af8bd9cbe32376f65840384aaf4544c","followers_count":0,"name":"Lucy","username":"lucymtc","login":"lucymtc","repos":0,"created":"2011-11-18T12:56:11Z","language":"","record":null,"id":"user-1204359","location":"","score":12.95676,"type":"user","public_repo_count":0},{"fullname":"Lucie","created_at":"2011-07-02T03:05:41Z","followers":0,"pushed":"2011-07-02T03:15:13.358Z","gravatar_id":"adaecb10ec5abea463ea2069f039b98d","followers_count":0,"name":"Lucie","username":"luciebaru","login":"luciebaru","repos":0,"created":"2011-07-02T03:05:41Z","language":"","record":null,"id":"user-889863","location":"","score":12.92111,"type":"user","public_repo_count":0},{"fullname":"Lucie Votypkova","created_at":"2011-09-07T07:07:08Z","followers":0,"pushed":"2012-06-13T09:15:43.045Z","gravatar_id":"4c35b50485a17f3365fabf3ee7545ff8","followers_count":0,"name":"Lucie Votypkova","username":"lvotypko","login":"lvotypko","created":"2011-09-07T07:07:08Z","repos":15,"language":"Java","record":null,"id":"user-1032196","location":"","score":8.829987,"type":"user","public_repo_count":15},{"fullname":"Lucie Boutou","created_at":"2012-03-28T11:29:43Z","followers":1,"pushed":"2012-05-30T14:15:23.212Z","gravatar_id":"4a06c90b26e3ed65e528c1c44123e5bf","followers_count":1,"name":"Lucie Boutou","username":"Flikalb","login":"Flikalb","created":"2012-03-28T11:29:43Z","repos":2,"language":"Java","record":null,"id":"user-1583097","location":"Belfort, France","score":8.358318,"type":"user","public_repo_count":2},{"fullname":"Lucy Diamond","created_at":"2011-05-19T15:30:20Z","followers":1,"pushed":"2012-04-16T10:15:46.936Z","gravatar_id":"937c8c58bd85a781889b9d126e6f5c0e","followers_count":1,"name":"Lucy Diamond","username":"waltz4lucy","login":"waltz4lucy","created":"2011-05-19T15:30:20Z","repos":1,"language":"Ruby","record":null,"id":"user-798455","location":"","score":8.338159,"type":"user","public_repo_count":1},{"fullname":"Léger Lucie","created_at":"2010-12-13T15:19:34Z","followers":1,"pushed":"2011-03-12T11:15:13.049Z","gravatar_id":"f56baba14dc3b8ae579006216433f65a","followers_count":1,"name":"Léger Lucie","username":"lucie62155","login":"lucie62155","repos":0,"created":"2010-12-13T15:19:34Z","language":"","record":null,"id":"user-521287","location":"Calais","score":8.269781,"type":"user","public_repo_count":0},{"fullname":"Lucy Kobarashi","created_at":"2011-08-06T10:17:23Z","followers":0,"pushed":"2011-11-03T15:15:26.893Z","gravatar_id":"3bc0d0a604d75d369033939067e0762a","followers_count":0,"name":"Lucy Kobarashi","username":"NyuSan","login":"NyuSan","repos":3,"created":"2011-08-06T10:17:23Z","language":"OCaml","record":null,"id":"user-962824","location":"Earth, Orion-Signus arm","score":8.226553,"type":"user","public_repo_count":3},{"fullname":"Lucy Park","created_at":"2011-11-19T04:16:29Z","followers":0,"pushed":"2012-05-05T15:16:11.913Z","gravatar_id":"cbb5b8e2afb8eaca599cf70a75b08963","followers_count":0,"name":"Lucy Park","username":"echojuliett","login":"echojuliett","created":"2011-11-19T04:16:29Z","repos":3,"language":"JavaScript","record":null,"id":"user-1205890","location":"","score":8.226553,"type":"user","public_repo_count":3},{"fullname":"Marian Lucy","created_at":"2011-04-25T06:31:48Z","followers":1,"pushed":"2012-06-10T18:15:21.05Z","gravatar_id":"f85970122e41a371fa331d9c1c481d4f","followers_count":1,"name":"Marian Lucy","username":"fressschwein","login":"fressschwein","created":"2011-04-25T06:31:48Z","repos":0,"language":"","record":null,"id":"user-749803","location":"Near Berlin","score":8.226553,"type":"user","public_repo_count":0},{"fullname":"Lucy Zhang","created_at":"2010-05-08T21:11:12Z","followers":0,"pushed":"2012-06-15T19:15:54.498Z","gravatar_id":"a32f70d85265c1246b916ddae9b5e5f6","followers_count":0,"name":"Lucy Zhang","username":"beluga","login":"beluga","created":"2010-05-08T21:11:12Z","repos":2,"language":"Python","record":null,"id":"user-271324","location":"","score":8.20746,"type":"user","public_repo_count":2},{"fullname":"Lucie Meresse","created_at":"2010-02-09T18:02:53Z","followers":0,"pushed":"2011-12-21T16:15:19.904Z","gravatar_id":"5eae59e863fc24fb5bd6faf8b1eea8a0","followers_count":0,"name":"Lucie Meresse","username":"Dexedrine","login":"Dexedrine","created":"2010-02-09T18:02:53Z","repos":2,"language":"Python","record":null,"id":"user-200432","location":"Lille, France","score":8.176267,"type":"user","public_repo_count":2},{"fullname":"Lucy Iconomidis","created_at":"2011-03-17T06:36:50Z","followers":0,"pushed":"2012-03-07T23:16:25.061Z","gravatar_id":"08fe07204ad5960b84af62a0b5411780","followers_count":0,"name":"Lucy Iconomidis","username":"lucy-iconomidis","login":"lucy-iconomidis","repos":0,"created":"2011-03-17T06:36:50Z","language":"","record":null,"id":"user-674557","location":"","score":8.141471,"type":"user","public_repo_count":0},{"fullname":"Lucy Li","created_at":"2011-01-27T00:39:36Z","followers":0,"pushed":"2011-03-11T03:15:11.574Z","gravatar_id":"26e9ec53be78d82e166eaeba7d19d8a8","followers_count":0,"name":"Lucy Li","username":"donotgoogleme","login":"donotgoogleme","repos":1,"created":"2011-01-27T00:39:36Z","language":"Java","record":null,"id":"user-585649","location":"","score":8.12598,"type":"user","public_repo_count":1},{"fullname":"Luci Cor","created_at":"2011-04-09T11:00:28Z","followers":0,"pushed":"2011-04-10T22:15:13.902Z","gravatar_id":"413dfdd7e2dbc325c99f73b2b1df0d6c","followers_count":0,"name":"Luci Cor","username":"lucicor","login":"lucicor","repos":1,"created":"2011-04-09T11:00:28Z","language":"C","record":null,"id":"user-719065","location":"","score":8.12598,"type":"user","public_repo_count":1},{"fullname":"Lucy Beer","created_at":"2011-09-11T22:12:21Z","followers":0,"pushed":"2011-09-11T22:15:20.913Z","gravatar_id":"67a6505bfb36238498079f18d2287f82","followers_count":0,"name":"Lucy Beer","username":"webtrainingwheels","login":"webtrainingwheels","repos":0,"created":"2011-09-11T22:12:21Z","language":"","record":null,"id":"user-1043076","location":"","score":8.111344,"type":"user","public_repo_count":0},{"fullname":"Luci Bonini","created_at":"2010-09-23T19:26:59Z","followers":0,"pushed":"2010-09-24T02:15:10.822Z","gravatar_id":"277c572836da2095fb477be5abece1de","followers_count":0,"name":"Luci Bonini","username":"lucibonini","login":"lucibonini","repos":0,"created":"2010-09-23T19:26:59Z","language":"","record":null,"id":"user-413414","location":"Brazil","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"Lucy Ding","created_at":"2011-01-15T21:58:13Z","followers":0,"pushed":"2011-01-16T08:15:09.069Z","gravatar_id":"3540446a2d8bbd5be1951583040af45e","followers_count":0,"name":"Lucy Ding","username":"haju","login":"haju","created":"2011-01-15T21:58:13Z","repos":0,"language":"","record":null,"id":"user-566780","location":"Sydney, Australia","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"Lucie Tezourová","created_at":"2011-03-01T15:08:35Z","followers":0,"pushed":"2011-03-01T16:15:16.874Z","gravatar_id":"36efb686f5345cfbbebd68cdf35c656c","followers_count":0,"name":"Lucie Tezourová","username":"lucietezourova","login":"lucietezourova","repos":0,"created":"2011-03-01T15:08:35Z","language":"","record":null,"id":"user-644955","location":"Svět","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"Michael Lucy","created_at":"2011-03-07T03:01:12Z","followers":0,"pushed":"2011-03-07T03:15:13.328Z","gravatar_id":"8cf2053621b7f768897577004f0d3c98","followers_count":0,"name":"Michael Lucy","username":"sonik","login":"sonik","repos":0,"created":"2011-03-07T03:01:12Z","language":"","record":null,"id":"user-654822","location":"","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"Lucy Chang","created_at":"2011-08-09T18:25:00Z","followers":0,"pushed":"2012-03-09T18:15:38.421Z","gravatar_id":"83cf79e74eec1fe65c473d457bbea2c5","followers_count":0,"name":"Lucy Chang","username":"lucychang-paypal","login":"lucychang-paypal","repos":0,"created":"2011-08-09T18:25:00Z","language":"","record":null,"id":"user-969613","location":"","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"Lucy Miller","created_at":"2012-04-21T02:39:38Z","followers":0,"pushed":"2012-04-21T03:15:14.862Z","gravatar_id":"80a0dd79cd5852780889ab995052ac00","followers_count":0,"name":"Lucy Miller","username":"bus1nessmgt2012","login":"bus1nessmgt2012","created":"2012-04-21T02:39:38Z","repos":0,"language":"","record":null,"id":"user-1664725","location":"","score":8.075694,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2008-11-07T17:33:29Z","followers":0,"pushed":"2010-05-23T23:18:55.339Z","gravatar_id":"188ce836970219449b8d4cf85f2b33ec","followers_count":0,"name":"","username":"Lucy","login":"Lucy","repos":0,"created":"2008-11-07T17:33:29Z","language":"","record":null,"id":"user-33230","location":"","score":6.9521737,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2008-11-28T09:44:41Z","followers":0,"pushed":"2010-05-24T00:15:20.66Z","gravatar_id":"d520d024d722d1e1411f9d872eff8b95","followers_count":0,"name":"","username":"lucie","login":"lucie","repos":0,"created":"2008-11-28T09:44:41Z","language":"","record":null,"id":"user-37063","location":"","score":6.9521737,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-06-22T16:38:16Z","followers":0,"pushed":"2011-06-22T17:16:02.298Z","gravatar_id":"9dfb004a3e7dc56fbbb1d9308ba999ac","followers_count":0,"name":"","username":"lucys","login":"lucys","repos":0,"created":"2011-06-22T16:38:16Z","language":"","record":null,"id":"user-867348","location":"","score":6.9477177,"type":"user","public_repo_count":0},{"fullname":"Lucy McLaughlin","created_at":"2011-09-04T12:27:29Z","followers":0,"pushed":"2012-05-11T13:15:23.244Z","gravatar_id":"431afe648add519710c1a7f64e55b894","followers_count":0,"name":"Lucy McLaughlin","username":"randomling","login":"randomling","created":"2011-09-04T12:27:29Z","repos":4,"language":"Perl","record":null,"id":"user-1025313","location":"London","score":6.6617,"type":"user","public_repo_count":4},{"fullname":"endu-lucy","created_at":"2009-03-08T14:29:27Z","followers":0,"pushed":"2011-06-26T10:15:09.042Z","gravatar_id":"4ae01d244c3753665764afbb2cf6b0b1","followers_count":0,"name":"endu-lucy","username":"endu","login":"endu","repos":1,"created":"2009-03-08T14:29:27Z","language":"C","record":null,"id":"user-61279","location":"","score":6.5108414,"type":"user","public_repo_count":1},{"fullname":"Lucie Fitch Bodie","created_at":"2011-06-04T14:55:02Z","followers":0,"pushed":"2012-01-03T22:15:36.517Z","gravatar_id":"40bc753e529190e7525b51c6728a0cb8","followers_count":0,"name":"Lucie Fitch Bodie","username":"luciefitchbodie","login":"luciefitchbodie","repos":1,"created":"2011-06-04T14:55:02Z","language":"","record":null,"id":"user-829452","location":"","score":6.5108414,"type":"user","public_repo_count":1},{"fullname":"Download Wendy and Lucy full movie watch","created_at":"2009-12-08T13:57:45Z","followers":0,"pushed":"2010-05-24T00:26:14.619Z","followers_count":0,"name":"Download Wendy and Lucy full movie watch","username":"e4489xixpd2948t","login":"e4489xixpd2948t","repos":7,"created":"2009-12-08T13:57:45Z","language":"","record":null,"id":"user-164415","location":"","score":5.197419,"type":"user","public_repo_count":7},{"fullname":"","created_at":"2009-12-31T15:41:40Z","followers":1,"pushed":"2010-05-23T23:26:49.963Z","gravatar_id":"8874818eea10331cf88c7c6ceb6a260b","followers_count":1,"name":"","username":"lcr","login":"lcr","repos":0,"created":"2009-12-31T15:41:40Z","language":"","record":null,"id":"user-174722","location":"","score":5.1925974,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-12T02:37:30Z","followers":0,"pushed":"2012-05-14T07:15:24.533Z","gravatar_id":"3995c8fed7d37bf57dfd463d77cdfbea","followers_count":0,"name":"","username":"lucy2012","login":"lucy2012","created":"2012-05-12T02:37:30Z","repos":1,"language":"","record":null,"id":"user-1731863","location":"","score":4.3731136,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2009-02-10T17:56:46Z","followers":0,"pushed":"2010-05-24T01:18:31.291Z","gravatar_id":"d4768ad29e02d6fdb82e42ffc0b9e486","followers_count":0,"name":"","username":"Luci0","login":"Luci0","repos":0,"created":"2009-02-10T17:56:46Z","language":"","record":null,"id":"user-53398","location":"","score":4.3540215,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2009-10-24T04:18:18Z","followers":0,"pushed":"2010-05-24T02:17:22.769Z","gravatar_id":"10bb57f304b30df01cfdf2651bc35d6b","followers_count":0,"name":"","username":"Lucy127","login":"Lucy127","repos":0,"created":"2009-10-24T04:18:18Z","language":"","record":null,"id":"user-143941","location":"","score":4.3540215,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-02-06T19:30:39Z","followers":0,"pushed":"2011-02-06T20:15:11.729Z","gravatar_id":"8fef5b5be5c201f77a21de8855c9311b","followers_count":0,"name":"","username":"lucy5533","login":"lucy5533","repos":0,"created":"2011-02-06T19:30:39Z","language":"","record":null,"id":"user-603563","location":"","score":4.3540215,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-06-28T16:00:00Z","followers":0,"pushed":"2012-06-28T16:15:43.35Z","gravatar_id":"3d2f7a0343b47950597fb2196e6e91c5","followers_count":0,"name":"","username":"lucy541","login":"lucy541","repos":0,"created":"2012-06-28T16:00:00Z","language":"","record":null,"id":"user-1903046","location":"","score":4.3540215,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-05-06T08:20:31Z","followers":0,"pushed":"2010-05-23T22:35:45.685Z","gravatar_id":"ebf14b66e770e5be37b6e1824e1a8604","followers_count":0,"name":"","username":"lucy1015","login":"lucy1015","repos":0,"created":"2010-05-06T08:20:31Z","language":"","record":null,"id":"user-266292","location":"","score":4.349565,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-03-16T00:39:18Z","followers":0,"pushed":"2010-03-16T01:15:09.268Z","gravatar_id":"b0ad475bf34cd7ab1631c94e857f79ba","followers_count":0,"name":"","username":"lucy1936","login":"lucy1936","created":"2010-03-16T00:39:18Z","repos":0,"language":"","record":null,"id":"user-223446","location":"","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-02-24T17:31:36Z","followers":0,"pushed":"2011-02-24T18:15:14.79Z","gravatar_id":"a8a0a96bb47bed20c304eb2f4e5c11e2","followers_count":0,"name":"","username":"lucy15","login":"lucy15","repos":0,"created":"2011-02-24T17:31:36Z","language":"","record":null,"id":"user-636402","location":"","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-06-23T18:20:27Z","followers":0,"pushed":"2011-06-23T19:15:32.546Z","gravatar_id":"bd0f86427e0c978c2554f0c67228afc6","followers_count":0,"name":"","username":"Lucy1771","login":"Lucy1771","repos":0,"created":"2011-06-23T18:20:27Z","language":"","record":null,"id":"user-871492","location":"","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-26T07:47:52Z","followers":0,"pushed":"2011-12-06T06:15:22.958Z","gravatar_id":"353e806e04ebaba84fc996114f00117a","followers_count":0,"name":"","username":"lucy0178","login":"lucy0178","repos":0,"created":"2011-09-26T07:47:52Z","language":"","record":null,"id":"user-1079895","location":"","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-17T20:26:32Z","followers":0,"pushed":"2012-01-18T21:15:32.336Z","gravatar_id":"aeb0c3fc7bb83512327a58fe0bf5a36f","followers_count":0,"name":"","username":"luci1234","login":"luci1234","created":"2012-01-17T20:26:32Z","repos":0,"language":"","record":null,"location":"","id":"user-1340006","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-30T11:34:26Z","followers":0,"pushed":"2012-03-30T12:15:24.98Z","gravatar_id":"16dd0f4291c09ab48e1aef163c7afe08","followers_count":0,"name":"","username":"Luci4","login":"Luci4","repos":0,"created":"2012-03-30T11:34:26Z","language":"","record":null,"id":"user-1590212","location":"","score":4.3228273,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-05-25T22:08:22Z","followers":1,"pushed":"2012-04-11T21:16:15.164Z","gravatar_id":"adc11abccfec98a183ccb9c9bd443a4b","followers_count":1,"name":"","username":"LucyI","login":"LucyI","created":"2011-05-25T22:08:22Z","repos":0,"language":"","record":null,"id":"user-810839","location":"","score":3.635858,"type":"user","public_repo_count":0},{"fullname":"Aura Travel","created_at":"2012-05-02T02:06:38Z","followers":0,"pushed":"2012-05-02T02:15:28.33Z","gravatar_id":"f9a974e21859062182b63392235a2a8a","followers_count":0,"name":"Aura Travel","username":"auratravel","login":"auratravel","created":"2012-05-02T02:06:38Z","repos":1,"language":"","record":null,"id":"user-1697327","location":"Australia","score":3.6153338,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2011-10-10T14:11:01Z","followers":0,"pushed":"2012-05-03T03:15:21.088Z","gravatar_id":"8f58e67d013167b1110fdb78ef23fe7f","followers_count":0,"name":"","username":"lucymhdavies","login":"lucymhdavies","created":"2011-10-10T14:11:01Z","repos":1,"language":"Java","record":null,"id":"user-1116529","location":"","score":3.6153338,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-01-07T15:56:48Z","followers":2,"pushed":"2012-06-26T00:15:17.201Z","gravatar_id":"a02be745bfbc49fe22395f69d664039e","followers_count":2,"name":"","username":"iamhutch","login":"iamhutch","created":"2012-01-07T15:56:48Z","repos":3,"language":"JavaScript","record":null,"id":"user-1311645","location":"","score":3.571992,"type":"user","public_repo_count":3},{"fullname":"","created_at":"2010-10-12T23:35:28Z","followers":0,"pushed":"2010-10-17T10:15:10.605Z","gravatar_id":"c1fd276707bbc89873e50fed40c2015f","followers_count":0,"name":"","username":"lucindamary","login":"lucindamary","repos":0,"created":"2010-10-12T23:35:28Z","language":"","record":null,"id":"user-437303","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-06-14T21:34:53Z","followers":0,"pushed":"2011-06-14T22:15:18.424Z","gravatar_id":"2d0c01d2df7455cd5de1a44c3601cbc0","followers_count":0,"name":"","username":"Fortepiano","login":"Fortepiano","created":"2011-06-14T21:34:53Z","repos":0,"language":"","record":null,"id":"user-850439","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-10T14:19:46Z","followers":0,"pushed":"2012-01-10T15:15:39.844Z","gravatar_id":"b3b4d49d89b08c6797a0c10b20d9ad5e","followers_count":0,"name":"","username":"luciekasna","login":"luciekasna","repos":0,"created":"2012-01-10T14:19:46Z","language":"","record":null,"id":"user-1318596","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-04T02:56:21Z","followers":0,"pushed":"2012-03-08T01:15:19.527Z","gravatar_id":"5d3d27a1c6b0cb450e690dd54a302469","followers_count":0,"name":"","username":"lucylou","login":"lucylou","repos":0,"created":"2011-10-04T02:56:21Z","language":"","record":null,"id":"user-1100650","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-11T09:23:51Z","followers":0,"pushed":"2012-04-11T08:15:25.21Z","gravatar_id":"db3731506ada5dce192c90d2778d2b03","followers_count":0,"name":"","username":"luciebarthlen","login":"luciebarthlen","created":"2012-01-11T09:23:51Z","repos":0,"language":"","record":null,"id":"user-1321175","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-06-01T18:08:10Z","followers":0,"pushed":"2012-06-01T19:15:13.898Z","gravatar_id":"1bfeb3e30e7054b24b3cc8969350032f","followers_count":0,"name":"","username":"lucybruckner","login":"lucybruckner","repos":0,"created":"2012-06-01T18:08:10Z","language":"","record":null,"id":"user-1807177","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2009-04-30T14:28:42Z","followers":0,"pushed":"2012-06-06T21:15:26.357Z","gravatar_id":"6497df826186da9709d52bcc36f53623","followers_count":0,"name":"","username":"lucygrayson","login":"lucygrayson","created":"2009-04-30T14:28:42Z","repos":0,"language":"","record":null,"id":"user-79583","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"Maddate","created_at":"2012-03-07T20:29:25Z","followers":0,"pushed":"2012-06-28T18:15:28.106Z","gravatar_id":"997a28ce13c7115780992acaf701d49d","followers_count":0,"name":"Maddate","username":"maddi","login":"maddi","repos":0,"created":"2012-03-07T20:29:25Z","language":"","record":null,"id":"user-1513164","location":"","score":3.5650477,"type":"user","public_repo_count":0},{"fullname":"Ermal Luçi","created_at":"2010-01-19T08:33:14Z","followers":2,"pushed":"2012-03-23T09:15:25.49Z","gravatar_id":"ada44811ee680f8b24bd3b0936a076ee","followers_count":2,"name":"Ermal Luçi","username":"ermal","login":"ermal","repos":2,"created":"2010-01-19T08:33:14Z","language":"Shell","record":null,"id":"user-185253","location":"Albania","score":3.5217059,"type":"user","public_repo_count":2},{"fullname":"","created_at":"2012-05-22T19:56:57Z","followers":0,"pushed":"2012-05-22T20:15:32.078Z","gravatar_id":"1111d2fc2c816a54ab2679ecf0343aa2","followers_count":0,"name":"","username":"LucyTech","login":"LucyTech","created":"2012-05-22T19:56:57Z","repos":1,"language":"PHP","record":null,"id":"user-1766837","location":"","score":3.5085478,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2009-10-24T04:19:48Z","followers":0,"pushed":"2010-05-24T02:17:22.789Z","gravatar_id":"217c8b33ebdadc4d1a145ed5b734efcb","followers_count":0,"name":"","username":"Lucy-cun","login":"Lucy-cun","repos":0,"created":"2009-10-24T04:19:48Z","language":"","record":null,"id":"user-143943","location":"","score":3.489456,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-03-13T09:04:33Z","followers":0,"pushed":"2011-03-13T09:15:11.286Z","gravatar_id":"bc0f3ed62c378b135e408cd669ad2fb1","followers_count":0,"name":"","username":"luci-serb","login":"luci-serb","repos":0,"created":"2011-03-13T09:04:33Z","language":"","record":null,"id":"user-666715","location":"","score":3.489456,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-11-09T15:13:16Z","followers":0,"pushed":"2011-06-17T10:26:39.586Z","gravatar_id":"5e4a99d34928682c35f9f3260bc232ee","followers_count":0,"name":"","username":"LuciRebecca","login":"LuciRebecca","repos":0,"created":"2010-11-09T15:13:16Z","language":"","record":null,"id":"user-474234","location":"","score":3.489456,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2009-07-06T18:44:13Z","followers":0,"pushed":"2010-05-25T04:15:49.667Z","gravatar_id":"f703b440ac3b5991886d313b5e5ca25a","followers_count":0,"name":"","username":"LucySofiano","login":"LucySofiano","repos":0,"created":"2009-07-06T18:44:13Z","language":"","record":null,"id":"user-102224","location":"","score":3.4849997,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-05-19T15:30:20Z","followers":0,"pushed":"2011-05-19T16:15:19.239Z","gravatar_id":"937c8c58bd85a781889b9d126e6f5c0e","followers_count":0,"name":"","username":"waltz4lucy","login":"waltz4lucy","repos":0,"created":"2011-05-19T15:30:20Z","language":"","record":null,"id":"user-798456","location":"","score":3.4849997,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-26T09:37:46Z","followers":0,"pushed":"2011-08-26T10:15:52.832Z","gravatar_id":"7ee2c8660de537ff3bd471d09039ca3c","followers_count":0,"name":"","username":"LucyEKH","login":"LucyEKH","repos":0,"created":"2011-08-26T09:37:46Z","language":"","record":null,"id":"user-1006216","location":"","score":3.4849997,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-06-05T20:53:03Z","followers":0,"pushed":"2012-06-13T00:15:11.098Z","gravatar_id":"9f87af3761d6bb8539c12a6e23bbcd2a","followers_count":0,"name":"","username":"bv-lucy-puppet","login":"bv-lucy-puppet","created":"2012-06-05T20:53:03Z","repos":0,"language":"","record":null,"id":"user-1820833","location":"","score":3.4849997,"type":"user","public_repo_count":0},{"fullname":"Lucian Pacurar","created_at":"2010-02-06T19:11:50Z","followers":1,"pushed":"2012-04-27T13:15:20.332Z","gravatar_id":"1ceab007bf93e084e65809a905574811","followers_count":1,"name":"Lucian Pacurar","username":"lucassp","login":"lucassp","repos":4,"created":"2010-02-06T19:11:50Z","language":"JavaScript","record":null,"id":"user-198549","location":"Timisoara, ROMANIA","score":3.4714198,"type":"user","public_repo_count":4},{"fullname":"","created_at":"2010-01-28T19:12:12Z","followers":0,"pushed":"2010-05-23T21:26:11.895Z","gravatar_id":"dfa0beeba1fcfddbb9fe6710335782a3","followers_count":0,"name":"","username":"LucyQiu","login":"LucyQiu","repos":0,"created":"2010-01-28T19:12:12Z","language":"","record":null,"id":"user-191765","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-03-12T00:43:49Z","followers":0,"pushed":"2011-03-12T01:15:13.113Z","gravatar_id":"6d8d26708f5b1cd2c368e46f9fc0b816","followers_count":0,"name":"","username":"VinoLuciStyle","login":"VinoLuciStyle","repos":0,"created":"2011-03-12T00:43:49Z","language":"","record":null,"id":"user-665089","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-07T07:44:47Z","followers":0,"pushed":"2011-08-07T08:15:15Z","gravatar_id":"180354ce2355376982e2936266f32ed9","followers_count":0,"name":"","username":"LucyJane","login":"LucyJane","repos":0,"created":"2011-08-07T07:44:47Z","language":"","record":null,"id":"user-964138","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-28T01:22:03Z","followers":0,"pushed":"2011-09-21T19:15:28.828Z","gravatar_id":"d189bedd274ab331008059715d8658e0","followers_count":0,"name":"","username":"LucyJp","login":"LucyJp","repos":0,"created":"2011-08-28T01:22:03Z","language":"","record":null,"id":"user-1009291","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-24T01:26:36Z","followers":0,"pushed":"2011-10-24T02:15:19.952Z","gravatar_id":"cd9936e97ccc4cd2d9ffe02d43c9c438","followers_count":0,"name":"","username":"LucyHsieh","login":"LucyHsieh","repos":0,"created":"2011-10-24T01:26:36Z","language":"","record":null,"id":"user-1147204","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-29T06:07:49Z","followers":0,"pushed":"2012-02-27T01:15:20.197Z","gravatar_id":"919b9cfae3ca14a0c2e369dfb0228305","followers_count":0,"name":"","username":"LUCI-em","login":"LUCI-em","repos":0,"created":"2012-01-29T06:07:49Z","language":"","record":null,"id":"user-1388616","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-27T07:56:18Z","followers":0,"pushed":"2012-02-27T08:15:23.24Z","gravatar_id":"151dc1fe9b2b8c23d1dc03a403f20d9f","followers_count":0,"name":"","username":"LucySqueo","login":"LucySqueo","repos":0,"created":"2012-02-27T07:56:18Z","language":"","record":null,"id":"user-1477649","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-11T00:05:10Z","followers":0,"pushed":"2012-03-08T00:15:56.722Z","gravatar_id":"96b4574f85b9b34076cee7acadd6bdd4","followers_count":0,"name":"","username":"LucyBuildMaster","login":"LucyBuildMaster","repos":0,"created":"2011-11-11T00:05:10Z","language":"","record":null,"id":"user-1187480","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-15T03:48:11Z","followers":0,"pushed":"2012-03-15T12:15:39.26Z","gravatar_id":"04767af58da26ed16c1f2993dabf3fa2","followers_count":0,"name":"","username":"LucyOnskul","login":"LucyOnskul","repos":0,"created":"2011-07-15T03:48:11Z","language":"","record":null,"id":"user-916770","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-26T14:29:10Z","followers":0,"pushed":"2012-03-26T15:15:23.422Z","gravatar_id":"f24eee99ab516234bb3ec672999cc693","followers_count":0,"name":"","username":"LuciQa","login":"LuciQa","repos":0,"created":"2012-03-26T14:29:10Z","language":"","record":null,"id":"user-1576460","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-05T14:16:50Z","followers":0,"pushed":"2012-04-05T15:15:12.858Z","gravatar_id":"be394564d0e294ba5cdc79b8b577aef4","followers_count":0,"name":"","username":"LucyMoreno","login":"LucyMoreno","created":"2012-04-05T14:16:50Z","repos":0,"language":"","record":null,"id":"user-1615660","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-09T22:51:29Z","followers":0,"pushed":"2012-04-09T23:15:23.609Z","gravatar_id":"027fc013687698b4cb0139c3c84d8147","followers_count":0,"name":"","username":"LucyU","login":"LucyU","created":"2012-04-09T22:51:29Z","repos":0,"language":"","record":null,"id":"user-1627370","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-13T12:08:14Z","followers":0,"pushed":"2012-04-13T12:15:29.8Z","gravatar_id":"65b31bede1642408b3a9f15b45737dd9","followers_count":0,"name":"","username":"LucyKraz","login":"LucyKraz","created":"2012-04-13T12:08:14Z","repos":0,"language":"","record":null,"id":"user-1640137","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-02T20:22:40Z","followers":0,"pushed":"2012-05-02T21:15:14.109Z","gravatar_id":"0b6121216fd38441df7ff95c3c99b0e8","followers_count":0,"name":"","username":"LucyMagic","login":"LucyMagic","created":"2012-05-02T20:22:40Z","repos":0,"language":"","record":null,"id":"user-1700189","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-09T15:54:49Z","followers":0,"pushed":"2012-05-09T16:15:34.267Z","followers_count":0,"name":"","username":"LuciGrosjean10","login":"LuciGrosjean10","created":"2012-05-09T15:54:49Z","repos":0,"language":"","record":null,"id":"user-1722532","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-29T18:14:47Z","followers":0,"pushed":"2012-05-29T19:15:11.271Z","gravatar_id":"452e39dcf9ce47cabd9054a17d471c0a","followers_count":0,"name":"","username":"lucy-udalykh","login":"lucy-udalykh","created":"2012-05-29T18:14:47Z","repos":0,"language":"","record":null,"id":"user-1790068","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-08T14:08:51Z","followers":0,"pushed":"2012-06-01T01:15:25.696Z","followers_count":0,"name":"","username":"LucyCauthorn41","login":"LucyCauthorn41","created":"2012-05-08T14:08:51Z","repos":0,"language":"","record":null,"location":"","id":"user-1717385","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-08T15:18:35Z","followers":0,"pushed":"2012-06-01T01:15:30.385Z","followers_count":0,"name":"","username":"LuciHipp44","login":"LuciHipp44","created":"2012-05-08T15:18:35Z","repos":0,"language":"","record":null,"location":"","id":"user-1717908","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-08T16:50:18Z","followers":0,"pushed":"2012-06-01T01:15:36.396Z","followers_count":0,"name":"","username":"LucieStanga90","login":"LucieStanga90","created":"2012-05-08T16:50:18Z","repos":0,"language":"","record":null,"location":"","id":"user-1718551","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-06-28T08:27:18Z","followers":0,"pushed":"2012-06-28T09:15:16.181Z","gravatar_id":"0ec5fa48eefa0355c6fa9df6e82531c0","followers_count":0,"name":"","username":"LucyG","login":"LucyG","repos":0,"created":"2012-06-28T08:27:18Z","language":"","record":null,"id":"user-1901648","location":"","score":3.4582617,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-06-23T12:16:56Z","followers":1,"pushed":"2012-06-28T08:15:15.178Z","gravatar_id":"b89777898e97e9e3997493e1645bbce8","followers_count":1,"name":"","username":"lccoppee","login":"lccoppee","repos":2,"created":"2011-06-23T12:16:56Z","language":"PHP","record":null,"id":"user-870463","location":"France","score":3.3708475,"type":"user","public_repo_count":2},{"fullname":"","created_at":"2009-01-04T17:14:04Z","followers":1,"pushed":"2010-05-24T00:17:56.193Z","gravatar_id":"6c6bc56666e688d978776965e7b5c4dd","followers_count":1,"name":"","username":"lucieradkovicova","login":"lucieradkovicova","repos":1,"created":"2009-01-04T17:14:04Z","language":"JavaScript","record":null,"id":"user-44110","location":"","score":3.3205614,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2010-01-27T13:47:19Z","followers":0,"pushed":"2010-05-23T21:25:46.71Z","gravatar_id":"8e676b7452b16a35ffb0b7dfb8871b9e","followers_count":0,"name":"","username":"Hanuman","login":"Hanuman","repos":3,"created":"2010-01-27T13:47:19Z","language":"Java","record":null,"id":"user-190899","location":"","score":3.270275,"type":"user","public_repo_count":3},{"fullname":"","created_at":"2010-09-29T13:56:20Z","followers":1,"pushed":"2010-09-29T14:15:14.548Z","gravatar_id":"eda6068c552e308c1592db6cc59150fc","followers_count":1,"name":"","username":"lucihana","login":"lucihana","repos":0,"created":"2010-09-29T13:56:20Z","language":"","record":null,"id":"user-420832","location":"","score":3.270275,"type":"user","public_repo_count":0},{"fullname":"Preda Lucian","created_at":"2011-10-01T14:41:57Z","followers":0,"pushed":"2012-06-24T19:16:00.175Z","gravatar_id":"fd6d24eac001cd1dfb235d0e018f8608","followers_count":0,"name":"Preda Lucian","username":"NorrWing","login":"NorrWing","created":"2011-10-01T14:41:57Z","repos":3,"language":"Python","record":null,"id":"user-1094937","location":"Bucharest, Romania, European Union.","score":3.270275,"type":"user","public_repo_count":3},{"fullname":"Nathan H","created_at":"2011-10-05T20:02:08Z","followers":1,"pushed":"2011-11-02T21:15:28.442Z","gravatar_id":"f125f8d6d1e2553793d02fa3b87d2e0b","followers_count":1,"name":"Nathan H","username":"Ha1luciNate","login":"Ha1luciNate","repos":1,"created":"2011-10-05T20:02:08Z","language":"PHP","record":null,"id":"user-1105848","location":"","score":3.2271237,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2010-09-29T15:13:48Z","followers":0,"pushed":"2011-11-15T12:15:21.984Z","gravatar_id":"ce40eb39dea0ab7dab555457739345c4","followers_count":0,"name":"","username":"lkurian","login":"lkurian","repos":2,"created":"2010-09-29T15:13:48Z","language":"ASP","record":null,"id":"user-420950","location":"","score":3.219989,"type":"user","public_repo_count":2},{"fullname":"","created_at":"2012-06-15T08:41:41Z","followers":0,"pushed":"2012-06-29T06:15:20.722Z","gravatar_id":"6ae7e5842bfeb9d5b8c036b65aacb3a9","followers_count":0,"name":"","username":"heyuefeng","login":"heyuefeng","repos":2,"created":"2012-06-15T08:41:41Z","language":"Java","record":null,"id":"user-1853241","location":"","score":3.219989,"type":"user","public_repo_count":2},{"fullname":"","created_at":"2009-02-22T23:35:39Z","followers":0,"pushed":"2009-09-26T18:51:50.015Z","gravatar_id":"12714dc009f04b19e7731e653b5fe4a8","followers_count":0,"name":"","username":"lu","login":"lu","repos":1,"created":"2009-02-22T23:35:39Z","language":"","record":null,"location":"","id":"user-56936","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2010-02-07T22:27:57Z","followers":0,"pushed":"2010-05-23T21:30:17.191Z","gravatar_id":"de54de13e0439a78f9db94f8c274654e","followers_count":0,"name":"","username":"lucykee","login":"lucykee","repos":1,"created":"2010-02-07T22:27:57Z","language":"JavaScript","record":null,"id":"user-199146","location":"","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-02-03T20:08:55Z","followers":0,"pushed":"2012-02-03T20:15:36.116Z","followers_count":0,"name":"","username":"lucieaveris","login":"lucieaveris","created":"2012-02-03T20:08:55Z","repos":1,"language":"","record":null,"id":"user-1406522","location":"","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-03-26T06:39:50Z","followers":0,"pushed":"2012-03-26T07:15:23.734Z","gravatar_id":"a14f9dd0146a0ce46927794273451b42","followers_count":0,"name":"","username":"lucychen","login":"lucychen","repos":1,"created":"2012-03-26T06:39:50Z","language":"","record":null,"id":"user-1575168","location":"","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-02-27T00:22:16Z","followers":0,"pushed":"2012-04-23T21:15:32.218Z","gravatar_id":"18b9f8411fcaf622398142c0b6e16530","followers_count":0,"name":"","username":"wtlghf","login":"wtlghf","created":"2012-02-27T00:22:16Z","repos":1,"language":"","record":null,"id":"user-1476912","location":"","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-05-22T10:31:47Z","followers":0,"pushed":"2012-05-22T19:16:29.159Z","gravatar_id":"fb5d5714453a98b58ee3b999fc61adce","followers_count":0,"name":"","username":"p3rpl3j4","login":"p3rpl3j4","created":"2012-05-22T10:31:47Z","repos":1,"language":"","record":null,"id":"user-1764046","location":"","score":3.1697028,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-03-31T11:54:35Z","followers":0,"pushed":"2012-06-26T18:15:39.939Z","gravatar_id":"952e21a3d77230e0d0e706868a11cdac","followers_count":0,"name":"","username":"lucian-v","login":"lucian-v","repos":1,"created":"2012-03-31T11:54:35Z","language":"","record":null,"id":"user-1593065","location":"","score":3.1697028,"type":"user","public_repo_count":1}]} - -https -GET -api.github.com -None -/legacy/user/search/Lucy?start_page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('x-ratelimit-limit', '5000'), ('content-length', '17711'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"2276a70e7cb32c70ab3018105c9dcb22"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 12:30:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[{"fullname":"","created_at":"2010-08-08T23:52:29Z","followers":0,"pushed":"2010-08-09T00:15:09.022Z","gravatar_id":"6d7d3334458d9b82a5c5e22409ed043b","followers_count":0,"name":"","username":"lucievh","login":"lucievh","repos":0,"created":"2010-08-08T23:52:29Z","language":"","record":null,"id":"user-358057","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-09-22T05:31:14Z","followers":0,"pushed":"2010-09-22T06:15:13.692Z","gravatar_id":"f753f69213bbfc3b80607ee48a488d6e","followers_count":0,"name":"","username":"lucyim","login":"lucyim","repos":0,"created":"2010-09-22T05:31:14Z","language":"","record":null,"id":"user-410994","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-04-24T20:45:24Z","followers":0,"pushed":"2011-04-24T21:15:12.163Z","gravatar_id":"f1e19ca48feb1e62ee3149d28c11e911","followers_count":0,"name":"","username":"Lucief","login":"Lucief","repos":0,"created":"2011-04-24T20:45:24Z","language":"","record":null,"id":"user-749248","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-05-30T09:55:59Z","followers":0,"pushed":"2011-05-30T11:15:20.068Z","gravatar_id":"2da8ca4713c1b1e42a4a17323e4e8dae","followers_count":0,"name":"","username":"RevolverUpstairs","login":"RevolverUpstairs","repos":0,"created":"2011-05-30T09:55:59Z","language":"","record":null,"id":"user-818408","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-22T13:27:38Z","followers":0,"pushed":"2011-07-22T15:15:23.693Z","gravatar_id":"3686834b80a859db93c76e78df9a5a64","followers_count":0,"name":"","username":"seriousprogramming","login":"seriousprogramming","repos":0,"created":"2011-07-22T13:27:38Z","language":"","record":null,"id":"user-932499","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-06T09:47:48Z","followers":0,"pushed":"2011-08-06T10:15:31.758Z","gravatar_id":"69eafce84a5e4a9b26bc337a58ca72bc","followers_count":0,"name":"","username":"reicul","login":"reicul","repos":0,"created":"2011-08-06T09:47:48Z","language":"","record":null,"id":"user-962793","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-07T11:56:47Z","followers":0,"pushed":"2011-08-07T12:15:14.482Z","gravatar_id":"8896a319762ed30fea086e8213003809","followers_count":0,"name":"","username":"davincidubai","login":"davincidubai","repos":0,"created":"2011-08-07T11:56:47Z","language":"","record":null,"id":"user-964372","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-14T23:19:20Z","followers":0,"pushed":"2011-08-15T00:15:17.005Z","gravatar_id":"c464112ee895455ebc7e4395455cc3b4","followers_count":0,"name":"","username":"LucianaNascimentodoPrado","login":"LucianaNascimentodoPrado","repos":0,"created":"2011-08-14T23:19:20Z","language":"","record":null,"id":"user-979924","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-20T03:41:59Z","followers":0,"pushed":"2011-08-20T04:15:15.688Z","gravatar_id":"89b16b399fef7f5cf0f09aa52eb1f982","followers_count":0,"name":"","username":"lucia-huenchunao","login":"lucia-huenchunao","repos":0,"created":"2011-08-20T03:41:59Z","language":"","record":null,"id":"user-992290","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-30T06:35:07Z","followers":0,"pushed":"2011-08-30T07:15:40.964Z","gravatar_id":"15e9c23dc4ff8309d32759ebbc12f136","followers_count":0,"name":"","username":"kraji20","login":"kraji20","repos":0,"created":"2011-08-30T06:35:07Z","language":"","record":null,"id":"user-1013732","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-16T16:00:13Z","followers":0,"pushed":"2011-09-16T16:15:31.791Z","gravatar_id":"29b7278765b2513f6b1770acffd6e76c","followers_count":0,"name":"","username":"Lucywolo","login":"Lucywolo","repos":0,"created":"2011-09-16T16:00:13Z","language":"","record":null,"id":"user-1056415","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-20T08:49:42Z","followers":0,"pushed":"2011-09-20T09:15:39.554Z","gravatar_id":"272574bc4ad24eb6ca99e0ff63181708","followers_count":0,"name":"","username":"Luciel","login":"Luciel","repos":0,"created":"2011-09-20T08:49:42Z","language":"","record":null,"id":"user-1064456","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-26T00:34:00Z","followers":0,"pushed":"2011-09-26T01:15:19.861Z","gravatar_id":"88afbca53168e171337cd236ebf861eb","followers_count":0,"name":"","username":"sunnysummer","login":"sunnysummer","repos":0,"created":"2011-09-26T00:34:00Z","language":"","record":null,"location":"","id":"user-1079184","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-12T18:56:57Z","followers":0,"pushed":"2011-10-12T19:15:46.788Z","gravatar_id":"2d2bbcf8fc6ba08acad9d0120f7e877f","followers_count":0,"name":"","username":"elush","login":"elush","repos":0,"created":"2011-10-12T18:56:57Z","language":"","record":null,"id":"user-1123389","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-08T13:10:02Z","followers":0,"pushed":"2011-11-08T13:15:29.919Z","gravatar_id":"e47379a7fb647bcfe9cb35b313c6681d","followers_count":0,"name":"","username":"oprealuci","login":"oprealuci","repos":0,"created":"2011-11-08T13:10:02Z","language":"","record":null,"id":"user-1180621","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-11-30T12:50:11Z","followers":0,"pushed":"2012-01-06T20:15:31.201Z","followers_count":0,"name":"","username":"Flika","login":"Flika","repos":0,"created":"2011-11-30T12:50:11Z","language":"","record":null,"id":"user-1230733","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-01-16T13:52:04Z","followers":0,"pushed":"2012-01-16T14:15:26.544Z","gravatar_id":"93a807008d0335f8cfa7630905a3731a","followers_count":0,"name":"","username":"lsher","login":"lsher","created":"2012-01-16T13:52:04Z","repos":0,"language":"","record":null,"id":"user-1333790","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-14T12:45:55Z","followers":0,"pushed":"2012-02-14T13:15:21.421Z","gravatar_id":"48c680a1435659586d2b5fa88978bf2f","followers_count":0,"name":"","username":"datadrivenjournalism","login":"datadrivenjournalism","created":"2012-02-14T12:45:55Z","repos":0,"language":"","record":null,"id":"user-1436639","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-05T19:25:13Z","followers":0,"pushed":"2012-03-07T21:16:16.829Z","gravatar_id":"f85bd730cad7f29b2a6ffcb877ca9049","followers_count":0,"name":"","username":"nill2020","login":"nill2020","repos":0,"created":"2011-09-05T19:25:13Z","language":"","record":null,"id":"user-1028199","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-12T09:34:25Z","followers":0,"pushed":"2012-03-12T10:15:30.499Z","followers_count":0,"name":"","username":"doobi","login":"doobi","created":"2012-03-12T09:34:25Z","repos":0,"language":"","record":null,"id":"user-1528155","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-15T05:39:16Z","followers":0,"pushed":"2012-03-15T06:15:26.409Z","gravatar_id":"6e1dffbbee01406ca6362a476406e311","followers_count":0,"name":"","username":"lucilu","login":"lucilu","repos":0,"created":"2012-03-15T05:39:16Z","language":"","record":null,"id":"user-1539233","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-21T15:37:52Z","followers":0,"pushed":"2012-03-21T16:15:24.866Z","gravatar_id":"de5a284da24ca18274e389e172269cfa","followers_count":0,"name":"","username":"deldeldel","login":"deldeldel","repos":0,"created":"2012-03-21T15:37:52Z","language":"","record":null,"id":"user-1561401","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-27T13:06:55Z","followers":0,"pushed":"2012-03-27T13:15:45.802Z","gravatar_id":"b004de54d6f13d701ae5050809bdd091","followers_count":0,"name":"","username":"lucianacocca","login":"lucianacocca","repos":0,"created":"2012-03-27T13:06:55Z","language":"","record":null,"id":"user-1579740","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-27T23:18:49Z","followers":0,"pushed":"2012-04-27T02:15:22.503Z","gravatar_id":"6692a18a892458d7c4ab139f2c442277","followers_count":0,"name":"","username":"lucyli-sfdc","login":"lucyli-sfdc","repos":0,"created":"2011-09-27T23:18:49Z","language":"","record":null,"id":"user-1085374","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T10:05:02Z","followers":0,"pushed":"2012-05-01T12:15:23.517Z","gravatar_id":"9786861913ce64448699dba1ee27a7a6","followers_count":0,"name":"","username":"lucysatchell","login":"lucysatchell","repos":0,"created":"2012-05-01T10:05:02Z","language":"","record":null,"id":"user-1695084","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-01T12:11:30Z","followers":0,"pushed":"2012-06-01T19:16:17.478Z","gravatar_id":"c0228bc603e6802f3ee5e8299474587b","followers_count":0,"name":"","username":"UBM","login":"UBM","repos":0,"created":"2012-05-01T12:11:30Z","language":"","record":null,"id":"user-1695284","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-05-30T16:12:12Z","followers":0,"pushed":"2012-06-06T19:16:09.64Z","gravatar_id":"1652e06df5d348d1a575a36e2f7e5f72","followers_count":0,"name":"","username":"kolousek","login":"kolousek","created":"2012-05-30T16:12:12Z","repos":0,"language":"","record":null,"id":"user-1794308","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2010-05-04T01:08:54Z","followers":0,"pushed":"2012-06-13T20:15:11.55Z","gravatar_id":"f8ec680ef4321558d220391d96dfb797","followers_count":0,"name":"","username":"lucyzhang","login":"lucyzhang","created":"2010-05-04T01:08:54Z","repos":0,"language":"","record":null,"id":"user-263828","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-07-20T17:01:35Z","followers":0,"pushed":"2012-06-28T00:15:22.237Z","gravatar_id":"772de244d454a467439f0cdb6f4a1e4e","followers_count":0,"name":"","username":"lmegia","login":"lmegia","repos":0,"created":"2011-07-20T17:01:35Z","language":"","record":null,"id":"user-928346","location":"","score":3.1194167,"type":"user","public_repo_count":0},{"fullname":"Luis Olivo","created_at":"2012-03-07T21:32:50Z","followers":1,"pushed":"2012-06-02T18:15:15.477Z","gravatar_id":"4141a3f99023b16642e8a33d155947b6","followers_count":1,"name":"Luis Olivo","username":"luisolivo","login":"luisolivo","repos":1,"created":"2012-03-07T21:32:50Z","language":"Ruby","record":null,"id":"user-1513356","location":"Port Saint Lucie, Florida","score":2.791304,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2011-08-31T03:50:47Z","followers":0,"pushed":"2011-08-31T04:15:23.388Z","gravatar_id":"331ecd4d2e53187e0287d9a1af51a7cd","followers_count":0,"name":"","username":"Lucyzhen","login":"Lucyzhen","repos":1,"created":"2011-08-31T03:50:47Z","language":"C#","record":null,"id":"user-1016061","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2012-04-28T11:04:47Z","followers":0,"pushed":"2012-04-28T11:15:41.657Z","gravatar_id":"10cdf0c816a67a79461e672dd47c46de","followers_count":0,"name":"","username":"Luhzinha","login":"Luhzinha","repos":1,"created":"2012-04-28T11:04:47Z","language":"","record":null,"id":"user-1687701","location":"","score":2.7240717,"type":"user","public_repo_count":1},{"fullname":"","created_at":"2009-09-18T00:12:07Z","followers":0,"pushed":"2010-05-25T02:17:49.827Z","gravatar_id":"7766d61aa4bee478cd29d01653f99a27","followers_count":0,"name":"","username":"beautifly","login":"beautifly","repos":0,"created":"2009-09-18T00:12:07Z","language":"","record":null,"id":"user-128333","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-30T20:31:27Z","followers":0,"pushed":"2011-09-30T21:15:27.445Z","gravatar_id":"2421514bb391ad0e4009b441f35a8cfd","followers_count":0,"name":"","username":"lucybm96","login":"lucybm96","repos":0,"created":"2011-09-30T20:31:27Z","language":"","record":null,"id":"user-1093675","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-08-08T21:10:18Z","followers":0,"pushed":"2011-10-19T16:15:28.01Z","gravatar_id":"bc63269a11f7ce4a1ba817d7b598a4ec","followers_count":0,"name":"","username":"BuonocoreL","login":"BuonocoreL","repos":0,"created":"2011-08-08T21:10:18Z","language":"","record":null,"id":"user-967470","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-10-25T13:59:15Z","followers":0,"pushed":"2011-10-25T14:15:35.825Z","gravatar_id":"336abbd9e4151ae169e30e7e6679c7b7","followers_count":0,"name":"","username":"lucywilliams","login":"lucywilliams","repos":0,"created":"2011-10-25T13:59:15Z","language":"","record":null,"id":"user-1150845","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-05T19:08:43Z","followers":0,"pushed":"2012-02-05T19:15:26.112Z","gravatar_id":"710af9c67bfc63c7911801c960153551","followers_count":0,"name":"","username":"ZxOxZ","login":"ZxOxZ","created":"2012-02-05T19:08:43Z","repos":0,"language":"","record":null,"id":"user-1410529","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-02-22T12:38:07Z","followers":0,"pushed":"2012-02-22T13:15:21.033Z","gravatar_id":"4e34174ab98cfb31d27783a15edd65ff","followers_count":0,"name":"","username":"Motwinb","login":"Motwinb","repos":0,"created":"2012-02-22T12:38:07Z","language":"","record":null,"id":"user-1461109","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T06:41:31Z","followers":0,"pushed":"2012-03-05T07:15:17.415Z","gravatar_id":"3fd43be5de5bc0394cbb2f02fd5f8e55","followers_count":0,"name":"","username":"johnlucy","login":"johnlucy","repos":0,"created":"2012-03-05T06:41:31Z","language":"","record":null,"id":"user-1501671","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-05T16:24:11Z","followers":0,"pushed":"2012-03-05T17:15:18.016Z","gravatar_id":"c4c7f39ce80796afe054742ecebebd68","followers_count":0,"name":"","username":"Aquanimation","login":"Aquanimation","repos":0,"created":"2012-03-05T16:24:11Z","language":"","record":null,"id":"user-1503528","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-03-25T22:54:59Z","followers":0,"pushed":"2012-03-25T23:15:19.92Z","gravatar_id":"941783cf5e9908c1c1539f52063bfa83","followers_count":0,"name":"","username":"alaltaieri","login":"alaltaieri","repos":0,"created":"2012-03-25T22:54:59Z","language":"","record":null,"id":"user-1574456","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2012-04-02T14:04:23Z","followers":0,"pushed":"2012-04-02T14:15:39.659Z","gravatar_id":"b6dd2523be99cb65f67549fb3397038f","followers_count":0,"name":"","username":"lucylin","login":"lucylin","created":"2012-04-02T14:04:23Z","repos":0,"language":"","record":null,"id":"user-1598365","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"","created_at":"2011-09-06T12:13:13Z","followers":0,"pushed":"2012-06-12T16:15:31.304Z","gravatar_id":"24b955ee4add1de5b71d892ba6bd52ac","followers_count":0,"name":"","username":"lucychambers","login":"lucychambers","created":"2011-09-06T12:13:13Z","repos":0,"language":"","record":null,"id":"user-1029861","location":"","score":2.6737857,"type":"user","public_repo_count":0},{"fullname":"Juan M Sesma","created_at":"2011-04-14T18:29:44Z","followers":0,"pushed":"2011-07-25T16:15:21.323Z","gravatar_id":"9aa303ceb9eece6fe6af228fe5d992f6","followers_count":0,"name":"Juan M Sesma","username":"JuanSesma","login":"JuanSesma","repos":1,"created":"2011-04-14T18:29:44Z","language":"Ruby","record":null,"id":"user-729951","location":"Port St Lucie","score":2.6404455,"type":"user","public_repo_count":1},{"fullname":"Carl","created_at":"2012-03-17T22:30:00Z","followers":0,"pushed":"2012-03-19T04:15:12.148Z","gravatar_id":"f9e3fc4d72e3199a38ea641ccafbb844","followers_count":0,"name":"Carl","username":"cdwwebware","login":"cdwwebware","repos":0,"created":"2012-03-17T22:30:00Z","language":"","record":null,"id":"user-1548384","location":"Port Saint Lucie, Florida","score":2.5901594,"type":"user","public_repo_count":0},{"fullname":"Zachary Wills","created_at":"2012-03-07T00:29:36Z","followers":0,"pushed":"2012-06-20T16:15:50.039Z","gravatar_id":"31decf5c3bc6f0006c8152eb778203c1","followers_count":0,"name":"Zachary Wills","username":"ZachWills","login":"ZachWills","repos":0,"created":"2012-03-07T00:29:36Z","language":"","record":null,"id":"user-1509438","location":"Port St. Lucie, FL","score":2.5901594,"type":"user","public_repo_count":0}]} - -https -GET -api.github.com -None -/legacy/user/search/Lucy?start_page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4945'), ('x-ratelimit-limit', '5000'), ('content-length', '12'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"415a14c1d2a0aadba6cb4caa4ab9d59c"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 12:30:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[]} - diff --git a/github/tests/ReplayData/Github.testSearchRepos.txt b/github/tests/ReplayData/Github.testSearchRepos.txt deleted file mode 100644 index 4b43aad..0000000 --- a/github/tests/ReplayData/Github.testSearchRepos.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/repos/search/github -api v3 {'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '41937'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ca6d7101af2acb5a04f11645bc01f4b2"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:53:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repositories":[{"type":"repo","has_issues":true,"created_at":"2009-12-10T13:41:49-08:00","score":16.919834,"owner":"pengwynn","has_downloads":true,"followers":295,"created":"2009-12-10T13:41:49-08:00","pushed":"2012-06-28T05:54:54-07:00","homepage":"http://pengwynn.github.com/octokit","watchers":295,"has_wiki":true,"language":"Ruby","pushed_at":"2012-06-28T05:54:54-07:00","forks":73,"fork":false,"size":248,"name":"octokit","url":"https://github.com/pengwynn/octokit","description":"Simple Ruby wrapper for the GitHub v3 API","open_issues":2,"private":false,"integrate_branch":"master","username":"pengwynn"},{"type":"repo","has_issues":true,"created_at":"2011-06-23T15:52:33-07:00","score":8.835576,"owner":"jwilger","has_downloads":true,"followers":35,"created":"2011-06-23T15:52:33-07:00","pushed":"2012-01-20T12:46:30-08:00","watchers":35,"has_wiki":false,"language":"Ruby","pushed_at":"2012-01-20T12:46:30-08:00","forks":13,"fork":false,"size":212,"name":"github-v3-api","url":"https://github.com/jwilger/github-v3-api","description":"Ruby Client for the GitHub v3 API","open_issues":2,"private":false,"username":"jwilger"},{"type":"repo","has_issues":true,"created_at":"2011-10-11T13:02:03-07:00","master_branch":"develop","score":7.502039,"owner":"acoulton","has_downloads":true,"followers":11,"created":"2011-10-11T13:02:03-07:00","pushed":"2011-12-29T20:40:32-08:00","homepage":"","watchers":11,"has_wiki":true,"language":"PHP","pushed_at":"2011-12-29T20:40:32-08:00","forks":4,"fork":false,"size":164,"name":"github_v3_api","url":"https://github.com/acoulton/github_v3_api","description":"KO3 module for interacting with the new Github v3 API","open_issues":1,"private":false,"username":"acoulton"},{"type":"repo","has_issues":true,"created_at":"2011-09-25T12:36:22-07:00","score":7.3562603,"owner":"peter-murach","has_downloads":true,"followers":77,"created":"2011-09-25T12:36:22-07:00","pushed":"2012-06-24T10:54:21-07:00","homepage":"http://peter-murach.github.com/github","watchers":77,"has_wiki":true,"language":"Ruby","pushed_at":"2012-06-24T10:54:21-07:00","forks":26,"fork":false,"size":300,"name":"github","url":"https://github.com/peter-murach/github","description":"Ruby interface to github API v3","open_issues":1,"private":false,"username":"peter-murach"},{"type":"repo","has_issues":true,"created_at":"2012-06-04T15:20:41-07:00","score":7.121046,"owner":"VisualAppeal","has_downloads":true,"followers":2,"organization":"VisualAppeal","created":"2012-06-04T15:20:41-07:00","pushed":"2012-06-04T15:29:07-07:00","watchers":2,"has_wiki":true,"language":"PHP","pushed_at":"2012-06-04T15:29:07-07:00","forks":1,"fork":false,"size":132,"name":"Github-API-v3","url":"https://github.com/VisualAppeal/Github-API-v3","description":"PHP Github API client for version 3.","open_issues":0,"private":false,"username":"VisualAppeal"},{"type":"repo","has_issues":true,"created_at":"2012-02-21T02:02:04-08:00","score":7.116807,"owner":"guillaumepotier","has_downloads":true,"followers":2,"created":"2012-02-21T02:02:04-08:00","pushed":"2012-02-23T01:05:23-08:00","homepage":"","watchers":2,"has_wiki":true,"language":"PHP","pushed_at":"2012-02-23T01:05:23-08:00","forks":1,"fork":false,"size":104,"name":"GithubApi_v3","url":"https://github.com/guillaumepotier/GithubApi_v3","description":"Very simple class I use for my pet projects","open_issues":0,"private":false,"username":"guillaumepotier"},{"type":"repo","has_issues":true,"created_at":"2012-01-14T17:32:10-08:00","score":6.182912,"owner":"phated","has_downloads":true,"followers":3,"created":"2012-01-14T17:32:10-08:00","pushed":"2012-01-15T23:58:31-08:00","homepage":"","watchers":3,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-01-15T23:58:31-08:00","forks":1,"fork":false,"size":9196,"name":"github-v3-api-js","url":"https://github.com/phated/github-v3-api-js","description":"Experimentation with github api (v3) in javascript","open_issues":0,"private":false,"username":"phated"},{"type":"repo","has_issues":true,"created_at":"2012-02-05T20:34:12-08:00","score":6.127202,"owner":"rsanders","has_downloads":true,"followers":3,"created":"2012-02-05T20:34:12-08:00","pushed":"2012-02-07T22:50:13-08:00","homepage":"","watchers":3,"has_wiki":true,"language":"Emacs Lisp","pushed_at":"2012-02-07T22:50:13-08:00","forks":3,"fork":false,"size":120,"name":"github-api-v3.el","url":"https://github.com/rsanders/github-api-v3.el","description":"Emacs Lisp interface for the GitHub API v3","open_issues":0,"private":false,"username":"rsanders"},{"type":"repo","has_issues":true,"created_at":"2011-01-21T13:09:02-08:00","score":5.6330614,"owner":"farnoy","has_downloads":true,"followers":46,"created":"2011-01-21T13:09:02-08:00","pushed":"2012-01-31T04:33:03-08:00","homepage":"","watchers":46,"has_wiki":true,"language":"Ruby","pushed_at":"2012-01-31T04:33:03-08:00","forks":13,"fork":false,"size":164,"name":"github-api-client","url":"https://github.com/farnoy/github-api-client","description":"v2+v3 GitHub API Ruby client library","open_issues":5,"private":false,"username":"farnoy"},{"type":"repo","has_issues":true,"created_at":"2011-11-20T18:13:13-08:00","score":4.9115667,"owner":"pksunkara","has_downloads":true,"followers":61,"created":"2011-11-20T18:13:13-08:00","pushed":"2012-06-20T10:21:27-07:00","homepage":"","watchers":61,"has_wiki":true,"language":"CoffeeScript","pushed_at":"2012-06-20T10:21:27-07:00","forks":16,"fork":false,"size":160,"name":"octonode","url":"https://github.com/pksunkara/octonode","description":"github api v3 in nodejs","open_issues":2,"private":false,"username":"pksunkara"},{"type":"repo","has_issues":true,"created_at":"2011-10-23T01:34:00-07:00","score":4.2667623,"owner":"yiiext","has_downloads":true,"followers":11,"organization":"yiiext","created":"2011-10-23T01:34:00-07:00","pushed":"2011-11-16T01:07:50-08:00","homepage":"http://developer.github.com/v3/","watchers":11,"has_wiki":true,"language":"PHP","pushed_at":"2011-11-16T01:07:50-08:00","forks":2,"fork":false,"size":164,"name":"github-api","url":"https://github.com/yiiext/github-api","description":"implementation of github api v3","open_issues":1,"private":false,"username":"yiiext"},{"type":"repo","has_issues":true,"created_at":"2011-09-06T13:24:42-07:00","score":4.205773,"owner":"dsyph3r","has_downloads":true,"followers":22,"created":"2011-09-06T13:24:42-07:00","pushed":"2012-03-09T15:40:02-08:00","homepage":"","watchers":22,"has_wiki":true,"language":"PHP","pushed_at":"2012-03-09T15:40:02-08:00","forks":7,"fork":false,"size":168,"name":"github-api3-php","url":"https://github.com/dsyph3r/github-api3-php","description":"PHP library for the GitHub API v3","open_issues":1,"private":false,"username":"dsyph3r"},{"type":"repo","has_issues":true,"created_at":"2011-11-19T12:57:47-08:00","score":3.566463,"owner":"jcarver989","has_downloads":true,"followers":1,"created":"2011-11-19T12:57:47-08:00","pushed":"2011-11-19T13:21:11-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2011-11-19T13:21:11-08:00","forks":1,"fork":false,"size":140,"name":"GithubApi.js","url":"https://github.com/jcarver989/GithubApi.js","description":"Micro library for Github's API (v3)","open_issues":0,"private":false,"username":"jcarver989"},{"type":"repo","has_issues":true,"created_at":"2012-02-25T04:53:47-08:00","score":3.565757,"owner":"jacquev6","has_downloads":true,"followers":29,"created":"2012-02-25T04:53:47-08:00","pushed":"2012-06-28T13:28:23-07:00","homepage":"http://vincent-jacques.net/PyGithub","watchers":29,"has_wiki":false,"language":"Python","pushed_at":"2012-06-28T13:28:23-07:00","forks":5,"fork":false,"size":188,"name":"PyGithub","url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","open_issues":11,"private":false,"username":"jacquev6"},{"type":"repo","has_issues":true,"created_at":"2012-06-12T04:43:27-07:00","score":3.499493,"owner":"bcg","has_downloads":true,"followers":1,"created":"2012-06-12T04:43:27-07:00","pushed":"2012-06-12T04:46:45-07:00","watchers":1,"has_wiki":true,"language":"Go","pushed_at":"2012-06-12T04:46:45-07:00","forks":1,"fork":false,"size":92,"name":"github","url":"https://github.com/bcg/github","description":"Go api for github v3","open_issues":0,"private":false,"username":"bcg"},{"type":"repo","has_issues":true,"created_at":"2012-02-21T11:25:15-08:00","score":3.4658518,"owner":"csphere","has_downloads":true,"followers":5,"created":"2012-02-21T11:25:15-08:00","pushed":"2012-05-18T10:25:08-07:00","homepage":"","watchers":5,"has_wiki":true,"language":"PHP","pushed_at":"2012-05-18T10:25:08-07:00","forks":2,"fork":false,"size":136,"name":"GithubApiWrapper-PHP","url":"https://github.com/csphere/GithubApiWrapper-PHP","description":"An intuitive wrapper for the Github Api v3.","open_issues":0,"private":false,"username":"csphere"},{"type":"repo","has_issues":true,"created_at":"2012-02-22T03:20:10-08:00","score":3.4529202,"owner":"dkucinskas","has_downloads":true,"followers":2,"created":"2012-02-22T03:20:10-08:00","pushed":"2012-06-24T22:10:11-07:00","homepage":"","watchers":2,"has_wiki":true,"language":"C#","pushed_at":"2012-06-24T22:10:11-07:00","forks":2,"fork":false,"size":116,"name":"net-github-api","url":"https://github.com/dkucinskas/net-github-api","description":"Simple Github API v3 client library for .Net","open_issues":0,"private":false,"username":"dkucinskas"},{"type":"repo","has_issues":true,"created_at":"2012-02-22T18:29:18-08:00","score":3.4125106,"owner":"csphere","has_downloads":true,"followers":4,"created":"2012-02-22T18:29:18-08:00","pushed":"2012-05-18T10:26:45-07:00","homepage":"","watchers":4,"has_wiki":true,"language":"Python","pushed_at":"2012-05-18T10:26:45-07:00","forks":4,"fork":false,"size":132,"name":"GithubApiWrapper-Python","url":"https://github.com/csphere/GithubApiWrapper-Python","description":"An intuitive wrapper for the Github Api v3.","open_issues":0,"private":false,"username":"csphere"},{"type":"repo","has_issues":true,"created_at":"2011-11-30T14:56:52-08:00","score":3.3439152,"owner":"edwardhotchkiss","has_downloads":true,"followers":20,"created":"2011-11-30T14:56:52-08:00","pushed":"2012-06-26T04:04:33-07:00","homepage":"http://edwardhotchkiss.com/github3/","watchers":20,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-06-26T04:04:33-07:00","forks":10,"fork":false,"size":140,"name":"github3","url":"https://github.com/edwardhotchkiss/github3","description":"Node.JS GitHub API (v3) Wrapper","open_issues":0,"private":false,"username":"edwardhotchkiss"},{"type":"repo","has_issues":true,"created_at":"2011-04-28T10:07:29-07:00","score":3.282869,"owner":"ChristopherMacGown","has_downloads":true,"followers":20,"created":"2011-04-28T10:07:29-07:00","pushed":"2012-06-14T19:06:26-07:00","homepage":"","watchers":20,"has_wiki":true,"language":"Python","pushed_at":"2012-06-14T19:06:26-07:00","forks":12,"fork":false,"size":136,"name":"python-github3","url":"https://github.com/ChristopherMacGown/python-github3","description":"Github API v3 library for Python.","open_issues":0,"private":false,"username":"ChristopherMacGown"},{"type":"repo","has_issues":true,"created_at":"2012-04-15T10:14:22-07:00","score":3.2326941,"owner":"RobertFischer","has_downloads":true,"followers":1,"created":"2012-04-15T10:14:22-07:00","pushed":"2012-05-15T05:40:26-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"Java","pushed_at":"2012-05-15T05:40:26-07:00","forks":1,"fork":false,"size":194,"name":"github-api-3","url":"https://github.com/RobertFischer/github-api-3","description":"An under-implemented version of the GitHub API v3 using the Groovy RESTClient.","open_issues":0,"private":false,"username":"RobertFischer"},{"type":"repo","has_issues":true,"created_at":"2010-09-10T23:51:56-07:00","score":3.026753,"owner":"lynnwallenstein","has_downloads":true,"followers":25,"created":"2010-09-10T23:51:56-07:00","pushed":"2012-06-24T15:22:01-07:00","homepage":"","watchers":25,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-06-24T15:22:01-07:00","forks":5,"fork":false,"size":173,"name":"jQuery-Github-Badge","url":"https://github.com/lynnwallenstein/jQuery-Github-Badge","description":"User and Project GitHub badge using jQuery and GitHub API v3","open_issues":4,"private":false,"username":"lynnwallenstein"},{"type":"repo","has_issues":true,"created_at":"2012-03-11T13:35:23-07:00","score":2.9790008,"owner":"peter-murach","has_downloads":true,"followers":18,"created":"2012-03-11T13:35:23-07:00","pushed":"2012-06-27T14:37:16-07:00","homepage":"","watchers":18,"has_wiki":true,"language":"Ruby","pushed_at":"2012-06-27T14:37:16-07:00","forks":3,"fork":false,"size":276,"name":"github_cli","url":"https://github.com/peter-murach/github_cli","description":"CLI-based access to GitHub API v3","open_issues":3,"private":false,"username":"peter-murach"},{"type":"repo","has_issues":true,"created_at":"2011-11-13T22:02:02-08:00","score":2.877118,"owner":"eed3si9n","has_downloads":true,"followers":5,"created":"2011-11-13T22:02:02-08:00","pushed":"2011-11-29T06:28:35-08:00","homepage":"","watchers":5,"has_wiki":true,"language":"Scala","pushed_at":"2011-11-29T06:28:35-08:00","forks":2,"fork":false,"size":200,"name":"dispatch-github","url":"https://github.com/eed3si9n/dispatch-github","description":"github API v3","open_issues":0,"private":false,"username":"eed3si9n"},{"type":"repo","has_issues":true,"created_at":"2011-06-25T03:40:24-07:00","score":2.6712246,"owner":"plu","has_downloads":true,"followers":19,"created":"2011-06-25T03:40:24-07:00","pushed":"2011-12-29T04:26:13-08:00","homepage":"http://metacpan.org/module/Pithub","watchers":19,"has_wiki":true,"language":"Perl","pushed_at":"2011-12-29T04:26:13-08:00","forks":1,"fork":false,"size":1382,"name":"Pithub","url":"https://github.com/plu/Pithub","description":"Perl Github v3 API","open_issues":18,"private":false,"username":"plu"},{"type":"repo","has_issues":true,"created_at":"2011-10-27T08:47:40-07:00","score":2.593327,"owner":"dominis","has_downloads":true,"followers":5,"created":"2011-10-27T08:47:40-07:00","pushed":"2012-01-07T14:01:34-08:00","homepage":"","watchers":5,"has_wiki":false,"language":"PHP","pushed_at":"2012-01-07T14:01:34-08:00","forks":1,"fork":false,"size":172,"name":"GitHub-API-PHP","url":"https://github.com/dominis/GitHub-API-PHP","description":"PHP library for GitHub's v3 api","open_issues":0,"private":false,"username":"dominis"},{"type":"repo","has_issues":false,"created_at":"2012-05-28T19:34:50-07:00","score":2.565456,"owner":"danielribeiro","has_downloads":true,"followers":1,"created":"2012-05-28T19:34:50-07:00","pushed":"2012-04-17T02:30:54-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-04-17T02:30:54-07:00","forks":0,"fork":false,"size":464,"name":"api-amazing","url":"https://github.com/danielribeiro/api-amazing","description":"Amazing API client, currently for Github's API v3, in the browser","open_issues":0,"private":false,"username":"danielribeiro"},{"type":"repo","has_issues":true,"created_at":"2011-05-12T12:18:23-07:00","score":2.4090881,"owner":"trustmaster","has_downloads":true,"followers":11,"created":"2011-05-12T12:18:23-07:00","pushed":"2011-10-04T04:47:18-07:00","homepage":"","watchers":11,"has_wiki":true,"language":"PHP","pushed_at":"2011-10-04T04:47:18-07:00","forks":4,"fork":false,"size":184,"name":"trac2github","url":"https://github.com/trustmaster/trac2github","description":"Converts Trac milestones, tickets and comments into Github issues 2.0 using github api v3","open_issues":0,"private":false,"username":"trustmaster"},{"type":"repo","has_issues":true,"created_at":"2011-12-26T14:00:46-08:00","score":2.3760638,"owner":"ozipi","has_downloads":true,"followers":3,"created":"2011-12-26T14:00:46-08:00","pushed":"2012-01-08T14:10:07-08:00","homepage":"","watchers":3,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-01-08T14:10:07-08:00","forks":2,"fork":false,"size":141,"name":"github.js","url":"https://github.com/ozipi/github.js","description":"Github v3 Api Javascript library","open_issues":0,"private":false,"username":"ozipi"},{"type":"repo","has_issues":true,"created_at":"2010-08-25T17:50:01-07:00","score":2.3341565,"owner":"diogenes","has_downloads":true,"followers":26,"created":"2010-08-25T17:50:01-07:00","pushed":"2011-10-17T08:15:23-07:00","homepage":"","watchers":26,"has_wiki":true,"language":"Ruby","pushed_at":"2011-10-17T08:15:23-07:00","forks":8,"fork":false,"size":112,"name":"hubruby","url":"https://github.com/diogenes/hubruby","description":"A simple Ruby library to access the current GitHub API (v3)","open_issues":0,"private":false,"username":"diogenes"},{"type":"repo","has_issues":true,"created_at":"2011-06-15T00:51:00-07:00","score":2.3227224,"owner":"rubik","has_downloads":true,"followers":2,"created":"2011-06-15T00:51:00-07:00","pushed":"2011-06-15T00:58:19-07:00","homepage":"","watchers":2,"has_wiki":true,"language":"Python","pushed_at":"2011-06-15T00:58:19-07:00","forks":1,"fork":false,"size":96,"name":"github.py","url":"https://github.com/rubik/github.py","description":"Python wrapper for Github API v3","open_issues":0,"private":false,"username":"rubik"},{"type":"repo","has_issues":true,"created_at":"2012-02-14T06:15:34-08:00","score":2.2703757,"owner":"ji","has_downloads":true,"followers":1,"created":"2012-02-14T06:15:34-08:00","pushed":"2012-03-07T10:29:38-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2012-03-07T10:29:38-08:00","forks":1,"fork":false,"size":224,"name":"github_widgets","url":"https://github.com/ji/github_widgets","description":"Github widgets for the github v3 API.","open_issues":0,"private":false,"username":"ji"},{"type":"repo","has_issues":true,"created_at":"2011-08-16T09:17:47-07:00","score":2.2693808,"owner":"mixu","has_downloads":true,"followers":1,"created":"2011-08-16T09:17:47-07:00","pushed":"2011-08-16T09:44:41-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2011-08-16T09:44:41-07:00","forks":1,"fork":false,"size":96,"name":"github.js","url":"https://github.com/mixu/github.js","description":"Github API v3 JS client","open_issues":0,"private":false,"username":"mixu"},{"type":"repo","has_issues":true,"created_at":"2011-12-23T03:57:39-08:00","score":2.2693808,"owner":"zendflex","has_downloads":true,"followers":1,"organization":"zendflex","created":"2011-12-23T03:57:39-08:00","pushed":"2011-12-23T10:00:20-08:00","watchers":1,"has_wiki":true,"language":"PHP","pushed_at":"2011-12-23T10:00:20-08:00","forks":1,"fork":false,"size":112,"name":"zendflex-github-lib","url":"https://github.com/zendflex/zendflex-github-lib","description":"Php lib for github api v3","open_issues":0,"private":false,"username":"zendflex"},{"type":"repo","has_issues":true,"created_at":"2012-02-02T15:15:01-08:00","score":2.2693808,"owner":"devjones","has_downloads":true,"followers":1,"created":"2012-02-02T15:15:01-08:00","pushed":"2012-02-02T15:15:52-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Python","pushed_at":"2012-02-02T15:15:52-08:00","forks":1,"fork":false,"size":88,"name":"py_github3","url":"https://github.com/devjones/py_github3","description":"draft python wrapper for Github API v3","open_issues":0,"private":false,"username":"devjones"},{"type":"repo","has_issues":true,"created_at":"2012-01-01T21:15:53-08:00","score":2.125537,"owner":"mtutty","has_downloads":true,"followers":2,"created":"2012-01-01T21:15:53-08:00","pushed":"2012-01-18T13:24:44-08:00","homepage":"","watchers":2,"has_wiki":true,"language":"C#","pushed_at":"2012-01-18T13:24:44-08:00","forks":1,"fork":false,"size":4472,"name":"GithubIssueSync","url":"https://github.com/mtutty/GithubIssueSync","description":"Allows bulk import and export of issues via Github API V3","open_issues":1,"private":false,"username":"mtutty"},{"type":"repo","has_issues":true,"created_at":"2012-01-15T04:51:05-08:00","score":2.0350344,"owner":"Wolfy87","has_downloads":true,"followers":4,"created":"2012-01-15T04:51:05-08:00","pushed":"2012-01-23T06:38:19-08:00","homepage":"","watchers":4,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-01-23T06:38:19-08:00","forks":2,"fork":false,"size":228,"name":"github.js","url":"https://github.com/Wolfy87/github.js","description":"Frontend JavaScript library for interacting with the GitHub API v3","open_issues":0,"private":false,"username":"Wolfy87"},{"type":"repo","has_issues":true,"created_at":"2011-07-16T15:32:34-07:00","score":1.9842197,"owner":"jhelwig","has_downloads":true,"followers":15,"created":"2011-07-16T15:32:34-07:00","pushed":"2012-05-23T13:17:32-07:00","homepage":"http://rdoc.info/github/jhelwig/octocat_herder/master/frames","watchers":15,"has_wiki":false,"language":"Ruby","pushed_at":"2012-05-23T13:17:32-07:00","forks":4,"fork":false,"size":132,"name":"octocat_herder","url":"https://github.com/jhelwig/octocat_herder","description":"Ruby interface to the v3 GitHub API","open_issues":1,"private":false,"username":"jhelwig"},{"type":"repo","has_issues":true,"created_at":"2011-07-12T23:06:31-07:00","score":1.9816928,"owner":"bitprophet","has_downloads":true,"followers":3,"created":"2011-07-12T23:06:31-07:00","pushed":"2011-08-18T17:19:18-07:00","homepage":"","watchers":3,"has_wiki":true,"language":"Ruby","pushed_at":"2011-08-18T17:19:18-07:00","forks":2,"fork":false,"size":128,"name":"redmine2github","url":"https://github.com/bitprophet/redmine2github","description":"Port (Fabric's) Redmine tickets to (Fabric's) Github Issues v2 / API v3","open_issues":0,"private":false,"username":"bitprophet"},{"type":"repo","has_issues":true,"created_at":"2011-08-08T23:02:37-07:00","score":1.9816928,"owner":"joeworkman","has_downloads":true,"followers":3,"created":"2011-08-08T23:02:37-07:00","pushed":"2012-02-09T10:20:36-08:00","watchers":3,"has_wiki":true,"language":"PHP","pushed_at":"2012-02-09T10:20:36-08:00","forks":2,"fork":false,"size":132,"name":"github_oauth","url":"https://github.com/joeworkman/github_oauth","description":"PHP Library that makes using OAuth with the GitHUB v3API a piece of cake","open_issues":0,"private":false,"username":"joeworkman"},{"type":"repo","has_issues":true,"created_at":"2011-09-27T07:41:01-07:00","score":1.9283514,"owner":"thiagolocatelli","has_downloads":true,"followers":2,"created":"2011-09-27T07:41:01-07:00","pushed":"2011-09-27T07:53:33-07:00","homepage":"","watchers":2,"has_wiki":true,"language":"Java","pushed_at":"2011-09-27T07:53:33-07:00","forks":1,"fork":false,"size":108,"name":"android-github-oauth","url":"https://github.com/thiagolocatelli/android-github-oauth","description":"Library and example project on how to connect to GitHub OAuth (v3) API","open_issues":0,"private":false,"username":"thiagolocatelli"},{"type":"repo","has_issues":true,"created_at":"2012-05-17T19:22:24-07:00","score":1.9283514,"owner":"erikcharlebois","has_downloads":false,"followers":2,"created":"2012-05-17T19:22:24-07:00","pushed":"2012-05-17T21:05:25-07:00","homepage":"https://github.com/erikcharlebois/git-hub","watchers":2,"has_wiki":false,"language":"Ruby","pushed_at":"2012-05-17T21:05:25-07:00","forks":1,"fork":false,"size":96,"name":"git-hub","url":"https://github.com/erikcharlebois/git-hub","description":"Command line extension to git for working with GitHub v3 API.","open_issues":1,"private":false,"username":"erikcharlebois"},{"type":"repo","has_issues":true,"created_at":"2011-05-12T19:11:45-07:00","score":1.8750099,"owner":"baz","has_downloads":true,"followers":1,"created":"2011-05-12T19:11:45-07:00","pushed":"2011-05-12T19:13:02-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2011-05-12T19:13:02-07:00","forks":1,"fork":false,"size":124,"name":"node-github-issues","url":"https://github.com/baz/node-github-issues","description":"GitHub Issues API v3 Node.js module","open_issues":0,"private":false,"username":"baz"},{"type":"repo","has_issues":true,"created_at":"2010-10-28T19:31:52-07:00","score":1.6202691,"owner":"Factual","has_downloads":true,"followers":15,"organization":"Factual","created":"2010-10-28T19:31:52-07:00","pushed":"2012-02-23T20:03:15-08:00","homepage":"http://wiki.developer.factual.com/","watchers":15,"has_wiki":true,"language":"Ruby","pushed_at":"2012-02-23T20:03:15-08:00","forks":5,"fork":false,"size":112,"name":"ruby-factual","url":"https://github.com/Factual/ruby-factual","description":"Ruby gem to access Factual API v2. Since the Factual API v2 will be deprecated in Q2 2012, and we are moving forward to API v3, there is new ruby gem for V3 accessing, which is at https://github.com/Factual/factual-ruby-driver.","open_issues":0,"private":false,"username":"Factual"},{"type":"repo","has_issues":true,"created_at":"2011-10-03T17:46:03-07:00","score":1.5275998,"owner":"testpilot","has_downloads":true,"followers":2,"organization":"testpilot","created":"2011-10-03T17:46:03-07:00","pushed":"2011-11-29T00:14:53-08:00","homepage":"testpilot.me","watchers":2,"has_wiki":true,"language":"Ruby","pushed_at":"2011-11-29T00:14:53-08:00","forks":1,"fork":false,"size":264,"name":"octoplex","url":"https://github.com/testpilot/octoplex","description":"Github v3 API wrapper gem","open_issues":0,"private":false,"username":"testpilot"},{"type":"repo","has_issues":true,"created_at":"2012-02-29T15:46:40-08:00","score":1.5275998,"owner":"woloski","has_downloads":true,"followers":2,"created":"2012-02-29T15:46:40-08:00","pushed":"2012-03-01T18:36:35-08:00","homepage":"","watchers":2,"has_wiki":true,"language":"","pushed_at":"2012-03-01T18:36:35-08:00","forks":2,"fork":false,"size":132,"name":"githubapi-testrepo","url":"https://github.com/woloski/githubapi-testrepo","description":"testing repo for github api v3","open_issues":0,"private":false,"username":"woloski"},{"type":"repo","has_issues":true,"created_at":"2011-07-18T11:55:00-07:00","score":1.5041462,"owner":"gitpilot","has_downloads":true,"followers":7,"organization":"gitpilot","created":"2011-07-18T11:55:00-07:00","pushed":"2011-07-21T12:18:26-07:00","homepage":"http://www.gitpilot.com","watchers":7,"has_wiki":true,"language":"Ruby","pushed_at":"2011-07-21T12:18:26-07:00","forks":2,"fork":false,"size":112,"name":"fuselage","url":"https://github.com/gitpilot/fuselage","description":"Light weight Ruby wrapper for Github v3 api","open_issues":0,"private":false,"username":"gitpilot"},{"type":"repo","has_issues":true,"created_at":"2011-07-14T19:46:55-07:00","score":1.4742583,"owner":"wanthony","has_downloads":true,"followers":1,"created":"2011-07-14T19:46:55-07:00","pushed":"2011-07-14T19:57:37-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2011-07-14T19:57:37-07:00","forks":1,"fork":false,"size":96,"name":"octo_rest","url":"https://github.com/wanthony/octo_rest","description":"A ruby client for the github v3 api","open_issues":0,"private":false,"username":"wanthony"},{"type":"repo","has_issues":true,"created_at":"2011-10-06T03:41:32-07:00","score":1.4742583,"owner":"markharmon","has_downloads":true,"followers":1,"created":"2011-10-06T03:41:32-07:00","pushed":null,"homepage":"","watchers":1,"has_wiki":true,"language":"","forks":1,"fork":false,"size":0,"name":"GitHub.Net","url":"https://github.com/markharmon/GitHub.Net","description":"GitHub Api V3 for .Net","open_issues":0,"private":false,"username":"markharmon"},{"type":"repo","has_issues":true,"created_at":"2011-06-25T16:25:57-07:00","score":1.4508047,"owner":"sbellity","has_downloads":true,"followers":5,"created":"2011-06-25T16:25:57-07:00","pushed":"2011-07-21T03:21:10-07:00","homepage":"","watchers":5,"has_wiki":true,"language":"Ruby","pushed_at":"2011-07-21T03:21:10-07:00","forks":2,"fork":false,"size":112,"name":"githu3","url":"https://github.com/sbellity/githu3","description":"Ruby wrapper for GitHub's v3 API","open_issues":4,"private":false,"username":"sbellity"},{"type":"repo","has_issues":true,"created_at":"2011-09-13T03:01:53-07:00","score":1.3974632,"owner":"francescomari","has_downloads":true,"followers":4,"created":"2011-09-13T03:01:53-07:00","pushed":"2012-04-10T14:08:39-07:00","homepage":"","watchers":4,"has_wiki":false,"language":"Python","pushed_at":"2012-04-10T14:08:39-07:00","forks":2,"fork":false,"size":148,"name":"pythub","url":"https://github.com/francescomari/pythub","description":"A simple Python wrapper around the Github API v3","open_issues":0,"private":false,"username":"francescomari"},{"type":"repo","has_issues":true,"created_at":"2011-12-22T00:01:31-08:00","score":1.2907803,"owner":"smoak","has_downloads":true,"followers":2,"created":"2011-12-22T00:01:31-08:00","pushed":"2011-12-22T00:20:57-08:00","homepage":"","watchers":2,"has_wiki":true,"language":"Python","pushed_at":"2011-12-22T00:20:57-08:00","forks":1,"fork":false,"size":92,"name":"pyhub","url":"https://github.com/smoak/pyhub","description":"Python Client for the GitHub v3 API ","open_issues":0,"private":false,"username":"smoak"},{"type":"repo","has_issues":true,"created_at":"2012-03-08T12:07:25-08:00","score":1.2907803,"owner":"csphere","has_downloads":true,"followers":2,"created":"2012-03-08T12:07:25-08:00","pushed":"2012-04-02T15:08:54-07:00","homepage":"","watchers":2,"has_wiki":true,"language":"Ruby","pushed_at":"2012-04-02T15:08:54-07:00","forks":2,"fork":false,"size":264,"name":"rubhub","url":"https://github.com/csphere/rubhub","description":"Ruby Gem - An intuitive wrapper for the Github Api v3.","open_issues":0,"private":false,"username":"csphere"},{"type":"repo","has_issues":true,"created_at":"2012-06-03T12:59:40-07:00","score":1.2374389,"owner":"badsharkco","has_downloads":true,"followers":1,"created":"2012-06-03T12:59:40-07:00","pushed":"2012-06-03T13:58:55-07:00","watchers":1,"has_wiki":true,"language":"PHP","pushed_at":"2012-06-03T13:58:55-07:00","forks":1,"fork":false,"size":124,"name":"simplev3-php","url":"https://github.com/badsharkco/simplev3-php","description":"The simplest way to interact with the GitHub API v3, in PHP.","open_issues":0,"private":false,"username":"badsharkco"},{"type":"repo","has_issues":true,"created_at":"2012-06-07T08:51:53-07:00","score":1.2374389,"owner":"cheeyeo","has_downloads":true,"followers":1,"created":"2012-06-07T08:51:53-07:00","pushed":"2012-06-07T10:39:31-07:00","watchers":1,"has_wiki":true,"language":"","pushed_at":"2012-06-07T10:39:31-07:00","forks":1,"fork":false,"size":0,"name":"snipplets-test","url":"https://github.com/cheeyeo/snipplets-test","description":"Testing snipplets app link to github through api v3","open_issues":0,"private":false,"username":"cheeyeo"},{"type":"repo","has_issues":true,"created_at":"2012-06-05T00:39:13-07:00","score":1.2374389,"owner":"hahuang65","has_downloads":true,"followers":1,"created":"2012-06-05T00:39:13-07:00","pushed":"2012-06-14T17:11:06-07:00","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2012-06-14T17:11:06-07:00","forks":1,"fork":false,"size":436,"name":"Octobot","url":"https://github.com/hahuang65/Octobot","description":"GitHub V3 API Wrapper for Ruby","open_issues":0,"private":false,"username":"hahuang65"},{"type":"repo","has_issues":true,"created_at":"2012-06-14T14:31:40-07:00","score":1.2374389,"owner":"smencer","has_downloads":true,"followers":1,"created":"2012-06-14T14:31:40-07:00","pushed":"2012-06-25T19:51:13-07:00","watchers":1,"has_wiki":true,"language":"C#","pushed_at":"2012-06-25T19:51:13-07:00","forks":1,"fork":false,"size":396,"name":"CSharpGitHubAPIWrapper","url":"https://github.com/smencer/CSharpGitHubAPIWrapper","description":"A C# wrapper for the GitHub API (v3)","open_issues":0,"private":false,"username":"smencer"},{"type":"repo","has_issues":true,"created_at":"2011-04-29T15:16:32-07:00","score":1.2374388,"owner":"jeffremer","has_downloads":true,"followers":1,"created":"2011-04-29T15:16:32-07:00","pushed":"2011-04-30T19:43:37-07:00","homepage":"http://jeffremer.com","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2011-04-30T19:43:37-07:00","forks":1,"fork":false,"size":848,"name":"gist-client","url":"https://github.com/jeffremer/gist-client","description":"A REST client for CRUDing Github Gists via the v3 API.","open_issues":0,"private":false,"username":"jeffremer"},{"type":"repo","has_issues":true,"created_at":"2011-05-23T19:31:04-07:00","score":1.2374388,"owner":"kaiwu","has_downloads":true,"followers":1,"created":"2011-05-23T19:31:04-07:00","pushed":"2011-05-23T19:51:51-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"","pushed_at":"2011-05-23T19:51:51-07:00","forks":1,"fork":false,"size":108,"name":"githubv3objc","url":"https://github.com/kaiwu/githubv3objc","description":"github v3 api wrapper in objective-c","open_issues":0,"private":false,"username":"kaiwu"},{"type":"repo","has_issues":true,"created_at":"2011-07-28T15:57:34-07:00","master_branch":"develop","score":1.2374388,"owner":"mrtazz","has_downloads":true,"followers":1,"created":"2011-07-28T15:57:34-07:00","pushed":"2011-07-28T15:58:01-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"","pushed_at":"2011-07-28T15:58:01-07:00","forks":1,"fork":false,"size":100,"name":"octonode","url":"https://github.com/mrtazz/octonode","description":"[WIP] node.js wrapper for the github v3 API","open_issues":0,"private":false,"username":"mrtazz"},{"type":"repo","has_issues":true,"created_at":"2011-11-13T12:27:30-08:00","score":1.2374388,"owner":"mdellanoce","has_downloads":true,"followers":1,"created":"2011-11-13T12:27:30-08:00","pushed":"2012-01-17T18:24:42-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2012-01-17T18:24:42-08:00","forks":1,"fork":false,"size":268,"name":"gittycat","url":"https://github.com/mdellanoce/gittycat","description":"Yet another ruby binding for GitHub's V3 API","open_issues":0,"private":false,"username":"mdellanoce"},{"type":"repo","has_issues":true,"created_at":"2012-04-30T07:59:23-07:00","score":1.2374388,"owner":"Strech","has_downloads":true,"followers":1,"created":"2012-04-30T07:59:23-07:00","pushed":"2012-04-30T09:48:02-07:00","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2012-04-30T09:48:02-07:00","forks":1,"fork":false,"size":236,"name":"abak_oauth","url":"https://github.com/Strech/abak_oauth","description":"This is a simple rails app for github api v3 oauth2","open_issues":0,"private":false,"username":"Strech"},{"type":"repo","has_issues":true,"created_at":"2011-08-12T15:20:29-07:00","score":1.1073024,"owner":"meritt","has_downloads":true,"followers":3,"created":"2011-08-12T15:20:29-07:00","pushed":"2012-04-22T13:04:49-07:00","homepage":"http://github.com/meritt/node-gisty","watchers":3,"has_wiki":false,"language":"CoffeeScript","pushed_at":"2012-04-22T13:04:49-07:00","forks":1,"fork":false,"size":112,"name":"node-gisty","url":"https://github.com/meritt/node-gisty","description":"A Node.JS wrapper for GitHub gist API v3. ","open_issues":0,"private":false,"username":"meritt"},{"type":"repo","has_issues":true,"created_at":"2012-06-13T13:26:46-07:00","score":1.0669504,"owner":"ritratt","has_downloads":true,"followers":1,"created":"2012-06-13T13:26:46-07:00","pushed":"2012-06-13T13:37:31-07:00","watchers":1,"has_wiki":true,"language":"Python","pushed_at":"2012-06-13T13:37:31-07:00","forks":1,"fork":false,"size":92,"name":"gituserinfo","url":"https://github.com/ritratt/gituserinfo","description":"A simple python script that uses PyGithub for accessing user information through Github API v3","open_issues":0,"private":false,"username":"ritratt"},{"type":"repo","has_issues":true,"created_at":"2011-09-08T18:44:48-07:00","score":1.0006194,"owner":"wanthony","has_downloads":true,"followers":1,"created":"2011-09-08T18:44:48-07:00","pushed":null,"homepage":"","watchers":1,"has_wiki":true,"language":"","forks":1,"fork":false,"size":0,"name":"coffeehub","url":"https://github.com/wanthony/coffeehub","description":"A Node.js / CoffeeScript GitHub API v3 Implementation","open_issues":0,"private":false,"username":"wanthony"},{"type":"repo","has_issues":true,"created_at":"2011-11-17T23:39:13-08:00","score":1.0006194,"owner":"plu","has_downloads":true,"followers":1,"created":"2011-11-17T23:39:13-08:00","pushed":"2011-11-17T23:41:46-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Objective-C","pushed_at":"2011-11-17T23:41:46-08:00","forks":1,"fork":false,"size":348,"name":"Octotco","url":"https://github.com/plu/Octotco","description":"iOS App to access the Github v3 API via RestKit","open_issues":0,"private":false,"username":"plu"},{"type":"repo","has_issues":true,"created_at":"2012-02-11T22:46:07-08:00","score":1.0006194,"owner":"roopeshvaddepally","has_downloads":true,"followers":1,"created":"2012-02-11T22:46:07-08:00","pushed":"2012-02-12T15:14:35-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Python","pushed_at":"2012-02-12T15:14:35-08:00","forks":1,"fork":false,"size":108,"name":"pygh3","url":"https://github.com/roopeshvaddepally/pygh3","description":"python github wrapper for api v3. make it more like iorayne/tentacles","open_issues":0,"private":false,"username":"roopeshvaddepally"},{"type":"repo","has_issues":true,"created_at":"2011-11-02T09:35:46-07:00","score":1.0006194,"owner":"exallium","has_downloads":true,"followers":1,"created":"2011-11-02T09:35:46-07:00","pushed":"2012-03-02T15:30:29-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Java","pushed_at":"2012-03-02T15:30:29-08:00","forks":1,"fork":false,"size":1896,"name":"gitIssues2","url":"https://github.com/exallium/gitIssues2","description":"Complete Rewrite of GitIssues, including new UI and utilizing Github's V3 API Java Library","open_issues":2,"private":false,"username":"exallium"},{"type":"repo","has_issues":true,"created_at":"2012-03-09T05:24:54-08:00","score":1.0006194,"owner":"inkel","has_downloads":true,"followers":1,"created":"2012-03-09T05:24:54-08:00","pushed":"2012-03-12T05:38:07-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-03-12T05:38:07-07:00","forks":1,"fork":false,"size":380,"name":"cuba-omniauth-octokit","url":"https://github.com/inkel/cuba-omniauth-octokit","description":"Proof of concept of a Cuba application with OmniAuth and Octokit to access the GitHub v3 API","open_issues":3,"private":false,"username":"inkel"},{"type":"repo","has_issues":true,"created_at":"2012-02-17T09:18:01-08:00","score":1.0006194,"owner":"LukasKnuth","has_downloads":true,"followers":1,"created":"2012-02-17T09:18:01-08:00","pushed":"2012-02-17T15:31:14-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-02-17T15:31:14-08:00","forks":1,"fork":false,"size":124,"name":"jsg-hub","url":"https://github.com/LukasKnuth/jsg-hub","description":"This project aims to create a JavaScript library for the GitHub API v3","open_issues":0,"private":false,"username":"LukasKnuth"},{"type":"repo","has_issues":true,"created_at":"2012-01-01T17:23:26-08:00","score":0.9402493,"owner":"lrvick","has_downloads":true,"followers":1,"created":"2012-01-01T17:23:26-08:00","pushed":"2012-01-01T17:24:43-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"","pushed_at":"2012-01-01T17:24:43-08:00","forks":1,"fork":false,"size":96,"name":"jquery-githubnav","url":"https://github.com/lrvick/jquery-githubnav","description":"jQuery driven stack to render a tree-driven explorer of all your Github code via the Github v3 API","open_issues":0,"private":false,"username":"lrvick"},{"type":"repo","has_issues":true,"created_at":"2011-07-31T03:41:16-07:00","score":0.9355511,"owner":"mklabs","has_downloads":true,"followers":2,"created":"2011-07-31T03:41:16-07:00","pushed":"2011-07-31T08:34:55-07:00","homepage":"","watchers":2,"has_wiki":true,"language":"JavaScript","pushed_at":"2011-07-31T08:34:55-07:00","forks":1,"fork":false,"size":176,"name":"ghv3","url":"https://github.com/mklabs/ghv3","description":"GitHub Api v3 library. Ideally, it should work in node via http request, and in browsers using jsonp.","open_issues":0,"private":false,"username":"mklabs"},{"type":"repo","has_issues":true,"created_at":"2012-03-17T11:12:39-07:00","score":0.8517214,"owner":"mklabs","has_downloads":true,"followers":1,"created":"2012-03-17T11:12:39-07:00","pushed":"2012-03-17T11:13:30-07:00","homepage":"http://mklabs.github.com/gh-issues-widget/","watchers":1,"has_wiki":true,"language":"JavaScript","pushed_at":"2012-03-17T11:13:30-07:00","forks":1,"fork":false,"size":224,"name":"gh-issues-widget","url":"https://github.com/mklabs/gh-issues-widget","description":"A bit of GitHub API v3, GitHub Flavored Markdown, a soupcon of data-* attributes and you get github issue comment system. Something like that.","open_issues":2,"private":false,"username":"mklabs"},{"type":"repo","has_issues":true,"created_at":"2012-01-12T04:28:02-08:00","score":0.80183375,"owner":"jaikoo","has_downloads":true,"followers":1,"created":"2012-01-12T04:28:02-08:00","pushed":"2012-01-20T05:24:12-08:00","homepage":"","watchers":1,"has_wiki":true,"language":"Ruby","pushed_at":"2012-01-20T05:24:12-08:00","forks":1,"fork":false,"size":148,"name":"OctoCow","url":"https://github.com/jaikoo/OctoCow","description":"Work in progress Github v3 API wrapper with association chaining and semi-concrete classes (class are concrete but contents are flexible) to allow for flexible changes in the API.","open_issues":0,"private":false,"username":"jaikoo"},{"type":"repo","has_issues":true,"created_at":"2012-04-23T19:23:24-07:00","score":0.7637999,"owner":"misutowolf","has_downloads":true,"followers":1,"created":"2012-04-23T19:23:24-07:00","pushed":"2012-04-24T07:30:51-07:00","homepage":"","watchers":1,"has_wiki":true,"language":"","pushed_at":"2012-04-24T07:30:51-07:00","forks":1,"fork":false,"size":184,"name":"js-githubv3","url":"https://github.com/misutowolf/js-githubv3","description":"js-githubv3 -- A JavaScript (jQuery) library for the JSON-driven GitHub API v3","open_issues":0,"private":false,"username":"misutowolf"}]} - diff --git a/github/tests/ReplayData/Github.testSearchUserByEmail.txt b/github/tests/ReplayData/Github.testSearchUserByEmail.txt deleted file mode 100644 index de84f20..0000000 --- a/github/tests/ReplayData/Github.testSearchUserByEmail.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/email/vincent@vincent-jacques.net -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '395'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"baf55235e157428f731c446efe6d6cba"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:58:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","type":"User","location":"Paris, France","blog":"http://vincent-jacques.net","name":"Vincent Jacques","permission":null,"public_repo_count":11,"login":"jacquev6","email":"vincent@vincent-jacques.net","public_gist_count":3,"created_at":"2010-07-08T23:10:06-07:00","id":327146,"followers_count":13,"following_count":24,"company":"Criteo"}} - diff --git a/github/tests/ReplayData/Github.testSearchUsers.txt b/github/tests/ReplayData/Github.testSearchUsers.txt deleted file mode 100644 index f173721..0000000 --- a/github/tests/ReplayData/Github.testSearchUsers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/user/search/vincent -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '41235'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"77b0277b5efb0ebf5f9e3de8a493fd0c"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:57:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"users":[{"gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","score":73.982216,"type":"user","name":"Vincent Driessen","location":"Netherlands","fullname":"Vincent Driessen","repos":63,"login":"nvie","public_repo_count":63,"username":"nvie","created_at":"2009-05-12T21:19:38Z","record":null,"id":"user-83844","followers":310,"followers_count":310,"created":"2009-05-12T21:19:38Z","language":"Python","pushed":"2012-06-26T14:15:26.172Z"},{"gravatar_id":"a145dbf5d67ba1eb717fbe3a1f51509c","score":35.851326,"type":"user","fullname":"Jesse Vincent","repos":57,"name":"Jesse Vincent","location":"Somerville, MA, USA","login":"obra","public_repo_count":57,"username":"obra","created_at":"2009-01-09T20:24:15Z","record":null,"id":"user-45416","followers":127,"followers_count":127,"created":"2009-01-09T20:24:15Z","language":"Perl","pushed":"2012-06-27T02:15:19.036Z"},{"gravatar_id":"03a966709300efb4a86ce5ee8f88f696","score":33.5964,"type":"user","repos":86,"name":"John E. Vincent","fullname":"John E. Vincent","location":"Roswell, GA.","login":"lusis","public_repo_count":86,"username":"lusis","created_at":"2010-03-23T20:28:44Z","record":null,"id":"user-228958","followers":112,"followers_count":112,"created":"2010-03-23T20:28:44Z","language":"Ruby","pushed":"2012-06-28T15:15:44.987Z"},{"gravatar_id":"c676f9efc8e54985e84c044899481267","score":29.771633,"type":"user","name":"Vincent Jousse","repos":43,"fullname":"Vincent Jousse","location":"Le Mans","login":"vjousse","public_repo_count":43,"username":"vjousse","created_at":"2009-11-18T15:43:09Z","record":null,"id":"user-154904","followers":102,"followers_count":102,"created":"2009-11-18T15:43:09Z","language":"PHP","pushed":"2012-06-19T10:15:25.469Z"},{"gravatar_id":"1d0a2ab73604a28d767acc0e547c8985","score":14.943241,"type":"user","name":"Vincent Hanquez","fullname":"Vincent Hanquez","repos":43,"location":"","login":"vincenthz","public_repo_count":43,"username":"vincenthz","created_at":"2009-12-31T10:52:40Z","record":null,"id":"user-174631","followers":30,"followers_count":30,"created":"2009-12-31T10:52:40Z","language":"Haskell","pushed":"2011-12-02T11:15:26.599Z"},{"gravatar_id":"dd02e2c7ecf7c377b6b9c2c1a23633d0","score":13.608737,"type":"user","location":"http://git.io/vt","name":"Vincent Tsai","fullname":"Vincent Tsai","repos":18,"login":"Vayn","public_repo_count":18,"username":"Vayn","created_at":"2010-03-17T07:53:26Z","record":null,"id":"user-224407","followers":32,"followers_count":32,"created":"2010-03-17T07:53:26Z","language":"Python","pushed":"2012-05-05T02:15:14.813Z"},{"gravatar_id":"a3895a2d6f26155968be47fc03dddc40","score":13.566472,"type":"user","fullname":"Vincent Battaglia","repos":11,"name":"Vincent Battaglia","location":"San Francisco, CA","login":"vinch","public_repo_count":11,"username":"vinch","created_at":"2009-11-19T11:56:56Z","record":null,"id":"user-155370","followers":34,"followers_count":34,"created":"2009-11-19T11:56:56Z","language":"JavaScript","pushed":"2012-06-27T19:15:37.908Z"},{"gravatar_id":"2c0bde3f5628f35390c42fe505b79da4","score":12.853587,"type":"user","fullname":"Vincent Bernat","name":"Vincent Bernat","repos":25,"location":"Paris","login":"vincentbernat","public_repo_count":25,"username":"vincentbernat","created_at":"2011-02-22T07:20:26Z","record":null,"id":"user-631446","followers":26,"followers_count":26,"created":"2011-02-22T07:20:26Z","language":"C","pushed":"2012-04-24T14:15:18.536Z"},{"gravatar_id":"bbd55fb25025ef973c45e587103a1007","score":12.540491,"type":"user","location":"Nantes, France","name":"Vincent Giersch","fullname":"Vincent Giersch","repos":20,"login":"gierschv","public_repo_count":20,"username":"gierschv","created_at":"2010-09-12T16:41:49Z","record":null,"id":"user-396537","followers":26,"followers_count":26,"created":"2010-09-12T16:41:49Z","language":"JavaScript","pushed":"2012-06-07T01:15:19.516Z"},{"gravatar_id":"c8ff80488014da414b65346806178fa5","score":12.304387,"type":"user","name":"Vincent Batts","repos":20,"fullname":"Vincent Batts","location":"Vienna, VA","login":"vbatts","public_repo_count":20,"username":"vbatts","created_at":"2009-03-25T14:57:43Z","record":null,"id":"user-67049","followers":25,"followers_count":25,"created":"2009-03-25T14:57:43Z","language":"Ruby","pushed":"2012-06-18T14:15:37.054Z"},{"gravatar_id":"5ad827a4eff2f5c23d26e1b4eb746143","score":12.204174,"type":"user","repos":16,"name":"Vincent","fullname":"Vincent","location":"","login":"Valodim","public_repo_count":16,"username":"Valodim","created_at":"2008-10-06T20:33:02Z","record":null,"id":"user-27813","followers":9,"followers_count":9,"created":"2008-10-06T20:33:02Z","language":"Python","pushed":"2011-11-27T18:15:31.138Z"},{"gravatar_id":"a267b99df7d74999affbda5c314083d7","score":12.204174,"type":"user","fullname":"Vincent","repos":25,"name":"Vincent","location":"","login":"Twinside","public_repo_count":25,"username":"Twinside","created_at":"2009-12-17T09:22:27Z","record":null,"id":"user-168874","followers":6,"followers_count":6,"created":"2009-12-17T09:22:27Z","language":"VimL","pushed":"2012-06-28T07:15:16.26Z"},{"gravatar_id":"722218c7702627097bd72901d7b39e6a","score":12.197243,"type":"user","name":"Mike Vincent","location":"FTW, TX","fullname":"Mike Vincent","repos":9,"login":"agile","public_repo_count":9,"username":"agile","created_at":"2008-02-13T19:58:02Z","record":null,"id":"user-249","followers":28,"followers_count":28,"created":"2008-02-13T19:58:02Z","language":"Ruby","pushed":"2012-06-23T19:16:35.651Z"},{"gravatar_id":"a56a9079e6af8a892337a671c3b1a230","score":12.029787,"type":"user","name":"Vincent Pit","repos":13,"location":"Paris, France","fullname":"Vincent Pit","login":"vpit","public_repo_count":13,"username":"vpit","created_at":"2009-04-05T16:43:32Z","record":null,"id":"user-70731","followers":26,"followers_count":26,"created":"2009-04-05T16:43:32Z","language":"Perl","pushed":"2012-04-25T22:15:28.818Z"},{"gravatar_id":"317cf21cbde7d18d79c27e123cbf7b73","score":11.095074,"type":"user","fullname":"Vincent Velociter","name":"Vincent Velociter","repos":14,"location":"Nantes","login":"veloce","public_repo_count":14,"username":"veloce","created_at":"2010-10-01T12:58:39Z","record":null,"id":"user-423393","followers":21,"followers_count":21,"created":"2010-10-01T12:58:39Z","language":"VimL","pushed":"2012-06-20T16:15:20.04Z"},{"gravatar_id":"d4ad14bf23231763ea3c1754a65de041","score":11.040714,"type":"user","repos":45,"name":"Vincent van Haaff","fullname":"Vincent van Haaff","location":"Vancouver, BC","login":"flyingoctopus","public_repo_count":45,"username":"flyingoctopus","created_at":"2009-02-03T08:21:05Z","record":null,"id":"user-51352","followers":16,"followers_count":16,"created":"2009-02-03T08:21:05Z","language":"JavaScript","pushed":"2012-06-28T19:15:23.553Z"},{"gravatar_id":"652e02cbd134e0e92f3f81fe14bda3d1","score":11.000038,"type":"user","name":"Seth Vincent","repos":52,"fullname":"Seth Vincent","location":"olympia, wa","login":"sethvincent","public_repo_count":52,"username":"sethvincent","created_at":"2009-12-08T05:13:00Z","record":null,"id":"user-164214","followers":8,"followers_count":8,"created":"2009-12-08T05:13:00Z","language":"JavaScript","pushed":"2012-06-13T05:15:13.738Z"},{"gravatar_id":"7d3e511e6531fa9fde610015867d5c82","score":10.762525,"type":"user","fullname":"Vincent","repos":13,"name":"Vincent","location":"Zurich","login":"minikermit","public_repo_count":13,"username":"minikermit","created_at":"2009-01-18T10:56:54Z","record":null,"id":"user-47452","followers":3,"followers_count":3,"created":"2009-01-18T10:56:54Z","language":"JavaScript","pushed":"2012-06-27T19:16:29.254Z"},{"gravatar_id":"d3f0155cbb376d40f0c2e6f2d70552a4","score":10.7480545,"type":"user","fullname":"Vincent Agnano","repos":15,"name":"Vincent Agnano","location":"Montpellier","login":"vinyll","public_repo_count":15,"username":"vinyll","created_at":"2009-10-27T09:00:05Z","record":null,"id":"user-145172","followers":19,"followers_count":19,"created":"2009-10-27T09:00:05Z","language":"PHP","pushed":"2012-06-27T13:15:35.164Z"},{"gravatar_id":"dca7a9de73436b37325226984917bec0","score":10.725438,"type":"user","fullname":"Vincent Mazenod","name":"Vincent Mazenod","repos":18,"location":"Clermont Ferrand (636)","login":"mazenovi","public_repo_count":18,"username":"mazenovi","created_at":"2010-08-17T08:26:28Z","record":null,"id":"user-366957","followers":18,"followers_count":18,"created":"2010-08-17T08:26:28Z","language":"PHP","pushed":"2012-06-12T10:15:21.258Z"},{"gravatar_id":"9cfe5fa2f21186a7bec97f0e25fdf68e","score":10.578381,"type":"user","fullname":"Vincent Lark","name":"Vincent Lark","location":"France / Luxembourg","repos":11,"login":"vincent","public_repo_count":11,"username":"vincent","created_at":"2008-04-07T17:52:22Z","record":null,"id":"user-5623","followers":9,"followers_count":9,"created":"2008-04-07T17:52:22Z","language":"Python","pushed":"2011-10-17T15:15:11.027Z"},{"gravatar_id":"2bb264ba6bb334e5bfa5e266788a94c7","score":10.556574,"type":"user","repos":13,"name":"Vincent","fullname":"Vincent","location":"","login":"vjcharles","public_repo_count":13,"username":"vjcharles","created_at":"2008-06-23T08:36:59Z","record":null,"id":"user-14668","followers":2,"followers_count":2,"created":"2008-06-23T08:36:59Z","language":"Ruby","pushed":"2012-06-28T18:15:31.165Z"},{"gravatar_id":"7105cb5590c1d689191fabaff3cfc23b","score":10.545874,"type":"user","name":"Sam Vincent","repos":6,"fullname":"Sam Vincent","location":"Vancouver, BC","login":"samvincent","public_repo_count":6,"username":"samvincent","created_at":"2009-02-25T08:54:33Z","record":null,"id":"user-57775","followers":21,"followers_count":21,"created":"2009-02-25T08:54:33Z","language":"Ruby","pushed":"2012-06-15T21:15:20.297Z"},{"gravatar_id":"96f903d97afc840d7c317ce094fef408","score":10.537209,"type":"user","name":"vincent","repos":18,"fullname":"vincent","location":"北京市海淀区海淀北街8号中关村SOHO ","login":"vincent1900","public_repo_count":18,"username":"vincent1900","created_at":"2011-04-21T04:53:45Z","record":null,"id":"user-743038","followers":0,"followers_count":0,"created":"2011-04-21T04:53:45Z","language":"JavaScript","pushed":"2012-01-10T03:15:21.421Z"},{"gravatar_id":"2ecfff7b4be5cc2a6f42a0e6258f1bdd","score":10.464482,"type":"user","name":"Aziz Hardaya","location":"Jakarta Timur","repos":5,"fullname":"Aziz Hardaya","login":"AzizVincent","public_repo_count":5,"username":"AzizVincent","created_at":"2011-08-12T03:56:24Z","record":null,"id":"user-975298","followers":30,"followers_count":30,"created":"2011-08-12T03:56:24Z","language":"","pushed":"2012-02-13T03:15:25.527Z"},{"gravatar_id":"e5e032ef6bc616aab797ce8562fa60fa","score":10.312129,"type":"user","repos":3,"name":"Vincent","fullname":"Vincent","location":"Rotterdam","login":"VvanGemert","public_repo_count":3,"username":"VvanGemert","created_at":"2010-03-22T15:14:38Z","record":null,"id":"user-227966","followers":4,"followers_count":4,"created":"2010-03-22T15:14:38Z","language":"Ruby","pushed":"2012-03-29T14:15:14.844Z"},{"gravatar_id":"31a9803728a756c2b6ec090cb77852b3","score":10.310701,"type":"user","name":"Vincent Toups","location":"North Carolina","fullname":"Vincent Toups","repos":17,"login":"VincentToups","public_repo_count":17,"username":"VincentToups","created_at":"2008-10-31T13:41:24Z","record":null,"id":"user-31994","followers":16,"followers_count":16,"created":"2008-10-31T13:41:24Z","language":"Common Lisp","pushed":"2012-05-20T16:15:19.958Z"},{"gravatar_id":"2843b1e49827c8a63ef3695778646263","score":10.281975,"type":"user","fullname":"vincent","name":"vincent","location":"","repos":6,"login":"vincentwv","public_repo_count":6,"username":"vincentwv","created_at":"2011-08-17T09:40:13Z","record":null,"id":"user-985725","followers":3,"followers_count":3,"created":"2011-08-17T09:40:13Z","language":"JavaScript","pushed":"2012-04-04T16:15:11.99Z"},{"gravatar_id":"2c7e6e3e5b099d9d9d3ceba6819ca864","score":10.244888,"type":"user","fullname":"Vincent Waller","repos":44,"name":"Vincent Waller","location":"Bend, OR","login":"vwall","public_repo_count":44,"username":"vwall","created_at":"2009-08-21T18:38:05Z","record":null,"id":"user-118020","followers":7,"followers_count":7,"created":"2009-08-21T18:38:05Z","language":"Ruby","pushed":"2012-06-26T19:16:08.156Z"},{"gravatar_id":"3a66abaecbdf3edc16b509b9f46a5128","score":10.102409,"type":"user","fullname":"Vincent","repos":3,"name":"Vincent","location":"Irvine, CA","login":"vmarquez","public_repo_count":3,"username":"vmarquez","created_at":"2010-10-05T06:35:10Z","record":null,"id":"user-427578","followers":3,"followers_count":3,"created":"2010-10-05T06:35:10Z","language":"VimL","pushed":"2012-06-26T23:15:29.811Z"},{"gravatar_id":"0fa1e7a2807be2aaf0bd66d688506199","score":10.076025,"type":"user","location":"Taipei/Taiwan ","name":"Vincent","repos":12,"fullname":"Vincent","login":"changyihsin","public_repo_count":12,"username":"changyihsin","created_at":"2012-01-10T07:09:41Z","record":null,"id":"user-1317650","followers":0,"followers_count":0,"created":"2012-01-10T07:09:41Z","language":"C","pushed":"2012-06-05T07:15:20.895Z"},{"gravatar_id":"a8d7a6a8449afeeeaf9583c80c9ce8fc","score":10.073187,"type":"user","fullname":"Vincent","name":"Vincent","location":"Rotterdam/NL","repos":11,"login":"vincent-psarga","public_repo_count":11,"username":"vincent-psarga","created_at":"2010-01-20T15:27:54Z","record":null,"id":"user-186248","followers":0,"followers_count":0,"created":"2010-01-20T15:27:54Z","language":"Python","pushed":"2011-10-19T10:15:15.782Z"},{"gravatar_id":"15f0181accb819d21fd149a30303d68c","score":10.065324,"type":"user","fullname":"Vincent Demeester","repos":38,"name":"Vincent Demeester","location":"Bordeaux, Aquitaine, France","login":"vdemeester","public_repo_count":38,"username":"vdemeester","created_at":"2008-04-11T06:56:22Z","record":null,"id":"user-6508","followers":8,"followers_count":8,"created":"2008-04-11T06:56:22Z","language":"Shell","pushed":"2012-06-26T21:15:36.396Z"},{"gravatar_id":"ea99573d979fd0a4e9503a1e9331e68a","score":10.0389385,"type":"user","name":"Vincent Cogne","location":"France, Paris","fullname":"Vincent Cogne","repos":20,"login":"xpac27","public_repo_count":20,"username":"xpac27","created_at":"2009-04-22T13:24:07Z","record":null,"id":"user-76585","followers":14,"followers_count":14,"created":"2009-04-22T13:24:07Z","language":"JavaScript","pushed":"2012-06-23T19:15:31.367Z"},{"gravatar_id":"cce588dc4e7a73ae4c284915ca4de863","score":10.007375,"type":"user","repos":11,"name":"VIncent","fullname":"VIncent","location":"Guangzhou,China","login":"ywdong","public_repo_count":11,"username":"ywdong","created_at":"2012-02-21T15:58:13Z","record":null,"id":"user-1457889","followers":0,"followers_count":0,"created":"2012-02-21T15:58:13Z","language":"Java","pushed":"2012-06-03T05:15:15.227Z"},{"gravatar_id":"06366cecc21b382cef72494f25bcbf3e","score":9.9387245,"type":"user","fullname":"Vincent","repos":10,"name":"Vincent","location":"","login":"zakora","public_repo_count":10,"username":"zakora","created_at":"2009-07-19T20:21:15Z","record":null,"id":"user-106620","followers":0,"followers_count":0,"created":"2009-07-19T20:21:15Z","language":"Python","pushed":"2012-06-27T20:15:10.991Z"},{"gravatar_id":"1255ca023ce9ca08c7354b619d562625","score":9.870074,"type":"user","location":"","name":"Vincent","repos":9,"fullname":"Vincent","login":"xuevin","public_repo_count":9,"username":"xuevin","created_at":"2010-06-04T01:46:36Z","record":null,"id":"user-296101","followers":0,"followers_count":0,"created":"2010-06-04T01:46:36Z","language":"Java","pushed":"2012-06-08T20:15:31.323Z"},{"gravatar_id":"94f3a1b384d13d1413422b6b64935d48","score":9.794494,"type":"user","fullname":"Vincent Anonymouse","repos":1,"name":"Vincent Anonymouse","location":"","login":"milomouse","public_repo_count":1,"username":"milomouse","created_at":"2009-04-23T05:11:40Z","record":null,"id":"user-76868","followers":19,"followers_count":19,"created":"2009-04-23T05:11:40Z","language":"Common Lisp","pushed":"2012-03-07T19:19:44.686Z"},{"gravatar_id":"0d131f51bf9526483afcac2dd0d3dad5","score":9.7643385,"type":"user","fullname":"Vincent Cabansag","repos":1,"name":"Vincent Cabansag","location":"Chicago, IL","login":"vcabansag","public_repo_count":1,"username":"vcabansag","created_at":"2011-09-19T15:10:07Z","record":null,"id":"user-1062352","followers":19,"followers_count":19,"created":"2011-09-19T15:10:07Z","language":"Ruby","pushed":"2012-06-27T15:15:38.916Z"},{"gravatar_id":"8c6856b195974b4e03bf9ce24f36ec16","score":9.6641245,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"Santa Barbara, CA","login":"vincentalindogan","public_repo_count":0,"username":"vincentalindogan","created_at":"2011-03-27T18:47:05Z","record":null,"id":"user-693707","followers":2,"followers_count":2,"created":"2011-03-27T18:47:05Z","language":"","pushed":"2012-03-26T00:15:09.735Z"},{"gravatar_id":"fb56e63daee1464b77209410873f0070","score":9.6641245,"type":"user","name":"Will Vincent","location":"Twin Cities, MN","repos":0,"fullname":"Will Vincent","login":"willvincent","public_repo_count":0,"username":"willvincent","created_at":"2011-03-25T08:19:27Z","record":null,"id":"user-689891","followers":2,"followers_count":2,"created":"2011-03-25T08:19:27Z","language":"","pushed":"2012-05-14T19:16:38.835Z"},{"gravatar_id":"ed4127e0b58e6d0f753a987f895abebd","score":9.6641245,"type":"user","name":"vincent","fullname":"vincent","location":"Beijing China","repos":3,"login":"vincenttone","public_repo_count":3,"username":"vincenttone","created_at":"2011-11-08T01:48:51Z","record":null,"id":"user-1179536","followers":1,"followers_count":1,"created":"2011-11-08T01:48:51Z","language":"Python","pushed":"2012-05-28T11:15:18.397Z"},{"gravatar_id":"aa7c3566126ee339d33fee2c801662d9","score":9.6641245,"type":"user","fullname":"Vincent","name":"Vincent","repos":6,"location":"Valence/France","login":"vinzcoco","public_repo_count":6,"username":"vinzcoco","created_at":"2012-01-23T21:13:58Z","record":null,"id":"user-1372480","followers":0,"followers_count":0,"created":"2012-01-23T21:13:58Z","language":"PHP","pushed":"2012-06-20T10:15:18.217Z"},{"gravatar_id":"8493dbf44e9a5995b24165464f10df92","score":9.595475,"type":"user","location":"","name":"Vincent ","repos":5,"fullname":"Vincent ","login":"livewire195","public_repo_count":5,"username":"livewire195","created_at":"2012-03-27T16:10:49Z","record":null,"id":"user-1580359","followers":0,"followers_count":0,"created":"2012-03-27T16:10:49Z","language":"Python","pushed":"2012-06-09T07:15:13.208Z"},{"gravatar_id":"4667846b9c1e5e426ca958ac96882eb9","score":9.576109,"type":"user","name":"vincent","repos":4,"fullname":"vincent","location":"","login":"vincent5295","public_repo_count":4,"username":"vincent5295","created_at":"2012-02-29T03:00:42Z","record":null,"id":"user-1483932","followers":0,"followers_count":0,"created":"2012-02-29T03:00:42Z","language":"C","pushed":"2012-06-17T14:15:11.01Z"},{"gravatar_id":"032f1a85263f21ff1f013421967ef99e","score":9.558389,"type":"user","name":"Vincent Franco","repos":13,"fullname":"Vincent Franco","location":"Sacramento","login":"vinniefranco","public_repo_count":13,"username":"vinniefranco","created_at":"2010-07-10T20:05:55Z","record":null,"id":"user-328428","followers":14,"followers_count":14,"created":"2010-07-10T20:05:55Z","language":"Ruby","pushed":"2012-06-17T19:15:32.752Z"},{"gravatar_id":"5ed6fc41ebf7d88590a4c07eae074e97","score":9.558389,"type":"user","fullname":"Vincent Deloso","repos":25,"name":"Vincent Deloso","location":"","login":"Mitsugaru","public_repo_count":25,"username":"Mitsugaru","created_at":"2011-11-09T21:32:35Z","record":null,"id":"user-1184640","followers":10,"followers_count":10,"created":"2011-11-09T21:32:35Z","language":"Java","pushed":"2012-06-27T15:15:40.449Z"},{"gravatar_id":"051a209f0b3759e8e51680562955d555","score":9.556979,"type":"user","name":"Vincent","fullname":"Vincent","repos":1,"location":"","login":"vgametoo","public_repo_count":1,"username":"vgametoo","created_at":"2012-03-19T12:39:35Z","record":null,"id":"user-1552699","followers":1,"followers_count":1,"created":"2012-03-19T12:39:35Z","language":"","pushed":"2012-06-21T19:15:26.276Z"},{"gravatar_id":"a270083a603e945d156b9fa5ba7f1270","score":9.55321,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":1,"login":"dominiquevincent","public_repo_count":1,"username":"dominiquevincent","created_at":"2010-05-05T13:45:32Z","record":null,"id":"user-265581","followers":1,"followers_count":1,"created":"2010-05-05T13:45:32Z","language":"JavaScript","pushed":"2010-11-12T07:15:10.614Z"},{"gravatar_id":"4136d955e297f2759ac728b6d1701f36","score":9.55321,"type":"user","name":"Vincent","repos":1,"fullname":"Vincent","location":"","login":"vincentamari","public_repo_count":1,"username":"vincentamari","created_at":"2011-03-14T11:02:58Z","record":null,"id":"user-668429","followers":1,"followers_count":1,"created":"2011-03-14T11:02:58Z","language":"JavaScript","pushed":"2012-06-18T07:15:51.072Z"},{"gravatar_id":"4b44c097908d14610ba01790b5fc975c","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":4,"login":"ciex","public_repo_count":4,"username":"ciex","created_at":"2010-05-16T15:08:50Z","record":null,"id":"user-278463","followers":0,"followers_count":0,"created":"2010-05-16T15:08:50Z","language":"Python","pushed":"2012-04-16T15:15:29.943Z"},{"gravatar_id":"010564c5d5894e8e22ba40de45917566","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"The Netherlands","login":"Vinnl","public_repo_count":1,"username":"Vinnl","created_at":"2008-04-02T18:24:21Z","record":null,"id":"user-4251","followers":1,"followers_count":1,"created":"2008-04-02T18:24:21Z","language":"","pushed":"2012-05-04T14:15:33.377Z"},{"gravatar_id":"4b86e791cadf9cc2c0a4a7bfc32d9e9e","score":9.526825,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"","login":"monkeymajiks","public_repo_count":1,"username":"monkeymajiks","created_at":"2012-01-25T22:10:51Z","record":null,"id":"user-1380497","followers":1,"followers_count":1,"created":"2012-01-25T22:10:51Z","language":"","pushed":"2012-06-12T11:15:31.686Z"},{"gravatar_id":"916769ca776c1e7576bcb7cd34be7391","score":9.526825,"type":"user","name":"Vincent","location":"","fullname":"Vincent","repos":4,"login":"vgauthier","public_repo_count":4,"username":"vgauthier","created_at":"2012-02-25T20:07:22Z","record":null,"id":"user-1473920","followers":0,"followers_count":0,"created":"2012-02-25T20:07:22Z","language":"Python","pushed":"2012-06-23T16:15:14.419Z"},{"gravatar_id":"b2f52d3a1a83d0fa6be6705d322bc1de","score":9.523987,"type":"user","name":"Vincent","location":"France","repos":0,"fullname":"Vincent","login":"Vincent-P","public_repo_count":0,"username":"Vincent-P","created_at":"2011-07-28T13:51:46Z","record":null,"id":"user-944506","followers":1,"followers_count":1,"created":"2011-07-28T13:51:46Z","language":"","pushed":"2012-05-12T09:15:15.844Z"},{"gravatar_id":"fc24888b3f4d2a85348e7bbded2f4100","score":9.488329,"type":"user","fullname":"Vincent","repos":0,"name":"Vincent","location":"Amsterdam","login":"viancen","public_repo_count":0,"username":"viancen","created_at":"2012-02-15T08:22:55Z","record":null,"id":"user-1439145","followers":1,"followers_count":1,"created":"2012-02-15T08:22:55Z","language":"","pushed":"2012-06-26T21:15:34.446Z"},{"gravatar_id":"8682561c2989398cda139818390a25c4","score":9.48456,"type":"user","name":"Vincent","repos":0,"fullname":"Vincent","location":"Singapore","login":"vsputra","public_repo_count":0,"username":"vsputra","created_at":"2010-07-19T17:38:53Z","record":null,"id":"user-337548","followers":1,"followers_count":1,"created":"2010-07-19T17:38:53Z","language":"","pushed":"2012-06-19T03:15:15.214Z"},{"gravatar_id":"d3d7715ddc9d2c98dc0acca41026e3ec","score":9.48079,"type":"user","name":"Vincent","location":"Melbourne/Australia","fullname":"Vincent","repos":3,"login":"vincentwongso","public_repo_count":3,"username":"vincentwongso","created_at":"2012-01-03T00:57:50Z","record":null,"id":"user-1300030","followers":0,"followers_count":0,"created":"2012-01-03T00:57:50Z","language":"JavaScript","pushed":"2012-05-10T23:15:22.719Z"},{"gravatar_id":"207cf37afe1b8de78411201832496eb3","score":9.48079,"type":"user","name":"vincent","location":"bordeaux","fullname":"vincent","repos":3,"login":"guillaumevincent","public_repo_count":3,"username":"guillaumevincent","created_at":"2011-07-28T06:59:30Z","record":null,"id":"user-943762","followers":0,"followers_count":0,"created":"2011-07-28T06:59:30Z","language":"Python","pushed":"2012-06-22T12:15:17.467Z"},{"gravatar_id":"fc35e4705d430b49a2e1f962e73d567f","score":9.458175,"type":"user","fullname":"Vincent","repos":0,"name":"Vincent","location":"","login":"vn","public_repo_count":0,"username":"vn","created_at":"2012-01-20T23:48:32Z","record":null,"id":"user-1361165","followers":1,"followers_count":1,"created":"2012-01-20T23:48:32Z","language":"","pushed":"2012-06-28T11:15:11.679Z"},{"gravatar_id":"c34027ae138bf86507c5a36a6b3bf3a5","score":9.421089,"type":"user","name":"Vincent Lannurien","fullname":"Vincent Lannurien","location":"France","repos":8,"login":"addikt1ve","public_repo_count":8,"username":"addikt1ve","created_at":"2008-09-01T13:41:54Z","record":null,"id":"user-22757","followers":15,"followers_count":15,"created":"2008-09-01T13:41:54Z","language":"Shell","pushed":"2011-04-29T22:15:09.273Z"},{"gravatar_id":"226e40fdc55d4597a46279296a616384","score":9.419679,"type":"user","location":"Denver","name":"Vincent","repos":2,"fullname":"Vincent","login":"vincentdavis","public_repo_count":2,"username":"vincentdavis","created_at":"2010-03-29T12:06:25Z","record":null,"id":"user-232564","followers":0,"followers_count":0,"created":"2010-03-29T12:06:25Z","language":"VimL","pushed":"2012-06-05T19:15:38.974Z"},{"gravatar_id":"f6e9045bb7bf8b000eaf62caffbd17ab","score":9.41591,"type":"user","fullname":"Vincent","repos":2,"name":"Vincent","location":"Mont sainte anne","login":"vincentvent","public_repo_count":2,"username":"vincentvent","created_at":"2011-08-10T01:40:18Z","record":null,"id":"user-970338","followers":0,"followers_count":0,"created":"2011-08-10T01:40:18Z","language":"","pushed":"2012-03-08T14:15:38.332Z"},{"gravatar_id":"dfac99df6d6b570feb68f0b88f720a80","score":9.41214,"type":"user","name":"vincent","repos":2,"fullname":"vincent","location":"China, Shenzhen, Nanshan","login":"chenws","public_repo_count":2,"username":"chenws","created_at":"2012-01-03T16:35:05Z","record":null,"id":"user-1301573","followers":0,"followers_count":0,"created":"2012-01-03T16:35:05Z","language":"C","pushed":"2012-05-02T09:15:37.412Z"},{"gravatar_id":"1cc07aa5b421181a130efdd61112ec3e","score":9.403019,"type":"user","fullname":"Vincent S","name":"Vincent S","repos":1,"location":"","login":"VincentS","public_repo_count":1,"username":"VincentS","created_at":"2011-08-23T12:33:31Z","record":null,"id":"user-998872","followers":0,"followers_count":0,"created":"2011-08-23T12:33:31Z","language":"Ruby","pushed":"2011-08-23T13:15:25.062Z"},{"gravatar_id":"304da7fc1421e25a18b95b784baf9539","score":9.389524,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":2,"login":"copyshaft","public_repo_count":2,"username":"copyshaft","created_at":"2009-12-04T03:29:28Z","record":null,"id":"user-161704","followers":0,"followers_count":0,"created":"2009-12-04T03:29:28Z","language":"","pushed":"2010-05-24T00:25:15.443Z"},{"gravatar_id":"838409afe0def35c03da9757148df790","score":9.389524,"type":"user","name":"Vincent","repos":2,"fullname":"Vincent","location":"Paris","login":"vinceofdrink","public_repo_count":2,"username":"vinceofdrink","created_at":"2011-07-04T11:24:46Z","record":null,"id":"user-893359","followers":0,"followers_count":0,"created":"2011-07-04T11:24:46Z","language":"C","pushed":"2012-01-12T15:15:29.207Z"},{"gravatar_id":"1adf0d0b91278d02e88627ffbdd1c65a","score":9.389524,"type":"user","repos":2,"name":"Vincent","fullname":"Vincent","location":"China","login":"wenzheng","public_repo_count":2,"username":"wenzheng","created_at":"2011-08-11T12:35:23Z","record":null,"id":"user-973811","followers":0,"followers_count":0,"created":"2011-08-11T12:35:23Z","language":"","pushed":"2012-02-23T15:15:48.56Z"},{"score":9.389524,"type":"user","fullname":"Vincent","name":"Vincent","location":"France","repos":2,"login":"ziefno","public_repo_count":2,"username":"ziefno","created_at":"2012-03-10T14:44:03Z","record":null,"id":"user-1523263","followers":0,"followers_count":0,"created":"2012-03-10T14:44:03Z","language":"","pushed":"2012-03-10T22:15:17.63Z"},{"gravatar_id":"95bcdb7789b7c0481aea3cf55b5bb987","score":9.389524,"type":"user","name":"Vincent","location":"","fullname":"Vincent","repos":2,"login":"vincentm8","public_repo_count":2,"username":"vincentm8","created_at":"2010-09-12T19:26:07Z","record":null,"id":"user-396662","followers":0,"followers_count":0,"created":"2010-09-12T19:26:07Z","language":"PHP","pushed":"2012-04-16T08:15:17.843Z"},{"gravatar_id":"811d7edddfcb7e652f38c7e56d51ea51","score":9.389524,"type":"user","fullname":"Vincent","repos":2,"name":"Vincent","location":"HCM","login":"vnoob","public_repo_count":2,"username":"vnoob","created_at":"2011-04-15T15:26:21Z","record":null,"id":"user-731797","followers":0,"followers_count":0,"created":"2011-04-15T15:26:21Z","language":"","pushed":"2012-06-02T04:15:19.714Z"},{"gravatar_id":"bf4442de23d120becefaa556f41562f2","score":9.389524,"type":"user","name":"Vincente","repos":2,"fullname":"Vincente","location":"California","login":"vciancio","public_repo_count":2,"username":"vciancio","created_at":"2011-12-01T03:03:38Z","record":null,"id":"user-1232406","followers":0,"followers_count":0,"created":"2011-12-01T03:03:38Z","language":"Java","pushed":"2012-06-19T00:15:59.771Z"},{"gravatar_id":"d6288a0b3a370e4db4ea27adbeb74a30","score":9.378824,"type":"user","repos":10,"name":"Blanchon Vincent","fullname":"Blanchon Vincent","location":"Sophia Antipolis, France","login":"blanchonvincent","public_repo_count":10,"username":"blanchonvincent","created_at":"2012-03-27T17:07:35Z","record":null,"id":"user-1580512","followers":14,"followers_count":14,"created":"2012-03-27T17:07:35Z","language":"PHP","pushed":"2012-06-04T10:15:20.206Z"},{"gravatar_id":"667176b96540d167eb74f473c9aea5f7","score":9.378824,"type":"user","name":"Vincent Voyer","location":"Paris, france","fullname":"Vincent Voyer","repos":13,"login":"vvo","public_repo_count":13,"username":"vvo","created_at":"2009-09-06T14:28:06Z","record":null,"id":"user-123822","followers":13,"followers_count":13,"created":"2009-09-06T14:28:06Z","language":"JavaScript","pushed":"2012-06-26T17:15:45.365Z"},{"gravatar_id":"71e56904f65a1ad1f3a178062fad6897","score":9.370159,"type":"user","fullname":"Vincent","name":"Vincent","repos":1,"location":"France, Tarn","login":"Vincent81","public_repo_count":1,"username":"Vincent81","created_at":"2011-08-05T21:22:58Z","record":null,"id":"user-962113","followers":0,"followers_count":0,"created":"2011-08-05T21:22:58Z","language":"","pushed":"2011-09-06T14:15:24.224Z"},{"gravatar_id":"014023e8bd4f74bdd5dd949f9afcf9c9","score":9.34726,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":1,"login":"Vincentbosch","public_repo_count":1,"username":"Vincentbosch","created_at":"2011-05-12T14:48:43Z","record":null,"id":"user-784014","followers":0,"followers_count":0,"created":"2011-05-12T14:48:43Z","language":"","pushed":"2011-05-17T14:15:16.145Z"},{"gravatar_id":"86f44ee7aef87c7df23227ed99af157c","score":9.34726,"type":"user","name":"vincent","location":"","repos":1,"fullname":"vincent","login":"legarconjoure","public_repo_count":1,"username":"legarconjoure","created_at":"2011-04-04T12:20:19Z","record":null,"id":"user-708274","followers":0,"followers_count":0,"created":"2011-04-04T12:20:19Z","language":"","pushed":"2012-05-14T08:15:24.999Z"},{"gravatar_id":"fceb28e90061e831277e161d5e85757a","score":9.327894,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vincent7894","public_repo_count":0,"username":"vincent7894","created_at":"2011-12-10T20:26:26Z","record":null,"id":"user-1254570","followers":0,"followers_count":0,"created":"2011-12-10T20:26:26Z","language":"","pushed":"2012-03-29T18:15:22.448Z"},{"gravatar_id":"8a817ae82ab5e742c6aca7548e39ab65","score":9.327894,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vincent73000","public_repo_count":0,"username":"vincent73000","created_at":"2011-07-30T13:45:47Z","record":null,"id":"user-948600","followers":0,"followers_count":0,"created":"2011-07-30T13:45:47Z","language":"","pushed":"2012-06-04T11:15:21.524Z"},{"gravatar_id":"d98356664e29463bdc8d8e77095a80bd","score":9.320875,"type":"user","name":"Vincent","fullname":"Vincent","location":"Shanghai, China","repos":1,"login":"ttyio","public_repo_count":1,"username":"ttyio","created_at":"2010-08-16T06:35:46Z","record":null,"id":"user-365590","followers":0,"followers_count":0,"created":"2010-08-16T06:35:46Z","language":"VimL","pushed":"2010-11-08T03:15:12.032Z"},{"gravatar_id":"74ccd2db6dd9211393d4bd62408c6c13","score":9.320875,"type":"user","fullname":"vincent","repos":1,"name":"vincent","location":"","login":"tean60","public_repo_count":1,"username":"tean60","created_at":"2011-01-20T06:55:22Z","record":null,"id":"user-574055","followers":0,"followers_count":0,"created":"2011-01-20T06:55:22Z","language":"","pushed":"2011-06-10T06:15:11.093Z"},{"gravatar_id":"3526439448f2288e0aa5f9456b6aad4b","score":9.320875,"type":"user","name":"Will Vincent","fullname":"Will Vincent","repos":1,"location":"","login":"tcindie","public_repo_count":1,"username":"tcindie","created_at":"2010-07-02T18:50:26Z","record":null,"id":"user-321392","followers":0,"followers_count":0,"created":"2010-07-02T18:50:26Z","language":"PHP","pushed":"2011-07-01T17:15:14.856Z"},{"gravatar_id":"3aeafe584ef75baac1976c910f069752","score":9.320875,"type":"user","name":"vincent","fullname":"vincent","location":"","repos":1,"login":"vincentye38","public_repo_count":1,"username":"vincentye38","created_at":"2011-01-27T07:37:41Z","record":null,"id":"user-586072","followers":0,"followers_count":0,"created":"2011-01-27T07:37:41Z","language":"","pushed":"2012-04-05T05:15:16.89Z"},{"gravatar_id":"49a3fcbf452d1e9d85259d8e1f510934","score":9.320875,"type":"user","repos":1,"name":"Vincent","location":"Rouen","fullname":"Vincent","login":"pasificking","public_repo_count":1,"username":"pasificking","created_at":"2012-03-30T09:07:51Z","record":null,"id":"user-1589894","followers":0,"followers_count":0,"created":"2012-03-30T09:07:51Z","language":"","pushed":"2012-04-10T09:15:35.441Z"},{"gravatar_id":"c3ca1e10cdb67296511fdb480b4acdf0","score":9.320875,"type":"user","name":"Vincent","repos":1,"fullname":"Vincent","location":"","login":"Bpbannerproject","public_repo_count":1,"username":"Bpbannerproject","created_at":"2012-05-07T19:08:32Z","record":null,"id":"user-1714420","followers":0,"followers_count":0,"created":"2012-05-07T19:08:32Z","language":"","pushed":"2012-05-16T06:15:09.874Z"},{"gravatar_id":"259619f6b128ff8886bffa31ea52ab35","score":9.320875,"type":"user","fullname":"Vincent","repos":1,"name":"Vincent","location":"Nanjing, China","login":"farawayboat","public_repo_count":1,"username":"farawayboat","created_at":"2011-09-23T16:35:39Z","record":null,"id":"user-1074475","followers":0,"followers_count":0,"created":"2011-09-23T16:35:39Z","language":"","pushed":"2012-06-28T07:15:16.399Z"},{"gravatar_id":"6b3cc4c0504401ebb74ecac20cec5fbb","score":9.301509,"type":"user","fullname":"Vincent","name":"Vincent","location":"","repos":0,"login":"vincent7842","public_repo_count":0,"username":"vincent7842","created_at":"2012-03-17T14:30:39Z","record":null,"id":"user-1547379","followers":0,"followers_count":0,"created":"2012-03-17T14:30:39Z","language":"","pushed":"2012-03-17T15:15:16.619Z"},{"gravatar_id":"886a562bd3cc225ec3250650d8cdf4bd","score":9.297433,"type":"user","name":"Zhiqiang Zhao","location":"Hangzhou, China","fullname":"Zhiqiang Zhao","repos":9,"login":"vincent-zhao","public_repo_count":9,"username":"vincent-zhao","created_at":"2012-01-31T03:18:49Z","record":null,"id":"user-1393423","followers":23,"followers_count":23,"created":"2012-01-31T03:18:49Z","language":"JavaScript","pushed":"2012-06-23T07:15:16.545Z"},{"gravatar_id":"4c7ff78c68f09a6294059d17df823fbf","score":9.291653,"type":"user","name":"Vincent","repos":0,"fullname":"Vincent","location":"Belgium","login":"VincentU","public_repo_count":0,"username":"VincentU","created_at":"2012-03-21T06:39:02Z","record":null,"id":"user-1559921","followers":0,"followers_count":0,"created":"2012-03-21T06:39:02Z","language":"","pushed":"2012-05-16T18:15:22.652Z"},{"gravatar_id":"9ec9ad37e9ab75436de0b3a0ce971dbe","score":9.283789,"type":"user","name":"Vincent Tencé","location":"Laval, Qc Canada","fullname":"Vincent Tencé","repos":12,"login":"testinfected","public_repo_count":12,"username":"testinfected","created_at":"2009-09-18T23:30:38Z","record":null,"id":"user-128804","followers":13,"followers_count":13,"created":"2009-09-18T23:30:38Z","language":"Java","pushed":"2012-06-23T19:16:06.24Z"},{"gravatar_id":"30d318bdf8e6a1d013c1bd8c5e9749a0","score":9.282379,"type":"user","name":"Vincent","fullname":"Vincent","location":"Coeur d'Alene ID","repos":0,"login":"thinkeryvin","public_repo_count":0,"username":"thinkeryvin","created_at":"2009-09-22T06:48:36Z","record":null,"id":"user-129806","followers":0,"followers_count":0,"created":"2009-09-22T06:48:36Z","language":"","pushed":"2011-03-30T07:15:09.25Z"},{"gravatar_id":"160934525d484d9269d3f5be05ff26da","score":9.282379,"type":"user","fullname":"Vincent","name":"Vincent","repos":0,"location":"Zoetermeer","login":"vinnyb","public_repo_count":0,"username":"vinnyb","created_at":"2010-08-16T13:04:14Z","record":null,"id":"user-365924","followers":0,"followers_count":0,"created":"2010-08-16T13:04:14Z","language":"","pushed":"2012-05-07T09:15:11.135Z"},{"gravatar_id":"e36b0ea5f740b3545bb9c39dcf4e5110","score":9.282379,"type":"user","fullname":"vincent","name":"vincent","location":"","repos":0,"login":"vinc3nt","public_repo_count":0,"username":"vinc3nt","created_at":"2011-07-01T11:34:07Z","record":null,"id":"user-888545","followers":0,"followers_count":0,"created":"2011-07-01T11:34:07Z","language":"","pushed":"2012-05-22T21:15:13.084Z"},{"gravatar_id":"953b83ade35b99fb82c2a6e134b2329a","score":9.27861,"type":"user","name":"vincent","location":"Montpellier, France","fullname":"vincent","repos":0,"login":"narf","public_repo_count":0,"username":"narf","created_at":"2010-10-28T16:11:35Z","record":null,"id":"user-458263","followers":0,"followers_count":0,"created":"2010-10-28T16:11:35Z","language":"","pushed":"2012-05-21T08:15:26.631Z"},{"gravatar_id":"a6c32849daa0d165f480bfa612116767","score":9.27861,"type":"user","name":"Vincent","location":"","repos":0,"fullname":"Vincent","login":"vincentveri","public_repo_count":0,"username":"vincentveri","created_at":"2011-05-03T08:59:39Z","record":null,"id":"user-765248","followers":0,"followers_count":0,"created":"2011-05-03T08:59:39Z","language":"","pushed":"2012-05-25T18:15:20.565Z"},{"gravatar_id":"23284aaf57ee593baa81a3d953386021","score":9.27861,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"vrafols","public_repo_count":0,"username":"vrafols","created_at":"2012-05-28T03:31:24Z","record":null,"id":"user-1784314","followers":0,"followers_count":0,"created":"2012-05-28T03:31:24Z","language":"","pushed":"2012-06-04T07:15:19.793Z"},{"gravatar_id":"24eb2af05f128cbf59314bddf59f3ed9","score":9.27861,"type":"user","name":"Vincent","fullname":"Vincent","repos":0,"location":"","login":"vinc38","public_repo_count":0,"username":"vinc38","created_at":"2012-01-18T08:14:07Z","record":null,"id":"user-1343597","followers":0,"followers_count":0,"created":"2012-01-18T08:14:07Z","language":"","pushed":"2012-06-14T14:15:37.571Z"},{"gravatar_id":"5a60bf71026c317ff9cacf9cce842924","score":9.27484,"type":"user","repos":0,"name":"Vincent","fullname":"Vincent","location":"","login":"Squee","public_repo_count":0,"username":"Squee","created_at":"2009-11-18T13:16:18Z","record":null,"id":"user-154841","followers":0,"followers_count":0,"created":"2009-11-18T13:16:18Z","language":"","pushed":"2011-11-15T17:15:15.363Z"},{"gravatar_id":"747d136a83a1e1fd26b5f001eb632d2c","score":9.252225,"type":"user","name":"Vincent","fullname":"Vincent","location":"","repos":0,"login":"msr911","public_repo_count":0,"username":"msr911","created_at":"2010-02-11T10:01:05Z","record":null,"id":"user-201682","followers":0,"followers_count":0,"created":"2010-02-11T10:01:05Z","language":"","pushed":"2010-05-23T23:30:14.272Z"},{"gravatar_id":"f09b6aab5c78a879998248e76e9e80b8","score":9.252225,"type":"user","name":"vincent","fullname":"vincent","location":"","repos":0,"login":"vincwu","public_repo_count":0,"username":"vincwu","created_at":"2009-05-02T14:51:55Z","record":null,"id":"user-80223","followers":0,"followers_count":0,"created":"2009-05-02T14:51:55Z","language":"","pushed":"2011-03-22T06:15:08.705Z"}]} - diff --git a/github/tests/ReplayData/Hook.setUp.txt b/github/tests/ReplayData/Hook.setUp.txt deleted file mode 100644 index c885036..0000000 --- a/github/tests/ReplayData/Hook.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4954'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7af2c1dbdce8b064d8e1c1cee90fe416"'), ('date', 'Tue, 29 May 2012 19:04:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"total_private_repos":5,"collaborators":0,"html_url":"https://github.com/jacquev6","type":"User","company":"Criteo","location":"Paris, France","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","owned_private_repos":5,"public_repos":10,"public_gists":3,"private_gists":5,"following":24,"blog":"http://vincent-jacques.net","followers":13,"disk_usage":17092,"hireable":false,"url":"https://api.github.com/users/jacquev6","name":"Vincent Jacques","login":"jacquev6","email":"vincent@vincent-jacques.net","bio":"","id":327146,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"created_at":"2010-07-09T06:10:06Z","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4953'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d574405822696c3387860e1e0f104059"'), ('date', 'Tue, 29 May 2012 19:04:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"mirror_url":null,"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:49:46Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"git_url":"git://github.com/jacquev6/PyGithub.git","size":480,"private":false,"open_issues":12,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:49:46Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '293'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"36d23f2fb8cd26bc14f28b609f2aa3a3"'), ('date', 'Tue, 29 May 2012 19:04:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-29T18:49:47Z","events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com"},"last_response":{"status":"ok","message":"OK","code":200},"active":true,"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - diff --git a/github/tests/ReplayData/Hook.testDelete.txt b/github/tests/ReplayData/Hook.testDelete.txt deleted file mode 100644 index 0ca5d08..0000000 --- a/github/tests/ReplayData/Hook.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4986'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 05:09:01 GMT')] - - diff --git a/github/tests/ReplayData/Hook.testEditWithAllParameters.txt b/github/tests/ReplayData/Hook.testEditWithAllParameters.txt deleted file mode 100644 index bb5045d..0000000 --- a/github/tests/ReplayData/Hook.testEditWithAllParameters.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"config": {"url": "http://foobar.com"}, "name": "web", "events": ["fork", "push"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '305'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"43f8b86dbc2f5bbfde20abb9d9142206"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:03:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","last_response":{"status":"unused","message":null,"code":null},"config":{"url":"http://foobar.com"},"active":true,"events":["fork","push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"config": {"url": "http://foobar.com"}, "name": "web", "add_events": ["push"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '305'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f372cc9359ed1d3b3fb8d484a09b36d7"'), ('date', 'Sat, 19 May 2012 06:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:03:19Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","last_response":{"status":"unused","message":null,"code":null},"config":{"url":"http://foobar.com"},"active":true,"events":["fork","push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"remove_events": ["fork"], "config": {"url": "http://foobar.com"}, "name": "web"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"223ecc83a014738547fd99c826e3f125"'), ('date', 'Sat, 19 May 2012 06:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:03:19Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com"},"active":true,"last_response":{"status":"unused","message":null,"code":null},"events":["push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"active": true, "config": {"url": "http://foobar.com"}, "name": "web"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"711cf06c29a923c290e1af74dc3e019d"'), ('date', 'Sat, 19 May 2012 06:03:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:03:20Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","last_response":{"status":"unused","message":null,"code":null},"config":{"url":"http://foobar.com"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - diff --git a/github/tests/ReplayData/Hook.testEditWithMinimalParameters.txt b/github/tests/ReplayData/Hook.testEditWithMinimalParameters.txt deleted file mode 100644 index 4981ee7..0000000 --- a/github/tests/ReplayData/Hook.testEditWithMinimalParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"config": {"url": "http://foobar.com/hook"}, "name": "web"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '303'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8628a600a78bd5171c9e8d23b1ec22de"'), ('date', 'Sat, 19 May 2012 05:08:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com/hook"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257993} - diff --git a/github/tests/ReplayData/Hook.testTest.txt b/github/tests/ReplayData/Hook.testTest.txt deleted file mode 100644 index 6f6e254..0000000 --- a/github/tests/ReplayData/Hook.testTest.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/hooks/257993/tests -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4980'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 06:04:06 GMT')] - - diff --git a/github/tests/ReplayData/Issue.setUp.txt b/github/tests/ReplayData/Issue.setUp.txt deleted file mode 100644 index 0fb7bf9..0000000 --- a/github/tests/ReplayData/Issue.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignees":[{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","login":"stuglaser","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","id":1527117}],"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} - diff --git a/github/tests/ReplayData/Issue.testAddAndRemoveAssignees.txt b/github/tests/ReplayData/Issue.testAddAndRemoveAssignees.txt deleted file mode 100644 index 286ecdf..0000000 --- a/github/tests/ReplayData/Issue.testAddAndRemoveAssignees.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/jzelinskie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"569c414d87e8ec43ec269a9e28bc2982"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie"} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/assignees -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignees":["jayfk","jzelinskie"]} -201 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignees":[{"login":"jacquev6","id": 327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146?v=3","gravatar_id":"","url":"https://api.github.com/users/jacquev6"},{"login":"stuglaser","id": 1527117,"avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","gravatar_id":"","url":"https://api.github.com/users/stuglaser"},{"login":"jayfk","id": 2930472,"avatar_url":"https://avatars.githubusercontent.com/u/2930472?v=3","gravatar_id":"","url":"https://api.github.com/users/jayfk"},{"login":"jzelinskie","id": 343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie"}],"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/assignees -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignees":["jayfk","jzelinskie"]} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignees":[{"login":"jacquev6","id": 327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146?v=3","gravatar_id":"","url":"https://api.github.com/users/jacquev6"},{"login":"stuglaser","id": 1527117,"avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","gravatar_id":"","url":"https://api.github.com/users/stuglaser"}],"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} - diff --git a/github/tests/ReplayData/Issue.testAddAndRemoveLabels.txt b/github/tests/ReplayData/Issue.testAddAndRemoveLabels.txt deleted file mode 100644 index bc62c78..0000000 --- a/github/tests/ReplayData/Issue.testAddAndRemoveLabels.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"569c414d87e8ec43ec269a9e28bc2982"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Question -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b659c8dcc1212c71f826547c3cc7ae99"'), ('date', 'Sun, 27 May 2012 09:04:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9f9beccb03030beaf7b80927da6fef6"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"46cc70bad88a09b559a5e67089005105"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"46cc70bad88a09b559a5e67089005105"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels/Question -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5352ae15c8a5a36c6cace63be9367332"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5352ae15c8a5a36c6cace63be9367332"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Bug", "Question"] -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9f9beccb03030beaf7b80927da6fef6"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Issue.testAddAndRemoveLabelsWithStringArguments.txt b/github/tests/ReplayData/Issue.testAddAndRemoveLabelsWithStringArguments.txt deleted file mode 100644 index 34bace8..0000000 --- a/github/tests/ReplayData/Issue.testAddAndRemoveLabelsWithStringArguments.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9f9beccb03030beaf7b80927da6fef6"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"46cc70bad88a09b559a5e67089005105"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"46cc70bad88a09b559a5e67089005105"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels/Question -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5352ae15c8a5a36c6cace63be9367332"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5352ae15c8a5a36c6cace63be9367332"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Bug", "Question"] -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9f9beccb03030beaf7b80927da6fef6"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Issue.testAttributes.txt b/github/tests/ReplayData/Issue.testAttributes.txt deleted file mode 100644 index 5347b68..0000000 --- a/github/tests/ReplayData/Issue.testAttributes.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"assignees":[{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","login":"stuglaser","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","id":1527117},{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}]} - diff --git a/github/tests/ReplayData/Issue.testCreateComment.txt b/github/tests/ReplayData/Issue.testCreateComment.txt deleted file mode 100644 index 894b75d..0000000 --- a/github/tests/ReplayData/Issue.testCreateComment.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4996'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"08cea7c821f6f3378e38921a9e7bc05e"'), ('date', 'Sun, 20 May 2012 11:46:43 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311')] -{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311} - diff --git a/github/tests/ReplayData/Issue.testDeleteAndSetLabels.txt b/github/tests/ReplayData/Issue.testDeleteAndSetLabels.txt deleted file mode 100644 index 9d0ec2a..0000000 --- a/github/tests/ReplayData/Issue.testDeleteAndSetLabels.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sun, 27 May 2012 09:06:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Question -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"931e58d337b2290717303141eda89cd7"'), ('date', 'Sun, 27 May 2012 09:06:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Bug", "Question"] -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a56634d9c1050a88592ff55ed8adc62"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a56634d9c1050a88592ff55ed8adc62"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Issue.testDeleteAndSetLabelsWithStringArguments.txt b/github/tests/ReplayData/Issue.testDeleteAndSetLabelsWithStringArguments.txt deleted file mode 100755 index f020144..0000000 --- a/github/tests/ReplayData/Issue.testDeleteAndSetLabelsWithStringArguments.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d135d74d2ea2159d044676a220d41d3a"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Bug", "Question"] -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a56634d9c1050a88592ff55ed8adc62"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a56634d9c1050a88592ff55ed8adc62"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Issue.testEditResetAssignee.txt b/github/tests/ReplayData/Issue.testEditResetAssignee.txt deleted file mode 100644 index 48825f6..0000000 --- a/github/tests/ReplayData/Issue.testEditResetAssignee.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignee": ""} -200 -[('status', '200 OK'), ('content-length', '1853'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4980'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"6947b498e9fd9f792130d6c80982b949"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 11 Sep 2012 18:47:24 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"body":"Body edited by PyGithub","closed_at":"2012-05-26T14:59:33Z","milestone":{"due_on":"2012-03-13T07:00:00Z","description":"","created_at":"2012-03-08T12:22:10Z","closed_issues":3,"title":"Version 0.4","open_issues":0,"state":"closed","creator":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"number":1,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","id":93546},"labels":[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"02e10c","name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question"}],"user":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"pull_request":{"html_url":null,"patch_url":null,"diff_url":null},"created_at":"2012-05-19T10:38:23Z","comments":0,"closed_by":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"title":"Issue created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/issues/28","assignee":null,"state":"closed","number":28,"updated_at":"2012-09-11T18:47:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757} - diff --git a/github/tests/ReplayData/Issue.testEditResetMilestone.txt b/github/tests/ReplayData/Issue.testEditResetMilestone.txt deleted file mode 100644 index f89550a..0000000 --- a/github/tests/ReplayData/Issue.testEditResetMilestone.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"milestone": ""} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('content-length', '1296'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"71423b9f379e4978b85005a6dc6820ed"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 11 Sep 2012 18:48:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"body":"Body edited by PyGithub","closed_at":"2012-05-26T14:59:33Z","milestone":null,"labels":[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"02e10c","name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question"}],"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"created_at":"2012-05-19T10:38:23Z","comments":0,"closed_by":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"title":"Issue created by PyGithub","assignee":null,"state":"closed","number":28,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","updated_at":"2012-09-11T18:48:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757} - diff --git a/github/tests/ReplayData/Issue.testEditWithAllParameters.txt b/github/tests/ReplayData/Issue.testEditWithAllParameters.txt deleted file mode 100644 index b9df878..0000000 --- a/github/tests/ReplayData/Issue.testEditWithAllParameters.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"62c7a8cbbce2a245818e460643df01ea"'), ('date', 'Fri, 01 Jun 2012 18:53:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":3,"type":"User","total_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","private_gists":5,"collaborators":0,"email":"vincent@vincent-jacques.net","owned_private_repos":5,"public_repos":10,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","url":"https://api.github.com/users/jacquev6","following":24,"blog":"http://vincent-jacques.net","disk_usage":16900,"name":"Vincent Jacques","hireable":false,"followers":13,"html_url":"https://github.com/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"plan":{"collaborators":1,"private_repos":5,"space":614400,"name":"micro"},"bio":""} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '899'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3a7652875cbbfe2a93b7307ab7a3deac"'), ('date', 'Fri, 01 Jun 2012 18:53:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":6,"number":2,"id":93547} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Body edited by PyGithub", "title": "Title edited by PyGithub", "labels": ["Bug"], "assignee": "jacquev6", "assignees": ["jacquev6", "stuglaser"], "state": "open", "milestone": 2} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '2034'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"98bbbf2b2187bf5cdd9aead53ecc2b97"'), ('date', 'Sat, 19 May 2012 10:42:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"assignees":[{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","login":"stuglaser","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","id":1527117}],"updated_at":"2012-05-19T10:42:25Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Title edited by PyGithub","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}} - diff --git a/github/tests/ReplayData/Issue.testEditWithoutParameters.txt b/github/tests/ReplayData/Issue.testEditWithoutParameters.txt deleted file mode 100644 index baef093..0000000 --- a/github/tests/ReplayData/Issue.testEditWithoutParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"771af112ee4f9ad5858f5c9b5141b319"'), ('date', 'Sat, 19 May 2012 10:41:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":null,"updated_at":"2012-05-19T10:38:23Z","body":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Issue created by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"closed_at":null,"labels":[],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"milestone":null} - diff --git a/github/tests/ReplayData/Issue.testGetComments.txt b/github/tests/ReplayData/Issue.testGetComments.txt deleted file mode 100644 index f23b545..0000000 --- a/github/tests/ReplayData/Issue.testGetComments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}] - diff --git a/github/tests/ReplayData/Issue.testGetCommentsSince.txt b/github/tests/ReplayData/Issue.testGetCommentsSince.txt deleted file mode 100644 index b665ea7..0000000 --- a/github/tests/ReplayData/Issue.testGetCommentsSince.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/comments?since=2012-05-26T13%3A59%3A33Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}] diff --git a/github/tests/ReplayData/Issue.testGetEvents.txt b/github/tests/ReplayData/Issue.testGetEvents.txt deleted file mode 100644 index e3e27f2..0000000 --- a/github/tests/ReplayData/Issue.testGetEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c22776de31a71795b5374ee3c61f51bd"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}] - diff --git a/github/tests/ReplayData/Issue.testGetLabels.txt b/github/tests/ReplayData/Issue.testGetLabels.txt deleted file mode 100644 index 054f4c6..0000000 --- a/github/tests/ReplayData/Issue.testGetLabels.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9f9beccb03030beaf7b80927da6fef6"'), ('date', 'Sun, 27 May 2012 08:56:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Issue131.setUp.txt b/github/tests/ReplayData/Issue131.setUp.txt deleted file mode 100644 index e8e002e..0000000 --- a/github/tests/ReplayData/Issue131.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/openmicroscopy -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '880'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4970'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 23 Jan 2013 08:05:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27fbbede10fb63fbf5865a0ebfe59d0c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 03 Feb 2013 16:46:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","company":null,"url":"https://api.github.com/orgs/openmicroscopy","events_url":"https://api.github.com/orgs/openmicroscopy/events","login":"openmicroscopy","public_gists":0,"updated_at":"2013-01-23T08:05:19Z","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","blog":"http://www.openmicroscopy.org/","html_url":"https://github.com/openmicroscopy","followers":0,"following":0,"created_at":"2011-08-12T10:59:08Z","members_url":"https://api.github.com/orgs/openmicroscopy/members{/member}","public_repos":9,"location":null,"name":"Open Microscopy Environment","public_members_url":"https://api.github.com/orgs/openmicroscopy/public_members{/member}","id":975861,"email":null,"repos_url":"https://api.github.com/orgs/openmicroscopy/repos"} - -https -GET -api.github.com -None -/repos/openmicroscopy/ome-documentation -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '6339'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4969'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 01 Feb 2013 11:04:39 GMT'), ('connection', 'keep-alive'), ('etag', '"4515ca61239f4659ce223447eca194ec"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 03 Feb 2013 16:46:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"id":3198415,"fork":false,"statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks","created_at":"2012-01-17T10:20:53Z","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","permissions":{"push":false,"pull":true,"admin":false},"watchers_count":9,"collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","has_wiki":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","language":"Python","description":"Sphinx-based documentation for the Open Microscopy Environment ","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers":9,"assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","has_issues":true,"git_url":"git://github.com/openmicroscopy/ome-documentation.git","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","updated_at":"2013-02-01T11:04:39Z","open_issues":3,"master_branch":"develop","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","homepage":"http://openmicroscopy.org","git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","network_count":19,"issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","has_downloads":true,"pushed_at":"2013-02-01T11:04:38Z","private":false,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","forks":19,"name":"ome-documentation","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","forks_count":19,"commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","html_url":"https://github.com/openmicroscopy/ome-documentation","size":488,"archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","svn_url":"https://github.com/openmicroscopy/ome-documentation","default_branch":"develop","compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","open_issues_count":3,"teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","organization":{"type":"Organization","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","url":"https://api.github.com/users/openmicroscopy","login":"openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gravatar_id":"7424190904f55023bd16416af0fd799b","repos_url":"https://api.github.com/users/openmicroscopy/repos","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png"},"merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","full_name":"openmicroscopy/ome-documentation","owner":{"type":"Organization","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","url":"https://api.github.com/users/openmicroscopy","login":"openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gravatar_id":"7424190904f55023bd16416af0fd799b","repos_url":"https://api.github.com/users/openmicroscopy/repos","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png"},"comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}"} - diff --git a/github/tests/ReplayData/Issue131.testGetPullWithOrgHeadUser.txt b/github/tests/ReplayData/Issue131.testGetPullWithOrgHeadUser.txt deleted file mode 100644 index 57cb372..0000000 --- a/github/tests/ReplayData/Issue131.testGetPullWithOrgHeadUser.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openmicroscopy/ome-documentation/pulls/204 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '16076'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4971'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 31 Jan 2013 16:47:37 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"90a545a2bec87c31fff795c572a21ade"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sun, 03 Feb 2013 16:46:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"deletions":6,"title":"Add note about libjpeg for PIL","state":"closed","number":204,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204","head":{"user":{"type":"Organization","url":"https://api.github.com/users/imcf","avatar_url":"https://secure.gravatar.com/avatar/2e1c3dfd6e44c98d66556f9e454e7b99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"imcf","events_url":"https://api.github.com/users/imcf/events{/privacy}","organizations_url":"https://api.github.com/users/imcf/orgs","starred_url":"https://api.github.com/users/imcf/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/imcf/gists{/gist_id}","gravatar_id":"2e1c3dfd6e44c98d66556f9e454e7b99","repos_url":"https://api.github.com/users/imcf/repos","followers_url":"https://api.github.com/users/imcf/followers","id":2847663,"received_events_url":"https://api.github.com/users/imcf/received_events","subscriptions_url":"https://api.github.com/users/imcf/subscriptions","following_url":"https://api.github.com/users/imcf/following"},"label":"imcf:develop","repo":{"forks":0,"watchers_count":0,"compare_url":"https://api.github.com/repos/imcf/ome-documentation/compare/{base}...{head}","languages_url":"https://api.github.com/repos/imcf/ome-documentation/languages","git_refs_url":"https://api.github.com/repos/imcf/ome-documentation/git/refs{/sha}","url":"https://api.github.com/repos/imcf/ome-documentation","has_issues":false,"issues_url":"https://api.github.com/repos/imcf/ome-documentation/issues{/number}","contents_url":"https://api.github.com/repos/imcf/ome-documentation/contents/{+path}","commits_url":"https://api.github.com/repos/imcf/ome-documentation/commits{/sha}","issue_events_url":"https://api.github.com/repos/imcf/ome-documentation/issues/events{/number}","owner":{"type":"Organization","url":"https://api.github.com/users/imcf","avatar_url":"https://secure.gravatar.com/avatar/2e1c3dfd6e44c98d66556f9e454e7b99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"imcf","events_url":"https://api.github.com/users/imcf/events{/privacy}","organizations_url":"https://api.github.com/users/imcf/orgs","starred_url":"https://api.github.com/users/imcf/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/imcf/gists{/gist_id}","gravatar_id":"2e1c3dfd6e44c98d66556f9e454e7b99","repos_url":"https://api.github.com/users/imcf/repos","followers_url":"https://api.github.com/users/imcf/followers","id":2847663,"received_events_url":"https://api.github.com/users/imcf/received_events","subscriptions_url":"https://api.github.com/users/imcf/subscriptions","following_url":"https://api.github.com/users/imcf/following"},"default_branch":"develop","open_issues":0,"updated_at":"2013-01-14T15:20:58Z","svn_url":"https://github.com/imcf/ome-documentation","mirror_url":null,"milestones_url":"https://api.github.com/repos/imcf/ome-documentation/milestones{/number}","stargazers_url":"https://api.github.com/repos/imcf/ome-documentation/stargazers","trees_url":"https://api.github.com/repos/imcf/ome-documentation/git/trees{/sha}","events_url":"https://api.github.com/repos/imcf/ome-documentation/events","forks_url":"https://api.github.com/repos/imcf/ome-documentation/forks","notifications_url":"https://api.github.com/repos/imcf/ome-documentation/notifications{?since,all,participating}","merges_url":"https://api.github.com/repos/imcf/ome-documentation/merges","contributors_url":"https://api.github.com/repos/imcf/ome-documentation/contributors","assignees_url":"https://api.github.com/repos/imcf/ome-documentation/assignees{/user}","full_name":"imcf/ome-documentation","ssh_url":"git@github.com:imcf/ome-documentation.git","issue_comment_url":"https://api.github.com/repos/imcf/ome-documentation/issues/comments/{number}","statuses_url":"https://api.github.com/repos/imcf/ome-documentation/statuses/{sha}","homepage":"http://openmicroscopy.org","archive_url":"https://api.github.com/repos/imcf/ome-documentation/{archive_format}{/ref}","branches_url":"https://api.github.com/repos/imcf/ome-documentation/branches{/branch}","watchers":0,"created_at":"2013-01-10T15:32:44Z","has_downloads":true,"open_issues_count":0,"labels_url":"https://api.github.com/repos/imcf/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/imcf/ome-documentation/downloads","comments_url":"https://api.github.com/repos/imcf/ome-documentation/comments{/number}","subscribers_url":"https://api.github.com/repos/imcf/ome-documentation/subscribers","collaborators_url":"https://api.github.com/repos/imcf/ome-documentation/collaborators{/collaborator}","keys_url":"https://api.github.com/repos/imcf/ome-documentation/keys{/key_id}","size":128,"pulls_url":"https://api.github.com/repos/imcf/ome-documentation/pulls{/number}","blobs_url":"https://api.github.com/repos/imcf/ome-documentation/git/blobs{/sha}","tags_url":"https://api.github.com/repos/imcf/ome-documentation/tags{/tag}","fork":true,"html_url":"https://github.com/imcf/ome-documentation","clone_url":"https://github.com/imcf/ome-documentation.git","subscription_url":"https://api.github.com/repos/imcf/ome-documentation/subscription","teams_url":"https://api.github.com/repos/imcf/ome-documentation/teams","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","git_url":"git://github.com/imcf/ome-documentation.git","language":"Python","git_tags_url":"https://api.github.com/repos/imcf/ome-documentation/git/tags{/sha}","private":false,"id":7543421,"master_branch":"develop","pushed_at":"2013-01-10T16:04:23Z","has_wiki":true,"forks_count":0,"git_commits_url":"https://api.github.com/repos/imcf/ome-documentation/git/commits{/sha}","hooks_url":"https://api.github.com/repos/imcf/ome-documentation/hooks"},"sha":"e37990a177fbb47a481663e79015d1862d84e20c","ref":"develop"},"commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/204/commits","_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/204"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204/comments"}},"assignee":null,"updated_at":"2013-01-14T15:20:58Z","mergeable_state":"unknown","comments":3,"commits":1,"changed_files":1,"closed_at":"2013-01-14T15:20:58Z","user":{"type":"User","url":"https://api.github.com/users/ehrenfeu","avatar_url":"https://secure.gravatar.com/avatar/d78ee38089403f67735ddbdc80b69745?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ehrenfeu","events_url":"https://api.github.com/users/ehrenfeu/events{/privacy}","organizations_url":"https://api.github.com/users/ehrenfeu/orgs","starred_url":"https://api.github.com/users/ehrenfeu/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/ehrenfeu/gists{/gist_id}","gravatar_id":"d78ee38089403f67735ddbdc80b69745","repos_url":"https://api.github.com/users/ehrenfeu/repos","followers_url":"https://api.github.com/users/ehrenfeu/followers","id":697157,"received_events_url":"https://api.github.com/users/ehrenfeu/received_events","subscriptions_url":"https://api.github.com/users/ehrenfeu/subscriptions","following_url":"https://api.github.com/users/ehrenfeu/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/204","additions":8,"merged_at":"2013-01-14T15:20:58Z","review_comments":0,"comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204/comments","merge_commit_sha":"d6d517c48187befdfdd1dc6784542d0976433ddd","created_at":"2013-01-10T16:20:56Z","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/204.diff","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/204","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/204/comments","merged_by":{"type":"User","url":"https://api.github.com/users/joshmoore","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","repos_url":"https://api.github.com/users/joshmoore/repos","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"received_events_url":"https://api.github.com/users/joshmoore/received_events","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"milestone":null,"body":"If `libjpeg` is not installed while building PIL the JPEG support for some of the python scripts is missing (e.g. the \"Split View\" from the Figure scripts will fail).\r\n\r\nThe windows documentation probably doesn't need to be updated since PIL is provided as a binary distribution for that platform (and hopefully comes with JPEG support).","id":3623392,"merged":true,"mergeable":null,"base":{"user":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","repos_url":"https://api.github.com/users/openmicroscopy/repos","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"received_events_url":"https://api.github.com/users/openmicroscopy/received_events","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"label":"openmicroscopy:develop","repo":{"forks":19,"watchers_count":9,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_issues":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","repos_url":"https://api.github.com/users/openmicroscopy/repos","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"received_events_url":"https://api.github.com/users/openmicroscopy/received_events","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"default_branch":"develop","open_issues":3,"updated_at":"2013-02-01T11:04:39Z","svn_url":"https://github.com/openmicroscopy/ome-documentation","mirror_url":null,"milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","homepage":"http://openmicroscopy.org","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","watchers":9,"created_at":"2012-01-17T10:20:53Z","has_downloads":true,"open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","git_url":"git://github.com/openmicroscopy/ome-documentation.git","language":"Python","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","private":false,"id":3198415,"master_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_wiki":true,"forks_count":19,"git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks"},"sha":"66b416256fd3333771b9722582e2801df96c4a99","ref":"develop"},"review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/204.patch"} - diff --git a/github/tests/ReplayData/Issue131.testGetPullsWithOrgHeadUser.txt b/github/tests/ReplayData/Issue131.testGetPullsWithOrgHeadUser.txt deleted file mode 100644 index d2036e7..0000000 --- a/github/tests/ReplayData/Issue131.testGetPullsWithOrgHeadUser.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openmicroscopy/ome-documentation/pulls?state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '424635'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 02 Feb 2013 21:21:49 GMT'), ('connection', 'keep-alive'), ('etag', '"a91db68d9aa99fb306c666e1363ab50c"'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 03 Feb 2013 16:46:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/234/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/234"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/234"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/234"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/234/comments"}},"title":"Homebrew installation command","state":"closed","number":234,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/234","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:homebrew_install_cmd","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"4c2b874e9e20667d610b71454551e0807013f2b4","ref":"homebrew_install_cmd"},"assignee":null,"updated_at":"2013-02-01T11:04:37Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/234/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/234/commits","closed_at":"2013-02-01T11:04:37Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/234","merged_at":"2013-02-01T11:04:37Z","merge_commit_sha":"3e6f47a1eb8615aa62fcfc9766802508c44d094b","created_at":"2013-01-31T09:30:56Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/234/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/234.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/234","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"Main goal of this PR is to fix the wrong Homebrew installation command (thanks @stick for noticing it) - see commit 4c2b874.\r\n\r\nAdded a number of commits fixing redirected links (see [linkcheck output](http://hudson.openmicroscopy.org.uk/job/OMERO-docs-merge-stable/ws/_build/linkcheck/output.txt) ). Linkcheck should still pass, hyperlinks should be unchanged and the size of output.txt reduced.","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/234.diff","id":3923290,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"982b9089c180f4c27c461d7258a8f40036d0721e","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/233/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/233"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/233"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/233"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/233/comments"}},"title":"Virtualjob extlink (rebased onto develop)","state":"closed","number":233,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/233","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:rebased/develop/virtualjob_extlink","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"1963ddb2b0e4650ec5859d40103e052e1471b2e1","ref":"rebased/develop/virtualjob_extlink"},"assignee":null,"updated_at":"2013-01-28T20:36:45Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/233/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/233/commits","closed_at":"2013-01-28T20:36:44Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/233","merged_at":"2013-01-28T20:36:44Z","merge_commit_sha":"eb33f32f962ebb8ea76d0b77d90543b8bdf31d84","created_at":"2013-01-25T10:44:40Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/233/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/233.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/233","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-229 but rebased onto develop.\n\n----\n\nThis PR should fix the link to the latest succesful `.ova` file in the virtual appliance documentation.\r\n\r\nAt the current HEAD of this branch, I have\r\n```\r\nsbesson:sphinx sebastien$ git grep -E \"\\-trunk\"\r\nREADME.rst:By default, the OMERO job is set to ``OMERO-trunk``. To specify a different \r\nconf.py: jenkins_job = 'OMERO-trunk'\r\ndevelopers/Cpp.txt:- :jenkins:`Windows Server 2003 (32 bit) `\r\ndevelopers/Cpp.txt:- :jenkins:`Linux `\r\ndevelopers/Cpp.txt:- :jenkins:`MacOSX `\r\ndevelopers/continuous-integration.txt: * :term:`OMERO-trunk`\r\ndevelopers/continuous-integration.txt: * :term:`BIOFORMATS-trunk`\r\ndevelopers/continuous-integration.txt: :jenkinsjob:`BIOFORMATS-trunk`\r\ndevelopers/continuous-integration.txt: :jenkinsjob:`OMERO-trunk`\r\ndevelopers/release-process.txt: - See: :jenkins:`job/OMERO-trunk-components`.\r\ndevelopers/release-process.txt:- Rename \"\\*-trunk\" jenkins jobs to \"\\*-\"\r\n```\r\n\r\nAll the `*-trunk` links present in the developers/continuous-integration.txt page are expected. The only leftovers are the `OMERO-trunk-components` links. Once this job is green again and copied on to the stable branch, I will implement the same strategy as the one in this PR and create a `componentsjob` alias.\r\n\r\n/cc @joshmoore, @hflynn\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/233.diff","id":3837341,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"0376ea24dedc227a6ef76da4cb5978c431aadfee","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/232/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/232"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/232"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/232"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/232/comments"}},"title":"Remove extra spaces on build system links.","state":"closed","number":232,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/232","head":{"user":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"label":"mtbc:small-typos-dev","repo":{"forks":0,"svn_url":"https://github.com/mtbc/ome-documentation","merges_url":"https://api.github.com/repos/mtbc/ome-documentation/merges","languages_url":"https://api.github.com/repos/mtbc/ome-documentation/languages","assignees_url":"https://api.github.com/repos/mtbc/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/mtbc/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/mtbc/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/mtbc/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"open_issues":0,"updated_at":"2013-01-29T21:32:59Z","milestones_url":"https://api.github.com/repos/mtbc/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/mtbc/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/mtbc/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/mtbc/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/mtbc/ome-documentation/events","notifications_url":"https://api.github.com/repos/mtbc/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/mtbc/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/mtbc/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/mtbc/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/mtbc/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/mtbc/ome-documentation/collaborators{/collaborator}","full_name":"mtbc/ome-documentation","ssh_url":"git@github.com:mtbc/ome-documentation.git","pulls_url":"https://api.github.com/repos/mtbc/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/mtbc/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/mtbc/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/mtbc/ome-documentation/subscription","teams_url":"https://api.github.com/repos/mtbc/ome-documentation/teams","watchers":0,"created_at":"2012-10-23T10:27:15Z","git_url":"git://github.com/mtbc/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/mtbc/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/mtbc/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/mtbc/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/mtbc/ome-documentation/keys{/key_id}","size":268,"compare_url":"https://api.github.com/repos/mtbc/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/mtbc/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/mtbc/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/mtbc/ome-documentation/hooks","fork":true,"html_url":"https://github.com/mtbc/ome-documentation","master_branch":"develop","clone_url":"https://github.com/mtbc/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/mtbc/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/mtbc/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/mtbc/ome-documentation/issues/events{/number}","private":false,"id":6350485,"default_branch":"develop","pushed_at":"2013-01-29T08:26:06Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/mtbc/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/mtbc/ome-documentation/forks"},"sha":"3809650dde2f205226bab426f2a57e3727c4fe87","ref":"small-typos-dev"},"assignee":null,"updated_at":"2013-01-29T21:32:59Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/232/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/232/commits","closed_at":"2013-01-29T21:32:59Z","user":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/232","merged_at":"2013-01-29T21:32:59Z","merge_commit_sha":"2d3d61714b3bed58d0de65ea5d5eb5a4ee73e70b","created_at":"2013-01-24T17:09:14Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/232/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/232.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/232","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"Rebase of https://github.com/openmicroscopy/ome-documentation/pull/230 from dev_4_4 to develop.","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/232.diff","id":3823956,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"c91ecbb2eaae790ff37d5ba42bd87f34f183c51c","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/231/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/231"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/231"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/231"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/231/comments"}},"title":"Migrate the VM installation instructions to the Sphinx documentation","state":"closed","number":231,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/231","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:VM_install","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"f6550a0ef34121b7a5912cc98928964c645111aa","ref":"VM_install"},"assignee":null,"updated_at":"2013-02-02T21:21:49Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/231/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/231/commits","closed_at":"2013-02-02T21:21:49Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/231","merged_at":null,"merge_commit_sha":"8fe6d48e138e75b1ff353bfc5fec9477faa18f21","created_at":"2013-01-24T13:41:44Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/231/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/231.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/231","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"This PR moves the instructions located under docs/install/VM/README.txt in the main openmicroscopy repository to the documentation.","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/231.diff","id":3820054,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"18ba8058a525f1e3c5bedf3c46b459e3e2b6e76a","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/230/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/230"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/230"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/230"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/230/comments"}},"title":"Remove extra spaces on build system links.","state":"closed","number":230,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/230","head":{"user":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"label":"mtbc:small-typos","repo":{"forks":0,"svn_url":"https://github.com/mtbc/ome-documentation","merges_url":"https://api.github.com/repos/mtbc/ome-documentation/merges","languages_url":"https://api.github.com/repos/mtbc/ome-documentation/languages","assignees_url":"https://api.github.com/repos/mtbc/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/mtbc/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/mtbc/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/mtbc/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"open_issues":0,"updated_at":"2013-01-29T21:32:59Z","milestones_url":"https://api.github.com/repos/mtbc/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/mtbc/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/mtbc/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/mtbc/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/mtbc/ome-documentation/events","notifications_url":"https://api.github.com/repos/mtbc/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/mtbc/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/mtbc/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/mtbc/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/mtbc/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/mtbc/ome-documentation/collaborators{/collaborator}","full_name":"mtbc/ome-documentation","ssh_url":"git@github.com:mtbc/ome-documentation.git","pulls_url":"https://api.github.com/repos/mtbc/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/mtbc/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/mtbc/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/mtbc/ome-documentation/subscription","teams_url":"https://api.github.com/repos/mtbc/ome-documentation/teams","watchers":0,"created_at":"2012-10-23T10:27:15Z","git_url":"git://github.com/mtbc/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/mtbc/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/mtbc/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/mtbc/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/mtbc/ome-documentation/keys{/key_id}","size":268,"compare_url":"https://api.github.com/repos/mtbc/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/mtbc/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/mtbc/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/mtbc/ome-documentation/hooks","fork":true,"html_url":"https://github.com/mtbc/ome-documentation","master_branch":"develop","clone_url":"https://github.com/mtbc/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/mtbc/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/mtbc/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/mtbc/ome-documentation/issues/events{/number}","private":false,"id":6350485,"default_branch":"develop","pushed_at":"2013-01-29T08:26:06Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/mtbc/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/mtbc/ome-documentation/forks"},"sha":"442139924e1bcae862a8270da9c8e25efca8cbfa","ref":"small-typos"},"assignee":null,"updated_at":"2013-01-25T08:03:06Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/230/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/230/commits","closed_at":"2013-01-25T08:03:06Z","user":{"type":"User","url":"https://api.github.com/users/mtbc","received_events_url":"https://api.github.com/users/mtbc/received_events","login":"mtbc","events_url":"https://api.github.com/users/mtbc/events{/privacy}","organizations_url":"https://api.github.com/users/mtbc/orgs","avatar_url":"https://secure.gravatar.com/avatar/dd3abf4ce82fd7321089540d5ff28796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/mtbc/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/mtbc/gists{/gist_id}","gravatar_id":"dd3abf4ce82fd7321089540d5ff28796","followers_url":"https://api.github.com/users/mtbc/followers","id":2630707,"repos_url":"https://api.github.com/users/mtbc/repos","subscriptions_url":"https://api.github.com/users/mtbc/subscriptions","following_url":"https://api.github.com/users/mtbc/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/230","merged_at":"2013-01-25T08:03:06Z","merge_commit_sha":"db2aea0141d33dfbf61fdec4e917a9cdb3a9c3b6","created_at":"2013-01-24T11:24:26Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/230/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/230.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/230","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"I noticed some leading spaces in hyperlinks. They seem to work fine without.","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/230.diff","id":3818348,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1a5500adbd66f9c5c30b070bd5503b174478d02d","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/229/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/229"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/229"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/229"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/229/comments"}},"title":"Virtualjob extlink","state":"closed","number":229,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/229","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:virtualjob_extlink","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"61139ce688bda4c5abb750e684c1dd57e7209632","ref":"virtualjob_extlink"},"assignee":null,"updated_at":"2013-01-25T13:17:57Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/229/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/229/commits","closed_at":"2013-01-25T13:17:57Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/229","merged_at":"2013-01-25T13:17:57Z","merge_commit_sha":"98a269b52af13e6aa9e32dbdd69655dc7bc82d09","created_at":"2013-01-24T11:00:01Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/229/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/229.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/229","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"This PR should fix the link to the latest succesful `.ova` file in the virtual appliance documentation.\r\n\r\nAt the current HEAD of this branch, I have\r\n```\r\nsbesson:sphinx sebastien$ git grep -E \"\\-trunk\"\r\nREADME.rst:By default, the OMERO job is set to ``OMERO-trunk``. To specify a different \r\nconf.py: jenkins_job = 'OMERO-trunk'\r\ndevelopers/Cpp.txt:- :jenkins:`Windows Server 2003 (32 bit) `\r\ndevelopers/Cpp.txt:- :jenkins:`Linux `\r\ndevelopers/Cpp.txt:- :jenkins:`MacOSX `\r\ndevelopers/continuous-integration.txt: * :term:`OMERO-trunk`\r\ndevelopers/continuous-integration.txt: * :term:`BIOFORMATS-trunk`\r\ndevelopers/continuous-integration.txt: :jenkinsjob:`BIOFORMATS-trunk`\r\ndevelopers/continuous-integration.txt: :jenkinsjob:`OMERO-trunk`\r\ndevelopers/release-process.txt: - See: :jenkins:`job/OMERO-trunk-components`.\r\ndevelopers/release-process.txt:- Rename \"\\*-trunk\" jenkins jobs to \"\\*-\"\r\n```\r\n\r\nAll the `*-trunk` links present in the developers/continuous-integration.txt page are expected. The only leftovers are the `OMERO-trunk-components` links. Once this job is green again and copied on to the stable branch, I will implement the same strategy as the one in this PR and create a `componentsjob` alias.\r\n\r\n/cc @joshmoore, @hflynn","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/229.diff","id":3818035,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1a5500adbd66f9c5c30b070bd5503b174478d02d","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/228/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/228"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/228"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/228"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/228/comments"}},"title":"\"Contributing to OMERO\" developer doc rework (rebased onto develop)","state":"closed","number":228,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/228","head":{"user":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"label":"joshmoore:rebased/develop/contrib-section","repo":{"forks":0,"svn_url":"https://github.com/joshmoore/ome-documentation","merges_url":"https://api.github.com/repos/joshmoore/ome-documentation/merges","languages_url":"https://api.github.com/repos/joshmoore/ome-documentation/languages","assignees_url":"https://api.github.com/repos/joshmoore/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/joshmoore/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/joshmoore/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"open_issues":0,"updated_at":"2013-02-01T11:33:14Z","milestones_url":"https://api.github.com/repos/joshmoore/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/joshmoore/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/joshmoore/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/joshmoore/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/joshmoore/ome-documentation/events","notifications_url":"https://api.github.com/repos/joshmoore/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/joshmoore/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/joshmoore/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/joshmoore/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/joshmoore/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/joshmoore/ome-documentation/collaborators{/collaborator}","full_name":"joshmoore/ome-documentation","ssh_url":"git@github.com:joshmoore/ome-documentation.git","pulls_url":"https://api.github.com/repos/joshmoore/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/joshmoore/ome-documentation/subscription","teams_url":"https://api.github.com/repos/joshmoore/ome-documentation/teams","watchers":1,"created_at":"2012-03-01T09:53:37Z","git_url":"git://github.com/joshmoore/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/joshmoore/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/joshmoore/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/joshmoore/ome-documentation/keys{/key_id}","size":780,"compare_url":"https://api.github.com/repos/joshmoore/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/joshmoore/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/joshmoore/ome-documentation/hooks","fork":true,"html_url":"https://github.com/joshmoore/ome-documentation","clone_url":"https://github.com/joshmoore/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/joshmoore/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues/events{/number}","private":false,"id":3590779,"pushed_at":"2013-01-31T11:56:02Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/joshmoore/ome-documentation/forks"},"sha":"abe9ddd7585c52729d574c24f638c65b50cd354d","ref":"rebased/develop/contrib-section"},"assignee":null,"updated_at":"2013-01-25T08:02:32Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/228/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/228/commits","closed_at":"2013-01-25T08:02:32Z","user":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/228","merged_at":"2013-01-25T08:02:32Z","merge_commit_sha":"1234d0f831c2d19f713b8e30c14b904cace7b6d9","created_at":"2013-01-24T08:25:41Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/228/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/228.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/228","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-222 but rebased onto develop.\n\n----\n\n\r\n * Rename files to follow abc-xyz.txt standard\r\n * Reduce the number of individual files\r\n * Improve the order of files for external developers\r\n * Improve the order of sections in some files\r\n * Drop UsingGitFlow\r\n\r\nLooking at developers/index.txt and developers/contributing.txt\r\nit's still not completely clear 1) that a developer should REALLY\r\nread the \"contributing\" section, nor 2) once they've opened up\r\ncontributing.txt which sections are highly important.\r\n\r\nNB: very little has been done in the way of optimizing the PDF\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/228.diff","id":3816200,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"281ddcc74b87247095f05e494f70efd28ee87785","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/226/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/226"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/226"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/226"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/226/comments"}},"title":"Jenkins stable renaming (rebased onto develop)","state":"closed","number":226,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/226","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:rebased/develop/jenkins_stable_renaming","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"fbd464819ba9647fe0254d17c7486ff9f6846831","ref":"rebased/develop/jenkins_stable_renaming"},"assignee":null,"updated_at":"2013-01-24T11:30:27Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/226/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/226/commits","closed_at":"2013-01-24T11:30:27Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/226","merged_at":"2013-01-24T11:30:26Z","merge_commit_sha":"52db421dde8528dc7396473c98d351e0b0175951","created_at":"2013-01-23T21:11:40Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/226/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/226.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/226","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-225 but rebased onto develop.\n\n----\n\n\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/226.diff","id":3808825,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1ee47d5123ed947f97d6dce8385883e45549e4f0","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/225/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/225"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/225"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/225"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/225/comments"}},"title":"Jenkins stable renaming","state":"closed","number":225,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/225","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:jenkins_stable_renaming","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"9b5531c3840a85b3244105a4fc975b9334a8a155","ref":"jenkins_stable_renaming"},"assignee":null,"updated_at":"2013-01-24T11:32:24Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/225/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/225/commits","closed_at":"2013-01-24T11:32:24Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/225","merged_at":"2013-01-24T11:32:24Z","merge_commit_sha":"be00fe43dd7f26651f9ebe49f639a4174c5217a3","created_at":"2013-01-23T13:03:39Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/225/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/225.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/225","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/225.diff","id":3799374,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1a5500adbd66f9c5c30b070bd5503b174478d02d","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/223/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/223"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/223"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/223"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/223/comments"}},"title":"Editing developer intro pages (rebased onto develop)","state":"closed","number":223,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/223","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:rebased/develop/10212-fix","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"87ad0799b37d69a7f04c80fd10ba323f49dc3b05","ref":"rebased/develop/10212-fix"},"assignee":null,"updated_at":"2013-01-24T08:22:54Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/223/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/223/commits","closed_at":"2013-01-24T08:22:54Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/223","merged_at":"2013-01-24T08:22:54Z","merge_commit_sha":"ae956e43674d9ffdaff44c112a7de63c4b70d7b5","created_at":"2013-01-23T10:21:17Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/223/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/223.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/223","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-219 but rebased onto develop.\n\n----\n\nSee tickets 10212 & 10199 \n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/223.diff","id":3797215,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1ee47d5123ed947f97d6dce8385883e45549e4f0","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/222/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/222"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/222"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/222"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/222/comments"}},"title":"\"Contributing to OMERO\" developer doc rework","state":"closed","number":222,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/222","head":{"user":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"label":"joshmoore:contrib-section","repo":{"forks":0,"svn_url":"https://github.com/joshmoore/ome-documentation","merges_url":"https://api.github.com/repos/joshmoore/ome-documentation/merges","languages_url":"https://api.github.com/repos/joshmoore/ome-documentation/languages","assignees_url":"https://api.github.com/repos/joshmoore/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/joshmoore/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/joshmoore/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"open_issues":0,"updated_at":"2013-02-01T11:33:14Z","milestones_url":"https://api.github.com/repos/joshmoore/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/joshmoore/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/joshmoore/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/joshmoore/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/joshmoore/ome-documentation/events","notifications_url":"https://api.github.com/repos/joshmoore/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/joshmoore/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/joshmoore/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/joshmoore/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/joshmoore/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/joshmoore/ome-documentation/collaborators{/collaborator}","full_name":"joshmoore/ome-documentation","ssh_url":"git@github.com:joshmoore/ome-documentation.git","pulls_url":"https://api.github.com/repos/joshmoore/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/joshmoore/ome-documentation/subscription","teams_url":"https://api.github.com/repos/joshmoore/ome-documentation/teams","watchers":1,"created_at":"2012-03-01T09:53:37Z","git_url":"git://github.com/joshmoore/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/joshmoore/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/joshmoore/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/joshmoore/ome-documentation/keys{/key_id}","size":780,"compare_url":"https://api.github.com/repos/joshmoore/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/joshmoore/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/joshmoore/ome-documentation/hooks","fork":true,"html_url":"https://github.com/joshmoore/ome-documentation","clone_url":"https://github.com/joshmoore/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/joshmoore/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/joshmoore/ome-documentation/issues/events{/number}","private":false,"id":3590779,"pushed_at":"2013-01-31T11:56:02Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/joshmoore/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/joshmoore/ome-documentation/forks"},"sha":"ae1269389be0d50832b996ed60dd2a471596bff7","ref":"contrib-section"},"assignee":null,"updated_at":"2013-01-23T11:22:23Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/222/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/222/commits","closed_at":"2013-01-23T11:09:39Z","user":{"type":"User","url":"https://api.github.com/users/joshmoore","received_events_url":"https://api.github.com/users/joshmoore/received_events","login":"joshmoore","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","organizations_url":"https://api.github.com/users/joshmoore/orgs","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","gravatar_id":"b9d1630a90131545c699075f73da092b","followers_url":"https://api.github.com/users/joshmoore/followers","id":88113,"repos_url":"https://api.github.com/users/joshmoore/repos","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","following_url":"https://api.github.com/users/joshmoore/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/222","merged_at":"2013-01-23T11:09:38Z","merge_commit_sha":"e33c326a3616d0cd16f6da980c8320e84eb1380a","created_at":"2013-01-21T10:29:38Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/222/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/222.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/222","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\r\n * Rename files to follow abc-xyz.txt standard\r\n * Reduce the number of individual files\r\n * Improve the order of files for external developers\r\n * Improve the order of sections in some files\r\n * Drop UsingGitFlow\r\n\r\nLooking at developers/index.txt and developers/contributing.txt\r\nit's still not completely clear 1) that a developer should REALLY\r\nread the \"contributing\" section, nor 2) once they've opened up\r\ncontributing.txt which sections are highly important.\r\n\r\nNB: very little has been done in the way of optimizing the PDF","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/222.diff","id":3760655,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"7be161a4ff322bd3741145a7d8fab53f34944e10","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/221/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/221"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/221"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/221"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/221/comments"}},"title":"Fixing ticket 10174 (rebased onto develop)","state":"closed","number":221,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/221","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:rebased/develop/10174-fix","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"8e4e5d0556408ac09504785b4e5a72e0e2433b0c","ref":"rebased/develop/10174-fix"},"assignee":null,"updated_at":"2013-01-23T09:49:35Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/221/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/221/commits","closed_at":"2013-01-23T09:03:06Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/221","merged_at":"2013-01-23T09:03:06Z","merge_commit_sha":"188beb24525eb3e00974dcb9dfb560f4d09b6b3b","created_at":"2013-01-21T10:02:23Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/221/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/221.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/221","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-212 but rebased onto develop.\n\n----\n\n\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/221.diff","id":3760344,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"136309257792c0f721d9eda8a6e64d6631c4fcc8","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/220/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/220"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/220"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/220"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/220/comments"}},"title":"Continuous integration (rebased onto develop)","state":"closed","number":220,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/220","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:rebased/develop/continuous_integration","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"432b6333c5411899f95537d3c89b75ecf165baa5","ref":"rebased/develop/continuous_integration"},"assignee":null,"updated_at":"2013-01-21T13:37:17Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/220/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/220/commits","closed_at":"2013-01-21T13:37:17Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/220","merged_at":"2013-01-21T13:37:17Z","merge_commit_sha":"f51f26057a5008b204554bb4e214d356825b92f1","created_at":"2013-01-18T17:27:26Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/220/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/220.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/220","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-196 but rebased onto develop.\n\n----\n\nThis PR converts the [Multiple development branch g.doc](https://docs.google.com/document/d/1LZkxRgzrfVcKttST2d1pNuViPXClb9ssD7Bvt1osRaQ/edit) into a proper Sphinx documentation page.\r\n\r\nObjectives of this document:\r\n- explain the dual development branch strategy\r\n- describe the main Jenkins jobs used for testing the current & next major release\r\n- introduce & describe some of the scc utility tools for managing branches & PRs\r\n\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/220.diff","id":3742302,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"136309257792c0f721d9eda8a6e64d6631c4fcc8","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/219/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/219"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/219"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/219"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/219/comments"}},"title":"Editing developer intro pages","state":"closed","number":219,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/219","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:10212-fix","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"da1e4f93f741fd561c26b904d87f1962f82b9762","ref":"10212-fix"},"assignee":null,"updated_at":"2013-01-22T18:17:14Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/219/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/219/commits","closed_at":"2013-01-22T18:17:14Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/219","merged_at":"2013-01-22T18:17:14Z","merge_commit_sha":"b975c011df85c43237f810b7c03472c37b1249d4","created_at":"2013-01-18T12:13:33Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/219/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/219.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/219","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"See tickets 10212 & 10199 ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/219.diff","id":3737282,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1843d7a435646ed07dd56821b5d9ba02105cd716","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/218/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/218"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/218"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/218"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/218/comments"}},"title":"Make the copyright date the current year (rebased onto develop)","state":"closed","number":218,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/218","head":{"user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"label":"bpindelski:rebased/develop/doc-date","repo":{"forks":1,"svn_url":"https://github.com/bpindelski/ome-documentation","merges_url":"https://api.github.com/repos/bpindelski/ome-documentation/merges","languages_url":"https://api.github.com/repos/bpindelski/ome-documentation/languages","assignees_url":"https://api.github.com/repos/bpindelski/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/bpindelski/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/bpindelski/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"open_issues":0,"updated_at":"2013-01-22T10:13:55Z","milestones_url":"https://api.github.com/repos/bpindelski/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/bpindelski/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/bpindelski/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/bpindelski/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/bpindelski/ome-documentation/events","notifications_url":"https://api.github.com/repos/bpindelski/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/bpindelski/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/bpindelski/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/bpindelski/ome-documentation/collaborators{/collaborator}","full_name":"bpindelski/ome-documentation","ssh_url":"git@github.com:bpindelski/ome-documentation.git","pulls_url":"https://api.github.com/repos/bpindelski/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":1,"subscription_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscription","teams_url":"https://api.github.com/repos/bpindelski/ome-documentation/teams","watchers":0,"created_at":"2012-08-14T09:55:03Z","git_url":"git://github.com/bpindelski/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/bpindelski/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/bpindelski/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/bpindelski/ome-documentation/keys{/key_id}","size":280,"compare_url":"https://api.github.com/repos/bpindelski/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/bpindelski/ome-documentation/hooks","fork":true,"html_url":"https://github.com/bpindelski/ome-documentation","clone_url":"https://github.com/bpindelski/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/bpindelski/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/events{/number}","private":false,"id":5411049,"pushed_at":"2013-01-22T10:13:53Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/bpindelski/ome-documentation/forks"},"sha":"f224736c38ee147e7ac6998c65abb801b0ca372c","ref":"rebased/develop/doc-date"},"assignee":null,"updated_at":"2013-01-21T22:24:16Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/218/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/218/commits","closed_at":"2013-01-21T22:24:16Z","user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/218","merged_at":"2013-01-21T22:24:16Z","merge_commit_sha":"5475fe1afba8be953a27ead4d6e77fd34ced6e48","created_at":"2013-01-18T09:09:27Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/218/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/218.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/218","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-215 but rebased onto develop.\n\n----\n\nAs @hflynn noticed, the date in the documentation footer was a static string. With this PR it'll be formatted to the current year in which the docs have been built (depending on the settings of the build system).\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/218.diff","id":3735194,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"dd7e4e54f700f8e7c1ddf4933bacf5d07016ac5b","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/217/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/217"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/217"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/217"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/217/comments"}},"title":"Replace lastSuccessfulBuild by lastBuild (rebased onto develop)","state":"closed","number":217,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/217","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:rebased/develop/jenkins_testing","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"da6d9e295c41764d7c743b4e7edd286a81262249","ref":"rebased/develop/jenkins_testing"},"assignee":null,"updated_at":"2013-01-18T12:14:04Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/217/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/217/commits","closed_at":"2013-01-18T12:14:04Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/217","merged_at":"2013-01-18T12:14:04Z","merge_commit_sha":"286311c7e778e5965ae34b06b06ba981073e6926","created_at":"2013-01-18T07:50:09Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/217/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/217.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/217","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-216 but rebased onto develop.\n\n----\n\n\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/217.diff","id":3734536,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"dd7e4e54f700f8e7c1ddf4933bacf5d07016ac5b","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/216/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/216"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/216"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/216"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/216/comments"}},"title":"Replace lastSuccessfulBuild by lastBuild","state":"closed","number":216,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/216","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:jenkins_testing","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"adcc80e6b418175aa1594dff143e9009e8e9bbd5","ref":"jenkins_testing"},"assignee":null,"updated_at":"2013-01-21T11:59:23Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/216/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/216/commits","closed_at":"2013-01-18T12:14:16Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/216","merged_at":"2013-01-18T12:14:16Z","merge_commit_sha":"d8ba7dc891c192be315161b817cca16406b7092c","created_at":"2013-01-18T07:49:40Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/216/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/216.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/216","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/216.diff","id":3734532,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"1843d7a435646ed07dd56821b5d9ba02105cd716","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/215/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/215"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/215"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/215"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/215/comments"}},"title":"Make the copyright date the current year","state":"closed","number":215,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/215","head":{"user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"label":"bpindelski:doc-date","repo":{"forks":1,"svn_url":"https://github.com/bpindelski/ome-documentation","merges_url":"https://api.github.com/repos/bpindelski/ome-documentation/merges","languages_url":"https://api.github.com/repos/bpindelski/ome-documentation/languages","assignees_url":"https://api.github.com/repos/bpindelski/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/bpindelski/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/bpindelski/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"open_issues":0,"updated_at":"2013-01-22T10:13:55Z","milestones_url":"https://api.github.com/repos/bpindelski/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/bpindelski/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/bpindelski/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/bpindelski/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/bpindelski/ome-documentation/events","notifications_url":"https://api.github.com/repos/bpindelski/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/bpindelski/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/bpindelski/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/bpindelski/ome-documentation/collaborators{/collaborator}","full_name":"bpindelski/ome-documentation","ssh_url":"git@github.com:bpindelski/ome-documentation.git","pulls_url":"https://api.github.com/repos/bpindelski/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":1,"subscription_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscription","teams_url":"https://api.github.com/repos/bpindelski/ome-documentation/teams","watchers":0,"created_at":"2012-08-14T09:55:03Z","git_url":"git://github.com/bpindelski/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/bpindelski/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/bpindelski/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/bpindelski/ome-documentation/keys{/key_id}","size":280,"compare_url":"https://api.github.com/repos/bpindelski/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/bpindelski/ome-documentation/hooks","fork":true,"html_url":"https://github.com/bpindelski/ome-documentation","clone_url":"https://github.com/bpindelski/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/bpindelski/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/events{/number}","private":false,"id":5411049,"pushed_at":"2013-01-22T10:13:53Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/bpindelski/ome-documentation/forks"},"sha":"9554b121b7e3866499f060b0fc4502a9e9beb6e2","ref":"doc-date"},"assignee":null,"updated_at":"2013-01-17T20:41:17Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/215/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/215/commits","closed_at":"2013-01-17T20:41:16Z","user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/215","merged_at":"2013-01-17T20:41:16Z","merge_commit_sha":"f2564d40dbb22e517a4044acc664c125b4f78316","created_at":"2013-01-17T15:25:59Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/215/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/215.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/215","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"As @hflynn noticed, the date in the documentation footer was a static string. With this PR it'll be formatted to the current year in which the docs have been built (depending on the settings of the build system).","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/215.diff","id":3721230,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"06d64f21d98da8a4eb8218a4c955edb88746c8e2","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/214/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/214"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/214"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/214"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/214/comments"}},"title":"Fixed forward declartion incomplete type error in c++ example code (rebased onto develop)","state":"closed","number":214,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/214","head":{"user":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"label":"jburel:rebased/develop/dev_4_4","repo":{"forks":0,"svn_url":"https://github.com/jburel/ome-documentation","merges_url":"https://api.github.com/repos/jburel/ome-documentation/merges","languages_url":"https://api.github.com/repos/jburel/ome-documentation/languages","assignees_url":"https://api.github.com/repos/jburel/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/jburel/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/jburel/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/jburel/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"open_issues":0,"updated_at":"2013-01-18T09:49:33Z","milestones_url":"https://api.github.com/repos/jburel/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/jburel/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/jburel/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/jburel/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/jburel/ome-documentation/events","notifications_url":"https://api.github.com/repos/jburel/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/jburel/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/jburel/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/jburel/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/jburel/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/jburel/ome-documentation/collaborators{/collaborator}","full_name":"jburel/ome-documentation","ssh_url":"git@github.com:jburel/ome-documentation.git","pulls_url":"https://api.github.com/repos/jburel/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/jburel/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/jburel/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/jburel/ome-documentation/subscription","teams_url":"https://api.github.com/repos/jburel/ome-documentation/teams","watchers":2,"created_at":"2012-01-17T14:12:05Z","git_url":"git://github.com/jburel/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/jburel/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/jburel/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/jburel/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/jburel/ome-documentation/keys{/key_id}","size":292,"compare_url":"https://api.github.com/repos/jburel/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/jburel/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/jburel/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/jburel/ome-documentation/hooks","fork":true,"html_url":"https://github.com/jburel/ome-documentation","clone_url":"https://github.com/jburel/ome-documentation.git","watchers_count":2,"git_refs_url":"https://api.github.com/repos/jburel/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":null,"contents_url":"https://api.github.com/repos/jburel/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/jburel/ome-documentation/issues/events{/number}","private":false,"id":3199804,"pushed_at":"2013-01-16T19:23:39Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/jburel/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/jburel/ome-documentation/forks"},"sha":"e4158a87a77b307142fad3eab48ddaecdd306216","ref":"rebased/develop/dev_4_4"},"assignee":null,"updated_at":"2013-01-18T09:49:33Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/214/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/214/commits","closed_at":"2013-01-17T08:44:43Z","user":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/214","merged_at":"2013-01-17T08:44:43Z","merge_commit_sha":"f2933c2d7c257bc54fe54c0d0921506faa7bae4b","created_at":"2013-01-16T19:24:22Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/214/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/214.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/214","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-206 but rebased onto develop.\n\n----\n\nCompiling the existing example code results in an incomplete type error as omero/client.h includes omero/ServicesF.h which forward declares IAdmin\r\n\r\nFix by including omero/api/IAdmin.h\r\n\r\n```\r\ng++ -c -o yourcode.o yourcode.cpp -I/home/dpwrussell/Ice/omero/OMERO.cpp-4.4.5-ice33-posix-gcc-4.6.3-64dbg/include -I/home/dpwrussell/Ice/home/Ice-3.3.1//include \r\nyourcode.cpp: In function ‘int main(int, char**)’:\r\nyourcode.cpp:30:18: error: invalid use of incomplete type ‘struct IceProxy::omero::api::IAdmin’\r\n/home/dpwrussell/Ice/omero/OMERO.cpp-4.4.5-ice33-posix-gcc-4.6.3-64dbg/include/omero/ServicesF.h:60:7: error: forward declaration of ‘struct IceProxy::omero::api::IAdmin’\r\nmake: *** [yourcode.o] Error 1\r\n```\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/214.diff","id":3706910,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"e38561d11128664793c359e81a32be0059a76088","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/213/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/213"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/213"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/213"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/213/comments"}},"title":"Tables documentation partial rewrite 9957 (rebased onto develop)","state":"closed","number":213,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/213","head":{"user":{"type":"User","url":"https://api.github.com/users/manics","received_events_url":"https://api.github.com/users/manics/received_events","login":"manics","events_url":"https://api.github.com/users/manics/events{/privacy}","organizations_url":"https://api.github.com/users/manics/orgs","avatar_url":"https://secure.gravatar.com/avatar/a840b00f848faf9c64699f092fc4c745?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/manics/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/manics/gists{/gist_id}","gravatar_id":"a840b00f848faf9c64699f092fc4c745","followers_url":"https://api.github.com/users/manics/followers","id":1644105,"repos_url":"https://api.github.com/users/manics/repos","subscriptions_url":"https://api.github.com/users/manics/subscriptions","following_url":"https://api.github.com/users/manics/following"},"label":"manics:rebased/develop/tables_arraycolumns_9957","repo":{"forks":0,"svn_url":"https://github.com/manics/ome-documentation","merges_url":"https://api.github.com/repos/manics/ome-documentation/merges","languages_url":"https://api.github.com/repos/manics/ome-documentation/languages","assignees_url":"https://api.github.com/repos/manics/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/manics/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/manics/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/manics/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/manics","received_events_url":"https://api.github.com/users/manics/received_events","login":"manics","events_url":"https://api.github.com/users/manics/events{/privacy}","organizations_url":"https://api.github.com/users/manics/orgs","avatar_url":"https://secure.gravatar.com/avatar/a840b00f848faf9c64699f092fc4c745?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/manics/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/manics/gists{/gist_id}","gravatar_id":"a840b00f848faf9c64699f092fc4c745","followers_url":"https://api.github.com/users/manics/followers","id":1644105,"repos_url":"https://api.github.com/users/manics/repos","subscriptions_url":"https://api.github.com/users/manics/subscriptions","following_url":"https://api.github.com/users/manics/following"},"open_issues":0,"updated_at":"2013-01-17T10:39:59Z","milestones_url":"https://api.github.com/repos/manics/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/manics/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/manics/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/manics/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/manics/ome-documentation/events","notifications_url":"https://api.github.com/repos/manics/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/manics/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/manics/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/manics/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/manics/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/manics/ome-documentation/collaborators{/collaborator}","full_name":"manics/ome-documentation","ssh_url":"git@github.com:manics/ome-documentation.git","pulls_url":"https://api.github.com/repos/manics/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/manics/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/manics/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/manics/ome-documentation/subscription","teams_url":"https://api.github.com/repos/manics/ome-documentation/teams","watchers":0,"created_at":"2012-10-08T11:43:13Z","git_url":"git://github.com/manics/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/manics/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/manics/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/manics/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/manics/ome-documentation/keys{/key_id}","size":2584,"compare_url":"https://api.github.com/repos/manics/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/manics/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/manics/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/manics/ome-documentation/hooks","fork":true,"html_url":"https://github.com/manics/ome-documentation","master_branch":"develop","clone_url":"https://github.com/manics/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/manics/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/manics/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/manics/ome-documentation/issues/events{/number}","private":false,"id":6123523,"default_branch":"develop","pushed_at":"2013-01-16T13:46:34Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/manics/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/manics/ome-documentation/forks"},"sha":"c7a42401100f79798ba70181cb7a58ab25f3b165","ref":"rebased/develop/tables_arraycolumns_9957"},"assignee":null,"updated_at":"2013-01-17T10:39:59Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/213/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/213/commits","closed_at":"2013-01-17T10:39:59Z","user":{"type":"User","url":"https://api.github.com/users/manics","received_events_url":"https://api.github.com/users/manics/received_events","login":"manics","events_url":"https://api.github.com/users/manics/events{/privacy}","organizations_url":"https://api.github.com/users/manics/orgs","avatar_url":"https://secure.gravatar.com/avatar/a840b00f848faf9c64699f092fc4c745?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/manics/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/manics/gists{/gist_id}","gravatar_id":"a840b00f848faf9c64699f092fc4c745","followers_url":"https://api.github.com/users/manics/followers","id":1644105,"repos_url":"https://api.github.com/users/manics/repos","subscriptions_url":"https://api.github.com/users/manics/subscriptions","following_url":"https://api.github.com/users/manics/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/213","merged_at":"2013-01-17T10:39:59Z","merge_commit_sha":"4e59b65363b053670f3c6a010216821b1933c9bc","created_at":"2013-01-16T13:46:36Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/213/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/213.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/213","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-193 but rebased onto develop.\n\n----\n\nThis was origingally a partial rewrite of the tables documentation including the new array columns from PR openmicroscopy/openmicroscopy#538. Since it may be held back from the next release I'll split the docs PR into two, this one covers doc changes relating to the existing tables functionality:\r\n* Moved the tables docs out of analysis and into a new page\r\n* Added more API detail, especially parameter types\r\n* This currently appears under `Analysis` in the TOC.\r\n\r\nIf I don't open this now I'll probably forget after Christmas.\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/213.diff","id":3700514,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"e38561d11128664793c359e81a32be0059a76088","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/212/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/212"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/212"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/212"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/212/comments"}},"title":"Fixing ticket 10174","state":"closed","number":212,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/212","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:10174-fix","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"8679358f62eda2f5c229ba48dad5597bdc427fb5","ref":"10174-fix"},"assignee":null,"updated_at":"2013-01-22T10:10:11Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/212/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/212/commits","closed_at":"2013-01-21T22:24:04Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/212","merged_at":"2013-01-21T22:24:04Z","merge_commit_sha":"8f6c86a6d8b6ef135e03584c4803abe60f34ed6c","created_at":"2013-01-16T11:12:48Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/212/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/212.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/212","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/212.diff","id":3698481,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"ad0052677c2aee2ffe76de527ea6fb744acdfa55","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/211/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/211"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/211"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/211"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/211/comments"}},"title":"Sysadmin docs tidy (rebased onto develop)","state":"closed","number":211,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/211","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:rebased/develop/sysadmin-docs-tidy","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"1acd446490dbfc637a5c9823ec5d0d04edf5ea8b","ref":"rebased/develop/sysadmin-docs-tidy"},"assignee":null,"updated_at":"2013-01-17T14:18:22Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/211/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/211/commits","closed_at":"2013-01-17T14:18:22Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/211","merged_at":"2013-01-17T14:18:22Z","merge_commit_sha":"fd1ded7a5bb6f9abce17656f957e64547dbe5e0e","created_at":"2013-01-16T10:41:29Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/211/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/211.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/211","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-209 but rebased onto develop.\n\n----\n\nFixing an issue spotted by Kenny and then tidying sysadmin docs re: formatting and style rules.\r\nAlso see ticket 10114\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/211.diff","id":3698059,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"e38561d11128664793c359e81a32be0059a76088","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/210/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/210"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/210"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/210"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/210/comments"}},"title":"Update Windows docs (see #10095) (rebased onto develop)","state":"closed","number":210,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/210","head":{"user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"label":"bpindelski:rebased/develop/admin-docs-win","repo":{"forks":1,"svn_url":"https://github.com/bpindelski/ome-documentation","merges_url":"https://api.github.com/repos/bpindelski/ome-documentation/merges","languages_url":"https://api.github.com/repos/bpindelski/ome-documentation/languages","assignees_url":"https://api.github.com/repos/bpindelski/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/bpindelski/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/bpindelski/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"open_issues":0,"updated_at":"2013-01-22T10:13:55Z","milestones_url":"https://api.github.com/repos/bpindelski/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/bpindelski/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/bpindelski/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/bpindelski/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/bpindelski/ome-documentation/events","notifications_url":"https://api.github.com/repos/bpindelski/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/bpindelski/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/bpindelski/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/bpindelski/ome-documentation/collaborators{/collaborator}","full_name":"bpindelski/ome-documentation","ssh_url":"git@github.com:bpindelski/ome-documentation.git","pulls_url":"https://api.github.com/repos/bpindelski/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":1,"subscription_url":"https://api.github.com/repos/bpindelski/ome-documentation/subscription","teams_url":"https://api.github.com/repos/bpindelski/ome-documentation/teams","watchers":0,"created_at":"2012-08-14T09:55:03Z","git_url":"git://github.com/bpindelski/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/bpindelski/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/bpindelski/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/bpindelski/ome-documentation/keys{/key_id}","size":280,"compare_url":"https://api.github.com/repos/bpindelski/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/bpindelski/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/bpindelski/ome-documentation/hooks","fork":true,"html_url":"https://github.com/bpindelski/ome-documentation","clone_url":"https://github.com/bpindelski/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/bpindelski/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/bpindelski/ome-documentation/issues/events{/number}","private":false,"id":5411049,"pushed_at":"2013-01-22T10:13:53Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/bpindelski/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/bpindelski/ome-documentation/forks"},"sha":"8003e6d2fb8f85158f922610170ac19d853405d8","ref":"rebased/develop/admin-docs-win"},"assignee":null,"updated_at":"2013-01-16T19:32:02Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/210/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/210/commits","closed_at":"2013-01-16T19:32:01Z","user":{"type":"User","url":"https://api.github.com/users/bpindelski","received_events_url":"https://api.github.com/users/bpindelski/received_events","login":"bpindelski","events_url":"https://api.github.com/users/bpindelski/events{/privacy}","organizations_url":"https://api.github.com/users/bpindelski/orgs","avatar_url":"https://secure.gravatar.com/avatar/3c0a5e3c2c6d2f8117bbe6e08c930874?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/bpindelski/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/bpindelski/gists{/gist_id}","gravatar_id":"3c0a5e3c2c6d2f8117bbe6e08c930874","followers_url":"https://api.github.com/users/bpindelski/followers","id":1692189,"repos_url":"https://api.github.com/users/bpindelski/repos","subscriptions_url":"https://api.github.com/users/bpindelski/subscriptions","following_url":"https://api.github.com/users/bpindelski/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/210","merged_at":"2013-01-16T19:32:01Z","merge_commit_sha":"9b59862600af4389965d0c3ed7f56321dec584f7","created_at":"2013-01-15T09:55:22Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/210/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/210.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/210","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-198 but rebased onto develop.\n\n----\n\nUpdate the output listing of ``bin\\omero admin diagnostics`` and remove any dependency on ``sc.exe`` or ``ntrights.exe``.\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/210.diff","id":3678632,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"0e53556a3e4e6e83d664c7207da8551a2bcba14d","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/209/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/209"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/209"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/209"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/209/comments"}},"title":"Sysadmin docs tidy","state":"closed","number":209,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/209","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:sysadmin-docs-tidy","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"398b9c495391d6bcb843fe251f9926538417b943","ref":"sysadmin-docs-tidy"},"assignee":null,"updated_at":"2013-01-17T08:45:49Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/209/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/209/commits","closed_at":"2013-01-17T08:45:49Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/209","merged_at":"2013-01-17T08:45:49Z","merge_commit_sha":"8b2ecbc547508255347bbcaf4b6fa19b02c3c00b","created_at":"2013-01-14T16:10:35Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/209/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/209.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/209","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"Fixing an issue spotted by Kenny and then tidying sysadmin docs re: formatting and style rules.\r\nAlso see ticket 10114","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/209.diff","id":3665632,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"698b93efc8c0eaa45be01d95e07856447d3faeaf","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/208/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/208"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/208"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/208"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/208/comments"}},"title":"Add note about libjpeg for PIL (rebased onto dev_4_4)","state":"closed","number":208,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/208","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:rebased/dev_4_4/develop","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"bb1b82d32520f8362333335328321988202a9aef","ref":"rebased/dev_4_4/develop"},"assignee":null,"updated_at":"2013-01-15T20:02:36Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/208/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/208/commits","closed_at":"2013-01-15T20:02:36Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/208","merged_at":"2013-01-15T20:02:36Z","merge_commit_sha":"323fb029776abcf6ef1c39aa268f338c59276a6d","created_at":"2013-01-14T11:19:15Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/208/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/208.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/208","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-204 but rebased onto dev_4_4.\n\n----\n\nIf `libjpeg` is not installed while building PIL the JPEG support for some of the python scripts is missing (e.g. the \"Split View\" from the Figure scripts will fail).\r\n\r\nThe windows documentation probably doesn't need to be updated since PIL is provided as a binary distribution for that platform (and hopefully comes with JPEG support).\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/208.diff","id":3661573,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"e1c4760c812f4b1b5d150a48ee872d4962f3722c","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/207/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/207"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/207"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/207"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/207/comments"}},"title":"CLI documentation (rebased onto develop)","state":"closed","number":207,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/207","head":{"user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"label":"sbesson:rebased/develop/2571_cli_improvements","repo":{"forks":0,"svn_url":"https://github.com/sbesson/ome-documentation","merges_url":"https://api.github.com/repos/sbesson/ome-documentation/merges","languages_url":"https://api.github.com/repos/sbesson/ome-documentation/languages","assignees_url":"https://api.github.com/repos/sbesson/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/sbesson/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/sbesson/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/sbesson/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"open_issues":0,"updated_at":"2013-02-02T21:21:49Z","milestones_url":"https://api.github.com/repos/sbesson/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/sbesson/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/sbesson/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/sbesson/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/sbesson/ome-documentation/events","notifications_url":"https://api.github.com/repos/sbesson/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/sbesson/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/sbesson/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/sbesson/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/sbesson/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/sbesson/ome-documentation/collaborators{/collaborator}","full_name":"sbesson/ome-documentation","ssh_url":"git@github.com:sbesson/ome-documentation.git","pulls_url":"https://api.github.com/repos/sbesson/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/sbesson/ome-documentation/subscription","teams_url":"https://api.github.com/repos/sbesson/ome-documentation/teams","watchers":1,"created_at":"2012-08-22T08:57:59Z","git_url":"git://github.com/sbesson/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/sbesson/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/sbesson/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/sbesson/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/sbesson/ome-documentation/keys{/key_id}","size":608,"compare_url":"https://api.github.com/repos/sbesson/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/sbesson/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/sbesson/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/sbesson/ome-documentation/hooks","fork":true,"html_url":"https://github.com/sbesson/ome-documentation","master_branch":"dev_4_4","clone_url":"https://github.com/sbesson/ome-documentation.git","watchers_count":1,"git_refs_url":"https://api.github.com/repos/sbesson/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/sbesson/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/sbesson/ome-documentation/issues/events{/number}","private":false,"id":5507021,"default_branch":"dev_4_4","pushed_at":"2013-02-01T15:04:17Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/sbesson/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/sbesson/ome-documentation/forks"},"sha":"e37ed12e664defb381f7726c8931484693770989","ref":"rebased/develop/2571_cli_improvements"},"assignee":null,"updated_at":"2013-01-15T20:04:10Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/207/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/207/commits","closed_at":"2013-01-15T20:04:10Z","user":{"type":"User","url":"https://api.github.com/users/sbesson","received_events_url":"https://api.github.com/users/sbesson/received_events","login":"sbesson","events_url":"https://api.github.com/users/sbesson/events{/privacy}","organizations_url":"https://api.github.com/users/sbesson/orgs","avatar_url":"https://secure.gravatar.com/avatar/8ea0fde1295027db9d37e419ac10cbf4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/sbesson/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/sbesson/gists{/gist_id}","gravatar_id":"8ea0fde1295027db9d37e419ac10cbf4","followers_url":"https://api.github.com/users/sbesson/followers","id":1355463,"repos_url":"https://api.github.com/users/sbesson/repos","subscriptions_url":"https://api.github.com/users/sbesson/subscriptions","following_url":"https://api.github.com/users/sbesson/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/207","merged_at":"2013-01-15T20:04:10Z","merge_commit_sha":"43f6e415f4faf967ac93a94135843876437e48d7","created_at":"2013-01-14T08:49:46Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/207/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/207.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/207","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-179 but rebased onto develop.\n\n----\n\nThis PR was originally meant to document the CLI changes of openmicroscopy/openmicroscopy#498 and openmicroscopy/openmicroscopy#514. Since the Command Line Interface documentation had been directly imported from trac, I ended up significantly rewriting the CLI documentation with the help of @ximenesuk.\r\n\r\nSummary of main changes:\r\n- CLI documentation is now split into three pages (users, sysadmins, developers)\r\n- User documentation currently describes `sessions` & `import` plugins\r\n- Sysadmin documentation currently describes `config`, `db`, `admin`, `user` & `group` plugins\r\n- A new role `:omerocmd:` is defined in conf.py which turns CLI commands into bold face and create an entry in the generated index.\r\n\r\nNote: this PR documents changes occuring in the `dev_4_4` branch post the `v.4.4.5` tag. Thus it should only be be released together with the code release and should not be merged until a full release is scheduled.\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/207.diff","id":3659910,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"5c0fcbe7f0fd8bd70c31f9e29b9ce5378e2726c3","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/206/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/206"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/206"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/206"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/206/comments"}},"title":"Fixed forward declartion incomplete type error in c++ example code","state":"closed","number":206,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/206","head":{"user":{"type":"User","url":"https://api.github.com/users/dpwrussell","received_events_url":"https://api.github.com/users/dpwrussell/received_events","login":"dpwrussell","events_url":"https://api.github.com/users/dpwrussell/events{/privacy}","organizations_url":"https://api.github.com/users/dpwrussell/orgs","avatar_url":"https://secure.gravatar.com/avatar/bcb60819fb3f875de3d2701ee5642e17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/dpwrussell/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/dpwrussell/gists{/gist_id}","gravatar_id":"bcb60819fb3f875de3d2701ee5642e17","followers_url":"https://api.github.com/users/dpwrussell/followers","id":1889043,"repos_url":"https://api.github.com/users/dpwrussell/repos","subscriptions_url":"https://api.github.com/users/dpwrussell/subscriptions","following_url":"https://api.github.com/users/dpwrussell/following"},"label":"dpwrussell:dev_4_4","repo":{"forks":0,"svn_url":"https://github.com/dpwrussell/ome-documentation","merges_url":"https://api.github.com/repos/dpwrussell/ome-documentation/merges","languages_url":"https://api.github.com/repos/dpwrussell/ome-documentation/languages","assignees_url":"https://api.github.com/repos/dpwrussell/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/dpwrussell/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/dpwrussell/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/dpwrussell/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/dpwrussell","received_events_url":"https://api.github.com/users/dpwrussell/received_events","login":"dpwrussell","events_url":"https://api.github.com/users/dpwrussell/events{/privacy}","organizations_url":"https://api.github.com/users/dpwrussell/orgs","avatar_url":"https://secure.gravatar.com/avatar/bcb60819fb3f875de3d2701ee5642e17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/dpwrussell/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/dpwrussell/gists{/gist_id}","gravatar_id":"bcb60819fb3f875de3d2701ee5642e17","followers_url":"https://api.github.com/users/dpwrussell/followers","id":1889043,"repos_url":"https://api.github.com/users/dpwrussell/repos","subscriptions_url":"https://api.github.com/users/dpwrussell/subscriptions","following_url":"https://api.github.com/users/dpwrussell/following"},"open_issues":0,"updated_at":"2013-01-14T20:49:36Z","milestones_url":"https://api.github.com/repos/dpwrussell/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/dpwrussell/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/dpwrussell/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/dpwrussell/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/dpwrussell/ome-documentation/events","notifications_url":"https://api.github.com/repos/dpwrussell/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/dpwrussell/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/dpwrussell/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/dpwrussell/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/dpwrussell/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/dpwrussell/ome-documentation/collaborators{/collaborator}","full_name":"dpwrussell/ome-documentation","ssh_url":"git@github.com:dpwrussell/ome-documentation.git","pulls_url":"https://api.github.com/repos/dpwrussell/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/dpwrussell/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/dpwrussell/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/dpwrussell/ome-documentation/subscription","teams_url":"https://api.github.com/repos/dpwrussell/ome-documentation/teams","watchers":0,"created_at":"2013-01-11T16:28:07Z","git_url":"git://github.com/dpwrussell/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/dpwrussell/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/dpwrussell/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/dpwrussell/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/dpwrussell/ome-documentation/keys{/key_id}","size":132,"compare_url":"https://api.github.com/repos/dpwrussell/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/dpwrussell/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/dpwrussell/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/dpwrussell/ome-documentation/hooks","fork":true,"html_url":"https://github.com/dpwrussell/ome-documentation","master_branch":"develop","clone_url":"https://github.com/dpwrussell/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/dpwrussell/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/dpwrussell/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/dpwrussell/ome-documentation/issues/events{/number}","private":false,"id":7562962,"default_branch":"develop","pushed_at":"2013-01-11T17:05:00Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/dpwrussell/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/dpwrussell/ome-documentation/forks"},"sha":"4033810988777c8f905e44f627a398640df2ed05","ref":"dev_4_4"},"assignee":null,"updated_at":"2013-01-14T20:49:36Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/206/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/206/commits","closed_at":"2013-01-14T20:49:36Z","user":{"type":"User","url":"https://api.github.com/users/dpwrussell","received_events_url":"https://api.github.com/users/dpwrussell/received_events","login":"dpwrussell","events_url":"https://api.github.com/users/dpwrussell/events{/privacy}","organizations_url":"https://api.github.com/users/dpwrussell/orgs","avatar_url":"https://secure.gravatar.com/avatar/bcb60819fb3f875de3d2701ee5642e17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/dpwrussell/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/dpwrussell/gists{/gist_id}","gravatar_id":"bcb60819fb3f875de3d2701ee5642e17","followers_url":"https://api.github.com/users/dpwrussell/followers","id":1889043,"repos_url":"https://api.github.com/users/dpwrussell/repos","subscriptions_url":"https://api.github.com/users/dpwrussell/subscriptions","following_url":"https://api.github.com/users/dpwrussell/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/206","merged_at":"2013-01-14T20:49:36Z","merge_commit_sha":"591c4b608e04a3e6f7da4d599f6761f7111c53b3","created_at":"2013-01-11T17:12:07Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/206/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/206.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/206","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"Compiling the existing example code results in an incomplete type error as omero/client.h includes omero/ServicesF.h which forward declares IAdmin\r\n\r\nFix by including omero/api/IAdmin.h\r\n\r\n```\r\ng++ -c -o yourcode.o yourcode.cpp -I/home/dpwrussell/Ice/omero/OMERO.cpp-4.4.5-ice33-posix-gcc-4.6.3-64dbg/include -I/home/dpwrussell/Ice/home/Ice-3.3.1//include \r\nyourcode.cpp: In function ‘int main(int, char**)’:\r\nyourcode.cpp:30:18: error: invalid use of incomplete type ‘struct IceProxy::omero::api::IAdmin’\r\n/home/dpwrussell/Ice/omero/OMERO.cpp-4.4.5-ice33-posix-gcc-4.6.3-64dbg/include/omero/ServicesF.h:60:7: error: forward declaration of ‘struct IceProxy::omero::api::IAdmin’\r\nmake: *** [yourcode.o] Error 1\r\n```","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/206.diff","id":3642598,"base":{"user":null,"label":"openmicroscopy:dev_4_4","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"0250249b48e2df6daf8fcaa9d4508a5bc744117a","ref":"dev_4_4"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/205/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/205"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/205"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/205"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/205/comments"}},"title":"Fix typo and broken links. (rebased onto develop)","state":"closed","number":205,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/205","head":{"user":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"label":"jburel:rebased/develop/script-doc","repo":{"forks":0,"svn_url":"https://github.com/jburel/ome-documentation","merges_url":"https://api.github.com/repos/jburel/ome-documentation/merges","languages_url":"https://api.github.com/repos/jburel/ome-documentation/languages","assignees_url":"https://api.github.com/repos/jburel/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/jburel/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/jburel/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/jburel/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"open_issues":0,"updated_at":"2013-01-18T09:49:33Z","milestones_url":"https://api.github.com/repos/jburel/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/jburel/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/jburel/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/jburel/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/jburel/ome-documentation/events","notifications_url":"https://api.github.com/repos/jburel/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/jburel/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/jburel/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/jburel/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/jburel/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/jburel/ome-documentation/collaborators{/collaborator}","full_name":"jburel/ome-documentation","ssh_url":"git@github.com:jburel/ome-documentation.git","pulls_url":"https://api.github.com/repos/jburel/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/jburel/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/jburel/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/jburel/ome-documentation/subscription","teams_url":"https://api.github.com/repos/jburel/ome-documentation/teams","watchers":2,"created_at":"2012-01-17T14:12:05Z","git_url":"git://github.com/jburel/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/jburel/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/jburel/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/jburel/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/jburel/ome-documentation/keys{/key_id}","size":292,"compare_url":"https://api.github.com/repos/jburel/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/jburel/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/jburel/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/jburel/ome-documentation/hooks","fork":true,"html_url":"https://github.com/jburel/ome-documentation","clone_url":"https://github.com/jburel/ome-documentation.git","watchers_count":2,"git_refs_url":"https://api.github.com/repos/jburel/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":null,"contents_url":"https://api.github.com/repos/jburel/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/jburel/ome-documentation/issues/events{/number}","private":false,"id":3199804,"pushed_at":"2013-01-16T19:23:39Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/jburel/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/jburel/ome-documentation/forks"},"sha":"90bea8f261ad2637ba3ccaaaa2c50714475c1054","ref":"rebased/develop/script-doc"},"assignee":null,"updated_at":"2013-01-14T08:20:15Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/205/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/205/commits","closed_at":"2013-01-14T08:20:15Z","user":{"type":"User","url":"https://api.github.com/users/jburel","received_events_url":"https://api.github.com/users/jburel/received_events","login":"jburel","events_url":"https://api.github.com/users/jburel/events{/privacy}","organizations_url":"https://api.github.com/users/jburel/orgs","avatar_url":"https://secure.gravatar.com/avatar/e1f7a610652e5e71eda0b0b8381c3f98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/jburel/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/jburel/gists{/gist_id}","gravatar_id":"e1f7a610652e5e71eda0b0b8381c3f98","followers_url":"https://api.github.com/users/jburel/followers","id":1022396,"repos_url":"https://api.github.com/users/jburel/repos","subscriptions_url":"https://api.github.com/users/jburel/subscriptions","following_url":"https://api.github.com/users/jburel/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/205","merged_at":"2013-01-14T08:20:15Z","merge_commit_sha":"a42b2d13763841ad6e8d665a12e9ec94736b03ae","created_at":"2013-01-10T19:51:34Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/205/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/205.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/205","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"\n\nThis is the same as gh-199 but rebased onto develop.\n\n----\n\nProblem noticed while reviewing Petr's PR.\n\n ","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/205.diff","id":3627317,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"66b416256fd3333771b9722582e2801df96c4a99","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/204"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204/comments"}},"title":"Add note about libjpeg for PIL","state":"closed","number":204,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/204","head":{"user":null,"label":"imcf:develop","repo":{"forks":0,"svn_url":"https://github.com/imcf/ome-documentation","merges_url":"https://api.github.com/repos/imcf/ome-documentation/merges","languages_url":"https://api.github.com/repos/imcf/ome-documentation/languages","assignees_url":"https://api.github.com/repos/imcf/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/imcf/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/imcf/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/imcf/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/imcf","received_events_url":"https://api.github.com/users/imcf/received_events","login":"imcf","events_url":"https://api.github.com/users/imcf/events{/privacy}","organizations_url":"https://api.github.com/users/imcf/orgs","avatar_url":"https://secure.gravatar.com/avatar/2e1c3dfd6e44c98d66556f9e454e7b99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/imcf/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/imcf/gists{/gist_id}","gravatar_id":"2e1c3dfd6e44c98d66556f9e454e7b99","followers_url":"https://api.github.com/users/imcf/followers","id":2847663,"repos_url":"https://api.github.com/users/imcf/repos","subscriptions_url":"https://api.github.com/users/imcf/subscriptions","following_url":"https://api.github.com/users/imcf/following"},"open_issues":0,"updated_at":"2013-01-14T15:20:58Z","milestones_url":"https://api.github.com/repos/imcf/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/imcf/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/imcf/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/imcf/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/imcf/ome-documentation/events","notifications_url":"https://api.github.com/repos/imcf/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/imcf/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/imcf/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/imcf/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/imcf/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/imcf/ome-documentation/collaborators{/collaborator}","full_name":"imcf/ome-documentation","ssh_url":"git@github.com:imcf/ome-documentation.git","pulls_url":"https://api.github.com/repos/imcf/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/imcf/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/imcf/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/imcf/ome-documentation/subscription","teams_url":"https://api.github.com/repos/imcf/ome-documentation/teams","watchers":0,"created_at":"2013-01-10T15:32:44Z","git_url":"git://github.com/imcf/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/imcf/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/imcf/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/imcf/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/imcf/ome-documentation/keys{/key_id}","size":128,"compare_url":"https://api.github.com/repos/imcf/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/imcf/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/imcf/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/imcf/ome-documentation/hooks","fork":true,"html_url":"https://github.com/imcf/ome-documentation","master_branch":"develop","clone_url":"https://github.com/imcf/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/imcf/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/imcf/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/imcf/ome-documentation/issues/events{/number}","private":false,"id":7543421,"default_branch":"develop","pushed_at":"2013-01-10T16:04:23Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/imcf/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/imcf/ome-documentation/forks"},"sha":"e37990a177fbb47a481663e79015d1862d84e20c","ref":"develop"},"assignee":null,"updated_at":"2013-01-14T15:20:58Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/204/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/204/commits","closed_at":"2013-01-14T15:20:58Z","user":{"type":"User","url":"https://api.github.com/users/ehrenfeu","received_events_url":"https://api.github.com/users/ehrenfeu/received_events","login":"ehrenfeu","events_url":"https://api.github.com/users/ehrenfeu/events{/privacy}","organizations_url":"https://api.github.com/users/ehrenfeu/orgs","avatar_url":"https://secure.gravatar.com/avatar/d78ee38089403f67735ddbdc80b69745?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/ehrenfeu/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/ehrenfeu/gists{/gist_id}","gravatar_id":"d78ee38089403f67735ddbdc80b69745","followers_url":"https://api.github.com/users/ehrenfeu/followers","id":697157,"repos_url":"https://api.github.com/users/ehrenfeu/repos","subscriptions_url":"https://api.github.com/users/ehrenfeu/subscriptions","following_url":"https://api.github.com/users/ehrenfeu/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/204","merged_at":"2013-01-14T15:20:58Z","merge_commit_sha":"d6d517c48187befdfdd1dc6784542d0976433ddd","created_at":"2013-01-10T16:20:56Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/204/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/204.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/204","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"If `libjpeg` is not installed while building PIL the JPEG support for some of the python scripts is missing (e.g. the \"Split View\" from the Figure scripts will fail).\r\n\r\nThe windows documentation probably doesn't need to be updated since PIL is provided as a binary distribution for that platform (and hopefully comes with JPEG support).","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/204.diff","id":3623392,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"66b416256fd3333771b9722582e2801df96c4a99","ref":"develop"}},{"_links":{"comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/203/comments"},"issue":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/203"},"html":{"href":"https://github.com/openmicroscopy/ome-documentation/pull/203"},"self":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/203"},"review_comments":{"href":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/203/comments"}},"title":"9993 fix develop","state":"closed","number":203,"url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls/203","head":{"user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"label":"hflynn:9993-fix-develop","repo":{"forks":0,"svn_url":"https://github.com/hflynn/ome-documentation","merges_url":"https://api.github.com/repos/hflynn/ome-documentation/merges","languages_url":"https://api.github.com/repos/hflynn/ome-documentation/languages","assignees_url":"https://api.github.com/repos/hflynn/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/hflynn/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/hflynn/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/hflynn/ome-documentation/statuses/{sha}","owner":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"open_issues":0,"updated_at":"2013-02-01T17:31:59Z","milestones_url":"https://api.github.com/repos/hflynn/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/hflynn/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/hflynn/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/hflynn/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/hflynn/ome-documentation/events","notifications_url":"https://api.github.com/repos/hflynn/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/hflynn/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/hflynn/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/hflynn/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/hflynn/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/hflynn/ome-documentation/collaborators{/collaborator}","full_name":"hflynn/ome-documentation","ssh_url":"git@github.com:hflynn/ome-documentation.git","pulls_url":"https://api.github.com/repos/hflynn/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":0,"subscription_url":"https://api.github.com/repos/hflynn/ome-documentation/subscription","teams_url":"https://api.github.com/repos/hflynn/ome-documentation/teams","watchers":0,"created_at":"2012-09-18T09:22:07Z","git_url":"git://github.com/hflynn/ome-documentation.git","open_issues_count":0,"labels_url":"https://api.github.com/repos/hflynn/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/hflynn/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/hflynn/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/hflynn/ome-documentation/keys{/key_id}","size":340,"compare_url":"https://api.github.com/repos/hflynn/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/hflynn/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/hflynn/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/hflynn/ome-documentation/hooks","fork":true,"html_url":"https://github.com/hflynn/ome-documentation","master_branch":"develop","clone_url":"https://github.com/hflynn/ome-documentation.git","watchers_count":0,"git_refs_url":"https://api.github.com/repos/hflynn/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/hflynn/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/hflynn/ome-documentation/issues/events{/number}","private":false,"id":5853981,"default_branch":"develop","pushed_at":"2013-02-01T17:31:59Z","has_issues":false,"mirror_url":null,"trees_url":"https://api.github.com/repos/hflynn/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/hflynn/ome-documentation/forks"},"sha":"814e48863217bc6b9d4e1f74de4061e56918b3cb","ref":"9993-fix-develop"},"assignee":null,"updated_at":"2013-01-14T08:18:58Z","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/203/comments","commits_url":"https://github.com/openmicroscopy/ome-documentation/pull/203/commits","closed_at":"2013-01-14T08:18:58Z","user":{"type":"User","url":"https://api.github.com/users/hflynn","received_events_url":"https://api.github.com/users/hflynn/received_events","login":"hflynn","events_url":"https://api.github.com/users/hflynn/events{/privacy}","organizations_url":"https://api.github.com/users/hflynn/orgs","avatar_url":"https://secure.gravatar.com/avatar/0ee126d1abcd3c5b4f178b8d77af95ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","starred_url":"https://api.github.com/users/hflynn/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/hflynn/gists{/gist_id}","gravatar_id":"0ee126d1abcd3c5b4f178b8d77af95ae","followers_url":"https://api.github.com/users/hflynn/followers","id":2368904,"repos_url":"https://api.github.com/users/hflynn/repos","subscriptions_url":"https://api.github.com/users/hflynn/subscriptions","following_url":"https://api.github.com/users/hflynn/following"},"issue_url":"https://github.com/openmicroscopy/ome-documentation/issues/203","merged_at":"2013-01-14T08:18:58Z","merge_commit_sha":"6ffaa6729532be5843b3a2236ab0d422b1775c8b","created_at":"2013-01-10T16:17:51Z","review_comments_url":"https://github.com/openmicroscopy/ome-documentation/pull/203/comments","patch_url":"https://github.com/openmicroscopy/ome-documentation/pull/203.patch","html_url":"https://github.com/openmicroscopy/ome-documentation/pull/203","review_comment_url":"/repos/openmicroscopy/ome-documentation/pulls/comments/{number}","milestone":null,"body":"PR #200 rebased to develop, fixing issue in ticket 9993","diff_url":"https://github.com/openmicroscopy/ome-documentation/pull/203.diff","id":3623337,"base":{"user":null,"label":"openmicroscopy:develop","repo":{"forks":19,"svn_url":"https://github.com/openmicroscopy/ome-documentation","merges_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/merges","languages_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/languages","assignees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/assignees{/user}","url":"https://api.github.com/repos/openmicroscopy/ome-documentation","has_downloads":true,"issues_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues{/number}","statuses_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/statuses/{sha}","owner":{"type":"Organization","url":"https://api.github.com/users/openmicroscopy","received_events_url":"https://api.github.com/users/openmicroscopy/received_events","login":"openmicroscopy","events_url":"https://api.github.com/users/openmicroscopy/events{/privacy}","organizations_url":"https://api.github.com/users/openmicroscopy/orgs","avatar_url":"https://secure.gravatar.com/avatar/7424190904f55023bd16416af0fd799b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","starred_url":"https://api.github.com/users/openmicroscopy/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/openmicroscopy/gists{/gist_id}","gravatar_id":"7424190904f55023bd16416af0fd799b","followers_url":"https://api.github.com/users/openmicroscopy/followers","id":975861,"repos_url":"https://api.github.com/users/openmicroscopy/repos","subscriptions_url":"https://api.github.com/users/openmicroscopy/subscriptions","following_url":"https://api.github.com/users/openmicroscopy/following"},"open_issues":3,"updated_at":"2013-02-01T11:04:39Z","milestones_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/milestones{/number}","archive_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/{archive_format}{/ref}","stargazers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/stargazers","branches_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/branches{/branch}","events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/events","notifications_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/notifications{?since,all,participating}","comments_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/comments{/number}","commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/commits{/sha}","subscribers_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscribers","contributors_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contributors","collaborators_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/collaborators{/collaborator}","full_name":"openmicroscopy/ome-documentation","ssh_url":"git@github.com:openmicroscopy/ome-documentation.git","pulls_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/pulls{/number}","issue_comment_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/comments/{number}","blobs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/blobs{/sha}","homepage":"http://openmicroscopy.org","has_wiki":true,"forks_count":19,"subscription_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/subscription","teams_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/teams","watchers":9,"created_at":"2012-01-17T10:20:53Z","git_url":"git://github.com/openmicroscopy/ome-documentation.git","open_issues_count":3,"labels_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/labels{/name}","downloads_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/downloads","git_tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/tags{/sha}","keys_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/keys{/key_id}","size":488,"compare_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/compare/{base}...{head}","git_commits_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/commits{/sha}","tags_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/tags{/tag}","hooks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/hooks","fork":false,"html_url":"https://github.com/openmicroscopy/ome-documentation","master_branch":"develop","clone_url":"https://github.com/openmicroscopy/ome-documentation.git","watchers_count":9,"git_refs_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/refs{/sha}","description":"Sphinx-based documentation for the Open Microscopy Environment ","name":"ome-documentation","language":"Python","contents_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/contents/{+path}","issue_events_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/issues/events{/number}","private":false,"id":3198415,"default_branch":"develop","pushed_at":"2013-02-01T11:04:38Z","has_issues":true,"mirror_url":null,"trees_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/git/trees{/sha}","forks_url":"https://api.github.com/repos/openmicroscopy/ome-documentation/forks"},"sha":"66b416256fd3333771b9722582e2801df96c4a99","ref":"develop"}}] - diff --git a/github/tests/ReplayData/Issue133.testGetPageWithoutInitialArguments.txt b/github/tests/ReplayData/Issue133.testGetPageWithoutInitialArguments.txt deleted file mode 100644 index 0059759..0000000 --- a/github/tests/ReplayData/Issue133.testGetPageWithoutInitialArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/followers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '20426'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4932'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 29 Jan 2013 16:17:47 GMT'), ('connection', 'keep-alive'), ('etag', '"fb0fbb23fbad4099a53f6c5f6e0de34d"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 29 Jan 2013 17:46:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"User","url":"https://api.github.com/users/jnorthrup","repos_url":"https://api.github.com/users/jnorthrup/repos","avatar_url":"https://secure.gravatar.com/avatar/29222a2dca6dd4cd33790d72ff3f5346?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/jnorthrup/orgs","received_events_url":"https://api.github.com/users/jnorthrup/received_events","events_url":"https://api.github.com/users/jnorthrup/events{/privacy}","followers_url":"https://api.github.com/users/jnorthrup/followers","starred_url":"https://api.github.com/users/jnorthrup/starred{/owner}{/repo}","following_url":"https://api.github.com/users/jnorthrup/following","gravatar_id":"29222a2dca6dd4cd33790d72ff3f5346","subscriptions_url":"https://api.github.com/users/jnorthrup/subscriptions","gists_url":"https://api.github.com/users/jnorthrup/gists{/gist_id}","id":73514,"login":"jnorthrup"},{"type":"User","url":"https://api.github.com/users/brugidou","repos_url":"https://api.github.com/users/brugidou/repos","avatar_url":"https://secure.gravatar.com/avatar/43485eeefd3da3c96a7ea0c7e6b839dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/brugidou/orgs","received_events_url":"https://api.github.com/users/brugidou/received_events","events_url":"https://api.github.com/users/brugidou/events{/privacy}","followers_url":"https://api.github.com/users/brugidou/followers","starred_url":"https://api.github.com/users/brugidou/starred{/owner}{/repo}","following_url":"https://api.github.com/users/brugidou/following","gravatar_id":"43485eeefd3da3c96a7ea0c7e6b839dc","subscriptions_url":"https://api.github.com/users/brugidou/subscriptions","gists_url":"https://api.github.com/users/brugidou/gists{/gist_id}","id":167633,"login":"brugidou"},{"type":"User","url":"https://api.github.com/users/regisb","repos_url":"https://api.github.com/users/regisb/repos","avatar_url":"https://secure.gravatar.com/avatar/c5c2e6aa207dd3686244700d39117bdc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/regisb/orgs","received_events_url":"https://api.github.com/users/regisb/received_events","events_url":"https://api.github.com/users/regisb/events{/privacy}","followers_url":"https://api.github.com/users/regisb/followers","starred_url":"https://api.github.com/users/regisb/starred{/owner}{/repo}","following_url":"https://api.github.com/users/regisb/following","gravatar_id":"c5c2e6aa207dd3686244700d39117bdc","subscriptions_url":"https://api.github.com/users/regisb/subscriptions","gists_url":"https://api.github.com/users/regisb/gists{/gist_id}","id":44319,"login":"regisb"},{"type":"User","url":"https://api.github.com/users/walidk","repos_url":"https://api.github.com/users/walidk/repos","avatar_url":"https://secure.gravatar.com/avatar/e251d20766937949a109603ca37bb3be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/walidk/orgs","received_events_url":"https://api.github.com/users/walidk/received_events","events_url":"https://api.github.com/users/walidk/events{/privacy}","followers_url":"https://api.github.com/users/walidk/followers","starred_url":"https://api.github.com/users/walidk/starred{/owner}{/repo}","following_url":"https://api.github.com/users/walidk/following","gravatar_id":"e251d20766937949a109603ca37bb3be","subscriptions_url":"https://api.github.com/users/walidk/subscriptions","gists_url":"https://api.github.com/users/walidk/gists{/gist_id}","id":734669,"login":"walidk"},{"type":"User","url":"https://api.github.com/users/afzalkhan","repos_url":"https://api.github.com/users/afzalkhan/repos","avatar_url":"https://secure.gravatar.com/avatar/8e85398b116be75d4baeeddfc9c3cce1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/afzalkhan/orgs","received_events_url":"https://api.github.com/users/afzalkhan/received_events","events_url":"https://api.github.com/users/afzalkhan/events{/privacy}","followers_url":"https://api.github.com/users/afzalkhan/followers","starred_url":"https://api.github.com/users/afzalkhan/starred{/owner}{/repo}","following_url":"https://api.github.com/users/afzalkhan/following","gravatar_id":"8e85398b116be75d4baeeddfc9c3cce1","subscriptions_url":"https://api.github.com/users/afzalkhan/subscriptions","gists_url":"https://api.github.com/users/afzalkhan/gists{/gist_id}","id":1003845,"login":"afzalkhan"},{"type":"User","url":"https://api.github.com/users/sdanzan","repos_url":"https://api.github.com/users/sdanzan/repos","avatar_url":"https://secure.gravatar.com/avatar/4a1e187f4f22547534a56966f6d8f942?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/sdanzan/orgs","received_events_url":"https://api.github.com/users/sdanzan/received_events","events_url":"https://api.github.com/users/sdanzan/events{/privacy}","followers_url":"https://api.github.com/users/sdanzan/followers","starred_url":"https://api.github.com/users/sdanzan/starred{/owner}{/repo}","following_url":"https://api.github.com/users/sdanzan/following","gravatar_id":"4a1e187f4f22547534a56966f6d8f942","subscriptions_url":"https://api.github.com/users/sdanzan/subscriptions","gists_url":"https://api.github.com/users/sdanzan/gists{/gist_id}","id":1094967,"login":"sdanzan"},{"type":"User","url":"https://api.github.com/users/vineus","repos_url":"https://api.github.com/users/vineus/repos","avatar_url":"https://secure.gravatar.com/avatar/2d0c93649b7572036335aed380e351e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/vineus/orgs","received_events_url":"https://api.github.com/users/vineus/received_events","events_url":"https://api.github.com/users/vineus/events{/privacy}","followers_url":"https://api.github.com/users/vineus/followers","starred_url":"https://api.github.com/users/vineus/starred{/owner}{/repo}","following_url":"https://api.github.com/users/vineus/following","gravatar_id":"2d0c93649b7572036335aed380e351e5","subscriptions_url":"https://api.github.com/users/vineus/subscriptions","gists_url":"https://api.github.com/users/vineus/gists{/gist_id}","id":467126,"login":"vineus"},{"type":"User","url":"https://api.github.com/users/gturri","repos_url":"https://api.github.com/users/gturri/repos","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/gturri/orgs","received_events_url":"https://api.github.com/users/gturri/received_events","events_url":"https://api.github.com/users/gturri/events{/privacy}","followers_url":"https://api.github.com/users/gturri/followers","starred_url":"https://api.github.com/users/gturri/starred{/owner}{/repo}","following_url":"https://api.github.com/users/gturri/following","gravatar_id":"ba064e32f068e12bfc87d178179878a5","subscriptions_url":"https://api.github.com/users/gturri/subscriptions","gists_url":"https://api.github.com/users/gturri/gists{/gist_id}","id":308601,"login":"gturri"},{"type":"User","url":"https://api.github.com/users/fjardon","repos_url":"https://api.github.com/users/fjardon/repos","avatar_url":"https://secure.gravatar.com/avatar/cb044bd9a9f6548b9a9bae44617c97c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/fjardon/orgs","received_events_url":"https://api.github.com/users/fjardon/received_events","events_url":"https://api.github.com/users/fjardon/events{/privacy}","followers_url":"https://api.github.com/users/fjardon/followers","starred_url":"https://api.github.com/users/fjardon/starred{/owner}{/repo}","following_url":"https://api.github.com/users/fjardon/following","gravatar_id":"cb044bd9a9f6548b9a9bae44617c97c7","subscriptions_url":"https://api.github.com/users/fjardon/subscriptions","gists_url":"https://api.github.com/users/fjardon/gists{/gist_id}","id":121402,"login":"fjardon"},{"type":"User","url":"https://api.github.com/users/cjuniet","repos_url":"https://api.github.com/users/cjuniet/repos","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/cjuniet/orgs","received_events_url":"https://api.github.com/users/cjuniet/received_events","events_url":"https://api.github.com/users/cjuniet/events{/privacy}","followers_url":"https://api.github.com/users/cjuniet/followers","starred_url":"https://api.github.com/users/cjuniet/starred{/owner}{/repo}","following_url":"https://api.github.com/users/cjuniet/following","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","subscriptions_url":"https://api.github.com/users/cjuniet/subscriptions","gists_url":"https://api.github.com/users/cjuniet/gists{/gist_id}","id":1233553,"login":"cjuniet"},{"type":"User","url":"https://api.github.com/users/jardon-u","repos_url":"https://api.github.com/users/jardon-u/repos","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/jardon-u/orgs","received_events_url":"https://api.github.com/users/jardon-u/received_events","events_url":"https://api.github.com/users/jardon-u/events{/privacy}","followers_url":"https://api.github.com/users/jardon-u/followers","starred_url":"https://api.github.com/users/jardon-u/starred{/owner}{/repo}","following_url":"https://api.github.com/users/jardon-u/following","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","subscriptions_url":"https://api.github.com/users/jardon-u/subscriptions","gists_url":"https://api.github.com/users/jardon-u/gists{/gist_id}","id":994192,"login":"jardon-u"},{"type":"User","url":"https://api.github.com/users/kamaradclimber","repos_url":"https://api.github.com/users/kamaradclimber/repos","avatar_url":"https://secure.gravatar.com/avatar/0c43eba4a99f65e071e66e684cea8177?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/kamaradclimber/orgs","received_events_url":"https://api.github.com/users/kamaradclimber/received_events","events_url":"https://api.github.com/users/kamaradclimber/events{/privacy}","followers_url":"https://api.github.com/users/kamaradclimber/followers","starred_url":"https://api.github.com/users/kamaradclimber/starred{/owner}{/repo}","following_url":"https://api.github.com/users/kamaradclimber/following","gravatar_id":"0c43eba4a99f65e071e66e684cea8177","subscriptions_url":"https://api.github.com/users/kamaradclimber/subscriptions","gists_url":"https://api.github.com/users/kamaradclimber/gists{/gist_id}","id":503537,"login":"kamaradclimber"},{"type":"User","url":"https://api.github.com/users/L42y","repos_url":"https://api.github.com/users/L42y/repos","avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/L42y/orgs","received_events_url":"https://api.github.com/users/L42y/received_events","events_url":"https://api.github.com/users/L42y/events{/privacy}","followers_url":"https://api.github.com/users/L42y/followers","starred_url":"https://api.github.com/users/L42y/starred{/owner}{/repo}","following_url":"https://api.github.com/users/L42y/following","gravatar_id":"4dc11d87759273f3466ab4f673bcecae","subscriptions_url":"https://api.github.com/users/L42y/subscriptions","gists_url":"https://api.github.com/users/L42y/gists{/gist_id}","id":284820,"login":"L42y"},{"type":"User","url":"https://api.github.com/users/jobar","repos_url":"https://api.github.com/users/jobar/repos","avatar_url":"https://secure.gravatar.com/avatar/c9d5df4c0be8b077f3cd8edde2f02c9e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/jobar/orgs","received_events_url":"https://api.github.com/users/jobar/received_events","events_url":"https://api.github.com/users/jobar/events{/privacy}","followers_url":"https://api.github.com/users/jobar/followers","starred_url":"https://api.github.com/users/jobar/starred{/owner}{/repo}","following_url":"https://api.github.com/users/jobar/following","gravatar_id":"c9d5df4c0be8b077f3cd8edde2f02c9e","subscriptions_url":"https://api.github.com/users/jobar/subscriptions","gists_url":"https://api.github.com/users/jobar/gists{/gist_id}","id":1686047,"login":"jobar"},{"type":"User","url":"https://api.github.com/users/koobs","repos_url":"https://api.github.com/users/koobs/repos","avatar_url":"https://secure.gravatar.com/avatar/a083cdd9096b4a5623a298d6b4d590a8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/koobs/orgs","received_events_url":"https://api.github.com/users/koobs/received_events","events_url":"https://api.github.com/users/koobs/events{/privacy}","followers_url":"https://api.github.com/users/koobs/followers","starred_url":"https://api.github.com/users/koobs/starred{/owner}{/repo}","following_url":"https://api.github.com/users/koobs/following","gravatar_id":"a083cdd9096b4a5623a298d6b4d590a8","subscriptions_url":"https://api.github.com/users/koobs/subscriptions","gists_url":"https://api.github.com/users/koobs/gists{/gist_id}","id":1011612,"login":"koobs"},{"type":"User","url":"https://api.github.com/users/csjaba","repos_url":"https://api.github.com/users/csjaba/repos","avatar_url":"https://secure.gravatar.com/avatar/487684504c90d530bc674ea554acb9c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/csjaba/orgs","received_events_url":"https://api.github.com/users/csjaba/received_events","events_url":"https://api.github.com/users/csjaba/events{/privacy}","followers_url":"https://api.github.com/users/csjaba/followers","starred_url":"https://api.github.com/users/csjaba/starred{/owner}{/repo}","following_url":"https://api.github.com/users/csjaba/following","gravatar_id":"487684504c90d530bc674ea554acb9c5","subscriptions_url":"https://api.github.com/users/csjaba/subscriptions","gists_url":"https://api.github.com/users/csjaba/gists{/gist_id}","id":2398264,"login":"csjaba"},{"type":"User","url":"https://api.github.com/users/jtrigalo","repos_url":"https://api.github.com/users/jtrigalo/repos","avatar_url":"https://secure.gravatar.com/avatar/7cf8013e6d87e3d7458dfff8dee27bea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/jtrigalo/orgs","received_events_url":"https://api.github.com/users/jtrigalo/received_events","events_url":"https://api.github.com/users/jtrigalo/events{/privacy}","followers_url":"https://api.github.com/users/jtrigalo/followers","starred_url":"https://api.github.com/users/jtrigalo/starred{/owner}{/repo}","following_url":"https://api.github.com/users/jtrigalo/following","gravatar_id":"7cf8013e6d87e3d7458dfff8dee27bea","subscriptions_url":"https://api.github.com/users/jtrigalo/subscriptions","gists_url":"https://api.github.com/users/jtrigalo/gists{/gist_id}","id":2675607,"login":"jtrigalo"},{"type":"User","url":"https://api.github.com/users/nicuveo","repos_url":"https://api.github.com/users/nicuveo/repos","avatar_url":"https://secure.gravatar.com/avatar/d7b0dfff3ee3c7b1eba8ac9e9a3b43b6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/nicuveo/orgs","received_events_url":"https://api.github.com/users/nicuveo/received_events","events_url":"https://api.github.com/users/nicuveo/events{/privacy}","followers_url":"https://api.github.com/users/nicuveo/followers","starred_url":"https://api.github.com/users/nicuveo/starred{/owner}{/repo}","following_url":"https://api.github.com/users/nicuveo/following","gravatar_id":"d7b0dfff3ee3c7b1eba8ac9e9a3b43b6","subscriptions_url":"https://api.github.com/users/nicuveo/subscriptions","gists_url":"https://api.github.com/users/nicuveo/gists{/gist_id}","id":1618949,"login":"nicuveo"},{"type":"User","url":"https://api.github.com/users/MariusNV","repos_url":"https://api.github.com/users/MariusNV/repos","avatar_url":"https://secure.gravatar.com/avatar/1ba6c81323b8482294b9d50de14bd18b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/MariusNV/orgs","received_events_url":"https://api.github.com/users/MariusNV/received_events","events_url":"https://api.github.com/users/MariusNV/events{/privacy}","followers_url":"https://api.github.com/users/MariusNV/followers","starred_url":"https://api.github.com/users/MariusNV/starred{/owner}{/repo}","following_url":"https://api.github.com/users/MariusNV/following","gravatar_id":"1ba6c81323b8482294b9d50de14bd18b","subscriptions_url":"https://api.github.com/users/MariusNV/subscriptions","gists_url":"https://api.github.com/users/MariusNV/gists{/gist_id}","id":2228498,"login":"MariusNV"},{"type":"User","url":"https://api.github.com/users/llubu","repos_url":"https://api.github.com/users/llubu/repos","avatar_url":"https://secure.gravatar.com/avatar/02249adde786dbff8b8fa21d9d1bd601?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/llubu/orgs","received_events_url":"https://api.github.com/users/llubu/received_events","events_url":"https://api.github.com/users/llubu/events{/privacy}","followers_url":"https://api.github.com/users/llubu/followers","starred_url":"https://api.github.com/users/llubu/starred{/owner}{/repo}","following_url":"https://api.github.com/users/llubu/following","gravatar_id":"02249adde786dbff8b8fa21d9d1bd601","subscriptions_url":"https://api.github.com/users/llubu/subscriptions","gists_url":"https://api.github.com/users/llubu/gists{/gist_id}","id":1433937,"login":"llubu"},{"type":"User","url":"https://api.github.com/users/cancerhermit","repos_url":"https://api.github.com/users/cancerhermit/repos","avatar_url":"https://secure.gravatar.com/avatar/9be6dcfe3820b88a23001e4758ca6703?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/cancerhermit/orgs","received_events_url":"https://api.github.com/users/cancerhermit/received_events","events_url":"https://api.github.com/users/cancerhermit/events{/privacy}","followers_url":"https://api.github.com/users/cancerhermit/followers","starred_url":"https://api.github.com/users/cancerhermit/starred{/owner}{/repo}","following_url":"https://api.github.com/users/cancerhermit/following","gravatar_id":"9be6dcfe3820b88a23001e4758ca6703","subscriptions_url":"https://api.github.com/users/cancerhermit/subscriptions","gists_url":"https://api.github.com/users/cancerhermit/gists{/gist_id}","id":1584557,"login":"cancerhermit"},{"type":"User","url":"https://api.github.com/users/mt3","repos_url":"https://api.github.com/users/mt3/repos","avatar_url":"https://secure.gravatar.com/avatar/db57d04ef17c0c3a45a27059e4667f64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","organizations_url":"https://api.github.com/users/mt3/orgs","received_events_url":"https://api.github.com/users/mt3/received_events","events_url":"https://api.github.com/users/mt3/events{/privacy}","followers_url":"https://api.github.com/users/mt3/followers","starred_url":"https://api.github.com/users/mt3/starred{/owner}{/repo}","following_url":"https://api.github.com/users/mt3/following","gravatar_id":"db57d04ef17c0c3a45a27059e4667f64","subscriptions_url":"https://api.github.com/users/mt3/subscriptions","gists_url":"https://api.github.com/users/mt3/gists{/gist_id}","id":227318,"login":"mt3"}] - diff --git a/github/tests/ReplayData/Issue134.testGetAuthorizationsFailsWhenAutenticatedThroughOAuth.txt b/github/tests/ReplayData/Issue134.testGetAuthorizationsFailsWhenAutenticatedThroughOAuth.txt deleted file mode 100644 index 8694882..0000000 --- a/github/tests/ReplayData/Issue134.testGetAuthorizationsFailsWhenAutenticatedThroughOAuth.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/authorizations -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('content-length', '23'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '55'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('cache-control', ''), ('date', 'Tue, 29 Jan 2013 18:19:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Issue134.testGetAuthorizationsSucceedsWhenAutenticatedThroughLoginPassword.txt b/github/tests/ReplayData/Issue134.testGetAuthorizationsSucceedsWhenAutenticatedThroughLoginPassword.txt deleted file mode 100644 index 77146e0..0000000 --- a/github/tests/ReplayData/Issue134.testGetAuthorizationsSucceedsWhenAutenticatedThroughLoginPassword.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/authorizations -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1930'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4928'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 29 Jan 2013 17:36:52 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1ee9c020e28a8e60c0ed7eee863a79fc"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Tue, 29 Jan 2013 18:19:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"token":"private_token_removed","url":"https://api.github.com/authorizations/619306","updated_at":"2012-09-03T08:35:36Z","scopes":[],"created_at":"2012-09-02T15:30:23Z","app":{"url":"http://upverter.com","name":"Upverter"},"note":null,"id":619306,"note_url":null},{"token":"private_token_removed","url":"https://api.github.com/authorizations/648494","updated_at":"2013-01-29T17:36:52Z","scopes":["public_repo","user:email"],"created_at":"2012-09-16T07:13:01Z","app":{"url":"https://travis-ci.org","name":"Travis"},"note":null,"id":648494,"note_url":null},{"token":"private_token_removed","url":"https://api.github.com/authorizations/651653","updated_at":"2012-09-17T21:05:19Z","scopes":["user","repo","gists","delete_repo"],"created_at":"2012-09-17T21:05:19Z","app":{"url":"https://github.com/CMB/cligh","name":"cligh (API)"},"note":"cligh","id":651653,"note_url":"https://github.com/CMB/cligh"},{"token":"private_token_removed","url":"https://api.github.com/authorizations/816763","updated_at":"2012-12-19T09:22:09Z","scopes":[],"created_at":"2012-11-15T17:47:48Z","app":{"url":"https://coderwall.com","name":"coderwall.com"},"note":null,"id":816763,"note_url":null},{"token":"private_token_removed","url":"https://api.github.com/authorizations/974947","updated_at":"2012-12-19T09:17:20Z","scopes":["public_repo"],"created_at":"2012-12-19T09:15:32Z","app":{"url":"http://geekli.st/","name":"Geeklist, Inc."},"note":null,"id":974947,"note_url":null},{"token":"private_token_removed","url":"https://api.github.com/authorizations/1348532","updated_at":"2013-01-27T11:51:21Z","scopes":["repo","user","gist"],"created_at":"2013-01-27T11:51:21Z","app":{"url":"https://github.com/github/android","name":"GitHub Android App (API)"},"note":"GitHub Android App","id":1348532,"note_url":"https://github.com/github/android"}] - diff --git a/github/tests/ReplayData/Issue134.testGetOAuthScopesFromHeader.txt b/github/tests/ReplayData/Issue134.testGetOAuthScopesFromHeader.txt deleted file mode 100644 index 704fe86..0000000 --- a/github/tests/ReplayData/Issue134.testGetOAuthScopesFromHeader.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1464'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 05 Feb 2013 18:44:48 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9257360a3470aac247f722352581abb1"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Tue, 05 Feb 2013 22:57:03 GMT'), ('x-oauth-scopes', 'repo, user, gist'), ('content-type', 'application/json; charset=utf-8'), ('x-accepted-oauth-scopes', 'user:follow, user:email, user')] -{"public_repos":21,"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","followers_url":"https://api.github.com/users/jacquev6/followers","url":"https://api.github.com/users/jacquev6","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","following_url":"https://api.github.com/users/jacquev6/following","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","total_private_repos":4,"following":37,"html_url":"https://github.com/jacquev6","created_at":"2010-07-09T06:10:06Z","collaborators":1,"location":"Paris, France","received_events_url":"https://api.github.com/users/jacquev6/received_events","owned_private_repos":4,"followers":22,"organizations_url":"https://api.github.com/users/jacquev6/orgs","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","email":"vincent@vincent-jacques.net","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","disk_usage":13360,"public_gists":2,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","hireable":false,"plan":{"collaborators":1,"space":614400,"name":"micro","private_repos":5},"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","id":327146,"login":"jacquev6","private_gists":5,"updated_at":"2013-02-05T18:44:48Z","company":"Criteo","bio":""} - diff --git a/github/tests/ReplayData/Issue139.setUp.txt b/github/tests/ReplayData/Issue139.setUp.txt deleted file mode 100644 index fd2c1f9..0000000 --- a/github/tests/ReplayData/Issue139.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1464'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4994'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 07 Feb 2013 18:20:14 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e0a49ecde4e224bb688cb9d21b420114"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 08 Feb 2013 07:27:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"collaborators":1,"plan":{"collaborators":1,"space":614400,"private_repos":5,"name":"micro"},"blog":"http://vincent-jacques.net","type":"User","company":"Criteo","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","total_private_repos":4,"following":37,"created_at":"2010-07-09T06:10:06Z","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","following_url":"https://api.github.com/users/jacquev6/following","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_gists":2,"location":"Paris, France","received_events_url":"https://api.github.com/users/jacquev6/received_events","owned_private_repos":4,"public_repos":21,"private_gists":5,"followers":22,"email":"vincent@vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","html_url":"https://github.com/jacquev6","hireable":false,"organizations_url":"https://api.github.com/users/jacquev6/orgs","name":"Vincent Jacques","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","disk_usage":13312,"updated_at":"2013-02-07T18:20:14Z","bio":"","id":327146,"repos_url":"https://api.github.com/users/jacquev6/repos"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '4615'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4993'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 08 Feb 2013 05:51:24 GMT'), ('connection', 'keep-alive'), ('etag', '"846e3aa719a81e1f9c6cedaa6bab919e"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 08 Feb 2013 07:27:50 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"id":3544490,"archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","fork":false,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","watchers":152,"has_wiki":true,"notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags{/tag}","forks_count":43,"default_branch":"master","open_issues":12,"created_at":"2012-02-25T12:53:47Z","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","master_branch":"master","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","pushed_at":"2013-02-07T18:10:11Z","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","language":"Python","description":"Python library implementing the full Github API v3","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","forks":43,"collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","ssh_url":"git@github.com:jacquev6/PyGithub.git","watchers_count":152,"url":"https://api.github.com/repos/jacquev6/PyGithub","updated_at":"2013-02-08T05:51:24Z","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","homepage":"http://vincent-jacques.net/PyGithub","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","has_downloads":true,"has_issues":true,"clone_url":"https://github.com/jacquev6/PyGithub.git","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","private":false,"keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","git_url":"git://github.com/jacquev6/PyGithub.git","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","name":"PyGithub","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","permissions":{"push":true,"admin":true,"pull":true},"open_issues_count":12,"issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","size":384,"issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","network_count":43,"contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","owner":{"type":"User","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","followers_url":"https://api.github.com/users/jacquev6/followers","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","following_url":"https://api.github.com/users/jacquev6/following","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","organizations_url":"https://api.github.com/users/jacquev6/orgs","login":"jacquev6","id":327146}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/139 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '4824'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4992'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 08 Feb 2013 07:13:44 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4194b45d4744a28a5b6393ef05bd3bbc"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 08 Feb 2013 07:27:50 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_by":null,"events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/events","created_at":"2013-02-07T22:12:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139","body":"I noticed that calls to a user object (e.g. user.email, user.location etc) caused multiple calls to GitHub. Looking at GithubObject.py I see several references to __completed and one to _completed (single underscore) on line 72. Changing line 72 to use a double underscore removed the repeated calls to Github.\r\n\r\nI tried to run your tests but can't figure out how to do so? I'd have left you a pull request if so. I tried \"python -m unittest discover\" and also just running the files, I'm not familiar with the format you've used. I'm happy to run with logs etc if that's useful (some guidance on how to run the tests would be super helpful too). Thanks, Ian.","user":{"type":"User","events_url":"https://api.github.com/users/ianozsvald/events{/privacy}","followers_url":"https://api.github.com/users/ianozsvald/followers","subscriptions_url":"https://api.github.com/users/ianozsvald/subscriptions","gists_url":"https://api.github.com/users/ianozsvald/gists{/gist_id}","following_url":"https://api.github.com/users/ianozsvald/following","url":"https://api.github.com/users/ianozsvald","avatar_url":"https://secure.gravatar.com/avatar/3d644406158b4d440111903db1f62622?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","received_events_url":"https://api.github.com/users/ianozsvald/received_events","gravatar_id":"3d644406158b4d440111903db1f62622","organizations_url":"https://api.github.com/users/ianozsvald/orgs","starred_url":"https://api.github.com/users/ianozsvald/starred{/owner}{/repo}","login":"ianozsvald","id":273210,"repos_url":"https://api.github.com/users/ianozsvald/repos"},"comments_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/comments","closed_at":null,"milestone":{"due_on":null,"created_at":"2013-02-07T18:19:05Z","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21","open_issues":3,"description":"","creator":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","following_url":"https://api.github.com/users/jacquev6/following","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","received_events_url":"https://api.github.com/users/jacquev6/received_events","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","id":327146,"repos_url":"https://api.github.com/users/jacquev6/repos"},"closed_issues":0,"state":"open","title":"Version 1.11.1","number":21,"updated_at":"2013-02-08T07:11:03Z","id":262264,"labels_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/21/labels"},"state":"open","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"}],"title":"Typo in GithubObject \"self._completed\" -> \"self.__completed\"?","number":139,"html_url":"https://github.com/jacquev6/PyGithub/issues/139","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"updated_at":"2013-02-08T07:13:44Z","id":10758585,"labels_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/139/labels{/name}","comments":1,"assignee":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","following_url":"https://api.github.com/users/jacquev6/following","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","received_events_url":"https://api.github.com/users/jacquev6/received_events","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","id":327146,"repos_url":"https://api.github.com/users/jacquev6/repos"}} - diff --git a/github/tests/ReplayData/Issue139.testCompletion.txt b/github/tests/ReplayData/Issue139.testCompletion.txt deleted file mode 100644 index f1124e6..0000000 --- a/github/tests/ReplayData/Issue139.testCompletion.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/ianozsvald -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1278'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 07 Feb 2013 22:12:31 GMT'), ('connection', 'keep-alive'), ('etag', '"c7e39237717a6e60232f1dde7c4dcb73"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 08 Feb 2013 07:27:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_repos":26,"company":"Mor Consulting Ltd","events_url":"https://api.github.com/users/ianozsvald/events{/privacy}","followers_url":"https://api.github.com/users/ianozsvald/followers","following":4,"created_at":"2010-05-11T10:22:02Z","hireable":true,"subscriptions_url":"https://api.github.com/users/ianozsvald/subscriptions","gists_url":"https://api.github.com/users/ianozsvald/gists{/gist_id}","following_url":"https://api.github.com/users/ianozsvald/following","url":"https://api.github.com/users/ianozsvald","html_url":"https://github.com/ianozsvald","location":"London, UK","bio":null,"starred_url":"https://api.github.com/users/ianozsvald/starred{/owner}{/repo}","avatar_url":"https://secure.gravatar.com/avatar/3d644406158b4d440111903db1f62622?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","followers":45,"email":null,"gravatar_id":"3d644406158b4d440111903db1f62622","repos_url":"https://api.github.com/users/ianozsvald/repos","organizations_url":"https://api.github.com/users/ianozsvald/orgs","public_gists":2,"name":"Ian Ozsvald","login":"ianozsvald","updated_at":"2013-02-07T22:12:31Z","blog":"ianozsvald.com","received_events_url":"https://api.github.com/users/ianozsvald/received_events","id":273210} - diff --git a/github/tests/ReplayData/Issue140.setUp.txt b/github/tests/ReplayData/Issue140.setUp.txt deleted file mode 100644 index 013209c..0000000 --- a/github/tests/ReplayData/Issue140.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '5618'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 16 Feb 2013 17:39:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bae4e11b2e038d9086f79ccf6828879"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 16 Feb 2013 17:59:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"id":2126244,"name":"bootstrap","full_name":"twitter/bootstrap","owner":{"login":"twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","url":"https://api.github.com/users/twitter","followers_url":"https://api.github.com/users/twitter/followers","following_url":"https://api.github.com/users/twitter/following","gists_url":"https://api.github.com/users/twitter/gists{/gist_id}","starred_url":"https://api.github.com/users/twitter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twitter/subscriptions","organizations_url":"https://api.github.com/users/twitter/orgs","repos_url":"https://api.github.com/users/twitter/repos","events_url":"https://api.github.com/users/twitter/events{/privacy}","received_events_url":"https://api.github.com/users/twitter/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/twitter/bootstrap","description":"Sleek, intuitive, and powerful front-end framework for faster and easier web development.","fork":false,"url":"https://api.github.com/repos/twitter/bootstrap","forks_url":"https://api.github.com/repos/twitter/bootstrap/forks","keys_url":"https://api.github.com/repos/twitter/bootstrap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/twitter/bootstrap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/twitter/bootstrap/teams","hooks_url":"https://api.github.com/repos/twitter/bootstrap/hooks","issue_events_url":"https://api.github.com/repos/twitter/bootstrap/issues/events{/number}","events_url":"https://api.github.com/repos/twitter/bootstrap/events","assignees_url":"https://api.github.com/repos/twitter/bootstrap/assignees{/user}","branches_url":"https://api.github.com/repos/twitter/bootstrap/branches{/branch}","tags_url":"https://api.github.com/repos/twitter/bootstrap/tags{/tag}","blobs_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/twitter/bootstrap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/twitter/bootstrap/git/refs{/sha}","trees_url":"https://api.github.com/repos/twitter/bootstrap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/twitter/bootstrap/statuses/{sha}","languages_url":"https://api.github.com/repos/twitter/bootstrap/languages","stargazers_url":"https://api.github.com/repos/twitter/bootstrap/stargazers","contributors_url":"https://api.github.com/repos/twitter/bootstrap/contributors","subscribers_url":"https://api.github.com/repos/twitter/bootstrap/subscribers","subscription_url":"https://api.github.com/repos/twitter/bootstrap/subscription","commits_url":"https://api.github.com/repos/twitter/bootstrap/commits{/sha}","git_commits_url":"https://api.github.com/repos/twitter/bootstrap/git/commits{/sha}","comments_url":"https://api.github.com/repos/twitter/bootstrap/comments{/number}","issue_comment_url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/{number}","contents_url":"https://api.github.com/repos/twitter/bootstrap/contents/{+path}","compare_url":"https://api.github.com/repos/twitter/bootstrap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/twitter/bootstrap/merges","archive_url":"https://api.github.com/repos/twitter/bootstrap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/twitter/bootstrap/downloads","issues_url":"https://api.github.com/repos/twitter/bootstrap/issues{/number}","pulls_url":"https://api.github.com/repos/twitter/bootstrap/pulls{/number}","milestones_url":"https://api.github.com/repos/twitter/bootstrap/milestones{/number}","notifications_url":"https://api.github.com/repos/twitter/bootstrap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/twitter/bootstrap/labels{/name}","created_at":"2011-07-29T21:19:00Z","updated_at":"2013-02-16T17:39:19Z","pushed_at":"2013-02-16T10:49:39Z","git_url":"git://github.com/twitter/bootstrap.git","ssh_url":"git@github.com:twitter/bootstrap.git","clone_url":"https://github.com/twitter/bootstrap.git","svn_url":"https://github.com/twitter/bootstrap","homepage":"http://twitter.github.com/bootstrap","size":2524,"watchers_count":44894,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":12535,"mirror_url":null,"open_issues_count":56,"forks":12535,"open_issues":56,"watchers":44894,"master_branch":"master","default_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"network_count":12535,"organization":{"login":"twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","url":"https://api.github.com/users/twitter","followers_url":"https://api.github.com/users/twitter/followers","following_url":"https://api.github.com/users/twitter/following","gists_url":"https://api.github.com/users/twitter/gists{/gist_id}","starred_url":"https://api.github.com/users/twitter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twitter/subscriptions","organizations_url":"https://api.github.com/users/twitter/orgs","repos_url":"https://api.github.com/users/twitter/repos","events_url":"https://api.github.com/users/twitter/events{/privacy}","received_events_url":"https://api.github.com/users/twitter/received_events","type":"Organization"}} - diff --git a/github/tests/ReplayData/Issue140.testGetDirContents.txt b/github/tests/ReplayData/Issue140.testGetDirContents.txt deleted file mode 100644 index 6a9031d..0000000 --- a/github/tests/ReplayData/Issue140.testGetDirContents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '10514'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 16 Feb 2013 17:39:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bae4e11b2e038d9086f79ccf6828879"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 16 Feb 2013 17:40:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"sha":"e0722690bd73b3195d87577aab3bba151a85f7e0","size":232,"name":".jshintrc","path":"js/.jshintrc","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html_url":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc"}},{"sha":"7595fdb06771c324e1c3e0a166fdeafa1933e0f5","size":3483,"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js"}},{"sha":"b5627984e4ca3b49ae63943aa9f0204c266c65af","size":2524,"name":"bootstrap-alert.js","path":"js/bootstrap-alert.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js"}},{"sha":"045927b6ba732ada14dbf5c0ec296623b37a5121","size":2841,"name":"bootstrap-button.js","path":"js/bootstrap-button.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js"}},{"sha":"604552012b170bc20579c13d724883c253dd152a","size":6053,"name":"bootstrap-carousel.js","path":"js/bootstrap-carousel.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js"}},{"sha":"7bbad8e43aba9a778fa54650237f7acb96e783c9","size":4735,"name":"bootstrap-collapse.js","path":"js/bootstrap-collapse.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js"}},{"sha":"ec86cf0d709577fc840a64123993dc69c6ae292a","size":4198,"name":"bootstrap-dropdown.js","path":"js/bootstrap-dropdown.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js"}},{"sha":"b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","size":6638,"name":"bootstrap-modal.js","path":"js/bootstrap-modal.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js"}},{"sha":"0e7774bf668c75a7b93989a1146fbb8822d5489d","size":3115,"name":"bootstrap-popover.js","path":"js/bootstrap-popover.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js"}},{"sha":"dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","size":4655,"name":"bootstrap-scrollspy.js","path":"js/bootstrap-scrollspy.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js"}},{"sha":"bd77eb5c358074801f20de0f46b1e2e9d1b1247b","size":3496,"name":"bootstrap-tab.js","path":"js/bootstrap-tab.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js"}},{"sha":"981319077e9bdb4ea0dcbee50dfe5715a54b4c51","size":9694,"name":"bootstrap-tooltip.js","path":"js/bootstrap-tooltip.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js"}},{"sha":"64f275778094043dc871f94ceacadbe7f74f9734","size":1756,"name":"bootstrap-transition.js","path":"js/bootstrap-transition.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js"}},{"sha":"960f2af85a7ced44c4e3190255ee3092c3665bbb","size":8320,"name":"bootstrap-typeahead.js","path":"js/bootstrap-typeahead.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js"}},{"sha":"f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","size":0,"name":"tests","path":"js/tests","type":"dir","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git_url":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html_url":"https://github.com/twitter/bootstrap/tree/master/js/tests","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html":"https://github.com/twitter/bootstrap/tree/master/js/tests"}}] - diff --git a/github/tests/ReplayData/Issue140.testGetDirContentsThenLazyCompletionOfFile.txt b/github/tests/ReplayData/Issue140.testGetDirContentsThenLazyCompletionOfFile.txt deleted file mode 100644 index 898ffaf..0000000 --- a/github/tests/ReplayData/Issue140.testGetDirContentsThenLazyCompletionOfFile.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '10514'), ('server', 'GitHub.com'), ('last-modified', 'Sat, 16 Feb 2013 17:39:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bae4e11b2e038d9086f79ccf6828879"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 16 Feb 2013 17:59:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"sha":"e0722690bd73b3195d87577aab3bba151a85f7e0","size":232,"name":".jshintrc","path":"js/.jshintrc","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html_url":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc"}},{"sha":"7595fdb06771c324e1c3e0a166fdeafa1933e0f5","size":3483,"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js"}},{"sha":"b5627984e4ca3b49ae63943aa9f0204c266c65af","size":2524,"name":"bootstrap-alert.js","path":"js/bootstrap-alert.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js"}},{"sha":"045927b6ba732ada14dbf5c0ec296623b37a5121","size":2841,"name":"bootstrap-button.js","path":"js/bootstrap-button.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js"}},{"sha":"604552012b170bc20579c13d724883c253dd152a","size":6053,"name":"bootstrap-carousel.js","path":"js/bootstrap-carousel.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js"}},{"sha":"7bbad8e43aba9a778fa54650237f7acb96e783c9","size":4735,"name":"bootstrap-collapse.js","path":"js/bootstrap-collapse.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js"}},{"sha":"ec86cf0d709577fc840a64123993dc69c6ae292a","size":4198,"name":"bootstrap-dropdown.js","path":"js/bootstrap-dropdown.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js"}},{"sha":"b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","size":6638,"name":"bootstrap-modal.js","path":"js/bootstrap-modal.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js"}},{"sha":"0e7774bf668c75a7b93989a1146fbb8822d5489d","size":3115,"name":"bootstrap-popover.js","path":"js/bootstrap-popover.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js"}},{"sha":"dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","size":4655,"name":"bootstrap-scrollspy.js","path":"js/bootstrap-scrollspy.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js"}},{"sha":"bd77eb5c358074801f20de0f46b1e2e9d1b1247b","size":3496,"name":"bootstrap-tab.js","path":"js/bootstrap-tab.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js"}},{"sha":"981319077e9bdb4ea0dcbee50dfe5715a54b4c51","size":9694,"name":"bootstrap-tooltip.js","path":"js/bootstrap-tooltip.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js"}},{"sha":"64f275778094043dc871f94ceacadbe7f74f9734","size":1756,"name":"bootstrap-transition.js","path":"js/bootstrap-transition.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js"}},{"sha":"960f2af85a7ced44c4e3190255ee3092c3665bbb","size":8320,"name":"bootstrap-typeahead.js","path":"js/bootstrap-typeahead.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js"}},{"sha":"f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","size":0,"name":"tests","path":"js/tests","type":"dir","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git_url":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html_url":"https://github.com/twitter/bootstrap/tree/master/js/tests","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html":"https://github.com/twitter/bootstrap/tree/master/js/tests"}}] - -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js/bootstrap-affix.js -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '5532'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 08 Feb 2013 06:13:13 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"23daa8e0f42915d5ce84a6a117122afa"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 16 Feb 2013 17:59:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"7595fdb06771c324e1c3e0a166fdeafa1933e0f5","size":3483,"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js"},"content":"LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PQogKiBib290c3RyYXAtYWZmaXguanMgdjIuMy4w\nCiAqIGh0dHA6Ly90d2l0dGVyLmdpdGh1Yi5jb20vYm9vdHN0cmFwL2phdmFz\nY3JpcHQuaHRtbCNhZmZpeAogKiA9PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIENvcHlyaWdo\ndCAyMDEyIFR3aXR0ZXIsIEluYy4KICoKICogTGljZW5zZWQgdW5kZXIgdGhl\nIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7\nCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs\naWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBj\nb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqIGh0dHA6Ly93d3cuYXBhY2hl\nLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWly\nZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcs\nIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz\nIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQg\nV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg\nZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRo\nZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5k\nCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKiA9PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09ICovCgoKIWZ1bmN0aW9uICgkKSB7CgogICJ1c2Ugc3RyaWN0Ijsg\nLy8ganNoaW50IDtfOwoKCiAvKiBBRkZJWCBDTEFTUyBERUZJTklUSU9OCiAg\nKiA9PT09PT09PT09PT09PT09PT09PT09ICovCgogIHZhciBBZmZpeCA9IGZ1\nbmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7CiAgICB0aGlzLm9wdGlvbnMg\nPSAkLmV4dGVuZCh7fSwgJC5mbi5hZmZpeC5kZWZhdWx0cywgb3B0aW9ucykK\nICAgIHRoaXMuJHdpbmRvdyA9ICQod2luZG93KQogICAgICAub24oJ3Njcm9s\nbC5hZmZpeC5kYXRhLWFwaScsICQucHJveHkodGhpcy5jaGVja1Bvc2l0aW9u\nLCB0aGlzKSkKICAgICAgLm9uKCdjbGljay5hZmZpeC5kYXRhLWFwaScsICAk\nLnByb3h5KGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dCgkLnByb3h5KHRoaXMu\nY2hlY2tQb3NpdGlvbiwgdGhpcyksIDEpIH0sIHRoaXMpKQogICAgdGhpcy4k\nZWxlbWVudCA9ICQoZWxlbWVudCkKICAgIHRoaXMuY2hlY2tQb3NpdGlvbigp\nCiAgfQoKICBBZmZpeC5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbiA9IGZ1bmN0\naW9uICgpIHsKICAgIGlmICghdGhpcy4kZWxlbWVudC5pcygnOnZpc2libGUn\nKSkgcmV0dXJuCgogICAgdmFyIHNjcm9sbEhlaWdodCA9ICQoZG9jdW1lbnQp\nLmhlaWdodCgpCiAgICAgICwgc2Nyb2xsVG9wID0gdGhpcy4kd2luZG93LnNj\ncm9sbFRvcCgpCiAgICAgICwgcG9zaXRpb24gPSB0aGlzLiRlbGVtZW50Lm9m\nZnNldCgpCiAgICAgICwgb2Zmc2V0ID0gdGhpcy5vcHRpb25zLm9mZnNldAog\nICAgICAsIG9mZnNldEJvdHRvbSA9IG9mZnNldC5ib3R0b20KICAgICAgLCBv\nZmZzZXRUb3AgPSBvZmZzZXQudG9wCiAgICAgICwgcmVzZXQgPSAnYWZmaXgg\nYWZmaXgtdG9wIGFmZml4LWJvdHRvbScKICAgICAgLCBhZmZpeAoKICAgIGlm\nICh0eXBlb2Ygb2Zmc2V0ICE9ICdvYmplY3QnKSBvZmZzZXRCb3R0b20gPSBv\nZmZzZXRUb3AgPSBvZmZzZXQKICAgIGlmICh0eXBlb2Ygb2Zmc2V0VG9wID09\nICdmdW5jdGlvbicpIG9mZnNldFRvcCA9IG9mZnNldC50b3AoKQogICAgaWYg\nKHR5cGVvZiBvZmZzZXRCb3R0b20gPT0gJ2Z1bmN0aW9uJykgb2Zmc2V0Qm90\ndG9tID0gb2Zmc2V0LmJvdHRvbSgpCgogICAgYWZmaXggPSB0aGlzLnVucGlu\nICE9IG51bGwgJiYgKHNjcm9sbFRvcCArIHRoaXMudW5waW4gPD0gcG9zaXRp\nb24udG9wKSA/CiAgICAgIGZhbHNlICAgIDogb2Zmc2V0Qm90dG9tICE9IG51\nbGwgJiYgKHBvc2l0aW9uLnRvcCArIHRoaXMuJGVsZW1lbnQuaGVpZ2h0KCkg\nPj0gc2Nyb2xsSGVpZ2h0IC0gb2Zmc2V0Qm90dG9tKSA/CiAgICAgICdib3R0\nb20nIDogb2Zmc2V0VG9wICE9IG51bGwgJiYgc2Nyb2xsVG9wIDw9IG9mZnNl\ndFRvcCA/CiAgICAgICd0b3AnICAgIDogZmFsc2UKCiAgICBpZiAodGhpcy5h\nZmZpeGVkID09PSBhZmZpeCkgcmV0dXJuCgogICAgdGhpcy5hZmZpeGVkID0g\nYWZmaXgKICAgIHRoaXMudW5waW4gPSBhZmZpeCA9PSAnYm90dG9tJyA/IHBv\nc2l0aW9uLnRvcCAtIHNjcm9sbFRvcCA6IG51bGwKCiAgICB0aGlzLiRlbGVt\nZW50LnJlbW92ZUNsYXNzKHJlc2V0KS5hZGRDbGFzcygnYWZmaXgnICsgKGFm\nZml4ID8gJy0nICsgYWZmaXggOiAnJykpCiAgfQoKCiAvKiBBRkZJWCBQTFVH\nSU4gREVGSU5JVElPTgogICogPT09PT09PT09PT09PT09PT09PT09PT0gKi8K\nCiAgdmFyIG9sZCA9ICQuZm4uYWZmaXgKCiAgJC5mbi5hZmZpeCA9IGZ1bmN0\naW9uIChvcHRpb24pIHsKICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24g\nKCkgewogICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpCiAgICAgICAgLCBkYXRh\nID0gJHRoaXMuZGF0YSgnYWZmaXgnKQogICAgICAgICwgb3B0aW9ucyA9IHR5\ncGVvZiBvcHRpb24gPT0gJ29iamVjdCcgJiYgb3B0aW9uCiAgICAgIGlmICgh\nZGF0YSkgJHRoaXMuZGF0YSgnYWZmaXgnLCAoZGF0YSA9IG5ldyBBZmZpeCh0\naGlzLCBvcHRpb25zKSkpCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdz\ndHJpbmcnKSBkYXRhW29wdGlvbl0oKQogICAgfSkKICB9CgogICQuZm4uYWZm\naXguQ29uc3RydWN0b3IgPSBBZmZpeAoKICAkLmZuLmFmZml4LmRlZmF1bHRz\nID0gewogICAgb2Zmc2V0OiAwCiAgfQoKCiAvKiBBRkZJWCBOTyBDT05GTElD\nVAogICogPT09PT09PT09PT09PT09PT0gKi8KCiAgJC5mbi5hZmZpeC5ub0Nv\nbmZsaWN0ID0gZnVuY3Rpb24gKCkgewogICAgJC5mbi5hZmZpeCA9IG9sZAog\nICAgcmV0dXJuIHRoaXMKICB9CgoKIC8qIEFGRklYIERBVEEtQVBJCiAgKiA9\nPT09PT09PT09PT09PSAqLwoKICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5j\ndGlvbiAoKSB7CiAgICAkKCdbZGF0YS1zcHk9ImFmZml4Il0nKS5lYWNoKGZ1\nbmN0aW9uICgpIHsKICAgICAgdmFyICRzcHkgPSAkKHRoaXMpCiAgICAgICAg\nLCBkYXRhID0gJHNweS5kYXRhKCkKCiAgICAgIGRhdGEub2Zmc2V0ID0gZGF0\nYS5vZmZzZXQgfHwge30KCiAgICAgIGRhdGEub2Zmc2V0Qm90dG9tICYmIChk\nYXRhLm9mZnNldC5ib3R0b20gPSBkYXRhLm9mZnNldEJvdHRvbSkKICAgICAg\nZGF0YS5vZmZzZXRUb3AgJiYgKGRhdGEub2Zmc2V0LnRvcCA9IGRhdGEub2Zm\nc2V0VG9wKQoKICAgICAgJHNweS5hZmZpeChkYXRhKQogICAgfSkKICB9KQoK\nCn0od2luZG93LmpRdWVyeSk7\n","encoding":"base64"} - diff --git a/github/tests/ReplayData/Issue140.testGetDirContentsWithRef.txt b/github/tests/ReplayData/Issue140.testGetDirContentsWithRef.txt deleted file mode 100644 index aefb161..0000000 --- a/github/tests/ReplayData/Issue140.testGetDirContentsWithRef.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '12794'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 20 Feb 2013 17:41:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1d3ee11cf26854a582d3ae4760013142"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 20 Feb 2013 17:43:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"sha":"e0722690bd73b3195d87577aab3bba151a85f7e0","size":232,"name":".jshintrc","path":"js/.jshintrc","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/.jshintrc","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/.jshintrc"}},{"sha":"7595fdb06771c324e1c3e0a166fdeafa1933e0f5","size":3483,"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-affix.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-affix.js"}},{"sha":"b5627984e4ca3b49ae63943aa9f0204c266c65af","size":2524,"name":"bootstrap-alert.js","path":"js/bootstrap-alert.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-alert.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5627984e4ca3b49ae63943aa9f0204c266c65af","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-alert.js"}},{"sha":"045927b6ba732ada14dbf5c0ec296623b37a5121","size":2841,"name":"bootstrap-button.js","path":"js/bootstrap-button.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-button.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/045927b6ba732ada14dbf5c0ec296623b37a5121","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-button.js"}},{"sha":"604552012b170bc20579c13d724883c253dd152a","size":6053,"name":"bootstrap-carousel.js","path":"js/bootstrap-carousel.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-carousel.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/604552012b170bc20579c13d724883c253dd152a","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-carousel.js"}},{"sha":"7bbad8e43aba9a778fa54650237f7acb96e783c9","size":4735,"name":"bootstrap-collapse.js","path":"js/bootstrap-collapse.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-collapse.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7bbad8e43aba9a778fa54650237f7acb96e783c9","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-collapse.js"}},{"sha":"ec86cf0d709577fc840a64123993dc69c6ae292a","size":4198,"name":"bootstrap-dropdown.js","path":"js/bootstrap-dropdown.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-dropdown.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ec86cf0d709577fc840a64123993dc69c6ae292a","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-dropdown.js"}},{"sha":"b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","size":6638,"name":"bootstrap-modal.js","path":"js/bootstrap-modal.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-modal.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/b5ffa95b3b7639607a279d06b3e5e1c584acb5b4","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-modal.js"}},{"sha":"0e7774bf668c75a7b93989a1146fbb8822d5489d","size":3115,"name":"bootstrap-popover.js","path":"js/bootstrap-popover.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-popover.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0e7774bf668c75a7b93989a1146fbb8822d5489d","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-popover.js"}},{"sha":"dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","size":4655,"name":"bootstrap-scrollspy.js","path":"js/bootstrap-scrollspy.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-scrollspy.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/dff9a3b37518c2ccf6f0fbe23b327860cb6fee08","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-scrollspy.js"}},{"sha":"bd77eb5c358074801f20de0f46b1e2e9d1b1247b","size":3496,"name":"bootstrap-tab.js","path":"js/bootstrap-tab.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-tab.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/bd77eb5c358074801f20de0f46b1e2e9d1b1247b","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-tab.js"}},{"sha":"981319077e9bdb4ea0dcbee50dfe5715a54b4c51","size":9694,"name":"bootstrap-tooltip.js","path":"js/bootstrap-tooltip.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-tooltip.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/981319077e9bdb4ea0dcbee50dfe5715a54b4c51","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-tooltip.js"}},{"sha":"64f275778094043dc871f94ceacadbe7f74f9734","size":1756,"name":"bootstrap-transition.js","path":"js/bootstrap-transition.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-transition.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/64f275778094043dc871f94ceacadbe7f74f9734","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-transition.js"}},{"sha":"960f2af85a7ced44c4e3190255ee3092c3665bbb","size":8320,"name":"bootstrap-typeahead.js","path":"js/bootstrap-typeahead.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html_url":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-typeahead.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js?ref=8c7f9c66a7d12f47f50618ef420868fe836d0c33","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/960f2af85a7ced44c4e3190255ee3092c3665bbb","html":"https://github.com/twitter/bootstrap/blob/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/bootstrap-typeahead.js"}},{"sha":"f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","size":0,"name":"tests","path":"js/tests","type":"dir","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git_url":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html_url":"https://github.com/twitter/bootstrap/tree/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/tests","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests","git":"https://api.github.com/repos/twitter/bootstrap/git/trees/f1ad7515dc05d0e2bc60f7c292e4f2134dcd91cf","html":"https://github.com/twitter/bootstrap/tree/8c7f9c66a7d12f47f50618ef420868fe836d0c33/js/tests"}}] - diff --git a/github/tests/ReplayData/Issue140.testGetFileContents.txt b/github/tests/ReplayData/Issue140.testGetFileContents.txt deleted file mode 100644 index f730314..0000000 --- a/github/tests/ReplayData/Issue140.testGetFileContents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js/bootstrap-affix.js -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '5532'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 08 Feb 2013 06:13:13 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"23daa8e0f42915d5ce84a6a117122afa"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 16 Feb 2013 17:47:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"7595fdb06771c324e1c3e0a166fdeafa1933e0f5","size":3483,"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","type":"file","url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7595fdb06771c324e1c3e0a166fdeafa1933e0f5","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js"},"content":"LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PQogKiBib290c3RyYXAtYWZmaXguanMgdjIuMy4w\nCiAqIGh0dHA6Ly90d2l0dGVyLmdpdGh1Yi5jb20vYm9vdHN0cmFwL2phdmFz\nY3JpcHQuaHRtbCNhZmZpeAogKiA9PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIENvcHlyaWdo\ndCAyMDEyIFR3aXR0ZXIsIEluYy4KICoKICogTGljZW5zZWQgdW5kZXIgdGhl\nIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7\nCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs\naWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBj\nb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqIGh0dHA6Ly93d3cuYXBhY2hl\nLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWly\nZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcs\nIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlz\nIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQg\nV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg\nZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRo\nZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5k\nCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKiA9PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09ICovCgoKIWZ1bmN0aW9uICgkKSB7CgogICJ1c2Ugc3RyaWN0Ijsg\nLy8ganNoaW50IDtfOwoKCiAvKiBBRkZJWCBDTEFTUyBERUZJTklUSU9OCiAg\nKiA9PT09PT09PT09PT09PT09PT09PT09ICovCgogIHZhciBBZmZpeCA9IGZ1\nbmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7CiAgICB0aGlzLm9wdGlvbnMg\nPSAkLmV4dGVuZCh7fSwgJC5mbi5hZmZpeC5kZWZhdWx0cywgb3B0aW9ucykK\nICAgIHRoaXMuJHdpbmRvdyA9ICQod2luZG93KQogICAgICAub24oJ3Njcm9s\nbC5hZmZpeC5kYXRhLWFwaScsICQucHJveHkodGhpcy5jaGVja1Bvc2l0aW9u\nLCB0aGlzKSkKICAgICAgLm9uKCdjbGljay5hZmZpeC5kYXRhLWFwaScsICAk\nLnByb3h5KGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dCgkLnByb3h5KHRoaXMu\nY2hlY2tQb3NpdGlvbiwgdGhpcyksIDEpIH0sIHRoaXMpKQogICAgdGhpcy4k\nZWxlbWVudCA9ICQoZWxlbWVudCkKICAgIHRoaXMuY2hlY2tQb3NpdGlvbigp\nCiAgfQoKICBBZmZpeC5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbiA9IGZ1bmN0\naW9uICgpIHsKICAgIGlmICghdGhpcy4kZWxlbWVudC5pcygnOnZpc2libGUn\nKSkgcmV0dXJuCgogICAgdmFyIHNjcm9sbEhlaWdodCA9ICQoZG9jdW1lbnQp\nLmhlaWdodCgpCiAgICAgICwgc2Nyb2xsVG9wID0gdGhpcy4kd2luZG93LnNj\ncm9sbFRvcCgpCiAgICAgICwgcG9zaXRpb24gPSB0aGlzLiRlbGVtZW50Lm9m\nZnNldCgpCiAgICAgICwgb2Zmc2V0ID0gdGhpcy5vcHRpb25zLm9mZnNldAog\nICAgICAsIG9mZnNldEJvdHRvbSA9IG9mZnNldC5ib3R0b20KICAgICAgLCBv\nZmZzZXRUb3AgPSBvZmZzZXQudG9wCiAgICAgICwgcmVzZXQgPSAnYWZmaXgg\nYWZmaXgtdG9wIGFmZml4LWJvdHRvbScKICAgICAgLCBhZmZpeAoKICAgIGlm\nICh0eXBlb2Ygb2Zmc2V0ICE9ICdvYmplY3QnKSBvZmZzZXRCb3R0b20gPSBv\nZmZzZXRUb3AgPSBvZmZzZXQKICAgIGlmICh0eXBlb2Ygb2Zmc2V0VG9wID09\nICdmdW5jdGlvbicpIG9mZnNldFRvcCA9IG9mZnNldC50b3AoKQogICAgaWYg\nKHR5cGVvZiBvZmZzZXRCb3R0b20gPT0gJ2Z1bmN0aW9uJykgb2Zmc2V0Qm90\ndG9tID0gb2Zmc2V0LmJvdHRvbSgpCgogICAgYWZmaXggPSB0aGlzLnVucGlu\nICE9IG51bGwgJiYgKHNjcm9sbFRvcCArIHRoaXMudW5waW4gPD0gcG9zaXRp\nb24udG9wKSA/CiAgICAgIGZhbHNlICAgIDogb2Zmc2V0Qm90dG9tICE9IG51\nbGwgJiYgKHBvc2l0aW9uLnRvcCArIHRoaXMuJGVsZW1lbnQuaGVpZ2h0KCkg\nPj0gc2Nyb2xsSGVpZ2h0IC0gb2Zmc2V0Qm90dG9tKSA/CiAgICAgICdib3R0\nb20nIDogb2Zmc2V0VG9wICE9IG51bGwgJiYgc2Nyb2xsVG9wIDw9IG9mZnNl\ndFRvcCA/CiAgICAgICd0b3AnICAgIDogZmFsc2UKCiAgICBpZiAodGhpcy5h\nZmZpeGVkID09PSBhZmZpeCkgcmV0dXJuCgogICAgdGhpcy5hZmZpeGVkID0g\nYWZmaXgKICAgIHRoaXMudW5waW4gPSBhZmZpeCA9PSAnYm90dG9tJyA/IHBv\nc2l0aW9uLnRvcCAtIHNjcm9sbFRvcCA6IG51bGwKCiAgICB0aGlzLiRlbGVt\nZW50LnJlbW92ZUNsYXNzKHJlc2V0KS5hZGRDbGFzcygnYWZmaXgnICsgKGFm\nZml4ID8gJy0nICsgYWZmaXggOiAnJykpCiAgfQoKCiAvKiBBRkZJWCBQTFVH\nSU4gREVGSU5JVElPTgogICogPT09PT09PT09PT09PT09PT09PT09PT0gKi8K\nCiAgdmFyIG9sZCA9ICQuZm4uYWZmaXgKCiAgJC5mbi5hZmZpeCA9IGZ1bmN0\naW9uIChvcHRpb24pIHsKICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24g\nKCkgewogICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpCiAgICAgICAgLCBkYXRh\nID0gJHRoaXMuZGF0YSgnYWZmaXgnKQogICAgICAgICwgb3B0aW9ucyA9IHR5\ncGVvZiBvcHRpb24gPT0gJ29iamVjdCcgJiYgb3B0aW9uCiAgICAgIGlmICgh\nZGF0YSkgJHRoaXMuZGF0YSgnYWZmaXgnLCAoZGF0YSA9IG5ldyBBZmZpeCh0\naGlzLCBvcHRpb25zKSkpCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdz\ndHJpbmcnKSBkYXRhW29wdGlvbl0oKQogICAgfSkKICB9CgogICQuZm4uYWZm\naXguQ29uc3RydWN0b3IgPSBBZmZpeAoKICAkLmZuLmFmZml4LmRlZmF1bHRz\nID0gewogICAgb2Zmc2V0OiAwCiAgfQoKCiAvKiBBRkZJWCBOTyBDT05GTElD\nVAogICogPT09PT09PT09PT09PT09PT0gKi8KCiAgJC5mbi5hZmZpeC5ub0Nv\nbmZsaWN0ID0gZnVuY3Rpb24gKCkgewogICAgJC5mbi5hZmZpeCA9IG9sZAog\nICAgcmV0dXJuIHRoaXMKICB9CgoKIC8qIEFGRklYIERBVEEtQVBJCiAgKiA9\nPT09PT09PT09PT09PSAqLwoKICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5j\ndGlvbiAoKSB7CiAgICAkKCdbZGF0YS1zcHk9ImFmZml4Il0nKS5lYWNoKGZ1\nbmN0aW9uICgpIHsKICAgICAgdmFyICRzcHkgPSAkKHRoaXMpCiAgICAgICAg\nLCBkYXRhID0gJHNweS5kYXRhKCkKCiAgICAgIGRhdGEub2Zmc2V0ID0gZGF0\nYS5vZmZzZXQgfHwge30KCiAgICAgIGRhdGEub2Zmc2V0Qm90dG9tICYmIChk\nYXRhLm9mZnNldC5ib3R0b20gPSBkYXRhLm9mZnNldEJvdHRvbSkKICAgICAg\nZGF0YS5vZmZzZXRUb3AgJiYgKGRhdGEub2Zmc2V0LnRvcCA9IGRhdGEub2Zm\nc2V0VG9wKQoKICAgICAgJHNweS5hZmZpeChkYXRhKQogICAgfSkKICB9KQoK\nCn0od2luZG93LmpRdWVyeSk7\n","encoding":"base64"} - diff --git a/github/tests/ReplayData/Issue158.testPaginationWithSecretKeyAuthentication.txt b/github/tests/ReplayData/Issue158.testPaginationWithSecretKeyAuthentication.txt deleted file mode 100644 index 21f22e4..0000000 --- a/github/tests/ReplayData/Issue158.testPaginationWithSecretKeyAuthentication.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware?client_secret=client_secret&client_id=client_id -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd349122929faf5f9be3e53d9ad41d08"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","url":"https://api.github.com/orgs/BeaverSoftware","billing_email":"BeaverSoftware@vincent-jacques.net","disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"html_url":"https://github.com/BeaverSoftware","blog":null,"login":"BeaverSoftware","public_gists":0,"email":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"private_gists":0,"collaborators":0,"created_at":"2012-02-09T19:20:12Z","company":null,"location":"Paris, France","followers":0,"following":0,"name":null,"owned_private_repos":0,"id":1424031,"public_repos":2} - -https -GET -api.github.com -None -/orgs/BeaverSoftware/repos?client_secret=client_secret&type=public&client_id=client_id -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '2291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4bcc5321db433ac18171c121303c77d2"'), ('date', 'Tue, 29 May 2012 18:11:16 GMT'), ('content-type', 'application/json; charset=utf-8'), ('link', '; rel="next", ; rel="last"')] -[{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","html_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"full_name":"BeaverSoftware/FatherBeaver"}] - -https -GET -api.github.com -None -/orgs/BeaverSoftware/repos?client_secret=client_secret&type=public&client_id=client_id&page=2 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '2291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4bcc5321db433ac18171c121303c77d2"'), ('date', 'Tue, 29 May 2012 18:11:16 GMT'), ('content-type', 'application/json; charset=utf-8'), ('link', '; rel="last"')] -[{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-29T18:09:14Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","html_url":"https://github.com/BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","forks":0,"size":428,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-29T18:05:10Z","created_at":"2012-05-29T18:03:19Z","id":4485562,"full_name":"BeaverSoftware/PyGithub"}] - diff --git a/github/tests/ReplayData/Issue174.setUp.txt b/github/tests/ReplayData/Issue174.setUp.txt deleted file mode 100644 index c3443a4..0000000 --- a/github/tests/ReplayData/Issue174.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '5720'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 18 Jun 2013 19:52:37 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"525271e07b1b6c94fd4a0633d61cd3c6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 18 Jun 2013 20:10:16 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"id":2126244,"name":"bootstrap","full_name":"twitter/bootstrap","owner":{"login":"twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","url":"https://api.github.com/users/twitter","html_url":"https://github.com/twitter","followers_url":"https://api.github.com/users/twitter/followers","following_url":"https://api.github.com/users/twitter/following{/other_user}","gists_url":"https://api.github.com/users/twitter/gists{/gist_id}","starred_url":"https://api.github.com/users/twitter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twitter/subscriptions","organizations_url":"https://api.github.com/users/twitter/orgs","repos_url":"https://api.github.com/users/twitter/repos","events_url":"https://api.github.com/users/twitter/events{/privacy}","received_events_url":"https://api.github.com/users/twitter/received_events","type":"Organization"},"private":false,"html_url":"https://github.com/twitter/bootstrap","description":"Sleek, intuitive, and powerful front-end framework for faster and easier web development.","fork":false,"url":"https://api.github.com/repos/twitter/bootstrap","forks_url":"https://api.github.com/repos/twitter/bootstrap/forks","keys_url":"https://api.github.com/repos/twitter/bootstrap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/twitter/bootstrap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/twitter/bootstrap/teams","hooks_url":"https://api.github.com/repos/twitter/bootstrap/hooks","issue_events_url":"https://api.github.com/repos/twitter/bootstrap/issues/events{/number}","events_url":"https://api.github.com/repos/twitter/bootstrap/events","assignees_url":"https://api.github.com/repos/twitter/bootstrap/assignees{/user}","branches_url":"https://api.github.com/repos/twitter/bootstrap/branches{/branch}","tags_url":"https://api.github.com/repos/twitter/bootstrap/tags","blobs_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/twitter/bootstrap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/twitter/bootstrap/git/refs{/sha}","trees_url":"https://api.github.com/repos/twitter/bootstrap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/twitter/bootstrap/statuses/{sha}","languages_url":"https://api.github.com/repos/twitter/bootstrap/languages","stargazers_url":"https://api.github.com/repos/twitter/bootstrap/stargazers","contributors_url":"https://api.github.com/repos/twitter/bootstrap/contributors","subscribers_url":"https://api.github.com/repos/twitter/bootstrap/subscribers","subscription_url":"https://api.github.com/repos/twitter/bootstrap/subscription","commits_url":"https://api.github.com/repos/twitter/bootstrap/commits{/sha}","git_commits_url":"https://api.github.com/repos/twitter/bootstrap/git/commits{/sha}","comments_url":"https://api.github.com/repos/twitter/bootstrap/comments{/number}","issue_comment_url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/{number}","contents_url":"https://api.github.com/repos/twitter/bootstrap/contents/{+path}","compare_url":"https://api.github.com/repos/twitter/bootstrap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/twitter/bootstrap/merges","archive_url":"https://api.github.com/repos/twitter/bootstrap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/twitter/bootstrap/downloads","issues_url":"https://api.github.com/repos/twitter/bootstrap/issues{/number}","pulls_url":"https://api.github.com/repos/twitter/bootstrap/pulls{/number}","milestones_url":"https://api.github.com/repos/twitter/bootstrap/milestones{/number}","notifications_url":"https://api.github.com/repos/twitter/bootstrap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/twitter/bootstrap/labels{/name}","created_at":"2011-07-29T21:19:00Z","updated_at":"2013-06-18T19:52:37Z","pushed_at":"2013-06-18T18:16:49Z","git_url":"git://github.com/twitter/bootstrap.git","ssh_url":"git@github.com:twitter/bootstrap.git","clone_url":"https://github.com/twitter/bootstrap.git","svn_url":"https://github.com/twitter/bootstrap","homepage":"http://twitter.github.io/bootstrap/","size":3744,"watchers_count":51744,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":16569,"mirror_url":null,"open_issues_count":184,"forks":16569,"open_issues":184,"watchers":51744,"master_branch":"master","default_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"network_count":16569,"organization":{"login":"twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","url":"https://api.github.com/users/twitter","html_url":"https://github.com/twitter","followers_url":"https://api.github.com/users/twitter/followers","following_url":"https://api.github.com/users/twitter/following{/other_user}","gists_url":"https://api.github.com/users/twitter/gists{/gist_id}","starred_url":"https://api.github.com/users/twitter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twitter/subscriptions","organizations_url":"https://api.github.com/users/twitter/orgs","repos_url":"https://api.github.com/users/twitter/repos","events_url":"https://api.github.com/users/twitter/events{/privacy}","received_events_url":"https://api.github.com/users/twitter/received_events","type":"Organization"}} - diff --git a/github/tests/ReplayData/Issue174.testGetDirContentsWhithHttpRedirect.txt b/github/tests/ReplayData/Issue174.testGetDirContentsWhithHttpRedirect.txt deleted file mode 100644 index 89894fd..0000000 --- a/github/tests/ReplayData/Issue174.testGetDirContentsWhithHttpRedirect.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/twitter/bootstrap/contents/js/ -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -302 -[('status', '302 Found'), ('x-ratelimit-remaining', '4998'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('vary', 'Accept-Encoding'), ('content-length', '0'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repositories/2126244/contents/js'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 18 Jun 2013 20:10:18 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'text/html;charset=utf-8')] - - -https -GET -api.github.com -None -/repositories/2126244/contents/js -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '10844'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 18 Jun 2013 19:52:37 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"525271e07b1b6c94fd4a0633d61cd3c6"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 18 Jun 2013 20:10:19 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"name":".jshintrc","path":"js/.jshintrc","sha":"e0722690bd73b3195d87577aab3bba151a85f7e0","size":232,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/.jshintrc?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e0722690bd73b3195d87577aab3bba151a85f7e0","html":"https://github.com/twitter/bootstrap/blob/master/js/.jshintrc"}},{"name":"bootstrap-affix.js","path":"js/bootstrap-affix.js","sha":"91c9ced13d00b36f4f8fa7573014945608a8fe65","size":3483,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/91c9ced13d00b36f4f8fa7573014945608a8fe65","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/91c9ced13d00b36f4f8fa7573014945608a8fe65","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-affix.js"}},{"name":"bootstrap-alert.js","path":"js/bootstrap-alert.js","sha":"0cefe5fc5ecd7df06f6c9cb37261fce000d9408d","size":2524,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0cefe5fc5ecd7df06f6c9cb37261fce000d9408d","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-alert.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/0cefe5fc5ecd7df06f6c9cb37261fce000d9408d","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-alert.js"}},{"name":"bootstrap-button.js","path":"js/bootstrap-button.js","sha":"ce45991644b3d9fc5f3b563791999e6862dedbcb","size":2841,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ce45991644b3d9fc5f3b563791999e6862dedbcb","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-button.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/ce45991644b3d9fc5f3b563791999e6862dedbcb","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-button.js"}},{"name":"bootstrap-carousel.js","path":"js/bootstrap-carousel.js","sha":"476494ad6ad1ae6418ae4131bac416230f4dc9bb","size":6057,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/476494ad6ad1ae6418ae4131bac416230f4dc9bb","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-carousel.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/476494ad6ad1ae6418ae4131bac416230f4dc9bb","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-carousel.js"}},{"name":"bootstrap-collapse.js","path":"js/bootstrap-collapse.js","sha":"74a73a890a2feb65103984910dcd571c36003669","size":4735,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/74a73a890a2feb65103984910dcd571c36003669","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-collapse.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/74a73a890a2feb65103984910dcd571c36003669","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-collapse.js"}},{"name":"bootstrap-dropdown.js","path":"js/bootstrap-dropdown.js","sha":"6cc1221133f073a2b5602124cdaf8cc230f68c2c","size":4413,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/6cc1221133f073a2b5602124cdaf8cc230f68c2c","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-dropdown.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/6cc1221133f073a2b5602124cdaf8cc230f68c2c","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-dropdown.js"}},{"name":"bootstrap-modal.js","path":"js/bootstrap-modal.js","sha":"c3648d8b7c38bba6a881ba3e0b58991af219de5a","size":6656,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/c3648d8b7c38bba6a881ba3e0b58991af219de5a","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-modal.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/c3648d8b7c38bba6a881ba3e0b58991af219de5a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-modal.js"}},{"name":"bootstrap-popover.js","path":"js/bootstrap-popover.js","sha":"e6a23d21045816cbf2b88b881cfb70242e774817","size":3115,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e6a23d21045816cbf2b88b881cfb70242e774817","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-popover.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e6a23d21045816cbf2b88b881cfb70242e774817","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-popover.js"}},{"name":"bootstrap-scrollspy.js","path":"js/bootstrap-scrollspy.js","sha":"7dd60c4262c70df806072910d175d8b45d0c302f","size":4655,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7dd60c4262c70df806072910d175d8b45d0c302f","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-scrollspy.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/7dd60c4262c70df806072910d175d8b45d0c302f","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-scrollspy.js"}},{"name":"bootstrap-tab.js","path":"js/bootstrap-tab.js","sha":"a5161515acf4d812dd26f676a4c1cdae4996e269","size":3496,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/a5161515acf4d812dd26f676a4c1cdae4996e269","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tab.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/a5161515acf4d812dd26f676a4c1cdae4996e269","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tab.js"}},{"name":"bootstrap-tooltip.js","path":"js/bootstrap-tooltip.js","sha":"a3bbd580bba946f3fa3dd7a9bd65989597c86759","size":9911,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/a3bbd580bba946f3fa3dd7a9bd65989597c86759","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-tooltip.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/a3bbd580bba946f3fa3dd7a9bd65989597c86759","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js"}},{"name":"bootstrap-transition.js","path":"js/bootstrap-transition.js","sha":"e12cf6e5af81ad88e591f353d86cb00894d5b29f","size":1756,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e12cf6e5af81ad88e591f353d86cb00894d5b29f","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-transition.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/e12cf6e5af81ad88e591f353d86cb00894d5b29f","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-transition.js"}},{"name":"bootstrap-typeahead.js","path":"js/bootstrap-typeahead.js","sha":"abc48d5056e13ca3371e1486029e67815eff048a","size":8320,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js?ref=master","html_url":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js","git_url":"https://api.github.com/repos/twitter/bootstrap/git/blobs/abc48d5056e13ca3371e1486029e67815eff048a","type":"file","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-typeahead.js?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/blobs/abc48d5056e13ca3371e1486029e67815eff048a","html":"https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js"}},{"name":"tests","path":"js/tests","sha":"bac460d88cf867a9382be45673ebbbdcb2ef7f41","size":0,"url":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests?ref=master","html_url":"https://github.com/twitter/bootstrap/tree/master/js/tests","git_url":"https://api.github.com/repos/twitter/bootstrap/git/trees/bac460d88cf867a9382be45673ebbbdcb2ef7f41","type":"dir","_links":{"self":"https://api.github.com/repos/twitter/bootstrap/contents/js/tests?ref=master","git":"https://api.github.com/repos/twitter/bootstrap/git/trees/bac460d88cf867a9382be45673ebbbdcb2ef7f41","html":"https://github.com/twitter/bootstrap/tree/master/js/tests"}}] - diff --git a/github/tests/ReplayData/Issue214.setUp.txt b/github/tests/ReplayData/Issue214.setUp.txt deleted file mode 100644 index 83a57d9..0000000 --- a/github/tests/ReplayData/Issue214.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4768'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DA8:2C02300:52AF94DA'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '1395'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 16 Dec 2013 23:51:56 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"56120a0ff6bd4c69ed5aca11916c2ff8"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 17 Dec 2013 00:03:38 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false,"name":"","company":null,"blog":"","location":null,"email":"","hireable":false,"bio":null,"public_repos":10,"followers":0,"following":1,"created_at":"2012-01-28T19:38:20Z","updated_at":"2013-12-16T23:51:56Z","public_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":16176,"collaborators":0,"plan":{"name":"free","space":307200,"collaborators":0,"private_repos":0},"private_gists":0} - -https -GET -api.github.com -None -/repos/farrd/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4767'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAC:7BF4DD8:52AF94DA'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '14028'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 16 Dec 2013 23:29:38 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"481861750ad70aeeae3fc09b40288ade"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 17 Dec 2013 00:03:39 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"id":15089554,"name":"PyGithub","full_name":"farrd/PyGithub","owner":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/farrd/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/farrd/PyGithub","forks_url":"https://api.github.com/repos/farrd/PyGithub/forks","keys_url":"https://api.github.com/repos/farrd/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/farrd/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/farrd/PyGithub/teams","hooks_url":"https://api.github.com/repos/farrd/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/farrd/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/farrd/PyGithub/events","assignees_url":"https://api.github.com/repos/farrd/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/farrd/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/farrd/PyGithub/tags","blobs_url":"https://api.github.com/repos/farrd/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/farrd/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/farrd/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/farrd/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/farrd/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/farrd/PyGithub/languages","stargazers_url":"https://api.github.com/repos/farrd/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/farrd/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/farrd/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/farrd/PyGithub/subscription","commits_url":"https://api.github.com/repos/farrd/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/farrd/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/farrd/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/farrd/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/farrd/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/farrd/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/farrd/PyGithub/merges","archive_url":"https://api.github.com/repos/farrd/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/farrd/PyGithub/downloads","issues_url":"https://api.github.com/repos/farrd/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/farrd/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/farrd/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/farrd/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/farrd/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/farrd/PyGithub/releases{/id}","created_at":"2013-12-10T21:12:48Z","updated_at":"2013-12-16T23:29:38Z","pushed_at":"2013-12-16T19:15:40Z","git_url":"git://github.com/farrd/PyGithub.git","ssh_url":"git@github.com:farrd/PyGithub.git","clone_url":"https://github.com/farrd/PyGithub.git","svn_url":"https://github.com/farrd/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":8785,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":0,"default_branch":"master","master_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-12-16T02:11:29Z","pushed_at":"2013-12-16T02:11:29Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":8785,"stargazers_count":314,"watchers_count":314,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":88,"mirror_url":null,"open_issues_count":23,"forks":88,"open_issues":23,"watchers":314,"default_branch":"master","master_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-12-16T02:11:29Z","pushed_at":"2013-12-16T02:11:29Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":8785,"stargazers_count":314,"watchers_count":314,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":88,"mirror_url":null,"open_issues_count":23,"forks":88,"open_issues":23,"watchers":314,"default_branch":"master","master_branch":"master"},"network_count":88,"subscribers_count":2} - -https -GET -api.github.com -None -/repos/farrd/PyGithub/issues/1 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4766'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAB:78E783D:52AF94DB'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '1621'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 16 Dec 2013 23:51:58 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"10591bd2c625813e49751bcca25b7c61"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 17 Dec 2013 00:03:39 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"url":"https://api.github.com/repos/farrd/PyGithub/issues/1","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/events","html_url":"https://github.com/farrd/PyGithub/issues/1","id":24389294,"number":1,"title":"Test Issue","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-12-16T23:36:11Z","updated_at":"2013-12-16T23:51:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"","closed_by":null} - diff --git a/github/tests/ReplayData/Issue214.testAssignees.txt b/github/tests/ReplayData/Issue214.testAssignees.txt deleted file mode 100644 index b268ae2..0000000 --- a/github/tests/ReplayData/Issue214.testAssignees.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/farrd/PyGithub/assignees/farrd -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4838'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:043C:7376C18:52AF9217'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Mon, 16 Dec 2013 23:51:51 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1387240227')] - - -https -GET -api.github.com -None -/repos/farrd/PyGithub/assignees/fake -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4837'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:0438:2A76207:52AF9218'), ('content-length', '76'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Mon, 16 Dec 2013 23:51:52 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"message":"Not Found","documentation_url":"http://developer.github.com/v3"} - diff --git a/github/tests/ReplayData/Issue214.testCollaborators.txt b/github/tests/ReplayData/Issue214.testCollaborators.txt deleted file mode 100644 index 26219ad..0000000 --- a/github/tests/ReplayData/Issue214.testCollaborators.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/repos/farrd/PyGithub/collaborators/farrd -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4765'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAC:7BF4F10:52AF94DB'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:40 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1387240227')] - - -https -GET -api.github.com -None -/repos/farrd/PyGithub/collaborators/fake -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4764'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAC:7BF4F8B:52AF94DC'), ('content-length', '76'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:40 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"message":"Not Found","documentation_url":"http://developer.github.com/v3"} - -https -GET -api.github.com -None -/repos/farrd/PyGithub/collaborators/marcmenges -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4763'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAA:61929C1:52AF94DC'), ('content-length', '76'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:40 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"message":"Not Found","documentation_url":"http://developer.github.com/v3"} - -https -PUT -api.github.com -None -/repos/farrd/PyGithub/collaborators/marcmenges -{'Accept': 'application/vnd.github.swamp-thing-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4762'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAA:6192A15:52AF94DC'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:41 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1387240227')] - - -https -GET -api.github.com -None -/repos/farrd/PyGithub/collaborators/marcmenges -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4761'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAB:78E7BE4:52AF94DD'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:41 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1387240227')] - - -https -DELETE -api.github.com -None -/repos/farrd/PyGithub/collaborators/marcmenges -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4760'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DAC:7BF51C3:52AF94DD'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:41 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1387240227')] - - -https -GET -api.github.com -None -/repos/farrd/PyGithub/collaborators/marcmenges -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4759'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:6DA9:6920FB1:52AF94DE'), ('content-length', '76'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 17 Dec 2013 00:03:42 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"message":"Not Found","documentation_url":"http://developer.github.com/v3"} - diff --git a/github/tests/ReplayData/Issue214.testCreateIssue.txt b/github/tests/ReplayData/Issue214.testCreateIssue.txt deleted file mode 100644 index 8517b3b..0000000 --- a/github/tests/ReplayData/Issue214.testCreateIssue.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/farrd/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignee": "farrd", "title": "Issue created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4828'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:043B:6651E72:52AF921C'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP'), ('location', 'https://api.github.com/repos/farrd/PyGithub/issues/3'), ('content-length', '2592'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"900018f8180df60c18df92fcab23cf23"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 16 Dec 2013 23:51:56 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"url":"https://api.github.com/repos/farrd/PyGithub/issues/3","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/events","html_url":"https://github.com/farrd/PyGithub/issues/3","id":24390063,"number":3,"title":"Issue created by PyGithub","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2013-12-16T23:51:56Z","updated_at":"2013-12-16T23:51:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":null,"closed_by":null} - diff --git a/github/tests/ReplayData/Issue214.testEditIssue.txt b/github/tests/ReplayData/Issue214.testEditIssue.txt deleted file mode 100644 index 593004c..0000000 --- a/github/tests/ReplayData/Issue214.testEditIssue.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -PATCH -api.github.com -None -/repos/farrd/PyGithub/issues/1 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignee": "farrd"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4824'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:043C:7377930:52AF921D'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '2575'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"fa6d38417e4f455619cdfe179b7b1e40"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 16 Dec 2013 23:51:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"url":"https://api.github.com/repos/farrd/PyGithub/issues/1","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/events","html_url":"https://github.com/farrd/PyGithub/issues/1","id":24389294,"number":1,"title":"Test Issue","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2013-12-16T23:36:11Z","updated_at":"2013-12-16T23:51:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"","closed_by":null} - -https -PATCH -api.github.com -None -/repos/farrd/PyGithub/issues/1 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"assignee": ""} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4823'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:043C:7377A01:52AF921E'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '1621'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"f6bb6e7859e5f62cdc99f6fc6cbe0c09"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 16 Dec 2013 23:51:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -{"url":"https://api.github.com/repos/farrd/PyGithub/issues/1","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/1/events","html_url":"https://github.com/farrd/PyGithub/issues/1","id":24389294,"number":1,"title":"Test Issue","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-12-16T23:36:11Z","updated_at":"2013-12-16T23:51:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"","closed_by":null} - diff --git a/github/tests/ReplayData/Issue214.testGetIssues.txt b/github/tests/ReplayData/Issue214.testGetIssues.txt deleted file mode 100644 index e3f8691..0000000 --- a/github/tests/ReplayData/Issue214.testGetIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/farrd/PyGithub/issues?assignee=farrd -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4815'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'A99159CE:2C50:65E63AF:52AF923A'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '5153'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"3758de592b6c58f9de00b937c89b4db4"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 16 Dec 2013 23:52:27 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1387240227')] -[{"url":"https://api.github.com/repos/farrd/PyGithub/issues/3","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/3/events","html_url":"https://github.com/farrd/PyGithub/issues/3","id":24390063,"number":3,"title":"Issue created by PyGithub","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2013-12-16T23:51:56Z","updated_at":"2013-12-16T23:51:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":null},{"url":"https://api.github.com/repos/farrd/PyGithub/issues/2","labels_url":"https://api.github.com/repos/farrd/PyGithub/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/farrd/PyGithub/issues/2/comments","events_url":"https://api.github.com/repos/farrd/PyGithub/issues/2/events","html_url":"https://github.com/farrd/PyGithub/issues/2","id":24389967,"number":2,"title":"Issue created by PyGithub","user":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":{"login":"farrd","id":1387834,"avatar_url":"https://gravatar.com/avatar/3281acd8cd12337bfba7577736ae663e?d=https%3A%2F%2Fidenticons.github.com%2Fe57fcb2ce01df0e0a8305b6fff8070d8.png&r=x","gravatar_id":"3281acd8cd12337bfba7577736ae663e","url":"https://api.github.com/users/farrd","html_url":"https://github.com/farrd","followers_url":"https://api.github.com/users/farrd/followers","following_url":"https://api.github.com/users/farrd/following{/other_user}","gists_url":"https://api.github.com/users/farrd/gists{/gist_id}","starred_url":"https://api.github.com/users/farrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/farrd/subscriptions","organizations_url":"https://api.github.com/users/farrd/orgs","repos_url":"https://api.github.com/users/farrd/repos","events_url":"https://api.github.com/users/farrd/events{/privacy}","received_events_url":"https://api.github.com/users/farrd/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2013-12-16T23:49:47Z","updated_at":"2013-12-16T23:49:47Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":null}] - diff --git a/github/tests/ReplayData/Issue216.setUp.txt b/github/tests/ReplayData/Issue216.setUp.txt deleted file mode 100644 index d2f2696..0000000 --- a/github/tests/ReplayData/Issue216.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/openframeworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4929'), ('content-length', '564'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cddd0710dc9490553aecd937e15d1136"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","hireable":false,"url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","public_gists":0,"blog":null,"bio":null,"public_repos":12,"company":null,"gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","email":"","followers":399,"name":null,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","created_at":"2009-10-21T21:54:37Z","location":null,"id":142866,"following":4} - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4928'), ('content-length', '1253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e7459f63683768d5b53fc4b246d13a10"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/openframeworks/openFrameworks.git","has_downloads":true,"watchers":1745,"updated_at":"2012-05-29T19:23:07Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://openframeworks.cc","url":"https://api.github.com/repos/openframeworks/openFrameworks","html_url":"https://github.com/openframeworks/openFrameworks","has_wiki":true,"has_issues":true,"fork":false,"forks":349,"size":4232,"git_url":"git://github.com/openframeworks/openFrameworks.git","private":false,"open_issues":333,"svn_url":"https://github.com/openframeworks/openFrameworks","owner":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"name":"openFrameworks","mirror_url":null,"language":"C","description":"OpenFrameworks is a cross platform open source toolkit for creative coding in C++.","ssh_url":"git@github.com:openframeworks/openFrameworks.git","pushed_at":"2012-05-29T19:23:07Z","created_at":"2009-10-21T21:55:54Z","id":345337,"full_name":"openframeworks/openFrameworks"} - diff --git a/github/tests/ReplayData/Issue216.testIteration.txt b/github/tests/ReplayData/Issue216.testIteration.txt deleted file mode 100644 index 9d49e03..0000000 --- a/github/tests/ReplayData/Issue216.testIteration.txt +++ /dev/null @@ -1,154 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('Link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/Issue278.setUp.txt b/github/tests/ReplayData/Issue278.setUp.txt deleted file mode 100644 index d2f2696..0000000 --- a/github/tests/ReplayData/Issue278.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/openframeworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4929'), ('content-length', '564'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cddd0710dc9490553aecd937e15d1136"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","hireable":false,"url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","public_gists":0,"blog":null,"bio":null,"public_repos":12,"company":null,"gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","email":"","followers":399,"name":null,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","created_at":"2009-10-21T21:54:37Z","location":null,"id":142866,"following":4} - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4928'), ('content-length', '1253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e7459f63683768d5b53fc4b246d13a10"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/openframeworks/openFrameworks.git","has_downloads":true,"watchers":1745,"updated_at":"2012-05-29T19:23:07Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://openframeworks.cc","url":"https://api.github.com/repos/openframeworks/openFrameworks","html_url":"https://github.com/openframeworks/openFrameworks","has_wiki":true,"has_issues":true,"fork":false,"forks":349,"size":4232,"git_url":"git://github.com/openframeworks/openFrameworks.git","private":false,"open_issues":333,"svn_url":"https://github.com/openframeworks/openFrameworks","owner":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"name":"openFrameworks","mirror_url":null,"language":"C","description":"OpenFrameworks is a cross platform open source toolkit for creative coding in C++.","ssh_url":"git@github.com:openframeworks/openFrameworks.git","pushed_at":"2012-05-29T19:23:07Z","created_at":"2009-10-21T21:55:54Z","id":345337,"full_name":"openframeworks/openFrameworks"} - diff --git a/github/tests/ReplayData/Issue278.testIteration.txt b/github/tests/ReplayData/Issue278.testIteration.txt deleted file mode 100644 index 4163a8c..0000000 --- a/github/tests/ReplayData/Issue278.testIteration.txt +++ /dev/null @@ -1,154 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[null,{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},null] - diff --git a/github/tests/ReplayData/Issue33.setUp.txt b/github/tests/ReplayData/Issue33.setUp.txt deleted file mode 100644 index 0971a4f..0000000 --- a/github/tests/ReplayData/Issue33.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/openframeworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '564'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a8e114c69001724baa16b7296683b6c7"'), ('date', 'Tue, 29 May 2012 06:43:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":12,"type":"User","hireable":false,"blog":null,"url":"https://api.github.com/users/openframeworks","bio":null,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":0,"company":null,"gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","email":"","followers":399,"name":null,"created_at":"2009-10-21T21:54:37Z","location":null,"id":142866,"following":4,"html_url":"https://github.com/openframeworks"} - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '1253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b765d626a03448a6b078da9e936f51b4"'), ('date', 'Tue, 29 May 2012 06:43:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/openframeworks/openFrameworks.git","has_downloads":true,"watchers":1741,"updated_at":"2012-05-29T04:44:30Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://openframeworks.cc","url":"https://api.github.com/repos/openframeworks/openFrameworks","has_wiki":true,"has_issues":true,"fork":false,"forks":349,"size":3792,"private":false,"open_issues":338,"svn_url":"https://github.com/openframeworks/openFrameworks","owner":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"name":"openFrameworks","language":"C","description":"OpenFrameworks is a cross platform open source toolkit for creative coding in C++.","ssh_url":"git@github.com:openframeworks/openFrameworks.git","git_url":"git://github.com/openframeworks/openFrameworks.git","pushed_at":"2012-05-28T19:23:35Z","created_at":"2009-10-21T21:55:54Z","id":345337,"mirror_url":null,"html_url":"https://github.com/openframeworks/openFrameworks","full_name":"openframeworks/openFrameworks"} - diff --git a/github/tests/ReplayData/Issue33.testClosedIssues.txt b/github/tests/ReplayData/Issue33.testClosedIssues.txt deleted file mode 100644 index 296f484..0000000 --- a/github/tests/ReplayData/Issue33.testClosedIssues.txt +++ /dev/null @@ -1,418 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '43496'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"d63f11ca1f530464908888e7f87e4703"'), ('date', 'Tue, 29 May 2012 18:46:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-29T15:15:44Z","body":"Purge .svn directories from pugixmlLib. Closes #1282.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1283","comments":11,"milestone":null,"number":1283,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1283","assignee":null,"title":"Fix #1282","labels":[],"closed_at":"2012-05-29T13:06:59Z","created_at":"2012-05-29T12:27:44Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4793868,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1283","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1283.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1283.diff"}},{"updated_at":"2012-05-29T13:07:00Z","body":"A svn checkout of the git repo fails because of .svn dirs inside the repository. I suggest you remove them since they interfere with the svn backend of github...\n\nI'm not sure if this is relevant but you can include an svn repo inside a git repo.. \nhttp://stackoverflow.com/questions/746151/add-svn-repo-to-existing-git-repo\n\nOtherwise add the .svn dirs too .gitignore\n\nsvn: warning: Failed to add directory 'openFrameworks/apps/devApps/projectGenerator/src/pugixmlLib/.svn': an unversioned directory of the same name already exists\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1282","comments":1,"milestone":null,"number":1282,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1282","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"title":"remove .svn dirs from git repo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2012-05-29T13:07:00Z","created_at":"2012-05-29T10:09:06Z","state":"closed","user":{"url":"https://api.github.com/users/sphaero","gravatar_id":"f17e8b6636b46f5bfacbda5854842eb9","login":"sphaero","avatar_url":"https://secure.gravatar.com/avatar/f17e8b6636b46f5bfacbda5854842eb9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":832465},"id":4792153,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-28T16:34:15Z","body":"sorry,the projectGenerator in the main.cpp the last part which is testApp *app = new testApp;currenly missing the * before the app,cheers.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1281","comments":2,"milestone":null,"number":1281,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1281","assignee":null,"title":"projectGenerator missing pointer *app","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-05-28T16:34:15Z","created_at":"2012-05-28T16:23:26Z","state":"closed","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":4782585,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-26T19:55:06Z","body":"both the install_dependencies script and make in openFrameworks/libs/openFrameworksCompiled/project/linux64 is giving me this\n\n../../../openFrameworks/gl/ofFbo.cpp:28:0: warning: \"GL_UNSIGNED_INT_24_8\" redefined [enabled by default]\n../../../glew/include/GL/glew.h:3348:0: note: this is the location of the previous definition\n../../../openFrameworks/gl/ofFbo.cpp: In member function ‘void ofFbo::allocate(int, int, int, int)’:\n../../../openFrameworks/gl/ofFbo.cpp:396:5: error: ‘textureTarget’ was not declared in this scope\nmake: *** [obj/Release/openFrameworks/gl/ofFbo.o] Error 1\n\n\nuname -a\nLinux ktower 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux\n\n cat /etc/issue\nUbuntu 12.04 LTS \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1278","comments":1,"milestone":null,"number":1278,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1278","assignee":null,"title":"ofFbo causing linux to fail to compile","labels":[],"closed_at":"2012-05-26T19:55:06Z","created_at":"2012-05-26T19:18:55Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":150037},"id":4767640,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-25T18:53:31Z","body":"Fixed iOS depth component type. Added iOS depth needs stencil. Disabled depth as tex for iOS as it doesn't work. Added retain for the the depth and stencil buffers.\n\nTested both with and without texture depth on osx and iOS.\nAlso tested with ARB and non ARB.\niOS depth as texture doesn't work afaikt, so I disabled it.\niOS also needs stencil enabled for depth to work - so its handled now automatically in allocate.\n\nOne issue still remains - is because retain(int id) is a static function in ofTexture.cpp we can't retain the depthStencilTexture - this produces an error at the end of the app.\n\n\t\tOF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1276","comments":0,"milestone":null,"number":1276,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1276","assignee":null,"title":"Fixed non ARB_RECT depth and stencil textures coords and power-of-two.......","labels":[],"closed_at":"2012-05-25T18:53:31Z","created_at":"2012-05-25T18:31:54Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":4758507,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1276","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1276.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1276.diff"}},{"updated_at":"2012-05-25T16:54:02Z","body":"@ofTheo this has all your changes but refactored in a different way so there's less ifdef's. it also keeps depth/stencil as texture for openGL ES but i haven't been able to test it cause actually in android depth and stencil is not supported except in openGL ES 2 if you can give it a try in iOS and if it doesn't work we can just set the flag to false in GL ES and log.\n\nI've also disabled the mandatory stencil + depth for GL ES. from some posts in the forum, it seems like it should work just not the way it was done before, also if you can try it, if it doesn't work just uncomment the first lines in allocate which set stencil if depth is enabled\n\nstencil only doesn't work for me in the desktop either but it's the same as before so it's probably my implementation which doesn't support stencil only or the current code is broken.\n\nhere's a simple test for the depthAsTexture:\n\n\tofFbo::Settings settings;\n\tsettings.depthStencilAsTexture = true;\n\tsettings.width=640;\n\tsettings.height=480;\n\tsettings.useDepth=true;\n\tsettings.useStencil=true;\n\tdepth.allocate(settings);\n\n\n\tdepth.begin(true);\n\tglEnable(GL_DEPTH_TEST);\n\tofBox(0,0,0,100);\n\tofBox(100,100,-100,100);\n\tofBox(300,300,-300,100);\n\tdepth.end();\n\n\tglDisable(GL_DEPTH_TEST);\n\n\nthen in draw\n\n depth.getDepthTexture().draw(0,0);\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1275","comments":2,"milestone":null,"number":1275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1275","assignee":null,"title":"Fbo refactor","labels":[],"closed_at":"2012-05-25T16:20:08Z","created_at":"2012-05-25T10:42:18Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":4751356,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1275","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1275.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1275.diff"}},{"updated_at":"2012-05-25T10:36:13Z","body":"different refactoring of the fbo allocate function. now it has variables to setup the different options and less ifdefs. it also mantains the depth in texture for GL ES. actually in android depth and stencil is not supported except in openGL ES 2 so feel free to change it to whatever works in iOS\n\nstencil only doesn't work for me in the desktop either but it's the same as before so it's probably my implementation which doesn't support stencil only or the current code is broken.\n\nhere's a simple test for the depthAsTexture:\n\n\tofFbo::Settings settings;\n\tsettings.depthStencilAsTexture = true;\n\tsettings.width=640;\n\tsettings.height=480;\n\tsettings.useDepth=true;\n\tsettings.useStencil=true;\n\tsettings.depthStencilInternalFormat=GL_DEPTH_COMPONENT32;\n\tdepth.allocate(settings);\n\n\n\tdepth.begin(true);\n\tglEnable(GL_DEPTH_TEST);\n\tofBox(0,0,0,100);\n\tofBox(100,100,-100,100);\n\tofBox(300,300,-300,100);\n\tdepth.end();\n\n\tglDisable(GL_DEPTH_TEST);\n\n\nthen in draw\n\n depth.getDepthTexture().draw(0,0);\n\ni've added some comments in allocate for things i've changed for openGL ES if someone can try iOS and verify it's working?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1274","comments":4,"milestone":null,"number":1274,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1274","assignee":null,"title":"Fbo cleanup arturo","labels":[],"closed_at":"2012-05-25T10:36:13Z","created_at":"2012-05-25T00:18:28Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":4746034,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1274","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1274.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1274.diff"}},{"updated_at":"2012-05-25T18:26:28Z","body":"hi!\n\nI wanted to start testing openFrameworks on several linux distros with VirtualBox but I can't generate any Makefiles to test the examples because the projectGenerator is not running.\n\n $ ./projectGenerator --allexamples\n OF: OF_LOG_ERROR: Error: Missing GL version\n\nbut `glxinfo` shows everything correct and `glxgears` is running fine. I can't try to compile examples, because I need the projectGenerator to create Makefiles, but I can remember every example runned slow but fine in a VM while I tested 007 for releasing.\n\nI did a quick search and found this https://forums.virtualbox.org/viewtopic.php?f=3&t=30964 but even\n LIBGL_ALWAYS_INDIRECT=1 ./projectGenerator --allexamples\nends with the same error. Maybe this helps in some way.\n\nAnother things is: Would it be a good idea to run the PG without any GL stuff when I'm in headless mode? (Could be hard if its a normal OF app under the hood)\n\nPlease let me know what I can do. I'm willing to test everything further....","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1273","comments":6,"milestone":null,"number":1273,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1273","assignee":null,"title":"projectGenerator does not run in a VM","labels":[],"closed_at":"2012-05-25T18:26:28Z","created_at":"2012-05-24T15:23:39Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":4736394,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-28T09:58:24Z","body":"hi!\n\nthe PG is not compiling on Fedora16. After running all installation scripts and `make` in the PG folder I get\n\n /usr/bin/ld: ../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a(ofTexture.o): undefined reference to symbol 'gluBuild2DMipmaps'\n /usr/bin/ld: note: 'gluBuild2DMipmaps' is defined in DSO /usr/lib/libGLU.so.1 so try adding it to the linker command line\n /usr/lib/libGLU.so.1: could not read symbols: Invalid operation\n collect2: ld returned 1 exit status\n make: *** [bin/projectGenerator] Error 1\n\nActually I don't know much about the development of the PG, so maybe I have fixed it in the wrong place. If so, please let me know.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1272","comments":1,"milestone":null,"number":1272,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1272","assignee":null,"title":"add -lGLU to config.make of PG to build on fedora16","labels":[],"closed_at":"2012-05-28T09:58:24Z","created_at":"2012-05-24T13:22:43Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":4732838,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1272","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1272.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1272.diff"}},{"updated_at":"2012-05-25T08:12:47Z","body":"Since @benben seems to be off the radar, I prepared a PR for this.\nCAUTION: Lacking a fedora install, I can't test/verify this, but it seems a logical/trivial change enough to warrant that. \nCloses #844.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1270","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1270,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1270","assignee":null,"title":"Add libmpg123-devel to fedora codec install script","labels":[],"closed_at":"2012-05-25T08:12:47Z","created_at":"2012-05-22T14:05:24Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4691127,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1270","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1270.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1270.diff"}},{"updated_at":"2012-05-22T14:10:14Z","body":"Little less efficient but does not rely on addons.make order or directory listing order.\n\nInstead performs exhaustive search on any unique file name post adding debug/release libs...this means it checks every debug lib against every other lib several times, but it does solve the bug :-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1269","comments":5,"milestone":null,"number":1269,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1269","assignee":null,"title":"Fixes issue #1268 - PG now sorts VS Debug and Release libs correctly on all platforms","labels":[],"closed_at":"2012-05-21T18:39:33Z","created_at":"2012-05-21T15:32:13Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":4673269,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1269","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1269.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1269.diff"}},{"updated_at":"2012-05-20T10:26:53Z","body":"I found an inheritance ambiguity issue in within ofVideoPlayer, which also was present in ofVideoGrabber.\nI fixed it by making the inherited class virtual (I don't know if this is the correct way to call this). Just check the code diff.\nThis issue arose when I was trying to compile some of the examples from kyle's ofxCV addon.\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1267","comments":1,"milestone":null,"number":1267,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1267","assignee":null,"title":"Fix multiple inheritance ambiguity","labels":[],"closed_at":"2012-05-20T10:26:53Z","created_at":"2012-05-20T05:38:45Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":4658367,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1267","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1267.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1267.diff"}},{"updated_at":"2012-05-20T10:27:43Z","body":"it looks like the inheritance hierarchy of ofVideoGrabber has changed, breaking ofxCv. so when you try to say toCv(cam) for an ofVideoGrabber or ofVideoPlayer it gives the error in the title.\n\nit looks like the reason for this is that ofBaseVideo is inherited via ofBaseVideoGrabber and ofBaseVideoDraws (both which inherit from ofBaseHasPixels).\n\nshouldn't only one of these be inheriting from ofBaseHasPixels? not just because it breaks ofxCv, but i think maybe it will break some other things too or introduce some ambiguities elsewhere?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1266","comments":1,"milestone":null,"number":1266,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1266","assignee":null,"title":"'ofBaseHasPixels_' is an ambiguous base of 'ofVideoGrabber'","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":"2012-05-20T10:27:43Z","created_at":"2012-05-19T00:28:09Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":4651645,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-17T19:34:12Z","body":"Turns out the problem with the openCV libs on mingw32 is a very old bug to do with the implementation of SSE/SSE2 in GNU GCC or in the way that individual functions/libraries align bits on the stack.\n\nBoiling it all down: what (I think) happens is that non-aligned code calls an aligned stack and you get a segmentation fault.\n\nThere seem to be 2 workarounds: compiling with -mpreferred-stack-boundary=2 or -mstackrealign ... it's all a bit over my head but it seems that - the latter is the better way to go, see:\n\nhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838#c80 \n\nand the feedback from openCV bug report: \n\nhttp://code.opencv.org/issues/1932#note-3\n\nBoth workarounds bring efficiency back to same or better than VS openCV 2.3.1 lib performance.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1265","comments":0,"milestone":null,"number":1265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1265","assignee":null,"title":"Better fix for issue #1253. openCV 2.3.1 mingw32 compiled with SSE/SSE2, -O3 and -mstackrealign","labels":[],"closed_at":"2012-05-17T19:34:12Z","created_at":"2012-05-17T19:15:50Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":4630039,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1265","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1265.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1265.diff"}},{"updated_at":"2012-05-25T01:08:45Z","body":"...upport for POT textures. Lots of fixes for iOS also. Please take a look.\nThis is related to issue #1263\n\nwould be good to have eyes on from @damiannz @elliotwoods @memotv @kylemcdonald @obviousjim @julapy @arturoc and anyone who knows about fbos :) \n\nsome of the big changes are:\n1) make the depth as texture and stencil as texture match the texture type of the main fbo texture ( ie ARB if main is ARB and TEX_2D if main is TEX_2D ). \n2) if depth textures are TEX_2D then calculating the proper t and u coords based on the requested sizes and the adjusted pot sizes. \n3) check for ofGetUsingArb when FBO initializes - instead of being hard coded to ARB\n4) less ifdefs for OPENGL_ES \n5) auto addition of stencil buffer for ios fbo that has depth requested ( need both to get a depth buffer )\n6) auto pot for iOS now works with depth buffer\n7) general redundent code cleanup. \n\nmainly tested this on iOS - need to test more on desktop - but would be great to have fbo heads look at this. \nFor example depth and stencil textures had TEXTURE_2D hardcoded - maybe there was a reason for this?\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1264","comments":13,"milestone":null,"number":1264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1264","assignee":null,"title":"cleanup for ofFbo.cpp - tries to reduce redundent code and also better s...","labels":[],"closed_at":"2012-05-25T01:08:45Z","created_at":"2012-05-17T15:09:51Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":4625581,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1264","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1264.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1264.diff"}},{"updated_at":"2012-05-16T13:43:25Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj/Zach Gage was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1261","comments":1,"milestone":null,"number":1261,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1261","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":"2012-05-16T13:43:25Z","created_at":"2012-05-16T13:42:47Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4604623,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1261","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1261.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1261.diff"}},{"updated_at":"2012-05-16T11:42:53Z","body":"in core.xcconfig rtaudio should be rtAudio for HFS case sensitive filesystems, cf #733","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1259","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1259,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1259","assignee":null,"title":"Fix OSX rtAudio path case ","labels":[],"closed_at":"2012-05-16T11:42:53Z","created_at":"2012-05-15T17:46:34Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":4588917,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1259","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1259.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1259.diff"}},{"updated_at":"2012-05-18T08:28:15Z","body":"These are the same libs as in https://github.com/gameoverhack/openFrameworks/tree/bugfix-openCV231_O1_WITH_SSE but without the modification to the opencvExample used for testing efficiency.\n\nThose tests showed that these libs were around 4-5% slower than the VS libs when running in Release mode.\n\nI tried a lot of different variations of BUILD options - these libs are compiled with same/similiar options as VS, linux and Mac OSX libs - but when I tried turning off all WITH options I did not get a libopencv_ts231.a and since the byte size of all other resulting libs was the same as these ones I think it's best to just go ahead and use them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1258","comments":2,"milestone":null,"number":1258,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1258","assignee":null,"title":"Fixes #1253 by re-compiling openCV for mingw32 with -O1","labels":[],"closed_at":"2012-05-15T19:35:38Z","created_at":"2012-05-15T15:26:58Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":4586112,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1258","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1258.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1258.diff"}},{"updated_at":"2012-05-14T11:29:32Z","body":"hey guys,\n\nafter pulling from develop (into my fork) two days ago I can't build opencv related projects anymore. today i tested the openCv example with a fresh and clean oF clone on linux32 and linux64. on linux32 everything works fine but on linux64 i still get the following linking error\n\n\n>../../../addons/ofxOpenCv/libs/opencv/lib/linux64/libopencv_calib3d.a(circlesgrid.o):\n>In function `CirclesGridClusterFinder::hierarchicalClustering(...)':\n>circlesgrid.cpp: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'\n>circlesgrid.cpp: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)'\n>collect2: ld returned 1 exit status\n\nor is this a gcc version issue? i'm working on ubuntu 11.04","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1255","comments":2,"milestone":null,"number":1255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1255","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux64 opencv libraries are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2012-05-14T11:29:32Z","created_at":"2012-05-13T17:36:13Z","state":"closed","user":{"url":"https://api.github.com/users/fx-lange","gravatar_id":"f229f28e1a7bfcfee4e7580660cbcfd7","login":"fx-lange","avatar_url":"https://secure.gravatar.com/avatar/f229f28e1a7bfcfee4e7580660cbcfd7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1012266},"id":4553864,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T16:32:01Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1254","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1254,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1254","assignee":null,"title":"Adding ofClear(ofColor c) just a detail","labels":[],"closed_at":"2012-05-29T16:32:01Z","created_at":"2012-05-12T19:15:59Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":346914},"id":4548835,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1254","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1254.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1254.diff"}},{"updated_at":"2012-05-17T17:06:39Z","body":"When testing opencvExample against current openCV 2.3.1 static libs in Code::Blocks the application always quits. Debug only shows that this is a SIGSEGV on either cvThreshold or cvFindContour (depending on whether you comment one or the other out). Stack trace is not very helpful, but reports segmentation fault on cv::thresh_8u.\n\nAfter a lot of testing I believe this is a quite specific bug in openCV relating to SSE/SSE2 and optimization level of the build. See:\n\nhttp://code.opencv.org/issues/596\nand\nhttp://code.opencv.org/issues/1896\n\nIn order to confirm this I tried the following with 2.3.0, 2.3.1 and 2.4.0\n\n1. With openCV compiled with SSE/SSE2 on, release and -O3 there IS problems - eg., cvThreshold and cvFindContours crash with SIGSEGV. Current openCV libs in develop seem to be compiled with these settings as they exhibit same crash pattern.\n2. With openCV compiled with SSE/SSE2 off, release and -O3 there is no problem.\n3. With openCV compiled with SSE/SSE2 on, debug and -O3 there is no problem.\n4. With openCV compiled with SSE/SSE2 on, release and -O1 there is no problem. (you can find these here: https://github.com/gameoverhack/openframeworks/tree/bugfix-openCV231)\n\nI am using cmake 2.8, latest openCV downloaded from sourceforge (not SVN) mingw 4.4.1 on a native win 7 box (core 2 duo 4gb ram - fresh install).\n\nBefore making a pull request I figure there needs to be input from everyone about:\na) do we turn SSE/SSE2 off? - I think this will affect efficiency for many functions\nb) what is the difference in efficiency with -O1 vs -O3?\nc) can someone on a machine with more modern GCC manage to compile with -O2\nd) people need to test these libs to see if they are stable\ne) some other magic ;-)\n\nif it is helpful I can upload the many different versions of the libs I have compiled for testing, but #4 above is the only combo with SSE/SSE2 that ran on my machine - which is fairly common configuration...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1253","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1253,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1253","assignee":null,"title":"openCV mingw32 libs crash","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"closed_at":"2012-05-15T19:35:49Z","created_at":"2012-05-12T13:19:39Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":4546918,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T17:13:40Z","body":"When binding a texture to an ofBox on iOS, it seems to render oddly where certain sides are transparent. Related post on OF forum with image examples below:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9765.new.html#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1248","comments":1,"milestone":null,"number":1248,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1248","assignee":null,"title":"ofxBox + bind texture renders oddly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-05-10T17:13:40Z","created_at":"2012-05-10T03:36:01Z","state":"closed","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":4506336,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-09T19:38:46Z","body":"Fixes issue #1246 ofSystemDialog behaves correctly in VS2010\r\n\r\nTested in CB and VS and seems all a-ok now...was a wide char conversion thing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1247","comments":0,"milestone":null,"number":1247,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1247","assignee":null,"title":"Bugfix issue #1246 ofSystemDialog in VS","labels":[],"closed_at":"2012-05-09T19:38:46Z","created_at":"2012-05-09T19:24:01Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":4499600,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1247","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1247.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1247.diff"}},{"updated_at":"2012-05-09T20:13:47Z","body":"Heya!\r\ncommits\r\n3b0d89e435307ac528ddf3c164d20532ce070b7b\r\nand\r\nb4f59794e790289996f35a7fe04bd58d38dd65f9\r\n\r\nbreaks file loading in windows rather than fixing it (it worked before!)\r\n\r\ni presume it fixes it for minigw, but breaks it for vs.\r\nreverting to old version for now. Could you have a look at this @gameoverhack ?\r\ni guess marshalling the changes for mingw only would be the way?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1246","comments":4,"milestone":null,"number":1246,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1246","assignee":null,"title":"ofSystemLoadDialog broken on VS2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2012-05-09T20:13:47Z","created_at":"2012-05-09T06:47:16Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":4487374,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-24T09:53:58Z","body":"please do not merge just yet.\r\nthis is still a WIP up for discussion in #820","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1244","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1244","assignee":null,"title":"movie player fixes / optimisations","labels":[],"closed_at":"2012-05-23T14:15:50Z","created_at":"2012-05-06T15:31:42Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4443897,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1244","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1244.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1244.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=2&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '44978'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9d6a7179674e934a6c984fd3ee1a6c10"'), ('date', 'Tue, 29 May 2012 18:46:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-06T13:15:27Z","body":"fixed videoGrabber orientation issue.\r\nadded support for UIDeviceOrientationPortraitUpsideDown.\r\n\r\ncloses #1207","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1243","comments":0,"milestone":null,"number":1243,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1243","assignee":null,"title":"ios video grabber orientation fix","labels":[],"closed_at":"2012-05-06T13:15:27Z","created_at":"2012-05-06T12:52:50Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4442888,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1243","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1243.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1243.diff"}},{"updated_at":"2012-05-16T12:16:08Z","body":"removed xcode templates folder. It's a bit out of date now!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1242","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1242,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1242","assignee":null,"title":"Feature removedxcodetemplatesfolder","labels":[],"closed_at":"2012-05-16T12:16:08Z","created_at":"2012-05-05T10:13:24Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144230},"id":4435701,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1242","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1242.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1242.diff"}},{"updated_at":"2012-05-04T22:40:39Z","body":"I think Poco needs to be recompiled for the latest version of ofAndroid. I am getting these errors upon building: \r\n\r\nobj/androidRelease/addons/ofxAndroid/src/ofAppAndroidWindow.o: In function `ofxRegisterMultitouch(ofxAndroidApp*)':\r\nofAppAndroidWindow.cpp:(.text+0x10c0): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x10ec): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x1114): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x113c): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x1168): undefined reference to `ofEvents()'\r\nobj/androidRelease/addons/ofxAndroid/src/ofAppAndroidWindow.o: In function `ofGetOFActivityObject()':\r\nofAppAndroidWindow.cpp:(.text+0x12d8): undefined reference to `ofLog::padding'\r\nobj/androidRelease/addons/ofxAndroid/src/ofAppAndroidWindow.o: In function `Java_cc_openframeworks_OFAndroid_render':\r\nofAppAndroidWindow.cpp:(.text+0x1380): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x1398): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x13ac): undefined reference to `ofEvents()'\r\nofAppAndroidWindow.cpp:(.text+0x13bc): undefined reference to `ofEvents()'\r\nobj/androidRelease/addons/ofxAndroid/src/ofAppAndroidWindow.o: In function `Java_cc_openframeworks_OFAndroid_onTouchUp':\r\nofAppAndroidWindow.cpp:(.text+0x1818): undefined reference to `ofEvents()'\r\nobj/androidRelease/addons/ofxAndroid/src/ofAppAndroidWindow.o:ofAppAndroidWindow.cpp:(.text+0x18d0): more undefined references to `ofEvents()' follow\r\nobj/androidRelease/addons/ofxAndroid/src/ofxAndroidSoundPlayer.o: In function `_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E.clone.0':\r\nofxAndroidSoundPlayer.cpp:(.text+0x354): undefined reference to `ofLog::padding'\r\nobj/androidRelease/addons/ofxAndroid/src/ofxAndroidSoundStream.o: In function `ofxAndroidSoundStream::androidInputAudioCallback(_JNIEnv*, _jobject*, _jshortArray*, int, int)':\r\nofxAndroidSoundStream.cpp:(.text+0xdbc): undefined reference to `ofLog::padding'\r\nobj/androidRelease/addons/ofxAndroid/src/ofxAndroidSoundStream.o: In function `ofxAndroidSoundStream::androidOutputAudioCallback(_JNIEnv*, _jobject*, _jshortArray*, int, int)':\r\nofxAndroidSoundStream.cpp:(.text+0x10bc): undefined reference to `ofLog::padding'\r\ncollect2: ld returned 1 exit status\r\nmake[1]: *** [libs/armeabi/libOFAndroidApp.so] Error 1\r\nmake: *** [AndroidRelease] Error 2\r\n\r\nThe application crashed when installed and ran on an android device, also posted this issus on the OF forum: http://forum.openframeworks.cc/index.php/board,27.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1241","comments":6,"milestone":null,"number":1241,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1241","assignee":null,"title":"ofAndroid: undefined reference to `ofEvents()' ","labels":[],"closed_at":"2012-05-04T22:09:49Z","created_at":"2012-05-04T19:59:58Z","state":"closed","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":555207},"id":4430168,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T11:43:23Z","body":"I found a bug in the linux/cleanAllExamples.sh script - it only cleans the first example it encounters.\r\noutput e.g.\r\n\r\n\t-----------------------------------------------------------------\r\n\tcleaning + meshFromCamera\r\n\t./cleanAllExamples.sh: line 16: cd: meshFromCamera: No such file or directory\r\n\trm -rf obj/i686Release/\r\n\trm -f bin/advanced3dExample_debug bin/advanced3dExample\r\n\trm -r bin/libs\r\n\trm: cannot remove `bin/libs': No such file or directory\r\n\tmake: *** [clean] Error 1\r\n\t-----------------------------------------------------------------\r\n\r\nThere's a `cd ..` missing at https://github.com/openframeworks/openFrameworks/blob/develop/scripts/linux/cleanAllExamples.sh#L24\r\nThis PR fixes teh bug.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1240","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1240","assignee":null,"title":"Fix cleanAllExamples script","labels":[],"closed_at":"2012-05-16T11:43:23Z","created_at":"2012-05-04T11:12:27Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4421886,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1240","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1240.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1240.diff"}},{"updated_at":"2012-05-29T15:02:47Z","body":"Adds two new forms of ofToString:\r\n\r\n~~~~\r\nstring ofToString(const T& value, int width, char fill );\r\n~~~~\r\n\r\nBehaves like `\"%04d\"` or `\"%04f\"` arguments to `printf`, with `width=4` and `fill='0'` in this example. Use to prettily align numbers, using `fill=' '`.\r\n\r\n~~~~\r\nstring ofToString(const T& value, int precision, int width, char fill=' ' );\r\n~~~~\r\n\r\n\r\nBehaves like `\"%04.2f\"` with `width=4`, `precision=2` and `fill='0'` in this example.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1238","comments":7,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1238,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1238","assignee":null,"title":"Feature: ofToString float formatting arguments","labels":[],"closed_at":"2012-05-29T15:02:47Z","created_at":"2012-05-03T14:31:05Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":4406071,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1238","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1238.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1238.diff"}},{"updated_at":"2012-05-03T04:33:15Z","body":"OFXIPHONE_UNKNOWN_DEVICE missing from ofxiPhoneDeviceType.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1237","comments":0,"milestone":null,"number":1237,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1237","assignee":null,"title":"OFXIPHONE_UNKNOWN_DEVICE missing from ofxiPhoneDeviceType.","labels":[],"closed_at":"2012-05-03T04:33:15Z","created_at":"2012-05-03T04:31:57Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4399262,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1237","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1237.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1237.diff"}},{"updated_at":"2012-05-01T19:05:17Z","body":"I'd like to propose a \"minor\" change to the [OF style guide](https://github.com/openframeworks/openFrameworks/wiki/oF-code-style). I realize that it is based on, yet deviates from, the [Qt style guide](http://wiki.qt-project.org/Coding_Style) and that this issue is a matter of style.\r\n\r\nHowever, I disagree with the whitespace rule with control structures, parenthesized conditions and braces.\r\n\r\nI would like to change the style guide to:\r\n\r\n```\r\nif (foo) {\r\n}\r\n\r\nswitch (foo) {\r\n}\r\n\r\nwhile (foo) {\r\n}\r\n\r\nclass Foo {\r\n}\r\n\r\nvoid methodName(int foo) {\r\n}\r\n```\r\n\r\nI would like to propose this documented style change before committing a patch that makes the above changes. The lack of whitespace between parens and braces, and between flow-control keywords and parens seems to go against the grain of the overall \"Qt-like\" style that the style guide is based on, and postmodern best practices for legibility in C-like languages.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1231","comments":6,"milestone":null,"number":1231,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1231","assignee":null,"title":"style guide brace-related whitespace guide change","labels":[],"closed_at":"2012-05-01T17:33:30Z","created_at":"2012-05-01T17:14:01Z","state":"closed","user":{"url":"https://api.github.com/users/ybakos","gravatar_id":"41a619faa9d2d02404b369744575b1a6","login":"ybakos","avatar_url":"https://secure.gravatar.com/avatar/41a619faa9d2d02404b369744575b1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":5502},"id":4370196,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-01T12:44:52Z","body":"the cvLoad call to load the haar xml results in:\r\n\r\nstrtod$UNIX2003 called from function _ZL16icvXMLParseValueP13CvFileStoragePcP10CvFileNodei in image opencvFaceExample.\r\n\r\nand then it crashes. \r\n\r\nXcode 3.2 with ios 4.1 it doesn't have this issue. \r\nthis is in the simulator","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1230","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1230,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1230","assignee":null,"title":"opencvFaceExample doesn't run on ios5 / xcode 4 ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-30T20:33:34Z","created_at":"2012-04-30T20:02:56Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":4356775,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T18:03:52Z","body":"I completely rewrote ofEasyCam as it was working in some weird ways when the target was changed.\r\nNow the maths are much simpler and tidier.\r\nI also changed the way it is used.\r\nNow by pressing the dragging the mouse with the left button the camera rotates around the target. when doing so with the right button the camera rotates around it's local z axis.\r\n\r\nWhen the 'm' key is pressed, dragging the mouse with the left button will move the camera over it's local X an Y axes. Using the right button will move the camera over it's local z axis, making it \"zoom\" in or out.\r\n\r\nIn my initial implementation I checked if the mouse was inside a circle of radius min(ofGetWith, ofGetHeight) centered at the middle of the viewport, if it was inside the X and Y rotation was applied, else the Z rotation, thus leaving the second button free to use \"zoom\" in or out.\r\nI finally decided to leave out this way of use opting for the one that I'm commiting.\r\nIf anyone of you thinks that my initial implementation would be better I can pull it.\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1227","comments":27,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1227","assignee":null,"title":"Rewritten ofEasyCam + minor fixes to ofNode","labels":[],"closed_at":"2012-05-29T18:03:52Z","created_at":"2012-04-30T03:15:12Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":4345219,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1227","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1227.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1227.diff"}},{"updated_at":"2012-04-29T16:54:10Z","body":"ofxiPhoneImagePicker now also works on the iPad.\r\nworks in all device orientations.\r\na custom overlay view can be created by extending OverlayView rather then having to change code inside ofxiPhoneImagePicker.\r\nfixed a bunch of leaks. \r\nstill a couple small leaks showing up which im trying to patch up.\r\nfixed up formatting.\r\n\r\ncloses #1208","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1226","comments":0,"milestone":null,"number":1226,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1226","assignee":null,"title":"ofxiPhoneImagePicker update","labels":[],"closed_at":"2012-04-29T16:54:10Z","created_at":"2012-04-29T15:05:07Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4341279,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1226","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1226.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1226.diff"}},{"updated_at":"2012-04-29T12:09:58Z","body":"this issue was introduced on iOS with a fix for issue #1199.\r\nive added isLoaded() method to ofxOpenALSoundPlayer and is again building fine on iOS.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1225","comments":0,"milestone":null,"number":1225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1225","assignee":null,"title":"ofxOpenALSoundPlayer was missing isLoaded() method.","labels":[],"closed_at":"2012-04-29T12:09:58Z","created_at":"2012-04-29T12:09:34Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4340490,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1225","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1225.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1225.diff"}},{"updated_at":"2012-04-27T18:17:31Z","body":"This class can be used to create a default file to store openFrameworks\r\ncore variables like window-position, -size, framerate... This default\r\nfile will be saved to ofFilePath::getCurrentWorkingDirectory()\r\nAlso added an example.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1224","comments":9,"milestone":null,"number":1224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1224","assignee":null,"title":"ofxXmlSettings default file [develop branch]","labels":[],"closed_at":"2012-04-27T18:17:31Z","created_at":"2012-04-27T09:21:44Z","state":"closed","user":{"url":"https://api.github.com/users/WrongEntertainment","gravatar_id":"8aa3a1b1a5238b9a8f375688dfa14e49","login":"WrongEntertainment","avatar_url":"https://secure.gravatar.com/avatar/8aa3a1b1a5238b9a8f375688dfa14e49?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":235200},"id":4318954,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1224","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1224.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1224.diff"}},{"updated_at":"2012-04-27T09:26:00Z","body":"Hey oFolk,\r\nwhat do you think about the xml default idea? i've used it two weeks for myself and i love it.\r\n\r\ngreets from berlin, paul.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1222","comments":2,"milestone":null,"number":1222,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1222","assignee":null,"title":"ofxXmlSettings default file","labels":[],"closed_at":"2012-04-27T05:30:34Z","created_at":"2012-04-27T04:33:35Z","state":"closed","user":{"url":"https://api.github.com/users/WrongEntertainment","gravatar_id":"8aa3a1b1a5238b9a8f375688dfa14e49","login":"WrongEntertainment","avatar_url":"https://secure.gravatar.com/avatar/8aa3a1b1a5238b9a8f375688dfa14e49?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":235200},"id":4315860,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1222","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1222.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1222.diff"}},{"updated_at":"2012-04-27T06:39:51Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n\tofSetPolyMode(OF_POLY_WINDING_ODD);\r\n\tofSetLineWidth(1.5);\r\n\tofEnableSmoothing();\r\n\tofNoFill();\r\n\tofSetHexColor(0x000000);\r\n\tofRoundedRect(630,520,80,60,9);\r\n\tofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1221","comments":2,"milestone":null,"number":1221,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1221","assignee":null,"title":"Added ofRoundedRect() functions to ofGraphics","labels":[],"closed_at":"2012-04-27T05:30:29Z","created_at":"2012-04-26T22:21:09Z","state":"closed","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","login":"lawarner","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1479237},"id":4312697,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1221","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1221.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1221.diff"}},{"updated_at":"2012-04-26T21:16:22Z","body":"... caused linker errors on linux (directory not found) if custom project directory not in default location.\r\n\r\n\r\nUsing makefile: Makefile\r\nmake: *** No rule to make target `../../../libs/poco/lib/linux/libPocoXML.a', needed by `bin/testProject_debug'. Stop.\r\nProcess terminated with status 2 (0 minutes, 0 seconds)\r\n0 errors, 0 warnings\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1220","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1220,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1220","assignee":null,"title":"Bugfix makefile.examples","labels":[],"closed_at":"2012-04-26T21:16:22Z","created_at":"2012-04-26T20:30:57Z","state":"closed","user":{"url":"https://api.github.com/users/tgfrerer","gravatar_id":"b37673dd0fb953e948cfd5475d49de9f","login":"tgfrerer","avatar_url":"https://secure.gravatar.com/avatar/b37673dd0fb953e948cfd5475d49de9f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":423509},"id":4310831,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1220","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1220.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1220.diff"}},{"updated_at":"2012-04-30T22:03:53Z","body":"I have an Universal app that uses this feature the screen grab works fine on non retina display devices but in iPhone 4 the screen grab is 1/4 of the size of the screen, posible solution by jasonwalters here http://forum.openframeworks.cc/index.php/topic,6092.15.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1219","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1219,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1219","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneScreenGrab doesnt use Retina Display scaling","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-04-30T22:03:53Z","created_at":"2012-04-26T08:21:49Z","state":"closed","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":4297487,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-30T14:43:17Z","body":" \"_cvKalmanPredict\", referenced from:\r\n \"_cvReleaseKalman\", referenced from:\r\n \"_cvCreateKalman\", referenced from:\r\n \"_cvKalmanCorrect\", referenced from:\r\n\r\nwant to make sure we're not missing anything from opencv.a \r\n\r\n- hmm adding the raw libs ( not the smooshed ones ) it finds those symbols.\r\ngoing to check the opencv smooshing project. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1214","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1214","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"2.3.2 osx opencv.a missing kalman methods ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"closed_at":"2012-04-30T14:43:17Z","created_at":"2012-04-24T14:49:54Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":4261132,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-24T04:02:19Z","body":"new Default.png and Icon.png for 0071 release.\r\n\r\nwill add retina icons too\r\nbut just wanted to update the essentials first.\r\n\r\ncloses #1209","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1213","comments":2,"milestone":null,"number":1213,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1213","assignee":null,"title":"ios new splashscreen + icon","labels":[],"closed_at":"2012-04-24T03:35:14Z","created_at":"2012-04-24T03:32:37Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4253268,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1213","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1213.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1213.diff"}},{"updated_at":"2012-04-24T03:23:23Z","body":"touch events and alerts are now being added automatically when the app is started.\r\nplease see the first commit.\r\nall other commits are adjustments made to iOS examples.\r\n\r\nthis means, the user doesn't have to worry about setting touch events and alerts up inside their app.\r\nit makes sense as this is what the user will always need to do anyway when running an iOS OF project.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1212","comments":0,"milestone":null,"number":1212,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1212","assignee":null,"title":"ios example changes","labels":[],"closed_at":"2012-04-24T03:23:23Z","created_at":"2012-04-24T03:13:46Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4253139,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1212","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1212.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1212.diff"}},{"updated_at":"2012-04-30T15:55:27Z","body":"examples/ios/xmlSettingsExample\r\nfiles in addons/ofxXmlSettings/libs are getting added twice by PG and its causing duplicate method errors.\r\n\r\nthis issue will be resolved when issue #1206 is resolved.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1211","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1211,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1211","assignee":null,"title":"iOS xmlSettingsExample errors","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-30T15:55:27Z","created_at":"2012-04-24T02:32:41Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252816,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-30T15:55:27Z","body":"examples/ios/oscReceiverExample\r\nexamples/ios/oscSenderExample\r\n\r\n/Volumes/STORAGE/openFrameworks/examples/ios/oscReceiverExample/../../../addons/ofxOsc/libs/oscpack/src/osc/OscTypes.h:128:16: error: expected unqualified-id\r\nextern NilType Nil;\r\n\r\nsimulator and device, across all iOS versions.\r\nthis is not an issue in 007.\r\n\r\nthis issue may be resolved when issue #1206 is resolved.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1210","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1210,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1210","assignee":null,"title":"iOS OSC examples build with errors","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-30T15:55:27Z","created_at":"2012-04-24T02:30:30Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252797,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-24T08:31:55Z","body":"Default.png says openFrameworks 007 \r\nshould be 0071 for the next release.\r\nim taking care of this today.\r\n\r\nwill also have a version ready for ipad.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1209","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1209,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1209","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Default.png and Icon.png need update for 0071 release","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":"2012-04-24T08:31:55Z","created_at":"2012-04-24T02:23:37Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252761,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-24T08:37:24Z","body":"examples/ios/ImagePickerExample\r\nImagePicker is working fine but when photo taken is upside down.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1208","comments":1,"milestone":null,"number":1208,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1208","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS ImagePickerExample is upside down","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-24T08:37:24Z","created_at":"2012-04-24T02:18:39Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252721,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-11T17:49:27Z","body":"examples/ios/videoGrabberExample\r\nvideo image is upside down.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1207","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1207,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1207","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS videoGrabberExample is upside down","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":"2012-05-11T17:49:27Z","created_at":"2012-04-24T02:17:23Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252711,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-30T15:55:55Z","body":"something ive noticed when testing all the iOS examples today.\r\nPG seems to be duplicating files in the addons libs folder.\r\n\r\nfor example in the ofxXmlSettings folder,\r\nsrc/ is fine.\r\nlibs/ has all the files duplicated.\r\n\r\nthis is causing duplicate declaration issues in projects that use addons.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1206","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1206,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1206","assignee":null,"title":"project generator duplicating files in addons libs folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-30T15:55:55Z","created_at":"2012-04-24T02:16:16Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"id":4252699,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '52066'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f4d92939c86368abd980ac88fa4a129"'), ('date', 'Tue, 29 May 2012 18:46:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-29T14:51:07Z","body":"@ofTheo @memo @bilderbuchi @ofZach For your consideration (ref #1200)\r\n\r\n~~~~\r\n\tofVec3f p( 1, 2, 3 ); // p is { 1, 2, 3 }\r\n\tp.set( 4 ); // ok, p is now { 4, 4, 4 }\r\n\tp = ofVec3f( 5 ); // ok, p is now { 5, 5, 5 }\r\n\tp.set( 6, 7 ); // ok, p is now { 6, 7, 0 }\r\n\tp = 8; // generates error 'No match for 'operator=' in 'p = 8'\r\n~~~~\r\n\r\nBehaviour is similar with ofVec2f and ofVec4f.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1205","comments":25,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1205,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1205","assignee":null,"title":"Fix ofVec2/3/4f float assignment","labels":[],"closed_at":"2012-05-29T14:51:07Z","created_at":"2012-04-23T22:31:13Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4250445,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1205","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1205.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1205.diff"}},{"updated_at":"2012-04-23T11:50:50Z","body":"ofShader was calling glGetProgramiv incorrectly, passing a shader argument when it should have been a program argument.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1204","comments":2,"milestone":null,"number":1204,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1204","assignee":null,"title":"Fix ofShader's broken call to glGetProgramiv","labels":[],"closed_at":"2012-04-23T00:40:14Z","created_at":"2012-04-23T00:36:54Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4233147,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1204","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1204.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1204.diff"}},{"updated_at":"2012-04-23T00:33:41Z","body":"ofShader was calling `glGetProgramiv( shader, GL_LINK_STATUS, &status );` but this call is invalid as `glGetProgramiv` expects a program argument, not a shader. Hence status was uninitialised after the call, and the following if statement was nonsense.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1203","comments":0,"milestone":null,"number":1203,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1203","assignee":null,"title":"Fix ofShader's call to glGetProgramiv( GL_LINK_STATUS )","labels":[],"closed_at":"2012-04-23T00:33:41Z","created_at":"2012-04-23T00:33:10Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4233127,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1203","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1203.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1203.diff"}},{"updated_at":"2012-05-29T14:59:44Z","body":"we used to have operator overloading for float so you could do: myVec = 0.0; \r\nor myScale3f = 100.0; and it would set x y and z to that number. \r\n\r\nat somepoint someone commented it out ( breaking quite a few projects for me ).\r\nanyway I would like to revert that commenting out and restore it to its original behavior. \r\n\r\nthis is what ofVec3f.h currently looks like\r\n\r\n\t//operator overloading for float\r\n\t//\r\n\t//\r\n\t//inline void ofVec3f::operator=( const float f){\r\n\t//\tx = f;\r\n\t//\ty = f;\r\n\t//\tz = f;\r\n\t//}\r\n\r\nI know @memo had some thoughts on this. \r\nAlso would be good to have @ofZach look at this. \r\n\r\nI want to make sure I don't introduce anything unexpected by reverting it to its original behavior. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1200","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1200,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1200","assignee":null,"title":"fix/feature: restore the = operator overload for ofVec2 / ofVec3 ....","labels":[],"closed_at":"2012-05-29T14:59:44Z","created_at":"2012-04-22T14:24:01Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4229599,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-24T14:52:36Z","body":"currently there is no way to know if your sound file has loaded.\r\nin ofFmodSoundPlayer we have a bLoaded bool, but there should be a method for all sound player objects to query if a sound was successfully loaded. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1199","assignee":null,"title":"feature: add isLoaded() to ofSoundPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-04-24T14:52:36Z","created_at":"2012-04-22T14:18:28Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4229567,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-23T00:11:06Z","body":"@damiannz found that examples were not rendering on a recent Macbook Air. Specs are as follows:\r\n\r\n\r\n Macbook Air 4,1 (late-2011) with Intel HD Graphics 3000 (Sandy Bridge core i7 1.8Ghz CPU):\r\n Chipset Model:\tIntel HD Graphics 3000\r\n Type:\tGPU\r\n Bus:\tBuilt-In\r\n VRAM (Total):\t384 MB\r\n Vendor:\tIntel (0x8086)\r\n Device ID:\t0x0116\r\n Revision ID:\t0x0009\r\n\r\n\r\nWould be great to get this working as its a common laptop setup. \r\n\r\nhere are the features of the card: http://feedback.wildfiregames.com/report/opengl/device/Intel%20HD%20Graphics%203000\r\n\r\n@damiannz \r\n\r\ncould you try changing in testApp of gl/billboardExample\r\n\r\n\t// bind the shader so that wee can change the\r\n\t// size of the points via the vert shader\r\n\t//billboardShader.begin();\r\n\tbillboardShader.setUniform1fv(\"pointSize\", billboardSize, NUM_BILLBOARDS); \r\n\t\r\n\tglPointSize(30);\r\n\tofEnablePointSprites();\r\n\ttexture.getTextureReference().bind();\r\n\tbillboardVbo.bind();\r\n\tbillboardVbo.setVertexData(billboardVerts, NUM_BILLBOARDS, GL_DYNAMIC_DRAW);\r\n\t//billboardVbo.setColorData(billboardColor, NUM_BILLBOARDS, GL_DYNAMIC_DRAW);\r\n\tbillboardVbo.draw(GL_POINTS, 0, NUM_BILLBOARDS);\r\n\t\r\n\tbillboardVbo.unbind();\r\n\ttexture.getTextureReference().unbind();\r\n\tofDisablePointSprites();\r\n\t\r\n\t//billboardShader.end();\r\n\r\nthis comments out the shader and sets the size of the points without the shader.\r\nthis way we can see if its a shader issue or a vbo issue. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1198","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1198,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1198","assignee":null,"title":"billboard examples not working on Intel HD 3000","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"closed_at":"2012-04-23T00:09:09Z","created_at":"2012-04-22T13:56:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4229433,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-22T19:34:27Z","body":"still experiencing problem with develop branch on linux ubuntu lucid 32 bit, now it's an error at linking with new opencv:\r\n\r\n../../../addons/ofxOpenCv/libs/opencv/lib/linux/libopencv_core.a(system.o): In function `cv::tempfile(char const*)':\r\nsystem.cpp:(.text._ZN2cv8tempfileEPKc+0x3a): warning: the use of `tmpnam' is dangerous, better use `mkstemp'\r\n../../../addons/ofxOpenCv/libs/opencv/lib/linux/libopencv_calib3d.a(circlesgrid.o): In function `void std::__uninitialized_fill_n::__uninit_fill_n >*, unsigned int, std::list > >(std::list >*, unsigned int, std::list > const&)':\r\ncirclesgrid.cpp:(.text._ZNSt22__uninitialized_fill_nILb0EE15__uninit_fill_nIPSt4listIjSaIjEEjS4_EEvT_T0_RKT1_[void std::__uninitialized_fill_n::__uninit_fill_n >*, unsigned int, std::list > >(std::list >*, unsigned int, std::list > const&)]+0x57): undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'\r\n../../../addons/ofxOpenCv/libs/opencv/lib/linux/libopencv_calib3d.a(circlesgrid.o): In function `CirclesGridClusterFinder::hierarchicalClustering(std::vector, std::allocator > >, cv::Size_ const&, std::vector, std::allocator > >&)':\r\ncirclesgrid.cpp:(.text._ZN24CirclesGridClusterFinder22hierarchicalClusteringESt6vectorIN2cv6Point_IfEESaIS3_EERKNS1_5Size_IiEERS5_+0x4a1): undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'\r\ncirclesgrid.cpp:(.text._ZN24CirclesGridClusterFinder22hierarchicalClusteringESt6vectorIN2cv6Point_IfEESaIS3_EERKNS1_5Size_IiEERS5_+0xcab): undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)'\r\ncollect2: ld returned 1 exit status\r\nmake: *** [bin/lpmt] Errore 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1197","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1197,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1197","assignee":null,"title":"linker error in ubuntu lucid with new opencv libs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-22T19:34:27Z","created_at":"2012-04-22T12:02:28Z","state":"closed","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":4228922,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-22T16:11:05Z","body":"added some little additions to ofVec* classes so generic external functions (e.g. templated functions and classes) can manipulate them without knowing if its a ofVec2f or ofVec3f etc. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1196","comments":5,"milestone":null,"number":1196,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1196","assignee":null,"title":"Feature of vec things","labels":[],"closed_at":"2012-04-22T16:11:05Z","created_at":"2012-04-22T11:03:34Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":4228716,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1196","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1196.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1196.diff"}},{"updated_at":"2012-04-21T19:17:43Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1195","comments":0,"milestone":null,"number":1195,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1195","assignee":null,"title":"arturo's changes to fix linux","labels":[],"closed_at":"2012-04-21T19:17:43Z","created_at":"2012-04-21T19:17:29Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":4225438,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1195","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1195.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1195.diff"}},{"updated_at":"2012-04-21T23:17:32Z","body":"I'm experiencing a segfault on Ubuntu Linux Lucid on my application since commit 3406911340b2c659f298eeab68f607db8491cd21\r\nit seems to me something related with events and triggered by ofxTimeline addon,\r\n\r\nthis is the backtrace:\r\n(gdb) bt\r\n#0 0x0012d422 in __kernel_vsyscall ()\r\n#1 0x0144f651 in raise () from /lib/tls/i686/cmov/libc.so.6\r\n#2 0x01452a82 in abort () from /lib/tls/i686/cmov/libc.so.6\r\n#3 0x0148606d in ?? () from /lib/tls/i686/cmov/libc.so.6\r\n#4 0x01490161 in ?? () from /lib/tls/i686/cmov/libc.so.6\r\n#5 0x014919b8 in ?? () from /lib/tls/i686/cmov/libc.so.6\r\n#6 0x01494a9d in free () from /lib/tls/i686/cmov/libc.so.6\r\n#7 0x013a69f1 in operator delete(void*) () from /usr/lib/libstdc++.so.6\r\n#8 0x080e2aee in Poco::SharedPtr, Poco::ReferenceCounter, Poco::ReleasePolicy > >::release (this=0xbfffecb8) at ../../../libs/poco/include/Poco/SharedPtr.h:407\r\n#9 0x080e2885 in ~SharedPtr (this=0xbfffecb8, __in_chrg=) at ../../../libs/poco/include/Poco/SharedPtr.h:159\r\n#10 0x080e272c in Poco::DefaultStrategy >::add (this=0x87ccc04, delegate=...)\r\n at ../../../libs/poco/include/Poco/DefaultStrategy.h:88\r\n#11 0x080e24e8 in Poco::AbstractEvent >, Poco::AbstractDelegate, Poco::FastMutex>::operator+= (this=0x87ccbf4, aDelegate=...) at ../../../libs/poco/include/Poco/AbstractEvent.h:197\r\n#12 0x080e1fed in ofAddListener, ofxTLZoomEventArgs, ofxTLElement> (event=..., listener=0x906ec18, \r\n listenerMethod=&virtual ofxTLElement::zoomStarted(ofxTLZoomEventArgs&)) at ../../../libs/openFrameworks/events/ofEventUtils.h:59\r\n#13 0x080e230f in ofxTLRegisterZoomEvents (listener=0x906ec18) at ../../../addons/ofxTimeline/src/ofxTLEvents.h:111\r\n#14 0x080e173e in ofxTLElement::enable (this=0x906ec18) at ../../../addons/ofxTimeline/src/ofxTLElement.cpp:58\r\n#15 0x08106a62 in ofxTLTicker::setup (this=0x906ec18) at ../../../addons/ofxTimeline/src/ofxTLTicker.cpp:46\r\n#16 0x08113521 in ofxTimeline::setup (this=0x8c396b0) at ../../../addons/ofxTimeline/src/ofxTimeline.cpp:99\r\n#17 0x08086786 in testApp::timelineSetup (this=0x8c19cc0, duration=10) at src/timeline.cpp:6\r\n#18 0x080694ae in testApp::setup (this=0x8c19cc0) at src/testApp.cpp:266\r\n#19 0x0815665f in ofNotifySetup () at ../../../openFrameworks/events/ofEvents.cpp:77\r\n#20 0x08200f7f in ofAppGlutWindow::runAppViaInfiniteLoop (this=0x889c690, appPtr=0x8c19cc0) at ../../../openFrameworks/app/ofAppGlutWindow.cpp:331\r\n#21 0x08154ef2 in ofRunApp (OFSA=0x8c19cc0) at ../../../openFrameworks/app/ofAppRunner.cpp:78\r\n#22 0x0805b372 in main () at src/main.cpp:18\r\n\r\ni've tracked the problem to the commit that introduced new poco headers\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1194","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1194","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"segfault with new Poco libs 1.4.3","labels":[],"closed_at":"2012-04-21T23:17:32Z","created_at":"2012-04-21T18:33:05Z","state":"closed","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":4225207,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-21T23:17:32Z","body":"the of core lib compiled fine. but when i did testing the example,it won't compiled,seems there's a trouble with ofFileUtils.cpp and poco::File somehow. cheers @ofTheo\r\n\r\nopenframeworksLib.lib(ofFileUtils.obj) : error LNK2019: unresolved external symbol \"public: class Poco::File & __thiscall Poco::File::setWriteable(bool)\" (?setWriteable@File@Poco@@QAEAAV12@_N@Z) referenced in function \"public: void __thiscall ofFile::setWriteable(bool)\" (?setWriteable@ofFile@@QAEX_N@Z)\r\n1>openframeworksLib.lib(ofFileUtils.obj) : error LNK2019: unresolved external symbol \"public: class Poco::File & __thiscall Poco::File::setReadOnly(bool)\" (?setReadOnly@File@Poco@@QAEAAV12@_N@Z) referenced in function \"public: void __thiscall ofFile::setReadOnly(bool)\" (?setReadOnly@ofFile@@QAEX_N@Z)\r\n1>openframeworksLib.lib(ofFileUtils.obj) : error LNK2019: unresolved external symbol \"public: class Poco::File & __thiscall Poco::File::setExecutable(bool)\" (?setExecutable@File@Poco@@QAEAAV12@_N@Z) referenced in function \"public: void __thiscall ofFile::setExecutable(bool)\" (?setExecutable@ofFile@@QAEX_N@Z)\r\n1>openframeworksLib.lib(ofFileUtils.obj) : error LNK2019: unresolved external symbol \"public: class Poco::Path & __thiscall Poco::Path::setFileName(class std::basic_string,class std::allocator > const &)\" (?setFileName@Path@Poco@@QAEAAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function \"public: int __thiscall ofDirectory::listDir(void)\" (?listDir@ofDirectory@@QAEHXZ)\r\n1>bin\\emptyExample_vs2010.exe : fatal error LNK1120: 4 unresolved externals","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1193","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1193","assignee":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"title":"the vs2010 examples does not compile with 0071","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-21T23:17:32Z","created_at":"2012-04-21T13:32:21Z","state":"closed","user":{"url":"https://api.github.com/users/liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","id":51957},"id":4223588,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-30T18:51:21Z","body":"iOS openCV examples are not working when built using Project Generator.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1192","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1192,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1192","assignee":null,"title":"iOS openCV examples not working - created using PG","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-30T18:51:21Z","created_at":"2012-04-20T11:28:58Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":4208911,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-20T17:40:27Z","body":"On a fresh develop checkout from today, any app that uses sound player example crashes on exit. I've tested the soundPlayerExample and an app created with the PG\r\n\r\n```c++\r\n//------------------------------------------------------------\r\nvoid ofFmodSoundPlayer::unloadSound(){\r\n\tif (bLoadedOk){\r\n\t\tstop();\t\t\t\t\t\t// try to stop the sound\r\n\t\tif(!isStreaming)FMOD_Sound_Release(sound); // <---the error points to this line\r\n\t}\r\n}\r\n```\r\n\r\nosx 10.7.3\r\n\r\nalso, I'm getting a warning like this in every app I compile \r\n\r\nGuardMalloc[soundPlayerExampleDebug-6203]: Allocations will be placed on 16 byte boundaries.\r\nGuardMalloc[soundPlayerExampleDebug-6203]: - Some buffer overruns may not be noticed.\r\nGuardMalloc[soundPlayerExampleDebug-6203]: - Applications using vector instructions (e.g., SSE) should work.\r\nGuardMalloc[soundPlayerExampleDebug-6203]: version 25\r\nCouldn't set thread priority\r\n\r\nnot sure if it's related, as this happens in every application with this checkout but only those with ofSoundPlayer crash. If it's not related I'll file a different issue.\r\n\r\nfor the record, on a different project I'm using a slightly older develop (last commit from March 12, #d20c36f9fb543037dd71a6da7cdfbae22ca64b1d) and none of these issues are there","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1191","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1191,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1191","assignee":null,"title":"ofSoundPlayer EXC_BAD_ACCESS on app exit ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":"2012-04-20T15:41:05Z","created_at":"2012-04-20T10:51:32Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100},"id":4208500,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-19T11:41:38Z","body":"noticed that hex colour values were being passed into ofSetColor which was displaying lots of log messages in the console.\r\n\r\nchanged to ofSetHexColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1188","comments":0,"milestone":null,"number":1188,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1188","assignee":null,"title":"bugfix for ios imageLoaderExample","labels":[],"closed_at":"2012-04-19T11:41:38Z","created_at":"2012-04-19T11:41:24Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":4189934,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1188","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1188.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1188.diff"}},{"updated_at":"2012-04-19T13:10:11Z","body":"[[self context] renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:eaglLayer];\r\nwas stopping the framebuffer from being created on iOS 4.1\r\ncloses #1182","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1187","comments":2,"milestone":null,"number":1187,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1187","assignee":null,"title":"bugfix #1182 - framebuffer not being created on iOS 4.1","labels":[],"closed_at":"2012-04-19T13:02:21Z","created_at":"2012-04-19T11:10:00Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":4189562,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1187","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1187.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1187.diff"}},{"updated_at":"2012-04-18T15:09:51Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1185","comments":1,"milestone":null,"number":1185,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1185","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[],"closed_at":"2012-04-18T15:09:51Z","created_at":"2012-04-18T15:07:24Z","state":"closed","user":{"url":"https://api.github.com/users/neilmendoza","avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571},"id":4174044,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-22T19:46:16Z","body":"The PG does not compile on Linux (32 and 64bit). Latest test with today's develop.\r\nError message: \r\n`no match for ‘operator!=’ in ‘it != ((baseProject*)this)->baseProject::addons.std::vector<_Tp, _Alloc>::end [with _Tp = ofAddon, _Alloc = std::allocator, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = ofAddon*]()’\tbaseProject.cpp`\r\n\r\nThe problem is that @gameoverhack changed a variable type from `set` to `vector` in 085089b, but it's not clear yet how to resolve this. \r\nSome discussion about this with @arturoc is [here](https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#apps/devApps/projectGenerator/src/projects/baseProject.cpp-P78).\r\n\r\nLack of even a compiling PG has made it impossible for me to generate/compile the examples to check if my gitignore overhaul is working well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1184","comments":10,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1184,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1184","assignee":null,"title":"PG does not compile on Linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-22T19:46:16Z","created_at":"2012-04-18T15:04:12Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4173977,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-02T14:45:20Z","body":"Current OS X opencv has references to Cocoa and QuickTime. \r\n\r\nFix is:\r\nBuild openCV without Cocoa and QuickTime so we can use the osx/opencv.a for iOS simulator. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1183","comments":7,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1183,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1183","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"openCV for iOS doesn't work in Simulator. ","labels":[],"closed_at":"2012-04-17T21:33:16Z","created_at":"2012-04-17T21:09:59Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4161588,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-19T13:02:21Z","body":"ofxiPhone now builds for 4.1 SDK but when the window is created we get \"Failed to make complete framebuffer object\" \r\ndepth, fsaa, retina is all disabled so I don't really know what the issue is. \r\n\r\nCurrent develop branch works fine with iOS 5.0 SDK and xcode 4. \r\nWould be nice to get it working for older too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1182","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"error creating framebuffer on 4.1 SDK","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-19T13:02:21Z","created_at":"2012-04-17T21:07:30Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4161539,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-18T16:50:58Z","body":"two warnings in xcode \r\n\r\nwarning: instance method '-destroyFramebuffer' not found (return type defaults to 'id') \r\nwarning: instance method '-createFramebuffer:' not found (return type defaults to 'id') [3]\r\n\r\n- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer {\t\r\n\t[self destroyFramebuffer];\r\n\t[self createFramebuffer:layer];\r\n}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1181","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1181","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iOS warnings / Bugs? in resizeFromLayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-18T16:50:58Z","created_at":"2012-04-17T16:27:19Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4156397,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-01T04:17:26Z","body":"returns OFXIPHONE_DEVICE_IPHONE on an iPad.\r\n\r\nThe problem is that \"caseInsensitiveCompare:(NSString*)\" is treated as if it returned a BOOL, but it returns a NSComparisonResult. \r\n\r\nI ended up doing this, which seems to work on most cases:\r\n\r\n ofxiPhoneDeviceType ofxiPhoneGetDeviceType() {\r\n \tNSString * dev = [[[UIDevice currentDevice] model] lowercaseString];\t\r\n \tif( [dev hasPrefix:@\"iphone\"] ) return OFXIPHONE_DEVICE_IPHONE;\r\n \tif( [dev hasPrefix:@\"ipad\"] ) return OFXIPHONE_DEVICE_IPAD;\r\n \tif( [dev hasPrefix:@\"ipod\"] ) return OFXIPHONE_DEVICE_IPODTOUCH;\r\n \treturn OFXIPHONE_UNKNOWN_DEVICE; //this would need to be declared \r\n }\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1180","comments":0,"milestone":null,"number":1180,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1180","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneGetDeviceType() ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-05-01T04:17:26Z","created_at":"2012-04-16T22:42:42Z","state":"closed","user":{"url":"https://api.github.com/users/armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","id":167057},"id":4144168,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-18T00:43:43Z","body":"error: request for member 'preferredMode' in 'externalScreen', which is of non-class type 'UIScreen*'\r\n\r\n\t//-------------------------------------------------------------------------------------------\r\n\t-(BOOL) createExternalWindowWithPreferredMode {\r\n\t\tif([[UIScreen screens] count] == 1){\r\n\t\t\treturn NO;\r\n\t\t}\r\n\t\t\r\n\t\tUIScreen * externalScreen;\r\n\t\texternalScreen = [[UIScreen screens] objectAtIndex:1];\r\n\t\t\r\n\t\texternalScreen.currentMode = externalScreen.preferredMode;\r\n\r\n\r\n@julapy can we ifdef this somehow so it allows people to still build for iOS 4.1 ?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1179","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1179,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1179","assignee":null,"title":"iOS bug with SDK 4.1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-04-17T21:04:28Z","created_at":"2012-04-16T18:53:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4140249,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-16T15:50:37Z","body":"The OF path in the project generator got easily overflowed at the right margin.\r\nI moved tha of path to get drawn at the left and wrapped the path string in case it was to long.\r\nthe examples and addons panels get repositioned so the ofpath doesn't get drawn over the panels","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1177","comments":0,"milestone":null,"number":1177,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1177","assignee":null,"title":"Fix pg ofpath overflow","labels":[],"closed_at":"2012-04-16T15:50:37Z","created_at":"2012-04-15T20:50:03Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":4126089,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1177","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1177.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1177.diff"}},{"updated_at":"2012-04-16T16:05:43Z","body":"oscpack as source from bilderbuchi github, support for broadcasting and socket reuse under poxis","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1176","comments":3,"milestone":null,"number":1176,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1176","assignee":null,"title":"oscpack as source","labels":[],"closed_at":"2012-04-16T16:05:43Z","created_at":"2012-04-14T15:39:25Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":4118313,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1176","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1176.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1176.diff"}},{"updated_at":"2012-04-16T20:06:39Z","body":"When the OF path is drawn in PG it gets overflowed at the right if the path is \"too\" long.\r\nI have a fix for this that I'll push later.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1172","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1172","assignee":null,"title":"PG OF path overflow","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-16T20:06:39Z","created_at":"2012-04-13T05:14:40Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":4097923,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '43474'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"5701951ff538f65147b7ec1024c267f3"'), ('date', 'Tue, 29 May 2012 18:46:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"closed","user":{"gravatar_id":"248569b4b21882f854f3a0eee701cc37","url":"https://api.github.com/users/liasomething","login":"liasomething","id":183150,"avatar_url":"https://secure.gravatar.com/avatar/248569b4b21882f854f3a0eee701cc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Fix: add setDoubleBuffering(tf) to ofAppGlutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/1170","comments":11,"assignee":null,"updated_at":"2012-04-18T16:40:15Z","body":"allows apps to switch between single and double buffering by a function call in main.cpp. solves flickering problem with ofSetBackgroundAuto(false), see #368","number":1170,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1170","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1170.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1170.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1170","labels":[],"id":4079683,"closed_at":"2012-04-18T13:25:31Z","created_at":"2012-04-12T08:05:03Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"issue with image.draw(x,y,w,h)","html_url":"https://github.com/openframeworks/openFrameworks/issues/1169","comments":2,"assignee":null,"updated_at":"2012-04-11T14:53:39Z","body":"compiling against last develop branch, I get an issue drawing images with img.draw(x,y,w,h) when w and h are larger than actual image size: instead of scaling border pixels are replicated like this:\r\nhttp://www.hv-a.com/dati/bug.png","number":1169,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1169","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":4064511,"closed_at":"2012-04-11T13:34:59Z","created_at":"2012-04-11T13:18:05Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bugfix SKIP_INSTALL set to YES","html_url":"https://github.com/openframeworks/openFrameworks/issues/1168","comments":0,"assignee":null,"updated_at":"2012-04-11T13:30:50Z","body":"this fixes the issue that people have been having with XCode4 and when trying to create Archive builds for the app store.\r\n\r\nswitching SKIP_INSTALL to YES fixes the issue.\r\n\r\nfixes #1097","number":1168,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1168","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1168.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1168.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1168","labels":[],"id":4064407,"closed_at":"2012-04-11T13:30:50Z","created_at":"2012-04-11T13:10:57Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"fb2d7be3b062f7b8843c62dd40e7534a","url":"https://api.github.com/users/mantissa","login":"mantissa","id":921747,"avatar_url":"https://secure.gravatar.com/avatar/fb2d7be3b062f7b8843c62dd40e7534a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetBackgroundAuto(false) ignored when writing to PDF ","html_url":"https://github.com/openframeworks/openFrameworks/issues/1164","comments":5,"assignee":null,"updated_at":"2012-04-12T17:30:19Z","body":"Howdy --\r\n\r\nJust noticed a bug when trying to save shapes accumulating over multiple frames into a single page PDF.\r\n\r\nI'm using the ofGraphics function ofBeginSaveScreenAsPDF();\r\n\r\nIf I call ofSetBackgroundAuto(false), the background is cleared each and every frame while the PDF is being drawn -- when drawing ends, it stops clearing -- as exactly.\r\n\r\nHere's a quick code sample demonstrating the problem:\r\n\r\n if( bIsSavingtoPDF ){\r\n\t\t\r\n\t\tif( ofGetFrameNum() == 0 ) {\r\n\t\t\t\r\n\t\t\tprintf(\"starting composition\\n\");\r\n\t\t\tofBeginSaveScreenAsPDF(\"composition.pdf\", false );\r\n\t\t\tofSetBackgroundAuto(false);\r\n\t\t\tofBackground(0, 0, 0);\r\n\t\t\tofEnableAlphaBlending();\r\n\t\t}\r\n\t\t\t\r\n\t\tofSetColor(ofRandom(255), ofRandom(255), ofRandom(255), ofRandom(255));\r\n\t\tofCircle(ofRandom(ofGetWidth()), ofRandom(ofGetHeight()), ofRandom(35, 135));\r\n\t\t\r\n\t\tif( ofGetFrameNum() > 48 ){\r\n\t\t\r\n\t\t\tprintf(\"ending composition\\n\");\r\n\t\t\tofEndSaveScreenAsPDF();\r\n\t\t\tbIsSavingtoPDF = false;\r\n\t\t} \r\n\t\r\n\t} else {\r\n\t\r\n\t\tofSetColor(ofRandom(255), ofRandom(255), ofRandom(255), ofRandom(255));\r\n\t\tofCircle(ofRandom(ofGetWidth()), ofRandom(ofGetHeight()), ofRandom(35, 135));\r\n\t}\r\n\r\nThe problem is triggered by ofCairoRenderer::update(), which calls ofSetStyle(ofGetStyle()), which in turn calls ofBackground(style.bgColor).\r\n\r\nOtherwise, the graphics are looking super-sharp in cairo.\r\n\r\nThanks!\r\n\r\nJeremy","number":1164,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1164","labels":[],"id":4058479,"closed_at":"2012-04-11T11:50:47Z","created_at":"2012-04-11T03:33:48Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"subsection fixes","html_url":"https://github.com/openframeworks/openFrameworks/issues/1163","comments":5,"assignee":null,"updated_at":"2012-04-11T14:30:37Z","body":"there was a bug where drawing something with draw(x, y, w, h) would draw the top-left subsection instead of the whole image with size wxh. this was the bug that i saw with zach while working on another project. it had nothing to do with my implementation of the subsection stuff itself, it was just a mistake in how the wrappers were calling each other.","number":1163,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1163","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1163.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1163.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1163","labels":[],"id":4049392,"closed_at":"2012-04-11T13:30:16Z","created_at":"2012-04-10T16:30:49Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"imageSequenceExample has strange drawing issue ","html_url":"https://github.com/openframeworks/openFrameworks/issues/1162","comments":9,"assignee":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-18T08:13:19Z","body":"looks like it is drawing from center. could be related to #1041","number":1162,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1162","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":4047160,"closed_at":"2012-04-17T18:28:25Z","created_at":"2012-04-10T14:40:32Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"noise1d example crashes in xcode 4","html_url":"https://github.com/openframeworks/openFrameworks/issues/1161","comments":1,"assignee":null,"updated_at":"2012-04-19T13:42:02Z","body":"something related to ofxSimpleSlider and poco. ","number":1161,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1161","labels":[{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":4047135,"closed_at":"2012-04-19T13:39:34Z","created_at":"2012-04-10T14:38:53Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"remove ofxGui from release examples","html_url":"https://github.com/openframeworks/openFrameworks/issues/1160","comments":0,"assignee":null,"updated_at":"2012-04-19T14:10:47Z","body":"","number":1160,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1160","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"}],"id":4047087,"closed_at":"2012-04-19T14:10:47Z","created_at":"2012-04-10T14:37:14Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofPolyline::getSmoothed now works for closed and open polylines","html_url":"https://github.com/openframeworks/openFrameworks/issues/1159","comments":4,"assignee":null,"updated_at":"2012-05-17T16:17:37Z","body":"i tested this against the polylineBlobExample and wrote some code that tests open polylines as well.\r\n\r\nit's very clean now, but it's slightly slower than the old implementation.","number":1159,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1159","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1159.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1159.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1159","labels":[],"id":4046929,"closed_at":"2012-05-16T12:12:32Z","created_at":"2012-04-10T14:30:55Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"1be41bfa26cd2ba0b18e653c6c3230ea","url":"https://api.github.com/users/prettyextreme","login":"prettyextreme","id":1591037,"avatar_url":"https://secure.gravatar.com/avatar/1be41bfa26cd2ba0b18e653c6c3230ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofImage Quick Bug Fix","html_url":"https://github.com/openframeworks/openFrameworks/issues/1158","comments":0,"assignee":null,"updated_at":"2012-04-10T14:19:18Z","body":"A previous commit moved the setting of width/height/bpp/type into\r\nallocate(). While these values should indeed be set during\r\nallocation, possibly before an update(), they should also be set\r\nin the case that some other program flow results in an update()\r\nwithout an explicit call to allocate(), as occurs when calling\r\nloadImage().\r\n\r\nTested on Windows against dirListExample and imageLoaderExample\r\nand everything works again.\r\n\r\nIf anything, code added in this commit is resetting variables that, at\r\nworst, have already been set, making it redundant.","number":1158,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1158","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1158.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1158.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1158","labels":[],"id":4046689,"closed_at":"2012-04-10T14:19:18Z","created_at":"2012-04-10T14:16:48Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofPolyline::getSmoothed() doesn't work for open polylines","html_url":"https://github.com/openframeworks/openFrameworks/issues/1157","comments":0,"assignee":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-05-16T12:12:33Z","body":"this is because the method was written with blobs and other closed shapes in mind.\r\n\r\nthe solution is to use the current smoothing technique on the center of the polyline, and write a little extra (slightly slower) code to handle the edge cases.","number":1157,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1157","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":4039362,"closed_at":"2012-05-16T12:12:33Z","created_at":"2012-04-10T02:17:36Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"1be41bfa26cd2ba0b18e653c6c3230ea","url":"https://api.github.com/users/prettyextreme","login":"prettyextreme","id":1591037,"avatar_url":"https://secure.gravatar.com/avatar/1be41bfa26cd2ba0b18e653c6c3230ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofImage Memory Reallocations","html_url":"https://github.com/openframeworks/openFrameworks/issues/1156","comments":11,"assignee":null,"updated_at":"2012-04-10T14:18:29Z","body":"Streamline reallocation of memory in ofImage.\r\n\r\nI have identified a few places in ofImage where it seems that pixel and texture memory was being reallocated in places that were not necessary, that is: when \"allocating\" memory of the same size as previously allocated. I have not tested these changes extensively, though they are fairly minor and logically easy-to-follow.\r\n\r\nThese changes provide a drastic speed increase when using setFromPixels() to repeatedly load pixels of the same width/height/bitdepth as one might do when playing back a image/frame sequence.","number":1156,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1156","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1156.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1156.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1156","labels":[],"id":4035572,"closed_at":"2012-04-10T01:46:28Z","created_at":"2012-04-09T20:52:22Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"1be41bfa26cd2ba0b18e653c6c3230ea","url":"https://api.github.com/users/prettyextreme","login":"prettyextreme","id":1591037,"avatar_url":"https://secure.gravatar.com/avatar/1be41bfa26cd2ba0b18e653c6c3230ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSerial bug fixes","html_url":"https://github.com/openframeworks/openFrameworks/issues/1155","comments":2,"assignee":null,"updated_at":"2012-04-09T20:40:21Z","body":"Some very minor but necessary fixes for ofSerial on Windows.","number":1155,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1155","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1155.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1155.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1155","labels":[],"id":4034734,"closed_at":"2012-04-09T20:40:21Z","created_at":"2012-04-09T20:00:13Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"fix opencv allocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/1154","comments":1,"assignee":null,"updated_at":"2012-04-09T20:50:14Z","body":"sorry, too much dance music. wasn't paying attention to the commit range.\r\n\r\ni tested this by creating an unallocated image and running the updateTexture(), getPixelsRef(), and draw().\r\n\r\nbefore the fix, EXC_BAD_ACCESS, after no problem.\r\n","number":1154,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1154","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1154.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1154.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1154","labels":[],"id":4033395,"closed_at":"2012-04-09T20:50:14Z","created_at":"2012-04-09T18:39:45Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"fix opencv allocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/1153","comments":0,"assignee":null,"updated_at":"2012-04-09T18:38:16Z","body":"i tested this by creating an unallocated image and running the updateTexture(), getPixelsRef(), and draw().\r\n\r\nbefore the fix, EXC_BAD_ACCESS, after no problem.","number":1153,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1153","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1153.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1153.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1153","labels":[],"id":4033329,"closed_at":"2012-04-09T18:38:16Z","created_at":"2012-04-09T18:36:24Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"cleaning remaining examples","html_url":"https://github.com/openframeworks/openFrameworks/issues/1149","comments":3,"assignee":null,"updated_at":"2012-04-09T16:24:38Z","body":"meshFromCamera had a bug\r\nsimpleTimer was missing functions\r\nvboExample was not verbose enough\r\nfboTrailsExample had some formatting issues\r\nimageLoaderExample had some formatting issues\r\nimageLoaderWebExample was missing functions\r\ntrigonomtericMotionExample was missing functions\r\ntrigonometryExample was missing functions\r\nsystemSpeakExample was missing functions\r\n\r\nthe only remaining decisions are:\r\n\r\n1 if vectorOfPointersExample isn't a good example, we should remove it. then we can rename `other` to `empty`.\r\n2 the piratepad says fboTrailsExample \"still needs some work\", but i'm not sure how exactly i can help here.\r\n3 systemSpeakExample is neat, but it's the only platform specific example, so maybe it's better to remove it.","number":1149,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1149","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1149.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1149.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1149","labels":[],"id":4019085,"closed_at":"2012-04-09T16:24:38Z","created_at":"2012-04-08T02:23:37Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Use Property Sheets in project settings, project generator vs2010 project update","html_url":"https://github.com/openframeworks/openFrameworks/issues/1148","comments":1,"assignee":null,"updated_at":"2012-04-08T11:53:22Z","body":"This is:\r\n\r\n* A clean up of the projectGenerator project for vs2010\r\n* An implementation of Property Sheets in both projectGenerator project and in the template project\r\n* Added emptyExample to the projectGenerator solution but set it to not build there\r\n* Changed reference type for oF (i.e. use VS reference rather than explicitly linking .lib file). ","number":1148,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1148","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1148.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1148.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1148","labels":[],"id":4016550,"closed_at":"2012-04-08T11:53:22Z","created_at":"2012-04-07T17:16:56Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"How to get to working project generator","html_url":"https://github.com/openframeworks/openFrameworks/issues/1147","comments":12,"assignee":null,"updated_at":"2012-05-16T10:58:53Z","body":"Also note #1146\r\n\r\nWhat's the route to get project generator running in windows as by default it has no vcxproj files\r\nobviously people can hand-roll this vcxproj, but this seems to defeat the point of having project generator in the first place :)\r\n\r\nI have a template project at `openFrameworks\\scripts\\vs2010\\template` so will use that for the time being\r\n","number":1147,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1147","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"cccc29","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":4015561,"closed_at":"2012-05-16T10:58:53Z","created_at":"2012-04-07T14:53:27Z"},{"milestone":{"state":"closed","description":"","title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"number":4,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61808,"created_at":"2011-12-02T15:29:28Z"},"state":"closed","user":{"gravatar_id":"166640c513e589c86d2de49c52258eb4","url":"https://api.github.com/users/liquidzym","login":"liquidzym","id":51957,"avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"projectGenerator issue with vs2010 (doesn't generate vcxproj.filters)","html_url":"https://github.com/openframeworks/openFrameworks/issues/1143","comments":4,"assignee":null,"updated_at":"2012-04-09T16:12:09Z","body":"i knew this isn't finished yet,but i did some testing last night,seems that projectGenerator can't creat proper vs2010 solution file.\r\ni.e the addon should be as subfolder,but somehow all the files dumps as flat in the project solution ","number":1143,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1143","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3999805,"closed_at":"2012-04-09T16:12:09Z","created_at":"2012-04-06T03:50:43Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"closed","user":{"gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG only uses OFPath that is set at launch","html_url":"https://github.com/openframeworks/openFrameworks/issues/1142","comments":4,"assignee":null,"updated_at":"2012-04-19T17:54:10Z","body":"Steps to reproduce:\r\n\r\n1. Open, compile, run projectGenerator \r\n2. Set OFPath via \"change OF Path\" (i.e ~/Desktop/openFrameworks)\r\n3. Close projectGenerator\r\n4. Run projectGenerator\r\n5. Set OFPath via \"change OF Path\" to different folder (i.e ~/Desktop/openFrameworks_DEVELOP)\r\n6. Generate examples\r\n\r\nOutcome:\r\nGenerate examples will use previous settings (i.e ~/Desktop/openFrameworks)\r\n\r\nPossible Fix:\r\nsetOFRoot needs to be called again in askOFRoot?","number":1142,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1142","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3999333,"closed_at":"2012-04-19T17:54:10Z","created_at":"2012-04-06T02:26:31Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"4dee8cb7b3cab6548c82cfe1539a4284","url":"https://api.github.com/users/pabloriera","login":"pabloriera","id":1613757,"avatar_url":"https://secure.gravatar.com/avatar/4dee8cb7b3cab6548c82cfe1539a4284?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"several problems with branch develop in Ubuntu 11.04 64 Bits","html_url":"https://github.com/openframeworks/openFrameworks/issues/1141","comments":10,"assignee":null,"updated_at":"2012-04-05T17:55:24Z","body":"Hi, I have recently started with OF and I had some issues, I think regarded to the 64 Bit experience.\r\n\r\nThe first thing I found was that the createProjets.py doesn't find the right templates in the linux64 folder, this was fix appending the \"arch\" variable to the path of the templates.\r\n\r\nI was tring to test de projectGenerator in devApps, so I wanted to create these CBP files. I added some lines to the createProjects.py to also create the projects in the devApps folder.\r\n\r\nThe projectGenerator seems to work fine, I was able to build it and use it.\r\n\r\nThen I wanted to try the basic examples to check that everything is working, so I pick the audio examples to try. I couldn't build the projects because it couldn't find the libopencv*.a dependencies. I couldn't find a reason yet. I think there is a problem with the CBP files and the addons path.\r\n\r\nGoodbyes","number":1141,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1141","labels":[],"id":3989705,"closed_at":"2012-04-05T17:55:23Z","created_at":"2012-04-05T15:04:58Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b648c678136b3ace849c455b289861c","url":"https://api.github.com/users/katewatkins","login":"katewatkins","id":679361,"avatar_url":"https://secure.gravatar.com/avatar/3b648c678136b3ace849c455b289861c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"box2d question -- SIGABRT error","html_url":"https://github.com/openframeworks/openFrameworks/issues/1140","comments":2,"assignee":null,"updated_at":"2012-04-05T15:14:50Z","body":"I'm working on a blob tracking project (using TSPS: http://opentsps.com/) that involves the Box2d addon. I am tracking hand gestures and forming the blobs into digital shadows. One of the gestures (when velocity.x=negative value) triangulates the blob into polygons. \r\n\r\nThe app was working fine until today when I was trying to break up the blob into smaller/nicer looking polys, rather than just using the center of the blob. Now I'm getting a SIGABRT error, which I have narrowed it down to 2 lines of code -- I know that this function is causing the error: GoodShape();\r\n\r\nif(newTriangle.poly.isGoodShape()) {\r\n\r\nnewTriangle.poly.create(box2d.getWorld());\r\n\r\n\r\nI have noticed that it will skip over \"bad\" shapes, but eventually it crashes the program and gives me the SIGABRT error. I could use some assistance to why this is happening.. \r\n\r\nHere is the functioning code -- triangulation based on the center of the blob: \r\n\r\nWORKING CODE ::::: \r\n\r\n//get the contour from the blob, and make a bunch of triangles out of it\r\n\r\nofPolyline\tshadow;\r\n\r\n//add all of the vertexes in the shadow to the outline\r\n\r\nfor (int j=0; j tris = triangulatePolygonWithOutline(resampled, outline);\r\n\r\n// add some random points inside\r\n\r\naddRandomPointsInside(shadow, 255);\r\n\r\n// now loop through all the triangles and make polygons for each one\r\n\r\nfor (int z=0; z if(newTriangle.poly.isGoodShape()) :: \r\n\r\n\t ofxBox2dPolygon poly;\r\n\r\n\t for (int j=0; j; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"f5f7469e272c21727bcbc98c0edf8567"'), ('date', 'Tue, 29 May 2012 18:46:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-22T20:03:27Z","body":"When letting the PG generate the linux CB examples, it never completes, but after a while it just doesn't do anything anymore, console output just stops (for >5min). This is on Ubuntu 11.10 32&64bit.\r\n\r\nA log can be found at http://pastebin.com/SGyzywvz . this way created using 1c65db62f791aa0a5f1e1d179d9f15f148e67f45.\r\nI also fired up the debugger to try to find what happens. when it stops printing anything to the console, I stopped it many times, it's always in `ofAppGlutWindow::runAppViaInfiniteLoop` at line `glutMainLoop();`\r\n\r\n@arturoc, could you maybe take a look at this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1135","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1135,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1135","assignee":null,"title":"PG never completes generating linux CB examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-22T20:03:27Z","created_at":"2012-04-02T19:53:39Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3933212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T21:14:03Z","body":"there is still an issue where you can copy a file into a folder without overwrite set to true.\r\n\r\nofFile::copyFromTo(\"myFile.txt\", \"someFolder/\");\r\n\r\nThe question is should we check to see if the destination is a folder? \r\nShould we use the trailing slash to determine and should we use the trailing slash to replicate command line copy ( ie copy to or copy into )","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1127","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1127,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1127","assignee":null,"title":"copyFromTo bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":"2012-04-09T21:13:14Z","created_at":"2012-03-31T14:27:31Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910488,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-08T16:45:20Z","body":"problem was that when calculating strideDst, dst.width was 0, as the allocation of dst happened later. closes #1123","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1125","comments":3,"milestone":null,"number":1125,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1125","assignee":null,"title":"bug fix for ofPixels::rotate90To with nRotations = 1","labels":[],"closed_at":"2012-04-08T16:45:20Z","created_at":"2012-03-29T22:38:39Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3889571,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1125.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1125","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1125.patch"}},{"updated_at":"2012-04-09T17:22:57Z","body":"if you do \r\n\r\n```c++\r\nofImage test;\r\ntest.loadImage(\"whichever.jpg\");\r\ntest.rotate90(1);\r\n```\r\n\r\nyou get a black image with the correct changed width and height.\r\n\r\nall other possible params to rotate90 work correctly. \r\n\r\nThe mistake must be here\r\n\r\nhttps://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/graphics/ofPixels.cpp#L481\r\n\r\n```c++\r\nif(rotation == 1){\r\n\tPixelType * srcPixels = pixels;\r\n\tfor (int i = 0; i < height; i++){\r\n\t\tPixelType * dstPixels = dst.getPixels() + (strideDst - channels*(i+1));\r\n\t\tfor (int j = 0; j < width; j++){\r\n\t\t\tfor (int k = 0; k < channels; k++){\r\n\t\t\t\tdstPixels[k] = srcPixels[k];\r\n\t\t\t}\r\n\t\t\tsrcPixels += channels;\r\n\t\t\tdstPixels += strideDst;\r\n\t\t}\r\n\t}\r\n} \r\n```\r\n\r\nbut I haven't been able to figure it out","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1123","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1123,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1123","assignee":null,"title":"ofPixels::rotate90(nRotations) fails with nRotations = 1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-04-09T17:22:57Z","created_at":"2012-03-29T16:35:55Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3883416,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T21:15:30Z","body":"right now you can get a nasty crash if you try and draw a cv image that hasn't been allocated. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1122","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1122,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1122","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv updateTexture and getPixelsRef should check for allocation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-04-09T21:13:14Z","created_at":"2012-03-29T15:40:25Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3882327,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T16:23:28Z","body":"Fixes the createProjects.py script to work correctly with the new examples directory structure (including ignoring gitignore and gitkeep files).\r\n\r\nEDIT: sorry I realised this is going to be deprecated by the project generator! I needed it to work today and forgot to go digging...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1121","comments":0,"milestone":null,"number":1121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1121","assignee":null,"title":"Bugfix: windows code::blocks createprojects.py script","labels":[],"closed_at":"2012-03-29T16:23:28Z","created_at":"2012-03-29T03:18:37Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3869447,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1121.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1121","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1121.patch"}},{"updated_at":"2012-03-28T14:59:37Z","body":"hi guys,\r\n\r\nive added support to display OF apps on External Displays from the iPhone/iPad over VGA and AirPlay.\r\nthere is some cool possibilities for gaming and also using iOS devices for live performance visuals.\r\n\r\nthere is quite a lot of changes in this feature.\r\ni had to make some changes to the ES1 renderer to get resizing of the EAGLView working properly.\r\nwill need to apply similar changes to ES2 but not sure what the current status of ES2 is...?? who is the best person to chat to about this?\r\n\r\nthere is an iosExternalDisplayExample included.\r\nyou can test on Simulator by selecting Hardware => TV out => and select an external display.\r\nto test on the device, connect to a tv/projector using a Apple VGA Adapter or connect to your Apple TV using AirPlay. here is how => http://support.apple.com/kb/HT5209?viewlocale=en_US\r\n\r\nmirroring will work on devices that support it (iPhone 4S, iPad2, iPad3).\r\n\r\nfixes #436","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1119","comments":4,"milestone":null,"number":1119,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1119","assignee":null,"title":"feature - iOS External Display support for VGA and AirPlay","labels":[],"closed_at":"2012-03-28T14:45:13Z","created_at":"2012-03-28T14:17:44Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3853447,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1119.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1119","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1119.patch"}},{"updated_at":"2012-03-26T12:21:41Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1113","comments":1,"milestone":null,"number":1113,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1113","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[],"closed_at":"2012-03-26T12:21:41Z","created_at":"2012-03-26T12:12:07Z","state":"closed","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3807464,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T15:05:42Z","body":"Further fixes to the code style. Closes #1072 (again).\r\n\r\n`sp_angle_word=add` fixes Elliot's problem where `vector particles;` turns into `vectorparticles;` We actually want a space there, right, @ofTheo?\r\n\r\n`tok_split_gte` fixes the problem where a `>=` gets turned into a template.\r\n\r\nThe rest fixes there problem where existing alignment in variable declarations and definitions was not removed.\r\nAlso, I fixed some alignment and spacing problems I discovered w.r.t `&` and `*`.\r\n\r\n@elliotwoods, @ofTheo: Could you please take a look if it's good now? I checked that OF compiles, and browsed through the changes compared to before my fixes, and it looks good to me.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1111","comments":0,"milestone":null,"number":1111,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1111","assignee":null,"title":"Codestyle fixes","labels":[],"closed_at":"2012-03-26T15:05:42Z","created_at":"2012-03-26T12:04:30Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3807368,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1111.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1111","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1111.patch"}},{"updated_at":"2012-05-16T11:44:58Z","body":"*As good as done, this might as well make it into 0071, see below.*\r\n\r\n~~Relevant issue #1081. This is the first round of fixes to the existing structure. \r\nI'd like to complete/refine the overhaul, but make the changes visible for everyone, so please DON'T MERGE this yet. ~~\r\n~~Better, please take a look at #1081, and answer my questions. :-)~~","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1107","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1107","assignee":null,"title":"Gitignore structure overhaul","labels":[],"closed_at":"2012-05-16T11:44:58Z","created_at":"2012-03-24T18:13:45Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3793561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1107.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1107","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1107.patch"}},{"updated_at":"2012-03-23T13:10:45Z","body":"heavy style rewrite of advanced3dExample\r\nThe suggestion is still out to split it into multiple smaller examples (hence viewportExample)\r\nbut bit worried that adding lots of examples now is probably going to be rejected \r\n\r\nSo focused mostly on updating style of advanced3dExample to follow style guides\r\n\r\nand ran uncrustify afterwards","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1106","comments":0,"milestone":null,"number":1106,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1106","assignee":null,"title":"style fixes to advanced3dExample, added viewportExample","labels":[],"closed_at":"2012-03-23T13:10:45Z","created_at":"2012-03-23T12:01:37Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3778865,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1106.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1106","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1106.patch"}},{"updated_at":"2012-03-23T14:42:04Z","body":"heavy style rewrite of advanced3dExample\r\nThe suggestion is still out to split it into multiple smaller examples (hence viewportExample)\r\nbut bit worried that adding lots of examples now is probably going to be rejected \r\n\r\nSo focused mostly on updating style of advanced3dExample to follow style guides\r\n\r\nand ran uncrustify afterwards","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1105","comments":3,"milestone":null,"number":1105,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1105","assignee":null,"title":"style fixes to advanced3dExample, added viewportExample","labels":[],"closed_at":"2012-03-23T12:01:03Z","created_at":"2012-03-23T12:00:22Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3778844,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1105.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1105","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1105.patch"}},{"updated_at":"2012-03-23T01:00:11Z","body":"Due to https://github.com/gameoverhack/openFrameworks/commit/68a9805c5a76fcf9bb620c317c1ad9087d49e456\r\n\r\nit appears we need to use ofEvents().someEvent instead of ofEvents.someEvent...\r\n\r\n...fixed the advancedEventsExample to use this syntax","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1104","comments":0,"milestone":null,"number":1104,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1104","assignee":null,"title":"Bug fix advanced events example","labels":[],"closed_at":"2012-03-23T01:00:11Z","created_at":"2012-03-23T00:25:41Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3773505,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1104.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1104","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1104.patch"}},{"updated_at":"2012-04-09T17:29:41Z","body":"I guess this is a renaming in progress or gone wrong, but currently PG generates folder for examples which are not there.\r\n\r\n examples/graphics/InstagramLikeImageFilters/\r\n\texamples/video/movieGrabberExample/\r\n\texamples/video/moviePlayerExample/\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1102","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1102,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1102","assignee":null,"title":"PG generates imagined examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-09T17:29:41Z","created_at":"2012-03-21T20:58:28Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3753360,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T20:01:00Z","body":"I just found out that the PG puts a fully populated addons.make file in (presumably - only tested a handful) all examples which don't already have one. This is wrong behaviour and leads to unnecessary compilation of addons which are not even needed for the respective example.\r\n\r\n~~AFAICT, it does not overwrite examples where there is already an addons.make, but I only checked with a couple.~~\r\nEdit: I was wrong, PG indeed writes changes to existing addons.make, too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1101","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1101,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1101","assignee":null,"title":"Project generator messes with addons.make files in example directories","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-22T20:01:00Z","created_at":"2012-03-21T20:45:18Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3753147,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T08:19:08Z","body":"Hi oF team! I'm having a issue while using some Audio Units along with oF. On Cmd-q, I get an EXC_BAD_ACCESS on the line (in ofAppRunner.cpp): \r\n\r\n```C++\r\nwindow->runAppViaInfiniteLoop(OFSAptr.get());\r\n```\r\n\r\nThis happens before my app's exit() gets called, before any destructors get called, and before any callbacks registered to ofEvents().exit get called. This seems to occur while using any units by Native Instruments, though not all 3rd party units are as tempermental. I've tested with both the current develop and master branch as of March 20. Mini reproduction example follows:\r\n\r\n```C++\r\n#include \"testApp.h\"\r\n#include \r\n\r\nAUGraph graph;\r\n\r\nvoid testApp::setup(){\r\n// Replace this with the description for a 3rd party Audio Unit\r\n// that you have installed. Run \"auval -a\" to see a list of\r\n// Audio Units you have available. Not all 3rd party Audio Units\r\n// trigger a crash (though all of NI's seem to). Apple® brand \r\n// Audio Units don't seem to be as tempermental\r\n// \r\n// This description is for Native Instruments' Reaktor 5 synth.\r\n AudioComponentDescription desc = {'aumu', 'NiR5', '-NI-'};\r\n AUNode node; \r\n NewAUGraph(&graph);\r\n AUGraphAddNode(graph, &desc, &node);\r\n AUGraphInitialize(graph);\r\n AUGraphOpen(graph);\r\n \r\n// uncomment this to \"fix\"\r\n// shutdownAUGraph();\r\n}\r\n\r\nvoid testApp::shutdownAUGraph(){\r\n AUGraphClose(graph);\r\n AUGraphUninitialize(graph);\r\n DisposeAUGraph(graph);\r\n}\r\n\r\nvoid testApp::exit(){\r\n shutdownAUGraph();\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1100","comments":8,"milestone":null,"number":1100,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1100","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"EXC_BAD_ACCESS thrown on exit before any exit routines are called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":"2012-05-16T08:19:08Z","created_at":"2012-03-20T15:41:47Z","state":"closed","user":{"url":"https://api.github.com/users/admsyn","gravatar_id":"9bfde17cfd50ff8f12cae51ab1079d72","login":"admsyn","id":609318,"avatar_url":"https://secure.gravatar.com/avatar/9bfde17cfd50ff8f12cae51ab1079d72?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3730068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-17T21:01:03Z","body":"iPhoneGuiExample created by the projectGenerator seems to have an issue with XIB files.\r\nthe XIB is included in the project but can not be viewed inside the xcode project.\r\nin another instance, it was causing the app to crash.\r\n\r\nwhen removing the XIB and adding it back to the project manually, it start working again.\r\nwhich makes me believe its got something to do with the way projectGenerator is adding the XIB to the project.\r\n\r\nive compared the before and after (adding the XIB back manually) and here are the differences in the xcode projects.\r\nnote, the top line is the before and the bottom is the after.\r\n\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MyGuiView.xib; path = gui/MyGuiView.xib; sourceTree = \"\"; };\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 30; name = MyGuiView.xib; path = src/gui/MyGuiView.xib; sourceTree = SOURCE_ROOT; };\r\n\r\n/* MyGuiView.xib in Resources */\r\n/* MyGuiView.xib in Sources */","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1099,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1099","assignee":null,"title":"issue with projectGenerator and XIB files.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-17T21:01:02Z","created_at":"2012-03-19T14:27:25Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3710691,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T00:25:28Z","body":"SKIP_INSTALL in iPhone+OF Lib.xcodeproj Build Settings is currently set to NO.\r\nforum users have been reporting this to be causing issues when trying to build an archive for a AdHoc release or when trying to build for the app store.\r\n\r\nwhen submitting to the app store the following error message comes up,\r\n\"emptyExample” does not contain a single–bundle application or contains multiple products. Please select another archive, or adjust your scheme to create a single–bundle application\r\n\r\nswitching SKIP_INSTALL to YES fixes the issue.\r\nalthough im not entirely sure what else this might effect... any ideas?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1097","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1097,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1097","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"SKIP_INSTALL in iPhone+OF Lib.xcodeproj Build Settings should be set to YES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-04-12T00:25:28Z","created_at":"2012-03-19T13:31:39Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3709730,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T12:54:51Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1096","comments":0,"milestone":null,"number":1096,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1096","assignee":null,"title":"added an example for variable EAGLView window size","labels":[],"closed_at":"2012-03-19T12:54:51Z","created_at":"2012-03-19T12:48:23Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3709105,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1096.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1096","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1096.patch"}},{"updated_at":"2012-03-19T12:37:03Z","body":"this is a small change but opens up a range of possibilities :)\r\n\r\nallows for EAGLView to be created at different width and height to UIScreen dimensions.\r\nand be able to position EAGLView anywhere on the screen.\r\n\r\nthis addition only applies to the native iOS-OF app structure as shown in iosNativeExample.\r\nthis addition leaves standalone iOS-OF apps unchanged.\r\n\r\nhas been tested with all iOS examples.\r\n\r\nfixes #1094","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1095","comments":0,"milestone":null,"number":1095,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1095","assignee":null,"title":"EAGLView can be created to any width and height.","labels":[],"closed_at":"2012-03-19T12:37:03Z","created_at":"2012-03-19T11:37:56Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3708367,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1095.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1095","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1095.patch"}},{"updated_at":"2012-03-19T12:46:06Z","body":"allow for EAGLView to be created at different width and height to UIScreen dimensions.\r\nand be able to position EAGLView anywhere on the screen.\r\n\r\nthis will have many advantages when embedding OF into iOS apps where the full screen is not required.\r\nthis will also allow for a landscape EAGLView to be created inline with apple developer guidelines, at the right dimensions rather then rotating a portrait view.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1094","comments":0,"milestone":null,"number":1094,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1094","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"create EAGLView with any width and height.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-19T12:46:06Z","created_at":"2012-03-19T11:29:32Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3708296,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T02:50:45Z","body":"fixed a bug theo found with ofDrawBitmapString and newlines","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1093","comments":1,"milestone":null,"number":1093,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1093","assignee":null,"title":"drawString bug","labels":[],"closed_at":"2012-03-19T02:50:45Z","created_at":"2012-03-19T02:40:39Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3704539,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1093.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1093","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1093.patch"}},{"updated_at":"2012-03-20T05:00:52Z","body":"Should solve issue #1087\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/1087\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1092","comments":4,"milestone":null,"number":1092,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1092","assignee":null,"title":"Copy Default.png and Icon.png for ios project generation","labels":[],"closed_at":"2012-03-20T05:00:52Z","created_at":"2012-03-18T22:27:31Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3703045,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1092.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1092","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1092.patch"}},{"updated_at":"2012-03-19T02:50:45Z","body":"certain bitmapstring modes do \t\t\r\n\tofTranslate(x, y, 0);\r\n\r\nat the start but then don't set x to 0\r\n\r\nso when you get a \\n \r\nthis code below fails and does double translation because it sets the current draw pos to x instead of 0 \r\n\r\n\t\tif(textString[c] == '\\n'){\r\n\r\n\t\t\tsy += bOrigin ? -1 : 1 * (fontSize*1.7);\r\n\t\t\tsx = x;\r\n\r\n\r\nsolution:\r\nfor any mode which does translate set x to 0 after the initial translate call. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1091","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1091,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1091","assignee":null,"title":"ofDrawBitmapString bug with \\n ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"closed_at":"2012-03-19T02:50:45Z","created_at":"2012-03-18T21:02:52Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3702507,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-18T13:42:09Z","body":"removed initWithFrame method from EAGLView because it was stopping EAGLView from being extended and it was never being used.\r\n\r\ncleaned up EAGLView to conform to OF code style guide.\r\n\r\nfixes #1089","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1090","comments":0,"milestone":null,"number":1090,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1090","assignee":null,"title":"EAGLView clean.","labels":[],"closed_at":"2012-03-18T13:42:09Z","created_at":"2012-03-18T13:00:09Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3699817,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1090.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1090","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1090.patch"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '38771'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"4d3ddafd0fb5d3eeeadfa1308648cafe"'), ('date', 'Tue, 29 May 2012 18:46:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1089","html_url":"https://github.com/openframeworks/openFrameworks/issues/1089","body":"in a couple cases ive needed to extend EAGLView to give it some extra functionality.\r\none instance of this was getting the Qualcomm AR library working with OF.\r\n\r\ncurrently the EAGLView is not extendible because it defines,\r\n- (id) initWithFrame:(CGRect)frame\r\nwithout calling the same super function.\r\noverwriting this method means [super initWithFrame:frame] never gets called and this throws an error.\r\n\r\nbesides this, i think it would be nice to give EAGLView the ability to accept a custom renderer which extends ESRenderer.","closed_at":"2012-03-18T14:55:39Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"make EAGLView extendible.","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-18T11:52:59Z","updated_at":"2012-03-18T23:41:17Z","comments":4,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1089,"id":3699564,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1088","html_url":"https://github.com/openframeworks/openFrameworks/issues/1088","body":"![Alt text](http://dl.dropbox.com/u/3828359/OF_forum/ios_project_schemes.png)\r\n\r\nwhen building ios projects using projectGenerator, the project schemes are incorrect.\r\nthere is a mac osx scheme which shouldn't be there.\r\nthe correct ios scheme is there but named incorrectly to iPhoneEmptyExample - should be the example project name.","closed_at":"2012-04-17T21:01:02Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"ios projectGenerator schemes issue","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-18T05:42:46Z","updated_at":"2012-04-17T21:01:02Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1088,"id":3698387,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1087","html_url":"https://github.com/openframeworks/openFrameworks/issues/1087","body":"currently the Default.png and Icon.png are missing from the ios examples data folder.\r\nshould they be included inside the data folder of each ios example?\r\nor is this something for the projectGenerator to take care of?","closed_at":"2012-04-17T21:01:02Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"ios examples are missing Default.png and Icon.png when built using projectGenerator","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-18T04:57:10Z","updated_at":"2012-04-17T21:01:02Z","comments":4,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1087,"id":3698291,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1086","html_url":"https://github.com/openframeworks/openFrameworks/issues/1086","body":"when building ios examples using projectGenerator,\r\nassimpExample is missing some information in the Project.xcconfig\r\n\r\nis, \r\nOTHER_LDFLAGS = $(OF_CORE_LIBS) \r\nHEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)\r\n\r\nshoud be,\r\nOTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_PATH)/addons/ofxAssimpModelLoader/libs/assimp/lib/iphone/assimp.a\r\nHEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) $(OF_PATH)/addons/ofxAssimpModelLoader/libs/assimp/include\r\n","closed_at":"2012-04-17T21:01:02Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"ios assimpExample project not building correctly by projectGenerator","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-18T04:41:43Z","updated_at":"2012-04-17T21:01:02Z","comments":3,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1086,"id":3698255,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1085","html_url":"https://github.com/openframeworks/openFrameworks/issues/1085","body":"some renaming, indentation, adding empty methods. fixed serial and golan's noise examples.","closed_at":"2012-03-17T19:09:08Z","labels":[],"title":"cleaned up some examples","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1085.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1085","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1085.diff"},"created_at":"2012-03-17T19:06:12Z","updated_at":"2012-03-17T19:09:08Z","comments":0,"milestone":null,"number":1085,"id":3696044,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1084","html_url":"https://github.com/openframeworks/openFrameworks/issues/1084","body":"started cleaning up the iOS examples.\r\nlet me know if this all looks ok and i'll continue on with the rest of them.","closed_at":"2012-03-18T13:41:11Z","labels":[],"title":"bugfix 1071 - clean up ios examples","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1084.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1084","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1084.diff"},"created_at":"2012-03-17T15:57:03Z","updated_at":"2012-03-18T13:41:11Z","comments":2,"milestone":null,"number":1084,"id":3695050,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1083","html_url":"https://github.com/openframeworks/openFrameworks/issues/1083","body":"setting overwrite to true fixed it with xcode 3.2.6 and 10.6.8 (similar to lines above 181)","closed_at":"2012-03-17T06:04:12Z","labels":[],"title":"projectGenerator files missing .plist","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1083.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1083","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1083.diff"},"created_at":"2012-03-17T05:59:25Z","updated_at":"2012-03-17T06:04:12Z","comments":0,"milestone":null,"number":1083,"id":3692975,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":150037}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1082","html_url":"https://github.com/openframeworks/openFrameworks/issues/1082","body":"i previously pushed the changes directly upstream, but should have done a pull request. theo noticed that the indentation on the header files was all wrong so i just went through and fixed them.","closed_at":"2012-03-17T05:39:57Z","labels":[],"title":"cleaned up some examples","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1082.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1082","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1082.diff"},"created_at":"2012-03-17T05:27:20Z","updated_at":"2012-03-17T05:39:57Z","comments":1,"milestone":null,"number":1082,"id":3692871,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1081","html_url":"https://github.com/openframeworks/openFrameworks/issues/1081","body":"The gitignore structure needs an overhaul. It's become really confusing to read, rules are duplicated (that could be interesting to debug one day:P), and some things don't get ignored properly.\r\nI plan to tackle this some time soon, but will wait for the project manager and whole repo to settle down a bit more. Work will probably happen in https://github.com/bilderbuchi/openFrameworks/tree/gitignore-fixes.\r\n\r\nThis issue is for the RFC from the core that I'll definitely have when figuring out what you really want/need ignored and what not.","closed_at":"2012-05-27T11:02:43Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","color":"DDDDDD","name":"section-internals"}],"title":"Overhaul .gitignore structure","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-16T20:23:21Z","updated_at":"2012-05-27T11:02:43Z","comments":9,"milestone":null,"number":1081,"id":3688749,"assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1080","html_url":"https://github.com/openframeworks/openFrameworks/issues/1080","body":"I don't know if this is on the TOTO already (I assume it is), but many of the scripts in the scripts folder are broken currently but still in the repo. \r\nIn my opinion, these have to be looked at/updated/deleted before we release, otherwise we ship broken stuff, so I'm milestoning 0071.","closed_at":"2012-05-24T21:08:58Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"Look at/update scripts","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-16T20:15:12Z","updated_at":"2012-05-25T08:15:53Z","comments":6,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1080,"id":3688635,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1079","html_url":"https://github.com/openframeworks/openFrameworks/issues/1079","body":"Some clean-up and fixes to the gitignores, to properly a compiled project generator.\r\n\r\nGenerally, the gitignore structure needs an overhaul. It's become really confusing to read, rules are duplicated (that could be interesting to debug :P), etc., but I'll postpone that to a later date. I'll be back, I guess.\r\n\r\nThis goes towards fixing part of #1076","closed_at":"2012-03-16T19:05:54Z","labels":[],"title":".gitignore fixes","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1079.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1079","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1079.diff"},"created_at":"2012-03-16T19:00:29Z","updated_at":"2012-03-16T19:20:46Z","comments":1,"milestone":null,"number":1079,"id":3687448,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1078","html_url":"https://github.com/openframeworks/openFrameworks/issues/1078","body":"ofFbo on iOS is not rendering correctly.\r\nwill need to investigate further.\r\nhttp://forum.openframeworks.cc/index.php/topic,7484.0.html","closed_at":"2012-05-16T11:45:33Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofFbo on iOS - Scaling and Offset Issues","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-16T10:15:34Z","updated_at":"2012-05-16T11:45:33Z","comments":11,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1078,"id":3680047,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1077","html_url":"https://github.com/openframeworks/openFrameworks/issues/1077","body":"now the ofMesh can be rendered using quads, quads strips or polygon","closed_at":"2012-03-16T15:07:05Z","labels":[],"title":"added GL_QUADS GL_QUAD_STRIP and GL_POLYGON to the OF_PRIMITIVES.","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1077.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1077","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1077.diff"},"created_at":"2012-03-16T05:16:13Z","updated_at":"2012-03-16T15:07:05Z","comments":6,"milestone":null,"number":1077,"id":3677810,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1076","html_url":"https://github.com/openframeworks/openFrameworks/issues/1076","body":"Hi!\r\n\r\nSomething's not working with the gitignore structure currently.\r\nFor example, after compiling the project explorer (just say `make` in its directory) I get the following untracked files:\r\n\r\n\t\t# Untracked files:\r\n\t\t# (use \"git add ...\" to include in what will be committed)\r\n\t\t#\r\n\t\t#\tapps/devApps/projectGenerator/bin/libs/\r\n\t\t#\tapps/devApps/projectGenerator/bin/projectGenerator\r\n\t\t#\tapps/devApps/projectGenerator/obj/\r\n\r\nI think other things are not being correctly ignored in the examples, but could not repro, see below.\r\n\r\nAlso, I just tried to generate the examples, but the PG segfaults on me (but that's probably because it's a moving target currently.\r\n\r\nSorry for the sloppy reporting, I'm in a hurry but wanted to get this out there. Will try to get more detail/better reporting tomorrow, or close this again if appropriate.\r\n\r\n\r\n","closed_at":"2012-03-16T20:18:47Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"gitignore structure has some holes, project generator segfaults","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-15T22:15:46Z","updated_at":"2012-03-17T02:36:16Z","comments":16,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1076,"id":3674441,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1074","html_url":"https://github.com/openframeworks/openFrameworks/issues/1074","body":"Apply fixed code style to the OSC and logging examples.","closed_at":"2012-03-15T15:05:47Z","labels":[],"title":"bb examples codestyle cleanup","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1074.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1074","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1074.diff"},"created_at":"2012-03-14T22:43:26Z","updated_at":"2012-03-15T15:05:47Z","comments":4,"milestone":null,"number":1074,"id":3658004,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1073","html_url":"https://github.com/openframeworks/openFrameworks/issues/1073","body":"I fixed the bugs in #1072 manually now. UniversalIndentGUI export seems to be messed up somehow, and the config is just a text file. Style conversion output looks good, the bugs in #1072 are fixed.","closed_at":"2012-03-15T08:42:05Z","labels":[],"title":"Codestyle fixes","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1073.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1073","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1073.diff"},"created_at":"2012-03-14T22:32:04Z","updated_at":"2012-03-15T08:42:05Z","comments":1,"milestone":null,"number":1073,"id":3657847,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1072","html_url":"https://github.com/openframeworks/openFrameworks/issues/1072","body":"I found some bugs in the current uncrustify code style. I tried to fix them using universal indent GUI, but on saving I made a diff of the old and new config files, and there was more in there than I expected (and imho unrelated to the changes I made). \r\nProbably a version problem? UnivIndGUI 1.1.0, uncrustify 0.57\r\n\r\nAnyway, the bugs are the following, demonstrated by diffs I got from running the code style over some of my examples:\r\n\r\nEmpty function bodies are collapsed (don't know if this is actually desired):\r\n\r\n```c++\r\n-void testApp::gotMessage(ofMessage msg){\r\n-\r\n-}\r\n+void testApp::gotMessage(ofMessage msg){}\r\n```\r\nBraces after an else if line are moved to the next line:\r\n\r\n```c++\r\n-\t\telse if(m.getArgType(i) == OFXOSC_TYPE_FLOAT){\r\n+\t\telse if(m.getArgType(i) == OFXOSC_TYPE_FLOAT)\r\n+\t\t{\r\n```\r\n\r\nVariable name alignment is not removed:\r\n\r\n```c++\r\n-\t\tofTrueTypeFont\t\tfont;\r\n-\t\tofxOscReceiver\treceiver;\r\n+\t\tofTrueTypeFont font;\r\n+\t\tofxOscReceiver receiver;\r\n```\r\n\r\n\r\nThe options I changed to fix this were:\r\n\r\n* Deactivate Nl Collapse Empty Body to preserve empty function bodies in testapp.cpp files.\r\n* Set Remove Nl Elseif Brace.\r\n* Disable Add Space after Type rule to remove variable name alignment. (Don't know 100% about this, since setting it to Remove also looks correct)\r\n\r\n@danomatika, could you take a look?","closed_at":"2012-04-10T13:03:21Z","labels":[],"title":"code style config file bugs","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-14T19:22:15Z","updated_at":"2012-04-10T13:03:21Z","comments":11,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1072,"id":3654585,"assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1071","html_url":"https://github.com/openframeworks/openFrameworks/issues/1071","body":"@ofTheo requested that everyone look over their contributed examples before 0071 is released, and make sure they conform to https://github.com/openframeworks/openFrameworks/wiki/oF-code-style","closed_at":"2012-04-09T16:54:16Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","color":"d1af26","name":"example"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"examples should match the OF code style guidelines","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-14T15:19:09Z","updated_at":"2012-04-09T16:54:16Z","comments":15,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":1071,"id":3650044,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1069","html_url":"https://github.com/openframeworks/openFrameworks/issues/1069","body":"Fix a capitalisation error introduced in 6aa9d1037ed2 - the path is `openFrameworks/libs/poco/include/Poco` not `openFrameworks/libs/poco/include/poco`. \r\nOF does not build on my linux machine without this, but builds without problems after the fix. I was kinda surprised that nobody caught/encountered this yet...","closed_at":"2012-03-13T21:10:27Z","labels":[],"title":"Fix poco include","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1069.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1069","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1069.diff"},"created_at":"2012-03-13T20:54:52Z","updated_at":"2012-03-13T21:10:27Z","comments":0,"milestone":null,"number":1069,"id":3638151,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1067","html_url":"https://github.com/openframeworks/openFrameworks/issues/1067","body":"a bug in deserialization of ofMatrix4x4","closed_at":"2012-03-13T14:19:14Z","labels":[],"title":"Update libs/openFrameworks/math/ofMatrix4x4.h","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1067.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1067","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1067.diff"},"created_at":"2012-03-13T13:58:38Z","updated_at":"2012-03-13T14:19:14Z","comments":3,"milestone":null,"number":1067,"id":3629561,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/roikr","gravatar_id":"b2e9245374200fd517b978805af456bb","login":"roikr","avatar_url":"https://secure.gravatar.com/avatar/b2e9245374200fd517b978805af456bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":210179}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1066","html_url":"https://github.com/openframeworks/openFrameworks/issues/1066","body":"Hi,\r\n\r\nLoading a JPG or PNG with a resolution of 1280x576 crashes the application (EXC_BAD_ACCESS)\r\nYou can test it yourself by loading an image with a size of 1280x576 pixels 72 DPI in the standard imageLoaderExample. I thought it had something to do with the aspect ratio, but it looks like it doesn't. Loading an image half the size 640x288 gives me the same error but loading an image quarter size (320x144) works perfect. \r\nOS -> Mac (Lion)\r\nOF -> of_preRelease_v007_osx\r\n\r\nHarm","closed_at":"2012-03-13T13:56:04Z","labels":[],"title":"ofImage loadImage() crash at a certain sizes (1280x576) ","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-03-13T13:50:46Z","updated_at":"2012-03-13T14:07:39Z","comments":2,"milestone":null,"number":1066,"id":3629436,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/harmvandeven","gravatar_id":"3d1fbd62d2c7c56ad4e144407f0d057d","login":"harmvandeven","avatar_url":"https://secure.gravatar.com/avatar/3d1fbd62d2c7c56ad4e144407f0d057d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":817338}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1065","html_url":"https://github.com/openframeworks/openFrameworks/issues/1065","body":"a bug with \r\ninline istream& operator>>(istream& is, ofMatrix4x4& M)","closed_at":"2012-03-13T14:00:59Z","labels":[],"title":"Update libs/openFrameworks/math/ofMatrix4x4.h","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1065.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1065","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1065.diff"},"created_at":"2012-03-13T13:22:32Z","updated_at":"2012-03-13T14:00:59Z","comments":6,"milestone":null,"number":1065,"id":3629063,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/roikr","gravatar_id":"b2e9245374200fd517b978805af456bb","login":"roikr","avatar_url":"https://secure.gravatar.com/avatar/b2e9245374200fd517b978805af456bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":210179}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1064","html_url":"https://github.com/openframeworks/openFrameworks/issues/1064","body":"fixes #567","closed_at":"2012-03-13T12:53:19Z","labels":[],"title":"bugfix 567 - fixed numTouches in touchesBegan","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1064.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1064","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1064.diff"},"created_at":"2012-03-13T12:52:41Z","updated_at":"2012-03-13T12:53:19Z","comments":0,"milestone":null,"number":1064,"id":3628625,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1061","html_url":"https://github.com/openframeworks/openFrameworks/issues/1061","body":"affects ofFbo, ofMatrix3x3; doesn't address outstanding MRT considerations","closed_at":"2012-03-12T16:22:06Z","labels":[],"title":"fixes a few return type errors that were caught in vs","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1061.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1061","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1061.diff"},"created_at":"2012-03-12T16:18:46Z","updated_at":"2012-03-12T16:35:27Z","comments":2,"milestone":null,"number":1061,"id":3613994,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1060","html_url":"https://github.com/openframeworks/openFrameworks/issues/1060","body":"fixes #683","closed_at":"2012-03-12T13:06:34Z","labels":[],"title":"bugfix 683 iPhoneGuiExample","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1060.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1060","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1060.diff"},"created_at":"2012-03-12T13:03:30Z","updated_at":"2012-03-12T13:06:34Z","comments":0,"milestone":null,"number":1060,"id":3610582,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '39063'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"fdba8110fdafd1567d86fdfe2d8eb3ac"'), ('date', 'Tue, 29 May 2012 18:46:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-12T15:01:00Z","body":"just noticed in ofSaveImage there is a default argument which sets the format ( the default being .png ) \r\nwondering why we have this argument when previous behavior was to determine format from extension? \r\n\r\nI only noticed it as it was polluting the auto complete for:\r\nOF_IMAGE_COLOR\r\nOF_IMAGE_COLOR_ALPHA\r\nOF_IMAGE_GRAYSCALE\r\n\r\nenum ofImageFormat {\r\n\tOF_IMAGE_FORMAT_BMP\t\t= 0,\r\n\tOF_IMAGE_FORMAT_ICO\t\t= 1,\r\n\tOF_IMAGE_FORMAT_JPEG\t= 2,\r\n\tOF_IMAGE_FORMAT_JNG\t\t= 3,\r\n\tOF_IMAGE_FORMAT_KOALA\t= 4,\r\n\tOF_IMAGE_FORMAT_LBM\t\t= 5,\r\n\tOF_IMAGE_FORMAT_IFF = OF_IMAGE_FORMAT_LBM,\r\n\tOF_IMAGE_FORMAT_MNG\t\t= 6,\r\n\tOF_IMAGE_FORMAT_PBM\t\t= 7,\r\n\tOF_IMAGE_FORMAT_PBMRAW\t= 8,\r\n\tOF_IMAGE_FORMAT_PCD\t\t= 9,\r\n\tOF_IMAGE_FORMAT_PCX\t\t= 10,\r\n\tOF_IMAGE_FORMAT_PGM\t\t= 11,\r\n\tOF_IMAGE_FORMAT_PGMRAW\t= 12,\r\n\tOF_IMAGE_FORMAT_PNG\t\t= 13,\r\n\tOF_IMAGE_FORMAT_PPM\t\t= 14,\r\n\tOF_IMAGE_FORMAT_PPMRAW\t= 15,\r\n\tOF_IMAGE_FORMAT_RAS\t\t= 16,\r\n\tOF_IMAGE_FORMAT_TARGA\t= 17,\r\n\tOF_IMAGE_FORMAT_TIFF\t= 18,\r\n\tOF_IMAGE_FORMAT_WBMP\t= 19,\r\n\tOF_IMAGE_FORMAT_PSD\t\t= 20,\r\n\tOF_IMAGE_FORMAT_CUT\t\t= 21,\r\n\tOF_IMAGE_FORMAT_XBM\t\t= 22,\r\n\tOF_IMAGE_FORMAT_XPM\t\t= 23,\r\n\tOF_IMAGE_FORMAT_DDS\t\t= 24,\r\n\tOF_IMAGE_FORMAT_GIF = 25,\r\n\tOF_IMAGE_FORMAT_HDR\t\t= 26,\r\n\tOF_IMAGE_FORMAT_FAXG3\t= 27,\r\n\tOF_IMAGE_FORMAT_SGI\t\t= 28,\r\n\tOF_IMAGE_FORMAT_EXR\t\t= 29,\r\n\tOF_IMAGE_FORMAT_J2K\t\t= 30,\r\n\tOF_IMAGE_FORMAT_JP2\t\t= 31,\r\n\tOF_IMAGE_FORMAT_PFM\t\t= 32,\r\n\tOF_IMAGE_FORMAT_PICT\t= 33,\r\n\tOF_IMAGE_FORMAT_RAW\t\t= 34\r\n};","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1059","comments":2,"milestone":null,"number":1059,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1059","assignee":null,"title":"what is the purpose of ofImageFormat enum ? ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":"2012-03-12T15:01:00Z","created_at":"2012-03-12T12:45:37Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3610389,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-17T16:40:38Z","body":"previously logged as PR #1004\r\nfixes #1057","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1058","comments":0,"milestone":null,"number":1058,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1058","assignee":null,"title":"support for new low-power GPS feature","labels":[],"closed_at":"2012-03-17T16:40:38Z","created_at":"2012-03-12T12:34:34Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3610287,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1058.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1058","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1058.patch"}},{"updated_at":"2012-03-22T03:01:51Z","body":"add power-saving way to track general location when a GPS lock isn't needed.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1057","comments":1,"milestone":null,"number":1057,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1057","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"support for new low-power GPS feature","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-22T03:01:51Z","created_at":"2012-03-12T12:23:24Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3610189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:55:12Z","body":"ofMatrix3x3::entrywiseTimes' : missing return value with vs2010 at the moment,thxs","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1056","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1056,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1056","assignee":null,"title":"ofMatrix3x3::entrywiseTimes missing return value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":"2012-03-12T16:55:12Z","created_at":"2012-03-12T05:00:28Z","state":"closed","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","id":51957,"avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3606284,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-11T22:52:34Z","body":"hi, im getting a crash when trying to generate ios projects.\r\nits happening when trying to replace the PROJECTNAME inside the findandreplaceInTexfile() method.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1054","comments":2,"milestone":null,"number":1054,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1054","assignee":null,"title":"projectGenerator crash when generating ios projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-03-11T13:21:55Z","created_at":"2012-03-11T09:30:39Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3600155,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-11T12:56:39Z","body":"ive merged ofxiOS into ofxiPhone.\r\n\r\nOF apps can now be embedded inside native ios apps.\r\nadded iosNativeExample to demonstrate/test this functionality.\r\n\r\nfixes #1049","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1053","comments":2,"milestone":null,"number":1053,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1053","assignee":null,"title":"merge ofxiOS into ofxiPhone","labels":[],"closed_at":"2012-03-11T12:56:39Z","created_at":"2012-03-11T01:33:38Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3598709,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1053.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1053","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1053.patch"}},{"updated_at":"2012-03-11T15:24:35Z","body":"ofxiOS allows to embed OF apps at different levels in the iPhone application structure.\r\n\r\nhttps://github.com/julapy/ofxiOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1049","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"closed_issues":70,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":1049,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1049","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"merge ofxiOS into ofxiPhone","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-11T15:24:35Z","created_at":"2012-03-10T06:16:51Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3593571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T13:36:33Z","body":"the original example hat a rotating cube and a matrix transfomation, i made some moving lines instead.\r\nthey better show the difference between the floating point fbo and the non floating point fbo.\r\nthey also show the difference between the internal format RGB and RGBA.\r\nadded text on the screen to observe the changes in color values.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1046","comments":0,"milestone":null,"number":1046,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1046","assignee":null,"title":"Better fboTrailsExample","labels":[],"closed_at":"2012-03-09T13:36:33Z","created_at":"2012-03-09T13:04:04Z","state":"closed","user":{"url":"https://api.github.com/users/liasomething","gravatar_id":"248569b4b21882f854f3a0eee701cc37","login":"liasomething","id":183150,"avatar_url":"https://secure.gravatar.com/avatar/248569b4b21882f854f3a0eee701cc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3582780,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1046.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1046","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1046.patch"}},{"updated_at":"2012-03-09T23:08:00Z","body":"this took a bit of fiddling but finally got it sorted.\r\nscreenGrab now works in all orientations.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1045","comments":3,"milestone":null,"number":1045,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1045","assignee":null,"title":"bugfix for issue #135 - ios screengrab","labels":[],"closed_at":"2012-03-09T13:31:02Z","created_at":"2012-03-08T23:49:45Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3574720,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1045.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1045","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1045.patch"}},{"updated_at":"2012-03-26T14:46:46Z","body":"Running install_dependencies.sh it trys to cd to a non existant directory:\r\n\r\n[snipped]\r\nlibglu1-mesa-dev is already the newest version.\r\nlibgl1-mesa-dev is already the newest version.\r\nlibcairo2-dev is already the newest version.\r\nlibdrm-dev is already the newest version.\r\n0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.\r\ncd: 11: can't cd to ../../../libs/openFrameworksCompiled/project/linux\r\nmake: *** No rule to make target `Debug'. Stop.\r\nthere has been a problem compiling Debug OF library\r\nplease report this problem in the forums\r\n\r\n\r\nIf I create a symlink:\r\n# ln -s ../../../libs/openFrameworksCompiled/project/linux64 ../../../libs/openFrameworksCompiled/project/linux\r\n\r\nThings get further but still get stuck:\r\n\r\n[snipped]\r\n0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.\r\necho \"creating \" ../../lib/linux/libopenFrameworksDebug.a\r\ncreating ../../lib/linux/libopenFrameworksDebug.a\r\nar -r \"../../lib/linux/libopenFrameworksDebug.a\" obj/Debug/openFrameworks/communication/ofSerial.o obj/Debug/openFrameworks/communication/ofArduino.o obj/Debug/openFrameworks/sound/ofSoundPlayer.o obj/Debug/openFrameworks/sound/ofRtAudioSoundStream.o obj/Debug/openFrameworks/sound/ofBaseSoundStream.o obj/Debug/openFrameworks/sound/ofOpenALSoundPlayer.o obj/Debug/openFrameworks/sound/ofSoundStream.o obj/Debug/openFrameworks/sound/ofPASoundStream.o obj/Debug/openFrameworks/sound/ofFmodSoundPlayer.o obj/Debug/openFrameworks/sound/ofBaseSoundPlayer.o obj/Debug/openFrameworks/video/ofVideoPlayer.o obj/Debug/openFrameworks/video/ofGstVideoGrabber.o obj/Debug/openFrameworks/video/ofQtUtils.o obj/Debug/openFrameworks/video/ofVideoGrabber.o obj/Debug/openFrameworks/video/ofGstUtils.o obj/Debug/openFrameworks/video/ofGstVideoPlayer.o obj/Debug/openFrameworks/video/ofQuickTimeGrabber.o obj/Debug/openFrameworks/video/ofQuickTimePlayer.o obj/Debug/openFrameworks/video/ofDirectShowGrabber.o obj/Debug/openFrameworks/types/ofRectangle.o obj/Debug/openFrameworks/types/ofBaseTypes.o obj/Debug/openFrameworks/types/ofColor.o obj/Debug/openFrameworks/types/ofPoint.o obj/Debug/openFrameworks/3d/ofCamera.o obj/Debug/openFrameworks/3d/ofMesh.o obj/Debug/openFrameworks/3d/ofNode.o obj/Debug/openFrameworks/3d/ofEasyCam.o obj/Debug/openFrameworks/3d/of3dUtils.o obj/Debug/openFrameworks/app/ofAppGlutWindow.o obj/Debug/openFrameworks/app/ofAppRunner.o obj/Debug/openFrameworks/gl/ofGLRenderer.o obj/Debug/openFrameworks/gl/ofLight.o obj/Debug/openFrameworks/gl/ofFbo.o obj/Debug/openFrameworks/gl/ofVbo.o obj/Debug/openFrameworks/gl/ofTexture.o obj/Debug/openFrameworks/gl/ofMaterial.o obj/Debug/openFrameworks/gl/ofVboMesh.o obj/Debug/openFrameworks/gl/ofShader.o obj/Debug/openFrameworks/graphics/ofImage.o obj/Debug/openFrameworks/graphics/ofPixels.o obj/Debug/openFrameworks/graphics/ofTrueTypeFont.o obj/Debug/openFrameworks/graphics/ofCairoRenderer.o obj/Debug/openFrameworks/graphics/ofGraphics.o obj/Debug/openFrameworks/graphics/ofPolyline.o obj/Debug/openFrameworks/graphics/ofBitmapFont.o obj/Debug/openFrameworks/graphics/ofPath.o obj/Debug/openFrameworks/graphics/ofTessellator.o obj/Debug/openFrameworks/math/ofMatrix3x3.o obj/Debug/openFrameworks/math/ofVec4f.o obj/Debug/openFrameworks/math/ofVec2f.o obj/Debug/openFrameworks/math/ofMath.o obj/Debug/openFrameworks/math/ofMatrix4x4.o obj/Debug/openFrameworks/math/ofQuaternion.o obj/Debug/openFrameworks/events/ofEvents.o obj/Debug/openFrameworks/utils/ofUtils.o obj/Debug/openFrameworks/utils/ofSystemUtils.o obj/Debug/openFrameworks/utils/ofFileUtils.o obj/Debug/openFrameworks/utils/ofLog.o obj/Debug/openFrameworks/utils/ofThread.o obj/Debug/openFrameworks/utils/ofURLFileLoader.o\r\nar: ../../lib/linux/libopenFrameworksDebug.a: No such file or directory\r\nmake: *** [../../lib/linux/libopenFrameworksDebug.a] Error 1\r\nthere has been a problem compiling Debug OF library\r\nplease report this problem in the forums\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1044","comments":3,"milestone":null,"number":1044,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1044","assignee":null,"title":"Problem installing dependencies on 64bit ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":"2012-03-26T14:46:46Z","created_at":"2012-03-08T14:22:57Z","state":"closed","user":{"url":"https://api.github.com/users/stuaxo","gravatar_id":"bf2a73b1327be388096c602e986bc06f","login":"stuaxo","id":179677,"avatar_url":"https://secure.gravatar.com/avatar/bf2a73b1327be388096c602e986bc06f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3563392,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:58:22Z","body":"When trying to compile either release or debug, easyCamExample_vs2010 exits build phase with the following error:\r\n\r\n2> Generating Code...\r\n2> Creating library bin\\easyCamExample_vs2010.lib and object bin\\easyCamExample_vs2010.exp\r\n2>openframeworksLib.lib(of3dUtils.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofDrawGridPlane(float,float,bool)\" (?ofDrawGridPlane@@YAXMM_N@Z) referenced in function \"void __cdecl ofDrawGrid(float,float,bool,bool,bool,bool)\" (?ofDrawGrid@@YAXMM_N000@Z)\r\n2>bin\\easyCamExample_vs2010.exe : fatal error LNK1120: 1 unresolved externals\r\n\r\nSame result for advanced3dExample\r\n\r\nMost recent version from Git 7/3/2012, please let me know if you need more information\r\n\r\nCheers guys.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1043","comments":13,"milestone":null,"number":1043,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1043","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCamExample_vs2010 example build error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":"2012-03-09T11:58:22Z","created_at":"2012-03-08T02:35:02Z","state":"closed","user":{"url":"https://api.github.com/users/voidsetupdraw","gravatar_id":"baa95342acc3e8871036d7e54cd093ed","login":"voidsetupdraw","id":1080703,"avatar_url":"https://secure.gravatar.com/avatar/baa95342acc3e8871036d7e54cd093ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3555209,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T15:03:28Z","body":"See here: https://github.com/openframeworks/openFrameworks/tree/master/apps/iPhoneSpecificExamples/iPadExample","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1042","comments":3,"milestone":null,"number":1042,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1042","assignee":null,"title":"iPhoneSpecificExamples/iPadExample is missing 'src' folder","labels":[],"closed_at":"2012-03-08T12:32:49Z","created_at":"2012-03-07T20:58:40Z","state":"closed","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","login":"prisonerjohn","id":119702,"avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3550444,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T14:33:27Z","body":"closes the long requested feature #751\r\n\r\ni even made a cute example https://secure.flickr.com/photos/kylemcdonald/6962137427/in/photostream\r\n\r\ncairo needs an implementation as well, right now it just ignores the extra arguments.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1041","comments":14,"milestone":null,"number":1041,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1041","assignee":null,"title":"image subsection drawing","labels":[],"closed_at":"2012-04-09T17:09:44Z","created_at":"2012-03-07T17:39:41Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3547308,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1041.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1041","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1041.patch"}},{"updated_at":"2012-03-06T22:46:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1040","comments":0,"milestone":null,"number":1040,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1040","assignee":null,"title":"Fixing comments and Changing ofEvents. for ofEvents(). on Golan´s examples","labels":[],"closed_at":"2012-03-06T22:46:10Z","created_at":"2012-03-06T21:02:53Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914,"avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3532561,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1040.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1040","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1040.patch"}},{"updated_at":"2012-03-05T18:17:43Z","body":"its a trigger so there is no need to do this:\r\n\r\nvoid testApp::buttonHit(bool & pressed){\r\n\r\n}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1038","comments":2,"milestone":null,"number":1038,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1038","assignee":null,"title":"ofxGui, ofxButton callback shouldn't need a bool argument","labels":[],"closed_at":"2012-03-05T18:17:43Z","created_at":"2012-03-05T18:08:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3510973,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:20:33Z","body":"\r\nApropos this forum discussion: http://forum.openframeworks.cc/index.php/topic,9160.new.html#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1035","comments":0,"milestone":null,"number":1035,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1035","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"adding multiple i/o devices to rtSoundStream","labels":[],"closed_at":"2012-03-12T12:20:33Z","created_at":"2012-03-05T03:14:25Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3501043,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1035.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1035","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1035.patch"}},{"updated_at":"2012-03-10T00:31:26Z","body":"i often have to use Poco::Mutex if i want to lock different variables in a thread\r\nperhaps it's time we had an ofThreadLock which ofThread uses internally?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1032","comments":9,"milestone":null,"number":1032,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1032","assignee":null,"title":"feature ofThreadLock","labels":[],"closed_at":"2012-03-04T10:33:12Z","created_at":"2012-03-04T09:39:30Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3495251,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T15:12:25Z","body":"Howdy all,\r\n\r\nI started rewriting ofThread in Detroit but stopped do to other priorities. Now it's essentially done and much cleaner then what I started with .. wheew. In any case, it's been rewritten using Poco::Thread and Poco::Runnable and the resulting code is much cleaner and hopefully easier to maintain ... no platform specific stuff.\r\n\r\nPoco::Thread provides some nice things like unique ids, thread sleep(), yield(), and knowing which thread you are in. The verbosity prints now uses an ofLog module with the current thread id and the mutex lock()/unlock() verbose prints now tell you if the thread itself or another thread is trying to lock/unlock it.\r\n\r\nThe verbose output looks like this:\r\n
\r\nThread 1: OF_VERBOSE: started\r\nThread 1: OF_VERBOSE: thread waiting for mutex to be unlocked\r\nThread 1: OF_VERBOSE: thread locked mutex\r\nThread 1: OF_VERBOSE: thread unlocked mutex\r\nThread 1: OF_VERBOSE: waiting for mutex to be unlocked\r\nThread 1: OF_VERBOSE: mutex locked\r\nThread 1: OF_VERBOSE: mutex unlocked\r\n
\r\n\r\nSorry Kyle, getCurrentThread() returns a pointer. How else can you either return an object or not if there isn't one? :D\r\n\r\nIn any case, I tested this with the threadExample and it's working fine. I'd appreciate others trying it out, especially on Windows. I noticed a bug last week on Windows with the original ofThread where starting the same thread multiple times *spawns new threads*. I assume Poco::Thread dosen't let that happen so this bug should be gone.\r\n\r\nAlso, from talking with Damian about what's needed for Threads, I added an ofSemaphore typedef of Poco::Semaphore.\r\n\r\nP.S. The commenting comes from me working out how ofThread is supposed to work internally by reading the code for both the rewrite and the site documentation. I normally do this when I write an API and I figured I'd leave it in for now. I can remove it if the \"no header commenting\" unwritten rule is in force ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1031","comments":15,"milestone":null,"number":1031,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1031","assignee":null,"title":"ofThread rewrite & ofSemaphore typedef","labels":[],"closed_at":"2012-03-11T13:15:21Z","created_at":"2012-03-04T04:10:39Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3494366,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1031.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1031","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1031.patch"}},{"updated_at":"2012-03-07T01:58:41Z","body":"the pdf example was too complicated for beginners (eg. dropZone, drag and drop, matrix stuff for rotation, vectors of images and tail...) and it had no comments.\r\n\r\ni simplified by only having one rectangle moving randomly.\r\ni tried to make even basic stuff understandable by adding a lot of comments.\r\n\r\ni also demonstrated rendering multiple frames into a single page pdf versus a multipage pdf.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1030","comments":2,"milestone":null,"number":1030,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1030","assignee":null,"title":"example: simpler pdf example plus added comments","labels":[],"closed_at":"2012-03-07T01:58:41Z","created_at":"2012-03-03T21:15:06Z","state":"closed","user":{"url":"https://api.github.com/users/liasomething","gravatar_id":"248569b4b21882f854f3a0eee701cc37","login":"liasomething","id":183150,"avatar_url":"https://secure.gravatar.com/avatar/248569b4b21882f854f3a0eee701cc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3492273,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1030.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1030","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1030.patch"}},{"updated_at":"2012-03-03T16:05:10Z","body":"currently it's `ofSaveImage(ofPixels& pixels, string filename)`, etc\r\nshould be `ofSaveImage(const ofPixels& pixels, string filename)`\r\n\r\nthere's lots of const correctness issues in general\r\ni'm not sure if littlering the git issue log with them all individually is a good idea\r\nperhaps an issue like 'fix general const correctness'","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1027","comments":1,"milestone":null,"number":1027,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1027","assignee":null,"title":"ofSaveImage doesn't accept const","labels":[],"closed_at":"2012-03-03T16:05:10Z","created_at":"2012-03-03T11:48:14Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3489150,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T23:17:56Z","body":"Very minor OpenGL ES tweaks were needed. I figured it would be nice to have a somewhat complicated Android OpenGL example that people could play with","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1026","comments":3,"milestone":null,"number":1026,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1026","assignee":null,"title":"Porting advanced3D example to work with android","labels":[],"closed_at":"2012-03-02T23:17:31Z","created_at":"2012-03-02T18:35:58Z","state":"closed","user":{"url":"https://api.github.com/users/bostonbusmap","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262,"avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3481276,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1026.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1026","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1026.patch"}},{"updated_at":"2012-03-02T18:43:11Z","body":"these seem to be missing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1025","comments":0,"milestone":null,"number":1025,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1025","assignee":null,"title":"add ofxGui .cpp files to project generator","labels":[],"closed_at":"2012-03-02T18:43:11Z","created_at":"2012-03-02T17:18:52Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3480161,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1025.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1025","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1025.patch"}},{"updated_at":"2012-03-09T13:37:25Z","body":"it is a hack but at least runs. Kieth I think that you need to look at this.\r\n\r\n`GL_COLOR_ATTACHMENT0_OES` and `glDrawBuffers` does not look supported in OpenglES 2","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1023","comments":2,"milestone":null,"number":1023,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1023","assignee":null,"title":"#ifndef out the GL_COLOR_ATTACHMENT0_OES and glDrawBuffers(...) stuff","labels":[],"closed_at":"2012-03-09T13:37:25Z","created_at":"2012-03-02T16:52:06Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3479714,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1023.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1023","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1023.patch"}},{"updated_at":"2012-03-02T00:11:14Z","body":"I'm just adding parentheses. I'm assuming that's the correct fix since I saw it in this commit: https://github.com/openframeworks/openFrameworks/commit/6879f3ce6e05e5b17b884efee86039a97444980b\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1021","comments":0,"milestone":null,"number":1021,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1021","assignee":null,"title":"Fixing android compilation error","labels":[],"closed_at":"2012-03-02T00:11:14Z","created_at":"2012-03-01T23:50:47Z","state":"closed","user":{"url":"https://api.github.com/users/bostonbusmap","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262,"avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3468314,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1021.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1021","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1021.patch"}},{"updated_at":"2012-03-02T00:52:15Z","body":"tons of warnings for bad conversions and missing delegates and comments crap. now there are only two warnings for missing architecture.\r\n\r\nIgnoring file ../../../libs/FreeImage/lib/iphone/freeimage.a, missing required architecture i386 in file\r\nIgnoring file ../../../libs/glu/lib/iphone/glu-iphone.a, missing required architecture i386 in file\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1020","comments":0,"milestone":null,"number":1020,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1020","assignee":null,"title":"all warning removed from IOS project","labels":[],"closed_at":"2012-03-02T00:52:15Z","created_at":"2012-03-01T22:59:42Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3467172,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1020.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1020","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1020.patch"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '29257'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"03a690b7fa3bc5d859c28d976f3872d7"'), ('date', 'Tue, 29 May 2012 18:46:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T14:01:30Z","body":"Added some features in ofLight\r\n- don't have to set light position every frame, called automatically through enable()\r\n- moved init function to constructor to create lights\r\n- added spotConcentration (exponent) vars and clamping for spotlights\r\n- added spotCutoff vars and clamping for spotLight\r\n\r\nExamples\r\nMultiLight Example\r\n- Uses all three light types, point, spot and directional\r\n- turn on/off textured objects\r\nhttp://www.flickr.com/photos/95943853@N00/6944163657/\r\nhttp://www.flickr.com/photos/95943853@N00/6944163519/in/photostream/\r\n\r\nSingle Light Example\r\n- point light highlighting rotating spheres\r\n- color changing\r\nhttp://www.flickr.com/photos/95943853@N00/6944163745/in/photostream/\r\nhttp://www.flickr.com/photos/95943853@N00/6944163709/in/photostream/","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1018","comments":4,"milestone":null,"number":1018,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1018","assignee":null,"title":"Light examples","labels":[],"closed_at":"2012-03-09T14:01:30Z","created_at":"2012-03-01T17:15:34Z","state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","id":142694},"id":3458298,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1018","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1018.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1018.diff"}},{"updated_at":"2012-03-01T15:59:02Z","body":"Ran across this writing documentation for ofFileDialogResult https://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/utils/ofSystemUtils.h\r\n\r\nWould filePath/fileName ever needed to be set programmatically or should they be set to private?\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1017","comments":2,"milestone":null,"number":1017,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1017","assignee":null,"title":"ofFileDialogResult getPath()/filePath getName()/fileName","labels":[],"closed_at":"2012-03-01T15:59:02Z","created_at":"2012-03-01T06:17:21Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","id":150037},"id":3449854,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:34:30Z","body":"On ofxTCPClient and ofxTCPServer there are a \"bool verbose\" variable... should I delete it? because now ever all it´s on OF_LOG_VERBOSE","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1016","comments":1,"milestone":null,"number":1016,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1016","assignee":null,"title":"Replacing printf for ofLog","labels":[],"closed_at":"2012-03-01T19:34:30Z","created_at":"2012-03-01T02:18:10Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":3448203,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1016","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1016.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1016.diff"}},{"updated_at":"2012-03-26T12:06:03Z","body":"I've made some code styling scripts and an uncrustify config file:\r\n\r\n* ofStyler: runs the OF style config on a file or given dir + file suffix\r\n* styleAddons: runs the of style over an given addon's src dir\r\n* styleOFCore: runs the of style over all .h & .cpp files in the core, adds core_header.txt to the top of files missing a header\r\n\r\nThere is a readme that explains how to use them.\r\n\r\nThe config is not perfect yet, I can't get it to remove the space before the { on enum and class definitions. Sorry Theo ... ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1015","comments":5,"milestone":null,"number":1015,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1015","assignee":null,"title":"OF code styling scripts","labels":[],"closed_at":"2012-03-01T13:14:16Z","created_at":"2012-03-01T01:23:10Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3447720,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1015","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1015.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1015.diff"}},{"updated_at":"2012-02-29T22:51:11Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1014","comments":0,"milestone":null,"number":1014,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1014","assignee":null,"title":"IOS Working on develop branch","labels":[],"closed_at":"2012-02-29T22:51:11Z","created_at":"2012-02-29T22:37:06Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3445668,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1014","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1014.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1014.diff"}},{"updated_at":"2012-02-29T22:54:23Z","body":"Added a small logging example demonstrating the most important features of ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1013","comments":0,"milestone":null,"number":1013,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1013","assignee":null,"title":"Logging example","labels":[],"closed_at":"2012-02-29T22:54:23Z","created_at":"2012-02-29T21:48:24Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3444934,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1013","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1013.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1013.diff"}},{"updated_at":"2012-02-29T22:02:59Z","body":"Thanks Kyle","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1012","comments":0,"milestone":null,"number":1012,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1012","assignee":null,"title":"changing ofEvents.update to ofEvents().update ","labels":[],"closed_at":"2012-02-29T22:02:59Z","created_at":"2012-02-29T21:43:56Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":3444849,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1012","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1012.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1012.diff"}},{"updated_at":"2012-03-01T02:20:27Z","body":"After yesterday´s changes on ofEvent, I´m having this problem when using core events:\r\n\"Member reference base type 'ofCoreEvents &(*)()' is not a structure or union\" ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1011","comments":3,"milestone":null,"number":1011,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1011","assignee":null,"title":"Error Message on ofEvent","labels":[],"closed_at":"2012-03-01T02:20:27Z","created_at":"2012-02-29T21:15:03Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":3444375,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-29T21:58:37Z","body":"Added app/DevApps/IOSTesting to get this version of OF running on the iPhone. \r\n\r\nThere is still a bug with ofImage releasing `static set images = new set` I think this happens when IOS runs the app in the back ground. \r\n\r\nBut at least this is a compiling version...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1010","comments":2,"milestone":null,"number":1010,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1010","assignee":null,"title":"IOS testing","labels":[],"closed_at":"2012-02-29T21:58:37Z","created_at":"2012-02-29T20:32:24Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3443629,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1010","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1010.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1010.diff"}},{"updated_at":"2012-02-29T22:29:15Z","body":"GL_RGB5 doesn't exist for OpenGL ES 1.0, so I added an ifdef to work around the problem","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1009","comments":5,"milestone":null,"number":1009,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1009","assignee":null,"title":"Fix to get Android build working again","labels":[],"closed_at":"2012-02-29T17:49:49Z","created_at":"2012-02-29T17:19:56Z","state":"closed","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3440474,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1009","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1009.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1009.diff"}},{"updated_at":"2012-03-02T17:30:17Z","body":"if i use ofSetBackgroundAuto(false) (which is awesome and should never be deprecated!) and then try to save using the pdf saving, i have 2 problems:\r\n\r\n1. the output PDF only shows the last frame drawn.\r\n2. the normal visible window on the screen is cleared every frame.\r\n\r\ni can fix 1 by calling ofSetBackgroundAuto(false) again AFTER calling ofBeginSaveScreenAsPDF, but this doesn't affect 2. i have a testApp that demonstrates the problem, if it helps i can also paste it here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1008","comments":4,"milestone":null,"number":1008,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1008","assignee":null,"title":"ofSetBackgroundAuto(false) doesn't work with ofBeginSaveScreenAsPDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":"2012-03-02T17:30:17Z","created_at":"2012-02-29T16:38:19Z","state":"closed","user":{"url":"https://api.github.com/users/liasomething","avatar_url":"https://secure.gravatar.com/avatar/248569b4b21882f854f3a0eee701cc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"248569b4b21882f854f3a0eee701cc37","login":"liasomething","id":183150},"id":3439597,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T14:54:25Z","body":"problem is happening for me in Utils.cpp\r\n\r\n```\r\nvoid findandreplaceInTexfile (string fileName, std::string tFind, std::string tReplace ){\r\n \r\n std::ifstream ifile(fileName.c_str(),std::ios::binary);\r\n\tifile.seekg(0,std::ios_base::end);\r\n\tlong s=ifile.tellg();\r\n```\r\n\r\ns is returning -1 and leads to a crash\r\n\r\nQuick fix that allows it to continue but probably causes other issues\r\n\r\n```\r\nif(s == -1){\r\n\treturn;\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1006","comments":7,"milestone":null,"number":1006,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1006","assignee":null,"title":"projectGenerator crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":"2012-03-12T14:54:25Z","created_at":"2012-02-29T07:53:18Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","id":150037},"id":3432560,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:21:48Z","body":"Added support for startMonitoringSignificantLocationChanges / stopMonitoringSignificantLocationChanges - power-saving way to track general location when a GPS lock isn't needed.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1004","comments":5,"milestone":null,"number":1004,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1004","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"Added support for new low-power GPS feature","labels":[],"closed_at":"2012-03-12T12:21:45Z","created_at":"2012-02-28T23:11:39Z","state":"closed","user":{"url":"https://api.github.com/users/cwcw","avatar_url":"https://secure.gravatar.com/avatar/bb2654a3366b4ba49d566772847c559f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bb2654a3366b4ba49d566772847c559f","login":"cwcw","id":510679},"id":3428232,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1004","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1004.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1004.diff"}},{"updated_at":"2012-03-01T12:57:23Z","body":"had no default","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1003","comments":5,"milestone":null,"number":1003,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1003","assignee":null,"title":"Bugfix ofGetGLTypeFromPixelFormat return","labels":[],"closed_at":"2012-03-01T12:57:23Z","created_at":"2012-02-28T07:23:06Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3414422,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1003","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1003.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1003.diff"}},{"updated_at":"2012-02-27T17:24:05Z","body":"using the delegate, ofx iphone should be able to support an external keyboard. This would also open up support for things like iCade.\r\n\r\nI am looking at the https://github.com/scarnie/iCade-iOS to do a test implementation.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1002","comments":2,"milestone":null,"number":1002,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1002","assignee":null,"title":"Add support for hardware keyboard in ofxiPhone","labels":[],"closed_at":"2012-02-27T17:24:02Z","created_at":"2012-02-27T16:19:01Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":3403380,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T16:19:24Z","body":"fixes Issue #884 ; fixes Issue #912","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1000","comments":10,"milestone":null,"number":1000,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1000","assignee":null,"title":"0071 milestone issue fixes, helper functions for MRT added to ofFbo","labels":[],"closed_at":"2012-03-01T19:32:53Z","created_at":"2012-02-27T14:25:13Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3401275,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1000","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1000.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1000.diff"}},{"updated_at":"2012-02-27T14:09:53Z","body":"closes Issue #884","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/999","comments":0,"milestone":null,"number":999,"html_url":"https://github.com/openframeworks/openFrameworks/issues/999","assignee":null,"title":"small changes: fix ofMatrix3x3 hadamard *= issue, add near/far clip getters for ofCamera, MRT helpers in ofFbo","labels":[],"closed_at":"2012-02-27T14:09:53Z","created_at":"2012-02-27T13:57:24Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3400899,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/999","patch_url":"https://github.com/openframeworks/openFrameworks/pull/999.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/999.diff"}},{"updated_at":"2012-02-27T16:17:50Z","body":"How to process data on the GPU that´s not only graphics\r\nExplains about pipeline\r\nHave another example of a Geometry Shader","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/998","comments":4,"milestone":null,"number":998,"html_url":"https://github.com/openframeworks/openFrameworks/issues/998","assignee":null,"title":"GPU Particle System","labels":[],"closed_at":"2012-02-27T16:11:21Z","created_at":"2012-02-27T13:38:53Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":3400644,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/998","patch_url":"https://github.com/openframeworks/openFrameworks/pull/998.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/998.diff"}},{"updated_at":"2012-02-27T13:38:04Z","body":"- pipeline\r\n- how to process data on textures channels other that images\r\n- geom shader","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/997","comments":0,"milestone":null,"number":997,"html_url":"https://github.com/openframeworks/openFrameworks/issues/997","assignee":null,"title":"GPU Particle System ","labels":[],"closed_at":"2012-02-27T13:38:04Z","created_at":"2012-02-27T13:37:40Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":3400618,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/997","patch_url":"https://github.com/openframeworks/openFrameworks/pull/997.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/997.diff"}},{"updated_at":"2012-02-28T15:27:14Z","body":"Multiple ofLight example, including pointLight, spotLight and directional light.\r\n\r\nofSphere needs to be updated since glScalef does not work with the lighting.\r\nPull request here: https://github.com/openframeworks/openFrameworks/pull/995","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/996","comments":3,"milestone":null,"number":996,"html_url":"https://github.com/openframeworks/openFrameworks/issues/996","assignee":null,"title":"Light example","labels":[],"closed_at":"2012-02-28T15:27:14Z","created_at":"2012-02-27T01:00:21Z","state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","id":142694},"id":3394807,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/996","patch_url":"https://github.com/openframeworks/openFrameworks/pull/996.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/996.diff"}},{"updated_at":"2012-03-01T22:21:38Z","body":"Now using ofMesh. \r\nRemoved glScale since it resulted in improper lighting. \r\nAdded tex coords. \r\n~40ms slower than glutSolidSphere. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/995","comments":12,"milestone":null,"number":995,"html_url":"https://github.com/openframeworks/openFrameworks/issues/995","assignee":null,"title":"Of sphere develop","labels":[],"closed_at":"2012-02-29T04:52:40Z","created_at":"2012-02-27T00:48:01Z","state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","id":142694},"id":3394672,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/995","patch_url":"https://github.com/openframeworks/openFrameworks/pull/995.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/995.diff"}},{"updated_at":"2012-02-26T23:21:51Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/994","comments":0,"milestone":null,"number":994,"html_url":"https://github.com/openframeworks/openFrameworks/issues/994","assignee":null,"title":"Added trigonometric motion example","labels":[],"closed_at":"2012-02-26T23:21:51Z","created_at":"2012-02-26T21:52:14Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":3393599,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/994","patch_url":"https://github.com/openframeworks/openFrameworks/pull/994.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/994.diff"}},{"updated_at":"2012-02-27T04:10:23Z","body":"i've cleaned up devApps a ton and moved a few relevant examples into examples.\r\n\r\n* AdvancedImageLoading: i'm going to work on it for a bit, it seems to be broken.\r\n* fboTester: i think @kpasko is going to do some porting of this.\r\n* ofSynthFloaties, synthExample, synthSequencingExample: should be removed or ported by @jonbro\r\n* VboExample is pretty awesome, and should be ported to examples. but needs a little more work.\r\n* VboiPhoneExample i can't guarantee this builds. if @obviousjim or @julapy could test this, that would be great.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/992","comments":2,"milestone":null,"number":992,"html_url":"https://github.com/openframeworks/openFrameworks/issues/992","assignee":null,"title":"cleaning up devApps","labels":[],"closed_at":"2012-02-26T20:43:51Z","created_at":"2012-02-26T20:22:48Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3392930,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/992","patch_url":"https://github.com/openframeworks/openFrameworks/pull/992.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/992.diff"}},{"updated_at":"2012-02-26T12:18:55Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/991","comments":0,"milestone":null,"number":991,"html_url":"https://github.com/openframeworks/openFrameworks/issues/991","assignee":null,"title":"ImageFilteringUsingLUTsExample","labels":[],"closed_at":"2012-02-26T12:18:55Z","created_at":"2012-02-26T05:03:20Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":3389228,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/991","patch_url":"https://github.com/openframeworks/openFrameworks/pull/991.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/991.diff"}},{"updated_at":"2012-02-26T04:11:46Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/990","comments":0,"milestone":null,"number":990,"html_url":"https://github.com/openframeworks/openFrameworks/issues/990","assignee":null,"title":"feature - added guards for reloading textures on the iphone.","labels":[],"closed_at":"2012-02-26T04:11:46Z","created_at":"2012-02-26T02:06:47Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3388718,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/990","patch_url":"https://github.com/openframeworks/openFrameworks/pull/990.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/990.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '28800'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9fab1ce9a082aeb0f790509548340fba"'), ('date', 'Tue, 29 May 2012 18:46:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"closed","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"customEventsExample","html_url":"https://github.com/openframeworks/openFrameworks/issues/989","comments":0,"assignee":null,"updated_at":"2012-02-25T23:04:04Z","body":" This example demonstrates a simple game. We have a GameEvent class that is \r\n used to store the bullet and bug that just collided. \r\n \r\n Topics:\r\n ofEventArgs\r\n ofAddListener\r\n ofRemove\r\n vector math\r\n objects & classes\r\n ","number":989,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/989","diff_url":"https://github.com/openframeworks/openFrameworks/pull/989.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/989.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/989","labels":[],"id":3387524,"closed_at":"2012-02-25T23:04:04Z","created_at":"2012-02-25T21:39:25Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"cleaning the devApps","html_url":"https://github.com/openframeworks/openFrameworks/issues/988","comments":0,"assignee":null,"updated_at":"2012-02-25T21:36:51Z","body":"some have been moved to examples, some have been removed completely. as examples, they may not be the best, but they're a good start.","number":988,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/988","diff_url":"https://github.com/openframeworks/openFrameworks/pull/988.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/988.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/988","labels":[],"id":3387329,"closed_at":"2012-02-25T21:36:51Z","created_at":"2012-02-25T20:59:23Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","url":"https://api.github.com/users/damiannz","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Fix to call MoviesTask when in background thread","html_url":"https://github.com/openframeworks/openFrameworks/issues/986","comments":1,"assignee":null,"updated_at":"2012-02-25T19:54:56Z","body":"If movies are only being read in a background thread and MoviesTask isn't being called, sometimes the movies don't end up being updated. \r\n\r\nthis pull request addresses that.","number":986,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/986","diff_url":"https://github.com/openframeworks/openFrameworks/pull/986.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/986.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/986","labels":[],"id":3386966,"closed_at":"2012-02-25T19:54:56Z","created_at":"2012-02-25T19:52:05Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Ofx osc log fixes","html_url":"https://github.com/openframeworks/openFrameworks/issues/983","comments":0,"assignee":null,"updated_at":"2012-02-25T19:54:16Z","body":"Stumbled over some more logging printfs in ofxOsc. \r\nTurns out, there's still O(200) more in the core addons, will make an issue about that.","number":983,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/983","diff_url":"https://github.com/openframeworks/openFrameworks/pull/983.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/983.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/983","labels":[],"id":3386878,"closed_at":"2012-02-25T19:54:16Z","created_at":"2012-02-25T19:34:36Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"69406d376e65f8070acfbe220f246989","url":"https://api.github.com/users/patriciogonzalezvivo","login":"patriciogonzalezvivo","id":346914,"avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"changing some examples places, adding some notes to them, and other aesthetic things","html_url":"https://github.com/openframeworks/openFrameworks/issues/982","comments":0,"assignee":null,"updated_at":"2012-02-25T19:34:04Z","body":"","number":982,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/982","diff_url":"https://github.com/openframeworks/openFrameworks/pull/982.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/982.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/982","labels":[],"id":3386819,"closed_at":"2012-02-25T19:34:04Z","created_at":"2012-02-25T19:22:55Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b88af2b75dcea500fcf7a472ae239eb","url":"https://api.github.com/users/golanlevin","login":"golanlevin","id":290053,"avatar_url":"https://secure.gravatar.com/avatar/3b88af2b75dcea500fcf7a472ae239eb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Adding noise1dExample and noise1dOctaveExample.","html_url":"https://github.com/openframeworks/openFrameworks/issues/981","comments":0,"assignee":null,"updated_at":"2012-02-25T15:09:28Z","body":"Thanks!","number":981,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/981","diff_url":"https://github.com/openframeworks/openFrameworks/pull/981.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/981.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/981","labels":[],"id":3385318,"closed_at":"2012-02-25T15:09:28Z","created_at":"2012-02-25T15:09:04Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"cleaning devApps, reverting matrix caching regression","html_url":"https://github.com/openframeworks/openFrameworks/issues/980","comments":2,"assignee":null,"updated_at":"2012-02-25T17:57:57Z","body":"+conversionExample from devApps\r\n+billboardExample (wip) from devApps\r\n~reverting matrix caching regression","number":980,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/980","diff_url":"https://github.com/openframeworks/openFrameworks/pull/980.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/980.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/980","labels":[],"id":3383596,"closed_at":"2012-02-25T17:57:57Z","created_at":"2012-02-25T06:47:11Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b88af2b75dcea500fcf7a472ae239eb","url":"https://api.github.com/users/golanlevin","login":"golanlevin","id":290053,"avatar_url":"https://secure.gravatar.com/avatar/3b88af2b75dcea500fcf7a472ae239eb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Correction of ofMesh smoothing","html_url":"https://github.com/openframeworks/openFrameworks/issues/979","comments":0,"assignee":null,"updated_at":"2012-02-25T06:28:22Z","body":"Hi Arturo, \r\nI would REALLY appreciate it if you would please accept this small correction to OF. \r\nThanks,\r\nGolan\r\n","number":979,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/979","diff_url":"https://github.com/openframeworks/openFrameworks/pull/979.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/979.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/979","labels":[],"id":3383507,"closed_at":"2012-02-25T06:28:22Z","created_at":"2012-02-25T06:23:22Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"removed a residual '\\n' char; added ofQuickTimeGrabber to error log headers","html_url":"https://github.com/openframeworks/openFrameworks/issues/978","comments":0,"assignee":null,"updated_at":"2012-02-25T11:31:28Z","body":".","number":978,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/978","diff_url":"https://github.com/openframeworks/openFrameworks/pull/978.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/978.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/978","labels":[],"id":3383278,"closed_at":"2012-02-25T11:31:28Z","created_at":"2012-02-25T05:10:22Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Win32 bug fix for ofFile Utils","html_url":"https://github.com/openframeworks/openFrameworks/issues/977","comments":0,"assignee":null,"updated_at":"2012-02-25T04:18:41Z","body":"","number":977,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/977","diff_url":"https://github.com/openframeworks/openFrameworks/pull/977.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/977.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/977","labels":[],"id":3383090,"closed_at":"2012-02-25T04:18:41Z","created_at":"2012-02-25T04:10:52Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Image Sequence Example","html_url":"https://github.com/openframeworks/openFrameworks/issues/975","comments":1,"assignee":null,"updated_at":"2012-02-25T04:00:36Z","body":"\r\n In this example we are going to load a sequence of images from a folder.\r\n We know that the images are in order and the we saved them out at 24fps. \r\n the goal is to play them back at 24fps independent of the fps of the app.\r\n \r\n note: if you bring the frame-rate lower then 24 it will look a bit slow\r\n \r\n\r\n Topics:\r\n - ofDirectory\r\n - ofImage\r\n - timing\r\n \r\n gif from: http://probertson.livejournal.com/32350.html\r\n \r\n\r\nalso little fix for systemExample (no rate param)","number":975,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/975","diff_url":"https://github.com/openframeworks/openFrameworks/pull/975.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/975.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/975","labels":[],"id":3382936,"closed_at":"2012-02-25T04:00:35Z","created_at":"2012-02-25T03:26:15Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Fix for system say example and a image sequence example ","html_url":"https://github.com/openframeworks/openFrameworks/issues/974","comments":0,"assignee":null,"updated_at":"2012-02-25T03:23:47Z","body":"Image Sequence Example\r\n In this example we are going to load a sequence of images from a folder.\r\n We know that the images are in order and the we saved them out at 24fps. \r\n the goal is to play them back at 24fps independent of the fps of the app.\\\r\n \r\n note: if you bring the frame-rate lower then 24 it will look a bit slow\r\n \r\n \r\n Topics:\r\n - ofDirectory\r\n - ofImage\r\n - timing\r\n \r\n gif from: http://probertson.livejournal.com/32350.html\r\n ","number":974,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/974","diff_url":"https://github.com/openframeworks/openFrameworks/pull/974.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/974.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/974","labels":[],"id":3382918,"closed_at":"2012-02-25T03:23:47Z","created_at":"2012-02-25T03:21:44Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofPath, ofPolyline, ofCairoRenderer :: arcNegative() support added.","html_url":"https://github.com/openframeworks/openFrameworks/issues/973","comments":7,"assignee":null,"updated_at":"2012-02-25T19:32:22Z","body":"All \"arc\" methods now accept any start or stop angle. Counter clockwise arcs can now be drawn with arcNegative method. Associated Cairo support for \"arc_negative\" added and tested. Circle Points LUT preserved for all. Arc method generally re-written to support both clockwise and counter-clockwise directions.\r\n\r\nThis PR fixed to leave out GLUT-keymod-related changes.","number":973,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/973","diff_url":"https://github.com/openframeworks/openFrameworks/pull/973.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/973.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/973","labels":[],"id":3382908,"closed_at":"2012-02-25T19:32:22Z","created_at":"2012-02-25T03:19:37Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"69406d376e65f8070acfbe220f246989","url":"https://api.github.com/users/patriciogonzalezvivo","login":"patriciogonzalezvivo","id":346914,"avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"I fix the alphaMasking and multiTexturing GPU examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/968","comments":0,"assignee":null,"updated_at":"2012-02-25T01:36:49Z","body":"","number":968,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/968","diff_url":"https://github.com/openframeworks/openFrameworks/pull/968.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/968.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/968","labels":[],"id":3381924,"closed_at":"2012-02-25T01:36:49Z","created_at":"2012-02-25T01:27:54Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"normals example modification","html_url":"https://github.com/openframeworks/openFrameworks/issues/967","comments":1,"assignee":null,"updated_at":"2012-02-25T01:53:36Z","body":"used ofMap instead of more opaque direct version and cached matrices to avoid multiple printouts","number":967,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/967","diff_url":"https://github.com/openframeworks/openFrameworks/pull/967.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/967.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/967","labels":[],"id":3381700,"closed_at":"2012-02-25T01:53:36Z","created_at":"2012-02-25T00:59:07Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"added ofFile/ofBuffer and ofFileDialogResult examples","html_url":"https://github.com/openframeworks/openFrameworks/issues/966","comments":0,"assignee":null,"updated_at":"2012-02-25T00:29:40Z","body":"added example of ofFile/ofBuffer to load .csv file\r\n\r\nadded example of ofFileDialogResult for opening/saving files","number":966,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/966","diff_url":"https://github.com/openframeworks/openFrameworks/pull/966.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/966.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/966","labels":[],"id":3381209,"closed_at":"2012-02-25T00:29:40Z","created_at":"2012-02-24T23:54:59Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Bunch of examples and ofSort(...)","html_url":"https://github.com/openframeworks/openFrameworks/issues/965","comments":1,"assignee":null,"updated_at":"2012-02-25T00:31:29Z","body":"Utils:\r\nloadTextFileExample\r\nsortingExample\r\nsystemSpeakExample\r\nregularExpressionExample\r\n\r\nGL:\r\npointsAsTextures\r\nslowFastRendering\r\n\r\nOther:\r\nofSort(values, compare) just adding an second function so that you can pass in a compare function for sorting. ","number":965,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/965","diff_url":"https://github.com/openframeworks/openFrameworks/pull/965.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/965.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/965","labels":[],"id":3381113,"closed_at":"2012-02-25T00:31:29Z","created_at":"2012-02-24T23:44:35Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"little format fix in trigonometryexample","html_url":"https://github.com/openframeworks/openFrameworks/issues/964","comments":0,"assignee":null,"updated_at":"2012-02-24T23:09:25Z","body":"","number":964,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/964","diff_url":"https://github.com/openframeworks/openFrameworks/pull/964.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/964.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/964","labels":[],"id":3380744,"closed_at":"2012-02-24T23:09:25Z","created_at":"2012-02-24T23:08:16Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","url":"https://api.github.com/users/damiannz","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVec2f/ofVec3f: align() -> isAligned()","html_url":"https://github.com/openframeworks/openFrameworks/issues/963","comments":0,"assignee":null,"updated_at":"2012-02-24T22:40:23Z","body":"ofVec2f and ofVec3f contain methods called align() that for consistency *should* be called isAligned(). this pull request adds isAligned() methods, shifts functionality from align() to isAligned() and makes align() call isAligned().\r\n\r\ni think that use of align() should be **deprecated** from now on.","number":963,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/963","diff_url":"https://github.com/openframeworks/openFrameworks/pull/963.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/963.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/963","labels":[],"id":3380321,"closed_at":"2012-02-24T22:40:23Z","created_at":"2012-02-24T22:36:12Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","url":"https://api.github.com/users/damiannz","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"added align() -> isAligned() in ofVec2f/ofVec3f","html_url":"https://github.com/openframeworks/openFrameworks/issues/962","comments":0,"assignee":null,"updated_at":"2012-02-24T22:35:08Z","body":"ofVec2f and ofVec3f contain methods called align() that for consistency *should* be called isAligned(). this pull request adds isAligned() methods, shifts functionality from align() to isAligned() and makes align() call isAligned().\r\n\r\ni think that use of align() should be **deprecated** from now on.","number":962,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/962","diff_url":"https://github.com/openframeworks/openFrameworks/pull/962.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/962.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/962","labels":[],"id":3380289,"closed_at":"2012-02-24T22:35:08Z","created_at":"2012-02-24T22:34:48Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Osc chat example","html_url":"https://github.com/openframeworks/openFrameworks/issues/961","comments":4,"assignee":null,"updated_at":"2012-02-24T23:14:07Z","body":"A simple OSC chat application.","number":961,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/961","diff_url":"https://github.com/openframeworks/openFrameworks/pull/961.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/961.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/961","labels":[],"id":3378276,"closed_at":"2012-02-24T23:14:07Z","created_at":"2012-02-24T19:57:15Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"noise field in 2d example","html_url":"https://github.com/openframeworks/openFrameworks/issues/960","comments":3,"assignee":null,"updated_at":"2012-02-24T19:48:54Z","body":"https://secure.flickr.com/photos/kylemcdonald/6780339620/in/photostream\r\nhttps://secure.flickr.com/photos/kylemcdonald/6780339586/in/photostream","number":960,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/960","diff_url":"https://github.com/openframeworks/openFrameworks/pull/960.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/960.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/960","labels":[],"id":3377924,"closed_at":"2012-02-24T19:36:44Z","created_at":"2012-02-24T19:33:46Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Develop","html_url":"https://github.com/openframeworks/openFrameworks/issues/959","comments":0,"assignee":null,"updated_at":"2012-02-24T18:32:14Z","body":"added trigonometry example and fixed a bug in ofPolyline::arc that wasn't drawing correctly when the angle was less than 360","number":959,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/959","diff_url":"https://github.com/openframeworks/openFrameworks/pull/959.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/959.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/959","labels":[],"id":3376932,"closed_at":"2012-02-24T18:32:14Z","created_at":"2012-02-24T18:26:55Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Normals example, modify ofMesh drawing accordingly","html_url":"https://github.com/openframeworks/openFrameworks/issues/958","comments":0,"assignee":null,"updated_at":"2012-02-24T23:19:45Z","body":"Added an example for normals; in order to do it how i wanted, I added an enable/disable bool in ofMesh to allow for override of colors,textures, and normals (previously, was hard-enabling if any colors/textures/normals existed). This is in a commit that's semi-buried a few commits down because rebase wasn't playing nicely.","number":958,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/958","diff_url":"https://github.com/openframeworks/openFrameworks/pull/958.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/958.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/958","labels":[],"id":3376156,"closed_at":"2012-02-24T23:19:45Z","created_at":"2012-02-24T17:35:15Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Fix const load data on of texture","html_url":"https://github.com/openframeworks/openFrameworks/issues/957","comments":0,"assignee":null,"updated_at":"2012-02-24T23:40:00Z","body":"hey!\r\ni know you guys must be busy\r\n\r\nbut here's a couple of small things that have been quite important to me\r\n\r\n1. const correctness of ofTexture::loadData\r\n2. ofTexture::allocate(const ofPIxels& pix)\r\n\r\ni think it's also worth adding allocate(const ofShortPixels& pix) and allocate(const ofFloatPixels pix) in a seperate pull request later when they can be tested properly\r\n\r\npull pull pull!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n\r\nelliot","number":957,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/957","diff_url":"https://github.com/openframeworks/openFrameworks/pull/957.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/957.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/957","labels":[],"id":3368701,"closed_at":"2012-02-24T23:40:00Z","created_at":"2012-02-24T06:47:11Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '25537'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"4015a8b16b7c01d7375be17a81ff2c11"'), ('date', 'Tue, 29 May 2012 18:46:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T04:38:01Z","body":"Also removed some leftover '\\n' chars from previous printfs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/956","comments":6,"milestone":null,"number":956,"html_url":"https://github.com/openframeworks/openFrameworks/issues/956","assignee":null,"title":"replaced more residual printfs","labels":[],"closed_at":"2012-02-25T04:38:01Z","created_at":"2012-02-24T05:45:29Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":3368375,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/956.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/956","patch_url":"https://github.com/openframeworks/openFrameworks/pull/956.patch"}},{"updated_at":"2012-02-24T04:24:16Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/954","comments":0,"milestone":null,"number":954,"html_url":"https://github.com/openframeworks/openFrameworks/issues/954","assignee":null,"title":"added const get getTextureData()","labels":[],"closed_at":"2012-02-24T04:24:16Z","created_at":"2012-02-24T04:17:54Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3367833,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/954.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/954","patch_url":"https://github.com/openframeworks/openFrameworks/pull/954.patch"}},{"updated_at":"2012-02-24T03:50:12Z","body":"+ pointPickerExample\r\n+ ofBackgroundGradient\r\n+ ofDrawBitmapStringHighlight","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/953","comments":0,"milestone":null,"number":953,"html_url":"https://github.com/openframeworks/openFrameworks/issues/953","assignee":null,"title":"adding some features and examples","labels":[],"closed_at":"2012-02-24T03:50:12Z","created_at":"2012-02-24T03:48:40Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3367661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/953.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/953","patch_url":"https://github.com/openframeworks/openFrameworks/pull/953.patch"}},{"updated_at":"2012-02-24T18:32:01Z","body":"Adding ofSort with a compare function and example","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/952","comments":0,"milestone":null,"number":952,"html_url":"https://github.com/openframeworks/openFrameworks/issues/952","assignee":null,"title":"ofSort(values, compare) with example","labels":[],"closed_at":"2012-02-24T18:32:01Z","created_at":"2012-02-24T02:39:47Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vanderlin","id":149997},"id":3367207,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/952.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/952","patch_url":"https://github.com/openframeworks/openFrameworks/pull/952.patch"}},{"updated_at":"2012-02-24T01:35:43Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/951","comments":0,"milestone":null,"number":951,"html_url":"https://github.com/openframeworks/openFrameworks/issues/951","assignee":null,"title":"texture data by reference fix","labels":[],"closed_at":"2012-02-24T01:35:43Z","created_at":"2012-02-24T01:32:35Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3366641,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/951.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/951","patch_url":"https://github.com/openframeworks/openFrameworks/pull/951.patch"}},{"updated_at":"2012-02-24T01:20:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/950","comments":0,"milestone":null,"number":950,"html_url":"https://github.com/openframeworks/openFrameworks/issues/950","assignee":null,"title":"committed image for greenscreen","labels":[],"closed_at":"2012-02-24T01:20:03Z","created_at":"2012-02-24T01:13:56Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3366484,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/950.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/950","patch_url":"https://github.com/openframeworks/openFrameworks/pull/950.patch"}},{"updated_at":"2012-02-24T22:11:08Z","body":"* ensure normalize() doesn't divide-by-zero\r\n* make setHsb conform to the always-specify-alpha rule","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/949","comments":5,"milestone":null,"number":949,"html_url":"https://github.com/openframeworks/openFrameworks/issues/949","assignee":null,"title":"FIX: color weirdnesses (please test!)","labels":[],"closed_at":"2012-02-24T22:11:08Z","created_at":"2012-02-24T00:48:49Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":3366248,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/949.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/949","patch_url":"https://github.com/openframeworks/openFrameworks/pull/949.patch"}},{"updated_at":"2012-02-24T18:32:55Z","body":"very simple.... humble examples Daniel Son","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/948","comments":0,"milestone":null,"number":948,"html_url":"https://github.com/openframeworks/openFrameworks/issues/948","assignee":null,"title":"Simple example of vector of pointers","labels":[],"closed_at":"2012-02-24T18:32:55Z","created_at":"2012-02-23T23:50:13Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","gravatar_id":"69406d376e65f8070acfbe220f246989","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"patriciogonzalezvivo","id":346914},"id":3365569,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/948.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/948","patch_url":"https://github.com/openframeworks/openFrameworks/pull/948.patch"}},{"updated_at":"2012-02-23T23:47:57Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/947","comments":0,"milestone":null,"number":947,"html_url":"https://github.com/openframeworks/openFrameworks/issues/947","assignee":null,"title":"Simple Color Key example","labels":[],"closed_at":"2012-02-23T23:47:57Z","created_at":"2012-02-23T23:42:04Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3365459,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/947.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/947","patch_url":"https://github.com/openframeworks/openFrameworks/pull/947.patch"}},{"updated_at":"2012-02-23T22:54:48Z","body":"vboExample\r\npointCloudExample","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/946","comments":0,"milestone":null,"number":946,"html_url":"https://github.com/openframeworks/openFrameworks/issues/946","assignee":null,"title":"adding a few examples","labels":[],"closed_at":"2012-02-23T22:54:48Z","created_at":"2012-02-23T22:49:08Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3364652,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/946.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/946","patch_url":"https://github.com/openframeworks/openFrameworks/pull/946.patch"}},{"updated_at":"2012-02-23T22:49:30Z","body":"vboExample\r\npointCloudExample","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/945","comments":0,"milestone":null,"number":945,"html_url":"https://github.com/openframeworks/openFrameworks/issues/945","assignee":null,"title":"adding a few examples","labels":[],"closed_at":"2012-02-23T22:49:30Z","created_at":"2012-02-23T22:48:16Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3364634,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/945.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/945","patch_url":"https://github.com/openframeworks/openFrameworks/pull/945.patch"}},{"updated_at":"2012-02-23T22:24:21Z","body":"a 3d example showing how to texture a mesh with a camera input, using the pixels to modify the geometry","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/944","comments":0,"milestone":null,"number":944,"html_url":"https://github.com/openframeworks/openFrameworks/issues/944","assignee":null,"title":"Mesh from Camera example","labels":[],"closed_at":"2012-02-23T22:24:21Z","created_at":"2012-02-23T22:09:04Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3364038,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/944.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/944","patch_url":"https://github.com/openframeworks/openFrameworks/pull/944.patch"}},{"updated_at":"2012-02-23T21:10:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/943","comments":0,"milestone":null,"number":943,"html_url":"https://github.com/openframeworks/openFrameworks/issues/943","assignee":null,"title":"restructured again, removed project files","labels":[],"closed_at":"2012-02-23T21:10:30Z","created_at":"2012-02-23T21:08:20Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3363024,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/943.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/943","patch_url":"https://github.com/openframeworks/openFrameworks/pull/943.patch"}},{"updated_at":"2012-02-23T21:09:05Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/942","comments":0,"milestone":null,"number":942,"html_url":"https://github.com/openframeworks/openFrameworks/issues/942","assignee":null,"title":"simple multiTexturing Shader example","labels":[],"closed_at":"2012-02-23T21:09:05Z","created_at":"2012-02-23T21:07:46Z","state":"closed","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","gravatar_id":"69406d376e65f8070acfbe220f246989","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"patriciogonzalezvivo","id":346914},"id":3363014,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/942.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/942","patch_url":"https://github.com/openframeworks/openFrameworks/pull/942.patch"}},{"updated_at":"2012-02-23T21:09:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/941","comments":0,"milestone":null,"number":941,"html_url":"https://github.com/openframeworks/openFrameworks/issues/941","assignee":null,"title":"camera and 3d ribbon drawing example","labels":[],"closed_at":"2012-02-23T21:09:24Z","created_at":"2012-02-23T20:53:00Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3362787,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/941.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/941","patch_url":"https://github.com/openframeworks/openFrameworks/pull/941.patch"}},{"updated_at":"2012-02-25T11:35:00Z","body":"my first stab at an example demonstrating HSB color usage","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/940","comments":1,"milestone":null,"number":940,"html_url":"https://github.com/openframeworks/openFrameworks/issues/940","assignee":null,"title":"color (HSB) example","labels":[],"closed_at":"2012-02-25T11:35:00Z","created_at":"2012-02-23T19:29:00Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":3361558,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/940.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/940","patch_url":"https://github.com/openframeworks/openFrameworks/pull/940.patch"}},{"updated_at":"2012-02-23T19:43:07Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/939","comments":0,"milestone":null,"number":939,"html_url":"https://github.com/openframeworks/openFrameworks/issues/939","assignee":null,"title":"Quaternion examples for 3d","labels":[],"closed_at":"2012-02-23T19:43:07Z","created_at":"2012-02-23T19:25:33Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3361490,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/939.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/939","patch_url":"https://github.com/openframeworks/openFrameworks/pull/939.patch"}},{"updated_at":"2012-02-23T19:28:05Z","body":"my stab at an example demonstrating HSB colour setting","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/938","comments":0,"milestone":null,"number":938,"html_url":"https://github.com/openframeworks/openFrameworks/issues/938","assignee":null,"title":"color (HSB) example","labels":[],"closed_at":"2012-02-23T19:28:05Z","created_at":"2012-02-23T19:24:29Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":3361464,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/938.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/938","patch_url":"https://github.com/openframeworks/openFrameworks/pull/938.patch"}},{"updated_at":"2012-02-24T05:20:39Z","body":"...g to ofLog ostream operator, fixes #761","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/937","comments":0,"milestone":null,"number":937,"html_url":"https://github.com/openframeworks/openFrameworks/issues/937","assignee":null,"title":"default log level is now OF_LOG_NOTICE, fixes #858; removed space paddin...","labels":[],"closed_at":"2012-02-24T05:20:39Z","created_at":"2012-02-23T19:22:47Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":3361430,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/937.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/937","patch_url":"https://github.com/openframeworks/openFrameworks/pull/937.patch"}},{"updated_at":"2012-02-23T19:24:31Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/936","comments":0,"milestone":null,"number":936,"html_url":"https://github.com/openframeworks/openFrameworks/issues/936","assignee":null,"title":"Two Quaternion based examples for the 3d folder","labels":[],"closed_at":"2012-02-23T19:24:31Z","created_at":"2012-02-23T19:22:40Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"obviousjim","id":321434},"id":3361426,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/936.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/936","patch_url":"https://github.com/openframeworks/openFrameworks/pull/936.patch"}},{"updated_at":"2012-02-23T19:16:55Z","body":"makes a little more sense now, after discussion with arturo.\r\n\r\n(trying to send this again)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/935","comments":0,"milestone":null,"number":935,"html_url":"https://github.com/openframeworks/openFrameworks/issues/935","assignee":null,"title":"fixed example structure","labels":[],"closed_at":"2012-02-23T19:16:55Z","created_at":"2012-02-23T18:40:16Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3360790,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/935.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/935","patch_url":"https://github.com/openframeworks/openFrameworks/pull/935.patch"}},{"updated_at":"2012-02-23T18:39:20Z","body":"makes a little more sense now, after discussion with arturo.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/934","comments":0,"milestone":null,"number":934,"html_url":"https://github.com/openframeworks/openFrameworks/issues/934","assignee":null,"title":"fixed example structure","labels":[],"closed_at":"2012-02-23T18:39:20Z","created_at":"2012-02-23T18:38:58Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3360773,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/934.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/934","patch_url":"https://github.com/openframeworks/openFrameworks/pull/934.patch"}},{"updated_at":"2012-02-24T23:39:28Z","body":"-> Allow use of Multisampling on Windows 7 (call of method setGlutDisplayString(\"rgba double samples>=4 depth alpha\")).\r\nPartielly fix Issue #412\r\n\r\nall examples have been successfully tested (use of freeglut instead of glut)\r\n\r\nexamples Graphics, Polygon, Advanced3d and AdvancedEvents have been successfully tested with multisampling\r\n\r\nAdd compileAllExemples script on windows 7 64bits named compileAllExamplesOnWindowsx64.bat","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/932","comments":1,"milestone":null,"number":932,"html_url":"https://github.com/openframeworks/openFrameworks/issues/932","assignee":null,"title":"Replacement of old glut by freeglut 2.8","labels":[],"closed_at":"2012-02-24T23:39:28Z","created_at":"2012-02-23T15:22:48Z","state":"closed","user":{"url":"https://api.github.com/users/benerone","gravatar_id":"695cbec02130d955193699b9f57f3537","avatar_url":"https://secure.gravatar.com/avatar/695cbec02130d955193699b9f57f3537?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"benerone","id":1463319},"id":3357412,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/932.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/932","patch_url":"https://github.com/openframeworks/openFrameworks/pull/932.patch"}},{"updated_at":"2012-02-23T03:43:32Z","body":"david's code was really confusing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/927","comments":0,"milestone":null,"number":927,"html_url":"https://github.com/openframeworks/openFrameworks/issues/927","assignee":null,"title":"clarifying of ofMesh::getCentroid","labels":[],"closed_at":"2012-02-23T03:43:32Z","created_at":"2012-02-23T03:35:54Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3351086,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/927.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/927","patch_url":"https://github.com/openframeworks/openFrameworks/pull/927.patch"}},{"updated_at":"2012-02-26T04:12:31Z","body":"I noticed that PR's are coming in so thought I'd try this out.\r\n\r\nHere's a couple of additions / fixes for 3d in oF","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/924","comments":7,"milestone":null,"number":924,"html_url":"https://github.com/openframeworks/openFrameworks/issues/924","assignee":null,"title":"Section 3d","labels":[],"closed_at":"2012-02-25T19:29:01Z","created_at":"2012-02-21T08:45:05Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":3308155,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/924.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/924","patch_url":"https://github.com/openframeworks/openFrameworks/pull/924.patch"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '34706'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"8850a976447909b25534f28d1e1c245b"'), ('date', 'Tue, 29 May 2012 18:46:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-21T08:44:28Z","body":"I noticed that PR's are coming in so thought I'd try this out.\r\n\r\nHere's a couple of additions / fixes for 3d in oF","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/923","comments":0,"milestone":null,"number":923,"html_url":"https://github.com/openframeworks/openFrameworks/issues/923","assignee":null,"title":"Section 3d","labels":[],"closed_at":"2012-02-21T08:44:28Z","created_at":"2012-02-21T08:43:39Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3308136,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/923","patch_url":"https://github.com/openframeworks/openFrameworks/pull/923.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/923.diff"}},{"updated_at":"2012-02-25T18:33:00Z","body":"hi,\r\n\r\nive merged the ofxiOS addon (https://github.com/julapy/ofxiOS) into ofxiPhone.\r\nits a significant change to ofxiPhone and so im wondering if there is a testing procedure for this?\r\ni have an example which tests the new code but not sure if to upload it somewhere or to commit it to the iPhoneSpecificExamples folder.\r\nlet me know the best way to go about this.\r\n\r\nthx,\r\nL.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/921","comments":1,"milestone":null,"number":921,"html_url":"https://github.com/openframeworks/openFrameworks/issues/921","assignee":null,"title":"merge ofxiOS into ofxiPhone","labels":[],"closed_at":"2012-02-25T18:33:00Z","created_at":"2012-02-16T22:34:27Z","state":"closed","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3259859,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/921","patch_url":"https://github.com/openframeworks/openFrameworks/pull/921.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/921.diff"}},{"updated_at":"2012-03-15T18:34:17Z","body":"logic error - if the file doesn't exist and overwrite is set to true it returns prematurely. \r\n\r\nthis needs removing:\r\n\r\n\t\t\telse{\r\n\t\t\tofLog(OF_LOG_WARNING, \"ofFile::moveFromTo destination file/folder exists, use bool overwrite if you want to overwrite destination file/folder\");\r\n\t\t\treturn false;\r\n\t\t\t}\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/918","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":918,"html_url":"https://github.com/openframeworks/openFrameworks/issues/918","assignee":null,"title":"bug in ofFile::moveFromTo / copyFromTo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-15T18:34:17Z","created_at":"2012-02-15T21:06:20Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3241883,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-24T19:53:13Z","body":"Apologies it turns out my last fix to closeMovie was not the best approach: https://github.com/openframeworks/openFrameworks/pull/887\r\n\r\nAdding width = height = 0 in closeMovie forces the QuicktimePlayer to reallocate pixels and MemGWorld every time you have closed a movie in an instance...but after more extensive testing on Mac and PC it would seem that a better approach is to not clearMemory() in the closeMovie call, but only in the dtor.\r\n\r\nThis is for two reasons:\r\n\r\n!) we don't clear the gWorld pixels and we don't dispose of the MemGworld in the closeMovie call so it doesn't make sense to clear our pixels\r\n2) if you are rapidly (ie., in a thread) opening and closing movies of the same width and height as fast as possible it turns out it's best not to try to dispose and reallocate the memGworld and gWorld pixels -> this is possibly because we are not deleting the gWorld pixels (the crash is a malloc error when new'ing the gWorld pixels)\r\n\r\nUsing this method gives the fastest results when loading/unloading movies of the same size.\r\n\r\nIf we're not happy with leaving memory allocated after a call to closeMovie we could try another approach which is to move the calls in the dtor into the closeMovie call...\r\n\r\nBut it seems to me that there is no harm in leaving the pixels, gWorld pixels and MemGworld allocated in an instance...the smart pointer will delete the pixels if we stop using the instance and if the user is using a pointer then they will delete it with the same result...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/913","comments":0,"milestone":null,"number":913,"html_url":"https://github.com/openframeworks/openFrameworks/issues/913","assignee":null,"title":"Bugfix of quicktime player (updated)","labels":[],"closed_at":"2012-02-24T19:53:13Z","created_at":"2012-02-11T01:11:44Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599},"id":3182222,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/913","patch_url":"https://github.com/openframeworks/openFrameworks/pull/913.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/913.diff"}},{"updated_at":"2012-03-13T14:24:08Z","body":"In my understanding ofQuaternion ofMatrix4x4::getRotate() should return an ofQuaternion which contains only the rotation part of the transformation stored in the matrix. It should therefore be scale invariant.\r\nHowever scaling the matrix produces different outputs of getRotate():\r\n\r\n
ofMatrix4x4 m;                          // identity matrix m\r\nm.rotate(45, 1, 0, 0);                  // rotates m by 45 degrees around x-axis\r\ncout << m.getRotate() << endl;          // writes return value of getRotate() to the console\r\ncout << m.getScale() << endl << endl;   // writes return value of getScale() to the console\r\nm.scale(2, 2, 2);                       // scales the matrix symmetrically in all dimensions\r\ncout << m.getRotate() << endl;          // writes return value of getRotate() to the console\r\ncout << m.getScale() << endl;           // writes return value of getScale() to the console\r\n
\r\n\r\nExpected behavior:\r\n
       1,        0,        0,        0\r\n       0, 0.707107, 0.707107,        0\r\n       0, -0.707107, 0.707107,        0\r\n       0,        0,        0,        1\r\n1, 1, 1\r\n\r\n       1,        0,        0,        0\r\n       0, 0.707107, 0.707107,        0\r\n       0, -0.707107, 0.707107,        0\r\n       0,        0,        0,        1\r\n2, 2, 2\r\n
\r\n\r\nObserved behavior:\r\n
       1,        0,        0,        0\r\n       0, 0.707107, 0.707107,        0\r\n       0, -0.707107, 0.707107,        0\r\n       0,        0,        0,        1\r\n1, 1, 1\r\n\r\n       1,        0,        0,        0\r\n       0,  0.61878, 0.785564,        0\r\n       0, -0.785564,  0.61878,        0\r\n       0,        0,        0,        1\r\n2, 2, 2\r\n
\r\n\r\nSo getScale() returns the correct values, but getRotate() does not and might need to be fixed.\r\n\r\nofMatrix4x4::decompose() seems to always return the correct rotation quaternion.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/912","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":912,"html_url":"https://github.com/openframeworks/openFrameworks/issues/912","assignee":null,"title":"Bug in ofMatrix4x4::getRotate","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-13T14:24:08Z","created_at":"2012-02-10T14:30:37Z","state":"closed","user":{"url":"https://api.github.com/users/santa41116","avatar_url":"https://secure.gravatar.com/avatar/40b8d7b7ecf1a7937dda0f1a2308b869?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"40b8d7b7ecf1a7937dda0f1a2308b869","login":"santa41116","id":941916},"id":3172556,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-10T02:39:14Z","body":"the current develop branch is broken. click here to fix!\r\n\r\nedit: i'm terrible at selecting \"develop\" instead of \"master\".","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/911","comments":0,"milestone":null,"number":911,"html_url":"https://github.com/openframeworks/openFrameworks/issues/911","assignee":null,"title":"OF_LOG_NOTICE errors from current build","labels":[],"closed_at":"2012-02-10T02:39:14Z","created_at":"2012-02-10T02:29:24Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3167036,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/911","patch_url":"https://github.com/openframeworks/openFrameworks/pull/911.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/911.diff"}},{"updated_at":"2012-02-10T02:28:38Z","body":"the current develop branch is broken. click here to fix!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/910","comments":0,"milestone":null,"number":910,"html_url":"https://github.com/openframeworks/openFrameworks/issues/910","assignee":null,"title":"OF_LOG_NOTICE errors from current build","labels":[],"closed_at":"2012-02-10T02:28:38Z","created_at":"2012-02-10T02:28:23Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3167033,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/910","patch_url":"https://github.com/openframeworks/openFrameworks/pull/910.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/910.diff"}},{"updated_at":"2012-02-25T03:30:47Z","body":"All \"arc\" methods now accept any start or stop angle. Counter clockwise arcs can now be drawn with arcNegative method. Associated Cairo support for \"arc_negative\" added and tested. Circle Points LUT preserved for all. Arc method generally re-written to support both clockwise and counter-clockwise directions.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/908","comments":2,"milestone":null,"number":908,"html_url":"https://github.com/openframeworks/openFrameworks/issues/908","assignee":null,"title":"ofPath, ofPolyline, ofCairoRenderer :: arcNegative() support added.","labels":[],"closed_at":"2012-02-25T03:30:47Z","created_at":"2012-02-09T23:24:31Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":3165436,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/908","patch_url":"https://github.com/openframeworks/openFrameworks/pull/908.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/908.diff"}},{"updated_at":"2012-02-25T19:10:18Z","body":"This commit implements a GLUT-based solution for keeping track of\r\nmodifier keys. Changes are made to GLUT and the events system.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/907","comments":5,"milestone":null,"number":907,"html_url":"https://github.com/openframeworks/openFrameworks/issues/907","assignee":null,"title":"A GLUT-based solution for keeping track of modifier keys.","labels":[],"closed_at":"2012-02-25T18:29:47Z","created_at":"2012-02-09T23:21:12Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":3165400,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/907","patch_url":"https://github.com/openframeworks/openFrameworks/pull/907.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/907.diff"}},{"updated_at":"2012-02-25T11:30:26Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/906","comments":3,"milestone":null,"number":906,"html_url":"https://github.com/openframeworks/openFrameworks/issues/906","assignee":null,"title":"A few small changes to eliminate compiler warnings on OS X.","labels":[],"closed_at":"2012-02-25T11:30:26Z","created_at":"2012-02-09T23:17:28Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":3165361,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/906","patch_url":"https://github.com/openframeworks/openFrameworks/pull/906.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/906.diff"}},{"updated_at":"2012-02-09T17:25:22Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/905","comments":0,"milestone":null,"number":905,"html_url":"https://github.com/openframeworks/openFrameworks/issues/905","assignee":null,"title":"fixed ofxiPhoneSetGLViewTransparent(bool b). Now it correctly sets ios glsview transparency.","labels":[],"closed_at":"2012-02-09T17:25:22Z","created_at":"2012-02-09T17:18:57Z","state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":3160184,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/905","patch_url":"https://github.com/openframeworks/openFrameworks/pull/905.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/905.diff"}},{"updated_at":"2012-02-09T17:16:56Z","body":"edit: sorry for the bad commit range in that last pull request :)\r\n\r\ni tested all these changes against MeshLab, which uses VCGlib internally to parse the ply files.\r\n\r\ni was considering replacing the save function entirely with the binary version, but decided against it because the load() doesn't support binary yet.\r\n\r\nif this pull request can be done, it will help a ton with my next class at ITP where we're covering 3d. having built in load/save for ply clouds and meshes makes a huge difference.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/904","comments":3,"milestone":null,"number":904,"html_url":"https://github.com/openframeworks/openFrameworks/issues/904","assignee":null,"title":"fixed ofMesh saving colors and normals, added binary save","labels":[],"closed_at":"2012-02-09T17:16:56Z","created_at":"2012-02-09T08:08:09Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3153707,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/904","patch_url":"https://github.com/openframeworks/openFrameworks/pull/904.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/904.diff"}},{"updated_at":"2012-02-09T08:07:03Z","body":"i tested all these changes against MeshLab, which uses VCGlib internally to parse the ply files.\r\n\r\ni was considering replacing the save function entirely with the binary version, but decided against it because the load() doesn't support binary yet.\r\n\r\nif this pull request can be done, it will help a ton with my next class at ITP where we're covering 3d. having built in load/save for ply clouds and meshes makes a huge difference.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/903","comments":0,"milestone":null,"number":903,"html_url":"https://github.com/openframeworks/openFrameworks/issues/903","assignee":null,"title":"fixed ofMesh saving colors and normals, added binary save","labels":[],"closed_at":"2012-02-09T08:07:03Z","created_at":"2012-02-09T08:05:32Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3153687,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/903","patch_url":"https://github.com/openframeworks/openFrameworks/pull/903.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/903.diff"}},{"updated_at":"2012-02-09T13:31:41Z","body":"See commit notes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/900","comments":2,"milestone":null,"number":900,"html_url":"https://github.com/openframeworks/openFrameworks/issues/900","assignee":null,"title":"ofPath, ofPolyline, ofCairoRenderer, ofTrueTypeFont, ofGetModifierPressed(GLUT keymodifier addition)","labels":[],"closed_at":"2012-02-09T13:31:41Z","created_at":"2012-02-08T18:51:11Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":3145547,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/900","patch_url":"https://github.com/openframeworks/openFrameworks/pull/900.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/900.diff"}},{"updated_at":"2012-02-12T00:57:56Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/899","comments":0,"milestone":null,"number":899,"html_url":"https://github.com/openframeworks/openFrameworks/issues/899","assignee":null,"title":"archlinux install scripts: only update packages related to OF","labels":[],"closed_at":"2012-02-12T00:57:56Z","created_at":"2012-02-07T22:04:56Z","state":"closed","user":{"url":"https://api.github.com/users/benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513},"id":3132166,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/899","patch_url":"https://github.com/openframeworks/openFrameworks/pull/899.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/899.diff"}},{"updated_at":"2012-02-07T08:26:31Z","body":"The download link on the documenation on the openframeworks.cc site just contains an empty (just a few .css-files) archive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/898","comments":1,"milestone":null,"number":898,"html_url":"https://github.com/openframeworks/openFrameworks/issues/898","assignee":null,"title":"ofx Online Documentation Download broken","labels":[],"closed_at":"2012-02-07T08:26:31Z","created_at":"2012-02-06T22:45:53Z","state":"closed","user":{"url":"https://api.github.com/users/faebser","avatar_url":"https://secure.gravatar.com/avatar/6fbc9e499848684791054026c73e0dac?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6fbc9e499848684791054026c73e0dac","login":"faebser","id":333862},"id":3115859,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T18:19:11Z","body":"ofEasing class with static functions for all the penner easing equations + new version of the ofMap function that accepts a parameter for the easing function, like:\r\n\r\nofMap(value, minIn, maxIn, minOut, maxOut, clamp, easingFunction);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/895","comments":0,"milestone":null,"number":895,"html_url":"https://github.com/openframeworks/openFrameworks/issues/895","assignee":null,"title":"ofTween","labels":[],"closed_at":"2012-02-25T18:19:11Z","created_at":"2012-02-04T17:48:34Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3094794,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/895","patch_url":"https://github.com/openframeworks/openFrameworks/pull/895.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/895.diff"}},{"updated_at":"2012-02-04T17:40:32Z","body":"ofEasing class with functions for the penner easing equations + a new version of the ofMap function that takes an additional argument for the easing equation to use","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/894","comments":0,"milestone":null,"number":894,"html_url":"https://github.com/openframeworks/openFrameworks/issues/894","assignee":null,"title":"ofTween","labels":[],"closed_at":"2012-02-04T17:40:32Z","created_at":"2012-02-04T17:40:02Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3094737,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/894","patch_url":"https://github.com/openframeworks/openFrameworks/pull/894.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/894.diff"}},{"updated_at":"2012-02-09T15:55:33Z","body":"I noticed the ios sound stream is hard coded to use 1 input channel. As of iOS 4.3, the iPad is capable of using usb audio devices through a powered hub, so its desirable to be able to set a stereo input etc.\r\n\r\nThis request fixes #890. I tested in the simulator and on an iPad 2, both with external sound card and internal speakers/mic. A stereo in/out app works without any modifications (no notifications and sound stream restart required).\r\n\r\nAlso, this includes some code cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/893","comments":14,"milestone":null,"number":893,"html_url":"https://github.com/openframeworks/openFrameworks/issues/893","assignee":null,"title":"updated ios sound stream to handle multiple input channels","labels":[],"closed_at":"2012-02-09T15:34:14Z","created_at":"2012-02-04T11:22:45Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3093159,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/893","patch_url":"https://github.com/openframeworks/openFrameworks/pull/893.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/893.diff"}},{"updated_at":"2012-02-09T15:13:44Z","body":"fixes #891\r\nhttps://github.com/openframeworks/openFrameworks/issues/891\r\n\r\nconsider doing same elsewhere (ofImage_, but then also need to deal with textures, and possibility of non-matching texture)\r\n\r\nThis obviously doesn't fit with the 'little as possible' maxim of code\r\ni can't see any other way to use the ofPixels objects for other types, and am curious whether anybody has any objections\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/892","comments":2,"milestone":null,"number":892,"html_url":"https://github.com/openframeworks/openFrameworks/issues/892","assignee":null,"title":"Add extra ofPixels_ types","labels":[],"closed_at":"2012-02-09T15:13:44Z","created_at":"2012-02-04T07:12:21Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3092432,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/892","patch_url":"https://github.com/openframeworks/openFrameworks/pull/892.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/892.diff"}},{"updated_at":"2012-02-12T04:35:37Z","body":"hey!\r\ni'd like to have an `ofPixels_`\r\nbut since this isn't defined in `ofPixels_`, and many of the template functions are in that cpp (and not in the h), i can't just have whatever image type i like.\r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/graphics/ofPixels.cpp\r\n\r\nsuggestions:\r\n1. add lots more possibilities to ofPixels.cpp\r\n2. move a few more important functions over to ofPixels.h (e.g. getPixels, allocate)\r\n\r\ni think 1 is tidier, so i'm doing that in my project branch","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/891","comments":2,"milestone":null,"number":891,"html_url":"https://github.com/openframeworks/openFrameworks/issues/891","assignee":null,"title":"ofPixels limitations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-02-09T15:52:57Z","created_at":"2012-02-04T07:07:07Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3092414,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-09T15:54:40Z","body":"ofxiPhoneSoundStream is assuming the input will only ever be mono (1 channel).\r\n\r\nin /libs/openFrameworks/sound/ofxiPhoneSoundStream.mm, in recordingCallback(), the actual number of channels is being overwritten; \r\nalso in :setup, the malloc of sampleBuffer `sampleBuffer = (short int*) malloc(MAX_BUFFER_SIZE*2);` is ignoring the number of inChannels.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/890","comments":3,"milestone":null,"number":890,"html_url":"https://github.com/openframeworks/openFrameworks/issues/890","assignee":null,"title":"iOS sound input is single channel only","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-02-09T15:54:40Z","created_at":"2012-02-03T16:49:34Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3085576,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-09T15:15:02Z","body":"When using setOrientation the iPhoneKeyboard was not automatically re-orienting itself correctly. These changes fix that problem on on Ipad2 IOS4; could not check it on any other device or IOS.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/889","comments":3,"milestone":null,"number":889,"html_url":"https://github.com/openframeworks/openFrameworks/issues/889","assignee":null,"title":"Bugfix ofx iphone keyboard","labels":[],"closed_at":"2012-02-09T15:15:02Z","created_at":"2012-02-03T13:24:15Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599},"id":3082911,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/889","patch_url":"https://github.com/openframeworks/openFrameworks/pull/889.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/889.diff"}},{"updated_at":"2012-02-09T15:08:28Z","body":"setOrientation was not working on Ipad2 IOS4; could not check it on any other device or IOS.\r\n\r\nBasically the the enum's for ofOrientation were making apps flip the wrong way left/right. Also was crashing sometimes because was not checking for OF_ORIENTATION_UNKNOWN before setting the orientation.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/888","comments":0,"milestone":null,"number":888,"html_url":"https://github.com/openframeworks/openFrameworks/issues/888","assignee":null,"title":"Bugfix set orientation","labels":[],"closed_at":"2012-02-09T15:08:28Z","created_at":"2012-02-03T13:22:08Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599},"id":3082885,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/888","patch_url":"https://github.com/openframeworks/openFrameworks/pull/888.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/888.diff"}},{"updated_at":"2012-02-09T15:00:54Z","body":"Tiny bug in closeMovie fixed by reseting width and height to 0; if we't then re-loading a movie in the same instance doesn't work because ofPixels and memGWorld do not get reallocated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/887","comments":0,"milestone":null,"number":887,"html_url":"https://github.com/openframeworks/openFrameworks/issues/887","assignee":null,"title":"Bugfix of quicktime player","labels":[],"closed_at":"2012-02-09T15:00:54Z","created_at":"2012-02-03T13:06:19Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","id":331599},"id":3082756,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/887","patch_url":"https://github.com/openframeworks/openFrameworks/pull/887.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/887.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '37658'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"5a69eb871801e8ffe9ee98c01a2b00b9"'), ('date', 'Tue, 29 May 2012 18:46:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/886","html_url":"https://github.com/openframeworks/openFrameworks/issues/886","body":"the change is minor but it was quite a headache trying to figure out what wasn't working.\r\nchanged from \r\n\r\nofxiPhoneSetGLViewTransparent(bool b) {\r\n\r\n\tofxiPhoneGetGLView().opaque = !b;\r\n\r\n}\r\n\r\nto\r\n\r\n\r\nofxiPhoneSetGLViewTransparent(bool b) {\r\n\r\n\tofxiPhoneGetGLView().layer.opaque = !b;\r\n\r\n}","closed_at":"2012-02-09T15:00:24Z","labels":[],"title":"Just a little fix to ofxiPhone. the function ofxiPhoneSetGLViewTransparent now works.","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/886.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/886","diff_url":"https://github.com/openframeworks/openFrameworks/pull/886.diff"},"created_at":"2012-01-31T06:11:44Z","updated_at":"2012-02-09T15:00:24Z","comments":1,"milestone":null,"number":886,"id":3031789,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/885","html_url":"https://github.com/openframeworks/openFrameworks/issues/885","body":"\tif( !ofFile::doesFileExist(pathSrc) ){\r\n\r\nneeds to pass through if the path is absolute or not - note this introduces a second bug which is that we can't mix absolute path and relative paths. \r\n\r\nthe smarter fix is to have doesFileExist check if the file starts with a \"/\" and if so understand it is absolute. ","closed_at":"2012-03-15T18:34:17Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","color":"ff0000","name":"critical"}],"title":"bug in ofFile::copyFromTo ( prob ofDirectory::copyFromTo also )","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-31T01:36:56Z","updated_at":"2012-03-15T18:34:17Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":885,"id":3029989,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/884","html_url":"https://github.com/openframeworks/openFrameworks/issues/884","body":"I found an error in the multiplication of ofMatrix3x3...\r\n\r\nhere is the correct function :\r\n\r\nofMatrix3x3 ofMatrix3x3::operator*(const ofMatrix3x3& B) {\r\n\tofMatrix3x3 C;\r\n\tC.a = a * B.a + b * B.d + c * B.g;\r\n\tC.b = a * B.b + b * B.e + c * B.h;\r\n\tC.c = a * B.c + b * B.f + c * B.i;\r\n\tC.d = d * B.a + e * B.d + f * B.g;\r\n\tC.e = d * B.b + e * B.e + f * B.h;\r\n\tC.f = d * B.c + e * B.f + f * B.i;\r\n\tC.g = g * B.a + h * B.d + i * B.g;\r\n\tC.h = g * B.b + h * B.e + i * B.h;\r\n\tC.i = g * B.c + h * B.f + i * B.i;\r\n\treturn C;\r\n}\r\n\r\nRegards,\r\nMathieu.","closed_at":"2012-03-12T03:29:36Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","color":"ff0000","name":"critical"}],"title":"Error found in ofMatrix3x3","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-28T00:54:06Z","updated_at":"2012-03-12T03:29:36Z","comments":6,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":884,"id":3002341,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/lemuzimi","gravatar_id":"311a7493bfeb6437092aee8421c17bef","login":"lemuzimi","avatar_url":"https://secure.gravatar.com/avatar/311a7493bfeb6437092aee8421c17bef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":644183}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/883","html_url":"https://github.com/openframeworks/openFrameworks/issues/883","body":"Parts of the base openFrameworks library has dependancies \"downstream\" that require you set up your project in the unintuitive, circular and very particular manner the examples are built. \r\n\r\nFound in:\r\nofEvents (ofxEventUtils)\r\nofiPhoneVideoPlayer (ofxiPhoneExtras) - why are there iPhone objects in base?\r\nofLog (ofx*LogChannel)\r\nofSoundPlayer (ofxOpenALSoundPlayer)\r\nofSoundStream (ofx*SoundStream)\r\nofSystemUtils (ofxAndroidUtils)\r\nofVideoGrabber (ofxAndroidVideoGrabber)","closed_at":"2012-02-27T06:00:34Z","labels":[],"title":"base openFrameworks library has dependancies in ofx (addons)","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-27T20:43:00Z","updated_at":"2012-02-27T22:22:49Z","comments":6,"milestone":null,"number":883,"id":2999813,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/yoiang","gravatar_id":"a4bb66a2f2e0ce3f812e68dcf625c753","login":"yoiang","avatar_url":"https://secure.gravatar.com/avatar/a4bb66a2f2e0ce3f812e68dcf625c753?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":89718}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/882","html_url":"https://github.com/openframeworks/openFrameworks/issues/882","body":"there's at least 6 tweening addons right now, i just saw satoru add another :)\r\n\r\nhttp://ofxaddons.com/repos/16\r\nhttp://ofxaddons.com/repos/367\r\nhttp://ofxaddons.com/repos/243\r\nhttp://ofxaddons.com/repos/160\r\nhttp://ofxaddons.com/repos/132\r\nhttps://github.com/satoruhiga/ofxEasingFunc","closed_at":"2012-02-03T17:16:17Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","color":"d68e22","name":"addon"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","color":"37c200","name":"development-strategy"}],"title":"we need a tweening library in the core","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-26T23:22:17Z","updated_at":"2012-02-05T06:37:36Z","comments":6,"milestone":null,"number":882,"id":2987980,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/881","html_url":"https://github.com/openframeworks/openFrameworks/issues/881","body":"or loadMesh/saveMesh.\r\n\r\nit should mirror working with images/everything else.","closed_at":"2012-02-03T11:35:46Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"ofMesh::operator<> should be load()/save()","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-25T16:56:50Z","updated_at":"2012-02-03T11:35:46Z","comments":0,"milestone":null,"number":881,"id":2967723,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/879","html_url":"https://github.com/openframeworks/openFrameworks/issues/879","body":"binary makes a huge difference when loading and saving large meshes (e.g., kinect depth meshes).","closed_at":"2012-02-10T02:44:13Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"add support for binary ply in ofMesh::operator<>","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-25T16:53:57Z","updated_at":"2012-02-10T02:44:13Z","comments":1,"milestone":null,"number":879,"id":2967683,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/877","html_url":"https://github.com/openframeworks/openFrameworks/issues/877","body":"The primary contribution here is better integration with GLUT's (limited) support of modifier keys. Since they are not reported as normal keys are, it doesn't make sense to add them to the pressedKeys set. Further, this fix doesn't solve the issue #807, but it moves in that direction.\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/652#issuecomment-3400277\r\nhttps://github.com/openframeworks/openFrameworks/pull/807#issuecomment-3402901\r\n\r\nCheers,\r\nChristopher","closed_at":"2012-02-09T13:33:42Z","labels":[],"title":"Keymodifiers for GLUT, ofPolyline/ofPath::arc fixed, ofPolyline/ofPath::arcNegative added.","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/877.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/877","diff_url":"https://github.com/openframeworks/openFrameworks/pull/877.diff"},"created_at":"2012-01-23T21:42:26Z","updated_at":"2012-02-09T13:33:43Z","comments":1,"milestone":null,"number":877,"id":2942171,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/876","html_url":"https://github.com/openframeworks/openFrameworks/issues/876","body":"piggy backing the already existing android functionality for reloading textures for ofImage, ofBitmapFont etc...\r\nthis is necessary when the EAGLView needs to be created more then once.","closed_at":"2012-02-25T18:27:19Z","labels":[],"title":"added TARGET_OF_IPHONE guards where iOS needs to reload textures.","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/876.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/876","diff_url":"https://github.com/openframeworks/openFrameworks/pull/876.diff"},"created_at":"2012-01-23T12:33:39Z","updated_at":"2012-02-25T18:27:19Z","comments":10,"milestone":null,"number":876,"id":2934037,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/874","html_url":"https://github.com/openframeworks/openFrameworks/issues/874","body":"fixes #871","closed_at":"2012-01-21T00:01:10Z","labels":[],"title":"fmod panning","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/874.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/874","diff_url":"https://github.com/openframeworks/openFrameworks/pull/874.diff"},"created_at":"2012-01-20T12:26:14Z","updated_at":"2012-01-21T00:01:10Z","comments":4,"milestone":null,"number":874,"id":2910394,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/okjake","gravatar_id":"5315c80a526341fa5e8563a8560dadc1","login":"okjake","avatar_url":"https://secure.gravatar.com/avatar/5315c80a526341fa5e8563a8560dadc1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":316538}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/873","html_url":"https://github.com/openframeworks/openFrameworks/issues/873","body":"exposing ofUpdateBitmapCharacterTexture() method so it can be called external to ofBitmapFont.\r\nthis small change is essential when swapping out testApps at run-time, like it is done in ofxiOS (https://github.com/julapy/ofxiOS) \r\nso that the bitmap font texture can be recreated again, otherwise it does not render properly.","closed_at":"2012-01-23T10:02:43Z","labels":[],"title":"exposing ofUpdateBitmapCharacterTexture() in ofBitmapFont","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/873.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/873","diff_url":"https://github.com/openframeworks/openFrameworks/pull/873.diff"},"created_at":"2012-01-20T04:48:37Z","updated_at":"2012-01-23T12:24:20Z","comments":2,"milestone":null,"number":873,"id":2907377,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/871","html_url":"https://github.com/openframeworks/openFrameworks/issues/871","body":"inside ofFmodSoundPlayer.cpp\r\n\r\n\tpan \t\t\t= 0.5f;\r\n\r\nshould be\r\n\r\n\tpan \t\t\t= 0;\r\n\r\nbecause panning is -1 to 1, not 0 to 1.\r\n\r\nnot sure how this influences the other soundplayers...","closed_at":"2012-01-21T13:11:39Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"all fmod sounds are panned slightly to the right","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-17T09:26:33Z","updated_at":"2012-01-21T13:11:39Z","comments":1,"milestone":null,"number":871,"id":2866235,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/870","html_url":"https://github.com/openframeworks/openFrameworks/issues/870","body":"This is my fix for issue #862. I'm not sure why some of arturoc's changes are showing up in the commits/files changed tab, this is my first pull request. I'm pretty sure my fork is up to date with develop.","closed_at":"2012-01-15T14:56:31Z","labels":[],"title":"Bugfix gst video grabber init","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/870.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/870","diff_url":"https://github.com/openframeworks/openFrameworks/pull/870.diff"},"created_at":"2012-01-15T08:54:12Z","updated_at":"2012-01-15T16:27:59Z","comments":7,"milestone":null,"number":870,"id":2845038,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/timscaffidi","gravatar_id":"2ad43b65cb02eca2b722133681647492","login":"timscaffidi","avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177125}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/869","html_url":"https://github.com/openframeworks/openFrameworks/issues/869","body":"As recommended by Theo, did some simple benchmark tests and improvements.\r\n\r\nThe GLUT version and this GL version look almost identical.\r\nhttp://www.flickr.com/photos/95943853@N00/6686691527/sizes/o/in/photostream/\r\n\r\nI moved the drawing of the sphere into the renderers so that it stores the verts and eliminates redundant calculations. \r\nThe GL renderer, also has normals. For GL renderer wireframe mode it uses GL_QUAD_STRIPS, which is not defined as an ofPrimitiveMode? And triangle strip for filled mode.\r\n\r\nSimple speed tests drawing 5000 spheres and measuring with ofGetElapsedTimeMillis()\r\nofScale - 231ms\r\nGLUT - 243ms\r\nMultiplying verts by radius - 280ms\r\n\r\n\r\n","closed_at":"2012-02-09T14:49:02Z","labels":[],"title":"Of sphere develop - no GLUT","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/869.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/869","diff_url":"https://github.com/openframeworks/openFrameworks/pull/869.diff"},"created_at":"2012-01-12T22:47:06Z","updated_at":"2012-02-09T14:49:02Z","comments":5,"milestone":null,"number":869,"id":2825018,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142694}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/868","html_url":"https://github.com/openframeworks/openFrameworks/issues/868","body":"Implemented code based on Paul Bourke here:\r\nhttp://paulbourke.net/texture_colour/texturemap/\r\n\r\nIncludes normals, texture coords and verts","closed_at":"2012-01-12T16:07:50Z","labels":[],"title":"ofSphere non-GLUT based on Paul Bourke","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/868.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/868","diff_url":"https://github.com/openframeworks/openFrameworks/pull/868.diff"},"created_at":"2012-01-11T20:28:57Z","updated_at":"2012-01-12T16:07:50Z","comments":2,"milestone":null,"number":868,"id":2809551,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142694}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/867","html_url":"https://github.com/openframeworks/openFrameworks/issues/867","body":"I've disabled the allocation of textures in inputImage in ofxCvContourfinder, since it gave me problems using the contour finder with odd resolutions multithreaded (because the thread cannot allocate a texture), and since I couldn't see any reason to generate a texture and use gpu space when its never used. \r\n\r\nJonas Jongejan ","closed_at":"2012-01-20T12:15:03Z","labels":[],"title":"Texture allocation in ofxCvContourfinder disabled ","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/867.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/867","diff_url":"https://github.com/openframeworks/openFrameworks/pull/867.diff"},"created_at":"2012-01-10T11:38:30Z","updated_at":"2012-01-20T12:15:03Z","comments":0,"milestone":null,"number":867,"id":2783845,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/HalfdanJ","gravatar_id":"9aa6a5cc8cd427d846b067a84f5b96ed","login":"HalfdanJ","avatar_url":"https://secure.gravatar.com/avatar/9aa6a5cc8cd427d846b067a84f5b96ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":227529}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/865","html_url":"https://github.com/openframeworks/openFrameworks/issues/865","body":"ofDrawGrid and ofDrawGridPlane\r\nseems current develop branch doesn't build (or i just need to recreate my projects)\r\nissues with ofQuicktimeGrabber\r\nso i cant test this with latest release\r\n","closed_at":"2012-01-16T00:17:00Z","labels":[],"title":"ofDrawGrid for a 3D grid","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/865.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/865","diff_url":"https://github.com/openframeworks/openFrameworks/pull/865.diff"},"created_at":"2012-01-06T16:11:08Z","updated_at":"2012-02-21T03:37:51Z","comments":7,"milestone":null,"number":865,"id":2748585,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/864","html_url":"https://github.com/openframeworks/openFrameworks/issues/864","body":"The return value of gtkFileDialog is not assigned to results.filePath.\r\n\r\n#if defined( TARGET_LINUX ) && defined (OF_USING_GTK)\r\n \r\n\\- gtkFileDialog(GTK_FILE_CHOOSER_ACTION_SAVE, messageName,defaultName); \r\n\\+ results.filePath = gtkFileDialog(GTK_FILE_CHOOSER_ACTION_SAVE, messageName,defaultName); \r\n\r\n#endif ","closed_at":"2012-01-04T10:45:44Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","color":"27607f","name":"linux"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"Issue with the linux version of ofSystemSaveDialog","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-04T08:13:04Z","updated_at":"2012-01-04T10:45:44Z","comments":0,"milestone":null,"number":864,"id":2720393,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/ljudoed","gravatar_id":"132d4de549d8ac8c04680ccf89c88d4f","login":"ljudoed","avatar_url":"https://secure.gravatar.com/avatar/132d4de549d8ac8c04680ccf89c88d4f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1303238}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/862","html_url":"https://github.com/openframeworks/openFrameworks/issues/862","body":"In trying to get the built in iSight to work in an older MBP, pre unibody, I noticed that the initialization routine was where things were going wrong. I looked at the way that it is done in cheese and found that they first set the state to GST_STATE_READY to determine the capabilities of the device, and in oF we set the state to GST_STATE_PLAYING, before even setting the resolution and framerate.\r\n\r\nSo, in ofGstVideoGrabber.cpp get_device_data(), the iSight had issues with this line, gst_element_set_state (pipeline, GST_STATE_PLAY), where it would return a failure code later on. So I changed it to GST_STATE_READY, and all is good. \r\n\r\nI'm not very experienced with gstreamer, so I'm not sure if just changing that one line is enough to be robust, or if there is a reason it was done this way in the first place.\r\n\r\nhere's the relevant file from the cheese git. http://git.gnome.org/browse/cheese/tree/libcheese/cheese-camera-device.c\r\ncheese_camera_device_get_caps() is the relevant function.\r\n","closed_at":"2012-01-15T15:38:54Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"Change gstreamer video initialization process","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-01-03T04:26:08Z","updated_at":"2012-01-15T15:38:54Z","comments":0,"milestone":null,"number":862,"id":2707240,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/timscaffidi","gravatar_id":"2ad43b65cb02eca2b722133681647492","login":"timscaffidi","avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177125}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/860","html_url":"https://github.com/openframeworks/openFrameworks/issues/860","body":"fix is to change the \r\nIntermediate Build Path in the OF project target settings to \r\n\r\n$(SRCROOT)/../../lib/osx/build/debug/\r\n$(SRCROOT)/../../lib/osx/build/release/","closed_at":"2011-12-31T17:30:33Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","color":"993e7a","name":"xcode"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","color":"ff0000","name":"critical"}],"title":"xcode OF project getting rebuilt everytime you switch apps","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2011-12-31T17:23:00Z","updated_at":"2011-12-31T17:30:33Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":860,"id":2695070,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/859","html_url":"https://github.com/openframeworks/openFrameworks/issues/859","body":"Closes #796.","closed_at":"2012-01-20T12:15:52Z","labels":[],"title":"Correct applyTranslation parameters in ofxVectorGraphics.","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/859.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/859","diff_url":"https://github.com/openframeworks/openFrameworks/pull/859.diff"},"created_at":"2011-12-31T13:55:40Z","updated_at":"2012-01-20T12:15:52Z","comments":0,"milestone":null,"number":859,"id":2694572,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/858","html_url":"https://github.com/openframeworks/openFrameworks/issues/858","body":"[Comments](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.h#L37) say that the default log level is `OF_LOG_NOTICE`.\r\n[The source](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L6) says the default is `OF_LOG_WARNING`.\r\nThis can be easily checked - adding `ofLog(OF_LOG_NOTICE, \"Test\");` does not produce output. \r\n\r\nSo, should the source or the docs be corrected? Should the default level be notice or warning?\r\n","closed_at":"2012-02-24T05:20:39Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","color":"cccc29","name":"documentation"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","color":"37c200","name":"development-strategy"}],"title":"ofLog default level does not match description in comments","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2011-12-31T13:26:44Z","updated_at":"2012-02-24T05:20:39Z","comments":16,"milestone":null,"number":858,"id":2694512,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/857","html_url":"https://github.com/openframeworks/openFrameworks/issues/857","body":"the bezierTo methode of ofPolyline at line 50 does not pass the curveResolution parameter","closed_at":"2011-12-30T12:38:59Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"}],"title":"curveResolution of bezierTo in ofPolyline","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2011-12-30T12:29:43Z","updated_at":"2011-12-30T12:38:59Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","due_on":"2012-04-08T07:00:00Z","open_issues":0,"title":"0071 Release","created_at":"2011-12-02T15:29:28Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":4,"id":61808,"state":"closed","closed_issues":70},"number":857,"id":2688537,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/tmuthesius","gravatar_id":"7c54ab5ecd100a22ff7c4e048bcad864","login":"tmuthesius","avatar_url":"https://secure.gravatar.com/avatar/7c54ab5ecd100a22ff7c4e048bcad864?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":419190}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/854","html_url":"https://github.com/openframeworks/openFrameworks/issues/854","body":"I replaced printf occurences by equivalent ofLog. The changes are quite simple, but please review before merging, I can't even test most of those changes.\r\nSome occurences still remain, please advise how to proceed:\r\n\r\nofSystemUtils.cpp contains MacOS-only printfs (which I have no access to), and it's not clear to me which log levels would be appropriate for those.\r\n\r\nofTrueTypeFont and ofThread contain conditional printfs with bools `printVectorInfo` and `verbose`, respectively. This is obviously to manually enable logging, but if we replace the printfs with ofLog, it would be possible to not get logging output, even if those bools are true, depending on the log level.\r\nSo how should we treat that? \r\n`OF_LOG_FATAL_ERROR` would ensure output if the bools are true, but sounds really too drastic for most of that output.\r\nOTOH, leaving the printfs would ensure appropriate output, but it couldn't be managed/redirected like all other logging output, so that's not very consistent.\r\n\r\nAside of the occurences in ofSystemUtils.cpp, ofTrueTypeFont and ofThread, there remain no relevant, non-commented, logging printfs in `libs/openFrameworks`.\r\nPlease discuss, and I'll amend this PR.\r\nRelevant issues are #833 and #294.","closed_at":"2012-02-09T14:43:51Z","labels":[],"title":"Replace printf by ofLog in /libs/OpenFrameworks","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/854.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/854","diff_url":"https://github.com/openframeworks/openFrameworks/pull/854.diff"},"created_at":"2011-12-24T12:25:12Z","updated_at":"2012-02-09T14:43:51Z","comments":2,"milestone":null,"number":854,"id":2652588,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/853","html_url":"https://github.com/openframeworks/openFrameworks/issues/853","body":"i get this issue in windows: http://forum.openframeworks.cc/index.php/topic,8329.msg39128.html#new there are other OF user that have this issue in windows? Are you interested to solve this?\r\n\r\ni have a Sony Vaio VGN-AR51E with a NVIDIA GeForce 8400M GT GPU, Windows Vista operative system. And of course i'm using openFramework version 007.\r\n\r\nthanks to all for the attention.","closed_at":"2012-02-05T12:11:54Z","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","color":"244569","name":"windows"}],"title":"ofFbo issues in windows","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2011-12-23T19:21:12Z","updated_at":"2012-02-05T12:11:54Z","comments":0,"milestone":null,"number":853,"id":2649677,"assignee":null,"state":"closed","user":{"url":"https://api.github.com/users/kalwalt","gravatar_id":"4ec3f9bd7d21934ccfbcc5242b786cd0","login":"kalwalt","avatar_url":"https://secure.gravatar.com/avatar/4ec3f9bd7d21934ccfbcc5242b786cd0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1275858}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '47132'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b059090078900e32e218433d0dd9dbd8"'), ('date', 'Tue, 29 May 2012 18:46:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-23T19:19:03Z","body":"from openframework forum: \r\n\r\ni get this issue in windows: http://forum.openframeworks.cc/index.php/topic,8329.msg39128.html#new there are other OF user that have this issue in windows? Are you interested to solve this?\r\n\r\ni have a Sony Vaio VGN-AR51E with a NVIDIA GeForce 8400M GT GPU, Windows Vista operative system. And of course i'm using openFramework version 007.\r\n\r\nthanks to all for the attention.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/852","comments":0,"milestone":null,"number":852,"html_url":"https://github.com/openframeworks/openFrameworks/issues/852","assignee":null,"title":"ofFbo issues in windows","labels":[],"closed_at":"2011-12-23T19:19:03Z","created_at":"2011-12-23T19:18:38Z","state":"closed","user":{"url":"https://api.github.com/users/kalwalt","gravatar_id":"4ec3f9bd7d21934ccfbcc5242b786cd0","login":"kalwalt","avatar_url":"https://secure.gravatar.com/avatar/4ec3f9bd7d21934ccfbcc5242b786cd0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1275858},"id":2649662,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-16T22:50:31Z","body":"ofHideCursor - fullscreen on startup etc\r\n\r\nsee issues here: \r\nhttp://forum.openframeworks.cc/index.php/topic,7621.0.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/850","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":850,"html_url":"https://github.com/openframeworks/openFrameworks/issues/850","assignee":null,"title":"fix 10.7.2 issues for OF 0071","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":"2012-03-16T22:49:04Z","created_at":"2011-12-22T19:00:26Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":2640562,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-21T21:25:50Z","body":"0071 section needs to be filled in eventually.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/848","comments":0,"milestone":null,"number":848,"html_url":"https://github.com/openframeworks/openFrameworks/issues/848","assignee":null,"title":"rearranged the commit log, added a section for 0071","labels":[],"closed_at":"2011-12-21T21:25:50Z","created_at":"2011-12-21T20:03:17Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2628968,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/848","patch_url":"https://github.com/openframeworks/openFrameworks/pull/848.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/848.diff"}},{"updated_at":"2011-12-20T21:18:29Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/847","comments":0,"milestone":null,"number":847,"html_url":"https://github.com/openframeworks/openFrameworks/issues/847","assignee":null,"title":"added change log","labels":[],"closed_at":"2011-12-20T21:18:29Z","created_at":"2011-12-20T21:12:39Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2618235,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/847","patch_url":"https://github.com/openframeworks/openFrameworks/pull/847.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/847.diff"}},{"updated_at":"2011-12-13T13:59:21Z","body":"From the forum: http://forum.openframeworks.cc/index.php/topic,8270.msg38547/\r\n> I know it must be something remarkably simple, but ever since switching to archlinux my .h file changes have not been included in my builds unless I do a 'make clean' first.\r\n\r\nInterestingly, I can reproduce this on an Ubuntu 32bit machine. Anybody else?\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/845","comments":1,"milestone":null,"number":845,"html_url":"https://github.com/openframeworks/openFrameworks/issues/845","assignee":null,"title":"Make ignores .h file changes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-13T13:59:21Z","created_at":"2011-12-12T08:24:45Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2520429,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-25T08:33:50Z","body":"Only add in the script of fedora to install libmpg123-devel.\r\nI can't run the example \"soundPlayerExample\" without this library,\r\nneed to compile again for works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/844","comments":15,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":844,"html_url":"https://github.com/openframeworks/openFrameworks/issues/844","assignee":null,"title":"libmpg123-devel need to read mp3 in fedora","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":"2012-05-25T08:12:48Z","created_at":"2011-12-11T20:32:32Z","state":"closed","user":{"url":"https://api.github.com/users/nosoyhector","gravatar_id":"23a8f80f17180ec435bdd61f192e8e14","login":"nosoyhector","avatar_url":"https://secure.gravatar.com/avatar/23a8f80f17180ec435bdd61f192e8e14?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1255975},"id":2517403,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-15T18:53:29Z","body":"when opening a file, setting binary to true doesn't do anything","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/842","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":842,"html_url":"https://github.com/openframeworks/openFrameworks/issues/842","assignee":null,"title":"ofFileUtils line 207 ignores binary flag","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"closed_at":"2012-03-15T18:53:29Z","created_at":"2011-12-09T20:54:24Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":2506806,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-11T15:16:15Z","body":"little fix to solve problems with paths in windows\r\n\r\ntested on osx (no issues on a complex project with these changes applied)\r\ntested on windows (removes all my issues with paths for this project)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/841","comments":9,"milestone":null,"number":841,"html_url":"https://github.com/openframeworks/openFrameworks/issues/841","assignee":null,"title":"fixes to path in windows (otherwise lots of problems)","labels":[],"closed_at":"2011-12-11T15:16:15Z","created_at":"2011-12-09T08:53:53Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":2499537,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/841","patch_url":"https://github.com/openframeworks/openFrameworks/pull/841.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/841.diff"}},{"updated_at":"2012-03-16T17:31:50Z","body":"right now if you do \r\n\r\nofxCvColorImage color; \r\ncolor = pixRef;\r\n\r\nyou get a nasty crash because you didn't call allocate first. \r\nofImage allocates as needed and ofxOpenCv should too. \r\n\r\nThere is of course some issues to do with ROIs but if the image width is 0 thats a no brainer. \r\nAlso if the current ROI or current cv image is larger than the input it makes sense to either reallocate or do a smart roi based copy. \r\n\r\neither way we need to get rid of crashes relating to allocate not being called - it is just no fun. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/839","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":839,"html_url":"https://github.com/openframeworks/openFrameworks/issues/839","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"ofxOpenCv should do smarter allocation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-16T17:31:50Z","created_at":"2011-12-07T17:10:00Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":2477055,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T19:48:21Z","body":"According to GH support, it's not possible to assign a milestone to a PR (only to the issue a PR references). Therefore, I put all currently opened pull requests into this bug and milestone it to 0071. When we have dealt with those (one way or the other) then we could start preparing a 0071 release, according to http://forum.openframeworks.cc/index.php/topic,7869.0.html.\r\n\r\n~~#307 - Automake build files - to help with clean src tarball and install~~\r\n~~#562 - Re-enabled MoviesTask in ofQuickTimePlayer~~\r\n#576 - Generic armv7l Linux build for Beagleboard &co. \r\n~~#637 - ofQuicktimeSoundPlayer~~\r\n~~#708 - Bugfix 3d model loader normals~~\r\n~~#709 - opencv2.3~~\r\n~~#726 - added ofDrawGrid to complement ofDrawAxis. added 'get' accessors to ofCam~~\r\n~~#792 - Bugfix autoreleasepool\r\n~~#794 - Windows compatibility patches for the oF Develop branch~~\r\n~~#907 - A GLUT-based solution for keeping track of modifier keys~~\r\n~~#808 - Feature of sound player get volume~~\r\n~~#809 - Feature of sound stream~~\r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/835","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":835,"html_url":"https://github.com/openframeworks/openFrameworks/issues/835","assignee":null,"title":"PR tracking issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-02-25T19:48:21Z","created_at":"2011-12-03T15:36:47Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2437711,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T15:54:54Z","body":"Fixed Linux OF Codeblocks projects, including Makefiles that weren't cleaning properly.\r\nThe codeblocks projects hadn't been updated to the latest files.\r\nMakefile clean was not working at the command-line, and was also using uppercase 'Clean' instead of lowercase 'clean', causing codeblocks to spew","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/834","comments":6,"milestone":null,"number":834,"html_url":"https://github.com/openframeworks/openFrameworks/issues/834","assignee":null,"title":"Linux OF codeblocks project fixes - Fixes #830 ","labels":[],"closed_at":"2011-12-03T15:11:54Z","created_at":"2011-12-03T13:47:33Z","state":"closed","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":392160},"id":2437367,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/834","patch_url":"https://github.com/openframeworks/openFrameworks/pull/834.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/834.diff"}},{"updated_at":"2012-02-25T19:37:25Z","body":"General version of #294. all instances of printf to console in the code should be replaced by ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/833","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":833,"html_url":"https://github.com/openframeworks/openFrameworks/issues/833","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"title":"Replace printf() occurences by ofLog()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-02-25T19:37:25Z","created_at":"2011-12-03T10:44:36Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2436827,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T11:51:28Z","body":"Also reenabled createProjects.py script as executable.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/832","comments":2,"milestone":null,"number":832,"html_url":"https://github.com/openframeworks/openFrameworks/issues/832","assignee":null,"title":"Fixed OF codeblocks projects for Linux that needing updating.","labels":[],"closed_at":"2011-12-03T11:51:28Z","created_at":"2011-12-03T10:38:34Z","state":"closed","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":392160},"id":2436814,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/832","patch_url":"https://github.com/openframeworks/openFrameworks/pull/832.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/832.diff"}},{"updated_at":"2011-12-03T15:11:52Z","body":"Both 32 and 64 codeblocks project for the OF library are out of date....I'm sure the Makefile works though.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/830","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":830,"html_url":"https://github.com/openframeworks/openFrameworks/issues/830","assignee":null,"title":"Linux OF codeblocks projects broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-03T15:11:52Z","created_at":"2011-12-03T08:18:47Z","state":"closed","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":392160},"id":2436472,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-28T14:36:24Z","body":"Dummy issue to ensure that the 0071 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/828","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":828,"html_url":"https://github.com/openframeworks/openFrameworks/issues/828","assignee":null,"title":"0071 Release tracking issue","labels":[],"closed_at":"2012-05-28T14:36:24Z","created_at":"2011-12-02T16:28:33Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429869,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:30:10Z","body":"Seems some replacements were overlooked when introducing OF_ROOT. It's actually OK in master, but this way you don't have to merge master into develop to fix this.\r\nThis closes #826.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/827","comments":3,"milestone":null,"number":827,"html_url":"https://github.com/openframeworks/openFrameworks/issues/827","assignee":null,"title":"Correct missing OF_ROOT occurences in develop","labels":[],"closed_at":"2011-12-02T15:26:27Z","created_at":"2011-12-02T09:56:06Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2425573,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/827","patch_url":"https://github.com/openframeworks/openFrameworks/pull/827.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/827.diff"}},{"updated_at":"2011-12-02T15:29:20Z","body":"This line makes error.\r\n\r\nLIB_STATIC += $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoNet.a ../../../libs/poco/lib/$(LIBSPATH)/libPocoXML.a ../../../libs/poco/lib/$(LIBSPATH)/libPocoUtil.a ../../../libs/poco/lib/$(LIBSPATH)/libPocoFoundation.a\r\n\r\nIt has to change below\r\n\r\nLIB_STATIC += $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoNet.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoXML.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoUtil.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoFoundation.a\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/826","comments":3,"milestone":null,"number":826,"html_url":"https://github.com/openframeworks/openFrameworks/issues/826","assignee":null,"title":"Makefile error in linux","labels":[],"closed_at":"2011-12-02T15:29:20Z","created_at":"2011-11-30T11:59:40Z","state":"closed","user":{"url":"https://api.github.com/users/donghee","gravatar_id":"b534a5f5d851e45bb4f94348b45f094c","login":"donghee","avatar_url":"https://secure.gravatar.com/avatar/b534a5f5d851e45bb4f94348b45f094c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":91220},"id":2400551,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-11-28T17:36:00Z","body":"Per this discussion http://forum.openframeworks.cc/index.php/topic,8123.0.html added glutEntryFunc callbacks. Pretty simple, but maybe helpful to someone else.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/824","comments":1,"milestone":null,"number":824,"html_url":"https://github.com/openframeworks/openFrameworks/issues/824","assignee":null,"title":"added GLUT window entry callbacks","labels":[],"closed_at":"2011-11-28T17:35:42Z","created_at":"2011-11-28T17:32:27Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2370726,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/824","patch_url":"https://github.com/openframeworks/openFrameworks/pull/824.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/824.diff"}},{"updated_at":"2011-11-28T17:31:06Z","body":"\r\nPer this discussion http://forum.openframeworks.cc/index.php/topic,8123.0.html added glutEntryFunc callbacks. Pretty simple, but maybe helpful to someone else.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/823","comments":5,"milestone":null,"number":823,"html_url":"https://github.com/openframeworks/openFrameworks/issues/823","assignee":null,"title":"added GLUT window entry callbacks","labels":[],"closed_at":"2011-11-28T17:05:23Z","created_at":"2011-11-28T17:02:55Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2370049,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/823","patch_url":"https://github.com/openframeworks/openFrameworks/pull/823.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/823.diff"}},{"updated_at":"2012-05-28T15:44:40Z","body":"Testing out the moviePlayerExample.xcodeproj\r\nWorks fine in the 4.3 Simulator\r\n\r\nBut running it on 5.0 Simulator/on my iPad 2, the videos are all just black. \r\nThe getPixel circle thing still seems to work fine though. \r\n\r\nPretty new to OF maybe I'm doing something wrong.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/820","comments":46,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":820,"html_url":"https://github.com/openframeworks/openFrameworks/issues/820","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofVideoPlayer bug with iOS 5","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-05-23T13:58:05Z","created_at":"2011-11-23T09:39:59Z","state":"closed","user":{"url":"https://api.github.com/users/everythingoriginal","gravatar_id":"4463e6f9ef6b5aae32380a32f835fcf3","login":"everythingoriginal","avatar_url":"https://secure.gravatar.com/avatar/4463e6f9ef6b5aae32380a32f835fcf3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":527628},"id":2328003,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-11-21T11:23:00Z","body":"the ofVideoGrabber switches between using the internal texture and the Video Grabber suppplied one.\r\n\r\nWorking towards having ofxQTKitVideoPlayer work within the oF core code better\r\n\r\nSigned-off-by: obviousjim ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/817","comments":1,"milestone":null,"number":817,"html_url":"https://github.com/openframeworks/openFrameworks/issues/817","assignee":null,"title":"More consistent support of ofTexture* playerTex in ofVideoGrabber","labels":[],"closed_at":"2011-11-21T11:21:44Z","created_at":"2011-11-20T20:53:17Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2299304,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/817","patch_url":"https://github.com/openframeworks/openFrameworks/pull/817.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/817.diff"}},{"updated_at":"2011-11-20T15:46:34Z","body":"/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimePlayer.cpp\r\n'DisposeGWorld' was not declared in this scope\r\n'GetGWorldPixMap' was not declared in this scope\r\n'LockPixels' was not declared in this scope\r\n'SetGWorld' was not declared in this scope\r\n'DisposeGWorld' was not declared in this scope\r\nfile://localhost/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimePlayer.cpp: error: Semantic Issue: Use of undeclared identifier 'DisposeGWorld'\r\nfile://localhost/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimePlayer.cpp: error: Semantic Issue: Use of undeclared identifier 'GetGWorldPixMap'\r\nfile://localhost/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimePlayer.cpp: error: Semantic Issue: Use of undeclared identifier 'SetGWorld'\r\nfile://localhost/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimePlayer.cpp: error: Semantic Issue: Use of undeclared identifier 'DisposeGWorld'\r\n/Volumes/MacData/Dependencies/openframe/libs/openFrameworks/video/ofQuickTimeGrabber.cpp\r\n'MacSetRect' was not declared in this scope\r\n'GetGWorldPixMap' was not declared in this scope\r\n'LockPixels' was not declared in this scope\r\n'SetGWorld' was not declared in this scope","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/816","comments":1,"milestone":null,"number":816,"html_url":"https://github.com/openframeworks/openFrameworks/issues/816","assignee":null,"title":"can't build deployExamples in xcode 4.2.","labels":[],"closed_at":"2011-11-20T15:46:34Z","created_at":"2011-11-20T12:57:55Z","state":"closed","user":{"url":"https://api.github.com/users/yaxinhoo","gravatar_id":"c9537df6f84698967c217c189d18a149","login":"yaxinhoo","avatar_url":"https://secure.gravatar.com/avatar/c9537df6f84698967c217c189d18a149?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":405604},"id":2292343,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-11-17T15:20:52Z","body":"Hello, \r\nI am trying to set up the project files for XCode on a newly cloned openFrameworks on a MacBook running MacOS 10.7.2 with XCode 3.2.5. When doing build and run on deployExamples, I get 11 errors such as: \r\nerror: 'MacSetRect' was not declared in this scope\r\n (see full details below): \r\n\r\nCould someone please help? \r\n\r\n\r\nCompileC build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofQuickTimeGrabber.o ../../../openFrameworks/video/ofQuickTimeGrabber.cpp normal i386 c++ com.apple.compilers.gcc.4_2\r\ncd /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx\r\nsetenv LANG en_US.US-ASCII\r\n/Developer-3.2.5/usr/bin/gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -ftree-vectorize -msse3 -mssse3 -Wno-deprecated-declarations -Wno-invalid-offsetof -gdwarf-2 -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/openFrameworksDebug.hmap -F/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx/include -I../../../../libs/openFrameworks -I../../../../libs/openFrameworks/3d -I../../../../libs/openFrameworks/app -I../../../../libs/openFrameworks/communication -I../../../../libs/openFrameworks/events -I../../../../libs/openFrameworks/gl -I../../../../libs/openFrameworks/graphics -I../../../../libs/openFrameworks/math -I../../../../libs/openFrameworks/sound -I../../../../libs/openFrameworks/types -I../../../../libs/openFrameworks/utils -I../../../../libs/openFrameworks/video -I../../../../libs/poco/include -I../../../../libs/freetype/include -I../../../../libs/freetype/include/freetype2 -I../../../../libs/fmodex/include -I../../../../libs/glew/include -I../../../../libs/FreeImage/include -I../../../../libs/tess2/include -I../../../../libs/cairo/include/cairo -I../../../../libs/rtaudio/include -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources/i386 -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources -D__MACOSX_CORE__ -lpthread -c /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp -o /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofQuickTimeGrabber.o\r\n\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp: In member function 'virtual bool ofQuickTimeGrabber::initGrabber(int, int)':\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp:109: error: 'MacSetRect' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp:125: error: 'GetGWorldPixMap' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp:125: error: 'LockPixels' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimeGrabber.cpp:126: error: 'SetGWorld' was not declared in this scope\r\n\r\nCompileC build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofQuickTimePlayer.o ../../../openFrameworks/video/ofQuickTimePlayer.cpp normal i386 c++ com.apple.compilers.gcc.4_2\r\ncd /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx\r\nsetenv LANG en_US.US-ASCII\r\n/Developer-3.2.5/usr/bin/gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -ftree-vectorize -msse3 -mssse3 -Wno-deprecated-declarations -Wno-invalid-offsetof -gdwarf-2 -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/openFrameworksDebug.hmap -F/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx/include -I../../../../libs/openFrameworks -I../../../../libs/openFrameworks/3d -I../../../../libs/openFrameworks/app -I../../../../libs/openFrameworks/communication -I../../../../libs/openFrameworks/events -I../../../../libs/openFrameworks/gl -I../../../../libs/openFrameworks/graphics -I../../../../libs/openFrameworks/math -I../../../../libs/openFrameworks/sound -I../../../../libs/openFrameworks/types -I../../../../libs/openFrameworks/utils -I../../../../libs/openFrameworks/video -I../../../../libs/poco/include -I../../../../libs/freetype/include -I../../../../libs/freetype/include/freetype2 -I../../../../libs/fmodex/include -I../../../../libs/glew/include -I../../../../libs/FreeImage/include -I../../../../libs/tess2/include -I../../../../libs/cairo/include/cairo -I../../../../libs/rtaudio/include -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources/i386 -I/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources -D__MACOSX_CORE__ -lpthread -c /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp -o /Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofQuickTimePlayer.o\r\n\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp: In destructor 'virtual ofQuickTimePlayer::~ofQuickTimePlayer()':\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp:142: error: 'DisposeGWorld' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp: In member function 'void ofQuickTimePlayer::createImgMemAndGWorld()':\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp:249: error: 'GetGWorldPixMap' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp:249: error: 'LockPixels' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp:250: error: 'SetGWorld' was not declared in this scope\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp: In member function 'virtual bool ofQuickTimePlayer::loadMovie(std::string)':\r\n/Users/iani/Documents/projects_ongoing/openFrameworks/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQuickTimePlayer.cpp:295: error: 'DisposeGWorld' was not declared in this scope\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/813","comments":6,"milestone":null,"number":813,"html_url":"https://github.com/openframeworks/openFrameworks/issues/813","assignee":null,"title":"deployExamples produces 11 compile errors on MacOS 10.7.2","labels":[],"closed_at":"2011-11-17T11:37:36Z","created_at":"2011-11-16T21:07:09Z","state":"closed","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2261720,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-11-17T03:26:45Z","body":"Working with this file https://github.com/jvcleave/ofxIPhoneTracker/blob/develop/src/testApp.cpp\r\n\r\nI am seeing a color shift when using OF:Develop branch\r\n\r\nhttp://i41.tinypic.com/2dtvgh1.jpg\r\n\r\nHowever, OF:master is ok\r\n\r\nhttp://i43.tinypic.com/1dikz.jpg","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/812","comments":7,"milestone":null,"number":812,"html_url":"https://github.com/openframeworks/openFrameworks/issues/812","assignee":null,"title":"Color shift in OF:Develop (ok in Master)","labels":[],"closed_at":"2011-11-17T03:26:45Z","created_at":"2011-11-16T20:38:47Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":150037},"id":2261395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T18:31:14Z","body":"Added function and types to return sound devices as a vector of ofStreamDevices and to setDeviceID by name (handy when you have several audio devices in an installation and need to make sure you are using the right one). Also made setDeviceID return a bool where it was possible and issued ofLogWarnings where it is not.\r\n\r\nUpdated the examples as well.\r\n\r\nFor other installations I've done similar modifications to ofVideoGrabber, ofVideoPlayer etc\r\n\r\nI'm wondering if it's worth abstracting this to have an ofBaseDevice type and then variously: ofStreamDevice, ofSerialDevice, ofVideoDevice etc? With all 'device' managing classes enforcing listDevices() return a vector of the appropriate type of device? And indeed all those classes having an ofBaseDeviceManager class that enforces a common syntax for devices: such as getDevices (instead of listDevices) etc -> perhaps I should put this up for discussion in the forum?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/809","comments":2,"milestone":null,"number":809,"html_url":"https://github.com/openframeworks/openFrameworks/issues/809","assignee":null,"title":"Feature of sound stream","labels":[],"closed_at":"2012-02-25T18:31:14Z","created_at":"2011-11-11T05:12:58Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":2206447,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/809","patch_url":"https://github.com/openframeworks/openFrameworks/pull/809.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/809.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '35329'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"5f2c45187900a6bfc7bcadf4b00756c3"'), ('date', 'Tue, 29 May 2012 18:46:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"closed","user":{"gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Feature of sound player get volume","html_url":"https://github.com/openframeworks/openFrameworks/issues/808","comments":0,"assignee":null,"updated_at":"2012-01-20T12:50:34Z","body":"Added getVolume() to ofSoundPlayer.\r\n\r\nNB: I had a strange problem with openALSoundPlayer where Xcode kept complaining if I implemented getVolume as a pure virtual function in ofBaseSoundPlayer (which it should be)...perhaps it's just my development platform?\r\n\r\nAnnoyingly I had to change it in order to continue developing, but really it should be virtual void getVolume() = 0; in ofBaseSoundPlayer...","number":808,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/808","diff_url":"https://github.com/openframeworks/openFrameworks/pull/808.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/808.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/808","labels":[],"id":2206402,"closed_at":"2012-01-20T12:50:34Z","created_at":"2011-11-11T05:01:54Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Feature of key modifiers","html_url":"https://github.com/openframeworks/openFrameworks/issues/807","comments":7,"assignee":null,"updated_at":"2012-02-25T18:23:52Z","body":"Since its pretty common to need this thought it might be worth adding to ofUtils","number":807,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/807","diff_url":"https://github.com/openframeworks/openFrameworks/pull/807.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/807.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/807","labels":[],"id":2206382,"closed_at":"2012-02-25T18:23:52Z","created_at":"2011-11-11T04:53:33Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofShader::linkProgram() should return false when it fails","html_url":"https://github.com/openframeworks/openFrameworks/issues/806","comments":2,"assignee":null,"updated_at":"2012-05-14T11:24:45Z","body":"right now linkProgram() only returns false when there is no shader to link, but still returns true when it fails to link.","number":806,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/806","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":2196040,"closed_at":"2012-05-14T11:24:45Z","created_at":"2011-11-10T09:19:31Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofColor bugs","html_url":"https://github.com/openframeworks/openFrameworks/issues/805","comments":3,"assignee":null,"updated_at":"2011-11-10T05:58:27Z","body":"closes #804. fixes an oversaturation bug, overbrightness bug, desaturation bug, and gray setHsb bug.","number":805,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/805","diff_url":"https://github.com/openframeworks/openFrameworks/pull/805.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/805.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/805","labels":[],"id":2194737,"closed_at":"2011-11-10T05:58:27Z","created_at":"2011-11-10T04:54:00Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"setHSB / getHSB is broken ","html_url":"https://github.com/openframeworks/openFrameworks/issues/804","comments":8,"assignee":null,"updated_at":"2011-11-10T05:58:29Z","body":"this should draw two black squares, but it draws a black square and then a white square ( 255, 255, 255 ) \r\n\r\n\tofColor c; \r\n\tc.set(1, 1, 1); \r\n\r\n\tofSetColor(c); \r\n\tofRect(0, 0, 100, 100); \r\n\t\r\n\tfloat h, s, v = 0.0;\r\n\tc.getHsb(h, s, v);\r\n\tc.setHsb(h, s, v);\r\n\r\n\tofSetColor(c); \r\n\tofRect(100, 0, 100, 100); ","number":804,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/804","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":2191717,"closed_at":"2011-11-10T05:58:29Z","created_at":"2011-11-09T21:45:24Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"24a17bf6ee1c1ea2f24a8015a5eb63c1","url":"https://api.github.com/users/leorobot","login":"leorobot","id":1172107,"avatar_url":"https://secure.gravatar.com/avatar/24a17bf6ee1c1ea2f24a8015a5eb63c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"AssimpExample OSX","html_url":"https://github.com/openframeworks/openFrameworks/issues/803","comments":4,"assignee":null,"updated_at":"2011-12-02T15:15:50Z","body":"Hi all !\r\n\r\nMaybe this may be a very dumb question... I tried to build the assimpExample in my MAC with OSX and Xcode (using of course the 007 OF version) and the build process was successful. However, after this, I tried to run it but It did not do it !! It's very strange, because I tried to run other examples and they did run. In fact, I was thinking there was a problem with the OpenGL, but I tried to run the 3DmodelLoaded example and another one working with OpenGL and both of them worked perfectly.\r\n\r\nAny idea ??\r\n\r\nBest,\r\n\r\nLeoRobot","number":803,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/803","labels":[],"id":2142759,"closed_at":"2011-12-02T15:15:50Z","created_at":"2011-11-04T11:12:48Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a23d62f208aaa5793d80dff557f59187","url":"https://api.github.com/users/trentbrooks","login":"trentbrooks","id":578782,"avatar_url":"https://secure.gravatar.com/avatar/a23d62f208aaa5793d80dff557f59187?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx lion 10.7 and ofImage/ofPixels bug?","html_url":"https://github.com/openframeworks/openFrameworks/issues/802","comments":2,"assignee":null,"updated_at":"2012-02-08T08:36:38Z","body":"I've slowly been migrating an OF project from another machine on osx 10.6 to one on osx lion 10.7 and have noticed 2 weird bugs with ofImage. Note, I've already changed base sdk to 10.6 for projects + targets as suggested here https://github.com/openframeworks/openFrameworks/issues/573 which works fine except for these issues.\r\n\r\n1) When loading an image with dimensions exactly 1280x720, if fails every time and stops at the swapRGB method in ofPixels? You can test this with the 'imageLoaderExample' just change the first line in setup to load any image you have that's 1280x720. Here's an image to save to the data/images folder if you want to test: http://trentbrooks.com/files/testImage.jpg\r\n\r\n// first line in setup\r\nbikers.loadImage(\"images/testImage.jpg\");\r\n\r\nI've got around this for now by changing the image size to 1282x722.\r\n\r\nUPDATE... just noticed this happens for images 1024x768 as well.\r\n\r\n2) I've noticed when loading images from within a thread, loading fails with 'OF: OF_LOG_ERROR: Couldn't load image... '. From what I can tell, it prepends \"../../../data/\" to whatever string you pass to loadImage().\r\n\r\nI've got around this by adding ofToDataPath(\"whatever.jpg\") inside the loadImage() function. But this didn't happen in 10.6.\r\n\r\nThanks.","number":802,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/802","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":2129168,"closed_at":"2012-02-08T08:36:38Z","created_at":"2011-11-03T03:53:24Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"0f88fd202fd91181787105ee0611ef39","url":"https://api.github.com/users/atduskgreg","login":"atduskgreg","id":165,"avatar_url":"https://secure.gravatar.com/avatar/0f88fd202fd91181787105ee0611ef39?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Polyline include","html_url":"https://github.com/openframeworks/openFrameworks/issues/801","comments":6,"assignee":null,"updated_at":"2011-10-31T09:45:07Z","body":"Moved functions for checking to see whether a point is contained inside of a polygon from ofMath to be a static function on ofPolyline as discussed in issue #800. New function is ofPolyline::include() with two signatures (exactly in parallel with the two it had when it was ofInsidePoly()).\r\n\r\n(Note for some reason Github is generating this pull request to include two older commits as well as the two on my polyline-include branch. My branch (atrudskgreg/openframeworks/polyline-include) should merge cleanly into the HEAD of openframeworks/openframeworks/develop)\r\n\r\n-- Greg","number":801,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/801","diff_url":"https://github.com/openframeworks/openFrameworks/pull/801.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/801.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/801","labels":[],"id":2091018,"closed_at":"2011-10-31T09:45:07Z","created_at":"2011-10-30T15:54:08Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"enableAntiAliasing() on iOS incompatible with ofxiPhoneScreenGrab()","html_url":"https://github.com/openframeworks/openFrameworks/issues/799","comments":2,"assignee":null,"updated_at":"2012-03-09T06:34:00Z","body":"Setting the following in main.h\r\n\r\n```c++\r\nofAppiPhoneWindow *iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableRetinaSupport();\r\niOSWindow->enableAntiAliasing( 4 );\r\n\r\nofSetupOpenGL( iOSWindow, 480, 320, OF_FULLSCREEN );\r\n\r\nofRunApp( new testApp );\r\n```\r\n\r\nresults in black images from ofxiPhoneScreenGrab()","number":799,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/799","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":2086898,"closed_at":"2012-03-09T06:34:00Z","created_at":"2011-10-29T13:13:06Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxVectorGraphics :: beginEPS - bug with applying translation.","html_url":"https://github.com/openframeworks/openFrameworks/issues/796","comments":0,"assignee":null,"updated_at":"2012-01-20T12:33:37Z","body":"picked up on a small bug in this line,\r\ncreeps.applyTranslation(0, ofGetHeight());\r\n\r\nit should be,\r\ncreeps.applyTranslation(0, h);\r\n\r\nif the user specifies a dimension different to the window size, the h property needs to be used instead of ofGetHeight() otherwise the positioning inside the EPS gets messed up.","number":796,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/796","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":2074949,"closed_at":"2012-01-20T12:33:37Z","created_at":"2011-10-28T01:55:23Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","url":"https://api.github.com/users/falcon4ever","login":"falcon4ever","id":480019,"avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Windows compatibility patches for the oF Develop branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/794","comments":6,"assignee":null,"updated_at":"2012-02-19T23:30:58Z","body":"- Patches required to compile openFrameworks for Android on the Windows platform (Requires MinGW/MSYS, details are explained in links below)\r\n- Patches required to compile Android demo applications on Windows\r\n- Updated ofAndroidlib and Android demo projects to be compatible with Android SDK r14 (New build.xml and property files)\r\n- All demo applications work correctly on Android 2.3.6 stock (Nexus One)\r\n\r\nAdditional information:\r\n- http://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n- http://forum.openframeworks.cc/index.php/topic,7046.msg32895.html#msg32895\r\n\r\n19/11/2011:\r\nAdded updates for NDK r7","number":794,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/794","diff_url":"https://github.com/openframeworks/openFrameworks/pull/794.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/794.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/794","labels":[],"id":2057482,"closed_at":"2012-02-19T23:30:58Z","created_at":"2011-10-26T14:53:58Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"58512428c7499b4bdcbeefd049743cc4","url":"https://api.github.com/users/dallastaylor","login":"dallastaylor","id":54482,"avatar_url":"https://secure.gravatar.com/avatar/58512428c7499b4bdcbeefd049743cc4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Bugfix autoreleasepool","html_url":"https://github.com/openframeworks/openFrameworks/issues/792","comments":4,"assignee":null,"updated_at":"2012-02-25T18:22:42Z","body":"I added an objective-c file so NSAutoreleasePool can be used to resolve the memory leak caused by the OSX alert dialog, as documented in Issue #358.\r\n\r\nAlso updated the xcode project to include it in the build.\r\n\r\n","number":792,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/792","diff_url":"https://github.com/openframeworks/openFrameworks/pull/792.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/792.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/792","labels":[],"id":2029765,"closed_at":"2012-02-25T18:22:42Z","created_at":"2011-10-24T02:25:32Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"58512428c7499b4bdcbeefd049743cc4","url":"https://api.github.com/users/dallastaylor","login":"dallastaylor","id":54482,"avatar_url":"https://secure.gravatar.com/avatar/58512428c7499b4bdcbeefd049743cc4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Bugfix osx open dialog memory leak","html_url":"https://github.com/openframeworks/openFrameworks/issues/791","comments":0,"assignee":null,"updated_at":"2011-10-23T19:19:25Z","body":"The OS X open dialog has a memory leak as cfString was not being released.","number":791,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/791","diff_url":"https://github.com/openframeworks/openFrameworks/pull/791.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/791.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/791","labels":[],"id":2027833,"closed_at":"2011-10-23T19:19:25Z","created_at":"2011-10-23T18:01:18Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOsc only adds int32_t typedef for VS vers < VS2010, fixes #559","html_url":"https://github.com/openframeworks/openFrameworks/issues/790","comments":1,"assignee":null,"updated_at":"2011-10-23T19:21:44Z","body":"A small define fix as VS2010+ now have ANSI C typedefs. See https://github.com/openframeworks/openFrameworks/issues/559#issuecomment-2433189 for more info.","number":790,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/790","diff_url":"https://github.com/openframeworks/openFrameworks/pull/790.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/790.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/790","labels":[],"id":2027683,"closed_at":"2011-10-23T19:21:44Z","created_at":"2011-10-23T17:32:32Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","url":"https://api.github.com/users/falcon4ever","login":"falcon4ever","id":480019,"avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"openFrameworks for Android on Windows Makefile fixes","html_url":"https://github.com/openframeworks/openFrameworks/issues/788","comments":0,"assignee":null,"updated_at":"2011-11-10T13:21:43Z","body":"Fixes to compile openFrameworks for Android on Windows. Requires MinGW/MSYS environment, details are explained in the tutorial.\r\n\r\nAdditional information:\r\n- http://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n- http://forum.openframeworks.cc/index.php/topic,7046.msg32895.html#msg32895","number":788,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/788","diff_url":"https://github.com/openframeworks/openFrameworks/pull/788.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/788.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/788","labels":[],"id":2015407,"closed_at":"2011-11-10T13:21:43Z","created_at":"2011-10-21T13:33:08Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"opencv2 hole detection broken, here is the fix (thanks Golan) ... again again!","html_url":"https://github.com/openframeworks/openFrameworks/issues/784","comments":1,"assignee":null,"updated_at":"2011-10-19T08:06:41Z","body":"opencv2 cvContourArea runs fabs on the area by default unless the (new!) third variable is set to true, this breaks hole detection since no negative areas are returned. Also, the current fabs calls are redundant.\r\n\r\nGolan noticed that hole detection was off in 007 and I tracked this down, although the function update is not actually reflected in the opencv2 documentation ... blah. See this [disgruntled post](http://opencv-users.1802565.n2.nabble.com/cvContourArea-changed-API-tt4817692.html#none).\r\n\r\nI tracked down the [diff for the open cv update](https://code.ros.org/trac/opencv/changeset/2927) that clearly shows the new variable, int oriented, controls whether negative areas are returned or not.\r\n\r\nThis is a re-resubmission of a previous [pull request](https://github.com/openframeworks/openFrameworks/pull/756) but now to the develop branch.","number":784,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/784","diff_url":"https://github.com/openframeworks/openFrameworks/pull/784.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/784.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/784","labels":[],"id":1990670,"closed_at":"2011-10-19T08:06:41Z","created_at":"2011-10-19T04:57:23Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"opencv2 hole detection broken, here is the fix (thanks Golan) ... try try again","html_url":"https://github.com/openframeworks/openFrameworks/issues/783","comments":2,"assignee":null,"updated_at":"2011-10-19T04:23:52Z","body":"opencv2 cvContourArea runs fabs on the area by default unless the (new!) third variable is set to true, this breaks hole detection since no negative areas are returned. Also, the current fabs calls are redundant.\r\n\r\nGolan noticed that hole detection was off in 007 and I tracked this down, although the function update is not actually reflected in the opencv2 documentation ... blah. See this [disgruntled post](http://opencv-users.1802565.n2.nabble.com/cvContourArea-changed-API-tt4817692.html#none).\r\n\r\nI tracked down the [diff for the open cv update](https://code.ros.org/trac/opencv/changeset/2927) that clearly shows the new variable, int oriented, controls whether negative areas are returned or not.\r\n\r\nThis is a re-resubmission of a previous [pull request](https://github.com/openframeworks/openFrameworks/pull/756) but now to the develop branch.","number":783,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/783","diff_url":"https://github.com/openframeworks/openFrameworks/pull/783.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/783.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/783","labels":[],"id":1990450,"closed_at":"2011-10-19T04:23:52Z","created_at":"2011-10-19T03:59:48Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5934b87b143f3bc860a2da7387f42de9","url":"https://api.github.com/users/github-user32","login":"github-user32","id":447669,"avatar_url":"https://secure.gravatar.com/avatar/5934b87b143f3bc860a2da7387f42de9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Added 3D versions of ofCurve(), ofBezier(), ofVertex() and ofBezierVertex()","html_url":"https://github.com/openframeworks/openFrameworks/issues/782","comments":2,"assignee":null,"updated_at":"2011-10-19T08:22:03Z","body":"ofGraphics.h already has 3D versions of ofTriangle(), ofCircle() etc.\r\n\r\nTo match these, I've added 3D versions of ofCurve(), ofBezier(), ofVertex() and ofBezierVertex() which really just pass an additional (z) coordinate through to the underlying shape path.\r\n\r\nIn ofGraphics.cpp only, I've also fixed all instances of opening braces to match the OF coding style guide. ie. Opening brace on same line as start of statement, without preceding space.\r\n\r\nJust noticed that some of my new function declarations exceed the 100 character width in the OF coding style guide...but there are a number of other functions in the same file that already do too. Happy to fix it if you can point at an example of how you split function declarations over multiple lines - the coding style guide doesn't seem to address it directly...","number":782,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/782","diff_url":"https://github.com/openframeworks/openFrameworks/pull/782.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/782.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/782","labels":[],"id":1990323,"closed_at":"2011-10-19T08:08:56Z","created_at":"2011-10-19T03:26:31Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"cc4cace34c61103f0624002a692820f7","url":"https://api.github.com/users/gimlids","login":"gimlids","id":186277,"avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofMesh::getCentroid()","html_url":"https://github.com/openframeworks/openFrameworks/issues/781","comments":13,"assignee":null,"updated_at":"2011-10-27T11:08:46Z","body":"","number":781,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/781","diff_url":"https://github.com/openframeworks/openFrameworks/pull/781.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/781.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/781","labels":[],"id":1989894,"closed_at":"2011-10-27T11:08:46Z","created_at":"2011-10-19T02:04:53Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"opencv2 hole detection broken, here is the fix (thanks Golan)","html_url":"https://github.com/openframeworks/openFrameworks/issues/780","comments":2,"assignee":null,"updated_at":"2011-10-19T03:19:58Z","body":"opencv2 cvContourArea runs fabs on the area by default unless the (new!) third variable is set to true, this breaks hole detection since no negative areas are returned. Also, the current fabs calls are redundant.\r\n\r\nGolan noticed that hole detection was off in 007 and I tracked this down, although the function update is not actually reflected in the opencv2 documentation ... blah. See this [disgruntled post](http://opencv-users.1802565.n2.nabble.com/cvContourArea-changed-API-tt4817692.html#none).\r\n\r\nI tracked down the [diff for the open cv update](https://code.ros.org/trac/opencv/changeset/2927) that clearly shows the new variable, int oriented, controls whether negative areas are returned or not.\r\n\r\nThis is a resubmission of a previous [pull request](https://github.com/openframeworks/openFrameworks/pull/756) but now to the develop branch.","number":780,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/780","diff_url":"https://github.com/openframeworks/openFrameworks/pull/780.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/780.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/780","labels":[],"id":1986549,"closed_at":"2011-10-19T03:19:58Z","created_at":"2011-10-19T00:12:37Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5934b87b143f3bc860a2da7387f42de9","url":"https://api.github.com/users/github-user32","login":"github-user32","id":447669,"avatar_url":"https://secure.gravatar.com/avatar/5934b87b143f3bc860a2da7387f42de9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Added 3D versions of ofCurve(), ofBezier(), ofVertex() and ofBezierVertex()","html_url":"https://github.com/openframeworks/openFrameworks/issues/779","comments":6,"assignee":null,"updated_at":"2011-10-19T02:52:18Z","body":"ofGraphics.h already has 3D versions of ofTriangle(), ofCircle() etc. \r\n\r\nTo match these, I've added 3D versions of ofCurve(), ofBezier(), ofVertex() and ofBezierVertex() which really just pass an additional (z) coordinate through to the underlying shape path.","number":779,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/779","diff_url":"https://github.com/openframeworks/openFrameworks/pull/779.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/779.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/779","labels":[],"id":1978176,"closed_at":"2011-10-19T02:52:18Z","created_at":"2011-10-18T22:08:22Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","url":"https://api.github.com/users/soundanalogous","login":"soundanalogous","id":401539,"avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Bugfix of arduino update - added missing image","html_url":"https://github.com/openframeworks/openFrameworks/issues/777","comments":0,"assignee":null,"updated_at":"2011-10-18T05:54:21Z","body":"This commit adds the image file that was missing from the previous pull request and also gets rid of a file that's no longer needed.","number":777,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/777","diff_url":"https://github.com/openframeworks/openFrameworks/pull/777.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/777.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/777","labels":[],"id":1935186,"closed_at":"2011-10-18T05:54:21Z","created_at":"2011-10-18T00:42:58Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a530cfce7e7e26f354cdc1bb444f94c5","url":"https://api.github.com/users/2bbb","login":"2bbb","id":200899,"avatar_url":"https://secure.gravatar.com/avatar/a530cfce7e7e26f354cdc1bb444f94c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Maybe, tex_coords[] in GL_TRIANGLE_STRIP are ","html_url":"https://github.com/openframeworks/openFrameworks/issues/776","comments":2,"assignee":null,"updated_at":"2011-10-17T07:33:28Z","body":"975: tx1, ty1,\r\n976: tx0, ty1\r\n->\r\n975: tx0, ty1,\r\n976: tx1, ty1","number":776,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/776","diff_url":"https://github.com/openframeworks/openFrameworks/pull/776.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/776.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/776","labels":[],"id":1924020,"closed_at":"2011-10-17T07:33:28Z","created_at":"2011-10-17T00:22:50Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a530cfce7e7e26f354cdc1bb444f94c5","url":"https://api.github.com/users/2bbb","login":"2bbb","id":200899,"avatar_url":"https://secure.gravatar.com/avatar/a530cfce7e7e26f354cdc1bb444f94c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"correct line 982. \"p4.x, p4.x\" -> \"p4.x, p4.y\"","html_url":"https://github.com/openframeworks/openFrameworks/issues/775","comments":0,"assignee":null,"updated_at":"2011-10-17T06:11:45Z","body":"","number":775,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/775","diff_url":"https://github.com/openframeworks/openFrameworks/pull/775.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/775.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/775","labels":[],"id":1923910,"closed_at":"2011-10-17T06:11:45Z","created_at":"2011-10-16T23:40:44Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOsc getRemotePort() returns wrong port","html_url":"https://github.com/openframeworks/openFrameworks/issues/773","comments":1,"assignee":null,"updated_at":"2011-10-13T15:44:06Z","body":"as mentioned in http://forum.openframeworks.cc/index.php/topic,7614.msg35625 \r\nI have also experienced that, so I can confirm.\r\n\r\ngetRemotePort() returns e.g. 52555 when the real port is 12345. \r\naccording to `ofxOscReceiver::ProcessMessage` implementation, this should work, the port gets assigned when the message is processed. The comment in `IpEndpointName.h`: \r\n`// address and port are maintained in host byte order here` is the only thing jumping out at me, does the byte order get jumbled or something? but that shouldn't be an issue when on `localhost`, no?","number":773,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/773","labels":[],"id":1897860,"closed_at":"2011-10-13T15:44:06Z","created_at":"2011-10-13T07:32:44Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=15&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '39109'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c04775a433cb77f27d8539e9940abd5b"'), ('date', 'Tue, 29 May 2012 18:46:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-10-10T12:40:09Z","body":"in ofAppRunner.cpp, ofExitCallback() calls ofNotifyExit() last, after closing the sound stream and cleaning up free image. This created a problem for me when I had some code in my testApp::exit() function which was trying to use ofSaveImage(), and getting a segfault beacuse freeImage is no longer loaded. \r\n\r\nBy moving ofNotifyExit() to the top of the function, the problem is solved. I'm not sure if this introduces other problems, but I checked with the debugger and everything else does get called after the testApp::exit() function returns, so it should be okay.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/770","comments":0,"milestone":null,"number":770,"html_url":"https://github.com/openframeworks/openFrameworks/issues/770","assignee":null,"title":"ofExitCallback() does cleanup before notifying the running app","labels":[],"closed_at":"2011-10-10T12:40:09Z","created_at":"2011-10-10T06:07:10Z","state":"closed","user":{"url":"https://api.github.com/users/timscaffidi","gravatar_id":"2ad43b65cb02eca2b722133681647492","login":"timscaffidi","avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177125},"id":1861067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-10T12:40:09Z","body":"I noticed that in linux (not sure about other platforms) calling setDesiredFrameRate(); before calling initGrabber() has no effect, even when the desired framerate is available by the camera driver, and shows up in the log from ofVideoPlayer.\r\n\r\nI've tracked down the source of the problem, and it appears to be that initially the internal grabber object is NULL, and is only created when initGrabber is called, thus any prior attempts to set the framerate will not work. \r\n\r\nBy moving the lines:\r\n\r\nif( grabber == NULL ){\r\n\tsetGrabber( ofPtr(new OF_VID_GRABBER_TYPE) );\r\n}\r\n\r\nfrom initGrabber() to the ofVideoGrabber constructor, the issue is solved. I'm not sure if this would have any undesirable effects, however.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/769","comments":0,"milestone":null,"number":769,"html_url":"https://github.com/openframeworks/openFrameworks/issues/769","assignee":null,"title":"ofVideoGrabber, setDesiredFrameRate ignored","labels":[],"closed_at":"2011-10-10T12:40:09Z","created_at":"2011-10-10T05:17:54Z","state":"closed","user":{"url":"https://api.github.com/users/timscaffidi","gravatar_id":"2ad43b65cb02eca2b722133681647492","login":"timscaffidi","avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177125},"id":1860899,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-17T16:08:24Z","body":"A change in the firmata protocol that ships with the upcoming Arduino 1.0 release will impact ofArduino (for OF users who load StandardFirmata from Arduino 1.0). The issue is a change in the pin numbering used in the Firmata library for the standard (ATMega168 and ATMega328 based) Arduinos. This commit fixes the issue while maintaining backwards compatibility with previous versions of firmata. I have also updated the firmataExample example to demonstrate how to set analog pins as digital I/O pins (this was previously broken) and also how to control a servo motor.\r\n\r\nThere are a number of new features in Firmata 2.3 that can make it easier to use Arduino with OF (and other frameworks). However ofArduino currently supports 3 different versions of Firmata so to add new features and maintain backwards compatibility would be a pain (not to mention a mess). In the near future I plan to create a new addon ofxArduino (or ofxFirmata) that will take full advantage of Firmata 2.3, adding support for pretty much any board that can be programmed via the Arduino IDE as well as new features such as I2C support (which is now part of StandardFirmata). I think ofArduino should remain as is to provide backwards compatibility, and the new addon will only support Firmata 2.3 (Arduino 1.0) and higher.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/768","comments":3,"milestone":null,"number":768,"html_url":"https://github.com/openframeworks/openFrameworks/issues/768","assignee":null,"title":"Bugfix ofArduino update to be compatible with Arduino 1.0","labels":[],"closed_at":"2011-10-17T06:47:33Z","created_at":"2011-10-09T06:07:35Z","state":"closed","user":{"url":"https://api.github.com/users/soundanalogous","gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","login":"soundanalogous","avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":401539},"id":1855139,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/768.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/768","diff_url":"https://github.com/openframeworks/openFrameworks/pull/768.diff"}},{"updated_at":"2011-12-03T23:44:15Z","body":"when using the movieGrabber on osx (10.6 in my case) There are a bunch of warnings like this\r\n\r\nmovieGrabberExampleDebug[2351:903] *** __NSAutoreleaseNoPool(): Object 0x1410280 of class NSCFArray autoreleased with no pool in place - just leaking\r\n\r\nthere seem to be some memory leaks in ofQuickTimeGrabber. according to Instruments, those are in listDevices(), loadSettings() and qtSelectDevice \r\n\r\nmore info + screenshot of Instruments session\r\nhttp://forum.openframeworks.cc/index.php/topic,7474.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/763","comments":1,"milestone":null,"number":763,"html_url":"https://github.com/openframeworks/openFrameworks/issues/763","assignee":null,"title":"ofQuickTimeGrabber::listDevices memory leak","labels":[],"closed_at":"2011-12-03T23:44:15Z","created_at":"2011-10-02T09:30:42Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":1794924,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-17T23:21:32Z","body":"Changed saveFile methods in ofxXmlSettings to return a boolean on success/failure to save a file...this let's you catch errors if it's not possible to save an xml file during or after modifications. \r\n\r\n(It's pretty basic, but figure I should start somewhere helping out ;-)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/762","comments":1,"milestone":null,"number":762,"html_url":"https://github.com/openframeworks/openFrameworks/issues/762","assignee":null,"title":"Bugfix return bool on save xml","labels":[],"closed_at":"2011-10-17T23:21:32Z","created_at":"2011-09-29T11:43:43Z","state":"closed","user":{"url":"https://api.github.com/users/gameoverhack","gravatar_id":"397ac2141aace0681a354185e7efb0f1","login":"gameoverhack","avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331599},"id":1774106,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/762.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/762","diff_url":"https://github.com/openframeworks/openFrameworks/pull/762.diff"}},{"updated_at":"2012-02-25T03:57:37Z","body":"Why is ofLog [adding a space after the ostream (<<) operator](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.h#L73)?\r\n\r\nThis does not match the expected behavior of cout and cerr which ofLog is modeled after. I can understand it may be \"nice\" for some newbies but it now means I can't concatenate string output and prints formatted in the manner of ALL C++ BOOKS AND ONLINE INFO.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/761","comments":6,"milestone":null,"number":761,"html_url":"https://github.com/openframeworks/openFrameworks/issues/761","assignee":null,"title":"ofLog is adding a space after the ostream operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":"2012-02-25T03:57:37Z","created_at":"2011-09-28T01:15:42Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758336,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-15T12:58:27Z","body":"Hi,\r\n\r\nThe ofSoundStream automatically resets your sample rate to be 96000 Hz, since this is the soundcard default. This can be seen by looking at Audio MIDI setup application, as Arturo observed on the old forum.\r\n\r\n\r\nI find that simply clicking on the sample rate in Audio MIDI setup works but Is there a way to have control over this? What would we need to do to change it in the code?\r\n\r\nponje other alternative might be use a sample rate conversion : eg zita-resampler, but if we can not switch to different sample rate, that would be preferable.\r\n\r\nI'm trying to port some audio analysis - beat tracking, chroma etc, that currently run at 44100.\r\n\r\nThanks,\r\nAndrew","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/759","comments":1,"milestone":null,"number":759,"html_url":"https://github.com/openframeworks/openFrameworks/issues/759","assignee":null,"title":"Sample rate using ofSoundStream and RtAudio","labels":[],"closed_at":"2011-10-15T12:58:27Z","created_at":"2011-09-27T17:06:04Z","state":"closed","user":{"url":"https://api.github.com/users/Venetian","gravatar_id":"380a371d4bec591ddf9f8201ffdaed5d","login":"Venetian","avatar_url":"https://secure.gravatar.com/avatar/380a371d4bec591ddf9f8201ffdaed5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":474147},"id":1754108,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-19T00:09:30Z","body":"opencv2 cvContourArea runs fabs on the area by default unless the (new!) third variable is set to true, this breaks hole detection since no negative areas are returned. Also, the current fabs calls are redundant.\r\n\r\nGolan noticed that hole detection was off in 007 and I tracked this down, although the function update is not actually reflected in the opencv2 documentation ... blah. See this [disgruntled post](http://opencv-users.1802565.n2.nabble.com/cvContourArea-changed-API-tt4817692.html#none).\r\n\r\nI tracked down the [diff for the open cv update](https://code.ros.org/trac/opencv/changeset/2927) that clearly shows the new variable, int oriented, controls whether negative areas are returned or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/756","comments":6,"milestone":null,"number":756,"html_url":"https://github.com/openframeworks/openFrameworks/issues/756","assignee":null,"title":"opencv2 hole detection broken, here is the fix (thanks Golan)","labels":[],"closed_at":"2011-10-19T00:09:30Z","created_at":"2011-09-25T04:48:52Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1732626,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/756.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/756","diff_url":"https://github.com/openframeworks/openFrameworks/pull/756.diff"}},{"updated_at":"2012-02-10T08:43:13Z","body":"In 3d/ofMesh.h, line 135, the ofMesh parameter should be a reference (like it is declared)\r\n\r\nFix:\r\ninline std::ostream& operator<<(std::ostream& os, ofMesh& data) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/755","comments":3,"milestone":null,"number":755,"html_url":"https://github.com/openframeworks/openFrameworks/issues/755","assignee":null,"title":"ofMesh << operator, incorrect parameter ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-02-10T08:43:13Z","created_at":"2011-09-23T12:50:05Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1723034,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-28T14:59:16Z","body":"this question comes up constantly on the forum.\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,2197.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,7383.msg34454.html#msg34454\r\nhttp://forum.openframeworks.cc/index.php/topic,5962.msg28994.html\r\nhttp://forum.openframeworks.cc/index.php/topic,7260.msg33887.html\r\n\r\n'roi' is my language, but for naming i think the best words come from the people asking questions:\r\n\r\n- \"subsection\"\r\n- \"part of an image\"\r\n- \"parts of it\"\r\n- \"cropping\"\r\n- \"breaking it apart into tiles\"\r\n\r\nideally this would exist for videograbber, image, etc. anything with a texture.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/751","comments":9,"milestone":null,"number":751,"html_url":"https://github.com/openframeworks/openFrameworks/issues/751","assignee":null,"title":"gl-based roi/subsection drawing","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-05-28T14:59:16Z","created_at":"2011-09-20T05:18:04Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1685124,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-10-17T23:35:56Z","body":"these should be non-controversial solutions for some serious problems, closing 3 issues.\r\n\r\ni do have a three ideas that might be more controversial:\r\n\r\n1 remove background-auto-color setting from ofBackground. this means that the historical ofBackground would be completely divided into ofBackground and ofSetBackgroundColor. it also breaks usage of ofBackground in setup, which i think is a bad pattern anyway.\r\n\r\n2 remove ofClear, which is confusing and causes issues like https://github.com/openframeworks/openFrameworks/issues/264 if ofBackground and ofSetBackgroundColor are separated as suggested above, ofClear becomes redundant.\r\n\r\n3 this might sound ridiculous, but hear me out: let's move ofSetBackgroundAuto() to main.cpp. right now there are serious problems with ofSetBackgroundAuto(false), see https://github.com/openframeworks/openFrameworks/issues/368#issuecomment-2135179 i'm pretty sure the only way to get a consistently non-flickering accumulation buffer is to use a single buffer. (unless there's some trick where you blit from the back to front instead of swapping them). and to have a single buffer setup, we need to do that from main.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/750","comments":6,"milestone":null,"number":750,"html_url":"https://github.com/openframeworks/openFrameworks/issues/750","assignee":null,"title":"fixed some bugs surrounding background setting","labels":[],"closed_at":"2011-10-17T23:18:51Z","created_at":"2011-09-19T16:11:12Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1679683,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/750.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/750","diff_url":"https://github.com/openframeworks/openFrameworks/pull/750.diff"}},{"updated_at":"2012-04-22T17:27:01Z","body":"very curious to know why this is commented out:\r\n\r\n//operator overloading for float\r\n//\r\n//\r\n//inline void ofVec3f::operator=( const float f){\r\n//\tx = f;\r\n//\ty = f;\r\n//\tz = f;\r\n//}\r\n\r\npre 007 behavior was:\r\n\r\nmyPoint = 0.0; would set x y and z to 0.0. \r\nnow myPoint = 0.0; only sets x. \r\n\r\nthis can create some really bad bugs for people expecting ofPoint to work as it used to. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/749","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":749,"html_url":"https://github.com/openframeworks/openFrameworks/issues/749","assignee":null,"title":"ofPoint / ofVec3f missing = operator for float ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-04-22T17:27:01Z","created_at":"2011-09-17T10:14:04Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1668455,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:52:28Z","body":"Linker setting needs libcomdlg32.a for all CB projects.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/747","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":70,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":747,"html_url":"https://github.com/openframeworks/openFrameworks/issues/747","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug in CB 007 project - missing libcomdlg32.a for dialog boxes / load save dialogs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-09T16:52:28Z","created_at":"2011-09-16T17:41:15Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1664249,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-09-15T14:41:11Z","body":"this bug stems from a misunderstanding of ofVbo that could have been averted if ofVbo reported a warning when you try to update with more data than you've allocated: http://forum.openframeworks.cc/index.php/topic,7313.0/","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/746","comments":4,"milestone":null,"number":746,"html_url":"https://github.com/openframeworks/openFrameworks/issues/746","assignee":null,"title":"ofVbo::update*Data should warn when updating too much data","labels":[],"closed_at":"2011-09-15T14:41:11Z","created_at":"2011-09-15T13:18:30Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1652792,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-11-16T17:05:58Z","body":"It was not compiling the examples because of this missing lib.\r\n\r\nThis happened on Fedora 15.\r\nBTW, I also needed to install the jack library, maybe we should add it to the install_dependencies.sh, I can do it if you agree.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/742","comments":9,"milestone":null,"number":742,"html_url":"https://github.com/openframeworks/openFrameworks/issues/742","assignee":null,"title":"linux: Add zlib to the system libs in the template's makefile","labels":[],"closed_at":"2011-11-16T17:05:43Z","created_at":"2011-09-13T13:38:02Z","state":"closed","user":{"url":"https://api.github.com/users/joaquimrocha","gravatar_id":"a0a1e3a9ca85502ca53f11819d236764","login":"joaquimrocha","avatar_url":"https://secure.gravatar.com/avatar/a0a1e3a9ca85502ca53f11819d236764?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1029635},"id":1633135,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/742.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/742","diff_url":"https://github.com/openframeworks/openFrameworks/pull/742.diff"}},{"updated_at":"2011-09-13T11:40:28Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/741","comments":1,"milestone":null,"number":741,"html_url":"https://github.com/openframeworks/openFrameworks/issues/741","assignee":null,"title":"fix fmod syntax error","labels":[],"closed_at":"2011-09-13T11:40:09Z","created_at":"2011-09-13T11:25:13Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1632366,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/741.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/741","diff_url":"https://github.com/openframeworks/openFrameworks/pull/741.diff"}},{"updated_at":"2011-09-13T11:05:05Z","body":"sorry, last pull request was into master instead of develop","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/740","comments":1,"milestone":null,"number":740,"html_url":"https://github.com/openframeworks/openFrameworks/issues/740","assignee":null,"title":"fixes for ofColor static types and ofColor::operator<<","labels":[],"closed_at":"2011-09-13T11:04:53Z","created_at":"2011-09-13T10:53:31Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1632201,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/740.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/740","diff_url":"https://github.com/openframeworks/openFrameworks/pull/740.diff"}},{"updated_at":"2011-09-13T10:53:48Z","body":"some bugs i noticed","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/739","comments":0,"milestone":null,"number":739,"html_url":"https://github.com/openframeworks/openFrameworks/issues/739","assignee":null,"title":"fixes for ofColor static types and ofColor::operator<<","labels":[],"closed_at":"2011-09-13T10:53:48Z","created_at":"2011-09-13T10:51:55Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1632191,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/739.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/739","diff_url":"https://github.com/openframeworks/openFrameworks/pull/739.diff"}},{"updated_at":"2011-09-11T11:20:34Z","body":"Hi All\r\n\r\nAFAIK I need to create OpenGL pixel shader to have a OpenGL phong preview.\r\nI'm familiar with phong render but never did it in OpenGL. My task is quite standard - I need just a lighting with surface normal interpolated for every pixel. Is there a standard pixel shader(s) (or other ways to do this) that could be used?\r\n\r\nThanks\r\nTom","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/737","comments":1,"milestone":null,"number":737,"html_url":"https://github.com/openframeworks/openFrameworks/issues/737","assignee":null,"title":"OpenGL pixel shader (Phong)","labels":[],"closed_at":"2011-09-11T11:20:34Z","created_at":"2011-09-11T11:16:46Z","state":"closed","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1617725,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-09-11T11:20:54Z","body":"Hi All\r\n\r\nI'm reading about VAO but up to now don't understand too much ;)\r\nExample: I've an old OpenGL code draws via glDrawElements and glSetVertexPointer, glSetNormalPointer etc. Should I replace it with VAO and will it be faster/better?\r\n\r\nThanks\r\nTom","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/736","comments":0,"milestone":null,"number":736,"html_url":"https://github.com/openframeworks/openFrameworks/issues/736","assignee":null,"title":"OpenGL - Using VAO","labels":[],"closed_at":"2011-09-11T11:20:54Z","created_at":"2011-09-11T11:14:41Z","state":"closed","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1617717,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-09-11T11:21:04Z","body":"Hi All\r\n\r\nI've rebuilding an old app written more 10 years ago by other programmer. In code I see:\r\n\r\n- if there is no texture, so do draw via glDrawElements and glSetVertexPointer, glSetNormalPointer etc\r\n\r\n- otherwise (if there is a texture), do a simplest draw with glBegin, glVertex3f, glEnd. The UV coordinates are calculated based on map type (spherical etc), the texture's seams are processed by hands (temporary extra polygons are created).\r\n\r\nSo my question is: how can I use (faster) glDrawElements with texture as well? Is there a way to crete UVs via OpenGL (and to process seams properly) now?\r\n\r\nThanks\r\nTom","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/735","comments":0,"milestone":null,"number":735,"html_url":"https://github.com/openframeworks/openFrameworks/issues/735","assignee":null,"title":"Open GL - Texture Seams","labels":[],"closed_at":"2011-09-11T11:21:04Z","created_at":"2011-09-11T11:11:15Z","state":"closed","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1617665,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-09-11T11:23:54Z","body":"discussed here\r\nhttp://forum.openframeworks.cc/index.php/topic,7297","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/734","comments":2,"milestone":null,"number":734,"html_url":"https://github.com/openframeworks/openFrameworks/issues/734","assignee":null,"title":"kyle's suggestion of dealing with ofDataPath","labels":[],"closed_at":"2011-09-11T11:23:43Z","created_at":"2011-09-11T10:04:17Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1617397,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/734.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/734","diff_url":"https://github.com/openframeworks/openFrameworks/pull/734.diff"}},{"updated_at":"2012-05-16T11:42:53Z","body":"Trying to compile an OF app against fca449d348cf33803609a837311fa07450706750 on Lion, I get an error message \"RtAudio.h File cannot be found\". Looking at the openFrameworksLib.xcodeproj settings, HEADER_RTAUDIO is set to \"../../../../libs/rtaudio/include\". Setting it to \"../../../../libs/rtAudio/include\" fixes the problem.\r\n\r\nI suspect that this was missed in other peoples' tests because they were running with the stock non-case-sensitive HFS filesystem. I'm using the case-sensitive version.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/733","comments":1,"milestone":null,"number":733,"html_url":"https://github.com/openframeworks/openFrameworks/issues/733","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"RtAudio.h cannot be found on Mac with HFS case-sensitive file system","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":"2012-05-16T11:42:53Z","created_at":"2011-09-09T22:15:08Z","state":"closed","user":{"url":"https://api.github.com/users/heisters","gravatar_id":"320244a88881285d92475b3b0011b042","login":"heisters","avatar_url":"https://secure.gravatar.com/avatar/320244a88881285d92475b3b0011b042?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":72790},"id":1611853,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-12-05T16:59:00Z","body":"Most of the time, no cam is selected when the program start (no green led).\r\n\r\nUsing videoGrabber.videoSettings() makes the green led light up (video seems ok in the settings pane), but no data seems to be grabbed by the openFrameworks application (pixels are black).\r\n\r\nThe movieGrabberExample does not work and can be used to test the problem.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/732","comments":3,"milestone":null,"number":732,"html_url":"https://github.com/openframeworks/openFrameworks/issues/732","assignee":null,"title":"osx lion + of 007 ofVideoGrabber does not grab","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":"2011-12-05T16:59:00Z","created_at":"2011-09-09T16:54:44Z","state":"closed","user":{"url":"https://api.github.com/users/labe-me","gravatar_id":"ecca3b1bb8135dec28204aa085c56627","login":"labe-me","avatar_url":"https://secure.gravatar.com/avatar/ecca3b1bb8135dec28204aa085c56627?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":428594},"id":1609385,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-12-03T23:38:42Z","body":"When ofSetBackgroundAuto(false) is executed and ofPushStyle() is used strange things happens to ofFbos.\r\n\r\nHere's a testApp to illustrate the problem:\r\n\r\n```c++\r\n#include \"testApp.h\"\r\n\r\n// Test background auto + ofFbo + pushStyle bug.\r\n//\r\n// When background auto is disabled, any call to ofPushStyle/ofPopStyle will break the fbo.\r\n//\r\n// Expected: green screen whatever these bool values\r\n// Actual: black background, fbo does not appear\r\n//\r\nbool useBackgroundAuto = false;\r\nbool useStyleContext = true;\r\n\r\nofFbo buffer;\r\n\r\nvoid testApp::setup(){\r\n ofSetFrameRate(60);\r\n ofSetBackgroundAuto(useBackgroundAuto);\r\n ofBackground(0);\r\n\r\n buffer.allocate();\r\n\r\n // fill the buffer with green\r\n buffer.begin();\r\n if (useStyleContext) ofPushStyle();\r\n ofSetColor(255, 0, 0);\r\n ofFill();\r\n ofRect(0,0,ofGetWidth(),ofGetHeight());\r\n if (useStyleContext) ofPopStyle();\r\n buffer.end();\r\n}\r\n\r\nvoid testApp::update(){\r\n}\r\n\r\nvoid testApp::draw(){\r\n if (useStyleContext) ofPushStyle();\r\n ofSetColor(255,255,255); // set buffer brightness to maximum\r\n buffer.draw(0,0);\r\n if (useStyleContext) ofPopStyle();\r\n}\r\n\r\nvoid testApp::keyPressed(int key){\r\n}\r\n\r\nvoid testApp::keyReleased(int key){\r\n}\r\n\r\nvoid testApp::mouseMoved(int x, int y ){\r\n}\r\n\r\nvoid testApp::mouseDragged(int x, int y, int button){\r\n}\r\n\r\nvoid testApp::mousePressed(int x, int y, int button){\r\n}\r\n\r\nvoid testApp::mouseReleased(int x, int y, int button){\r\n}\r\n\r\nvoid testApp::windowResized(int w, int h){\r\n}\r\n\r\nvoid testApp::gotMessage(ofMessage msg){\r\n}\r\n\r\nvoid testApp::dragEvent(ofDragInfo dragInfo){\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/731","comments":5,"milestone":null,"number":731,"html_url":"https://github.com/openframeworks/openFrameworks/issues/731","assignee":null,"title":"ofSetBackgroundAuto(false) + ofFbo + ofPushStyle() = fbo.draw() do not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-12-03T23:38:42Z","created_at":"2011-09-07T12:56:23Z","state":"closed","user":{"url":"https://api.github.com/users/labe-me","gravatar_id":"ecca3b1bb8135dec28204aa085c56627","login":"labe-me","avatar_url":"https://secure.gravatar.com/avatar/ecca3b1bb8135dec28204aa085c56627?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":428594},"id":1589067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=16&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '31592'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"4b60fb64c94220278e0acfd277109471"'), ('date', 'Tue, 29 May 2012 18:46:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-09-13T13:38:45Z","body":"It was not compiling the examples because of this missing lib.\r\n\r\nThis happened on Fedora 15.\r\nBTW, I also needed to install the jack library, maybe we should add it to the install_dependencies.sh, I can do it if you agree.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/729","comments":1,"milestone":null,"number":729,"html_url":"https://github.com/openframeworks/openFrameworks/issues/729","assignee":null,"title":"linux: Add zlib to the system libs in the template's makefile","labels":[],"closed_at":"2011-09-13T13:38:09Z","created_at":"2011-09-06T17:33:53Z","state":"closed","user":{"url":"https://api.github.com/users/joaquimrocha","gravatar_id":"a0a1e3a9ca85502ca53f11819d236764","login":"joaquimrocha","avatar_url":"https://secure.gravatar.com/avatar/a0a1e3a9ca85502ca53f11819d236764?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1029635},"id":1581423,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/729.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/729","diff_url":"https://github.com/openframeworks/openFrameworks/pull/729.diff"}},{"updated_at":"2012-02-21T08:46:14Z","body":"added ofDrawGrid to complement ofDrawAxis. added 'get' accessors to ofCamera's internal properties, made ofCamera's internal properties protected rather than private","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/726","comments":8,"milestone":null,"number":726,"html_url":"https://github.com/openframeworks/openFrameworks/issues/726","assignee":null,"title":"added ofDrawGrid to complement ofDrawAxis. added 'get' accessors to ofCam","labels":[],"closed_at":"2012-02-09T15:37:33Z","created_at":"2011-09-03T11:12:49Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1557628,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/726.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/726","diff_url":"https://github.com/openframeworks/openFrameworks/pull/726.diff"}},{"updated_at":"2011-09-03T10:58:55Z","body":"added ofDrawGrid to complement ofDrawAxis. added 'get' accessors to ofCamera's internal properties, made ofCamera's internal properties protected rather than private","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/725","comments":0,"milestone":null,"number":725,"html_url":"https://github.com/openframeworks/openFrameworks/issues/725","assignee":null,"title":"minor inclusions for 3d","labels":[],"closed_at":"2011-09-03T10:58:55Z","created_at":"2011-09-03T09:53:05Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1557458,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/725.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/725","diff_url":"https://github.com/openframeworks/openFrameworks/pull/725.diff"}},{"updated_at":"2011-12-03T22:52:02Z","body":"I know it has been addressed before,\r\nbut came up again.\r\n\r\nA simple issue with VS2010 character bug.\r\n\r\nOn \r\n/libs/quictime/includes/icon.h\r\n/libs/quictime/includes/ConditionalMacros.h\r\n/libs/quictime/includes/Endian.h\r\netc.\r\n\r\nCould you please replace appropriate files?\r\nThanks in advance.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/724","comments":2,"milestone":null,"number":724,"html_url":"https://github.com/openframeworks/openFrameworks/issues/724","assignee":null,"title":"Quicktime character issue on non-english Windows VS2010","labels":[],"closed_at":"2011-12-03T22:52:02Z","created_at":"2011-08-31T16:49:40Z","state":"closed","user":{"url":"https://api.github.com/users/mailiam","gravatar_id":"191d48da5061ccc21e391e633a1978c3","login":"mailiam","avatar_url":"https://secure.gravatar.com/avatar/191d48da5061ccc21e391e633a1978c3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":955322},"id":1533791,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-17T15:01:04Z","body":"Is anyone else getting a crash when running the assimpExample on an iOS device?\r\n\r\nIt works fine in the simulator, but on the device I get a **Thread 1: Program received signal \"EXC_BAD_ACCESS\"**\r\n\r\non line 63 in **aiVector3D.h**\r\n\r\nLine 63 says:\r\n\r\n```aiVector3D () : x(0.0f), y(0.0f), z(0.0f) {}```\r\n\r\nWhich seems like an odd place for it to crash.\r\n\r\n```\r\n60: struct aiVector3D\r\n61: {\r\n62: #ifdef __cplusplus\r\n63: \t aiVector3D () : x(0.0f), y(0.0f), z(0.0f) {}\r\n64: \t aiVector3D (float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}\r\n65: \t aiVector3D (float _xyz) : x(_xyz), y(_xyz), z(_xyz) {}\r\n66: \t aiVector3D (const aiVector3D& o) : x(o.x), y(o.y), z(o.z) {}\r\n```\r\n\r\nI've tried a 3GS and an iPad2.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/723","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":70,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":723,"html_url":"https://github.com/openframeworks/openFrameworks/issues/723","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"assimp / assimpeExample on iOS device","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-05-17T15:01:04Z","created_at":"2011-08-30T20:22:04Z","state":"closed","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1524220,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-30T15:55:27Z","body":"i believe the code posted here is patched for both those requirements:\r\n\r\nhttps://github.com/kylemcdonald/DohaInstallation/tree/master/addons/ofxOsc/libs/oscpack/src\r\n\r\ni have access to the oscpack repo and need to submit the changes + test across systems.\r\n\r\nalso, some discussion here: http://forum.openframeworks.cc/index.php/topic,1625.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/722","comments":28,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":70,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":722,"html_url":"https://github.com/openframeworks/openFrameworks/issues/722","assignee":null,"title":"ofxOsc needs broadcast + multiple clients on single port","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-04-30T15:55:27Z","created_at":"2011-08-28T15:07:16Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1503930,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-08T13:27:53Z","body":"added to of3dUtils.cpp/h\r\n\r\nvoid ofDrawGrid(float size) {\r\n\tofPushStyle();\r\n\t\r\n\tconst float gridCount = 5.0f;\r\n\tconst ofVec3f dx(size / gridCount, 0, 0);\r\n\tconst ofVec3f dX(size, 0, 0);\r\n\tconst ofVec3f dz(0, 0, size / gridCount);\r\n\tconst ofVec3f dZ(0, 0, size);\r\n\t\r\n\tofSetLineWidth(2);\r\n\tfor (int i=-gridCount; i<=gridCount; i+=gridCount)\r\n\t{\r\n\t\tofLine(dx*i-dZ,dx*i+dZ);\r\n\t\tofLine(dz*i-dX,dz*i+dX);\r\n\t}\r\n\t\r\n\tofSetLineWidth(1);\r\n\tfor (int i=1-gridCount; i<=gridCount-1; ++i)\r\n\t{\r\n\t\tofLine(dx*i-dZ,dx*i+dZ);\r\n\t\tofLine(dz*i-dX,dz*i+dX);\r\n\t}\r\n\t\r\n\tofPopStyle();\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/718","comments":1,"milestone":null,"number":718,"html_url":"https://github.com/openframeworks/openFrameworks/issues/718","assignee":null,"title":"suggest ofDrawGrid()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-03-08T13:27:53Z","created_at":"2011-08-22T16:12:22Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1459045,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-21T20:08:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/715","comments":0,"milestone":null,"number":715,"html_url":"https://github.com/openframeworks/openFrameworks/issues/715","assignee":null,"title":"ensuring that after an update to the ofPixels of an ofImage, the update() updates the texture too","labels":[],"closed_at":"2011-08-21T20:08:09Z","created_at":"2011-08-21T18:04:01Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":1453487,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/715.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/715","diff_url":"https://github.com/openframeworks/openFrameworks/pull/715.diff"}},{"updated_at":"2011-08-17T14:16:12Z","body":"bunch of fixes to make short/float ofImages and ofColors more usable.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/714","comments":1,"milestone":null,"number":714,"html_url":"https://github.com/openframeworks/openFrameworks/issues/714","assignee":null,"title":"color swapping for short/float and fixing 255f related bugs for short/float","labels":[],"closed_at":"2011-08-17T14:16:04Z","created_at":"2011-08-17T10:40:58Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1422123,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/714.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/714","diff_url":"https://github.com/openframeworks/openFrameworks/pull/714.diff"}},{"updated_at":"2011-08-17T14:16:05Z","body":"setColor, getColor, color conversion from hsb, etc is mostly broken for ofFloatColor and ofShortColor because there are a lot of 255.0fs hard coded into ofColor.h and ofColor.cpp. one alternative is to create a static templated limit() function that returns the max value for each type. this also cleans up copyFrom(). i'll take a shot at this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/713","comments":0,"milestone":null,"number":713,"html_url":"https://github.com/openframeworks/openFrameworks/issues/713","assignee":null,"title":"ofColor is littered with 255.0fs","labels":[],"closed_at":"2011-08-17T14:16:05Z","created_at":"2011-08-17T09:34:58Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1421761,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-17T10:40:46Z","body":"fixes a bug where float and unsigned short images are unnecessarily swapped when loaded/saved.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/712","comments":0,"milestone":null,"number":712,"html_url":"https://github.com/openframeworks/openFrameworks/issues/712","assignee":null,"title":"closes #710 by adding conditions for only swapping on 8-bit images.","labels":[],"closed_at":"2011-08-17T10:40:46Z","created_at":"2011-08-17T06:55:48Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1421044,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/712.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/712","diff_url":"https://github.com/openframeworks/openFrameworks/pull/712.diff"}},{"updated_at":"2012-04-10T08:29:52Z","body":"opencv2.3 headers + iinux64 & android don't merge it till there's no binaries for at least osx in case it breaks the repo","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/709","comments":15,"milestone":null,"number":709,"html_url":"https://github.com/openframeworks/openFrameworks/issues/709","assignee":null,"title":"opencv2.3","labels":[],"closed_at":"2012-02-25T18:20:39Z","created_at":"2011-08-12T10:22:26Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1393925,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/709.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/709","diff_url":"https://github.com/openframeworks/openFrameworks/pull/709.diff"}},{"updated_at":"2012-02-25T18:21:38Z","body":"supposedly fixes normals but haven't tested myself. juliolucio sent me the fixes","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/708","comments":0,"milestone":null,"number":708,"html_url":"https://github.com/openframeworks/openFrameworks/issues/708","assignee":null,"title":"Bugfix 3d model loader normals","labels":[],"closed_at":"2012-02-25T18:21:38Z","created_at":"2011-08-12T10:21:05Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1393918,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/708.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/708","diff_url":"https://github.com/openframeworks/openFrameworks/pull/708.diff"}},{"updated_at":"2011-08-12T10:20:31Z","body":"supposedly fixes normals but haven't tested myself. juliolucio sent me the fixes","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/707","comments":1,"milestone":null,"number":707,"html_url":"https://github.com/openframeworks/openFrameworks/issues/707","assignee":null,"title":"Bugfix 3d model loader normals","labels":[],"closed_at":"2011-08-12T10:20:31Z","created_at":"2011-08-12T10:19:42Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1393909,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/707.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/707","diff_url":"https://github.com/openframeworks/openFrameworks/pull/707.diff"}},{"updated_at":"2011-08-09T12:29:35Z","body":"Seeing as many people use git in their project, it makes sense to exclude this directory to ignore it during compilation.\r\nI think that's reasonable, I just noticed in the make output that it seems to be crawling through .git, that's what gave me the idea.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/706","comments":1,"milestone":null,"number":706,"html_url":"https://github.com/openframeworks/openFrameworks/issues/706","assignee":null,"title":"Ignore a potential .git directory during make.","labels":[],"closed_at":"2011-08-09T12:27:58Z","created_at":"2011-08-09T12:23:45Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1371935,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/706.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/706","diff_url":"https://github.com/openframeworks/openFrameworks/pull/706.diff"}},{"updated_at":"2011-08-09T12:13:35Z","body":"fixed all the issues detected by CheckJNI","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/705","comments":0,"milestone":null,"number":705,"html_url":"https://github.com/openframeworks/openFrameworks/issues/705","assignee":null,"title":"CheckJNI fixes for ofxAndroid","labels":[],"closed_at":"2011-08-09T12:13:35Z","created_at":"2011-08-09T11:38:13Z","state":"closed","user":{"url":"https://api.github.com/users/mbosi","gravatar_id":"68e7c7fd68a25d311e6c0ac6bba7042e","login":"mbosi","avatar_url":"https://secure.gravatar.com/avatar/68e7c7fd68a25d311e6c0ac6bba7042e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":207906},"id":1371719,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/705.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/705","diff_url":"https://github.com/openframeworks/openFrameworks/pull/705.diff"}},{"updated_at":"2011-08-09T12:15:08Z","body":"I had a client and server connected. Upon closing the client, the console on the server gets flooded with ECONNRESET messages.\r\n\r\nIn ofxTCPClient::receive() line 192, I changed the check to use ofxNetworkCheckError to check for errors. Using the errno macro directly does not check the target platform, but ofxNetworkCheckError does check for platform and then uses errno macro if not a WIN_32 machine. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/704","comments":0,"milestone":null,"number":704,"html_url":"https://github.com/openframeworks/openFrameworks/issues/704","assignee":null,"title":"ofxTCPClient receive() connection reset check platform independence","labels":[],"closed_at":"2011-08-09T12:15:08Z","created_at":"2011-08-08T18:42:54Z","state":"closed","user":{"url":"https://api.github.com/users/SnareHanger","gravatar_id":"2f1d676cd19be8a80686276873288310","login":"SnareHanger","avatar_url":"https://secure.gravatar.com/avatar/2f1d676cd19be8a80686276873288310?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":193882},"id":1367206,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/704.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/704","diff_url":"https://github.com/openframeworks/openFrameworks/pull/704.diff"}},{"updated_at":"2012-03-13T14:40:35Z","body":"ofMesh has a few methods declared in ofMesh.h that are missing in ofMesh.cpp\r\n\r\nremoveVertex\r\nremoveNormal\r\nremoveColor\r\nremoveTexCoord\r\nremoveIndex","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/703","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":70,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":703,"html_url":"https://github.com/openframeworks/openFrameworks/issues/703","assignee":null,"title":"ofMesh remove* methods not in implemention","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-13T14:40:35Z","created_at":"2011-08-07T18:33:00Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":150037},"id":1361371,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-09T12:16:12Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/696","comments":0,"milestone":null,"number":696,"html_url":"https://github.com/openframeworks/openFrameworks/issues/696","assignee":null,"title":"Allow the project creation script to work with different PREFIX","labels":[],"closed_at":"2011-08-09T12:16:12Z","created_at":"2011-08-02T19:10:06Z","state":"closed","user":{"url":"https://api.github.com/users/grimreaper","gravatar_id":"76a48f348109c77a429491cddc428459","login":"grimreaper","avatar_url":"https://secure.gravatar.com/avatar/76a48f348109c77a429491cddc428459?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":433817},"id":1332469,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/696.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/696","diff_url":"https://github.com/openframeworks/openFrameworks/pull/696.diff"}},{"updated_at":"2011-08-05T16:53:49Z","body":"Hei\r\n\r\nI am using this model loader and i found a rotation and translation in the draw method.\r\nShouldt it be removed from there?\r\n\r\nI want the model like it is when i build it i the modeling software.\r\n\r\n\r\n\r\n glEnable(GL_NORMALIZE);\r\n\r\n ofPushMatrix();\r\n\r\n ofTranslate(pos);\r\n\r\n //ofRotate(180, 0, 0, 1);\r\n //ofTranslate(-scene_center.x, -scene_center.y, scene_center.z);\r\n\r\n if(normalizeScale)\r\n {\r\n ofScale(normalizedScale , normalizedScale, normalizedScale);\r\n }\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/695","comments":1,"milestone":null,"number":695,"html_url":"https://github.com/openframeworks/openFrameworks/issues/695","assignee":null,"title":"ofxAssimpModelLoader::draw","labels":[],"closed_at":"2011-08-05T16:53:49Z","created_at":"2011-08-02T13:05:24Z","state":"closed","user":{"url":"https://api.github.com/users/juliolucio","gravatar_id":"01004afde74eb6d67c920c4b9c878239","login":"juliolucio","avatar_url":"https://secure.gravatar.com/avatar/01004afde74eb6d67c920c4b9c878239?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":356169},"id":1329765,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-09T15:22:44Z","body":"updated everything in fedora folder to how we do it in other distros.\r\nI needed to add some additional linker flags to the Makefile template.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/694","comments":0,"milestone":null,"number":694,"html_url":"https://github.com/openframeworks/openFrameworks/issues/694","assignee":null,"title":"updated fedora install scripts","labels":[],"closed_at":"2011-08-09T15:22:44Z","created_at":"2011-08-01T22:07:03Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1326292,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/694.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/694","diff_url":"https://github.com/openframeworks/openFrameworks/pull/694.diff"}},{"updated_at":"2011-08-09T15:27:17Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/693","comments":0,"milestone":null,"number":693,"html_url":"https://github.com/openframeworks/openFrameworks/issues/693","assignee":null,"title":"ofRectangle: Added ofPoint-based constructor to be consistent with the corresponding set(ofPoint ...) function.","labels":[],"closed_at":"2011-08-09T15:27:17Z","created_at":"2011-08-01T00:14:07Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1320040,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/693.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/693","diff_url":"https://github.com/openframeworks/openFrameworks/pull/693.diff"}},{"updated_at":"2011-08-02T04:50:33Z","body":"it looks like Poco needs to be recompiled for OF to run on 10.5: http://forum.openframeworks.cc/index.php/topic,6351.msg32361.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/692","comments":2,"milestone":null,"number":692,"html_url":"https://github.com/openframeworks/openFrameworks/issues/692","assignee":null,"title":"007 not compiling on 10.5?","labels":[],"closed_at":"2011-08-02T04:50:33Z","created_at":"2011-07-31T19:55:28Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1319328,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-01T07:59:53Z","body":"MacOSX 10.6.8 and Windows 7 both demonstrate the same behavior - attempting to unZIP the archive as downloaded provides only the ADDONS folder - OR... delivers a file name \"openFrameworks-007-20-gfc5c3f2.zip.cpgz\" - which then does not unZIP as expected. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/691","comments":3,"milestone":null,"number":691,"html_url":"https://github.com/openframeworks/openFrameworks/issues/691","assignee":null,"title":"ZIP Wrapper does not unzip","labels":[],"closed_at":"2011-07-31T18:37:10Z","created_at":"2011-07-29T15:11:37Z","state":"closed","user":{"url":"https://api.github.com/users/notarysojac","gravatar_id":"95d9b2de090b399e8f22a30ac3ef07ae","login":"notarysojac","avatar_url":"https://secure.gravatar.com/avatar/95d9b2de090b399e8f22a30ac3ef07ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":799437},"id":1310651,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-08-09T15:24:33Z","body":"closes #688","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/690","comments":1,"milestone":null,"number":690,"html_url":"https://github.com/openframeworks/openFrameworks/issues/690","assignee":null,"title":"fixed a typo with the output setting on iphone sound","labels":[],"closed_at":"2011-08-09T15:24:33Z","created_at":"2011-07-29T11:37:43Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1309486,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/690.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/690","diff_url":"https://github.com/openframeworks/openFrameworks/pull/690.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=17&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '32093'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9768ee22891453bd6fad21062a499f8d"'), ('date', 'Tue, 29 May 2012 18:46:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-07-29T11:37:00Z","body":"closes #688","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/689","comments":1,"milestone":null,"number":689,"html_url":"https://github.com/openframeworks/openFrameworks/issues/689","assignee":null,"title":"fixed a typo with the output setting on iphone sound","labels":[],"closed_at":"2011-07-29T11:37:00Z","created_at":"2011-07-29T10:45:28Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":1309299,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/689","patch_url":"https://github.com/openframeworks/openFrameworks/pull/689.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/689.diff"}},{"updated_at":"2011-07-29T13:12:01Z","body":"there is a typo in ofxiphonesoundstream, patch coming in momentarily.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/688","comments":0,"milestone":null,"number":688,"html_url":"https://github.com/openframeworks/openFrameworks/issues/688","assignee":null,"title":"audio output not working on iphone","labels":[],"closed_at":"2011-07-29T13:12:01Z","created_at":"2011-07-29T10:43:17Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":1309289,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-08-09T15:25:14Z","body":"needed for accessing the fov of cameras if it's set somewhere else","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/687","comments":0,"milestone":null,"number":687,"html_url":"https://github.com/openframeworks/openFrameworks/issues/687","assignee":null,"title":"added getFov() to ofCamera","labels":[],"closed_at":"2011-08-09T15:25:14Z","created_at":"2011-07-28T17:51:28Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434},"id":1304538,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/687","patch_url":"https://github.com/openframeworks/openFrameworks/pull/687.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/687.diff"}},{"updated_at":"2011-07-28T17:50:18Z","body":"otherwise there's no way to query the fov of a camera, even though you can set it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/686","comments":0,"milestone":null,"number":686,"html_url":"https://github.com/openframeworks/openFrameworks/issues/686","assignee":null,"title":"added getFov() to ofCamera","labels":[],"closed_at":"2011-07-28T17:50:18Z","created_at":"2011-07-28T17:47:26Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434},"id":1304516,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/686","patch_url":"https://github.com/openframeworks/openFrameworks/pull/686.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/686.diff"}},{"updated_at":"2012-03-12T13:27:45Z","body":"The error is that \"File owner\" is linked to a wrong class name: \"MyMusicView\". And this should be linked to \"MyGuiView\". It is a small error but for people with not too many experience with Interface builder can be problematic.\r\n\r\nDescribe in this forum post:\r\nhttp://forum.openframeworks.cc/index.php/topic,6279.msg32194.html#msg32194","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/683","comments":1,"milestone":null,"number":683,"html_url":"https://github.com/openframeworks/openFrameworks/issues/683","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"small bug in OF iphone example: \"iPhoneGuiExample\" ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-12T13:27:45Z","created_at":"2011-07-28T12:03:51Z","state":"closed","user":{"url":"https://api.github.com/users/mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","id":308759},"id":1302334,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-29T11:43:37Z","body":"just adapted the archway :)\r\n\r\nfixes: http://forum.openframeworks.cc/index.php/topic,6864.msg32124.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/682","comments":0,"milestone":null,"number":682,"html_url":"https://github.com/openframeworks/openFrameworks/issues/682","assignee":null,"title":"fixed bug in ubuntu instell_dep script if user isn't in standard group","labels":[],"closed_at":"2011-07-29T11:43:37Z","created_at":"2011-07-27T20:18:20Z","state":"closed","user":{"url":"https://api.github.com/users/benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513},"id":1298580,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/682","patch_url":"https://github.com/openframeworks/openFrameworks/pull/682.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/682.diff"}},{"updated_at":"2011-09-11T11:30:31Z","body":"The below code works in OF 0062 but not in 007\r\n\r\nGraphicFace.h\r\n\r\n```c\r\n#pragma once\r\n\r\n#include \"ofMain.h\"\r\n\r\n\r\nclass GraphicFace {\r\npublic:\r\n\tGraphicFace();\r\n\tofImage head;\r\n\tvoid draw();\r\n};\r\n```\r\n\r\nGraphicFace.cpp\r\n\r\n```c\r\n#include \"GraphicFace.h\"\r\n\r\nGraphicFace::GraphicFace()\r\n{\r\n\thead.loadImage(\"head.png\");\r\n}\r\nvoid GraphicFace::draw()\r\n{\r\n\thead.draw(0, 0);\r\n\r\n}\r\n\r\n```\r\ntestApp.h\r\n\r\n```c\r\n#pragma once\r\n\r\n#include \"ofMain.h\"\r\n#include \"GraphicFace.h\"\r\n\r\nclass testApp : public ofBaseApp{\r\n\r\n\tpublic:\r\n\t\tvoid setup();\r\n\t\tvoid update();\r\n\t\tvoid draw();\r\n\r\n\t\tGraphicFace graphicFace;\r\n};\r\n```\r\ntestApp.cpp\r\n\r\n```c\r\nvoid testApp::draw(){\r\n\tgraphicFace.draw();\r\n}\r\n```\r\n\r\n007 displays this in Console\r\nOF: OF_LOG_ERROR: Couldn't load image from head.png\r\nOF: OF_LOG_WARNING: ofGLRenderer::draw(): texture is not allocated \r\n\r\nHere is a screen of the files to show head.png is there. Maybe there is something new I need to do in 007?\r\nhttp://i.imgur.com/ZDKow.jpg\r\n\r\n\r\nHere are my machine specs\r\nOS X 10.6.8\r\n\r\nModel Name: Mac Pro\r\nModel Identifier: MacPro1,1\r\nProcessor Name: Dual-Core Intel Xeon\r\nProcessor Speed: 2.66 GHz\r\nNumber Of Processors: 2\r\nTotal Number Of Cores: 4\r\nL2 Cache (per processor): 4 MB\r\nMemory: 7 GB\r\nBus Speed: 1.33 GHz\r\nBoot ROM Version: MP11.005C.B08\r\nSMC Version (system): 1.7f10\r\n\r\nNVIDIA GeForce 7300 GT:\r\n\r\nChipset Model: NVIDIA GeForce 7300 GT\r\nType: GPU\r\nBus: PCIe\r\nSlot: Slot-1\r\nPCIe Lane Width: x16\r\nVRAM (Total): 256 MB\r\nVendor: NVIDIA (0x10de)\r\nDevice ID: 0x0393\r\nRevision ID: 0x00a1\r\nROM Revision: 3008\r\nDisplays:\r\nCinema:\r\nResolution: 1680 x 1050\r\nPixel Depth: 32-Bit Color (ARGB8888)\r\nDisplay Serial Number: 2A7022K2UFZ\r\nMain Display: Yes\r\nMirror: Off\r\nOnline: Yes\r\nRotation: Supported\r\nBenQ FP202W:\r\nResolution: 1680 x 1050 @ 60 Hz\r\nPixel Depth: 32-Bit Color (ARGB8888)\r\nMirror: Off\r\nOnline: Yes\r\nRotation: Supported","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/681","comments":3,"milestone":null,"number":681,"html_url":"https://github.com/openframeworks/openFrameworks/issues/681","assignee":null,"title":"ofImage loadImage gets ofGLRenderer::draw(): texture is not allocated ","labels":[],"closed_at":"2011-09-11T11:30:31Z","created_at":"2011-07-26T19:45:30Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","id":150037},"id":1291163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-25T14:57:07Z","body":"The \"advanced3dExample\" contained in the \"Visual Studio 2010\" package of openFrameworks 007 does not build. The project is missing a number of source files.\r\n\r\nAdding these files to the project fixes the problem.\r\n\r\nAlso, the \"advancedEventsExample\" project is also missing a source file, but since it is a header file, it still builds successfully without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/680","comments":1,"milestone":null,"number":680,"html_url":"https://github.com/openframeworks/openFrameworks/issues/680","assignee":null,"title":"advanced3dExample + of007 + vs2010 does not build","labels":[],"closed_at":"2011-07-25T14:57:07Z","created_at":"2011-07-25T13:27:40Z","state":"closed","user":{"url":"https://api.github.com/users/carlosefr","avatar_url":"https://secure.gravatar.com/avatar/5d027189c1708f259ce60c0911f6cd25?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5d027189c1708f259ce60c0911f6cd25","login":"carlosefr","id":937276},"id":1281738,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-27T11:50:16Z","body":"Using quotation marks for 'grep -v' command to work with list of folders.\r\nWithout this, EXCLUDE_FROM_SOURCE option does not work.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/678","comments":0,"milestone":null,"number":678,"html_url":"https://github.com/openframeworks/openFrameworks/issues/678","assignee":null,"title":"Fixed makefile exclude dirs.","labels":[],"closed_at":"2011-07-27T11:50:16Z","created_at":"2011-07-24T17:20:07Z","state":"closed","user":{"url":"https://api.github.com/users/ptrv","avatar_url":"https://secure.gravatar.com/avatar/7bed46e1c078b29fad9f44f8e0a113bd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7bed46e1c078b29fad9f44f8e0a113bd","login":"ptrv","id":49775},"id":1278069,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/678","patch_url":"https://github.com/openframeworks/openFrameworks/pull/678.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/678.diff"}},{"updated_at":"2011-07-27T11:49:38Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/677","comments":0,"milestone":null,"number":677,"html_url":"https://github.com/openframeworks/openFrameworks/issues/677","assignee":null,"title":"Added linux 32 bit fullCBP template.","labels":[],"closed_at":"2011-07-27T11:49:38Z","created_at":"2011-07-24T14:39:39Z","state":"closed","user":{"url":"https://api.github.com/users/ptrv","avatar_url":"https://secure.gravatar.com/avatar/7bed46e1c078b29fad9f44f8e0a113bd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7bed46e1c078b29fad9f44f8e0a113bd","login":"ptrv","id":49775},"id":1277577,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/677","patch_url":"https://github.com/openframeworks/openFrameworks/pull/677.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/677.diff"}},{"updated_at":"2011-07-27T11:48:33Z","body":"Couldn't compile outside of \"apps\" directory because of those relative paths.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/675","comments":0,"milestone":null,"number":675,"html_url":"https://github.com/openframeworks/openFrameworks/issues/675","assignee":null,"title":"Replaced relative paths with OF_ROOT","labels":[],"closed_at":"2011-07-27T11:48:33Z","created_at":"2011-07-22T22:51:17Z","state":"closed","user":{"url":"https://api.github.com/users/ThomasColliers","avatar_url":"https://secure.gravatar.com/avatar/5b663c1e73eda619104004e329af097d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5b663c1e73eda619104004e329af097d","login":"ThomasColliers","id":156175},"id":1273172,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/675","patch_url":"https://github.com/openframeworks/openFrameworks/pull/675.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/675.diff"}},{"updated_at":"2011-08-01T00:12:48Z","body":"ofRectangle: Added ofPoint-based constructor to be consistent with the corresponding set(ofPoint ...) function. Updated inside() function.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/674","comments":0,"milestone":null,"number":674,"html_url":"https://github.com/openframeworks/openFrameworks/issues/674","assignee":null,"title":"ofRectangle: Added ofPoint-based constructor to be consistent with the corresponding set(ofPoint ...) function. ","labels":[],"closed_at":"2011-08-01T00:12:48Z","created_at":"2011-07-21T21:41:49Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":1266144,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/674","patch_url":"https://github.com/openframeworks/openFrameworks/pull/674.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/674.diff"}},{"updated_at":"2011-07-27T11:50:35Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/673","comments":0,"milestone":null,"number":673,"html_url":"https://github.com/openframeworks/openFrameworks/issues/673","assignee":null,"title":"updated arch install scripts, added arch to readme.linux","labels":[],"closed_at":"2011-07-27T11:50:35Z","created_at":"2011-07-21T17:47:26Z","state":"closed","user":{"url":"https://api.github.com/users/benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513},"id":1264713,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/673","patch_url":"https://github.com/openframeworks/openFrameworks/pull/673.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/673.diff"}},{"updated_at":"2011-07-21T16:52:34Z","body":"**needs testing**\r\n\r\n-fixed retina bug","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/672","comments":0,"milestone":null,"number":672,"html_url":"https://github.com/openframeworks/openFrameworks/issues/672","assignee":null,"title":"ofxiPhoneSoundStream","labels":[],"closed_at":"2011-07-21T16:52:34Z","created_at":"2011-07-21T16:47:21Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":1264355,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/672","patch_url":"https://github.com/openframeworks/openFrameworks/pull/672.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/672.diff"}},{"updated_at":"2011-07-21T12:34:39Z","body":"and breaks backward functionality\r\n\r\nat theo's request :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/669","comments":0,"milestone":null,"number":669,"html_url":"https://github.com/openframeworks/openFrameworks/issues/669","assignee":null,"title":"ofSplitString now works like Processing and PHP's explode()","labels":[],"closed_at":"2011-07-21T12:34:39Z","created_at":"2011-07-21T04:45:37Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":1261065,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/669","patch_url":"https://github.com/openframeworks/openFrameworks/pull/669.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/669.diff"}},{"updated_at":"2011-09-11T11:27:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/668","comments":2,"milestone":null,"number":668,"html_url":"https://github.com/openframeworks/openFrameworks/issues/668","assignee":null,"title":"\t\tofURLFileLoader loader; errors in constructor if created at top of testApp.cpp - ofLog factory try catch issue","labels":[],"closed_at":"2011-09-11T11:27:24Z","created_at":"2011-07-20T22:03:11Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":1259589,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-20T20:57:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/667","comments":0,"milestone":null,"number":667,"html_url":"https://github.com/openframeworks/openFrameworks/issues/667","assignee":null,"title":"simplified and expanded the osx readme","labels":[],"closed_at":"2011-07-20T20:57:06Z","created_at":"2011-07-20T20:50:56Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":1259146,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/667","patch_url":"https://github.com/openframeworks/openFrameworks/pull/667.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/667.diff"}},{"updated_at":"2011-07-19T23:58:01Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/665","comments":0,"milestone":null,"number":665,"html_url":"https://github.com/openframeworks/openFrameworks/issues/665","assignee":null,"title":"fixing short + float for the changes to ofTexture","labels":[],"closed_at":"2011-07-19T23:58:01Z","created_at":"2011-07-19T23:57:13Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":1253379,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/665","patch_url":"https://github.com/openframeworks/openFrameworks/pull/665.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/665.diff"}},{"updated_at":"2011-07-20T13:04:58Z","body":"a few issues though that make it different than the normal ofVideoPlayer\r\n\r\n- it can't loop. if you need it to loop you can do something like:\r\n\r\nif(!fingerMovie.isPlaying()){\r\n\t\tfingerMovie.loadMovie(\"fingers.mov\");\r\n\t\tfingerMovie.play();\r\n}\r\n\r\nbut i didn't want to put that in because it definitely pauses when it unloads the video\r\n\r\n- getPixels() returns NULL sometimes. This is because the actual pixel array is malloced once the file has actually been loaded in. Not even the width or height are known until this has happened. They cannot be set independently. This could cause issues in getting pixels and expecting them to be there. the proper way to deal with this would be to use getWidth() and getHeight() instead of the static values that you know the video to be:\r\n\r\nunsigned char * pixels = fingerMovie.getPixels();\r\n\r\n\t\tfor (int i = 4; i < fingerMovie.getWidth(); i+=8){\r\n\t\t\tfor (int j = 4; j < fingerMovie.getHeight(); j+=8){\r\n\t\t\t\tunsigned char r = pixels[(j * 320 + i)*3];\r\n\t\t\t\tfloat val = 1 - ((float)r / 255.0f);\r\n\t\t\t\tofCircle(i,j,10*val);\r\n\t\t\t}\r\n\t\t}\r\n\r\n- lastly, movies are inverted, but it seemed like arturo was on this as it's a ofTexture issue","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/664","comments":0,"milestone":null,"number":664,"html_url":"https://github.com/openframeworks/openFrameworks/issues/664","assignee":null,"title":"ofiPhoneVideoPlayer","labels":[],"closed_at":"2011-07-20T13:04:58Z","created_at":"2011-07-19T20:00:12Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":1251860,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/664","patch_url":"https://github.com/openframeworks/openFrameworks/pull/664.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/664.diff"}},{"updated_at":"2011-07-19T17:47:10Z","body":"fixes seriously broken retina support","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/663","comments":1,"milestone":null,"number":663,"html_url":"https://github.com/openframeworks/openFrameworks/issues/663","assignee":null,"title":"retina fixes, + updates to deploy projects files, though you may have already reworked that since we talked theo","labels":[],"closed_at":"2011-07-19T17:47:10Z","created_at":"2011-07-19T17:36:16Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":1250872,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/663","patch_url":"https://github.com/openframeworks/openFrameworks/pull/663.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/663.diff"}},{"updated_at":"2011-07-20T12:24:37Z","body":"Hi!\r\nI built the current head, and Eclipse throws 12 warnings. Some are obviously false positives of the code indexer, but some seem to be genuine problems which could trigger bugs. I will leave them for discussion and possible fix by the original authors, cause I'm sometimes not sure what the intended behaviour is. After successful discussion, I can form up some pull requests if nobody else does.\r\n\r\n1) `‘srcColor’ may be used uninitialized in this function\tofPixels.cpp\t/openFrameworks/graphics\tline 672`\r\nI'm sure this is a bug, since, if the `if` in L707 does not trigger, in L710 we have an uninitialised `srcColor`. I will file a fix, initialise to 0, later.\r\n\r\n2) `converting to non-pointer type ‘pthread_t’ from NULL\tofThread.cpp\t/openFrameworks/utils\tline 110`\r\nprobably not problematic?\r\n\r\n3) `dereferencing type-punned pointer will break strict-aliasing rules\tofUtils.cpp\t/openFrameworks/utils\tline 342` \r\nSame in L441. Don't even know what that means...\r\n\r\n4) `enumeration value ‘PNG’ not handled in switch\tofCairoRenderer.cpp\t/openFrameworks/graphics\tline 41`\r\nPretty clearly a bug, there's no case for PNG, and not default case. Question is: What should be done if a PNG case is triggered?\r\n\r\n5) `Invalid project path: Duplicate path entries found (/openFrameworks [Output path]), path: [/openFrameworks].\topenFrameworks\t\tpathentry`\r\nFrom what I read, some leftover path somewhere in the project files, but I have no idea how to locate that. According to the internet, nothing tragic.\r\n\r\n6) `unused variable ‘len’\tofUtils.cpp\t/openFrameworks/utils\tline 585`\r\nYes, an unused return variable is not tragic, but why does it get incremented by one, and then remains unused afterwards? That does not make sense.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/662","comments":6,"milestone":null,"number":662,"html_url":"https://github.com/openframeworks/openFrameworks/issues/662","assignee":null,"title":"Eclipse build warnings - possible bugs","labels":[],"closed_at":"2011-07-19T17:13:37Z","created_at":"2011-07-19T17:05:52Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1250671,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-19T14:30:36Z","body":"First commit removes superfluous/wrong include paths - those get added by the toolchain anyway. Otherwise, I get a build warning `Invalid project path: Include path not found (/usr/include/c++/4.5/x86_64-linux-gnu)` on a 32bit system.\r\nReferences: https://github.com/openframeworks/openFrameworks/commit/5c869c4799cc6e95cc685fd269afa6a8afb61722\r\nhttps://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#libs/openFrameworks/.cproject-P5\r\n\r\nSecond commit, I'm not sure about the proper way to reference the projects among each other, so feel free to leave those out. \r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/661","comments":1,"milestone":null,"number":661,"html_url":"https://github.com/openframeworks/openFrameworks/issues/661","assignee":null,"title":"Fix eclipse include paths and project reference","labels":[],"closed_at":"2011-07-19T14:30:24Z","created_at":"2011-07-19T14:26:18Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1249645,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/661","patch_url":"https://github.com/openframeworks/openFrameworks/pull/661.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/661.diff"}},{"updated_at":"2011-07-20T00:06:02Z","body":"Now when clients disconnect and reconnect, the TCPServer will re-use the disconnected ID as opposed to incrementing it and adding a new one","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/660","comments":0,"milestone":null,"number":660,"html_url":"https://github.com/openframeworks/openFrameworks/issues/660","assignee":null,"title":"Reclaiming client id's","labels":[],"closed_at":"2011-07-20T00:06:02Z","created_at":"2011-07-19T12:02:37Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434},"id":1248886,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/660","patch_url":"https://github.com/openframeworks/openFrameworks/pull/660.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/660.diff"}},{"updated_at":"2011-07-19T13:56:52Z","body":"See underdoeg's observation [here](http://forum.openframeworks.cc/index.php/topic,6766.msg31842.html#msg31842).\r\nI browsed through the makefile, and I think that maybe [this](https://github.com/openframeworks/openFrameworks/blob/master/apps/devApps/linux/Makefile#L139) section is the culprit - there's no check to see if addons.make is non-empty, therefore nonsensical `ADDONS_REL_DIRS` etc. get created. \r\nUnfortunately, I'm not confident enough with my make-fu to fix it myself. :-(","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/659","comments":0,"milestone":null,"number":659,"html_url":"https://github.com/openframeworks/openFrameworks/issues/659","assignee":null,"title":"Empty addons.make file causes error in the build process","labels":[],"closed_at":"2011-07-19T13:56:52Z","created_at":"2011-07-19T11:23:32Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1248717,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-19T10:50:18Z","body":"ofFileUtils/ofBuffer: getNextLine() now handles LF, CR, and CRLF. Added resetLineReader() method. Made integer casts consistent (i.e. changed int(...) to (int)(...)). Made if( ... ) and while ( ... ) statement spacing consistent.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/658","comments":2,"milestone":null,"number":658,"html_url":"https://github.com/openframeworks/openFrameworks/issues/658","assignee":null,"title":"ofFileUtils/ofBuffer: getNextLine() now handles LF, CR, and CRLF. Added resetLineReader() method.","labels":[],"closed_at":"2011-07-19T10:49:15Z","created_at":"2011-07-19T01:51:15Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484},"id":1246834,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/658","patch_url":"https://github.com/openframeworks/openFrameworks/pull/658.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/658.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=18&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '28581'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"239ec1422615ad2c6da7efd55f77b7ae"'), ('date', 'Tue, 29 May 2012 18:46:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-07-18T18:26:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/657","comments":0,"milestone":null,"number":657,"html_url":"https://github.com/openframeworks/openFrameworks/issues/657","assignee":null,"title":"minor changes while checking c::b","labels":[],"closed_at":"2011-07-18T18:26:50Z","created_at":"2011-07-18T16:16:45Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1243018,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/657.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/657","patch_url":"https://github.com/openframeworks/openFrameworks/pull/657.patch"}},{"updated_at":"2011-07-19T11:25:52Z","body":"Hi!\r\nI just looked at the space requirements of my (compiled) github openFrameworks install. \r\n\r\nLooking at the addons directory, I saw that of the 338MB size of the (stock) addons directory, 274MB were occupied by OpenCV alone. Now I realise that it's a very nice addon, but seeing that it's got its own repository on the official oF github page, would it maybe make sense to not pack it, and save significant space in the install package?\r\n\r\nTo get a feeling, my oF git clone, having been compiled on both 32bit and 64bit Linux, is 1.4GB big. The biggest contributors are libs (478MB), .git (467MB), addons (338MB, of which 274MB is openCV).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/656","comments":2,"milestone":null,"number":656,"html_url":"https://github.com/openframeworks/openFrameworks/issues/656","assignee":null,"title":"OpenCV space requirements - do we need to package it?","labels":[],"closed_at":"2011-07-19T11:25:52Z","created_at":"2011-07-18T15:03:28Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1242131,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-18T19:17:43Z","body":"Scripts are now working and ready to go. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/655","comments":1,"milestone":null,"number":655,"html_url":"https://github.com/openframeworks/openFrameworks/issues/655","assignee":null,"title":"Finalised Codeblocks scripts","labels":[],"closed_at":"2011-07-18T19:17:15Z","created_at":"2011-07-18T13:53:17Z","state":"closed","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160,"avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1241662,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/655.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/655","patch_url":"https://github.com/openframeworks/openFrameworks/pull/655.patch"}},{"updated_at":"2011-07-19T12:01:20Z","body":"Added function to set the end of message delimiter for the TCP server and client.\r\n\r\nThis is really helpful for making send() and receive() work with other systems that expect different types of message ends. \r\n\r\nThe change maintains backwards compatibly with existing OF networking code. Hoping to sneak this into oF 007.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/654","comments":2,"milestone":null,"number":654,"html_url":"https://github.com/openframeworks/openFrameworks/issues/654","assignee":null,"title":"ability to change delimiter for ofxTCPClient / Server","labels":[],"closed_at":"2011-07-19T12:01:20Z","created_at":"2011-07-18T11:30:06Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1241038,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/654.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/654","patch_url":"https://github.com/openframeworks/openFrameworks/pull/654.patch"}},{"updated_at":"2012-03-27T04:09:16Z","body":"MacPro1,1\r\nATI Radeon X1900 XT:\r\n\r\nUsing this code\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\tofSetLogLevel(OF_LOG_VERBOSE);\r\n\tfboObject.allocate(500, 500);\r\n}\r\n```\r\nConsole reads\r\nOF: OF_LOG_NOTICE: ofFbo::checkGLSupport()\r\nmaxColorAttachments: 4\r\nmaxDrawBuffers: 4\r\nmaxSamples: 6\r\n\r\nI get a EXC_BAD_ACCESS error on line 370 of ofFBO.cpp\r\n\r\nHere is a screenshot of the debugger\r\nhttp://imbx.us/Xld.png\r\n\r\nanother with ofFBO::Settings expanded\r\nhttp://imbx.us/X9f1.png\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/653","comments":26,"milestone":null,"number":653,"html_url":"https://github.com/openframeworks/openFrameworks/issues/653","assignee":null,"title":"ofFBO crashing on allocate","labels":[],"closed_at":"2011-07-19T16:37:22Z","created_at":"2011-07-18T05:53:28Z","state":"closed","user":{"url":"https://api.github.com/users/jvcleave","gravatar_id":"9c0384a91739bea093f453cf40a59742","login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1239898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-15T13:05:13Z","body":"missing checks was causing crashes on backthreads\r\n\r\nalso made consistent and took out unneeded '== true' checks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/650","comments":0,"milestone":null,"number":650,"html_url":"https://github.com/openframeworks/openFrameworks/issues/650","assignee":null,"title":"added checks for bUseTexture in ofImage","labels":[],"closed_at":"2011-07-15T13:05:13Z","created_at":"2011-07-15T08:53:00Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1229132,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/650.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/650","patch_url":"https://github.com/openframeworks/openFrameworks/pull/650.patch"}},{"updated_at":"2011-07-15T13:03:54Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/649","comments":0,"milestone":null,"number":649,"html_url":"https://github.com/openframeworks/openFrameworks/issues/649","assignee":null,"title":"A handful of small ofTrueTypeFont fixes / updates.","labels":[],"closed_at":"2011-07-15T13:03:54Z","created_at":"2011-07-15T02:05:51Z","state":"closed","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1227955,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/649.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/649","patch_url":"https://github.com/openframeworks/openFrameworks/pull/649.patch"}},{"updated_at":"2011-07-14T17:39:48Z","body":"in order to help integrating it into the rest of the drawables i think it makes sense for the fbo to extend these two classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/648","comments":1,"milestone":null,"number":648,"html_url":"https://github.com/openframeworks/openFrameworks/issues/648","assignee":null,"title":"ofFbo extends ofBaseDraws and ofBaseHasTexture","labels":[],"closed_at":"2011-07-14T17:39:21Z","created_at":"2011-07-14T17:37:02Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1224637,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/648.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/648","patch_url":"https://github.com/openframeworks/openFrameworks/pull/648.patch"}},{"updated_at":"2011-07-14T16:42:24Z","body":"like the title says....\r\n\r\nI'm back baby!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/647","comments":1,"milestone":null,"number":647,"html_url":"https://github.com/openframeworks/openFrameworks/issues/647","assignee":null,"title":"removed a bunch of .DS_Store files from the rep","labels":[],"closed_at":"2011-07-14T16:42:16Z","created_at":"2011-07-14T16:38:04Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1224318,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/647.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/647","patch_url":"https://github.com/openframeworks/openFrameworks/pull/647.patch"}},{"updated_at":"2011-07-14T22:30:46Z","body":"The current implementation uses `TARGET_*` macros to determine which `OF_SOUND_PLAYER_*` macro to define and as a result which audio backend to use. This patch makes it so that if a `OF_SOUND_PLAYER_*` macro is defined beforehand, it is taken as authoritative and no further checking is done. It makes it possible to force an audio backend if needed.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/644","comments":5,"milestone":null,"number":644,"html_url":"https://github.com/openframeworks/openFrameworks/issues/644","assignee":null,"title":"Make ofSoundPlayer's choice of backend overrideable","labels":[],"closed_at":"2011-07-14T18:37:06Z","created_at":"2011-07-12T14:57:33Z","state":"closed","user":{"url":"https://api.github.com/users/nasser","gravatar_id":"c9449359b1c46fd095d70f7ddb6aff2e","login":"nasser","id":412966,"avatar_url":"https://secure.gravatar.com/avatar/c9449359b1c46fd095d70f7ddb6aff2e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1208975,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/644.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/644","patch_url":"https://github.com/openframeworks/openFrameworks/pull/644.patch"}},{"updated_at":"2011-07-11T21:55:33Z","body":"i just pulled from upstream noticed i've slightly diverged. there were a couple little fixes i had for windows that hadn't been pulled it seems.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/641","comments":1,"milestone":null,"number":641,"html_url":"https://github.com/openframeworks/openFrameworks/issues/641","assignee":null,"title":"fixing some windows issues, other issues","labels":[],"closed_at":"2011-07-11T21:46:46Z","created_at":"2011-07-11T19:45:50Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1203852,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/641.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/641","patch_url":"https://github.com/openframeworks/openFrameworks/pull/641.patch"}},{"updated_at":"2011-07-20T13:05:26Z","body":"Latest version of xmlSettingsExample with the touch methods was missing the multitouch set-up.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/640","comments":2,"milestone":null,"number":640,"html_url":"https://github.com/openframeworks/openFrameworks/issues/640","assignee":null,"title":"Add missing multitouch set-up to the xmlSettingsExample testApp","labels":[],"closed_at":"2011-07-20T13:05:26Z","created_at":"2011-07-11T13:25:38Z","state":"closed","user":{"url":"https://api.github.com/users/gwydionapdafydd","gravatar_id":"72620270b0d72c728e6948bb3c783774","login":"gwydionapdafydd","id":649628,"avatar_url":"https://secure.gravatar.com/avatar/72620270b0d72c728e6948bb3c783774?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1201474,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/640.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/640","patch_url":"https://github.com/openframeworks/openFrameworks/pull/640.patch"}},{"updated_at":"2011-07-11T13:18:39Z","body":"Vertex data is not copied from mesh:\r\n\r\nFix:\r\nhttps://gist.github.com/ab64c7ca0b4f77313c42\r\n\r\nTest code:\r\ntestApp.h: https://gist.github.com/8b5b7637cd7ec5e90721\r\ntestApp.cpp: https://gist.github.com/1075760\r\n\r\n\r\nAlso rename \"getIndexPointer\" to \"getIndicesPointer()\", all other \"get[x]Pointer\" use plural.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/639","comments":0,"milestone":null,"number":639,"html_url":"https://github.com/openframeworks/openFrameworks/issues/639","assignee":null,"title":"ofVbo::setMesh does not set index data + naming thingie","labels":[],"closed_at":"2011-07-11T13:18:39Z","created_at":"2011-07-11T12:37:53Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1201259,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T14:22:59Z","body":"Would be more clear to use both getTextureReference()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/638","comments":2,"milestone":null,"number":638,"html_url":"https://github.com/openframeworks/openFrameworks/issues/638","assignee":null,"title":"ofFbo::getTexture <-> ofImage::getTextureReference","labels":[],"closed_at":"2011-07-12T14:22:59Z","created_at":"2011-07-11T11:51:04Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1201069,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:26:59Z","body":"`ofQuicktimeSoundPlayer.h` is `#include`d in `ofSoundPlayer.h`, but the actual header and implementation files are nowhere in the `libs/openFrameworks` tree. \r\n\r\n`ofSoundPlayer.h` lines 48-51.\r\n\r\n```cpp\r\n#ifdef OF_SOUND_PLAYER_QUICKTIME\r\n#include \"ofQuicktimeSoundPlayer.h\"\r\n#define OF_SOUND_PLAYER_TYPE ofQuicktimeSoundPlayer\r\n#endif\r\n```\r\n\r\nThere is an ofQuicktimeSoundPlayer.h/.cpp in `apps/devApps/goodByeFMODExample` that seem to work fine (its what I use in [zajal](http://zajal.cc) to play back sounds). This commit copies those files into `libs/openFrameworks/sound/` so that `OF_SOUND_PLAYER_QUICKTIME` can be used.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/637","comments":2,"milestone":null,"number":637,"html_url":"https://github.com/openframeworks/openFrameworks/issues/637","assignee":null,"title":"ofQuicktimeSoundPlayer","labels":[],"closed_at":"2012-02-25T00:26:51Z","created_at":"2011-07-11T11:32:15Z","state":"closed","user":{"url":"https://api.github.com/users/nasser","gravatar_id":"c9449359b1c46fd095d70f7ddb6aff2e","login":"nasser","id":412966,"avatar_url":"https://secure.gravatar.com/avatar/c9449359b1c46fd095d70f7ddb6aff2e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1200989,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/637.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/637","patch_url":"https://github.com/openframeworks/openFrameworks/pull/637.patch"}},{"updated_at":"2011-07-11T13:10:11Z","body":"Hope this is ok to do... have a fix in the iPhoneAddonsExamples/xmlSettingsExample that I wanted to share, so need to edit the apps/.gitignore first","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/636","comments":4,"milestone":null,"number":636,"html_url":"https://github.com/openframeworks/openFrameworks/issues/636","assignee":null,"title":"Exclude iPhoneAddonsExamples from the apps folder .gitignore","labels":[],"closed_at":"2011-07-11T13:10:00Z","created_at":"2011-07-11T10:47:50Z","state":"closed","user":{"url":"https://api.github.com/users/gwydionapdafydd","gravatar_id":"72620270b0d72c728e6948bb3c783774","login":"gwydionapdafydd","id":649628,"avatar_url":"https://secure.gravatar.com/avatar/72620270b0d72c728e6948bb3c783774?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1200829,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/636.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/636","patch_url":"https://github.com/openframeworks/openFrameworks/pull/636.patch"}},{"updated_at":"2011-07-11T13:32:53Z","body":"^^^^","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/635","comments":0,"milestone":null,"number":635,"html_url":"https://github.com/openframeworks/openFrameworks/issues/635","assignee":null,"title":"ofMaterial.h not included by default","labels":[],"closed_at":"2011-07-11T13:32:53Z","created_at":"2011-07-11T09:57:35Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1200636,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-11T13:18:39Z","body":"Here is a fix:\r\nhttps://gist.github.com/1075582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/634","comments":0,"milestone":null,"number":634,"html_url":"https://github.com/openframeworks/openFrameworks/issues/634","assignee":null,"title":"ofLight::set[*]Color are not setting the colors","labels":[],"closed_at":"2011-07-11T13:18:39Z","created_at":"2011-07-11T09:17:18Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1200465,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-10T20:52:21Z","body":"\r\nNot a big deal, but odd nonetheless.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/633","comments":2,"milestone":null,"number":633,"html_url":"https://github.com/openframeworks/openFrameworks/issues/633","assignee":null,"title":"the base template for the DeployExamples has opencv includes in it","labels":[],"closed_at":"2011-07-10T20:50:57Z","created_at":"2011-07-10T15:02:17Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1197698,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/633.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/633","patch_url":"https://github.com/openframeworks/openFrameworks/pull/633.patch"}},{"updated_at":"2011-07-08T17:37:49Z","body":"Hei.\r\nI have detected that of doesn't compiles in MAC OSX.\r\nI am in 10.6\r\nI am using the master\r\nI spouse that some changes have beenn made in quicktime library.\r\n\r\nthat is the error at get\r\n\r\nI have detected also that there is not Xcode project in most of the examples.\r\n\r\nThanks\r\n\r\nopenFrameworks\r\n/Users/juliolucio/Documents/_My Code_/XCode Projects/openFrameworks/libs/openFrameworks/video/ofQuickTimeGrabber.cpp\r\n'MacSetRect' was not declared in this scope\r\n'GetGWorldPixMap' was not declared in this scope\r\n'LockPixels' was not declared in this scope\r\n'SetGWorld' was not declared in this scope\r\n/Users/juliolucio/Documents/_My Code_/XCode Projects/openFrameworks/libs/openFrameworks/video/ofQuickTimePlayer.cpp\r\n'DisposeGWorld' was not declared in this scope\r\n'GetGWorldPixMap' was not declared in this scope\r\n'LockPixels' was not declared in this scope\r\n'SetGWorld' was not declared in this scope\r\n'DisposeGWorld' was not declared in this scope","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/632","comments":2,"milestone":null,"number":632,"html_url":"https://github.com/openframeworks/openFrameworks/issues/632","assignee":null,"title":"openframeworks lib not compiling","labels":[],"closed_at":"2011-07-08T17:37:49Z","created_at":"2011-07-08T17:26:12Z","state":"closed","user":{"url":"https://api.github.com/users/juliolucio","gravatar_id":"01004afde74eb6d67c920c4b9c878239","login":"juliolucio","id":356169,"avatar_url":"https://secure.gravatar.com/avatar/01004afde74eb6d67c920c4b9c878239?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1191360,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-08T17:43:12Z","body":"When passing a width and height bigger then the cropped-from image you get garbage data in the image.\r\n\r\nTest code: \r\nhttps://gist.github.com/bc6dfc5e0f27a7bee8c8\r\n\r\n\r\n... and I'm off again... doing some bughunting.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/630","comments":1,"milestone":null,"number":630,"html_url":"https://github.com/openframeworks/openFrameworks/issues/630","assignee":null,"title":"ofImage::cropFrom() needs a size check ","labels":[],"closed_at":"2011-07-08T17:43:12Z","created_at":"2011-07-07T21:30:33Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1185298,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-08T18:01:33Z","body":"When you render to a PDF and you don't call ofSetColor first the shape (i only tested ofCircle) is not rendered. Adding a call to ofSetColor before ofCircle works. \r\n\r\nTest code\r\nhttps://gist.github.com/417b767770e524f11add","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/629","comments":0,"milestone":null,"number":629,"html_url":"https://github.com/openframeworks/openFrameworks/issues/629","assignee":null,"title":"render to PDF without call to ofSetColor doesnt render circle","labels":[],"closed_at":"2011-07-08T18:01:33Z","created_at":"2011-07-07T20:17:12Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1184834,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-08T18:12:40Z","body":"hi\r\n\r\nto get opencv to compile, I had to add one line to the opencv code. found the solution throughout the internet and don't know how we should handle bugfixes which are not directly in OF ? And I also don't know whats happening on mac/win with this line.\r\nhere is the diff\r\n\r\n diff --git a/addons/ofxOpenCv/libs/opencv/include/opencv2/core/core.hpp b/addons/ofxOpenCv/libs/open\r\n index 338d53b..50356e2 100755\r\n --- a/addons/ofxOpenCv/libs/opencv/include/opencv2/core/core.hpp\r\n +++ b/addons/ofxOpenCv/libs/opencv/include/opencv2/core/core.hpp\r\n @@ -74,6 +74,7 @@ namespace cv {\r\n \r\n using std::vector;\r\n using std::string;\r\n +using std::ptrdiff_t;\r\n \r\n template class CV_EXPORTS Size_;\r\n template class CV_EXPORTS Point_;","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/628","comments":0,"milestone":null,"number":628,"html_url":"https://github.com/openframeworks/openFrameworks/issues/628","assignee":null,"title":"opencv doesn't compile (at least on archlinux)","labels":[],"closed_at":"2011-07-08T18:12:40Z","created_at":"2011-07-07T07:47:41Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1180596,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T21:16:51Z","body":"see title","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/627","comments":0,"milestone":null,"number":627,"html_url":"https://github.com/openframeworks/openFrameworks/issues/627","assignee":null,"title":"ofFilePath::getFilename <> ofFile::getFileName, name clash","labels":[],"closed_at":"2011-07-06T21:16:51Z","created_at":"2011-07-06T21:12:10Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1176801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-09T14:07:50Z","body":"1) ofLog() calls are not stored in the log file.\r\n2) ofLogVerbose(), ofLogNotice(), ofLogWarning(), ofLogError(), ofLogFatalError() do log to a file, but the file is not appended.\r\n3) The message <> level of ofLogVerbose, ofLogWarning, etc.. is different then ofLog\r\n\r\nSee:\r\nhttps://gist.github.com/1068321\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/626","comments":0,"milestone":null,"number":626,"html_url":"https://github.com/openframeworks/openFrameworks/issues/626","assignee":null,"title":"ofLog() doesnt log to file, ofLogVerbose, ofLogWarning* does; not appended","labels":[],"closed_at":"2011-07-09T14:07:50Z","created_at":"2011-07-06T21:07:06Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1176772,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=19&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '32311'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ac442e01b28d5423488f9df5041237be"'), ('date', 'Tue, 29 May 2012 18:46:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-07-06T19:25:10Z","body":"Creating a blocking thread does not block. \r\n\r\nhttps://gist.github.com/1068050","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/625","comments":2,"milestone":null,"number":625,"html_url":"https://github.com/openframeworks/openFrameworks/issues/625","assignee":null,"title":"ofThead::startThread(true,true) - blocking thread does not block","labels":[],"closed_at":"2011-07-06T19:19:38Z","created_at":"2011-07-06T19:06:09Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1175978,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-09T14:09:23Z","body":"Creating a blocking thread does not block. \r\n\r\nhttps://gist.github.com/1068050","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/624","comments":0,"milestone":null,"number":624,"html_url":"https://github.com/openframeworks/openFrameworks/issues/624","assignee":null,"title":"ofThead::startThread(true,true) - blocking thread does not block","labels":[],"closed_at":"2011-07-09T14:09:23Z","created_at":"2011-07-06T19:06:06Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1175977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T10:19:36Z","body":"Two wizards, each doing the same thing but with slightly different scripts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/622","comments":0,"milestone":null,"number":622,"html_url":"https://github.com/openframeworks/openFrameworks/issues/622","assignee":null,"title":"Added Linux and Windows codeblocks wizards to script folder","labels":[],"closed_at":"2011-07-06T10:19:36Z","created_at":"2011-07-06T08:12:48Z","state":"closed","user":{"url":"https://api.github.com/users/pierrep","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160,"avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1172547,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/622.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/622","patch_url":"https://github.com/openframeworks/openFrameworks/pull/622.patch"}},{"updated_at":"2011-07-06T11:43:29Z","body":"nothing structural. once the release happens i'll switch back to using branches ;)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/621","comments":0,"milestone":null,"number":621,"html_url":"https://github.com/openframeworks/openFrameworks/issues/621","assignee":null,"title":"ofSplitString bug fix + a few other things","labels":[],"closed_at":"2011-07-06T11:43:29Z","created_at":"2011-07-06T04:46:18Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1171930,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/621.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/621","patch_url":"https://github.com/openframeworks/openFrameworks/pull/621.patch"}},{"updated_at":"2011-07-06T16:23:36Z","body":"Continuing my bug hunting party here :)\r\n\r\nThis piece of code:\r\n----------------------------\r\n\tstring items = \"one|two|three|four|five |||test|\";\r\n\tvector parts = ofSplitString(items,\"|\",true,true);\r\n\tfor(int i = 0; i < parts.size(); ++i) {\r\n\t\tcout << \"part: '\" << parts[i] << \"'\" << endl;\r\n\t}\r\n\r\nGives me this\r\n-------------------\r\npart: 'one'\r\npart: 'two'\r\npart: 'three'\r\npart: 'four'\r\npart: 'five'\r\npart: 'test'\r\npart: ''\r\n\r\nBut I would expect:\r\n---------------------------\r\npart: 'one'\r\npart: 'two'\r\npart: 'three'\r\npart: 'four'\r\npart: 'five'\r\npart: 'test'\r\n\r\n\r\nGreetz! \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/620","comments":1,"milestone":null,"number":620,"html_url":"https://github.com/openframeworks/openFrameworks/issues/620","assignee":null,"title":"ofSplitString - delimiter at end gives incorrect result ","labels":[],"closed_at":"2011-07-06T16:23:36Z","created_at":"2011-07-05T21:07:29Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1170163,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-09T16:01:01Z","body":"^^^ There is a ifdef in ofCamera which skips using the ortho. I suppose this should set the ortho. I saw it's possible to set what kind of ortho one wants to use; it's common to use a top left or centered orho matrix. ofMatrix4x4 already has a orho functions which can be used.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/619","comments":2,"milestone":null,"number":619,"html_url":"https://github.com/openframeworks/openFrameworks/issues/619","assignee":null,"title":"ofCamera::setOrtho() no implemention when not GLES","labels":[],"closed_at":"2011-07-09T14:53:16Z","created_at":"2011-07-05T18:26:19Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1169049,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T19:32:52Z","body":"At least in Fedora 15, seems like an update to ld now requires libraries to be linked explicitly. The example apps do not compile properly now as is. The appropriate library tags needed to be add to the makefile.\r\n\r\nFor example:\r\n\r\n/usr/bin/ld: /usr/lib/gcc/i686-redhat-linux/4.6.0/../../../libgio-2.0.so: undefined reference to symbol 'inflateInit2_'\r\n/usr/bin/ld: note: 'inflateInit2_' is defined in DSO /lib/libz.so.1 so try adding it to the linker command line\r\n/lib/libz.so.1: could not read symbols: Invalid operation\r\ncollect2: ld returned 1 exit status\r\nmake: *** [bin/advanced3dExample] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/617","comments":2,"milestone":null,"number":617,"html_url":"https://github.com/openframeworks/openFrameworks/issues/617","assignee":null,"title":"Linux makefiles now need to link libraries explicitly","labels":[],"closed_at":"2011-07-06T19:32:49Z","created_at":"2011-07-05T17:16:40Z","state":"closed","user":{"url":"https://api.github.com/users/mbliu","gravatar_id":"01b6b14da92a35f264899f1e72756fed","login":"mbliu","id":885503,"avatar_url":"https://secure.gravatar.com/avatar/01b6b14da92a35f264899f1e72756fed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1168628,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-03T11:02:59Z","body":"Running ofProject create on a fresh install creates the following error:\r\n\r\n\r\nbase@base-nix:~/dev/gitMINE/openFrameworks/apps/personal$ ofProject create test\r\nTraceback (most recent call last):\r\n File \"/usr/local/bin/ofProject\", line 2, in \r\n from ofProject import ofProject\r\n File \"/usr/local/ofProjectManager/ofProject.py\", line 2, in \r\n import amara\r\nImportError: No module named amara\r\n\r\nNothing too serious, but this should be installed w/the installDependencies script I think.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/616","comments":3,"milestone":null,"number":616,"html_url":"https://github.com/openframeworks/openFrameworks/issues/616","assignee":null,"title":"ubuntu ofProject requirements should be installed w/installDependencies","labels":[],"closed_at":"2011-07-03T10:58:46Z","created_at":"2011-07-03T10:53:23Z","state":"closed","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1156999,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-02T20:02:54Z","body":"tested all the examples on vs2010\r\n\r\nnotes here:\r\n\r\nhttp://typewith.me/Fl7rIv0aBr\r\n\r\nstill a couple things left to do (opencv, assimp), but theo + arturo said they would look into it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/615","comments":0,"milestone":null,"number":615,"html_url":"https://github.com/openframeworks/openFrameworks/issues/615","assignee":null,"title":"fixes for vs2010","labels":[],"closed_at":"2011-07-02T20:02:54Z","created_at":"2011-07-02T05:18:34Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1154257,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/615.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/615","patch_url":"https://github.com/openframeworks/openFrameworks/pull/615.patch"}},{"updated_at":"2011-07-02T18:56:49Z","body":"lots of changes for cleaner rendering, more default arguments, loading + saving to xml, returning pointers from setup() to make ofPanel creation easier.\r\n\r\nthis is all changes in devApps, i just think it should be merged back to master so if anyone wants to work more on ofGui we're all on the same page!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/614","comments":3,"milestone":null,"number":614,"html_url":"https://github.com/openframeworks/openFrameworks/issues/614","assignee":null,"title":"ofGui modifications","labels":[],"closed_at":"2011-07-02T18:56:49Z","created_at":"2011-07-01T21:16:59Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1153086,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/614.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/614","patch_url":"https://github.com/openframeworks/openFrameworks/pull/614.patch"}},{"updated_at":"2011-07-01T15:06:31Z","body":"Added getLabelText(), which returns the string in the text label attached to the keyboard.\r\n\r\nUseful when you want to hide the default UILabel have real time custom drawing of the text typed in by the user.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/613","comments":0,"milestone":null,"number":613,"html_url":"https://github.com/openframeworks/openFrameworks/issues/613","assignee":null,"title":"Added getLabelText(), which returns the string in the text label attached","labels":[],"closed_at":"2011-07-01T15:06:31Z","created_at":"2011-06-29T20:55:03Z","state":"closed","user":{"url":"https://api.github.com/users/gardaud","gravatar_id":"60e65d6498422fb5a59e3404ef1a6c21","login":"gardaud","id":206641,"avatar_url":"https://secure.gravatar.com/avatar/60e65d6498422fb5a59e3404ef1a6c21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1140547,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/613.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/613","patch_url":"https://github.com/openframeworks/openFrameworks/pull/613.patch"}},{"updated_at":"2011-07-02T18:57:19Z","body":"things like rotation and scaling were affecting bitmap strings in ways they weren't supposed to.\r\n\r\ni meant for this to be in a branch, whoops :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/611","comments":2,"milestone":null,"number":611,"html_url":"https://github.com/openframeworks/openFrameworks/issues/611","assignee":null,"title":"brought default ofDrawBitmapString behavior back to the way it used to be","labels":[],"closed_at":"2011-07-02T18:57:19Z","created_at":"2011-06-24T01:28:56Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1107813,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/611.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/611","patch_url":"https://github.com/openframeworks/openFrameworks/pull/611.patch"}},{"updated_at":"2011-07-01T15:08:18Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/610","comments":1,"milestone":null,"number":610,"html_url":"https://github.com/openframeworks/openFrameworks/issues/610","assignee":null,"title":"tessellation on polygonExamples broken for iPhone - tess2 issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-07-01T15:08:18Z","created_at":"2011-06-23T17:44:41Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1105571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-01T18:54:54Z","body":"Would be good to fix the example to show correct usage. \r\n\r\n/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/iPhoneExamples/fontShapesExample/src/testApp.mm:59: error: 'class ofTTFCharacter' has no member named 'contours'\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/609","comments":1,"milestone":null,"number":609,"html_url":"https://github.com/openframeworks/openFrameworks/issues/609","assignee":null,"title":"typedef ofPath ofTTFCharacter; breaks the TTF shapes example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-07-01T18:54:54Z","created_at":"2011-06-23T17:42:05Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1105558,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-03T13:46:56Z","body":"I updated the .gitignore so it ignores the generated xcode project files.\r\n\r\nThe other commit's are more cosmetic. Take them if they make sense:\r\n- ofTrueTypeFont has a number of public member variables that should probably be made protected and wrapped by getter funcs. I did this for bLoadedOK (redundant name, bLoaded is sufficient), bAntiAliased, bFullCharacterSet, nCharacters. Also, bAntiAliased was misspelled as \"bAntiAlised\". This is fixed.\r\n- ofImage has a \"bAllocated()\" func while pretty much every other OF object uses \"isAllocated\". I fixed that.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/608","comments":8,"milestone":null,"number":608,"html_url":"https://github.com/openframeworks/openFrameworks/issues/608","assignee":null,"title":"updated .gitignore for generated xcode projs; updates to ofTTFont","labels":[],"closed_at":"2011-07-03T13:46:39Z","created_at":"2011-06-18T12:46:10Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1077661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/608.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/608","patch_url":"https://github.com/openframeworks/openFrameworks/pull/608.patch"}},{"updated_at":"2011-06-18T12:13:43Z","body":"I updated the .gitignore so it ignores the generated xcode project files.\r\n\r\nThe other commit's are more cosmetic. Take them if they make sense:\r\n- ofTrueTypeFont has a number of public member variables that should probably be made protected and wrapped by getter funcs. I did this for bLoadedOK (redundant name, bLoaded is sufficient), bAntiAliased, bFullCharacterSet, nCharacters. Also, bAntiAliased was misspelled as \"bAntiAlised\". This is fixed.\r\n- ofImage has a \"bAllocated()\" func while pretty much every other OF object uses \"isAllocated\". I fixed that.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/607","comments":2,"milestone":null,"number":607,"html_url":"https://github.com/openframeworks/openFrameworks/issues/607","assignee":null,"title":"updated .gitignore for generated xcode projs; various nameing fixes","labels":[],"closed_at":"2011-06-18T12:13:43Z","created_at":"2011-06-18T12:03:23Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1077587,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/607.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/607","patch_url":"https://github.com/openframeworks/openFrameworks/pull/607.patch"}},{"updated_at":"2011-12-03T22:20:15Z","body":"It appears that the line:\r\nofEnableBlendMode(currentStyle.blendingMode);\r\n\r\nshould be:\r\nofEnableBlendMode(style.blendingMode);\r\n\r\nin function\r\nvoid ofSetStyle(ofStyle style){..}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/606","comments":2,"milestone":null,"number":606,"html_url":"https://github.com/openframeworks/openFrameworks/issues/606","assignee":null,"title":"currentStyle should be style on line 568 of ofGraphics.cpp","labels":[],"closed_at":"2011-12-03T22:20:15Z","created_at":"2011-06-17T10:11:47Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1072757,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-16T10:46:21Z","body":"Hi, \r\n\r\nWorking with the ofxAssimpModelLoader.cpp (OF007), I realized there is a small mistake in draw(ofPolyRenderMode renderType) that mess up the matrixes to use in anything that is draw after the model. \r\nSimple to fix: \r\n\r\n \"ofPopStyle()\" command should be at the END of the function, after \"glPopAttrib()\".\r\n\r\nHope it helps. \r\nChema","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/604","comments":0,"milestone":null,"number":604,"html_url":"https://github.com/openframeworks/openFrameworks/issues/604","assignee":null,"title":"ofxAssimpModelLoader - Error in draw(ofPolyRenderMode renderType)","labels":[],"closed_at":"2011-06-16T10:46:21Z","created_at":"2011-06-16T10:35:17Z","state":"closed","user":{"url":"https://api.github.com/users/knute","gravatar_id":"af04648f76fc1980d4f47742e51f8903","login":"knute","id":853813,"avatar_url":"https://secure.gravatar.com/avatar/af04648f76fc1980d4f47742e51f8903?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1066642,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-01T18:54:36Z","body":"SUMMARY\r\nofTessellator.cpp generates an incorrect vertex list from that passed to it by libtess2, resulting in polygons not being drawn correctly in the iOS simulator.\r\n\r\nDESCRIPTION\r\nI've migrated from 0.062 to the github master branch a couple of days ago and have noticed that simple polygons don't seem to render in the iOS simulator. (Xcode 3.2.6, iOS 4.2). The same code works fine on Mac OS X, although I don't have a iOS device currently to test with.\r\n\r\nFor example, attempting to draw this square:\r\n```\r\nofSetColor(255,0,0,0); \r\nofFill(); \r\nofBeginShape(); \r\nofVertex(10, 10); \r\nofVertex(10, 85); \r\nofVertex(85, 85); \r\nofVertex(85, 10); \r\nofVertex(10, 10); \r\nofEndShape(); \r\n```\r\nresults in nothing being drawn in the iOS simulator. ofTriangle() and ofRect() don't suffer the problem as they don't use ofPath to get drawn.\r\n\r\nIn the debugger, I'm finding that when the above polygon is tessellated in ofPath::tessellate(), the cachedTessellation mesh has the correct vertices, but has an indices list of {0, 0, 1, 0, 2, 0} which is probably why it doesn't render (ie. duplicate consecutive indices within the same triangle. The vertices under OS X are the same, but the indices list looks more sensible.)\r\n\r\nCAUSE\r\nThe problem appears to be that ofTessellator::performTessellation() incorrectly assumes that:\r\n```\r\nsizeof(ofIndexType) == sizeof(TESSindex)\r\n```\r\nwhen it calls:\r\n```\r\ndstmesh.addIndices((ofIndexType*)tessGetElements(cacheTess),numIndices);\r\n```\r\nWhen building for iOS, this assumption is not true. ofIndexType is GLushort while TESSindex is int.\r\n\r\nSOLUTION\r\nThe following patch fixes the issue:\r\n\r\n```\r\ndiff --git a/libs/openFrameworks/graphics/ofTessellator.cpp b/libs/openFrameworks/graphics/ofTessellator.cpp\r\nindex 68fdd65..03fde46 100644\r\n--- a/libs/openFrameworks/graphics/ofTessellator.cpp\r\n+++ b/libs/openFrameworks/graphics/ofTessellator.cpp\r\n@@ -1,3 +1,5 @@\r\n+#include \r\n+\r\n #include \"ofTessellator.h\"\r\n \r\n \r\n@@ -146,7 +148,18 @@ void ofTessellator::performTessellation(ofPolyWindingMode polyWindingMode, ofMes\r\n \r\n \tdstmesh.clear();\r\n \tdstmesh.addVertices((ofVec3f*)tessGetVertices(cacheTess),numVertexes);\r\n-\tdstmesh.addIndices((ofIndexType*)tessGetElements(cacheTess),numIndices);\r\n+\r\n+\r\n+\t// If assertion fails, can safely replace following loop with more efficient:\r\n+\t//\t\tdstmesh.addIndices((ofIndexType*)tessGetElements(cacheTess),numIndices);\r\n+\tassert(sizeof(ofIndexType) != sizeof(TESSindex));\r\n+\tconst TESSindex* indices = tessGetElements(cacheTess);\r\n+\tfor (int i = 0; i < numIndices; ++i)\r\n+\t{\r\n+\t\tofIndexType index = indices[i];\r\n+\t\tdstmesh.addIndices(&index, 1);\r\n+\t}\r\n+\r\n\t/*ofIndexType * tessElements = (ofIndexType *)tessGetElements(cacheTess);\r\n\tfor(int i=0;i; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ef9fdd81521bb220014f66c184d34497"'), ('date', 'Tue, 29 May 2012 18:46:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-14T15:08:20Z","body":"no matter if it works at the end it always reports\r\n\r\nOF: OF_LOG_ERROR: GL_FRAGMENT_SHADER shader failed to link.\r\nOF: OF_LOG_ERROR: GL_VERTEX_SHADER shader failed to link.\r\n...\r\n\r\nat least on linux","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/594","comments":5,"milestone":null,"number":594,"html_url":"https://github.com/openframeworks/openFrameworks/issues/594","assignee":null,"title":"shader always reports failed to link","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-05-14T11:24:50Z","created_at":"2011-06-04T12:48:35Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1002555,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-04T12:31:08Z","body":"I just forked the newest git version(from the master branch) and all the xcode projects on every app seem to be gone. Is there any reason for this?\r\n\r\nthanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/593","comments":2,"milestone":null,"number":593,"html_url":"https://github.com/openframeworks/openFrameworks/issues/593","assignee":null,"title":"xcode projects are gone from master branch?","labels":[],"closed_at":"2011-06-04T10:53:25Z","created_at":"2011-06-04T06:45:36Z","state":"closed","user":{"url":"https://api.github.com/users/emmanuelflores","gravatar_id":"2ce598d400bf8d74653cff4cb34ae310","login":"emmanuelflores","avatar_url":"https://secure.gravatar.com/avatar/2ce598d400bf8d74653cff4cb34ae310?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":281086},"id":1002022,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-01T17:15:33Z","body":"currently its: \r\n\tOF_TRIANGLES_MODE,\r\n\tOF_TRIANGLE_STRIP_MODE,\r\n\tOF_TRIANGLE_FAN_MODE,\r\n\tOF_LINES_MODE,\r\n\tOF_LINE_STRIP_MODE,\r\n\tOF_LINE_LOOP_MODE,\r\n\tOF_POINTS_MODE\r\n\r\nthis makes it hard to tell what modes are available to you with autocompletion. \r\n\r\nit should be something more like this:\r\n\r\n\tOF_PRIMITIVE_TRIANGLES,\r\n\tOF_PRIMITIVE_TRIANGLE_STRIP,\r\n\tOF_PRIMITIVE_TRIANGLE_FAN,\r\n\tOF_PRIMITIVE_LINES,\r\n\tOF_PRIMITIVE_LINE_STRIP,\r\n\tOF_PRIMITIVE_LINE_LOOP,\r\n\tOF_PRIMITIVE_POINTS\r\n\r\nplus are we missing quad strip ? or is that because it isn't supported on ES ?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/592","comments":1,"milestone":null,"number":592,"html_url":"https://github.com/openframeworks/openFrameworks/issues/592","assignee":null,"title":"ofPrimitiveMode doesn't match OF style","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-07-01T17:15:33Z","created_at":"2011-06-02T13:26:44Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":989815,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-29T19:06:48Z","body":"I added the tess2 project so OF builds for iPhone. Also, added perspectivev3 files to the gitignore.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/588","comments":0,"milestone":null,"number":588,"html_url":"https://github.com/openframeworks/openFrameworks/issues/588","assignee":null,"title":"updated iPhone OF lib xcode project","labels":[],"closed_at":"2011-05-29T19:06:48Z","created_at":"2011-05-28T12:40:49Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":968227,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/588.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/588","patch_url":"https://github.com/openframeworks/openFrameworks/pull/588.patch"}},{"updated_at":"2011-05-29T19:05:02Z","body":"my previous setImageType was actually a bad solution. i found a better way to solve the problem by moving around a little code inside changeTypeOfPixels instead.\r\n\r\nbefore, changeTypeOfPixels wasn't always reallocating the texture. e.g., if you go from rgb to grayscale you don't need to because you're using less space. this meant that the ofTexture was still the old type (color) and was throwing errors. if this optimization is important, it should be added back into ofTexture::allocate instead of changeTypeOfPixels.\r\n\r\nthis also solves a key bug where calling setImageType would cause an image to go through getBmpFromPixels/putBmpIntoPixels and there was a stride mismatch issue for some image widths.\r\n\r\ni also solved a bug with setFromAlignedPixels where the channel math was wrong.\r\n\r\ni also added a case to putBmpIntoPixels() that should allow support for more kind of images that have alpha.\r\n\r\ntl;dr: lots of bug fixes and refactoring for image loading and conversion code.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/587","comments":4,"milestone":null,"number":587,"html_url":"https://github.com/openframeworks/openFrameworks/issues/587","assignee":null,"title":"fix setImageType (again) and other bug fixes","labels":[],"closed_at":"2011-05-29T19:04:44Z","created_at":"2011-05-28T07:17:48Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":967833,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/587.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/587","patch_url":"https://github.com/openframeworks/openFrameworks/pull/587.patch"}},{"updated_at":"2011-06-12T14:34:50Z","body":"This is the updated ofLight branch with the latest build of OF. I deleted the old version, so this should be good to go with the new file structure.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/586","comments":2,"milestone":null,"number":586,"html_url":"https://github.com/openframeworks/openFrameworks/issues/586","assignee":null,"title":"Lightdev - ofLight multi light support and spotlight support","labels":[],"closed_at":"2011-06-12T14:34:50Z","created_at":"2011-05-25T16:49:20Z","state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142694},"id":953953,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/586.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/586","patch_url":"https://github.com/openframeworks/openFrameworks/pull/586.patch"}},{"updated_at":"2011-05-24T22:34:54Z","body":"added va_list log functions, fixes #584; ofVAArgsToString va_list func stub added, needs to be implemented","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/585","comments":3,"milestone":null,"number":585,"html_url":"https://github.com/openframeworks/openFrameworks/issues/585","assignee":null,"title":"ofLog va_list fix","labels":[],"closed_at":"2011-05-24T22:05:59Z","created_at":"2011-05-24T21:58:31Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":949851,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/585.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/585","patch_url":"https://github.com/openframeworks/openFrameworks/pull/585.patch"}},{"updated_at":"2011-05-24T22:06:01Z","body":"The ofLog variadic call is totally broken. Doing a print yields gibberish for the given variable arguments.\n\nI tracked down the cause to passing a va_list from one function to another function that takes the ellipses (...):\n
\nvoid ofConsoleLoggerChannel::log(ofLogLevel logLevel, const string & module, const char* format, ...){\n\t//thanks stefan!\n\t//http://www.ozzu.com/cpp-tutorials/tutorial-writing-custom-printf-wrapper-function-t89166.html\n        va_list args;\n        va_start( args, format );\n\tif(logLevel OF_LOG_ERROR){\n\t\tprintf(\"%s: \", module.c_str());\n\t\tprintf(\"%s: \", ofGetLogLevelName(logLevel).c_str());\n\t\tvprintf( format, args );\n\t\tprintf(\"\\n\");\n\t}else{\n\t\tfprintf(stderr,\"%s: \", module.c_str());\n\t\tfprintf(stderr,\"%s: \", ofGetLogLevelName(logLevel).c_str());\n\t\tvfprintf( stderr, format, args );\n\t\tfprintf(stderr,\"\\n\");\n\t}\n\n\tva_end( args );\n}\n\n
\n\nSee the first answer to this Stack Overflow post http://stackoverflow.com/questions/205529/c-c-passing-variable-number-of-arguments-around.\n\nBasically, it seems the second function taking the va_list via (...) dosen't automatically know what it is and tries to read the raw memory based on the format string ... \n\nThis function should in fact take a va_list arg which has already been started in the calling function and va_start and va_end do not need to be used:\n\n
\nvoid ofConsoleLoggerChannel::log(ofLogLevel logLevel, const string & module, const char* format, va_list args){\n\t//thanks stefan!\n\t//http://www.ozzu.com/cpp-tutorials/tutorial-writing-custom-printf-wrapper-function-t89166.html\n\n\tif(logLevel OF_LOG_ERROR){\n\t\tprintf(\"%s: \", module.c_str());\n\t\tprintf(\"%s: \", ofGetLogLevelName(logLevel).c_str());\n\t\tvprintf( format, args );\n\t\tprintf(\"\\n\");\n\t}else{\n\t\tfprintf(stderr,\"%s: \", module.c_str());\n\t\tfprintf(stderr,\"%s: \", ofGetLogLevelName(logLevel).c_str());\n\t\tvfprintf( stderr, format, args );\n\t\tfprintf(stderr,\"\\n\");\n\t}\n\n}\n
\n\nI changed the logger channel classes to implement va_list args and everything works fine now. I can submit a pull request after my current request is accepted .. :D","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/584","comments":3,"milestone":null,"number":584,"html_url":"https://github.com/openframeworks/openFrameworks/issues/584","assignee":null,"title":"ofLog va_args broken","labels":[],"closed_at":"2011-05-24T22:06:01Z","created_at":"2011-05-24T16:57:16Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":948244,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-24T18:30:51Z","body":"Kyle's ofGetInternalFormatName wasn't #ifdef-ed for OPENGLES and ofxiPhoneApp implemented \nrunAppViaInfiniteLoop with a * pointer not the new ofPtr object and, as such, did not override the ofBaseApp virtual function ... meaning the app will not actually run. :P Shouldn't most of ofBaseApp be virtual = 0?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/583","comments":0,"milestone":null,"number":583,"html_url":"https://github.com/openframeworks/openFrameworks/issues/583","assignee":null,"title":"iOS fixes","labels":[],"closed_at":"2011-05-24T18:30:51Z","created_at":"2011-05-23T18:36:23Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":942870,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/583.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/583","patch_url":"https://github.com/openframeworks/openFrameworks/pull/583.patch"}},{"updated_at":"2011-05-28T07:18:20Z","body":"closes #50. this is against the actual upstream/master while my last attempt at making this work was on an old upstream/master. whoops.\r\n\r\nfor some reason #50 was closed before, but it was never actually fixed...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/581","comments":5,"milestone":null,"number":581,"html_url":"https://github.com/openframeworks/openFrameworks/issues/581","assignee":null,"title":"fixed: setImageType didn''t reallocate the ofTexture","labels":[],"closed_at":"2011-05-21T19:55:51Z","created_at":"2011-05-21T19:53:17Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":936328,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/581.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/581","patch_url":"https://github.com/openframeworks/openFrameworks/pull/581.patch"}},{"updated_at":"2011-05-21T18:09:12Z","body":"fixed rt audio hang on exit by removing close() in destructor; now correctly deleting audio pointer when closing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/580","comments":2,"milestone":null,"number":580,"html_url":"https://github.com/openframeworks/openFrameworks/issues/580","assignee":null,"title":"fixed rt audio hang on exit","labels":[],"closed_at":"2011-05-21T18:03:50Z","created_at":"2011-05-21T18:02:13Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":936118,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/580.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/580","patch_url":"https://github.com/openframeworks/openFrameworks/pull/580.patch"}},{"updated_at":"2011-05-21T17:24:51Z","body":"fixed RtAudio close call in destructor which hangs on exit, added bSetup bool since audio pointer is now a shared_ptr","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/579","comments":11,"milestone":null,"number":579,"html_url":"https://github.com/openframeworks/openFrameworks/issues/579","assignee":null,"title":"fixed RtAudio hanging on exit","labels":[],"closed_at":"2011-05-21T17:23:39Z","created_at":"2011-05-21T16:46:40Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":935985,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/579.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/579","patch_url":"https://github.com/openframeworks/openFrameworks/pull/579.patch"}},{"updated_at":"2011-05-21T16:03:59Z","body":"check if RTAudio stream is open/running before closing/stopping, avoids error print on RT sound stream destructor if close was called during app::exit()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/578","comments":0,"milestone":null,"number":578,"html_url":"https://github.com/openframeworks/openFrameworks/issues/578","assignee":null,"title":"check if RTAudio stream is open/running before closing/stopping","labels":[],"closed_at":"2011-05-21T16:03:59Z","created_at":"2011-05-21T16:00:40Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":935912,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/578.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/578","patch_url":"https://github.com/openframeworks/openFrameworks/pull/578.patch"}},{"updated_at":"2011-08-26T11:51:32Z","body":"* capital-M Makefile is more standard; updated base in devApps/linux/Makefile + script (FIXED)\n* USER_LD_FLAGS in config.make should be USER_LDFLAGS (FIXED)\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/575","comments":2,"milestone":null,"number":575,"html_url":"https://github.com/openframeworks/openFrameworks/issues/575","assignee":null,"title":"Linux: renamed examples makefile->Makefile; fixed config.make; updated devApps/linux/copyMakefiles.sh","labels":[],"closed_at":"2011-08-26T11:51:32Z","created_at":"2011-05-19T14:38:29Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927292,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/575.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/575","patch_url":"https://github.com/openframeworks/openFrameworks/pull/575.patch"}},{"updated_at":"2011-12-12T21:29:06Z","body":"Using the bleeding edge 007, I noticed that the following call prints even if the log level is not OF_LOG_VERBOSE:\r\n
\r\nstring line = \"test\";\r\nofLog(OF_LOG_VERBOSE, \"ofxPd: print: \"+line);\r\n
\r\n\r\nSwitching to the var args works fine:\r\n
\r\nofLog(OF_LOG_VERBOSE, \"ofxPd: print: %s\", line.c_str());\r\n
\r\n\r\nSomehow the string concatenation via the + operator is forcing the print through ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/574","comments":5,"milestone":null,"number":574,"html_url":"https://github.com/openframeworks/openFrameworks/issues/574","assignee":null,"title":"ofLog logLevels ignored when adding strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-12-12T20:58:10Z","created_at":"2011-05-18T20:23:45Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":923832,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T09:19:54Z","body":"I just want to tell you that there is a problem with Lion. I'm a beta tester and I usualy work with OF and there is a problem with QT\r\nXCode (4.1 L2) tell me that MacSetRect, GetGWorldPixMap, LockPixels, SetGWord as not declare in the scope in ofQuickTimePlayer.cpp and ofQuickTimeGrabber.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/573","comments":16,"milestone":null,"number":573,"html_url":"https://github.com/openframeworks/openFrameworks/issues/573","assignee":null,"title":"Lion beta tester problem with ofQuicktimeGrabber and ofQuickTimePlayer","labels":[],"closed_at":"2011-08-22T09:19:54Z","created_at":"2011-05-16T22:52:20Z","state":"closed","user":{"url":"https://api.github.com/users/rsilvestre","gravatar_id":"e7b7d7f64512fd4f1fd53e5f4846b1f6","login":"rsilvestre","avatar_url":"https://secure.gravatar.com/avatar/e7b7d7f64512fd4f1fd53e5f4846b1f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":213663},"id":913417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-01T15:33:02Z","body":"needs: tex.texData.bFlipTexture = true;\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/571","comments":0,"milestone":null,"number":571,"html_url":"https://github.com/openframeworks/openFrameworks/issues/571","assignee":null,"title":"ofFbo is rendering upside down","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-07-01T15:33:02Z","created_at":"2011-05-12T22:13:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":891991,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-05T11:44:02Z","body":"Is there any possibility of future releases of openFrameworks for Mac OSX will be as xcode frameworks?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/570","comments":1,"milestone":null,"number":570,"html_url":"https://github.com/openframeworks/openFrameworks/issues/570","assignee":null,"title":"openFrameworks as and xcode framework","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":"2012-03-05T11:44:02Z","created_at":"2011-05-12T08:25:07Z","state":"closed","user":{"url":"https://api.github.com/users/subszero","gravatar_id":"aac7f9a85388beb45df5ee4366240473","login":"subszero","avatar_url":"https://secure.gravatar.com/avatar/aac7f9a85388beb45df5ee4366240473?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":732178},"id":888301,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-13T13:21:55Z","body":"I get this in the console instead num touches: 818435748","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/567","comments":0,"milestone":null,"number":567,"html_url":"https://github.com/openframeworks/openFrameworks/issues/567","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS touche.numTouches does not return correct value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-13T13:21:55Z","created_at":"2011-05-10T19:47:14Z","state":"closed","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":878145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:21:11Z","body":"Hi\r\n\r\nBeen working on getting the openCVexample working for Windows with the latest stable branch. Got most of it done (adding search directories and linking the newly named libs for GL). The error I can't get rid of is \"obj\\release\\addons\\ofxOpenCv\\src\\ofxCvImage.o:ofxCvImage.cpp|| undefined reference to `cvUnDistortOnce'|\". A bit of searching shows that this is in the opencv_legacy.a file, which exists for linux, iphone, osx and android, but not for win_cb.\r\n\r\nI'd be happy to compile this file, if only I knew how!\r\n\r\nStefan","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/563","comments":1,"milestone":null,"number":563,"html_url":"https://github.com/openframeworks/openFrameworks/issues/563","assignee":null,"title":"opencv_legacy.a for windows codeblocks","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":"2011-12-03T21:21:11Z","created_at":"2011-05-02T13:35:49Z","state":"closed","user":{"url":"https://api.github.com/users/stepto","gravatar_id":"a5f1321d2fe04fb88e22f0a99605377c","login":"stepto","avatar_url":"https://secure.gravatar.com/avatar/a5f1321d2fe04fb88e22f0a99605377c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":366395},"id":838677,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T18:18:58Z","body":"MoviesTask was #ifdef'd out by an #ifdef OF_QT_MOVIETASK which was not defined anywhere. Although MoviesTask is called automatically in most cases under OSX, when movie playback is heavily multithreaded failing to call MoviesTask manually can cause movies to freeze.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/562","comments":5,"milestone":null,"number":562,"html_url":"https://github.com/openframeworks/openFrameworks/issues/562","assignee":null,"title":"Re-enabled MoviesTask in ofQuickTimePlayer","labels":[],"closed_at":"2012-02-25T18:16:52Z","created_at":"2011-05-01T16:57:08Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":835644,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/562.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/562","patch_url":"https://github.com/openframeworks/openFrameworks/pull/562.patch"}},{"updated_at":"2011-07-06T18:33:02Z","body":"adding img.resetROI before copying the input img in findHaarObjects\r\nsolves issue 558\r\nhttps://github.com/openframeworks/openFrameworks/issues/558\r\nbut maybe someone with more knowledge of the haarFinder could review?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/561","comments":0,"milestone":null,"number":561,"html_url":"https://github.com/openframeworks/openFrameworks/issues/561","assignee":null,"title":"resetROI on ofxCvHaarFinder::findHaarObjects","labels":[],"closed_at":"2011-07-06T18:33:02Z","created_at":"2011-04-30T18:52:11Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":833930,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/561.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/561","patch_url":"https://github.com/openframeworks/openFrameworks/pull/561.patch"}},{"updated_at":"2011-10-23T19:21:45Z","body":"Visual Studio versions before 2010 did not come with stdint.h, so those types had to be defined in cross platform code. Now that the new version does, some of this older code breaks due to the redefinition.\n\nSee http://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\n\nIn ofxOSC in ofxOscArg.h on lines 73-76:\n
\n#if defined TARGET_WIN32 && defined _MSC_VER\n// required because MSVC isn't ANSI-C compliant\ntypedef long int32_t;\n#endif\n
\n\nThe define should check for versions < VS 2010. See https://github.com/ofTheo/ofxKinect/issues/64","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/559","comments":6,"milestone":null,"number":559,"html_url":"https://github.com/openframeworks/openFrameworks/issues/559","assignee":null,"title":"ofxOsc int32_t typedef not needed with VS 2010 on windows","labels":[],"closed_at":"2011-10-23T19:21:45Z","created_at":"2011-04-28T13:29:04Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":824284,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T20:22:42Z","body":"In findHaarObjects, we call img.setROI after making the copy of the input image, but if the internal img of the haarfinder has a previous ROI, we get the error\r\nOF_ERROR: in =, ROI mismatch \r\n\r\nexplanation and proposed solution \r\nhttp://forum.openframeworks.cc/index.php/topic,6091.msg29389.html#msg29389\r\n\r\nif the solution seems sensitive, I can make a pull request","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/558","comments":1,"milestone":null,"number":558,"html_url":"https://github.com/openframeworks/openFrameworks/issues/558","assignee":null,"title":"ofxCvHaarFinder fails when using different ROI on succesive calls","labels":[],"closed_at":"2011-12-04T20:22:35Z","created_at":"2011-04-27T22:31:00Z","state":"closed","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":822013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-04-27T18:09:25Z","body":"draws at a constant line width.\r\n\r\ndoesn't leak color.\r\n\r\nminor formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/557","comments":2,"milestone":null,"number":557,"html_url":"https://github.com/openframeworks/openFrameworks/issues/557","assignee":null,"title":"ofDrawAxis fixes","labels":[],"closed_at":"2011-04-27T18:01:07Z","created_at":"2011-04-27T17:58:30Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":820863,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/557.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/557","patch_url":"https://github.com/openframeworks/openFrameworks/pull/557.patch"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=21&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '33051'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"40a3fca1fc2d59e7793251208ccbfae2"'), ('date', 'Tue, 29 May 2012 18:46:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"iPhone setOrientation uses two different enums","html_url":"https://github.com/openframeworks/openFrameworks/issues/556","comments":1,"assignee":null,"updated_at":"2011-07-02T19:25:46Z","body":"OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT is set to UIDeviceOrientationLandscapeRight\r\n\r\nbut in ofxiPhoneAppWindow::setOrientation it uses a different enum \r\n\r\nOFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT:\r\n\t\t\t[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight\r\n\r\non iPad UIDeviceOrientationLandscapeRight = UIInterfaceOrientationLandscapeLeft and vice versa \r\n\r\nwe should use one of these sets for everything - mixing them causes crazy iPad rotation weirdness. \r\n\r\n@memo @stfj","number":556,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/556","labels":[],"id":817446,"closed_at":"2011-07-02T19:25:46Z","created_at":"2011-04-27T00:18:26Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","url":"https://api.github.com/users/chrisoshea","login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OF_SOUND_PLAYER_IPHONE in ofSoundPlayer.h","html_url":"https://github.com/openframeworks/openFrameworks/issues/554","comments":4,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-05-26T10:27:20Z","body":"There is this (line 37):\n#ifdef TARGET_OF_IPHONE\n#define OF_SOUND_PLAYER_IPHONE\n\nbut OF_SOUND_PLAYER_IPHONE isnt used again anywhere.\n\nline 62:\n#ifdef TARGET_OF_IPHONE\n#include \"ofxOpenALSoundPlayer.h\"\n#define OF_SOUND_PLAYER_TYPE ofxOpenALSoundPlayer()\n#endif\n\nshould be\n#ifdef OF_SOUND_PLAYER_IPHONE\n#include \"ofxOpenALSoundPlayer.h\"\n#define OF_SOUND_PLAYER_TYPE ofxOpenALSoundPlayer()\n#endif\n\nit still works anyway, but i wondered why OF_SOUND_PLAYER_IPHONE was being defined. just a minor thing.\n\n\n","number":554,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/554","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound"}],"id":809549,"closed_at":"2012-05-26T10:27:16Z","created_at":"2011-04-25T12:36:14Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b5c0e3c2630097b29680cfeda464024c","url":"https://api.github.com/users/memo","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"fixed iphone empty example","html_url":"https://github.com/openframeworks/openFrameworks/issues/553","comments":0,"assignee":null,"updated_at":"2011-04-24T03:51:15Z","body":"updated iPhoneEmptyExample project file to compile, link, and run for iphone and simulator","number":553,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/553","diff_url":"https://github.com/openframeworks/openFrameworks/pull/553.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/553.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/553","labels":[],"id":805986,"closed_at":"2011-04-24T03:51:15Z","created_at":"2011-04-23T20:31:11Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b5c0e3c2630097b29680cfeda464024c","url":"https://api.github.com/users/memo","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"CRITICAL FIX: ios touch positions are in the wrong place when in landscape","html_url":"https://github.com/openframeworks/openFrameworks/issues/552","comments":0,"assignee":null,"updated_at":"2011-04-24T03:49:56Z","body":"fixed","number":552,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/552","diff_url":"https://github.com/openframeworks/openFrameworks/pull/552.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/552.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/552","labels":[],"id":805911,"closed_at":"2011-04-24T03:49:56Z","created_at":"2011-04-23T19:55:31Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b5c0e3c2630097b29680cfeda464024c","url":"https://api.github.com/users/memo","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"fixed iphoneEmptyExample project","html_url":"https://github.com/openframeworks/openFrameworks/issues/551","comments":1,"assignee":null,"updated_at":"2011-04-23T20:28:29Z","body":"removed all OSX libraries\r\nremoved cppUnit.cpp from poco\r\nadded necessary frameworks\r\n\r\napps/iPhoneExamples/emptyExample/iPhoneEmptyExample.xcodeproj is now a working project\r\n\r\n","number":551,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/551","diff_url":"https://github.com/openframeworks/openFrameworks/pull/551.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/551.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/551","labels":[],"id":805835,"closed_at":"2011-04-23T20:28:29Z","created_at":"2011-04-23T19:09:21Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b5c0e3c2630097b29680cfeda464024c","url":"https://api.github.com/users/memo","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofMesh::addTriangle(index1, index2, index3)","html_url":"https://github.com/openframeworks/openFrameworks/issues/550","comments":0,"assignee":null,"updated_at":"2011-04-23T18:46:49Z","body":"to add a triangle to a mesh, you need to do it in 3 lines:\r\nmesh.addIndex(0);\r\nmesh.addIndex(1);\r\nmesh.addIndex(2);\r\nand that adds a triangle.\r\n\r\nSo I added a simple method which wraps that. \r\nmesh.addTriangle(0, 1, 2);\r\n","number":550,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/550","diff_url":"https://github.com/openframeworks/openFrameworks/pull/550.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/550.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/550","labels":[],"id":805710,"closed_at":"2011-04-23T18:46:48Z","created_at":"2011-04-23T18:04:28Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"remaining ofDirectory issues","html_url":"https://github.com/openframeworks/openFrameworks/issues/547","comments":5,"assignee":null,"updated_at":"2011-04-20T09:20:08Z","body":"three or four issues were introduced, two of them fairly serious, when ofDirList turned into ofDirectory. i've fixed them in this branch.\r\n\r\nthis pull request cleans up the commits.","number":547,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/547","diff_url":"https://github.com/openframeworks/openFrameworks/pull/547.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/547.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/547","labels":[],"id":790166,"closed_at":"2011-04-20T00:25:22Z","created_at":"2011-04-19T18:45:30Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"remaining ofDirectory issues","html_url":"https://github.com/openframeworks/openFrameworks/issues/546","comments":5,"assignee":null,"updated_at":"2011-04-19T18:46:55Z","body":"three or four issues were introduced, two of them fairly serious, when ofDirList turned into ofDirectory. i've fixed them in this branch.","number":546,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/546","diff_url":"https://github.com/openframeworks/openFrameworks/pull/546.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/546.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/546","labels":[],"id":790022,"closed_at":"2011-04-19T18:40:48Z","created_at":"2011-04-19T18:10:21Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofDirectory::setExecutable is unimplemented","html_url":"https://github.com/openframeworks/openFrameworks/issues/544","comments":4,"assignee":null,"updated_at":"2011-12-03T21:05:39Z","body":"i don't know if it even makes sense to set a directory as 'executable', but regardless, the method is unimplemented.\r\n\r\nif there is going to be so much repetition between ofFile and ofDirectory it might make sense for ofDirectory to extend ofFile.","number":544,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/544","labels":[],"id":789872,"closed_at":"2011-12-03T21:05:39Z","created_at":"2011-04-19T17:46:37Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofDirectory hidden files broken by ofFileUtils migration","html_url":"https://github.com/openframeworks/openFrameworks/issues/543","comments":2,"assignee":null,"updated_at":"2011-12-03T21:04:46Z","body":"ofDirectory must have a constructor, and this constructor must initialize \"showHidden\" to false. otherwise the variable is uninitialized, and you might have random problems with hidden files.","number":543,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/543","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":789788,"closed_at":"2011-12-03T21:04:46Z","created_at":"2011-04-19T17:34:17Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"b5c0e3c2630097b29680cfeda464024c","url":"https://api.github.com/users/memo","login":"memo","id":144230,"avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"fixing ios compile problems","html_url":"https://github.com/openframeworks/openFrameworks/issues/542","comments":1,"assignee":null,"updated_at":"2011-04-23T15:53:33Z","body":"fixed a bunch of ios no-compile problems\r\n\r\n\r\n- graphics + gl\r\n- orientation stuff (and thus anything that uses it, e.g. keyboard)\r\n- events\r\n- video player\r\n- video grabber\r\n\r\ni've fixed these all and committed in a fix-ios branch. The examples compile and run now, but I recommend whoever wrote those bits to have a bit more of an indepth look to make sure the fixes don't have any side effects.\r\n\r\nP.S. Some of the examples, the developer is set to Theo's developer profile. If we leave this on Automatic it will pick whatever profile is installed on the mac. Also, there is a stray cppunit.a missing in the example projects /libs/poco too (we don't even need the osx folder here i guess in the projects?). I've fixed the empty example, which compiles and works now, some of the other examples (e.g. videograbber) doesn't link though. I\"ll leave that to the video guys :)\r\n","number":542,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/542","diff_url":"https://github.com/openframeworks/openFrameworks/pull/542.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/542.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/542","labels":[],"id":788711,"closed_at":"2011-04-23T15:53:32Z","created_at":"2011-04-19T14:14:40Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","url":"https://api.github.com/users/chrisoshea","login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxAssimpModelLoader ref to ofFileUtils","html_url":"https://github.com/openframeworks/openFrameworks/issues/540","comments":2,"assignee":null,"updated_at":"2011-04-16T10:55:23Z","body":"needs fixing in ...\r\n\r\n/addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp:147: error: \r\n'ofFileUtils' has not been declared\r\n","number":540,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/540","labels":[],"id":777819,"closed_at":"2011-04-16T10:54:23Z","created_at":"2011-04-16T10:53:25Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofBuffer getNextLine - error putting file back together.","html_url":"https://github.com/openframeworks/openFrameworks/issues/539","comments":0,"assignee":null,"updated_at":"2011-05-01T15:23:50Z","body":"When I use getNextLine to go through a file and recombine the file into a single string something is missing ( ie a json file can't be parsed ). \r\n\r\nUsing this code instead and stitching it back together works fine.\r\n\r\n\tstring str,strTotal;\r\n\tifstream in;\r\n\tin.open(ofToDataPath(path, true).c_str());\r\n\t\r\n\tgetline(in,str);\r\n\twhile ( in ) {\r\n\t\r\n\t\tstrTotal += str;\r\n\t\tgetline(in, str);\r\n }\r\n\r\nI'll try and see what the difference is - but in theory the result should be the same. \r\n\r\nalso possible related the size of getNextLine is never 0, it seems like the size is 1 when its done reading. \r\nis this because of the null byte?\r\nit would be good to find a clear way to know when you have reached the last line of the file.\r\n\r\n@arturoc","number":539,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/539","labels":[],"id":773449,"closed_at":"2011-05-01T15:23:50Z","created_at":"2011-04-15T13:00:12Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","url":"https://api.github.com/users/roxlu","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofToDataPath returns incorrect path when used in constructor (Mac)","html_url":"https://github.com/openframeworks/openFrameworks/issues/538","comments":2,"assignee":null,"updated_at":"2011-09-11T11:28:15Z","body":"When you call ofToDataPath(\"file.mov\",true) inside the testApp constructor (or actually before setup() is called) it returns\r\nan incorrect path. ","number":538,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/538","labels":[],"id":765530,"closed_at":"2011-09-11T11:28:15Z","created_at":"2011-04-13T18:49:37Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxDirList is broken by ofFileUtils restructuring","html_url":"https://github.com/openframeworks/openFrameworks/issues/537","comments":1,"assignee":null,"updated_at":"2011-09-11T11:37:45Z","body":"ofxDirList.h should now be:\r\n\r\n\t#pragma once\r\n\r\n\t#include \"ofFileUtils.h\"\r\n\r\n\t#warning ofxDirList has been deprecated. \r\n\t#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\n\ttypedef ofDirectory ofxDirList;","number":537,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/537","labels":[],"id":764261,"closed_at":"2011-09-11T11:37:45Z","created_at":"2011-04-13T14:11:28Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"simple ofLog and ofDrawBitmapString C++ ostream wrappers","html_url":"https://github.com/openframeworks/openFrameworks/issues/536","comments":0,"assignee":null,"updated_at":"2011-04-29T18:10:42Z","body":"Here's a simplified version of the C++ ostream << interface to ofLog and ofDrawBitmapString as well as a test app in /apps/devApps. This is based on [ofxLogger](https://github.com/danomatika/ofxLogger) but with the normal printf backend instead of the Poco::Logger.\n\nThis supports the old ofLog usage and also allows you to use streams by log level name:\n\nofLog(OF_LOG_NOTICE, \"a message\");\nofLog() << \"a message\";\n\nofLog(OF_LOG_ERROR, \"an error\");\nofLogError() << \"an error\";\n\nofDrawBitmapString works the same way:\n\nofDrawBitmapString(\"a message on the screen\", 10, 10);\nofDrawBitmapString(10, 10) << \"a message on the screen\";\n\nNaturally the stream operators handle type conversion to strings for you and this implementations handles all the stream io formatting functions such as std::endl, std::hex, etc ...","number":536,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/536","diff_url":"https://github.com/openframeworks/openFrameworks/pull/536.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/536.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/536","labels":[],"id":756726,"closed_at":"2011-04-29T18:10:42Z","created_at":"2011-04-11T22:21:05Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"trying to close a thread several time can be problematic","html_url":"https://github.com/openframeworks/openFrameworks/issues/535","comments":3,"assignee":null,"updated_at":"2012-04-03T22:57:43Z","body":"http://forum.openframeworks.cc/index.php/topic,5924.0.html\r\n\r\nperhaps we should look into using Poco::Thread or even std::tr1::thread if it's available in all the compilers","number":535,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/535","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":755993,"closed_at":"2012-04-03T16:44:15Z","created_at":"2011-04-11T19:58:14Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"kiss library missing on linux32 ?","html_url":"https://github.com/openframeworks/openFrameworks/issues/531","comments":4,"assignee":null,"updated_at":"2011-04-10T20:51:00Z","body":"is the kiss library missing on linux 32 bit?\r\nis it vital for openal soundplayer?","number":531,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/531","labels":[],"id":749734,"closed_at":"2011-04-10T10:40:23Z","created_at":"2011-04-10T10:04:53Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"2510c33845ef9568d7d753be5de0f96a","url":"https://api.github.com/users/dimitre","login":"dimitre","id":58289,"avatar_url":"https://secure.gravatar.com/avatar/2510c33845ef9568d7d753be5de0f96a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofDirectoryLister / ofDirectory, latest from GIT master on OS X","html_url":"https://github.com/openframeworks/openFrameworks/issues/527","comments":2,"assignee":null,"updated_at":"2011-04-08T21:28:35Z","body":"I've noticed ofDirectoryLister was renamed ofDirectory, but from the latest master I can't compile anything, how can I fix this?\r\n\r\n CompileC build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofDirectoryLister.o ../../../openFrameworks/utils/ofDirectoryLister.cpp normal i386 c++ com.apple.compilers.gcc.4_2\r\n cd /Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx\r\n setenv LANG en_US.US-ASCII\r\n /Developer/usr/bin/gcc-4.2 -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -ftree-vectorize -msse3 -mssse3 -Wno-deprecated-declarations -Wno-invalid-offsetof -gdwarf-2 -I/Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/openFrameworksDebug.hmap -F/Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx -I/Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/../../lib/osx/include -I../../../../libs/freetype/include -I../../../../libs/freetype/include/freetype2 -I../../../../libs/poco/include -I/Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources/i386 -I/Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/DerivedSources -D__MACOSX_CORE__ -lpthread -c /Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/utils/ofDirectoryLister.cpp -o /Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/build/openFrameworksLib.build/Debug/openFrameworks.build/Objects-normal/i386/ofDirectoryLister.o\r\n\r\n i686-apple-darwin10-gcc-4.2.1: /Users/dimitre/src/OFnew/openFrameworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/utils/ofDirectoryLister.cpp: No such file or directory\r\n Command /Developer/usr/bin/gcc-4.2 failed with exit code 1","number":527,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/527","labels":[],"id":746514,"closed_at":"2011-04-08T21:19:58Z","created_at":"2011-04-08T21:02:45Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofFind broken for vector with one element ","html_url":"https://github.com/openframeworks/openFrameworks/issues/526","comments":4,"assignee":null,"updated_at":"2011-04-15T13:34:04Z","body":"@kylemcdonald\r\n\r\nvector arr; \r\narr.push_back(\"hello\"); \r\n\r\nofFind(arr, \"hello\"); //returns false should return true.","number":526,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/526","labels":[],"id":742304,"closed_at":"2011-04-15T13:01:42Z","created_at":"2011-04-07T19:18:41Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofDrawAxis leaks color, and disappears sometimes","html_url":"https://github.com/openframeworks/openFrameworks/issues/521","comments":1,"assignee":null,"updated_at":"2011-08-26T06:14:56Z","body":"ofDrawAxis needs an ofPushStyle()/ofPopStyle() surrounding it.\r\n\r\nit should also be drawn with constant-width thick lines (ofSetLineWidth()) instead of drawn with boxes. the boxes will disappear if you zoom out too much, or they will get too big if you're working on a smaller scale.","number":521,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/521","labels":[],"id":725921,"closed_at":"2011-08-26T06:14:56Z","created_at":"2011-04-02T00:53:10Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"2510c33845ef9568d7d753be5de0f96a","url":"https://api.github.com/users/dimitre","login":"dimitre","id":58289,"avatar_url":"https://secure.gravatar.com/avatar/2510c33845ef9568d7d753be5de0f96a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofLine termination with width > 1, drawing in angle","html_url":"https://github.com/openframeworks/openFrameworks/issues/518","comments":2,"assignee":null,"updated_at":"2011-12-03T22:55:25Z","body":"Hello, I've just noticed that when I draw a line with some width, lets say 10 pixels, the line always have terminations in orthogonal endings (0, 90 degrees) related to the screen instead of related to the line itself.\r\n","number":518,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/518","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":719227,"closed_at":"2011-12-03T22:55:25Z","created_at":"2011-03-30T21:39:27Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"floating point ofImage + ofPixel","html_url":"https://github.com/openframeworks/openFrameworks/issues/517","comments":1,"assignee":null,"updated_at":"2011-09-25T13:15:30Z","body":"i see two major reasons to introduce floating point images. one is for ofTexture compatibility (ofTexture has a floating point pixel datatype already implemented, and it's integrated with ofFbo i believe.) if we want proper readback texture -> pixels we need this.\n\nthe other big reason is opencv compatibility. there are a lot of arguments in opencv that require floating point images, or work best with floating point images. if OF had a floating point image type, it would make the transition between OF and CV much more seamless. things like cpu-based accumulation buffers will happen more easily.\n\nthis would also bring us one step closer to higher bit depth png saving.\n\ni understand this feature is not easy at all, but i think it's super important.","number":517,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/517","labels":[],"id":718930,"closed_at":"2011-09-25T13:15:30Z","created_at":"2011-03-30T20:17:04Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"closes #514, fixes issue with dirList on paths not ending with slashes","html_url":"https://github.com/openframeworks/openFrameworks/issues/516","comments":2,"assignee":null,"updated_at":"2011-04-04T15:53:58Z","body":"that's embarrassing, a user just reported this obvious problem i somehow failed to port from the old ofxDirList.\r\n\r\nnote that i solved it by adding a function ofFileUtils::getPathForDirectory(string path) which uses poco to add a trailing slash when necessary. i feel like this is probably more reliable than checking if the last character is a slash and adding it ourself (which was the old solution).","number":516,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/516","diff_url":"https://github.com/openframeworks/openFrameworks/pull/516.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/516.patch"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/516","labels":[],"id":718612,"closed_at":"2011-04-04T15:53:58Z","created_at":"2011-03-30T18:30:27Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"cairo bug with ofCircle - hardcoded to be black!","html_url":"https://github.com/openframeworks/openFrameworks/issues/515","comments":2,"assignee":null,"updated_at":"2011-03-30T18:58:04Z","body":"remove line 902:\r\n\t\tcairo_set_source_rgba(cr,0,0,0,1);\r\nfrom:\r\n\t//----------------------------------------------------------\r\n\tvoid ofCairoRenderer::drawCircle(float x, float y, float z, float radius){\r\n\t\tcairo_new_path(cr);\r\n\t\tcairo_set_source_rgba(cr,0,0,0,1);\r\n\t\tcairo_arc(cr, x,y,radius,0,2*PI);\r\n\r\n\t\tcairo_close_path(cr);\r\n\r\n\t\tif(bFilled==OF_FILLED){\r\n\t\t\tcairo_fill( cr );\r\n\t\t}else{\r\n\t\t\tcairo_stroke( cr );\r\n\t\t}\r\n\t}\r\n","number":515,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/515","labels":[],"id":718532,"closed_at":"2011-03-30T18:58:04Z","created_at":"2011-03-30T18:05:36Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=22&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '28521'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"12aa0c3192d5169fa13f2b75f3f437fb"'), ('date', 'Tue, 29 May 2012 18:46:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-03-30T18:44:28Z","body":"I'm listing a folder inside \"data\" folder, its called \"videos/001\"\nwhen I use getPath it returns me something like \"videos/0.mov\" instead of \"videos/001/0.mov\"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/514","comments":4,"milestone":null,"number":514,"html_url":"https://github.com/openframeworks/openFrameworks/issues/514","assignee":null,"title":"ofDirectoryLister, getPath returning incomplete path","labels":[],"closed_at":"2011-03-30T18:03:19Z","created_at":"2011-03-30T13:59:00Z","state":"closed","user":{"url":"https://api.github.com/users/dimitre","gravatar_id":"2510c33845ef9568d7d753be5de0f96a","login":"dimitre","avatar_url":"https://secure.gravatar.com/avatar/2510c33845ef9568d7d753be5de0f96a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":58289},"id":717785,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-28T13:55:08Z","body":"I got some bad access errors when loading images from twitpic/yfrom asynchronously. Added some checks to ofURLoader. I also tried to handle http-redirects; but could not find anything usefull information in the poco documentation. I think it would be good to have an option to follow redirects.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/513","comments":1,"milestone":null,"number":513,"html_url":"https://github.com/openframeworks/openFrameworks/issues/513","assignee":null,"title":"ofUrlLoader exc_bad_access","labels":[],"closed_at":"2011-03-28T13:55:08Z","created_at":"2011-03-27T18:25:41Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":708745,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/513.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/513","diff_url":"https://github.com/openframeworks/openFrameworks/pull/513.diff"}},{"updated_at":"2011-03-24T10:07:24Z","body":"tested in c::b on windows vista, and tested in xcode.\r\n\r\npoco has a massive bug with one of the file listing methods Poco::File::list(vector) so i switched to Poco::File::list(vector), which works fine, and extrapolated.\r\n\r\nnot sure if this is because poco win is behind poco osx, or if it's just a bug with poco?\r\n\r\nalso, this includes an example (dirListExample) working in c::b on win.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/512","comments":3,"milestone":null,"number":512,"html_url":"https://github.com/openframeworks/openFrameworks/issues/512","assignee":null,"title":"ofDirectoryLister fixed for windows","labels":[],"closed_at":"2011-03-24T10:07:24Z","created_at":"2011-03-23T06:31:16Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":696762,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/512.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/512","diff_url":"https://github.com/openframeworks/openFrameworks/pull/512.diff"}},{"updated_at":"2011-03-23T18:05:53Z","body":"Use of ofDirectoryLister on Windows Code::Block leads to a Segmentation Fault. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/511","comments":7,"milestone":null,"number":511,"html_url":"https://github.com/openframeworks/openFrameworks/issues/511","assignee":null,"title":"ofDirectoryLister on Windows Code::Blocks","labels":[],"closed_at":"2011-03-22T17:29:27Z","created_at":"2011-03-22T11:27:47Z","state":"closed","user":{"url":"https://api.github.com/users/ambroisemaupate","gravatar_id":"82bf1f66bdd97e89ea46cb48639aa5c1","login":"ambroisemaupate","avatar_url":"https://secure.gravatar.com/avatar/82bf1f66bdd97e89ea46cb48639aa5c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":380026},"id":693547,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-21T21:27:34Z","body":"line 354 has a leftover \r\n <<<<<<< HEAD \r\nfrom a merge","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/509","comments":1,"milestone":null,"number":509,"html_url":"https://github.com/openframeworks/openFrameworks/issues/509","assignee":null,"title":"Stray characters / bad merge in ofGLRenderer.cpp","labels":[],"closed_at":"2011-03-21T21:27:34Z","created_at":"2011-03-21T21:22:30Z","state":"closed","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":692219,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-21T09:17:19Z","body":"../../../openFrameworks/sound/ofRtAudioSoundStream.cpp: In static member function ‘static int ofRtAudioSoundStream::rtAudioCallback(void*, void*, unsigned int, double, RtAudioStreamStatus, void*)’:\r\n../../../openFrameworks/sound/ofRtAudioSoundStream.cpp:209: error: no matching function for call to ‘ofBaseSoundInput::audioIn(float*, unsigned int&, int&, long long unsigned int&)’\r\n../../../openFrameworks/types/ofBaseTypes.h:98: note: candidates are: virtual void ofBaseSoundInput::audioIn(float*, int, int)\r\n../../../openFrameworks/sound/ofRtAudioSoundStream.cpp:217: error: no matching function for call to ‘ofBaseSoundOutput::audioOut(float*, unsigned int&, int&, long long unsigned int&)’\r\n../../../openFrameworks/types/ofBaseTypes.h:111: note: candidates are: virtual void ofBaseSoundOutput::audioOut(float*, int, int)\r\nmake: *** [obj/Debug/openFrameworks/sound/ofRtAudioSoundStream.o] Errore 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/508","comments":1,"milestone":null,"number":508,"html_url":"https://github.com/openframeworks/openFrameworks/issues/508","assignee":null,"title":"007 does not compile anymore on Ubuntu Linux (Lucid x86)","labels":[],"closed_at":"2011-03-21T09:17:19Z","created_at":"2011-03-21T01:30:26Z","state":"closed","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":689805,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-12-03T20:26:56Z","body":"You're calling the string method 'replace()' in ofUtils.cpp (L253), but this give me an error at compilation on Windows Codeblocks, \"replace() is not a member of std\".\r\n\r\nI've changed the line to this : \"path.replace(...)\" instead of \"std::replace(...)\" and it works. Thanks to apply modifications !","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/506","comments":2,"milestone":null,"number":506,"html_url":"https://github.com/openframeworks/openFrameworks/issues/506","assignee":null,"title":"std::replace() in ofUtils.cpp (L253) win32 codeblocks 007","labels":[],"closed_at":"2011-12-03T20:26:56Z","created_at":"2011-03-20T23:06:08Z","state":"closed","user":{"url":"https://api.github.com/users/ambroisemaupate","gravatar_id":"82bf1f66bdd97e89ea46cb48639aa5c1","login":"ambroisemaupate","avatar_url":"https://secure.gravatar.com/avatar/82bf1f66bdd97e89ea46cb48639aa5c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":380026},"id":689570,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-21T14:39:13Z","body":"we need recent compiled opencv libs in ofxOpenCv for linux32 in master branch of 007","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/505","comments":1,"milestone":null,"number":505,"html_url":"https://github.com/openframeworks/openFrameworks/issues/505","assignee":null,"title":"need for compiled opencv for linux32 in master branch","labels":[],"closed_at":"2011-03-21T14:39:13Z","created_at":"2011-03-20T21:55:22Z","state":"closed","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":689446,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-05T15:59:48Z","body":"\r\n\r\ncurrent fbo says \"#ifndef TARGET_OPENGLES\" \r\n\r\nbut it would be great to have fbo (or some subset of the fbo) work on iphone / opengles, such at this version: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=2909","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/504","comments":2,"milestone":null,"number":504,"html_url":"https://github.com/openframeworks/openFrameworks/issues/504","assignee":null,"title":"fbo needs opengl/es love","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-05T15:59:48Z","created_at":"2011-03-20T19:40:07Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":689182,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-04-04T14:52:52Z","body":"This is rewrite of my previous patch base on update upstream.\r\n\r\nfollowing is the original message:\r\nI know the guide line, make your app on apps/ directory. changes in this commit follow it.\r\nand give easy way to make app in other place for people not want to -or can't- follow the guild line.\r\n\r\nIf your app is not under the apps/ direchtory, just modify OF_ROOT in your makefile to point OF directory.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/499","comments":1,"milestone":null,"number":499,"html_url":"https://github.com/openframeworks/openFrameworks/issues/499","assignee":null,"title":"Replace ../../../ in makefile with $(OF_ROOT)","labels":[],"closed_at":"2011-04-04T14:52:52Z","created_at":"2011-03-14T13:13:01Z","state":"closed","user":{"url":"https://api.github.com/users/suapapa","gravatar_id":"77bae140335cdfbd46237d35f8fdd204","login":"suapapa","avatar_url":"https://secure.gravatar.com/avatar/77bae140335cdfbd46237d35f8fdd204?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":333745},"id":671568,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/499.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/499","diff_url":"https://github.com/openframeworks/openFrameworks/pull/499.diff"}},{"updated_at":"2011-10-17T18:51:55Z","body":"Source: loadFont(...) calls FT_Set_Char_Size(...) with fixed dpi regardless of true display dpi.\r\nResult: Fonts have the wrong size on displays.\r\n\r\nFrom http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5759\r\nRelevant code is at https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/graphics/ofTrueTypeFont.cpp#L244","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/498","comments":6,"milestone":null,"number":498,"html_url":"https://github.com/openframeworks/openFrameworks/issues/498","assignee":null,"title":"ofTrueTypeFont does not respect correct display dpi","labels":[],"closed_at":"2011-10-17T18:29:37Z","created_at":"2011-03-14T09:16:33Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":671149,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-13T17:07:02Z","body":"- moved everything gl related to a gl folder\r\n- removed all the 3d high level classes like ofModel and ofMeshRenderer and that functionality is now in ofxAssimp\r\n- assimp has now methods to return ofMesh\r\n- reference count for all gl related classes so they can be stored in vectors or passed by copy\r\n- several fixes for new classes","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/497","comments":0,"milestone":null,"number":497,"html_url":"https://github.com/openframeworks/openFrameworks/issues/497","assignee":null,"title":"3d restructuring","labels":[],"closed_at":"2011-03-13T17:07:02Z","created_at":"2011-03-13T16:21:04Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":669471,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/497.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/497","diff_url":"https://github.com/openframeworks/openFrameworks/pull/497.diff"}},{"updated_at":"2011-03-13T22:34:55Z","body":"Found a memoryLeak in ofxCvGrayscaleImage\n\nCvMat* briConLutMatrix; is allocated at creation time, but not at destructor time. Destructor should be implemented:\n\nvoid ofxCvGrayscaleImage::~ofxCvGrayscaleImage() {\n cvReleaseMat(&briConLutMatrix);\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/496","comments":1,"milestone":null,"number":496,"html_url":"https://github.com/openframeworks/openFrameworks/issues/496","assignee":null,"title":"MemoryLeak in ofxCvGrayscaleImage","labels":[],"closed_at":"2011-03-13T22:34:55Z","created_at":"2011-03-12T17:49:44Z","state":"closed","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":667917,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-11T14:24:59Z","body":"Fixed quaternion default constructor","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/494","comments":0,"milestone":null,"number":494,"html_url":"https://github.com/openframeworks/openFrameworks/issues/494","assignee":null,"title":"Fix easycam (quaternion)","labels":[],"closed_at":"2011-03-11T14:24:59Z","created_at":"2011-03-08T12:08:07Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144230},"id":655608,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/494.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/494","diff_url":"https://github.com/openframeworks/openFrameworks/pull/494.diff"}},{"updated_at":"2011-03-13T20:04:29Z","body":"Fixed a couple of errors in a previous pull request.\r\n\r\nThis update fixes servo functionality for firmata v. 2.2 (and higher). It should still be backwards compatible with older versions of firmata that implemented a preliminary protocol for servos.\r\n\r\nExample implementation available here: http://www.box.net/shared/static/32tfaon50q.zip\r\n\r\nAlso update to firmataExample to use EInitialized event rather than polling isArduinoReady(). The polling method was based on an arbitrary delay rather than the actual initialization event triggered when firmata.begin is called on the Arduino. The use of the EInitialized event is a much better approach than polling and is recommended. It is also necessary for proper Firmata v2.2 functionality.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/493","comments":0,"milestone":null,"number":493,"html_url":"https://github.com/openframeworks/openFrameworks/issues/493","assignee":null,"title":"ofArduino updated for firmata 2.2 servo protocol","labels":[],"closed_at":"2011-03-13T20:04:29Z","created_at":"2011-03-08T03:48:43Z","state":"closed","user":{"url":"https://api.github.com/users/soundanalogous","gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","login":"soundanalogous","avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":401539},"id":654802,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/493.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/493","diff_url":"https://github.com/openframeworks/openFrameworks/pull/493.diff"}},{"updated_at":"2011-03-07T17:08:54Z","body":"This update fixes servo functionality for firmata v. 2.2 (and higher). It should still be backwards compatible with older versions of firmata that implemented a preliminary protocol for servos.\r\n\r\nExample implementation available here: http://www.box.net/shared/static/32tfaon50q.zip","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/492","comments":1,"milestone":null,"number":492,"html_url":"https://github.com/openframeworks/openFrameworks/issues/492","assignee":null,"title":"ofArduino updated for firmata 2.2 servo protocol","labels":[],"closed_at":"2011-03-08T01:08:07Z","created_at":"2011-03-06T04:02:40Z","state":"closed","user":{"url":"https://api.github.com/users/soundanalogous","gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","login":"soundanalogous","avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":401539},"id":649956,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/492.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/492","diff_url":"https://github.com/openframeworks/openFrameworks/pull/492.diff"}},{"updated_at":"2011-03-13T22:30:43Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=5669","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/489","comments":1,"milestone":null,"number":489,"html_url":"https://github.com/openframeworks/openFrameworks/issues/489","assignee":null,"title":"firmata servo control seems to be broken","labels":[],"closed_at":"2011-03-13T22:30:43Z","created_at":"2011-03-03T15:11:54Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":643589,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-04-23T15:54:05Z","body":"the videograbber / videoplayer code for ios was not compiling correctly, changed the header protection to the new style (#pragma once) brought in the required includes.\r\n\r\nAlso added a fall though videograbber type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/488","comments":2,"milestone":null,"number":488,"html_url":"https://github.com/openframeworks/openFrameworks/issues/488","assignee":null,"title":"Bugfix of videograbber ios","labels":[],"closed_at":"2011-04-23T15:54:05Z","created_at":"2011-02-28T21:00:29Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":635548,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/488.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/488","diff_url":"https://github.com/openframeworks/openFrameworks/pull/488.diff"}},{"updated_at":"2011-04-23T15:54:19Z","body":"ofOrientation functions were throwing errors for iOS examples.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/487","comments":2,"milestone":null,"number":487,"html_url":"https://github.com/openframeworks/openFrameworks/issues/487","assignee":null,"title":"ofOrientation iOS compatible","labels":[],"closed_at":"2011-04-23T15:54:19Z","created_at":"2011-02-28T18:23:01Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":635143,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/487.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/487","diff_url":"https://github.com/openframeworks/openFrameworks/pull/487.diff"}},{"updated_at":"2011-09-11T11:27:55Z","body":"When using ofDataPath() in constructor of testApp::testApp() { .. } the path is different. Probably because Mac changes the working directory somehow? When using ofToDataPath( ) in setup it works fine.\n\nI did a quickfix (ugly) with this code which works for my addon:\nhttp://codepad.org/0xiWH2pz","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/485","comments":1,"milestone":null,"number":485,"html_url":"https://github.com/openframeworks/openFrameworks/issues/485","assignee":null,"title":"ofDataPath() gives incorrect path with called in constructor (tested Mac OSX) ","labels":[],"closed_at":"2011-09-11T11:27:55Z","created_at":"2011-02-26T15:43:10Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":629409,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-13T22:28:19Z","body":"there's a bug limiting the number of lines that can be drawn to 2.\r\nsee http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5585 which includes a proposed fix.\r\nthe fix goes here: https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/graphics/ofTrueTypeFont.cpp#L752\r\n\r\nthx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/483","comments":1,"milestone":null,"number":483,"html_url":"https://github.com/openframeworks/openFrameworks/issues/483","assignee":null,"title":"bug in drawStringAsShapes. fix included.","labels":[],"closed_at":"2011-03-13T22:28:19Z","created_at":"2011-02-18T09:05:56Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":608747,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-03-13T22:24:29Z","body":"You have to explicitly set this after you've created the light, it would be nice to have a default behaviour rather than undefined.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/482","comments":1,"milestone":null,"number":482,"html_url":"https://github.com/openframeworks/openFrameworks/issues/482","assignee":null,"title":"ofLight directional not set in constructor","labels":[],"closed_at":"2011-03-13T22:24:29Z","created_at":"2011-02-17T17:50:15Z","state":"closed","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":607089,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2011-04-23T15:55:00Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/481","comments":3,"milestone":null,"number":481,"html_url":"https://github.com/openframeworks/openFrameworks/issues/481","assignee":null,"title":"fixed a bug for unbinding the vbo when you set any data...","labels":[],"closed_at":"2011-04-23T15:55:00Z","created_at":"2011-02-16T16:48:55Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":603984,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/481.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/481","diff_url":"https://github.com/openframeworks/openFrameworks/pull/481.diff"}},{"updated_at":"2011-03-13T19:24:01Z","body":"small but ESSENTIAL commit.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/480","comments":2,"milestone":null,"number":480,"html_url":"https://github.com/openframeworks/openFrameworks/issues/480","assignee":null,"title":"added ofColor::cyan, magenta, yellow","labels":[],"closed_at":"2011-03-13T19:24:01Z","created_at":"2011-02-16T08:27:30Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":602905,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/480.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/480","diff_url":"https://github.com/openframeworks/openFrameworks/pull/480.diff"}},{"updated_at":"2011-10-21T18:48:21Z","body":"Several of the /util files have moved since the codeblocks project file was last updated (ofMath.h, ofMath.cpp, ofType.h), and the compiler, at least on my machine, is having trouble finding a slew of needed files: glew.h and wglew.h are the first two to sport errors, followed closely by ofPoint.h, ofColor.h and other oF files. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/479","comments":4,"milestone":null,"number":479,"html_url":"https://github.com/openframeworks/openFrameworks/issues/479","assignee":null,"title":"libs/ofCompiled/project/winCB project file is out of date","labels":[],"closed_at":"2011-10-21T18:48:21Z","created_at":"2011-02-15T05:47:25Z","state":"closed","user":{"url":"https://api.github.com/users/amzuko","gravatar_id":"0aa12b39584ebf6f796e7b6ad6bbc37d","login":"amzuko","avatar_url":"https://secure.gravatar.com/avatar/0aa12b39584ebf6f796e7b6ad6bbc37d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":601612},"id":599670,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=23&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '31122'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"aa5b4101cc4e07d6182db5f49a14f6b7"'), ('date', 'Tue, 29 May 2012 18:46:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-02-15T18:44:54Z","body":"This is a fix for loading more movies into the QuickTime instance of VideoPlayer on OS X. With the check that was commented out in this commit, it would not play any videos (aside from the first one of the instance) that were attempted to be loaded.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/478","comments":3,"milestone":null,"number":478,"html_url":"https://github.com/openframeworks/openFrameworks/issues/478","assignee":null,"title":"fix loading of subsequent movies into QuickTimeVideoPlayer","labels":[],"closed_at":"2011-02-15T21:45:32Z","created_at":"2011-02-15T04:54:26Z","state":"closed","user":{"url":"https://api.github.com/users/nemik","gravatar_id":"ace632f74988653fdbde09225134bfdd","login":"nemik","avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":62301},"id":599607,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/478.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/478.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/478"}},{"updated_at":"2011-02-14T21:28:18Z","body":"- minor changes\r\n- removed some typedef\r\n- added ofMaterial \r\n- added some stream operators\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/477","comments":0,"milestone":null,"number":477,"html_url":"https://github.com/openframeworks/openFrameworks/issues/477","assignee":null,"title":"Feature ofmaterial","labels":[],"closed_at":"2011-02-14T21:28:18Z","created_at":"2011-02-14T20:54:34Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":598683,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/477.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/477.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/477"}},{"updated_at":"2011-02-14T19:57:51Z","body":"like the subject says","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/476","comments":2,"milestone":null,"number":476,"html_url":"https://github.com/openframeworks/openFrameworks/issues/476","assignee":null,"title":"fixed crash bug in ofNode::setMatrix, and updates to ofQuaternion","labels":[],"closed_at":"2011-02-14T19:57:51Z","created_at":"2011-02-14T18:41:00Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144230},"id":598333,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/476.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/476.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/476"}},{"updated_at":"2011-02-14T16:33:50Z","body":"ofxThreadedImageLoader wasn't compiling due to the removal of getOFPixels","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/474","comments":0,"milestone":null,"number":474,"html_url":"https://github.com/openframeworks/openFrameworks/issues/474","assignee":null,"title":"hotfix: getOFPixels migration","labels":[],"closed_at":"2011-02-14T16:33:50Z","created_at":"2011-02-14T07:36:53Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":597005,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/474.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/474.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/474"}},{"updated_at":"2011-02-14T18:51:06Z","body":"i think this closes #404 and definitely closes #470","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/473","comments":5,"milestone":null,"number":473,"html_url":"https://github.com/openframeworks/openFrameworks/issues/473","assignee":null,"title":"added poco-based ofDirList","labels":[],"closed_at":"2011-02-15T00:32:56Z","created_at":"2011-02-14T07:27:11Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":596984,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/473.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/473.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/473"}},{"updated_at":"2011-02-13T20:20:04Z","body":"fleshing out the discussed structures/renamings for models, meshes, and so forth. WIP, still much to be done.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/472","comments":0,"milestone":null,"number":472,"html_url":"https://github.com/openframeworks/openFrameworks/issues/472","assignee":null,"title":"3d dev","labels":[],"closed_at":"2011-02-13T20:20:04Z","created_at":"2011-02-13T19:59:06Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":595993,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/472.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/472.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/472"}},{"updated_at":"2011-03-19T22:55:28Z","body":"we found this a week or two ago, but it hasn't been written down until now.\r\n\r\nOF_ERROR: getTextureData() - texture has not been allocated\r\n\r\ni think this is inside the draw bitmap character function?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/471","comments":3,"milestone":null,"number":471,"html_url":"https://github.com/openframeworks/openFrameworks/issues/471","assignee":null,"title":"ofDrawBitmapString causes an error the first time it's used","labels":[],"closed_at":"2011-03-19T08:14:16Z","created_at":"2011-02-13T19:51:54Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":595980,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-14T18:51:18Z","body":"all the platform specific code in ofxDirList needs to be removed and replaced with poco code. then it needs to be moved into whatever the files/utils namespace and renamed to DirList or DirectoryLister, FileLister or similar. i'm working on this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/470","comments":4,"milestone":null,"number":470,"html_url":"https://github.com/openframeworks/openFrameworks/issues/470","assignee":null,"title":"ofxDirList should be moved into core, replaced with Poco","labels":[],"closed_at":"2011-02-14T18:51:18Z","created_at":"2011-02-13T19:19:44Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":595926,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-14T21:28:18Z","body":"Added:\r\n• ofMeshNode - a renderable 3D object which can contain ofMaterials \r\n• ofMaterial - \"Anything graphical applied to the polygons\"\r\n• added ostream operator on ofColor (I thought I did that already but probably forgot)\r\n- add ostream for ofVertexData which can be used while debugging VBOs for example","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/469","comments":0,"milestone":null,"number":469,"html_url":"https://github.com/openframeworks/openFrameworks/issues/469","assignee":null,"title":"3d","labels":[],"closed_at":"2011-02-14T21:28:18Z","created_at":"2011-02-13T00:16:44Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":594689,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/469.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/469.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/469"}},{"updated_at":"2011-02-11T19:31:00Z","body":"needs qtGrabber and iphone grabber and player implementation using ofPixels instead of unsigned char","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/468","comments":0,"milestone":null,"number":468,"html_url":"https://github.com/openframeworks/openFrameworks/issues/468","assignee":null,"title":"getPixelsRef for all ofBaseHasPixels","labels":[],"closed_at":"2011-02-11T19:31:00Z","created_at":"2011-02-11T00:32:17Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":590782,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/468.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/468.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/468"}},{"updated_at":"2011-06-12T14:03:22Z","body":"There's a typo in the error description on line 21\r\nhttps://github.com/openframeworks/openFrameworks/blob/master/scripts/linux/ubuntu/install_dependencies.sh#L21\r\nshould be \"Release\" instead of \"Debug\"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/467","comments":1,"milestone":null,"number":467,"html_url":"https://github.com/openframeworks/openFrameworks/issues/467","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Minor typo in ubuntu install_dependencies script","labels":[],"closed_at":"2011-06-12T14:03:22Z","created_at":"2011-02-09T14:41:52Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":586045,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-19T21:24:45Z","body":"I wanted to wrap some depreciated 0062 stuff so it could work in 007 .. but OF_VERSION has not been updated so this is not possible. We *really* need a DEPRECIATED flag in order not to break backwards compatibility ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/466","comments":3,"milestone":null,"number":466,"html_url":"https://github.com/openframeworks/openFrameworks/issues/466","assignee":null,"title":"update OF_VERSION to 7","labels":[],"closed_at":"2011-03-19T21:24:45Z","created_at":"2011-02-09T07:57:05Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":585331,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-11T19:31:57Z","body":"this is a merge of everything in my android + swappable renderers branches with master\r\n\r\neverything is working here, have tested both in linux and osx. \r\n\r\ni've added some clean scripts and fixed the examples to build with the buildAndTest scripts in osx btw : )","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/465","comments":1,"milestone":null,"number":465,"html_url":"https://github.com/openframeworks/openFrameworks/issues/465","assignee":null,"title":"android + swappable renderers","labels":[],"closed_at":"2011-02-12T03:30:59Z","created_at":"2011-02-08T20:31:10Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":584083,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/465.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/465.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/465"}},{"updated_at":"2011-02-08T04:02:10Z","body":"I understand the reasoning behind ofSetHexColor, yet I prefer how Processing overloads stroke and background. ofSetColor could take a hex int, rgb, AND a char or uint_8t byte value to allow the distinction between a byte and int value to be made without requiring and extra function name. We'd just have to use the explicit byte types from C++ ie\n\n`ofSetColor(uint8_t byte); // 0 - 255`\n\n`ofSetColor(uint32_t hex); // 0xFF0000`\n\n`ofSetColor(int r, int g, int b); // RGB`\n\netc ... now I could be wrong, but I'll give it a try in the meantime.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/464","comments":1,"milestone":null,"number":464,"html_url":"https://github.com/openframeworks/openFrameworks/issues/464","assignee":null,"title":"Do we need ofSetHexColor when ofSetColor could be overloaded?","labels":[],"closed_at":"2011-02-08T04:02:10Z","created_at":"2011-02-08T03:51:30Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":582362,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-22T10:32:27Z","body":"right now it's using createDirectory() which fails if the parent directories aren't there.\r\n\r\ncreateDirectories() will create any necessary parent directories.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/459","comments":3,"milestone":null,"number":459,"html_url":"https://github.com/openframeworks/openFrameworks/issues/459","assignee":null,"title":"ofFileUtils::makeDirectory should use Poco::File::createDirectories() for recursive creation","labels":[],"closed_at":"2011-03-13T22:19:42Z","created_at":"2011-02-07T07:50:46Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":579788,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-10T19:57:04Z","body":"\r\n\r\nat the moment, when you change the notes in an ofxSynth, it does some interpolation / smoothing of pitches. this might be good if you are changing the pitch while playing (ie, pitch bend) it sounds pretty weird when you are triggering different notes. IMO trigger should reset the pitch and not have any smoothing.\r\n\r\nalso, think we need an intuitive way to set ADSR / envelopes on the notes -- I haven't had good luck with this yet. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/458","comments":2,"milestone":null,"number":458,"html_url":"https://github.com/openframeworks/openFrameworks/issues/458","assignee":null,"title":"ofxSynth pitch smoothing","labels":[],"closed_at":"2011-02-10T19:57:04Z","created_at":"2011-02-06T17:44:05Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":578882,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-10T20:00:48Z","body":"\r\n\r\nif you set the delay larger then 2 seconds, it can crash in: \r\n\r\nvoid ofxSynthDelayline::process( float* input, float *output, int numFrames, int numInChannels, int numOutChannels )\r\n\r\nsince memory is set to a fixed size:\r\n\r\ndouble memory[88200];\r\n\r\nwe can either make this more dynamic (reallocate if necessary) or cap the delay size. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/457","comments":1,"milestone":null,"number":457,"html_url":"https://github.com/openframeworks/openFrameworks/issues/457","assignee":null,"title":"ofxSynth crashes with delay line adjustments","labels":[],"closed_at":"2011-02-10T20:00:48Z","created_at":"2011-02-06T17:41:20Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":578878,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-04-01T11:22:31Z","body":"2011-02-06 17:33:40.309 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x180c2c0 of class NSCarbonWindowContentView autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.311 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x322d70 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.312 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x3204e0 of class NSPathStore2 autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.312 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x6006b0 of class NSCFData autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.313 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0xa0174ae8 of class NSCFString autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.313 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x1906a50 of class __NSArray0 autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.314 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x1936480 of class NSCFNumber autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.314 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x61e390 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.315 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0x6094f0 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-02-06 17:33:40.316 DictionaryTesterDebug[17484:a0f] *** __NSAutoreleaseNoPool(): Object 0xa079d44c of class NSCFString autoreleased with no pool in place - just leaking\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/456","comments":2,"milestone":null,"number":456,"html_url":"https://github.com/openframeworks/openFrameworks/issues/456","assignee":null,"title":"ofCreateAlertDialog has crazy memory leaks on OSX","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":"2012-04-01T11:22:29Z","created_at":"2011-02-06T17:34:37Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144230},"id":578869,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-03-12T01:56:24Z","body":"we still need a method for transferring data from ofTexture to ofPixels.\r\n\r\ni had it in there for a bit but i think it was removed because ofPixels was still in flux.\r\n\r\nat the moment, this means it's impossible to save to disk anything you do in an fbo.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/455","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":455,"html_url":"https://github.com/openframeworks/openFrameworks/issues/455","assignee":null,"title":"texture readback","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-11T15:24:03Z","created_at":"2011-02-06T05:05:55Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":578098,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T22:13:06Z","body":"i think ofUtils line 536 should read:\r\n\r\n\tscreen.grabScreen(0, 0, view.width, view.height);\r\n\r\nright now width and height are reversed.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/453","comments":1,"milestone":null,"number":453,"html_url":"https://github.com/openframeworks/openFrameworks/issues/453","assignee":null,"title":"ofSaveViewport is broken","labels":[],"closed_at":"2011-03-13T22:13:06Z","created_at":"2011-02-06T03:27:52Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":578012,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T22:10:59Z","body":"code to solve it here:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=6&t=5496&view=unread#unread","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/452","comments":1,"milestone":null,"number":452,"html_url":"https://github.com/openframeworks/openFrameworks/issues/452","assignee":null,"title":"ofImage doesn't save gifs","labels":[],"closed_at":"2011-03-13T22:10:59Z","created_at":"2011-02-03T00:11:01Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":571352,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-05-25T15:47:14Z","body":"Added multi-light support, material support, spotlight support, attenuation and fixed get functions for colors to return 0 - 255. Not sure if the material functions belong here :/ Haven't tested on iPhone yet.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/451","comments":10,"milestone":null,"number":451,"html_url":"https://github.com/openframeworks/openFrameworks/issues/451","assignee":null,"title":"ofLight Update","labels":[],"closed_at":"2011-05-25T15:47:14Z","created_at":"2011-02-02T20:21:16Z","state":"closed","user":{"url":"https://api.github.com/users/NickHardeman","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142694},"id":570742,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/451.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/451.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/451"}},{"updated_at":"2011-02-11T20:59:11Z","body":"ofSetupScreenPerspective had been changed to accept a new parameter (orientation), but ofFbo - which called ofSetupScreenPerspective hadn't been updated! rendering it unusable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/450","comments":0,"milestone":null,"number":450,"html_url":"https://github.com/openframeworks/openFrameworks/issues/450","assignee":null,"title":"fixed ofFbo to work with the new ofSetupScreenPerspective","labels":[],"closed_at":"2011-02-11T20:59:11Z","created_at":"2011-02-02T15:33:11Z","state":"closed","user":{"url":"https://api.github.com/users/memo","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144230},"id":569981,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/450.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/450.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/450"}},{"updated_at":"2011-03-18T13:35:58Z","body":"i think theo already knows, but i thought i'd file a bug for him to squash ;)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/448","comments":2,"milestone":null,"number":448,"html_url":"https://github.com/openframeworks/openFrameworks/issues/448","assignee":null,"title":"ofSetupSCreenOrtho doesn't work with ofSetOrientation","labels":[],"closed_at":"2011-03-18T09:15:37Z","created_at":"2011-02-02T00:00:04Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":568534,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-11T19:30:55Z","body":"drawing classes:\n- ofShape: stores commands without decomposing in vertices. Used for renderers that can do things like beziers directly like cairo for pdf/svg. caches ofShapeTess for faster rendering in opengl\n\n-ofShapeTessellation: stores decomposed primitives like bezier, curve.. as vertices. same api as ofPath. can decompose a whole ofPath. caches outline and tessellation. you can do everything with ofShape but this is slightly faster for things that you need to update a lot and are only going to be drawn to gl\n\n-ofCairoRenderer: can draw all the primitives to pdf or svg, multipage, and 3d with perspective trasnformations, still missing blending functions. some examples:\n\n - multipage pdf: http://arturocastro.net/multipagepaths.pdf\n - ofTrueType as shapes: http://arturocastro.net/fontasvectors.pdf\n - and 3d: http://arturocastro.net/squirrel.pdf\n\n-ofGLRenderer: uses a vertex array for rendering of ofShape/ofShapeTessellation, ofVertexData and ofPolyline + viewport, setupScreenPerspective... \n\nofGraphics: all non-gl specific functions (like textureARB) go through renderers, ofGraphics decide to use a shape or a shapeTess depending on the type of renderer (cairo -> ofShape, gl -> ofShapeTess)\n\nofTrueTypeFont: ofTTFCharacter as a shape, to be able to render to pdf/svg/opengl\n\nofMesh/ofModel: drawing through vbo or default renderer instead of vbo/va\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/447","comments":0,"milestone":null,"number":447,"html_url":"https://github.com/openframeworks/openFrameworks/issues/447","assignee":null,"title":"ofShape + swappable renderers","labels":[],"closed_at":"2011-02-11T19:30:55Z","created_at":"2011-02-01T22:06:34Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":568248,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/447.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/447.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/447"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=24&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '32520'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"5dbc63e6737acfedcbfb04a918233a77"'), ('date', 'Tue, 29 May 2012 18:46:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-31T10:35:18Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/445","comments":1,"milestone":null,"number":445,"html_url":"https://github.com/openframeworks/openFrameworks/issues/445","assignee":null,"title":"ofPixels: copy constructor fix, const correctness, operator[] returns a reference","labels":[],"closed_at":"2011-01-31T18:35:10Z","created_at":"2011-01-31T10:30:52Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":563844,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/445","patch_url":"https://github.com/openframeworks/openFrameworks/pull/445.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/445.diff"}},{"updated_at":"2011-12-03T16:12:34Z","body":"right now it checks for background auto and does nothing if it's false. i suppose a explicit call from the code to ofBackground should be clearing it even on background auto=false. That's also how it's explained in the docs:\r\n\r\nhttp://www.openframeworks.cc/documentation?detail=ofGraphics#ofSetBackgroundAuto","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/444","comments":10,"milestone":null,"number":444,"html_url":"https://github.com/openframeworks/openFrameworks/issues/444","assignee":null,"title":"should ofBackground clear even on setBackgroundAuto==false","labels":[],"closed_at":"2011-12-03T10:39:32Z","created_at":"2011-01-31T10:28:24Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":563841,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-02-14T10:21:10Z","body":"renamed some bits, fixed iPhone issues with functions in ofDrawBitmapString","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/443","comments":1,"milestone":null,"number":443,"html_url":"https://github.com/openframeworks/openFrameworks/issues/443","assignee":null,"title":"fixes","labels":[],"closed_at":"2011-02-14T18:20:58Z","created_at":"2011-01-31T04:40:58Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":563425,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/443","patch_url":"https://github.com/openframeworks/openFrameworks/pull/443.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/443.diff"}},{"updated_at":"2011-01-31T04:32:33Z","body":"implemented some things kyle pointed out","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/442","comments":0,"milestone":null,"number":442,"html_url":"https://github.com/openframeworks/openFrameworks/issues/442","assignee":null,"title":"little fixes to ofDrawBitmapString","labels":[],"closed_at":"2011-01-31T04:32:33Z","created_at":"2011-01-31T03:48:09Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":563367,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/442","patch_url":"https://github.com/openframeworks/openFrameworks/pull/442.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/442.diff"}},{"updated_at":"2011-02-11T20:16:23Z","body":"just learned a ton about OF by trying to teach it to 40 itp students. when i asked how many people understood what pixels[y*w+x] meant only 3 people raised their hands :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/441","comments":6,"milestone":null,"number":441,"html_url":"https://github.com/openframeworks/openFrameworks/issues/441","assignee":null,"title":"ofImage::getPixel and setPixel","labels":[],"closed_at":"2011-02-11T20:16:23Z","created_at":"2011-01-31T01:03:32Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":563219,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/441","patch_url":"https://github.com/openframeworks/openFrameworks/pull/441.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/441.diff"}},{"updated_at":"2011-02-01T22:02:25Z","body":"drawing classes:\n- ofPath: stores commands without decomposing in vertices. Used for renderers that can do things like beziers directly like cairo for pdf/svg. caches ofShape for faster rendering in opengl\n\n-ofShape: stores decomposed primitives like bezier, curve.. as vertices. same api as ofPath. can decompose a whole ofPath. caches outline and tessellation\n\n-ofCairoRenderer: can draw all the primitives to pdf or svg, multipage, still missing background/color/blending functions. some examples:\n - multipage pdf: http://arturocastro.net/multipagepaths.pdf\n - ofTrueType as shapes: http://arturocastro.net/fontasvectors.pdf\n - and 3d: http://arturocastro.net/squirrel.pdf\n\n-ofGLRenderer: uses a vertex array for rendering of ofPath/ofShape, ofVertexData and ofPolyline + viewport, setupScreenPerspective...\n\nofGraphics: all non-gl specific functions (like textureARB) go through renderers, ofGraphics decide to use a path or a shape depending on the type of renderer (cairo -> ofPath, gl -> ofShape)\n\nofTrueTypeFont: ofTTFCharacter as a path, to be able to render to pdf/svg/opengl\n\nofMesh/ofModel: drawing through vbo/default renderer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/440","comments":1,"milestone":null,"number":440,"html_url":"https://github.com/openframeworks/openFrameworks/issues/440","assignee":null,"title":"Swappable renderers","labels":[],"closed_at":"2011-02-01T22:02:25Z","created_at":"2011-01-30T13:01:01Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":562380,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/440","patch_url":"https://github.com/openframeworks/openFrameworks/pull/440.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/440.diff"}},{"updated_at":"2011-01-31T00:59:41Z","body":"Sometimes when i open advanced3dExample, I get all my variables that are taking from ofRandom(1.0f) = -nan.\ni presume that if we ever get to -nan, then all subsequent random variables are also -nan (unless we reseed).\n\nofSeedRandom seems to have no effect on this issue\n\ni'm testing on OSX 10.6 / Xcode\n\nsometimes, i get valid numbers but all the numbers are quite large\n\nanybody seen similar results?\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/439","comments":2,"milestone":null,"number":439,"html_url":"https://github.com/openframeworks/openFrameworks/issues/439","assignee":null,"title":"ofRandom(1.0f) sometimes giving -nan","labels":[],"closed_at":"2011-01-31T08:58:28Z","created_at":"2011-01-30T11:15:39Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":562284,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-30T14:03:57Z","body":"Added enum type ofDrawBitmapMode\r\nfunction ofSetDrawBitmapMode(ofDrawBitmapMode mode)\r\n\r\ndefault is OF_BITMAPMODE_SIMPLE (i.e. same method as with kyle's existing ofDrawBitmapString)\r\n\r\nthe options are:\r\n\tOF_BITMAPMODE_SIMPLE = 0,\r\n\tOF_BITMAPMODE_SCREEN,\r\n\tOF_BITMAPMODE_VIEWPORT,\r\n\tOF_BITMAPMODE_MODEL,\r\n\tOF_BITMAPMODE_MODEL_BILLBOARD\r\n\r\nsimple = as before, strange in 3D (upside down for a start!)\r\nscreen = override current transform and draw in screen space\r\nviewport = override current transform and draw in viewport space\r\nmodel = draw in 3D space (with text the right way up)\r\nmodel_billboard = draw in screen space at projected position of 3D point (aka draw in 3D space but ignore scale / rotate / distort)\r\n\r\n\r\n===CONTENTION===\r\nPerhaps the name is wrong?\r\ni.e. if this is only ever going to be used for text\r\nthen ofSetTextMode or ofSetBitmapTextMode\r\nwould be more relevant\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/438","comments":0,"milestone":null,"number":438,"html_url":"https://github.com/openframeworks/openFrameworks/issues/438","assignee":null,"title":"ofSetDrawBitmapMode can be used for altering the personality of ofDrawBitmapString","labels":[],"closed_at":"2011-01-30T14:03:57Z","created_at":"2011-01-30T11:11:39Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":562280,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/438","patch_url":"https://github.com/openframeworks/openFrameworks/pull/438.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/438.diff"}},{"updated_at":"2011-02-03T01:40:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/437","comments":0,"milestone":null,"number":437,"html_url":"https://github.com/openframeworks/openFrameworks/issues/437","assignee":null,"title":"ofVBO fix for IOS","labels":[],"closed_at":"2011-02-03T01:40:36Z","created_at":"2011-01-30T01:19:33Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":561917,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/437","patch_url":"https://github.com/openframeworks/openFrameworks/pull/437.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/437.diff"}},{"updated_at":"2012-03-28T15:02:50Z","body":"I found this link that does most of the work for video out from the iPad and iPhone via the VGA adapter:\n\nhttp://www.touchcentric.com/blog/archives/123\nhttp://github.com/robterrell/TVOutManager\n\nIt's a 2-line solution. BUT it uses undocumented APIs and mirrors the entire screen and UI. Instead of copying pixels, I think we could modify this code to automatically call the OF draw method twice and make a new opengl surface on the output surface, thereby speeding up drawing to the second display, and also only drawing opengl content and not any UI.\n\nI could see a really fancy version with options:\n\n1. No mirroring\n2. Mirror opengl (call draw twice)\n3. provide discrete draw callbacks with each display - maybe an argument to the draw callback with screen number? This might be the cleanest option, since it supports both of the above.\n\nScott","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/436","comments":9,"milestone":null,"number":436,"html_url":"https://github.com/openframeworks/openFrameworks/issues/436","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"Add video out/second display/mirroring for iOS devices","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-28T15:02:50Z","created_at":"2011-01-29T21:01:03Z","state":"closed","user":{"url":"https://api.github.com/users/snibbe","avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","login":"snibbe","id":581517},"id":561610,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-29T20:14:19Z","body":"small fixes to ofNode and ofFbo\nalso made ofImage::getOFPixels() return reference instead of copy","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/435","comments":0,"milestone":null,"number":435,"html_url":"https://github.com/openframeworks/openFrameworks/issues/435","assignee":null,"title":"small fixes to ofNode and ofFbo","labels":[],"closed_at":"2011-01-29T20:14:19Z","created_at":"2011-01-29T20:10:46Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":561561,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/435","patch_url":"https://github.com/openframeworks/openFrameworks/pull/435.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/435.diff"}},{"updated_at":"2011-01-29T14:57:16Z","body":"Bunch of VBO examples and Billboard example - desktop/IOS \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/434","comments":0,"milestone":null,"number":434,"html_url":"https://github.com/openframeworks/openFrameworks/issues/434","assignee":null,"title":"Vbo branch","labels":[],"closed_at":"2011-01-29T14:57:16Z","created_at":"2011-01-29T05:06:28Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":560785,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/434","patch_url":"https://github.com/openframeworks/openFrameworks/pull/434.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/434.diff"}},{"updated_at":"2011-02-11T19:30:52Z","body":"the main changes in the core is some structures in:\nofImage\nofBitmapString\nofVideoGrabber\n\nto be able to register them and send them notifications when the app pauses and resume. android destroys the opengl context and this way i can regenerate all the textures in a transparent way for people.\n\nThere's also some changes in ifdefs that were iphone where it should be opengles, but appart from that everything else is in ofxAndroid and the androidExamples","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/433","comments":0,"milestone":null,"number":433,"html_url":"https://github.com/openframeworks/openFrameworks/issues/433","assignee":null,"title":"android","labels":[],"closed_at":"2011-02-11T19:30:52Z","created_at":"2011-01-29T02:06:07Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":560638,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/433","patch_url":"https://github.com/openframeworks/openFrameworks/pull/433.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/433.diff"}},{"updated_at":"2011-01-29T05:05:30Z","body":"vbo testing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/432","comments":0,"milestone":null,"number":432,"html_url":"https://github.com/openframeworks/openFrameworks/issues/432","assignee":null,"title":"Vbo branch","labels":[],"closed_at":"2011-01-29T05:05:30Z","created_at":"2011-01-28T23:04:57Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":560393,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/432","patch_url":"https://github.com/openframeworks/openFrameworks/pull/432.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/432.diff"}},{"updated_at":"2011-01-29T02:23:05Z","body":"Its IOS safe as well...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/431","comments":0,"milestone":null,"number":431,"html_url":"https://github.com/openframeworks/openFrameworks/issues/431","assignee":null,"title":"ofEnablePointSprites for billboarding ","labels":[],"closed_at":"2011-01-29T02:23:05Z","created_at":"2011-01-28T20:03:24Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":559876,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/431","patch_url":"https://github.com/openframeworks/openFrameworks/pull/431.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/431.diff"}},{"updated_at":"2011-01-28T19:11:12Z","body":"as per theo's request, elliot's changes merged back to master accounting for things that i changed in the intermediate time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/430","comments":4,"milestone":null,"number":430,"html_url":"https://github.com/openframeworks/openFrameworks/issues/430","assignee":null,"title":"elliotwoods master","labels":[],"closed_at":"2011-01-28T19:11:12Z","created_at":"2011-01-28T17:44:08Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":559493,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/430","patch_url":"https://github.com/openframeworks/openFrameworks/pull/430.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/430.diff"}},{"updated_at":"2011-01-28T12:58:41Z","body":"this is some more significant commits to ofEasyCam that make it more intuitive. most importantly, the default depth is calculated using a short method i added to ofCamera that calculates the distance from the image plane assuming 1 px = 1 unit.\r\n\r\nofBoxExample is also cleaned up to use ofLight and ofEasyCam.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/429","comments":0,"milestone":null,"number":429,"html_url":"https://github.com/openframeworks/openFrameworks/issues/429","assignee":null,"title":"cleanup of ofBoxExample and ofEasyCam","labels":[],"closed_at":"2011-01-28T12:58:41Z","created_at":"2011-01-28T07:38:49Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":558284,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/429","patch_url":"https://github.com/openframeworks/openFrameworks/pull/429.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/429.diff"}},{"updated_at":"2011-01-28T18:14:32Z","body":"the setup(...) function was throwing and error ambiguous method.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/427","comments":1,"milestone":null,"number":427,"html_url":"https://github.com/openframeworks/openFrameworks/issues/427","assignee":null,"title":"fix for ofShader setup function ","labels":[],"closed_at":"2011-01-28T18:14:32Z","created_at":"2011-01-28T04:39:34Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":558068,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/427","patch_url":"https://github.com/openframeworks/openFrameworks/pull/427.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/427.diff"}},{"updated_at":"2011-01-28T04:49:12Z","body":"just pulled this from elliot, and merged it with upstream master.\n\nthere are some initial changes to ofPolyline included here as well. the ofPolyline branch still needs to be merged, however.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/426","comments":0,"milestone":null,"number":426,"html_url":"https://github.com/openframeworks/openFrameworks/issues/426","assignee":null,"title":"momentum and a few other fixes to ofEasyCam","labels":[],"closed_at":"2011-01-28T04:49:12Z","created_at":"2011-01-27T21:48:00Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":557210,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/426","patch_url":"https://github.com/openframeworks/openFrameworks/pull/426.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/426.diff"}},{"updated_at":"2011-03-13T21:52:23Z","body":"Auto shows client connected when not true. \r\nThink this is to do with using for the client connections as the first element is created by trying to access it so the returned size of numClients is 1 instead of 0. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/425","comments":1,"milestone":null,"number":425,"html_url":"https://github.com/openframeworks/openFrameworks/issues/425","assignee":null,"title":"ofxTcpServer example shows client connected on 000.000.000.000 ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-03-13T21:52:23Z","created_at":"2011-01-27T19:46:22Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":556929,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-29T20:55:00Z","body":"For at least six months, OF cannot compile for iPhone target due to missing FreeImage library compiled for iPhone. If this issue is still outstanding, here is the solution from a June forum posting:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=3658&hilit=+libfreeimage+iphone\r\n\r\njefftimesten\r\nPosted: Sat May 01, 2010 12:37 pm\t \r\nJoined: Fri Oct 05, 2007 8:49 am\r\nPosts: 78\r\nLocation: New York\r\nI found Robert Carlsen's post about compiling FreeImage for armv6 and modified his Makefile a bit so that it compiles for iPhone OS 4.0 and 4.0 simulator.\r\n\r\n1. Download and expand Freeimage\r\n2. Download this Makefile and put it into the FreeImage directory\r\n3. Run the makefile with make -f Makefile.iphone\r\n4. Replace the the libraries in /libs/FreeImage/lib/iphone with libfreeimage-iphone.a and libfreeimage-iphonesimulator.a\r\n5. Add the libraries to your project in the FreeImage group\r\n\r\nAlternately, just download FreeImage_libs_iphoneOS40.zip, unpack it, and put it in your libs folder. \r\n\r\nThis is working for me so far... We'll see if I run into any issues.\r\n\r\n\r\nTop\t \r\nsss\r\nPosted: Sat Jun 19, 2010 8:25 pm\t \r\nJoined: Mon Apr 12, 2010 5:00 pm\r\nPosts: 7\r\nI just tried downloading the compiled libraries and got this error:\r\n\r\nUndefined symbols:\r\n\"_fopen$UNIX2003\", referenced from:\r\n_FreeImage_GetFileType in libfreeimage-iphonesimulator.a(GetType.o-i686)\r\n_FreeImage_Save in libfreeimage-iphonesimulator.a(Plugin.o-i686)\r\n_FreeImage_Load in libfreeimage-iphonesimulator.a(Plugin.o-i686)\r\nLibRaw::dcraw_ppm_tiff_writer(char const*)in libfreeimage-iphonesimulator.a(libraw_cxx.o-i686)\r\nLibRaw::dcraw_thumb_writer(char const*)in libfreeimage-iphonesimulator.a(libraw_cxx.o-i686)\r\nLibRaw_file_datastream::LibRaw_file_datastream(char const*)in libfreeimage-iphonesimulator.a(libraw_cxx.o-i686)\r\n\r\nWhich is supposedly due to a conflict in compiling against different system libraries (http://cocoawithlove.com/2009/09/buildi ... ns-in.html).\r\n\r\nDownloaded FreeImage source and makefile and rebuilt - I'm running OSX6.3. Worked fine. Couldn't attache the libraries here - taking too long to upload. But if anyone fails the process above send me a message and I'll email you the libs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/422","comments":2,"milestone":null,"number":422,"html_url":"https://github.com/openframeworks/openFrameworks/issues/422","assignee":null,"title":"wrong architecture libfreeimage makes compiling for iPhone device impossible","labels":[],"closed_at":"2011-01-29T20:55:00Z","created_at":"2011-01-24T20:57:33Z","state":"closed","user":{"url":"https://api.github.com/users/snibbe","avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","login":"snibbe","id":581517},"id":548081,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-28T04:58:55Z","body":"includes:\r\n\r\nfixes to ofPolyline::draw()\r\nconst fixes to ofVec operators\r\nofPolyline::getPerimeter()\r\nofGetClosestPoint(ofPoint, ofPoint, ofPoint)\r\nofGetClosestPoint(ofPolyline, ofPoint)\r\nofGetSmoothed(ofPolyline)\r\nofGetResampledSpacing(ofPolyline) // resampled in terms of final point spacing\r\nofGetResampledCount(ofPolyline) // resampled in terms of final point count\r\nofGetBoundingBox(ofPolyline)\r\n\r\nadded a ofPolylineTest to devApps, which isn't far from being a demo.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/420","comments":2,"milestone":null,"number":420,"html_url":"https://github.com/openframeworks/openFrameworks/issues/420","assignee":null,"title":"ofPolyline manipulation","labels":[],"closed_at":"2011-01-28T04:58:55Z","created_at":"2011-01-24T08:03:34Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":546587,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/420","patch_url":"https://github.com/openframeworks/openFrameworks/pull/420.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/420.diff"}},{"updated_at":"2011-03-13T23:02:49Z","body":"Added two new fields for controlling the space between characters and text. We're using this for a project already where we need to control the rendering of the text on a touch screen.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/419","comments":0,"milestone":null,"number":419,"html_url":"https://github.com/openframeworks/openFrameworks/issues/419","assignee":null,"title":"Add support for setting the amount of space between characters and the size a space should represent","labels":[],"closed_at":"2011-03-13T23:02:49Z","created_at":"2011-01-23T23:09:06Z","state":"closed","user":{"url":"https://api.github.com/users/scottmac","avatar_url":"https://secure.gravatar.com/avatar/3c5a0318513620a5d04916e7deee6737?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3c5a0318513620a5d04916e7deee6737","login":"scottmac","id":50088},"id":545793,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/419","patch_url":"https://github.com/openframeworks/openFrameworks/pull/419.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/419.diff"}},{"updated_at":"2011-01-31T10:32:22Z","body":"I compiled the last version of Poco on a 32bits Ubuntu 10.04.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/416","comments":1,"milestone":null,"number":416,"html_url":"https://github.com/openframeworks/openFrameworks/issues/416","assignee":null,"title":"New version of Poco for Linux","labels":[],"closed_at":"2011-01-31T10:32:22Z","created_at":"2011-01-21T17:33:50Z","state":"closed","user":{"url":"https://api.github.com/users/I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","id":520375},"id":541961,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/416","patch_url":"https://github.com/openframeworks/openFrameworks/pull/416.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/416.diff"}},{"updated_at":"2011-01-20T20:52:48Z","body":"its currently wrapped in #ifndef TARGET_OPENGLES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/415","comments":1,"milestone":null,"number":415,"html_url":"https://github.com/openframeworks/openFrameworks/issues/415","assignee":null,"title":"ofEnableAlphaBlending / ofEnableBlendMode doesn't work on iPhone","labels":[],"closed_at":"2011-01-20T20:52:48Z","created_at":"2011-01-20T20:51:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":540057,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=25&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '28826'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"eb8b1faa67b539bbc57910658df0d5b4"'), ('date', 'Tue, 29 May 2012 18:46:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-20T19:07:52Z","body":"This allows ofGetMouseX and ofGetMousePressed to work on iPhone. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/411","comments":1,"milestone":null,"number":411,"html_url":"https://github.com/openframeworks/openFrameworks/issues/411","assignee":null,"title":"Update EagleView.mm to use ofEvents.cpp mouse notification","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":"2011-01-20T19:07:52Z","created_at":"2011-01-20T19:07:08Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":539769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-19T23:43:07Z","body":"right now we are adding a '\\0' to the end of the buffer but this could break binary files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/409","comments":1,"milestone":null,"number":409,"html_url":"https://github.com/openframeworks/openFrameworks/issues/409","assignee":null,"title":"ofBuffer needs string/binary mode so it knows to add null byte ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-19T23:43:07Z","created_at":"2011-01-19T23:13:48Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":537987,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-19T23:10:32Z","body":"simple fix on mouse action to memo's ofEasyCam arcball mechanism\n\nadded a new example called 'advanced3dExample' which demonstrates:\nuse of viewports\ncustom 3D classes inherited from ofNode\ncustom camera class inherited from ofCamera\nlighting\nsome simple 3D mechanics (SHM)\n\nofViewport now uses oF co-ordinate system as default (there was a ticket about this a while back, and a new one by me recently). oF co-ordinate system is default, but the last argument can be set to false if you want to use gl window space","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/408","comments":1,"milestone":null,"number":408,"html_url":"https://github.com/openframeworks/openFrameworks/issues/408","assignee":null,"title":"fixes to memo's arcball, advanced3dExample added, ofViewport invert option added","labels":[],"closed_at":"2011-01-20T06:39:30Z","created_at":"2011-01-19T21:59:26Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":537808,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/408","patch_url":"https://github.com/openframeworks/openFrameworks/pull/408.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/408.diff"}},{"updated_at":"2011-03-13T21:20:25Z","body":"the latest check in of the easy cam example glitches and rotates erratically. \r\nIt was working nicely a few days ago...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/407","comments":0,"milestone":null,"number":407,"html_url":"https://github.com/openframeworks/openFrameworks/issues/407","assignee":null,"title":"easyCam example broken","labels":[],"closed_at":"2011-03-13T21:20:25Z","created_at":"2011-01-19T21:48:07Z","state":"closed","user":{"url":"https://api.github.com/users/obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434},"id":537783,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T21:18:35Z","body":"The ofxDirList addon is having a problem. I've only tested it on OS X in Xcode.\r\n\r\nIf you try to Build and Run openFrameworks / apps / addonsExamples / dirListExample you will get the error:\r\n../../../addons/ofxDirList/src/ofxDirList.h:46: error: 'relDir' was not declared in this scope","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/404","comments":1,"milestone":null,"number":404,"html_url":"https://github.com/openframeworks/openFrameworks/issues/404","assignee":null,"title":"ofxDirList broken","labels":[],"closed_at":"2011-03-13T21:18:35Z","created_at":"2011-01-18T18:43:43Z","state":"closed","user":{"url":"https://api.github.com/users/jfenwick","avatar_url":"https://secure.gravatar.com/avatar/1360daa717268f06cb3b7cc64dbabd1f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1360daa717268f06cb3b7cc64dbabd1f","login":"jfenwick","id":99384},"id":534777,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-04T14:10:49Z","body":"Is this the answer?\r\nofLogger needs lots of attention - its quite dangerous as is. \r\n\r\n\t#ifndef TARGET_OS_IPHONE\r\n\t\tfileChannel = new Poco::FileChannel(ofToDataPath(\"openframeworks.log\"));\r\n\t#else\r\n\t\tfileChannel = new Poco::FileChannel();\r\n\t#endif ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/402","comments":1,"milestone":null,"number":402,"html_url":"https://github.com/openframeworks/openFrameworks/issues/402","assignee":null,"title":"ofLogger is still creating a log file by default - on iPhone this causes a crash as data/ is not writable","labels":[],"closed_at":"2011-12-04T14:10:49Z","created_at":"2011-01-17T17:47:00Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":532246,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-19T22:32:44Z","body":"cleaner and more complete version of the mesh dev with the modified structure; data is now stored in ofMeshElement with a mode of how it is indexed (and the corresponding indices). ofAssimpMeshLoader loads into an ofMeshElement with default mode triangles, ofVboMesh uses a vbo to draw this mesh. Proper implementation still needed for normals, colors, and tex coords, but wanted to send over the current structure that I think (hope) will be our final.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/401","comments":0,"milestone":null,"number":401,"html_url":"https://github.com/openframeworks/openFrameworks/issues/401","assignee":null,"title":"updated structure for meshes, likely preferable over last pull request","labels":[],"closed_at":"2011-01-19T22:32:44Z","created_at":"2011-01-17T17:19:59Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":532185,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/401","patch_url":"https://github.com/openframeworks/openFrameworks/pull/401.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/401.diff"}},{"updated_at":"2011-12-04T14:10:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/399","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":399,"html_url":"https://github.com/openframeworks/openFrameworks/issues/399","assignee":null,"title":"ofTTF should have setAnchorPercent - so you can draw string centred or right aligned etc. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-04T14:10:30Z","created_at":"2011-01-17T16:36:06Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":532090,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-19T22:20:34Z","body":"eg: virtual destructors, checking for nan/inf in important places, panning on the mixer actually working","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/398","comments":0,"milestone":null,"number":398,"html_url":"https://github.com/openframeworks/openFrameworks/issues/398","assignee":null,"title":"important fixes to ofSynth + damian's awesome floating points sound example","labels":[],"closed_at":"2011-01-19T22:20:34Z","created_at":"2011-01-17T04:00:07Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":531085,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/398","patch_url":"https://github.com/openframeworks/openFrameworks/pull/398.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/398.diff"}},{"updated_at":"2011-01-19T22:10:10Z","body":"typo in the graphics core, leading to unexpected behavior.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/397","comments":0,"milestone":null,"number":397,"html_url":"https://github.com/openframeworks/openFrameworks/issues/397","assignee":null,"title":"Of clear fix","labels":[],"closed_at":"2011-01-19T22:10:10Z","created_at":"2011-01-16T19:53:01Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":530422,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/397","patch_url":"https://github.com/openframeworks/openFrameworks/pull/397.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/397.diff"}},{"updated_at":"2011-01-19T22:08:22Z","body":"cleaned up the file structure\r\nadded all the constructors to the classes\r\npulled the files into different classes\r\nadded the sequencing example in a new place","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/396","comments":0,"milestone":null,"number":396,"html_url":"https://github.com/openframeworks/openFrameworks/issues/396","assignee":null,"title":"Ofx synth fixes","labels":[],"closed_at":"2011-01-19T22:08:22Z","created_at":"2011-01-16T17:12:17Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":530188,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/396","patch_url":"https://github.com/openframeworks/openFrameworks/pull/396.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/396.diff"}},{"updated_at":"2011-01-17T17:16:05Z","body":"actually added the files this time, removed vao.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/395","comments":0,"milestone":null,"number":395,"html_url":"https://github.com/openframeworks/openFrameworks/issues/395","assignee":null,"title":"very basic working version of mesh loading and displaying via vbo","labels":[],"closed_at":"2011-01-17T17:16:05Z","created_at":"2011-01-16T15:28:34Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":530083,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/395","patch_url":"https://github.com/openframeworks/openFrameworks/pull/395.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/395.diff"}},{"updated_at":"2011-01-16T15:19:17Z","body":"note that the assimp loader is currently in the src folder of the devApps/meshTester example...wanted to hold back on putting that in core for now","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/394","comments":0,"milestone":null,"number":394,"html_url":"https://github.com/openframeworks/openFrameworks/issues/394","assignee":null,"title":"basic functionality for assimp model loading and vertex array drawing of the data","labels":[],"closed_at":"2011-01-16T15:19:17Z","created_at":"2011-01-16T15:16:50Z","state":"closed","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":530075,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/394","patch_url":"https://github.com/openframeworks/openFrameworks/pull/394.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/394.diff"}},{"updated_at":"2011-03-13T19:20:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/393","comments":1,"milestone":null,"number":393,"html_url":"https://github.com/openframeworks/openFrameworks/issues/393","assignee":null,"title":"Added << operators for most of the core classes.","labels":[],"closed_at":"2011-03-13T19:20:10Z","created_at":"2011-01-16T14:51:35Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809},"id":530057,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/393","patch_url":"https://github.com/openframeworks/openFrameworks/pull/393.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/393.diff"}},{"updated_at":"2011-01-16T15:07:53Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/392","comments":0,"milestone":null,"number":392,"html_url":"https://github.com/openframeworks/openFrameworks/issues/392","assignee":null,"title":"3d","labels":[],"closed_at":"2011-01-16T15:07:53Z","created_at":"2011-01-16T07:22:30Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":529708,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/392","patch_url":"https://github.com/openframeworks/openFrameworks/pull/392.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/392.diff"}},{"updated_at":"2011-04-10T07:29:49Z","body":"added ofBitmapStream and removed an extraneous printf in ofLogger","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/390","comments":2,"milestone":null,"number":390,"html_url":"https://github.com/openframeworks/openFrameworks/issues/390","assignee":null,"title":"added ofBitmapStream, fixed logger bugs, added loggerTest app","labels":[],"closed_at":"2011-04-10T07:29:49Z","created_at":"2011-01-16T07:17:28Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":529702,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/390","patch_url":"https://github.com/openframeworks/openFrameworks/pull/390.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/390.diff"}},{"updated_at":"2011-01-16T06:42:17Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/388","comments":0,"milestone":null,"number":388,"html_url":"https://github.com/openframeworks/openFrameworks/issues/388","assignee":null,"title":"more 3d awesomeness","labels":[],"closed_at":"2011-01-16T06:42:17Z","created_at":"2011-01-16T06:33:17Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":529671,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/388","patch_url":"https://github.com/openframeworks/openFrameworks/pull/388.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/388.diff"}},{"updated_at":"2011-01-16T06:34:42Z","body":"fixed logger exception on exit, messages are printed with a warning if the logger is being called after it's been destroyed using printf","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/386","comments":0,"milestone":null,"number":386,"html_url":"https://github.com/openframeworks/openFrameworks/issues/386","assignee":null,"title":"fixed logger exception on exit","labels":[],"closed_at":"2011-01-16T06:34:42Z","created_at":"2011-01-16T05:46:14Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":529638,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/386","patch_url":"https://github.com/openframeworks/openFrameworks/pull/386.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/386.diff"}},{"updated_at":"2011-01-16T05:28:25Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/385","comments":0,"milestone":null,"number":385,"html_url":"https://github.com/openframeworks/openFrameworks/issues/385","assignee":null,"title":"Of shape clean moved example","labels":[],"closed_at":"2011-01-16T05:28:25Z","created_at":"2011-01-16T05:15:06Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529620,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/385","patch_url":"https://github.com/openframeworks/openFrameworks/pull/385.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/385.diff"}},{"updated_at":"2011-01-16T05:05:54Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/384","comments":0,"milestone":null,"number":384,"html_url":"https://github.com/openframeworks/openFrameworks/issues/384","assignee":null,"title":"moved threadedimageloader to addonsexamples","labels":[],"closed_at":"2011-01-16T05:05:54Z","created_at":"2011-01-16T04:29:23Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809},"id":529598,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/384","patch_url":"https://github.com/openframeworks/openFrameworks/pull/384.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/384.diff"}},{"updated_at":"2011-01-16T05:03:14Z","body":"from video grabber works better","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/383","comments":0,"milestone":null,"number":383,"html_url":"https://github.com/openframeworks/openFrameworks/issues/383","assignee":null,"title":"isFrameNew","labels":[],"closed_at":"2011-01-16T05:03:14Z","created_at":"2011-01-16T04:23:39Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":529592,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/383","patch_url":"https://github.com/openframeworks/openFrameworks/pull/383.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/383.diff"}},{"updated_at":"2011-01-19T23:05:45Z","body":"Looks like uninited memory \r\n\r\nOF_VERBOSE: Creating GLSL Program\r\nOF_ERROR: GL_VERTEX_SHADER shader failed to compile\r\nOF_ERROR: GL_VERTEX_SHADER shader reports:\r\nERROR: 0:9: 'metrySh' : syntax error syntax error\r\n\r\nOF_ERROR: GL_FRAGMENT_SHADER shader failed to compile\r\nOF_ERROR: GL_FRAGMENT_SHADER shader reports:\r\nERROR: 0:6: ']' : syntax error syntax error\r\n\r\nOF_ERROR: GL_GEOMETRY_SHADER_EXT shader failed to compile\r\nOF_ERROR: GL_GEOMETRY_SHADER_EXT shader reports:\r\nERROR: 0:44: 'mpler2DRectShadow' : syntax error syntax error\r\n\r\nOF_ERROR: Trying to link GLSL program, but no shaders created yet\r\nMaximum number of output vertices support is: 1024\r\nOF_VERBOSE: OF app is being terminated!\r\n\r\nOF_VERBOSE: Creating GLSL Program\r\nOF_ERROR: GL_VERTEX_SHADER shader failed to compile\r\nOF_ERROR: GL_VERTEX_SHADER shader reports:\r\nERROR: 0:9: 'orks' : syntax error syntax error\r\n\r\nOF_ERROR: GL_FRAGMENT_SHADER shader failed to compile\r\nOF_ERROR: GL_FRAGMENT_SHADER shader reports:\r\nERROR: 0:6: 'SHADER' : syntax error syntax error\r\n\r\nOF_VERBOSE: GL_GEOMETRY_SHADER_EXT shader compiled.\r\nOF_VERBOSE: Attaching shader of type GL_GEOMETRY_SHADER_EXT\r\nOF_ERROR: Shader program reports:\r\nERROR: geometry shader does not have required vertex shader.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/382","comments":1,"milestone":null,"number":382,"html_url":"https://github.com/openframeworks/openFrameworks/issues/382","assignee":null,"title":"ofShader - sometimes the shader names that are being loaded look mangled. Could be ofBuffer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-19T23:05:45Z","created_at":"2011-01-16T04:21:05Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":529589,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T21:09:31Z","body":"cf #define DRAW_WITH_MESHIES in ofShape.h\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/381","comments":0,"milestone":null,"number":381,"html_url":"https://github.com/openframeworks/openFrameworks/issues/381","assignee":null,"title":"ofShape should use ofMesh once ofMesh is ready","labels":[],"closed_at":"2011-03-13T21:09:31Z","created_at":"2011-01-16T03:25:40Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529546,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T05:15:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/380","comments":0,"milestone":null,"number":380,"html_url":"https://github.com/openframeworks/openFrameworks/issues/380","assignee":null,"title":"ofShape","labels":[],"closed_at":"2011-01-16T05:15:30Z","created_at":"2011-01-16T03:12:08Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529537,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/380","patch_url":"https://github.com/openframeworks/openFrameworks/pull/380.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/380.diff"}},{"updated_at":"2011-01-16T03:07:45Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/379","comments":0,"milestone":null,"number":379,"html_url":"https://github.com/openframeworks/openFrameworks/issues/379","assignee":null,"title":"ofShape","labels":[],"closed_at":"2011-01-16T03:07:45Z","created_at":"2011-01-16T00:45:43Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529388,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/379","patch_url":"https://github.com/openframeworks/openFrameworks/pull/379.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/379.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=26&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '28575'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"18ade8333b69e6ed5113f575903c21d1"'), ('date', 'Tue, 29 May 2012 18:46:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-16T03:29:11Z","body":"pending soundSwapping and integration of the new mesh stuff etc., ofxiphone 007 is complete (i think) (!!)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/378","comments":0,"milestone":null,"number":378,"html_url":"https://github.com/openframeworks/openFrameworks/issues/378","assignee":null,"title":"ofxiPhone007 complete","labels":[],"closed_at":"2011-01-16T03:29:11Z","created_at":"2011-01-16T00:11:09Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":529366,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/378","patch_url":"https://github.com/openframeworks/openFrameworks/pull/378.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/378.diff"}},{"updated_at":"2011-01-16T03:31:10Z","body":"The ofLogger uses the Poco::FileChannel to write to the log file which does not have append/replace controls. An easy way to add this would be to implement a custom FileChannel class with these controls.\r\n\r\nSee Poco::FileChannel.h/.cpp: http://pocoproject.org/docs/Poco.FileChannel.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/377","comments":1,"milestone":null,"number":377,"html_url":"https://github.com/openframeworks/openFrameworks/issues/377","assignee":null,"title":"file logger overwrites existing file, does not append","labels":[],"closed_at":"2011-01-16T03:31:10Z","created_at":"2011-01-15T23:11:24Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":529282,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T03:26:46Z","body":"clear the working buffer on init in case no-one touches it; a few formatting tweaks; log message in ofSoundBuffer on bad behaviour by user.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/376","comments":0,"milestone":null,"number":376,"html_url":"https://github.com/openframeworks/openFrameworks/issues/376","assignee":null,"title":"Sound tweaks","labels":[],"closed_at":"2011-01-16T03:26:46Z","created_at":"2011-01-15T23:06:13Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529272,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/376","patch_url":"https://github.com/openframeworks/openFrameworks/pull/376.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/376.diff"}},{"updated_at":"2011-01-16T03:32:51Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/374","comments":0,"milestone":null,"number":374,"html_url":"https://github.com/openframeworks/openFrameworks/issues/374","assignee":null,"title":"Add threaded loader example to the devApps.","labels":[],"closed_at":"2011-01-16T03:32:51Z","created_at":"2011-01-15T22:57:26Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809},"id":529264,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/374","patch_url":"https://github.com/openframeworks/openFrameworks/pull/374.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/374.diff"}},{"updated_at":"2011-01-16T03:25:46Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/373","comments":0,"milestone":null,"number":373,"html_url":"https://github.com/openframeworks/openFrameworks/issues/373","assignee":null,"title":"awesome 3d updates!","labels":[],"closed_at":"2011-01-16T03:25:46Z","created_at":"2011-01-15T22:43:16Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":529248,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/373","patch_url":"https://github.com/openframeworks/openFrameworks/pull/373.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/373.diff"}},{"updated_at":"2011-01-15T23:47:15Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/372","comments":0,"milestone":null,"number":372,"html_url":"https://github.com/openframeworks/openFrameworks/issues/372","assignee":null,"title":"major log update to add access to a poco console/file logger and convenience stream log classes","labels":[],"closed_at":"2011-01-15T23:47:15Z","created_at":"2011-01-15T22:27:05Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":529228,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/372","patch_url":"https://github.com/openframeworks/openFrameworks/pull/372.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/372.diff"}},{"updated_at":"2011-01-16T03:19:35Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/371","comments":0,"milestone":null,"number":371,"html_url":"https://github.com/openframeworks/openFrameworks/issues/371","assignee":null,"title":"modified ofImage to remove FreeImage dependencies in the header","labels":[],"closed_at":"2011-01-16T03:19:35Z","created_at":"2011-01-15T22:20:35Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":529219,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/371","patch_url":"https://github.com/openframeworks/openFrameworks/pull/371.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/371.diff"}},{"updated_at":"2012-03-17T19:29:11Z","body":"so that you can do slab processing on the gpu by just writing ofRect, rather than defining your own vertexes and passing them to the card.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/370","comments":1,"milestone":null,"number":370,"html_url":"https://github.com/openframeworks/openFrameworks/issues/370","assignee":null,"title":"ofRect should have texCoordinates","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-03-17T19:29:11Z","created_at":"2011-01-15T20:00:01Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":529085,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-15T21:48:18Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/369","comments":0,"milestone":null,"number":369,"html_url":"https://github.com/openframeworks/openFrameworks/issues/369","assignee":null,"title":"normalized naming and argument conventions for ofImage loading","labels":[],"closed_at":"2011-01-15T21:48:18Z","created_at":"2011-01-15T19:11:41Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":529043,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/369","patch_url":"https://github.com/openframeworks/openFrameworks/pull/369.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/369.diff"}},{"updated_at":"2012-04-18T13:33:17Z","body":"On OSX, resizing the window causes persistent flickering with ofSetBackgroundAuto(false). \r\n\r\nIt appears as though oF is still drawing double-buffered and is swapping between front and back buffers even with ofSetBackgroundAuto(false), but this behaviour only appears if the window is resized. Expected behaviour would be to draw single buffered with ofSetBackgroundAuto(false) (always draw to the back buffer).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/368","comments":15,"milestone":null,"number":368,"html_url":"https://github.com/openframeworks/openFrameworks/issues/368","assignee":null,"title":"ofSetBackgroundAuto flickering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-04-18T13:33:17Z","created_at":"2011-01-15T18:11:04Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":528983,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-15T21:45:53Z","body":"as requested. adds missing headers and binary files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/367","comments":0,"milestone":null,"number":367,"html_url":"https://github.com/openframeworks/openFrameworks/issues/367","assignee":null,"title":"Ofx synth fixes","labels":[],"closed_at":"2011-01-15T21:45:53Z","created_at":"2011-01-15T17:11:45Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":528919,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/367","patch_url":"https://github.com/openframeworks/openFrameworks/pull/367.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/367.diff"}},{"updated_at":"2011-01-15T16:43:57Z","body":"when saving an image it is now possible to specify the jpeg compression level.\r\n\r\nmore complex options are available, but this is a start.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/366","comments":0,"milestone":null,"number":366,"html_url":"https://github.com/openframeworks/openFrameworks/issues/366","assignee":null,"title":"added image compression parameter to ofImage","labels":[],"closed_at":"2011-01-15T16:43:57Z","created_at":"2011-01-15T09:01:25Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":528525,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/366","patch_url":"https://github.com/openframeworks/openFrameworks/pull/366.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/366.diff"}},{"updated_at":"2011-01-15T06:09:03Z","body":"because the viewport was being saved, fbos would not properly draw to the screen.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/365","comments":0,"milestone":null,"number":365,"html_url":"https://github.com/openframeworks/openFrameworks/issues/365","assignee":null,"title":"Fbo viewport fix","labels":[],"closed_at":"2011-01-15T06:09:03Z","created_at":"2011-01-15T06:01:11Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":528437,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/365","patch_url":"https://github.com/openframeworks/openFrameworks/pull/365.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/365.diff"}},{"updated_at":"2011-01-15T16:27:17Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/364","comments":0,"milestone":null,"number":364,"html_url":"https://github.com/openframeworks/openFrameworks/issues/364","assignee":null,"title":"Of color constants","labels":[],"closed_at":"2011-01-15T16:27:17Z","created_at":"2011-01-15T05:59:05Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":528436,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/364","patch_url":"https://github.com/openframeworks/openFrameworks/pull/364.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/364.diff"}},{"updated_at":"2011-01-15T17:25:51Z","body":"woo!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/363","comments":0,"milestone":null,"number":363,"html_url":"https://github.com/openframeworks/openFrameworks/issues/363","assignee":null,"title":"video stuff for iphone","labels":[],"closed_at":"2011-01-15T17:25:51Z","created_at":"2011-01-15T04:58:53Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":528398,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/363","patch_url":"https://github.com/openframeworks/openFrameworks/pull/363.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/363.diff"}},{"updated_at":"2011-02-10T20:09:11Z","body":"there's a branch with ofPixels using smartpointers internally to make it java like. there's also an example in devApps/smartofPixels:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/tree/smartofPixels","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/362","comments":1,"milestone":null,"number":362,"html_url":"https://github.com/openframeworks/openFrameworks/issues/362","assignee":null,"title":"decide if we want smart pointers","labels":[],"closed_at":"2011-02-10T20:09:11Z","created_at":"2011-01-15T03:47:47Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":528329,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-15T05:10:37Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/361","comments":0,"milestone":null,"number":361,"html_url":"https://github.com/openframeworks/openFrameworks/issues/361","assignee":null,"title":"Added the ofxSynth and examples","labels":[],"closed_at":"2011-01-15T05:10:37Z","created_at":"2011-01-15T00:56:39Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":528173,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/361","patch_url":"https://github.com/openframeworks/openFrameworks/pull/361.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/361.diff"}},{"updated_at":"2011-03-13T21:06:39Z","body":"static bool mySortFunction( ofPoint A, ofPoint B ){\r\n return ( A.x < B.x );\r\n}\r\n\r\nvector myVector;\r\nofSort(myVector, mySortFunction);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/360","comments":0,"milestone":null,"number":360,"html_url":"https://github.com/openframeworks/openFrameworks/issues/360","assignee":null,"title":"ofSort( myVector, mySortFunction )","labels":[],"closed_at":"2011-03-13T21:06:39Z","created_at":"2011-01-14T21:27:30Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":527844,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T21:04:37Z","body":"ofVertex() does not accept ofVec2f","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/359","comments":1,"milestone":null,"number":359,"html_url":"https://github.com/openframeworks/openFrameworks/issues/359","assignee":null,"title":"ofVertex() does not accept ofVec2f","labels":[],"closed_at":"2011-03-13T21:04:37Z","created_at":"2011-01-14T20:30:16Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":527721,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T20:12:06Z","body":"2011-01-14 14:46:11.675 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x3478e0 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.676 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x347d00 of class NSPathStore2 autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.676 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x347d30 of class NSCFData autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.677 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0xa03d2ae8 of class NSCFString autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.678 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x31dfd0 of class __NSArray0 autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.679 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x3199c0 of class NSCFNumber autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.680 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x347fa0 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.681 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x3353f0 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:11.682 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0xa067344c of class NSCFString autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:15.645 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x1813ee0 of class NSCFArray autoreleased with no pool in place - just leaking\r\n2011-01-14 14:46:15.650 serialExample[91162:a0f] *** __NSAutoreleaseNoPool(): Object 0x1826d60 of class NSCarbonWindow autoreleased with no pool in place - just leaking","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/358","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/4","number":4,"title":"0071 Release","due_on":"2012-04-08T07:00:00Z","closed_issues":70,"open_issues":0,"created_at":"2011-12-02T15:29:28Z","state":"closed","description":"","id":61808},"number":358,"html_url":"https://github.com/openframeworks/openFrameworks/issues/358","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofCreateAlertDialog - leaking on os x ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-02-25T20:01:20Z","created_at":"2011-01-14T19:48:33Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":527633,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:19:20Z","body":"Missing include in ofxAccelerometer.h was causing the compile to bork. Added include of ofpoint.h and all is happy.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/356","comments":1,"milestone":null,"number":356,"html_url":"https://github.com/openframeworks/openFrameworks/issues/356","assignee":null,"title":"Add missing include","labels":[],"closed_at":"2011-03-13T19:19:20Z","created_at":"2011-01-14T18:50:50Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"70046f765dfa1f330e61066dda4351bb","login":"emonty","id":95156},"id":527515,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/356","patch_url":"https://github.com/openframeworks/openFrameworks/pull/356.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/356.diff"}},{"updated_at":"2011-01-19T22:42:33Z","body":"The recent move of ofNode3d.h wound up moving it to ofNode3D.h. I'm guessing folks are on mac laptops with case-insensitive filesystems. :) ... In any case, just a few includes had to be fixed for linux.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/355","comments":1,"milestone":null,"number":355,"html_url":"https://github.com/openframeworks/openFrameworks/issues/355","assignee":null,"title":"Fix 3d case problem","labels":[],"closed_at":"2011-01-19T22:42:33Z","created_at":"2011-01-14T18:28:23Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"70046f765dfa1f330e61066dda4351bb","login":"emonty","id":95156},"id":527480,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/355","patch_url":"https://github.com/openframeworks/openFrameworks/pull/355.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/355.diff"}},{"updated_at":"2011-01-15T05:54:41Z","body":"(ofColor::gray, ofColor::blue, ofColor::red etc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/354","comments":0,"milestone":null,"number":354,"html_url":"https://github.com/openframeworks/openFrameworks/issues/354","assignee":null,"title":"adds ofColor static members for predefined colors","labels":[],"closed_at":"2011-01-15T05:54:41Z","created_at":"2011-01-14T18:12:42Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":527453,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/354","patch_url":"https://github.com/openframeworks/openFrameworks/pull/354.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/354.diff"}},{"updated_at":"2011-01-15T05:06:37Z","body":"indices draw correctly now for back face culling and lighting","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/353","comments":1,"milestone":null,"number":353,"html_url":"https://github.com/openframeworks/openFrameworks/issues/353","assignee":null,"title":"fixes to ofBox","labels":[],"closed_at":"2011-01-15T05:06:37Z","created_at":"2011-01-14T15:58:50Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":527200,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/353","patch_url":"https://github.com/openframeworks/openFrameworks/pull/353.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/353.diff"}},{"updated_at":"2011-01-14T15:13:08Z","body":"yo, fixed all latest conflits and ready to go","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/352","comments":0,"milestone":null,"number":352,"html_url":"https://github.com/openframeworks/openFrameworks/issues/352","assignee":null,"title":"Adv3d","labels":[],"closed_at":"2011-01-14T15:13:08Z","created_at":"2011-01-14T06:55:56Z","state":"closed","user":{"url":"https://api.github.com/users/memo","avatar_url":"https://secure.gravatar.com/avatar/b5c0e3c2630097b29680cfeda464024c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b5c0e3c2630097b29680cfeda464024c","login":"memo","id":144230},"id":526473,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/352","patch_url":"https://github.com/openframeworks/openFrameworks/pull/352.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/352.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=27&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '24473'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ce1b424cfdd846014923c2d5d4528074"'), ('date', 'Tue, 29 May 2012 18:46:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-14T05:39:52Z","body":"whoop whoop","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/351","comments":0,"milestone":null,"number":351,"html_url":"https://github.com/openframeworks/openFrameworks/issues/351","assignee":null,"title":"made ofPoint typedef'd","labels":[],"closed_at":"2011-01-14T05:39:52Z","created_at":"2011-01-14T05:34:07Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":526404,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/351","patch_url":"https://github.com/openframeworks/openFrameworks/pull/351.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/351.diff"}},{"updated_at":"2011-01-14T05:24:00Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/350","comments":0,"milestone":null,"number":350,"html_url":"https://github.com/openframeworks/openFrameworks/issues/350","assignee":null,"title":"Geometry shader example","labels":[],"closed_at":"2011-01-14T05:24:00Z","created_at":"2011-01-14T05:19:42Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":526388,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/350","patch_url":"https://github.com/openframeworks/openFrameworks/pull/350.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/350.diff"}},{"updated_at":"2011-01-14T05:23:17Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/349","comments":0,"milestone":null,"number":349,"html_url":"https://github.com/openframeworks/openFrameworks/issues/349","assignee":null,"title":"Added the stream operators for the math classes","labels":[],"closed_at":"2011-01-14T05:23:17Z","created_at":"2011-01-14T04:23:09Z","state":"closed","user":{"url":"https://api.github.com/users/roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809},"id":526307,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/349","patch_url":"https://github.com/openframeworks/openFrameworks/pull/349.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/349.diff"}},{"updated_at":"2011-01-14T02:15:43Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/348","comments":1,"milestone":null,"number":348,"html_url":"https://github.com/openframeworks/openFrameworks/issues/348","assignee":null,"title":"ofGetPreviousMouseX ofGetPreviousMouseY","labels":[],"closed_at":"2011-01-14T02:15:43Z","created_at":"2011-01-14T02:15:18Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":526160,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T22:37:28Z","body":"This text is in both the debug and release projects, and causes warnings on compilation:\r\n\r\n\tLIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = \"\\\"$(SRCROOT)/../../../libs/GLee/lib/osx\\\"\";","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/346","comments":2,"milestone":null,"number":346,"html_url":"https://github.com/openframeworks/openFrameworks/issues/346","assignee":null,"title":"example projects have extra glee references after glee has been removed","labels":[],"closed_at":"2011-12-02T22:37:28Z","created_at":"2011-01-13T20:18:19Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":525440,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-14T03:14:12Z","body":"i've been merging while i go, which is why the commit history looks nastier than it actually is.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/345","comments":0,"milestone":null,"number":345,"html_url":"https://github.com/openframeworks/openFrameworks/issues/345","assignee":null,"title":"added non-glut ofBox that is iphone compatible","labels":[],"closed_at":"2011-01-14T03:14:12Z","created_at":"2011-01-13T18:31:26Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":525199,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/345","patch_url":"https://github.com/openframeworks/openFrameworks/pull/345.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/345.diff"}},{"updated_at":"2011-01-14T03:11:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/344","comments":1,"milestone":null,"number":344,"html_url":"https://github.com/openframeworks/openFrameworks/issues/344","assignee":null,"title":"ofPixels needs destructor","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-14T03:11:27Z","created_at":"2011-01-13T18:03:27Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":525115,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-13T21:23:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/343","comments":0,"milestone":null,"number":343,"html_url":"https://github.com/openframeworks/openFrameworks/issues/343","assignee":null,"title":"ofImage resize is broken - doesn't resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-13T21:23:59Z","created_at":"2011-01-13T17:49:55Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":525075,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-13T21:24:37Z","body":"\ttdfSmall.loadImage(\"images/tdf_1972_poster.jpg\");\r\n\ttdfSmall.resize(tdf.width / 4, tdf.height / 4);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/342","comments":1,"milestone":null,"number":342,"html_url":"https://github.com/openframeworks/openFrameworks/issues/342","assignee":null,"title":"ofImage swap channels on resize","labels":[],"closed_at":"2011-01-13T21:24:37Z","created_at":"2011-01-13T17:40:50Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":525056,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-13T21:22:26Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/341","comments":0,"milestone":null,"number":341,"html_url":"https://github.com/openframeworks/openFrameworks/issues/341","assignee":null,"title":"ofImage missing GIF palletization code - check both color and grayscale gifs - use imageLoaderExample to check","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-13T21:22:26Z","created_at":"2011-01-13T17:36:44Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":525044,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-13T16:17:33Z","body":"just pulling master this morning, I get these errors on VS 2010\n\n\t..\\..\\..\\openFrameworks\\sound\\ofSoundStream.cpp(83): error C3861: 'back_inserter': identifier not found\n\t..\\..\\..\\openFrameworks\\sound\\ofSoundStream.cpp(170): error C2057: expected constant expression\n\t..\\..\\..\\openFrameworks\\sound\\ofSoundStream.cpp(170): error C2466: cannot allocate an array of constant size 0\n\t..\\..\\..\\openFrameworks\\sound\\ofSoundStream.cpp(170): error C2133: 'working' : unknown size\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/339","comments":1,"milestone":null,"number":339,"html_url":"https://github.com/openframeworks/openFrameworks/issues/339","assignee":null,"title":"ofSoundStream doesn't compile cleanly for vs2010","labels":[],"closed_at":"2011-01-13T16:17:33Z","created_at":"2011-01-13T13:45:54Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":524541,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-14T03:52:09Z","body":"Yay.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/338","comments":2,"milestone":null,"number":338,"html_url":"https://github.com/openframeworks/openFrameworks/issues/338","assignee":null,"title":"new ofAssimpLoader and example, and a new ofBlendMode example.","labels":[],"closed_at":"2011-01-14T11:52:08Z","created_at":"2011-01-13T07:07:32Z","state":"closed","user":{"url":"https://api.github.com/users/vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","id":65011},"id":523945,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/338","patch_url":"https://github.com/openframeworks/openFrameworks/pull/338.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/338.diff"}},{"updated_at":"2011-03-13T20:58:22Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/336","comments":0,"milestone":null,"number":336,"html_url":"https://github.com/openframeworks/openFrameworks/issues/336","assignee":null,"title":"ofFileDialog for linux","labels":[],"closed_at":"2011-03-13T20:58:22Z","created_at":"2011-01-13T05:21:00Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":523836,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-13T06:50:45Z","body":"ofSoundUnit.cpp/.h and ofSoundEffect.cpp/.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/335","comments":1,"milestone":null,"number":335,"html_url":"https://github.com/openframeworks/openFrameworks/issues/335","assignee":null,"title":"ofSound stuff","labels":[],"closed_at":"2011-01-13T06:50:45Z","created_at":"2011-01-13T05:10:23Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":523821,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/335","patch_url":"https://github.com/openframeworks/openFrameworks/pull/335.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/335.diff"}},{"updated_at":"2011-01-13T06:21:08Z","body":"lib is broken though, needs poco + freeimage + freetype compliations","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/334","comments":0,"milestone":null,"number":334,"html_url":"https://github.com/openframeworks/openFrameworks/issues/334","assignee":null,"title":"updated iphone lib + ofShader + ofFbo setup for iphone","labels":[],"closed_at":"2011-01-13T06:21:08Z","created_at":"2011-01-13T03:31:06Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":523725,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/334","patch_url":"https://github.com/openframeworks/openFrameworks/pull/334.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/334.diff"}},{"updated_at":"2011-01-13T03:46:33Z","body":"basic demo right now, golan is going to make a better one using the camera input.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/333","comments":1,"milestone":null,"number":333,"html_url":"https://github.com/openframeworks/openFrameworks/issues/333","assignee":null,"title":"adding ofxCvHaarFinder","labels":[],"closed_at":"2011-01-13T03:46:33Z","created_at":"2011-01-12T20:53:05Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":523032,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/333","patch_url":"https://github.com/openframeworks/openFrameworks/pull/333.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/333.diff"}},{"updated_at":"2011-03-13T20:58:05Z","body":"expose the function \ninvert_4x4(const ofMatrix4x4 rhs, ofMatrix4x4 dst)\n\nfrom inside ofMatrix4x4.cpp\n\nsuggest methods:\n\tofMatrix4x4 ofMatrix4x4::getInverse()\n\t{\n\t\tofMatrix4x4 inverse;\n\t\tinvert_4x4(*this, inverse);\n\t\treturn inverse;\n\t}\n\n\tbool ofMatrix4x4::getInverse(ofMatrix4x4 &inverse)\n\t{\n\t\treturn invert_4x4(*this, inverse);\n\t}\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/332","comments":2,"milestone":null,"number":332,"html_url":"https://github.com/openframeworks/openFrameworks/issues/332","assignee":null,"title":"getInverse() method for ofMatrix4x4","labels":[],"closed_at":"2011-03-13T20:58:05Z","created_at":"2011-01-12T20:24:13Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":522953,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-12T19:17:48Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/331","comments":1,"milestone":null,"number":331,"html_url":"https://github.com/openframeworks/openFrameworks/issues/331","assignee":null,"title":"ofxCvBlob is using ofSetColor with hex - causes loads of warnings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-12T19:17:48Z","created_at":"2011-01-12T19:10:07Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":522790,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T22:14:35Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/329","comments":6,"milestone":null,"number":329,"html_url":"https://github.com/openframeworks/openFrameworks/issues/329","assignee":null,"title":"OpenCv 2.2 for linux","labels":[],"closed_at":"2011-03-21T14:39:13Z","created_at":"2011-01-12T19:09:17Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":522788,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-12T19:17:48Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/328","comments":1,"milestone":null,"number":328,"html_url":"https://github.com/openframeworks/openFrameworks/issues/328","assignee":null,"title":"OpenCv 2.2 for OSX","labels":[],"closed_at":"2011-01-12T19:17:48Z","created_at":"2011-01-12T19:08:56Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":522787,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-12T19:40:44Z","body":"added some 3d geometry, integrated with ofStyle.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/327","comments":0,"milestone":null,"number":327,"html_url":"https://github.com/openframeworks/openFrameworks/issues/327","assignee":null,"title":"ofCube(), ofSphere(), ofSetSphereResolution()","labels":[],"closed_at":"2011-01-12T19:40:44Z","created_at":"2011-01-12T18:29:29Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":522698,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/327","patch_url":"https://github.com/openframeworks/openFrameworks/pull/327.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/327.diff"}},{"updated_at":"2011-03-13T21:54:57Z","body":"right now it just sets ofEnableAlphaBlending/ofDisableAlphaBlending\r\n\r\nit needs to be plugged into the new blend modes that anton added.\r\n\r\nin general it might be best for ofSetStyle to call currentStyle.applyStyle() so people see it when/if they add new things to ofStyle","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/326","comments":4,"milestone":null,"number":326,"html_url":"https://github.com/openframeworks/openFrameworks/issues/326","assignee":null,"title":"ofSetStyle should set blending mode","labels":[],"closed_at":"2011-03-14T03:48:53Z","created_at":"2011-01-12T17:39:37Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":522594,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-14T03:11:27Z","body":"a lot is included in ofx3dUtils https://code.google.com/p/ofx3dutils/source/browse/trunk/ofx3DUtils/src/ofx3DGraphics.h?r=36\r\n\r\ni think the two key geometries are sphere and box.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/323","comments":2,"milestone":null,"number":323,"html_url":"https://github.com/openframeworks/openFrameworks/issues/323","assignee":null,"title":"basic 3d geometry is missing from OF","labels":[],"closed_at":"2011-01-14T03:11:27Z","created_at":"2011-01-12T03:30:55Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":521135,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-19T22:08:21Z","body":"\r\nremoved ofxShader - now is ofShader...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/322","comments":0,"milestone":null,"number":322,"html_url":"https://github.com/openframeworks/openFrameworks/issues/322","assignee":null,"title":"fixed the geometry shader example","labels":[],"closed_at":"2011-01-19T22:08:21Z","created_at":"2011-01-12T02:55:16Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":521091,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/322","patch_url":"https://github.com/openframeworks/openFrameworks/pull/322.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/322.diff"}},{"updated_at":"2011-01-12T03:00:41Z","body":"we're up to speed with processing's conversion functions.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/321","comments":0,"milestone":null,"number":321,"html_url":"https://github.com/openframeworks/openFrameworks/issues/321","assignee":null,"title":"all remaining conversion functions added with test example","labels":[],"closed_at":"2011-01-12T03:00:41Z","created_at":"2011-01-12T02:19:04Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":521044,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/321","patch_url":"https://github.com/openframeworks/openFrameworks/pull/321.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/321.diff"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=28&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '29175'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"00cfe693b345a28d96b3357fcf373aeb"'), ('date', 'Tue, 29 May 2012 18:46:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-02-14T20:21:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/320","comments":3,"milestone":null,"number":320,"html_url":"https://github.com/openframeworks/openFrameworks/issues/320","assignee":null,"title":"ofBackground( 255 ) shouldn't be using hex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-02-14T20:21:42Z","created_at":"2011-01-11T23:10:48Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":520796,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T23:21:41Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/319","comments":1,"milestone":null,"number":319,"html_url":"https://github.com/openframeworks/openFrameworks/issues/319","assignee":null,"title":"#include in ofURLFileLoader.cpp - isn't needed / or found on os x prob win too","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-11T23:21:41Z","created_at":"2011-01-11T22:46:16Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":520738,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T20:47:01Z","body":"bool\t\tofInsideRect(const ofPoint & p, const ofRectangle & rect);\r\nbool\t\tofInsideRect(float x, float y, const ofRectangle & rect);\r\nbool\t\tofInsideRect(float x, float y, float rx, float ry, float rw, float rh);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/318","comments":0,"milestone":null,"number":318,"html_url":"https://github.com/openframeworks/openFrameworks/issues/318","assignee":null,"title":"added ofInsideRect(...)","labels":[],"closed_at":"2011-01-11T20:47:01Z","created_at":"2011-01-11T20:33:13Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vanderlin","id":149997},"id":520463,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/318.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/318","patch_url":"https://github.com/openframeworks/openFrameworks/pull/318.patch"}},{"updated_at":"2011-03-13T20:42:33Z","body":"bool\t\tofInsideRect(const ofPoint & p, const ofRectangle & rect);\r\nbool\t\tofInsideRect(float x, float y, const ofRectangle & rect);\r\nbool\t\tofInsideRect(float x, float y, float rx, float ry, float rw, float rh);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/317","comments":1,"milestone":null,"number":317,"html_url":"https://github.com/openframeworks/openFrameworks/issues/317","assignee":null,"title":"need to add ofInsideRect(...)","labels":[],"closed_at":"2011-03-13T20:42:33Z","created_at":"2011-01-11T20:28:14Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vanderlin","id":149997},"id":520454,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T20:46:17Z","body":"this adds ofMutex and fixes an occasional hang on exit in ofSoundStream","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/316","comments":0,"milestone":null,"number":316,"html_url":"https://github.com/openframeworks/openFrameworks/issues/316","assignee":null,"title":"ofMutex / ofSoundStream hang on exit","labels":[],"closed_at":"2011-01-11T20:46:17Z","created_at":"2011-01-11T18:55:28Z","state":"closed","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":520256,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/316.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/316","patch_url":"https://github.com/openframeworks/openFrameworks/pull/316.patch"}},{"updated_at":"2011-01-11T18:12:18Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/315","comments":1,"milestone":null,"number":315,"html_url":"https://github.com/openframeworks/openFrameworks/issues/315","assignee":null,"title":"move ofxVectorMath to core","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2011-01-11T18:12:18Z","created_at":"2011-01-11T18:11:31Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":520122,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T16:55:44Z","body":"fixed some things with ofToString, templated functions so they're more generic, added more conversion from string functions. still have a few conversion functions left to add.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/314","comments":0,"milestone":null,"number":314,"html_url":"https://github.com/openframeworks/openFrameworks/issues/314","assignee":null,"title":"starting work on ofUtils conversion utilities","labels":[],"closed_at":"2011-01-11T16:55:44Z","created_at":"2011-01-11T02:36:38Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":518853,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/314.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/314","patch_url":"https://github.com/openframeworks/openFrameworks/pull/314.patch"}},{"updated_at":"2011-01-11T01:41:20Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/313","comments":1,"milestone":null,"number":313,"html_url":"https://github.com/openframeworks/openFrameworks/issues/313","assignee":null,"title":"move ofxThread to core","labels":[],"closed_at":"2011-01-11T01:41:20Z","created_at":"2011-01-11T01:07:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":518702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T00:25:31Z","body":"also repairs the examples to work (pulls in examples from 0062)\r\nfont example is a little broken.\r\nadvanced graphics example also shows how to use antialiasing and depth and retina","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/312","comments":0,"milestone":null,"number":312,"html_url":"https://github.com/openframeworks/openFrameworks/issues/312","assignee":null,"title":"adds depth buffer, antialiasing, and retina support options to ofxiPhone","labels":[],"closed_at":"2011-01-11T00:25:31Z","created_at":"2011-01-10T23:03:00Z","state":"closed","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"stfj","id":177578},"id":518480,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/312.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/312","patch_url":"https://github.com/openframeworks/openFrameworks/pull/312.patch"}},{"updated_at":"2011-01-11T00:58:45Z","body":"This commit adds ofEnableBlendMode, with OF_BLENDMODE_ALPHA, OF_BLENDMODE_ADD, OF_BLENDMODE_MULTIPLY, OF_BLENDMODE_SUBTRACT and OF_BLENDMODE_SCREEN photoshop style blending via the fixed function GL glBlendFunc and glBlendEquation. Extended ofStyle to accommodate the changes.\r\n\r\nofEnableAlphaBlending and ofDisableAlphaBlending now using the ofEnableBlendMode functions internally.\r\n\r\nThese changes have been vetted against Photoshop, and look correct.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/310","comments":0,"milestone":null,"number":310,"html_url":"https://github.com/openframeworks/openFrameworks/issues/310","assignee":null,"title":"New ofEnableBlendMode support.","labels":[],"closed_at":"2011-01-11T00:58:45Z","created_at":"2011-01-10T19:46:32Z","state":"closed","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vade","id":65011},"id":518077,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/310.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/310","patch_url":"https://github.com/openframeworks/openFrameworks/pull/310.patch"}},{"updated_at":"2011-01-10T20:02:06Z","body":"also one update to ofRandom","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/309","comments":0,"milestone":null,"number":309,"html_url":"https://github.com/openframeworks/openFrameworks/issues/309","assignee":null,"title":"ofColor updates","labels":[],"closed_at":"2011-01-10T20:02:06Z","created_at":"2011-01-10T19:16:07Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":518027,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/309.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/309","patch_url":"https://github.com/openframeworks/openFrameworks/pull/309.patch"}},{"updated_at":"2011-12-02T15:05:54Z","body":"I think some people were having this issue on 62, I think that it isn't present on 61.\r\n\r\nTo reproduce:\r\nLaunch the audio output example.\r\nAttempt to quit using command+q\r\nThe app will hang at this point\r\nIf you force quit the app, you will get the following dump to the debugger:\r\n\r\n 0\t0x93c6b142 in semaphore_wait_signal_trap\r\n 1\t0x93c98cfc in _pthread_cond_wait\r\n 2\t0x93ce146f in pthread_cond_wait\r\n 3\t0x0001d234 in RtApiCore::stopStream at RtAudio.cpp:1340\r\n 4\t0x00009296 in RtAudio::closeStream at RtAudio.h:143\r\n 5\t0x00009296 in ofSoundStreamClose at ofSoundStream.cpp:144\r\n 6\t0x00007ea7 in ofExitCallback at ofAppRunner.cpp:55\r\n\r\nIt seems that adding the ofSoundStreamClose in the exit callback is what is causing this. Closing the stream is not totally necessary, because it is implicitly closed in the RtAudio destructor function.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/308","comments":3,"milestone":null,"number":308,"html_url":"https://github.com/openframeworks/openFrameworks/issues/308","assignee":null,"title":"rtaudio hang on exit.","labels":[],"closed_at":"2011-12-02T15:05:54Z","created_at":"2011-01-10T18:09:41Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jonbro","id":1597},"id":517872,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T18:15:44Z","body":"This adds a basic automake-based build which serves two purposes:\r\n\r\n- Allows generation of a source tarball which does not include any of the included upstream binary library versions.\r\n- Produces a 'make install' version of OF for ease of packaging.\r\n\r\nThe end goal being a packaged version of OF that's in the debian main repository (although obviously not in squeeze) and in Ubuntu (likely not by natty, but probably by natty+1)\r\n\r\nI just did basic automake here and did not go full-on pandora-build or anything like that, as the only real expected user of this would be people on modern ubuntu. I _was_ looking/poking at the cmake branch earlier, but since the make dist and make install targets in that system are so mind-numbingly borked, and since this isn't intended to replace your full build system, I just went back to actually-functional autotools.\r\n\r\nIn any case - it passes make distcheck, and builds all of OF and most addons (except for iphone specific ones) on Ubuntu using all system-installed libraries (although it would be slightly harder for you to verify that since two of the dep packages are stuck in the debian new queue and I just have them installed locally :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/307","comments":5,"milestone":null,"number":307,"html_url":"https://github.com/openframeworks/openFrameworks/issues/307","assignee":null,"title":"Automake build files - to help with clean src tarball and install","labels":[],"closed_at":"2012-02-25T18:15:44Z","created_at":"2011-01-10T08:00:59Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","gravatar_id":"70046f765dfa1f330e61066dda4351bb","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"emonty","id":95156},"id":516913,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/307.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/307","patch_url":"https://github.com/openframeworks/openFrameworks/pull/307.patch"}},{"updated_at":"2011-07-06T18:34:50Z","body":"A small patch which fixes inclusion of files from oscpack. When using the (newly created) debian package of oscpack rather than the one found in tree (as one would do when packaging OF itself), there is no sensible way to add the subdirs of /usr/include/ospack to the include path, as oscpack does not ship with a pkg-config file.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/306","comments":0,"milestone":null,"number":306,"html_url":"https://github.com/openframeworks/openFrameworks/issues/306","assignee":null,"title":"Fix oscpack relpath","labels":[],"closed_at":"2011-07-06T18:34:50Z","created_at":"2011-01-10T07:41:52Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","gravatar_id":"70046f765dfa1f330e61066dda4351bb","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"emonty","id":95156},"id":516895,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/306.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/306","patch_url":"https://github.com/openframeworks/openFrameworks/pull/306.patch"}},{"updated_at":"2011-01-10T20:01:58Z","body":"any kind of ofColor::set() or ofColor::setHex() will override your alpha value with 255 if you don't specify otherwise.\r\n\r\nthe solution should simply set your alpha value if you specify it, or don't touch it if you don't specify it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/304","comments":2,"milestone":null,"number":304,"html_url":"https://github.com/openframeworks/openFrameworks/issues/304","assignee":null,"title":"handling of alpha values is counter intuitive in ofColor","labels":[],"closed_at":"2011-01-10T20:01:58Z","created_at":"2011-01-10T03:38:20Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":516630,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T20:01:58Z","body":"it's doing very wrong math at the moment, involving + 8s and + 16s instead of 8/16 bit bit shifts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/303","comments":1,"milestone":null,"number":303,"html_url":"https://github.com/openframeworks/openFrameworks/issues/303","assignee":null,"title":"ofColor::getHex() is absurdly broken","labels":[],"closed_at":"2011-01-10T20:01:58Z","created_at":"2011-01-10T03:16:55Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":516610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-31T10:55:49Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/301","comments":2,"milestone":null,"number":301,"html_url":"https://github.com/openframeworks/openFrameworks/issues/301","assignee":null,"title":"poco-1.4.0 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-01-31T10:55:49Z","created_at":"2011-01-10T02:38:56Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":516564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-11T00:52:19Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/300","comments":1,"milestone":null,"number":300,"html_url":"https://github.com/openframeworks/openFrameworks/issues/300","assignee":null,"title":"poco-1.4.0 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2011-01-11T00:52:19Z","created_at":"2011-01-10T02:38:32Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":516562,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:03:37Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/297","comments":1,"milestone":null,"number":297,"html_url":"https://github.com/openframeworks/openFrameworks/issues/297","assignee":null,"title":"FreeImage 3141 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-06-03T19:03:37Z","created_at":"2011-01-10T02:37:25Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":516557,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T20:01:58Z","body":"getBrightness() returns a value between 0 and 1, this is inconsistent with the rest of ofColor","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/295","comments":1,"milestone":null,"number":295,"html_url":"https://github.com/openframeworks/openFrameworks/issues/295","assignee":null,"title":"getBrightness() returns a normalized value","labels":[],"closed_at":"2011-01-10T20:01:58Z","created_at":"2011-01-09T23:27:51Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":516331,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T05:11:26Z","body":"printf is being used instead of cout, and it isn't being used correctly:\n\t\n\tprintf(\"NavCreatePutFileDialog returned %i\\n\", err );\n\tprintf(\"NavDialogRun returned %i\\n\", err );\n\tprintf(\"got action %i\\n\", action);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/294","comments":5,"milestone":null,"number":294,"html_url":"https://github.com/openframeworks/openFrameworks/issues/294","assignee":null,"title":"ofSystemUtils causes warnings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":"2012-02-25T05:11:26Z","created_at":"2011-01-09T22:03:16Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":516200,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T20:01:58Z","body":"processing includes ofRandom(x) which picks a random number between 0 and x","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/293","comments":1,"milestone":null,"number":293,"html_url":"https://github.com/openframeworks/openFrameworks/issues/293","assignee":null,"title":"ofRandom doesn't support a single value","labels":[],"closed_at":"2011-01-10T20:01:58Z","created_at":"2011-01-09T21:21:54Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":516131,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:33:55Z","body":"Added a couple of preprocessor defines to allow easy disabling of fmodex compilation. (important for debian packaging) This should have no real impact on other folks, or else I've done something horribly, horribly wrong.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/291","comments":0,"milestone":null,"number":291,"html_url":"https://github.com/openframeworks/openFrameworks/issues/291","assignee":null,"title":"Skip fmodex","labels":[],"closed_at":"2011-07-06T18:33:55Z","created_at":"2011-01-09T06:58:22Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","gravatar_id":"70046f765dfa1f330e61066dda4351bb","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"emonty","id":95156},"id":515389,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/291.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/291","patch_url":"https://github.com/openframeworks/openFrameworks/pull/291.patch"}},{"updated_at":"2011-01-10T19:38:06Z","body":"it's been drawing the wrong colors, and issuing tons of warnings (e.g., for ofxKinect demo).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/290","comments":3,"milestone":null,"number":290,"html_url":"https://github.com/openframeworks/openFrameworks/issues/290","assignee":null,"title":"ofxSetHexColor wasn't swapped out from ofxOpenCv","labels":[],"closed_at":"2011-01-10T19:38:06Z","created_at":"2011-01-09T02:22:24Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":515181,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/290.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/290","patch_url":"https://github.com/openframeworks/openFrameworks/pull/290.patch"}},{"updated_at":"2011-12-02T20:24:09Z","body":"ie: \r\n\r\nofRect( float x, float y, float w, float h ); should come before ofRect(ofPoint p, float w, float h);\r\n\r\nthis is important as syntax highlighting only shows the first function that matches.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/289","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":289,"html_url":"https://github.com/openframeworks/openFrameworks/issues/289","assignee":null,"title":"change header file function order to show most common usage function first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-02T20:24:09Z","created_at":"2011-01-08T20:30:13Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":514785,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=29&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '35540'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"faa2d8faf2dc7faf857fc912cc668ae6"'), ('date', 'Tue, 29 May 2012 18:46:50 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-03-13T20:39:19Z","body":"It would be useful if there was a function to programmatically exit an app, say an ofExit() that will shutdown the app when called. There are times when it's useful to throw an error and exit as well as the ability to shutdown the app remotely, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/287","comments":1,"milestone":null,"number":287,"html_url":"https://github.com/openframeworks/openFrameworks/issues/287","assignee":null,"title":"ofExit() function","labels":[],"closed_at":"2011-03-13T20:39:19Z","created_at":"2011-01-07T17:22:21Z","state":"closed","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":512787,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T20:35:52Z","body":"currently we have: \r\n\r\n\r\n\t//----------------------------------------------------------\r\n\tvoid ofSetupScreenOrtho(float width, float height, bool vFlip, float nearDist, float farDist) {\r\n\t\tif(width == 0) width = ofGetWidth();\r\n\t\tif(height == 0) height = ofGetHeight();\r\n\r\n\t\t#ifndef TARGET_OPENGLES\r\n\r\n\t\t\tglMatrixMode(GL_PROJECTION);\r\n\t\t\tglLoadIdentity();\r\n\t\t\tif(vFlip) glOrtho(0, width, height, 0, nearDist, farDist);\r\n\t\t\telse glOrtho(0, width, 0, height, nearDist, farDist);\r\n\t\t\tglMatrixMode(GL_MODELVIEW);\r\n\t\t\tglLoadIdentity();\r\n\t\t\r\n\t\t#else\r\n\t\t\t//FIX: is here http://stackoverflow.com/questions/2847574/opengl-es-2-0-equivalent-of-glortho\r\n\t\t\tofLog(OF_LOG_ERROR, \"ofSetupScreenOrtho - you can't use glOrtho with iphone / ES at the moment\");\r\n\t\t#endif \r\n\t}\r\n\r\nbut we need a glOrtho replacement for ES. \r\n\r\nthis seems to suggest you can do it with matrix multiplication ( though shader code should apply to ES 1.0 ) : http://stackoverflow.com/questions/2847574/opengl-es-2-0-equivalent-of-glortho","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/286","comments":1,"milestone":null,"number":286,"html_url":"https://github.com/openframeworks/openFrameworks/issues/286","assignee":null,"title":"ofSetupScreenOrtho needs iPhone compatible version","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T20:35:52Z","created_at":"2011-01-05T17:57:08Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":508576,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T01:35:35Z","body":"When saving to a JPG or other lossy file, you should be able to pass a compression ratio or quality value. Intuitively it should be a float in the 0-1 range, but ideally it would simply wrap whatever parameters FreeImage already uses.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/285","comments":2,"milestone":null,"number":285,"html_url":"https://github.com/openframeworks/openFrameworks/issues/285","assignee":null,"title":"add jpg compression level parameter","labels":[],"closed_at":"2011-01-08T02:10:30Z","created_at":"2011-01-04T17:58:36Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":506233,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T15:19:32Z","body":"This fixes a bug in ofArduino::update() that was causing a number of unnecessary calls to _port.readByte(). Should help speed up communication between computer and Arduino a bit.\r\n\r\nAlso change to ofArduino::sendSysEx() to split data bytes into two 7 bit bytes before sending.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/284","comments":0,"milestone":null,"number":284,"html_url":"https://github.com/openframeworks/openFrameworks/issues/284","assignee":null,"title":"fix to bug in ofArduino::update() method","labels":[],"closed_at":"2011-01-16T15:19:32Z","created_at":"2011-01-01T00:22:47Z","state":"closed","user":{"url":"https://api.github.com/users/soundanalogous","gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"soundanalogous","id":401539},"id":500607,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/284.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/284","patch_url":"https://github.com/openframeworks/openFrameworks/pull/284.patch"}},{"updated_at":"2011-01-11T00:24:36Z","body":"tried adding this code to ES1Renderer but its unable to create the surface then.\n\n\t\t//DEPTH - hmm why doesn't this work. does it need something to be set at the appDelegate or EAGLView level\n\t\tglGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth);\n\t\tglGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight);\n\t\t\n\t\tglGenRenderbuffersOES(1, &depthRenderbuffer);\n\t\tglBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);\n\t\tglRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT24_OES, backingWidth, backingHeight);\n\t\tglFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);\n\n\nis it something to do with this line? I tried uncommenting the second half so that depth format was set to 16 but it caused a crash. \n\n\tglView = [[EAGLView alloc] initWithFrame:screenBounds];// pixelFormat:GL_RGB565_OES depthFormat:GL_DEPTH_COMPONENT16_OES preserveBackbuffer:NO];\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/283","comments":2,"milestone":null,"number":283,"html_url":"https://github.com/openframeworks/openFrameworks/issues/283","assignee":null,"title":"iPhone / iPad needs option for depth buffer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-11T00:24:36Z","created_at":"2010-12-31T18:06:55Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":500312,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T20:30:20Z","body":"submitted pull request instead. please ignore this issue.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/282","comments":0,"milestone":null,"number":282,"html_url":"https://github.com/openframeworks/openFrameworks/issues/282","assignee":null,"title":"bug in ofArduino","labels":[],"closed_at":"2011-03-13T20:30:20Z","created_at":"2010-12-31T07:34:09Z","state":"closed","user":{"url":"https://api.github.com/users/soundanalogous","gravatar_id":"f3ca5c4c2359e9103ba20a1ea992680c","avatar_url":"https://secure.gravatar.com/avatar/f3ca5c4c2359e9103ba20a1ea992680c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"soundanalogous","id":401539},"id":499912,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-12-28T18:31:14Z","body":"Regarding the following method: \n\tGLuint ofxFbo::createAndAttachRenderbuffer(GLenum internalFormat, GLenum attachmentPoint) {\n\t\t...\n\t\tglFramebufferRenderbuffer(GL_RENDERBUFFER, attachmentPoint, GL_RENDERBUFFER, buffer);\n\t\treturn buffer;\n\t}\n\nthe target (ie. first argument) should be GL_FRAMEBUFFER instead of GL_RENDERBUFFER (see http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml for the specs).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/281","comments":1,"milestone":null,"number":281,"html_url":"https://github.com/openframeworks/openFrameworks/issues/281","assignee":null,"title":"ofxFbo (depth) attachment bug","labels":[],"closed_at":"2010-12-28T18:31:14Z","created_at":"2010-12-21T16:52:59Z","state":"closed","user":{"url":"https://api.github.com/users/Jaxan","gravatar_id":"f4b90f3bc19995082fb937114d07be7b","avatar_url":"https://secure.gravatar.com/avatar/f4b90f3bc19995082fb937114d07be7b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Jaxan","id":272545},"id":486417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T19:34:38Z","body":"I use OF with ubuntu linux and, made some fix for linux.\n\n## commit: 9d100885\nI added missing addons.make and, header on ofxShader.cpp to compile the example on linux.\nNow, It works on linux too. Just type \"make\" like other examples.\n\nThe instruction of libs/glee/lib/linux/readme.txt says way to build & install the GLee system-widely.\nbut, they shipped as binary in OF and, the makefile can directly link it (/libs/glee/lib/linux/libGLee.a or /libs/glee/lib/linux64/libGLee.a).\n\nand, also, I think this may kill some warnings of compile in other platforms.\n\n## commit: 8c65fd75\nI know the guide line, make your app on apps/ directory. changes in this commit follow it.\nand give easy way to make app in other place for people not want to -or can't- follow the guild line.\n\nIf your app is not under the apps/ direchtory, just modify OF_ROOT in your makefile to point OF directory.\n\n## commit: b9bcf524\nClean some sources. for the future. :)\n\nThat's it. Thanks.\n-- Homin Lee.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/280","comments":1,"milestone":null,"number":280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/280","assignee":null,"title":"linux: Compile error fix of fboExample and more..","labels":[],"closed_at":"2011-03-13T19:34:38Z","created_at":"2010-12-18T17:48:08Z","state":"closed","user":{"url":"https://api.github.com/users/suapapa","gravatar_id":"77bae140335cdfbd46237d35f8fdd204","avatar_url":"https://secure.gravatar.com/avatar/77bae140335cdfbd46237d35f8fdd204?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"suapapa","id":333745},"id":481756,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/280.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/280","patch_url":"https://github.com/openframeworks/openFrameworks/pull/280.patch"}},{"updated_at":"2010-12-19T15:50:10Z","body":"kind of amazing how ghetto it is:\r\n\r\n\tint readBytes(unsigned char * buffer, int length);\r\n\tint writeBytes(unsigned char * buffer, int length);\r\n\tbool writeByte(unsigned char singleByte);\r\n\tint readByte();\r\n\r\nreadBytes has a place because fixed-length reading happens pretty often. writeBytes should definitely have a string-based wrapper. and how often is the single character writeByte used?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/279","comments":3,"milestone":null,"number":279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/279","assignee":null,"title":"ofSerial has no string support","labels":[],"closed_at":"2010-12-14T02:22:25Z","created_at":"2010-12-13T18:16:26Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":472299,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T18:23:48Z","body":"Hi!\r\n\r\nI was compiling an app I made with some extra warnings turned on (I tend to be a pedant) and that wound up point out a few things... no big deal, just thought I'd forward them on.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/278","comments":0,"milestone":null,"number":278,"html_url":"https://github.com/openframeworks/openFrameworks/issues/278","assignee":null,"title":"A few warning cleanups","labels":[],"closed_at":"2011-01-14T18:23:48Z","created_at":"2010-12-09T10:06:42Z","state":"closed","user":{"url":"https://api.github.com/users/emonty","gravatar_id":"70046f765dfa1f330e61066dda4351bb","avatar_url":"https://secure.gravatar.com/avatar/70046f765dfa1f330e61066dda4351bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"emonty","id":95156},"id":464817,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/278.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/278","patch_url":"https://github.com/openframeworks/openFrameworks/pull/278.patch"}},{"updated_at":"2010-12-08T19:17:19Z","body":"Hi, when I'm trying to compile emptyExample in VS2010 Express, I get errors:\r\n\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyUpdate(void)\" (?ofNotifyUpdate@@YAXXZ) referenced in function \"public: virtual void __thiscall ofAppGlutWindow::runAppViaInfiniteLoop(class ofBaseApp *)\" (?runAppViaInfiniteLoop@ofAppGlutWindow@@UAEXPAVofBaseApp@@@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifySetup(void)\" (?ofNotifySetup@@YAXXZ) referenced in function \"public: virtual void __thiscall ofAppGlutWindow::runAppViaInfiniteLoop(class ofBaseApp *)\" (?runAppViaInfiniteLoop@ofAppGlutWindow@@UAEXPAVofBaseApp@@@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyDraw(void)\" (?ofNotifyDraw@@YAXXZ) referenced in function \"public: static void __cdecl ofAppGlutWindow::display(void)\" (?display@ofAppGlutWindow@@SAXXZ)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyMouseReleased(int,int,int)\" (?ofNotifyMouseReleased@@YAXHHH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::mouse_cb(int,int,int,int)\" (?mouse_cb@ofAppGlutWindow@@SAXHHHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyMousePressed(int,int,int)\" (?ofNotifyMousePressed@@YAXHHH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::mouse_cb(int,int,int,int)\" (?mouse_cb@ofAppGlutWindow@@SAXHHHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyMouseDragged(int,int,int)\" (?ofNotifyMouseDragged@@YAXHHH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::motion_cb(int,int)\" (?motion_cb@ofAppGlutWindow@@SAXHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyMouseMoved(int,int)\" (?ofNotifyMouseMoved@@YAXHH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::passive_motion_cb(int,int)\" (?passive_motion_cb@ofAppGlutWindow@@SAXHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyKeyPressed(int)\" (?ofNotifyKeyPressed@@YAXH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::keyboard_cb(unsigned char,int,int)\" (?keyboard_cb@ofAppGlutWindow@@SAXEHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyKeyReleased(int)\" (?ofNotifyKeyReleased@@YAXH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::keyboard_up_cb(unsigned char,int,int)\" (?keyboard_up_cb@ofAppGlutWindow@@SAXEHH@Z)\r\n2>openframeworksLib.lib(ofAppGlutWindow.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyWindowResized(int,int)\" (?ofNotifyWindowResized@@YAXHH@Z) referenced in function \"public: static void __cdecl ofAppGlutWindow::resize_cb(int,int)\" (?resize_cb@ofAppGlutWindow@@SAXHH@Z)\r\n2>openframeworksLib.lib(ofAppRunner.obj) : error LNK2019: unresolved external symbol \"void __cdecl ofNotifyExit(void)\" (?ofNotifyExit@@YAXXZ) referenced in function \"void __cdecl ofExitCallback(void)\" (?ofExitCallback@@YAXXZ)\r\n2>openframeworksLib.lib(ofSoundStream.obj) : error LNK2019: unresolved external symbol \"class ofCoreEvents ofEvents\" (?ofEvents@@3VofCoreEvents@@A) referenced in function \"int __cdecl receiveAudioBufferAndCallSimpleApp(void *,void *,unsigned int,double,unsigned int,void *)\" (?receiveAudioBufferAndCallSimpleApp@@YAHPAX0INI0@Z)\r\n2>bin\\emptyExample_vs2010.exe : fatal error LNK1120: 12 unresolved externals\r\n========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========\r\n\r\nWhat can be the problem? Same with VS2008 :(","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/277","comments":3,"milestone":null,"number":277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/277","assignee":null,"title":"VS2010 compile errors","labels":[],"closed_at":"2010-12-08T19:17:19Z","created_at":"2010-12-08T17:20:56Z","state":"closed","user":{"url":"https://api.github.com/users/overjoy","gravatar_id":"0db68e1ff4776516180e0dcef85ec0d5","avatar_url":"https://secure.gravatar.com/avatar/0db68e1ff4776516180e0dcef85ec0d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"overjoy","id":510509},"id":463263,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T00:30:29Z","body":"currently, ofViewport reads:\n\n\tvoid ofViewport(float x, float y, float width, float height) {\n\t\tif(width == 0) width = ofGetWidth();\n\t\tif(height == 0) height = ofGetHeight();\n\n\t\tglViewport(0, 0, width, height);\n\t}\n\nif they were just dropped in to substitute the current 0, 0, this would mean OF has core calls that don't fit the top-left standard... so i propose:\n\n\tvoid ofViewport(int x, int y, int width, int height, bool relative = true) {\n\t\tif(width == 0) {\n\t\t\twidth = ofGetWidth();\n\t\t}\n\t\tif(height == 0) {\n\t\t\theight = ofGetHeight();\n\t\t}\n\t\tif(relative) {\n\t\t\ty = ofGetHeight() - (height + y);\n\t\t}\n\t\tglViewport(x, y, width, height);\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/276","comments":3,"milestone":null,"number":276,"html_url":"https://github.com/openframeworks/openFrameworks/issues/276","assignee":null,"title":"ofViewport ignores x,y values","labels":[],"closed_at":"2011-01-16T00:30:29Z","created_at":"2010-12-04T19:04:36Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":456021,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T19:52:00Z","body":"commit e31e1b9:\nUpdated ofSetColor to ofSetColorHex on ofxCvContourFinder and ofxCvBlob\n\ncommit e0ae765:\nadded the copy operator to ofxVec4f , so it has the same behavior as ofxVec2f and ofxVec3f:\nvoid \t operator=( const ofxVec4f& vec );\nvoid \t operator=( const float f);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/274","comments":2,"milestone":null,"number":274,"html_url":"https://github.com/openframeworks/openFrameworks/issues/274","assignee":null,"title":"changed ofSetColor(int hex) to ofSetHexColor(int hex) on ofxCvContourFinder and ofxCvBlob |||||||||| added copy operator(=) to ofxVec4f","labels":[],"closed_at":"2011-01-12T19:52:00Z","created_at":"2010-11-29T16:51:14Z","state":"closed","user":{"url":"https://api.github.com/users/paulobarcelos","gravatar_id":"1a9d12db1eca833154421017ef09524f","avatar_url":"https://secure.gravatar.com/avatar/1a9d12db1eca833154421017ef09524f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"paulobarcelos","id":122277},"id":444628,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/274.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/274","patch_url":"https://github.com/openframeworks/openFrameworks/pull/274.patch"}},{"updated_at":"2011-01-16T00:28:44Z","body":"i have generally avoided setFromPixels and just do my own memcpys because i don't understand when setFromPixels reallocates and when it doesn't.\r\n\r\nthe first thing it does is allocate the pixels if they're not allocated.\r\n\r\nthen if the width and height don't match, it allocates them (first calling clear() which seems to be responsible for saying delete[] myPixels.pixels).\r\n\r\nand then it calls allocatePixels regardless of anything that has already been done. fortunately allocatePixels is pretty smart. actually, it's smart in exactly the same ways setFromPixels is smart: it makes sure that the pixels are allocated, and it makes sure the width and height match. it deletes the pixels itself, instead of using the clear() method, because it's a helper function for some reason.\r\n\r\nall that said, there should only be one check: is the new width and height same as the current one? if not, reallocate (where reallocating means deleting anything if it's there, and dynamically allocating new memory). because ofImage should have a width and height of 0 when it's created, this handles all the cases instead of being spread across three different places.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/273","comments":1,"milestone":null,"number":273,"html_url":"https://github.com/openframeworks/openFrameworks/issues/273","assignee":null,"title":"ofImage::setFromPixels is really hard to read","labels":[],"closed_at":"2011-01-16T00:28:44Z","created_at":"2010-11-27T23:55:30Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":442132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-23T21:02:20Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/272","comments":0,"milestone":null,"number":272,"html_url":"https://github.com/openframeworks/openFrameworks/issues/272","assignee":null,"title":"Untitled","labels":[],"closed_at":"2010-11-23T21:02:20Z","created_at":"2010-11-23T20:56:52Z","state":"closed","user":{"url":"https://api.github.com/users/kamend","gravatar_id":"1b0002ee319a421a56ef94c199382fb7","avatar_url":"https://secure.gravatar.com/avatar/1b0002ee319a421a56ef94c199382fb7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kamend","id":462951},"id":435353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-22T23:43:14Z","body":"added block for win32 that are not redefines for OSX but necessary for windows build","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/270","comments":0,"milestone":null,"number":270,"html_url":"https://github.com/openframeworks/openFrameworks/issues/270","assignee":null,"title":"ofxFbo.cpp win32 specific #defines","labels":[],"closed_at":"2010-11-22T23:43:14Z","created_at":"2010-11-22T18:10:22Z","state":"closed","user":{"url":"https://api.github.com/users/sbonkowski","gravatar_id":"88dfb005acfaf20ecff20bf7c9edf0a1","avatar_url":"https://secure.gravatar.com/avatar/88dfb005acfaf20ecff20bf7c9edf0a1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"sbonkowski","id":365754},"id":432909,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/270.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/270","patch_url":"https://github.com/openframeworks/openFrameworks/pull/270.patch"}},{"updated_at":"2010-11-22T23:43:14Z","body":"added ofEvents.cpp to win_cp project","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/269","comments":0,"milestone":null,"number":269,"html_url":"https://github.com/openframeworks/openFrameworks/issues/269","assignee":null,"title":"added ofEvents.cpp to win_cp project","labels":[],"closed_at":"2010-11-22T23:43:14Z","created_at":"2010-11-22T14:44:59Z","state":"closed","user":{"url":"https://api.github.com/users/sbonkowski","gravatar_id":"88dfb005acfaf20ecff20bf7c9edf0a1","avatar_url":"https://secure.gravatar.com/avatar/88dfb005acfaf20ecff20bf7c9edf0a1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"sbonkowski","id":365754},"id":432554,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/269.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/269","patch_url":"https://github.com/openframeworks/openFrameworks/pull/269.patch"}},{"updated_at":"2010-11-22T23:49:05Z","body":"i think there are probably more of these to be added, but i needed this one :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/268","comments":2,"milestone":null,"number":268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/268","assignee":null,"title":"ofVertex(ofPoint & p) added","labels":[],"closed_at":"2010-11-23T07:41:01Z","created_at":"2010-11-21T19:25:58Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":431379,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/268.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/268","patch_url":"https://github.com/openframeworks/openFrameworks/pull/268.patch"}},{"updated_at":"2011-03-13T20:28:34Z","body":"ofxCvFloatImage::setFromPixels( float* _pixels, int w, int h ) \n\n if( w == width && h == height ) {\n // copy _pixels into cvImage\n for( int i=0; i < height; i++ ) {\n memcpy( cvImage->imageData + (i*cvImage->widthStep),\n _pixels + (i*w),\n width );\n }\n flagImageChanged();\n } else {\n ofLog(OF_LOG_ERROR, \"in setFromPixels, size mismatch\");\n }\n\nshould be:\n\n if( w == width && h == height ) {\n // copy _pixels into cvImage\n for( int i=0; i < height; i++ ) {\n memcpy( cvImage->imageData + (i*cvImage->widthStep),\n _pixels + (i*w),\n width * sizeof(float) );\n }\n flagImageChanged();\n } else {\n ofLog(OF_LOG_ERROR, \"in setFromPixels, size mismatch\");\n }","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/267","comments":1,"milestone":null,"number":267,"html_url":"https://github.com/openframeworks/openFrameworks/issues/267","assignee":null,"title":"ofxCvFloatImage memcpy for float * assumes 1 byte per pixel instead of 4bytes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-03-13T20:28:34Z","created_at":"2010-11-18T21:43:02Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":427168,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-15T23:47:11Z","body":"something like php date. \nwhere you could do \n\nofGetTimeAsString(\"Y-M-D-H-M-S-MS\");\nreturns \"2010-12-20-13-44-05-0980\" \n\nmakes saving files without overwriting easier. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/266","comments":1,"milestone":null,"number":266,"html_url":"https://github.com/openframeworks/openFrameworks/issues/266","assignee":null,"title":"ofGetTimeAsString(string format)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-15T23:47:11Z","created_at":"2010-11-18T16:59:02Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":426568,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-22T23:31:07Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/263","comments":4,"milestone":null,"number":263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/263","assignee":null,"title":"the linux ofVideoPlayer should not use a texture if bUseTexture is set to false","labels":[],"closed_at":"2010-11-22T23:31:07Z","created_at":"2010-11-17T13:52:40Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"benben","id":124513},"id":424070,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/263.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/263","patch_url":"https://github.com/openframeworks/openFrameworks/pull/263.patch"}},{"updated_at":"2010-11-22T23:30:40Z","body":"see here: https://github.com/openframeworks/openFrameworks/issues/issue/261","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/262","comments":1,"milestone":null,"number":262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/262","assignee":null,"title":"fixes #261","labels":[],"closed_at":"2010-11-22T23:30:40Z","created_at":"2010-11-17T13:39:23Z","state":"closed","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"benben","id":124513},"id":424049,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/262.patch"}},{"updated_at":"2010-11-17T15:04:06Z","body":"In ofxCvContourFinder when you call findContours there should be away to disable the textures for the inputCopy(...) line 67\n\nYou will get a crash if you are trying to run this function in a thread due to opengl ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/261","comments":3,"milestone":null,"number":261,"html_url":"https://github.com/openframeworks/openFrameworks/issues/261","assignee":null,"title":"ofxCvContourFinder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-11-17T15:04:06Z","created_at":"2010-11-16T19:19:56Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vanderlin","id":149997},"id":422560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-02-14T20:20:33Z","body":"ofSetColor(255) is white while ofBackground(255) is blue","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/260","comments":1,"milestone":null,"number":260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/260","assignee":null,"title":"ofBackground is inconsistent with ofSetColor","labels":[],"closed_at":"2011-02-14T20:20:33Z","created_at":"2010-11-15T11:48:12Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":418837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-17T14:55:30Z","body":"A couple of things here:\r\n1. The current version of ofxiPhoneKeyboard has no way to keep the textfield visible and hide the keyboard. I added a closeKeyboard() method to do just that.\r\n2. Manually editing the text using the [setText] method didn't trigger all the callbacks that got triggered when editing the text using the keyboard. I just added a call to [textFieldDidEndEditing] to correct that. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/259","comments":0,"milestone":null,"number":259,"html_url":"https://github.com/openframeworks/openFrameworks/issues/259","assignee":null,"title":"iPhone keyboard fixes","labels":[],"closed_at":"2010-11-17T14:55:30Z","created_at":"2010-11-13T17:33:58Z","state":"closed","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":416874,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/259.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/259","patch_url":"https://github.com/openframeworks/openFrameworks/pull/259.patch"}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=30&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '29775'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"75048d1758b8859dd03cee1ffd88b1d3"'), ('date', 'Tue, 29 May 2012 18:46:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2010-11-13T17:21:27Z","body":"I just added a return statement to the laodFromBuffer() method to indicated whether the operation was successful or not. The \"loadOkay\" var was already there but unused.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/258","comments":1,"milestone":null,"number":258,"html_url":"https://github.com/openframeworks/openFrameworks/issues/258","assignee":null,"title":"XML loadFromBuffer() return value","labels":[],"closed_at":"2010-11-13T17:21:27Z","created_at":"2010-11-13T17:16:14Z","state":"closed","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","login":"prisonerjohn","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":119702},"id":416858,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/258.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/258.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/258"}},{"updated_at":"2011-03-13T20:19:34Z","body":"ofColor, ofImage, ofSound... should all report either complete information (ofColor) or partial information (ofImage: width, height, format). this will encourage more people to use << when debugging, make debugging faster, make code shorter, and generally cause less problems with people misformatting prtinfs :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/257","comments":0,"milestone":null,"number":257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/257","assignee":null,"title":"operator<< should be overloaded for all basic types","labels":[],"closed_at":"2011-03-13T20:19:34Z","created_at":"2010-11-13T17:07:05Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":416848,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-11-15T18:06:12Z","body":"I just noticed that fonts are not being displayed in the iPhone simulator. I just tried the iPhoneFontsExample from the 0062Release branch and although it works fine on the actual device, nothing gets displayed in the simulator and I get the following trace in the console (over and over again):\r\n\r\n\tOF_ERROR: Error : font not allocated -- line 779 in /my/oF/dir/libs/openFrameworksCompiled/project/iphone/../../../openFrameworks/graphics/ofTrueTypeFont.cpp\r\n\r\nI had a quick look at ofTrueTypeFont and the problem happens on line 369:\r\n\tif (FT_New_Face( library, filename.c_str(), 0, &face )) {\r\n\t\treturn;\r\n\t}\r\n\r\nI also checked the contents of the .app package on both the device and simulator apps, and both have the font file at the correct path.\r\n\r\nFinally, I reverted back to an older versions of oF and the bug is still there, is it possible the problem lies with the recompiled version of freetype? (b3fd9144b8d45108fca86c96364655f9a0d68f7a)\r\n\r\nI don't really know where to go from here, so if someone wants to look at it or has any suggestions on stuff I can try, let me know!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/256","comments":3,"milestone":null,"number":256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/256","assignee":null,"title":"Problem with fonts on iPhone Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-11-15T18:06:12Z","created_at":"2010-11-13T16:39:54Z","state":"closed","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","login":"prisonerjohn","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":119702},"id":416819,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-02-12T14:09:54Z","body":"Hi,\n\nJust clone a brand new copy, but I am unable to run any of the iphone projects. I get the following error messages:\n\n/openframeworks_master/libs/openFrameworksCompiled/project/iphone/../../../openFrameworks/graphics/ofGraphics.cpp:70:0 /openframeworks_master/libs/openFrameworksCompiled/project/iphone/../../../openFrameworks/graphics/ofGraphics.cpp:70: error: 'glPushAttrib' was not declared in this scope\n\nand the same goes for glPopAttrib and glOrtho\n\nAny help will be much appreciated\n\nCheers\nrS\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/254","comments":5,"milestone":null,"number":254,"html_url":"https://github.com/openframeworks/openFrameworks/issues/254","assignee":null,"title":"Unable to run iPhone projects","labels":[],"closed_at":"2011-02-12T14:09:54Z","created_at":"2010-11-11T16:28:37Z","state":"closed","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":413178,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-12-02T15:13:08Z","body":"i wish every main.cpp looked more like this:\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tint main() {\r\n\t\tofAppGlutWindow window;\r\n\t\t// specify width, height and OF_WINDOW or OF_FULLSCREEN\r\n\t\tofSetupOpenGL(&window, 640, 480, OF_WINDOW);\r\n\t\tofRunApp(new testApp());\r\n\t}\r\n\r\nthe two extra includes are unnecessary as they're included by testApp.h which has ofMain.h\r\n\r\nin general, there are lots of stray tabs throughout the core, conflicting indentation and bracing styles, random collections of newlines, sometimes spaces where there should be tabs, half-attempts at aligning variable names, unnecessary caps lock in comments, and way more //----- than there should be.\r\n\r\nin general this demands discussion on of-dev and agreement on some basic stylistic goals, but i feel like the above (main.cpp) should be pretty obvious and agreeable.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/253","comments":3,"milestone":null,"number":253,"html_url":"https://github.com/openframeworks/openFrameworks/issues/253","assignee":null,"title":"clean up the formatting!","labels":[],"closed_at":"2011-12-02T15:13:08Z","created_at":"2010-11-11T03:08:59Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":412183,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-11-13T14:31:17Z","body":"My commit here:\r\nhttps://github.com/tmatth/openFrameworks/commit/122e7081a2246cf2591f87cf0526d6683ab7e562\r\nresolves compiler warnings for the getHex method of ofColor","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/252","comments":0,"milestone":null,"number":252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/252","assignee":null,"title":"Patch for https://github.com/openframeworks/openFrameworks/issues/issue/251","labels":[],"closed_at":"2010-11-13T14:31:17Z","created_at":"2010-11-09T21:13:56Z","state":"closed","user":{"url":"https://api.github.com/users/tmatth","gravatar_id":"540065079e39292038cd38830d20560a","login":"tmatth","avatar_url":"https://secure.gravatar.com/avatar/540065079e39292038cd38830d20560a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":66862},"id":409643,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/252.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/252.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/252"}},{"updated_at":"2011-03-13T20:18:06Z","body":"Compiling openFrameworks on Ubuntu 10.10 leads to the following warning:\r\n \r\n../../../openFrameworks/utils/ofTypes.h:376: warning: suggest parentheses around ‘+’ inside ‘<<’","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/251","comments":0,"milestone":null,"number":251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/251","assignee":null,"title":"compiler warning for ofTypes.h","labels":[],"closed_at":"2011-03-13T20:18:06Z","created_at":"2010-11-09T20:59:26Z","state":"closed","user":{"url":"https://api.github.com/users/tmatth","gravatar_id":"540065079e39292038cd38830d20560a","login":"tmatth","avatar_url":"https://secure.gravatar.com/avatar/540065079e39292038cd38830d20560a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":66862},"id":409621,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-11-07T13:13:53Z","body":"install_dependencies.sh should call `sudo apt-get` instead of just `apt-get` so users won't have to run the script using sudo and subsequently compile everything as root.\n\nalso on ubuntu 10.10 `pkg-config --cflags libavformat` doesn't output a path, so compile fails with\n\n../../../openFrameworks/video/ofUCUtils.cpp:19: fatal error: avformat.h: No such file or directory\n\n19: #include -- doesn't exist: error\n20: #include -- doesn't exist\n21: #include -- correct\n22: #include -- correct\n\nYour hack doesn't work.\n\nMaybe you should leave all paths for ffmpeg away and add them using the Makefile?\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/250","comments":1,"milestone":null,"number":250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/250","assignee":null,"title":"ubuntu setup script issuses","labels":[],"closed_at":"2010-11-07T13:13:53Z","created_at":"2010-11-06T20:23:09Z","state":"closed","user":{"url":"https://api.github.com/users/neapel","gravatar_id":"dcc01bf257434d56ea213358ad0c037a","login":"neapel","avatar_url":"https://secure.gravatar.com/avatar/dcc01bf257434d56ea213358ad0c037a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":77855},"id":404367,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-03-10T05:04:59Z","body":"This is on ofxIphone, requires the [appDelegate startAnimation] method to be called.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/248","comments":1,"milestone":null,"number":248,"html_url":"https://github.com/openframeworks/openFrameworks/issues/248","assignee":null,"title":"setFramerate doesn't properly return after being set to 0","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2012-03-10T05:04:59Z","created_at":"2010-11-01T01:17:01Z","state":"closed","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":392755,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-01-14T03:11:27Z","body":"ofToInt() returns junk on the empty string, and this junk is different across systems. On OSX I tend to get negative integers while on Windows I tend to get positive integers (I was testing for <0 so my code worked on OSX and broke on Windows).\r\n\r\nI'm assuming this applies to ofToFloat() as well.\r\n\r\nHere is a demo that shows the problem, and provides a solution using stringstreams instead of sscanf.\r\n\r\n\tint testInt;\r\n\t\r\n\ttestInt = 0;\r\n\ttestInt = ofToInt(\"\");\r\n\tcout << \"testInt = ofToInt(empty): \" << testInt << endl;\r\n\t\r\n\ttestInt = 0;\r\n\tstringstream convert(\"\");\r\n\tconvert >> testInt;\r\n\tcout << \"empty >> testInt: \" << testInt << endl;\r\n\r\nThe alternative is to test for the string length before running sscanf. In general I think stringstreams are a smarter way to do conversion though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/247","comments":1,"milestone":null,"number":247,"html_url":"https://github.com/openframeworks/openFrameworks/issues/247","assignee":null,"title":"inconsistent and arbitrary conversion behavior ofToInt","labels":[],"closed_at":"2011-01-14T03:11:27Z","created_at":"2010-10-17T19:35:06Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":367083,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T21:43:35Z","body":"This can be a massive headache when parsing basic delimited data.\r\n\r\nFor example, the string \"a,,b,,c\" yields 3 tokens instead of 5 (Processing's split() gives 5).\r\n\r\nMore of a description including a solution is posted here http://www.openframeworks.cc/forum/viewtopic.php?p=24126#p24126","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/246","comments":2,"milestone":null,"number":246,"html_url":"https://github.com/openframeworks/openFrameworks/issues/246","assignee":null,"title":"ofSplitString ignores empty tokens","labels":[],"closed_at":"2011-03-14T03:14:22Z","created_at":"2010-10-14T22:15:02Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":363172,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T19:36:30Z","body":"Lines are cited for changing, that aren't in the .cbp files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/243","comments":0,"milestone":null,"number":243,"html_url":"https://github.com/openframeworks/openFrameworks/issues/243","assignee":null,"title":"The Windows CodeBlocks guide to creating a new project includes steps that you don't need to perform","labels":[],"closed_at":"2011-03-13T19:36:30Z","created_at":"2010-10-11T04:11:16Z","state":"closed","user":{"url":"https://api.github.com/users/pnewhook","gravatar_id":"fae2af75c8c0ca925a229678b528bb04","login":"pnewhook","avatar_url":"https://secure.gravatar.com/avatar/fae2af75c8c0ca925a229678b528bb04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":92876},"id":356107,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/243.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/243.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/243"}},{"updated_at":"2011-07-06T18:36:06Z","body":"This pull request includes:\r\n - cmake files to build OF as a shared/static library under linux/OS X\r\n - cmake files to build examples and addon examples\r\n - cmake files included in addons directory and to be included in project using addons to easily build apps witch use addons\r\n - a readme explaining how to build thoses parts and generate project files for various IDEs ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/242","comments":4,"milestone":null,"number":242,"html_url":"https://github.com/openframeworks/openFrameworks/issues/242","assignee":null,"title":"CMake build files","labels":[],"closed_at":"2011-07-06T18:36:06Z","created_at":"2010-10-09T13:57:04Z","state":"closed","user":{"url":"https://api.github.com/users/dopuskh3","gravatar_id":"33990a985289ab17b97d854cf3ea5bdc","login":"dopuskh3","avatar_url":"https://secure.gravatar.com/avatar/33990a985289ab17b97d854cf3ea5bdc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":86608},"id":354555,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/242.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/242.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/242"}},{"updated_at":"2010-11-08T16:36:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/241","comments":1,"milestone":null,"number":241,"html_url":"https://github.com/openframeworks/openFrameworks/issues/241","assignee":null,"title":"set base SDK to current OS for os x projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2010-11-08T16:36:08Z","created_at":"2010-10-07T18:58:53Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":351891,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-10-05T13:45:47Z","body":"In 0061 my update() routine is running after exit() is called, so deleted objects are being called and it's no fun.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/239","comments":1,"milestone":null,"number":239,"html_url":"https://github.com/openframeworks/openFrameworks/issues/239","assignee":null,"title":"update() running after exit() called","labels":[],"closed_at":"2010-10-05T13:45:47Z","created_at":"2010-10-01T14:29:40Z","state":"closed","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":342470,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T20:11:04Z","body":"possibly also have getNumBytes\nand getNumPixels","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/238","comments":1,"milestone":null,"number":238,"html_url":"https://github.com/openframeworks/openFrameworks/issues/238","assignee":null,"title":"ofBaseHasPixels should have getWidth getHeight getBytesPerPixel ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T20:11:04Z","created_at":"2010-09-29T15:37:31Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":338905,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T20:09:51Z","body":"http://www.openframeworks.cc/forum/posting.php?mode=reply&f=7&t=4687&sid=af92e2439a47e67b107dd3c3e0e4b1fb","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/237","comments":1,"milestone":null,"number":237,"html_url":"https://github.com/openframeworks/openFrameworks/issues/237","assignee":null,"title":"fix firmata way of reading the serial port","labels":[],"closed_at":"2011-03-13T20:09:51Z","created_at":"2010-09-28T18:23:38Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":337154,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-01-16T00:05:49Z","body":"multiplatform open/save file dialog functions with parameters for files/dirs, once closed it returns the name of the chosen file/dir or empty string if cancel was pressed","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/235","comments":1,"milestone":null,"number":235,"html_url":"https://github.com/openframeworks/openFrameworks/issues/235","assignee":null,"title":"ofOpenFileDialog/ofSaveFileDialog","labels":[],"closed_at":"2011-01-16T00:05:49Z","created_at":"2010-09-24T15:20:31Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":331578,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-09-24T10:33:07Z","body":"right now to apply rotations, translations and scales to an existent matrix4x4, you need to use preMult or postMult, add more simple methods. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/234","comments":1,"milestone":null,"number":234,"html_url":"https://github.com/openframeworks/openFrameworks/issues/234","assignee":null,"title":"create more understandable methods fo matrix4x4 for basic operations","labels":[],"closed_at":"2010-09-24T10:33:07Z","created_at":"2010-09-24T10:28:36Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":331253,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-10-05T12:56:47Z","body":"Hi. FreeImage and FreeType generate several warnings for me. They generally are the result of the dsymutil failing while attempting to create the dSYM file. \r\n\r\nWarnings look like this:\r\n\r\nwarning: (armv6) libs/freetype/lib/iphone/libFreeType_iphone_universal.a(ftinit.o) object file 'libs/freetype/lib/iphone/libFreeType_iphone_universal.a(ftinit.o)' doesn't contain architecture information for armv6.\r\n\r\nAnd when building for the simulator I get a lot of these: \r\n\r\nwarning: invalid DWARF generated by the compiler: DIE 0x000016a6 has multiple AT_byte_size attributes in 'libs/FreeImage/lib/iphone/libFreeImage_iphone_universal.a'\r\n\r\nIs there a way to clean these warnings up?\r\n\r\nThanks!!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/233","comments":2,"milestone":null,"number":233,"html_url":"https://github.com/openframeworks/openFrameworks/issues/233","assignee":null,"title":"Warnings from missing/invalid debug info (iPhone)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":"2010-10-05T12:56:47Z","created_at":"2010-09-21T04:24:45Z","state":"closed","user":{"url":"https://api.github.com/users/colevscode","gravatar_id":"136e4c02a3c6c6012aef63553d01f70f","login":"colevscode","avatar_url":"https://secure.gravatar.com/avatar/136e4c02a3c6c6012aef63553d01f70f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":409293},"id":325829,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-10-05T12:56:28Z","body":"currently most libs are armv6 - if you try and make an app which is armv7 and \"only build active archs\" is not checked you get an error as the code for the armv7 part of the binary does not exist for poco freeimage etc. \r\n\r\nshould we make armv6 and armv7 joined libs for all iphone?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/232","comments":1,"milestone":null,"number":232,"html_url":"https://github.com/openframeworks/openFrameworks/issues/232","assignee":null,"title":"armv7 for all iphone libs?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"closed_at":"2010-10-05T12:56:28Z","created_at":"2010-09-20T14:02:21Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":324604,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-09-24T17:39:36Z","body":"found on vista, just ran into it again on win 7. fix described here:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=21020#p21020\r\n\r\nalso, thanks to arturo for already adding fstream to ofConstants :) :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/231","comments":4,"milestone":null,"number":231,"html_url":"https://github.com/openframeworks/openFrameworks/issues/231","assignee":null,"title":"ofConstants.h fails to compile with recent code::blocks on windows","labels":[],"closed_at":"2010-09-24T21:21:56Z","created_at":"2010-09-19T21:03:52Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":323813,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-09-24T14:56:53Z","body":"Calling in virtual void brightnessContrast(float brightness, float contrast); in ofxCvGrayscaleImage.h crashes out.\n\n // (uses values between -100 and 100)\n\nIs also incorrect? Peeking at the code appears as if the code is expecting values between -1.f and 1.f inclusive.\n\nE.g.\n\n\t\tdouble delta = 127.*contrast;\n\t\tdouble a = 255./(255. - delta*2);\n\t\tdouble b = a*(brightness*100 - delta);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/230","comments":2,"milestone":null,"number":230,"html_url":"https://github.com/openframeworks/openFrameworks/issues/230","assignee":null,"title":"openCV BrightnessContrast crashes","labels":[],"closed_at":"2010-09-24T14:56:53Z","created_at":"2010-09-16T14:58:01Z","state":"closed","user":{"url":"https://api.github.com/users/JGL","gravatar_id":"e28464b00d9bd8370fa47b92d7a192f2","login":"JGL","avatar_url":"https://secure.gravatar.com/avatar/e28464b00d9bd8370fa47b92d7a192f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":243074},"id":319613,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2010-09-24T13:12:51Z","body":"ofSoundStreamClose causes segmentation fault on linux.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/229","comments":4,"milestone":null,"number":229,"html_url":"https://github.com/openframeworks/openFrameworks/issues/229","assignee":null,"title":"Segmentation fault on application closing","labels":[],"closed_at":"2010-09-24T13:12:51Z","created_at":"2010-09-11T15:02:13Z","state":"closed","user":{"url":"https://api.github.com/users/ptrv","gravatar_id":"7bed46e1c078b29fad9f44f8e0a113bd","login":"ptrv","avatar_url":"https://secure.gravatar.com/avatar/7bed46e1c078b29fad9f44f8e0a113bd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":49775},"id":312043,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2011-03-13T20:00:26Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/226","comments":3,"milestone":null,"number":226,"html_url":"https://github.com/openframeworks/openFrameworks/issues/226","assignee":null,"title":"do we need copy constructor for ofTexture?","labels":[],"closed_at":"2011-03-13T20:00:26Z","created_at":"2010-09-08T14:35:38Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":307668,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=31&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '32545'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"dc08421a13110890dc53b3e876eb34d5"'), ('date', 'Tue, 29 May 2012 18:46:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2010-09-09T14:11:39Z","body":"0061\nLooks like there is a malloc without a free in ofxDirlist.h, tested on Windows 7. I patched as this forum post explains but there is probably a nicer way...\n\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4450&p=22909","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/223","comments":1,"milestone":null,"number":223,"html_url":"https://github.com/openframeworks/openFrameworks/issues/223","assignee":null,"title":"ofxDirList memory leak","labels":[],"closed_at":"2010-09-09T14:11:39Z","created_at":"2010-08-20T08:54:52Z","state":"closed","user":{"url":"https://api.github.com/users/darrencperry","avatar_url":"https://secure.gravatar.com/avatar/b2ef53381472a5b480dea39905e09f15?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b2ef53381472a5b480dea39905e09f15","login":"darrencperry","id":370601},"id":284261,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:59:33Z","body":"E-Mail:wanglei198428@163.com\r\nThe openFrameworks haven't supported the Live-streaming on IPhone?\r\nI just have a demo about playing local avi files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/222","comments":1,"milestone":null,"number":222,"html_url":"https://github.com/openframeworks/openFrameworks/issues/222","assignee":null,"title":"Who could give me a Live-streaming video's Demo for IPhone","labels":[],"closed_at":"2011-03-13T19:59:33Z","created_at":"2010-08-19T03:15:42Z","state":"closed","user":{"url":"https://api.github.com/users/draco99","avatar_url":"https://secure.gravatar.com/avatar/39d4459e5668d771b421df83933b3b6c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"39d4459e5668d771b421df83933b3b6c","login":"draco99","id":324149},"id":282926,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-10T08:54:04Z","body":"ofTexture does not set textureID back to 0 after glDeleteTextures is called in ofTexture::clear . \n\nIf you do myTex.clear(); and allocate some other textures somewhere else. Then do myTex.loadData ( or ofImage::loadImage ) the clear() call that happens inside ofTexture::allocate will see that the ID of myTex.texData.textureID is not 0 and then try and clear it. This texture id number has a very good chance of being an ID of an existing texture. So the clear call trashes another bound texture. \n\nFix is very simple:\n\nReplace this:\n\n\t//----------------------------------------------------------\n\tvoid ofTexture::clear(){\n\t\t// try to free up the texture memory so we don't reallocate\n\t\tif (texData.textureID != 0){\n\t\t\tglDeleteTextures(1, (GLuint *)&texData.textureID);\t\t\t\n\t\t}\n\n\t\ttexData.bAllocated = false;\n\t}\n\nWith:\n\n\n\t//----------------------------------------------------------\n\tvoid ofTexture::clear(){\n\t\t// try to free up the texture memory so we don't reallocate\n\t\tif (texData.textureID != 0){\n\t\t\tglDeleteTextures(1, (GLuint *)&texData.textureID);\n\t\t\t//reset the tex id\t\t\t\n\t\t\ttexData.textureID = 0;\n\t\t}\n\t\ttexData.bAllocated = false;\n\t}\n\n\nReplicate:\nTo replicate the bug you can add this to the top of the current ofTexture.cpp file\n\n\t\tstatic int numAllocated = 0;\n\t\tstatic int numFreed = 0;\n\nThen in ofTexture::allocate\n\nunder this line:\n\tglGenTextures(1, (GLuint *)&texData.textureID); // could be more then one, but for now, just one\n\nadd:\n\tif( texData.textureID != 0 ){\n\t\tnumAllocated++;\n\t}\n\nthen in ofTexture::clear\n\nunder this line:\n\t\t\tglDeleteTextures(1, (GLuint *)&texData.textureID);\n\nadd:\n\t\t\tnumFreed++;\n\t\t\tprintf(\"ofTexture num allocated / free = %i / %i \\n\", numAllocated, numFreed);\n\nNow in the top of your main OF app \n\n\t\t\tvector tex;\n\nin testApp::setup();\n\n\t\t\ttex.assign(10, ofTexture());\n\t\t\tfor(int k = 0; k < tex.size(); k++)tex[k].allocate(32, 32, GL_RGB);\n\nin testApp::keyPressed\n\n\t\t\tfor(int k = 0; k < 5; k++)tex[k].clear();\n\nif there is no bug the numAllocated / free print out should be something like this:\n\t\tofTexture num allocated / free = 10 / 5\n\nbut if the bug exists the second number should go up on each key press ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/221","comments":2,"milestone":null,"number":221,"html_url":"https://github.com/openframeworks/openFrameworks/issues/221","assignee":null,"title":"Crazy ofTexture::Clear() Bug!! textureID not being reset to 0 - trashes other textures","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-10T08:54:04Z","created_at":"2010-08-15T23:49:06Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":279264,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-20T11:58:00Z","body":"char * machine was not being freed. \n\nchange to:\n\n\t//--------------------------------------------------------------\n\tstring ofxiPhoneGetDeviceRevision() {\n\t\tsize_t size;\n\t\tsysctlbyname(\"hw.machine\", NULL, &size, NULL, 0);\n\t\t\n\t\tif( size > 0 ){\n\t\t\tchar * machine;\n\t\t\tmachine = new char[size];\n\t\t\tsysctlbyname(\"hw.machine\", machine, &size, NULL, 0);\n\t\t\n\t\t\tstring device(machine);\n\t\t\t\n\t\t\tdelete[] machine;\n\t\t\t\t\n\t\t\treturn device;\n\t\t}else{\n\t\t\treturn \"\";\n\t\t}\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/220","comments":1,"milestone":null,"number":220,"html_url":"https://github.com/openframeworks/openFrameworks/issues/220","assignee":null,"title":"iphone ofxiPhoneGetDeviceRevision memory leak","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-20T11:58:00Z","created_at":"2010-08-15T22:03:48Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":279188,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-20T11:58:00Z","body":"This is because in the setupScreen code it is pulling the size of W and H from the key window - if this window has a small view like the UIAlertView this causes the opengl view in the background to look funky. The correct approach is to use ofGetWidth and ofGetHeight which return the cached app width and height regardless of the small view being shown. \r\n\r\nTo fix remove ofAppiPhoneWindow::timerLoop :\r\n\r\n\tif(bEnableSetupScreen) {\r\n\t\tint w, h;\r\n\t\t\r\n\t\tCGSize s = [[[UIApplication sharedApplication] keyWindow] bounds].size;\r\n\t\tw = s.width;\r\n\t\th = s.height;\r\n\r\nand replace with:\r\n\r\n\tif(bEnableSetupScreen) {\r\n\t\tint w, h;\r\n\t\t\r\n\t\tswitch(orientation) {\r\n\t\t\tcase OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT:\r\n\t\t\t\t\th = ofGetWidth();\r\n\t\t\t\t\tw = ofGetHeight();\r\n\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\tcase OFXIPHONE_ORIENTATION_LANDSCAPE_LEFT:\r\n\t\t\t\t\th = ofGetWidth();\r\n\t\t\t\t\tw = ofGetHeight();\r\n\t\t\t\tbreak;\r\n\t\r\n\t\t\tdefault:\r\n\t\t\t\tw = ofGetWidth();\r\n\t\t\t\th = ofGetHeight();\r\n\t\t\tbreak;\r\n\t\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/219","comments":1,"milestone":null,"number":219,"html_url":"https://github.com/openframeworks/openFrameworks/issues/219","assignee":null,"title":"iPhone opengl scales when UIAlertView comes up","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-20T11:58:00Z","created_at":"2010-08-13T17:56:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":277753,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-20T11:50:25Z","body":"Looks like the LITTLE_ENDIAN define is not made. \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=22693#p22693\r\n\r\nmaybe this is better solved in ofConstants.h by defining LITTLE_ENDIAN for iphone OS? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/218","comments":2,"milestone":null,"number":218,"html_url":"https://github.com/openframeworks/openFrameworks/issues/218","assignee":null,"title":"iphone rgb swap needed in iOS4 ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-20T11:50:25Z","created_at":"2010-08-10T21:52:35Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":274613,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-10-05T13:13:02Z","body":"Note that his diff is backwards - the size should be change from 256 to 64\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=22640&#p22640","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/217","comments":1,"milestone":null,"number":217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/217","assignee":null,"title":"ofVideoGrabber listDevices memcpy issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-10-05T13:13:02Z","created_at":"2010-08-09T14:51:39Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":273034,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-07-04T13:20:43Z","body":"if not the callback can try to call the audioReceived/Requested method in testApp when it's been destroyed","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/216","comments":2,"milestone":null,"number":216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/216","assignee":null,"title":"ofSoundStream should be closed when the app ends","labels":[],"closed_at":"2010-09-10T08:54:04Z","created_at":"2010-08-06T18:48:02Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":270810,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:55:55Z","body":"I suggest in ofConstants.h replacing the definitions of these OF_IMAGE values:\r\n\r\n\t#define \tOF_IMAGE_GRAYSCALE\t\tGL_LUMINANCE\r\n\t#define \tOF_IMAGE_COLOR\t\t\tGL_RGB\r\n\t#define \tOF_IMAGE_COLOR_ALPHA\tGL_RGBA\r\n\t#define \tOF_IMAGE_UNDEFINED\t\tGL_NONE\r\n\r\nThis is a completely backward compatible change, but makes it more intuitive to allocate textures.\r\n\r\nYesterday I tried:\r\n\r\n\tofTexture tex;\r\n\ttex.allocate(w, h, OF_IMAGE_COLOR);\r\n\r\nAnd spent a few hours trying to figure out why my texture was grayscale :(","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/215","comments":2,"milestone":null,"number":215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/215","assignee":null,"title":"make OF_IMAGE constants compatible with GL constants","labels":[],"closed_at":"2011-03-13T19:55:55Z","created_at":"2010-08-05T21:53:45Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":270080,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T14:14:29Z","body":"When you call receiveRaw() you get whatever is in ofxTCPClient's internal tmpBuff, up to the first null, but the class gets its data from a method that reads bytes, not c strings - i.e. no null terminator, just an array of bytes and a length. So you just need to put the null in at the end.\r\n\r\nPatch below.\r\n\r\n string ofxTCPClient::receiveRaw(){\r\n messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\r\n if(messageSize==0){\r\n close();\r\n } else if(messageSize x + width && py > y + height ){\r\n\t\t return false;\r\n\t\t}\r\n\t\treturn true;\r\n\r\nshould be:\r\n\r\n\t\tif( px < x || py < y || px > x + width || py > y + height ){\r\n\t\t return false;\r\n\t\t}\r\n\t\treturn true;","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/211","comments":3,"milestone":null,"number":211,"html_url":"https://github.com/openframeworks/openFrameworks/issues/211","assignee":null,"title":"ofRectangle::inside has bad logic","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-09T20:56:23Z","created_at":"2010-07-21T14:38:46Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":255463,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T14:10:09Z","body":"ofBaseVideo inherits getPixels() from ofBaseHasPixels, but redeclares it anyway. the fix is as simple as removing this line from ofBaseVideo:\r\n\r\nvirtual unsigned char * getPixels()=0;","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/210","comments":1,"milestone":null,"number":210,"html_url":"https://github.com/openframeworks/openFrameworks/issues/210","assignee":null,"title":"ofBaseVideo redeclares getPixels()","labels":[],"closed_at":"2010-09-24T14:10:09Z","created_at":"2010-07-11T00:14:57Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":244074,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T14:08:23Z","body":"ofxCvContourFinder could do with a pushstyle/popstlye on it's draw:\r\n\r\n\r\n\tvoid ofxCvContourFinder::draw( float x, float y, float w, float h ) {\r\n\r\n\t\tofPushStyle();\r\n\t.\r\n\t.\r\n\t.\r\n\t\tofPopStyle();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/209","comments":1,"milestone":null,"number":209,"html_url":"https://github.com/openframeworks/openFrameworks/issues/209","assignee":null,"title":"ofxCvContourFinder's draw changes style","labels":[],"closed_at":"2010-09-24T14:08:23Z","created_at":"2010-07-10T15:20:54Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":243851,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T14:01:43Z","body":"Hey all\n\nThis might have already been spotted / fixed\n\nIt seems that if you've got bUseTexture to true in ofxCvImage, then it will still only update the texture when draw is called (which isn't entirely what you want if you want to draw the texture elsewhere without calling the draw command)\n\nanyway. might be good to change this in future releases if not already fixed\n\nto get around it myself, i moved the texture update from draw() into an update() function which is also called from draw() (so you dont need to call both update() and draw(), as before. but if you want to use the texture without calling draw, then you can use update to fill the texture).\n\nthe update could instead be called whenever the image is set\n\ncode below:\n\tvoid ofxCvImage::update()\n\t{\n\t\tif( bTextureDirty ) {\n\t\t\tif(tex.getWidth() != width || tex.getHeight() != height) {\n\t\t\t\t//ROI was changed\n\t\t\t\t// reallocating texture - this could be faster with ROI support\n\t\t\t\ttex.clear();\n\t\t\t\ttex.allocate( width, height, glchannels );\n\t\t\t}\n\t\t\ttex.loadData( getPixels(), width, height, glchannels );\n\t\t\tbTextureDirty = false;\n\t\t}\n\t}\n\n\t//--------------------------------------------------------------------------------\n\tvoid ofxCvImage::draw( float x, float y ) {\n\t\tdraw( x,y, width, height );\n\t}\n\n\t//--------------------------------------------------------------------------------\n\tvoid ofxCvImage::draw( float x, float y, float w, float h ) {\n\t\tif( bUseTexture ) {\n\t\t\tupdate();\n\t\t\t\n\t\t\ttex.draw(x,y, w,h);\n\t\t\t\n\t\t} else {\n\t\t\t..\n\t\t\t..\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/208","comments":1,"milestone":null,"number":208,"html_url":"https://github.com/openframeworks/openFrameworks/issues/208","assignee":null,"title":"ofxCvImage creates texture on draw","labels":[],"closed_at":"2010-09-24T14:01:43Z","created_at":"2010-07-10T15:18:18Z","state":"closed","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":243849,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-04T14:00:09Z","body":"I tested this with the pre3 0061 version.\r\nIn a screenshot this look odd since the negative part is cutted completely but the offset rises with a higher volume dynamically. Looks like a mixture of an AGC and a wrong data type.\r\n\r\nWith the build in microphone next to the wide connector the signal is as it should.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/207","comments":2,"milestone":null,"number":207,"html_url":"https://github.com/openframeworks/openFrameworks/issues/207","assignee":null,"title":"iphone input example: not symmetric for headset microphone input","labels":[],"closed_at":"2011-12-04T14:00:09Z","created_at":"2010-07-04T14:12:30Z","state":"closed","user":{"url":"https://api.github.com/users/fah","avatar_url":"https://secure.gravatar.com/avatar/c946a36b97631c842d9fbc54be476a7b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c946a36b97631c842d9fbc54be476a7b","login":"fah","id":322496},"id":238386,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T18:31:41Z","body":"If you have an ofImage which you have disabled texture loading on and resize it - it trys to allocate a texture.\r\n\r\n//fix is \r\n\tif (!( (width == w) && (height == h) && (type == newType) ) ){\r\n\t\tbool bCacheBUseTexture = bUseTexture; //new\r\n\t\tclear();\r\n\t\tbUseTexture = bCacheBUseTexture; //new\r\n\t\tallocate(w, h, newType);\r\n\t}\r\n\r\nNOTE: we should check ofImage.cpp for other instances.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/206","comments":1,"milestone":null,"number":206,"html_url":"https://github.com/openframeworks/openFrameworks/issues/206","assignee":null,"title":"Nasty ofImage bug - if you do resize(newWidth, newHeight) the call to clear() reset the bUseTextureFlag","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-24T18:31:41Z","created_at":"2010-06-20T20:02:19Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":226943,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T13:55:35Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/205","comments":1,"milestone":null,"number":205,"html_url":"https://github.com/openframeworks/openFrameworks/issues/205","assignee":null,"title":"Untitled","labels":[],"closed_at":"2010-09-24T13:55:35Z","created_at":"2010-06-20T04:47:51Z","state":"closed","user":{"url":"https://api.github.com/users/jadesoul","avatar_url":"https://secure.gravatar.com/avatar/1a124d165142f3fa684ac2485252ddda?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1a124d165142f3fa684ac2485252ddda","login":"jadesoul","id":278372},"id":226670,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-24T13:55:05Z","body":"requested by Pierre - needs win32 implementation.\n\n\n ////////////////////////////////////////////////////////////\n /// Wait until the thread finishes\n ////////////////////////////////////////////////////////////\n void ofxThread::waitForThread(){\n if (threadRunning)\n {\n // Wait for the thread to finish, no timeout\n pthread_join(myThread, NULL);\n \n if(verbose)printf(\"ofxThread: waiting for thread to stop\\n\");\n // Reset the thread state\n threadRunning = false;\n }\n }\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/204","comments":2,"milestone":null,"number":204,"html_url":"https://github.com/openframeworks/openFrameworks/issues/204","assignee":null,"title":"ofxThread - waitForThread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2010-09-24T13:55:05Z","created_at":"2010-06-17T13:12:20Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":224798,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-08T13:32:00Z","body":"vs complains about double to float conversion in much of the new ofRectangle functionality","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/203","comments":2,"milestone":null,"number":203,"html_url":"https://github.com/openframeworks/openFrameworks/issues/203","assignee":null,"title":"warnings on new code in ofTypes","labels":[],"closed_at":"2010-06-08T13:32:00Z","created_at":"2010-06-08T02:28:55Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":216589,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-12T02:47:41Z","body":"OF has no analog to the mousePressed or keyPressed variables in Processing that allow you to check for the mouse and keyboard state in the draw loop. This is further confused by the bMousePressed in ofAppRunner that is inaccessible in testApp.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/202","comments":6,"milestone":null,"number":202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/202","assignee":null,"title":"No mousePressed or keyPressed equivalent","labels":[],"closed_at":"2011-01-12T02:47:41Z","created_at":"2010-06-06T20:11:59Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":215619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T16:46:21Z","body":"videoInput has set and get methods for the camera parameters. It'd be great to have this in ofVideoGrabber and implemented across platforms. http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3330&p=21043","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/201","comments":5,"milestone":null,"number":201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/201","assignee":null,"title":"Multiplatform setVideoSettingCamera","labels":[],"closed_at":"2010-06-07T23:31:58Z","created_at":"2010-06-06T17:05:53Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":215504,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-19T00:40:05Z","body":"f) get addons up and running too (by making all addons, mirroring and then stripping out code we don't want)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/200","comments":0,"milestone":null,"number":200,"html_url":"https://github.com/openframeworks/openFrameworks/issues/200","assignee":null,"title":"addons for vs2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2010-09-19T00:40:05Z","created_at":"2010-06-01T13:29:41Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211420,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-19T00:40:05Z","body":"d) rename all vs2008 projects to have 2008 in the name and internally (it gets stripped out). I think this means all vs2008.slns internally too","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/198","comments":1,"milestone":null,"number":198,"html_url":"https://github.com/openframeworks/openFrameworks/issues/198","assignee":null,"title":"rename vs2008 project files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2010-09-19T00:40:05Z","created_at":"2010-06-01T13:27:21Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211414,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-19T00:40:05Z","body":"c) get compile all script to work (test that it works) and try all the basic examples","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/197","comments":1,"milestone":null,"number":197,"html_url":"https://github.com/openframeworks/openFrameworks/issues/197","assignee":null,"title":"vs2010 compile all script","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2010-09-19T00:40:05Z","created_at":"2010-06-01T13:26:26Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211412,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=32&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('content-length', '31552'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ab42387f005b2112009f4a20856e64c8"'), ('date', 'Tue, 29 May 2012 18:46:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2010-09-19T00:40:05Z","body":"b) check other libraries (vs2010 changed libraries at the moment are poco foundation and oscpack)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/196","comments":1,"milestone":null,"number":196,"html_url":"https://github.com/openframeworks/openFrameworks/issues/196","assignee":null,"title":"check other vs2010 libs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2010-09-19T00:40:05Z","created_at":"2010-06-01T13:25:56Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":211410,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-06-01T15:49:51Z","body":"a) compile all poco libraries to vs2010 (at the moment, only foundation is compiled to vs2010). I strongly think this is wrong. The question is do we upgrade poco or not? I've gotten both to compile on vs2010 but it took some real hacky things to get them up and running. At the moment, I've stuck with the old versions. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/195","comments":1,"milestone":null,"number":195,"html_url":"https://github.com/openframeworks/openFrameworks/issues/195","assignee":null,"title":"compile all poco libraries to vs2010 ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":"2010-06-01T15:49:51Z","created_at":"2010-06-01T13:24:40Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":211409,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-05-26T18:47:20Z","body":"\r\nIto and I just had that annoying path issue, where the app get's run at the wrong location. it was importing an old xcode project into a different version of xcode, and suddenly the working directory of the exe shifts. \r\n\r\nthis snippet seems to help -- specifically, \"_NSGetExecutablePath\" to get the actual path, then I strip off the file name and chdir there. \r\n\r\nmight be good to write some code to detect if we are properly running from within the bundle , and if not fix it in this way?\r\n\r\n #include \r\n\r\n void testApp::setup() {\r\n\t\r\n\tchar path[1024];\r\n\tuint32_t size = sizeof(path);\r\n\tif (_NSGetExecutablePath(path, &size) == 0){\r\n\t\tprintf(\"executable path is %s\\n\", path);\r\n\t\tstring pathStr = string(path);\r\n\t\tvector < string> pathBrokenUp = ofSplitString( pathStr, \"/\");\r\n\t\tstring newPath = \"/\";\r\n\t\tfor(int i = 0; i < pathBrokenUp.size()-1; i++){\r\n\t\t\tnewPath += pathBrokenUp[i];\r\n\t\t\tnewPath += \"/\";\r\n\t\t}\r\n\r\n\t\tcout << newPath << endl; // some sanity checks here\r\n\t\tsystem( \"pwd\" );\r\n\t\tchdir ( newPath.c_str() );\r\n\t\tsystem(\"pwd\");\r\n\t} else\r\n\t\tprintf(\"buffer too small; need size %u\\n\", size);\r\n\t","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/192","comments":1,"milestone":null,"number":192,"html_url":"https://github.com/openframeworks/openFrameworks/issues/192","assignee":null,"title":"xcode / mac paths issue, possible fix","labels":[],"closed_at":"2010-05-26T18:47:20Z","created_at":"2010-05-20T16:20:23Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":201814,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-09-24T13:20:29Z","body":"should be only in Release target","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/191","comments":2,"milestone":null,"number":191,"html_url":"https://github.com/openframeworks/openFrameworks/issues/191","assignee":null,"title":"remove -s flag in linux makefiles","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-09-24T13:20:29Z","created_at":"2010-05-20T11:10:35Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":201579,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-05-20T08:36:08Z","body":"The ofSoundStream.cpp function receiveAudioBufferAndCallSimpleApp will blank the input buffer before sending the ofEvent. This results in all ofEvents for audioReceived get a buffer of zeros.\n\nFixing it is as simple as removing the memset from the function:\nBefore:\n\tif (nInputChannels > 0){\n\t\t\n\t\tif( OFSAptr )\n\t\t\tOFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);\n\t\tmemset(fPtrIn, 0, bufferSize * nInputChannels * sizeof(float));\n\t\t#ifdef OF_USING_POCO\n\t\t\taudioEventArgs.buffer = fPtrIn;\n\t\t\taudioEventArgs.bufferSize = bufferSize;\n\t\t\taudioEventArgs.nChannels = nInputChannels;\n\t\t\tofNotifyEvent( ofEvents.audioReceived, audioEventArgs );\n\t\t#endif\n\t}\n\n\nAfter: Removed the memset fixes empty notifications.\n\tif (nInputChannels > 0){\n\t\t\n\t\tif( OFSAptr )\n\t\t\tOFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);\n\t\t#ifdef OF_USING_POCO\n\t\t\taudioEventArgs.buffer = fPtrIn;\n\t\t\taudioEventArgs.bufferSize = bufferSize;\n\t\t\taudioEventArgs.nChannels = nInputChannels;\n\t\t\tofNotifyEvent( ofEvents.audioReceived, audioEventArgs );\n\t\t#endif\n\t}\n\nNote! The if( OFSAptr ) line is added by me so creation of a sound system without an app wont cause a crash. There is an existing issue for this at: http://github.com/openframeworks/openFrameworks/issuesearch?state=open&q=receiveAudioBufferAndCallSimpleApp#issue/183","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/190","comments":2,"milestone":null,"number":190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/190","assignee":null,"title":"receiveAudioBufferAndCallSimpleApp blanks memory before event","labels":[],"closed_at":"2010-05-20T08:36:08Z","created_at":"2010-05-20T00:00:26Z","state":"closed","user":{"url":"https://api.github.com/users/fractaloop","gravatar_id":"aa8541e1bdd8a427f737cf36a983c817","login":"fractaloop","avatar_url":"https://secure.gravatar.com/avatar/aa8541e1bdd8a427f737cf36a983c817?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":223073},"id":201266,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-06-07T16:18:38Z","body":"Hi. I dont know / use git, so I cant make the change myself, but in ofx3DmodelLoader, mip map filtering on the MAG param is a glError, so rather than:\r\n\r\n glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);\r\n\r\n\r\n glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\r\n\r\nline 77 @ http://github.com/openframeworks/openFrameworks/blob/master/addons/ofx3DModelLoader/src/3DS/texture3DS.cpp sorry if this is the wrong way going about this :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/189","comments":2,"milestone":null,"number":189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/189","assignee":null,"title":"ofx3DmodelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-06-07T16:18:38Z","created_at":"2010-04-30T16:51:45Z","state":"closed","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":183917,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-09-24T13:16:43Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=5&t=3762&view=unread#unread","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/188","comments":1,"milestone":null,"number":188,"html_url":"https://github.com/openframeworks/openFrameworks/issues/188","assignee":null,"title":"linux videoplayer seems to have memory leaks","labels":[],"closed_at":"2010-09-24T13:16:43Z","created_at":"2010-04-27T21:04:15Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":181163,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-06-07T17:07:32Z","body":"fps can jump over 60fps when the app slows down due to heavy opengl\nmoving the sleeping code from idle to render callback fixes this - why? \nis this some hardware optimization / threading sort of thing? \n\nI have seen this on mac and pc:\n\n\n\tSteps to reproduce:\n\n\n\tTake the polygon example of 0061:\n\n\n\tadd to setup():\n\tofSetFrameRate(30);\n\n\n\tadd to draw():\n\n\n\tofSetColor(0x000000);\n\tofDrawBitmapString(ofToString(ofGetFrameRate()), 10, 20);\n\n\n\tfor(int i = 0; i < ofRandom(3, 50); i++){\n\n\n\n\n\t//--REST OF THE DRAW CODE\n\n\n\n\n\n\n\t}\n\n\n\n\n\tResults: you should see the fps hover between 29 and 38 ( depending on\n\tyour system ). \n\n\n\n\n\tFix?: Move this code in void ofAppGlutWindow::display(void)\n\tTo void ofAppGlutWindow::idle_cb(void) --> under the line: prevMillis\n\t= ofGetElapsedTimeMillis(); // you have to measure here\n\n\n\t// -------------- fps calculation:\n\t// theo - please don't mess with this without letting me know.\n\t// there was some very strange issues with doing ( timeNow-timeThen )\n\tproducing different values to: double diff = timeNow-timeThen;\n\t//\n\thttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=1892&p=11166#p11166\n\n\n\ttimeNow = ofGetElapsedTimef();\n\tdouble diff = timeNow-timeThen;\n\tif( diff > 0.00001 ){\n\tfps = 1.0 / diff;\n\tframeRate *= 0.9f;\n\tframeRate += 0.1f*fps;\n\t}\n\tlastFrameTime = diff;\n\ttimeThen = timeNow;\n\t // --------------\n\n\n\n\n\tResults: fps now reports between 25-30 fps as expected\n\n\n\tStrange huh?\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/187","comments":1,"milestone":null,"number":187,"html_url":"https://github.com/openframeworks/openFrameworks/issues/187","assignee":null,"title":"framerate issue when ofSetFrameRate or ofSetVerticalSync is on ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-06-07T17:07:32Z","created_at":"2010-04-26T22:02:15Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":180339,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-06-07T16:12:09Z","body":"Not sure if this is the final fix - but we should look into it:\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=19340#p19340","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/186","comments":2,"milestone":null,"number":186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/186","assignee":null,"title":"serial bug for snow leopard / 10.6.2","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-06-07T16:12:09Z","created_at":"2010-04-26T13:34:13Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":179937,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-07-03T08:16:28Z","body":"hi!\nin addition to this thread : http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=2233\n\nIt looks like this function can crash the application :\n\tvoid ofSoundStreamSetup(int nOutputChannels, int nInputChannels, int sampleRate, int bufferSize, int nBuffers);\n\nI had to change the line 36 of ofSoundStream.cpp from : \n\tOFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);\n\nto\n\n\tif(OFSAptr != NULL) OFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/185","comments":1,"milestone":null,"number":185,"html_url":"https://github.com/openframeworks/openFrameworks/issues/185","assignee":null,"title":"ofSoundStreamSetup with ofBaseApp == NULL","labels":[],"closed_at":"2010-07-03T08:16:28Z","created_at":"2010-04-26T10:29:48Z","state":"closed","user":{"url":"https://api.github.com/users/kikko","gravatar_id":"035cbd6b9548954a83479230633ca398","login":"kikko","avatar_url":"https://secure.gravatar.com/avatar/035cbd6b9548954a83479230633ca398?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144372},"id":179871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T03:11:27Z","body":"As far as I know, this is the most recent revision of the addon:\r\n\r\nhttp://kyle.googlecode.com/files/ofxCvHaarFinder.zip","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/184","comments":2,"milestone":null,"number":184,"html_url":"https://github.com/openframeworks/openFrameworks/issues/184","assignee":null,"title":"ofxOpenCv needs ofxCvHaarFinder","labels":[],"closed_at":"2011-01-14T03:11:27Z","created_at":"2010-04-21T17:08:57Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":176681,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-09-24T13:14:57Z","body":"If ofSoundStream is created using:\nvoid ofSoundStreamSetup(int nOutputChannels, int nInputChannels, int sampleRate, int bufferSize, int nBuffers);\nthen OFSAptr is never set.\n\nDuring the loop, receiveAudioBufferAndCallSimpleApp is called. It does not check for a null pointer before OFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);\n\nSuggested fix:\n if( OFSAptr )\n OFSAptr->audioReceived(fPtrIn, bufferSize, nInputChannels);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/183","comments":1,"milestone":null,"number":183,"html_url":"https://github.com/openframeworks/openFrameworks/issues/183","assignee":null,"title":"ofSoundStream crashes if not initialized with ofBaseApp","labels":[],"closed_at":"2010-09-24T13:14:57Z","created_at":"2010-04-17T21:49:30Z","state":"closed","user":{"url":"https://api.github.com/users/fractaloop","gravatar_id":"aa8541e1bdd8a427f737cf36a983c817","login":"fractaloop","avatar_url":"https://secure.gravatar.com/avatar/aa8541e1bdd8a427f737cf36a983c817?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":223073},"id":173991,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T19:48:41Z","body":"This is a feature request.\n\nCurrently ofVideoPlayer only supports one decoding system per platform.\n\nIdeally it would support various implementations using a pluggable factory design. This would extend ofVideoPlayer to support DirectShow, Theora, and a host of others implemented as one interface.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/180","comments":0,"milestone":null,"number":180,"html_url":"https://github.com/openframeworks/openFrameworks/issues/180","assignee":null,"title":"ofVideoPlayer restructured for plug-in support","labels":[],"closed_at":"2011-03-13T19:48:41Z","created_at":"2010-04-11T22:12:55Z","state":"closed","user":{"url":"https://api.github.com/users/fractaloop","gravatar_id":"aa8541e1bdd8a427f737cf36a983c817","login":"fractaloop","avatar_url":"https://secure.gravatar.com/avatar/aa8541e1bdd8a427f737cf36a983c817?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":223073},"id":169482,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-10-05T13:11:59Z","body":"\r\nas we move old projects to 10.6 / latest xcode gcc you can get hundreds and hundreds of warnings (2000+) from fmod. \r\n\r\nhttp://stackoverflow.com/questions/59670/how-to-get-rid-of-deprecated-conversion-from-string-constant-to-char-warning\r\n\r\niwe should disable this warning as compiler flag or pragma, so that switching between gcc versions is less painful. \r\n\r\n- z\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/179","comments":5,"milestone":null,"number":179,"html_url":"https://github.com/openframeworks/openFrameworks/issues/179","assignee":null,"title":"xcode - deprecated conversion from string constant to 'char*' ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2010-10-05T13:11:59Z","created_at":"2010-04-11T11:19:26Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":169193,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T00:31:14Z","body":"lets add \r\n\r\ncropping...\r\nand image conversions. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/177","comments":3,"milestone":null,"number":177,"html_url":"https://github.com/openframeworks/openFrameworks/issues/177","assignee":null,"title":"ofImage Features ","labels":[],"closed_at":"2011-01-16T00:31:14Z","created_at":"2010-04-10T01:51:49Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":168548,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T19:18:34Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/176","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":176,"html_url":"https://github.com/openframeworks/openFrameworks/issues/176","assignee":null,"title":"example packs - opencv motion detection etc. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-02T19:18:34Z","created_at":"2010-04-06T19:44:55Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":166215,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-17T09:18:48Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/170","comments":2,"milestone":null,"number":170,"html_url":"https://github.com/openframeworks/openFrameworks/issues/170","assignee":null,"title":"opengl hardware test example","labels":[],"closed_at":"2011-10-17T09:18:48Z","created_at":"2010-04-06T19:38:19Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":166206,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T00:47:42Z","body":"when creating copying textures the actual texture in the graphics card is deleted when one of the copies is destroyed. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/169","comments":1,"milestone":null,"number":169,"html_url":"https://github.com/openframeworks/openFrameworks/issues/169","assignee":null,"title":"copy constructor for textures","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-16T00:47:42Z","created_at":"2010-04-06T15:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":166053,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-09-10T09:23:08Z","body":" is included by default, which is helpful for doing C++ style string creation.\n\nC++ style file i/o would be nice too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/168","comments":0,"milestone":null,"number":168,"html_url":"https://github.com/openframeworks/openFrameworks/issues/168","assignee":null,"title":" included by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-09-10T09:23:08Z","created_at":"2010-04-06T14:41:49Z","state":"closed","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":166005,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-04-26T20:25:38Z","body":"you need to add if(dir != NULL) closedir(dir); after the while loop (line 142)\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=2055","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/166","comments":2,"milestone":null,"number":166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/166","assignee":null,"title":"ofxDirList maxes out","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:25:38Z","created_at":"2010-04-06T12:09:43Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":165893,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T00:47:20Z","body":"1) load and save raw bytes\r\n2) file move, rename, delete ( theo - I have this code ) \r\n3) file dialogs? ofxFileDialog? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/165","comments":4,"milestone":null,"number":165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/165","assignee":null,"title":"file tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T00:47:20Z","created_at":"2010-04-06T12:08:53Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":165891,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-16T00:05:15Z","body":"at very least maybe then a file downloader - finally use that Poco?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/164","comments":4,"milestone":null,"number":164,"html_url":"https://github.com/openframeworks/openFrameworks/issues/164","assignee":null,"title":"load file from web for ofimage / xml ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T00:05:15Z","created_at":"2010-04-06T12:07:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":165889,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-04-26T20:27:25Z","body":"ofxDirList fix:\r\n\r\nyou need to add if(dir != NULL) closedir(dir); after the while loop (line 142)\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=2055","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/163","comments":1,"milestone":null,"number":163,"html_url":"https://github.com/openframeworks/openFrameworks/issues/163","assignee":null,"title":"ofxDirList max reads","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:27:25Z","created_at":"2010-04-05T22:03:42Z","state":"closed","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":165549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-06T15:11:12Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/162","comments":1,"milestone":null,"number":162,"html_url":"https://github.com/openframeworks/openFrameworks/issues/162","assignee":null,"title":"all color functions to take ofColor arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-11-06T15:11:12Z","created_at":"2010-04-05T21:44:38Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":165541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-19T08:05:08Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3444&hilit=ofxSoundStream\r\n\r\nthis will allow to use several devices at the same time. although it can just stay as an addon and just add some function to select which device you want to use. right now you need to change the core code to select a different device than the default one","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/161","comments":1,"milestone":null,"number":161,"html_url":"https://github.com/openframeworks/openFrameworks/issues/161","assignee":null,"title":"make ofSoundStream a class","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-19T08:05:08Z","created_at":"2010-04-05T21:43:14Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":165539,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=33&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '30206'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"d7beb767269c6f25493ac5a42cfb2f67"'), ('date', 'Tue, 29 May 2012 18:46:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-03-13T19:43:17Z","body":"this can be a different version of the functions, and be used by the opengl ones. can help to abstract the opengl calls for the swappable renderer. also useful with ofShape or ofVertexes and more performance than calculating the vertexes each update","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/159","comments":1,"milestone":null,"number":159,"html_url":"https://github.com/openframeworks/openFrameworks/issues/159","assignee":null,"title":"have primitive drawing functions in ofGraphics return the vertexes?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T19:43:17Z","created_at":"2010-04-05T21:36:34Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165536,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-09T01:06:30Z","body":"This would mean dropping support for 10.4 users. \r\nIs the future though!\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=19222#p19222","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/158","comments":3,"milestone":null,"number":158,"html_url":"https://github.com/openframeworks/openFrameworks/issues/158","assignee":null,"title":"QTKit -> replace Quicktime ? ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-09T01:06:30Z","created_at":"2010-04-05T19:10:02Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165429,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T03:58:25Z","body":"being able to have multiple classes receive the callback for a sound output and mix into the buffer instead of replacing it. ( ie more how an OS audio system works ) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/157","comments":2,"milestone":null,"number":157,"html_url":"https://github.com/openframeworks/openFrameworks/issues/157","assignee":null,"title":"audio output mixer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T03:58:25Z","created_at":"2010-04-05T18:57:42Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165421,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-11-09T23:06:12Z","body":"a la ofxVideoGrabber","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/156","comments":1,"milestone":null,"number":156,"html_url":"https://github.com/openframeworks/openFrameworks/issues/156","assignee":null,"title":"swappable video grabber?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-11-09T23:06:12Z","created_at":"2010-04-05T18:56:00Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:42:04Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/155","comments":0,"milestone":null,"number":155,"html_url":"https://github.com/openframeworks/openFrameworks/issues/155","assignee":null,"title":"swappable sound api?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T19:42:04Z","created_at":"2010-04-05T18:55:48Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165417,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-11-09T23:06:12Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/154","comments":1,"milestone":null,"number":154,"html_url":"https://github.com/openframeworks/openFrameworks/issues/154","assignee":null,"title":"swappable video player?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-11-09T23:06:12Z","created_at":"2010-04-05T18:55:36Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165415,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:42:12Z","body":"Theo: I have this code to a certain extent\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/152","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/152","assignee":null,"title":"depth testing / sorting for png textures ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":"2011-12-02T19:42:12Z","created_at":"2010-04-05T18:48:23Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165408,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:10:11Z","body":"http://users.design.ucla.edu/~acolubri/processing/glgraphics/home/\r\nport?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/151","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/151","assignee":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"title":"look at GLGraphics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2012-02-27T13:10:11Z","created_at":"2010-04-05T18:47:37Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165407,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-10T15:35:32Z","body":"( from our wish list )\r\n\r\nShaders\r\nVolumetric lighting\r\nGood stuff\r\nping pong\r\nblur and glow\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/150","comments":1,"milestone":null,"number":150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/150","assignee":null,"title":"Shaders in core","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-10T15:35:32Z","created_at":"2010-04-05T18:46:27Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165403,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-10T15:35:32Z","body":"make it core, make it dope!\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3143&hilit=fbo&start=15","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/149","comments":5,"milestone":null,"number":149,"html_url":"https://github.com/openframeworks/openFrameworks/issues/149","assignee":null,"title":"ofFBOTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-10T15:35:32Z","created_at":"2010-04-05T18:45:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165402,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T00:46:20Z","body":"Collada is dope - but might be too heavy?\r\nThere is OBJ out there that handles textures - ask Keith?\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/148","comments":10,"milestone":null,"number":148,"html_url":"https://github.com/openframeworks/openFrameworks/issues/148","assignee":null,"title":"better 3D model loader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T08:46:19Z","created_at":"2010-04-05T18:44:44Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165400,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:44:31Z","body":"allows for tessellation, caching etc\npossibly auto tex coords based on bounding box?\ntex coords and color arrays\nmake shader friendly!\n\nnotes from:\nhttp://wiki.openframeworks.cc/index.php?title=3D_WishList\n\nofPolygonFace? ie: ofPolygon made up of ofPolygonFace - then you could do stuff like shatter where a polygon brekas up into parts.\nofPolygonVertex (same as above) break a face up into vertexes or a polygon to vertexes directly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/147","comments":1,"milestone":null,"number":147,"html_url":"https://github.com/openframeworks/openFrameworks/issues/147","assignee":null,"title":"ofShape object","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T19:44:31Z","created_at":"2010-04-05T18:42:28Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165398,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-14T20:45:28Z","body":"ofBeginShape();\r\nofVertexes(myArray); \r\nofEndShape()\r\n\r\ncould be combines with tex cords or color arrays?\r\n\r\nofBeginShape();\r\nofVertexes(myArray); \r\nofTextureCoordinates(myTexArray);\r\nofEndShape()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/146","comments":2,"milestone":null,"number":146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/146","assignee":null,"title":"ofBeginShape / EndShape to take vector?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-14T16:09:50Z","created_at":"2010-04-05T18:41:02Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165397,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-11-06T15:11:12Z","body":"ie: ofCircle(myPt, 20); \r\nofLine(my3DPt1, my3DPt2); \r\nofTriangle(pt1, pt2, pt3);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/145","comments":3,"milestone":null,"number":145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/145","assignee":null,"title":"ofRect, ofTriangle etc to take ofPoint arguments ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-11-06T15:11:12Z","created_at":"2010-04-05T18:40:02Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165396,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-11-06T15:11:12Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/144","comments":3,"milestone":null,"number":144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/144","assignee":null,"title":"all ofGraphics to have z = 0 ) argument?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-11-06T15:11:12Z","created_at":"2010-04-05T18:38:04Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165394,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T00:45:36Z","body":"Multiple lights\r\nDifferent types\r\nPosition\r\nDirection\r\nTweening\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/143","comments":1,"milestone":null,"number":143,"html_url":"https://github.com/openframeworks/openFrameworks/issues/143","assignee":null,"title":"lighting - basic lighting for 3D","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T00:45:36Z","created_at":"2010-04-05T18:37:40Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165393,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T00:44:56Z","body":"should be abstracted along with swappable render - THEO: \"I have most of below from Rise & Fall project\". \n\nCamera:\n\nSet origin\nReset view\nPosition\nLookAt\nTweening\nFOV\nclip plane (near and far)\ndebug grid (like graph paper) shows origin and coordinate system - so you know which way you are facing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/142","comments":2,"milestone":null,"number":142,"html_url":"https://github.com/openframeworks/openFrameworks/issues/142","assignee":null,"title":"opengl camera control","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T00:44:56Z","created_at":"2010-04-05T18:35:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165391,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T19:41:53Z","body":"abstract all opengl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/141","comments":1,"milestone":null,"number":141,"html_url":"https://github.com/openframeworks/openFrameworks/issues/141","assignee":null,"title":"swappable render","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-03-13T19:41:53Z","created_at":"2010-04-05T18:34:27Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165390,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:13:26Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?p=19156&#p19156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/139","comments":1,"milestone":null,"number":139,"html_url":"https://github.com/openframeworks/openFrameworks/issues/139","assignee":null,"title":"ofxDirList bug with empty paths","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:13:26Z","created_at":"2010-04-02T17:07:49Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":163886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:27:25Z","body":"\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=19093&#p19093","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/138","comments":2,"milestone":null,"number":138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/138","assignee":null,"title":"ofEventUtils missing include guard or #pragma once","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:27:25Z","created_at":"2010-03-30T10:40:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":161526,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T16:06:43Z","body":"enables 0.0-1.0 for both ARB and regular.\r\n\r\nhttp://github.com/memo/openFrameworks/commit/fdcb83e91cb8030898da72fb4652b55ea1924fe4\r\n( for iphone ) http://github.com/memo/openFrameworks/commit/601ff6fede8393868e49d5244dee6b74f65690a2","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/137","comments":1,"milestone":null,"number":137,"html_url":"https://github.com/openframeworks/openFrameworks/issues/137","assignee":null,"title":"ofEnableNormalizedTexCoords ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T16:06:43Z","created_at":"2010-03-23T14:20:55Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":156852,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-08-27T22:48:05Z","body":"Two requests regarding keyPressed() / keyReleased():\r\n1) It would be very convenient if those functions had an extra bitfield argument to indicate modifier state; e.g.:\r\nenum KEY_MODIFIER {\r\n KEY_SHIFT = 1 << 0,\r\n KEY_CTRL = 1 << 1,\r\n /* etc. */\r\n};\r\n\r\n2) Have the functions return a bool, so they can easily be chained without multiple objects handling the same keyboard event; this goes for mouse events as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/136","comments":2,"milestone":null,"number":136,"html_url":"https://github.com/openframeworks/openFrameworks/issues/136","assignee":null,"title":"change of keyPressed/keyReleased functions","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-08-27T22:48:05Z","created_at":"2010-03-19T00:42:20Z","state":"closed","user":{"url":"https://api.github.com/users/woutgg","avatar_url":"https://secure.gravatar.com/avatar/4903b31ae1bfc8ffc90d70fe265d6a4f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4903b31ae1bfc8ffc90d70fe265d6a4f","login":"woutgg","id":45257},"id":154058,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-09T15:05:22Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/135","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":135,"html_url":"https://github.com/openframeworks/openFrameworks/issues/135","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofImage::grabScreen doesn't work on iPhone","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":"2012-03-09T15:05:22Z","created_at":"2010-03-18T15:53:25Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":153744,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-10-05T12:55:53Z","body":"On a little-endian machine (macbook4.1), resizing an ofImage loaded from an RGB+alpha (8bit per channel) PNG file yields an image with the color channels inversed.\r\nWhen the line 'if (pix.bytesPerPixel != 1) swapRgb(pix);' (ofImage.cpp#430) is disabled, everything works properly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/134","comments":3,"milestone":null,"number":134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/134","assignee":null,"title":"ofImage resize reverses colors","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-10-05T12:55:53Z","created_at":"2010-03-07T16:15:30Z","state":"closed","user":{"url":"https://api.github.com/users/woutgg","avatar_url":"https://secure.gravatar.com/avatar/4903b31ae1bfc8ffc90d70fe265d6a4f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4903b31ae1bfc8ffc90d70fe265d6a4f","login":"woutgg","id":45257},"id":146251,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:53:45Z","body":"\r\nI found a bug in the v0.61 with the ofSerial function setup(int deviceNumber, int baud).\r\n\r\nofSerial.cpp, line 274 :\r\nif( str.substr(0,3) == \"cu.\" || str.substr(0,3) == \"tty\" || str.substr(0,3) == \"rfc\" ){\r\n\r\ntr.substr(0,3) == \"tty\" matches all the pseudo terminal devices of the dev folder (ttyxx) where it should only find the tty.something real physical devices (at least on osx). And the enumerateDevices() function doesn't look for tty string but only for cu., so the device list it returns don't match with the setup function.\r\n\r\nThe code should be tr.substr(0,4) == \"tty.\" or only str.substr(0,3) == \"cu.\" like in of V0.60 \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=18237&#p18237","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/133","comments":1,"milestone":null,"number":133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/133","assignee":null,"title":"ofSerial v0.061 bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:53:45Z","created_at":"2010-03-02T01:09:20Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":142831,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=34&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '32810'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"65895bac8c389fdb8db462c57279b271"'), ('date', 'Tue, 29 May 2012 18:46:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2010-06-07T16:06:02Z","body":"need getters to know if a movie is playing, if it paused, started etc\r\n\r\n\t\tbool \t\t\t\tbStarted;\r\n\t\tbool \t\t\t\tbPlaying;\r\n\t\tbool \t\t\t\tbPaused;","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/132","comments":1,"milestone":null,"number":132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/132","assignee":null,"title":"ofVideoPlayer missing getters for important stuff!","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T16:06:02Z","created_at":"2010-02-21T16:10:01Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"id":137016,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T16:05:41Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/131","comments":4,"milestone":null,"number":131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/131","assignee":null,"title":"ofVideoPlayer setLoopState(OF_LOOP_NONE) doesn't work in 0061","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-06-07T16:05:41Z","created_at":"2010-02-21T16:08:11Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"id":137014,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-02-15T22:54:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=2233&p=17903#p17903","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/130","comments":1,"milestone":null,"number":130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/130","assignee":null,"title":"order of soundstream events clean buffer is wrong","labels":[],"closed_at":"2010-02-15T22:54:52Z","created_at":"2010-02-15T22:48:39Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":133509,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T22:12:02Z","body":"i tried to start an example app through codeblocks.\n\nit couldn't be started because xterm was missing. this should be added to the install scripts.\n\ni tried this on fedora12 32bit with the master branch from here. i don't have the possibility to test it with other distributions, so i don't know if this problem exists on other install scripts.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/129","comments":2,"milestone":null,"number":129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/129","assignee":null,"title":"Linux Scripts - missing dependencies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T22:12:02Z","created_at":"2010-02-14T23:40:35Z","state":"closed","user":{"url":"https://api.github.com/users/benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513},"id":132913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-01T20:20:09Z","body":"\r\nin recent workshops, I've noticed that ofEnableAlphaBlending() is confusing for beginners. \r\nam wondering if we should try just enabling alpha blending by default ? advanced users can turn it off for speed, but the plus would be ofSetColor(r,g,b,a) just working by default.....\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/127","comments":3,"milestone":null,"number":127,"html_url":"https://github.com/openframeworks/openFrameworks/issues/127","assignee":null,"title":"enable alpha blending by default?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-10-05T13:06:46Z","created_at":"2010-02-13T14:47:07Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":132383,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-23T22:06:19Z","body":"Useful with the lerp radians / lerp degrees.\nStill not 100% if this is the perfect solution though - should test this and lerpDegrees for correct behavior. \n\n\t//------------------------------\n\t//------------------------------\n\tstatic float ofAngleDifferenceDegrees(float currentAngle, float targetAngle) {\n\t\tfloat diff = targetAngle - currentAngle;\n\t\twhile(diff > 180.0f) diff -= 360.0f;\n\t\twhile(diff < -180.0f) diff += 360.0f;\n\t\treturn diff;\n\t}\n\n\t//------------------------------\n\t//------------------------------\n\tstatic float ofAngleDifferenceRadians(float currentAngle, float targetAngle, float pct) {\n\t\tfloat diff = targetAngle - currentAngle;\n\t\twhile(diff > PI) diff -= TWO_PI;\n\t\twhile(diff < -PI) diff += TWO_PI;\n\t\treturn diff;\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/125","comments":1,"milestone":null,"number":125,"html_url":"https://github.com/openframeworks/openFrameworks/issues/125","assignee":null,"title":"ofAngleDifferenceDegrees / ofAngleDifferenceRadians ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-05-23T22:06:19Z","created_at":"2010-02-13T14:17:13Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"id":132374,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-02-13T14:28:34Z","body":"super useful for time based animations","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/123","comments":2,"milestone":null,"number":123,"html_url":"https://github.com/openframeworks/openFrameworks/issues/123","assignee":null,"title":"add a ofGetLastFrameTime function","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2010-02-13T14:28:34Z","created_at":"2010-02-12T00:50:11Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":131299,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-09-25T18:53:38Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=3214&p=17767#p17767\r\n\r\nwe can check errno and print an error message in case something goes wrong.\r\n\r\ncheck how to know if it's returning -1 because there's nothing to receive or because there's actually some error in the connection.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/122","comments":1,"milestone":null,"number":122,"html_url":"https://github.com/openframeworks/openFrameworks/issues/122","assignee":null,"title":"check what has been wrong on error network receive, send...","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-09-25T18:53:38Z","created_at":"2010-02-11T23:14:05Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":131229,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:42:24Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=3275","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/120","comments":1,"milestone":null,"number":120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/120","assignee":null,"title":"ofxCvFloatImage *= operator rounding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:42:24Z","created_at":"2010-02-08T14:14:43Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"id":128045,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:33:05Z","body":"Lines 72 and 73 of ofxCVContourFinder are\r\n\r\ninputCopy = input;\r\ninputCopy.setROI( input.getROI() );\r\n\r\nbut now in of0061 the '=' copy will fail if the ROIs are not the same. so the lines either need to be swapped or a change in ROI be made explicit (its a performance tweak by the looks of it).\r\n\r\n...i think. ymmv: first oF post so i may have things backwards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/119","comments":1,"milestone":null,"number":119,"html_url":"https://github.com/openframeworks/openFrameworks/issues/119","assignee":null,"title":"ofxCVContourFinder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:33:05Z","created_at":"2010-02-05T15:23:26Z","state":"closed","user":{"url":"https://api.github.com/users/tobyspark","avatar_url":"https://secure.gravatar.com/avatar/679ba099805997e32f7091b1f67a17ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"679ba099805997e32f7091b1f67a17ce","login":"tobyspark","id":197773},"id":126409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-02-03T08:34:25Z","body":"Hi,\r\n\r\nThe installation script scripts/linux/ubuntu/install_dependencies.sh has a buggy line:\r\n\r\nchown -R $ID:$ID obj ../../lib/linux64/*\r\n\r\nInstead, it must be replaced with the next line:\r\n\r\nchown -R $ID:$ID obj ../../lib/$LIBSPATH/*\r\n\r\nI patched it. You can fetch it from http://github.com/onurgu/openFrameworks/commit/febf059a55dc79f4ca784332d8024b9d3e521db9\r\n\r\nActually I don't know you can merge it easily with the master.\r\n\r\nI must say that I am a newbie to both git and github.\r\n\r\nBy the way, I would be more than happy if you can point me to any text about development practices that you follow while developing openframeworks.\r\n\r\nThanks,\r\nOnur\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/118","comments":1,"milestone":null,"number":118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/118","assignee":null,"title":"Buggy Installation Script - Ubuntu Linux - Incomplete Architecture Detection","labels":[],"closed_at":"2010-02-03T08:34:25Z","created_at":"2010-01-25T14:38:47Z","state":"closed","user":{"url":"https://api.github.com/users/onurgu","avatar_url":"https://secure.gravatar.com/avatar/05184c7ef9e65553ad02716783cc43e8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"05184c7ef9e65553ad02716783cc43e8","login":"onurgu","id":56893},"id":119422,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-16T00:27:21Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=6&t=2616&view=unread#unread\r\n\r\ncmd-q/alt-f4 can be surely be disabled by capturing some os interruption\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/117","comments":3,"milestone":null,"number":117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/117","assignee":null,"title":"veto esc key cmd-q/alt-f4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-16T00:27:21Z","created_at":"2010-01-14T13:02:33Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":112749,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-27T21:38:19Z","body":"\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16844&#p16844","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/116","comments":1,"milestone":null,"number":116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/116","assignee":null,"title":"getStringBoundingBox multiline crash: ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-27T21:38:19Z","created_at":"2010-01-13T01:50:51Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":111750,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-01-15T04:51:12Z","body":"\r\nthere is some good serial code here: \r\n\r\nhttp://zambetti.com/projects/seriality/\r\n\r\nwhich points to simple ways to find the best ports on mac (always a pain at the moment, to find out since they change as you swap devices, are autogenerated, etc):\r\n\r\nvoid Seriality::refreshPorts()\r\n{\r\n\tchar* command = \"ls /dev/tty.*\";\r\n\tchar line[128];\r\n\tFILE* pipe;\r\n\r\n\twhile (!ports_.empty()) {\r\n\t ports_.pop_back();\r\n\t}\r\n\r\n\tif (!(pipe = (FILE*)popen(command,\"r\"))) {\r\n\t return;\r\n\t}\r\n\r\n\twhile (fgets(line, sizeof line, pipe)) {\r\n\t if ('\\n' == line[strlen(line) - 1]) {\r\n\t line[strlen(line) - 1] = '\\0';\r\n\t }\r\n\t if (NULL == strstr(line, \"usbserial\")) {\r\n\t ports_.push_back(line);\r\n\t }\r\n\t else {\r\n\t ports_.insert(ports_.begin(), line);\r\n\t }\r\n\t}\r\n\r\n\tpclose(pipe);\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/114","comments":1,"milestone":null,"number":114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/114","assignee":null,"title":"ofSerial - find mac ports more automatically","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2011-01-15T04:51:12Z","created_at":"2010-01-10T02:28:19Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":109929,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-01T06:41:18Z","body":"\r\nI think most ofxFboTextures floating around will break because of: \r\n\r\n glGenTextures(1, (GLuint *)texData.textureName); // could be more then one, but for now, just one\r\n glBindTexture(texData.textureTarget, (GLuint)texData.textureName[0]);\r\n\r\nneed to be written with \"textureID\"... we should be sure to update ofxFboTexture ASAP. \r\n\r\n(I'm working on FBO and shader stuff now, will open up a branch soon)\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/113","comments":2,"milestone":null,"number":113,"html_url":"https://github.com/openframeworks/openFrameworks/issues/113","assignee":null,"title":"the removal of the textureData.textureName breaks ofxFBOtexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-01-16T00:03:54Z","created_at":"2010-01-06T21:11:14Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":107934,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T19:01:53Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?p=16600&#p16600","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/112","comments":1,"milestone":null,"number":112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/112","assignee":null,"title":"absolute paths broken in 0061?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T19:01:53Z","created_at":"2010-01-06T11:07:25Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","id":142866},"id":107449,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:27:25Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=18&t=3093&view=unread#unread","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/111","comments":1,"milestone":null,"number":111,"html_url":"https://github.com/openframeworks/openFrameworks/issues/111","assignee":null,"title":"problems with gcc 4.4 on windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:27:25Z","created_at":"2010-01-06T00:14:22Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":107250,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:27:25Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?p=16600&#p16600","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/110","comments":1,"milestone":null,"number":110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/110","assignee":null,"title":"ofToDataPath absolute paths on osx seem broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:27:25Z","created_at":"2010-01-05T23:34:48Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":107220,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T20:27:25Z","body":"missing the new additions of ofxQuarternion and ofxMatrix4x4\r\n\r\n\t\r\n\t\t../../../addons/ofxVectorMath/src/ofxMatrix3x3.h\r\n\t\t../../../addons/ofxVectorMath/src/ofxVec2f.h\r\n\t\t../../../addons/ofxVectorMath/src/ofxVec3f.h\r\n\t\t../../../addons/ofxVectorMath/src/ofxVec4f.h\r\n\t\t../../../addons/ofxVectorMath/src/ofxMatrix3x3.cpp\r\n\t\t../../../addons/ofxVectorMath/src/ofxVectorMath.h\r\n\t\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/109","comments":1,"milestone":null,"number":109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/109","assignee":null,"title":"ofxVectorMath - install.xml is out of date","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T20:27:25Z","created_at":"2010-01-04T12:06:10Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":106072,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T15:41:27Z","body":"also, maybe we should add curve tightness ala p5?\n\n\tofPoint bezierPoint( ofPoint a, ofPoint b, ofPoint c, ofPoint d, float t){\n\t\tfloat tp = 1.0 - t;\n\t\treturn a*tp*tp*tp + b*3*t*tp*tp + c*3*t*t*tp + d*t*t*t;\n\t}\n\n\tofPoint curvePoint( ofPoint a, ofPoint b, ofPoint c, ofPoint d, float t){\n\t\t\n\t\tofPoint pt;\n\t\tfloat t2 = t * t;\n\t\tfloat t3 = t2 * t;\n\t\tpt.x = 0.5f * ( ( 2.0f * b.x ) +\n\t\t\t\t\t ( -a.x + c.x ) * t +\n\t\t\t\t\t ( 2.0f * a.x - 5.0f * b.x + 4 * c.x - d.x ) * t2 +\n\t\t\t\t\t ( -a.x + 3.0f * b.x - 3.0f * c.x + d.x ) * t3 );\n\t\tpt.y = 0.5f * ( ( 2.0f * b.y ) +\n\t\t\t\t\t ( -a.y + c.y ) * t +\n\t\t\t\t\t ( 2.0f * a.y - 5.0f * b.y + 4 * c.y - d.y ) * t2 +\n\t\t\t\t\t ( -a.y + 3.0f * b.y - 3.0f * c.y + d.y ) * t3 );\n\t\treturn pt;\n\t}\n\n\tofPoint bezierTangent( ofPoint a, ofPoint b, ofPoint c, ofPoint d, float t){\n\t\treturn (d-a-c*3+b*3)*(t*t)*3 + (a+c-b*2)*t*6 - a*3+b*3;\n\t}\n\n\tofPoint curveTangent( ofPoint a, ofPoint b, ofPoint c, ofPoint d, float t){\n\t\tofPoint v0 = ( c - a )*0.5;\n\t\tofPoint v1 = ( d - b )*0.5;\n\t\treturn ( b*2 -c*2 + v0 + v1)*(3*t*t) + ( c*3 - b*3 - v1 - v0*2 )*( 2*t) + v0;\n\t\t\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/108","comments":1,"milestone":null,"number":108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/108","assignee":null,"title":"curvePoint, bezierPoint, curveTangent, bezierTangent...","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T15:41:27Z","created_at":"2010-01-01T23:47:41Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":105124,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T15:40:07Z","body":"more poly utils : )\n\nit's indeed LineSegmentCross and LineSegmentIntersection:\n\nbool LineCross(ofPoint Line1Start, ofPoint Line1End, ofPoint Line2Start, ofPoint Line2End){\n ofPoint diffLA, diffLB;\n float compareA = 0, compareB = 0;\n bool result = false;\n diffLA = Line1End - Line1Start;\n diffLB = Line2End - Line2Start;\n compareA = diffLA.x*Line1Start.y - diffLA.y*Line1Start.x;\n compareB = diffLB.x*Line2Start.y - diffLB.y*Line2Start.x;\n if (\n \t(\n \t\t( ( diffLA.x*Line2Start.y - diffLA.y*Line2Start.x ) < compareA ) xor\n \t\t( ( diffLA.x*Line2End.y - diffLA.y*Line2End.x ) < compareA )\n \t) and\n \t(\n \t\t( ( diffLB.x*Line1Start.y - diffLB.y*Line1Start.x ) < compareB ) xor\n \t\t( ( diffLB.x*Line1End.y - diffLB.y*Line1End.x) < compareB )\n \t)\n ) result = true;\n\n return result;\n}\n\nofPoint LineIntersection(ofPoint Line1Start, ofPoint Line1End, ofPoint Line2Start, ofPoint Line2End){\n\n float LDetLineA, LDetLineB, LDetDivInv;\n ofPoint LDiffLA, LDiffLB, Result;\n\n LDetLineA = Line1Start.x*Line1End.y - Line1Start.y*Line1End.x;\n LDetLineB = Line2Start.x*Line2End.y - Line2Start.y*Line2End.x;\n LDiffLA = Line1Start - Line1End;\n LDiffLB = Line2Start - Line2End;\n LDetDivInv = 1 / ((LDiffLA.x*LDiffLB.y) - (LDiffLA.y*LDiffLB.x));\n Result.x = ((LDetLineA*LDiffLB.x) - (LDiffLA.x*LDetLineB)) * LDetDivInv ;\n Result.y = ((LDetLineA*LDiffLB.y) - (LDiffLA.y*LDetLineB)) * LDetDivInv ;\n\n return Result;\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/106","comments":1,"milestone":null,"number":106,"html_url":"https://github.com/openframeworks/openFrameworks/issues/106","assignee":null,"title":"ofLineCross & ofLineIntersection","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T15:40:07Z","created_at":"2009-12-29T11:33:01Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":103753,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T15:39:32Z","body":"Finally - one that works! Wish we had got this into 0061\n\nCould be more efficient maybe? - replace the while by an if and then calculate the number of rotations needed to wind/unwind. \n\n\tfloat ofLerpDegrees(float currentAngle, float targetAngle, float pct) {\n\t\twhile(targetAngle - currentAngle > 180.0f) targetAngle -= 360.0f;\n\t\twhile(targetAngle - currentAngle < -180.0f) targetAngle += 360.0f;\n\t\t\n\t\treturn currentAngle + (targetAngle - currentAngle) * pct;\n\t}\n\n\tfloat ofLerpRadians(float currentAngle, float targetAngle, float pct) {\n\t\twhile(targetAngle - currentAngle > PI) targetAngle -= TWO_PI;\n\t\twhile(targetAngle - currentAngle < -PI) targetAngle += TWO_PI;\n\t\t\n\t\treturn currentAngle + (targetAngle - currentAngle) * pct;\n\t}\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/105","comments":3,"milestone":null,"number":105,"html_url":"https://github.com/openframeworks/openFrameworks/issues/105","assignee":null,"title":"ofLerpDegrees, ofLerpRadians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T15:39:32Z","created_at":"2009-12-28T15:13:47Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":103333,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T15:39:15Z","body":"\t//------------------------------\n\tbool InsidePolygon( vector &polygon, ofPoint &p){\n\t int counter = 0;\n\t int i;\n\t double xinters;\n\t ofPoint p1,p2;\n\t \n\t int N = polygon.size();\n\n\t p1 = polygon[0];\n\t for (i=1;i<=N;i++) {\n\t\tp2 = polygon[i % N];\n\t\tif (p.y > MIN(p1.y,p2.y)) {\n\t\t if (p.y <= MAX(p1.y,p2.y)) {\n\t\t\tif (p.x <= MAX(p1.x,p2.x)) {\n\t\t\t if (p1.y != p2.y) {\n\t\t\t\txinters = (p.y-p1.y)*(p2.x-p1.x)/(p2.y-p1.y)+p1.x;\n\t\t\t\tif (p1.x == p2.x || p.x <= xinters)\n\t\t\t\t counter++;\n\t\t\t }\n\t\t\t}\n\t\t }\n\t\t}\n\t\tp1 = p2;\n\t }\n\n\t if (counter % 2 == 0) return false;\n\t else return true;\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/104","comments":1,"milestone":null,"number":104,"html_url":"https://github.com/openframeworks/openFrameworks/issues/104","assignee":null,"title":"ofInsidePolygon","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T15:39:15Z","created_at":"2009-12-28T14:58:43Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":103328,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-06-07T15:38:53Z","body":"bool InsideRect(ofRectangle &rect, ofPoint &p){\r\n\tif( p.x < rect.x || p.y < rect.y || p.x > rect.x + rect.width || p.y > rect.y + rect.height ){\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\nalternatively could be a method of ofRectangle maybe?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/103","comments":1,"milestone":null,"number":103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/103","assignee":null,"title":"ofInsideRect","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":"2010-06-07T15:38:53Z","created_at":"2009-12-28T14:58:11Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":103327,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-27T16:45:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3042&p=16425#p16425","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/102","comments":1,"milestone":null,"number":102,"html_url":"https://github.com/openframeworks/openFrameworks/issues/102","assignee":null,"title":"problem with ofArduino and vs2008","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-27T16:45:56Z","created_at":"2009-12-27T16:45:02Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":103021,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=35&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('content-length', '24090'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"df0e51a467dbfca0e3fc6a0c3a781c4d"'), ('date', 'Tue, 29 May 2012 18:46:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2009-12-27T16:49:15Z","body":"this:\r\nfloat scalef = 1.0/255.0; \r\ncvMul( cvImage, mom.getCvImage(), cvImageTemp, scalef );\r\n\r\nseems to make the operator* behave like a division. ie when multiplying by a image with every pixel to 255 the result is the same as the original or when multiplying by everything to 25 the result is 10% of the original luminace.\r\n\r\nthis:\r\n\r\ncvMul( cvImage, mom.getCvImage(), cvImageTemp, 1);\r\n\r\nmakes it behave as a pixel by pixel multiplication","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/101","comments":1,"milestone":null,"number":101,"html_url":"https://github.com/openframeworks/openFrameworks/issues/101","assignee":null,"title":"ofxCvImage operator* seems to behave like division","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-27T16:49:15Z","created_at":"2009-12-23T22:17:30Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":102062,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-21T21:34:00Z","body":"at the moment, it's listed as: \r\n\r\nquicktime/CIncludes\r\n\r\nneeds to be changed since the quicktime folder structure has been changed. (at the moment, the lib doesn't compile because it can't find QTML.h, etc). \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/100","comments":0,"milestone":null,"number":100,"html_url":"https://github.com/openframeworks/openFrameworks/issues/100","assignee":null,"title":"visual studio compiled lib has old quicktime include path","labels":[],"closed_at":"2009-12-21T21:34:00Z","created_at":"2009-12-21T18:22:06Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":100941,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-21T21:28:08Z","body":"I needed to add in a command line switch \n\n--target=\"release\"\n\nat least to the compiledLib to get everything to compile fine via the script as only the debug was compiled...\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/99","comments":0,"milestone":null,"number":99,"html_url":"https://github.com/openframeworks/openFrameworks/issues/99","assignee":null,"title":"codeblocks build all script needs targets","labels":[],"closed_at":"2009-12-21T21:28:08Z","created_at":"2009-12-21T16:30:14Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":100878,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-26T21:03:10Z","body":"\r\nxcode seems unhappy with the += with colorImages, but it is with grayscale for: \r\n\r\nimageA += imageB\r\n\r\nerror: no match for 'operator+=' in '((testApp*)this)->testApp::imageA += ((testApp*)this)->testApp::imageB\r\n\r\nseems to be fixed when I do: \r\n\r\n(ofxCvImage&)imageA += (ofxCvImage&)imageB;","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/98","comments":2,"milestone":null,"number":98,"html_url":"https://github.com/openframeworks/openFrameworks/issues/98","assignee":null,"title":"ofxOpenCv - colorImage += colorImage seems to be a problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2010-04-26T21:03:10Z","created_at":"2009-12-20T00:06:23Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":100255,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-14T12:49:00Z","body":"if the zips are already there it adds to them. \r\nshould do an rm for the zips before creating the archive. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/97","comments":1,"milestone":null,"number":97,"html_url":"https://github.com/openframeworks/openFrameworks/issues/97","assignee":null,"title":"create_package not zipping folders properly","labels":[],"closed_at":"2009-12-14T12:49:00Z","created_at":"2009-12-14T10:11:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":97080,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-27T16:44:04Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/96","comments":2,"milestone":null,"number":96,"html_url":"https://github.com/openframeworks/openFrameworks/issues/96","assignee":null,"title":"add readme files","labels":[],"closed_at":"2009-12-27T16:44:04Z","created_at":"2009-12-11T16:00:26Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":95944,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-11T14:30:22Z","body":"of_preRelease_v0061_osx_FAT.zip => unzips to of_preRelease_v0061_osx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/95","comments":1,"milestone":null,"number":95,"html_url":"https://github.com/openframeworks/openFrameworks/issues/95","assignee":null,"title":"create_package.sh - FAT folder unzipping to folder name without FAT ","labels":[],"closed_at":"2009-12-11T14:30:22Z","created_at":"2009-12-11T13:00:44Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":95857,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-11T15:00:13Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/94","comments":3,"milestone":null,"number":94,"html_url":"https://github.com/openframeworks/openFrameworks/issues/94","assignee":null,"title":"create_package.sh - remove other platform libs and examples from addons/ folder","labels":[],"closed_at":"2009-12-11T15:00:13Z","created_at":"2009-12-11T12:58:51Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":95855,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-11T14:20:23Z","body":"currently we have both and it is confusing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/93","comments":0,"milestone":null,"number":93,"html_url":"https://github.com/openframeworks/openFrameworks/issues/93","assignee":null,"title":"Pick win_vs2008 or vs2008!","labels":[],"closed_at":"2009-12-11T14:20:23Z","created_at":"2009-12-11T12:58:00Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":95853,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-11T14:20:16Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/92","comments":0,"milestone":null,"number":92,"html_url":"https://github.com/openframeworks/openFrameworks/issues/92","assignee":null,"title":"create_package.sh leaving win_vs2008 libs in osx folder","labels":[],"closed_at":"2009-12-11T14:20:16Z","created_at":"2009-12-11T12:57:21Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":95852,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-09T13:07:05Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/90","comments":0,"milestone":null,"number":90,"html_url":"https://github.com/openframeworks/openFrameworks/issues/90","assignee":null,"title":"3DModelLoaderExample win_cb has ofxDirList instead of ofx3DModelLoader","labels":[],"closed_at":"2009-12-09T13:07:05Z","created_at":"2009-12-09T01:36:33Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":94555,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T09:18:20Z","body":"loader says loaded but model contains no meshes","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/89","comments":5,"milestone":null,"number":89,"html_url":"https://github.com/openframeworks/openFrameworks/issues/89","assignee":null,"title":"ofx3dModelLoader not working on ppc macs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-10-17T09:18:20Z","created_at":"2009-12-07T14:48:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93555,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-10T11:19:53Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/88","comments":1,"milestone":null,"number":88,"html_url":"https://github.com/openframeworks/openFrameworks/issues/88","assignee":null,"title":"scripts/macosx build and run script for addons has addonExamples instead of addonsExamples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-10T11:19:53Z","created_at":"2009-12-07T14:26:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93543,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-08T16:47:20Z","body":"\r\n\r\nthey all need ofxThread added as in 0.06 to compile","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/87","comments":1,"milestone":null,"number":87,"html_url":"https://github.com/openframeworks/openFrameworks/issues/87","assignee":null,"title":"windows codeblocks addonsExamples/network * need ofxThread","labels":[],"closed_at":"2009-12-08T16:47:20Z","created_at":"2009-12-07T10:47:33Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":93458,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T14:08:24Z","body":"AdvancedEventsExample currently works - so use that as a base. \r\ntheo do this no one else. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/86","comments":1,"milestone":null,"number":86,"html_url":"https://github.com/openframeworks/openFrameworks/issues/86","assignee":null,"title":"xcode project files need freetype.a re-added ( for PPC machines ) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T14:08:24Z","created_at":"2009-12-07T03:38:37Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93357,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T10:35:18Z","body":"of_prerelease_v0065_win_vs2008\\addons\\ofxvectorgraphics\\libs\\creeps.cpp(595) : error C2668: 'ns_creeps::sqrt' : ambiguous call to overloaded function\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/85","comments":1,"milestone":null,"number":85,"html_url":"https://github.com/openframeworks/openFrameworks/issues/85","assignee":null,"title":"creEps sqrt error","labels":[],"closed_at":"2009-12-07T10:35:18Z","created_at":"2009-12-07T03:15:06Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":93353,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-08T18:21:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/84","comments":1,"milestone":null,"number":84,"html_url":"https://github.com/openframeworks/openFrameworks/issues/84","assignee":null,"title":"linux makefiles are broken","labels":[],"closed_at":"2009-12-08T18:21:09Z","created_at":"2009-12-07T02:52:58Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":93351,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:14:45Z","body":"these are warnings I'm seeing in compiling 0.065\n\nneed a newline in the 3d model load code somewhere. \n..\\..\\..\\addons\\ofx3DModelLoader\\src\\ofx3DBaseLoader.h|16|warning: no newline at end of file\n\naddons\\ofxOsc\\src\\ofxOscMessage.cpp|92|warning: converting to `int32_t' from `float'|\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/83","comments":10,"milestone":null,"number":83,"html_url":"https://github.com/openframeworks/openFrameworks/issues/83","assignee":null,"title":"small warnings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-12-02T15:14:45Z","created_at":"2009-12-07T02:34:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":93347,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-09T01:45:20Z","body":"(win cb):\n\n-- libs\\openFrameworksCompiled\\project should have only win_cb\n\n-- scripts should have just win_cb (and we should make it work with win_cb)\n\n-- remove cb_build_runner.sh script from all examples (this is for linux)\n\n-- remove all .gitignore files... (inside empty data folders)\n\n-- remove linux specific workspace files \n\n-- remove _win_cb from name and inside of workspace files\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/82","comments":4,"milestone":null,"number":82,"html_url":"https://github.com/openframeworks/openFrameworks/issues/82","assignee":null,"title":"changes to the packaging script","labels":[],"closed_at":"2009-12-09T01:45:20Z","created_at":"2009-12-07T02:31:35Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":93346,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T02:07:55Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/81","comments":1,"milestone":null,"number":81,"html_url":"https://github.com/openframeworks/openFrameworks/issues/81","assignee":null,"title":"xcode projects should be renamed to the folder name. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T02:07:55Z","created_at":"2009-12-07T02:06:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93338,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T02:13:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/80","comments":1,"milestone":null,"number":80,"html_url":"https://github.com/openframeworks/openFrameworks/issues/80","assignee":null,"title":"ofxXmlSettings has a printf(tag.c_str()); xcode complains","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-07T02:13:59Z","created_at":"2009-12-07T01:35:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T02:09:18Z","body":"the project files still contain links to these files. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/79","comments":2,"milestone":null,"number":79,"html_url":"https://github.com/openframeworks/openFrameworks/issues/79","assignee":null,"title":"remove ofStandardFirmata files from all projects.","labels":[],"closed_at":"2009-12-07T02:09:18Z","created_at":"2009-12-06T20:44:50Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93192,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T20:50:25Z","body":"\r\nfix this with single buffering on win32 and some smart window resized code.... ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/78","comments":1,"milestone":null,"number":78,"html_url":"https://github.com/openframeworks/openFrameworks/issues/78","assignee":null,"title":"ofSetBackgroundAuto(false) on pc is bad news ","labels":[],"closed_at":"2009-12-06T20:50:25Z","created_at":"2009-12-06T20:42:15Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":93190,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T00:20:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/77","comments":2,"milestone":null,"number":77,"html_url":"https://github.com/openframeworks/openFrameworks/issues/77","assignee":null,"title":"remove copy files phase for info.plist in xcode","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T00:20:50Z","created_at":"2009-12-06T20:37:50Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93185,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T20:40:08Z","body":"this is so cocoa apps and other apps that have BOOL defines don't need FreeImage hacked","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/76","comments":1,"milestone":null,"number":76,"html_url":"https://github.com/openframeworks/openFrameworks/issues/76","assignee":null,"title":"FreeImage.h -> move BOOL typedefs etc to #defines and do #undef at the end","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-06T20:40:08Z","created_at":"2009-12-06T20:21:25Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":93179,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=36&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '23511'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"dd46a4e94f2297cba6d3d87f894c66fa"'), ('date', 'Tue, 29 May 2012 18:46:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2009-12-06T19:12:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/75","comments":1,"milestone":null,"number":75,"html_url":"https://github.com/openframeworks/openFrameworks/issues/75","assignee":null,"title":"close / destroy window on win32 needs fixing...","labels":[],"closed_at":"2009-12-06T19:12:10Z","created_at":"2009-12-06T19:08:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":93147,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T00:21:04Z","body":"in xcode if you have libSomething.a and xcode finds a system version of the lib it will include the system version which causes mad problems if you try and give your app to someone. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/74","comments":1,"milestone":null,"number":74,"html_url":"https://github.com/openframeworks/openFrameworks/issues/74","assignee":null,"title":"os x - change all libSomething.a to be something.a ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T00:21:04Z","created_at":"2009-12-06T16:47:57Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93093,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T16:46:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/73","comments":2,"milestone":null,"number":73,"html_url":"https://github.com/openframeworks/openFrameworks/issues/73","assignee":null,"title":"CreEPS 2.0 ( with MIT ) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-06T16:46:03Z","created_at":"2009-12-06T16:42:04Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93092,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T16:46:19Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/72","comments":1,"milestone":null,"number":72,"html_url":"https://github.com/openframeworks/openFrameworks/issues/72","assignee":null,"title":"Update to CreEPS 2.0 - has MIT license and new stuff!","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-06T16:46:19Z","created_at":"2009-12-06T16:22:45Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93088,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T15:54:47Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/71","comments":1,"milestone":null,"number":71,"html_url":"https://github.com/openframeworks/openFrameworks/issues/71","assignee":null,"title":"remove ofV4lUtils ","labels":[],"closed_at":"2009-12-06T15:54:47Z","created_at":"2009-12-06T15:30:57Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":93077,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T18:34:22Z","body":"feel like the typedef should be in ofxVec3f / 2f etc and have the ofxPoint headers just have the warnings. right now if we remove the ofxPoint files we lose the typedef ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/70","comments":2,"milestone":null,"number":70,"html_url":"https://github.com/openframeworks/openFrameworks/issues/70","assignee":null,"title":"look at ofxPoint warnings - super annoying","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-06T18:34:22Z","created_at":"2009-12-06T14:40:08Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93071,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T18:59:57Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/69","comments":2,"milestone":null,"number":69,"html_url":"https://github.com/openframeworks/openFrameworks/issues/69","assignee":null,"title":"remove ofStandardFirmata stub files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-06T18:59:57Z","created_at":"2009-12-06T14:37:24Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93070,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T14:52:40Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/68","comments":1,"milestone":null,"number":68,"html_url":"https://github.com/openframeworks/openFrameworks/issues/68","assignee":null,"title":"change linux videograbber to gstreamer","labels":[],"closed_at":"2009-12-06T14:52:40Z","created_at":"2009-12-06T14:32:58Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":93069,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T18:58:25Z","body":"is this meant to be there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/67","comments":1,"milestone":null,"number":67,"html_url":"https://github.com/openframeworks/openFrameworks/issues/67","assignee":null,"title":"ofxOpenCv addon example app has a printf with ofGetFrameRate at end of update","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-06T18:58:25Z","created_at":"2009-12-06T14:16:20Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93066,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T18:01:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/66","comments":1,"milestone":null,"number":66,"html_url":"https://github.com/openframeworks/openFrameworks/issues/66","assignee":null,"title":"ofAppGlutWindow - frameRate set to 0.0 in startup should be set to 60.0","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-06T18:01:03Z","created_at":"2009-12-06T13:16:10Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":93060,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T11:09:30Z","body":"this is a request from kyle on the forums....\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/65","comments":0,"milestone":null,"number":65,"html_url":"https://github.com/openframeworks/openFrameworks/issues/65","assignee":null,"title":"ofxOpenCv - convertToPlanarImage(...) for one channel (ie, grabbing just sautration)","labels":[],"closed_at":"2009-12-06T11:09:30Z","created_at":"2009-12-06T11:05:43Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":93046,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T21:36:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/64","comments":1,"milestone":null,"number":64,"html_url":"https://github.com/openframeworks/openFrameworks/issues/64","assignee":null,"title":"fix ofImage for latest freeImage ( flip bug in early freeimage library )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T21:36:03Z","created_at":"2009-12-05T21:27:12Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92827,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T19:17:36Z","body":"no need for convert pixels for intel machines - should be a LOT faster. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/63","comments":1,"milestone":null,"number":63,"html_url":"https://github.com/openframeworks/openFrameworks/issues/63","assignee":null,"title":"ofVideoPlayer and ofVideoGrabber on OS X Intel not using k24RGBPixelFormat","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T19:17:36Z","created_at":"2009-12-05T16:48:19Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92724,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T19:37:54Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?p=14615#p14615","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/62","comments":1,"milestone":null,"number":62,"html_url":"https://github.com/openframeworks/openFrameworks/issues/62","assignee":null,"title":"update the quicktime settings dialog so that PS3 eye panel shows up. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T19:37:54Z","created_at":"2009-12-05T16:47:17Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92722,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T20:57:50Z","body":"videoInput has this. \r\nQT needs SGSetFrameRate \r\nGstreamer has this. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/61","comments":1,"milestone":null,"number":61,"html_url":"https://github.com/openframeworks/openFrameworks/issues/61","assignee":null,"title":"add setFrameRate for ofVideoGrabber","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T20:57:50Z","created_at":"2009-12-05T16:45:44Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92721,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T02:08:44Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/60","comments":2,"milestone":null,"number":60,"html_url":"https://github.com/openframeworks/openFrameworks/issues/60","assignee":null,"title":"check projects for references to .cpp of inlined ofxVectorMath - breaks on CB win32","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":"2009-12-07T02:08:44Z","created_at":"2009-12-05T14:57:17Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92702,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T14:09:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/59","comments":0,"milestone":null,"number":59,"html_url":"https://github.com/openframeworks/openFrameworks/issues/59","assignee":null,"title":"ofxOpenCv - add brightness contrast to grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-05T14:09:50Z","created_at":"2009-12-05T14:00:07Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":92680,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T02:17:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=4&t=2599&hilit=snow+leopard\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=2749&p=14925","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/58","comments":1,"milestone":null,"number":58,"html_url":"https://github.com/openframeworks/openFrameworks/issues/58","assignee":null,"title":"snow leopard fixes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T02:17:52Z","created_at":"2009-12-04T19:40:06Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92434,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T14:59:12Z","body":"internally use void * ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/57","comments":1,"milestone":null,"number":57,"html_url":"https://github.com/openframeworks/openFrameworks/issues/57","assignee":null,"title":"ofTexture float *, char *, short * ","labels":[],"closed_at":"2009-12-05T14:59:12Z","created_at":"2009-12-04T19:19:36Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92426,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T15:23:15Z","body":"just so you can access getTexture getPixels... for images, cvImages, videos... from at the same time","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/56","comments":0,"milestone":null,"number":56,"html_url":"https://github.com/openframeworks/openFrameworks/issues/56","assignee":null,"title":"ofBaseImage so ofBaseVideo and images have the same inheritance base","labels":[],"closed_at":"2009-12-05T15:23:15Z","created_at":"2009-12-04T19:13:45Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":92423,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T01:55:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/55","comments":1,"milestone":null,"number":55,"html_url":"https://github.com/openframeworks/openFrameworks/issues/55","assignee":null,"title":"max optimization settings - check xcode","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T01:55:14Z","created_at":"2009-12-04T19:08:47Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92420,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T17:19:35Z","body":"\r\n\r\nas they are so similar, this would make sense. Also, we should test it versus new baud rate and any other changes that have been made to firmata recently. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/54","comments":0,"milestone":null,"number":54,"html_url":"https://github.com/openframeworks/openFrameworks/issues/54","assignee":null,"title":"combine ofStdFirmata and ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T17:19:35Z","created_at":"2009-12-04T18:48:58Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":92409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T21:14:57Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/53","comments":1,"milestone":null,"number":53,"html_url":"https://github.com/openframeworks/openFrameworks/issues/53","assignee":null,"title":"ofVideoPlayer - crash with setSpeed / setPos before play()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T21:14:57Z","created_at":"2009-12-04T18:43:09Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92405,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T19:42:35Z","body":"see: http://github.com/memo/openFrameworks/commit/d8a29d400bdf61cfcc45056a9eb8665fd92d7b09","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/52","comments":2,"milestone":null,"number":52,"html_url":"https://github.com/openframeworks/openFrameworks/issues/52","assignee":null,"title":"memo's texture stuff - ofSetTextureWrap & ofSetMinMagFilters","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T19:42:35Z","created_at":"2009-12-04T18:31:17Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":92389,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T13:25:18Z","body":"\r\nwrappers that are ofTexture type independent for glTexCoord: \r\n\r\nhttp://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/51","comments":1,"milestone":null,"number":51,"html_url":"https://github.com/openframeworks/openFrameworks/issues/51","assignee":null,"title":"ofTexture -- texPoint / texPercent","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T13:25:18Z","created_at":"2009-12-04T18:30:46Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":92387,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=37&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4959'), ('content-length', '25398'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"28b7b469c9258bf15e31c49e3f825463"'), ('date', 'Tue, 29 May 2012 18:46:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-05-21T19:17:44Z","body":"\r\n\r\nfor example, if we have a grayscale image and convert to color or colorAlpha, we need the texture to support additional info internally (ie, be an RGB or RGBA texture), but it's been allocated as grayscale. think this isn't a huge issue -- You don't see this issue until you start altering pixels and not seeing changes within the textured representation (ie, there's alot of steps to see the problem) -- but it's worth looking into.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/50","comments":1,"milestone":null,"number":50,"html_url":"https://github.com/openframeworks/openFrameworks/issues/50","assignee":null,"title":"ofImage::setImageType doesn't alter the internal ofTexture if we need to","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T20:23:32Z","created_at":"2009-12-04T12:49:40Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":92253,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T13:52:36Z","body":"// the random () calls are based on misconceptions described here:\r\n// http://www.azillionmonkeys.com/qed/random.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/49","comments":1,"milestone":null,"number":49,"html_url":"https://github.com/openframeworks/openFrameworks/issues/49","assignee":null,"title":"ofRandom uses flawed rand()% approach","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T13:52:36Z","created_at":"2009-11-09T11:32:49Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":80573,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T14:09:50Z","body":"\r\nseems like lines 116, 117 are kind of wrong to me: \r\n\r\nis \r\n\r\nblobs[i].centroid.x = (int) (myMoments->m10 / myMoments->m00);\r\nblobs[i].centroid.y = (int) (myMoments->m01 / myMoments->m00);\r\n\r\nshould be : \r\n\r\nblobs[i].centroid.x = (myMoments->m10 / myMoments->m00);\r\nblobs[i].centroid.y = (myMoments->m01 / myMoments->m00);\r\n\r\n(I am seeing small objects with \"jiggly\" centroids because of this). Feels like it should be up the end used to cast as int as needed, but the centroid is likely a non-integer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/48","comments":0,"milestone":null,"number":48,"html_url":"https://github.com/openframeworks/openFrameworks/issues/48","assignee":null,"title":"ofxOpenCv - ofxCvContourFinder converts centroid to ints","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-05T14:09:50Z","created_at":"2009-11-01T17:40:41Z","state":"closed","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":77053,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T17:33:49Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/47","comments":0,"milestone":null,"number":47,"html_url":"https://github.com/openframeworks/openFrameworks/issues/47","assignee":null,"title":"ofBaseHasTexture should have ofSetUseTexture ( for enable / disable texture )","labels":[],"closed_at":"2009-12-05T17:33:49Z","created_at":"2009-11-01T17:40:11Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":77052,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T13:09:50Z","body":"give the option to clamp the output value of ofMap.\r\nofMap(float in, float inMin, float inMax, float outMin, float outMax, bool clamp = false);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/46","comments":1,"milestone":null,"number":46,"html_url":"https://github.com/openframeworks/openFrameworks/issues/46","assignee":null,"title":"ofMap - include a clamp = false argument","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":"2009-12-05T13:09:50Z","created_at":"2009-10-31T10:35:11Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":76700,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-07T01:55:14Z","body":"Add another configuration so you can compile an optimized app that isn't universal (twice as quick and half the size). \r\n\r\nSo if you have an intel laptop Release would compile just for Intel and Release Universal would be both intel and ppc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/45","comments":2,"milestone":null,"number":45,"html_url":"https://github.com/openframeworks/openFrameworks/issues/45","assignee":null,"title":"Xcode - Debug, Release, Release Universal?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":"2009-12-07T01:55:14Z","created_at":"2009-10-29T01:11:51Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":75416,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T12:27:35Z","body":"when doing ofPushStyle numCiclePts is being stored in currentStyle but not used to draw circles. also when doing ofPopStyle it should check numCirclePts and call ofSetCicleResolution if it has changed","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/44","comments":1,"milestone":null,"number":44,"html_url":"https://github.com/openframeworks/openFrameworks/issues/44","assignee":null,"title":"numCirclePts is being stored on ofPushStyle but not used","labels":[],"closed_at":"2009-12-05T12:27:35Z","created_at":"2009-10-28T11:23:48Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":75035,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T19:01:43Z","body":"006 has the asio folder - but it is currently missing from the repo. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/43","comments":2,"milestone":null,"number":43,"html_url":"https://github.com/openframeworks/openFrameworks/issues/43","assignee":null,"title":"asio folder missing from rtAudio - is this intentional?","labels":[],"closed_at":"2009-12-06T19:01:43Z","created_at":"2009-10-26T12:53:34Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":73924,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T19:26:08Z","body":"When playing lots of sounds with FMOD - FMOD_Update() needs to be called every frame. \r\nWe should either do it internally or give people a global function with which to call it - something like: ofSoundPlayerUpdate ?\r\n\r\nNote:\r\nThis problem specifically applies to fmod - so it maybe that we won't need it if we find an fmod replacement. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/42","comments":1,"milestone":null,"number":42,"html_url":"https://github.com/openframeworks/openFrameworks/issues/42","assignee":null,"title":"Add a ofSoundPlayerUpdate call - for keeping fmod on track.","labels":[],"closed_at":"2009-12-05T19:26:08Z","created_at":"2009-10-26T12:37:28Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":73919,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T17:56:48Z","body":"I know - it sucks but I think technically we need to. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/41","comments":8,"milestone":null,"number":41,"html_url":"https://github.com/openframeworks/openFrameworks/issues/41","assignee":null,"title":"Put MIT license in OF headers","labels":[],"closed_at":"2009-12-06T17:56:48Z","created_at":"2009-10-25T09:57:59Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":73527,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T14:10:41Z","body":"The authors of CreEPS kindly agreed to provide us with a LGPL version of their library. Update the latest OF with this version.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/40","comments":1,"milestone":null,"number":40,"html_url":"https://github.com/openframeworks/openFrameworks/issues/40","assignee":null,"title":"ofxVectorGraphics / CreEPS - update to LGPL/MIT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"closed_at":"2009-12-05T14:10:41Z","created_at":"2009-10-25T09:56:14Z","state":"closed","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":73525,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-10-24T08:30:19Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/39","comments":1,"milestone":null,"number":39,"html_url":"https://github.com/openframeworks/openFrameworks/issues/39","assignee":null,"title":"Examples have testApp constructor and stdio","labels":[],"closed_at":"2009-10-24T08:30:19Z","created_at":"2009-10-24T08:13:55Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":73228,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T18:56:24Z","body":"rtAudio 3 is outdated, in the past rtAudio 4 gave some problems under linux but now it works ok.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/38","comments":1,"milestone":null,"number":38,"html_url":"https://github.com/openframeworks/openFrameworks/issues/38","assignee":null,"title":"change ofSoundStream to rtAudio 4","labels":[],"closed_at":"2009-12-06T18:56:24Z","created_at":"2009-10-23T17:15:52Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":72941,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T13:30:36Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=2577","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/37","comments":1,"milestone":null,"number":37,"html_url":"https://github.com/openframeworks/openFrameworks/issues/37","assignee":null,"title":"Loading a corrupted image in linux makes the app crash","labels":[],"closed_at":"2009-12-06T13:30:36Z","created_at":"2009-10-22T09:24:35Z","state":"closed","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":72331,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T23:50:04Z","body":"* CB PC needs -lIphlpapi in linker settings","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/36","comments":2,"milestone":null,"number":36,"html_url":"https://github.com/openframeworks/openFrameworks/issues/36","assignee":null,"title":"Poco linker flag for CB","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"}],"closed_at":"2009-12-06T23:50:04Z","created_at":"2009-10-22T00:08:08Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72161,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:08:50Z","body":" fedora installs alsa in /lib instead of /usr/lib http://www.openframeworks.cc/forum/viewtopic.php?f=5&t=1870&p=10035#p10035\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/35","comments":3,"milestone":null,"number":35,"html_url":"https://github.com/openframeworks/openFrameworks/issues/35","assignee":null,"title":"Linux Scripts - Fedora issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":"2011-12-02T15:08:50Z","created_at":"2009-10-22T00:07:15Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72160,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T20:11:29Z","body":"* some examples in windows cb doesn't have resized updated to windowResized, complete list in: http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=1851","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/34","comments":0,"milestone":null,"number":34,"html_url":"https://github.com/openframeworks/openFrameworks/issues/34","assignee":null,"title":"Examples - Windows - windowResized missing","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":"2009-12-05T20:11:29Z","created_at":"2009-10-22T00:06:37Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72159,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T20:11:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/33","comments":0,"milestone":null,"number":33,"html_url":"https://github.com/openframeworks/openFrameworks/issues/33","assignee":null,"title":"advancedEventsExample doesn't have all the files in src in linux & same with CB win32","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":"2009-12-05T20:11:30Z","created_at":"2009-10-22T00:06:05Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72158,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T20:11:29Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/32","comments":0,"milestone":null,"number":32,"html_url":"https://github.com/openframeworks/openFrameworks/issues/32","assignee":null,"title":"osc example is not updated to 003 in mac ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":"2009-12-05T20:11:29Z","created_at":"2009-10-22T00:05:54Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72157,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T20:11:30Z","body":"* some examples in windows seems to not have all the files included, ie, firmata files in the alladdonsexample","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/31","comments":0,"milestone":null,"number":31,"html_url":"https://github.com/openframeworks/openFrameworks/issues/31","assignee":null,"title":"Examples - Windows - Files missing","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":"2009-12-05T20:11:30Z","created_at":"2009-10-22T00:05:43Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72156,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T21:00:47Z","body":"* serial fix:\r\n** http://www.openframeworks.cc/forum/viewtopic.php?t=773\r\n** not completely sure but think this doesn't worked in linux\r\n** serial setup by device number doesn't work on linux http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=2156&p=11654#p11654","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/30","comments":1,"milestone":null,"number":30,"html_url":"https://github.com/openframeworks/openFrameworks/issues/30","assignee":null,"title":"Linux serial issues with device number:","labels":[],"closed_at":"2009-12-05T21:00:47Z","created_at":"2009-10-22T00:05:14Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72155,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T23:50:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/29","comments":1,"milestone":null,"number":29,"html_url":"https://github.com/openframeworks/openFrameworks/issues/29","assignee":null,"title":"Poco linking order on win32 - See Comments for correct order","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"}],"closed_at":"2009-12-06T23:50:03Z","created_at":"2009-10-22T00:04:46Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72154,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-04T18:42:51Z","body":"** don't wait for paused state on loadMovie? (zach, what does this mean?) arturo, it seems on loading there's a tiny freeze while the file is loaded by not waiting and treating the file as a stream it should be possible to avoid it: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1791","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/28","comments":0,"milestone":null,"number":28,"html_url":"https://github.com/openframeworks/openFrameworks/issues/28","assignee":null,"title":"ofVideoPlayer - pause delay","labels":[],"closed_at":"2009-12-04T18:42:51Z","created_at":"2009-10-22T00:03:56Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72153,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-06T20:11:50Z","body":"* [NEEDS REFIX] fps is not calculated correctly resulting in NAN on windows -see last fix here: http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=1892&p=11166#p11166\r\n\r\nAlso for some reason on windows the app can jump up to 100fps when doing heavy texture loading. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/27","comments":2,"milestone":null,"number":27,"html_url":"https://github.com/openframeworks/openFrameworks/issues/27","assignee":null,"title":"Windows FPS issues","labels":[],"closed_at":"2009-12-06T20:11:50Z","created_at":"2009-10-22T00:03:19Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72152,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2009-12-05T12:54:55Z","body":"Maybe an average one too?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/26","comments":1,"milestone":null,"number":26,"html_url":"https://github.com/openframeworks/openFrameworks/issues/26","assignee":null,"title":"ofGetLastFrameTime - to get the elapsed time of the last frame. ","labels":[],"closed_at":"2009-12-05T12:54:55Z","created_at":"2009-10-22T00:02:30Z","state":"closed","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"id":72150,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=38&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4958'), ('content-length', '22487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"98deeee1d4ab1f6a96a5336774ac0087"'), ('date', 'Tue, 29 May 2012 18:46:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Add simplex/perlin noise to core","html_url":"https://github.com/openframeworks/openFrameworks/issues/25","comments":3,"assignee":null,"updated_at":"2009-12-06T11:51:10Z","body":"","number":25,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/25","labels":[],"id":72149,"closed_at":"2009-12-06T11:51:10Z","created_at":"2009-10-22T00:01:49Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Dean's ofPoint cleanup / comments","html_url":"https://github.com/openframeworks/openFrameworks/issues/24","comments":1,"assignee":null,"updated_at":"2009-12-05T21:36:47Z","body":"","number":24,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/24","labels":[],"id":72148,"closed_at":"2009-12-05T21:36:47Z","created_at":"2009-10-22T00:01:33Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Deans abgr to rfb blitter","html_url":"https://github.com/openframeworks/openFrameworks/issues/23","comments":2,"assignee":null,"updated_at":"2009-12-05T19:05:32Z","body":"","number":23,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/23","labels":[],"id":72147,"closed_at":"2009-12-05T19:05:32Z","created_at":"2009-10-22T00:01:22Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture copy constructor issue","html_url":"https://github.com/openframeworks/openFrameworks/issues/22","comments":0,"assignee":null,"updated_at":"2009-12-05T19:50:43Z","body":"problem with ofTexture copy constructor: http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=2638&view=unread#unread","number":22,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/22","labels":[],"id":72146,"closed_at":"2009-12-05T19:50:43Z","created_at":"2009-10-22T00:00:43Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"setAnchorPoint - move arguments from int to float","html_url":"https://github.com/openframeworks/openFrameworks/issues/21","comments":1,"assignee":null,"updated_at":"2009-10-24T16:12:19Z","body":"\r\n","number":21,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/21","labels":[],"id":72145,"closed_at":"2009-10-24T16:12:19Z","created_at":"2009-10-22T00:00:26Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofBaseVideo - isFrameNew","html_url":"https://github.com/openframeworks/openFrameworks/issues/20","comments":1,"assignee":null,"updated_at":"2009-10-24T12:48:29Z","body":"","number":20,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/20","labels":[],"id":72144,"closed_at":"2009-10-24T12:48:29Z","created_at":"2009-10-21T23:59:41Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - grayscale to planar not working","html_url":"https://github.com/openframeworks/openFrameworks/issues/19","comments":0,"assignee":null,"updated_at":"2009-12-05T13:47:40Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?t=1763","number":19,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/19","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72142,"closed_at":"2009-12-05T13:47:40Z","created_at":"2009-10-21T23:59:09Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - remove implicit ROI intersection","html_url":"https://github.com/openframeworks/openFrameworks/issues/18","comments":0,"assignee":null,"updated_at":"2009-12-05T13:46:06Z","body":"","number":18,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/18","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72141,"closed_at":"2009-12-05T13:46:06Z","created_at":"2009-10-21T23:58:23Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"latest xcode needs tcp.h included in ofxUdpManager ","html_url":"https://github.com/openframeworks/openFrameworks/issues/17","comments":1,"assignee":null,"updated_at":"2009-10-24T12:51:02Z","body":"","number":17,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/17","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72140,"closed_at":"2009-10-24T12:51:02Z","created_at":"2009-10-21T23:57:50Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - drawBlobIntoMe","html_url":"https://github.com/openframeworks/openFrameworks/issues/16","comments":0,"assignee":null,"updated_at":"2009-12-05T13:46:06Z","body":"restore it","number":16,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/16","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72139,"closed_at":"2009-12-05T13:46:06Z","created_at":"2009-10-21T23:57:31Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - shortImage - assignment operators","html_url":"https://github.com/openframeworks/openFrameworks/issues/15","comments":1,"assignee":null,"updated_at":"2009-12-05T21:26:06Z","body":"","number":15,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/15","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72137,"closed_at":"2009-12-05T21:26:06Z","created_at":"2009-10-21T23:56:56Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - iphone #ifdefs ","html_url":"https://github.com/openframeworks/openFrameworks/issues/14","comments":0,"assignee":null,"updated_at":"2009-12-05T13:46:06Z","body":"","number":14,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/14","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72136,"closed_at":"2009-12-05T13:46:06Z","created_at":"2009-10-21T23:56:35Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxThread - stopThread should be called when threaded function returns","html_url":"https://github.com/openframeworks/openFrameworks/issues/13","comments":1,"assignee":null,"updated_at":"2009-12-04T17:22:09Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=9&t=2210&p=11929#p11929\r\n","number":13,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/13","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72135,"closed_at":"2009-12-04T17:22:09Z","created_at":"2009-10-21T23:55:54Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Examples - imageLoader - ofSetupScreen call not needed","html_url":"https://github.com/openframeworks/openFrameworks/issues/12","comments":1,"assignee":null,"updated_at":"2009-10-24T22:19:07Z","body":"","number":12,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/12","labels":[],"id":72134,"closed_at":"2009-10-24T22:19:07Z","created_at":"2009-10-21T23:55:06Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer uninitialized bool","html_url":"https://github.com/openframeworks/openFrameworks/issues/11","comments":1,"assignee":null,"updated_at":"2009-10-24T14:27:08Z","body":"dean's fix for unitialized bool in ofVideoPlayer","number":11,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/11","labels":[],"id":72133,"closed_at":"2009-10-24T14:27:08Z","created_at":"2009-10-21T23:54:25Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOpenCv - do quick copy for getPixels and setPixels when image is memory alligned","html_url":"https://github.com/openframeworks/openFrameworks/issues/10","comments":1,"assignee":null,"updated_at":"2009-10-24T09:06:55Z","body":"ie 640 480 can be just a straight memcpy","number":10,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/10","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72132,"closed_at":"2009-10-24T09:06:55Z","created_at":"2009-10-21T23:53:24Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxOsc shutdown leak","html_url":"https://github.com/openframeworks/openFrameworks/issues/9","comments":1,"assignee":null,"updated_at":"2009-10-24T13:40:48Z","body":"Shutdown issue - fix here: http://damian.dreamhosters.com/svn/public/ofxOsc/latest/\n","number":9,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/9","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72131,"closed_at":"2009-10-24T13:40:48Z","created_at":"2009-10-21T23:51:07Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxXmlSettings memory leak","html_url":"https://github.com/openframeworks/openFrameworks/issues/8","comments":2,"assignee":null,"updated_at":"2009-12-05T12:09:09Z","body":"Memory Leak in constructor: storedHandle = new TiXmlHandle(NULL); Never freed. \r\n","number":8,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/8","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72130,"closed_at":"2009-12-05T12:09:09Z","created_at":"2009-10-21T23:50:49Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofx3DModelLoader - non power of 2 textures","html_url":"https://github.com/openframeworks/openFrameworks/issues/7","comments":0,"assignee":null,"updated_at":"2011-01-08T20:27:15Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?p=12210#p12210\r\n","number":7,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/7","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":72129,"closed_at":"2011-01-08T20:27:15Z","created_at":"2009-10-21T23:50:06Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofxXmlSettings read attributes","html_url":"https://github.com/openframeworks/openFrameworks/issues/6","comments":2,"assignee":null,"updated_at":"2009-12-05T12:08:38Z","body":"check and find the best out of these plus damian's and chris's http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=2039&hilit=attribute & http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=643&hilit=attribute","number":6,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/6","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"}],"id":72128,"closed_at":"2009-12-05T12:08:38Z","created_at":"2009-10-21T23:49:38Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetAppPtr()","html_url":"https://github.com/openframeworks/openFrameworks/issues/5","comments":1,"assignee":null,"updated_at":"2009-10-22T20:37:38Z","body":"to get a pointer to testApp","number":5,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/5","labels":[],"id":72127,"closed_at":"2009-10-22T20:37:38Z","created_at":"2009-10-21T23:48:21Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution - makes curved shapes a lot faster!","html_url":"https://github.com/openframeworks/openFrameworks/issues/4","comments":1,"assignee":null,"updated_at":"2009-10-24T16:23:42Z","body":"","number":4,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4","labels":[],"id":72126,"closed_at":"2009-10-24T16:23:42Z","created_at":"2009-10-21T23:47:58Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Fullscreen on OS X should be not top level","html_url":"https://github.com/openframeworks/openFrameworks/issues/3","comments":7,"assignee":null,"updated_at":"2009-12-07T01:55:14Z","body":"Zach has the code for this - find simple implementation. ","number":3,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/3","labels":[{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"}],"id":72125,"closed_at":"2009-12-07T01:55:14Z","created_at":"2009-10-21T23:47:33Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"detect C:/ as a root path in ofToDataPath","html_url":"https://github.com/openframeworks/openFrameworks/issues/2","comments":1,"assignee":null,"updated_at":"2009-10-23T06:53:51Z","body":"","number":2,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2","labels":[],"id":72124,"closed_at":"2009-10-23T06:53:51Z","created_at":"2009-10-21T23:46:21Z"},{"milestone":null,"state":"closed","user":{"gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"glutInitDisplayString option","html_url":"https://github.com/openframeworks/openFrameworks/issues/1","comments":4,"assignee":null,"updated_at":"2009-12-05T11:39:54Z","body":"allow user to pass a custom glut window string. fallback to default window if string unsuccessful. ","number":1,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1","labels":[],"id":72123,"closed_at":"2009-12-05T11:39:54Z","created_at":"2009-10-21T23:45:56Z"}] - diff --git a/github/tests/ReplayData/Issue33.testOpenIssues.txt b/github/tests/ReplayData/Issue33.testOpenIssues.txt deleted file mode 100644 index 87b4367..0000000 --- a/github/tests/ReplayData/Issue33.testOpenIssues.txt +++ /dev/null @@ -1,154 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '51959'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"c3111cf6eead96b7d0ea0d14f4a5e9eb"'), ('date', 'Tue, 29 May 2012 06:43:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"assignee":null,"closed_at":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280"},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"assignee":null,"closed_at":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"837cfe96365c031130a46311eb11d86a","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279"},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"assignee":null,"closed_at":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277"},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"assignee":null,"closed_at":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271"},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"assignee":null,"closed_at":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268"},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"assignee":null,"closed_at":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263"},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"assignee":null,"closed_at":null,"title":"Add .mailmap for contributor collation","labels":[],"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262"},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"assignee":null,"closed_at":null,"title":"allow float volume on ofVideoPlayer","labels":[],"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260"},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"assignee":null,"closed_at":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257"},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"assignee":null,"closed_at":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256"},{"updated_at":"2012-05-16T09:35:07Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1254","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1254,"assignee":null,"closed_at":null,"title":"Adding ofClear(ofColor c) just a detail","labels":[],"created_at":"2012-05-12T19:15:59Z","state":"open","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":4548835,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1254.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1254.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1254"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1254"},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"assignee":null,"closed_at":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252"},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"assignee":null,"closed_at":null,"title":"Bugfix of to data path","labels":[],"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251"},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"assignee":null,"closed_at":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250"},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"21c33fd6632c4b3cd659410979a9c609"'), ('date', 'Tue, 29 May 2012 06:43:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-18T21:52:52Z","body":"I completely rewrote ofEasyCam as it was working in some weird ways when the target was changed.\r\nNow the maths are much simpler and tidier.\r\nI also changed the way it is used.\r\nNow by pressing the dragging the mouse with the left button the camera rotates around the target. when doing so with the right button the camera rotates around it's local z axis.\r\n\r\nWhen the 'm' key is pressed, dragging the mouse with the left button will move the camera over it's local X an Y axes. Using the right button will move the camera over it's local z axis, making it \"zoom\" in or out.\r\n\r\nIn my initial implementation I checked if the mouse was inside a circle of radius min(ofGetWith, ofGetHeight) centered at the middle of the viewport, if it was inside the X and Y rotation was applied, else the Z rotation, thus leaving the second button free to use \"zoom\" in or out.\r\nI finally decided to leave out this way of use opting for the one that I'm commiting.\r\nIf anyone of you thinks that my initial implementation would be better I can pull it.\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1227","comments":24,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1227,"assignee":null,"closed_at":null,"title":"Rewritten ofEasyCam + minor fixes to ofNode","labels":[],"created_at":"2012-04-30T03:15:12Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"roymacdonald","id":974878},"id":4345219,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1227.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1227.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1227"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1227"},{"updated_at":"2012-05-16T09:27:47Z","body":"I find that I'm using rectangles with rounded corners quiet often and seems like a fairly simple addition.\r\nAn example of using this is as follows:\r\n\r\n ofSetPolyMode(OF_POLY_WINDING_ODD);\r\n ofSetLineWidth(1.5);\r\n ofEnableSmoothing();\r\n ofNoFill();\r\n ofSetHexColor(0x000000);\r\n ofRoundedRect(630,520,80,60,9);\r\n ofDisableSmoothing();\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1223","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1223,"assignee":null,"closed_at":null,"title":"Feature of rounded rect","labels":[],"created_at":"2012-04-27T06:35:58Z","state":"open","user":{"url":"https://api.github.com/users/lawarner","gravatar_id":"030dc27a9e68781f8c0090d2adc5312e","avatar_url":"https://secure.gravatar.com/avatar/030dc27a9e68781f8c0090d2adc5312e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"lawarner","id":1479237},"id":4317009,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1223.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1223.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1223"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1223"},{"updated_at":"2012-05-16T09:27:12Z","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1218,"assignee":null,"closed_at":null,"title":"ofQuickTimePlayer with alpha","labels":[],"created_at":"2012-04-25T18:48:41Z","state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"prisonerjohn","id":119702},"id":4286936,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1218"},{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1217,"assignee":null,"closed_at":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4269431,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217"},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1216,"assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"closed_at":null,"title":"Implement deprecation mechanism","labels":[],"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4269429,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216"},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1215,"assignee":null,"closed_at":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4269359,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215"},{"updated_at":"2012-04-30T19:42:14Z","body":"@ofTheo @memo @bilderbuchi @ofZach For your consideration (ref #1200)\r\n\r\n~~~~\r\n\tofVec3f p( 1, 2, 3 ); // p is { 1, 2, 3 }\r\n\tp.set( 4 ); // ok, p is now { 4, 4, 4 }\r\n\tp = ofVec3f( 5 ); // ok, p is now { 5, 5, 5 }\r\n\tp.set( 6, 7 ); // ok, p is now { 6, 7, 0 }\r\n\tp = 8; // generates error 'No match for 'operator=' in 'p = 8'\r\n~~~~\r\n\r\nBehaviour is similar with ofVec2f and ofVec4f.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1205","comments":23,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1205,"assignee":null,"closed_at":null,"title":"Fix ofVec2/3/4f float assignment","labels":[],"created_at":"2012-04-23T22:31:13Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4250445,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1205.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1205.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1205"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1205"},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"assignee":null,"closed_at":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":4231092,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202"},{"updated_at":"2012-04-26T18:48:12Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":7,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1201,"assignee":null,"closed_at":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4230131,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201"},{"updated_at":"2012-04-30T19:43:30Z","body":"we used to have operator overloading for float so you could do: myVec = 0.0; \r\nor myScale3f = 100.0; and it would set x y and z to that number. \r\n\r\nat somepoint someone commented it out ( breaking quite a few projects for me ).\r\nanyway I would like to revert that commenting out and restore it to its original behavior. \r\n\r\nthis is what ofVec3f.h currently looks like\r\n\r\n\t//operator overloading for float\r\n\t//\r\n\t//\r\n\t//inline void ofVec3f::operator=( const float f){\r\n\t//\tx = f;\r\n\t//\ty = f;\r\n\t//\tz = f;\r\n\t//}\r\n\r\nI know @memo had some thoughts on this. \r\nAlso would be good to have @ofZach look at this. \r\n\r\nI want to make sure I don't introduce anything unexpected by reverting it to its original behavior. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1200","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1200,"assignee":null,"closed_at":null,"title":"fix/feature: restore the = operator overload for ofVec2 / ofVec3 ....","labels":[],"created_at":"2012-04-22T14:24:01Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4229599,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1200"},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"assignee":null,"closed_at":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"microbians","id":1662136},"id":4207350,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190"},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1189,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"microbians","id":1662136},"id":4206982,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189"},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"assignee":null,"closed_at":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"neilmendoza","id":818571},"id":4174070,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186"},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1178,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"julapy","id":331382},"closed_at":null,"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"erinnovations","id":253455},"id":4132608,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178"},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"assignee":null,"closed_at":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":4117762,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175"},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1174,"assignee":null,"closed_at":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4108582,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174"},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1173,"assignee":null,"closed_at":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pappis","id":1640543},"id":4104336,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173"},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"assignee":null,"closed_at":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jesusgollonet","id":31100},"id":4081188,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171"},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"assignee":null,"closed_at":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4063456,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167"},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"assignee":null,"closed_at":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4063417,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166"},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"assignee":null,"closed_at":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4063366,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165"},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"assignee":null,"closed_at":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":4032047,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152"},{"updated_at":"2012-05-16T09:26:13Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1151,"assignee":null,"closed_at":null,"title":"shorten + simplify ofLog output","labels":[],"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":4023525,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151"},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"closed_at":null,"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4023305,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150"},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"assignee":null,"closed_at":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4015514,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '51857'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"486232af96fd8aa5ef0ba6e0afe32983"'), ('date', 'Tue, 29 May 2012 06:43:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"assignee":null,"closed_at":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"rezaali","id":555207},"id":4010494,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145"},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1144,"assignee":null,"closed_at":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jembezmamy","id":720354},"id":4001148,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144"},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1138,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"davideo71","id":1611385},"id":3968742,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138"},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"assignee":null,"closed_at":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kylemcdonald","id":157106},"id":3917377,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134"},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"assignee":null,"closed_at":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":3917018,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133"},{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"assignee":null,"closed_at":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":3911629,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132"},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"assignee":null,"closed_at":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":3911537,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131"},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1130,"assignee":null,"closed_at":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":3910580,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130"},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1129,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":3910555,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129"},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"assignee":null,"closed_at":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":3910549,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128"},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1126,"assignee":null,"closed_at":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":3897090,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126"},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"assignee":null,"closed_at":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jesusgollonet","id":31100},"id":3883598,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124"},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"assignee":null,"closed_at":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"imanhp","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120"},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1118,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":3850655,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118"},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"assignee":null,"closed_at":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"armadillu","id":167057},"id":3825582,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117"},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"assignee":null,"closed_at":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vade","id":65011},"id":3813852,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116"},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"assignee":null,"closed_at":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"colormotor","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115"},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"joshuajnoble","id":237423},"closed_at":null,"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"colormotor","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114"},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"assignee":null,"closed_at":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"OlexandrStepanov","id":971079},"id":3807459,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112"},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"assignee":null,"closed_at":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":3799872,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110"},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"assignee":null,"closed_at":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":3799653,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109"},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"closed_at":null,"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"roymacdonald","id":974878},"id":3795495,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108"},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1103,"assignee":null,"closed_at":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":3754055,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103"},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"assignee":null,"closed_at":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":3710293,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098"},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"closed_at":null,"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":3662214,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '50026'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"76bc0aa4d9c592b059742cd1e992e558"'), ('date', 'Tue, 29 May 2012 06:43:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"assignee":null,"closed_at":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3647640,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070"},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3631618,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068"},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"assignee":null,"closed_at":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3627067,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063"},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1062,"assignee":null,"closed_at":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3614231,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062"},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"assignee":null,"closed_at":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3605277,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055"},{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"assignee":null,"closed_at":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3596240,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052"},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1051,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3594731,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051"},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1050,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3593619,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050"},{"updated_at":"2012-05-16T09:25:18Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1048,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262,"avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3593430,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1048"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048"},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"assignee":null,"closed_at":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3587808,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047"},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"assignee":null,"closed_at":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3528378,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039"},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"assignee":null,"closed_at":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3510933,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037"},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"assignee":null,"closed_at":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3509628,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036"},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"assignee":null,"closed_at":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3495602,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034"},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"assignee":null,"closed_at":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3495503,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033"},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1029,"assignee":null,"closed_at":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3491627,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029"},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"assignee":null,"closed_at":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3489266,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028"},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":1024,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262,"avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3479768,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1024"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024"},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"assignee":null,"closed_at":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3476540,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022"},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"assignee":null,"closed_at":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3462226,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019"},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"assignee":null,"closed_at":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3438233,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007"},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"assignee":null,"closed_at":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3432042,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005"},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785,"avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3401755,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001"},{"updated_at":"2012-05-16T09:24:52Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":10,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":993,"assignee":null,"closed_at":null,"title":"Of scissors","labels":[],"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3393466,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/993"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/993"},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"assignee":null,"closed_at":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3387163,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/987"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '38555'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c720c465254b2a50d1fa3249bfd1c55a"'), ('date', 'Tue, 29 May 2012 06:43:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"assignee":null,"closed_at":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/985"},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"assignee":null,"closed_at":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/984"},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"assignee":null,"closed_at":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/976"},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"assignee":null,"closed_at":null,"title":"0076 Release tracking issue","labels":[],"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/972"},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"assignee":null,"closed_at":null,"title":"0075 Release tracking issue","labels":[],"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/971"},{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"assignee":null,"closed_at":null,"title":"0080 Release tracking issue","labels":[],"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/970"},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"assignee":null,"closed_at":null,"title":"0074 Release tracking issue","labels":[],"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/969"},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"assignee":null,"closed_at":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/955"},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"assignee":null,"closed_at":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/933"},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"assignee":null,"closed_at":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/931"},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"assignee":null,"closed_at":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/930"},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"assignee":null,"closed_at":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/929"},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"assignee":null,"closed_at":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/928"},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"assignee":null,"closed_at":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/926"},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"assignee":null,"closed_at":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/925"},{"updated_at":"2012-03-15T13:58:41Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":12,"milestone":null,"number":922,"assignee":null,"closed_at":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/922"},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"assignee":null,"closed_at":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/920"},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"assignee":null,"closed_at":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/919"},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"assignee":null,"closed_at":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/917"},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"assignee":null,"closed_at":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/916"},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"assignee":null,"closed_at":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/915"},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"assignee":null,"closed_at":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/914"},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"assignee":null,"closed_at":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/909"},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"assignee":null,"closed_at":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/902"},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"assignee":null,"closed_at":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/901"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '46887'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"f8fa517a4e928136125636e8dba042a2"'), ('date', 'Tue, 29 May 2012 06:43:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"assignee":null,"closed_at":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109,"avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3106705,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/897"},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"assignee":null,"closed_at":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3099567,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/896"},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"assignee":null,"closed_at":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2967700,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/880"},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2952993,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/878"},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2918619,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/875"},{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","id":53301,"avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2875276,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/872"},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"assignee":null,"closed_at":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","id":116976,"avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2756440,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/866"},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2710048,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/863"},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","id":1298679,"avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2700549,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/861"},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2685556,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/856"},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"assignee":null,"closed_at":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2677212,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/855"},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"assignee":null,"closed_at":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","id":156066,"avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2647508,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/851"},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"assignee":null,"closed_at":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2637694,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/849"},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"assignee":null,"closed_at":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2546302,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/846"},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"assignee":null,"closed_at":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2512838,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/843"},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"assignee":null,"closed_at":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","id":203532,"avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2486705,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/840"},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":838,"assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2476561,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/838"},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"assignee":null,"closed_at":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2455011,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/837"},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090,"closed_issues":0},"number":836,"assignee":null,"closed_at":null,"title":"0073 Release tracking issue","labels":[],"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2439965,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/836"},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"assignee":null,"closed_at":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","id":390056,"avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2436532,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/831"},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":829,"assignee":null,"closed_at":null,"title":"0072 Release tracking issue","labels":[],"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2429871,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/829"},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"assignee":null,"closed_at":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2380571,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/825"},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","id":737888,"avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2364541,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/822"},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"assignee":null,"closed_at":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2356801,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/821"},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"assignee":null,"closed_at":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":2316595,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/819"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '50046'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"87fd13521b0dc2d60ee04eb082151549"'), ('date', 'Tue, 29 May 2012 06:43:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"assignee":null,"closed_at":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":2306518,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/818"},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"assignee":null,"closed_at":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","id":181956},"id":2268829,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/815"},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"assignee":null,"closed_at":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","id":181956},"id":2267854,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/814"},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"assignee":null,"closed_at":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":2223158,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/811"},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"assignee":null,"closed_at":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423},"id":2206980,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/810"},{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"assignee":null,"closed_at":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2089523,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/800"},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"assignee":null,"closed_at":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2086039,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/798"},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"assignee":null,"closed_at":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2085543,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/797"},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"closed_issues":16,"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"assignee":null,"closed_at":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2066090,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/795"},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"assignee":null,"closed_at":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":2051692,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/793"},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"assignee":null,"closed_at":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","id":480525},"id":2016194,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/789"},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"assignee":null,"closed_at":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":1999520,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/787"},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"assignee":null,"closed_at":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":1999513,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/786"},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"assignee":null,"closed_at":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":1992818,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/785"},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":1938472,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/778"},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"assignee":null,"closed_at":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":1922704,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/774"},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"assignee":null,"closed_at":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":1888302,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/772"},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"closed_issues":16,"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"assignee":null,"closed_at":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","id":1119357},"id":1874373,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/771"},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"assignee":null,"closed_at":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","id":186277},"id":1854874,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/767"},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"assignee":null,"closed_at":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":1851779,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/766"},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"assignee":null,"closed_at":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":1841802,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/765"},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","id":277690},"id":1827792,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/764"},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"assignee":null,"closed_at":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":1758237,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/760"},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"closed_issues":16,"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"assignee":null,"closed_at":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":1738864,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/758"},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"assignee":null,"closed_at":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":1733504,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/757"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '43399'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"854a64f2869b18d01ef68be3fccb02bb"'), ('date', 'Tue, 29 May 2012 06:43:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"assignee":null,"closed_at":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","id":51957,"avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1708332,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/754"},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","id":1047836,"avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1704855,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/753"},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"assignee":null,"closed_at":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","id":517000,"avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1691874,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/752"},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"assignee":null,"closed_at":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1668066,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/748"},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"assignee":null,"closed_at":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","id":791114,"avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1643672,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/745"},{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"assignee":null,"closed_at":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1641198,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/744"},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"assignee":null,"closed_at":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","id":183796,"avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1639020,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/743"},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1628082,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/738"},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"assignee":null,"closed_at":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1586262,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/730"},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"assignee":null,"closed_at":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1569364,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/728"},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"assignee":null,"closed_at":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","id":1027082,"avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1566286,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/727"},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"assignee":null,"closed_at":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1497330,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/721"},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1497291,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/720"},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"assignee":null,"closed_at":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1459353,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/719"},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"assignee":null,"closed_at":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1458979,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/717"},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"assignee":null,"closed_at":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1458044,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/716"},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"assignee":null,"closed_at":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","id":886012,"avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1414013,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/711"},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"assignee":null,"closed_at":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1407813,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/710"},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"assignee":null,"closed_at":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1359729,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/702"},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"assignee":null,"closed_at":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1358688,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/701"},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"assignee":null,"closed_at":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1349012,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/700"},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":699,"assignee":null,"closed_at":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1343463,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/699"},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":698,"assignee":null,"closed_at":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1339116,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/698"},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"assignee":null,"closed_at":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1334657,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/697"},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":685,"assignee":null,"closed_at":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":1303812,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/685"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '42757'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"52cdeb246732dfe3d45282b30efc7163"'), ('date', 'Tue, 29 May 2012 06:43:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/mcanet","login":"mcanet","id":308759},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/julapy","login":"julapy","id":331382},"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","number":684,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":1302375,"created_at":"2011-07-28T12:12:52Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"30a7e135fe77636519d74d129c60e156","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/companje","login":"companje","id":156066},"title":"possible bug in getEuler / getOrientation / getRoll","comments":0,"assignee":null,"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","number":679,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1278252,"created_at":"2011-07-24T18:26:54Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/petersaints","login":"petersaints","id":157810},"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","comments":2,"assignee":null,"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","number":676,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1273716,"created_at":"2011-07-23T01:19:54Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"614a4e493d7c353296519bba720e77c5","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/benben","login":"benben","id":124513},"title":"isFile() segfaults on win7","comments":0,"assignee":null,"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","number":671,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":1262459,"created_at":"2011-07-21T11:27:16Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"614a4e493d7c353296519bba720e77c5","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/benben","login":"benben","id":124513},"title":"mouseReleased fires mouseMoved too (win7)","comments":2,"assignee":null,"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","number":670,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":1261982,"created_at":"2011-07-21T09:34:52Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442},"closed_issues":16,"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000},"title":"iphone video player should use AVPlayer ","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/julapy","login":"julapy","id":331382},"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","number":666,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"cb6efa","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks "},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":1258863,"created_at":"2011-07-20T20:01:04Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bakercp","login":"bakercp","id":300484},"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","comments":5,"assignee":null,"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","number":652,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1231959,"created_at":"2011-07-15T18:49:46Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"29a3b85e704ec06a72df8897a726920e","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/toxin20","login":"toxin20","id":123776},"title":"ofFBO + ofCamera = unwanted offset","comments":4,"assignee":null,"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","number":651,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":1230184,"created_at":"2011-07-15T13:21:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/andreasmuller","login":"andreasmuller","id":791114},"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","comments":1,"assignee":null,"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","number":646,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"cccc29","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation"}],"id":1216274,"created_at":"2011-07-13T15:18:04Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roxlu","login":"roxlu","id":358809},"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","comments":0,"assignee":null,"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","number":645,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1209436,"created_at":"2011-07-12T16:05:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/obviousjim","login":"obviousjim","id":321434},"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","comments":1,"assignee":null,"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","number":643,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":1208289,"created_at":"2011-07-12T13:05:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/cerupcat","login":"cerupcat","id":204151},"title":"ofxiPhone: Possible delayed input/touch event issue ","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/julapy","login":"julapy","id":331382},"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","number":642,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1205789,"created_at":"2011-07-12T02:46:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roxlu","login":"roxlu","id":358809},"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","comments":1,"assignee":null,"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","number":631,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1185346,"created_at":"2011-07-07T21:37:47Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442},"closed_issues":16,"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roxlu","login":"roxlu","id":358809},"title":"ofLoadURL() does not work with httpS","comments":5,"assignee":null,"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","number":623,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1175654,"created_at":"2011-07-06T18:12:06Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roxlu","login":"roxlu","id":358809},"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","comments":0,"assignee":null,"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","number":618,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1169032,"created_at":"2011-07-05T18:23:34Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294},"title":"need conversion ofMatrix3x3<->ofMatrix4x4","comments":0,"assignee":null,"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","number":612,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":1124068,"created_at":"2011-06-27T18:30:26Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294},"title":"function wrapping glMultMatrixf in ofMatrix4x4","comments":4,"assignee":null,"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","number":605,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":1067300,"created_at":"2011-06-16T13:13:35Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/mazbox","login":"mazbox","id":194121},"title":"ofLaunchBrowser() for iPhone not implemented","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/julapy","login":"julapy","id":331382},"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","number":603,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":1048971,"created_at":"2011-06-13T13:03:15Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"f92a8e912b59171abde0354e2f212c12","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/tomorrowevening","login":"tomorrowevening","id":626143},"title":"TCPManager Consistent Error","comments":1,"assignee":null,"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","number":599,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":1027184,"created_at":"2011-06-08T23:02:28Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240},"title":"problem with ofImage resize","comments":0,"assignee":null,"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","number":591,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":984564,"created_at":"2011-06-01T13:56:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"c7f941e0c10696b758ae8792714a6744","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/cristobal","login":"cristobal","id":155505},"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","comments":0,"assignee":null,"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","number":590,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":978212,"created_at":"2011-05-31T11:31:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106},"title":"setFromPixels vs setFromExternalPixels","comments":0,"assignee":null,"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","number":589,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":976610,"created_at":"2011-05-31T02:06:22Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106},"title":"templated code needs to be more readable","comments":5,"assignee":null,"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","number":582,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":942647,"created_at":"2011-05-23T17:46:28Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e6d243a56cd069a225f56f4a388e8838","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/labatrockwell","login":"labatrockwell","id":313943},"title":"ofSerial: add 230400 speed","comments":2,"assignee":null,"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","number":577,"closed_at":null,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":932655,"created_at":"2011-05-20T16:16:52Z"},{"milestone":{"state":"open","description":"","title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"number":8,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442},"closed_issues":0,"id":88731,"created_at":"2012-02-25T01:34:28Z"},"state":"open","user":{"gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/damiannz","login":"damiannz","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","comments":17,"assignee":{"gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/damiannz","login":"damiannz","id":144366},"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","number":576,"closed_at":null,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","labels":[],"id":927378,"created_at":"2011-05-19T14:49:57Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '47539'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"acf3f766b7c50e2fb9b6897576cc36ab"'), ('date', 'Tue, 29 May 2012 06:43:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"assignee":null,"closed_at":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":895515,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/572"},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"assignee":null,"closed_at":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":883385,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/569"},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"assignee":null,"closed_at":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":883380,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/568"},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","id":720460,"avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":862321,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/566"},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":null,"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","id":313943,"avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"id":853551,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/565"},{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"assignee":null,"closed_at":null,"title":"ofxShader for iOS","labels":[],"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","id":132584,"avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":850096,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/564"},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"assignee":null,"closed_at":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":833772,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/560"},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"assignee":null,"closed_at":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":723496,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/520"},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"assignee":null,"closed_at":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":721833,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/519"},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"assignee":null,"closed_at":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":693126,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/510"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '39552'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"606aaf570390fb916af9285c189a2d03"'), ('date', 'Tue, 29 May 2012 06:43:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"assignee":null,"closed_at":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":689769,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/507"},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"assignee":null,"closed_at":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":688955,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/503"},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":684091,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/502"},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"assignee":null,"closed_at":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":683732,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/501"},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"assignee":null,"closed_at":null,"title":"missing const version of getPixelsRef()","labels":[],"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":672608,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/500"},{"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","comments":0,"milestone":null,"number":495,"assignee":null,"closed_at":null,"title":"osx movieplayer problem on reloading","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-03-09T16:17:56Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":659446,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/495"},{"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","comments":0,"milestone":null,"number":491,"assignee":null,"closed_at":null,"title":"GLUT 007 hack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-03-04T14:44:53Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":646846,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/491"},{"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","comments":0,"milestone":null,"number":490,"assignee":null,"closed_at":null,"title":"close corners on basic shapes?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-03-03T16:35:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":643861,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/490"},{"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","comments":0,"milestone":null,"number":486,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"ofOrientation incompatible with iOS addon","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-02-28T18:14:04Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":635112,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/486"},{"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","comments":12,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":484,"assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_at":null,"title":"grabFrame/idleFrame deprecation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-02-20T17:56:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":613171,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/484"},{"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","comments":0,"milestone":null,"number":475,"assignee":null,"closed_at":null,"title":"ofVideoPlayer bug when loading subsequent movies after the first one","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-02-14T17:11:08Z","state":"open","user":{"url":"https://api.github.com/users/nemik","avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ace632f74988653fdbde09225134bfdd","login":"nemik","id":62301},"id":598097,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/475"},{"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","comments":0,"milestone":null,"number":463,"assignee":null,"closed_at":null,"title":"object init/load state is not consistently testable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-02-07T19:58:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":581395,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/463"},{"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","comments":0,"milestone":null,"number":462,"assignee":null,"closed_at":null,"title":"OpenCV cvSobel() not working with latest master branch","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-02-07T15:58:19Z","state":"open","user":{"url":"https://api.github.com/users/nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","id":277690},"id":580717,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/462"},{"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","comments":0,"milestone":null,"number":461,"assignee":null,"closed_at":null,"title":"get number of input devices and device IDs from ofVideoGrabber","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-02-07T15:24:21Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":580556,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/461"},{"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","comments":8,"milestone":null,"number":460,"assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"closed_at":null,"title":"saveImage() and other save operations should create missing directories","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-02-07T07:52:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":579790,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/460"},{"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","comments":0,"milestone":null,"number":454,"assignee":null,"closed_at":null,"title":"ofTexture::allocate not checking for unnecessary reallocation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-02-06T04:26:44Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":578069,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/454"},{"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","comments":0,"milestone":null,"number":449,"assignee":null,"closed_at":null,"title":"ofViewport doesn't work with ofSetOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-02-02T00:03:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":568540,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/449"},{"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","comments":0,"milestone":null,"number":446,"assignee":null,"closed_at":null,"title":"no way to get imageType of ofVideoGrabber","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-01-31T19:26:41Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":565122,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/446"},{"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","comments":0,"milestone":null,"number":428,"assignee":null,"closed_at":null,"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"created_at":"2011-01-28T06:28:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":558215,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/428"},{"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","comments":1,"milestone":null,"number":424,"assignee":null,"closed_at":null,"title":"Check ofShader Texture Wrap Parameters","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-01-27T19:43:31Z","state":"open","user":{"url":"https://api.github.com/users/NickHardeman","avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","login":"NickHardeman","id":142694},"id":556923,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/424"},{"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","comments":0,"milestone":null,"number":423,"assignee":null,"closed_at":null,"title":"problem with reloading movies in osx","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2011-01-24T22:34:29Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":548302,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/423"},{"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":421,"assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"closed_at":null,"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"created_at":"2011-01-24T20:52:18Z","state":"open","user":{"url":"https://api.github.com/users/snibbe","avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","login":"snibbe","id":581517},"id":548070,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/421"},{"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","comments":0,"milestone":null,"number":418,"assignee":null,"closed_at":null,"title":"something to wrap glMultMatrixf","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-01-22T15:57:37Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":543729,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/418"},{"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","comments":0,"milestone":null,"number":417,"assignee":null,"closed_at":null,"title":"3D isn't scale invariant in certain parts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-01-22T15:24:07Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":543694,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/417"},{"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","comments":3,"milestone":null,"number":414,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"Simulator not working with any examples ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-20T20:17:35Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":539979,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/414"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '39721'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"3d3037764dd77af4d0d48c0efe09d81d"'), ('date', 'Tue, 29 May 2012 06:43:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":413,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"ofCamera::setPan is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-20T20:01:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":539915,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/413"},{"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","comments":0,"milestone":null,"number":412,"assignee":null,"closed_at":null,"title":"add setMultisampling method to glutWindow","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-01-20T19:33:30Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":539845,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/412"},{"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":410,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-20T18:59:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":539744,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/410"},{"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","comments":0,"milestone":null,"number":406,"assignee":null,"closed_at":null,"title":"ofEnableLighting","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-19T19:39:36Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":537416,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/406"},{"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","comments":0,"milestone":null,"number":405,"assignee":null,"closed_at":null,"title":"ofViewport doesn't match rest of openFrameworks coordinates","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-19T13:24:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":536614,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/405"},{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"assignee":null,"closed_at":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":532954,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/403"},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"assignee":null,"closed_at":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":532096,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/400"},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"assignee":null,"closed_at":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":529705,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/391"},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"assignee":null,"closed_at":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":529700,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/389"},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"assignee":null,"closed_at":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":529646,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/387"},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"closed_at":null,"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","id":177578},"id":529268,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/375"},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"assignee":null,"closed_at":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":527591,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/357"},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"assignee":null,"closed_at":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":526094,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/347"},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"assignee":null,"closed_at":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":524875,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/340"},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":523837,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/337"},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"closed_at":null,"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":522789,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/330"},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"assignee":null,"closed_at":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":522255,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/325"},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"assignee":null,"closed_at":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":522231,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/324"},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"assignee":null,"closed_at":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":518434,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/311"},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"assignee":null,"closed_at":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":516844,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/305"},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":516565,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/302"},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":516560,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/299"},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":0,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":516559,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/298"},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":516556,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/296"},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"assignee":null,"closed_at":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","id":520375},"id":516071,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/292"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '43018'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"caade974e6dd6e7ac7febf9cb0494e92"'), ('date', 'Tue, 29 May 2012 06:43:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"assignee":null,"closed_at":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":513779,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/288"},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"assignee":null,"closed_at":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":445829,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/275"},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"assignee":null,"closed_at":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":433297,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/271"},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":426050,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/265"},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"assignee":null,"closed_at":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":425675,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/264"},{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"closed_at":null,"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/255"},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"assignee":null,"closed_at":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/249"},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/245"},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"assignee":null,"closed_at":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/244"},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/240"},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/236"},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"assignee":null,"closed_at":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/228"},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"assignee":null,"closed_at":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/227"},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"assignee":null,"closed_at":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/225"},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_at":null,"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/224"},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"assignee":null,"closed_at":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/214"},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"assignee":null,"closed_at":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/199"},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"assignee":null,"closed_at":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/194"},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/193"},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"assignee":null,"closed_at":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/182"},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"assignee":null,"closed_at":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/181"},{"updated_at":"2011-12-02T15:44:06Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"assignee":null,"closed_at":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/178"},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"assignee":null,"closed_at":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/175"},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"assignee":null,"closed_at":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/174"},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/173"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '23083'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"f317f6e26c56743bf8ac8b747a73d3af"'), ('date', 'Tue, 29 May 2012 06:43:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":172,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":166209,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/172"},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":171,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":166208,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/171"},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731,"closed_issues":0},"number":167,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"closed_at":null,"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":165898,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/167"},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":160,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":165537,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/160"},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":153,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":165409,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/153"},{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":140,"assignee":null,"closed_at":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/140"},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"assignee":null,"closed_at":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/128"},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":126,"assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"closed_at":null,"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/126"},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090,"closed_issues":0},"number":124,"assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"closed_at":null,"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/124"},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":121,"assignee":null,"closed_at":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/121"},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"assignee":null,"closed_at":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/115"},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"assignee":null,"closed_at":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/107"},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"assignee":null,"closed_at":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/91"}] - diff --git a/github/tests/ReplayData/Issue494.setUp.txt b/github/tests/ReplayData/Issue494.setUp.txt deleted file mode 100644 index 688cbd3..0000000 --- a/github/tests/ReplayData/Issue494.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/apache/brooklyn-server/pulls/465 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '15049'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '7b641bda7ec2ca7cd9df72d2578baf75'), ('x-oauth-scopes', 'public_repo'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"fde80d800fc318ecf3ec43cdee7b8719"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '569898E3:14C7:97463B5:583DDA4C'), ('last-modified', 'Fri, 25 Nov 2016 13:15:31 GMT'), ('date', 'Tue, 29 Nov 2016 19:43:08 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1480452188')] -{"url":"https://api.github.com/repos/apache/brooklyn-server/pulls/465","id":95300332,"html_url":"https://github.com/apache/brooklyn-server/pull/465","diff_url":"https://github.com/apache/brooklyn-server/pull/465.diff","patch_url":"https://github.com/apache/brooklyn-server/pull/465.patch","issue_url":"https://api.github.com/repos/apache/brooklyn-server/issues/465","number":465,"state":"closed","locked":false,"title":"Change SetHostnameCustomizer to check if /etc/sysconfig/network exist…","user":{"login":"iyovcheva","id":4160133,"avatar_url":"https://avatars.githubusercontent.com/u/4160133?v=3","gravatar_id":"","url":"https://api.github.com/users/iyovcheva","html_url":"https://github.com/iyovcheva","followers_url":"https://api.github.com/users/iyovcheva/followers","following_url":"https://api.github.com/users/iyovcheva/following{/other_user}","gists_url":"https://api.github.com/users/iyovcheva/gists{/gist_id}","starred_url":"https://api.github.com/users/iyovcheva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iyovcheva/subscriptions","organizations_url":"https://api.github.com/users/iyovcheva/orgs","repos_url":"https://api.github.com/users/iyovcheva/repos","events_url":"https://api.github.com/users/iyovcheva/events{/privacy}","received_events_url":"https://api.github.com/users/iyovcheva/received_events","type":"User","site_admin":false},"body":"…s on machine and create it if not\r\n\r\nIn some rare situations it's possible `/etc/sysconfig/network` to be missing on the VM on CentOS 6.\r\nChanged the behavior of `SetHostnameCustomizer` to check and create the file.","created_at":"2016-11-25T12:54:37Z","updated_at":"2016-11-25T13:15:31Z","closed_at":"2016-11-25T13:01:03Z","merged_at":null,"merge_commit_sha":"2ecd02721a0b2920bc2ea333a7a3ce4d74458f19","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/apache/brooklyn-server/pulls/465/commits","review_comments_url":"https://api.github.com/repos/apache/brooklyn-server/pulls/465/comments","review_comment_url":"https://api.github.com/repos/apache/brooklyn-server/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/brooklyn-server/issues/465/comments","statuses_url":"https://api.github.com/repos/apache/brooklyn-server/statuses/68fd4d17d44ff9f16a59d8dd18f48fba3b5b38a5","head":{"label":"iyovcheva:set-hostname-customizer","ref":"set-hostname-customizer","sha":"68fd4d17d44ff9f16a59d8dd18f48fba3b5b38a5","user":{"login":"iyovcheva","id":4160133,"avatar_url":"https://avatars.githubusercontent.com/u/4160133?v=3","gravatar_id":"","url":"https://api.github.com/users/iyovcheva","html_url":"https://github.com/iyovcheva","followers_url":"https://api.github.com/users/iyovcheva/followers","following_url":"https://api.github.com/users/iyovcheva/following{/other_user}","gists_url":"https://api.github.com/users/iyovcheva/gists{/gist_id}","starred_url":"https://api.github.com/users/iyovcheva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iyovcheva/subscriptions","organizations_url":"https://api.github.com/users/iyovcheva/orgs","repos_url":"https://api.github.com/users/iyovcheva/repos","events_url":"https://api.github.com/users/iyovcheva/events{/privacy}","received_events_url":"https://api.github.com/users/iyovcheva/received_events","type":"User","site_admin":false},"repo":{"id":51428490,"name":"brooklyn-server","full_name":"iyovcheva/brooklyn-server","owner":{"login":"iyovcheva","id":4160133,"avatar_url":"https://avatars.githubusercontent.com/u/4160133?v=3","gravatar_id":"","url":"https://api.github.com/users/iyovcheva","html_url":"https://github.com/iyovcheva","followers_url":"https://api.github.com/users/iyovcheva/followers","following_url":"https://api.github.com/users/iyovcheva/following{/other_user}","gists_url":"https://api.github.com/users/iyovcheva/gists{/gist_id}","starred_url":"https://api.github.com/users/iyovcheva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iyovcheva/subscriptions","organizations_url":"https://api.github.com/users/iyovcheva/orgs","repos_url":"https://api.github.com/users/iyovcheva/repos","events_url":"https://api.github.com/users/iyovcheva/events{/privacy}","received_events_url":"https://api.github.com/users/iyovcheva/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/iyovcheva/brooklyn-server","description":"Mirror of Apache Brooklyn server","fork":true,"url":"https://api.github.com/repos/iyovcheva/brooklyn-server","forks_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/forks","keys_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/teams","hooks_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/hooks","issue_events_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/issues/events{/number}","events_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/events","assignees_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/assignees{/user}","branches_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/branches{/branch}","tags_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/tags","blobs_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/statuses/{sha}","languages_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/languages","stargazers_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/stargazers","contributors_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/contributors","subscribers_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/subscribers","subscription_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/subscription","commits_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/contents/{+path}","compare_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/merges","archive_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/downloads","issues_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/issues{/number}","pulls_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/pulls{/number}","milestones_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/milestones{/number}","notifications_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/labels{/name}","releases_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/releases{/id}","deployments_url":"https://api.github.com/repos/iyovcheva/brooklyn-server/deployments","created_at":"2016-02-10T08:15:16Z","updated_at":"2016-02-10T08:15:26Z","pushed_at":"2016-11-25T12:50:52Z","git_url":"git://github.com/iyovcheva/brooklyn-server.git","ssh_url":"git@github.com:iyovcheva/brooklyn-server.git","clone_url":"https://github.com/iyovcheva/brooklyn-server.git","svn_url":"https://github.com/iyovcheva/brooklyn-server","homepage":null,"size":32053,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"870986bd96d1fc15d66ca3f249ae86dbc93eafc7","user":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":47246081,"name":"brooklyn-server","full_name":"apache/brooklyn-server","owner":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apache/brooklyn-server","description":"Mirror of Apache Brooklyn server","fork":false,"url":"https://api.github.com/repos/apache/brooklyn-server","forks_url":"https://api.github.com/repos/apache/brooklyn-server/forks","keys_url":"https://api.github.com/repos/apache/brooklyn-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/brooklyn-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/brooklyn-server/teams","hooks_url":"https://api.github.com/repos/apache/brooklyn-server/hooks","issue_events_url":"https://api.github.com/repos/apache/brooklyn-server/issues/events{/number}","events_url":"https://api.github.com/repos/apache/brooklyn-server/events","assignees_url":"https://api.github.com/repos/apache/brooklyn-server/assignees{/user}","branches_url":"https://api.github.com/repos/apache/brooklyn-server/branches{/branch}","tags_url":"https://api.github.com/repos/apache/brooklyn-server/tags","blobs_url":"https://api.github.com/repos/apache/brooklyn-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/brooklyn-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/brooklyn-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/brooklyn-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/brooklyn-server/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/brooklyn-server/languages","stargazers_url":"https://api.github.com/repos/apache/brooklyn-server/stargazers","contributors_url":"https://api.github.com/repos/apache/brooklyn-server/contributors","subscribers_url":"https://api.github.com/repos/apache/brooklyn-server/subscribers","subscription_url":"https://api.github.com/repos/apache/brooklyn-server/subscription","commits_url":"https://api.github.com/repos/apache/brooklyn-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/brooklyn-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/brooklyn-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/brooklyn-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/brooklyn-server/contents/{+path}","compare_url":"https://api.github.com/repos/apache/brooklyn-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/brooklyn-server/merges","archive_url":"https://api.github.com/repos/apache/brooklyn-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/brooklyn-server/downloads","issues_url":"https://api.github.com/repos/apache/brooklyn-server/issues{/number}","pulls_url":"https://api.github.com/repos/apache/brooklyn-server/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/brooklyn-server/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/brooklyn-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/brooklyn-server/labels{/name}","releases_url":"https://api.github.com/repos/apache/brooklyn-server/releases{/id}","deployments_url":"https://api.github.com/repos/apache/brooklyn-server/deployments","created_at":"2015-12-02T08:00:06Z","updated_at":"2016-11-01T11:09:27Z","pushed_at":"2016-11-29T17:32:56Z","git_url":"git://github.com/apache/brooklyn-server.git","ssh_url":"git@github.com:apache/brooklyn-server.git","clone_url":"https://github.com/apache/brooklyn-server.git","svn_url":"https://github.com/apache/brooklyn-server","homepage":null,"size":33116,"stargazers_count":13,"watchers_count":13,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":40,"mirror_url":"git://git.apache.org/brooklyn-server.git","open_issues_count":19,"forks":40,"open_issues":19,"watchers":13,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/brooklyn-server/pulls/465"},"html":{"href":"https://github.com/apache/brooklyn-server/pull/465"},"issue":{"href":"https://api.github.com/repos/apache/brooklyn-server/issues/465"},"comments":{"href":"https://api.github.com/repos/apache/brooklyn-server/issues/465/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/brooklyn-server/pulls/465/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/brooklyn-server/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/brooklyn-server/pulls/465/commits"},"statuses":{"href":"https://api.github.com/repos/apache/brooklyn-server/statuses/68fd4d17d44ff9f16a59d8dd18f48fba3b5b38a5"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":1,"review_comments":0,"commits":1,"additions":32,"deletions":7,"changed_files":1} - diff --git a/github/tests/ReplayData/Issue50.setUp.txt b/github/tests/ReplayData/Issue50.setUp.txt deleted file mode 100644 index 9f73230..0000000 --- a/github/tests/ReplayData/Issue50.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4892'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 15 Jun 2012 15:37:06 GMT'), ('connection', 'keep-alive'), ('etag', '"41ade9c2e4794dd5214bb5f497af92cb"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"following":24,"created_at":"2010-07-09T06:10:06Z","type":"User","private_gists":5,"public_repos":11,"followers":13,"hireable":false,"html_url":"https://github.com/jacquev6","bio":"","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","disk_usage":16820,"blog":"http://vincent-jacques.net","location":"Paris, France","total_private_repos":5,"login":"jacquev6","owned_private_repos":5,"collaborators":0,"name":"Vincent Jacques","company":"Criteo","url":"https://api.github.com/users/jacquev6","plan":{"space":614400,"private_repos":5,"collaborators":1,"name":"micro"},"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"public_gists":3,"email":"vincent@vincent-jacques.net"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1154'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4891'), ('server', 'nginx/1.0.13'), ('last-modified', 'Tue, 26 Jun 2012 12:30:06 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eb3fdb98c65995892b016162b91ad68c"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"homepage":"http://vincent-jacques.net/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"open_issues":12,"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","permissions":{"push":true,"admin":true,"pull":true},"description":"Python library implementing the full Github API v3","master_branch":"master","has_issues":true,"svn_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub","has_downloads":true,"size":184,"fork":false,"created_at":"2012-02-25T12:53:47Z","html_url":"https://github.com/jacquev6/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","language":"Python","clone_url":"https://github.com/jacquev6/PyGithub.git","private":false,"pushed_at":"2012-06-20T21:03:27Z","id":3544490,"forks":5,"has_wiki":false,"watchers":29,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-06-26T12:30:06Z"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/50 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '2169'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4890'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 27 Jun 2012 22:46:10 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bb61450865a934ca7ee53d6dde588876"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"labels":[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"}],"body":null,"state":"open","closed_at":null,"assignee":{"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"comments":2,"title":"[Issue] Replace label _identity with name","created_at":"2012-06-25T18:45:05Z","number":50,"milestone":{"open_issues":3,"state":"open","due_on":"2012-07-01T07:00:00Z","description":"","creator":{"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":0,"title":"Version 1.2","created_at":"2012-06-25T19:31:02Z","number":6,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","id":136827},"html_url":"https://github.com/jacquev6/PyGithub/issues/50","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50","closed_by":null,"user":{"login":"philipkimmey","gravatar_id":"6baf93a46e584369e1ea64bc1aca62f4","url":"https://api.github.com/users/philipkimmey","avatar_url":"https://secure.gravatar.com/avatar/6baf93a46e584369e1ea64bc1aca62f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":211079},"id":5256315,"pull_request":{"diff_url":"https://github.com/jacquev6/PyGithub/pull/50.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/50.patch","html_url":"https://github.com/jacquev6/PyGithub/pull/50"},"updated_at":"2012-06-25T19:33:48Z"} - diff --git a/github/tests/ReplayData/Issue50.testAddLabelToIssue.txt b/github/tests/ReplayData/Issue50.testAddLabelToIssue.txt deleted file mode 100644 index 5cff00a..0000000 --- a/github/tests/ReplayData/Issue50.testAddLabelToIssue.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '197'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4918'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:54:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/50/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Label with spaces and strange characters (&*#$)"] -200 -[('status', '200 OK'), ('content-length', '419'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4917'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"e1d0a1c54608a676af0cdc1f63e04da7"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 19:54:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"}] - diff --git a/github/tests/ReplayData/Issue50.testCreateIssueWithLabel.txt b/github/tests/ReplayData/Issue50.testCreateIssueWithLabel.txt deleted file mode 100644 index 62edb57..0000000 --- a/github/tests/ReplayData/Issue50.testCreateIssueWithLabel.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '197'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4908'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:56:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"labels": ["Label with spaces and strange characters (&*#$)"], "title": "Issue created by PyGithub to test issue #50"} -201 -[('status', '201 Created'), ('content-length', '963'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4907'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"e1e5db9ef97e084a3d36ede8dc41c0d9"'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/52'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 19:56:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"labels":[{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"}],"body":null,"state":"open","closed_at":null,"assignee":null,"comments":0,"title":"Issue created by PyGithub to test issue #50","created_at":"2012-06-28T19:56:21Z","number":52,"milestone":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/52","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/52","closed_by":null,"user":{"login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"id":5330629,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"updated_at":"2012-06-28T19:56:21Z"} - diff --git a/github/tests/ReplayData/Issue50.testCreateLabel.txt b/github/tests/ReplayData/Issue50.testCreateLabel.txt deleted file mode 100644 index 01b235a..0000000 --- a/github/tests/ReplayData/Issue50.testCreateLabel.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"color": "ffff00", "name": "Label with spaces and strange characters (&*#$)"} -201 -[('status', '201 Created'), ('content-length', '197'), ('etag', '"99cbb3bf0f7ee7d6278c2ddd3ef42577"'), ('x-ratelimit-remaining', '4968'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - diff --git a/github/tests/ReplayData/Issue50.testGetIssuesWithLabel.txt b/github/tests/ReplayData/Issue50.testGetIssuesWithLabel.txt deleted file mode 100644 index 3d4f4c7..0000000 --- a/github/tests/ReplayData/Issue50.testGetIssuesWithLabel.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4894'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '197'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?labels=Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '3101'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4893'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:56:21 GMT'), ('connection', 'keep-alive'), ('etag', '"60a85542a2e824eb5fc96c5a99657fff"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:03:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"labels":[{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"}],"body":null,"state":"open","closed_at":null,"assignee":null,"comments":0,"title":"Issue created by PyGithub to test issue #50","created_at":"2012-06-28T19:56:21Z","number":52,"milestone":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/52","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/52","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"id":5330629,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"updated_at":"2012-06-28T19:56:21Z"},{"labels":[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"}],"body":null,"state":"open","closed_at":null,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"comments":2,"title":"[Issue] Replace label _identity with name","created_at":"2012-06-25T18:45:05Z","number":50,"milestone":{"open_issues":3,"state":"open","due_on":"2012-07-01T07:00:00Z","description":"","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":0,"title":"Version 1.2","created_at":"2012-06-25T19:31:02Z","number":6,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","id":136827},"html_url":"https://github.com/jacquev6/PyGithub/issues/50","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/50","user":{"avatar_url":"https://secure.gravatar.com/avatar/6baf93a46e584369e1ea64bc1aca62f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"philipkimmey","gravatar_id":"6baf93a46e584369e1ea64bc1aca62f4","url":"https://api.github.com/users/philipkimmey","id":211079},"id":5256315,"pull_request":{"diff_url":"https://github.com/jacquev6/PyGithub/pull/50.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/50.patch","html_url":"https://github.com/jacquev6/PyGithub/pull/50"},"updated_at":"2012-06-25T19:33:48Z"}] - diff --git a/github/tests/ReplayData/Issue50.testGetLabel.txt b/github/tests/ReplayData/Issue50.testGetLabel.txt deleted file mode 100644 index b5f39d2..0000000 --- a/github/tests/ReplayData/Issue50.testGetLabel.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '197'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4964'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:32:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - diff --git a/github/tests/ReplayData/Issue50.testGetLabels.txt b/github/tests/ReplayData/Issue50.testGetLabels.txt deleted file mode 100644 index 2c20d6c..0000000 --- a/github/tests/ReplayData/Issue50.testGetLabels.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1015'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4953'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:36:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"0b02e1","name":"Refactoring","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring"},{"color":"d7e102","name":"Public interface","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface"},{"color":"e102d8","name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities"},{"color":"444444","name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management"},{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"02e10c","name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"}] - diff --git a/github/tests/ReplayData/Issue50.testIssueGetLabels.txt b/github/tests/ReplayData/Issue50.testIssueGetLabels.txt deleted file mode 100644 index dab3552..0000000 --- a/github/tests/ReplayData/Issue50.testIssueGetLabels.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/50/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4903'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '419'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:57:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"}] - diff --git a/github/tests/ReplayData/Issue50.testRemoveLabelFromIssue.txt b/github/tests/ReplayData/Issue50.testRemoveLabelFromIssue.txt deleted file mode 100644 index d95e3ba..0000000 --- a/github/tests/ReplayData/Issue50.testRemoveLabelFromIssue.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '197'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4937'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 19:43:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/50/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '221'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4936'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"f52869e02750b4a36166ec2d23c2f471"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 19:43:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"}] - diff --git a/github/tests/ReplayData/Issue50.testSetIssueLabels.txt b/github/tests/ReplayData/Issue50.testSetIssueLabels.txt deleted file mode 100644 index 3d26675..0000000 --- a/github/tests/ReplayData/Issue50.testSetIssueLabels.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '97'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4889'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"147027ac86c95043e935b318f88c3683"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/RequestedByUser -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '121'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4888'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sat, 20 Oct 2007 11:24:19 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"147027ac86c95043e935b318f88c3683"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20spaces%20and%20strange%20characters%20%28%26%2A%23%24%29 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4887'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '197'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 28 Jun 2012 19:29:52 GMT'), ('connection', 'keep-alive'), ('etag', '"c536d81e7479c8c9acfa7deeddeb6e72"'), ('cache-control', 'private, max-age=60'), ('date', 'Thu, 28 Jun 2012 20:04:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/issues/50/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -["Bug", "RequestedByUser", "Label with spaces and strange characters (&*#$)"] -200 -[('status', '200 OK'), ('content-length', '419'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4886'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"e1d0a1c54608a676af0cdc1f63e04da7"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:04:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"color":"e10c02","name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug"},{"color":"ffff00","name":"Label with spaces and strange characters (&*#$)","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+spaces+and+strange+characters+%28%26%2A%23%24%29"},{"color":"e10c02","name":"RequestedByUser","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/RequestedByUser"}] - diff --git a/github/tests/ReplayData/Issue54.setUp.txt b/github/tests/ReplayData/Issue54.setUp.txt deleted file mode 100644 index 2e9cca2..0000000 --- a/github/tests/ReplayData/Issue54.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '801'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4986'), ('server', 'nginx/1.0.13'), ('last-modified', 'Mon, 09 Jul 2012 06:49:53 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bd2b9dfc8ba65f7665102d6245a1593"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 13 Jul 2012 19:06:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"html_url":"https://github.com/jacquev6","type":"User","email":"vincent@vincent-jacques.net","created_at":"2010-07-09T06:10:06Z","collaborators":0,"followers":13,"company":"Criteo","plan":{"collaborators":1,"space":614400,"private_repos":5,"name":"micro"},"hireable":false,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","disk_usage":16468,"blog":"http://vincent-jacques.net","bio":"","public_gists":3,"total_private_repos":3,"public_repos":12,"private_gists":5,"name":"Vincent Jacques","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","owned_private_repos":3,"following":26,"location":"Paris, France","id":327146,"login":"jacquev6","url":"https://api.github.com/users/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/TestRepo -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1172'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 13 Jul 2012 18:48:49 GMT'), ('connection', 'keep-alive'), ('etag', '"385e2f22f9b54b1d56fc731de0d5c9bc"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 13 Jul 2012 19:06:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"permissions":{"push":true,"admin":true,"pull":true},"open_issues":0,"clone_url":"https://github.com/jacquev6/TestRepo.git","ssh_url":"git@github.com:jacquev6/TestRepo.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146,"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225"},"description":"Test repository created around Fri, 13 Jul 2012 18:43:21 GMT, that is vendredi 13 juillet 2012 20:43:21 GMT+2","master_branch":"master","mirror_url":null,"has_issues":true,"html_url":"https://github.com/jacquev6/TestRepo","pushed_at":"2012-07-13T18:47:21Z","forks":1,"has_downloads":true,"created_at":"2012-07-13T18:45:21Z","full_name":"jacquev6/TestRepo","language":null,"size":96,"fork":false,"svn_url":"https://github.com/jacquev6/TestRepo","has_wiki":true,"watchers":1,"updated_at":"2012-07-13T18:48:49Z","name":"TestRepo","git_url":"git://github.com/jacquev6/TestRepo.git","private":false,"id":5023526,"homepage":null,"url":"https://api.github.com/repos/jacquev6/TestRepo"} - diff --git a/github/tests/ReplayData/Issue54.testConversion.txt b/github/tests/ReplayData/Issue54.testConversion.txt deleted file mode 100644 index 979ec56..0000000 --- a/github/tests/ReplayData/Issue54.testConversion.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/TestRepo/git/commits/73f320ae06cd565cf38faca34b6a482addfc721b -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '676'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 13 Jul 2012 18:47:10 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ab832024b149674b5210a1a3b146575c"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 13 Jul 2012 19:06:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"committer":{"email":"vincent@vincent-jacques.net","date":"2012-07-13T11:47:10-07:00","name":"Vincent Jacques"},"message":"Test commit created around Fri, 13 Jul 2012 18:43:21 GMT, that is vendredi 13 juillet 2012 20:43:21 GMT+2\n","sha":"73f320ae06cd565cf38faca34b6a482addfc721b","tree":{"sha":"52fe1ba4ac2b979c0a8fbeb9f87c1b1c9f177520","url":"https://api.github.com/repos/jacquev6/TestRepo/git/trees/52fe1ba4ac2b979c0a8fbeb9f87c1b1c9f177520"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-07-13T11:47:10-07:00","name":"Vincent Jacques"},"parents":[],"url":"https://api.github.com/repos/jacquev6/TestRepo/git/commits/73f320ae06cd565cf38faca34b6a482addfc721b"} - diff --git a/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterprise.txt b/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterprise.txt deleted file mode 100644 index 0d3f6a7..0000000 --- a/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterprise.txt +++ /dev/null @@ -1,22 +0,0 @@ -http -GET -my.enterprise.com -None -/some/prefix/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd349122929faf5f9be3e53d9ad41d08"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","url":"https://my.enterprise.com/some/prefix/orgs/BeaverSoftware","billing_email":"BeaverSoftware@vincent-jacques.net","disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"html_url":"https://github.com/BeaverSoftware","blog":null,"login":"BeaverSoftware","public_gists":0,"email":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"private_gists":0,"collaborators":0,"created_at":"2012-02-09T19:20:12Z","company":null,"location":"Paris, France","followers":0,"following":0,"name":null,"owned_private_repos":0,"id":1424031,"public_repos":2} - -http -GET -my.enterprise.com -None -/some/prefix/orgs/BeaverSoftware/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '2300'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"56a6b76672924aa7f1d6f1753388f04b"'), ('date', 'Sun, 27 May 2012 05:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://my.enterprise.com/some/prefix/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://my.enterprise.com/some/prefix/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"},{"clone_url":"https://github.com/BeaverSoftware/TestPyGithub.git","has_downloads":true,"watchers":1,"git_url":"git://github.com/BeaverSoftware/TestPyGithub.git","updated_at":"2012-04-25T06:51:38Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://my.enterprise.com/some/prefix/repos/BeaverSoftware/TestPyGithub","has_wiki":true,"has_issues":false,"fork":false,"forks":0,"mirror_url":null,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/TestPyGithub","owner":{"url":"https://my.enterprise.com/some/prefix/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"TestPyGithub","language":null,"description":"Guinea-pig for PyGithub testing","ssh_url":"git@github.com:BeaverSoftware/TestPyGithub.git","pushed_at":"2012-03-03T08:57:40Z","created_at":"2012-03-03T07:53:19Z","id":3609352,"html_url":"https://github.com/BeaverSoftware/TestPyGithub","full_name":"BeaverSoftware/TestPyGithub"}] - diff --git a/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterpriseWithPort.txt b/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterpriseWithPort.txt deleted file mode 100644 index 56035b5..0000000 --- a/github/tests/ReplayData/Issue80.testIgnoreHttpsFromGithubEnterpriseWithPort.txt +++ /dev/null @@ -1,22 +0,0 @@ -http -GET -my.enterprise.com -1234 -/some/prefix/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd349122929faf5f9be3e53d9ad41d08"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","url":"https://my.enterprise.com:1234/some/prefix/orgs/BeaverSoftware","billing_email":"BeaverSoftware@vincent-jacques.net","disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"html_url":"https://github.com/BeaverSoftware","blog":null,"login":"BeaverSoftware","public_gists":0,"email":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"private_gists":0,"collaborators":0,"created_at":"2012-02-09T19:20:12Z","company":null,"location":"Paris, France","followers":0,"following":0,"name":null,"owned_private_repos":0,"id":1424031,"public_repos":2} - -http -GET -my.enterprise.com -1234 -/some/prefix/orgs/BeaverSoftware/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '2300'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"56a6b76672924aa7f1d6f1753388f04b"'), ('date', 'Sun, 27 May 2012 05:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://my.enterprise.com:1234/some/prefix/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://my.enterprise.com:1234/some/prefix/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"},{"clone_url":"https://github.com/BeaverSoftware/TestPyGithub.git","has_downloads":true,"watchers":1,"git_url":"git://github.com/BeaverSoftware/TestPyGithub.git","updated_at":"2012-04-25T06:51:38Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://my.enterprise.com:1234/some/prefix/repos/BeaverSoftware/TestPyGithub","has_wiki":true,"has_issues":false,"fork":false,"forks":0,"mirror_url":null,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/TestPyGithub","owner":{"url":"https://my.enterprise.com:1234/some/prefix/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"TestPyGithub","language":null,"description":"Guinea-pig for PyGithub testing","ssh_url":"git@github.com:BeaverSoftware/TestPyGithub.git","pushed_at":"2012-03-03T08:57:40Z","created_at":"2012-03-03T07:53:19Z","id":3609352,"html_url":"https://github.com/BeaverSoftware/TestPyGithub","full_name":"BeaverSoftware/TestPyGithub"}] - diff --git a/github/tests/ReplayData/Issue87.setUp.txt b/github/tests/ReplayData/Issue87.setUp.txt deleted file mode 100644 index 477b73b..0000000 --- a/github/tests/ReplayData/Issue87.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '806'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4703'), ('server', 'nginx'), ('last-modified', 'Tue, 25 Sep 2012 07:42:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e199a6b2e012ed6ffb1e6a935f4ba856"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Tue, 25 Sep 2012 19:50:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","blog":"http://vincent-jacques.net","public_gists":3,"html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","hireable":false,"private_gists":5,"plan":{"space":614400,"private_repos":5,"name":"micro","collaborators":1},"created_at":"2010-07-09T06:10:06Z","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","email":"vincent@vincent-jacques.net","bio":"","disk_usage":18788,"public_repos":13,"total_private_repos":4,"following":29,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","owned_private_repos":4,"collaborators":1,"id":327146,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1238'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4702'), ('server', 'nginx'), ('last-modified', 'Mon, 24 Sep 2012 18:51:20 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d0aaa41da0d7452a0dad489a3a4fcd35"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Tue, 25 Sep 2012 19:50:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"open_issues":16,"mirror_url":null,"has_issues":true,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","owner":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub","master_branch":"master","description":"Python library implementing the full Github API v3","forks_count":20,"has_downloads":true,"created_at":"2012-02-25T12:53:47Z","svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","network_count":20,"watchers_count":79,"size":408,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-09-17T19:28:28Z","forks":20,"has_wiki":true,"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"watchers":79,"open_issues_count":16,"clone_url":"https://github.com/jacquev6/PyGithub.git","private":false,"updated_at":"2012-09-24T18:51:20Z","full_name":"jacquev6/PyGithub","id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub"} - diff --git a/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInBody.txt b/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInBody.txt deleted file mode 100644 index cc58a4b..0000000 --- a/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInBody.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Escaped percent %25 in body", "title": "Issue created by PyGithub"} -201 -[('status', '201 Created'), ('content-length', '778'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('etag', '"5b11ec85aeed655554b5e7b977975ea0"'), ('x-ratelimit-remaining', '4710'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/96'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 25 Sep 2012 19:50:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_by":null,"created_at":"2012-09-25T19:50:41Z","comments":0,"title":"Issue created by PyGithub","state":"open","assignee":null,"number":96,"updated_at":"2012-09-25T19:50:41Z","html_url":"https://github.com/jacquev6/PyGithub/issues/96","milestone":null,"body":"Escaped percent %25 in body","labels":[],"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146,"login":"jacquev6","url":"https://api.github.com/users/jacquev6"},"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"closed_at":null,"id":7132212,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/96"} - diff --git a/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInTitle.txt b/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInTitle.txt deleted file mode 100644 index 45223a7..0000000 --- a/github/tests/ReplayData/Issue87.testCreateIssueWithEscapedPercentInTitle.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"title": "Issue with escaped percent %25 in title created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4707'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('etag', '"50db679c69dac05fd00490516c95521a"'), ('content-length', '787'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/97'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 25 Sep 2012 19:50:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"body":null,"assignee":null,"labels":[],"user":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/97","milestone":null,"created_at":"2012-09-25T19:50:43Z","comments":0,"title":"Issue with escaped percent %25 in title created by PyGithub","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"closed_at":null,"state":"open","closed_by":null,"number":97,"updated_at":"2012-09-25T19:50:43Z","id":7132216,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/97"} - diff --git a/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInBody.txt b/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInBody.txt deleted file mode 100644 index d572a1a..0000000 --- a/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInBody.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Percent % in body", "title": "Issue created by PyGithub"} -201 -[('status', '201 Created'), ('content-length', '768'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4704'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/98'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 25 Sep 2012 19:50:45 GMT'), ('etag', '"41fe20e6fee4a38d4b11589129459e15"'), ('content-type', 'application/json; charset=utf-8')] -{"body":"Percent % in body","assignee":null,"labels":[],"user":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/98","milestone":null,"created_at":"2012-09-25T19:50:45Z","comments":0,"title":"Issue created by PyGithub","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"closed_at":null,"state":"open","closed_by":null,"number":98,"updated_at":"2012-09-25T19:50:45Z","id":7132217,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/98"} - diff --git a/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInTitle.txt b/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInTitle.txt deleted file mode 100644 index afc82d8..0000000 --- a/github/tests/ReplayData/Issue87.testCreateIssueWithPercentInTitle.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"title": "Issue with percent % in title created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4701'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('content-length', '777'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"4f8b2cd3aecb26240538f54c3e4ff8f6"'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/99'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Tue, 25 Sep 2012 19:50:46 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"body":null,"assignee":null,"labels":[],"user":{"login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"},"closed_at":null,"milestone":null,"created_at":"2012-09-25T19:50:46Z","comments":0,"closed_by":null,"title":"Issue with percent % in title created by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"state":"open","number":99,"updated_at":"2012-09-25T19:50:46Z","id":7132221,"html_url":"https://github.com/jacquev6/PyGithub/issues/99","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/99"} - diff --git a/github/tests/ReplayData/IssueComment.setUp.txt b/github/tests/ReplayData/IssueComment.setUp.txt deleted file mode 100644 index 0156291..0000000 --- a/github/tests/ReplayData/IssueComment.setUp.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/28 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/5808311 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311,"html_url":"https://github.com/jacquev6/PyGithub/issues/28#issuecomment-5808311"} - diff --git a/github/tests/ReplayData/IssueComment.testDelete.txt b/github/tests/ReplayData/IssueComment.testDelete.txt deleted file mode 100644 index 3415c0a..0000000 --- a/github/tests/ReplayData/IssueComment.testDelete.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/5808311 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 11:57:12 GMT')] - diff --git a/github/tests/ReplayData/IssueComment.testEdit.txt b/github/tests/ReplayData/IssueComment.testEdit.txt deleted file mode 100644 index 8c25c0f..0000000 --- a/github/tests/ReplayData/IssueComment.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/5808311 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1599061186ef7ca2dbf5bdee1711746a"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311} - diff --git a/github/tests/ReplayData/IssueEvent.setUp.txt b/github/tests/ReplayData/IssueEvent.setUp.txt deleted file mode 100644 index 694b947..0000000 --- a/github/tests/ReplayData/IssueEvent.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8974bb1628a3e3a6d3eb3b08c1b5a46b"'), ('date', 'Sun, 27 May 2012 07:32:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","bio":"","disk_usage":16976,"total_private_repos":5,"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","owned_private_repos":5,"collaborators":0,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","email":"vincent@vincent-jacques.net","public_gists":3,"followers":13,"name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net","location":"Paris, France","hireable":false,"id":327146,"private_gists":5,"public_repos":11,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f1e4eb3993a364b66b68ec9db42405bd"'), ('date', 'Sun, 27 May 2012 07:32:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T07:29:24Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"git_url":"git://github.com/jacquev6/PyGithub.git","size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T07:29:24Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/events/16348656 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '1384'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fefecab09e7355d4ef9875677c2631da"'), ('date', 'Sun, 27 May 2012 07:32:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656","issue":{"updated_at":"2012-05-27T07:27:51Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":null,"number":30,"assignee":null,"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4769659,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"},"commit_id":"ed866fc43833802ab553e5ff8581c81bb00dd433","created_at":"2012-05-27T07:29:25Z","event":"referenced","id":16348656,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}} - diff --git a/github/tests/ReplayData/IssueEvent.testAttributes.txt b/github/tests/ReplayData/IssueEvent.testAttributes.txt deleted file mode 100644 index 683b302..0000000 --- a/github/tests/ReplayData/IssueEvent.testAttributes.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/events/15819975 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2430'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0c719d0498b6dd52dfa5a444e743397a"'), ('date', 'Sat, 26 May 2012 19:42:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","issue":{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","closed_issues":3,"description":"","id":93546},"number":28,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"},"commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}} - diff --git a/github/tests/ReplayData/Label.setUp.txt b/github/tests/ReplayData/Label.setUp.txt deleted file mode 100644 index f9f2a22..0000000 --- a/github/tests/ReplayData/Label.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"708be4e44b32b617fad893a7eb4aed93"'), ('date', 'Sat, 19 May 2012 10:17:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_gists":1,"company":"Criteo","blog":"http://vincent-jacques.net","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"private_gists":5,"collaborators":0,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"public_repos":11,"followers":13,"owned_private_repos":5,"hireable":false,"login":"jacquev6","email":"vincent@vincent-jacques.net","bio":"","disk_usage":16768,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"following":24} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1da4fc53170e51b749ed7930a5fe947c"'), ('date', 'Sat, 19 May 2012 10:17:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","mirror_url":null,"size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sat, 19 May 2012 09:40:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"} - diff --git a/github/tests/ReplayData/Label.testDelete.txt b/github/tests/ReplayData/Label.testDelete.txt deleted file mode 100644 index a99ebe4..0000000 --- a/github/tests/ReplayData/Label.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4961'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 10:17:53 GMT')] - - diff --git a/github/tests/ReplayData/Label.testEdit.txt b/github/tests/ReplayData/Label.testEdit.txt deleted file mode 100644 index eea4654..0000000 --- a/github/tests/ReplayData/Label.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"color": "0000ff", "name": "LabelEditedByPyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '133'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57435796bd4f14b84ad92105669cfab1"'), ('date', 'Sat, 19 May 2012 10:17:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub","name":"LabelEditedByPyGithub","color":"0000ff"} - diff --git a/github/tests/ReplayData/LazyRepository.setUp.txt b/github/tests/ReplayData/LazyRepository.setUp.txt deleted file mode 100644 index c895b97..0000000 --- a/github/tests/ReplayData/LazyRepository.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1304'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'c6c65e5196703428e7641f7d1e9bc353'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"975c21d2f55751d13745ffc5fa12b1c2"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1E5F:42689E:5514C7D8'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 27 Mar 2015 02:56:43 GMT'), ('date', 'Fri, 27 Mar 2015 03:00:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -{"login":"korfuri","id":1124263,"avatar_url":"https://avatars.githubusercontent.com/u/1124263?v=3","gravatar_id":"","url":"https://api.github.com/users/korfuri","html_url":"https://github.com/korfuri","followers_url":"https://api.github.com/users/korfuri/followers","following_url":"https://api.github.com/users/korfuri/following{/other_user}","gists_url":"https://api.github.com/users/korfuri/gists{/gist_id}","starred_url":"https://api.github.com/users/korfuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korfuri/subscriptions","organizations_url":"https://api.github.com/users/korfuri/orgs","repos_url":"https://api.github.com/users/korfuri/repos","events_url":"https://api.github.com/users/korfuri/events{/privacy}","received_events_url":"https://api.github.com/users/korfuri/received_events","type":"User","site_admin":false,"name":"Uriel Corfa","company":"","blog":"http://korfuri.fr/","location":"","email":"uriel@corfa.fr","hireable":false,"bio":null,"public_repos":13,"public_gists":0,"followers":29,"following":57,"created_at":"2011-10-13T02:27:26Z","updated_at":"2015-03-27T02:56:43Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":444,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/github/tests/ReplayData/LazyRepository.testGetIssues.txt b/github/tests/ReplayData/LazyRepository.testGetIssues.txt deleted file mode 100644 index 0f7630b..0000000 --- a/github/tests/ReplayData/LazyRepository.testGetIssues.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/korfuri/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13643'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'd594a23ec74671eba905bf91ef329026'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', 'repo'), ('etag', '"4a598c12d70d21ed45f8cc87ca10c0ef"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:2CC6:6A71E4:5514C7D6'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 27 Mar 2015 02:56:43 GMT'), ('date', 'Fri, 27 Mar 2015 03:00:38 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -{"id":32964720,"name":"PyGithub","full_name":"korfuri/PyGithub","owner":{"login":"korfuri","id":1124263,"avatar_url":"https://avatars.githubusercontent.com/u/1124263?v=3","gravatar_id":"","url":"https://api.github.com/users/korfuri","html_url":"https://github.com/korfuri","followers_url":"https://api.github.com/users/korfuri/followers","following_url":"https://api.github.com/users/korfuri/following{/other_user}","gists_url":"https://api.github.com/users/korfuri/gists{/gist_id}","starred_url":"https://api.github.com/users/korfuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korfuri/subscriptions","organizations_url":"https://api.github.com/users/korfuri/orgs","repos_url":"https://api.github.com/users/korfuri/repos","events_url":"https://api.github.com/users/korfuri/events{/privacy}","received_events_url":"https://api.github.com/users/korfuri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/korfuri/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/korfuri/PyGithub","forks_url":"https://api.github.com/repos/korfuri/PyGithub/forks","keys_url":"https://api.github.com/repos/korfuri/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/korfuri/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/korfuri/PyGithub/teams","hooks_url":"https://api.github.com/repos/korfuri/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/korfuri/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/korfuri/PyGithub/events","assignees_url":"https://api.github.com/repos/korfuri/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/korfuri/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/korfuri/PyGithub/tags","blobs_url":"https://api.github.com/repos/korfuri/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/korfuri/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/korfuri/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/korfuri/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/korfuri/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/korfuri/PyGithub/languages","stargazers_url":"https://api.github.com/repos/korfuri/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/korfuri/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/korfuri/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/korfuri/PyGithub/subscription","commits_url":"https://api.github.com/repos/korfuri/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/korfuri/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/korfuri/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/korfuri/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/korfuri/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/korfuri/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/korfuri/PyGithub/merges","archive_url":"https://api.github.com/repos/korfuri/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/korfuri/PyGithub/downloads","issues_url":"https://api.github.com/repos/korfuri/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/korfuri/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/korfuri/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/korfuri/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/korfuri/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/korfuri/PyGithub/releases{/id}","created_at":"2015-03-27T02:56:40Z","updated_at":"2015-03-27T02:56:43Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/korfuri/PyGithub.git","ssh_url":"git@github.com:korfuri/PyGithub.git","clone_url":"https://github.com/korfuri/PyGithub.git","svn_url":"https://github.com/korfuri/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":32905113,"name":"PyGithub","full_name":"Jucyio/PyGithub","owner":{"login":"Jucyio","id":11623651,"avatar_url":"https://avatars.githubusercontent.com/u/11623651?v=3","gravatar_id":"","url":"https://api.github.com/users/Jucyio","html_url":"https://github.com/Jucyio","followers_url":"https://api.github.com/users/Jucyio/followers","following_url":"https://api.github.com/users/Jucyio/following{/other_user}","gists_url":"https://api.github.com/users/Jucyio/gists{/gist_id}","starred_url":"https://api.github.com/users/Jucyio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jucyio/subscriptions","organizations_url":"https://api.github.com/users/Jucyio/orgs","repos_url":"https://api.github.com/users/Jucyio/repos","events_url":"https://api.github.com/users/Jucyio/events{/privacy}","received_events_url":"https://api.github.com/users/Jucyio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Jucyio/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/Jucyio/PyGithub","forks_url":"https://api.github.com/repos/Jucyio/PyGithub/forks","keys_url":"https://api.github.com/repos/Jucyio/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Jucyio/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Jucyio/PyGithub/teams","hooks_url":"https://api.github.com/repos/Jucyio/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/Jucyio/PyGithub/events","assignees_url":"https://api.github.com/repos/Jucyio/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/Jucyio/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/Jucyio/PyGithub/tags","blobs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Jucyio/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Jucyio/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Jucyio/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/Jucyio/PyGithub/languages","stargazers_url":"https://api.github.com/repos/Jucyio/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/Jucyio/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/Jucyio/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/Jucyio/PyGithub/subscription","commits_url":"https://api.github.com/repos/Jucyio/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Jucyio/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Jucyio/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Jucyio/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/Jucyio/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Jucyio/PyGithub/merges","archive_url":"https://api.github.com/repos/Jucyio/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Jucyio/PyGithub/downloads","issues_url":"https://api.github.com/repos/Jucyio/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/Jucyio/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/Jucyio/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/Jucyio/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Jucyio/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/Jucyio/PyGithub/releases{/id}","created_at":"2015-03-26T03:17:03Z","updated_at":"2015-03-26T03:17:05Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/Jucyio/PyGithub.git","ssh_url":"git@github.com:Jucyio/PyGithub.git","clone_url":"https://github.com/Jucyio/PyGithub.git","svn_url":"https://github.com/Jucyio/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-03-26T14:31:35Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":559,"watchers_count":559,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":152,"mirror_url":null,"open_issues_count":24,"forks":152,"open_issues":24,"watchers":559,"default_branch":"master"},"network_count":152,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/korfuri/PyGithub/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '2'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '318e55760cf7cdb40e61175a4d36cd32'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"ce023c8f5eae55b9873e83f4f0d6e9ae"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1E5F:4266C5:5514C7D6'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 27 Mar 2015 03:00:39 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -[] - -https -GET -api.github.com -None -/repos/korfuri/PyGithub/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '2'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '474556b853193c38f1b14328ce2d1b7d'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"ce023c8f5eae55b9873e83f4f0d6e9ae"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1E62:50EDBA:5514C7D7'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 27 Mar 2015 03:00:39 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -[] - diff --git a/github/tests/ReplayData/LazyRepository.testGetUser.txt b/github/tests/ReplayData/LazyRepository.testGetUser.txt deleted file mode 100644 index ffb07eb..0000000 --- a/github/tests/ReplayData/LazyRepository.testGetUser.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1304'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '07ff1c8a09e44b62e277fae50a1b1dc4'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"6754cf6361cd6d31646de909f5c90146"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1E63:532872:5514C5BC'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 27 Mar 2015 02:25:51 GMT'), ('date', 'Fri, 27 Mar 2015 02:51:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -{"login":"korfuri","id":1124263,"avatar_url":"https://avatars.githubusercontent.com/u/1124263?v=3","gravatar_id":"","url":"https://api.github.com/users/korfuri","html_url":"https://github.com/korfuri","followers_url":"https://api.github.com/users/korfuri/followers","following_url":"https://api.github.com/users/korfuri/following{/other_user}","gists_url":"https://api.github.com/users/korfuri/gists{/gist_id}","starred_url":"https://api.github.com/users/korfuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korfuri/subscriptions","organizations_url":"https://api.github.com/users/korfuri/orgs","repos_url":"https://api.github.com/users/korfuri/repos","events_url":"https://api.github.com/users/korfuri/events{/privacy}","received_events_url":"https://api.github.com/users/korfuri/received_events","type":"User","site_admin":false,"name":"Uriel Corfa","company":"","blog":"http://korfuri.fr/","location":"","email":"uriel@corfa.fr","hireable":false,"bio":null,"public_repos":12,"public_gists":0,"followers":29,"following":57,"created_at":"2011-10-13T02:27:26Z","updated_at":"2015-03-27T02:25:51Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":444,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - diff --git a/github/tests/ReplayData/LazyRepository.testOwner.txt b/github/tests/ReplayData/LazyRepository.testOwner.txt deleted file mode 100644 index 687db64..0000000 --- a/github/tests/ReplayData/LazyRepository.testOwner.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/korfuri/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13643'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'dc1ce2bfb41810a06c705e83b388572d'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', 'repo'), ('etag', '"4a598c12d70d21ed45f8cc87ca10c0ef"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4959'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1E66:6831F8:5514C7D8'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 27 Mar 2015 02:56:43 GMT'), ('date', 'Fri, 27 Mar 2015 03:00:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -{"id":32964720,"name":"PyGithub","full_name":"korfuri/PyGithub","owner":{"login":"korfuri","id":1124263,"avatar_url":"https://avatars.githubusercontent.com/u/1124263?v=3","gravatar_id":"","url":"https://api.github.com/users/korfuri","html_url":"https://github.com/korfuri","followers_url":"https://api.github.com/users/korfuri/followers","following_url":"https://api.github.com/users/korfuri/following{/other_user}","gists_url":"https://api.github.com/users/korfuri/gists{/gist_id}","starred_url":"https://api.github.com/users/korfuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korfuri/subscriptions","organizations_url":"https://api.github.com/users/korfuri/orgs","repos_url":"https://api.github.com/users/korfuri/repos","events_url":"https://api.github.com/users/korfuri/events{/privacy}","received_events_url":"https://api.github.com/users/korfuri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/korfuri/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/korfuri/PyGithub","forks_url":"https://api.github.com/repos/korfuri/PyGithub/forks","keys_url":"https://api.github.com/repos/korfuri/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/korfuri/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/korfuri/PyGithub/teams","hooks_url":"https://api.github.com/repos/korfuri/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/korfuri/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/korfuri/PyGithub/events","assignees_url":"https://api.github.com/repos/korfuri/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/korfuri/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/korfuri/PyGithub/tags","blobs_url":"https://api.github.com/repos/korfuri/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/korfuri/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/korfuri/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/korfuri/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/korfuri/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/korfuri/PyGithub/languages","stargazers_url":"https://api.github.com/repos/korfuri/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/korfuri/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/korfuri/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/korfuri/PyGithub/subscription","commits_url":"https://api.github.com/repos/korfuri/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/korfuri/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/korfuri/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/korfuri/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/korfuri/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/korfuri/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/korfuri/PyGithub/merges","archive_url":"https://api.github.com/repos/korfuri/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/korfuri/PyGithub/downloads","issues_url":"https://api.github.com/repos/korfuri/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/korfuri/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/korfuri/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/korfuri/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/korfuri/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/korfuri/PyGithub/releases{/id}","created_at":"2015-03-27T02:56:40Z","updated_at":"2015-03-27T02:56:43Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/korfuri/PyGithub.git","ssh_url":"git@github.com:korfuri/PyGithub.git","clone_url":"https://github.com/korfuri/PyGithub.git","svn_url":"https://github.com/korfuri/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":32905113,"name":"PyGithub","full_name":"Jucyio/PyGithub","owner":{"login":"Jucyio","id":11623651,"avatar_url":"https://avatars.githubusercontent.com/u/11623651?v=3","gravatar_id":"","url":"https://api.github.com/users/Jucyio","html_url":"https://github.com/Jucyio","followers_url":"https://api.github.com/users/Jucyio/followers","following_url":"https://api.github.com/users/Jucyio/following{/other_user}","gists_url":"https://api.github.com/users/Jucyio/gists{/gist_id}","starred_url":"https://api.github.com/users/Jucyio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jucyio/subscriptions","organizations_url":"https://api.github.com/users/Jucyio/orgs","repos_url":"https://api.github.com/users/Jucyio/repos","events_url":"https://api.github.com/users/Jucyio/events{/privacy}","received_events_url":"https://api.github.com/users/Jucyio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Jucyio/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/Jucyio/PyGithub","forks_url":"https://api.github.com/repos/Jucyio/PyGithub/forks","keys_url":"https://api.github.com/repos/Jucyio/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Jucyio/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Jucyio/PyGithub/teams","hooks_url":"https://api.github.com/repos/Jucyio/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/Jucyio/PyGithub/events","assignees_url":"https://api.github.com/repos/Jucyio/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/Jucyio/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/Jucyio/PyGithub/tags","blobs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Jucyio/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Jucyio/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Jucyio/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/Jucyio/PyGithub/languages","stargazers_url":"https://api.github.com/repos/Jucyio/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/Jucyio/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/Jucyio/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/Jucyio/PyGithub/subscription","commits_url":"https://api.github.com/repos/Jucyio/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Jucyio/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Jucyio/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Jucyio/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/Jucyio/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Jucyio/PyGithub/merges","archive_url":"https://api.github.com/repos/Jucyio/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Jucyio/PyGithub/downloads","issues_url":"https://api.github.com/repos/Jucyio/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/Jucyio/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/Jucyio/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/Jucyio/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Jucyio/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/Jucyio/PyGithub/releases{/id}","created_at":"2015-03-26T03:17:03Z","updated_at":"2015-03-26T03:17:05Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/Jucyio/PyGithub.git","ssh_url":"git@github.com:Jucyio/PyGithub.git","clone_url":"https://github.com/Jucyio/PyGithub.git","svn_url":"https://github.com/Jucyio/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-03-26T14:31:35Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":559,"watchers_count":559,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":152,"mirror_url":null,"open_issues_count":24,"forks":152,"open_issues":24,"watchers":559,"default_branch":"master"},"network_count":152,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/korfuri/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13643'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '76d9828c7e4f1d910f7ba069e90ce976'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', 'repo'), ('etag', '"4a598c12d70d21ed45f8cc87ca10c0ef"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4958'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '6CE875F7:1A8F:54374C:5514C7D9'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 27 Mar 2015 02:56:43 GMT'), ('date', 'Fri, 27 Mar 2015 03:00:41 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1427427963')] -{"id":32964720,"name":"PyGithub","full_name":"korfuri/PyGithub","owner":{"login":"korfuri","id":1124263,"avatar_url":"https://avatars.githubusercontent.com/u/1124263?v=3","gravatar_id":"","url":"https://api.github.com/users/korfuri","html_url":"https://github.com/korfuri","followers_url":"https://api.github.com/users/korfuri/followers","following_url":"https://api.github.com/users/korfuri/following{/other_user}","gists_url":"https://api.github.com/users/korfuri/gists{/gist_id}","starred_url":"https://api.github.com/users/korfuri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korfuri/subscriptions","organizations_url":"https://api.github.com/users/korfuri/orgs","repos_url":"https://api.github.com/users/korfuri/repos","events_url":"https://api.github.com/users/korfuri/events{/privacy}","received_events_url":"https://api.github.com/users/korfuri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/korfuri/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/korfuri/PyGithub","forks_url":"https://api.github.com/repos/korfuri/PyGithub/forks","keys_url":"https://api.github.com/repos/korfuri/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/korfuri/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/korfuri/PyGithub/teams","hooks_url":"https://api.github.com/repos/korfuri/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/korfuri/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/korfuri/PyGithub/events","assignees_url":"https://api.github.com/repos/korfuri/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/korfuri/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/korfuri/PyGithub/tags","blobs_url":"https://api.github.com/repos/korfuri/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/korfuri/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/korfuri/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/korfuri/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/korfuri/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/korfuri/PyGithub/languages","stargazers_url":"https://api.github.com/repos/korfuri/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/korfuri/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/korfuri/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/korfuri/PyGithub/subscription","commits_url":"https://api.github.com/repos/korfuri/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/korfuri/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/korfuri/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/korfuri/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/korfuri/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/korfuri/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/korfuri/PyGithub/merges","archive_url":"https://api.github.com/repos/korfuri/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/korfuri/PyGithub/downloads","issues_url":"https://api.github.com/repos/korfuri/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/korfuri/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/korfuri/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/korfuri/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/korfuri/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/korfuri/PyGithub/releases{/id}","created_at":"2015-03-27T02:56:40Z","updated_at":"2015-03-27T02:56:43Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/korfuri/PyGithub.git","ssh_url":"git@github.com:korfuri/PyGithub.git","clone_url":"https://github.com/korfuri/PyGithub.git","svn_url":"https://github.com/korfuri/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":32905113,"name":"PyGithub","full_name":"Jucyio/PyGithub","owner":{"login":"Jucyio","id":11623651,"avatar_url":"https://avatars.githubusercontent.com/u/11623651?v=3","gravatar_id":"","url":"https://api.github.com/users/Jucyio","html_url":"https://github.com/Jucyio","followers_url":"https://api.github.com/users/Jucyio/followers","following_url":"https://api.github.com/users/Jucyio/following{/other_user}","gists_url":"https://api.github.com/users/Jucyio/gists{/gist_id}","starred_url":"https://api.github.com/users/Jucyio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jucyio/subscriptions","organizations_url":"https://api.github.com/users/Jucyio/orgs","repos_url":"https://api.github.com/users/Jucyio/repos","events_url":"https://api.github.com/users/Jucyio/events{/privacy}","received_events_url":"https://api.github.com/users/Jucyio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Jucyio/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/Jucyio/PyGithub","forks_url":"https://api.github.com/repos/Jucyio/PyGithub/forks","keys_url":"https://api.github.com/repos/Jucyio/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Jucyio/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Jucyio/PyGithub/teams","hooks_url":"https://api.github.com/repos/Jucyio/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/Jucyio/PyGithub/events","assignees_url":"https://api.github.com/repos/Jucyio/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/Jucyio/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/Jucyio/PyGithub/tags","blobs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Jucyio/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Jucyio/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Jucyio/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Jucyio/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/Jucyio/PyGithub/languages","stargazers_url":"https://api.github.com/repos/Jucyio/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/Jucyio/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/Jucyio/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/Jucyio/PyGithub/subscription","commits_url":"https://api.github.com/repos/Jucyio/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Jucyio/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Jucyio/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Jucyio/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Jucyio/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/Jucyio/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Jucyio/PyGithub/merges","archive_url":"https://api.github.com/repos/Jucyio/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Jucyio/PyGithub/downloads","issues_url":"https://api.github.com/repos/Jucyio/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/Jucyio/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/Jucyio/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/Jucyio/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Jucyio/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/Jucyio/PyGithub/releases{/id}","created_at":"2015-03-26T03:17:03Z","updated_at":"2015-03-26T03:17:05Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/Jucyio/PyGithub.git","ssh_url":"git@github.com:Jucyio/PyGithub.git","clone_url":"https://github.com/Jucyio/PyGithub.git","svn_url":"https://github.com/Jucyio/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-03-26T14:31:35Z","pushed_at":"2015-03-18T19:20:30Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15874,"stargazers_count":559,"watchers_count":559,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":152,"mirror_url":null,"open_issues_count":24,"forks":152,"open_issues":24,"watchers":559,"default_branch":"master"},"network_count":152,"subscribers_count":1} - diff --git a/github/tests/ReplayData/Logging.testLoggingWithBaseUrl.txt b/github/tests/ReplayData/Logging.testLoggingWithBaseUrl.txt deleted file mode 100644 index a98d150..0000000 --- a/github/tests/ReplayData/Logging.testLoggingWithBaseUrl.txt +++ /dev/null @@ -1,11 +0,0 @@ -http -GET -my.enterprise.com -None -/my/prefix/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '628'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept'), ('x-ratelimit-remaining', '4989'), ('server', 'nginx'), ('last-modified', 'Tue, 25 Sep 2012 07:42:42 GMT'), ('connection', 'keep-alive'), ('etag', '"9bd085221a16b6d2ea95e72634c3c1ac"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Sep 2012 20:38:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","created_at":"2010-07-09T06:10:06Z","email":"vincent@vincent-jacques.net","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_gists":3,"bio":"","following":29,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"public_repos":13,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"} - diff --git a/github/tests/ReplayData/Logging.testLoggingWithBasicAuthentication.txt b/github/tests/ReplayData/Logging.testLoggingWithBasicAuthentication.txt deleted file mode 100644 index f88da05..0000000 --- a/github/tests/ReplayData/Logging.testLoggingWithBasicAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '806'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx'), ('last-modified', 'Fri, 14 Sep 2012 18:47:46 GMT'), ('connection', 'keep-alive'), ('etag', '"434dfe5d3f50558fe3cea087cb95c401"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Mon, 17 Sep 2012 17:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":3,"disk_usage":18612,"following":28,"type":"User","public_repos":13,"location":"Paris, France","company":"Criteo","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","plan":{"space":614400,"private_repos":5,"name":"micro","collaborators":1},"blog":"http://vincent-jacques.net","login":"jacquev6","public_gists":3,"html_url":"https://github.com/jacquev6","hireable":false,"created_at":"2010-07-09T06:10:06Z","private_gists":5,"followers":13,"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","bio":"","total_private_repos":3,"collaborators":0,"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"url":"https://api.github.com/users/jacquev6"} - diff --git a/github/tests/ReplayData/Logging.testLoggingWithOAuthAuthentication.txt b/github/tests/ReplayData/Logging.testLoggingWithOAuthAuthentication.txt deleted file mode 100644 index 14e75bd..0000000 --- a/github/tests/ReplayData/Logging.testLoggingWithOAuthAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'token private_token_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '628'), ('server', 'nginx'), ('last-modified', 'Tue, 25 Sep 2012 07:42:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c23ad6b5815fc3d6ec6341c4a47afe85"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Sep 2012 20:36:54 GMT'), ('x-oauth-scopes', ''), ('content-type', 'application/json; charset=utf-8'), ('x-accepted-oauth-scopes', 'user')] -{"type":"User","bio":"","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","blog":"http://vincent-jacques.net","public_repos":13,"created_at":"2010-07-09T06:10:06Z","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","email":"vincent@vincent-jacques.net","following":29,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","hireable":false,"id":327146,"public_gists":3,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"} - diff --git a/github/tests/ReplayData/Logging.testLoggingWithoutAuthentication.txt b/github/tests/ReplayData/Logging.testLoggingWithoutAuthentication.txt deleted file mode 100644 index f0ca9b3..0000000 --- a/github/tests/ReplayData/Logging.testLoggingWithoutAuthentication.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '628'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept'), ('x-ratelimit-remaining', '4989'), ('server', 'nginx'), ('last-modified', 'Tue, 25 Sep 2012 07:42:42 GMT'), ('connection', 'keep-alive'), ('etag', '"9bd085221a16b6d2ea95e72634c3c1ac"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Sep 2012 20:38:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","html_url":"https://github.com/jacquev6","login":"jacquev6","followers":14,"company":"Criteo","created_at":"2010-07-09T06:10:06Z","email":"vincent@vincent-jacques.net","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_gists":3,"bio":"","following":29,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"public_repos":13,"location":"Paris, France","url":"https://api.github.com/users/jacquev6"} - diff --git a/github/tests/ReplayData/Markdown.setUp.txt b/github/tests/ReplayData/Markdown.setUp.txt deleted file mode 100644 index 96d9ce3..0000000 --- a/github/tests/ReplayData/Markdown.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '801'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('last-modified', 'Mon, 09 Jul 2012 06:49:53 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bd2b9dfc8ba65f7665102d6245a1593"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 13 Jul 2012 11:59:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"disk_usage":13720,"public_repos":11,"type":"User","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":3,"collaborators":0,"hireable":false,"login":"jacquev6","owned_private_repos":3,"public_gists":3,"email":"vincent@vincent-jacques.net","bio":"","private_gists":5,"created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net","following":26,"location":"Paris, France","followers":13,"name":"Vincent Jacques","company":"Criteo","plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"html_url":"https://github.com/jacquev6","id":327146,"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1154'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 12 Jul 2012 18:10:45 GMT'), ('connection', 'keep-alive'), ('etag', '"7db49a096161f262ffd7e0545292f4c3"'), ('cache-control', 'private, max-age=60'), ('date', 'Fri, 13 Jul 2012 11:59:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","created_at":"2012-02-25T12:53:47Z","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146,"login":"jacquev6","url":"https://api.github.com/users/jacquev6"},"full_name":"jacquev6/PyGithub","has_wiki":false,"watchers":43,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-07-11T11:29:24Z","updated_at":"2012-07-12T18:10:45Z","permissions":{"pull":true,"push":true,"admin":true},"open_issues":11,"forks":7,"clone_url":"https://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","homepage":"http://vincent-jacques.net/PyGithub","size":160,"fork":false,"master_branch":"master","mirror_url":null,"has_issues":true,"name":"PyGithub","has_downloads":true,"description":"Python library implementing the full Github API v3","private":false,"id":3544490,"language":"Python","url":"https://api.github.com/repos/jacquev6/PyGithub"} - diff --git a/github/tests/ReplayData/Markdown.testRenderGithubFlavoredMarkdown.txt b/github/tests/ReplayData/Markdown.testRenderGithubFlavoredMarkdown.txt deleted file mode 100644 index c12654c..0000000 --- a/github/tests/ReplayData/Markdown.testRenderGithubFlavoredMarkdown.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/markdown -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"text": "MyTitle\n=======\n\nIssue #1", "mode": "gfm", "context": "jacquev6/PyGithub"} -200 -[('status', '200 OK'), ('content-length', '150'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"63251bf7dbb58f62c59ae39bb72c7a38"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 13 Jul 2012 11:59:58 GMT'), ('content-type', 'text/html;charset=utf-8')] -

MyTitle

Issue #1

- diff --git a/github/tests/ReplayData/Markdown.testRenderMarkdown.txt b/github/tests/ReplayData/Markdown.testRenderMarkdown.txt deleted file mode 100644 index b31ac7f..0000000 --- a/github/tests/ReplayData/Markdown.testRenderMarkdown.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/markdown -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"text": "MyTitle\n=======\n\nIssue #1"} -200 -[('status', '200 OK'), ('content-length', '133'), ('x-ratelimit-remaining', '4985'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4cb17c0ebe3cc45c1a7f27d4d0850c54"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 13 Jul 2012 11:59:59 GMT'), ('content-type', 'text/html;charset=utf-8')] -

MyTitle

Issue #1

- diff --git a/github/tests/ReplayData/Milestone.setUp.txt b/github/tests/ReplayData/Milestone.setUp.txt deleted file mode 100644 index 924af9f..0000000 --- a/github/tests/ReplayData/Milestone.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cafcc970ccfa36947999605caefbe3be"'), ('date', 'Fri, 11 May 2012 13:34:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","bio":"","url":"https://api.github.com/users/jacquev6","blog":"http://vincent-jacques.net","total_private_repos":5,"disk_usage":16676,"plan":{"collaborators":1,"space":614400,"name":"micro","private_repos":5},"public_gists":1,"html_url":"https://github.com/jacquev6","owned_private_repos":5,"public_repos":11,"login":"jacquev6","private_gists":5,"collaborators":0,"email":"vincent@vincent-jacques.net","created_at":"2010-07-09T06:10:06Z","company":"Criteo","location":"Paris, France","followers":13,"following":24,"name":"Vincent Jacques","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","hireable":false,"id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4a386c2ab2675e1e0addb729b4576ea9"'), ('date', 'Fri, 11 May 2012 13:34:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-10T20:00:24Z","has_wiki":false,"has_issues":true,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","mirror_url":null,"forks":2,"html_url":"https://github.com/jacquev6/PyGithub","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","pushed_at":"2012-05-10T20:00:24Z","language":"Python","size":196,"private":false,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"watchers":13,"description":"Python library implementing the full Github API v3","id":3544490,"permissions":{"admin":true,"pull":true,"push":true}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/1 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '556'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"977ee5e1d9c368036c6121e01680ce45"'), ('date', 'Fri, 11 May 2012 13:34:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"closed_issues":2,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","created_at":"2012-03-08T12:22:10Z","state":"closed","creator":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","open_issues":0,"id":93546} - diff --git a/github/tests/ReplayData/Milestone.testDelete.txt b/github/tests/ReplayData/Milestone.testDelete.txt deleted file mode 100644 index b8dd1c4..0000000 --- a/github/tests/ReplayData/Milestone.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/milestones/1 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4938'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 10:34:44 GMT')] - - diff --git a/github/tests/ReplayData/Milestone.testEditWithAllParameters.txt b/github/tests/ReplayData/Milestone.testEditWithAllParameters.txt deleted file mode 100644 index 2f980f9..0000000 --- a/github/tests/ReplayData/Milestone.testEditWithAllParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/milestones/1 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"due_on": "2012-06-16", "state": "closed", "description": "Description edited by PyGithub", "title": "Title edited twice by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('content-length', '606'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ac9f76c61e1fe0e76cd26e77e59d5797"'), ('date', 'Sat, 19 May 2012 10:30:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-16T07:00:00Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":5,"open_issues":0,"title":"Title edited twice by PyGithub","closed_issues":0,"created_at":"2012-05-19T10:24:13Z","state":"closed","description":"Description edited by PyGithub","id":121463} - diff --git a/github/tests/ReplayData/Milestone.testEditWithMinimalParameters.txt b/github/tests/ReplayData/Milestone.testEditWithMinimalParameters.txt deleted file mode 100644 index a8ae1c1..0000000 --- a/github/tests/ReplayData/Milestone.testEditWithMinimalParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/milestones/1 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"title": "Title edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4954'), ('content-length', '599'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"df00dd4d1183f48c313b9cf04330623b"'), ('date', 'Sat, 19 May 2012 10:29:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-15T07:00:00Z","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"number":5,"open_issues":0,"title":"Title edited by PyGithub","created_at":"2012-05-19T10:24:13Z","state":"open","description":"Description created by PyGithub","id":121463} - diff --git a/github/tests/ReplayData/Milestone.testGetLabels.txt b/github/tests/ReplayData/Milestone.testGetLabels.txt deleted file mode 100644 index 96cd874..0000000 --- a/github/tests/ReplayData/Milestone.testGetLabels.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/1/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('content-length', '253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cd4ed3176e27a01da9a51f84c7b19b63"'), ('date', 'Sat, 19 May 2012 10:33:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] - diff --git a/github/tests/ReplayData/NamedUser.setUp.txt b/github/tests/ReplayData/NamedUser.setUp.txt deleted file mode 100644 index a2232d3..0000000 --- a/github/tests/ReplayData/NamedUser.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2b9d2167029cc33666d02e0b0e95f2b9"'), ('date', 'Sat, 26 May 2012 11:08:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":17080,"public_gists":2,"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":11,"hireable":false,"private_gists":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"bio":"","company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","total_private_repos":5,"email":"vincent@vincent-jacques.net","collaborators":0,"followers":13,"name":"Vincent Jacques","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - diff --git a/github/tests/ReplayData/NamedUser.testAttributesOfOtherUser.txt b/github/tests/ReplayData/NamedUser.testAttributesOfOtherUser.txt deleted file mode 100644 index 0e0e1fd..0000000 --- a/github/tests/ReplayData/NamedUser.testAttributesOfOtherUser.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '598'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"66a516a2007fb7df8bbb3f9cc7cb2da8"'), ('date', 'Fri, 18 May 2012 19:46:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":16,"type":"User","hireable":false,"company":"3rd Cloud","url":"https://api.github.com/users/nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","bio":null,"followers":296,"blog":"http://nvie.com","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"nvie","email":"vincent@3rdcloud.com","public_repos":61,"html_url":"https://github.com/nvie","name":"Vincent Driessen","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","id":83844,"following":41} - diff --git a/github/tests/ReplayData/NamedUser.testGetEvents.txt b/github/tests/ReplayData/NamedUser.testGetEvents.txt deleted file mode 100644 index 610e698..0000000 --- a/github/tests/ReplayData/NamedUser.testGetEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4955'), ('content-length', '75377'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"c8320d1ab46fc40525837ed17c96dd2e"'), ('date', 'Sun, 20 May 2012 12:17:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"GistEvent","payload":{"action":"create","gist":{"created_at":"2012-05-20T12:14:08Z","comments":0,"public":true,"updated_at":"2012-05-20T12:14:08Z","files":{},"git_push_url":"git@gist.github.com:2757859.git","url":"https://api.github.com/gists/2757859","id":"2757859","git_pull_url":"git://gist.github.com/2757859.git","description":"Gist created by PyGithub on a NamedUser","html_url":"https://gist.github.com/2757859","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-20T12:14:09Z","id":"1553915048","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","updated_at":"2012-05-20T11:46:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","id":5808311,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":28,"created_at":"2012-05-19T10:38:23Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Body edited by PyGithub","comments":1,"title":"Title edited by PyGithub","updated_at":"2012-05-20T11:46:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":null,"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"closed_issues":1,"open_issues":11,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":null,"labels":[{"name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","color":"e10c02"},{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"},{"name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","color":"02e10c"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/28","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-20T11:46:43Z","id":"1553912723","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"63f8767c5b8d1f2f8d88346a58cdb6173e251d52","size":9,"push_id":79333321,"commits":[{"sha":"da3bea69229c6498be48968db8dc27d21b05da67","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/da3bea69229c6498be48968db8dc27d21b05da67","distinct":true,"message":"Test Tag attributes"},{"sha":"667937b437747df181cfeeab84fa74bcc5e7b118","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/667937b437747df181cfeeab84fa74bcc5e7b118","distinct":true,"message":"Test Hooks"},{"sha":"350e014d55a82eab268d7229c99debce8ede3625","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/350e014d55a82eab268d7229c99debce8ede3625","distinct":true,"message":"Remove completion of Hook"},{"sha":"799d22a39e12b020b49dc59ce5775c6135ee54ea","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/799d22a39e12b020b49dc59ce5775c6135ee54ea","distinct":true,"message":"Remove __completed from non-completable classes"},{"sha":"a097671795e9dba08ff8e86f59e58ba98a4478e2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a097671795e9dba08ff8e86f59e58ba98a4478e2","distinct":true,"message":"Test Gist"},{"sha":"fdb10338257556a7590f8f93c16284dba49743d6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fdb10338257556a7590f8f93c16284dba49743d6","distinct":true,"message":"Rename some tests"},{"sha":"72c34a840d1492a62683f081bd00d286b28cef0f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/72c34a840d1492a62683f081bd00d286b28cef0f","distinct":true,"message":"Test labels (new special case in Repository.get_label...)"},{"sha":"c1787205baa31f20f8c444d2908677c4d09f4db0","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1787205baa31f20f8c444d2908677c4d09f4db0","distinct":true,"message":"Test Milestone"},{"sha":"63f8767c5b8d1f2f8d88346a58cdb6173e251d52","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/63f8767c5b8d1f2f8d88346a58cdb6173e251d52","distinct":true,"message":"Test Issue"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-19T10:50:40Z","id":"1553749349","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":28,"created_at":"2012-05-19T10:38:23Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":null,"title":"Issue created by PyGithub","comments":0,"updated_at":"2012-05-19T10:38:23Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/28","labels":[],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-19T10:38:24Z","id":"1553748323","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"fork","gist":{"created_at":"2012-05-19T07:25:30Z","public":true,"comments":0,"files":{},"updated_at":"2012-05-19T07:25:30Z","git_push_url":"git@gist.github.com:2729865.git","url":"https://api.github.com/gists/2729865","id":"2729865","git_pull_url":"git://gist.github.com/2729865.git","description":"RoR setup in AWS EC2(Ubuntu 12.04 LTS)","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://gist.github.com/2729865"}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-19T07:25:31Z","id":"1553728670","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"update","gist":{"created_at":"2012-05-19T07:00:58Z","comments":0,"public":true,"git_push_url":"git@gist.github.com:2729810.git","files":{},"updated_at":"2012-05-19T07:06:10Z","url":"https://api.github.com/gists/2729810","id":"2729810","git_pull_url":"git://gist.github.com/2729810.git","description":"Description edited by PyGithub","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://gist.github.com/2729810"}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-19T07:06:10Z","id":"1553727205","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"update","gist":{"created_at":"2012-05-19T07:00:58Z","public":true,"comments":0,"updated_at":"2012-05-19T07:04:31Z","files":{},"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","id":"2729810","git_pull_url":"git://gist.github.com/2729810.git","description":"Description edited by PyGitHub","html_url":"https://gist.github.com/2729810","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-19T07:04:31Z","id":"1553727091","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"create","gist":{"created_at":"2012-05-19T07:00:58Z","comments":0,"public":true,"updated_at":"2012-05-19T07:00:58Z","files":{},"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","id":"2729810","git_pull_url":"git://gist.github.com/2729810.git","description":"Gist created by PyGithub","html_url":"https://gist.github.com/2729810","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-19T07:00:58Z","id":"1553726807","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"8cca4872ed04efb0252fbc70431b615931193145","size":3,"push_id":79265481,"commits":[{"sha":"030b23a3a9112864e922a965254428beefebbe42","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/030b23a3a9112864e922a965254428beefebbe42","distinct":true,"message":"Test Issue attributes"},{"sha":"55779ebbb4d8848ca7a2cf6ffbeb029239dbfdf2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/55779ebbb4d8848ca7a2cf6ffbeb029239dbfdf2","distinct":true,"message":"Test attributes of NamedUser"},{"sha":"8cca4872ed04efb0252fbc70431b615931193145","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cca4872ed04efb0252fbc70431b615931193145","distinct":true,"message":"Test attributes of commit comments"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T20:30:16Z","id":"1553628294","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":3,"created_at":"2012-05-18T20:11:17Z","line":25,"body":"This comment is here only to test PyGithub...","updated_at":"2012-05-18T20:11:17Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","id":1349654,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1349654","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T20:11:17Z","id":"1553622265","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-18T08:59:28Z","line":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestion 1.0.\n\nThanks !","updated_at":"2012-05-18T08:59:28Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","id":1347083,"path":null,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347083","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T08:59:28Z","id":"1553410839","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T05:29:53Z","id":"1553373866","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-18T05:27:40Z","body":"Thank you for your feedback.\n\nI have indeed not yet implemented this feature because I have no real use of it: each API call is more than half a second long, so it's hard to reach the rate limit.\n\nAnyway, it is easy to extract the rate limiting headers, so I will add an attribute to the Github class to give access to their last value.\n\nExpect it in version 1.0. I will set an expected date on the milestone during the week-end.\n","updated_at":"2012-05-18T05:27:40Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5780183","id":5780183,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":26,"created_at":"2012-05-17T12:02:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"title":"Rate limiting?","comments":1,"body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","updated_at":"2012-05-18T05:27:40Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","id":4622816,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":null,"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"closed_issues":1,"open_issues":10,"description":"","state":"open"},"closed_at":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/26","labels":[],"user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","id":327442,"login":"bilderbuchi"},"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T05:27:40Z","id":"1553373556","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"c75cb64d906ce4e21c509102004d4f9770348bf7","size":12,"push_id":79118465,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"93007180f6796f83a57f66f94b3ac58b1ae8ece7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/93007180f6796f83a57f66f94b3ac58b1ae8ece7","distinct":true,"message":"Remove useless code"},{"sha":"5a943ad0b255797cea79188bb346c670076062ce","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5a943ad0b255797cea79188bb346c670076062ce","distinct":true,"message":"Test Organization attributes"},{"sha":"dc1a8f8c9d9b8fb90f93a484629eb3f7a5d23dcc","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc1a8f8c9d9b8fb90f93a484629eb3f7a5d23dcc","distinct":true,"message":"Assert that we know all attributes\n\nTo be removed before release, since this would break the application if\ngithub.com adds a new attribute"},{"sha":"6ba5baad7ec39d7eed64049624c6519750fcb297","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6ba5baad7ec39d7eed64049624c6519750fcb297","distinct":true,"message":"Test Repository.create_git_blob"},{"sha":"f23ed6341da0fcf7a416d04ad0ab252ed55308a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f23ed6341da0fcf7a416d04ad0ab252ed55308a5","distinct":true,"message":"Create a GitTreeElement class"},{"sha":"8956796e7f462a49f499eac52fab901cdb59abdb","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8956796e7f462a49f499eac52fab901cdb59abdb","distinct":true,"message":"Be explicit about complete-ability"},{"sha":"71b0ede8dec2436643ca0d6374c603f3794a1562","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/71b0ede8dec2436643ca0d6374c603f3794a1562","distinct":true,"message":"Remove complete-ability from git objects"},{"sha":"350c7a3726311e83a903cc02ec8f080010fcef54","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/350c7a3726311e83a903cc02ec8f080010fcef54","distinct":true,"message":"Remove repeated code"},{"sha":"a72d8b135841aa00158054d229c8e18333075cd4","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","distinct":true,"message":"Improve management of lazy completion"},{"sha":"6945921c529be14c3a8f566dd1e483674516d46d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","distinct":true,"message":"Use NoCompletion when creating an object from the result of a request"},{"sha":"1a20e048f214d625622e5f1b5494d99cb247f98b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1a20e048f214d625622e5f1b5494d99cb247f98b","distinct":true,"message":"Test attributes of Milestone"},{"sha":"c75cb64d906ce4e21c509102004d4f9770348bf7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c75cb64d906ce4e21c509102004d4f9770348bf7","distinct":true,"message":"Improve message when we check that we know all attributes"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-18T05:18:18Z","id":"1553372245","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"c75cb64d906ce4e21c509102004d4f9770348bf7","size":21,"push_id":77865457,"ref":"refs/heads/tmp","commits":[{"sha":"5c18c20ec4e790792635e22cc1065ec2956ebd3e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/5c18c20ec4e790792635e22cc1065ec2956ebd3e","distinct":true,"message":"Change sys.path to import the development version in tests!"},{"sha":"2e76c9b7c569bfa5b8bf0a13d2049002ff73fa9a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/2e76c9b7c569bfa5b8bf0a13d2049002ff73fa9a","distinct":true,"message":"Test GitTag attributes"},{"sha":"71b8d5a3cc805c017c13c7adbcc49142a02c53fb","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/71b8d5a3cc805c017c13c7adbcc49142a02c53fb","distinct":true,"message":"Re-order tests"},{"sha":"79ce8784291025d4235be9e4fae1ecf6d92d8cbf","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/79ce8784291025d4235be9e4fae1ecf6d92d8cbf","distinct":true,"message":"Test Repository.create_git_ref, GitRef.edit and .delete (needs a manual edition of Repository.py)"},{"sha":"1a886afbd6529793ed24719c107c1ad2c313fb25","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1a886afbd6529793ed24719c107c1ad2c313fb25","distinct":true,"message":"Reorganize test fixtures"},{"sha":"7c4fc487c2a06f38ccabdaf60ae0f8d4c3442356","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/7c4fc487c2a06f38ccabdaf60ae0f8d4c3442356","distinct":true,"message":"Test AuthenticatedUser.create_repo (requires manual edition of generated code)"},{"sha":"9cc24b0d3f0fd810836c84354a9c4fe7ea96ad0f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/9cc24b0d3f0fd810836c84354a9c4fe7ea96ad0f","distinct":true,"message":"Custom url for AuthenticatedUser"},{"sha":"2cd6dbce91804d33b15332367dc9ab35c9d59f15","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/2cd6dbce91804d33b15332367dc9ab35c9d59f15","distinct":true,"message":"Test Repository.edit"},{"sha":"d052371c15e2b3fcd2fd347518f1bf2e257e6382","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d052371c15e2b3fcd2fd347518f1bf2e257e6382","distinct":true,"message":"Create a class Permissions"},{"sha":"93007180f6796f83a57f66f94b3ac58b1ae8ece7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/93007180f6796f83a57f66f94b3ac58b1ae8ece7","distinct":true,"message":"Remove useless code"},{"sha":"5a943ad0b255797cea79188bb346c670076062ce","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/5a943ad0b255797cea79188bb346c670076062ce","distinct":true,"message":"Test Organization attributes"},{"sha":"dc1a8f8c9d9b8fb90f93a484629eb3f7a5d23dcc","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/dc1a8f8c9d9b8fb90f93a484629eb3f7a5d23dcc","distinct":true,"message":"Assert that we know all attributes\n\nTo be removed before release, since this would break the application if\ngithub.com adds a new attribute"},{"sha":"6ba5baad7ec39d7eed64049624c6519750fcb297","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/6ba5baad7ec39d7eed64049624c6519750fcb297","distinct":true,"message":"Test Repository.create_git_blob"},{"sha":"f23ed6341da0fcf7a416d04ad0ab252ed55308a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/f23ed6341da0fcf7a416d04ad0ab252ed55308a5","distinct":true,"message":"Create a GitTreeElement class"},{"sha":"8956796e7f462a49f499eac52fab901cdb59abdb","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/8956796e7f462a49f499eac52fab901cdb59abdb","distinct":true,"message":"Be explicit about complete-ability"},{"sha":"71b0ede8dec2436643ca0d6374c603f3794a1562","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/71b0ede8dec2436643ca0d6374c603f3794a1562","distinct":true,"message":"Remove complete-ability from git objects"},{"sha":"350c7a3726311e83a903cc02ec8f080010fcef54","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/350c7a3726311e83a903cc02ec8f080010fcef54","distinct":true,"message":"Remove repeated code"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/a72d8b135841aa00158054d229c8e18333075cd4","message":"Improve management of lazy completion","distinct":true,"sha":"a72d8b135841aa00158054d229c8e18333075cd4"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","distinct":true,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1a20e048f214d625622e5f1b5494d99cb247f98b","message":"Test attributes of Milestone","distinct":true,"sha":"1a20e048f214d625622e5f1b5494d99cb247f98b"}]},"public":false,"repo":{"url":"https://api.github.com/repos/jacquev6/Candidates","id":1592290,"name":"jacquev6/Candidates"},"created_at":"2012-05-11T13:50:38Z","id":"1551159050","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"d052371c15e2b3fcd2fd347518f1bf2e257e6382","size":1,"push_id":77713594,"commits":[{"sha":"d052371c15e2b3fcd2fd347518f1bf2e257e6382","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d052371c15e2b3fcd2fd347518f1bf2e257e6382","distinct":true,"message":"Create a class Permissions"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T20:00:26Z","id":"1550890586","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"2cd6dbce91804d33b15332367dc9ab35c9d59f15","size":8,"push_id":77707669,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"5c18c20ec4e790792635e22cc1065ec2956ebd3e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5c18c20ec4e790792635e22cc1065ec2956ebd3e","distinct":true,"message":"Change sys.path to import the development version in tests!"},{"sha":"2e76c9b7c569bfa5b8bf0a13d2049002ff73fa9a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2e76c9b7c569bfa5b8bf0a13d2049002ff73fa9a","distinct":true,"message":"Test GitTag attributes"},{"sha":"71b8d5a3cc805c017c13c7adbcc49142a02c53fb","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/71b8d5a3cc805c017c13c7adbcc49142a02c53fb","distinct":true,"message":"Re-order tests"},{"sha":"79ce8784291025d4235be9e4fae1ecf6d92d8cbf","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/79ce8784291025d4235be9e4fae1ecf6d92d8cbf","distinct":true,"message":"Test Repository.create_git_ref, GitRef.edit and .delete (needs a manual edition of Repository.py)"},{"sha":"1a886afbd6529793ed24719c107c1ad2c313fb25","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1a886afbd6529793ed24719c107c1ad2c313fb25","distinct":true,"message":"Reorganize test fixtures"},{"sha":"7c4fc487c2a06f38ccabdaf60ae0f8d4c3442356","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7c4fc487c2a06f38ccabdaf60ae0f8d4c3442356","distinct":true,"message":"Test AuthenticatedUser.create_repo (requires manual edition of generated code)"},{"sha":"9cc24b0d3f0fd810836c84354a9c4fe7ea96ad0f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9cc24b0d3f0fd810836c84354a9c4fe7ea96ad0f","distinct":true,"message":"Custom url for AuthenticatedUser"},{"sha":"2cd6dbce91804d33b15332367dc9ab35c9d59f15","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2cd6dbce91804d33b15332367dc9ab35c9d59f15","distinct":true,"message":"Test Repository.edit"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T19:33:23Z","id":"1550880794","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref_type":"repository","description":null,"ref":null},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/TestPyGithub","id":4288693,"name":"jacquev6/TestPyGithub"},"created_at":"2012-05-10T19:17:13Z","id":"1550874963","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"4303c5b90e2216d927155e9609436ccb8984c495","size":0,"push_id":77697827,"commits":[],"ref":"refs/heads/BranchCreatedByPyGithub"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T18:49:21Z","id":"1550864260","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"04cde900a0775b51f762735637bd30de392a2793","size":1,"push_id":77697824,"ref":"refs/heads/BranchCreatedByPyGithub","commits":[{"sha":"04cde900a0775b51f762735637bd30de392a2793","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/04cde900a0775b51f762735637bd30de392a2793","distinct":false,"message":"On the way to code generation instead of meta-description\n\n(lots of useless eratic history squashed together in one commit)"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T18:49:21Z","id":"1550864258","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"4303c5b90e2216d927155e9609436ccb8984c495","size":2,"push_id":77697820,"commits":[{"sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","distinct":false,"message":"Publish version 0.6"},{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","distinct":false,"message":"Merge branch 'develop'"}],"ref":"refs/heads/BranchCreatedByPyGithub"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T18:49:20Z","id":"1550864252","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"4c4e551d39f77beb507cd745408284eb0f8078ec","size":9,"push_id":77687307,"commits":[{"sha":"cd68559b0861ad2be12be29b9d4b7ec66e885191","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cd68559b0861ad2be12be29b9d4b7ec66e885191","distinct":true,"message":"Separate asserts on type and assignments of values of attributes"},{"sha":"d631e83b7901b0a0b6061b361130700a79505319","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d631e83b7901b0a0b6061b361130700a79505319","distinct":true,"message":"Move files around"},{"sha":"d6efda12012dfb0c35f81d2c291bed575d2f9336","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6efda12012dfb0c35f81d2c291bed575d2f9336","distinct":true,"message":"Remove old tests"},{"sha":"595e88cd5537208958f90d6727965cc7918f09a7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/595e88cd5537208958f90d6727965cc7918f09a7","distinct":true,"message":"Rename new tests as only tests"},{"sha":"283da5e7de6a4a3b6aaae7045909d70b643ad380","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/283da5e7de6a4a3b6aaae7045909d70b643ad380","distinct":true,"message":"Fix code generation and tests after reorganization"},{"sha":"a78d82212b67402527d1a0200300e772bc889620","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a78d82212b67402527d1a0200300e772bc889620","distinct":true,"message":"Modularize integration tests"},{"sha":"efa58887aa170aefe844d1c4a3f6c9d8d030548d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/efa58887aa170aefe844d1c4a3f6c9d8d030548d","distinct":true,"message":"Test Branch and Commit attributes"},{"sha":"3c71195916d2f3352ca354d99115709a9334617b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3c71195916d2f3352ca354d99115709a9334617b","distinct":true,"message":"Test GitRef attributes"},{"sha":"4c4e551d39f77beb507cd745408284eb0f8078ec","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4c4e551d39f77beb507cd745408284eb0f8078ec","distinct":true,"message":"Toto"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-10T18:02:02Z","id":"1550846032","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"4c4e551d39f77beb507cd745408284eb0f8078ec","size":1,"push_id":77642805,"commits":[{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/4c4e551d39f77beb507cd745408284eb0f8078ec","message":"Toto","distinct":true,"sha":"4c4e551d39f77beb507cd745408284eb0f8078ec"}],"ref":"refs/heads/tmp"},"public":false,"repo":{"url":"https://api.github.com/repos/jacquev6/Candidates","id":1592290,"name":"jacquev6/Candidates"},"created_at":"2012-05-10T14:55:13Z","id":"1550770489","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"3c71195916d2f3352ca354d99115709a9334617b","size":25,"push_id":77640970,"ref":"refs/heads/tmp","commits":[{"sha":"bc08112dce9be4227c90ad812ff4b6e6dbfc81c5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/bc08112dce9be4227c90ad812ff4b6e6dbfc81c5","distinct":true,"message":"Do not try to __complete objects without url"},{"sha":"ead8fdd1659f743a060679d77ec94deaa7ac92a0","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/ead8fdd1659f743a060679d77ec94deaa7ac92a0","distinct":true,"message":"Use a small eval instead of a big exec"},{"sha":"c559faa6804f4066fee641a079c008f570adffb5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/c559faa6804f4066fee641a079c008f570adffb5","distinct":true,"message":"Check types of received attributes"},{"sha":"114db51fe79cad37e50bc3bc82c183c7d2845316","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/114db51fe79cad37e50bc3bc82c183c7d2845316","distinct":true,"message":"Test attributes of Repository"},{"sha":"5e4cfeda7f5a3f9c8738ba953d704b7e1d28a3f6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/5e4cfeda7f5a3f9c8738ba953d704b7e1d28a3f6","distinct":true,"message":"Test attributes of GitTree (needs a manual change in url in Repository.get_git_tree)"},{"sha":"a03ff8d09ef2f1d55284b8797dd5b9a95b19f917","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/a03ff8d09ef2f1d55284b8797dd5b9a95b19f917","distinct":true,"message":"Explanation about a toto"},{"sha":"d577b691527f5c7f6f663ceef42cba472aae7209","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d577b691527f5c7f6f663ceef42cba472aae7209","distinct":true,"message":"Further simplify record mode"},{"sha":"e1afa5aa3ca92f26aa8dfc3c3d979c1d6d573b39","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/e1afa5aa3ca92f26aa8dfc3c3d979c1d6d573b39","distinct":true,"message":"Standardize detection of replay problems"},{"sha":"ec389d6b62275ccc07f935184cdcbd82bb9124cd","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/ec389d6b62275ccc07f935184cdcbd82bb9124cd","distinct":true,"message":"Remove more code again"},{"sha":"d4a6a3a344e642672fd3107943bf8899326e9ee1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d4a6a3a344e642672fd3107943bf8899326e9ee1","distinct":true,"message":"Fix urls for git objects"},{"sha":"1612b7bcf7b3449c3820c2e49033894e7135739f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1612b7bcf7b3449c3820c2e49033894e7135739f","distinct":true,"message":"Test GitBlob attributes"},{"sha":"954177f98928d5768b02d3cf6340fddcad697410","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/954177f98928d5768b02d3cf6340fddcad697410","distinct":true,"message":"Re-order tests"},{"sha":"80b4e550f354ff5285717eb096839ea25b238fad","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/80b4e550f354ff5285717eb096839ea25b238fad","distinct":true,"message":"Test attributes of GitCommit"},{"sha":"f23ad16aaaf4c5b2f312317cabf3c3e67dccc92b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/f23ad16aaaf4c5b2f312317cabf3c3e67dccc92b","distinct":true,"message":"Add a GitAuthor class"},{"sha":"f14d761344782215c94a23be806a357e5d7ab58d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/f14d761344782215c94a23be806a357e5d7ab58d","distinct":true,"message":"Structure some attributes"},{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","distinct":true,"message":"More assertions"},{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","distinct":true,"message":"Remove completion functions from GitAuthor"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/cd68559b0861ad2be12be29b9d4b7ec66e885191","message":"Separate asserts on type and assignments of values of attributes","distinct":true,"sha":"cd68559b0861ad2be12be29b9d4b7ec66e885191"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d631e83b7901b0a0b6061b361130700a79505319","message":"Move files around","distinct":true,"sha":"d631e83b7901b0a0b6061b361130700a79505319"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d6efda12012dfb0c35f81d2c291bed575d2f9336","message":"Remove old tests","distinct":true,"sha":"d6efda12012dfb0c35f81d2c291bed575d2f9336"}]},"public":false,"repo":{"url":"https://api.github.com/repos/jacquev6/Candidates","id":1592290,"name":"jacquev6/Candidates"},"created_at":"2012-05-10T14:48:13Z","id":"1550767239","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","size":17,"push_id":77421832,"commits":[{"sha":"bc08112dce9be4227c90ad812ff4b6e6dbfc81c5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bc08112dce9be4227c90ad812ff4b6e6dbfc81c5","distinct":true,"message":"Do not try to __complete objects without url"},{"sha":"ead8fdd1659f743a060679d77ec94deaa7ac92a0","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ead8fdd1659f743a060679d77ec94deaa7ac92a0","distinct":true,"message":"Use a small eval instead of a big exec"},{"sha":"c559faa6804f4066fee641a079c008f570adffb5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c559faa6804f4066fee641a079c008f570adffb5","distinct":true,"message":"Check types of received attributes"},{"sha":"114db51fe79cad37e50bc3bc82c183c7d2845316","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/114db51fe79cad37e50bc3bc82c183c7d2845316","distinct":true,"message":"Test attributes of Repository"},{"sha":"5e4cfeda7f5a3f9c8738ba953d704b7e1d28a3f6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5e4cfeda7f5a3f9c8738ba953d704b7e1d28a3f6","distinct":true,"message":"Test attributes of GitTree (needs a manual change in url in Repository.get_git_tree)"},{"sha":"a03ff8d09ef2f1d55284b8797dd5b9a95b19f917","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a03ff8d09ef2f1d55284b8797dd5b9a95b19f917","distinct":true,"message":"Explanation about a toto"},{"sha":"d577b691527f5c7f6f663ceef42cba472aae7209","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d577b691527f5c7f6f663ceef42cba472aae7209","distinct":true,"message":"Further simplify record mode"},{"sha":"e1afa5aa3ca92f26aa8dfc3c3d979c1d6d573b39","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e1afa5aa3ca92f26aa8dfc3c3d979c1d6d573b39","distinct":true,"message":"Standardize detection of replay problems"},{"sha":"ec389d6b62275ccc07f935184cdcbd82bb9124cd","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ec389d6b62275ccc07f935184cdcbd82bb9124cd","distinct":true,"message":"Remove more code again"},{"sha":"d4a6a3a344e642672fd3107943bf8899326e9ee1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d4a6a3a344e642672fd3107943bf8899326e9ee1","distinct":true,"message":"Fix urls for git objects"},{"sha":"1612b7bcf7b3449c3820c2e49033894e7135739f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1612b7bcf7b3449c3820c2e49033894e7135739f","distinct":true,"message":"Test GitBlob attributes"},{"sha":"954177f98928d5768b02d3cf6340fddcad697410","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/954177f98928d5768b02d3cf6340fddcad697410","distinct":true,"message":"Re-order tests"},{"sha":"80b4e550f354ff5285717eb096839ea25b238fad","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/80b4e550f354ff5285717eb096839ea25b238fad","distinct":true,"message":"Test attributes of GitCommit"},{"sha":"f23ad16aaaf4c5b2f312317cabf3c3e67dccc92b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f23ad16aaaf4c5b2f312317cabf3c3e67dccc92b","distinct":true,"message":"Add a GitAuthor class"},{"sha":"f14d761344782215c94a23be806a357e5d7ab58d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f14d761344782215c94a23be806a357e5d7ab58d","distinct":true,"message":"Structure some attributes"},{"sha":"b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b46ed0dfde5ad02d3b91eb54a41c5ed960710eae","distinct":true,"message":"More assertions"},{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","distinct":true,"message":"Remove completion functions from GitAuthor"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-09T16:22:49Z","id":"1550379824","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"41e11740d1921001a2e2474dbe0fa75d3a861849","size":31,"push_id":77401200,"ref":"refs/heads/tmp","commits":[{"sha":"90ff8697b7039fcc1f12369b421f31319fd996df","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/90ff8697b7039fcc1f12369b421f31319fd996df","distinct":true,"message":"Simplify definition of list types"},{"sha":"c01d36a64eb6c4e69e3ac2f6ade27d793f7f2300","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/c01d36a64eb6c4e69e3ac2f6ade27d793f7f2300","distinct":true,"message":"Remove underscores in keys in description, to allow hunting underscores in values"},{"sha":"07e994823e22a01d11612f141c2c0f9336ae5bf5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/07e994823e22a01d11612f141c2c0f9336ae5bf5","distinct":true,"message":"Fix testGists"},{"sha":"5be7fed4c9533dedffe03c7f908a608a8e6fe221","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/5be7fed4c9533dedffe03c7f908a608a8e6fe221","distinct":true,"message":"Toto"},{"sha":"fcd377e377c23f87779d7940c3e894fd5844aad2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/fcd377e377c23f87779d7940c3e894fd5844aad2","distinct":true,"message":"Fix testIssuesForAuthenticatedUser"},{"sha":"84dff1cca70806dd51440fef0634626fd5180a59","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/84dff1cca70806dd51440fef0634626fd5180a59","distinct":true,"message":"Fix testKeys"},{"sha":"e614a30e129b8b7a54173571a379ffe976696578","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/e614a30e129b8b7a54173571a379ffe976696578","distinct":true,"message":"Fix testRepositoryCompare"},{"sha":"74d7704bcd1c291b9003b5785b5978a8036c0505","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/74d7704bcd1c291b9003b5785b5978a8036c0505","distinct":true,"message":"Repository.get_languages => fix testRepositoryDetails"},{"sha":"4b820e09c9487b8f92a8fc098c6e708d16219ec1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/4b820e09c9487b8f92a8fc098c6e708d16219ec1","distinct":true,"message":"Remove an old toto"},{"sha":"1625a645de547b29e9de0f40d40cbcdc4a72f29d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1625a645de547b29e9de0f40d40cbcdc4a72f29d","distinct":true,"message":"Start to rewrite integration test"},{"sha":"1c2f5c78cc8c018775e389a2520e570a707118a6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/1c2f5c78cc8c018775e389a2520e570a707118a6","distinct":true,"message":"Improve coverage"},{"sha":"26676020797823c0ff91ccb3cca6112d4b93261e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/26676020797823c0ff91ccb3cca6112d4b93261e","distinct":true,"message":"First recording for new integration tests"},{"sha":"523f2fdd1dcd2e58bc30f6541e53d9858cfa244f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/523f2fdd1dcd2e58bc30f6541e53d9858cfa244f","distinct":true,"message":"Fix recording"},{"sha":"00904f33330d690994a973cd0e021c498e826bc5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/00904f33330d690994a973cd0e021c498e826bc5","distinct":true,"message":"Cover AuthenticatedUser.edit"},{"sha":"656556341233c62324445eb3f5cef6331a7578d3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/656556341233c62324445eb3f5cef6331a7578d3","distinct":true,"message":"Ensure that recorded calls are all replayed"},{"sha":"824b45490dd3b8b2fae4bd4201f195249e26e8a1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/824b45490dd3b8b2fae4bd4201f195249e26e8a1","distinct":true,"message":"Add a Plan class"},{"sha":"eed1e43c9588a76e230e1599fb200a904fe89bd8","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/eed1e43c9588a76e230e1599fb200a904fe89bd8","distinct":true,"message":"Check types of received attributes"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/56dc5d118f17e173eff2bc438681c5903c6444c2","message":"Test attributes of Repository","distinct":true,"sha":"56dc5d118f17e173eff2bc438681c5903c6444c2"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/e5b6e83d493add2052fe63bde12c47cddf7fd7cf","message":"Test attributes of GitTree (needs a manual change in url in Repository.get_git_tree)","distinct":true,"sha":"e5b6e83d493add2052fe63bde12c47cddf7fd7cf"},{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/Candidates/commits/d1c0dbdd50de73300e408800f9594aff65765ea4","message":"Explanation about a toto","distinct":true,"sha":"d1c0dbdd50de73300e408800f9594aff65765ea4"}]},"public":false,"repo":{"url":"https://api.github.com/repos/jacquev6/Candidates","id":1592290,"name":"jacquev6/Candidates"},"created_at":"2012-05-09T14:58:19Z","id":"1550344090","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"824b45490dd3b8b2fae4bd4201f195249e26e8a1","size":1,"push_id":77223918,"commits":[{"sha":"824b45490dd3b8b2fae4bd4201f195249e26e8a1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/824b45490dd3b8b2fae4bd4201f195249e26e8a1","distinct":true,"message":"Add a Plan class"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-08T19:27:45Z","id":"1550038588","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"f2ccff31671f56b9a1db152056c40fc5118ac403","size":11,"push_id":77220608,"commits":[{"sha":"84dff1cca70806dd51440fef0634626fd5180a59","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/84dff1cca70806dd51440fef0634626fd5180a59","distinct":true,"message":"Fix testKeys"},{"sha":"e614a30e129b8b7a54173571a379ffe976696578","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e614a30e129b8b7a54173571a379ffe976696578","distinct":true,"message":"Fix testRepositoryCompare"},{"sha":"74d7704bcd1c291b9003b5785b5978a8036c0505","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/74d7704bcd1c291b9003b5785b5978a8036c0505","distinct":true,"message":"Repository.get_languages => fix testRepositoryDetails"},{"sha":"4b820e09c9487b8f92a8fc098c6e708d16219ec1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4b820e09c9487b8f92a8fc098c6e708d16219ec1","distinct":true,"message":"Remove an old toto"},{"sha":"1625a645de547b29e9de0f40d40cbcdc4a72f29d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1625a645de547b29e9de0f40d40cbcdc4a72f29d","distinct":true,"message":"Start to rewrite integration test"},{"sha":"1c2f5c78cc8c018775e389a2520e570a707118a6","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c2f5c78cc8c018775e389a2520e570a707118a6","distinct":true,"message":"Improve coverage"},{"sha":"26676020797823c0ff91ccb3cca6112d4b93261e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/26676020797823c0ff91ccb3cca6112d4b93261e","distinct":true,"message":"First recording for new integration tests"},{"sha":"523f2fdd1dcd2e58bc30f6541e53d9858cfa244f","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/523f2fdd1dcd2e58bc30f6541e53d9858cfa244f","distinct":true,"message":"Fix recording"},{"sha":"00904f33330d690994a973cd0e021c498e826bc5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/00904f33330d690994a973cd0e021c498e826bc5","distinct":true,"message":"Cover AuthenticatedUser.edit"},{"sha":"656556341233c62324445eb3f5cef6331a7578d3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/656556341233c62324445eb3f5cef6331a7578d3","distinct":true,"message":"Ensure that recorded calls are all replayed"},{"sha":"f2ccff31671f56b9a1db152056c40fc5118ac403","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2ccff31671f56b9a1db152056c40fc5118ac403","distinct":true,"message":"Add a Plan class"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-08T19:12:55Z","id":"1550033011","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"658e8e1ff5d4846d7aa709e516432843d39ad3d5","size":15,"push_id":77097011,"commits":[{"sha":"b9d318a09a89d71a9025da545e0883ee06bb2e40","author":{"name":"Baylor Rae'","email":"baylorrae@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/b9d318a09a89d71a9025da545e0883ee06bb2e40","distinct":true,"message":"fix a typo that didn't create a link"},{"sha":"fe434fe8d0dc57d06d8491ce0ce8d407e2634170","author":{"name":"Chris McDonald","email":"XWraithanX@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/fe434fe8d0dc57d06d8491ce0ce8d407e2634170","distinct":true,"message":"spelling fix: tecnique -> technique"},{"sha":"5c8f53cd01538eaf4a097636861dd87408bdd61e","author":{"name":"Clint Shryock","email":"clint@ctshryock.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/5c8f53cd01538eaf4a097636861dd87408bdd61e","distinct":true,"message":"Fix small typo\n\n\"a comments\" -> \"a comment\""},{"sha":"f8a3a353705e85132373c40d029af8b544de44b6","author":{"name":"Tyler Stalder","email":"tyler@stalder.me"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/f8a3a353705e85132373c40d029af8b544de44b6","distinct":true,"message":"Fix the links to the the newer /settings/applications/new"},{"sha":"9d11e103e1b5f01088d60a9d9f765b78565c4e7d","author":{"name":"John Barnette","email":"jbarnette@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/9d11e103e1b5f01088d60a9d9f765b78565c4e7d","distinct":true,"message":"Merge pull request #70 from BaylorRae/patch-1\n\nfix a typo that didn't create a link"},{"sha":"4036368a0ecfc7676e421ab81a9dd4beb566c5fb","author":{"name":"John Barnette","email":"jbarnette@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/4036368a0ecfc7676e421ab81a9dd4beb566c5fb","distinct":true,"message":"Merge pull request #71 from wraithan/patch-1\n\nspelling fix: tecnique -> technique"},{"sha":"c3a412b425e699f4d2bc5cea9c5bf90287bd8c39","author":{"name":"John Barnette","email":"jbarnette@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/c3a412b425e699f4d2bc5cea9c5bf90287bd8c39","distinct":true,"message":"Merge pull request #73 from ctshryock/mime-typo\n\nFix small typo on /v3/mime/"},{"sha":"338fc8c0e1ebd58c02fd3dd7197032947f4410bd","author":{"name":"John Barnette","email":"jbarnette@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/338fc8c0e1ebd58c02fd3dd7197032947f4410bd","distinct":true,"message":"Merge pull request #74 from tylerstalder/patch-1\n\nFix the links to the the newer /settings/applications/new"},{"sha":"52b8a57eca396da67c8a3fb0d7b022348324cbb3","author":{"name":"John Barnette","email":"john@jbarnette.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/52b8a57eca396da67c8a3fb0d7b022348324cbb3","distinct":true,"message":"Make new auth link anchor consistent. (@kastiglione)"},{"sha":"11fa772024c1b6ed578b5de95121f5f5935528e9","author":{"name":"John Barnette","email":"john@jbarnette.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/11fa772024c1b6ed578b5de95121f5f5935528e9","distinct":true,"message":"Squash an encoding issue."},{"sha":"1773daffb48b4d48f34ad145f22a7fa8e655625f","author":{"name":"John Barnette","email":"john@jbarnette.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/1773daffb48b4d48f34ad145f22a7fa8e655625f","distinct":true,"message":"Stop lying."},{"sha":"da0ecbdfd9cb3d3b23299c05f0325f92acf07771","author":{"name":"Jason Salaz","email":"jsalaz@github.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/da0ecbdfd9cb3d3b23299c05f0325f92acf07771","distinct":true,"message":"Suggested clarification from Bradley at Logos -> https://support.enterprise.github.com/tickets/478"},{"sha":"63cd091f4ca04a3b9b3b960d3ad588125d2c2e1b","author":{"name":"rick","email":"technoweenie@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/63cd091f4ca04a3b9b3b960d3ad588125d2c2e1b","distinct":true,"message":"Update content/v3.md"},{"sha":"d6599c82af8cfd98f7cb2e815d64ca3af890bb3e","author":{"name":"rick","email":"technoweenie@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/d6599c82af8cfd98f7cb2e815d64ca3af890bb3e","distinct":true,"message":"Update content/v3.md"},{"sha":"658e8e1ff5d4846d7aa709e516432843d39ad3d5","author":{"name":"rick","email":"technoweenie@gmail.com"},"url":"https://api.github.com/repos/jacquev6/developer.github.com/commits/658e8e1ff5d4846d7aa709e516432843d39ad3d5","distinct":true,"message":"pull request changes"}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/developer.github.com","id":3361136,"name":"jacquev6/developer.github.com"},"created_at":"2012-05-08T08:36:30Z","id":"1549819985","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"fcd377e377c23f87779d7940c3e894fd5844aad2","size":5,"push_id":77092135,"commits":[{"sha":"90ff8697b7039fcc1f12369b421f31319fd996df","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/90ff8697b7039fcc1f12369b421f31319fd996df","distinct":true,"message":"Simplify definition of list types"},{"sha":"c01d36a64eb6c4e69e3ac2f6ade27d793f7f2300","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c01d36a64eb6c4e69e3ac2f6ade27d793f7f2300","distinct":true,"message":"Remove underscores in keys in description, to allow hunting underscores in values"},{"sha":"07e994823e22a01d11612f141c2c0f9336ae5bf5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/07e994823e22a01d11612f141c2c0f9336ae5bf5","distinct":true,"message":"Fix testGists"},{"sha":"5be7fed4c9533dedffe03c7f908a608a8e6fe221","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5be7fed4c9533dedffe03c7f908a608a8e6fe221","distinct":true,"message":"Toto"},{"sha":"fcd377e377c23f87779d7940c3e894fd5844aad2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fcd377e377c23f87779d7940c3e894fd5844aad2","distinct":true,"message":"Fix testIssuesForAuthenticatedUser"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-08T07:57:57Z","id":"1549811703","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6"}}] - diff --git a/github/tests/ReplayData/NamedUser.testGetFollowers.txt b/github/tests/ReplayData/NamedUser.testGetFollowers.txt deleted file mode 100644 index cbcdd1d..0000000 --- a/github/tests/ReplayData/NamedUser.testGetFollowers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/followers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4958'), ('content-length', '3849'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f108ded43b2e23acc383f7eff74ee559"'), ('date', 'Sun, 20 May 2012 12:15:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/jnorthrup","gravatar_id":"29222a2dca6dd4cd33790d72ff3f5346","login":"jnorthrup","avatar_url":"https://secure.gravatar.com/avatar/29222a2dca6dd4cd33790d72ff3f5346?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":73514},{"url":"https://api.github.com/users/brugidou","gravatar_id":"43485eeefd3da3c96a7ea0c7e6b839dc","login":"brugidou","avatar_url":"https://secure.gravatar.com/avatar/43485eeefd3da3c96a7ea0c7e6b839dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167633},{"url":"https://api.github.com/users/regisb","gravatar_id":"43d211a7021343f2be236d2b9855b734","login":"regisb","avatar_url":"https://secure.gravatar.com/avatar/43d211a7021343f2be236d2b9855b734?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":44319},{"url":"https://api.github.com/users/walidk","gravatar_id":"e251d20766937949a109603ca37bb3be","login":"walidk","avatar_url":"https://secure.gravatar.com/avatar/e251d20766937949a109603ca37bb3be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":734669},{"url":"https://api.github.com/users/afzalkhan","gravatar_id":"8e85398b116be75d4baeeddfc9c3cce1","login":"afzalkhan","avatar_url":"https://secure.gravatar.com/avatar/8e85398b116be75d4baeeddfc9c3cce1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1003845},{"url":"https://api.github.com/users/sdanzan","gravatar_id":"4a1e187f4f22547534a56966f6d8f942","login":"sdanzan","avatar_url":"https://secure.gravatar.com/avatar/4a1e187f4f22547534a56966f6d8f942?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1094967},{"url":"https://api.github.com/users/vineus","gravatar_id":"2d0c93649b7572036335aed380e351e5","login":"vineus","avatar_url":"https://secure.gravatar.com/avatar/2d0c93649b7572036335aed380e351e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":467126},{"url":"https://api.github.com/users/gturri","gravatar_id":"ba064e32f068e12bfc87d178179878a5","login":"gturri","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308601},{"url":"https://api.github.com/users/fjardon","gravatar_id":"cb044bd9a9f6548b9a9bae44617c97c7","login":"fjardon","avatar_url":"https://secure.gravatar.com/avatar/cb044bd9a9f6548b9a9bae44617c97c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":121402},{"url":"https://api.github.com/users/cjuniet","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","login":"cjuniet","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1233553},{"url":"https://api.github.com/users/jardon-u","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","login":"jardon-u","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":994192},{"url":"https://api.github.com/users/kamaradclimber","gravatar_id":"0c43eba4a99f65e071e66e684cea8177","login":"kamaradclimber","avatar_url":"https://secure.gravatar.com/avatar/0c43eba4a99f65e071e66e684cea8177?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":503537},{"url":"https://api.github.com/users/L42y","gravatar_id":"4dc11d87759273f3466ab4f673bcecae","login":"L42y","avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":284820}] - diff --git a/github/tests/ReplayData/NamedUser.testGetFollowing.txt b/github/tests/ReplayData/NamedUser.testGetFollowing.txt deleted file mode 100644 index 3587b46..0000000 --- a/github/tests/ReplayData/NamedUser.testGetFollowing.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/following -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4957'), ('content-length', '7072'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"83babfd00229c6e016e079e609e6db86"'), ('date', 'Sun, 20 May 2012 12:15:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"nvie","id":83844},{"url":"https://api.github.com/users/schacon","gravatar_id":"9375a9529679f1b42b567a640d775e7d","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"schacon","id":70},{"url":"https://api.github.com/users/jamis","gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jamis","id":1627},{"url":"https://api.github.com/users/chad","gravatar_id":"77f306388bb6ae00ac0b0401e27cdc99","avatar_url":"https://secure.gravatar.com/avatar/77f306388bb6ae00ac0b0401e27cdc99?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"chad","id":237},{"url":"https://api.github.com/users/unclebob","gravatar_id":"e47a3e81d72676bd497b1cb67f66da97","avatar_url":"https://secure.gravatar.com/avatar/e47a3e81d72676bd497b1cb67f66da97?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"unclebob","id":36901},{"url":"https://api.github.com/users/dabrahams","gravatar_id":"5b45540ae377ec54a071f313b7193a27","avatar_url":"https://secure.gravatar.com/avatar/5b45540ae377ec54a071f313b7193a27?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"dabrahams","id":44065},{"url":"https://api.github.com/users/jnorthrup","gravatar_id":"29222a2dca6dd4cd33790d72ff3f5346","avatar_url":"https://secure.gravatar.com/avatar/29222a2dca6dd4cd33790d72ff3f5346?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jnorthrup","id":73514},{"url":"https://api.github.com/users/brugidou","gravatar_id":"43485eeefd3da3c96a7ea0c7e6b839dc","avatar_url":"https://secure.gravatar.com/avatar/43485eeefd3da3c96a7ea0c7e6b839dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"brugidou","id":167633},{"url":"https://api.github.com/users/regisb","gravatar_id":"43d211a7021343f2be236d2b9855b734","avatar_url":"https://secure.gravatar.com/avatar/43d211a7021343f2be236d2b9855b734?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"regisb","id":44319},{"url":"https://api.github.com/users/walidk","gravatar_id":"e251d20766937949a109603ca37bb3be","avatar_url":"https://secure.gravatar.com/avatar/e251d20766937949a109603ca37bb3be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"walidk","id":734669},{"url":"https://api.github.com/users/tanzilli","gravatar_id":"5d533d287dda8809a5369b65063ef725","avatar_url":"https://secure.gravatar.com/avatar/5d533d287dda8809a5369b65063ef725?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"tanzilli","id":434112},{"url":"https://api.github.com/users/fjardon","gravatar_id":"cb044bd9a9f6548b9a9bae44617c97c7","avatar_url":"https://secure.gravatar.com/avatar/cb044bd9a9f6548b9a9bae44617c97c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"fjardon","id":121402},{"url":"https://api.github.com/users/r3c","gravatar_id":"9240b01ceef60b45be83aee8637e7043","avatar_url":"https://secure.gravatar.com/avatar/9240b01ceef60b45be83aee8637e7043?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"r3c","id":979446},{"url":"https://api.github.com/users/sdanzan","gravatar_id":"4a1e187f4f22547534a56966f6d8f942","avatar_url":"https://secure.gravatar.com/avatar/4a1e187f4f22547534a56966f6d8f942?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"sdanzan","id":1094967},{"url":"https://api.github.com/users/vineus","gravatar_id":"2d0c93649b7572036335aed380e351e5","avatar_url":"https://secure.gravatar.com/avatar/2d0c93649b7572036335aed380e351e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"vineus","id":467126},{"url":"https://api.github.com/users/cjuniet","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"cjuniet","id":1233553},{"url":"https://api.github.com/users/gturri","gravatar_id":"ba064e32f068e12bfc87d178179878a5","avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gturri","id":308601},{"url":"https://api.github.com/users/ant9000","gravatar_id":"05c5d147f5decac1213f47007f6e97ed","avatar_url":"https://secure.gravatar.com/avatar/05c5d147f5decac1213f47007f6e97ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ant9000","id":803884},{"url":"https://api.github.com/users/asquini","gravatar_id":"ffc7ee9137c7c6859958bd21b724dde1","avatar_url":"https://secure.gravatar.com/avatar/ffc7ee9137c7c6859958bd21b724dde1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"asquini","id":1159877},{"url":"https://api.github.com/users/claudyus","gravatar_id":"694d276cdabd74c2538838f55d289143","avatar_url":"https://secure.gravatar.com/avatar/694d276cdabd74c2538838f55d289143?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"claudyus","id":509291},{"url":"https://api.github.com/users/jardon-u","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jardon-u","id":994192},{"url":"https://api.github.com/users/s-bernard","gravatar_id":"046dc82526c7cb4c60d8e70c6f4d4615","avatar_url":"https://secure.gravatar.com/avatar/046dc82526c7cb4c60d8e70c6f4d4615?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"s-bernard","id":1468889},{"url":"https://api.github.com/users/kamaradclimber","gravatar_id":"0c43eba4a99f65e071e66e684cea8177","avatar_url":"https://secure.gravatar.com/avatar/0c43eba4a99f65e071e66e684cea8177?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"kamaradclimber","id":503537},{"url":"https://api.github.com/users/Lyloa","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Lyloa","id":1131432}] - diff --git a/github/tests/ReplayData/NamedUser.testGetGists.txt b/github/tests/ReplayData/NamedUser.testGetGists.txt deleted file mode 100644 index 659578f..0000000 --- a/github/tests/ReplayData/NamedUser.testGetGists.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/gists -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '3681'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5718165cec484b5936e6e08ff24eb2e5"'), ('date', 'Sat, 26 May 2012 10:09:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-26T10:09:33Z","url":"https://api.github.com/gists/2793179","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2793179.git","git_push_url":"git@gist.github.com:2793179.git","files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-26T09:50:02Z","id":"2793179","html_url":"https://gist.github.com/2793179"},{"updated_at":"2012-04-26T13:20:53Z","url":"https://api.github.com/gists/11cb445f8197e17d303d","comments":0,"public":false,"git_pull_url":"git://gist.github.com/11cb445f8197e17d303d.git","git_push_url":"git@gist.github.com:11cb445f8197e17d303d.git","files":{"FairThreadPoolPool.cpp":{"type":"text/plain","raw_url":"https://gist.github.com/raw/11cb445f8197e17d303d/0f72c6fe50eb011eacb4e39fa613bdfe2f7a0c51/FairThreadPoolPool.cpp","size":7779,"filename":"FairThreadPoolPool.cpp","language":"C++"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"FairThreadPoolPool.cpp","created_at":"2012-04-26T13:20:53Z","id":"11cb445f8197e17d303d","html_url":"https://gist.github.com/11cb445f8197e17d303d"},{"updated_at":"2012-02-29T16:47:12Z","url":"https://api.github.com/gists/1942384","comments":0,"public":true,"git_pull_url":"git://gist.github.com/1942384.git","git_push_url":"git@gist.github.com:1942384.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","language":"Python"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"1942384","html_url":"https://gist.github.com/1942384"},{"updated_at":"2012-02-28T19:44:42Z","url":"https://api.github.com/gists/dcb7de17e8a52b74541d","comments":1,"public":false,"git_pull_url":"git://gist.github.com/dcb7de17e8a52b74541d.git","git_push_url":"git@gist.github.com:dcb7de17e8a52b74541d.git","files":{"cadfael.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/dcb7de17e8a52b74541d/48ca696645682d7430d73180814434e0284796b2/cadfael.txt","size":585,"filename":"cadfael.txt","language":"Text"}},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Cadfael: order of episodes in French DVD edition","created_at":"2012-02-28T19:44:42Z","id":"dcb7de17e8a52b74541d","html_url":"https://gist.github.com/dcb7de17e8a52b74541d"}] - diff --git a/github/tests/ReplayData/NamedUser.testGetKeys.txt b/github/tests/ReplayData/NamedUser.testGetKeys.txt deleted file mode 100644 index d386ded..0000000 --- a/github/tests/ReplayData/NamedUser.testGetKeys.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/keys -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '2021'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 03 Feb 2013 11:54:54 GMT'), ('connection', 'keep-alive'), ('etag', '"d80dfcef46052de82fcfd18ddc6d0b9f"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 03 Feb 2013 16:17:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIP5wjRLjI21lmSNsdGCbB/6Oc6PwyGTr7xn0z0QgUukL8YdsbVtDlgwAXcJbjEO0fIZtXumtHtN6dXxMwzvuyLxwp+YX6itjOex8X+ARsMa3g84+d252E1eVs480s5fZZwfoKGhWD+55bpFVlNokc4OUbqSXEnK45nrEWpxNEfeYF48aW4RpJ42HF8sF1ihxLHCrPXxpx1jKXN8ZpHqzfEHCF2hjJHaIS9sUADxaINEeakWy5brbNn5qSQurs3ADNs827Pahh6tPYcbUWpk7+Lu2V3wvqOdjfQz9GIEhSD1jUDa/R7/FIt92yUShMULdQZ49GuHup7VcTaBW3bBj","id":3557894},{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNPDWrRtvubw0UEsoF3GMsfaRnt2Q2uj1vADkSt2Ii9QmoA4oy4Z/QJwVCYnosGhr/Y21pBYk1J0BuyYnw1NZ0CpC1dxdZLsm5YFVKy0n7DKjyiKShTXEi0rj9GAZfVY4Whv8Du4Jjy0cb4tN9OXqYJ7AI+hN0H/AAX9+vmX0C1Oph7KKyy31De4ov68mpKXQr3EPORgOJQ78yV0LxlaGMeXjYjiMKW9fT0nCKfy/WMQCNE8IJNKDoBsX10ctPQ57K8zE+O9XS8WPS2AL7B1TCJl2GebJjeRN9GHyc8o70ZLgfW4W5JzFMCGv2sYcDJjvVrymYt4/YfAl9AnzZDAN5","id":3791954},{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAruD8eAQGD1PcfwiycEiwij6StRlNzXKVWlu8IkgfGZq/fk7k5kNf0PwdmG7kZo4gZAi/ljcHrnyINqxtO6zxbUihxJp7T0Zyz27fT0nOrs1p+KAFg7x/qs28Dm7aSYquKztcLqlZdRSDjD/178i7ft90+sjIq9mg2zgYDiV9tGzMfwoD9Cf/OpbFNOdDHNDvuVzGKefDfrC9zY9bpxteJP/teCQXzC6eqYTL7Qz0L6NANRq0Bv9WKA1xE04E6xlSEbtIX9+VWGHH5WnD/q/PABwZqwhxwDm7/b2vd8E9TuoXiVw0rSgWh3WFfYzSLnN/kTw5zadML6egC91Gx594jw==","id":3937333},{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC262QAZ3rvJ7KySFEHUQYGfntylusL03x/ULKdVaSltc3Z2xvWm4zQSLHrWrdUbRN9z9kMpHWZZ2G+pvUPcY/qijbqtwg9FwBHNZoviq65LujKyQeegFXQKhGGaesDeKKC+jTXbg2NJY6+u5HLe4Je8q45VVHyAfltcuSE2QoCim50toyGUGWhcIDz/2mQYpy1wtkehQA6TeC55UE00TSU06E9glnqVi8hjDlsA7DABqyctG/sjP79OwUMBppiXYX2B0RJMtRHZ+5chsHx8oqavux1oG/tdTw9ZSAfKUHfDrN97x9PB38F3j8s60S2udRwLEYuErlF1JizTF4XOZhD","id":4051357},{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK+jbASXi+PhE7GpBuKEH0qC+02J8L20A9CscleT5GUXKpZSbvxmsU0XLz95kYIBVUfrmTdn3PBn6FMK2OTWpxF9gt9DKclidkv2xfA1RkqnNVpMvZbzBMDmJcWo/lae+arQVJ26O1pbZjPH56c0cYvhblsoZnI1kCFatiJ3MOUeD2zCDylsfQ8zgLKA5yj0HRC3n5cPe9nIVWXnJQ1two4GHmxE7zue+hikYB7PQvaldGKTmHX04ODyZpyFOd86cvjiftN3G39POr2vh52jBwj4oLAiF89SC3QxQes8+zF00jOmnFUlONup0nLvJg4t/ij0M2kr5cqca7pMP+QfZp","id":4051492}] - diff --git a/github/tests/ReplayData/NamedUser.testGetOrgs.txt b/github/tests/ReplayData/NamedUser.testGetOrgs.txt deleted file mode 100644 index 4b3f046..0000000 --- a/github/tests/ReplayData/NamedUser.testGetOrgs.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/orgs -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('content-length', '262'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"82deae94305d8c551e4874e06f6efd48"'), ('date', 'Sun, 20 May 2012 12:27:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/orgs/BeaverSoftware","login":"BeaverSoftware","id":1424031}] - diff --git a/github/tests/ReplayData/NamedUser.testGetPublicEvents.txt b/github/tests/ReplayData/NamedUser.testGetPublicEvents.txt deleted file mode 100644 index 0ca1875..0000000 --- a/github/tests/ReplayData/NamedUser.testGetPublicEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/events/public -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '44220'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"c2fc2e5ccf4abdbd7b603c90a9254d37"'), ('date', 'Sat, 26 May 2012 10:48:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"PushEvent","payload":{"head":"619eae8d51c5988f0d2889fc767fa677438ba95d","size":11,"push_id":80673538,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":false,"message":"Merge branch 'develop'"},{"sha":"3a3bf4763192ee1234eb0557628133e06f3dfc76","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76","distinct":true,"message":"Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py"},{"sha":"608f17794664f61693a3dc05e6056fea8fbef0ff","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff","distinct":true,"message":"Restore some form of Authorization header in replay data"},{"sha":"2c04b8adbd91d38eef4f0767337ab7a12b2f684b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b","distinct":true,"message":"Allow test without pre-set-up Github"},{"sha":"5b97389988b6fe43e15a079702f6f1671257fb28","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28","distinct":true,"message":"Test three authentication schemes"},{"sha":"12747613c5ec00deccf296b8619ad507f7050475","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475","distinct":true,"message":"Test Issue.getComments"},{"sha":"2982fa96c5ca75abe717d974d83f9135d664232e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e","distinct":true,"message":"Test the new Repository.full_name attribute"},{"sha":"619eae8d51c5988f0d2889fc767fa677438ba95d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d","distinct":true,"message":"Improve coverage of AuthenticatedUser"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T10:01:39Z","id":"1556114751","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":null,"ref_type":"repository","description":"Repo created by PyGithub"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/TestPyGithub","id":4454027,"name":"jacquev6/TestPyGithub"},"created_at":"2012-05-26T09:55:27Z","id":"1556114217","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"GistEvent","payload":{"action":"create","gist":{"created_at":"2012-05-26T09:50:02Z","public":true,"comments":0,"git_push_url":"git@gist.github.com:2793179.git","files":{},"updated_at":"2012-05-26T09:50:02Z","url":"https://api.github.com/gists/2793179","id":"2793179","git_pull_url":"git://gist.github.com/2793179.git","description":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://gist.github.com/2793179"}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-26T09:50:03Z","id":"1556113740","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","comments":0,"title":"Publish version 0.7","updated_at":"2012-05-25T17:32:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:32Z","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/29","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940993","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","comments":1,"title":"Implement all authentication schemes","updated_at":"2012-05-25T17:32:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:31Z","labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940986","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref_type":"tag","ref":"v0.7","description":"Python library implementing the full Github API v3"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936661","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"DeleteEvent","payload":{"ref_type":"branch","ref":"topic/Authentication"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936660","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","size":4,"push_id":80573368,"ref":"refs/heads/master","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":true,"message":"Merge branch 'develop'"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936659","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","size":3,"push_id":80573367,"commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"}],"ref":"refs/heads/develop"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:47Z","id":"1555936657","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":"topic/Authentication","description":"Python library implementing the full Github API v3","ref_type":"branch"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:24:21Z","id":"1555833283","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","title":"Publish version 0.7","comments":0,"updated_at":"2012-05-25T11:47:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"created_at":"2012-05-25T11:47:06Z","due_on":"2012-05-26T07:00:00Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"open_issues":2,"closed_issues":0,"description":"","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/29","labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:02:48Z","id":"1555822981","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-25T06:31:42Z","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","id":5924198,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","title":"Implement all authentication schemes","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":null,"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:31:42Z","id":"1555742639","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:05:21Z","id":"1555738288","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"527ce7459a2e60d1536883f19b9bc6850d71127b","size":5,"push_id":79877715,"commits":[{"sha":"287bc541542f9d32339e7dd4b36a511cab2ebdae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/287bc541542f9d32339e7dd4b36a511cab2ebdae","distinct":true,"message":"Generate more coverage information"},{"sha":"588a4a9a355096c00a2bb25f27664d2115e120ac","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/588a4a9a355096c00a2bb25f27664d2115e120ac","distinct":true,"message":"Test AuthenticatedUser watching"},{"sha":"815720f0deb376c34166c27b6e3b73e5c1f5b1a3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/815720f0deb376c34166c27b6e3b73e5c1f5b1a3","distinct":true,"message":"Test Authorization"},{"sha":"473c92adcd8bbbd32003d9c65666ede66059551b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/473c92adcd8bbbd32003d9c65666ede66059551b","distinct":true,"message":"Test Download and CommitComment"},{"sha":"527ce7459a2e60d1536883f19b9bc6850d71127b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/527ce7459a2e60d1536883f19b9bc6850d71127b","distinct":true,"message":"Merge commit 'c93f9cc8484b7' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\ttest/IntegrationTest.py"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:59:48Z","id":"1554729420","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:15:29Z","content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","id":242562,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:15:30Z","id":"1554712197","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:11:49Z","content_type":"text/richtext","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242556","id":242556,"description":"Download created by PyGithub","html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:11:49Z","id":"1554710791","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","size":1024,"content_type":"text/plain","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","download_count":0,"id":242550,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:58:32Z","id":"1554705673","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":19,"created_at":"2012-05-22T18:53:25Z","line":211,"body":"Foobar","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:53:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362020","id":1362020,"path":"src/github/AuthenticatedUser.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362020","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:53:25Z","id":"1554703698","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":3,"created_at":"2012-05-22T18:50:02Z","line":null,"body":"Comment also created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:50:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","id":1362001,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362001","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:50:02Z","id":"1554702296","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:49:34Z","line":26,"body":"Comment created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:49:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","id":1362000,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:49:34Z","id":"1554702087","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:40:18Z","body":"Comment created by PyGithub","line":null,"commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:40:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","id":1361949,"path":null,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:40:18Z","id":"1554698320","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:36:58Z","line":null,"body":"Comment created by PyGithub","updated_at":"2012-05-22T18:36:58Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361928","id":1361928,"path":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361928"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:36:58Z","id":"1554697057","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/nvie/gitflow","id":481366,"name":"nvie/gitflow"},"created_at":"2012-05-22T17:15:11Z","id":"1554664316","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"661812b9dd136efdb0e0c413793deb0939146651","size":2,"push_id":79550719,"commits":[{"sha":"c93f9cc8484b7835130689befc89ae88c7e72694","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c93f9cc8484b7835130689befc89ae88c7e72694","distinct":true,"message":"Remove noise in human readable description"},{"sha":"661812b9dd136efdb0e0c413793deb0939146651","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/661812b9dd136efdb0e0c413793deb0939146651","distinct":true,"message":"Test watching"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T13:48:45Z","id":"1554164185","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/nvie/gitflow","id":481366,"name":"nvie/gitflow"},"created_at":"2012-05-21T11:31:55Z","id":"1554123822","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-21T11:17:12Z","body":"Implemented in ca97469. Will be in version 1.0.","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820199","id":5820199,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":26,"created_at":"2012-05-17T12:02:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","comments":3,"title":"Rate limiting?","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","id":4622816,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":"2012-06-04T07:00:00Z","title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"closed_issues":2,"open_issues":9,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":"2012-05-21T11:17:12Z","html_url":"https://github.com/jacquev6/PyGithub/issues/26","user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","id":327442,"login":"bilderbuchi"},"labels":[{"name":"Public interface","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","color":"d7e102"}],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:17:14Z","id":"1554120319","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":26,"created_at":"2012-05-17T12:02:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","comments":3,"title":"Rate limiting?","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","id":4622816,"assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"created_at":"2012-03-08T12:22:28Z","due_on":"2012-06-04T07:00:00Z","title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"open_issues":9,"closed_issues":2,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":"2012-05-21T11:17:12Z","html_url":"https://github.com/jacquev6/PyGithub/issues/26","user":{"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","id":327442,"login":"bilderbuchi"},"labels":[{"name":"Public interface","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","color":"d7e102"}],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:17:14Z","id":"1554120316","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","size":1,"push_id":79524271,"commits":[{"sha":"ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ca974699b0ea2a770e6c2dbd162b3d2c0ae9fe89","distinct":true,"message":"Retrieve rate limiting information"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-21T11:16:05Z","id":"1554120027","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"d5ba645d446d9c237a52ddc9cdc6862e399c62dc","size":4,"push_id":79431688,"commits":[{"sha":"fd18d6299da666bffb9490a1a784060ca7a516f1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fd18d6299da666bffb9490a1a784060ca7a516f1","distinct":true,"message":"Test IssueComment"},{"sha":"beaa58ca0c038469b3b553b804b4d37b2363f8e2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/beaa58ca0c038469b3b553b804b4d37b2363f8e2","distinct":true,"message":"Test IssueEvent attributes"},{"sha":"6a2e4b4958385667c892cbd720fb91c6c44ab81a","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6a2e4b4958385667c892cbd720fb91c6c44ab81a","distinct":true,"message":"Improve test coverage of NamedUser"},{"sha":"d5ba645d446d9c237a52ddc9cdc6862e399c62dc","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d5ba645d446d9c237a52ddc9cdc6862e399c62dc","distinct":true,"message":"Improve test coverage of AuthenticatedUser"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-20T17:59:32Z","id":"1553953684","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}},{"type":"FollowEvent","payload":{"target":{"name":"Vincent Driessen","company":"3rd Cloud","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","created_at":"2009-05-12T21:19:38Z","location":"Netherlands","public_repos":61,"blog":"http://nvie.com","followers":297,"url":"https://api.github.com/users/nvie","public_gists":16,"hireable":false,"id":83844,"type":"User","bio":null,"login":"nvie","html_url":"https://github.com/nvie","email":"vincent@3rdcloud.com","following":41}},"public":true,"repo":{"url":"https://api.github.com/repos//","name":"/"},"created_at":"2012-05-20T12:47:52Z","id":"1553918130","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"login":"jacquev6"}}] - diff --git a/github/tests/ReplayData/NamedUser.testGetPublicReceivedEvents.txt b/github/tests/ReplayData/NamedUser.testGetPublicReceivedEvents.txt deleted file mode 100644 index 5d1652d..0000000 --- a/github/tests/ReplayData/NamedUser.testGetPublicReceivedEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/received_events/public -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4943'), ('content-length', '79562'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"901c887a2dc34d6a5067538b206fdb07"'), ('date', 'Sun, 20 May 2012 12:29:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:29:17Z","body":"+1","updated_at":"2012-05-20T12:29:17Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808535","id":5808535,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b3cb2e7b64cad46d1cd6e5d3294c12cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3cb2e7b64cad46d1cd6e5d3294c12cc","url":"https://api.github.com/users/cherryboss","id":1078894,"login":"cherryboss"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":23,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:29:17Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:29:18Z","id":"1553916447","actor":{"avatar_url":"https://secure.gravatar.com/avatar/b3cb2e7b64cad46d1cd6e5d3294c12cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3cb2e7b64cad46d1cd6e5d3294c12cc","url":"https://api.github.com/users/cherryboss","id":1078894,"login":"cherryboss"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:25:03Z","body":"+1","updated_at":"2012-05-20T12:25:03Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808513","id":5808513,"user":{"avatar_url":"https://secure.gravatar.com/avatar/1cf1c7870c060e3d6e9bba907869deac?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1cf1c7870c060e3d6e9bba907869deac","url":"https://api.github.com/users/Aurielle","id":144428,"login":"Aurielle"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":22,"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","updated_at":"2012-05-20T12:25:03Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:25:06Z","id":"1553916062","actor":{"avatar_url":"https://secure.gravatar.com/avatar/1cf1c7870c060e3d6e9bba907869deac?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1cf1c7870c060e3d6e9bba907869deac","url":"https://api.github.com/users/Aurielle","id":144428,"login":"Aurielle"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:23:10Z","body":"+1","updated_at":"2012-05-20T12:23:10Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808502","id":5808502,"user":{"avatar_url":"https://secure.gravatar.com/avatar/19a6b06bab555481b203b024e5761567?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"19a6b06bab555481b203b024e5761567","url":"https://api.github.com/users/janmarek","id":150257,"login":"janmarek"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":21,"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:23:10Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:23:10Z","id":"1553915882","actor":{"avatar_url":"https://secure.gravatar.com/avatar/19a6b06bab555481b203b024e5761567?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"19a6b06bab555481b203b024e5761567","url":"https://api.github.com/users/janmarek","id":150257,"login":"janmarek"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:22:47Z","body":"+1","updated_at":"2012-05-20T12:22:47Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808501","id":5808501,"user":{"avatar_url":"https://secure.gravatar.com/avatar/e9de61b5196e93a3db50330622319687?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e9de61b5196e93a3db50330622319687","url":"https://api.github.com/users/Jirda","id":888765,"login":"Jirda"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":20,"updated_at":"2012-05-20T12:22:47Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:22:48Z","id":"1553915852","actor":{"avatar_url":"https://secure.gravatar.com/avatar/e9de61b5196e93a3db50330622319687?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e9de61b5196e93a3db50330622319687","url":"https://api.github.com/users/Jirda","id":888765,"login":"Jirda"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:22:42Z","body":"+1","updated_at":"2012-05-20T12:22:42Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808500","id":5808500,"user":{"avatar_url":"https://secure.gravatar.com/avatar/73997373b9f2e330bc4ed2dff3ad8561?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"73997373b9f2e330bc4ed2dff3ad8561","url":"https://api.github.com/users/NeosinneR","id":470616,"login":"NeosinneR"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":19,"updated_at":"2012-05-20T12:22:42Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:22:43Z","id":"1553915842","actor":{"avatar_url":"https://secure.gravatar.com/avatar/73997373b9f2e330bc4ed2dff3ad8561?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"73997373b9f2e330bc4ed2dff3ad8561","url":"https://api.github.com/users/NeosinneR","id":470616,"login":"NeosinneR"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:21:39Z","body":"+1","updated_at":"2012-05-20T12:21:39Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808494","id":5808494,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6f055df11c2384360588bff39eca3179?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f055df11c2384360588bff39eca3179","url":"https://api.github.com/users/Acnnair","id":198089,"login":"Acnnair"}},"action":"created","issue":{"number":34,"pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"created_at":"2011-01-21T16:04:58Z","comments":18,"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:21:39Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"html_url":"https://github.com/github/markup/issues/34","labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:21:39Z","id":"1553915747","actor":{"avatar_url":"https://secure.gravatar.com/avatar/6f055df11c2384360588bff39eca3179?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f055df11c2384360588bff39eca3179","url":"https://api.github.com/users/Acnnair","id":198089,"login":"Acnnair"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:21:18Z","body":"+ 01 :)","updated_at":"2012-05-20T12:21:18Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808490","id":5808490,"user":{"avatar_url":"https://secure.gravatar.com/avatar/39e7b53a5166503123d4b99ad3b959b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"39e7b53a5166503123d4b99ad3b959b9","url":"https://api.github.com/users/adamtomecek","id":157048,"login":"adamtomecek"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":17,"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","updated_at":"2012-05-20T12:21:18Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:21:18Z","id":"1553915704","actor":{"avatar_url":"https://secure.gravatar.com/avatar/39e7b53a5166503123d4b99ad3b959b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"39e7b53a5166503123d4b99ad3b959b9","url":"https://api.github.com/users/adamtomecek","id":157048,"login":"adamtomecek"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:20:43Z","body":"+1","updated_at":"2012-05-20T12:20:43Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808487","id":5808487,"user":{"avatar_url":"https://secure.gravatar.com/avatar/d8fe8d5f9012e9e1d76f19e05eedcc73?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d8fe8d5f9012e9e1d76f19e05eedcc73","url":"https://api.github.com/users/Marax","id":402625,"login":"Marax"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":16,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:20:43Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:20:43Z","id":"1553915653","actor":{"avatar_url":"https://secure.gravatar.com/avatar/d8fe8d5f9012e9e1d76f19e05eedcc73?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d8fe8d5f9012e9e1d76f19e05eedcc73","url":"https://api.github.com/users/Marax","id":402625,"login":"Marax"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:15:29Z","body":"+1","updated_at":"2012-05-20T12:15:29Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808456","id":5808456,"user":{"avatar_url":"https://secure.gravatar.com/avatar/c41460d1cfc23cbc64a2639f753d8b70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c41460d1cfc23cbc64a2639f753d8b70","url":"https://api.github.com/users/MartinSadovy","id":179039,"login":"MartinSadovy"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":15,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:15:29Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:15:30Z","id":"1553915168","actor":{"avatar_url":"https://secure.gravatar.com/avatar/c41460d1cfc23cbc64a2639f753d8b70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c41460d1cfc23cbc64a2639f753d8b70","url":"https://api.github.com/users/MartinSadovy","id":179039,"login":"MartinSadovy"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:13:14Z","body":"+1","updated_at":"2012-05-20T12:13:14Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808447","id":5808447,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6f4840694cd92f20ce0df5233bbc04b0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f4840694cd92f20ce0df5233bbc04b0","url":"https://api.github.com/users/HosipLan","id":158625,"login":"HosipLan"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":14,"updated_at":"2012-05-20T12:13:14Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:13:15Z","id":"1553914970","actor":{"avatar_url":"https://secure.gravatar.com/avatar/6f4840694cd92f20ce0df5233bbc04b0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f4840694cd92f20ce0df5233bbc04b0","url":"https://api.github.com/users/HosipLan","id":158625,"login":"HosipLan"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:05:45Z","body":"+1","updated_at":"2012-05-20T12:05:45Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808414","id":5808414,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6ed2b9a3737b1c2ad7fcb1a82fd379bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6ed2b9a3737b1c2ad7fcb1a82fd379bb","url":"https://api.github.com/users/Lopo","id":279973,"login":"Lopo"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":13,"updated_at":"2012-05-20T12:05:45Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:05:45Z","id":"1553914335","actor":{"avatar_url":"https://secure.gravatar.com/avatar/6ed2b9a3737b1c2ad7fcb1a82fd379bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6ed2b9a3737b1c2ad7fcb1a82fd379bb","url":"https://api.github.com/users/Lopo","id":279973,"login":"Lopo"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:59:10Z","body":"+1","updated_at":"2012-05-20T11:59:10Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808385","id":5808385,"user":{"avatar_url":"https://secure.gravatar.com/avatar/df9a5876a05095a41d9762c60de90fc6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"df9a5876a05095a41d9762c60de90fc6","url":"https://api.github.com/users/Twista","id":1297511,"login":"Twista"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":12,"updated_at":"2012-05-20T11:59:10Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:59:11Z","id":"1553913765","actor":{"avatar_url":"https://secure.gravatar.com/avatar/df9a5876a05095a41d9762c60de90fc6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"df9a5876a05095a41d9762c60de90fc6","url":"https://api.github.com/users/Twista","id":1297511,"login":"Twista"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:53:44Z","body":"+1","updated_at":"2012-05-20T11:53:44Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808351","id":5808351,"user":{"avatar_url":"https://secure.gravatar.com/avatar/0b532998b3de0282ae25faec12409900?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"0b532998b3de0282ae25faec12409900","url":"https://api.github.com/users/f3l1x","id":538058,"login":"f3l1x"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":11,"updated_at":"2012-05-20T11:53:44Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:53:44Z","id":"1553913287","actor":{"avatar_url":"https://secure.gravatar.com/avatar/0b532998b3de0282ae25faec12409900?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"0b532998b3de0282ae25faec12409900","url":"https://api.github.com/users/f3l1x","id":538058,"login":"f3l1x"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:52:32Z","body":"+1 :)","updated_at":"2012-05-20T11:52:32Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808340","id":5808340,"user":{"avatar_url":"https://secure.gravatar.com/avatar/5632d1bf9598d8d03fa3da1c54f2118e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5632d1bf9598d8d03fa3da1c54f2118e","url":"https://api.github.com/users/enumag","id":539462,"login":"enumag"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":10,"updated_at":"2012-05-20T11:52:32Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:52:32Z","id":"1553913189","actor":{"avatar_url":"https://secure.gravatar.com/avatar/5632d1bf9598d8d03fa3da1c54f2118e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5632d1bf9598d8d03fa3da1c54f2118e","url":"https://api.github.com/users/enumag","id":539462,"login":"enumag"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:43:14Z","body":"Thanks! But in my case I have to wrap the the modal in a form...\n\nI'm thinking about something like this to fix it:\nI've to catch the enter key, when pressed and when a input is active.","updated_at":"2012-05-20T11:43:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5808288","id":5808288,"user":{"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"login":"royduin"}},"action":"created","issue":{"number":3343,"created_at":"2012-05-03T17:25:01Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"I've got a modal with a form in it and a input field. In de footer of the modal a submit button. When clicking on the submit button the form will be submitted. When pressing enter, from the input field, the modal disappears. Simple example:\r\n\r\n```html\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t

Login

\r\n\t\t
\r\n\t\t
\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n```\r\n\r\nI hope it will be fixed soon!","comments":4,"title":"Modal disappears when press enter","updated_at":"2012-05-20T11:43:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3343","id":4409660,"assignee":null,"milestone":null,"closed_at":"2012-05-04T19:04:44Z","html_url":"https://github.com/twitter/bootstrap/issues/3343","user":{"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"login":"royduin"},"labels":[],"state":"closed"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T11:43:16Z","id":"1553912424","actor":{"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"login":"royduin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:23:11Z","body":"can you add one more image? There is sometimes a min. of 3 images required for the carousel to work.","updated_at":"2012-05-20T11:23:11Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5808187","id":5808187,"user":{"avatar_url":"https://secure.gravatar.com/avatar/a4f984ab9880a062644a6f9c15ce79e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a4f984ab9880a062644a6f9c15ce79e0","url":"https://api.github.com/users/thaibluesky","id":1756528,"login":"thaibluesky"}},"action":"created","issue":{"number":3528,"created_at":"2012-05-18T19:22:21Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Carousel does not start sliding to the next one after 5 seconds until after I click to the next slide. Only then does the timer start. What am I missing?","comments":8,"title":"Carousel does not start sliding","updated_at":"2012-05-20T11:23:11Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3528","id":4647904,"assignee":null,"milestone":null,"closed_at":null,"labels":[],"html_url":"https://github.com/twitter/bootstrap/issues/3528","user":{"avatar_url":"https://secure.gravatar.com/avatar/3fdf23df74c9d4897818887e74686e48?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3fdf23df74c9d4897818887e74686e48","url":"https://api.github.com/users/gigdates","id":1179255,"login":"gigdates"},"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T11:23:15Z","id":"1553910775","actor":{"avatar_url":"https://secure.gravatar.com/avatar/a4f984ab9880a062644a6f9c15ce79e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a4f984ab9880a062644a6f9c15ce79e0","url":"https://api.github.com/users/thaibluesky","id":1756528,"login":"thaibluesky"}},{"type":"PushEvent","payload":{"head":"03f86a5adb930eac55dea1e903fb958c002d5bc4","size":1,"push_id":79407330,"commits":[{"sha":"03f86a5adb930eac55dea1e903fb958c002d5bc4","author":{"name":"Aymeric Augustin","email":"aymeric.augustin@m4x.org"},"url":"https://api.github.com/repos/django/django/commits/03f86a5adb930eac55dea1e903fb958c002d5bc4","distinct":true,"message":"Fixed #18354 -- Performance issue in CBV.\n\nPrevented repeating a query twice when the model isn't ordered by\n-date_field (in Meta), allow_empty is False and pagination isn't\nenabled."}],"ref":"refs/heads/master"},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","url":"https://api.github.com/orgs/django","id":27804,"login":"django"},"repo":{"url":"https://api.github.com/repos/django/django","id":4164482,"name":"django/django"},"created_at":"2012-05-20T11:20:49Z","id":"1553910583","actor":{"avatar_url":"https://secure.gravatar.com/avatar/ec12d7f60c595a45665f74b651aefabe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ec12d7f60c595a45665f74b651aefabe","url":"https://api.github.com/users/aaugustin","id":788910,"login":"aaugustin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T10:22:07Z","body":"Do you need any additional information from me?","updated_at":"2012-05-20T10:22:07Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/comments/5807859","id":5807859,"user":{"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"login":"fceller"}},"action":"created","issue":{"number":12215,"created_at":"2012-05-12T19:12:18Z","pull_request":{"diff_url":"https://github.com/mxcl/homebrew/pull/12215.diff","patch_url":"https://github.com/mxcl/homebrew/pull/12215.patch","html_url":"https://github.com/mxcl/homebrew/pull/12215"},"comments":2,"title":"Upgrade ArangoDB (formally known as AvocadoDB) to 0.5.0","body":"We had to rename AvocadoDB to ArangoDB due to legal issues.","updated_at":"2012-05-20T10:22:07Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/12215","id":4548813,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/mxcl/homebrew/issues/12215","user":{"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"login":"fceller"},"labels":[{"name":"renames","url":"https://api.github.com/repos/mxcl/homebrew/labels/renames","color":"e102d8"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T10:22:08Z","id":"1553905852","actor":{"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"login":"fceller"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T10:20:14Z","body":"Cfernandi, thanks, but that didn't help. The words aren't smushing together, it's just one of the words is too long and overflows the right of the screen. I guess I'll just have to get a shorter surname :P","updated_at":"2012-05-20T10:20:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807847","id":5807847,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6eff6b838ee9a1b1d5defa126a714ffc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6eff6b838ee9a1b1d5defa126a714ffc","url":"https://api.github.com/users/hughrawlinson","id":829836,"login":"hughrawlinson"}},"action":"created","issue":{"number":3230,"created_at":"2012-04-25T17:20:27Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"When you use a button to present a modal on mobile, the screen turns black, and only does the modal appear after some crafty scrolling and zooming. This is not apparent to a new user.\r\n\r\nAny fixes?\r\n\r\nMore discussion on the problem here: https://github.com/twitter/bootstrap/issues/1036","comments":16,"title":"Modals in 2.0 are broken on mobile.","updated_at":"2012-05-20T10:20:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3230","id":4285344,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3230","user":{"avatar_url":"https://secure.gravatar.com/avatar/c8112e74c84fea5e2faccbc7da3c2ba9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c8112e74c84fea5e2faccbc7da3c2ba9","url":"https://api.github.com/users/ATSiem","id":1068543,"login":"ATSiem"},"labels":[{"name":"css","url":"https://api.github.com/repos/twitter/bootstrap/labels/css","color":"7a43b6"},{"name":"responsive","url":"https://api.github.com/repos/twitter/bootstrap/labels/responsive","color":"ae8bd4"}],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T10:20:18Z","id":"1553905709","actor":{"avatar_url":"https://secure.gravatar.com/avatar/6eff6b838ee9a1b1d5defa126a714ffc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6eff6b838ee9a1b1d5defa126a714ffc","url":"https://api.github.com/users/hughrawlinson","id":829836,"login":"hughrawlinson"}},{"type":"PushEvent","payload":{"head":"b0c1e5c081472436bf2300af3073cef1df1bd696","size":1,"push_id":79403570,"ref":"refs/heads/master","commits":[{"sha":"b0c1e5c081472436bf2300af3073cef1df1bd696","author":{"name":"Aymeric Augustin","email":"aymeric.augustin@m4x.org"},"url":"https://api.github.com/repos/django/django/commits/b0c1e5c081472436bf2300af3073cef1df1bd696","distinct":true,"message":"Documented next/previous_week. Refs #10890."}]},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","url":"https://api.github.com/orgs/django","id":27804,"login":"django"},"repo":{"url":"https://api.github.com/repos/django/django","id":4164482,"name":"django/django"},"created_at":"2012-05-20T09:58:44Z","id":"1553903002","actor":{"avatar_url":"https://secure.gravatar.com/avatar/ec12d7f60c595a45665f74b651aefabe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ec12d7f60c595a45665f74b651aefabe","url":"https://api.github.com/users/aaugustin","id":788910,"login":"aaugustin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T09:27:14Z","body":"Please excuse the crudity of this model... ;) I'm too exhausted to really pretty it up right now, but here's a new mock-up based on a combination of my old one and some of the others I've seen here: http://jsfiddle.net/VEW2K/\n\nA rundown:\n\n* No javascript.\n* No extra tags (just a checkbox and a label).\n* Should degrade gracefully.\n\nI have not tested it in IE or Firefox, and I was not able to get CSS transitions working on the :before and :after pseudo content, so maybe someone else will have better luck. But I think it's cleaner than my old test, and I prefer a non-JS solution personally.","updated_at":"2012-05-20T09:27:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807584","id":5807584,"user":{"avatar_url":"https://secure.gravatar.com/avatar/02688ffd42b4265a4fa2ca1683115e4e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"02688ffd42b4265a4fa2ca1683115e4e","url":"https://api.github.com/users/thomshouse","id":75411,"login":"thomshouse"}},"action":"created","issue":{"number":1935,"created_at":"2012-02-13T00:05:29Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":39,"body":"Not sure if anyone has mentioned this or not, but it would be cool to have something like this:\r\n\r\nhttp://papermashup.com/demos/ajax-switch/","title":"Create ON/OFF Switch","updated_at":"2012-05-20T09:27:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/1935","id":3194346,"assignee":null,"milestone":{"number":7,"created_at":"2012-01-09T17:18:56Z","due_on":null,"title":"v2.1.0","creator":{"avatar_url":"https://secure.gravatar.com/avatar/bc4ab438f7a4ce1c406aadc688427f2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bc4ab438f7a4ce1c406aadc688427f2c","url":"https://api.github.com/users/markdotto","id":98681,"login":"markdotto"},"url":"https://api.github.com/repos/twitter/bootstrap/milestones/7","id":71627,"closed_issues":4,"open_issues":15,"description":"","state":"open"},"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/1935","user":{"avatar_url":"https://secure.gravatar.com/avatar/25fb0acc0fc379c2974004bb5d050bc2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25fb0acc0fc379c2974004bb5d050bc2","url":"https://api.github.com/users/adetwiler","id":1124801,"login":"adetwiler"},"labels":[{"name":"feature","url":"https://api.github.com/repos/twitter/bootstrap/labels/feature","color":"4bb14b"}],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T09:27:16Z","id":"1553896923","actor":{"avatar_url":"https://secure.gravatar.com/avatar/02688ffd42b4265a4fa2ca1683115e4e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"02688ffd42b4265a4fa2ca1683115e4e","url":"https://api.github.com/users/thomshouse","id":75411,"login":"thomshouse"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":3546,"created_at":"2012-05-20T09:00:43Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"I have a problem when I integrate the content with jquery \".load\" (a form for example) in a modal window or a single page. All scripts tooltips, popover, datepicker no longer starts?\n\nBy cons scripts work fine in a normal page.\n\nIf I integrate content directly in the tags \"modal-body\" of the modal window, the scripts work perfectly\n\nThe objective is to integrate a form on the fly, in a single modal window, after the click of a button. But once the loaded content such as a datepicker does not work! or the tooltips on a label, ...\n\nhere a test : http://testcode.olvani.net/test2\n\nThank for reply\nOlivier","comments":0,"title":"Problem for load script (tooltips, popover,...) after use jquery .load dynamic content","updated_at":"2012-05-20T09:00:43Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3546","id":4658922,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3546","user":{"avatar_url":"https://secure.gravatar.com/avatar/36677d5ad489b685b3a437a247733339?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"36677d5ad489b685b3a437a247733339","url":"https://api.github.com/users/olvani","id":1643481,"login":"olvani"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T09:00:45Z","id":"1553894937","actor":{"avatar_url":"https://secure.gravatar.com/avatar/36677d5ad489b685b3a437a247733339?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"36677d5ad489b685b3a437a247733339","url":"https://api.github.com/users/olvani","id":1643481,"login":"olvani"}},{"type":"PullRequestEvent","payload":{"number":3545,"pull_request":{"issue_url":"https://github.com/twitter/bootstrap/issues/3545","number":3545,"head":{"repo":{"name":"bootstrap","size":120,"created_at":"2012-05-20T08:48:41Z","has_wiki":true,"clone_url":"https://github.com/pvorb/bootstrap.git","private":false,"watchers":1,"updated_at":"2012-05-20T08:54:22Z","ssh_url":"git@github.com:pvorb/bootstrap.git","fork":true,"url":"https://api.github.com/repos/pvorb/bootstrap","git_url":"git://github.com/pvorb/bootstrap.git","language":"JavaScript","id":4383503,"pushed_at":"2012-05-20T08:54:22Z","svn_url":"https://github.com/pvorb/bootstrap","has_downloads":true,"mirror_url":null,"open_issues":0,"has_issues":false,"homepage":"http://twitter.github.com/bootstrap","description":"HTML, CSS, and JS toolkit from Twitter","forks":0,"html_url":"https://github.com/pvorb/bootstrap","owner":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"}},"label":"pvorb:patch-1","sha":"faf2866f96513dc1c2775974518d979feb554dbd","ref":"patch-1","user":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"}},"merged":false,"created_at":"2012-05-20T08:55:24Z","merged_by":null,"changed_files":1,"comments":0,"body":"Fix for issue #3543","title":"Remove re-declaration of font-fam, font-size, and line-height in p","diff_url":"https://github.com/twitter/bootstrap/pull/3545.diff","updated_at":"2012-05-20T08:55:24Z","additions":0,"_links":{"html":{"href":"https://github.com/twitter/bootstrap/pull/3545"},"self":{"href":"https://api.github.com/repos/twitter/bootstrap/pulls/3545"},"comments":{"href":"https://api.github.com/repos/twitter/bootstrap/issues/3545/comments"},"issue":{"href":"https://api.github.com/repos/twitter/bootstrap/issues/3545"},"review_comments":{"href":"https://api.github.com/repos/twitter/bootstrap/pulls/3545/comments"}},"url":"https://api.github.com/repos/twitter/bootstrap/pulls/3545","id":1388338,"patch_url":"https://github.com/twitter/bootstrap/pull/3545.patch","mergeable":null,"merged_at":null,"commits":1,"closed_at":null,"user":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"},"deletions":3,"review_comments":0,"html_url":"https://github.com/twitter/bootstrap/pull/3545","state":"open","base":{"repo":{"name":"bootstrap","size":1244,"created_at":"2011-07-29T21:19:00Z","has_wiki":true,"clone_url":"https://github.com/twitter/bootstrap.git","private":false,"watchers":29097,"updated_at":"2012-05-20T08:48:41Z","ssh_url":"git@github.com:twitter/bootstrap.git","fork":false,"url":"https://api.github.com/repos/twitter/bootstrap","git_url":"git://github.com/twitter/bootstrap.git","language":"JavaScript","id":2126244,"pushed_at":"2012-05-18T05:00:54Z","svn_url":"https://github.com/twitter/bootstrap","has_downloads":true,"mirror_url":null,"open_issues":222,"has_issues":true,"homepage":"http://twitter.github.com/bootstrap","description":"HTML, CSS, and JS toolkit from Twitter","forks":5699,"html_url":"https://github.com/twitter/bootstrap","owner":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/twitter","id":50278,"login":"twitter"}},"label":"twitter:master","sha":"b261f9781bbf31f499cb55c49451dc0c0ad43062","ref":"master","user":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/twitter","id":50278,"login":"twitter"}}},"action":"opened"},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T08:55:26Z","id":"1553894547","actor":{"avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b30a7c139117a36a3f2cc2958942847e","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T08:33:02Z","body":"This should be removed. It's not necessary because of traversing.","updated_at":"2012-05-20T08:33:02Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807352","id":5807352,"user":{"avatar_url":"https://secure.gravatar.com/avatar/4c39d9893256e9da887449f1d90d9562?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4c39d9893256e9da887449f1d90d9562","url":"https://api.github.com/users/macx","id":84112,"login":"macx"}},"action":"created","issue":{"number":3543,"created_at":"2012-05-19T08:23:49Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"The attributes `font-family`, `font-size` and `line-height` are set identically for both `` and `

`. What's the rationale for repeating the declaration in `

`? Regards, Christian","title":"Font assignment overdone?","updated_at":"2012-05-20T08:33:02Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3543","id":4653303,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3543","user":{"avatar_url":"https://secure.gravatar.com/avatar/04d99189f86d1d269b04876e68092784?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04d99189f86d1d269b04876e68092784","url":"https://api.github.com/users/datenimperator","id":112130,"login":"datenimperator"},"labels":[],"state":"open"}},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T08:33:04Z","id":"1553892964","actor":{"avatar_url":"https://secure.gravatar.com/avatar/4c39d9893256e9da887449f1d90d9562?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4c39d9893256e9da887449f1d90d9562","url":"https://api.github.com/users/macx","id":84112,"login":"macx"}},{"type":"PushEvent","payload":{"head":"4986f61c9ce00ce792683cce9e47ea1579631155","size":2,"push_id":79397931,"commits":[{"sha":"9c52a9b0ee98d1dce4a427e8a09307d399fe414d","author":{"name":"Bryan Donlan","email":"bdonlan@amazon.com"},"url":"https://api.github.com/repos/boto/boto/commits/9c52a9b0ee98d1dce4a427e8a09307d399fe414d","distinct":true,"message":"Fix infinite loop when listing a large (100+) number of tables in dynamodb"},{"sha":"4986f61c9ce00ce792683cce9e47ea1579631155","author":{"name":"Mitch Garnaat","email":"mitch@garnaat.com"},"url":"https://api.github.com/repos/boto/boto/commits/4986f61c9ce00ce792683cce9e47ea1579631155","distinct":true,"message":"Removing extraneous host param from Layer2 contructor."}],"ref":"refs/heads/develop"},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/orgs/boto","id":327752,"login":"boto"},"repo":{"url":"https://api.github.com/repos/boto/boto","id":771016,"name":"boto/boto"},"created_at":"2012-05-20T07:40:29Z","id":"1553889294","actor":{"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"login":"garnaat"}},{"type":"PullRequestEvent","payload":{"number":770,"pull_request":{"issue_url":"https://github.com/boto/boto/issues/770","head":{"repo":{"name":"boto","master_branch":"develop","created_at":"2012-05-19T23:11:59Z","size":120,"has_wiki":true,"clone_url":"https://github.com/bdonlan/boto.git","updated_at":"2012-05-19T23:13:56Z","private":false,"watchers":1,"language":"Python","git_url":"git://github.com/bdonlan/boto.git","ssh_url":"git@github.com:bdonlan/boto.git","fork":true,"url":"https://api.github.com/repos/bdonlan/boto","id":4381487,"pushed_at":"2012-05-19T23:13:56Z","svn_url":"https://github.com/bdonlan/boto","open_issues":0,"mirror_url":null,"has_downloads":true,"has_issues":false,"homepage":"http://boto.readthedocs.org/","forks":0,"description":"Python interface to Amazon Web Services","html_url":"https://github.com/bdonlan/boto","owner":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"}},"label":"bdonlan:develop","sha":"9c52a9b0ee98d1dce4a427e8a09307d399fe414d","ref":"develop","user":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"}},"number":770,"created_at":"2012-05-19T23:15:06Z","changed_files":1,"merged_by":{"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"login":"garnaat"},"merged":true,"body":"The current code loops when there are more tables, but continues requesting a list from the start, leading to an infinite loop.","comments":0,"title":"Fix infinite loop when listing a large (100+) number of tables in dynamodb","updated_at":"2012-05-20T07:40:29Z","additions":7,"diff_url":"https://github.com/boto/boto/pull/770.diff","_links":{"html":{"href":"https://github.com/boto/boto/pull/770"},"self":{"href":"https://api.github.com/repos/boto/boto/pulls/770"},"comments":{"href":"https://api.github.com/repos/boto/boto/issues/770/comments"},"issue":{"href":"https://api.github.com/repos/boto/boto/issues/770"},"review_comments":{"href":"https://api.github.com/repos/boto/boto/pulls/770/comments"}},"url":"https://api.github.com/repos/boto/boto/pulls/770","id":1387801,"patch_url":"https://github.com/boto/boto/pull/770.patch","mergeable":null,"merged_at":"2012-05-20T07:40:29Z","closed_at":"2012-05-20T07:40:29Z","commits":1,"html_url":"https://github.com/boto/boto/pull/770","user":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"},"review_comments":0,"deletions":2,"state":"closed","base":{"repo":{"name":"boto","master_branch":"develop","created_at":"2010-07-12T19:15:33Z","size":4183,"has_wiki":true,"clone_url":"https://github.com/boto/boto.git","updated_at":"2012-05-20T07:40:28Z","private":false,"watchers":1519,"language":"Python","git_url":"git://github.com/boto/boto.git","ssh_url":"git@github.com:boto/boto.git","fork":false,"url":"https://api.github.com/repos/boto/boto","id":771016,"pushed_at":"2012-05-20T07:40:27Z","svn_url":"https://github.com/boto/boto","open_issues":131,"mirror_url":null,"has_downloads":true,"has_issues":true,"homepage":"http://boto.readthedocs.org/","forks":395,"description":"Python interface to Amazon Web Services","html_url":"https://github.com/boto/boto","owner":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/users/boto","id":327752,"login":"boto"}},"label":"boto:develop","sha":"0bd4d8b270fd5796e2e8b570f8703410bdd02820","ref":"develop","user":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/users/boto","id":327752,"login":"boto"}}},"action":"closed"},"public":true,"org":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/orgs/boto","id":327752,"login":"boto"},"repo":{"url":"https://api.github.com/repos/boto/boto","id":771016,"name":"boto/boto"},"created_at":"2012-05-20T07:40:29Z","id":"1553889293","actor":{"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"login":"garnaat"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T07:39:27Z","body":"Good idea although I wonder if /Versions/1.8/ might be even better considering we die on our arse with 1.9.","updated_at":"2012-05-20T07:39:27Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/comments/5807134","id":5807134,"user":{"avatar_url":"https://secure.gravatar.com/avatar/215e0166d4d8265395c5d9076da73c70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"215e0166d4d8265395c5d9076da73c70","url":"https://api.github.com/users/mikemcquaid","id":125011,"login":"mikemcquaid"}},"action":"created","issue":{"number":12333,"created_at":"2012-05-20T01:39:12Z","pull_request":{"diff_url":"https://github.com/mxcl/homebrew/pull/12333.diff","patch_url":"https://github.com/mxcl/homebrew/pull/12333.patch","html_url":"https://github.com/mxcl/homebrew/pull/12333"},"body":"re: #12009, this commit replaces all usages of /usr/bin/ruby with the full Framework path, which is *hopefully* less likely to be altered.\n\nSince we're no longer dealing with a default ruby path which is a symlink, I simplified the `brew --config` checks for the system ruby.","title":"Replace /usr/bin/ruby with full Framework path","comments":2,"updated_at":"2012-05-20T07:39:27Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/12333","id":4657778,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/mxcl/homebrew/issues/12333","user":{"avatar_url":"https://secure.gravatar.com/avatar/f5f2035f07c635d24c62cf211d37f3d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f5f2035f07c635d24c62cf211d37f3d4","url":"https://api.github.com/users/mistydemeo","id":780485,"login":"mistydemeo"},"labels":[],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T07:39:29Z","id":"1553889227","actor":{"avatar_url":"https://secure.gravatar.com/avatar/215e0166d4d8265395c5d9076da73c70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"215e0166d4d8265395c5d9076da73c70","url":"https://api.github.com/users/mikemcquaid","id":125011,"login":"mikemcquaid"}},{"type":"PullRequestEvent","payload":{"number":648,"pull_request":{"issue_url":"https://github.com/mbostock/d3/issues/648","head":{"repo":{"name":"d3","created_at":"2012-05-20T05:25:26Z","size":208,"has_wiki":true,"clone_url":"https://github.com/eghm/d3.git","updated_at":"2012-05-20T05:44:03Z","private":false,"watchers":1,"git_url":"git://github.com/eghm/d3.git","ssh_url":"git@github.com:eghm/d3.git","fork":true,"language":"JavaScript","url":"https://api.github.com/repos/eghm/d3","id":4382862,"pushed_at":"2012-05-20T05:44:02Z","svn_url":"https://github.com/eghm/d3","open_issues":0,"mirror_url":null,"has_downloads":true,"has_issues":false,"homepage":"http://d3js.org","forks":0,"description":"A JavaScript visualization library for HTML and SVG.","html_url":"https://github.com/eghm/d3","owner":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"}},"label":"eghm:master","sha":"4501a5e68ad31f3ea85983188f1a75906f3afd6d","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"}},"number":648,"created_at":"2012-05-20T05:47:07Z","changed_files":1,"merged_by":null,"merged":false,"body":"An undefined import causes a fatal error in the bundle-radial demo. This commit avoids the error, the ui will go on to draw a line to a blank node. To recreate initial undefined error add a un-\"name\"ed node to one of the imports in examples/data/flare-imports.\n\nThanks for sharing such an awesome tool.\n","comments":0,"title":"add start and end parent != undefined in d3_layout_bundlePath while","updated_at":"2012-05-20T05:47:07Z","additions":2,"diff_url":"https://github.com/mbostock/d3/pull/648.diff","_links":{"html":{"href":"https://github.com/mbostock/d3/pull/648"},"self":{"href":"https://api.github.com/repos/mbostock/d3/pulls/648"},"comments":{"href":"https://api.github.com/repos/mbostock/d3/issues/648/comments"},"issue":{"href":"https://api.github.com/repos/mbostock/d3/issues/648"},"review_comments":{"href":"https://api.github.com/repos/mbostock/d3/pulls/648/comments"}},"url":"https://api.github.com/repos/mbostock/d3/pulls/648","id":1388185,"patch_url":"https://github.com/mbostock/d3/pull/648.patch","mergeable":null,"merged_at":null,"closed_at":null,"commits":1,"html_url":"https://github.com/mbostock/d3/pull/648","user":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"},"review_comments":0,"deletions":2,"state":"open","base":{"repo":{"name":"d3","created_at":"2010-09-27T17:22:42Z","size":3268,"has_wiki":true,"clone_url":"https://github.com/mbostock/d3.git","updated_at":"2012-05-20T05:25:26Z","private":false,"watchers":5893,"git_url":"git://github.com/mbostock/d3.git","ssh_url":"git@github.com:mbostock/d3.git","fork":false,"language":"JavaScript","url":"https://api.github.com/repos/mbostock/d3","id":943149,"pushed_at":"2012-05-17T19:11:22Z","svn_url":"https://github.com/mbostock/d3","open_issues":110,"mirror_url":null,"has_downloads":true,"has_issues":true,"homepage":"http://d3js.org","forks":670,"description":"A JavaScript visualization library for HTML and SVG.","html_url":"https://github.com/mbostock/d3","owner":{"avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","url":"https://api.github.com/users/mbostock","id":230541,"login":"mbostock"}},"label":"mbostock:master","sha":"dd2a424f2bdb8fae1dab5ac27168f5bba186a0c4","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","url":"https://api.github.com/users/mbostock","id":230541,"login":"mbostock"}}},"action":"opened"},"public":true,"repo":{"url":"https://api.github.com/repos/mbostock/d3","id":943149,"name":"mbostock/d3"},"created_at":"2012-05-20T05:47:09Z","id":"1553878057","actor":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"}},{"type":"PushEvent","payload":{"head":"389347c92a590c6e6165a53ae054e48ca6a23db9","size":1,"push_id":79392783,"commits":[{"sha":"389347c92a590c6e6165a53ae054e48ca6a23db9","author":{"name":"Nick Stenning","email":"nick@whiteink.com"},"url":"https://api.github.com/repos/mxcl/homebrew/commits/389347c92a590c6e6165a53ae054e48ca6a23db9","distinct":true,"message":"mu: make emacs support optional\n\nCloses #12306.\n\nSigned-off-by: Jack Nagel "}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T05:20:38Z","id":"1553874168","actor":{"avatar_url":"https://secure.gravatar.com/avatar/68602fa96bdda4c677ece48ab42b6eb2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"68602fa96bdda4c677ece48ab42b6eb2","url":"https://api.github.com/users/jacknagel","id":568243,"login":"jacknagel"}},{"type":"PullRequestEvent","payload":{"number":12306,"pull_request":{"issue_url":"https://github.com/mxcl/homebrew/issues/12306","head":{"repo":{"name":"homebrew","master_branch":"master","created_at":"2011-10-03T12:09:31Z","size":188,"has_wiki":true,"clone_url":"https://github.com/nickstenning/homebrew.git","updated_at":"2012-05-19T21:24:29Z","private":false,"watchers":1,"git_url":"git://github.com/nickstenning/homebrew.git","ssh_url":"git@github.com:nickstenning/homebrew.git","fork":true,"url":"https://api.github.com/repos/nickstenning/homebrew","language":"Ruby","id":2504318,"pushed_at":"2012-05-19T21:24:29Z","svn_url":"https://github.com/nickstenning/homebrew","mirror_url":null,"open_issues":0,"has_downloads":false,"has_issues":false,"homepage":"http://mxcl.github.com/homebrew","forks":0,"description":"The missing package manager for OS X.","html_url":"https://github.com/nickstenning/homebrew","owner":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"}},"label":"nickstenning:fix-mu","sha":"1a4c4f1a3d3a87da4a49ae4209186edc695eb715","ref":"fix-mu","user":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"}},"number":12306,"created_at":"2012-05-18T10:18:22Z","changed_files":1,"merged_by":null,"merged":false,"body":"This patch removes a slightly insane dependency of `mu` on the `emacs` package.","comments":7,"title":"mu: don't depend on emacs","updated_at":"2012-05-20T05:19:00Z","additions":11,"diff_url":"https://github.com/mxcl/homebrew/pull/12306.diff","_links":{"html":{"href":"https://github.com/mxcl/homebrew/pull/12306"},"self":{"href":"https://api.github.com/repos/mxcl/homebrew/pulls/12306"},"comments":{"href":"https://api.github.com/repos/mxcl/homebrew/issues/12306/comments"},"issue":{"href":"https://api.github.com/repos/mxcl/homebrew/issues/12306"},"review_comments":{"href":"https://api.github.com/repos/mxcl/homebrew/pulls/12306/comments"}},"url":"https://api.github.com/repos/mxcl/homebrew/pulls/12306","id":1380202,"patch_url":"https://github.com/mxcl/homebrew/pull/12306.patch","mergeable":true,"merged_at":null,"closed_at":"2012-05-20T05:19:00Z","commits":3,"html_url":"https://github.com/mxcl/homebrew/pull/12306","user":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"},"review_comments":0,"deletions":1,"state":"closed","base":{"repo":{"name":"homebrew","master_branch":"master","created_at":"2009-05-20T19:38:37Z","size":4436,"has_wiki":true,"clone_url":"https://github.com/mxcl/homebrew.git","updated_at":"2012-05-20T05:18:59Z","private":false,"watchers":8673,"git_url":"git://github.com/mxcl/homebrew.git","ssh_url":"git@github.com:mxcl/homebrew.git","fork":false,"url":"https://api.github.com/repos/mxcl/homebrew","language":"Ruby","id":206084,"pushed_at":"2012-05-20T05:18:59Z","svn_url":"https://github.com/mxcl/homebrew","mirror_url":null,"open_issues":423,"has_downloads":false,"has_issues":true,"homepage":"http://mxcl.github.com/homebrew","forks":3960,"description":"The missing package manager for OS X.","html_url":"https://github.com/mxcl/homebrew","owner":{"avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","url":"https://api.github.com/users/mxcl","id":58962,"login":"mxcl"}},"label":"mxcl:master","sha":"7ac1cbc996e0f18aaabad5ef327ff57161e0ae2e","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","url":"https://api.github.com/users/mxcl","id":58962,"login":"mxcl"}}},"action":"closed"},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T05:19:01Z","id":"1553873936","actor":{"avatar_url":"https://secure.gravatar.com/avatar/68602fa96bdda4c677ece48ab42b6eb2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"68602fa96bdda4c677ece48ab42b6eb2","url":"https://api.github.com/users/jacknagel","id":568243,"login":"jacknagel"}}] - diff --git a/github/tests/ReplayData/NamedUser.testGetReceivedEvents.txt b/github/tests/ReplayData/NamedUser.testGetReceivedEvents.txt deleted file mode 100644 index af1f4d5..0000000 --- a/github/tests/ReplayData/NamedUser.testGetReceivedEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/received_events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '79562'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"1b20f7931fdd3cb9b6f13ed739116aad"'), ('date', 'Sun, 20 May 2012 12:31:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:29:17Z","body":"+1","updated_at":"2012-05-20T12:29:17Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808535","id":5808535,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b3cb2e7b64cad46d1cd6e5d3294c12cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3cb2e7b64cad46d1cd6e5d3294c12cc","url":"https://api.github.com/users/cherryboss","id":1078894,"login":"cherryboss"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":23,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:29:17Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:29:18Z","id":"1553916447","actor":{"gravatar_id":"b3cb2e7b64cad46d1cd6e5d3294c12cc","url":"https://api.github.com/users/cherryboss","id":1078894,"avatar_url":"https://secure.gravatar.com/avatar/b3cb2e7b64cad46d1cd6e5d3294c12cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"cherryboss"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:25:03Z","body":"+1","updated_at":"2012-05-20T12:25:03Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808513","id":5808513,"user":{"avatar_url":"https://secure.gravatar.com/avatar/1cf1c7870c060e3d6e9bba907869deac?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1cf1c7870c060e3d6e9bba907869deac","url":"https://api.github.com/users/Aurielle","id":144428,"login":"Aurielle"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":22,"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","updated_at":"2012-05-20T12:25:03Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:25:06Z","id":"1553916062","actor":{"gravatar_id":"1cf1c7870c060e3d6e9bba907869deac","url":"https://api.github.com/users/Aurielle","id":144428,"avatar_url":"https://secure.gravatar.com/avatar/1cf1c7870c060e3d6e9bba907869deac?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Aurielle"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:23:10Z","body":"+1","updated_at":"2012-05-20T12:23:10Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808502","id":5808502,"user":{"avatar_url":"https://secure.gravatar.com/avatar/19a6b06bab555481b203b024e5761567?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"19a6b06bab555481b203b024e5761567","url":"https://api.github.com/users/janmarek","id":150257,"login":"janmarek"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":21,"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:23:10Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:23:10Z","id":"1553915882","actor":{"gravatar_id":"19a6b06bab555481b203b024e5761567","url":"https://api.github.com/users/janmarek","id":150257,"avatar_url":"https://secure.gravatar.com/avatar/19a6b06bab555481b203b024e5761567?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"janmarek"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:22:47Z","body":"+1","updated_at":"2012-05-20T12:22:47Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808501","id":5808501,"user":{"avatar_url":"https://secure.gravatar.com/avatar/e9de61b5196e93a3db50330622319687?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e9de61b5196e93a3db50330622319687","url":"https://api.github.com/users/Jirda","id":888765,"login":"Jirda"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":20,"updated_at":"2012-05-20T12:22:47Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:22:48Z","id":"1553915852","actor":{"gravatar_id":"e9de61b5196e93a3db50330622319687","url":"https://api.github.com/users/Jirda","id":888765,"avatar_url":"https://secure.gravatar.com/avatar/e9de61b5196e93a3db50330622319687?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Jirda"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:22:42Z","body":"+1","updated_at":"2012-05-20T12:22:42Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808500","id":5808500,"user":{"avatar_url":"https://secure.gravatar.com/avatar/73997373b9f2e330bc4ed2dff3ad8561?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"73997373b9f2e330bc4ed2dff3ad8561","url":"https://api.github.com/users/NeosinneR","id":470616,"login":"NeosinneR"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":19,"updated_at":"2012-05-20T12:22:42Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:22:43Z","id":"1553915842","actor":{"gravatar_id":"73997373b9f2e330bc4ed2dff3ad8561","url":"https://api.github.com/users/NeosinneR","id":470616,"avatar_url":"https://secure.gravatar.com/avatar/73997373b9f2e330bc4ed2dff3ad8561?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"NeosinneR"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:21:39Z","body":"+1","updated_at":"2012-05-20T12:21:39Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808494","id":5808494,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6f055df11c2384360588bff39eca3179?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f055df11c2384360588bff39eca3179","url":"https://api.github.com/users/Acnnair","id":198089,"login":"Acnnair"}},"action":"created","issue":{"number":34,"pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"created_at":"2011-01-21T16:04:58Z","comments":18,"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:21:39Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"html_url":"https://github.com/github/markup/issues/34","labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:21:39Z","id":"1553915747","actor":{"gravatar_id":"6f055df11c2384360588bff39eca3179","url":"https://api.github.com/users/Acnnair","id":198089,"avatar_url":"https://secure.gravatar.com/avatar/6f055df11c2384360588bff39eca3179?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Acnnair"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:21:18Z","body":"+ 01 :)","updated_at":"2012-05-20T12:21:18Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808490","id":5808490,"user":{"avatar_url":"https://secure.gravatar.com/avatar/39e7b53a5166503123d4b99ad3b959b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"39e7b53a5166503123d4b99ad3b959b9","url":"https://api.github.com/users/adamtomecek","id":157048,"login":"adamtomecek"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"comments":17,"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","updated_at":"2012-05-20T12:21:18Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:21:18Z","id":"1553915704","actor":{"gravatar_id":"39e7b53a5166503123d4b99ad3b959b9","url":"https://api.github.com/users/adamtomecek","id":157048,"avatar_url":"https://secure.gravatar.com/avatar/39e7b53a5166503123d4b99ad3b959b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"adamtomecek"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:20:43Z","body":"+1","updated_at":"2012-05-20T12:20:43Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808487","id":5808487,"user":{"avatar_url":"https://secure.gravatar.com/avatar/d8fe8d5f9012e9e1d76f19e05eedcc73?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d8fe8d5f9012e9e1d76f19e05eedcc73","url":"https://api.github.com/users/Marax","id":402625,"login":"Marax"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":16,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:20:43Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:20:43Z","id":"1553915653","actor":{"gravatar_id":"d8fe8d5f9012e9e1d76f19e05eedcc73","url":"https://api.github.com/users/Marax","id":402625,"avatar_url":"https://secure.gravatar.com/avatar/d8fe8d5f9012e9e1d76f19e05eedcc73?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Marax"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:15:29Z","body":"+1","updated_at":"2012-05-20T12:15:29Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808456","id":5808456,"user":{"avatar_url":"https://secure.gravatar.com/avatar/c41460d1cfc23cbc64a2639f753d8b70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c41460d1cfc23cbc64a2639f753d8b70","url":"https://api.github.com/users/MartinSadovy","id":179039,"login":"MartinSadovy"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":15,"title":"[new markup] Texy! formatter support","updated_at":"2012-05-20T12:15:29Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:15:30Z","id":"1553915168","actor":{"gravatar_id":"c41460d1cfc23cbc64a2639f753d8b70","url":"https://api.github.com/users/MartinSadovy","id":179039,"avatar_url":"https://secure.gravatar.com/avatar/c41460d1cfc23cbc64a2639f753d8b70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"MartinSadovy"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:13:14Z","body":"+1","updated_at":"2012-05-20T12:13:14Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808447","id":5808447,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6f4840694cd92f20ce0df5233bbc04b0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6f4840694cd92f20ce0df5233bbc04b0","url":"https://api.github.com/users/HosipLan","id":158625,"login":"HosipLan"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":14,"updated_at":"2012-05-20T12:13:14Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:13:15Z","id":"1553914970","actor":{"gravatar_id":"6f4840694cd92f20ce0df5233bbc04b0","url":"https://api.github.com/users/HosipLan","id":158625,"avatar_url":"https://secure.gravatar.com/avatar/6f4840694cd92f20ce0df5233bbc04b0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"HosipLan"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T12:05:45Z","body":"+1","updated_at":"2012-05-20T12:05:45Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808414","id":5808414,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6ed2b9a3737b1c2ad7fcb1a82fd379bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6ed2b9a3737b1c2ad7fcb1a82fd379bb","url":"https://api.github.com/users/Lopo","id":279973,"login":"Lopo"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":13,"updated_at":"2012-05-20T12:05:45Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T12:05:45Z","id":"1553914335","actor":{"gravatar_id":"6ed2b9a3737b1c2ad7fcb1a82fd379bb","url":"https://api.github.com/users/Lopo","id":279973,"avatar_url":"https://secure.gravatar.com/avatar/6ed2b9a3737b1c2ad7fcb1a82fd379bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Lopo"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:59:10Z","body":"+1","updated_at":"2012-05-20T11:59:10Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808385","id":5808385,"user":{"avatar_url":"https://secure.gravatar.com/avatar/df9a5876a05095a41d9762c60de90fc6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"df9a5876a05095a41d9762c60de90fc6","url":"https://api.github.com/users/Twista","id":1297511,"login":"Twista"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":12,"updated_at":"2012-05-20T11:59:10Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:59:11Z","id":"1553913765","actor":{"gravatar_id":"df9a5876a05095a41d9762c60de90fc6","url":"https://api.github.com/users/Twista","id":1297511,"avatar_url":"https://secure.gravatar.com/avatar/df9a5876a05095a41d9762c60de90fc6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Twista"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:53:44Z","body":"+1","updated_at":"2012-05-20T11:53:44Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808351","id":5808351,"user":{"avatar_url":"https://secure.gravatar.com/avatar/0b532998b3de0282ae25faec12409900?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"0b532998b3de0282ae25faec12409900","url":"https://api.github.com/users/f3l1x","id":538058,"login":"f3l1x"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"title":"[new markup] Texy! formatter support","body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","comments":11,"updated_at":"2012-05-20T11:53:44Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:53:44Z","id":"1553913287","actor":{"gravatar_id":"0b532998b3de0282ae25faec12409900","url":"https://api.github.com/users/f3l1x","id":538058,"avatar_url":"https://secure.gravatar.com/avatar/0b532998b3de0282ae25faec12409900?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"f3l1x"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:52:32Z","body":"+1 :)","updated_at":"2012-05-20T11:52:32Z","url":"https://api.github.com/repos/github/markup/issues/comments/5808340","id":5808340,"user":{"avatar_url":"https://secure.gravatar.com/avatar/5632d1bf9598d8d03fa3da1c54f2118e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5632d1bf9598d8d03fa3da1c54f2118e","url":"https://api.github.com/users/enumag","id":539462,"login":"enumag"}},"action":"created","issue":{"number":34,"created_at":"2011-01-21T16:04:58Z","pull_request":{"diff_url":"https://github.com/github/markup/pull/34.diff","patch_url":"https://github.com/github/markup/pull/34.patch","html_url":"https://github.com/github/markup/pull/34"},"body":"Hello, I've created support for great Texy! text-to-HTML formatter and converter library (http://texy.info, http://github.com/dg/texy).\r\n\r\nHere's my implementation branch: https://github.com/smasty/markup/tree/texy","title":"[new markup] Texy! formatter support","comments":10,"updated_at":"2012-05-20T11:52:32Z","url":"https://api.github.com/repos/github/markup/issues/34","id":541804,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/github/markup/issues/34","user":{"avatar_url":"https://secure.gravatar.com/avatar/c27f2f0deb68f04a58db7b7254df893b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c27f2f0deb68f04a58db7b7254df893b","url":"https://api.github.com/users/smasty","id":218524,"login":"smasty"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/orgs/github","id":9919,"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"github"},"repo":{"url":"https://api.github.com/repos/github/markup","id":355893,"name":"github/markup"},"created_at":"2012-05-20T11:52:32Z","id":"1553913189","actor":{"gravatar_id":"5632d1bf9598d8d03fa3da1c54f2118e","url":"https://api.github.com/users/enumag","id":539462,"avatar_url":"https://secure.gravatar.com/avatar/5632d1bf9598d8d03fa3da1c54f2118e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"enumag"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:43:14Z","body":"Thanks! But in my case I have to wrap the the modal in a form...\n\nI'm thinking about something like this to fix it:\nI've to catch the enter key, when pressed and when a input is active.","updated_at":"2012-05-20T11:43:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5808288","id":5808288,"user":{"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"login":"royduin"}},"action":"created","issue":{"number":3343,"created_at":"2012-05-03T17:25:01Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"I've got a modal with a form in it and a input field. In de footer of the modal a submit button. When clicking on the submit button the form will be submitted. When pressing enter, from the input field, the modal disappears. Simple example:\r\n\r\n```html\r\n

\r\n\t
\r\n\t\t
\r\n\t\t\t

Login

\r\n\t\t
\r\n\t\t
\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n```\r\n\r\nI hope it will be fixed soon!","comments":4,"title":"Modal disappears when press enter","updated_at":"2012-05-20T11:43:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3343","id":4409660,"assignee":null,"milestone":null,"closed_at":"2012-05-04T19:04:44Z","html_url":"https://github.com/twitter/bootstrap/issues/3343","user":{"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"login":"royduin"},"labels":[],"state":"closed"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T11:43:16Z","id":"1553912424","actor":{"gravatar_id":"e491117553ef3b2399721b8916af9813","url":"https://api.github.com/users/royduin","id":1703233,"avatar_url":"https://secure.gravatar.com/avatar/e491117553ef3b2399721b8916af9813?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"royduin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T11:23:11Z","body":"can you add one more image? There is sometimes a min. of 3 images required for the carousel to work.","updated_at":"2012-05-20T11:23:11Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5808187","id":5808187,"user":{"avatar_url":"https://secure.gravatar.com/avatar/a4f984ab9880a062644a6f9c15ce79e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a4f984ab9880a062644a6f9c15ce79e0","url":"https://api.github.com/users/thaibluesky","id":1756528,"login":"thaibluesky"}},"action":"created","issue":{"number":3528,"created_at":"2012-05-18T19:22:21Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Carousel does not start sliding to the next one after 5 seconds until after I click to the next slide. Only then does the timer start. What am I missing?","comments":8,"title":"Carousel does not start sliding","updated_at":"2012-05-20T11:23:11Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3528","id":4647904,"assignee":null,"milestone":null,"closed_at":null,"labels":[],"html_url":"https://github.com/twitter/bootstrap/issues/3528","user":{"avatar_url":"https://secure.gravatar.com/avatar/3fdf23df74c9d4897818887e74686e48?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3fdf23df74c9d4897818887e74686e48","url":"https://api.github.com/users/gigdates","id":1179255,"login":"gigdates"},"state":"open"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T11:23:15Z","id":"1553910775","actor":{"gravatar_id":"a4f984ab9880a062644a6f9c15ce79e0","url":"https://api.github.com/users/thaibluesky","id":1756528,"avatar_url":"https://secure.gravatar.com/avatar/a4f984ab9880a062644a6f9c15ce79e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"thaibluesky"}},{"type":"PushEvent","payload":{"head":"03f86a5adb930eac55dea1e903fb958c002d5bc4","size":1,"push_id":79407330,"commits":[{"sha":"03f86a5adb930eac55dea1e903fb958c002d5bc4","author":{"name":"Aymeric Augustin","email":"aymeric.augustin@m4x.org"},"url":"https://api.github.com/repos/django/django/commits/03f86a5adb930eac55dea1e903fb958c002d5bc4","distinct":true,"message":"Fixed #18354 -- Performance issue in CBV.\n\nPrevented repeating a query twice when the model isn't ordered by\n-date_field (in Meta), allow_empty is False and pagination isn't\nenabled."}],"ref":"refs/heads/master"},"public":true,"org":{"gravatar_id":"fd542381031aa84dca86628ece84fc07","url":"https://api.github.com/orgs/django","id":27804,"avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"django"},"repo":{"url":"https://api.github.com/repos/django/django","id":4164482,"name":"django/django"},"created_at":"2012-05-20T11:20:49Z","id":"1553910583","actor":{"gravatar_id":"ec12d7f60c595a45665f74b651aefabe","url":"https://api.github.com/users/aaugustin","id":788910,"avatar_url":"https://secure.gravatar.com/avatar/ec12d7f60c595a45665f74b651aefabe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"aaugustin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T10:22:07Z","body":"Do you need any additional information from me?","updated_at":"2012-05-20T10:22:07Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/comments/5807859","id":5807859,"user":{"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"login":"fceller"}},"action":"created","issue":{"number":12215,"created_at":"2012-05-12T19:12:18Z","pull_request":{"diff_url":"https://github.com/mxcl/homebrew/pull/12215.diff","patch_url":"https://github.com/mxcl/homebrew/pull/12215.patch","html_url":"https://github.com/mxcl/homebrew/pull/12215"},"comments":2,"title":"Upgrade ArangoDB (formally known as AvocadoDB) to 0.5.0","body":"We had to rename AvocadoDB to ArangoDB due to legal issues.","updated_at":"2012-05-20T10:22:07Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/12215","id":4548813,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/mxcl/homebrew/issues/12215","user":{"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"login":"fceller"},"labels":[{"name":"renames","url":"https://api.github.com/repos/mxcl/homebrew/labels/renames","color":"e102d8"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T10:22:08Z","id":"1553905852","actor":{"gravatar_id":"457f59eedabca29c1fa9cf798b5a11c4","url":"https://api.github.com/users/fceller","id":392005,"avatar_url":"https://secure.gravatar.com/avatar/457f59eedabca29c1fa9cf798b5a11c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"fceller"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T10:20:14Z","body":"Cfernandi, thanks, but that didn't help. The words aren't smushing together, it's just one of the words is too long and overflows the right of the screen. I guess I'll just have to get a shorter surname :P","updated_at":"2012-05-20T10:20:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807847","id":5807847,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6eff6b838ee9a1b1d5defa126a714ffc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6eff6b838ee9a1b1d5defa126a714ffc","url":"https://api.github.com/users/hughrawlinson","id":829836,"login":"hughrawlinson"}},"action":"created","issue":{"number":3230,"created_at":"2012-04-25T17:20:27Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"When you use a button to present a modal on mobile, the screen turns black, and only does the modal appear after some crafty scrolling and zooming. This is not apparent to a new user.\r\n\r\nAny fixes?\r\n\r\nMore discussion on the problem here: https://github.com/twitter/bootstrap/issues/1036","comments":16,"title":"Modals in 2.0 are broken on mobile.","updated_at":"2012-05-20T10:20:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3230","id":4285344,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3230","user":{"avatar_url":"https://secure.gravatar.com/avatar/c8112e74c84fea5e2faccbc7da3c2ba9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c8112e74c84fea5e2faccbc7da3c2ba9","url":"https://api.github.com/users/ATSiem","id":1068543,"login":"ATSiem"},"labels":[{"name":"css","url":"https://api.github.com/repos/twitter/bootstrap/labels/css","color":"7a43b6"},{"name":"responsive","url":"https://api.github.com/repos/twitter/bootstrap/labels/responsive","color":"ae8bd4"}],"state":"open"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T10:20:18Z","id":"1553905709","actor":{"gravatar_id":"6eff6b838ee9a1b1d5defa126a714ffc","url":"https://api.github.com/users/hughrawlinson","id":829836,"avatar_url":"https://secure.gravatar.com/avatar/6eff6b838ee9a1b1d5defa126a714ffc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"hughrawlinson"}},{"type":"PushEvent","payload":{"head":"b0c1e5c081472436bf2300af3073cef1df1bd696","size":1,"push_id":79403570,"ref":"refs/heads/master","commits":[{"sha":"b0c1e5c081472436bf2300af3073cef1df1bd696","author":{"name":"Aymeric Augustin","email":"aymeric.augustin@m4x.org"},"url":"https://api.github.com/repos/django/django/commits/b0c1e5c081472436bf2300af3073cef1df1bd696","distinct":true,"message":"Documented next/previous_week. Refs #10890."}]},"public":true,"org":{"gravatar_id":"fd542381031aa84dca86628ece84fc07","url":"https://api.github.com/orgs/django","id":27804,"avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"django"},"repo":{"url":"https://api.github.com/repos/django/django","id":4164482,"name":"django/django"},"created_at":"2012-05-20T09:58:44Z","id":"1553903002","actor":{"gravatar_id":"ec12d7f60c595a45665f74b651aefabe","url":"https://api.github.com/users/aaugustin","id":788910,"avatar_url":"https://secure.gravatar.com/avatar/ec12d7f60c595a45665f74b651aefabe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"aaugustin"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T09:27:14Z","body":"Please excuse the crudity of this model... ;) I'm too exhausted to really pretty it up right now, but here's a new mock-up based on a combination of my old one and some of the others I've seen here: http://jsfiddle.net/VEW2K/\n\nA rundown:\n\n* No javascript.\n* No extra tags (just a checkbox and a label).\n* Should degrade gracefully.\n\nI have not tested it in IE or Firefox, and I was not able to get CSS transitions working on the :before and :after pseudo content, so maybe someone else will have better luck. But I think it's cleaner than my old test, and I prefer a non-JS solution personally.","updated_at":"2012-05-20T09:27:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807584","id":5807584,"user":{"avatar_url":"https://secure.gravatar.com/avatar/02688ffd42b4265a4fa2ca1683115e4e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"02688ffd42b4265a4fa2ca1683115e4e","url":"https://api.github.com/users/thomshouse","id":75411,"login":"thomshouse"}},"action":"created","issue":{"number":1935,"created_at":"2012-02-13T00:05:29Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":39,"body":"Not sure if anyone has mentioned this or not, but it would be cool to have something like this:\r\n\r\nhttp://papermashup.com/demos/ajax-switch/","title":"Create ON/OFF Switch","updated_at":"2012-05-20T09:27:14Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/1935","id":3194346,"assignee":null,"milestone":{"number":7,"created_at":"2012-01-09T17:18:56Z","due_on":null,"title":"v2.1.0","creator":{"avatar_url":"https://secure.gravatar.com/avatar/bc4ab438f7a4ce1c406aadc688427f2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bc4ab438f7a4ce1c406aadc688427f2c","url":"https://api.github.com/users/markdotto","id":98681,"login":"markdotto"},"url":"https://api.github.com/repos/twitter/bootstrap/milestones/7","id":71627,"closed_issues":4,"open_issues":15,"description":"","state":"open"},"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/1935","user":{"avatar_url":"https://secure.gravatar.com/avatar/25fb0acc0fc379c2974004bb5d050bc2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25fb0acc0fc379c2974004bb5d050bc2","url":"https://api.github.com/users/adetwiler","id":1124801,"login":"adetwiler"},"labels":[{"name":"feature","url":"https://api.github.com/repos/twitter/bootstrap/labels/feature","color":"4bb14b"}],"state":"open"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T09:27:16Z","id":"1553896923","actor":{"gravatar_id":"02688ffd42b4265a4fa2ca1683115e4e","url":"https://api.github.com/users/thomshouse","id":75411,"avatar_url":"https://secure.gravatar.com/avatar/02688ffd42b4265a4fa2ca1683115e4e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"thomshouse"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":3546,"created_at":"2012-05-20T09:00:43Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"I have a problem when I integrate the content with jquery \".load\" (a form for example) in a modal window or a single page. All scripts tooltips, popover, datepicker no longer starts?\n\nBy cons scripts work fine in a normal page.\n\nIf I integrate content directly in the tags \"modal-body\" of the modal window, the scripts work perfectly\n\nThe objective is to integrate a form on the fly, in a single modal window, after the click of a button. But once the loaded content such as a datepicker does not work! or the tooltips on a label, ...\n\nhere a test : http://testcode.olvani.net/test2\n\nThank for reply\nOlivier","comments":0,"title":"Problem for load script (tooltips, popover,...) after use jquery .load dynamic content","updated_at":"2012-05-20T09:00:43Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3546","id":4658922,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3546","user":{"avatar_url":"https://secure.gravatar.com/avatar/36677d5ad489b685b3a437a247733339?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"36677d5ad489b685b3a437a247733339","url":"https://api.github.com/users/olvani","id":1643481,"login":"olvani"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T09:00:45Z","id":"1553894937","actor":{"gravatar_id":"36677d5ad489b685b3a437a247733339","url":"https://api.github.com/users/olvani","id":1643481,"avatar_url":"https://secure.gravatar.com/avatar/36677d5ad489b685b3a437a247733339?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"olvani"}},{"type":"PullRequestEvent","payload":{"number":3545,"pull_request":{"issue_url":"https://github.com/twitter/bootstrap/issues/3545","number":3545,"head":{"repo":{"name":"bootstrap","size":120,"created_at":"2012-05-20T08:48:41Z","has_wiki":true,"clone_url":"https://github.com/pvorb/bootstrap.git","private":false,"watchers":1,"updated_at":"2012-05-20T08:54:22Z","ssh_url":"git@github.com:pvorb/bootstrap.git","fork":true,"url":"https://api.github.com/repos/pvorb/bootstrap","git_url":"git://github.com/pvorb/bootstrap.git","language":"JavaScript","id":4383503,"pushed_at":"2012-05-20T08:54:22Z","svn_url":"https://github.com/pvorb/bootstrap","has_downloads":true,"mirror_url":null,"open_issues":0,"has_issues":false,"homepage":"http://twitter.github.com/bootstrap","description":"HTML, CSS, and JS toolkit from Twitter","forks":0,"html_url":"https://github.com/pvorb/bootstrap","owner":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"}},"label":"pvorb:patch-1","sha":"faf2866f96513dc1c2775974518d979feb554dbd","ref":"patch-1","user":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"}},"merged":false,"created_at":"2012-05-20T08:55:24Z","merged_by":null,"changed_files":1,"comments":0,"body":"Fix for issue #3543","title":"Remove re-declaration of font-fam, font-size, and line-height in p","diff_url":"https://github.com/twitter/bootstrap/pull/3545.diff","updated_at":"2012-05-20T08:55:24Z","additions":0,"_links":{"html":{"href":"https://github.com/twitter/bootstrap/pull/3545"},"self":{"href":"https://api.github.com/repos/twitter/bootstrap/pulls/3545"},"comments":{"href":"https://api.github.com/repos/twitter/bootstrap/issues/3545/comments"},"issue":{"href":"https://api.github.com/repos/twitter/bootstrap/issues/3545"},"review_comments":{"href":"https://api.github.com/repos/twitter/bootstrap/pulls/3545/comments"}},"url":"https://api.github.com/repos/twitter/bootstrap/pulls/3545","id":1388338,"patch_url":"https://github.com/twitter/bootstrap/pull/3545.patch","mergeable":null,"merged_at":null,"commits":1,"closed_at":null,"user":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pvorb","id":183534,"login":"pvorb"},"deletions":3,"review_comments":0,"html_url":"https://github.com/twitter/bootstrap/pull/3545","state":"open","base":{"repo":{"name":"bootstrap","size":1244,"created_at":"2011-07-29T21:19:00Z","has_wiki":true,"clone_url":"https://github.com/twitter/bootstrap.git","private":false,"watchers":29097,"updated_at":"2012-05-20T08:48:41Z","ssh_url":"git@github.com:twitter/bootstrap.git","fork":false,"url":"https://api.github.com/repos/twitter/bootstrap","git_url":"git://github.com/twitter/bootstrap.git","language":"JavaScript","id":2126244,"pushed_at":"2012-05-18T05:00:54Z","svn_url":"https://github.com/twitter/bootstrap","has_downloads":true,"mirror_url":null,"open_issues":222,"has_issues":true,"homepage":"http://twitter.github.com/bootstrap","description":"HTML, CSS, and JS toolkit from Twitter","forks":5699,"html_url":"https://github.com/twitter/bootstrap","owner":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/twitter","id":50278,"login":"twitter"}},"label":"twitter:master","sha":"b261f9781bbf31f499cb55c49451dc0c0ad43062","ref":"master","user":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/twitter","id":50278,"login":"twitter"}}},"action":"opened"},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T08:55:26Z","id":"1553894547","actor":{"gravatar_id":"b30a7c139117a36a3f2cc2958942847e","url":"https://api.github.com/users/pvorb","id":183534,"avatar_url":"https://secure.gravatar.com/avatar/b30a7c139117a36a3f2cc2958942847e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"pvorb"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T08:33:02Z","body":"This should be removed. It's not necessary because of traversing.","updated_at":"2012-05-20T08:33:02Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/comments/5807352","id":5807352,"user":{"avatar_url":"https://secure.gravatar.com/avatar/4c39d9893256e9da887449f1d90d9562?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4c39d9893256e9da887449f1d90d9562","url":"https://api.github.com/users/macx","id":84112,"login":"macx"}},"action":"created","issue":{"number":3543,"created_at":"2012-05-19T08:23:49Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"The attributes `font-family`, `font-size` and `line-height` are set identically for both `` and `

`. What's the rationale for repeating the declaration in `

`? Regards, Christian","title":"Font assignment overdone?","updated_at":"2012-05-20T08:33:02Z","url":"https://api.github.com/repos/twitter/bootstrap/issues/3543","id":4653303,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/twitter/bootstrap/issues/3543","user":{"avatar_url":"https://secure.gravatar.com/avatar/04d99189f86d1d269b04876e68092784?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04d99189f86d1d269b04876e68092784","url":"https://api.github.com/users/datenimperator","id":112130,"login":"datenimperator"},"labels":[],"state":"open"}},"public":true,"org":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","url":"https://api.github.com/orgs/twitter","id":50278,"avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"twitter"},"repo":{"url":"https://api.github.com/repos/twitter/bootstrap","id":2126244,"name":"twitter/bootstrap"},"created_at":"2012-05-20T08:33:04Z","id":"1553892964","actor":{"gravatar_id":"4c39d9893256e9da887449f1d90d9562","url":"https://api.github.com/users/macx","id":84112,"avatar_url":"https://secure.gravatar.com/avatar/4c39d9893256e9da887449f1d90d9562?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"macx"}},{"type":"PushEvent","payload":{"head":"4986f61c9ce00ce792683cce9e47ea1579631155","size":2,"push_id":79397931,"commits":[{"sha":"9c52a9b0ee98d1dce4a427e8a09307d399fe414d","author":{"name":"Bryan Donlan","email":"bdonlan@amazon.com"},"url":"https://api.github.com/repos/boto/boto/commits/9c52a9b0ee98d1dce4a427e8a09307d399fe414d","distinct":true,"message":"Fix infinite loop when listing a large (100+) number of tables in dynamodb"},{"sha":"4986f61c9ce00ce792683cce9e47ea1579631155","author":{"name":"Mitch Garnaat","email":"mitch@garnaat.com"},"url":"https://api.github.com/repos/boto/boto/commits/4986f61c9ce00ce792683cce9e47ea1579631155","distinct":true,"message":"Removing extraneous host param from Layer2 contructor."}],"ref":"refs/heads/develop"},"public":true,"org":{"gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/orgs/boto","id":327752,"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"boto"},"repo":{"url":"https://api.github.com/repos/boto/boto","id":771016,"name":"boto/boto"},"created_at":"2012-05-20T07:40:29Z","id":"1553889294","actor":{"gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"garnaat"}},{"type":"PullRequestEvent","payload":{"number":770,"pull_request":{"issue_url":"https://github.com/boto/boto/issues/770","head":{"repo":{"name":"boto","master_branch":"develop","created_at":"2012-05-19T23:11:59Z","size":120,"has_wiki":true,"clone_url":"https://github.com/bdonlan/boto.git","updated_at":"2012-05-19T23:13:56Z","private":false,"watchers":1,"language":"Python","git_url":"git://github.com/bdonlan/boto.git","ssh_url":"git@github.com:bdonlan/boto.git","fork":true,"url":"https://api.github.com/repos/bdonlan/boto","id":4381487,"pushed_at":"2012-05-19T23:13:56Z","svn_url":"https://github.com/bdonlan/boto","open_issues":0,"mirror_url":null,"has_downloads":true,"has_issues":false,"homepage":"http://boto.readthedocs.org/","forks":0,"description":"Python interface to Amazon Web Services","html_url":"https://github.com/bdonlan/boto","owner":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"}},"label":"bdonlan:develop","sha":"9c52a9b0ee98d1dce4a427e8a09307d399fe414d","ref":"develop","user":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"}},"number":770,"created_at":"2012-05-19T23:15:06Z","changed_files":1,"merged_by":{"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"login":"garnaat"},"merged":true,"body":"The current code loops when there are more tables, but continues requesting a list from the start, leading to an infinite loop.","comments":0,"title":"Fix infinite loop when listing a large (100+) number of tables in dynamodb","updated_at":"2012-05-20T07:40:29Z","additions":7,"diff_url":"https://github.com/boto/boto/pull/770.diff","_links":{"html":{"href":"https://github.com/boto/boto/pull/770"},"self":{"href":"https://api.github.com/repos/boto/boto/pulls/770"},"comments":{"href":"https://api.github.com/repos/boto/boto/issues/770/comments"},"issue":{"href":"https://api.github.com/repos/boto/boto/issues/770"},"review_comments":{"href":"https://api.github.com/repos/boto/boto/pulls/770/comments"}},"url":"https://api.github.com/repos/boto/boto/pulls/770","id":1387801,"patch_url":"https://github.com/boto/boto/pull/770.patch","mergeable":null,"merged_at":"2012-05-20T07:40:29Z","closed_at":"2012-05-20T07:40:29Z","commits":1,"html_url":"https://github.com/boto/boto/pull/770","user":{"avatar_url":"https://secure.gravatar.com/avatar/53e4dcccc5d1dbef4a3babf0cb6ba6fc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"53e4dcccc5d1dbef4a3babf0cb6ba6fc","url":"https://api.github.com/users/bdonlan","id":9473,"login":"bdonlan"},"review_comments":0,"deletions":2,"state":"closed","base":{"repo":{"name":"boto","master_branch":"develop","created_at":"2010-07-12T19:15:33Z","size":4183,"has_wiki":true,"clone_url":"https://github.com/boto/boto.git","updated_at":"2012-05-20T07:40:28Z","private":false,"watchers":1519,"language":"Python","git_url":"git://github.com/boto/boto.git","ssh_url":"git@github.com:boto/boto.git","fork":false,"url":"https://api.github.com/repos/boto/boto","id":771016,"pushed_at":"2012-05-20T07:40:27Z","svn_url":"https://github.com/boto/boto","open_issues":131,"mirror_url":null,"has_downloads":true,"has_issues":true,"homepage":"http://boto.readthedocs.org/","forks":395,"description":"Python interface to Amazon Web Services","html_url":"https://github.com/boto/boto","owner":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/users/boto","id":327752,"login":"boto"}},"label":"boto:develop","sha":"0bd4d8b270fd5796e2e8b570f8703410bdd02820","ref":"develop","user":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/users/boto","id":327752,"login":"boto"}}},"action":"closed"},"public":true,"org":{"gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/orgs/boto","id":327752,"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"boto"},"repo":{"url":"https://api.github.com/repos/boto/boto","id":771016,"name":"boto/boto"},"created_at":"2012-05-20T07:40:29Z","id":"1553889293","actor":{"gravatar_id":"c3dc609a225fde3f6d0395ac59c576ce","url":"https://api.github.com/users/garnaat","id":2056,"avatar_url":"https://secure.gravatar.com/avatar/c3dc609a225fde3f6d0395ac59c576ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"garnaat"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-20T07:39:27Z","body":"Good idea although I wonder if /Versions/1.8/ might be even better considering we die on our arse with 1.9.","updated_at":"2012-05-20T07:39:27Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/comments/5807134","id":5807134,"user":{"avatar_url":"https://secure.gravatar.com/avatar/215e0166d4d8265395c5d9076da73c70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"215e0166d4d8265395c5d9076da73c70","url":"https://api.github.com/users/mikemcquaid","id":125011,"login":"mikemcquaid"}},"action":"created","issue":{"number":12333,"created_at":"2012-05-20T01:39:12Z","pull_request":{"diff_url":"https://github.com/mxcl/homebrew/pull/12333.diff","patch_url":"https://github.com/mxcl/homebrew/pull/12333.patch","html_url":"https://github.com/mxcl/homebrew/pull/12333"},"body":"re: #12009, this commit replaces all usages of /usr/bin/ruby with the full Framework path, which is *hopefully* less likely to be altered.\n\nSince we're no longer dealing with a default ruby path which is a symlink, I simplified the `brew --config` checks for the system ruby.","title":"Replace /usr/bin/ruby with full Framework path","comments":2,"updated_at":"2012-05-20T07:39:27Z","url":"https://api.github.com/repos/mxcl/homebrew/issues/12333","id":4657778,"assignee":null,"milestone":null,"closed_at":null,"html_url":"https://github.com/mxcl/homebrew/issues/12333","user":{"avatar_url":"https://secure.gravatar.com/avatar/f5f2035f07c635d24c62cf211d37f3d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f5f2035f07c635d24c62cf211d37f3d4","url":"https://api.github.com/users/mistydemeo","id":780485,"login":"mistydemeo"},"labels":[],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T07:39:29Z","id":"1553889227","actor":{"gravatar_id":"215e0166d4d8265395c5d9076da73c70","url":"https://api.github.com/users/mikemcquaid","id":125011,"avatar_url":"https://secure.gravatar.com/avatar/215e0166d4d8265395c5d9076da73c70?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"mikemcquaid"}},{"type":"PullRequestEvent","payload":{"number":648,"pull_request":{"issue_url":"https://github.com/mbostock/d3/issues/648","head":{"repo":{"name":"d3","created_at":"2012-05-20T05:25:26Z","size":208,"has_wiki":true,"clone_url":"https://github.com/eghm/d3.git","updated_at":"2012-05-20T05:44:03Z","private":false,"watchers":1,"git_url":"git://github.com/eghm/d3.git","ssh_url":"git@github.com:eghm/d3.git","fork":true,"language":"JavaScript","url":"https://api.github.com/repos/eghm/d3","id":4382862,"pushed_at":"2012-05-20T05:44:02Z","svn_url":"https://github.com/eghm/d3","open_issues":0,"mirror_url":null,"has_downloads":true,"has_issues":false,"homepage":"http://d3js.org","forks":0,"description":"A JavaScript visualization library for HTML and SVG.","html_url":"https://github.com/eghm/d3","owner":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"}},"label":"eghm:master","sha":"4501a5e68ad31f3ea85983188f1a75906f3afd6d","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"}},"number":648,"created_at":"2012-05-20T05:47:07Z","changed_files":1,"merged_by":null,"merged":false,"body":"An undefined import causes a fatal error in the bundle-radial demo. This commit avoids the error, the ui will go on to draw a line to a blank node. To recreate initial undefined error add a un-\"name\"ed node to one of the imports in examples/data/flare-imports.\n\nThanks for sharing such an awesome tool.\n","comments":0,"title":"add start and end parent != undefined in d3_layout_bundlePath while","updated_at":"2012-05-20T05:47:07Z","additions":2,"diff_url":"https://github.com/mbostock/d3/pull/648.diff","_links":{"html":{"href":"https://github.com/mbostock/d3/pull/648"},"self":{"href":"https://api.github.com/repos/mbostock/d3/pulls/648"},"comments":{"href":"https://api.github.com/repos/mbostock/d3/issues/648/comments"},"issue":{"href":"https://api.github.com/repos/mbostock/d3/issues/648"},"review_comments":{"href":"https://api.github.com/repos/mbostock/d3/pulls/648/comments"}},"url":"https://api.github.com/repos/mbostock/d3/pulls/648","id":1388185,"patch_url":"https://github.com/mbostock/d3/pull/648.patch","mergeable":null,"merged_at":null,"closed_at":null,"commits":1,"html_url":"https://github.com/mbostock/d3/pull/648","user":{"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"login":"eghm"},"review_comments":0,"deletions":2,"state":"open","base":{"repo":{"name":"d3","created_at":"2010-09-27T17:22:42Z","size":3268,"has_wiki":true,"clone_url":"https://github.com/mbostock/d3.git","updated_at":"2012-05-20T05:25:26Z","private":false,"watchers":5893,"git_url":"git://github.com/mbostock/d3.git","ssh_url":"git@github.com:mbostock/d3.git","fork":false,"language":"JavaScript","url":"https://api.github.com/repos/mbostock/d3","id":943149,"pushed_at":"2012-05-17T19:11:22Z","svn_url":"https://github.com/mbostock/d3","open_issues":110,"mirror_url":null,"has_downloads":true,"has_issues":true,"homepage":"http://d3js.org","forks":670,"description":"A JavaScript visualization library for HTML and SVG.","html_url":"https://github.com/mbostock/d3","owner":{"avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","url":"https://api.github.com/users/mbostock","id":230541,"login":"mbostock"}},"label":"mbostock:master","sha":"dd2a424f2bdb8fae1dab5ac27168f5bba186a0c4","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","url":"https://api.github.com/users/mbostock","id":230541,"login":"mbostock"}}},"action":"opened"},"public":true,"repo":{"url":"https://api.github.com/repos/mbostock/d3","id":943149,"name":"mbostock/d3"},"created_at":"2012-05-20T05:47:09Z","id":"1553878057","actor":{"gravatar_id":"102614634bcb88f28cc84b9c8d1a7e66","url":"https://api.github.com/users/eghm","id":52850,"avatar_url":"https://secure.gravatar.com/avatar/102614634bcb88f28cc84b9c8d1a7e66?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"eghm"}},{"type":"PushEvent","payload":{"head":"389347c92a590c6e6165a53ae054e48ca6a23db9","size":1,"push_id":79392783,"commits":[{"sha":"389347c92a590c6e6165a53ae054e48ca6a23db9","author":{"name":"Nick Stenning","email":"nick@whiteink.com"},"url":"https://api.github.com/repos/mxcl/homebrew/commits/389347c92a590c6e6165a53ae054e48ca6a23db9","distinct":true,"message":"mu: make emacs support optional\n\nCloses #12306.\n\nSigned-off-by: Jack Nagel "}],"ref":"refs/heads/master"},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T05:20:38Z","id":"1553874168","actor":{"gravatar_id":"68602fa96bdda4c677ece48ab42b6eb2","url":"https://api.github.com/users/jacknagel","id":568243,"avatar_url":"https://secure.gravatar.com/avatar/68602fa96bdda4c677ece48ab42b6eb2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacknagel"}},{"type":"PullRequestEvent","payload":{"number":12306,"pull_request":{"issue_url":"https://github.com/mxcl/homebrew/issues/12306","head":{"repo":{"name":"homebrew","master_branch":"master","created_at":"2011-10-03T12:09:31Z","size":188,"has_wiki":true,"clone_url":"https://github.com/nickstenning/homebrew.git","updated_at":"2012-05-19T21:24:29Z","private":false,"watchers":1,"git_url":"git://github.com/nickstenning/homebrew.git","ssh_url":"git@github.com:nickstenning/homebrew.git","fork":true,"url":"https://api.github.com/repos/nickstenning/homebrew","language":"Ruby","id":2504318,"pushed_at":"2012-05-19T21:24:29Z","svn_url":"https://github.com/nickstenning/homebrew","mirror_url":null,"open_issues":0,"has_downloads":false,"has_issues":false,"homepage":"http://mxcl.github.com/homebrew","forks":0,"description":"The missing package manager for OS X.","html_url":"https://github.com/nickstenning/homebrew","owner":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"}},"label":"nickstenning:fix-mu","sha":"1a4c4f1a3d3a87da4a49ae4209186edc695eb715","ref":"fix-mu","user":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"}},"number":12306,"created_at":"2012-05-18T10:18:22Z","changed_files":1,"merged_by":null,"merged":false,"body":"This patch removes a slightly insane dependency of `mu` on the `emacs` package.","comments":7,"title":"mu: don't depend on emacs","updated_at":"2012-05-20T05:19:00Z","additions":11,"diff_url":"https://github.com/mxcl/homebrew/pull/12306.diff","_links":{"html":{"href":"https://github.com/mxcl/homebrew/pull/12306"},"self":{"href":"https://api.github.com/repos/mxcl/homebrew/pulls/12306"},"comments":{"href":"https://api.github.com/repos/mxcl/homebrew/issues/12306/comments"},"issue":{"href":"https://api.github.com/repos/mxcl/homebrew/issues/12306"},"review_comments":{"href":"https://api.github.com/repos/mxcl/homebrew/pulls/12306/comments"}},"url":"https://api.github.com/repos/mxcl/homebrew/pulls/12306","id":1380202,"patch_url":"https://github.com/mxcl/homebrew/pull/12306.patch","mergeable":true,"merged_at":null,"closed_at":"2012-05-20T05:19:00Z","commits":3,"html_url":"https://github.com/mxcl/homebrew/pull/12306","user":{"avatar_url":"https://secure.gravatar.com/avatar/7c753fa710877b55f7596b47f5a554b1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7c753fa710877b55f7596b47f5a554b1","url":"https://api.github.com/users/nickstenning","id":3602,"login":"nickstenning"},"review_comments":0,"deletions":1,"state":"closed","base":{"repo":{"name":"homebrew","master_branch":"master","created_at":"2009-05-20T19:38:37Z","size":4436,"has_wiki":true,"clone_url":"https://github.com/mxcl/homebrew.git","updated_at":"2012-05-20T05:18:59Z","private":false,"watchers":8673,"git_url":"git://github.com/mxcl/homebrew.git","ssh_url":"git@github.com:mxcl/homebrew.git","fork":false,"url":"https://api.github.com/repos/mxcl/homebrew","language":"Ruby","id":206084,"pushed_at":"2012-05-20T05:18:59Z","svn_url":"https://github.com/mxcl/homebrew","mirror_url":null,"open_issues":423,"has_downloads":false,"has_issues":true,"homepage":"http://mxcl.github.com/homebrew","forks":3960,"description":"The missing package manager for OS X.","html_url":"https://github.com/mxcl/homebrew","owner":{"avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","url":"https://api.github.com/users/mxcl","id":58962,"login":"mxcl"}},"label":"mxcl:master","sha":"7ac1cbc996e0f18aaabad5ef327ff57161e0ae2e","ref":"master","user":{"avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","url":"https://api.github.com/users/mxcl","id":58962,"login":"mxcl"}}},"action":"closed"},"public":true,"repo":{"url":"https://api.github.com/repos/mxcl/homebrew","id":206084,"name":"mxcl/homebrew"},"created_at":"2012-05-20T05:19:01Z","id":"1553873936","actor":{"gravatar_id":"68602fa96bdda4c677ece48ab42b6eb2","url":"https://api.github.com/users/jacknagel","id":568243,"avatar_url":"https://secure.gravatar.com/avatar/68602fa96bdda4c677ece48ab42b6eb2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacknagel"}}] - diff --git a/github/tests/ReplayData/NamedUser.testGetRepo.txt b/github/tests/ReplayData/NamedUser.testGetRepo.txt deleted file mode 100644 index d0df7b4..0000000 --- a/github/tests/ReplayData/NamedUser.testGetRepo.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"922c0519f2733063a899619ae95ce892"'), ('date', 'Sun, 20 May 2012 12:33:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-19T10:50:39Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":18,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-19T10:50:39Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490,"mirror_url":null} - diff --git a/github/tests/ReplayData/NamedUser.testGetRepos.txt b/github/tests/ReplayData/NamedUser.testGetRepos.txt deleted file mode 100644 index cc56520..0000000 --- a/github/tests/ReplayData/NamedUser.testGetRepos.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '12615'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9389fb7704e9c5ed4c38f461a4c83fd7"'), ('date', 'Sat, 26 May 2012 10:11:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"git_url":"git://github.com/jacquev6/TestPyGithub.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"},{"clone_url":"https://github.com/jacquev6/django.git","has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"git_url":"git://github.com/jacquev6/django.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/django","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T10:01:38Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"open_issues":16,"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},{"clone_url":"https://github.com/jacquev6/developer.github.com.git","has_downloads":false,"watchers":0,"updated_at":"2012-05-08T08:36:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":152,"git_url":"git://github.com/jacquev6/developer.github.com.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/developer.github.com","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"developer.github.com","language":"Ruby","description":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","pushed_at":"2012-05-08T08:36:28Z","created_at":"2012-02-05T18:22:26Z","id":3361136,"html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com"},{"clone_url":"https://github.com/jacquev6/acme-public-website.git","has_downloads":false,"watchers":0,"updated_at":"2012-05-22T18:24:49Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"fork":false,"forks":0,"size":120,"git_url":"git://github.com/jacquev6/acme-public-website.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/acme-public-website","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"acme-public-website","language":null,"description":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","pushed_at":"2011-12-07T20:11:17Z","created_at":"2011-12-07T20:00:40Z","id":2935252,"html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website"},{"clone_url":"https://github.com/jacquev6/C4Planner.git","has_downloads":true,"watchers":1,"updated_at":"2012-02-16T21:51:01Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":4716,"git_url":"git://github.com/jacquev6/C4Planner.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/C4Planner","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"C4Planner","language":"Python","description":"Caesar IV: anticipate your city","ssh_url":"git@github.com:jacquev6/C4Planner.git","pushed_at":"2011-11-27T20:51:06Z","created_at":"2011-08-24T08:30:55Z","id":2260441,"html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner"},{"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:38:55Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawTurksHead/","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":3232,"git_url":"git://github.com/jacquev6/DrawTurksHead.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/DrawTurksHead","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawTurksHead","language":"C++","description":"A tool to draw Turk's Head Knots. Try it online","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","pushed_at":"2012-04-16T18:38:54Z","created_at":"2010-07-10T08:54:09Z","id":767403,"html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead"},{"clone_url":"https://github.com/jacquev6/DrawSyntax.git","has_downloads":false,"watchers":0,"updated_at":"2011-11-27T14:00:34Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/DrawSyntax/","url":"https://api.github.com/repos/jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1760,"git_url":"git://github.com/jacquev6/DrawSyntax.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/DrawSyntax","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"DrawSyntax","language":"C++","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","pushed_at":"2011-11-27T14:00:32Z","created_at":"2010-07-10T08:39:56Z","id":767392,"html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax"},{"clone_url":"https://github.com/jacquev6/QuadProgMm.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-16T18:39:06Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"http://vincent-jacques.net/QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":760,"git_url":"git://github.com/jacquev6/QuadProgMm.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/QuadProgMm","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"QuadProgMm","language":"C++","description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","pushed_at":"2012-04-16T18:39:05Z","created_at":"2010-07-10T08:36:57Z","id":767386,"html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm"},{"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","has_downloads":false,"watchers":2,"updated_at":"2012-02-20T12:43:24Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":112,"git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","language":"C++","description":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","pushed_at":"2011-11-27T14:00:23Z","created_at":"2010-07-10T08:32:12Z","id":767382,"html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum"},{"clone_url":"https://github.com/jacquev6/ViDE.git","has_downloads":false,"watchers":0,"updated_at":"2012-04-19T16:35:46Z","permissions":{"pull":true,"admin":true,"push":true},"master_branch":"master","homepage":"","url":"https://api.github.com/repos/jacquev6/ViDE","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":1488,"git_url":"git://github.com/jacquev6/ViDE.git","private":false,"open_issues":0,"mirror_url":null,"svn_url":"https://github.com/jacquev6/ViDE","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"ViDE","language":"Python","description":"Vincent's Development Environment","ssh_url":"git@github.com:jacquev6/ViDE.git","pushed_at":"2012-04-19T16:35:45Z","created_at":"2010-07-10T07:33:24Z","id":767343,"html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE"}] - diff --git a/github/tests/ReplayData/NamedUser.testGetReposWithType.txt b/github/tests/ReplayData/NamedUser.testGetReposWithType.txt deleted file mode 100644 index b42a3c3..0000000 --- a/github/tests/ReplayData/NamedUser.testGetReposWithType.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/repos?type=owner -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '11503'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9a00076b9af2cb64dc2bb51189ae6b9c"'), ('date', 'Tue, 29 May 2012 18:14:38 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"description":"The Web framework for perfectionists with deadlines. Now on GitHub.","html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/django.git","updated_at":"2012-04-28T11:06:20Z","forks":0,"mirror_url":null,"homepage":"http://www.djangoproject.com/","ssh_url":"git@github.com:jacquev6/django.git","open_issues":0,"fork":true,"svn_url":"https://github.com/jacquev6/django","pushed_at":"2012-04-28T04:05:15Z","size":48476,"private":false,"url":"https://api.github.com/repos/jacquev6/django","clone_url":"https://github.com/jacquev6/django.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"django","has_downloads":true,"language":"Python","watchers":1,"id":4166730,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2012-04-28T11:06:20Z"},{"description":"Python library implementing the full Github API v3","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-29T18:07:54Z","forks":3,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":14,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-29T18:07:54Z","size":480,"private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":17,"id":3544490,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2012-02-25T12:53:47Z"},{"description":"","html_url":"https://github.com/jacquev6/developer.github.com","full_name":"jacquev6/developer.github.com","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/developer.github.com.git","updated_at":"2012-05-08T08:36:28Z","forks":0,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jacquev6/developer.github.com.git","open_issues":0,"fork":true,"svn_url":"https://github.com/jacquev6/developer.github.com","pushed_at":"2012-05-08T08:36:28Z","size":152,"private":false,"url":"https://api.github.com/repos/jacquev6/developer.github.com","clone_url":"https://github.com/jacquev6/developer.github.com.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"developer.github.com","has_downloads":false,"language":"Ruby","watchers":0,"id":3361136,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2012-02-05T18:22:26Z"},{"description":"","html_url":"https://github.com/jacquev6/acme-public-website","full_name":"jacquev6/acme-public-website","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/acme-public-website.git","updated_at":"2012-05-22T18:24:49Z","forks":0,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jacquev6/acme-public-website.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/acme-public-website","pushed_at":"2011-12-07T20:11:17Z","size":120,"private":false,"url":"https://api.github.com/repos/jacquev6/acme-public-website","clone_url":"https://github.com/jacquev6/acme-public-website.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"acme-public-website","has_downloads":false,"language":null,"watchers":0,"id":2935252,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2011-12-07T20:00:40Z"},{"description":"Caesar IV: anticipate your city","html_url":"https://github.com/jacquev6/C4Planner","full_name":"jacquev6/C4Planner","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/C4Planner.git","updated_at":"2012-02-16T21:51:01Z","forks":1,"mirror_url":null,"homepage":"http://vincent-jacques.net/C4Planner","ssh_url":"git@github.com:jacquev6/C4Planner.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/C4Planner","pushed_at":"2011-11-27T20:51:06Z","size":4716,"private":false,"url":"https://api.github.com/repos/jacquev6/C4Planner","clone_url":"https://github.com/jacquev6/C4Planner.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"C4Planner","has_downloads":true,"language":"Python","watchers":1,"id":2260441,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2011-08-24T08:30:55Z"},{"description":"A tool to draw Turk's Head Knots. Try it online","html_url":"https://github.com/jacquev6/DrawTurksHead","full_name":"jacquev6/DrawTurksHead","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/DrawTurksHead.git","updated_at":"2012-04-16T18:38:55Z","forks":1,"mirror_url":null,"homepage":"http://vincent-jacques.net/DrawTurksHead/","ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/DrawTurksHead","pushed_at":"2012-04-16T18:38:54Z","size":3232,"private":false,"url":"https://api.github.com/repos/jacquev6/DrawTurksHead","clone_url":"https://github.com/jacquev6/DrawTurksHead.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"DrawTurksHead","has_downloads":false,"language":"C++","watchers":0,"id":767403,"permissions":{"admin":true,"pull":true,"push":true},"master_branch":"master","created_at":"2010-07-10T08:54:09Z"},{"description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","html_url":"https://github.com/jacquev6/DrawSyntax","full_name":"jacquev6/DrawSyntax","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/DrawSyntax.git","updated_at":"2011-11-27T14:00:34Z","forks":1,"mirror_url":null,"homepage":"http://vincent-jacques.net/DrawSyntax/","ssh_url":"git@github.com:jacquev6/DrawSyntax.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/DrawSyntax","pushed_at":"2011-11-27T14:00:32Z","size":1760,"private":false,"url":"https://api.github.com/repos/jacquev6/DrawSyntax","clone_url":"https://github.com/jacquev6/DrawSyntax.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"DrawSyntax","has_downloads":false,"language":"C++","watchers":0,"id":767392,"permissions":{"admin":true,"pull":true,"push":true},"master_branch":"master","created_at":"2010-07-10T08:39:56Z"},{"description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","html_url":"https://github.com/jacquev6/QuadProgMm","full_name":"jacquev6/QuadProgMm","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/QuadProgMm.git","updated_at":"2012-04-16T18:39:06Z","forks":1,"mirror_url":null,"homepage":"http://vincent-jacques.net/QuadProgMm","ssh_url":"git@github.com:jacquev6/QuadProgMm.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/QuadProgMm","pushed_at":"2012-04-16T18:39:05Z","size":760,"private":false,"url":"https://api.github.com/repos/jacquev6/QuadProgMm","clone_url":"https://github.com/jacquev6/QuadProgMm.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"QuadProgMm","has_downloads":false,"language":"C++","watchers":0,"id":767386,"permissions":{"admin":true,"pull":true,"push":true},"master_branch":"master","created_at":"2010-07-10T08:36:57Z"},{"description":"","html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","full_name":"jacquev6/Boost.HierarchicalEnum","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","updated_at":"2012-02-20T12:43:24Z","forks":1,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","pushed_at":"2011-11-27T14:00:23Z","size":112,"private":false,"url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"Boost.HierarchicalEnum","has_downloads":false,"language":"C++","watchers":2,"id":767382,"permissions":{"admin":true,"pull":true,"push":true},"master_branch":"master","created_at":"2010-07-10T08:32:12Z"},{"description":"Vincent's Development Environment","html_url":"https://github.com/jacquev6/ViDE","full_name":"jacquev6/ViDE","has_wiki":false,"has_issues":false,"git_url":"git://github.com/jacquev6/ViDE.git","updated_at":"2012-04-19T16:35:46Z","forks":1,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jacquev6/ViDE.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jacquev6/ViDE","pushed_at":"2012-04-19T16:35:45Z","size":1488,"private":false,"url":"https://api.github.com/repos/jacquev6/ViDE","clone_url":"https://github.com/jacquev6/ViDE.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"ViDE","has_downloads":false,"language":"Python","watchers":0,"id":767343,"permissions":{"admin":true,"pull":true,"push":true},"master_branch":"master","created_at":"2010-07-10T07:33:24Z"}] - diff --git a/github/tests/ReplayData/NamedUser.testGetStarred.txt b/github/tests/ReplayData/NamedUser.testGetStarred.txt deleted file mode 100644 index b46c4ec..0000000 --- a/github/tests/ReplayData/NamedUser.testGetStarred.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/starred -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '35785'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4982'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:17:13 GMT'), ('connection', 'keep-alive'), ('etag', '"82faf8e78544d72b3f535ac5197c5d62"'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:29:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"open_issues":4,"has_issues":false,"ssh_url":"git@github.com:git/git.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/878a0ea898da1701df8573ed64a5cc9d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"878a0ea898da1701df8573ed64a5cc9d","url":"https://api.github.com/users/git","login":"git","id":18133},"language":"C","svn_url":"https://github.com/git/git","pushed_at":"2012-09-07T21:55:44Z","forks":772,"has_downloads":true,"updated_at":"2012-09-07T22:39:33Z","full_name":"git/git","git_url":"git://github.com/git/git.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":772,"homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","clone_url":"https://github.com/git/git.git","watchers_count":2886,"size":36484,"fork":false,"html_url":"https://github.com/git/git","has_wiki":false,"name":"git","url":"https://api.github.com/repos/git/git","watchers":2886,"open_issues_count":4,"description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","private":false,"id":36502,"created_at":"2008-07-23T14:21:26Z"},{"open_issues":1,"has_issues":true,"ssh_url":"git@github.com:moriyoshi/boost.php.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","id":18755},"language":"C++","svn_url":"https://github.com/moriyoshi/boost.php","pushed_at":"2009-12-15T14:07:47Z","forks":3,"has_downloads":true,"updated_at":"2012-09-05T22:29:17Z","full_name":"moriyoshi/boost.php","git_url":"git://github.com/moriyoshi/boost.php.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":3,"homepage":"","clone_url":"https://github.com/moriyoshi/boost.php.git","watchers_count":47,"size":1331,"fork":false,"html_url":"https://github.com/moriyoshi/boost.php","has_wiki":true,"name":"boost.php","url":"https://api.github.com/repos/moriyoshi/boost.php","watchers":47,"open_issues_count":1,"description":"Create your PHP extension in C++, in a minute.","private":false,"id":38097,"created_at":"2008-07-29T03:01:07Z"},{"open_issues":44,"has_issues":true,"ssh_url":"git@github.com:capistrano/capistrano.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/885e1c523b7975c4003de162d8ee8fee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"885e1c523b7975c4003de162d8ee8fee","url":"https://api.github.com/users/capistrano","login":"capistrano","id":58257},"language":"Ruby","svn_url":"https://github.com/capistrano/capistrano","pushed_at":"2012-09-06T17:01:03Z","forks":296,"has_downloads":false,"updated_at":"2012-09-07T16:07:26Z","full_name":"capistrano/capistrano","git_url":"git://github.com/capistrano/capistrano.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":296,"homepage":"http://capify.org","clone_url":"https://github.com/capistrano/capistrano.git","watchers_count":2638,"size":644,"fork":true,"html_url":"https://github.com/capistrano/capistrano","has_wiki":true,"name":"capistrano","url":"https://api.github.com/repos/capistrano/capistrano","watchers":2638,"open_issues_count":44,"description":"Remote multi-server automation tool","private":false,"id":138312,"created_at":"2009-02-26T16:14:04Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:moriyoshi/boost.perl.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","id":18755},"language":"C++","svn_url":"https://github.com/moriyoshi/boost.perl","pushed_at":"2010-05-28T07:23:06Z","forks":0,"has_downloads":true,"updated_at":"2011-10-03T23:45:58Z","full_name":"moriyoshi/boost.perl","git_url":"git://github.com/moriyoshi/boost.perl.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":0,"homepage":"","clone_url":"https://github.com/moriyoshi/boost.perl.git","watchers_count":8,"size":512,"fork":false,"html_url":"https://github.com/moriyoshi/boost.perl","has_wiki":true,"name":"boost.perl","url":"https://api.github.com/repos/moriyoshi/boost.perl","watchers":8,"open_issues_count":0,"description":"Still a proof of concept...","private":false,"id":163431,"created_at":"2009-03-30T21:09:12Z"},{"open_issues":11,"has_issues":false,"ssh_url":"git@github.com:apenwarr/git-subtree.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/918b627daf7d848cd40770ed6cd15233?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"918b627daf7d848cd40770ed6cd15233","url":"https://api.github.com/users/apenwarr","login":"apenwarr","id":20592},"language":"Shell","svn_url":"https://github.com/apenwarr/git-subtree","pushed_at":"2012-07-14T19:40:25Z","forks":72,"has_downloads":true,"updated_at":"2012-09-07T14:50:20Z","full_name":"apenwarr/git-subtree","git_url":"git://github.com/apenwarr/git-subtree.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":72,"homepage":"","clone_url":"https://github.com/apenwarr/git-subtree.git","watchers_count":648,"size":232,"fork":false,"html_url":"https://github.com/apenwarr/git-subtree","has_wiki":false,"name":"git-subtree","url":"https://api.github.com/repos/apenwarr/git-subtree","watchers":648,"open_issues_count":11,"description":"An experimental alternative to the git-submodule command. Merges and splits subtrees from your project into subprojects and back.","private":false,"id":185096,"created_at":"2009-04-25T04:10:31Z"},{"open_issues":2,"has_issues":true,"ssh_url":"git@github.com:cosmin/git-hg.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/1b5633ca7f3390376c779e5f716a3ed0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1b5633ca7f3390376c779e5f716a3ed0","url":"https://api.github.com/users/cosmin","login":"cosmin","id":1358},"language":"Shell","svn_url":"https://github.com/cosmin/git-hg","pushed_at":"2012-08-15T18:18:04Z","forks":29,"has_downloads":true,"updated_at":"2012-09-07T07:37:40Z","full_name":"cosmin/git-hg","git_url":"git://github.com/cosmin/git-hg.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":29,"homepage":"http://offbytwo.github.com/git-hg","clone_url":"https://github.com/cosmin/git-hg.git","watchers_count":156,"size":200,"fork":false,"html_url":"https://github.com/cosmin/git-hg","has_wiki":true,"name":"git-hg","url":"https://api.github.com/repos/cosmin/git-hg","watchers":156,"open_issues_count":2,"description":"A git-hg utility for checking out and tracking a mercurial repo.","private":false,"id":201230,"created_at":"2009-05-14T20:23:01Z"},{"open_issues":326,"has_issues":true,"ssh_url":"git@github.com:mxcl/homebrew.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/1510549f9353c9859b7b3c81872df09c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1510549f9353c9859b7b3c81872df09c","url":"https://api.github.com/users/mxcl","login":"mxcl","id":58962},"language":"Ruby","svn_url":"https://github.com/mxcl/homebrew","pushed_at":"2012-09-07T21:19:16Z","master_branch":"master","forks":4572,"has_downloads":false,"updated_at":"2012-09-07T22:40:37Z","full_name":"mxcl/homebrew","git_url":"git://github.com/mxcl/homebrew.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":4572,"homepage":"http://mxcl.github.com/homebrew","clone_url":"https://github.com/mxcl/homebrew.git","watchers_count":9910,"size":7160,"fork":false,"html_url":"https://github.com/mxcl/homebrew","has_wiki":true,"name":"homebrew","url":"https://api.github.com/repos/mxcl/homebrew","watchers":9910,"open_issues_count":326,"description":"The missing package manager for OS X.","private":false,"id":206084,"created_at":"2009-05-20T19:38:37Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:jamis/celtic_knot.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","url":"https://api.github.com/users/jamis","login":"jamis","id":1627},"language":"Ruby","svn_url":"https://github.com/jamis/celtic_knot","pushed_at":"2010-11-25T02:39:53Z","forks":1,"has_downloads":true,"updated_at":"2011-10-12T04:36:53Z","full_name":"jamis/celtic_knot","git_url":"git://github.com/jamis/celtic_knot.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":1,"homepage":"","clone_url":"https://github.com/jamis/celtic_knot.git","watchers_count":4,"size":1272,"fork":false,"html_url":"https://github.com/jamis/celtic_knot","has_wiki":true,"name":"celtic_knot","url":"https://api.github.com/repos/jamis/celtic_knot","watchers":4,"open_issues_count":0,"description":"A library for generating Celtic Knotwork designs from graphs","private":false,"id":209230,"created_at":"2009-05-24T23:23:10Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:jdavisp3/twisted-intro.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/fcc237fd34a8e504f7224df0c58cc0b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fcc237fd34a8e504f7224df0c58cc0b3","url":"https://api.github.com/users/jdavisp3","login":"jdavisp3","id":43582},"language":"Python","svn_url":"https://github.com/jdavisp3/twisted-intro","pushed_at":"2012-06-24T03:44:38Z","forks":14,"has_downloads":true,"updated_at":"2012-09-03T08:56:13Z","full_name":"jdavisp3/twisted-intro","git_url":"git://github.com/jdavisp3/twisted-intro.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":14,"homepage":"http://krondo.com/blog/?page_id=1327","clone_url":"https://github.com/jdavisp3/twisted-intro.git","watchers_count":67,"size":196,"fork":false,"html_url":"https://github.com/jdavisp3/twisted-intro","has_wiki":true,"name":"twisted-intro","url":"https://api.github.com/repos/jdavisp3/twisted-intro","watchers":67,"open_issues_count":0,"description":"Source files used for an introduction to Twisted","private":false,"id":273325,"created_at":"2009-08-09T17:54:00Z"},{"open_issues":79,"has_issues":true,"ssh_url":"git@github.com:github/markup.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/users/github","login":"github","id":9919},"language":"Python","svn_url":"https://github.com/github/markup","pushed_at":"2012-08-05T18:59:47Z","forks":577,"has_downloads":false,"updated_at":"2012-09-07T19:49:25Z","full_name":"github/markup","git_url":"git://github.com/github/markup.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":577,"homepage":"","clone_url":"https://github.com/github/markup.git","watchers_count":1246,"size":312,"fork":false,"html_url":"https://github.com/github/markup","has_wiki":false,"name":"markup","url":"https://api.github.com/repos/github/markup","watchers":1246,"open_issues_count":79,"description":"The code we use to render README.your_favorite_markup","private":false,"id":355893,"created_at":"2009-10-31T01:02:46Z"},{"open_issues":19,"has_issues":true,"ssh_url":"git@github.com:defunkt/hub.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b8dbb1987e8e5318584865f880036796","url":"https://api.github.com/users/defunkt","login":"defunkt","id":2},"language":"Ruby","svn_url":"https://github.com/defunkt/hub","pushed_at":"2012-07-24T11:24:47Z","forks":114,"has_downloads":false,"updated_at":"2012-09-06T21:08:04Z","full_name":"defunkt/hub","git_url":"git://github.com/defunkt/hub.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":114,"homepage":"http://defunkt.io/hub/","clone_url":"https://github.com/defunkt/hub.git","watchers_count":1449,"size":280,"fork":false,"html_url":"https://github.com/defunkt/hub","has_wiki":false,"name":"hub","url":"https://api.github.com/repos/defunkt/hub","watchers":1449,"open_issues_count":19,"description":"hub introduces git to GitHub","private":false,"id":401025,"created_at":"2009-12-05T22:15:25Z"},{"open_issues":100,"has_issues":true,"ssh_url":"git@github.com:nvie/gitflow.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"466ef7561a0b100dc5a1021959962d28","url":"https://api.github.com/users/nvie","login":"nvie","id":83844},"language":"Shell","svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-07-10T09:18:03Z","master_branch":"develop","forks":429,"has_downloads":true,"updated_at":"2012-09-07T21:10:39Z","full_name":"nvie/gitflow","git_url":"git://github.com/nvie/gitflow.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":429,"homepage":"http://nvie.com/posts/a-successful-git-branching-model/","clone_url":"https://github.com/nvie/gitflow.git","watchers_count":4650,"size":4430,"fork":false,"html_url":"https://github.com/nvie/gitflow","has_wiki":true,"name":"gitflow","url":"https://api.github.com/repos/nvie/gitflow","watchers":4650,"open_issues_count":100,"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","private":false,"id":481366,"created_at":"2010-01-20T23:14:12Z"},{"open_issues":9,"has_issues":true,"ssh_url":"git@github.com:lg/murder.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/f2583cecbd75c5999bf65d9eeb6a84f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f2583cecbd75c5999bf65d9eeb6a84f2","url":"https://api.github.com/users/lg","login":"lg","id":181018},"language":"Python","svn_url":"https://github.com/lg/murder","pushed_at":"2011-10-18T00:40:07Z","forks":59,"has_downloads":true,"updated_at":"2012-09-05T19:50:00Z","full_name":"lg/murder","git_url":"git://github.com/lg/murder.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":59,"homepage":"http://twitter.com","clone_url":"https://github.com/lg/murder.git","watchers_count":1286,"size":1228,"fork":false,"html_url":"https://github.com/lg/murder","has_wiki":true,"name":"murder","url":"https://api.github.com/repos/lg/murder","watchers":1286,"open_issues_count":9,"description":"Large scale server deploys using BitTorrent and the BitTornado library","private":false,"id":481811,"created_at":"2010-01-21T07:05:36Z"},{"open_issues":177,"has_issues":true,"ssh_url":"git@github.com:boto/boto.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"9062d6f913c867ce042928d6637abd05","url":"https://api.github.com/users/boto","login":"boto","id":327752},"language":"Python","svn_url":"https://github.com/boto/boto","pushed_at":"2012-09-06T22:09:52Z","master_branch":"develop","forks":512,"has_downloads":true,"updated_at":"2012-09-07T20:38:05Z","full_name":"boto/boto","git_url":"git://github.com/boto/boto.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":512,"homepage":"http://docs.pythonboto.org/","clone_url":"https://github.com/boto/boto.git","watchers_count":1947,"size":5723,"fork":false,"html_url":"https://github.com/boto/boto","has_wiki":true,"name":"boto","url":"https://api.github.com/repos/boto/boto","watchers":1947,"open_issues_count":177,"description":"Python interface to Amazon Web Services","private":false,"id":771016,"created_at":"2010-07-12T19:15:33Z"},{"open_issues":35,"has_issues":true,"ssh_url":"git@github.com:rtyley/agit.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/1cdc781dd667a5d4b61340591bf1bef4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1cdc781dd667a5d4b61340591bf1bef4","url":"https://api.github.com/users/rtyley","login":"rtyley","id":52038},"language":"Java","svn_url":"https://github.com/rtyley/agit","pushed_at":"2012-08-14T14:51:40Z","forks":49,"has_downloads":true,"updated_at":"2012-09-07T14:46:30Z","full_name":"rtyley/agit","git_url":"git://github.com/rtyley/agit.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":49,"homepage":"https://market.android.com/details?id=com.madgag.agit","clone_url":"https://github.com/rtyley/agit.git","watchers_count":236,"size":1240,"fork":false,"html_url":"https://github.com/rtyley/agit","has_wiki":true,"name":"agit","url":"https://api.github.com/repos/rtyley/agit","watchers":236,"open_issues_count":35,"description":"Agit - Git client for Android","private":false,"id":870849,"created_at":"2010-08-29T21:45:54Z"},{"open_issues":123,"has_issues":true,"ssh_url":"git@github.com:mbostock/d3.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","url":"https://api.github.com/users/mbostock","login":"mbostock","id":230541},"language":"JavaScript","svn_url":"https://github.com/mbostock/d3","pushed_at":"2012-09-04T02:21:17Z","forks":1137,"has_downloads":true,"updated_at":"2012-09-07T21:21:07Z","full_name":"mbostock/d3","git_url":"git://github.com/mbostock/d3.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":1137,"homepage":"http://d3js.org","clone_url":"https://github.com/mbostock/d3.git","watchers_count":8352,"size":2928,"fork":false,"html_url":"https://github.com/mbostock/d3","has_wiki":true,"name":"d3","url":"https://api.github.com/repos/mbostock/d3","watchers":8352,"open_issues_count":123,"description":"A JavaScript visualization library for HTML and SVG.","private":false,"id":943149,"created_at":"2010-09-27T17:22:42Z"},{"open_issues":19,"has_issues":true,"ssh_url":"git@github.com:libgit2/pygit2.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/1c56acccc41c591705dc92da5f6ab603?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"1c56acccc41c591705dc92da5f6ab603","url":"https://api.github.com/users/libgit2","login":"libgit2","id":394745},"language":"C","svn_url":"https://github.com/libgit2/pygit2","pushed_at":"2012-08-28T08:34:33Z","forks":60,"has_downloads":true,"updated_at":"2012-09-04T23:59:16Z","full_name":"libgit2/pygit2","git_url":"git://github.com/libgit2/pygit2.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":60,"homepage":"","clone_url":"https://github.com/libgit2/pygit2.git","watchers_count":265,"size":200,"fork":false,"html_url":"https://github.com/libgit2/pygit2","has_wiki":false,"name":"pygit2","url":"https://api.github.com/repos/libgit2/pygit2","watchers":265,"open_issues_count":19,"description":"Python bindings for libgit2","private":false,"id":1062237,"created_at":"2010-11-08T16:27:48Z"},{"open_issues":12,"has_issues":true,"ssh_url":"git@github.com:schacon/git-pulls.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9375a9529679f1b42b567a640d775e7d","url":"https://api.github.com/users/schacon","login":"schacon","id":70},"language":"Ruby","svn_url":"https://github.com/schacon/git-pulls","pushed_at":"2011-10-28T07:11:56Z","forks":23,"has_downloads":true,"updated_at":"2012-08-29T19:10:30Z","full_name":"schacon/git-pulls","git_url":"git://github.com/schacon/git-pulls.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":23,"homepage":"","clone_url":"https://github.com/schacon/git-pulls.git","watchers_count":177,"size":1004,"fork":false,"html_url":"https://github.com/schacon/git-pulls","has_wiki":true,"name":"git-pulls","url":"https://api.github.com/repos/schacon/git-pulls","watchers":177,"open_issues_count":12,"description":"command line tool to facilitate github pull requests","private":false,"id":1201343,"created_at":"2010-12-27T20:39:24Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:emesik/django_mathlatex.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/0d0c6eda804f912d230df91577e29180?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0d0c6eda804f912d230df91577e29180","url":"https://api.github.com/users/emesik","login":"emesik","id":407107},"language":"Python","svn_url":"https://github.com/emesik/django_mathlatex","pushed_at":"2011-04-01T11:33:23Z","forks":1,"has_downloads":true,"updated_at":"2012-08-05T04:16:25Z","full_name":"emesik/django_mathlatex","git_url":"git://github.com/emesik/django_mathlatex.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":1,"homepage":"","clone_url":"https://github.com/emesik/django_mathlatex.git","watchers_count":4,"size":448,"fork":false,"html_url":"https://github.com/emesik/django_mathlatex","has_wiki":true,"name":"django_mathlatex","url":"https://api.github.com/repos/emesik/django_mathlatex","watchers":4,"open_issues_count":0,"description":"Django template tag for rendering math formulas","private":false,"id":1447846,"created_at":"2011-03-06T22:29:04Z"},{"open_issues":17,"has_issues":true,"ssh_url":"git@github.com:aliasaria/scrumblr.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/a08f4e2d6ccccab586b502992c31e2ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a08f4e2d6ccccab586b502992c31e2ce","url":"https://api.github.com/users/aliasaria","login":"aliasaria","id":213343},"language":"JavaScript","svn_url":"https://github.com/aliasaria/scrumblr","pushed_at":"2012-08-30T20:29:00Z","forks":60,"has_downloads":true,"updated_at":"2012-09-04T09:24:36Z","full_name":"aliasaria/scrumblr","git_url":"git://github.com/aliasaria/scrumblr.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":60,"homepage":"http://scrumblr.ca","clone_url":"https://github.com/aliasaria/scrumblr.git","watchers_count":505,"size":632,"fork":false,"html_url":"https://github.com/aliasaria/scrumblr","has_wiki":true,"name":"scrumblr","url":"https://api.github.com/repos/aliasaria/scrumblr","watchers":505,"open_issues_count":17,"description":"Collaborative Online Scrum Tool Using Websockets, Node.js, jQuery, and CSS3","private":false,"id":1461917,"created_at":"2011-03-10T02:29:38Z"},{"open_issues":0,"has_issues":false,"ssh_url":"git@github.com:github/developer.github.com.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","url":"https://api.github.com/users/github","login":"github","id":9919},"language":"Ruby","svn_url":"https://github.com/github/developer.github.com","pushed_at":"2012-09-07T20:42:32Z","forks":174,"has_downloads":true,"updated_at":"2012-09-07T20:42:32Z","full_name":"github/developer.github.com","git_url":"git://github.com/github/developer.github.com.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":174,"homepage":"http://developer.github.com","clone_url":"https://github.com/github/developer.github.com.git","watchers_count":343,"size":412,"fork":false,"html_url":"https://github.com/github/developer.github.com","has_wiki":false,"name":"developer.github.com","url":"https://api.github.com/repos/github/developer.github.com","watchers":343,"open_issues_count":0,"description":"GitHub API documentation","private":false,"id":1666784,"created_at":"2011-04-26T19:20:56Z"},{"open_issues":1,"has_issues":true,"ssh_url":"git@github.com:ChristopherMacGown/python-github3.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/4174216c1dc0f223ce608d5a3b66a585?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4174216c1dc0f223ce608d5a3b66a585","url":"https://api.github.com/users/ChristopherMacGown","login":"ChristopherMacGown","id":43081},"language":"Python","svn_url":"https://github.com/ChristopherMacGown/python-github3","pushed_at":"2012-09-06T20:37:01Z","forks":13,"has_downloads":true,"updated_at":"2012-09-06T20:37:19Z","full_name":"ChristopherMacGown/python-github3","git_url":"git://github.com/ChristopherMacGown/python-github3.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":13,"homepage":"","clone_url":"https://github.com/ChristopherMacGown/python-github3.git","watchers_count":21,"size":136,"fork":false,"html_url":"https://github.com/ChristopherMacGown/python-github3","has_wiki":true,"name":"python-github3","url":"https://api.github.com/repos/ChristopherMacGown/python-github3","watchers":21,"open_issues_count":1,"description":"Github API v3 library for Python.","private":false,"id":1676748,"created_at":"2011-04-28T17:07:29Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:pjkersten/PlantUML.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/6e33170f0701d1d1d8dd57c8f95368ef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6e33170f0701d1d1d8dd57c8f95368ef","url":"https://api.github.com/users/pjkersten","login":"pjkersten","id":771883},"language":"PHP","svn_url":"https://github.com/pjkersten/PlantUML","pushed_at":"2012-06-20T08:00:40Z","forks":3,"has_downloads":true,"updated_at":"2012-07-25T01:45:58Z","full_name":"pjkersten/PlantUML","git_url":"git://github.com/pjkersten/PlantUML.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":3,"homepage":"","clone_url":"https://github.com/pjkersten/PlantUML.git","watchers_count":7,"size":132,"fork":false,"html_url":"https://github.com/pjkersten/PlantUML","has_wiki":true,"name":"PlantUML","url":"https://api.github.com/repos/pjkersten/PlantUML","watchers":7,"open_issues_count":0,"description":"PlantUML plugin for MediaWiki","private":false,"id":1710505,"created_at":"2011-05-06T09:33:38Z"},{"open_issues":144,"has_issues":true,"ssh_url":"git@github.com:twitter/bootstrap.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/2f4a8254d032a8ec5e4c48d461e54fcc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"2f4a8254d032a8ec5e4c48d461e54fcc","url":"https://api.github.com/users/twitter","login":"twitter","id":50278},"language":"JavaScript","svn_url":"https://github.com/twitter/bootstrap","pushed_at":"2012-09-07T18:42:29Z","forks":8262,"has_downloads":true,"updated_at":"2012-09-07T23:17:13Z","full_name":"twitter/bootstrap","git_url":"git://github.com/twitter/bootstrap.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":8262,"homepage":"http://twitter.github.com/bootstrap","clone_url":"https://github.com/twitter/bootstrap.git","watchers_count":37009,"size":1384,"fork":false,"html_url":"https://github.com/twitter/bootstrap","has_wiki":true,"name":"bootstrap","url":"https://api.github.com/repos/twitter/bootstrap","watchers":37009,"open_issues_count":144,"description":"HTML, CSS, and JS toolkit from Twitter","private":false,"id":2126244,"created_at":"2011-07-29T21:19:00Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:stephenmcd/drawnby.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","id":116385},"language":"JavaScript","svn_url":"https://github.com/stephenmcd/drawnby","pushed_at":"2012-07-30T13:36:35Z","forks":2,"has_downloads":true,"updated_at":"2012-09-06T12:27:16Z","full_name":"stephenmcd/drawnby","git_url":"git://github.com/stephenmcd/drawnby.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":2,"homepage":"http://drawnby.jupo.org","clone_url":"https://github.com/stephenmcd/drawnby.git","watchers_count":12,"size":384,"fork":false,"html_url":"https://github.com/stephenmcd/drawnby","has_wiki":true,"name":"drawnby","url":"https://api.github.com/repos/stephenmcd/drawnby","watchers":12,"open_issues_count":0,"description":"Drawn By is a collaborative real-time sketching app built for the 2011 Django Dash.","private":false,"id":2136154,"created_at":"2011-08-01T10:25:31Z"},{"open_issues":6,"has_issues":true,"ssh_url":"git@github.com:stephenmcd/django-socketio.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","id":116385},"language":"JavaScript","svn_url":"https://github.com/stephenmcd/django-socketio","pushed_at":"2012-08-29T20:29:10Z","forks":39,"has_downloads":true,"updated_at":"2012-09-06T13:47:36Z","full_name":"stephenmcd/django-socketio","git_url":"git://github.com/stephenmcd/django-socketio.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":39,"homepage":"","clone_url":"https://github.com/stephenmcd/django-socketio.git","watchers_count":323,"size":180,"fork":false,"html_url":"https://github.com/stephenmcd/django-socketio","has_wiki":true,"name":"django-socketio","url":"https://api.github.com/repos/stephenmcd/django-socketio","watchers":323,"open_issues_count":6,"description":"A Django app providing the features required to use websockets with Django via Socket.IO","private":false,"id":2139136,"created_at":"2011-08-01T21:18:34Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:jstasiak/django-realtime.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/f69b46619a23b64a1184bd038bfa8de5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f69b46619a23b64a1184bd038bfa8de5","url":"https://api.github.com/users/jstasiak","login":"jstasiak","id":36209},"language":"JavaScript","svn_url":"https://github.com/jstasiak/django-realtime","pushed_at":"2012-04-21T16:22:25Z","forks":4,"has_downloads":true,"updated_at":"2012-08-21T15:09:28Z","full_name":"jstasiak/django-realtime","git_url":"git://github.com/jstasiak/django-realtime.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":4,"homepage":"","clone_url":"https://github.com/jstasiak/django-realtime.git","watchers_count":23,"size":132,"fork":false,"html_url":"https://github.com/jstasiak/django-realtime","has_wiki":true,"name":"django-realtime","url":"https://api.github.com/repos/jstasiak/django-realtime","watchers":23,"open_issues_count":0,"description":"Use this application to get Socket.IO support in your Django project and dive into real time web.","private":false,"id":2424738,"created_at":"2011-09-20T19:13:10Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:AcmeSystems/playground.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/af55714b265c4914c8bb8db49fc06da6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"af55714b265c4914c8bb8db49fc06da6","url":"https://api.github.com/users/AcmeSystems","login":"AcmeSystems","id":783524},"language":"Python","svn_url":"https://github.com/AcmeSystems/playground","pushed_at":"2012-09-06T16:51:16Z","forks":4,"has_downloads":true,"updated_at":"2012-09-06T16:51:18Z","full_name":"AcmeSystems/playground","git_url":"git://github.com/AcmeSystems/playground.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":4,"homepage":"http://www.acmesystems.it","clone_url":"https://github.com/AcmeSystems/playground.git","watchers_count":7,"size":212,"fork":false,"html_url":"https://github.com/AcmeSystems/playground","has_wiki":true,"name":"playground","url":"https://api.github.com/repos/AcmeSystems/playground","watchers":7,"open_issues_count":0,"description":"Small programming examples for the FOX Board G20","private":false,"id":2593052,"created_at":"2011-10-17T16:16:10Z"},{"open_issues":8,"has_issues":true,"ssh_url":"git@github.com:juuso/BozoCrack.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/d3231546d42d67974fc51956a3b627f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d3231546d42d67974fc51956a3b627f4","url":"https://api.github.com/users/juuso","login":"juuso","id":614446},"language":"Ruby","svn_url":"https://github.com/juuso/BozoCrack","pushed_at":"2011-11-07T14:55:19Z","forks":36,"has_downloads":true,"updated_at":"2012-09-07T10:43:48Z","full_name":"juuso/BozoCrack","git_url":"git://github.com/juuso/BozoCrack.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":36,"homepage":"","clone_url":"https://github.com/juuso/BozoCrack.git","watchers_count":375,"size":140,"fork":false,"html_url":"https://github.com/juuso/BozoCrack","has_wiki":true,"name":"BozoCrack","url":"https://api.github.com/repos/juuso/BozoCrack","watchers":375,"open_issues_count":8,"description":"A silly & effective MD5 cracker in Ruby","private":false,"id":2726128,"created_at":"2011-11-07T13:02:08Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"language":null,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","pushed_at":null,"forks":1,"has_downloads":true,"updated_at":"2012-02-16T21:51:15Z","full_name":"BeaverSoftware/FatherBeaver","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","permissions":{"push":true,"pull":true,"admin":true},"mirror_url":null,"forks_count":1,"homepage":"","clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","watchers_count":2,"size":0,"fork":false,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"name":"FatherBeaver","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","watchers":2,"open_issues_count":0,"description":"","private":false,"id":3400397,"created_at":"2012-02-09T19:32:21Z"}] - -https -GET -api.github.com -None -/users/jacquev6/starred?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '5925'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:24:22 GMT'), ('connection', 'keep-alive'), ('etag', '"94c163fa14b07651e050e97613c9aea5"'), ('link', '; rel="first", ; rel="prev"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:29:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:joestein/amaunet.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/c5949edcf9e35a9aeb2584b6d4a58dcf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c5949edcf9e35a9aeb2584b6d4a58dcf","url":"https://api.github.com/users/joestein","login":"joestein","id":115151},"language":null,"svn_url":"https://github.com/joestein/amaunet","pushed_at":"2012-03-09T02:20:37Z","forks":1,"has_downloads":true,"updated_at":"2012-07-23T00:48:19Z","full_name":"joestein/amaunet","git_url":"git://github.com/joestein/amaunet.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":1,"homepage":"http://allthingshadoop.com/2010/12/16/simple-hadoop-streaming-tutorial-using-joins-and-keys-with-python/","clone_url":"https://github.com/joestein/amaunet.git","watchers_count":6,"size":84,"fork":false,"html_url":"https://github.com/joestein/amaunet","has_wiki":true,"name":"amaunet","url":"https://api.github.com/repos/joestein/amaunet","watchers":6,"open_issues_count":0,"description":"Python Streaming Example","private":false,"id":3666534,"created_at":"2012-03-09T02:03:25Z"},{"open_issues":94,"has_issues":false,"ssh_url":"git@github.com:django/django.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","url":"https://api.github.com/users/django","login":"django","id":27804},"language":"Python","svn_url":"https://github.com/django/django","pushed_at":"2012-09-07T23:24:22Z","forks":840,"has_downloads":true,"updated_at":"2012-09-07T23:24:22Z","full_name":"django/django","git_url":"git://github.com/django/django.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":840,"homepage":"http://www.djangoproject.com/","clone_url":"https://github.com/django/django.git","watchers_count":4040,"size":10896,"fork":false,"html_url":"https://github.com/django/django","has_wiki":false,"name":"django","url":"https://api.github.com/repos/django/django","watchers":4040,"open_issues_count":94,"description":"The Web framework for perfectionists with deadlines.","private":false,"id":4164482,"created_at":"2012-04-28T02:47:18Z"},{"open_issues":0,"has_issues":false,"ssh_url":"git@github.com:jacquev6/django.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"language":"Python","svn_url":"https://github.com/jacquev6/django","pushed_at":"2012-04-28T04:05:15Z","forks":0,"has_downloads":true,"updated_at":"2012-06-09T10:37:50Z","full_name":"jacquev6/django","git_url":"git://github.com/jacquev6/django.git","permissions":{"push":true,"pull":true,"admin":true},"mirror_url":null,"forks_count":0,"homepage":"http://www.djangoproject.com/","clone_url":"https://github.com/jacquev6/django.git","watchers_count":2,"size":48476,"fork":true,"html_url":"https://github.com/jacquev6/django","has_wiki":false,"name":"django","url":"https://api.github.com/repos/jacquev6/django","watchers":2,"open_issues_count":0,"description":"The Web framework for perfectionists with deadlines. Now on GitHub.","private":false,"id":4166730,"created_at":"2012-04-28T11:06:20Z"},{"open_issues":0,"has_issues":true,"ssh_url":"git@github.com:gturri/moviePlanning.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/ba064e32f068e12bfc87d178179878a5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ba064e32f068e12bfc87d178179878a5","url":"https://api.github.com/users/gturri","login":"gturri","id":308601},"language":"Python","svn_url":"https://github.com/gturri/moviePlanning","pushed_at":"2012-06-28T08:29:46Z","forks":1,"has_downloads":true,"updated_at":"2012-06-28T08:29:47Z","full_name":"gturri/moviePlanning","git_url":"git://github.com/gturri/moviePlanning.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":1,"homepage":null,"clone_url":"https://github.com/gturri/moviePlanning.git","watchers_count":2,"size":340,"fork":false,"html_url":"https://github.com/gturri/moviePlanning","has_wiki":true,"name":"moviePlanning","url":"https://api.github.com/repos/gturri/moviePlanning","watchers":2,"open_issues_count":0,"description":"","private":false,"id":4461403,"created_at":"2012-05-27T11:16:53Z"},{"open_issues":2,"has_issues":true,"ssh_url":"git@github.com:facebook/folly.git","owner":{"avatar_url":"https://secure.gravatar.com/avatar/193c1a93276f729041fc875cf2a20773?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"193c1a93276f729041fc875cf2a20773","url":"https://api.github.com/users/facebook","login":"facebook","id":69631},"language":"C++","svn_url":"https://github.com/facebook/folly","pushed_at":"2012-08-26T18:14:39Z","forks":370,"has_downloads":true,"updated_at":"2012-09-07T22:17:59Z","full_name":"facebook/folly","git_url":"git://github.com/facebook/folly.git","permissions":{"push":false,"pull":true,"admin":false},"mirror_url":null,"forks_count":370,"homepage":"https://groups.google.com/forum/?fromgroups#!forum/facebook-folly","clone_url":"https://github.com/facebook/folly.git","watchers_count":2419,"size":376,"fork":false,"html_url":"https://github.com/facebook/folly","has_wiki":true,"name":"folly","url":"https://api.github.com/repos/facebook/folly","watchers":2419,"open_issues_count":2,"description":"Folly is an open-source C++ library developed and used at Facebook.","private":false,"id":4524181,"created_at":"2012-06-01T20:49:04Z"}] - diff --git a/github/tests/ReplayData/NamedUser.testGetSubscriptions.txt b/github/tests/ReplayData/NamedUser.testGetSubscriptions.txt deleted file mode 100644 index ad03882..0000000 --- a/github/tests/ReplayData/NamedUser.testGetSubscriptions.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/subscriptions -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4954'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '35676'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 23:16:45 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"400673f9e225530be2f6795b43862773"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:49:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"master_branch":"master","forks":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"Vincent's Development Environment","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/ViDE.git","git_url":"git://github.com/jacquev6/ViDE.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":1496,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-06-08T11:05:51Z","full_name":"jacquev6/ViDE","name":"ViDE","url":"https://api.github.com/repos/jacquev6/ViDE","mirror_url":null,"ssh_url":"git@github.com:jacquev6/ViDE.git","html_url":"https://github.com/jacquev6/ViDE","private":false,"id":767343,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/ViDE","pushed_at":"2012-06-08T11:05:51Z"},{"master_branch":"master","forks":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/Boost.HierarchicalEnum.git","git_url":"git://github.com/jacquev6/Boost.HierarchicalEnum.git","created_at":"2012-08-07T03:23:22Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":112,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-07-27T02:32:15Z","full_name":"jacquev6/Boost.HierarchicalEnum","name":"Boost.HierarchicalEnum","url":"https://api.github.com/repos/jacquev6/Boost.HierarchicalEnum","mirror_url":null,"ssh_url":"git@github.com:jacquev6/Boost.HierarchicalEnum.git","html_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","private":false,"id":767382,"language":"C++","homepage":"","svn_url":"https://github.com/jacquev6/Boost.HierarchicalEnum","pushed_at":"2011-11-27T14:00:23Z"},{"master_branch":"master","forks":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"A C++ interface to specify quadratic problems by C++ expressions of your variables. Try it online.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/QuadProgMm.git","git_url":"git://github.com/jacquev6/QuadProgMm.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":760,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-04-16T18:39:06Z","full_name":"jacquev6/QuadProgMm","name":"QuadProgMm","url":"https://api.github.com/repos/jacquev6/QuadProgMm","mirror_url":null,"ssh_url":"git@github.com:jacquev6/QuadProgMm.git","html_url":"https://github.com/jacquev6/QuadProgMm","private":false,"id":767386,"language":"C++","homepage":"http://vincent-jacques.net/QuadProgMm","svn_url":"https://github.com/jacquev6/QuadProgMm","pushed_at":"2012-04-16T18:39:05Z"},{"master_branch":"master","forks":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/DrawSyntax.git","git_url":"git://github.com/jacquev6/DrawSyntax.git","created_at":"2012-08-07T03:23:17Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":1760,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-08-11T03:53:58Z","full_name":"jacquev6/DrawSyntax","name":"DrawSyntax","url":"https://api.github.com/repos/jacquev6/DrawSyntax","mirror_url":null,"ssh_url":"git@github.com:jacquev6/DrawSyntax.git","html_url":"https://github.com/jacquev6/DrawSyntax","private":false,"id":767392,"language":"C++","homepage":"http://vincent-jacques.net/DrawSyntax/","svn_url":"https://github.com/jacquev6/DrawSyntax","pushed_at":"2011-11-27T14:00:32Z"},{"master_branch":"master","forks":1,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"A tool to draw Turk's Head Knots. Try it online","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/DrawTurksHead.git","git_url":"git://github.com/jacquev6/DrawTurksHead.git","created_at":"2012-08-07T03:23:13Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":3232,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-04-16T18:38:55Z","full_name":"jacquev6/DrawTurksHead","name":"DrawTurksHead","url":"https://api.github.com/repos/jacquev6/DrawTurksHead","mirror_url":null,"ssh_url":"git@github.com:jacquev6/DrawTurksHead.git","html_url":"https://github.com/jacquev6/DrawTurksHead","private":false,"id":767403,"language":"C++","homepage":"http://vincent-jacques.net/DrawTurksHead/","svn_url":"https://github.com/jacquev6/DrawTurksHead","pushed_at":"2012-04-16T18:38:54Z"},{"forks":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/PrivateStuff.git","git_url":"git://github.com/jacquev6/PrivateStuff.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":1252,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-09-07T19:22:17Z","full_name":"jacquev6/PrivateStuff","name":"PrivateStuff","url":"https://api.github.com/repos/jacquev6/PrivateStuff","mirror_url":null,"ssh_url":"git@github.com:jacquev6/PrivateStuff.git","html_url":"https://github.com/jacquev6/PrivateStuff","private":true,"id":1592290,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/PrivateStuff","pushed_at":"2012-09-07T19:21:59Z"},{"forks":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/vincent-jacques.net.git","git_url":"git://github.com/jacquev6/vincent-jacques.net.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":164,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-06-30T09:29:07Z","full_name":"jacquev6/vincent-jacques.net","name":"vincent-jacques.net","url":"https://api.github.com/repos/jacquev6/vincent-jacques.net","mirror_url":null,"ssh_url":"git@github.com:jacquev6/vincent-jacques.net.git","html_url":"https://github.com/jacquev6/vincent-jacques.net","private":true,"id":1986874,"language":"Python","homepage":"vincent-jacques.net","svn_url":"https://github.com/jacquev6/vincent-jacques.net","pushed_at":"2012-06-30T09:29:07Z"},{"forks":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/Hacking.git","git_url":"git://github.com/jacquev6/Hacking.git","created_at":"2012-08-07T03:23:13Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":148,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-09-07T20:42:54Z","full_name":"jacquev6/Hacking","name":"Hacking","url":"https://api.github.com/repos/jacquev6/Hacking","mirror_url":null,"ssh_url":"git@github.com:jacquev6/Hacking.git","html_url":"https://github.com/jacquev6/Hacking","private":true,"id":1988081,"language":"Python","homepage":"","svn_url":"https://github.com/jacquev6/Hacking","pushed_at":"2012-09-07T20:42:54Z"},{"forks":1,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"Caesar IV: anticipate your city","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/C4Planner.git","git_url":"git://github.com/jacquev6/C4Planner.git","created_at":"2012-08-07T03:23:20Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":4716,"fork":false,"open_issues":0,"has_issues":false,"updated_at":"2012-07-27T04:29:14Z","full_name":"jacquev6/C4Planner","name":"C4Planner","url":"https://api.github.com/repos/jacquev6/C4Planner","mirror_url":null,"ssh_url":"git@github.com:jacquev6/C4Planner.git","html_url":"https://github.com/jacquev6/C4Planner","private":false,"id":2260441,"language":"Python","homepage":"http://vincent-jacques.net/C4Planner","svn_url":"https://github.com/jacquev6/C4Planner","pushed_at":"2011-11-27T20:51:06Z"},{"forks":0,"has_downloads":false,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/developer.github.com.git","git_url":"git://github.com/jacquev6/developer.github.com.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":184,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-06-05T11:35:40Z","full_name":"jacquev6/developer.github.com","name":"developer.github.com","url":"https://api.github.com/repos/jacquev6/developer.github.com","mirror_url":null,"ssh_url":"git@github.com:jacquev6/developer.github.com.git","html_url":"https://github.com/jacquev6/developer.github.com","private":false,"id":3361136,"language":"Ruby","homepage":"","svn_url":"https://github.com/jacquev6/developer.github.com","pushed_at":"2012-06-05T11:35:40Z"},{"forks":16,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":true,"admin":true},"forks_count":16,"clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","created_at":null,"has_wiki":false,"watchers_count":67,"watchers":67,"open_issues_count":13,"size":228,"fork":false,"open_issues":13,"has_issues":true,"updated_at":"2012-09-07T23:16:45Z","full_name":"jacquev6/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"ssh_url":"git@github.com:jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","private":false,"id":3544490,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-09-07T23:16:45Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/abersager","id":1328351},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/abersager/PyGithub.git","git_url":"git://github.com/abersager/PyGithub.git","created_at":"2012-08-07T03:21:09Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:19Z","full_name":"abersager/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","mirror_url":null,"ssh_url":"git@github.com:abersager/PyGithub.git","html_url":"https://github.com/abersager/PyGithub","private":false,"id":3831162,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/abersager/PyGithub","pushed_at":"2012-03-26T10:05:31Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"The Web framework for perfectionists with deadlines. Now on GitHub.","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","created_at":null,"has_wiki":false,"watchers_count":2,"watchers":2,"open_issues_count":0,"size":48476,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-06-09T10:37:50Z","full_name":"jacquev6/django","name":"django","url":"https://api.github.com/repos/jacquev6/django","mirror_url":null,"ssh_url":"git@github.com:jacquev6/django.git","html_url":"https://github.com/jacquev6/django","private":false,"id":4166730,"language":"Python","homepage":"http://www.djangoproject.com/","svn_url":"https://github.com/jacquev6/django","pushed_at":"2012-04-28T04:05:15Z"},{"forks":1,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"Un outil pour ceux qui aiment voir plusieurs films le même jour","permissions":{"pull":true,"push":true,"admin":true},"forks_count":1,"clone_url":"https://github.com/jacquev6/CinePlanning.git","git_url":"git://github.com/jacquev6/CinePlanning.git","created_at":"2012-08-07T03:23:19Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":5,"size":240,"fork":false,"open_issues":5,"has_issues":true,"updated_at":"2012-06-17T05:55:59Z","full_name":"jacquev6/CinePlanning","name":"CinePlanning","url":"https://api.github.com/repos/jacquev6/CinePlanning","mirror_url":null,"ssh_url":"git@github.com:jacquev6/CinePlanning.git","html_url":"https://github.com/jacquev6/CinePlanning","private":false,"id":4627544,"language":"Python","homepage":"http://vincent-jacques.net/CinePlanning","svn_url":"https://github.com/jacquev6/CinePlanning","pushed_at":"2012-06-17T05:55:58Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"3aa27c0add742f542848af3b8a9e980c","login":"pmuilu","avatar_url":"https://secure.gravatar.com/avatar/3aa27c0add742f542848af3b8a9e980c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/pmuilu","id":691799},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/pmuilu/PyGithub.git","git_url":"git://github.com/pmuilu/PyGithub.git","created_at":"2012-08-07T03:21:41Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:44Z","full_name":"pmuilu/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/pmuilu/PyGithub","mirror_url":null,"ssh_url":"git@github.com:pmuilu/PyGithub.git","html_url":"https://github.com/pmuilu/PyGithub","private":false,"id":4716322,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/pmuilu/PyGithub","pushed_at":"2012-06-19T16:50:37Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"85203b21c562062e5641f0b8d4b98d9b","login":"herlo","avatar_url":"https://secure.gravatar.com/avatar/85203b21c562062e5641f0b8d4b98d9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/herlo","id":89334},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/herlo/PyGithub.git","git_url":"git://github.com/herlo/PyGithub.git","created_at":"2012-08-07T03:21:47Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":164,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:47Z","full_name":"herlo/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/herlo/PyGithub","mirror_url":null,"ssh_url":"git@github.com:herlo/PyGithub.git","html_url":"https://github.com/herlo/PyGithub","private":false,"id":4720987,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/herlo/PyGithub","pushed_at":"2012-06-13T10:57:26Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"3ceac58506711008b9e93ad31fcb0f45","login":"roverdotcom","avatar_url":"https://secure.gravatar.com/avatar/3ceac58506711008b9e93ad31fcb0f45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/roverdotcom","id":1463288},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/roverdotcom/PyGithub.git","git_url":"git://github.com/roverdotcom/PyGithub.git","created_at":"2012-08-07T03:21:50Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":116,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:51Z","full_name":"roverdotcom/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/roverdotcom/PyGithub","mirror_url":null,"ssh_url":"git@github.com:roverdotcom/PyGithub.git","html_url":"https://github.com/roverdotcom/PyGithub","private":false,"id":4785693,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/roverdotcom/PyGithub","pushed_at":"2012-06-25T18:44:19Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"description":"HTML5 browsable IP map inspired by http://xkcd.com/195/","permissions":{"pull":true,"push":true,"admin":true},"forks_count":0,"clone_url":"https://github.com/jacquev6/IpMap.git","git_url":"git://github.com/jacquev6/IpMap.git","created_at":null,"has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":2,"size":136,"fork":false,"open_issues":2,"has_issues":true,"updated_at":"2012-08-06T20:40:59Z","full_name":"jacquev6/IpMap","name":"IpMap","url":"https://api.github.com/repos/jacquev6/IpMap","mirror_url":null,"ssh_url":"git@github.com:jacquev6/IpMap.git","html_url":"https://github.com/jacquev6/IpMap","private":true,"id":4835930,"language":"JavaScript","homepage":"http://vincent-jacques.net/IpMap","svn_url":"https://github.com/jacquev6/IpMap","pushed_at":"2012-06-30T09:28:28Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"433a7fa3917a38691aa9914b61444875","login":"thouis","avatar_url":"https://secure.gravatar.com/avatar/433a7fa3917a38691aa9914b61444875?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/thouis","id":473043},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/thouis/PyGithub.git","git_url":"git://github.com/thouis/PyGithub.git","created_at":"2012-08-07T03:21:53Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:54Z","full_name":"thouis/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/thouis/PyGithub","mirror_url":null,"ssh_url":"git@github.com:thouis/PyGithub.git","html_url":"https://github.com/thouis/PyGithub","private":false,"id":4957672,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/thouis/PyGithub","pushed_at":"2012-07-09T12:42:19Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","login":"malexw","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/malexw","id":577322},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/malexw/PyGithub.git","git_url":"git://github.com/malexw/PyGithub.git","created_at":"2012-08-07T03:21:56Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":112,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:21:57Z","full_name":"malexw/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/malexw/PyGithub","mirror_url":null,"ssh_url":"git@github.com:malexw/PyGithub.git","html_url":"https://github.com/malexw/PyGithub","private":false,"id":4992915,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/malexw/PyGithub","pushed_at":"2012-07-11T18:11:24Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"37a932b3abe212892173784736ed6b12","login":"engie","avatar_url":"https://secure.gravatar.com/avatar/37a932b3abe212892173784736ed6b12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/engie","id":1247},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/engie/PyGithub.git","git_url":"git://github.com/engie/PyGithub.git","created_at":"2012-08-07T03:21:59Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":136,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:22:00Z","full_name":"engie/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/engie/PyGithub","mirror_url":null,"ssh_url":"git@github.com:engie/PyGithub.git","html_url":"https://github.com/engie/PyGithub","private":false,"id":5153069,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/engie/PyGithub","pushed_at":"2012-07-23T16:42:58Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"ffcbd195c843b902fcdaa9986a2a0116","login":"oangeor","avatar_url":"https://secure.gravatar.com/avatar/ffcbd195c843b902fcdaa9986a2a0116?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/oangeor","id":1707945},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/oangeor/PyGithub.git","git_url":"git://github.com/oangeor/PyGithub.git","created_at":"2012-08-07T03:22:03Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":1292,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-06T20:22:04Z","full_name":"oangeor/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/oangeor/PyGithub","mirror_url":null,"ssh_url":"git@github.com:oangeor/PyGithub.git","html_url":"https://github.com/oangeor/PyGithub","private":false,"id":5190054,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/oangeor/PyGithub","pushed_at":"2012-07-24T16:19:13Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"a62c07aeefe3d9cc2ba18861f7eeef7d","login":"alejo8591","avatar_url":"https://secure.gravatar.com/avatar/a62c07aeefe3d9cc2ba18861f7eeef7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/alejo8591","id":1151850},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/alejo8591/PyGithub.git","git_url":"git://github.com/alejo8591/PyGithub.git","created_at":"2012-08-07T03:22:07Z","has_wiki":false,"watchers_count":1,"watchers":1,"open_issues_count":0,"size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-04T07:01:31Z","full_name":"alejo8591/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/alejo8591/PyGithub","mirror_url":null,"ssh_url":"git@github.com:alejo8591/PyGithub.git","html_url":"https://github.com/alejo8591/PyGithub","private":false,"id":5293768,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/alejo8591/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"92a24b96be9d9ce5e608751cc0c95823","login":"jagster02","avatar_url":"https://secure.gravatar.com/avatar/92a24b96be9d9ce5e608751cc0c95823?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jagster02","id":1383412},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/jagster02/PyGithub.git","git_url":"git://github.com/jagster02/PyGithub.git","created_at":"2012-08-09T13:55:23Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-07T23:29:19Z","full_name":"jagster02/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/jagster02/PyGithub","mirror_url":null,"ssh_url":"git@github.com:jagster02/PyGithub.git","html_url":"https://github.com/jagster02/PyGithub","private":false,"id":5334906,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/jagster02/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"01f9109a647ef1dac0198da94d5dfc35","login":"cs2ctest","avatar_url":"https://secure.gravatar.com/avatar/01f9109a647ef1dac0198da94d5dfc35?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/cs2ctest","id":2108297},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/cs2ctest/PyGithub.git","git_url":"git://github.com/cs2ctest/PyGithub.git","created_at":"2012-08-09T19:56:03Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-09T09:00:55Z","full_name":"cs2ctest/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/cs2ctest/PyGithub","mirror_url":null,"ssh_url":"git@github.com:cs2ctest/PyGithub.git","html_url":"https://github.com/cs2ctest/PyGithub","private":false,"id":5353371,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/cs2ctest/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"83fdd59f80118ac8e56fd6f732239190","login":"feiying","avatar_url":"https://secure.gravatar.com/avatar/83fdd59f80118ac8e56fd6f732239190?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/feiying","id":1784180},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/feiying/PyGithub.git","git_url":"git://github.com/feiying/PyGithub.git","created_at":"2012-08-10T18:57:02Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-10T04:51:27Z","full_name":"feiying/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/feiying/PyGithub","mirror_url":null,"ssh_url":"git@github.com:feiying/PyGithub.git","html_url":"https://github.com/feiying/PyGithub","private":false,"id":5365056,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/feiying/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"13df3b204a5708ed557a07628ea00660","login":"tdcarrol","avatar_url":"https://secure.gravatar.com/avatar/13df3b204a5708ed557a07628ea00660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/tdcarrol","id":435947},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/tdcarrol/PyGithub.git","git_url":"git://github.com/tdcarrol/PyGithub.git","created_at":"2012-08-22T05:17:05Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":216,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-21T15:14:27Z","full_name":"tdcarrol/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/tdcarrol/PyGithub","mirror_url":null,"ssh_url":"git@github.com:tdcarrol/PyGithub.git","html_url":"https://github.com/tdcarrol/PyGithub","private":false,"id":5496795,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/tdcarrol/PyGithub","pushed_at":"2012-08-04T06:06:06Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","login":"xobb1t","avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/xobb1t","id":344095},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/xobb1t/PyGithub.git","git_url":"git://github.com/xobb1t/PyGithub.git","created_at":"2012-09-03T15:31:32Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":108,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-25T19:40:53Z","full_name":"xobb1t/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/xobb1t/PyGithub","mirror_url":null,"ssh_url":"git@github.com:xobb1t/PyGithub.git","html_url":"https://github.com/xobb1t/PyGithub","private":false,"id":5554026,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/xobb1t/PyGithub","pushed_at":"2012-08-25T19:40:53Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"ad620f78a113948d4ded151e3025a3b3","login":"braincorp","avatar_url":"https://secure.gravatar.com/avatar/ad620f78a113948d4ded151e3025a3b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/braincorp","id":2085477},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/braincorp/PyGithub.git","git_url":"git://github.com/braincorp/PyGithub.git","created_at":"2012-09-03T15:31:30Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":240,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-30T06:54:52Z","full_name":"braincorp/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/braincorp/PyGithub","mirror_url":null,"ssh_url":"git@github.com:braincorp/PyGithub.git","html_url":"https://github.com/braincorp/PyGithub","private":false,"id":5611539,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/braincorp/PyGithub","pushed_at":"2012-08-23T07:38:20Z"},{"forks":0,"has_downloads":true,"owner":{"gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","login":"gregwjacobs","avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/gregwjacobs","id":1749292},"description":"Python library implementing the full Github API v3","permissions":{"pull":true,"push":false,"admin":false},"forks_count":0,"clone_url":"https://github.com/gregwjacobs/PyGithub.git","git_url":"git://github.com/gregwjacobs/PyGithub.git","created_at":"2012-09-03T15:31:27Z","has_wiki":false,"watchers_count":0,"watchers":0,"open_issues_count":0,"size":240,"fork":true,"open_issues":0,"has_issues":false,"updated_at":"2012-08-31T13:53:17Z","full_name":"gregwjacobs/PyGithub","name":"PyGithub","url":"https://api.github.com/repos/gregwjacobs/PyGithub","mirror_url":null,"ssh_url":"git@github.com:gregwjacobs/PyGithub.git","html_url":"https://github.com/gregwjacobs/PyGithub","private":false,"id":5629305,"language":"Python","homepage":"http://vincent-jacques.net/PyGithub","svn_url":"https://github.com/gregwjacobs/PyGithub","pushed_at":"2012-08-23T07:38:20Z"}] - diff --git a/github/tests/ReplayData/NamedUser.testGetWatched.txt b/github/tests/ReplayData/NamedUser.testGetWatched.txt deleted file mode 100644 index 02c8165..0000000 --- a/github/tests/ReplayData/NamedUser.testGetWatched.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6/watched -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '33830'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"dc4214d5110d198c04e9d1f182a77211"'), ('date', 'Sat, 26 May 2012 10:36:29 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","full_name":"git/git","has_wiki":false,"has_issues":false,"updated_at":"2012-05-26T09:50:39Z","forks":544,"mirror_url":null,"homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","ssh_url":"git@github.com:git/git.git","open_issues":5,"fork":false,"svn_url":"https://github.com/git/git","pushed_at":"2012-05-25T20:50:10Z","size":33788,"html_url":"https://github.com/git/git","private":false,"url":"https://api.github.com/repos/git/git","clone_url":"https://github.com/git/git.git","owner":{"gravatar_id":"878a0ea898da1701df8573ed64a5cc9d","avatar_url":"https://secure.gravatar.com/avatar/878a0ea898da1701df8573ed64a5cc9d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/git","login":"git","id":18133},"name":"git","has_downloads":true,"language":"C","watchers":2218,"git_url":"git://github.com/git/git.git","id":36502,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2008-07-23T14:21:26Z"},{"description":"Create your PHP extension in C++, in a minute.","full_name":"moriyoshi/boost.php","has_wiki":true,"has_issues":true,"updated_at":"2012-05-24T13:39:17Z","forks":4,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:moriyoshi/boost.php.git","open_issues":1,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.php","pushed_at":"2009-12-15T14:07:47Z","size":1331,"html_url":"https://github.com/moriyoshi/boost.php","private":false,"url":"https://api.github.com/repos/moriyoshi/boost.php","clone_url":"https://github.com/moriyoshi/boost.php.git","owner":{"gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","id":18755},"name":"boost.php","has_downloads":true,"language":"C++","watchers":47,"git_url":"git://github.com/moriyoshi/boost.php.git","id":38097,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2008-07-29T03:01:07Z"},{"description":"Remote multi-server automation tool","full_name":"capistrano/capistrano","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T10:18:16Z","forks":241,"mirror_url":null,"homepage":"http://capify.org","ssh_url":"git@github.com:capistrano/capistrano.git","open_issues":34,"fork":true,"svn_url":"https://github.com/capistrano/capistrano","pushed_at":"2012-05-10T15:17:56Z","size":236,"html_url":"https://github.com/capistrano/capistrano","private":false,"url":"https://api.github.com/repos/capistrano/capistrano","clone_url":"https://github.com/capistrano/capistrano.git","owner":{"gravatar_id":"885e1c523b7975c4003de162d8ee8fee","avatar_url":"https://secure.gravatar.com/avatar/885e1c523b7975c4003de162d8ee8fee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/capistrano","login":"capistrano","id":58257},"name":"capistrano","has_downloads":false,"language":"Ruby","watchers":2272,"git_url":"git://github.com/capistrano/capistrano.git","id":138312,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-02-26T16:14:04Z"},{"description":"Still a proof of concept...","full_name":"moriyoshi/boost.perl","has_wiki":true,"has_issues":true,"updated_at":"2011-10-03T23:45:58Z","forks":0,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:moriyoshi/boost.perl.git","open_issues":0,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.perl","pushed_at":"2010-05-28T07:23:06Z","size":512,"html_url":"https://github.com/moriyoshi/boost.perl","private":false,"url":"https://api.github.com/repos/moriyoshi/boost.perl","clone_url":"https://github.com/moriyoshi/boost.perl.git","owner":{"gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","id":18755},"name":"boost.perl","has_downloads":true,"language":"C++","watchers":8,"git_url":"git://github.com/moriyoshi/boost.perl.git","id":163431,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-03-30T21:09:12Z"},{"description":"An experimental alternative to the git-submodule command. Merges and splits subtrees from your project into subprojects and back.","full_name":"apenwarr/git-subtree","has_wiki":false,"has_issues":false,"updated_at":"2012-05-25T23:20:17Z","forks":68,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:apenwarr/git-subtree.git","open_issues":11,"fork":false,"svn_url":"https://github.com/apenwarr/git-subtree","pushed_at":"2012-05-01T21:43:17Z","size":176,"html_url":"https://github.com/apenwarr/git-subtree","private":false,"url":"https://api.github.com/repos/apenwarr/git-subtree","clone_url":"https://github.com/apenwarr/git-subtree.git","owner":{"gravatar_id":"918b627daf7d848cd40770ed6cd15233","avatar_url":"https://secure.gravatar.com/avatar/918b627daf7d848cd40770ed6cd15233?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/apenwarr","login":"apenwarr","id":20592},"name":"git-subtree","has_downloads":true,"language":"Shell","watchers":604,"git_url":"git://github.com/apenwarr/git-subtree.git","id":185096,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-04-25T04:10:31Z"},{"description":"A git-hg utility for checking out and tracking a mercurial repo.","full_name":"cosmin/git-hg","has_wiki":true,"has_issues":true,"updated_at":"2012-05-25T18:28:12Z","forks":26,"mirror_url":null,"homepage":"http://offbytwo.github.com/git-hg","ssh_url":"git@github.com:cosmin/git-hg.git","open_issues":0,"fork":false,"svn_url":"https://github.com/cosmin/git-hg","pushed_at":"2012-04-15T18:55:55Z","size":224,"html_url":"https://github.com/cosmin/git-hg","private":false,"url":"https://api.github.com/repos/cosmin/git-hg","clone_url":"https://github.com/cosmin/git-hg.git","owner":{"gravatar_id":"a8d35490b4016275e5bc3cc6cce8f878","avatar_url":"https://secure.gravatar.com/avatar/a8d35490b4016275e5bc3cc6cce8f878?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/cosmin","login":"cosmin","id":1358},"name":"git-hg","has_downloads":true,"language":"Shell","watchers":152,"git_url":"git://github.com/cosmin/git-hg.git","id":201230,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-05-14T20:23:01Z"},{"description":"The missing package manager for OS X.","full_name":"mxcl/homebrew","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T09:05:57Z","forks":3990,"mirror_url":null,"homepage":"http://mxcl.github.com/homebrew","ssh_url":"git@github.com:mxcl/homebrew.git","open_issues":471,"fork":false,"svn_url":"https://github.com/mxcl/homebrew","pushed_at":"2012-05-26T04:25:41Z","size":4540,"html_url":"https://github.com/mxcl/homebrew","private":false,"url":"https://api.github.com/repos/mxcl/homebrew","clone_url":"https://github.com/mxcl/homebrew.git","owner":{"gravatar_id":"1510549f9353c9859b7b3c81872df09c","avatar_url":"https://secure.gravatar.com/avatar/1510549f9353c9859b7b3c81872df09c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/mxcl","login":"mxcl","id":58962},"name":"homebrew","has_downloads":false,"language":"Ruby","watchers":8726,"git_url":"git://github.com/mxcl/homebrew.git","id":206084,"permissions":{"admin":false,"pull":true,"push":false},"master_branch":"master","created_at":"2009-05-20T19:38:37Z"},{"description":"A library for generating Celtic Knotwork designs from graphs","full_name":"jamis/celtic_knot","has_wiki":true,"has_issues":true,"updated_at":"2011-10-12T04:36:53Z","forks":1,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jamis/celtic_knot.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jamis/celtic_knot","pushed_at":"2010-11-25T02:39:53Z","size":1272,"html_url":"https://github.com/jamis/celtic_knot","private":false,"url":"https://api.github.com/repos/jamis/celtic_knot","clone_url":"https://github.com/jamis/celtic_knot.git","owner":{"gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jamis","login":"jamis","id":1627},"name":"celtic_knot","has_downloads":true,"language":"Ruby","watchers":4,"git_url":"git://github.com/jamis/celtic_knot.git","id":209230,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-05-24T23:23:10Z"},{"description":"Source files used for an introduction to Twisted","full_name":"jdavisp3/twisted-intro","has_wiki":true,"has_issues":true,"updated_at":"2012-05-16T01:52:49Z","forks":11,"mirror_url":null,"homepage":"http://krondo.com/blog/?page_id=1327","ssh_url":"git@github.com:jdavisp3/twisted-intro.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jdavisp3/twisted-intro","pushed_at":"2011-10-28T11:27:34Z","size":188,"html_url":"https://github.com/jdavisp3/twisted-intro","private":false,"url":"https://api.github.com/repos/jdavisp3/twisted-intro","clone_url":"https://github.com/jdavisp3/twisted-intro.git","owner":{"gravatar_id":"fcc237fd34a8e504f7224df0c58cc0b3","avatar_url":"https://secure.gravatar.com/avatar/fcc237fd34a8e504f7224df0c58cc0b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jdavisp3","login":"jdavisp3","id":43582},"name":"twisted-intro","has_downloads":true,"language":"Python","watchers":56,"git_url":"git://github.com/jdavisp3/twisted-intro.git","id":273325,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-08-09T17:54:00Z"},{"description":"The code we use to render README.your_favorite_markup","full_name":"github/markup","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T09:25:29Z","forks":258,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:github/markup.git","open_issues":84,"fork":false,"svn_url":"https://github.com/github/markup","pushed_at":"2012-04-05T21:13:31Z","size":356,"html_url":"https://github.com/github/markup","private":false,"url":"https://api.github.com/repos/github/markup","clone_url":"https://github.com/github/markup.git","owner":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/github","login":"github","id":9919},"name":"markup","has_downloads":false,"language":"Ruby","watchers":832,"git_url":"git://github.com/github/markup.git","id":355893,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-10-31T01:02:46Z"},{"description":"hub introduces git to GitHub","full_name":"defunkt/hub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-25T17:47:33Z","forks":91,"mirror_url":null,"homepage":"http://defunkt.io/hub/","ssh_url":"git@github.com:defunkt/hub.git","open_issues":13,"fork":false,"svn_url":"https://github.com/defunkt/hub","pushed_at":"2012-05-24T19:21:34Z","size":240,"html_url":"https://github.com/defunkt/hub","private":false,"url":"https://api.github.com/repos/defunkt/hub","clone_url":"https://github.com/defunkt/hub.git","owner":{"gravatar_id":"b8dbb1987e8e5318584865f880036796","avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/defunkt","login":"defunkt","id":2},"name":"hub","has_downloads":false,"language":"Ruby","watchers":1183,"git_url":"git://github.com/defunkt/hub.git","id":401025,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2009-12-05T22:15:25Z"},{"description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","full_name":"nvie/gitflow","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T08:35:20Z","forks":329,"mirror_url":null,"homepage":"http://nvie.com/posts/a-successful-git-branching-model/","ssh_url":"git@github.com:nvie/gitflow.git","open_issues":92,"fork":false,"svn_url":"https://github.com/nvie/gitflow","pushed_at":"2012-02-14T13:11:04Z","size":4602,"html_url":"https://github.com/nvie/gitflow","private":false,"url":"https://api.github.com/repos/nvie/gitflow","clone_url":"https://github.com/nvie/gitflow.git","owner":{"gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/nvie","login":"nvie","id":83844},"name":"gitflow","has_downloads":true,"language":"Shell","watchers":3973,"git_url":"git://github.com/nvie/gitflow.git","id":481366,"permissions":{"admin":false,"pull":true,"push":false},"master_branch":"develop","created_at":"2010-01-20T23:14:12Z"},{"description":"Large scale server deploys using BitTorrent and the BitTornado library","full_name":"lg/murder","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T08:40:06Z","forks":53,"mirror_url":null,"homepage":"http://twitter.com","ssh_url":"git@github.com:lg/murder.git","open_issues":8,"fork":false,"svn_url":"https://github.com/lg/murder","pushed_at":"2011-10-18T00:40:07Z","size":1228,"html_url":"https://github.com/lg/murder","private":false,"url":"https://api.github.com/repos/lg/murder","clone_url":"https://github.com/lg/murder.git","owner":{"gravatar_id":"f2583cecbd75c5999bf65d9eeb6a84f2","avatar_url":"https://secure.gravatar.com/avatar/f2583cecbd75c5999bf65d9eeb6a84f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/lg","login":"lg","id":181018},"name":"murder","has_downloads":true,"language":"Python","watchers":1229,"git_url":"git://github.com/lg/murder.git","id":481811,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2010-01-21T07:05:36Z"},{"description":"Python interface to Amazon Web Services","full_name":"boto/boto","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T09:26:37Z","forks":400,"mirror_url":null,"homepage":"http://docs.pythonboto.org/","ssh_url":"git@github.com:boto/boto.git","open_issues":144,"fork":false,"svn_url":"https://github.com/boto/boto","pushed_at":"2012-05-20T07:40:27Z","size":4183,"html_url":"https://github.com/boto/boto","private":false,"url":"https://api.github.com/repos/boto/boto","clone_url":"https://github.com/boto/boto.git","owner":{"gravatar_id":"9062d6f913c867ce042928d6637abd05","avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/boto","login":"boto","id":327752},"name":"boto","has_downloads":true,"language":"Python","watchers":1554,"git_url":"git://github.com/boto/boto.git","id":771016,"permissions":{"admin":false,"pull":true,"push":false},"master_branch":"develop","created_at":"2010-07-12T19:15:33Z"},{"description":"Agit - Git client for Android","full_name":"rtyley/agit","has_wiki":true,"has_issues":true,"updated_at":"2012-05-25T09:15:01Z","forks":41,"mirror_url":null,"homepage":"https://market.android.com/details?id=com.madgag.agit","ssh_url":"git@github.com:rtyley/agit.git","open_issues":34,"fork":false,"svn_url":"https://github.com/rtyley/agit","pushed_at":"2012-05-24T18:12:28Z","size":1200,"html_url":"https://github.com/rtyley/agit","private":false,"url":"https://api.github.com/repos/rtyley/agit","clone_url":"https://github.com/rtyley/agit.git","owner":{"gravatar_id":"1cdc781dd667a5d4b61340591bf1bef4","avatar_url":"https://secure.gravatar.com/avatar/1cdc781dd667a5d4b61340591bf1bef4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/rtyley","login":"rtyley","id":52038},"name":"agit","has_downloads":true,"language":"Java","watchers":207,"git_url":"git://github.com/rtyley/agit.git","id":870849,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2010-08-29T21:45:54Z"},{"description":"A JavaScript visualization library for HTML and SVG.","full_name":"mbostock/d3","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T08:34:46Z","forks":696,"mirror_url":null,"homepage":"http://d3js.org","ssh_url":"git@github.com:mbostock/d3.git","open_issues":111,"fork":false,"svn_url":"https://github.com/mbostock/d3","pushed_at":"2012-05-17T19:11:22Z","size":3268,"html_url":"https://github.com/mbostock/d3","private":false,"url":"https://api.github.com/repos/mbostock/d3","clone_url":"https://github.com/mbostock/d3.git","owner":{"gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/mbostock","login":"mbostock","id":230541},"name":"d3","has_downloads":true,"language":"JavaScript","watchers":6028,"git_url":"git://github.com/mbostock/d3.git","id":943149,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2010-09-27T17:22:42Z"},{"description":"Python bindings for libgit2","full_name":"libgit2/pygit2","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T01:50:51Z","forks":43,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:libgit2/pygit2.git","open_issues":10,"fork":false,"svn_url":"https://github.com/libgit2/pygit2","pushed_at":"2012-05-25T17:06:19Z","size":180,"html_url":"https://github.com/libgit2/pygit2","private":false,"url":"https://api.github.com/repos/libgit2/pygit2","clone_url":"https://github.com/libgit2/pygit2.git","owner":{"gravatar_id":"1c56acccc41c591705dc92da5f6ab603","avatar_url":"https://secure.gravatar.com/avatar/1c56acccc41c591705dc92da5f6ab603?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/libgit2","login":"libgit2","id":394745},"name":"pygit2","has_downloads":true,"language":"C","watchers":208,"git_url":"git://github.com/libgit2/pygit2.git","id":1062237,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2010-11-08T16:27:48Z"},{"description":"command line tool to facilitate github pull requests","full_name":"schacon/git-pulls","has_wiki":true,"has_issues":true,"updated_at":"2012-05-25T19:44:05Z","forks":21,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:schacon/git-pulls.git","open_issues":11,"fork":false,"svn_url":"https://github.com/schacon/git-pulls","pushed_at":"2011-10-28T07:11:56Z","size":1004,"html_url":"https://github.com/schacon/git-pulls","private":false,"url":"https://api.github.com/repos/schacon/git-pulls","clone_url":"https://github.com/schacon/git-pulls.git","owner":{"gravatar_id":"9375a9529679f1b42b567a640d775e7d","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/schacon","login":"schacon","id":70},"name":"git-pulls","has_downloads":true,"language":"Ruby","watchers":172,"git_url":"git://github.com/schacon/git-pulls.git","id":1201343,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2010-12-27T20:39:24Z"},{"description":"Django template tag for rendering math formulas","full_name":"emesik/django_mathlatex","has_wiki":true,"has_issues":true,"updated_at":"2011-11-03T17:46:24Z","forks":1,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:emesik/django_mathlatex.git","open_issues":0,"fork":false,"svn_url":"https://github.com/emesik/django_mathlatex","pushed_at":"2011-04-01T11:33:23Z","size":448,"html_url":"https://github.com/emesik/django_mathlatex","private":false,"url":"https://api.github.com/repos/emesik/django_mathlatex","clone_url":"https://github.com/emesik/django_mathlatex.git","owner":{"gravatar_id":"0d0c6eda804f912d230df91577e29180","avatar_url":"https://secure.gravatar.com/avatar/0d0c6eda804f912d230df91577e29180?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/emesik","login":"emesik","id":407107},"name":"django_mathlatex","has_downloads":true,"language":"Python","watchers":3,"git_url":"git://github.com/emesik/django_mathlatex.git","id":1447846,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-03-06T22:29:04Z"},{"description":"Collaborative Online Scrum Tool Using Websockets, Node.js, jQuery, and CSS3","full_name":"aliasaria/scrumblr","has_wiki":true,"has_issues":true,"updated_at":"2012-05-25T17:36:00Z","forks":52,"mirror_url":null,"homepage":"http://scrumblr.ca","ssh_url":"git@github.com:aliasaria/scrumblr.git","open_issues":14,"fork":false,"svn_url":"https://github.com/aliasaria/scrumblr","pushed_at":"2012-02-08T00:38:52Z","size":132,"html_url":"https://github.com/aliasaria/scrumblr","private":false,"url":"https://api.github.com/repos/aliasaria/scrumblr","clone_url":"https://github.com/aliasaria/scrumblr.git","owner":{"gravatar_id":"a08f4e2d6ccccab586b502992c31e2ce","avatar_url":"https://secure.gravatar.com/avatar/a08f4e2d6ccccab586b502992c31e2ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/aliasaria","login":"aliasaria","id":213343},"name":"scrumblr","has_downloads":true,"language":"JavaScript","watchers":467,"git_url":"git://github.com/aliasaria/scrumblr.git","id":1461917,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-03-10T02:29:38Z"},{"description":"GitHub API documentation","full_name":"github/developer.github.com","has_wiki":false,"has_issues":false,"updated_at":"2012-05-25T19:27:37Z","forks":121,"mirror_url":null,"homepage":"http://developer.github.com","ssh_url":"git@github.com:github/developer.github.com.git","open_issues":0,"fork":false,"svn_url":"https://github.com/github/developer.github.com","pushed_at":"2012-05-25T18:02:37Z","size":200,"html_url":"https://github.com/github/developer.github.com","private":false,"url":"https://api.github.com/repos/github/developer.github.com","clone_url":"https://github.com/github/developer.github.com.git","owner":{"gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/github","login":"github","id":9919},"name":"developer.github.com","has_downloads":true,"language":"Ruby","watchers":255,"git_url":"git://github.com/github/developer.github.com.git","id":1666784,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-04-26T19:20:56Z"},{"description":"Github API v3 library for Python.","full_name":"ChristopherMacGown/python-github3","has_wiki":true,"has_issues":true,"updated_at":"2012-03-08T13:38:12Z","forks":11,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:ChristopherMacGown/python-github3.git","open_issues":1,"fork":false,"svn_url":"https://github.com/ChristopherMacGown/python-github3","pushed_at":"2011-11-22T18:10:52Z","size":236,"html_url":"https://github.com/ChristopherMacGown/python-github3","private":false,"url":"https://api.github.com/repos/ChristopherMacGown/python-github3","clone_url":"https://github.com/ChristopherMacGown/python-github3.git","owner":{"gravatar_id":"4174216c1dc0f223ce608d5a3b66a585","avatar_url":"https://secure.gravatar.com/avatar/4174216c1dc0f223ce608d5a3b66a585?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/ChristopherMacGown","login":"ChristopherMacGown","id":43081},"name":"python-github3","has_downloads":true,"language":"Python","watchers":20,"git_url":"git://github.com/ChristopherMacGown/python-github3.git","id":1676748,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-04-28T17:07:29Z"},{"description":"PlantUML plugin for MediaWiki","full_name":"pjkersten/PlantUML","has_wiki":true,"has_issues":true,"updated_at":"2012-02-06T15:26:40Z","forks":2,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:pjkersten/PlantUML.git","open_issues":0,"fork":false,"svn_url":"https://github.com/pjkersten/PlantUML","pushed_at":"2012-02-02T09:38:42Z","size":124,"html_url":"https://github.com/pjkersten/PlantUML","private":false,"url":"https://api.github.com/repos/pjkersten/PlantUML","clone_url":"https://github.com/pjkersten/PlantUML.git","owner":{"gravatar_id":"6e33170f0701d1d1d8dd57c8f95368ef","avatar_url":"https://secure.gravatar.com/avatar/6e33170f0701d1d1d8dd57c8f95368ef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/pjkersten","login":"pjkersten","id":771883},"name":"PlantUML","has_downloads":true,"language":"PHP","watchers":5,"git_url":"git://github.com/pjkersten/PlantUML.git","id":1710505,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-05-06T09:33:38Z"},{"description":"HTML, CSS, and JS toolkit from Twitter","full_name":"twitter/bootstrap","has_wiki":true,"has_issues":true,"updated_at":"2012-05-26T10:36:02Z","forks":5807,"mirror_url":null,"homepage":"http://twitter.github.com/bootstrap","ssh_url":"git@github.com:twitter/bootstrap.git","open_issues":225,"fork":false,"svn_url":"https://github.com/twitter/bootstrap","pushed_at":"2012-05-25T16:19:13Z","size":1176,"html_url":"https://github.com/twitter/bootstrap","private":false,"url":"https://api.github.com/repos/twitter/bootstrap","clone_url":"https://github.com/twitter/bootstrap.git","owner":{"gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/twitter","login":"twitter","id":50278},"name":"bootstrap","has_downloads":true,"language":"JavaScript","watchers":29560,"git_url":"git://github.com/twitter/bootstrap.git","id":2126244,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-07-29T21:19:00Z"},{"description":"Drawn By is a collaborative real-time sketching app built for the 2011 Django Dash.","full_name":"stephenmcd/drawnby","has_wiki":true,"has_issues":true,"updated_at":"2012-04-30T11:48:56Z","forks":2,"mirror_url":null,"homepage":"http://drawnby.jupo.org","ssh_url":"git@github.com:stephenmcd/drawnby.git","open_issues":0,"fork":false,"svn_url":"https://github.com/stephenmcd/drawnby","pushed_at":"2011-08-01T10:26:00Z","size":672,"html_url":"https://github.com/stephenmcd/drawnby","private":false,"url":"https://api.github.com/repos/stephenmcd/drawnby","clone_url":"https://github.com/stephenmcd/drawnby.git","owner":{"gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","id":116385},"name":"drawnby","has_downloads":true,"language":"JavaScript","watchers":9,"git_url":"git://github.com/stephenmcd/drawnby.git","id":2136154,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-08-01T10:25:31Z"},{"description":"A Django app providing the features required to use websockets with Django via Socket.IO","full_name":"stephenmcd/django-socketio","has_wiki":true,"has_issues":true,"updated_at":"2012-05-25T18:54:30Z","forks":28,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:stephenmcd/django-socketio.git","open_issues":6,"fork":false,"svn_url":"https://github.com/stephenmcd/django-socketio","pushed_at":"2012-04-20T00:24:31Z","size":160,"html_url":"https://github.com/stephenmcd/django-socketio","private":false,"url":"https://api.github.com/repos/stephenmcd/django-socketio","clone_url":"https://github.com/stephenmcd/django-socketio.git","owner":{"gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","id":116385},"name":"django-socketio","has_downloads":true,"language":"JavaScript","watchers":262,"git_url":"git://github.com/stephenmcd/django-socketio.git","id":2139136,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-08-01T21:18:34Z"},{"description":"Use this application to get Socket.IO support in your Django project and dive into real time web.","full_name":"jstasiak/django-realtime","has_wiki":true,"has_issues":true,"updated_at":"2012-05-08T07:18:20Z","forks":2,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:jstasiak/django-realtime.git","open_issues":0,"fork":false,"svn_url":"https://github.com/jstasiak/django-realtime","pushed_at":"2012-04-21T16:22:25Z","size":132,"html_url":"https://github.com/jstasiak/django-realtime","private":false,"url":"https://api.github.com/repos/jstasiak/django-realtime","clone_url":"https://github.com/jstasiak/django-realtime.git","owner":{"gravatar_id":"93cdbd3d2a76da1adf727a6bc9fec1ed","avatar_url":"https://secure.gravatar.com/avatar/93cdbd3d2a76da1adf727a6bc9fec1ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jstasiak","login":"jstasiak","id":36209},"name":"django-realtime","has_downloads":true,"language":"JavaScript","watchers":15,"git_url":"git://github.com/jstasiak/django-realtime.git","id":2424738,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-09-20T19:13:10Z"},{"description":"Small programming examples for the FOX Board G20","full_name":"AcmeSystems/playground","has_wiki":true,"has_issues":true,"updated_at":"2012-05-21T16:12:27Z","forks":3,"mirror_url":null,"homepage":"http://www.acmesystems.it","ssh_url":"git@github.com:AcmeSystems/playground.git","open_issues":0,"fork":false,"svn_url":"https://github.com/AcmeSystems/playground","pushed_at":"2012-05-21T16:12:27Z","size":148,"html_url":"https://github.com/AcmeSystems/playground","private":false,"url":"https://api.github.com/repos/AcmeSystems/playground","clone_url":"https://github.com/AcmeSystems/playground.git","owner":{"gravatar_id":"af55714b265c4914c8bb8db49fc06da6","avatar_url":"https://secure.gravatar.com/avatar/af55714b265c4914c8bb8db49fc06da6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/AcmeSystems","login":"AcmeSystems","id":783524},"name":"playground","has_downloads":true,"language":"Python","watchers":6,"git_url":"git://github.com/AcmeSystems/playground.git","id":2593052,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-10-17T16:16:10Z"},{"description":"A silly & effective MD5 cracker in Ruby","full_name":"juuso/BozoCrack","has_wiki":true,"has_issues":true,"updated_at":"2012-05-21T19:49:13Z","forks":39,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:juuso/BozoCrack.git","open_issues":8,"fork":false,"svn_url":"https://github.com/juuso/BozoCrack","pushed_at":"2011-11-07T14:55:19Z","size":140,"html_url":"https://github.com/juuso/BozoCrack","private":false,"url":"https://api.github.com/repos/juuso/BozoCrack","clone_url":"https://github.com/juuso/BozoCrack.git","owner":{"gravatar_id":"d3231546d42d67974fc51956a3b627f4","avatar_url":"https://secure.gravatar.com/avatar/d3231546d42d67974fc51956a3b627f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/juuso","login":"juuso","id":614446},"name":"BozoCrack","has_downloads":true,"language":"Ruby","watchers":376,"git_url":"git://github.com/juuso/BozoCrack.git","id":2726128,"permissions":{"admin":false,"pull":true,"push":false},"created_at":"2011-11-07T13:02:08Z"},{"description":"","full_name":"BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"updated_at":"2012-02-16T21:51:15Z","forks":1,"mirror_url":null,"homepage":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","open_issues":0,"fork":false,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","pushed_at":null,"size":0,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","private":false,"url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","has_downloads":true,"language":null,"watchers":2,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","id":3400397,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2012-02-09T19:32:21Z"}] - -https -GET -api.github.com -None -/users/jacquev6/watched?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '4493'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"5894e9073dc54de74c439e23fc738fe7"'), ('date', 'Sat, 26 May 2012 10:36:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/abersager/PyGithub.git","has_downloads":true,"watchers":2,"updated_at":"2012-03-28T10:37:22Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/abersager/PyGithub","owner":{"url":"https://api.github.com/users/abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","id":1328351},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:abersager/PyGithub.git","git_url":"git://github.com/abersager/PyGithub.git","pushed_at":"2012-03-26T10:05:31Z","created_at":"2012-03-26T09:12:45Z","id":3831162,"mirror_url":null,"html_url":"https://github.com/abersager/PyGithub","full_name":"abersager/PyGithub"},{"clone_url":"https://github.com/django/django.git","has_downloads":true,"watchers":2391,"updated_at":"2012-05-26T10:30:33Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/django/django","has_wiki":false,"has_issues":false,"fork":false,"forks":263,"size":8408,"private":false,"open_issues":37,"svn_url":"https://github.com/django/django","owner":{"url":"https://api.github.com/users/django","avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","login":"django","id":27804},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:django/django.git","git_url":"git://github.com/django/django.git","pushed_at":"2012-05-26T09:54:24Z","created_at":"2012-04-28T02:47:18Z","id":4164482,"mirror_url":null,"html_url":"https://github.com/django/django","full_name":"django/django"},{"clone_url":"https://github.com/jacquev6/django.git","has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"mirror_url":null,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","git_url":"git://github.com/jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"mirror_url":null,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"}] - diff --git a/github/tests/ReplayData/NamedUser.testHasInFollowing.txt b/github/tests/ReplayData/NamedUser.testHasInFollowing.txt deleted file mode 100644 index 08c61a8..0000000 --- a/github/tests/ReplayData/NamedUser.testHasInFollowing.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1218'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 16:26:40 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"8e2b307f8fb4186bfb512febd7215fc8"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 17:20:44 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377108637')] -{"login":"nvie","id":83844,"avatar_url":"https://2.gravatar.com/avatar/466ef7561a0b100dc5a1021959962d28?d=https%3A%2F%2Fidenticons.github.com%2Fe6d0513ce49cc06cb956251623cb8fd9.png","gravatar_id":"466ef7561a0b100dc5a1021959962d28","url":"https://api.github.com/users/nvie","html_url":"https://github.com/nvie","followers_url":"https://api.github.com/users/nvie/followers","following_url":"https://api.github.com/users/nvie/following{/other_user}","gists_url":"https://api.github.com/users/nvie/gists{/gist_id}","starred_url":"https://api.github.com/users/nvie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvie/subscriptions","organizations_url":"https://api.github.com/users/nvie/orgs","repos_url":"https://api.github.com/users/nvie/repos","events_url":"https://api.github.com/users/nvie/events{/privacy}","received_events_url":"https://api.github.com/users/nvie/received_events","type":"User","name":"Vincent Driessen","company":"3rd Cloud","blog":"http://nvie.com","location":"Netherlands","email":"vincent@3rdcloud.com","hireable":true,"bio":null,"public_repos":86,"followers":530,"following":45,"created_at":"2009-05-12T21:19:38Z","updated_at":"2013-08-21T16:26:40Z","public_gists":38} - -https -GET -api.github.com -None -/users/jacquev6/following/nvie -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Wed, 21 Aug 2013 17:20:48 GMT'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1377108637')] - - diff --git a/github/tests/ReplayData/Organization.setUp.txt b/github/tests/ReplayData/Organization.setUp.txt deleted file mode 100644 index 3a3e1f5..0000000 --- a/github/tests/ReplayData/Organization.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd349122929faf5f9be3e53d9ad41d08"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"Organization","url":"https://api.github.com/orgs/BeaverSoftware","billing_email":"BeaverSoftware@vincent-jacques.net","disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"html_url":"https://github.com/BeaverSoftware","blog":null,"login":"BeaverSoftware","public_gists":0,"email":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"private_gists":0,"collaborators":0,"created_at":"2012-02-09T19:20:12Z","company":null,"location":"Paris, France","followers":0,"following":0,"name":null,"owned_private_repos":0,"id":1424031,"public_repos":2} - diff --git a/github/tests/ReplayData/Organization.testCreateFork.txt b/github/tests/ReplayData/Organization.testCreateFork.txt deleted file mode 100644 index f73994e..0000000 --- a/github/tests/ReplayData/Organization.testCreateFork.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2adb260b00bbbb05d4db0423e8a284af"'), ('date', 'Sun, 27 May 2012 05:23:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":11,"type":"User","hireable":false,"disk_usage":17016,"blog":"http://vincent-jacques.net","bio":"","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b5c0c85b417ca8a66f4f3f3398e75532"'), ('date', 'Sun, 27 May 2012 05:23:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","mirror_url":null,"has_downloads":true,"watchers":14,"updated_at":"2012-05-26T20:54:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":348,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T20:54:13Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/forks?org=BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -202 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4965'), ('content-length', '3681'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e4abc3ca2f8a9ccbe868ead57057a0e8"'), ('date', 'Sun, 27 May 2012 05:23:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"parent":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T05:23:18Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"git_url":"git://github.com/jacquev6/PyGithub.git","size":348,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T20:54:13Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"organization":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-27T05:23:18Z","source":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T05:23:18Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"git_url":"git://github.com/jacquev6/PyGithub.git","size":348,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T20:54:13Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":true,"forks":0,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","size":348,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-26T20:54:13Z","created_at":"2012-05-27T05:23:17Z","id":4460027,"html_url":"https://github.com/BeaverSoftware/PyGithub","full_name":"BeaverSoftware/PyGithub"} - diff --git a/github/tests/ReplayData/Organization.testCreateRepoWithAllArguments.txt b/github/tests/ReplayData/Organization.testCreateRepoWithAllArguments.txt deleted file mode 100644 index ff2d1d4..0000000 --- a/github/tests/ReplayData/Organization.testCreateRepoWithAllArguments.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/teams/141496 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('x-ratelimit-limit', '5000'), ('content-length', '128'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"b93241eaf4384574f38b352b25595e28"'), ('date', 'Fri, 01 Jun 2012 19:35:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repos_count":1,"permission":"push","url":"https://api.github.com/teams/141496","name":"Members","id":141496,"members_count":1} - -https -POST -api.github.com -None -/orgs/BeaverSoftware/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"has_wiki": false, "name": "TestPyGithub2", "has_downloads": false, "private": false, "team_id": 141496, "has_issues": false, "homepage": "http://foobar.com", "description": "Repo created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4969'), ('content-length', '1501'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"feb513e01eaf8e89967068fe8ed44cc7"'), ('date', 'Sun, 27 May 2012 05:20:43 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/BeaverSoftware/TestPyGithub2')] -{"organization":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/TestPyGithub2.git","has_downloads":false,"watchers":1,"updated_at":"2012-05-27T05:20:42Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub2","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/TestPyGithub2","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","id":1424031},"name":"TestPyGithub2","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:BeaverSoftware/TestPyGithub2.git","pushed_at":"2012-05-27T05:20:42Z","created_at":"2012-05-27T05:20:42Z","id":4460019,"git_url":"git://github.com/BeaverSoftware/TestPyGithub2.git","html_url":"https://github.com/BeaverSoftware/TestPyGithub2","full_name":"BeaverSoftware/TestPyGithub2"} - diff --git a/github/tests/ReplayData/Organization.testCreateRepoWithMinimalArguments.txt b/github/tests/ReplayData/Organization.testCreateRepoWithMinimalArguments.txt deleted file mode 100644 index ba021a6..0000000 --- a/github/tests/ReplayData/Organization.testCreateRepoWithMinimalArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/orgs/BeaverSoftware/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "TestPyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4971'), ('content-length', '1453'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"074f73773c425ba61e6a7738dc89b6ed"'), ('date', 'Sun, 27 May 2012 05:20:24 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/BeaverSoftware/TestPyGithub')] -{"organization":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/TestPyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-27T05:20:24Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":null,"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","mirror_url":null,"has_wiki":true,"has_issues":true,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/TestPyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","id":1424031},"name":"TestPyGithub","language":null,"description":null,"ssh_url":"git@github.com:BeaverSoftware/TestPyGithub.git","pushed_at":"2012-05-27T05:20:24Z","created_at":"2012-05-27T05:20:24Z","id":4460018,"git_url":"git://github.com/BeaverSoftware/TestPyGithub.git","html_url":"https://github.com/BeaverSoftware/TestPyGithub","full_name":"BeaverSoftware/TestPyGithub"} - diff --git a/github/tests/ReplayData/Organization.testCreateRepositoryWithAutoInit.txt b/github/tests/ReplayData/Organization.testCreateRepositoryWithAutoInit.txt deleted file mode 100644 index 5b1d385..0000000 --- a/github/tests/ReplayData/Organization.testCreateRepositoryWithAutoInit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/orgs/BeaverSoftware/repos -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"gitignore_template": "Python", "name": "TestPyGithub", "auto_init": true} -201 -[('status', '201 Created'), ('content-length', '1559'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4996'), ('server', 'nginx'), ('connection', 'keep-alive'), ('etag', '"2f35ceac1b69bbfc8c38907877514e9d"'), ('location', 'https://api.github.com/repos/BeaverSoftware/TestPyGithub'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 03 Nov 2012 09:03:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"watchers":0,"pushed_at":"2012-11-03T09:03:49Z","forks":0,"has_issues":true,"has_downloads":true,"open_issues_count":0,"description":null,"html_url":"https://github.com/BeaverSoftware/TestPyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","updated_at":"2012-11-03T09:03:49Z","organization":{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"permissions":{"push":true,"pull":true,"admin":true},"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/TestPyGithub.git","language":null,"has_wiki":true,"ssh_url":"git@github.com:BeaverSoftware/TestPyGithub.git","svn_url":"https://github.com/BeaverSoftware/TestPyGithub","size":0,"fork":false,"full_name":"BeaverSoftware/TestPyGithub","open_issues":0,"git_url":"git://github.com/BeaverSoftware/TestPyGithub.git","forks_count":0,"name":"TestPyGithub","created_at":"2012-11-03T09:03:49Z","homepage":null,"private":false,"id":6517856,"master_branch":"master","network_count":0,"watchers_count":0} - diff --git a/github/tests/ReplayData/Organization.testCreateTeam.txt b/github/tests/ReplayData/Organization.testCreateTeam.txt deleted file mode 100644 index 7304a80..0000000 --- a/github/tests/ReplayData/Organization.testCreateTeam.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/orgs/BeaverSoftware/teams -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "Team created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4988'), ('content-length', '145'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"189a318993cde3e040f2efb4f634f8a8"'), ('date', 'Sat, 26 May 2012 20:58:53 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/teams/189850')] -{"url":"https://api.github.com/teams/189850","members_count":0,"repos_count":0,"name":"Team created by PyGithub","permission":"pull","id":189850} - diff --git a/github/tests/ReplayData/Organization.testCreateTeamWithAllArguments.txt b/github/tests/ReplayData/Organization.testCreateTeamWithAllArguments.txt deleted file mode 100644 index 0be0a1c..0000000 --- a/github/tests/ReplayData/Organization.testCreateTeamWithAllArguments.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1431'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4ecd2c151a469cfa6cd45e6beff1269b"'), ('date', 'Fri, 01 Jun 2012 19:40:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"has_downloads":true,"watchers":2,"mirror_url":null,"language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","created_at":"2012-02-09T19:32:21Z","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","fork":false,"full_name":"BeaverSoftware/FatherBeaver","organization":{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","url":"https://api.github.com/users/BeaverSoftware","id":1424031},"permissions":{"admin":true,"pull":true,"push":true},"has_wiki":true,"has_issues":true,"forks":1,"size":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","private":false,"updated_at":"2012-02-16T21:51:15Z","homepage":"","owner":{"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","url":"https://api.github.com/users/BeaverSoftware","id":1424031},"name":"FatherBeaver","open_issues":0,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","id":3400397,"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","pushed_at":null} - -https -POST -api.github.com -None -/orgs/BeaverSoftware/teams -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"repo_names": ["BeaverSoftware/FatherBeaver"], "name": "Team also created by PyGithub", "permission": "push"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4982'), ('content-length', '150'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6e3fb00de6ca4c112feee3a1438d6f0e"'), ('date', 'Sat, 26 May 2012 21:00:26 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/teams/189852')] -{"repos_count":1,"url":"https://api.github.com/teams/189852","members_count":0,"name":"Team also created by PyGithub","permission":"push","id":189852} - diff --git a/github/tests/ReplayData/Organization.testEditWithAllArguments.txt b/github/tests/ReplayData/Organization.testEditWithAllArguments.txt deleted file mode 100644 index 4919af1..0000000 --- a/github/tests/ReplayData/Organization.testEditWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/orgs/BeaverSoftware -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "Name edited by PyGithub", "billing_email": "BeaverSoftware2@vincent-jacques.net", "company": "Company edited by PyGithub", "blog": "http://vincent-jacques.net", "location": "Location edited by PyGithub", "email": "BeaverSoftware2@vincent-jacques.net"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '833'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe61098c87e054abfa5626e6a76bbcbd"'), ('date', 'Sat, 26 May 2012 20:50:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":0,"type":"Organization","disk_usage":112,"private_gists":0,"public_repos":2,"url":"https://api.github.com/orgs/BeaverSoftware","total_private_repos":0,"plan":{"private_repos":0,"name":"free","space":307200},"blog":"http://vincent-jacques.net","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","owned_private_repos":0,"collaborators":0,"company":"Company edited by PyGithub","login":"BeaverSoftware","email":"BeaverSoftware2@vincent-jacques.net","followers":0,"name":"Name edited by PyGithub","created_at":"2012-02-09T19:20:12Z","location":"Location edited by PyGithub","id":1424031,"billing_email":"BeaverSoftware2@vincent-jacques.net","following":0,"html_url":"https://github.com/BeaverSoftware"} - diff --git a/github/tests/ReplayData/Organization.testEditWithoutArguments.txt b/github/tests/ReplayData/Organization.testEditWithoutArguments.txt deleted file mode 100644 index e57f145..0000000 --- a/github/tests/ReplayData/Organization.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/orgs/BeaverSoftware -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a9ca2dd89f69da85bebd949477894af0"'), ('date', 'Fri, 11 May 2012 09:07:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":0,"private_gists":0,"type":"Organization","following":0,"company":null,"html_url":"https://github.com/BeaverSoftware","blog":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","followers":0,"url":"https://api.github.com/orgs/BeaverSoftware","public_repos":2,"login":"BeaverSoftware","collaborators":0,"email":null,"disk_usage":112,"plan":{"private_repos":0,"space":307200,"name":"free"},"created_at":"2012-02-09T19:20:12Z","name":null,"total_private_repos":0,"billing_email":"BeaverSoftware@vincent-jacques.net","public_gists":0,"id":1424031,"location":"Paris, France"} - diff --git a/github/tests/ReplayData/Organization.testGetEvents.txt b/github/tests/ReplayData/Organization.testGetEvents.txt deleted file mode 100644 index c84330e..0000000 --- a/github/tests/ReplayData/Organization.testGetEvents.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '30164'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4976'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"50c3892fcab2acf668d9b89d97865983"'), ('link', '; rel="next"'), ('date', 'Sun, 27 May 2012 05:13:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/CreatedByPyGithub","name":"BeaverSoftware/CreatedByPyGithub","id":3616888},"created_at":"2012-03-04T08:17:15Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526182616"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/CreatedByPyGithub","name":"BeaverSoftware/CreatedByPyGithub","id":3610173},"created_at":"2012-03-03T11:16:34Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526021988"},{"payload":{"push_id":65381113,"ref":"refs/heads/master","commits":[{"sha":"390bcc2b855d419e9fd6727049aa9217db56a06a","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/390bcc2b855d419e9fd6727049aa9217db56a06a","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":true}],"head":"390bcc2b855d419e9fd6727049aa9217db56a06a","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:57:40Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526010140"},{"payload":{"push_id":65381112,"ref":"refs/heads/previous_master","commits":[{"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":false},{"sha":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/1c29d761d3e929afcbf8c6cc44b8181068d2d974","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":false}],"head":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","size":2},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:57:39Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526010139"},{"payload":{"ref":"previous_master","ref_type":"branch"},"type":"DeleteEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:56:56Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1526010100"},{"payload":{"ref":"tagCreatedByPyGithub","ref_type":"tag"},"type":"DeleteEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:54:25Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1526009934"},{"payload":{"push_id":65380919,"ref":"refs/heads/master","commits":[{"sha":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/1c29d761d3e929afcbf8c6cc44b8181068d2d974","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":true}],"head":"1c29d761d3e929afcbf8c6cc44b8181068d2d974","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:52:06Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526009779"},{"payload":{"push_id":65380918,"ref":"refs/heads/previous_master","commits":[{"sha":"2f51005d80353b3b82cc23908ea4fc7a91230e2f","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/2f51005d80353b3b82cc23908ea4fc7a91230e2f","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":false},{"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":false}],"head":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","size":2},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:52:04Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526009777"},{"payload":{"ref":"tag_1330764175","ref_type":"tag"},"type":"DeleteEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:47:21Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1526009425"},{"payload":{"ref":"a_tag","ref_type":"tag"},"type":"DeleteEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:47:15Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1526009414"},{"payload":{"push_id":65380594,"ref":"refs/heads/master","commits":[{"sha":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/998f4cd5ba9501a7ccff79b0011f4220f16b0271","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":true}],"head":"998f4cd5ba9501a7ccff79b0011f4220f16b0271","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:42:55Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526009059"},{"payload":{"push_id":65379432,"ref":"refs/heads/master","commits":[{"sha":"2f51005d80353b3b82cc23908ea4fc7a91230e2f","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/2f51005d80353b3b82cc23908ea4fc7a91230e2f","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":true}],"head":"2f51005d80353b3b82cc23908ea4fc7a91230e2f","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:11:55Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526006647"},{"payload":{"push_id":65379410,"ref":"refs/heads/master","commits":[{"sha":"e4e84560cb5e87f3c0e9f710dae1ddab0eef487b","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/e4e84560cb5e87f3c0e9f710dae1ddab0eef487b","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was created by PyGithub","distinct":true}],"head":"e4e84560cb5e87f3c0e9f710dae1ddab0eef487b","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3609352},"created_at":"2012-03-03T08:11:13Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1526006609"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3595643},"created_at":"2012-03-01T20:19:32Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1525404633"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3595636},"created_at":"2012-03-01T20:19:03Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1525404453"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3595613},"created_at":"2012-03-01T20:16:23Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1525403337"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3595586},"created_at":"2012-03-01T20:12:55Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1525402258"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":null},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3595253},"created_at":"2012-03-01T19:36:29Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1525387859"},{"payload":{"push_id":64666710,"ref":"refs/heads/master","commits":[{"sha":"9473baa2f243872c07c8f008e3d53aed6b5c9ac5","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/9473baa2f243872c07c8f008e3d53aed6b5c9ac5","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was ter created by PyGithub","distinct":true}],"head":"9473baa2f243872c07c8f008e3d53aed6b5c9ac5","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3575047},"created_at":"2012-02-28T20:11:58Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1524541002"},{"payload":{"push_id":64259989,"ref":"refs/heads/master","commits":[{"sha":"ff9cc7d9bcb62d9dbf0784994fe026e9060701ef","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/ff9cc7d9bcb62d9dbf0784994fe026e9060701ef","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was ter created by PyGithub"}],"head":"ff9cc7d9bcb62d9dbf0784994fe026e9060701ef","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3553496},"created_at":"2012-02-26T17:28:36Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1523710410"},{"payload":{"push_id":64257074,"ref":"refs/heads/master","commits":[{"sha":"23395b2fa62293196bd8a640b14447c7b552c301","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/23395b2fa62293196bd8a640b14447c7b552c301","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was ter created by PyGithub"}],"head":"23395b2fa62293196bd8a640b14447c7b552c301","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3553240},"created_at":"2012-02-26T16:46:35Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1523704553"},{"payload":{"push_id":64171897,"ref":"refs/heads/master","commits":[{"sha":"daded682d3a64f70df2e5561783e7282a5cd80a9","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/daded682d3a64f70df2e5561783e7282a5cd80a9","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was ter created by PyGithub"}],"head":"daded682d3a64f70df2e5561783e7282a5cd80a9","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3545577},"created_at":"2012-02-25T16:10:21Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1523516455"},{"payload":{"push_id":64169946,"ref":"refs/heads/master","commits":[{"sha":"73b34d944187f282fa6049cd05b02432488b357b","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/73b34d944187f282fa6049cd05b02432488b357b","author":{"name":"BeaverSoftware","email":"BeaverSoftware@vincent-jacques.net"},"message":"This commit was ter created by PyGithub"}],"head":"73b34d944187f282fa6049cd05b02432488b357b","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3545372},"created_at":"2012-02-25T15:39:19Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1523512558"},{"payload":{"push_id":64169244,"ref":"refs/heads/master","commits":[{"sha":"9f2ec52ae9e166d6104834bd0a7f3f9550565100","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub/commits/9f2ec52ae9e166d6104834bd0a7f3f9550565100","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"message":"foo"}],"head":"9f2ec52ae9e166d6104834bd0a7f3f9550565100","size":1},"type":"PushEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","name":"BeaverSoftware/TestPyGithub","id":3545295},"created_at":"2012-02-25T15:27:57Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1523511231"},{"payload":{"forkee":{"url":"https://api.github.com/repos/jacquev6/FatherBeaver","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"forks":0,"has_issues":false,"master_branch":null,"open_issues":0,"private":false,"name":"FatherBeaver","fork":true,"has_wiki":true,"mirror_url":null,"has_downloads":true,"ssh_url":"git@github.com:jacquev6/FatherBeaver.git","git_url":"git://github.com/jacquev6/FatherBeaver.git","html_url":"https://github.com/jacquev6/FatherBeaver","description":"","homepage":"","size":0,"watchers":1,"public":true,"svn_url":"https://github.com/jacquev6/FatherBeaver","language":null,"created_at":"2012-02-16T21:47:44Z","pushed_at":null,"id":3464364,"updated_at":"2012-02-16T21:47:44Z","clone_url":"https://github.com/jacquev6/FatherBeaver.git"}},"type":"ForkEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","name":"BeaverSoftware/FatherBeaver","id":3400397},"created_at":"2012-02-16T21:47:45Z","public":true,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":"1520524054"},{"payload":{"ref":null,"master_branch":"master","ref_type":"repository","description":""},"type":"CreateEvent","org":{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"repo":{"url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","name":"BeaverSoftware/FatherBeaver","id":3400397},"created_at":"2012-02-09T19:32:22Z","public":true,"actor":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","id":1424031},"id":"1518484373"}] - -https -GET -api.github.com -None -/orgs/BeaverSoftware/events?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="prev"'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sun, 27 May 2012 05:13:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - diff --git a/github/tests/ReplayData/Organization.testGetIssues.txt b/github/tests/ReplayData/Organization.testGetIssues.txt deleted file mode 100644 index f0ed937..0000000 --- a/github/tests/ReplayData/Organization.testGetIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '2'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('access-control-allow-credentials', 'true'), ('date', 'Fri, 17 May 2013 11:50:06 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[] - diff --git a/github/tests/ReplayData/Organization.testGetIssuesWithAllArguments.txt b/github/tests/ReplayData/Organization.testGetIssuesWithAllArguments.txt deleted file mode 100644 index 7f4a8e6..0000000 --- a/github/tests/ReplayData/Organization.testGetIssuesWithAllArguments.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1496'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 11:20:54 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"16804c53098398def5970814e79a2cf5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:50:33 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T11:20:54Z","public_gists":3,"total_private_repos":4,"owned_private_repos":4,"disk_usage":17188,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":6,"site_admin":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '4663'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 13 May 2013 21:44:12 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2184e9e10f0a22eb0f1eceed39d728da"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:50:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-05-13T21:44:12Z","pushed_at":"2013-04-25T18:26:07Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":516,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":12,"forks":55,"open_issues":12,"watchers":203,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":55} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Requested%20by%20user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '125'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 12 Sep 2012 18:38:55 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4255e5086bc19b2096e05eb6dad041ee"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 11:50:35 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Requested+by+user","name":"Requested by user","color":"e10c02"} - -https -GET -api.github.com -None -/orgs/BeaverSoftware/issues?sort=comments&direction=asc&since=2012-05-28T23%3A00%3A00Z&labels=Requested+by+user&filter=assigned&state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '2'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('access-control-allow-credentials', 'true'), ('date', 'Fri, 17 May 2013 11:50:36 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[] - diff --git a/github/tests/ReplayData/Organization.testGetMembers.txt b/github/tests/ReplayData/Organization.testGetMembers.txt deleted file mode 100644 index f080d30..0000000 --- a/github/tests/ReplayData/Organization.testGetMembers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/members -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '886'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f7f3d1eaa1c0d14d590b09dbb439db2e"'), ('date', 'Sun, 27 May 2012 05:08:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/cjuniet","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","login":"cjuniet","id":1233553},{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},{"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","id":1131432}] - diff --git a/github/tests/ReplayData/Organization.testGetPublicMembers.txt b/github/tests/ReplayData/Organization.testGetPublicMembers.txt deleted file mode 100644 index 641413f..0000000 --- a/github/tests/ReplayData/Organization.testGetPublicMembers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/public_members -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"867ed1ef11213cc9045509b0fa544132"'), ('date', 'Sun, 27 May 2012 05:07:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}] - diff --git a/github/tests/ReplayData/Organization.testGetRepos.txt b/github/tests/ReplayData/Organization.testGetRepos.txt deleted file mode 100644 index 9924214..0000000 --- a/github/tests/ReplayData/Organization.testGetRepos.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '2300'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"56a6b76672924aa7f1d6f1753388f04b"'), ('date', 'Sun, 27 May 2012 05:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"},{"clone_url":"https://github.com/BeaverSoftware/TestPyGithub.git","has_downloads":true,"watchers":1,"git_url":"git://github.com/BeaverSoftware/TestPyGithub.git","updated_at":"2012-04-25T06:51:38Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/TestPyGithub","has_wiki":true,"has_issues":false,"fork":false,"forks":0,"mirror_url":null,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/TestPyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"TestPyGithub","language":null,"description":"Guinea-pig for PyGithub testing","ssh_url":"git@github.com:BeaverSoftware/TestPyGithub.git","pushed_at":"2012-03-03T08:57:40Z","created_at":"2012-03-03T07:53:19Z","id":3609352,"html_url":"https://github.com/BeaverSoftware/TestPyGithub","full_name":"BeaverSoftware/TestPyGithub"}] - diff --git a/github/tests/ReplayData/Organization.testGetReposWithType.txt b/github/tests/ReplayData/Organization.testGetReposWithType.txt deleted file mode 100644 index 9c60101..0000000 --- a/github/tests/ReplayData/Organization.testGetReposWithType.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/repos?type=public -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '2291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4bcc5321db433ac18171c121303c77d2"'), ('date', 'Tue, 29 May 2012 18:11:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","html_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"full_name":"BeaverSoftware/FatherBeaver"},{"mirror_url":null,"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-29T18:09:14Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","html_url":"https://github.com/BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","forks":0,"size":428,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-29T18:05:10Z","created_at":"2012-05-29T18:03:19Z","id":4485562,"full_name":"BeaverSoftware/PyGithub"}] - diff --git a/github/tests/ReplayData/Organization.testGetTeams.txt b/github/tests/ReplayData/Organization.testGetTeams.txt deleted file mode 100644 index c758b90..0000000 --- a/github/tests/ReplayData/Organization.testGetTeams.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware/teams -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '150'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"43d7c883d1cb7d50a08d2c189550023c"'), ('date', 'Sun, 27 May 2012 05:13:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/teams/141496","name":"Members","id":141496},{"url":"https://api.github.com/teams/141487","name":"Owners","id":141487}] - diff --git a/github/tests/ReplayData/Organization.testMembers.txt b/github/tests/ReplayData/Organization.testMembers.txt deleted file mode 100644 index 873f800..0000000 --- a/github/tests/ReplayData/Organization.testMembers.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/users/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '554'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9fc4631ef7902f5de61ef421c7e4f9b7"'), ('date', 'Sun, 27 May 2012 05:09:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_gists":0,"bio":null,"blog":null,"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","email":"nyu@lyloa.net","followers":1,"name":"Lyloa","public_repos":0,"created_at":"2011-10-16T14:36:46Z","location":"Paris","id":1131432,"following":0,"html_url":"https://github.com/Lyloa","hireable":false} - -https -GET -api.github.com -None -/orgs/BeaverSoftware/members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4982'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:09:23 GMT')] - - -https -DELETE -api.github.com -None -/orgs/BeaverSoftware/members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:09:24 GMT')] - - -https -GET -api.github.com -None -/orgs/BeaverSoftware/members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -403 -[('status', '403 Forbidden'), ('x-ratelimit-remaining', '4980'), ('content-length', '37'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ab43ecb6e2f75e3940aa869edc5ed691"'), ('date', 'Sun, 27 May 2012 05:09:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"You need to be a member"} - diff --git a/github/tests/ReplayData/Organization.testPublicMembers.txt b/github/tests/ReplayData/Organization.testPublicMembers.txt deleted file mode 100644 index 08226f9..0000000 --- a/github/tests/ReplayData/Organization.testPublicMembers.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/users/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '554'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5d4e2c6e9715d64a46d9ebe6d7d460eb"'), ('date', 'Sun, 27 May 2012 05:06:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","public_gists":0,"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":0,"hireable":false,"bio":null,"company":null,"blog":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","email":"nyu@lyloa.net","followers":1,"name":"Lyloa","created_at":"2011-10-16T14:36:46Z","location":"Paris","id":1131432,"following":0,"html_url":"https://github.com/Lyloa"} - -https -GET -api.github.com -None -/orgs/BeaverSoftware/public_members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4995'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:06:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/orgs/BeaverSoftware/public_members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4994'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:43 GMT')] - - -https -GET -api.github.com -None -/orgs/BeaverSoftware/public_members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:44 GMT')] - - -https -DELETE -api.github.com -None -/orgs/BeaverSoftware/public_members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:44 GMT')] - - -https -GET -api.github.com -None -/orgs/BeaverSoftware/public_members/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4991'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:06:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/OrganizationHasInMembers.setUp.txt b/github/tests/ReplayData/OrganizationHasInMembers.setUp.txt deleted file mode 100644 index 8706e6f..0000000 --- a/github/tests/ReplayData/OrganizationHasInMembers.setUp.txt +++ /dev/null @@ -1,31 +0,0 @@ -https -GET -api.github.com -None -/users/meneal -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1108'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'bae57931a6fe678a3dffe9be8e7819c8'), ('x-oauth-scopes', 'read:org'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"ae36cb79aa9c9620550a90dd1f06225f"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4957'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'D07B:2C92:3D5858:4DFE0B:588022F4'), ('last-modified', 'Sun, 15 Jan 2017 20:57:11 GMT'), ('date', 'Thu, 19 Jan 2017 02:22:44 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1484795009')] -{"login":"meneal","id":3112188,"avatar_url":"https://avatars.githubusercontent.com/u/3112188?v=3","gravatar_id":"","url":"https://api.github.com/users/meneal","html_url":"https://github.com/meneal","followers_url":"https://api.github.com/users/meneal/followers","following_url":"https://api.github.com/users/meneal/following{/other_user}","gists_url":"https://api.github.com/users/meneal/gists{/gist_id}","starred_url":"https://api.github.com/users/meneal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meneal/subscriptions","organizations_url":"https://api.github.com/users/meneal/orgs","repos_url":"https://api.github.com/users/meneal/repos","events_url":"https://api.github.com/users/meneal/events{/privacy}","received_events_url":"https://api.github.com/users/meneal/received_events","type":"User","site_admin":false,"name":"Matthew Neal","company":null,"blog":"www.meneal.com","location":"Durham, NC","email":null,"hireable":null,"bio":null,"public_repos":20,"public_gists":2,"followers":3,"following":0,"created_at":"2012-12-23T22:59:34Z","updated_at":"2017-01-15T20:57:11Z"} - -https -GET -api.github.com -None -/orgs/RobotWithFeelings -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1045'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '0e17b94a265a427d9cafe798ceea7c02'), ('x-oauth-scopes', 'read:org'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', 'admin:org, read:org, repo, user, write:org'), ('etag', '"1176a1fa957a3165fd5429709efa0093"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4956'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'D07C:2C92:3D5865:4DFE1C:588022F4'), ('last-modified', 'Tue, 12 Jan 2016 22:38:04 GMT'), ('date', 'Thu, 19 Jan 2017 02:22:44 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1484795009')] -{"login":"RobotWithFeelings","id":16672883,"url":"https://api.github.com/orgs/RobotWithFeelings","repos_url":"https://api.github.com/orgs/RobotWithFeelings/repos","events_url":"https://api.github.com/orgs/RobotWithFeelings/events","hooks_url":"https://api.github.com/orgs/RobotWithFeelings/hooks","issues_url":"https://api.github.com/orgs/RobotWithFeelings/issues","members_url":"https://api.github.com/orgs/RobotWithFeelings/members{/member}","public_members_url":"https://api.github.com/orgs/RobotWithFeelings/public_members{/member}","avatar_url":"https://avatars.githubusercontent.com/u/16672883?v=3","description":null,"public_repos":3,"public_gists":0,"followers":0,"following":0,"html_url":"https://github.com/RobotWithFeelings","created_at":"2016-01-12T19:23:54Z","updated_at":"2016-01-12T22:38:04Z","type":"Organization","total_private_repos":0,"owned_private_repos":0,"private_gists":null,"disk_usage":null,"collaborators":null,"billing_email":null,"plan":{"name":"free","space":976562499,"private_repos":0,"filled_seats":4,"seats":0}} - -https -GET -api.github.com -None -/orgs/RobotWithFeelings/members/meneal -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4955'), ('x-github-media-type', 'github.v3; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'D07D:2C93:7811EA:988FEE:588022F4'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('access-control-allow-origin', '*'), ('x-ratelimit-limit', '5000'), ('x-xss-protection', '1; mode=block'), ('x-served-by', 'd0b3c2c33a23690498aa8e70a435a259'), ('date', 'Thu, 19 Jan 2017 02:22:44 GMT'), ('x-frame-options', 'deny'), ('x-oauth-scopes', 'read:org'), ('x-accepted-oauth-scopes', 'read:org, repo, user'), ('x-ratelimit-reset', '1484795009')] diff --git a/github/tests/ReplayData/PaginatedList.setUp.txt b/github/tests/ReplayData/PaginatedList.setUp.txt deleted file mode 100644 index d2f2696..0000000 --- a/github/tests/ReplayData/PaginatedList.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/users/openframeworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4929'), ('content-length', '564'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cddd0710dc9490553aecd937e15d1136"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","hireable":false,"url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","public_gists":0,"blog":null,"bio":null,"public_repos":12,"company":null,"gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","email":"","followers":399,"name":null,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","created_at":"2009-10-21T21:54:37Z","location":null,"id":142866,"following":4} - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4928'), ('content-length', '1253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e7459f63683768d5b53fc4b246d13a10"'), ('date', 'Tue, 29 May 2012 19:36:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/openframeworks/openFrameworks.git","has_downloads":true,"watchers":1745,"updated_at":"2012-05-29T19:23:07Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://openframeworks.cc","url":"https://api.github.com/repos/openframeworks/openFrameworks","html_url":"https://github.com/openframeworks/openFrameworks","has_wiki":true,"has_issues":true,"fork":false,"forks":349,"size":4232,"git_url":"git://github.com/openframeworks/openFrameworks.git","private":false,"open_issues":333,"svn_url":"https://github.com/openframeworks/openFrameworks","owner":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","login":"openframeworks","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142866},"name":"openFrameworks","mirror_url":null,"language":"C","description":"OpenFrameworks is a cross platform open source toolkit for creative coding in C++.","ssh_url":"git@github.com:openframeworks/openFrameworks.git","pushed_at":"2012-05-29T19:23:07Z","created_at":"2009-10-21T21:55:54Z","id":345337,"full_name":"openframeworks/openFrameworks"} - diff --git a/github/tests/ReplayData/PaginatedList.testCustomPerPage.txt b/github/tests/ReplayData/PaginatedList.testCustomPerPage.txt deleted file mode 100644 index b47e69c..0000000 --- a/github/tests/ReplayData/PaginatedList.testCustomPerPage.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?per_page=100 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '329982'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 11 Mar 2013 10:11:56 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"9d1c9cd0db105699c994ba8b16296c1b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 10:12:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1928","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1928/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1928/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1928/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1928","id":11868429,"number":1928,"title":"ofVideoplayer getPosition getFrame","user":{"login":"robotfunk","id":1648376,"avatar_url":"https://secure.gravatar.com/avatar/5b24e2e8331f589c2b855ebbb407d82e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5b24e2e8331f589c2b855ebbb407d82e","url":"https://api.github.com/users/robotfunk","html_url":"https://github.com/robotfunk","followers_url":"https://api.github.com/users/robotfunk/followers","following_url":"https://api.github.com/users/robotfunk/following","gists_url":"https://api.github.com/users/robotfunk/gists{/gist_id}","starred_url":"https://api.github.com/users/robotfunk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robotfunk/subscriptions","organizations_url":"https://api.github.com/users/robotfunk/orgs","repos_url":"https://api.github.com/users/robotfunk/repos","events_url":"https://api.github.com/users/robotfunk/events{/privacy}","received_events_url":"https://api.github.com/users/robotfunk/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-03-11T09:08:35Z","updated_at":"2013-03-11T09:08:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm developing an app that syncs videos to an incoming timecode, and it appears that getPosition and getFrame returns the position where the video should be rather than where it actually is. As soon as you seek to a percentage or frame that frame is returned, regardless of the frame that is actually being displayed. \r\n\r\nThis happens with the built-in ofVideoPlayer and the QTKit based one.\r\nOSX, 0073"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1925","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1925/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1925/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1925/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1925","id":11844686,"number":1925,"title":"Fix for osx makefiles.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-03-09T21:49:42Z","updated_at":"2013-03-09T23:38:22Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1925","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1925.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1925.patch"},"body":"Added the exports/osx folder."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1924","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1924/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1924/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1924/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1924","id":11842835,"number":1924,"title":"Windows 8 fails to compile the core with ofParameter","user":{"login":"danthemellowman","id":719564,"avatar_url":"https://secure.gravatar.com/avatar/79621943dfc6272eae9697464ad33696?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"79621943dfc6272eae9697464ad33696","url":"https://api.github.com/users/danthemellowman","html_url":"https://github.com/danthemellowman","followers_url":"https://api.github.com/users/danthemellowman/followers","following_url":"https://api.github.com/users/danthemellowman/following","gists_url":"https://api.github.com/users/danthemellowman/gists{/gist_id}","starred_url":"https://api.github.com/users/danthemellowman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danthemellowman/subscriptions","organizations_url":"https://api.github.com/users/danthemellowman/orgs","repos_url":"https://api.github.com/users/danthemellowman/repos","events_url":"https://api.github.com/users/danthemellowman/events{/privacy}","received_events_url":"https://api.github.com/users/danthemellowman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2013-03-09T19:28:58Z","updated_at":"2013-03-11T06:46:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm building using VS2010 and using the most current develop branch I see the attached gist when trying to compile any application. @arturoc any thoughts? \r\n\r\nhttps://gist.github.com/danthemellowman/5125331"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1923","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1923/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1923/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1923/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1923","id":11842450,"number":1923,"title":"Fixed sound not restarting after an interupttion (phone call or alarm clock)","user":{"login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","url":"https://api.github.com/users/cerupcat","html_url":"https://github.com/cerupcat","followers_url":"https://api.github.com/users/cerupcat/followers","following_url":"https://api.github.com/users/cerupcat/following","gists_url":"https://api.github.com/users/cerupcat/gists{/gist_id}","starred_url":"https://api.github.com/users/cerupcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerupcat/subscriptions","organizations_url":"https://api.github.com/users/cerupcat/orgs","repos_url":"https://api.github.com/users/cerupcat/repos","events_url":"https://api.github.com/users/cerupcat/events{/privacy}","received_events_url":"https://api.github.com/users/cerupcat/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-03-09T19:00:32Z","updated_at":"2013-03-09T23:13:41Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1923","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1923.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1923.patch"},"body":"Made the audioUnit static so it's more accessible and fixed audio not restarting after an iOS interruption.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1922","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1922/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1922/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1922/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1922","id":11841064,"number":1922,"title":"Add ofThreadErrorHandler, support in ofThread and updated thread Example.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-03-09T17:08:19Z","updated_at":"2013-03-10T11:19:44Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1922","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1922.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1922.patch"},"body":"Addresses issue #1813 \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1919","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1919/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1919/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1919/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1919","id":11794846,"number":1919,"title":"please add ofGetGlutWindowID() ","user":{"login":"yty","id":841770,"avatar_url":"https://secure.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-03-08T07:38:58Z","updated_at":"2013-03-08T07:39:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofAppGlutWindow.cpp\r\n/////////////////////////////////////////////\r\nvoid ofAppGlutWindow::setupOpenGL(int w, int h, int screenMode){\r\n if (windowMode != OF_GAME_MODE){\r\n\t\tglutInitWindowSize(w, h);\r\n\t\twindowId = glutCreateWindow(\"\"); \r\n }\r\n}\r\n\r\nint ofAppGlutWindow::getGlutWindowID(){\r\n\treturn windowId;\r\n}\r\n\r\nofAppRunner.cpp\r\n////////////////////////////////////////////\r\n\r\nint ofGetGlutWindowID(){\r\n\treturn window->getGlutWindowID();\r\n}\r\n\r\nofAppBaseWindow.h\r\n///////////////////////////////////////\r\nvirtual int getGlutWindowID(){}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1917","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1917/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1917/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1917/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1917","id":11758613,"number":1917,"title":"ofxOpenCv Install.xml vs2010 settings out of date","user":{"login":"SoylentGraham","id":2184197,"avatar_url":"https://secure.gravatar.com/avatar/9c4381dbaf7664c1fd5b198e807bfa16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c4381dbaf7664c1fd5b198e807bfa16","url":"https://api.github.com/users/SoylentGraham","html_url":"https://github.com/SoylentGraham","followers_url":"https://api.github.com/users/SoylentGraham/followers","following_url":"https://api.github.com/users/SoylentGraham/following","gists_url":"https://api.github.com/users/SoylentGraham/gists{/gist_id}","starred_url":"https://api.github.com/users/SoylentGraham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SoylentGraham/subscriptions","organizations_url":"https://api.github.com/users/SoylentGraham/orgs","repos_url":"https://api.github.com/users/SoylentGraham/repos","events_url":"https://api.github.com/users/SoylentGraham/events{/privacy}","received_events_url":"https://api.github.com/users/SoylentGraham/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2013-03-07T13:09:43Z","updated_at":"2013-03-08T08:32:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I've just been adding ofxOpenCv to my (windows) project, and refered to the install.xml as a guide to what I need to include & link to. Includes are fine, but the lib references are out of date....\r\nhttps://github.com/openframeworks/openFrameworks/blob/develop/addons/ofxOpenCv/install.xml\r\n\r\n```xml\r\n../../../addons/ofxOpenCv/libs/opencv/lib/win32/cv110.lib\r\n../../../addons/ofxOpenCv/libs/opencv/lib/win32/cxcore110.lib\r\n```\r\n\r\nnow needs to reference \r\n../../../addons/ofxOpenCv/libs/opencv/lib/vs2010/opencv_core231d.lib\r\nand another 10 or so libs. (both debug and release)\r\n\r\nI went to fix the install.xml, but realised I can't find any info on how to specify different cases for debug and release configurations, and couldn't find a schema for the install.xml files... Can anyone point me in the right direction? (Or just fix the xml?)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1916","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1916/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1916/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1916/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1916","id":11730674,"number":1916,"title":"ofQTKitPlayer deadlock on delete","user":{"login":"kronick","id":186834,"avatar_url":"https://secure.gravatar.com/avatar/abd0ffdcfe5fea1b2319e61ded9452f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"abd0ffdcfe5fea1b2319e61ded9452f0","url":"https://api.github.com/users/kronick","html_url":"https://github.com/kronick","followers_url":"https://api.github.com/users/kronick/followers","following_url":"https://api.github.com/users/kronick/following","gists_url":"https://api.github.com/users/kronick/gists{/gist_id}","starred_url":"https://api.github.com/users/kronick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronick/subscriptions","organizations_url":"https://api.github.com/users/kronick/orgs","repos_url":"https://api.github.com/users/kronick/repos","events_url":"https://api.github.com/users/kronick/events{/privacy}","received_events_url":"https://api.github.com/users/kronick/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-03-06T20:17:49Z","updated_at":"2013-03-06T21:22:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The following code causes a deadlock on the \"delete\" call (calling player->close() causes the same problem) while clearing a large video file (I'm using one that's ~2GB):\r\n```C\r\nofQTKitPlayer *player new ofQTKitPlayer();\r\nplayer->loadMovie(\"a_large_video.mov\", OF_QTKIT_DECODE_TEXTURE_ONLY);\r\n\r\ndelete player;\r\n```\r\n\r\nIt seems to work fine when using OF_QTKIT_DECODE_PIXELS_AND_TEXTURE.\r\n\r\nStack trace is below. The last non-assembly bits are in [QTKitMovieRenderer dealloc]. This is on a iMac i7 OSX 10.8.2.\r\n\r\n> When #0\t0x996e091a in __psynch_mutexwait ()\r\n> #1\t0x93b7c13b in pthread_mutex_lock ()\r\n> #2\t0x9a34e9ec in QTMLGrabMutex ()\r\n> #3\t0x9a38f51d in QTVisualGraphGrabConfiguringMutex ()\r\n> #4\t0x9858e31b in ___lldb_unnamed_function22307$$QuickTimeComponents ()\r\n> #5\t0x955c091f in callComponentStorage_444 ()\r\n> #6\t0x955b1abf in CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) ()\r\n> #7\t0x955b1aff in CallComponentFunctionWithStorageProcInfo ()\r\n> #8\t0x9858ddf6 in BaseVC_ComponentDispatch ()\r\n> #9\t0x9552baee in CallComponent ()\r\n> #10\t0x9552bb65 in DelegateComponentCall ()\r\n> #11\t0x9858e592 in OpenGLTVC_ComponentDispatch ()\r\n> #12\t0x9552baee in CallComponent ()\r\n> #13\t0x9552bb48 in CallComponentDispatch ()\r\n> #14\t0x9a38f755 in QTVCSetImageAvailableCallback ()\r\n> #15\t0x9a38f716 in QTVisualContextSetImageAvailableCallback ()\r\n> #16\t0x00262a6b in -[QTKitMovieRenderer dealloc] at /path/to/project/openframeworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQTKitMovieRenderer.m:201\r\n> #17\t0x99cf28ff in -[NSObject release] ()\r\n> #18\t0x00260edc in ofQTKitPlayer::close() at /path/to/project/openframeworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQTKitPlayer.mm:102\r\n> #19\t0x002604b1 in ofQTKitPlayer::~ofQTKitPlayer() at /path/to/project/openframeworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQTKitPlayer.mm:22\r\n> #20\t0x00260421 in ofQTKitPlayer::~ofQTKitPlayer() at /path/to/project/openframeworks/libs/openFrameworksCompiled/project/osx/../../../openFrameworks/video/ofQTKitPlayer.mm:21"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1914","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1914/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1914/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1914/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1914","id":11629899,"number":1914,"title":"make ofEasyCam::reset() virtual, or allow non-default reset positions","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-03-04T17:50:32Z","updated_at":"2013-03-05T09:51:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i want to have the double-click behavior return ofEasyCam to a nonstandard resting position. i thought i could do this by inheriting ofEasyCam and overriding reset(), but it's not a virtual method.\r\n\r\nin the meantime i've done something really terrible in my code. please forgive me.\r\n\r\n````c++\r\n\t\tofVec3f position = getPosition();\r\n\t\tofVec3f basePosition = ofVec3f(0, 0, getDistance());\r\n\t\tif(position == basePosition) {\r\n\t\t\t// reset to a better position\r\n\t\t}\r\n````\r\n\r\nif this function is called by update() or draw() it causes a one-frame flicker where the usual ofEasyCam default position appears for a moment, and then it flips it to the \"correct\" spot.\r\n\r\nin theory the user could move the camera to a spot that causes it to reset, but in practice i think it's very unlikely. regardless, the above solution is \"wrong\" and it would be better to have virtual method or reset position settings."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1913","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1913/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1913/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1913/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1913","id":11622759,"number":1913,"title":"feature: Pixel Buffer Object (PBO)","user":{"login":"tobiasebsen","id":1135364,"avatar_url":"https://secure.gravatar.com/avatar/0084a00a1e20e0607a9f67d2d9b992c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0084a00a1e20e0607a9f67d2d9b992c0","url":"https://api.github.com/users/tobiasebsen","html_url":"https://github.com/tobiasebsen","followers_url":"https://api.github.com/users/tobiasebsen/followers","following_url":"https://api.github.com/users/tobiasebsen/following","gists_url":"https://api.github.com/users/tobiasebsen/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasebsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasebsen/subscriptions","organizations_url":"https://api.github.com/users/tobiasebsen/orgs","repos_url":"https://api.github.com/users/tobiasebsen/repos","events_url":"https://api.github.com/users/tobiasebsen/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasebsen/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2013-03-04T15:21:58Z","updated_at":"2013-03-04T16:37:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Just want to propose the idea of implementing a pixel buffer object in openFrameworks.\r\nThere are many uses for this - especially if you want to render pixels into vertices - say, using a fragment shader to create points or a mesh.\r\n\r\nThe PBO could be a new ofPbo class or just adding functionality to the existing ofVbo. The main changes would be:\r\n\r\n1. Creating non-initialized buffers (unlike setVertexData, that only allows buffers with copy-data), e.g. allocateVertexData(...), alloacteTexCoordData(...), etc.\r\n2. Reading pixels into the buffers (from framebuffers), e.g. readPixels(...);\r\n\r\nThis is a suggestion open for discussion."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1912","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1912/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1912/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1912/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1912","id":11611280,"number":1912,"title":"added ofPixels::setColor(ofColor) and ofImage::setColor(ofColor)","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-03-04T09:32:10Z","updated_at":"2013-03-04T10:21:51Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1912","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1912.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1912.patch"},"body":"example:\r\n\r\n````c++\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofMain.h\"\r\n\r\nclass ofApp : public ofBaseApp {\r\npublic:\r\n\tofImage img;\r\n\t\r\n\tvoid setup() {\r\n\t\timg.allocate(ofGetWidth(), ofGetHeight(), OF_IMAGE_COLOR);\r\n\t\timg.update();\r\n\t}\r\n\t\r\n\tvoid update() {\r\n\t\timg.setColor(ofColor::fromHsb(mouseX % 256, mouseY % 256, 255));\r\n\t\timg.update();\r\n\t}\r\n\t\r\n\tvoid draw() {\r\n\t\timg.draw(0, 0);\r\n\t}\r\n};\r\n\r\nint main() {\r\n\tofAppGlutWindow window;\r\n\tofSetupOpenGL(&window, 1280, 720, OF_WINDOW);\r\n\tofRunApp(new ofApp());\r\n}\r\n````"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1911","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1911/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1911/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1911/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1911","id":11610983,"number":1911,"title":"Integrate new oscpack version","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"milestone":null,"comments":7,"created_at":"2013-03-04T09:22:16Z","updated_at":"2013-03-06T09:00:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A new version of oscpack is coming soon (RC1.1 in a couple of days). Integrate it after the new makefile system has landed, it has some fixes relevant for us. See discussion in af9dedb122358b2f856893eee477350facec93c1.\r\n\r\nTODO:\r\n\r\n- [ ] Integrate new oscpack version\r\n- [ ] New API for `SetAllowReuse(true)` (mac only afaik) and `SetEnableBroadcast(true)` \r\n- [ ] Check if #701 is fixed/still occuring\r\n- [ ] Resolve/process/close #1839 \r\n- [ ] See if we can get away with not renaming `posix/UdpSocket.cpp`, `win32/UdpSocket.cpp`, would make future updates more streamlined.\r\n- [ ] might be good to also do #1804 (make bundles optional) while we're at it.\r\n\r\ncf @kylemcdonald @rbencina"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1910","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1910/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1910/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1910/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1910","id":11604963,"number":1910,"title":"feature ofImage::set","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-03-04T04:37:24Z","updated_at":"2013-03-04T09:17:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"something like:\r\n\r\n````c++\r\nvoid ofImage::set(ofColor color) {\r\n\tfor(int y = 0; y < height; y++) {\r\n\t\tfor(int x = 0; x < width; x++) {\r\n\t\t\tsetColor(x, y, color);\r\n\t\t}\r\n\t}\r\n}\r\n````\r\n\r\nwith a default value of `color = ofColor(0)`.\r\n\r\nthoughts? i find i want to clear ofImages after allocation if i'm drawing into part of the image."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1909","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1909/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1909/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1909/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1909","id":11600513,"number":1909,"title":"Fix iOS antialiased screen grab (#822).","user":{"login":"mcforman","id":3732318,"avatar_url":"https://secure.gravatar.com/avatar/9e0cea385a73e6b61ac0abd388322a95?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9e0cea385a73e6b61ac0abd388322a95","url":"https://api.github.com/users/mcforman","html_url":"https://github.com/mcforman","followers_url":"https://api.github.com/users/mcforman/followers","following_url":"https://api.github.com/users/mcforman/following","gists_url":"https://api.github.com/users/mcforman/gists{/gist_id}","starred_url":"https://api.github.com/users/mcforman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcforman/subscriptions","organizations_url":"https://api.github.com/users/mcforman/orgs","repos_url":"https://api.github.com/users/mcforman/repos","events_url":"https://api.github.com/users/mcforman/events{/privacy}","received_events_url":"https://api.github.com/users/mcforman/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":5,"created_at":"2013-03-03T23:47:59Z","updated_at":"2013-03-09T22:06:27Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1909","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1909.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1909.patch"},"body":"Post-draw GL read-backs now work from antialiased framebuffer, to fix iOS screen grab issues such as with ofxiPhoneScreenGrab() and ofTexture::loadScreenData() (fix #822).\r\n\r\nDone by setting display-mapped 'resolve' buffer (defaultFramebuffer) as the current framebuffer after a draw, rather than the fsaa buffer. The fsaa buffer is set as current again before next draw.\r\n\r\nThis means that any direct GL drawing code executed between update()+draw() cycles won't work, as it'll end up in the wrong framebuffer. *However*, I understand nobody should be doing that - if I'm wrong, well, dump it all!\r\n\r\nTested via ofxiPhoneScreenGrab() on an iPad2 and iPod Touch."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1905","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1905/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1905/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1905/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1905","id":11566128,"number":1905,"title":"Added optional z param to ofVec3f( ofVec2f ) constructor, and swizzles","user":{"login":"SoylentGraham","id":2184197,"avatar_url":"https://secure.gravatar.com/avatar/9c4381dbaf7664c1fd5b198e807bfa16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c4381dbaf7664c1fd5b198e807bfa16","url":"https://api.github.com/users/SoylentGraham","html_url":"https://github.com/SoylentGraham","followers_url":"https://api.github.com/users/SoylentGraham/followers","following_url":"https://api.github.com/users/SoylentGraham/following","gists_url":"https://api.github.com/users/SoylentGraham/gists{/gist_id}","starred_url":"https://api.github.com/users/SoylentGraham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SoylentGraham/subscriptions","organizations_url":"https://api.github.com/users/SoylentGraham/orgs","repos_url":"https://api.github.com/users/SoylentGraham/repos","events_url":"https://api.github.com/users/SoylentGraham/events{/privacy}","received_events_url":"https://api.github.com/users/SoylentGraham/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-03-01T22:57:48Z","updated_at":"2013-03-08T15:31:32Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1905","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1905.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1905.patch"},"body":"Useful accessors for 3D <-> 2D vector conversion.\r\nThe ofVec2f constructor for ofVec3f now takes a Z too so we can construct a little more simply\r\n ofVec3f World3( GetWorld2(), 100.f );\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1902","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1902/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1902/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1902/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1902","id":11522827,"number":1902,"title":"make install_dependencies.sh more flexible to avoid failing package installs (e.g. jack)","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2013-02-28T22:32:49Z","updated_at":"2013-03-01T13:34:15Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I just had another user having a problem with jack not installing when executing `install_dependencies.sh` on ubuntu 12.04: http://forum.openframeworks.cc/index.php/topic,12136.msg53242.html#msg53242\r\n\r\nIt can easily be solved by a manual install: http://forum.openframeworks.cc/index.php/topic,11392.msg53064.html#msg53064\r\n\r\n@arturoc I'm wondering if there's a way to automate this in the apt-get command (something like \"if jack install fails, install `libjack-jackd2-dev`)?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1900","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1900/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1900/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1900/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1900","id":11505301,"number":1900,"title":"Test-PR - nothing to see here","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-02-28T15:36:16Z","updated_at":"2013-02-28T15:36:16Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1900","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1900.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1900.patch"},"body":"this is a test PR for the upcoming code checker. any activity can be ignored. thanks."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1899","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1899/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1899/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1899/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1899","id":11496228,"number":1899,"title":"Several problems with iOS and mp3s","user":{"login":"ronherrema","id":3489924,"avatar_url":"https://secure.gravatar.com/avatar/de90528d6d86a93fc6e657bce64e9370?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"de90528d6d86a93fc6e657bce64e9370","url":"https://api.github.com/users/ronherrema","html_url":"https://github.com/ronherrema","followers_url":"https://api.github.com/users/ronherrema/followers","following_url":"https://api.github.com/users/ronherrema/following","gists_url":"https://api.github.com/users/ronherrema/gists{/gist_id}","starred_url":"https://api.github.com/users/ronherrema/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronherrema/subscriptions","organizations_url":"https://api.github.com/users/ronherrema/orgs","repos_url":"https://api.github.com/users/ronherrema/repos","events_url":"https://api.github.com/users/ronherrema/events{/privacy}","received_events_url":"https://api.github.com/users/ronherrema/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2013-02-28T11:05:51Z","updated_at":"2013-03-08T15:58:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When I unload one sound and attempt to load another, I get two error messages: first, 'Error enqueuing new buffer: -66632', and then 'more than one mp3 cannot be loaded at the same time'. The first sound stops but the second does not sound. I'm using Xcode 4.5.2 on Mac OS 10.7.5 and am developing for my iPod Touch using iOS 6.0. My code (which I've attempted to use both within the double-tap handler, and on a timed basis within update) looks like this:\r\n\r\nbgMusic.unloadSound(); \r\ngrab.loadSound(\"Grab.mp3\"); \r\ngrab.play(); \r\nofxiPhoneScreenGrab(NULL); \r\ngrab.unloadSound(); \r\nbgMusic.loadSound(\"Music.mp3\"); \r\nbgMusic.play(); "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1884","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1884/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1884/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1884/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1884","id":11324410,"number":1884,"title":"Fedora compile error (misses cairo-features.h)","user":{"login":"YottaSecond","id":2925265,"avatar_url":"https://secure.gravatar.com/avatar/40858a2bd29d3dac55087846ea5b6880?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"40858a2bd29d3dac55087846ea5b6880","url":"https://api.github.com/users/YottaSecond","html_url":"https://github.com/YottaSecond","followers_url":"https://api.github.com/users/YottaSecond/followers","following_url":"https://api.github.com/users/YottaSecond/following","gists_url":"https://api.github.com/users/YottaSecond/gists{/gist_id}","starred_url":"https://api.github.com/users/YottaSecond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YottaSecond/subscriptions","organizations_url":"https://api.github.com/users/YottaSecond/orgs","repos_url":"https://api.github.com/users/YottaSecond/repos","events_url":"https://api.github.com/users/YottaSecond/events{/privacy}","received_events_url":"https://api.github.com/users/YottaSecond/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-02-23T19:52:06Z","updated_at":"2013-02-23T21:30:41Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The install_dependencies.sh script failed on me yesterday (I was trying to build openFrameworks in Fedora for the first time).\r\n\r\nThis doesn't seem to be a problem with the script itself; just a problem with the makefile include flags, which don't currently lead to the cairo development files.\r\n\r\nTo get this working, I simply added:\r\n\r\nINCLUDES_FLAGS += -I /usr/include/cairo\r\n\r\nafter line 108 in the openFrameworksCompiled/project/linux64 makefile.\r\n\r\nOthers have suggested changing the cairo includes in libs/openFrameworks/graphics/ofCairoRenderer.h from \"cairo-features.h\" to \"cairo/cairo-features.h\"\r\nI haven't tested that, but perhaps it could be a more elegant solution."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1876","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1876/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1876/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1876/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1876","id":11012527,"number":1876,"title":"Feature: Poco::DateTimeFormatter","user":{"login":"ascorbin","id":900709,"avatar_url":"https://secure.gravatar.com/avatar/9cff00ec4a5ef434ed3694c7f84b231b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9cff00ec4a5ef434ed3694c7f84b231b","url":"https://api.github.com/users/ascorbin","html_url":"https://github.com/ascorbin","followers_url":"https://api.github.com/users/ascorbin/followers","following_url":"https://api.github.com/users/ascorbin/following","gists_url":"https://api.github.com/users/ascorbin/gists{/gist_id}","starred_url":"https://api.github.com/users/ascorbin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ascorbin/subscriptions","organizations_url":"https://api.github.com/users/ascorbin/orgs","repos_url":"https://api.github.com/users/ascorbin/repos","events_url":"https://api.github.com/users/ascorbin/events{/privacy}","received_events_url":"https://api.github.com/users/ascorbin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-02-14T20:36:25Z","updated_at":"2013-03-11T08:03:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"for a racing game i needed time formats like 00:00:000 and found everything inside poco. would be nice to wrap this for of. \r\n\r\nexample:\r\n// get pointer to mov\r\n ofVideoPlayer* p = (ofVideoPlayer*) e->imgPtr;\r\n \r\n // get mov times\r\n Poco::DateTimeFormatter dateFormater;\r\n float total = p->getDuration();\r\n float current = p->getPosition();\r\n Poco::Timespan totalTime = total*1000*1000;\r\n Poco::Timespan currentTime = current*total*1000*1000;\r\n \r\n string currentTimeString = dateFormater.format(currentTime , \"%m:%S\");\r\n string totalTimeString = dateFormater.format(totalTime , \"%m:%S\");\r\n\r\ngreetings ascorbin"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1873","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1873/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1873/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1873/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1873","id":10897195,"number":1873,"title":"Sleep() and ofSetFrameRate accuracy","user":{"login":"kamend","id":462951,"avatar_url":"https://secure.gravatar.com/avatar/1b0002ee319a421a56ef94c199382fb7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1b0002ee319a421a56ef94c199382fb7","url":"https://api.github.com/users/kamend","html_url":"https://github.com/kamend","followers_url":"https://api.github.com/users/kamend/followers","following_url":"https://api.github.com/users/kamend/following","gists_url":"https://api.github.com/users/kamend/gists{/gist_id}","starred_url":"https://api.github.com/users/kamend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamend/subscriptions","organizations_url":"https://api.github.com/users/kamend/orgs","repos_url":"https://api.github.com/users/kamend/repos","events_url":"https://api.github.com/users/kamend/events{/privacy}","received_events_url":"https://api.github.com/users/kamend/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-02-12T06:49:51Z","updated_at":"2013-02-12T11:27:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi guys,\r\nHere is something strange I am fighting with the last few days. I have a PointGrey Flea3 cam, which could run at 120 fps. I am trying to run a basic application under Windows 7, using their FlyCapture SDK, although the problem I am having is also present, if I run just the basic empty example application.\r\n\r\nBasically I am doing this, at the setup() of my application, I would set:\r\n\r\nofSetFrameRate(120);\r\nofSetVerticalSync(false);\r\n\r\nand what I would get is Openframeworks running at no more then ~64 fps. The really weird thing is that sometimes after a while, the application will start running at my desired rate, but if I restart, I am back at the ~64 fps limit. \r\n\r\nSo, I dug deeper into the matter and I noticed the Sleep() method inside the ofAppGlutWindow idle_cb function. When I set the frame rate to 120 fps, the idle_cb function correctly calculates that it has too sleep for 8ms and waitMillis is indeed 8ms, but for some reason the Sleep function could not get lower then 16 ms sleep, which I measured using a suggested on the forums more accurate timer - QueryPerformanceCounter. So, I guess the problem here is the resolution of the Sleep method and the most weird thing is that sometimes it would work, sometimes it would not. I tested this on my MacBook Pro and on my Desktop machine, so I guess it's not hardware related.\r\n\r\nI did another test too, setting ofSetFrameRate(0), bypassing the Sleep function. But then I get a resolution problem with ofGetElapsedTimef(), I still could not get a difference between the frames lower then 16ms. So I did another test with QueryPerformanceCounter and measured it against the ofGetElapsedTimef() inside the \"update()\" function and what I noticed is that when I set the FlyCaptureSDK to 120 fps, the application was indeed running in 120 frames per second, but OF was showing ~64fps. Basically the difference between frames using QueryPerformanceCounter was 8ms, but the difference measured with ofGetElapsedTimef was 16ms. Once again I should mention, that sometimes after like 10 minutes, I would get the resolution and the application showing correct frame rate, but when I restart it will be back at the ~64 fps limit. \r\n\r\nDoes anybody actually have this problem, is this a known issue or am I doing something completely wrong here?\r\n\r\nHere is the QueryPerformanceCode, I am usuing for measurement:\r\n\r\n```c++\r\nclass Timer {\r\npublic:\r\n\tdouble PCFreq;\r\n\tunsigned long long CounterStart;\r\n\r\n\tvoid StartTimer() {\r\n\t\t LARGE_INTEGER li;\r\n\t\t if(!QueryPerformanceFrequency(&li))\r\n\t\t\tcout << \"QueryPerformanceFrequency failed!\\n\";\r\n\r\n\t\t PCFreq = double(li.QuadPart)/1000.0;\r\n\r\n\t\t QueryPerformanceCounter(&li);\r\n\t\t CounterStart = li.QuadPart;\r\n\t}\r\n\r\n\tdouble Timer::GetElapsedTime()\r\n\t{\r\n\t\tLARGE_INTEGER li;\r\n\t\tQueryPerformanceCounter(&li);\r\n\t\treturn double(li.QuadPart-CounterStart)/PCFreq;\r\n\t}\r\n\r\n};\r\n```\r\nKeep up the good work,\r\nKamen\r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1871","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1871/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1871/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1871/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1871","id":10867389,"number":1871,"title":"ofFbo modifications to ease the use of Multiple Rendering Targets","user":{"login":"tobiasebsen","id":1135364,"avatar_url":"https://secure.gravatar.com/avatar/0084a00a1e20e0607a9f67d2d9b992c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0084a00a1e20e0607a9f67d2d9b992c0","url":"https://api.github.com/users/tobiasebsen","html_url":"https://github.com/tobiasebsen","followers_url":"https://api.github.com/users/tobiasebsen/followers","following_url":"https://api.github.com/users/tobiasebsen/following","gists_url":"https://api.github.com/users/tobiasebsen/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasebsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasebsen/subscriptions","organizations_url":"https://api.github.com/users/tobiasebsen/orgs","repos_url":"https://api.github.com/users/tobiasebsen/repos","events_url":"https://api.github.com/users/tobiasebsen/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasebsen/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":20,"created_at":"2013-02-11T14:18:28Z","updated_at":"2013-03-11T10:02:48Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1871","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1871.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1871.patch"},"body":"These are just some small modifications that allows attaching textures and render-buffers of a custom format. Very useful for Multiple Rendering Targets and deferred shading."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1864","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1864/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1864/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1864/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1864","id":10771082,"number":1864,"title":"Libc++ support (C++11)","user":{"login":"caseybasichis","id":1331371,"avatar_url":"https://secure.gravatar.com/avatar/ce22b4fea19712236dfc590819931cb5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ce22b4fea19712236dfc590819931cb5","url":"https://api.github.com/users/caseybasichis","html_url":"https://github.com/caseybasichis","followers_url":"https://api.github.com/users/caseybasichis/followers","following_url":"https://api.github.com/users/caseybasichis/following","gists_url":"https://api.github.com/users/caseybasichis/gists{/gist_id}","starred_url":"https://api.github.com/users/caseybasichis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caseybasichis/subscriptions","organizations_url":"https://api.github.com/users/caseybasichis/orgs","repos_url":"https://api.github.com/users/caseybasichis/repos","events_url":"https://api.github.com/users/caseybasichis/events{/privacy}","received_events_url":"https://api.github.com/users/caseybasichis/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2013-02-08T08:19:15Z","updated_at":"2013-02-08T15:41:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Has anyone done any work towards implementing Libc++ compatibility with OF?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1863","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1863/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1863/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1863/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1863","id":10735641,"number":1863,"title":"ofFbo needs better support for MRT","user":{"login":"tobiasebsen","id":1135364,"avatar_url":"https://secure.gravatar.com/avatar/0084a00a1e20e0607a9f67d2d9b992c0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0084a00a1e20e0607a9f67d2d9b992c0","url":"https://api.github.com/users/tobiasebsen","html_url":"https://github.com/tobiasebsen","followers_url":"https://api.github.com/users/tobiasebsen/followers","following_url":"https://api.github.com/users/tobiasebsen/following","gists_url":"https://api.github.com/users/tobiasebsen/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasebsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasebsen/subscriptions","organizations_url":"https://api.github.com/users/tobiasebsen/orgs","repos_url":"https://api.github.com/users/tobiasebsen/repos","events_url":"https://api.github.com/users/tobiasebsen/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasebsen/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-02-07T12:58:49Z","updated_at":"2013-02-07T12:58:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofFbo does support MRT, but it is not very flexible i regards to targets of various formats, nor is it possible to set the format and attachment of the render buffer.\r\n\r\nI suggest:\r\n\r\n1. createAndAttachTexture() and createAndAttachRenderbuffer() are made public.\r\n2. adding a function called attachTexture(const ofTexture& tex) that allows attaching various types of textures.\r\n3. making all private variables and functions \"protected\", so that it becomes easier to inherit from ofFbo."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1862","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1862/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1862/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1862/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1862","id":10707231,"number":1862,"title":"dragEvent not working (ubuntu 12.04)","user":{"login":"juji","id":493553,"avatar_url":"https://secure.gravatar.com/avatar/f6a77c3e62fbc564fc8d480b413ee27f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f6a77c3e62fbc564fc8d480b413ee27f","url":"https://api.github.com/users/juji","html_url":"https://github.com/juji","followers_url":"https://api.github.com/users/juji/followers","following_url":"https://api.github.com/users/juji/following","gists_url":"https://api.github.com/users/juji/gists{/gist_id}","starred_url":"https://api.github.com/users/juji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juji/subscriptions","organizations_url":"https://api.github.com/users/juji/orgs","repos_url":"https://api.github.com/users/juji/repos","events_url":"https://api.github.com/users/juji/events{/privacy}","received_events_url":"https://api.github.com/users/juji/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"state":"open","assignee":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"milestone":null,"comments":7,"created_at":"2013-02-06T19:18:40Z","updated_at":"2013-02-07T15:09:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"OpenFrameWorks 0073 on Ubuntu 12.04\r\n\r\nI tried to build eventsExample from the examples folder\r\n\r\nEverything runs smoothly, except for dragEvent. I tried dragging some files, but the app does nothing. It simply doesn't work.\r\n\r\nIs this a bug? Or am I doing something wrong?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1853","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1853/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1853/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1853/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1853","id":10618951,"number":1853,"title":"openFrameworksCompiled lib codeblocks project file is broken","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-02-04T18:16:57Z","updated_at":"2013-02-19T09:47:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"while letting my test run, I noticed that we need to update\r\n`libs/openFrameworksCompiled/project/win_cb/openFrameworksLib.cbp`\r\n\r\nThe start of codeblocks fails with the following error: http://forums.codeblocks.org/index.php?topic=15643.0\r\nIt only affects this file, examples with recently generated cbp files still work fine.\r\nMaybe we can fix this together with #1765.\r\n\r\nWin7 64bit, Codeblocks 10.05"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1847","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1847/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1847/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1847/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1847","id":10521990,"number":1847,"title":"ofVec, double precision?","user":{"login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","html_url":"https://github.com/armadillu","followers_url":"https://api.github.com/users/armadillu/followers","following_url":"https://api.github.com/users/armadillu/following","gists_url":"https://api.github.com/users/armadillu/gists{/gist_id}","starred_url":"https://api.github.com/users/armadillu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armadillu/subscriptions","organizations_url":"https://api.github.com/users/armadillu/orgs","repos_url":"https://api.github.com/users/armadillu/repos","events_url":"https://api.github.com/users/armadillu/events{/privacy}","received_events_url":"https://api.github.com/users/armadillu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-01-31T23:15:30Z","updated_at":"2013-02-04T21:04:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm working on a project where I need double precision. \r\n\r\nI've had a look at ofVec2f, ofVec3f and ofVec4f, and I see they are independent classes. Obviously the easy route would be to make more custom classes (ofVec2d, ofVec3d and ofVec4d); but it feels kinda wrong. \r\n\r\nMaybe it would make sense to template ofVec \"à la\" ofImage? (although that would be much more work, and most likely slower execution).\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1844","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1844/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1844/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1844/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1844","id":10444481,"number":1844,"title":"HLS m3u8 HTTP live streaming video","user":{"login":"philworthy","id":184730,"avatar_url":"https://secure.gravatar.com/avatar/b9a622912fd001089ee575f1479c3a30?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b9a622912fd001089ee575f1479c3a30","url":"https://api.github.com/users/philworthy","html_url":"https://github.com/philworthy","followers_url":"https://api.github.com/users/philworthy/followers","following_url":"https://api.github.com/users/philworthy/following","gists_url":"https://api.github.com/users/philworthy/gists{/gist_id}","starred_url":"https://api.github.com/users/philworthy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philworthy/subscriptions","organizations_url":"https://api.github.com/users/philworthy/orgs","repos_url":"https://api.github.com/users/philworthy/repos","events_url":"https://api.github.com/users/philworthy/events{/privacy}","received_events_url":"https://api.github.com/users/philworthy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2013-01-30T03:11:38Z","updated_at":"2013-01-30T15:30:13Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi.\r\nDoes anyone know how to get an m3u8 (HLS) HTTP live stream working in OpenFrameworks?\r\n\r\nI've tried tweaking the 'videoPlayerExample' but I get:\r\n```\r\nvideoPlayerExampleDebug[13103:707] Error Loading Movie: Error Domain=NSOSStatusErrorDomain Code=-2149 \"Not enough movie data is available.\" (notEnoughDataErr) UserInfo=0x3348ce0 {NSLocalizedDescription=Not enough movie data is available.} [ofQTKitPlayer:error] Loading file \r\n```\r\n\r\nFrom what I can tell QTKit (which I'm assuming is the guts under the OF video player) supports m3u8 but there's not much out there in the way of help (I found this article, which is not promising: http://4pcbr.com/topic/a_story_about_hls_video_handling).\r\n\r\nThere's also an existing thread on this here:\r\nhttps://github.com/openframeworks/openFrameworks/issues/897\r\nBut it seems to have gone dead a long time ago so posting again incase anyone's listening...\r\n\r\nAny help much appreciated.\r\nThanks"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1840","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1840/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1840/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1840/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1840","id":10371336,"number":1840,"title":"ofSaveURLAsync crashes on non-url","user":{"login":"companje","id":156066,"avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"30a7e135fe77636519d74d129c60e156","url":"https://api.github.com/users/companje","html_url":"https://github.com/companje","followers_url":"https://api.github.com/users/companje/followers","following_url":"https://api.github.com/users/companje/following","gists_url":"https://api.github.com/users/companje/gists{/gist_id}","starred_url":"https://api.github.com/users/companje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/companje/subscriptions","organizations_url":"https://api.github.com/users/companje/orgs","repos_url":"https://api.github.com/users/companje/repos","events_url":"https://api.github.com/users/companje/events{/privacy}","received_events_url":"https://api.github.com/users/companje/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-01-28T10:58:23Z","updated_at":"2013-01-28T11:40:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"when calling ofSaveURLAsync(\"test\",\"test\") the program crashes (at least on Windows CodeBlocks). When calling ofSaveURLAsync(\"http://test\",\"test\") it doesn't."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1839","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1839/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1839/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1839/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1839","id":10345768,"number":1839,"title":"ofxOsc and binding multiple processes to the same ip and port. SO_REUSEPORT regarding issue #722","user":{"login":"dirtRAID","id":3393421,"avatar_url":"https://secure.gravatar.com/avatar/6e2246fd52538b4c37169696e4ae04b4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6e2246fd52538b4c37169696e4ae04b4","url":"https://api.github.com/users/dirtRAID","html_url":"https://github.com/dirtRAID","followers_url":"https://api.github.com/users/dirtRAID/followers","following_url":"https://api.github.com/users/dirtRAID/following","gists_url":"https://api.github.com/users/dirtRAID/gists{/gist_id}","starred_url":"https://api.github.com/users/dirtRAID/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dirtRAID/subscriptions","organizations_url":"https://api.github.com/users/dirtRAID/orgs","repos_url":"https://api.github.com/users/dirtRAID/repos","events_url":"https://api.github.com/users/dirtRAID/events{/privacy}","received_events_url":"https://api.github.com/users/dirtRAID/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-01-27T00:57:59Z","updated_at":"2013-01-27T09:50:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I have run into issue #722 while using oF 0073 on Linux 3.5.0-17. The problem is when binding more than one server process on the same IP to the same UDP port. This issue was raised by kylemcdonald https://github.com/openframeworks/openFrameworks/issues/722 The solution as proposed by ofTheo was to add \r\n\r\n//#ifdef __APPLE__\r\n\t\t\t// needed also for OS X - enable multiple listeners for a single port on same network interface\r\n\t\t\tint reusePort = 1; // int on posix\r\n\t\t\tsetsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &reusePort, sizeof(reusePort));\r\n//#endif\r\n\r\nto oscpack/src/ip/posix/UdpSocket.cpp\r\n\r\nThis does work, as it defines the SO_REUSEPORT property of the POSIX SOCKET API.\r\nThis is exactly the case where it should be used though it should be noted that this should not be limited to OSX, but also be enabled for OpenBSD, FreeBSD, and NetBSD.\r\n\r\nbilderbuchi ran ofTheo's fix regarding SO_REUSEADDR on Linux. I believe what he was seeing was that when SO_REUSEADDR is added, it will keep a process from exiting with an error. What is clear now is that the code was not tested for actually receiving. To bring everyone up to speed, from my research and understanding SO_REUSEADDR allows a process to bind to an IP address before it is freed. Without SO_REUSEADDR the process will crash when it tries to bind to the same IP. I was curious and created a unicast client and a listener with pyOSC. I did this to figure if this was an oF issue or an issue with how Linux implements UDP socket connections. I found that launching more than one instance of an OSC listener bound to the same IP and port would cause the second listener to crash. When going into the pyOSC code, i found it was calling SocketServer.py. Upon inspecting this code, I found that class UDPServer has a variable for allow_reuse_address = False. When I changed this to True my pyOSC server aka the listeners displayed the same behavior as seen by bilderbuchi. I noticed however that only the first running instance was able to receive information. Upon termination of the first instance, the second instance would then receive information. I then inspected to see what the POSIX SOCKET API had to say about the issue. The answer is to use SO_REUSEPORT as discovered by ofTheo. However, there is nowhere to set this on Linux without patching the kernel. The kernel needs to be patched to add SO_REUSEPORT to UDP. This has been raised on the kernel mailing lists, and has met resistance and questioning as to why it is needed. A perfect example is testing OSC communication on a local machine! \r\n\r\nIn summery it turns out that ofTheo's fix applies to all BSD operating systems. It also should be noted for Linux users running into this issue that SO_REUSEADDR is not a complete solution and that there will be no code portable solution for Linux until SO_REUSEPORT is added to the mainline kernel. There is code existing to add SO_REUSEPORT if the user wishes to compile on their own. SO_REUSPORT works well for UDP and needs improvement (from what I have read from the lists) for TCP. I have also seen from the lists that SO_REUPSORT is an aid to system performance. Security issues are raised by some of those on the mailing lists, with talk of having SO_REUSPORT being allowed only for threads with the same PID. I believe their reasoning is for security, but that would not help solve this issue. It would only prevent multiple threads of a process from running into this issue. In fact the POSIX API is clear that a process will only be able to bind to the same ip/port as another processes if they are both using SO_REUSEPORT.\r\n\r\nI hope this post is informative and helpful and hopefully we can contribute as a community in getting the Linux maintainers to add SO_REUSEPORT by default. Having end users recompile kernels does not help with portable code. I know there are other programmers that are asking for the same thing RIGHT NOW as this is a current issue for many other users regarding multiple processes bindings to the same IP and port. This is also a perfect example of how BSD is Unix and that Linux is something a little different. \r\n\r\nMy current solution involves creating servers that listen on unique ports and having the client transmit to multiple ports."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1836","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1836/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1836/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1836/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1836","id":10256802,"number":1836,"title":"fixed ofEasyCam so it works correctly when calling it´s disableMouseInpu...","user":{"login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-01-24T00:17:33Z","updated_at":"2013-02-10T02:00:59Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1836","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1836.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1836.patch"},"body":"...t function in testApp::setup()\r\nthis was being discussed here https://github.com/openframeworks/openFrameworks/pull/1834"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1829","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1829/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1829/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1829/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1829","id":10154793,"number":1829,"title":"Feature Request: Add this iOS native example with storyboards & arc","user":{"login":"rc1","id":166915,"avatar_url":"https://secure.gravatar.com/avatar/014e191932079a5a496436bcd0a5d6c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"014e191932079a5a496436bcd0a5d6c6","url":"https://api.github.com/users/rc1","html_url":"https://github.com/rc1","followers_url":"https://api.github.com/users/rc1/followers","following_url":"https://api.github.com/users/rc1/following","gists_url":"https://api.github.com/users/rc1/gists{/gist_id}","starred_url":"https://api.github.com/users/rc1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rc1/subscriptions","organizations_url":"https://api.github.com/users/rc1/orgs","repos_url":"https://api.github.com/users/rc1/repos","events_url":"https://api.github.com/users/rc1/events{/privacy}","received_events_url":"https://api.github.com/users/rc1/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-01-21T12:16:54Z","updated_at":"2013-02-11T13:31:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello,\r\n\r\nI have created an example project for iOS which uses storyboards and uses ARC (not OF, just the example project). The project repo is here: https://github.com/rc1/iosNativeStoryboardArc\r\n\r\nWould this be useful to have included in openFrameworks? If so I will integrate it into the oF's repo and create a PR.\r\n\r\nSome notes:\r\n\r\n1. It is based on the iOSNative example the develop branch.\r\n2. `[ofxiPhoneAppDelegate applicationDidFinishLaunching:app]` is not called as it creates a UIWindow, and instead the project's AppDelegate ([source here](https://github.com/rc1/iosNativeStoryboardArc/blob/master/src/AppDelegate.mm)) sets the data path and signs up for the nessicary events. This could either be a) left as it is, b) ofxiPhoneAppDelegate's `applicationDidFinishLaunching:` could maybe do inline detection of the storyboard, c) I could add `applicationDidFinishLaunching:withStoryboard:` or `applicationDidFinishLaunching:createWindow:` to ofxiPhoneAppDelegate.\r\n\r\nStoryboards are fantastic, and I think this is quite a nice solution for having *light* implementation of OF in a more UIKit iOS app, something that is missing for the example apps imo.\r\n\r\nThanks,\r\nRoss"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1828","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1828/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1828/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1828/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1828","id":10138126,"number":1828,"title":"feature request: adding tangents and binormals to ofMesh and ofVbo","user":{"login":"kalwalt","id":1275858,"avatar_url":"https://secure.gravatar.com/avatar/4ec3f9bd7d21934ccfbcc5242b786cd0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ec3f9bd7d21934ccfbcc5242b786cd0","url":"https://api.github.com/users/kalwalt","html_url":"https://github.com/kalwalt","followers_url":"https://api.github.com/users/kalwalt/followers","following_url":"https://api.github.com/users/kalwalt/following","gists_url":"https://api.github.com/users/kalwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/kalwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kalwalt/subscriptions","organizations_url":"https://api.github.com/users/kalwalt/orgs","repos_url":"https://api.github.com/users/kalwalt/repos","events_url":"https://api.github.com/users/kalwalt/events{/privacy}","received_events_url":"https://api.github.com/users/kalwalt/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-01-20T16:53:50Z","updated_at":"2013-01-20T16:54:18Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think it will be useful if you need to apply a normal map and to do parallax mapping of a model imported. I solved this in the past with a GLSL shader that compute them inside the vertex shader. but this require an extra computation to the video card. Better should send precomputed tangents and binormals to the shader. Also if you have a model mesh with normal map you can't import it now with the assimp addon . Correct me if i'm wrong.\r\n\r\nWalter"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1826","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1826/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1826/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1826/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1826","id":10128488,"number":1826,"title":"Renaming ofGraphics methods to reflect operations (e.g. ofRect => ofDrawRectangle)","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-01-19T19:23:28Z","updated_at":"2013-01-19T19:23:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The idea is to provide clarity by renaming the shape drawing methods from\r\n````\r\nofTriangle\r\nofCircle\r\nofEllipse\r\nofLine\r\nofRect\r\nofRectRounded\r\nofSphere\r\nofBox\r\nofCone\r\n````\r\nto\r\n\r\n````\r\nofDrawTriangle\r\nofDrawCircle\r\nofDrawEllipse\r\nofDrawLine\r\nofDrawRectangle\r\nofDrawRoundedRectangle\r\nofDrawSphere\r\nofDrawBox\r\nofDrawCone\r\n````\r\n\r\ndiscussion on the of-dev mailing list: \r\nhttp://dev.openframeworks.cc/pipermail/of-dev-openframeworks.cc/2013-January/006377.html\r\n\r\nThere is also a related idea of a new ofDraw(...) function but since the above would just be renaming and deprecating I think it may be best to do a separate issue \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1821","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1821/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1821/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1821/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1821","id":10113108,"number":1821,"title":"Proposal: More strict use of ofPoint / ofVec*f.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-01-18T20:59:37Z","updated_at":"2013-01-30T15:07:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"With this great PR, #1819 it seems every more important to be a little more strict about our use of `ofPoint`. 90% of the time in the API (not a scientific estimate) we use `ofPoint/ofVec3f` when we mean `ofVec2f`. Since the `ofVec*f` notation can be a little confusing, I'd propose a ofPoint2D typedef of ofVec2f. Most 2D primitives (such as `ofRectangle`, the current version of `ofPolyline` are 2D in their current form.\r\n\r\nOut of curiosity, are people using the `.z` in ofPoint when using `ofRectangle`, etc? I can see how it might be more convenient. But `ofPoint` implies things that `ofRectangle` can't deliver (think `ofLineSegmentIntersection` etc).\r\n\r\nAlternatively, perhaps we should go the route of others (like cinder, toxiclibs, etc) and create a templated point / primitive, setup? From a data and drawing standpoint 2d is no different from 3d, but when we start doing functions like `inside()` or `intersects()` then we could subclass.\r\n\r\nAnyway, just throwing this out there for discussion -- perhaps this is part of the larger API discussion that @ofZach and others have in mind."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1816","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1816/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1816/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1816/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1816","id":10022540,"number":1816,"title":"bug in ofMesh removeIndex(), removeTexCoord(), removeColor();","user":{"login":"ascorbin","id":900709,"avatar_url":"https://secure.gravatar.com/avatar/9cff00ec4a5ef434ed3694c7f84b231b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9cff00ec4a5ef434ed3694c7f84b231b","url":"https://api.github.com/users/ascorbin","html_url":"https://github.com/ascorbin","followers_url":"https://api.github.com/users/ascorbin/followers","following_url":"https://api.github.com/users/ascorbin/following","gists_url":"https://api.github.com/users/ascorbin/gists{/gist_id}","starred_url":"https://api.github.com/users/ascorbin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ascorbin/subscriptions","organizations_url":"https://api.github.com/users/ascorbin/orgs","repos_url":"https://api.github.com/users/ascorbin/repos","events_url":"https://api.github.com/users/ascorbin/events{/privacy}","received_events_url":"https://api.github.com/users/ascorbin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-01-16T15:43:19Z","updated_at":"2013-01-17T23:20:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"its possible to have more indicies than vertices, so...\r\n\r\nin removeIndex(ofIndexType index)\r\n\r\nit must be\r\n\r\n//--------------------------------------------------------------\r\nvoid ofMesh::removeIndex(ofIndexType index){\r\n if(index >= indices.size()){\r\n ofLog(OF_LOG_ERROR,\"Trying to remove index out of range of this mesh. Taking no action.\");\r\n }else{\r\n indices.erase(indices.begin() + index);\r\n bIndicesChanged = true;\r\n }\r\n}\r\n\r\ninstead of \r\n\r\n//--------------------------------------------------------------\r\nvoid ofMesh::removeIndex(ofIndexType index){\r\n if(index >= vertices.size()){\r\n ofLog(OF_LOG_ERROR,\"Trying to remove index out of range of this mesh. Taking no action.\");\r\n }else{\r\n indices.erase(indices.begin() + index);\r\n bIndicesChanged = true;\r\n }\r\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1815","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1815/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1815/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1815/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1815","id":9927313,"number":1815,"title":"android build error on develop","user":{"login":"danthemellowman","id":719564,"avatar_url":"https://secure.gravatar.com/avatar/79621943dfc6272eae9697464ad33696?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"79621943dfc6272eae9697464ad33696","url":"https://api.github.com/users/danthemellowman","html_url":"https://github.com/danthemellowman","followers_url":"https://api.github.com/users/danthemellowman/followers","following_url":"https://api.github.com/users/danthemellowman/following","gists_url":"https://api.github.com/users/danthemellowman/gists{/gist_id}","starred_url":"https://api.github.com/users/danthemellowman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danthemellowman/subscriptions","organizations_url":"https://api.github.com/users/danthemellowman/orgs","repos_url":"https://api.github.com/users/danthemellowman/repos","events_url":"https://api.github.com/users/danthemellowman/events{/privacy}","received_events_url":"https://api.github.com/users/danthemellowman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":10,"created_at":"2013-01-13T22:10:27Z","updated_at":"2013-02-19T16:57:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm getting a build error when trying to compile the core for android. The compiler complains of \r\n\r\n #ifdef TARGET_ANDROID\r\n\t#include \r\n\r\nin `ofConstansh.h` line `169`\r\n\r\n@arturoc any ideas? \r\n\r\nhttps://gist.github.com/4526448\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1813","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1813/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1813/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1813/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1813","id":9919536,"number":1813,"title":"Add Poco::ErrorHandler support to ofThread to catch uncaught in-thread exceptions.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-01-13T07:50:03Z","updated_at":"2013-03-09T16:39:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This would be very helpful for debugging threads, as it seems that there are a few mysterious `ofThread`-related bugs around and they often have to do with uncaught exceptions.\r\n\r\nAn example of how it could be used / implemented / integrated is here: https://gist.github.com/4522874\r\n\r\nMore info here on Poco's ErrorHandler base class is here.\r\nhttp://pocoproject.org/slides/130-Threads.pdf\r\nhttp://www.appinf.com/docs/poco/Poco.ErrorHandler.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1810","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1810/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1810/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1810/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1810","id":9897631,"number":1810,"title":"update osx scripts to work with 071 folder structure","user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2013-01-11T22:50:13Z","updated_at":"2013-01-16T18:34:18Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1810","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1810.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1810.patch"},"body":"and mimic the linux scripts.\r\n\r\ntested on os x 10.8.2.\r\n\r\ncloses #1693.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1805","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1805/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1805/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1805/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1805","id":9811909,"number":1805,"title":"Moving binaries out of the repo","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-01-09T16:56:10Z","updated_at":"2013-01-09T16:59:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Binaries bloat the repo cause they can't be diffed by git, so everytime you update a binary, you increase size by that file's size - text files just store the diff. The repo gets larger and slower and on a checkout users also have to pull all those old binary files down, too (primary problem according to TAZ).\r\n\r\nThis is a pretty big, difficult and long-term issue, so I collected my findings so far in a Wiki page: https://github.com/openframeworks/openFrameworks/wiki/Moving-binaries-out-of-the-repo (feel free to add your wisdom!), but I thought an issue would be more efficient for discussion."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1804","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1804/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1804/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1804/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1804","id":9798156,"number":1804,"title":"ofxOSC: Make bundles optional","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2013-01-09T09:31:05Z","updated_at":"2013-01-13T20:31:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Apparently, some libraries (e.g. Arduino's OSC library) can't deal with OSc bundles. while it would be more appropriate that those libraries are fixed (bundles are part of the official [spec](http://opensoundcontrol.org/spec-1_0)), we could in the meantime work around this limitation by introducing an option to skip wrapping bundles around every sent message [here](https://github.com/openframeworks/openFrameworks/blob/master/addons/ofxOsc/src/ofxOscSender.cpp#L83-L85)\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6563.msg42814.html#msg42814\r\nhttp://forum.openframeworks.cc/index.php/topic,11693.msg51583\r\n\r\nseems like an easy fix, could probably be implemented with an additional default argument `bool wrapInBundle = true` in `ofxOscSender::sendMessage` to not affect existing code."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1802","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1802/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1802/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1802/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1802","id":9779503,"number":1802,"title":"arm-linux (aka Raspberry Pi / e-nix / etc) branch tracking issue.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2013-01-08T19:18:04Z","updated_at":"2013-02-19T16:57:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This issue is here as a cross reference to the embedded / arm-linux branch here:\r\n\r\nhttps://github.com/openFrameworks-RaspberryPi/openFrameworks develop-raspberrypi branch\r\n\r\nWhen \"core\" issues are addressed / fixed, etc in that branch, we will list them here. When we merge the develop-raspberrypi branch into the core in the coming weeks / month it will make closing core easier.\r\n\r\nping @arturoc @jvcleave @danthemellowman @kawalt @bilderbuchi (and anyone else I've missed!)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1797","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1797/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1797/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1797/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1797","id":9716863,"number":1797,"title":"feature ofFog","user":{"login":"kalwalt","id":1275858,"avatar_url":"https://secure.gravatar.com/avatar/4ec3f9bd7d21934ccfbcc5242b786cd0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ec3f9bd7d21934ccfbcc5242b786cd0","url":"https://api.github.com/users/kalwalt","html_url":"https://github.com/kalwalt","followers_url":"https://api.github.com/users/kalwalt/followers","following_url":"https://api.github.com/users/kalwalt/following","gists_url":"https://api.github.com/users/kalwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/kalwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kalwalt/subscriptions","organizations_url":"https://api.github.com/users/kalwalt/orgs","repos_url":"https://api.github.com/users/kalwalt/repos","events_url":"https://api.github.com/users/kalwalt/events{/privacy}","received_events_url":"https://api.github.com/users/kalwalt/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-01-06T14:56:29Z","updated_at":"2013-01-15T13:47:52Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i made this littlle addition to the core you can find here https://github.com/kalwalt/openFrameworks/tree/feature-kalwalt-ofFog\r\n , previuosly was an addon\r\n https://github.com/kalwalt/ofxFog\r\n\r\ni think there are some improvements to do. but i want to know if make sense to add it to the core lib or not.\r\nThe example itself i think could be improved adding others simple meshes to render in a better way the fog effect.\r\nlet me know what you think. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1796","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1796/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1796/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1796/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1796","id":9710132,"number":1796,"title":"drawEllipse mini bug","user":{"login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-01-05T21:50:42Z","updated_at":"2013-01-06T14:49:52Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I found this inside void ofGLRenderer::drawEllipse(float x, float y, float z, float width, float height)\r\n\r\n\t`vector & circleCache = circlePolyline.getVertices();\r\n\tfor(int i=0;i<(int)circleCache.size();i++){\r\n\t\tcirclePoints[i].set(radiusX*circlePolyline[i].x+x,radiusY*circlePolyline[i].y+y,z);\r\n\t}`\r\n\r\nIt makes no sense having circleCache as it is not being used besides getting it's size. Shouldn't this get removed or instead use inside the for loop the circleCache intead of circlePolyline to retrieve the vertices?\r\n draw circle actually uses the circle cache.\r\n`ofGLRenderer::drawCircle(float x, float y, float z, float radius){\r\n\tvector & circleCache = circlePolyline.getVertices();\r\n\tfor(int i=0;i<(int)circleCache.size();i++){\r\n\t\tcirclePoints[i].set(radius*circleCache[i].x+x,radius*circleCache[i].y+y,z);\r\n\t}`\r\n\r\nwouldn't it be better that draw circle calls drawEllipse and passes the radius as the height and width?\r\ndoes the 2 extra multiplications involved make it not so optimal?\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1795","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1795/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1795/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1795/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1795","id":9707648,"number":1795,"title":"Feature shader include","user":{"login":"chparsons","id":298082,"avatar_url":"https://secure.gravatar.com/avatar/b320a570028e58a10abedd141ee63668?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b320a570028e58a10abedd141ee63668","url":"https://api.github.com/users/chparsons","html_url":"https://github.com/chparsons","followers_url":"https://api.github.com/users/chparsons/followers","following_url":"https://api.github.com/users/chparsons/following","gists_url":"https://api.github.com/users/chparsons/gists{/gist_id}","starred_url":"https://api.github.com/users/chparsons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chparsons/subscriptions","organizations_url":"https://api.github.com/users/chparsons/orgs","repos_url":"https://api.github.com/users/chparsons/repos","events_url":"https://api.github.com/users/chparsons/events{/privacy}","received_events_url":"https://api.github.com/users/chparsons/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2013-01-05T17:18:44Z","updated_at":"2013-03-11T07:55:48Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1795","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1795.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1795.patch"},"body":"see https://github.com/openframeworks/openFrameworks/issues/1731#issuecomment-11916584\r\n\r\nofShader support for #pragma includes, currenlty working only with shaders loading from files, includes from inside shaders keep the same path logic as ofShader::load and ofShader::setupShaderFromFile, i.e. it uses the OF data path.."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1793","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1793/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1793/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1793/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1793","id":9696212,"number":1793,"title":"Feature save load camera","user":{"login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-01-04T22:01:03Z","updated_at":"2013-01-04T22:01:03Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1793","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1793.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1793.patch"},"body":"save and load methods for ofCamera and ofEasyCam.\r\nofEasyCam inherits from ofCamera and and also saves several other parameters.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1790","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1790/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1790/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1790/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1790","id":9682798,"number":1790,"title":"ofImage::draw doesn't work on windows XP","user":{"login":"jsheperd","id":2662055,"avatar_url":"https://secure.gravatar.com/avatar/10a544e0d54efdf22dc0f055ca488bd0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10a544e0d54efdf22dc0f055ca488bd0","url":"https://api.github.com/users/jsheperd","html_url":"https://github.com/jsheperd","followers_url":"https://api.github.com/users/jsheperd/followers","following_url":"https://api.github.com/users/jsheperd/following","gists_url":"https://api.github.com/users/jsheperd/gists{/gist_id}","starred_url":"https://api.github.com/users/jsheperd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsheperd/subscriptions","organizations_url":"https://api.github.com/users/jsheperd/orgs","repos_url":"https://api.github.com/users/jsheperd/repos","events_url":"https://api.github.com/users/jsheperd/events{/privacy}","received_events_url":"https://api.github.com/users/jsheperd/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":13,"created_at":"2013-01-04T15:15:11Z","updated_at":"2013-01-08T10:41:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nexamples/graphics/blendingExample shows only an empty squere at the cursor position on XP (win32).\r\nI have moved the /bin distro folder to another XP, and I have seen the same result.\r\n\r\nI have checked with v0072 and v0073 on my XP and on my Win7 too.\r\n\r\nSo the next thing works on windows7, but not on XP:\r\n\r\nvoid testApp::draw(){\r\n ofImage test;\r\n test.loadImage(\"rainbow.jpg\");\r\n test.draw(mouseX, mouseY, 100, 100);\r\n}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1780","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1780/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1780/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1780/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1780","id":9590453,"number":1780,"title":"setText bug in ofxiPhoneKeyboard ","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-12-31T09:34:59Z","updated_at":"2012-12-31T09:34:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"just copying this from the forum - my searches didn't turn up anything\r\n\r\nfrom\r\nhttp://forum.openframeworks.cc/index.php/topic,11561.0/topicseen.html\r\n\r\nHi folks,\r\n\r\nFound a bug in setting the text in textfields, in OF0073.\r\n\r\nIf you just use the normal setText method it just displays it temporarily (as if you're still editing) and doesn't save it.\r\nYou can check this by trying a getText immediately after the setText and you'll see the getText returns null. getLabelText returns the setText value, but as soon as you close the textfield, that value is gone.\r\n\r\nSo, if you want your setText to store the value immediately upon setting, you need to do this:\r\n\r\nIn ofxiPhoneKeyboard.mm:\r\n\r\n```\r\n- (void) setText: (NSString *)text \r\n{ \r\n [_textField setText:text]; \r\n \r\n} \r\n```\r\nNew code:\r\n```\r\n- (void) setText: (NSString *)text \r\n{ \r\n [_textField setText:text]; \r\n [self textFieldDidEndEditing:_textField]; \r\n \r\n} \r\n```\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1779","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1779/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1779/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1779/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1779","id":9578914,"number":1779,"title":"add an example of a single-file project","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-12-30T01:00:34Z","updated_at":"2012-12-30T12:21:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"my current starting point for prototyping new ideas with OF looks like this:\r\n\r\n````c++\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofMain.h\"\r\n\r\nclass ofApp : public ofBaseApp {\r\npublic:\r\n\tvoid setup() {\r\n\t}\r\n\tvoid update() {\r\n\t}\r\n\tvoid draw() {\r\n\t}\r\n};\r\n\r\nint main() {\r\n\tofAppGlutWindow window;\r\n\tofSetupOpenGL(&window, 1280, 720, OF_WINDOW);\r\n\tofRunApp(new ofApp());\r\n}\r\n````\r\n\r\nthat's a single-file project contained entirely in a `main.cpp`. i like it because it means i don't have to answer questions like \"should this go in the header or not\" when i'm only prototyping a small idea.\r\n\r\n@bilderbuchi just suggested that it might be helpful to have a minimal example like this in the `examples` folder to show people how they might construct a single-file example for reporting bugs or suggesting features (for example like https://github.com/openframeworks/openFrameworks/issues/1674#issuecomment-11756116). i think that could be really cool, and i'd be glad to add this if other people are also interested. so this issue is more to gauge interest.\r\n\r\np.s.: as an aside, it would be cool if we had a macro like this:\r\n\r\n````c++\r\n#define ofStart(appName, width, height, windowMode) \\\r\nint main() {\\\r\n\tofAppGlutWindow window;\\\r\n\tofSetupOpenGL(&window, width, height, windowMode);\\\r\n\tofRunApp(new appName());\\\r\n}\r\n````\r\n\r\nand `ofMain.h` included `ofAppGlutWindow.h`, then a minimal single-file example would look like:\r\n\r\n````c++\r\n#include \"ofMain.h\"\r\nclass ofApp : public ofBaseApp {\r\npublic:\r\n\tvoid setup() {}\r\n\tvoid update() {}\r\n\tvoid draw() {}\r\n};\r\nofStart(ofApp, 1280, 720, OF_WINDOW);\r\n````\r\n\r\nthis idea is from cinder, which uses:\r\n\r\n````c++\r\n#if defined( CINDER_MAC )\r\n\t#define CINDER_APP_BASIC( APP, RENDERER )\t\t\t\t\t\t\t\t\\\r\n\tint main( int argc, char * const argv[] ) {\t\t\t\t\t\t\t\t\\\r\n\t\tcinder::app::AppBasic::prepareLaunch();\t\t\t\t\t\t\t\t\\\r\n\t\tcinder::app::AppBasic *app = new APP;\t\t\t\t\t\t\t\t\\\r\n\t\tcinder::app::Renderer *ren = new RENDERER;\t\t\t\t\t\t\t\\\r\n\t\tcinder::app::AppBasic::executeLaunch( app, ren, #APP, argc, argv );\t\\\r\n\t\tcinder::app::AppBasic::cleanupLaunch();\t\t\t\t\t\t\t\t\\\r\n\t\treturn 0;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\\\r\n\t}\r\n...\r\n````"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1778","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1778/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1778/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1778/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1778","id":9578598,"number":1778,"title":"ofQTKitPlayer crash with ofxCocoaWindow","user":{"login":"ascorbin","id":900709,"avatar_url":"https://secure.gravatar.com/avatar/9cff00ec4a5ef434ed3694c7f84b231b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9cff00ec4a5ef434ed3694c7f84b231b","url":"https://api.github.com/users/ascorbin","html_url":"https://github.com/ascorbin","followers_url":"https://api.github.com/users/ascorbin/followers","following_url":"https://api.github.com/users/ascorbin/following","gists_url":"https://api.github.com/users/ascorbin/gists{/gist_id}","starred_url":"https://api.github.com/users/ascorbin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ascorbin/subscriptions","organizations_url":"https://api.github.com/users/ascorbin/orgs","repos_url":"https://api.github.com/users/ascorbin/repos","events_url":"https://api.github.com/users/ascorbin/events{/privacy}","received_events_url":"https://api.github.com/users/ascorbin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-12-29T23:54:21Z","updated_at":"2013-01-01T00:33:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"always after a while this crashes:\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup() {\r\n\r\nmov.loadMovie(\"movies/#4.6.mov\", OF_QTKIT_DECODE_TEXTURE_ONLY);\r\nmov.play();\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update() {\r\n\r\nmov.update();\r\n\r\nmov.setPosition(ofRandom(1.0));\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw() {\r\n\r\nmov.draw(20, 20, 320, 160);\r\n}\r\n\r\na multithread/openGL problem?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1772","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1772/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1772/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1772/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1772","id":9525221,"number":1772,"title":"ios main.mm examples are a bit inconsistant (examples vs template, etc)","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-12-26T18:55:19Z","updated_at":"2012-12-27T17:12:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nthe template for IOS and the main.mm for some of the examples are not the same, so it's hard to tell what the best main.mm is... I am making new projects with the project generator and they have the thin main.mm below (no window generation / window options)....\r\n\r\nthere are currently two, which seem to be iphone / ipad specific: \r\n\r\n #include \"ofMain.h\"\r\n #include \"testApp.h\"\r\n\r\n int main(){\r\n ofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\n \r\n iOSWindow->enableAntiAliasing(4);\r\n \r\n iOSWindow->enableRetinaSupport();\r\n \r\n ofSetupOpenGL(iOSWindow, 480, 320, OF_FULLSCREEN);\r\n ofRunApp(new testApp);\r\n }\r\n\r\nvs\r\n\r\n #include \"ofMain.h\"\r\n #include \"testApp.h\"\r\n\r\n int main(){\r\n ofSetupOpenGL(1024,768, OF_FULLSCREEN);\t\t\t// <-------- setup the GL context\r\n\r\n ofRunApp(new testApp);\r\n }\r\n\r\nI wonder if it would help things to standardize the main.mm and just have some #define for ipad vs iphone target or some commented out section explaining what to use when. \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1771","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1771/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1771/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1771/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1771","id":9520595,"number":1771,"title":"ofxCvImage::erode(int value) support","user":{"login":"yty","id":841770,"avatar_url":"https://secure.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-12-26T12:58:23Z","updated_at":"2012-12-28T22:48:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I hope everyone agrees dilate and erode setting values...\r\n\r\nvoid ofxCvImage::erode(int value) {\r\n\tif( !bAllocated ){\r\n\t\tofLog(OF_LOG_ERROR, \"in erode, need to allocate image first\");\r\n\t\treturn;\t\t\r\n\t}\r\n\tcvErode( cvImage, cvImageTemp, 0, value );\r\n\tswapTemp();\r\n flagImageChanged();\r\n}\r\nvoid ofxCvImage::dilate(int value) {\r\n\tif( !bAllocated ){\r\n\t\tofLog(OF_LOG_ERROR, \"in dilate, need to allocate image first\");\r\n\t\treturn;\t\t\r\n\t}\r\n\tcvDilate( cvImage, cvImageTemp, 0, value );\r\n\tswapTemp();\r\n flagImageChanged();\r\n}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1766","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1766/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1766/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1766/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1766","id":9476871,"number":1766,"title":"ofMesh draw wireframe with indices on IOS","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-12-21T21:56:10Z","updated_at":"2012-12-22T00:43:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"test code: \r\n\r\n ofEnableAlphaBlending();\r\n \r\n ofMesh temp;\r\n temp.setMode(OF_PRIMITIVE_TRIANGLES);\r\n \r\n temp.addVertex( ofPoint(200,500));\r\n temp.addVertex( ofPoint(300,500));\r\n temp.addVertex( ofPoint(250,550));\r\n temp.addVertex( ofPoint(300,550));\r\n temp.addVertex( ofPoint(250,600));\r\n \r\n temp.addIndex(0);\r\n temp.addIndex(1);\r\n temp.addIndex(2);\r\n \r\n temp.addIndex(1);\r\n temp.addIndex(2);\r\n temp.addIndex(3);\r\n \r\n temp.addIndex(2);\r\n temp.addIndex(3);\r\n temp.addIndex(4);\r\n \r\n ofSetColor(255,255,255, 60);\r\n \r\n temp.draw();\r\n \r\n ofSetColor(255,0,0);\r\n \r\n temp.drawWireframe();\r\n\r\nproduces odd output on IOS\r\n\r\n![Screen Shot 2012-12-21 at 4 52 23 PM](https://f.cloud.github.com/assets/142897/27977/0d410a5a-4bb9-11e2-904e-15467311fd05.png)\r\n\r\nvs desktop\r\n\r\n![Screen Shot 2012-12-21 at 4 52 39 PM](https://f.cloud.github.com/assets/142897/27978/17d47902-4bb9-11e2-9951-7b3b9a2ad68f.png)\r\n\r\nI've seen glitchier things w/ mesh.drawWireframe() on ios when the mesh has indices, this is just a simple test to show that something's not totally right. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1760","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1760/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1760/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1760/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1760","id":9381371,"number":1760,"title":"Include xcode project for building .framework on os x. ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-12-18T20:51:06Z","updated_at":"2013-02-11T12:12:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Would be useful for other projects which might use OF internally. \r\nWe would ship an xcode project which would compile and build a .framework. \r\n\r\nWhen we add 64 bit support we could have a 32bit and 64bit target . "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1759","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1759/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1759/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1759/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1759","id":9357318,"number":1759,"title":"glPushAttrib causing slow rendering of ofMesh","user":{"login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","html_url":"https://github.com/NickHardeman","followers_url":"https://api.github.com/users/NickHardeman/followers","following_url":"https://api.github.com/users/NickHardeman/following","gists_url":"https://api.github.com/users/NickHardeman/gists{/gist_id}","starred_url":"https://api.github.com/users/NickHardeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickHardeman/subscriptions","organizations_url":"https://api.github.com/users/NickHardeman/orgs","repos_url":"https://api.github.com/users/NickHardeman/repos","events_url":"https://api.github.com/users/NickHardeman/events{/privacy}","received_events_url":"https://api.github.com/users/NickHardeman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-12-18T04:39:24Z","updated_at":"2012-12-18T08:55:18Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"glPushAttrib appears to be slowing down rendering quite a bit.\r\nI have a considerable amount of box meshes that I am rendering perfectly fine at 60fps. I switched over to rendering a single ofMesh many times that only has 6 verts and it drops the frame rate in half.\r\n\r\nI am using OF 0073 official release, non-git version.\r\n\r\nWhen I comment out glPushAttrib in ofGLRenderer, it jumps back up to 60fps\r\n\r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofGLRenderer.cpp#L71-L76\r\n\r\nThoughts on addressing this issue?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1758","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1758/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1758/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1758/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1758","id":9325250,"number":1758,"title":"Xcode MacOSX - iOS use \"rysnc\" rather than \"cp\" when copying \"bin/data\" files","user":{"login":"danoli3","id":830748,"avatar_url":"https://secure.gravatar.com/avatar/b644be9646f09db836ef8e1339a7ed4e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b644be9646f09db836ef8e1339a7ed4e","url":"https://api.github.com/users/danoli3","html_url":"https://github.com/danoli3","followers_url":"https://api.github.com/users/danoli3/followers","following_url":"https://api.github.com/users/danoli3/following","gists_url":"https://api.github.com/users/danoli3/gists{/gist_id}","starred_url":"https://api.github.com/users/danoli3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danoli3/subscriptions","organizations_url":"https://api.github.com/users/danoli3/orgs","repos_url":"https://api.github.com/users/danoli3/repos","events_url":"https://api.github.com/users/danoli3/events{/privacy}","received_events_url":"https://api.github.com/users/danoli3/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":3,"created_at":"2012-12-17T06:46:19Z","updated_at":"2013-02-28T07:11:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Rsync offers faster speed overall in build times when copying files over to the device or to the target.\r\nIt uses compressed transfers, checksum comparisons (so not re-copying the same unchanged files over and over again) and is even used by Xcode when transferring files linked in projects structure\r\n\r\nProposed change to Run Script:\r\nrsync -avz --exclude='.DS_Store' \"${SRCROOT}/bin/data/\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\r\n\r\nManual page for Rsync:\r\nhttp://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/rsync.1.html\r\n\r\nThe current run script is:\r\ncp -rf bin/data/ \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app\"\r\n\r\nManual page for cp:\r\nhttp://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/cp.1.html\r\n\r\n\r\nThis system still has the same problem as the \"cp\" command by not removing files in the target location that have been removed from the source directory. (Which can only currently be resolved by cleaning the project, or manually deleting the files in the app structure).\r\n\r\nRysnc does allow for you though to delete everything within the destination folder / app other than certain files and folders, so this could be adapted to not delete Xcode objects / folders however I think the clean method is okay for now.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1756","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1756/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1756/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1756/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1756","id":9296156,"number":1756,"title":"ofTexture needs massive cleanup.","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-12-14T20:14:04Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofTexture is still very arbitrary, messy and inconsistent. \r\n\r\nThere are some very strange things like:\r\n- isAllocate() and bAllocated()\r\n- ofSetMinMagFilters() which is immediate and doesn't actually write to variables\r\n- same with the global clamping methods. \r\n- a ton of static functions at the top of the cpp\r\n- too many #ifdef OPENGLES \r\n- duplicated allocate code \r\n- mipmaps only if texture compression is set ( should be sep ) \r\n- also no mipmaps for ES \r\n- supports arbitrary GL formats. we need a better way of handling a large number of formats. \r\n\r\nOutstanding ofTexture issues ( note this list doesn't mean we should implement all suggestions )\r\n#1696\r\n#228 \r\n#810\r\n#454\r\n#292\r\n#1175\r\n\r\nI'm going to take a stab at doing a major cleanup.\r\nWill add it as a PR once there is some stuff to review. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1753","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1753/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1753/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1753/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1753","id":9242589,"number":1753,"title":"ofMatrix4x4 getScale - possible bug","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-12-13T05:00:09Z","updated_at":"2012-12-14T09:03:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"hey, noticed some strange behaviour in ofMatrix4x4 when retrieving the matrix scale via getScale.\r\n\r\nso i have two matrices which im tweening/interpolating between.\r\non the two tween keyframes the matrices are correct... i know this because im rendering a sprite on each keyframe and the sprite is scaled correctly like im expecting it be.\r\n\r\nproblem occurs when im interpolating between the two keyframes.\r\ni get the scale for the keyframe matrices, interpolate the scale and then create another matrix with the interpolated scale... and things are looking dodgy. so it has to be something going wrong with either setting the scale on a matrix or getting the scale from the matrix.\r\n\r\ncurrently getScale is looking like this,\r\n\r\n`inline ofVec3f ofMatrix4x4::getScale() const {`\r\n`\tofVec3f x_vec(_mat[0][0], _mat[1][0], _mat[2][0]);`\r\n`\tofVec3f y_vec(_mat[0][1], _mat[1][1], _mat[2][1]);`\r\n`\tofVec3f z_vec(_mat[0][2], _mat[1][2], _mat[2][2]);`\r\n`\treturn ofVec3f(x_vec.length(), y_vec.length(), z_vec.length());`\r\n`}`\r\n\r\nbut when changing to this, im getting the expected result\r\n\r\n`inline ofVec3f ofMatrix4x4::getScale() const {`\r\n`\tofVec3f x_vec(_mat[0][0], _mat[0][1], _mat[0][2]);`\r\n`\tofVec3f y_vec(_mat[1][0], _mat[1][1], _mat[1][2]);`\r\n`\tofVec3f z_vec(_mat[2][0], _mat[2][1], _mat[2][2]);`\r\n`\treturn ofVec3f(x_vec.length(), y_vec.length(), z_vec.length());`\r\n`}`\r\n\r\nbug?\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1748","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1748/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1748/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1748/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1748","id":9176471,"number":1748,"title":"the deprecation macros break the documentation","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-12-11T11:28:19Z","updated_at":"2012-12-12T11:12:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"doxygen can't parse that kind of macro correctly so those functions break the docs.\r\n\r\nby now i've just removed everything deprecated "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1746","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1746/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1746/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1746/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1746","id":9174429,"number":1746,"title":"New Android Application: cp: cannot stat `bin/OFActivity-debug.apk': No such file or directory","user":{"login":"MinaSamy","id":1730084,"avatar_url":"https://secure.gravatar.com/avatar/b1e6404b0066c34f91df1c5a0c4b140d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b1e6404b0066c34f91df1c5a0c4b140d","url":"https://api.github.com/users/MinaSamy","html_url":"https://github.com/MinaSamy","followers_url":"https://api.github.com/users/MinaSamy/followers","following_url":"https://api.github.com/users/MinaSamy/following","gists_url":"https://api.github.com/users/MinaSamy/gists{/gist_id}","starred_url":"https://api.github.com/users/MinaSamy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MinaSamy/subscriptions","organizations_url":"https://api.github.com/users/MinaSamy/orgs","repos_url":"https://api.github.com/users/MinaSamy/repos","events_url":"https://api.github.com/users/MinaSamy/events{/privacy}","received_events_url":"https://api.github.com/users/MinaSamy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2012-12-11T10:04:14Z","updated_at":"2013-01-03T19:08:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I receive an error when I create a new android project then try to run it.\r\nthe steps I followed are:\r\n\r\n1-Creat: a new Android application by copying an existing project from the examples.\r\n2-Change the default package name to: cc.openframeworks.[your app name]\r\n3-Rename the package from eclipse.\r\n4-run android.bat update command to update the build.xml and local.properties\r\n4-The application is built successfully and libraries are generated in the libs folder.\r\n\r\nWhen I run using AndroidInstall I receive the following error:\r\nBUILD SUCCESSFUL\r\nTotal time: 13 seconds\r\ncp bin/OFActivity-debug.apk bin/androidTest.apk\r\ncp: cannot stat `bin/OFActivity-debug.apk': No such file or directory\r\nmake: *** [AndroidInstall] Error 1\r\n\r\nwhat can be wrong here ?\r\n\r\nUPDATE:\r\nafter investigating the make files, I believe it has something to do with the Makefile.android in the libs/openFrameworksCompiled/projet/makefileCommmon directory\r\nstarting from line 162:\r\n\r\nif [ -f obj/$(BIN_NAME) ]; then rm obj/$(BIN_NAME); fi\r\n\t#touch AndroidManifest.xml\r\n\tif [ \"$(shell uname)\" = \"MINGW32_NT-6.1\" ]; then \\\r\n\tcmd //c $(SDK_ROOT)/tools/android.bat update project --target $(NDK_PLATFORM) --path $(PROJECT_PATH); \\\r\n\telse \\\r\n\t$(SDK_ROOT)/tools/android update project --target $(NDK_PLATFORM) --path $(PROJECT_PATH); \\\r\n\tfi\r\n\tif [ -d bin/classes ]; then rm -r bin/classes; fi\r\n\tif [ -d bin/res ]; then rm -r bin/res; fi\r\n\tif [ -f bin/classes.dex ]; then rm bin/classes.dex; fi\r\n\tif [ -f bin/classes.dex.d ]; then rm bin/classes.dex.d; fi\r\n\tif [ -f bin/OFActivity.ap_ ]; then rm bin/OFActivity.ap_; fi\r\n\tif [ -f bin/OFActivity.ap_.d ]; then rm bin/OFActivity.ap_.d; fi\r\n\tif [ -f bin/OFActivity-debug.apk ]; then rm bin/OFActivity-debug.apk; fi\r\n\tif [ -f bin/OFActivity-debug-unaligned.apk ]; then rm bin/OFActivity-debug-unaligned.apk; fi\r\n\tif [ -f bin/OFActivity-debug-unaligned.apk.d ]; then rm bin/OFActivity-debug-unaligned.apk.d; fi\r\n\tif [ -f bin/$(APPNAME).apk ]; then rm bin/$(APPNAME).apk; fi\r\n\tif [ -f bin/build.prop ]; then rm bin/build.prop; fi\r\n\tif [ -f bin/jarlist.cache ]; then rm bin/jarlist.cache; fi\r\n\tif [ \"$(shell uname)\" = \"MINGW32_NT-6.1\" ]; then \\\r\n\t$(ANT_BIN)/ant debug; \\"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1744","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1744/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1744/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1744/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1744","id":9173651,"number":1744,"title":"ofMesh drawWireframe","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-12-11T09:27:24Z","updated_at":"2012-12-11T16:46:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i came across an issue today when trying to draw a ofMesh wireframe.\r\nwhen the wireframe is drawn inside ofGLRenderer, the draw mode is always set to GL_LINES.\r\nbut the result was an incomplete wireframe.\r\nwhen i set the draw mode to GL_LINE_STRIP it was rendering correctly.\r\n\r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofGLRenderer.cpp#L101\r\n\r\ni think when choosing between GL_LINES and GL_LINE_STRIP to draw wireframes,\r\nit depends on the way the triangle vertices are stores,\r\nOF_PRIMITIVE_TRIANGLES, OF_PRIMITIVE_TRIANGLE_STRIP etc...\r\nbut this is a bit of a guess atm... \r\nhas anyone else come across this?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1743","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1743/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1743/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1743/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1743","id":9171240,"number":1743,"title":"ofDirectory.listDir() Does not support wide string (vs2010)","user":{"login":"yty","id":841770,"avatar_url":"https://secure.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-12-11T07:35:07Z","updated_at":"2012-12-11T07:45:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"of 0.73+vs2010.....ofDirectory Can not get wide-string file name correctly..\r\n\r\nFor example:\r\n中文.jpg   (Chinese)\r\n日本語.jpg (Japanese)\r\n한국의.jpg (Korean)\r\n\r\nBut codeblock10.05 but no problem ..\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1742","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1742/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1742/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1742/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1742","id":9166709,"number":1742,"title":"Need stack based handling of FBO bindings?","user":{"login":"timscaffidi","id":177125,"avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2ad43b65cb02eca2b722133681647492","url":"https://api.github.com/users/timscaffidi","html_url":"https://github.com/timscaffidi","followers_url":"https://api.github.com/users/timscaffidi/followers","following_url":"https://api.github.com/users/timscaffidi/following","gists_url":"https://api.github.com/users/timscaffidi/gists{/gist_id}","starred_url":"https://api.github.com/users/timscaffidi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timscaffidi/subscriptions","organizations_url":"https://api.github.com/users/timscaffidi/orgs","repos_url":"https://api.github.com/users/timscaffidi/repos","events_url":"https://api.github.com/users/timscaffidi/events{/privacy}","received_events_url":"https://api.github.com/users/timscaffidi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-12-11T02:08:37Z","updated_at":"2012-12-11T02:08:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I ran into the inverted bitmap string issue (#1474) again when I was drawing to an FBO which was itself drawn inside another FBO. The \"nested\" FBO was actually an internal FBO used by an addon's draw method, neatly hidden away from view.\r\n\r\nexample:\r\n\r\n```c++\r\nvoid testApp::draw(){\r\n fbo1.begin();\r\n addon.draw(); // binds draws then releases an internal FBO\r\n\r\n ofDrawBitmapString(...);\r\n fbo1.end();\r\n\r\n fbo1.draw(); // inverted text\r\n}\r\n```\r\nThe outer FBO remains bound after the internal one releases, so openGl must be using a stack like mechanism. I can tell because the FBO contains the text, it is just inverted. The OF gl renderer only has support for one FBO, so once the internal one gets released, it thinks no FBO is bound, and won't re-invert the bitmap strings.\r\n\r\nI fixed the issue by calling `fbo1.end(); fbo1.begin();` prior to drawing the bitmap string, but a proper fix would be using a stack to keep track of bound FBOs. This will also affect anything else using the `currentFbo` variable of `ofGLRenderer`.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1741","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1741/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1741/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1741/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1741","id":9163635,"number":1741,"title":"look into adding video streaming support to AVFoundationPlayer","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2012-12-10T23:36:29Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the initial forum topic is here,\r\nhttp://forum.openframeworks.cc/index.php/topic,11497"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1740","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1740/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1740/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1740/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1740","id":9162545,"number":1740,"title":"add gryoscope support to ofxiOS","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2012-12-10T22:58:52Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the gyro example should be merged with the accelerometer example.\r\n\r\nrequested in #1733"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1739","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1739/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1739/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1739/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1739","id":9162485,"number":1739,"title":"integrate twitter and facebook support into ofxiOS","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-12-10T22:57:08Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"requested in #1733"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1737","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1737/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1737/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1737/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1737","id":9162344,"number":1737,"title":"ios main.h should show how to enable retina, depth, anti-aliasing etc...","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-12-10T22:53:20Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the below should be included in all ios examples so users know the options are there and can use them when needed.\n\n`ofAppiPhoneWindow *window = new ofAppiPhoneWindow();`\n`window->enableDepthBuffer();`\n`window->enableRetinaSupport();`\n`window->enableAntiAliasing(4);`\n\nrequested in #1733"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1736","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1736/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1736/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1736/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1736","id":9162199,"number":1736,"title":"ofxiPhoneImagePicker should be able to load images from image library","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-12-10T22:49:07Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"requested in #1733"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1735","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1735/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1735/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1735/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1735","id":9143466,"number":1735,"title":"ofxiPhone needs an ofImage->UIImage function","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-12-10T15:02:44Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"sort of the reverse of: ofxiPhoneUIImageToOFImage\nSome reference code here: http://iphonedevsdk.com/forum/iphone-sdk-development/23525-cgimagecreate-alpha.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1733","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1733/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1733/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1733/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1733","id":9123036,"number":1733,"title":"Request more iOS examples !","user":{"login":"dorald","id":472782,"avatar_url":"https://secure.gravatar.com/avatar/d0d9cf298af15f5198ab8ab5c68a0670?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d0d9cf298af15f5198ab8ab5c68a0670","url":"https://api.github.com/users/dorald","html_url":"https://github.com/dorald","followers_url":"https://api.github.com/users/dorald/followers","following_url":"https://api.github.com/users/dorald/following","gists_url":"https://api.github.com/users/dorald/gists{/gist_id}","starred_url":"https://api.github.com/users/dorald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dorald/subscriptions","organizations_url":"https://api.github.com/users/dorald/orgs","repos_url":"https://api.github.com/users/dorald/repos","events_url":"https://api.github.com/users/dorald/events{/privacy}","received_events_url":"https://api.github.com/users/dorald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-12-09T19:01:11Z","updated_at":"2013-01-11T16:16:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi OF folks !\r\nI like to see more iOS examples and i believe it will be very helpful for beginners like me and for many others probably.\r\n\r\n1- ofxiPhoneImagePicker -> Load and write photo to the PhotoLibrary. For iPhone and iPad\r\n\r\n2- Retina -> detect retina devices and enable or disable retina.\r\n\r\n3- Auto Rotate -> an example how to enable or disable autorotate.\r\n\r\n4- Social networking (addons maybe)-> an example how to integrate facebook,twitter etc.. and how to share photos.\r\n\r\nThanks.\r\nDorald"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1731","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1731/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1731/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1731/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1731","id":9121020,"number":1731,"title":"Feature Discussion - Shader Common Includes","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":34,"created_at":"2012-12-09T15:26:27Z","updated_at":"2013-01-06T20:41:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I often find myself pasting the same shader functions at the of my project shaders.\ni.e. the Photoshop math ones: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/\n\nSomething that I thought could really be useful for people working a lot with shaders, is a common shader library for OF. \n\nWe would have a folder OF/libs/openFrameworks called shaders/ \nwhere we could then have shader code grouped by functionality. \n\n\n shaders/\n imageProcessing.frag\n blending.frag ( ie photoshop blend modes ) \n lighting.frag \n math.frag ( shader perlin noise etc )\n computerVision.frag\n dof.frag \n projectionBlending.frag\n camera.vert\n projectionMapping.frag \n\n\nThen to use you would just do:\n\n myShader.include(\"blending.frag\"); \n myShader.include(\"math.frag\"); \n myShader.load(\"myShader.frag\");\n\nAnything that was in blending.frag could then be used by myShader.frag \n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1730","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1730/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1730/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1730/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1730","id":9120597,"number":1730,"title":"ofxiPhoneImagePicker has a deallocation bug/crash - also needs some cleanup","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":7,"created_at":"2012-12-09T14:27:35Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"To stop it from crashing on exit I had to comment out this line in ofxiPhoneImagePicker.mm:\n\n\n //--------------------------------------------------------------\n - (void)dealloc { \n\n _imagePicker.delegate = nil;\n //_imagePicker.cameraOverlayView = nil;\n [_imagePicker.view removeFromSuperview];\n [_imagePicker release];\n\n\nOther issues:\n\n* The class is quite clunky to use, where you are using bool variables to see if the image has changed and there isn't an easy way to reset the picker. \n* Needs cleanup and changes to make it be a bit more OF / friendly. ( why can't it return an ofImage or at least ofPixels ? )\n* The current example could use some love and it uses a pointer instead of an object for some reason.\n* Would be good to also have an example for image picking from library vs image picking from camera. \n\nCross-referencing #1717 \n\nAlso See http://forum.openframeworks.cc/index.php/topic,11230.msg50737.html#msg50737\n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1729","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1729/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1729/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1729/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1729","id":9119531,"number":1729,"title":"Android on Windows install/run process problems","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-12-09T11:30:02Z","updated_at":"2012-12-11T13:54:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some users are having a pretty bad time setting up OF on windows. apparently there are several issues which rear their ugly heads, see http://forum.openframeworks.cc/index.php/topic,8855.0.html\n\nspecifically, our platform recognition fails because of a new mingw release: Details and a proposed fix are [here](http://forum.openframeworks.cc/index.php/topic,8855.msg50683.html#msg50683).\n\nfurthermore, there are problems with windows Find, pkg-config, paths,...\n\n@arturoc can you please take a look at this, and also help out in the forum thread if you know what's going on?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1728","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1728/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1728/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1728/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1728","id":9079206,"number":1728,"title":"prefix header conflicts on osx. can't have a function called \"check()\" etc. ","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-12-07T05:08:10Z","updated_at":"2012-12-07T10:33:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nso I was working with armadillo: \n\nhttp://arma.sourceforge.net/\n\nwhich is a part of this addon: \n\nhttps://github.com/nkint/ofxSequence\n\nand I noticed an odd compile problem when I included it in OF projects, vs when it was included in a non OF project (such as a console application from xcode). basically it chokes on the code where it defines a function called check(). \n\nthis is easy to test in any osx project: \n\n\tvoid check(){\n\t printf(\"hello world \\n\");\n\t}\n\n\tvoid testApp::setup(){\n\t check();\n\t}\n\nyou can also, even just add a new .cpp file, no includes, and add the check function. ie: \n\nhttp://imgur.com/4Y1vw\n\nIf you trace this -- jump to definition -- this is because of AssertMacros.h check definition, so a quick fix is: \n\n#undef check\n\nbut it seems slight problematic that an empty file in an OF project, with **no includes**, is getting that stuff defined already. It might be worthwhile to take a look at the project setup to try to make sure empty files, and external libraries don't have things like carbon headers being thrown at them. \n\nit looks like the offense is the use of the carbon prefix header: \n\nhttp://i.imgur.com/qnE3O.png\nhttp://en.wikipedia.org/wiki/Prefix_header\n\nI'm wondering, why do we need this, and if it's not maybe a good idea to avoid this so that external files that don't have anything to do with carbon (and don't want to!) can avoid conflicts like this. \n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1726","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1726/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1726/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1726/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1726","id":9040570,"number":1726,"title":"ofVideoGrabber::listDevices() not returning any devices","user":{"login":"JesseScott","id":669104,"avatar_url":"https://secure.gravatar.com/avatar/2f74379dd421ca9719cd6e58a3fcd8e5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2f74379dd421ca9719cd6e58a3fcd8e5","url":"https://api.github.com/users/JesseScott","html_url":"https://github.com/JesseScott","followers_url":"https://api.github.com/users/JesseScott/followers","following_url":"https://api.github.com/users/JesseScott/following","gists_url":"https://api.github.com/users/JesseScott/gists{/gist_id}","starred_url":"https://api.github.com/users/JesseScott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JesseScott/subscriptions","organizations_url":"https://api.github.com/users/JesseScott/orgs","repos_url":"https://api.github.com/users/JesseScott/repos","events_url":"https://api.github.com/users/JesseScott/events{/privacy}","received_events_url":"https://api.github.com/users/JesseScott/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-12-06T01:25:10Z","updated_at":"2012-12-06T02:34:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":" The code \n\nvidGrabber.setVerbose(true);\nvidGrabber.listDevices();\nvidGrabber.initGrabber(camWidth,camHeight);\n\nis not returning / printing anything to the console on my system (0072 and 0073) under the videoGrabberExample or any other project (however, the OSX Recorder Example does, when it uses QTKit) ... \n\nOSX | 10.8"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1723","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1723/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1723/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1723/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1723","id":9002126,"number":1723,"title":"bug with ofxAssimpModelLoader / ofVboMesh / ofMesh on iOS ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-12-04T22:57:59Z","updated_at":"2012-12-10T23:08:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":" ![buggy assimp](http://theo.tw/OF/iOSAssimpBug.png)\n\nin the attached image you can see a model ( http://theo.tw/OF/http://theo.tw/OF/Island_001.dae ) \n\nbeing rendered in the same release of OF with the desktop OF version on the left and the iOS version on the right. \n\nIn the iOS version you should be able to see weird visual glitches in the mesh. \nthe desktop version loads fine however. \n\nnote: this is true for both the simulator and an iOS device. \n\nI've tried newer versions of assimp and this doesn't fix it. \n\nI suspect it might not actually be an assimp issue but an ofMesh / ofVboMesh one as I have had issues drawing meshes on iOS that rendered fine in OS X ( GL_TRIANGLES MESHES ). \n\nTo reproduce try loading the .dae file linked above into the iOS assimp example. \n\n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1721","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1721/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1721/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1721/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1721","id":8951736,"number":1721,"title":"ofEasyCam upgrade? ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-12-03T14:57:38Z","updated_at":"2012-12-03T23:18:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When using ofEasyCam extensively for a project I noticed that the rotation behavior starts to get funky as you translate the camera away from its origin. \n\nie: If you have a really long line extending out from (0,0,0) and then you translate to the end of the line ( using the alt key modifier ) when you rotate (using left click mouse drag) the rotation is still happening around the origin, vs around the center of the camera view ( which is closer to what I was expecting ).\n\nIt seems: \nhttps://github.com/elliotwoods/ofxGrabCam\n\nhas the expected behavior - is this something we would want to bring into ofEasyCam? \n\n@elliotwoods @roymacdonald"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1719","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1719/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1719/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1719/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1719","id":8938890,"number":1719,"title":"Please add ofvideoGrabber ::GetDeviceNumber(),IsDeviceSetup()GetDeviceName()...","user":{"login":"yty","id":841770,"avatar_url":"https://secure.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-12-03T06:51:41Z","updated_at":"2012-12-03T14:08:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"For example, these features are commonly used ...\n\nint ofVideoGrabber::GetDeviceNumber()\n{\n\treturn VI.listDevices();\n\n}\nbool ofVideoGrabber::IsDeviceSetup(int id)\n{\n\treturn\tVI.isDeviceSetup(id);\n}\n\nchar * ofVideoGrabber::GetDeviceName(int deviceID)\n{\n\treturn VI.getDeviceName(deviceID);\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1717","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1717/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1717/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1717/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1717","id":8889134,"number":1717,"title":"ofxiPhoneUIImageToOFImage is returning weird image dimension / orientation","user":{"login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","html_url":"https://github.com/nardove","followers_url":"https://api.github.com/users/nardove/followers","following_url":"https://api.github.com/users/nardove/following","gists_url":"https://api.github.com/users/nardove/gists{/gist_id}","starred_url":"https://api.github.com/users/nardove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nardove/subscriptions","organizations_url":"https://api.github.com/users/nardove/orgs","repos_url":"https://api.github.com/users/nardove/repos","events_url":"https://api.github.com/users/nardove/events{/privacy}","received_events_url":"https://api.github.com/users/nardove/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-12-01T08:50:13Z","updated_at":"2012-12-04T06:52:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"First I will give you my setup:\nDevice iPhone4S\nOF v0073\nRetina enabled\n\nWhen I use the **ofxiPhoneUIImageToOFImage** method on a portrait UIImage from the camera roll I get the image rotated by 90 degrees and stretched vertically, if I get a landscape UIImage I get the image with no rotation but stretched vertically as well, any ideas how to fix this?\n\nI look in side the method but is way beyond my knowledge :(\n\nhere is my code:\n```c++\nvoid testApp::setMyImage( UIImage *image ) {\t\n\tofxiPhoneUIImageToOFImage( image, myImage, ofGetWidth(), ofGetHeight() );\n\t\n\tofLog( OF_LOG_VERBOSE, \"myImage size: \" + ofToString( myImage.width ) + \", \" + ofToString( myImage.height ) );\n}\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1714","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1714/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1714/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1714/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1714","id":8628643,"number":1714,"title":"Android SoundPlayer: setSpeed(), getPosition()","user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-11-24T12:48:12Z","updated_at":"2012-11-24T14:31:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is what I found while running the androidSoundPlayerExample: for each of the 3 audio players, at any given time, either ```setSpeed( )``` works, or ```getPosition( )``` works, but never both.\n\nI think it has to do with the ```stream``` variable and multiplay functionality. And whether the sound is beng played with the ```MediaPlayer``` object, or the ```SoundPool```.\n\nLooking at [getPosition()](https://github.com/openframeworks/openFrameworks/blob/develop/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java#L156-L160) you can see that if ```stream``` is not true, and we're using a ```SoundPool```, it always returns zero for the position.\n\nAnd in [setSpeed(...)](https://github.com/openframeworks/openFrameworks/blob/develop/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java#L156-L160), if ```stream``` is true, and we're using a ```MediaPlayer```, it doesn't really use the ```speed``` variable anywhere.\n\nIs this some limitation of Android? [MediaPlayer](http://developer.android.com/reference/android/media/MediaPlayer.html) doesn't seem to have a setSpeed method, and [SoundPool](http://developer.android.com/reference/android/media/SoundPool.html) doesn't have a getPosition... \n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1707","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1707/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1707/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1707/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1707","id":8497996,"number":1707,"title":"Remove bleeding-edge code::blocks installation from setup scripts","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2012-11-20T09:34:23Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It shouldn't be necessary anymore to look for the latest C::B version anymore. I think this is just a leftover from when codeblocks 9 or 10 was out, but the linux distributions still shipped 8, and we needed some features/fixes from 9. \r\nthis would fix [some issues](http://videosynthesis.net/oftesting/testruns/20121119_172737-standard_run/vagrant-debian6.0.5-gnome-32bit/tests/install_codeblocks.sh/) in the debian install script on the build server.\r\n@arturoc confirms this.\r\n\r\nsolution: remove the nightly installation code from the various linux install scripts. \r\n\r\n@arturoc I've assigned you, is that OK?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1705","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1705/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1705/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1705/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1705","id":8461663,"number":1705,"title":"Bugfix: fixed compiling bug when using rtAudio on Release mode","user":{"login":"eranws","id":770012,"avatar_url":"https://secure.gravatar.com/avatar/5a5ee3be893f4aba3ee3fc694050524a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5a5ee3be893f4aba3ee3fc694050524a","url":"https://api.github.com/users/eranws","html_url":"https://github.com/eranws","followers_url":"https://api.github.com/users/eranws/followers","following_url":"https://api.github.com/users/eranws/following","gists_url":"https://api.github.com/users/eranws/gists{/gist_id}","starred_url":"https://api.github.com/users/eranws/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eranws/subscriptions","organizations_url":"https://api.github.com/users/eranws/orgs","repos_url":"https://api.github.com/users/eranws/repos","events_url":"https://api.github.com/users/eranws/events{/privacy}","received_events_url":"https://api.github.com/users/eranws/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-11-19T08:20:40Z","updated_at":"2013-03-09T14:47:54Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1705","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1705.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1705.patch"},"body":"updated libs/openFrameworksCompiled/project/vs2010/openFrameworksRelease.props"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1696","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1696/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1696/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1696/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1696","id":8313536,"number":1696,"title":"Add missing OpenGL texture format GL_RG","user":{"login":"timscaffidi","id":177125,"avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2ad43b65cb02eca2b722133681647492","url":"https://api.github.com/users/timscaffidi","html_url":"https://github.com/timscaffidi","followers_url":"https://api.github.com/users/timscaffidi/followers","following_url":"https://api.github.com/users/timscaffidi/following","gists_url":"https://api.github.com/users/timscaffidi/gists{/gist_id}","starred_url":"https://api.github.com/users/timscaffidi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timscaffidi/subscriptions","organizations_url":"https://api.github.com/users/timscaffidi/orgs","repos_url":"https://api.github.com/users/timscaffidi/repos","events_url":"https://api.github.com/users/timscaffidi/events{/privacy}","received_events_url":"https://api.github.com/users/timscaffidi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-11-13T06:15:45Z","updated_at":"2012-11-13T18:23:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"GL_RG... formats are not recognized in the ofGetGlFormatAndType() function. These formats could be useful for general purpose processing on the GPU, specifically GL_RG32F. Unless there is some specific reason not to add support for these formats, I'd be glad to submit a PR to add them."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1691","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1691/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1691/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1691/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1691","id":8253466,"number":1691,"title":"ofImage seems redundant (long term)","user":{"login":"timscaffidi","id":177125,"avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2ad43b65cb02eca2b722133681647492","url":"https://api.github.com/users/timscaffidi","html_url":"https://github.com/timscaffidi","followers_url":"https://api.github.com/users/timscaffidi/followers","following_url":"https://api.github.com/users/timscaffidi/following","gists_url":"https://api.github.com/users/timscaffidi/gists{/gist_id}","starred_url":"https://api.github.com/users/timscaffidi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timscaffidi/subscriptions","organizations_url":"https://api.github.com/users/timscaffidi/orgs","repos_url":"https://api.github.com/users/timscaffidi/repos","events_url":"https://api.github.com/users/timscaffidi/events{/privacy}","received_events_url":"https://api.github.com/users/timscaffidi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-11-09T22:04:22Z","updated_at":"2012-11-16T23:06:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"While writing issue #1690, I started questioning why ofImage exists as a class that can be instantiated.\r\n\r\nIn my mind it seems that ofImage is really a container of ofTexture and ofPixels with load/save routines.\r\n\r\n* With ofLoadImage() we can already directly load to ofPixels and ofTexture.\r\n* It almost never makes sense to use a bunch of ofImages over a combination of ofTexture/ofPixels other than to (maybe) save a few lines of code.\r\n\r\nofImage seems to me like a shortcut for very simple tasks, like loading and displaying one image really easily. Beyond that, for more advanced tasks, I think it can get a bit confusing to use, and actually less useful once you have to start using setUseTexture(false), for example.\r\n\r\nI'm sure there are a lot of valuable use cases for ofImage that make it convenient for beginners to learn oF, but I also think it makes things more confusing later down the line to have to learn about the difference between main memory and GFX memory. In an OpenGL focused graphics library, this concept is very important."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1690","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1690/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1690/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1690/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1690","id":8252679,"number":1690,"title":"imageSequenceExample should use a vector of ofPixels not ofImages","user":{"login":"timscaffidi","id":177125,"avatar_url":"https://secure.gravatar.com/avatar/2ad43b65cb02eca2b722133681647492?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2ad43b65cb02eca2b722133681647492","url":"https://api.github.com/users/timscaffidi","html_url":"https://github.com/timscaffidi","followers_url":"https://api.github.com/users/timscaffidi/followers","following_url":"https://api.github.com/users/timscaffidi/following","gists_url":"https://api.github.com/users/timscaffidi/gists{/gist_id}","starred_url":"https://api.github.com/users/timscaffidi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timscaffidi/subscriptions","organizations_url":"https://api.github.com/users/timscaffidi/orgs","repos_url":"https://api.github.com/users/timscaffidi/repos","events_url":"https://api.github.com/users/timscaffidi/events{/privacy}","received_events_url":"https://api.github.com/users/timscaffidi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-11-09T21:32:21Z","updated_at":"2012-11-10T15:07:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"[imageSequenceExample](https://github.com/openframeworks/openFrameworks/blob/master/examples/graphics/imageSequenceExample/src/testApp.cpp)\r\nBeginners trying to build off of this example will run into problems because each frame will have its own texture reference and will rapidly eat gfx memory.\r\nSee [this thread](http://forum.openframeworks.cc/index.php?topic=11051.new;topicseen#new) for an example of someone trying to extend it and getting stuck.\r\n\r\nThe imageSequenceExample should use a vector of ofPixels objects and an ofTexture to display the pixels when they are needed.\r\n\r\nofImage should only be used for loading in this case. actually ofLoadImage() can load directly into an ofPixels object so ofImage really isn't needed at all."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1689","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1689/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1689/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1689/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1689","id":8232698,"number":1689,"title":"Cannot set numColorBuffers to zero in ofFbo","user":{"login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","url":"https://api.github.com/users/neilmendoza","html_url":"https://github.com/neilmendoza","followers_url":"https://api.github.com/users/neilmendoza/followers","following_url":"https://api.github.com/users/neilmendoza/following","gists_url":"https://api.github.com/users/neilmendoza/gists{/gist_id}","starred_url":"https://api.github.com/users/neilmendoza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neilmendoza/subscriptions","organizations_url":"https://api.github.com/users/neilmendoza/orgs","repos_url":"https://api.github.com/users/neilmendoza/repos","events_url":"https://api.github.com/users/neilmendoza/events{/privacy}","received_events_url":"https://api.github.com/users/neilmendoza/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-11-09T10:25:29Z","updated_at":"2012-11-13T20:26:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I try to set an FBO up exclusively for rendering depth information like this...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.depthStencilAsTexture = true;\r\n s.depthStencilInternalFormat = GL_DEPTH_COMPONENT24;\r\n s.useDepth = true;\r\n s.numColorbuffers = 0;\r\n s.width = 1024;\r\n s.height = 1024;\r\n fbo.allocate(s);\r\n```\r\n...I get the following error when I call fbo.getDepthTexture().draw()...\r\n\r\n[ofFbo:error] FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1684","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1684/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1684/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1684/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1684","id":8145509,"number":1684,"title":"popView: couldn't pop projection matrix, stack empty. probably wrong anidated push/popView","user":{"login":"khlrqa","id":53301,"avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","url":"https://api.github.com/users/khlrqa","html_url":"https://github.com/khlrqa","followers_url":"https://api.github.com/users/khlrqa/followers","following_url":"https://api.github.com/users/khlrqa/following","gists_url":"https://api.github.com/users/khlrqa/gists{/gist_id}","starred_url":"https://api.github.com/users/khlrqa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khlrqa/subscriptions","organizations_url":"https://api.github.com/users/khlrqa/orgs","repos_url":"https://api.github.com/users/khlrqa/repos","events_url":"https://api.github.com/users/khlrqa/events{/privacy}","received_events_url":"https://api.github.com/users/khlrqa/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":4,"created_at":"2012-11-06T17:08:45Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\r\nAfter porting my iOS app from 007 to 0072 I am getting these two errors every frame:\r\n\r\n```c++\r\npopView: couldn't pop projection matrix, stack empty. probably wrong anidated push/popView\r\npopView: couldn't pop modelView matrix, stack empty. probably wrong anidated push/popView\r\n```\r\n\r\nI commented the two lines ofLogError() out in ofGLRenderer.cpp to not affect performance, everything still works fine, what could be the problem? (I am using ofFbo in the project btw)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1683","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1683/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1683/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1683/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1683","id":8106839,"number":1683,"title":"ofCamera / ofEasyCam - add easy way to save/load settings.","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":15,"created_at":"2012-11-05T14:54:56Z","updated_at":"2013-01-31T13:48:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I spent a few hours trying to find which data within ofEasyCam needed to be load / saved to disk to save and restore a view. \r\n\r\nI found it pretty unclear ( due to the multiple levels of inheritance ), where this core data lies. \r\n\r\nIn the end I resorted to memcpy-ing the entire object to a buffer and writing it to disk as a binary file. \r\nThis works well for my needs - but maybe we could make it a little easier? :)\r\n\r\nThis could relate to ofParameter and ofParamList->serialize() or something like that. \r\n\r\n@elliotwoods @arturoc "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1678","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1678/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1678/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1678/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1678","id":8072517,"number":1678,"title":"Project Generator | OfxOpenNI","user":{"login":"FdeFabricio","id":1853854,"avatar_url":"https://secure.gravatar.com/avatar/2c4b4343e8077aac897a31e501937410?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2c4b4343e8077aac897a31e501937410","url":"https://api.github.com/users/FdeFabricio","html_url":"https://github.com/FdeFabricio","followers_url":"https://api.github.com/users/FdeFabricio/followers","following_url":"https://api.github.com/users/FdeFabricio/following","gists_url":"https://api.github.com/users/FdeFabricio/gists{/gist_id}","starred_url":"https://api.github.com/users/FdeFabricio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FdeFabricio/subscriptions","organizations_url":"https://api.github.com/users/FdeFabricio/orgs","repos_url":"https://api.github.com/users/FdeFabricio/repos","events_url":"https://api.github.com/users/FdeFabricio/events{/privacy}","received_events_url":"https://api.github.com/users/FdeFabricio/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-11-02T21:48:16Z","updated_at":"2012-11-03T16:08:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The projects with OpenNI's addon generated by the Project Generator are not linked with the files at /addons/ofxOpenNI/src\r\n\r\nI'm doing it directly at the CodeBlocks, but I'm just saying... there's an error at the generator"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1674","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1674/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1674/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1674/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1674","id":7984399,"number":1674,"title":"ofFbo readToPixels() causing crashes or garbled images","user":{"login":"jasonlevine","id":2553924,"avatar_url":"https://secure.gravatar.com/avatar/0996b4753ac25ee6e531b560ff612b81?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0996b4753ac25ee6e531b560ff612b81","url":"https://api.github.com/users/jasonlevine","html_url":"https://github.com/jasonlevine","followers_url":"https://api.github.com/users/jasonlevine/followers","following_url":"https://api.github.com/users/jasonlevine/following","gists_url":"https://api.github.com/users/jasonlevine/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonlevine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonlevine/subscriptions","organizations_url":"https://api.github.com/users/jasonlevine/orgs","repos_url":"https://api.github.com/users/jasonlevine/repos","events_url":"https://api.github.com/users/jasonlevine/events{/privacy}","received_events_url":"https://api.github.com/users/jasonlevine/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":11,"created_at":"2012-10-30T22:58:39Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\r\n I recently moved some of my 0071 source files into 0072 projects. For the most part everything works great but a major glitch has appeared in one of my projects. When the running app attempts to read and ofFbo into an ofPixels object, either the app crashes or else the ofPixels contains a heavily garbled version of the image.\r\n\r\nHere is my code:\r\n```c++\r\nvoid testApp::exportHiRes(){\r\nhiResFbo.begin();\r\n ofClear(0);\r\n if (imageAlpha != 0) {\r\n ofSetColor(imageAlpha);\r\n if (imageLoaded == true) image.draw(0, 0, image.width, image.height);\r\n if (videoLoaded == true) video.draw(0, 0, video.getWidth(), video.getHeight());\r\n }\r\n hiResFbo.end();\r\n \r\n ofPixels hiResPixels;\r\n hiResFbo.readToPixels(hiResPixels);\r\n ofFileDialogResult dialog_result = ofSystemSaveDialog(\"hi-res export\", \"export\");\r\n string filename = dialog_result.getPath() + \".png\";\r\n ofSaveImage(hiResPixels, filename);\r\n}\r\n```\r\n\r\nthe hiResFbo is allocated when the image or video is loaded just like this:\r\n```c++\r\nhiResFbo.allocate(image.width, image.height);\r\n```\r\nor\r\n```c++\r\nhiResFbo.allocate(video.getWidth(), video.getHeight());\r\n```\r\n-\r\n-\r\n-\r\nWhen the running app crashes, I get a EXC_BAD_ACCESS at his point\r\n```c++\r\nglGetTexImage(texData.textureTarget,0,texData.glType,GL_UNSIGNED_BYTE, pixels.getPixels());\r\n```\r\nin void ofTexture::readToPixels(ofPixels & pixels), which is called from \r\n```c++\r\ngetTextureReference(attachmentPoint).readToPixels(pixels);\r\n```\r\nin void ofFbo::readToPixels(ofPixels & pixels, int attachmentPoint) which is called by this line in my code:\r\n\r\n```c++\r\nhiResFbo.readToPixels(hiResPixels);\r\n```\r\n\r\nThe code is identical to the code in my 0071 project(where there is no prob).\r\n\r\nAny ideas?\r\nAnyone else have similar problems?\r\n\r\nThanks,\r\nJason"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1669","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1669/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1669/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1669/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1669","id":7947487,"number":1669,"title":"ofDirectory missing method implementations","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-10-29T18:53:49Z","updated_at":"2012-10-29T18:54:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofDirectory is missing implementations for canRead, canWrite, and canExecute. I haven't checked further, but there might be others missing as well ... worth double checking."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1668","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1668/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1668/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1668/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1668","id":7918919,"number":1668,"title":"ios-feature-es2","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":42,"created_at":"2012-10-28T12:29:31Z","updated_at":"2013-01-08T08:13:16Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1668","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1668.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1668.patch"},"body":"ES2 for iOS can now be enabled in main.h,\r\n\r\n`ofAppiPhoneWindow * window;`\r\n`window = new ofAppiPhoneWindow();`\r\n`window->enableES2Renderer();`\r\n\r\nofGLES2Renderer has been added.\r\nits still very bare bones but has enough features to run and test a simple ES2 example.\r\n- it loads a simple shader with position, color and modelViewProjection matrix.\r\n- screen perspective setup is working.\r\n- can draw OF shape primitives like ofRect, ofCircle etc...\r\n\r\nall the shader code inside ofGLES2Renderer should eventually be done using ofShader,\r\nbut atm ofShader doesn't support ES1/ES2.... once it does, it will be easy to swap out.\r\n\r\ntheres an iosES2RendererExample in devApps that tests the ES2 code.\r\n\r\nin response to issue #1178"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1664","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1664/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1664/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1664/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1664","id":7788068,"number":1664,"title":"ofPolyline - extra point added when using addVertex and bezierTo","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-10-23T05:36:16Z","updated_at":"2012-10-23T20:53:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"when creating a bezier curve,\r\nbezierTo() function requires that at least one point is added to ofPolyline before it can be used.\r\n\r\nso to kick things off, i add my first point\r\n`polyline.addVertex(0, 0);`\r\n\r\ni then add my bezier curve,\r\n`polyline.bezierTo(cx1, cy1, cx2, cy2, px2, py2);`\r\n\r\nwhen inspecting the resulting ofPolyline im seeing the first two points as identical - both (0, 0)\r\n\r\nthe second point is a duplicate.\r\nso the first bezier point should be ignored as it has already been added as a vertex."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1663","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1663/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1663/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1663/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1663","id":7787832,"number":1663,"title":"ofImages loaded via ofLoadImage don't draw","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-10-23T05:13:20Z","updated_at":"2012-11-10T04:47:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"0072 Develop, OS X 10.8\r\n\r\nwhich is different than image.loadImage behavior\r\n\r\nTest case\r\n\r\n```\r\nofImage loadImage;\r\nofImage image;\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n\tstring imagePath = \"imageTest.jpg\";\r\n\t\r\n\tofLoadImage(loadImage, imagePath);\r\n\timage.loadImage(imagePath);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\tloadImage.draw(0, 0);//[warning] ofGLRenderer::draw(): texture is not allocated\r\n\timage.draw(0, 0);//draws\r\n}\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1660","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1660/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1660/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1660/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1660","id":7617524,"number":1660,"title":"ofxSVG transform attribute not read","user":{"login":"borg","id":203895,"avatar_url":"https://secure.gravatar.com/avatar/46312137eb0583790943eb4c17ea04cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"46312137eb0583790943eb4c17ea04cc","url":"https://api.github.com/users/borg","html_url":"https://github.com/borg","followers_url":"https://api.github.com/users/borg/followers","following_url":"https://api.github.com/users/borg/following","gists_url":"https://api.github.com/users/borg/gists{/gist_id}","starred_url":"https://api.github.com/users/borg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borg/subscriptions","organizations_url":"https://api.github.com/users/borg/orgs","repos_url":"https://api.github.com/users/borg/repos","events_url":"https://api.github.com/users/borg/events{/privacy}","received_events_url":"https://api.github.com/users/borg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2012-10-16T08:48:13Z","updated_at":"2012-10-21T16:01:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://github.com/openframeworks/openFrameworks/blob/develop/addons/ofxSvg/libs/svgTiny/src/svgtiny.cpp\r\n\r\nofxSVG nodes tranforms are not read or parsed because the svgtiny_parse_transform_attributes function is looking for a child element instead of node attribute\r\n\r\nLine 1180\r\ntransform = (char *) node->getChildElement(\"transform\");\r\n\r\n\r\n\r\nFix: Change to transform = (char *) node->getAttribute(\"transform\").c_str();\r\n\r\nvoid svgtiny_parse_transform_attributes(Poco::XML::Element *node,\r\n\t\tstruct svgtiny_parse_state *state)\r\n{\r\n\tchar *transform;\r\n\r\n\t/* parse transform */\r\n transform = (char *) node->getAttribute(\"transform\").c_str();\r\n\r\n\tif (transform) {\r\n\t\tsvgtiny_parse_transform(transform, &state->ctm.a, &state->ctm.b,\r\n\t\t\t\t&state->ctm.c, &state->ctm.d,\r\n\t\t\t\t&state->ctm.e, &state->ctm.f);\r\n\t\t//xmlFree(transform);\r\n //free(transform);//this caused a crash now...not sure what's correct\r\n\t}\r\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1659","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1659/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1659/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1659/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1659","id":7609860,"number":1659,"title":"ios videoGrabberExample should build on simulator","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-10-15T23:56:28Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"currently videoGrabberExample has compiler errors when run on the simulator.\r\nbe good if it could build on the simulator and just display a message that the example only runs on the device."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1653","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1653/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1653/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1653/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1653","id":7445554,"number":1653,"title":"make iOS examples universal","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":4,"created_at":"2012-10-09T12:15:14Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"all the iOS examples should work on both the iPhone and iPad."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1652","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1652/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1652/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1652/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1652","id":7436354,"number":1652,"title":"ofDirectory::isDirectory() throws exception for nonexistent dir","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-10-09T01:47:55Z","updated_at":"2012-10-09T02:34:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It looks like ofDirectory throws a Poco exception if you give it a path to a nonexistent dir in its constructor. The same might be true for ofFile ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1651","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1651/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1651/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1651/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1651","id":7430340,"number":1651,"title":"Visual Studio 2012 support","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":7,"created_at":"2012-10-08T20:22:26Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Make sure OF supports VS2012. @ofZach would like to see this in 0073.\r\nRelevant issue: #1544"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1648","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1648/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1648/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1648/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1648","id":7406719,"number":1648,"title":"Remove functions deprecated in 0073","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-10-07T17:49:57Z","updated_at":"2013-02-11T12:12:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"(Copied over from #1428) \r\nSome functions/classes/etc have been deprecated in 0073. It's time to remove them at some point. I have tentatively scheduled this point to be 0075 (i.e. 2 releases after deprecation). ~ half a year (including inevitable delays) should allow plenty of time for people to notice the warnings.\r\n\r\nList of deprecations:\r\n`bla`, \r\n`blubb` (group by file or something)"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=2&per_page=100 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '322304'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 11 Mar 2013 10:11:56 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9d1c9cd0db105699c994ba8b16296c1b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 10:12:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1647","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1647/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1647/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1647/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1647","id":7406372,"number":1647,"title":"QTKitGrabber capture dimensions can change without warning.","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2012-10-07T17:05:01Z","updated_at":"2012-10-27T16:41:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"@obviousjim \r\n\r\nWith the fancy new QTKitGrabber -- multiple programs can access the camera device at the same time, but either program can set the current capture dimensions, and that capture dimension is applied to all using the camera.\r\n\r\nThis becomes evident if one runs the `osxVideoRecorderExample` example (which runs at native 1280x720 on my mac), and THEN open the standard `videoGrabberExample` which is capturing at 320x240. It will change the current capture size _back_ in `osxVideoRecorderExample`, but `osxVideoRecorderExample` won't know about the change.\r\n\r\nAnother fun trick is to open PhotoBooth (which must use QTKit). If you open the standard `videoGrabberExample`, it will resize photobooth's stream.\r\n\r\nThis does not apply when a legacy capture is happening. For instance, if you open up [jit.qt.grab] in max5, the device will appear \"in use\" to all QtKit renderers.\r\n\r\nAnyway, device sharing seems like a great new feature, but if other capture devices don't know about the changes to capture dimension, it could be a problem. \r\n\r\nPerhaps a warning should be thrown if the device is already open? Perhaps there is an internal capture size callback / event in the QTKitGrabber?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1642","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1642/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1642/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1642/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1642","id":7396649,"number":1642,"title":"capitalize compile targets on windows","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-10-06T12:31:11Z","updated_at":"2012-10-06T12:31:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be cool to rename the targets for codeblocks on win with capital letters.\r\nOn Mac & Linux its \"Release\" and \"Debug\".\r\nOn Windows Codeblocks its \"release\" and \"debug\".\r\n \r\nIs this possible for codeblocks?\r\n\r\nDon't know whats going on with VC, though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1639","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1639/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1639/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1639/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1639","id":7378577,"number":1639,"title":"Feature: Icons added for Debug and Release for OS X - option to modify icons for specific projects","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":23,"created_at":"2012-10-05T13:47:23Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1639","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1639.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1639.patch"},"body":"\r\nThanks to @NickHardeman for getting this working - I just had to modify it a bit to work with the project generator. \r\n\r\n- Seperate icons for Debug and Release\r\n- For a project that needs a specific icon you can place the files in the data folder and change one line in Project.xconfig to have it use the different icons. \r\n- Default icons are stores in the openFrameworksCompiled/project/osx/ folder with the other xcode specific files. \r\n\r\nThis relates to: but does not close - #1039"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1631","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1631/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1631/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1631/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1631","id":7291405,"number":1631,"title":"ofPASoundStream and ofxiPhoneSoundStream ignore nBuffers parameter","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-10-02T12:32:31Z","updated_at":"2012-10-02T12:32:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this can cause clicks in audio under heavy CPU usage.\r\n\r\nsolution: implement our own non-blocking FIFO to allow nBuffers to work"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1626","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1626/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1626/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1626/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1626","id":7260825,"number":1626,"title":"feature: sound system refactoring","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-10-01T13:13:57Z","updated_at":"2012-10-06T13:18:39Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1626","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1626.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1626.patch"},"body":"Don't merge yet!\r\n\r\nThis PR+the branch on @damiannz's repo are the working place for the refactoring of the sound system. \r\n\r\nFeatures at the moment: \r\n\r\n* ofSoundBuffer a class to store sound buffers equivalent to ofPixels. might need a setFromExternalBuffer and be implemented with float array instead of vector so it can be used to pass the native buffer around without need for copies\r\n\r\n* ofSoundFile: allows to read from sound files to sound buffers, would be good to add writting too, probably should inherit from ofFile\r\n\r\n* ofBasicSoundPlayer: a sound player that can be used on any platform that supports ofSoundStream. it uses ofSoundFile to read sound files and outputs through any ofSoundStream\r\n\r\n* ofSoundMixer: a simple sound mixer\r\n\r\n* ofSoundUtils: a utility file for sound, like commonly used sound interpolations, panning algorithm...* ofSoundBuffer\r\n\r\nSend a pull request to the __feature-ofSoundRefactoring__ branch on @damiannz's fork of oF to add things here.\r\n\r\nDev notes are [here](https://github.com/openframeworks/openFrameworks/wiki/Sound-programming-notes)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1623","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1623/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1623/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1623/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1623","id":7223029,"number":1623,"title":"Font color cast at border due to alpha blending (TTF, AA, no border)","user":{"login":"bogru","id":2446615,"avatar_url":"https://secure.gravatar.com/avatar/7e807135e99bd8e39eecd9bb4e739b0b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7e807135e99bd8e39eecd9bb4e739b0b","url":"https://api.github.com/users/bogru","html_url":"https://github.com/bogru","followers_url":"https://api.github.com/users/bogru/followers","following_url":"https://api.github.com/users/bogru/following","gists_url":"https://api.github.com/users/bogru/gists{/gist_id}","starred_url":"https://api.github.com/users/bogru/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bogru/subscriptions","organizations_url":"https://api.github.com/users/bogru/orgs","repos_url":"https://api.github.com/users/bogru/repos","events_url":"https://api.github.com/users/bogru/events{/privacy}","received_events_url":"https://api.github.com/users/bogru/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-09-28T17:07:43Z","updated_at":"2012-10-10T07:25:18Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nofDisableAlphaBlending() does not have effect on font.drawString(..)\nWhen AA is enabled, the font has a smooth border, and it is blended with the background. At the border of the font, some color from the background is mixed with font color.\nThe problem appears when we do not want to get color from the background mixed with font color, as the text image will be further blended with other images. Alpha blending should be disabled when the font is drawn. But the font edge looks the same, with a color cast from background at the border, regardless if alpha blending is enabled or not.\nSetup:\nloadFont is called with default params except for font path and size. (border is false)\nImage has 4 channels. Background can be set to black (0,0,0,0). Disable alpha blending. font color is (255, 127, 0, 255)\nIn this case, the issue is that a blackish border appear around the font. (colors like (100, 50, 0, 40) I would expect that at border, font color is maintained, only alpha is changed. (255, 127, 0, 40) or similar.\nTo reproduce it, just save the image as png, and open it with an image viewer that has a different background than the one set in the OF before drawing the font. Maybe try several color for bgnd in OF, so that the color cast is obvious."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1617","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1617/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1617/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1617/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1617","id":7155627,"number":1617,"title":"update assimp to 3.0 ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-09-26T16:56:44Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Assimp 3.0 was released July 2012 - might be worth looking into. \n\nhttp://assimp.sourceforge.net/index.html\n\nOne thing I read stated that the 3.0 version breaks from the 2.0 api - so it might not be a straight swap.\n\nEdit: here is the changelog \n\n\n3.0 (2012-07-07)\n\nFEATURES:\n - new export interface similar to the import API. \n - Supported export formats: Collada, OBJ, PLY and STL\n - added new import formats: XGL/ZGL, M3 (experimental)\n - new postprocessing steps: Debone\n - vastly improved IFC (Industry Foundation Classes) support\n - introduced API to query importer meta information (such as supported\n format versions, full name, maintainer info).\n - reworked Ogre XML import\n - C-API now supports per-import properties\n\nFIXES/HOUSEKEEPING:\n\n - hundreds of bugfixes in all parts of the library\n - unified naming and cleanup of public headers\n - improved CMake build system\n - templatized math library\n - reduce dependency on boost.thread, only remaining spot\n is synchronization for the C logging API \n\nAPI COMPATIBILITY:\n - renamed headers, export interface, C API properties and meta data\n prevent compatibility with code written for 2.0, but in \n most cases these can be easily resolved\n - Note: 3.0 is not binary compatible with 2.0\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1615","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1615/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1615/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1615/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1615","id":7138350,"number":1615,"title":"ios6 armv7s","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":11,"created_at":"2012-09-26T00:26:54Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"latest xcode 4.5 builds with the new armv7s architecture by default which is causing errors since not all OF libs have been compiled for armv7s.\n\nthink the issue is only with freeimage,\n\"file is universal (2 slices) but does not contain a(n) armv7s slice: ../../../libs/FreeImage/lib/ios/freeimage.a for architecture armv7s\"\n\nwe can recompile freeimage.a with armv7s\nor as temporary solution, remove armv7s from VALID_ARCHS\n\nremoving armv7s from VALID_ARCHS will mean that the ios xcode template project will have to be updated so that projectGenerator can make ios xcode projects without armv7s."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1605","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1605/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1605/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1605/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1605","id":6987537,"number":1605,"title":"ofMaterial invalid GL_ENUM","user":{"login":"jacres","id":1250485,"avatar_url":"https://secure.gravatar.com/avatar/7ab62068850807cd51b05c82cab45075?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7ab62068850807cd51b05c82cab45075","url":"https://api.github.com/users/jacres","html_url":"https://github.com/jacres","followers_url":"https://api.github.com/users/jacres/followers","following_url":"https://api.github.com/users/jacres/following","gists_url":"https://api.github.com/users/jacres/gists{/gist_id}","starred_url":"https://api.github.com/users/jacres/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacres/subscriptions","organizations_url":"https://api.github.com/users/jacres/orgs","repos_url":"https://api.github.com/users/jacres/repos","events_url":"https://api.github.com/users/jacres/events{/privacy}","received_events_url":"https://api.github.com/users/jacres/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":5,"created_at":"2012-09-19T17:02:03Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Looks like ofMaterial uses GL_FRONT_AND_BACK for glGetMaterialfv().\n\nApparently GL_FRONT_AND_BACK is not a valid enum to be used with glGetMaterialfv():\nhttp://www.opengl.org/sdk/docs/man/xhtml/glGetMaterial.xml\n\nOnly GL_FRONT and GL_BACK are listed as valid ones. This was the cause of some very ambiguous errors for me. Future OpenGL calls would sometimes fail - like loading a shader that was otherwise fine, etc. since the ofShader would check for glGetError() and think there was an error related to it when the problem was in the ofMaterial class."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1599","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1599/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1599/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1599/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1599","id":6919682,"number":1599,"title":"get the path to an addon data folder","user":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-09-17T13:55:51Z","updated_at":"2013-01-07T00:19:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I wonder if there is a way to get the data path of a specific addon. It would be great to have the possibility to store addon related data within a folder so it wouldn't have to be added to the bin/data folder of each project.\n\nsomething like ofToAddonsDataPath(string addonName, string path);\n\nIs there a way to retrieve the of location with code. Because we can't guarantee anymore that the addons path is simply \"../../addons\""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1598","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1598/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1598/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1598/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1598","id":6918106,"number":1598,"title":"refactor ofFile and ofDirectory Poco::File into ofFilePath","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-17T12:56:14Z","updated_at":"2013-03-05T00:04:41Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1598","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1598.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1598.patch"},"body":"the Poco::File in ofFile and ofDirectory have been refactored into ofFilePath and those classes inherit now from ofFilePath. ofFilePath can be used to compare and join paths using the overloaded operators:\n\nofFilePath(\"images\") == ofFilePath(\"../data/images/\")\n\nreturns true\n\nofFlePath(\"images) + ofFilePath(\"img.jpg\")\n\nreturns \"images/img.jpg\" no matter the trailing slash\n\nofToDataPath has been refactored to use ofFilePath instead of string comparison\n\nstill needs some more testing"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1594","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1594/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1594/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1594/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1594","id":6893622,"number":1594,"title":"Graphics Updates / Fixes (see notes)","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":18,"created_at":"2012-09-15T07:54:17Z","updated_at":"2013-03-09T15:30:10Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1594","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1594.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1594.patch"},"body":"* Made default circle and curve resolutions match across `ofStyle` and `ofPath`.\n* Deprecated `arcResolution` in favor of `circleResolution`.\n* Require polyline curves in `ofPath` to respect the `ofPath`'s `curveResolution` and `circleResolution`.\n* Require global curve functions such as `ofCurve` to respect current `ofStyle`s `curveResolution`.\n* Updated `ofRectRounded`\n * Added support for multiple corner radii.\n * Use arcs rather than bezier curves.\n * Respect z.\n * Respect circleResolution.\n* Updated `ofPolyline` get bounding box to use `ofRectangle`'s new `growToInclude` method.\n* Added const correctness in several places."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1593","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1593/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1593/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1593/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1593","id":6892507,"number":1593,"title":"ios-bugfix-rename-step-1","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":8,"created_at":"2012-09-15T04:28:44Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1593","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1593.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1593.patch"},"body":"this is the first PR (1/3) for renaming ofxiPhone to ofxiOS - issue #1382\n\nthis first step is concerned with updating the ios xcode projects to use ofxiOS naming.\nfull list of changes are below,\n\n- ofxiPhone folder has been renamed to ofxiOS\n- adjusted CoreOF.xcconfig - now uses HEADER_OFXIOS with new path to ofxiOS folder.\n- renamed product of the static lib to begin with ofxiOS\n- renamed ofxiphone-Info.plist to ofxiOS-Info.plist\n- renamed iPhone_Prefix.pch to iOS_Prefix.pch\n- adjusted projectGenerator and ios xcode template project to account for the above changes.\n- gitignore files have been adjusted to ignore the new names.\n\nhave tested rebuilding all the ios examples using the projectGenerator and all working well.\nbut if someone else can give this a test, that would be great!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1592","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1592/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1592/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1592/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1592","id":6861347,"number":1592,"title":"ofToString() does not report all digits of precision","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-13T21:32:45Z","updated_at":"2012-09-14T07:59:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`ofToString()` should always return as many digits of precision as are available from the floating point value. it looks like right now, at least 2 or 3 digits of precision are being ignored. this was not a problem with `sprintf()`, but is a problem with `stringstream`. this problem first became clear with issue #1516 and a temporary fix was made to ofxXmlSettings, but a deeper fix to `ofToString()` still needs to be made."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1587","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1587/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1587/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1587/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1587","id":6800579,"number":1587,"title":"Patched openFrameworks 0071 for the QNX platform (BlackBerry PlayBook & BB10)","user":{"login":"falcon4ever","id":480019,"avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","url":"https://api.github.com/users/falcon4ever","html_url":"https://github.com/falcon4ever","followers_url":"https://api.github.com/users/falcon4ever/followers","following_url":"https://api.github.com/users/falcon4ever/following","gists_url":"https://api.github.com/users/falcon4ever/gists{/gist_id}","starred_url":"https://api.github.com/users/falcon4ever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/falcon4ever/subscriptions","organizations_url":"https://api.github.com/users/falcon4ever/orgs","repos_url":"https://api.github.com/users/falcon4ever/repos","events_url":"https://api.github.com/users/falcon4ever/events{/privacy}","received_events_url":"https://api.github.com/users/falcon4ever/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-11T20:14:50Z","updated_at":"2012-09-12T00:14:31Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1587","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1587.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1587.patch"},"body":"This patch adds support for the QNX platforms (BlackBerry PlayBook & BB10) to openFrameworks.\n\nThe code is based of the developPlayBook branch (https://github.com/falcon4ever/openFrameworks/tree/developPlayBook) that has been used for the NodeBeat project (http://nodebeat.com/). However, I have updated the code for compatibility with openFrameworks 0071 (develop branch)\n\nThe current code has been tested using the following SDKs\n- BlackBerry PlayBook Native SDK 2.1.0 beta 1\n- BlackBerry 10 Native SDK 10.0.06 beta 2\n\nTo develop for QNX or run the examples, you will need to download the ofxQNX add-on and place it in the addon folder of openFrameworks.\n- ofxQNX is available on github: https://github.com/falcon4ever/ofxQNX\n\n\nFor now, ofxQNX resides in a different repository for the following reasons:\n- Because I include pre-compiled libraries, the current size of the repository is about 100 MB.\n- Pre-compiled libraries are used because of the complexity involved with building them from scratch. Most of them need to be patched for the QNX compiler and Poco for QNX can't be build on Windows platforms.\n- Another reason for the size (mostly due Poco) is because it supports multiple QNX architectures and build modes. The devices all use an ARMv7 cpu, the simulator uses x86.\n- > PlayBook device (ARMv7) - Release\n- > PlayBook device (ARMv7) - Debug\n- > PlayBook simulator (X86) - Debug\n- > BB10 device (ARMv7) - Release\n- > BB10 device (ARMv7) - Debug\n- > BB10 simulator (X86) - Debug\n\nAdditional info on ofxQNX:\n- https://github.com/falcon4ever/ofxQNX/blob/develop/README.md\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1586","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1586/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1586/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1586/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1586","id":6766233,"number":1586,"title":"ios-bugfix-orientation","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":7,"created_at":"2012-09-10T16:29:26Z","updated_at":"2013-03-11T02:30:20Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1586","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1586.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1586.patch"},"body":"ive closed the previous ios orientation PR as it had too many small commits which were going back and forth.\n\nthis PR is the final solution to ios orientation and is good to merge.\n\nios orientation changes are now natively animated by the view controller.\niosOrientationExample demonstrates all the new functionality."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1585","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1585/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1585/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1585/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1585","id":6730865,"number":1585,"title":"ofAppGlutWindow: fix fps calculation and makes setFramerate more accurate","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-08T12:21:50Z","updated_at":"2012-09-08T12:21:50Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1585","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1585.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1585.patch"},"body":"ofGetFrameRate was returning strange values when the gl load was high. Sometimes when the gl task is to gpu intensive it seems to skip a frame draw which gives really short times for one frame. since the fps calculation was accumulating old values this makes the fps go higher. in general this makes the fps go up to about 70-80fps while the total frames in one second is really about 60fps even when this happens. In some systems i've seen it go to even 300-400fps when the real framerate was 60\n\nThis commit fixes that problem + makes ofSetFrameRate more accurate by using microseconds where available (osx and linux) I've tested this reading the max and min times per frame setting the framerate and in an empty application the difference between the min and max times per frame are of about 0.1ms\n\nwould be good to test in other systems to check that it doesn't break, mostly on windows where sleep only works with milliseconds so the calculations are different and i might have introduced an error\n\nif this works properly it would be good to move this calculation to ofNotifyUpdate so different windowing systems don't need to replicate this code\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1582","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1582/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1582/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1582/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1582","id":6699645,"number":1582,"title":"ofOpenALSoundPlayer inconsistent checks for multiplay vs loop","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-09-06T21:05:30Z","updated_at":"2012-09-07T01:04:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`ofOpenALSoundPlayer::setLoop` checks for multiplay and aborts of multiplay is true, but `setMultiplay` doesn't check for loop and abort if looping is set. \n\nthis check is perhaps better performed on the ofSoundPlayer before passing on the actual player instance."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1581","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1581/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1581/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1581/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1581","id":6699417,"number":1581,"title":"should the current ofStyle be global or local for each renderer?","user":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-09-06T20:57:50Z","updated_at":"2012-09-06T21:34:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofStyle is (mostly?) global within ofGraphics.cpp. We were talking about whether ofStyle should belong to the current render or if a global ofStyle makes more sense. I think having it globally can produce some unexpected behaviour when switching the renderer or when using using a renderer in a thread. I guess nobody is doing this currently but it might come up at some point.\n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1580","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1580/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1580/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1580/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1580","id":6699268,"number":1580,"title":"ofOpenALSoundPlayer::loadSound calls stream() twice","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:51:57Z","updated_at":"2012-09-06T20:51:57Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp#L365\n\nand again at \nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp#L395"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1579","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1579/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1579/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1579/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1579","id":6699239,"number":1579,"title":"ofOpenALSoundPlayer::loadSound leaks memory on error conditions","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:50:58Z","updated_at":"2012-09-06T20:50:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in the `if (err != AL_NO_ERROR)` blocks, no close/unstream/alDeleteSources calls are made."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1578","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1578/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1578/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1578/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1578","id":6699228,"number":1578,"title":"setting custom viewport in cairo renderer does not work","user":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:50:33Z","updated_at":"2012-09-06T20:52:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the following code creates a blank pdf\n```\n ofBeginSaveScreenAsPDF(\"test.pdf\", true, true, ofRectangle(0, 0, 100, 300));\n\tofSetColor(0);\n\tofCircle(0,0,100,100);\n\tofEndSaveScreenAsPDF();\n```\n\nWhile this code places a circle in the upper left corner as expected:\n```\n ofBeginSaveScreenAsPDF(\"test.pdf\");\n\tofSetColor(0);\n\tofCircle(0,0,100,100);\n\tofEndSaveScreenAsPDF();\n```\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1577","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1577/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1577/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1577/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1577","id":6699106,"number":1577,"title":"ofOpenALSoundPlayer sfReadFile, mpg123ReadFile and mpg123Stream error conditions can leak memory","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:45:49Z","updated_at":"2012-09-06T20:46:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"should call `sf_close` before `return false`, or `mpg123_delete` and `mpg123_close`"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1576","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1576/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1576/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1576/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1576","id":6699082,"number":1576,"title":"ofOpenALSoundPlayer::initialize doesn't check for error conditions","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:44:45Z","updated_at":"2012-09-06T20:44:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1575","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1575/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1575/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1575/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1575","id":6698700,"number":1575,"title":"ofPath isn't able to switch drawing modes","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-09-06T20:30:09Z","updated_at":"2012-10-01T19:37:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"as per email discussion beginning http://dev.openframeworks.cc/htdig.cgi/of-dev-openframeworks.cc/2012-April/004332.html\n\ni'd like to propose a couple of changes to the way ofPath works around handling Catmull-Rom and Bezier segments. \n\ni'm calling this code:\n\n\tofPath path;\n\tpath.moveTo( 100, 100 );\n\tpath.lineTo( 150, 100 );\n\tpath.curveTo( 200, 150 );\n\tpath.lineTo( 200, 200 );\n\tpath.draw();\n\nwhen i read this i'm visualizing a horizontal line segment and a vertical line segment with a curve smoothly connecting them, something like this (no.1):\n![no.1](http://i47.tinypic.com/uowfd.jpg) \n\n\nor at least (though less desirable), this (no.2):\n![no.2](http://i47.tinypic.com/11tu1cz.jpg)\n\n\nwhat i actually get is this (no.3)\n![no.3](http://i46.tinypic.com/2isglsx.jpg)\n\n\n\nwhether it's a bug or not, i think no.3 is wrong. i asked for a curve! where's my curve? also why is my 3rd point being completely ignored? \n\npossible objections to this line of thinking (aka, what Arturo said): \n\n* 'but Catmull-Rom requires 4 points'\nanswer(a): but i *am* giving it four points: (100,100), (150,100), (200,150), (200,200) (image no.2)\nanswer(b): i'm a beginner and i haven't read the docs so i don't know that 'curveTo' means Catmull-Rom, nor that Catmull-Rom needs 4 points. where's my curve???\nanswer(c): ok, so i'm only giving the algorithm one point, which means i'm doing something wrong. but wait. if you look at my code above, based on the way the API is structured (move to here, straight line to here, curve to here, straight line to here), it doesn't *look* like i'm doing anything wrong. i expect it to work, and when it doesn't i become confused and angry.\n\n* 'why don't you use a bezier instead of a curve vertex?'\nanswer: why should i need to calculate the bezier handles myself? the code can and therefore should do this for me. intuitively, stright line followed by curve followed by straight line should automatically generate control points for a clean transition from the straight segment to curve segment without corners. we can add an explicit 'please make a corner here' bFlag to the curveTo function if we want a corner.\n\n(there's an analogous case here for bezierTo: if i'm coming out of or joining to a straight line segment or another curve i would like an option for my bezier handles to be calculated automatically; similarly it'd be nice to have an option to automatically mirror a previous bezier segment's handle for the first control point to bezierTo, in order to avoid making a corner.)\n\n* 'but this is how ofCurveVertex used to work'\nanswer: no it's not. if you switched vertex types in the middle of a pair of ofBeginShape/ofEndShape, your existing points get thrown away in some circumstances. basically ofBeginShape/endShape wasn't able to handle changing the vertex types mid-path, whereas according to its API, ofPath is.\n\n\nso, what is the correct behaviour with this code?\n\n\tpath.moveTo( 100, 100 );\n\tpath.lineTo( 150, 100 );\n\tpath.curveTo( 200, 150 );\n\tpath.lineTo( 200, 200 );\n\nto me, it's something like no.1, a horizontal line segment and a vertical line segment with a curve smoothly connecting them. \n\n\ndoes anyone else expect something different?\n\nif not, let's make ofPath work this way!\n\n\n\n\n\nnotes: \n\nsource to generate no.3:\n\n\tvector points;\n\tpoints.push_back( ofPoint( 100, 100 ) );\n\tpoints.push_back( ofPoint( 150, 100 ) );\n\tpoints.push_back( ofPoint( 200, 150 ) );\n\tpoints.push_back( ofPoint( 200, 200 ) );\n\n\tofNoFill();\n\tofSetColor( 128, 128, 128 );\n\tfor ( int i=0; i[1] line segment, and find the point along the ray at (say) 1/3 of the distance between [1] and [2]; this is your first control point. do something similar for the second control point.)\n\n\nimage no.2 is generated by\n\n\tpath.moveTo( points[0] );\n\tpath.lineTo( points[1] );\n\tpath.curveTo( points[0] );\n\tpath.curveTo( points[1] );\n\tpath.curveTo( points[2] );\n\tpath.curveTo( points[3] );\n\tpath.lineTo( points[3] );\n\nthis is pretty ugly code and unfortunately it creates corners at points[1] and points[2] which isn't correct in my opinion.\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1574","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1574/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1574/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1574/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1574","id":6698381,"number":1574,"title":"ofBitmapModes are not intutively named","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T20:16:06Z","updated_at":"2012-09-06T20:33:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nthese bitmap modes are not very intuitive: \n\n`OF_BITMAP_SIMPLE,\nOF_BITMAPMODE_SCREEN\nOF_BITMAPMODE_VIEWPORT\nOF_BITMAPMODE_MODEL\nOF_BITMAPMODE_MODEL_BILLBOARD`\n\nwondering if we can use better naming or alternatively add some parameters w/ drawing that will make more sense then having different modes (ie, useScreenCoordinates = true / false allows you to switch between viewport and screen). \n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1573","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1573/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1573/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1573/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1573","id":6698261,"number":1573,"title":"code repetition about orientation in ofGLRenderer.cpp","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-06T20:10:39Z","updated_at":"2012-09-06T21:38:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\n\nthis code for orientation seems to be included twice, it's a bit redundant to have it in both places and would be good to include it once so that if we need to fix it, we don't have it written multiple places: \n\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofGLRenderer.cpp#L370-420\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofGLRenderer.cpp#L458-507"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1572","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1572/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1572/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1572/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1572","id":6697968,"number":1572,"title":"ofOpenALSoundPlayer uses a thread internally does not appear thread-safe","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T19:58:00Z","updated_at":"2012-09-06T19:58:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofOpenALSoundPlayer looks like it ought to have locks around all of its functions. it's using a threadedFunction to handle updating/processing the sound playback streams in a background thread. \n\nalthough OpenAL is itself thread-safe, our code is not thread safe. for example unloadSound deletes channels and sources but if it does this while threadedFunction() is running so a channel might become invalid halfway through updating it on our side, leading to for example a bad buffer reference being passed to different functions.\n\nalso, handling of stream_end is broken. if in the main thread stream_end is assigned true while the threadedFunction is executing code between https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/sound/ofOpenALSoundPlayer.cpp#L505 and line 520, when line 521 executes the value of stream_end is assigned back to false and the stream will not end."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1571","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1571/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1571/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1571/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1571","id":6697860,"number":1571,"title":"Does ofPath support drawing both fill and stroke at the same time?","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-09-06T19:52:39Z","updated_at":"2012-09-06T20:25:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I can't tell from the ofPath api if you can draw both fill and stroke simultaneously. Regular ofGrpahics calls do not support this ...\n\nAlso, what happens if you:\n\n```\npath.setFilled(false);\npath.setStrokeWidth(0);\n```\nIs nothing drawn? If the api supports drawing both fill and outline, then it would make sense that setting the stroke width to 0 here would automatically set fill to true ... so at least something is drawn. Same conversely ...\n\nEdit: In fact, having a stroke/fill approach does not match the ofGraphics api. Maybe it makes sense to just have setColor(), fill(), and nofill() so ofPath works the same way ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1570","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1570/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1570/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1570/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1570","id":6697605,"number":1570,"title":"retain / release & static map for opengl objects could be abstracted","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-06T19:41:40Z","updated_at":"2012-09-06T20:06:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nin reviewing the code, we've seen a bunch of chunks of code for each opengl based object that handles a static map between GLunits and int ids, and which has retain and release code that the objects (ofLight, ofTexture, ofFbo) use. It seems like this code could be written once (glManager?), and then used in multiple places, with some minor customization based on the object you're tracking. It would mean less repetition in the code, and if we want to expand on what this code does it will make it easier to have it only in one place. \n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1569","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1569/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1569/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1569/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1569","id":6695826,"number":1569,"title":"ofGraphics modes current settings getters","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T18:30:11Z","updated_at":"2012-09-06T18:30:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It'd be nice to be able to get the current value of some of the graphics modes, aka something like\n\n```\nbool ofIsBlendingEnabled();\nbool ofArePointSpritesEnabled();\nbool ofIsAlphaBlendingEnabled();\nbool ofIsSmoothingEnabled();\n```\n\nThere could also be a function to get the current color which pulls from the default style ...\n\n```\nofColor ofGetColor() {\n return ofGetStyle().getColor();\n}\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1567","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1567/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1567/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1567/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1567","id":6692471,"number":1567,"title":"ofThread does not have a setVerbose method","user":{"login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","html_url":"https://github.com/NickHardeman","followers_url":"https://api.github.com/users/NickHardeman/followers","following_url":"https://api.github.com/users/NickHardeman/following","gists_url":"https://api.github.com/users/NickHardeman/gists{/gist_id}","starred_url":"https://api.github.com/users/NickHardeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickHardeman/subscriptions","organizations_url":"https://api.github.com/users/NickHardeman/orgs","repos_url":"https://api.github.com/users/NickHardeman/repos","events_url":"https://api.github.com/users/NickHardeman/events{/privacy}","received_events_url":"https://api.github.com/users/NickHardeman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-09-06T16:18:11Z","updated_at":"2012-09-06T20:11:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It can only be set in the startThread method.\n\nshould have `setVerbose` and `isVerbose` methods.\n\nmaybe `isBlocking` and `setBlocking` methods?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1566","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1566/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1566/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1566/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1566","id":6691693,"number":1566,"title":"ofBaseSoundStream setDeviceId doesn't close/reopen the sound stream","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T15:50:26Z","updated_at":"2012-09-06T15:50:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"on ofBaseSoundStream::setup, setDeviceId can currently only be called before setup(). this should either close+reopen the stream or throw an error message."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1565","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1565/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1565/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1565/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1565","id":6691195,"number":1565,"title":"more primitives for OF - Cuboid, Cylinder, meshPlane etc and getters.","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2012-09-06T15:34:03Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofGetSphere, ofGetBox, ofGetCuboid - returns an ofMesh object with the requested dimensions. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1564","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1564/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1564/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1564/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1564","id":6691170,"number":1564,"title":"ofPixels::copyFrom needs a re-write","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-09-06T15:33:33Z","updated_at":"2012-09-06T16:03:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this function looks problematic -- there's a sizeof(float) which could be bad where `sizeof(int) == sizeof(float)`, and there's a potential to use memcpy elsewhere in the funciton. also some ternary operators that look odd. it also could be really commented fully. \n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1563","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1563/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1563/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1563/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1563","id":6690881,"number":1563,"title":"ofRenderCollection seems redundant","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T15:24:10Z","updated_at":"2012-09-06T15:24:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in the group review we started to discuss ofRenderCollection and if it was really necessary as a file -- it's alot of reimplementation of code and it means that as we make changes to the render pipeline, there's now three places we need to change it (in the ofCore, in the render and in the collection). \n\nalso, the name \"ofRenderCollection\" feels very java :)\n\nCould we move the logic of ofRenderCollection closer into OF, ie, ? At the moment, there's for sure something repetitive happening here, and if multiple renders is something we really care about and wish to support, we could switch all the calls that do: \n\n`renderer->`\n\nto \n\n`for (int i = 0; i < renders.size(); i++){\n}`\n\nand just remove this file?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1562","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1562/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1562/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1562/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1562","id":6690839,"number":1562,"title":"Constructors in openFrameworks","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-06T15:22:43Z","updated_at":"2012-09-06T15:31:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"We need a standardized approach to constructors.\n\nThe hardline answer is that there are only two types of constructors:\n\n* default constructors\n* copy constructors\n\nThis means that `ofBuffer(const string)` shouldn't exist, only `ofBuffer::load(const string)`. That's kind of reasonable.\n\nBut it also means that `ofRectangle(x,y,w,h)` shouldn't exist, and that's unreasonable.\n\nI think a good guideline is that if anything would be called `load`, `init` or `setup`, then it should be in a method, not a constructor. If something would be called `set` (simple data container) then it's ok to have a constructor.\n\nWhat does everyone think? Should `ofFile(string filename)` exist? How about `ofFile(string filename, bool binary)`? How about `ofImage(string filename)`?\n\nCode is cheap, but having more alternatives can make things harder to explain and more difficult to maintain, even when they're simple wrappers."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1561","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1561/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1561/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1561/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1561","id":6690737,"number":1561,"title":"ofDirectory::removeDirectory","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-06T15:19:20Z","updated_at":"2012-09-06T16:14:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is just an unfortunate arg ordering. \n\nAll other ofFile / ofDirectory methods have `bRelativeToData = true` as the second arg.\nwith `removeDirectory` the second arg is `deleteIfEmpty` - so it might be easy to be confused with the others and have people accidentally. \n\nhttps://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/utils/ofFileUtils.h#L272\n\nps: not sure what the best fix is here. \nanything to do with deleting files should be handled with care."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1560","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1560/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1560/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1560/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1560","id":6690115,"number":1560,"title":"stop using strings for file path manipulation","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-09-06T14:57:29Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is sort of a global issue and is being partly addressed by @elliotwoods 's PR for ofDataPath #1523\n\nWe should refrain from doing string manipulation on paths and use poco path for everything but actually passing the path to the loader/saver/manipulator .\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1559","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1559/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1559/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1559/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1559","id":6689861,"number":1559,"title":"deprecate ofBufferToFile() procedural style loaders and savers","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":7,"created_at":"2012-09-06T14:50:26Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofBufferToFile\nofBufferFromFile\nofLoadImage \nofSaveImage etc. \n\nhttps://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/utils/ofFileUtils.h#L54\n\nLets discuss better options for loading and saving ofBuffer, ofTexture, ofImage, ofPixels. \nSuspect that the c-style methods are not being used / don't feel intuitive. \n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1558","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1558/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1558/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1558/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1558","id":6689792,"number":1558,"title":"ofVec3f/ofVec4f operator== and operator!= rely on float==","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-09-06T14:47:54Z","updated_at":"2012-09-18T10:31:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"float== is unreliable. cf http://stackoverflow.com/questions/17333/most-effective-way-for-float-and-double-comparison \n\nhttp://stackoverflow.com/questions/6837007/comparing-float-double-values-using-operator suggests using `if (fabs((double)a/b - 1) < epsilon)` to avoid issues occuring when you don't know the ranges of a and b, this is for java but probably would work with c++ also."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1557","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1557/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1557/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1557/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1557","id":6689732,"number":1557,"title":"ofVec2f::perpendicular to return a choice of left or right perpendicular","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T14:45:45Z","updated_at":"2012-09-06T14:45:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`ofVec2f::perpendicular`\nshould be able to return a choice of the left or right perpendicular to the vector.\ncould either be done by passing a variable into the function\nor splitting the function into,\n`ofVec2f::perpendicularLeft`\n`ofVec2f::perpendicularRight`\n(perhaps)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1556","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1556/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1556/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1556/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1556","id":6689680,"number":1556,"title":"ofMesh has setName, but no getName()","user":{"login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","html_url":"https://github.com/NickHardeman","followers_url":"https://api.github.com/users/NickHardeman/followers","following_url":"https://api.github.com/users/NickHardeman/following","gists_url":"https://api.github.com/users/NickHardeman/gists{/gist_id}","starred_url":"https://api.github.com/users/NickHardeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickHardeman/subscriptions","organizations_url":"https://api.github.com/users/NickHardeman/orgs","repos_url":"https://api.github.com/users/NickHardeman/repos","events_url":"https://api.github.com/users/NickHardeman/events{/privacy}","received_events_url":"https://api.github.com/users/NickHardeman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T14:43:36Z","updated_at":"2012-09-06T14:43:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There is a `setName()` function for ofMesh, but no `getName()` \nhttps://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/3d/ofMesh.h#L104\n\nprobably should remove this in the future, but while there is a setName, there should be getName"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1555","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1555/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1555/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1555/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1555","id":6689403,"number":1555,"title":"ofVec2f::average not checking if one of the params is zero.","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-09-06T14:32:57Z","updated_at":"2012-09-06T14:32:57Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"inline ofVec2f& ofVec2f::average( const ofVec2f* points, int num )\n\nnum could come come in as zero.\nneed to check if zero and handle.\n\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/math/ofVec2f.h#L609-619"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1554","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1554/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1554/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1554/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1554","id":6689115,"number":1554,"title":"Group: Cleanup","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":35,"created_at":"2012-09-06T14:22:20Z","updated_at":"2012-09-06T21:23:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Cleanup includes anything that needs to just be removed or rearranged/moved around without changing the syntax or semantics of openFrameworks. For example: comment removal, or moving definitions around.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1552","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1552/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1552/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1552/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1552","id":6688624,"number":1552,"title":"Group: Needs Comments","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":37,"created_at":"2012-09-06T14:02:39Z","updated_at":"2012-09-06T21:20:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some chunks of openFrameworks need comments to describe their input/output range or the units of their output. This should generally be covered by the documentation, but if a function/method is especially ambiguous then it should have a single line of documentation. If a section has been commented out, it should also be explained why.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1550","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1550/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1550/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1550/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1550","id":6688604,"number":1550,"title":"Group: Deprecated Code","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":23,"created_at":"2012-09-06T14:02:05Z","updated_at":"2013-02-22T14:51:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Deprecated code includes anything that shouldn't exist in a perfect openFrameworks code base.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1549","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1549/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1549/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1549/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1549","id":6688593,"number":1549,"title":"Group: Weird Globals","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-09-06T14:01:45Z","updated_at":"2012-09-06T18:52:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Weird globals include anything that should be moved form a header to cpp file, or methods that are unnecessarily exposed, or functions that should be methods.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1548","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1548/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1548/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1548/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1548","id":6688561,"number":1548,"title":"Group: Poor Abstraction Patterns","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":17,"created_at":"2012-09-06T14:01:02Z","updated_at":"2012-09-07T01:46:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A poor abstraction is when a method or data belongs to one class, but should belong to a sub or super or adjacent class.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1547","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1547/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1547/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1547/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1547","id":6688551,"number":1547,"title":"Group: Naming Inconsistencies","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/code-review","name":"code-review","color":"d7e102"}],"state":"open","assignee":null,"milestone":null,"comments":77,"created_at":"2012-09-06T14:00:45Z","updated_at":"2012-09-13T16:23:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Naming inconsistencies are: poorly named methods, functions, constants, classes, and arguments.\n\nThis is a group of issues identified during Code Review 2012. Add any relevant issues to this group, and when they are all closed we will close this issue. If an issue fits this pattern, but is more significant or not a simple fix, please add it as a separate issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1546","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1546/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1546/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1546/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1546","id":6684509,"number":1546,"title":"Smoothing and additive blending","user":{"login":"sebleedelisle","id":110866,"avatar_url":"https://secure.gravatar.com/avatar/4ced05c7d50bae1a413798f9041aaa90?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4ced05c7d50bae1a413798f9041aaa90","url":"https://api.github.com/users/sebleedelisle","html_url":"https://github.com/sebleedelisle","followers_url":"https://api.github.com/users/sebleedelisle/followers","following_url":"https://api.github.com/users/sebleedelisle/following","gists_url":"https://api.github.com/users/sebleedelisle/gists{/gist_id}","starred_url":"https://api.github.com/users/sebleedelisle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebleedelisle/subscriptions","organizations_url":"https://api.github.com/users/sebleedelisle/orgs","repos_url":"https://api.github.com/users/sebleedelisle/repos","events_url":"https://api.github.com/users/sebleedelisle/events{/privacy}","received_events_url":"https://api.github.com/users/sebleedelisle/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-09-06T10:27:43Z","updated_at":"2012-11-14T23:45:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi guys! \n\nI'm not sure why but as soon as you enable smoothing, additive blending is disabled. In fact I think someone on the team is also unsure - see the comment \"why do we need this?\" in libs/openFrameworks/gl/ofGLRenderer.cpp :) \n```c++\n//----------------------------------------------------------\nvoid ofGLRenderer::startSmoothing(){\n\t#ifndef TARGET_OPENGLES\n\t\tglPushAttrib(GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT);\n\t#endif\n\n\tglHint(GL_LINE_SMOOTH_HINT, GL_NICEST);\n\tglEnable(GL_LINE_SMOOTH);\n\n\t//why do we need this?\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n}\n```\n\nI commented it out and it seemed to work OK, but I'm sure there are other repercussions. But it would be nice to have smoothing and blendmodes. \n\ncheers\nSeb\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1544","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1544/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1544/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1544/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1544","id":6645610,"number":1544,"title":"pointer troubles in vs2012","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":5,"created_at":"2012-09-04T20:40:11Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm getting a whole zoo of pointer errors compilng oF with vs2012\nnasty stuff. you can use the vs2010 sdk (v100) with vs2012 (v120)\nbut the only advertised way of doing this is by installing vs2010\n\nerrors at\nhttps://gist.github.com/3626201\n\nnot sure what's going here but just flagging it to start with"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1541","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1541/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1541/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1541/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1541","id":6637558,"number":1541,"title":"fixes ofPtr","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":3,"created_at":"2012-09-04T15:25:29Z","updated_at":"2013-03-11T07:50:07Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1541","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1541.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1541.patch"},"body":"adds non-explicit constructor from shared_ptr so it can be used as one + imports everything related to smart pointers from std::tr1 into std:: so the syntax is clearer"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1539","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1539/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1539/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1539/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1539","id":6621962,"number":1539,"title":"ofTrueTypeFont support for iso8859-1 on utf-8 encoded files","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":9,"created_at":"2012-09-03T20:21:29Z","updated_at":"2013-01-26T14:59:43Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1539","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1539.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1539.patch"},"body":"ofTrueTypeFont as it is right now has support for all the characters in iso8859-1 if the flag bFullCharacterSet is set to true when loading, which can render all the extended characters in the latin alphabet like ñàäáâç... \n\nthe problem is that most IDEs use utf-8 encoding by default so when writing this characters in strings in the code or text files they fail to render because the encoding freetype is expecting is iso8859-1.\n\nthis converts utf-8 to iso8859-1 which solves the problem of rendering special characters for the latin alphabet. might be good to test in code from other ide's in case the default encoding is not utf-8"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1527","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1527/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1527/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1527/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1527","id":6581728,"number":1527,"title":"ofGetGLTypeFromPixelFormat error ? ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":0,"created_at":"2012-08-31T15:26:32Z","updated_at":"2013-02-11T12:16:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"@arturoc is this an error? shouldn't it return GL_BGRA ? \n\n\tinline int ofGetGLTypeFromPixelFormat(ofPixelFormat pixelFormat){\n\t\tswitch(pixelFormat){\n\t\tcase OF_PIXELS_BGRA:\n\t\t\treturn GL_RGBA;\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1524","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1524/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1524/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1524/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1524","id":6559975,"number":1524,"title":"Adding support for ScaleGestureDetector on Android","user":{"login":"bostonbusmap","id":863262,"avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"433032cca043cedb67180dc5109062da","url":"https://api.github.com/users/bostonbusmap","html_url":"https://github.com/bostonbusmap","followers_url":"https://api.github.com/users/bostonbusmap/followers","following_url":"https://api.github.com/users/bostonbusmap/following","gists_url":"https://api.github.com/users/bostonbusmap/gists{/gist_id}","starred_url":"https://api.github.com/users/bostonbusmap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bostonbusmap/subscriptions","organizations_url":"https://api.github.com/users/bostonbusmap/orgs","repos_url":"https://api.github.com/users/bostonbusmap/repos","events_url":"https://api.github.com/users/bostonbusmap/events{/privacy}","received_events_url":"https://api.github.com/users/bostonbusmap/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-30T17:43:54Z","updated_at":"2012-08-30T17:44:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This would basically add support for pinch zoom, similar to the current support for swipes. I'm willing to add the support myself, but I wanted to submit an issue first to make sure it wasn't already done and that the functionality was wanted.\n\nIt would also require Android 2.2 or higher. I think that's what is recommended currently but I wanted to make sure that's an absolute requirement for ofxAndroid. Can anyone comment whether I should go forward with this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1523","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1523/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1523/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1523/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1523","id":6558968,"number":1523,"title":"Bugfix ofToDataPath using Poco::Path","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":32,"created_at":"2012-08-30T17:05:10Z","updated_at":"2013-03-10T19:39:35Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1523","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1523.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1523.patch"},"body":"Replaces #1251\n\nCloses #1522, #1250, #819\n\nNeeds serious testing across all platforms.\nWorks fine here on osx first time (so i might have overlooked something)\n\nUsing Poco::Path we seriously clear up a bunch of folder functions.\n\nI've also introduced ofSetWorkingDirectoryToDefault() and moved the call for it to ofRunApp, which should resolve #1522\n\nAlso I'm starting to think that ofDirectory should be returning Poco::Path derivatives not Poco::File derivatives.\n\nI'm not sure here if windows system dialogs changing the cwd are fixed. Will look more now, but eyes on early!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1522","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1522/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1522/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1522/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1522","id":6557319,"number":1522,"title":"ofSetDataPathRoot doing what it shouldn't","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-08-30T16:02:39Z","updated_at":"2012-08-30T16:07:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently `ofSetDataPathRoot` reads as:\n\n```c++\n//--------------------------------------------------\nvoid ofSetDataPathRoot(string newRoot){\n\tstring newPath = \"\";\n\n\t#ifdef TARGET_OSX\n\t\t#ifndef TARGET_OF_IPHONE\n\t\t\tchar path[MAXPATHLEN];\n\t\t\tuint32_t size = sizeof(path);\n\n\t\t\tif (_NSGetExecutablePath(path, &size) == 0){\n\t\t\t\t//printf(\"executable path is %s\\n\", path);\n\t\t\t\tstring pathStr = string(path);\n\n\t\t\t\t//theo: check this with having '/' as a character in a folder name - OSX treats the '/' as a ':'\n\t\t\t\t//checked with spaces too!\n\n\t\t\t\tvector < string> pathBrokenUp = ofSplitString( pathStr, \"/\");\n\n\t\t\t\tnewPath = \"\";\n\n\t\t\t\tfor(int i = 0; i < pathBrokenUp.size()-1; i++){\n\t\t\t\t\tnewPath += pathBrokenUp[i];\n\t\t\t\t\tnewPath += \"/\";\n\t\t\t\t}\n\n\t\t\t\t//cout << newPath << endl; // some sanity checks here\n\t\t\t\t//system( \"pwd\" );\n\n\t\t\t\tchdir ( newPath.c_str() );\n\t\t\t\t//system(\"pwd\");\n\t\t\t}else{\n\t\t\t\tofLog(OF_LOG_FATAL_ERROR, \"buffer too small; need size %u\\n\", size);\n\t\t\t}\n\t\t#endif\n\t#endif\n\t\n\tdataPathRoot() = newRoot;\n\tisDataPathSet() = true;\n}\n```\n\nAfter talking to @ofTheo , it's important to make sure that our working directory is set to our .app enclosing folder so our data folder keeps the same relative location.\n\nThis function is generally first made at the first call of ofToDataPath, meaning that ofToDataPath can change your working directory. Therefore I suggest we:\n\n1. Move this to `ofRunApp`\n2. Rewrite this using Poco::Path\n3. Implement this for Windows/VS also (to avoid $(TargetDir) issues)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1519","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1519/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1519/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1519/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1519","id":6518810,"number":1519,"title":"ofVboMesh::draw - normals update logic reversed?","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-29T05:11:33Z","updated_at":"2012-08-29T05:11:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"from the forum:\nhttp://forum.openframeworks.cc/index.php/topic,10596.new.html\n\nIt looks like line 60 and 63 need swapped to be in line with the other properties? \n\nhttps://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/gl/ofVboMesh.cpp#L60"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1517","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1517/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1517/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1517/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1517","id":6503331,"number":1517,"title":"ProjectGenerator does not compile with VS 2012","user":{"login":"JakeHendy","id":545914,"avatar_url":"https://secure.gravatar.com/avatar/1bae85527cf76c1d48d9111055eaf148?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1bae85527cf76c1d48d9111055eaf148","url":"https://api.github.com/users/JakeHendy","html_url":"https://github.com/JakeHendy","followers_url":"https://api.github.com/users/JakeHendy/followers","following_url":"https://api.github.com/users/JakeHendy/following","gists_url":"https://api.github.com/users/JakeHendy/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeHendy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeHendy/subscriptions","organizations_url":"https://api.github.com/users/JakeHendy/orgs","repos_url":"https://api.github.com/users/JakeHendy/repos","events_url":"https://api.github.com/users/JakeHendy/events{/privacy}","received_events_url":"https://api.github.com/users/JakeHendy/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-28T16:18:55Z","updated_at":"2012-08-28T16:18:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I've tried the 0.71 release from the OpenFrameworks website and also cloning the repo and using the `develop` branch. \n\nAttempting to compile the ProjectGenerator using the repo yields different results depending on the solution configuration.\n\n[Release Error List](http://f.cl.ly/items/3a2P2A0y0S3x1K2u090i/OpenFrameworks%20GitHub%20Release%20Errors%2028-08-2012.txt)\n\n[Debug error List](http://f.cl.ly/items/462K3e0n2q0T0C1U3k3s/OpenFrameworks%20GitHub%20Debug%20Errors%2028-08-2012.txt)\n\nUnfortunately I'm a complete fool at C++, and I wanted to use OpenFrameworks to get into it. I haven't been able to get it to compile on OS X 10.8 or Windows 7 (using VS 2012 RC and the openframeworks.cc version) or Windows 8 (with VS 2012 RTM). \n\nAny ideas?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1515","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1515/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1515/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1515/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1515","id":6488541,"number":1515,"title":"Bug in ofShader setupShaderFromSource() - OpenGL error 1280","user":{"login":"digitologist","id":728401,"avatar_url":"https://secure.gravatar.com/avatar/6066657aec6e02f2529e7cc573a23227?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6066657aec6e02f2529e7cc573a23227","url":"https://api.github.com/users/digitologist","html_url":"https://github.com/digitologist","followers_url":"https://api.github.com/users/digitologist/followers","following_url":"https://api.github.com/users/digitologist/following","gists_url":"https://api.github.com/users/digitologist/gists{/gist_id}","starred_url":"https://api.github.com/users/digitologist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digitologist/subscriptions","organizations_url":"https://api.github.com/users/digitologist/orgs","repos_url":"https://api.github.com/users/digitologist/repos","events_url":"https://api.github.com/users/digitologist/events{/privacy}","received_events_url":"https://api.github.com/users/digitologist/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":3,"created_at":"2012-08-28T00:44:40Z","updated_at":"2013-02-20T11:16:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Just upgraded my project to 0071, and got a new error in my console:\n> OF: OF_LOG_ERROR: OpenGL generated error 1280 trying to get the compile status for GL_FRAGMENT_SHADER shader. Does your video card support this?\n\nI tracked it down to the following lines:\n> // check compile status\n>\tGLint status = GL_FALSE;\n>\tglGetShaderiv(shader, GL_COMPILE_STATUS, &status);\n> GLuint err = glGetError();\n> if (err != GL_NO_ERROR){\n> ofLog( OF_LOG_ERROR, \"OpenGL generated error \" + ofToString(err) + \" trying to get the compile status for \" + nameForType(type) + \" shader. Does your video card support this?\" );\n> return false;\n> }\n\nDespite the status resolving to true, the glGetError() check was delivering an error 1280. I was able to fix the problem by adding another call to glGetError() earlier in the function body:\n\n>// create program if it doesn't exist already\n>\tcheckAndCreateProgram();\n>\t**GLuint clearErrors = glGetError();**\n>\t\n>\t// create shader\n>\tGLuint shader = glCreateShader(type);"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1514","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1514/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1514/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1514/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1514","id":6487194,"number":1514,"title":"ofDrawBitmapStringHighlight doesn't respect ofDrawBitmapMode ","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-08-27T23:10:37Z","updated_at":"2012-08-28T19:30:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey @kylemcdonald, this occurs when drawing inside of an fbo when using the default `OF_BITMAPMODE_MODEL_BILLBOARD`\n\n```c++\n ofDrawBitmapStringHighlight(s,p);\n```\n\nBasically, I think the ofRect [here](https://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/graphics/ofGraphics.cpp#L1150) needs the same `ofDrawBitmapMode` dependent view treatment that the bitmap string gets [here](https://github.com/openframeworks/openFrameworks/blob/develop/libs/openFrameworks/gl/ofGLRenderer.cpp#L1061)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1512","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1512/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1512/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1512/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1512","id":6475720,"number":1512,"title":"Error on addAttribute method on ofxXmlSettings","user":{"login":"camilosw","id":1142037,"avatar_url":"https://secure.gravatar.com/avatar/6af66148027bd6eb5b91165b1ee15b18?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6af66148027bd6eb5b91165b1ee15b18","url":"https://api.github.com/users/camilosw","html_url":"https://github.com/camilosw","followers_url":"https://api.github.com/users/camilosw/followers","following_url":"https://api.github.com/users/camilosw/following","gists_url":"https://api.github.com/users/camilosw/gists{/gist_id}","starred_url":"https://api.github.com/users/camilosw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/camilosw/subscriptions","organizations_url":"https://api.github.com/users/camilosw/orgs","repos_url":"https://api.github.com/users/camilosw/repos","events_url":"https://api.github.com/users/camilosw/events{/privacy}","received_events_url":"https://api.github.com/users/camilosw/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2012-08-27T14:58:51Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I got this error:\n\nerror: call of overloaded 'addAttribute(const char [6], const char [2], float)' is ambiguous\n\nThis hapened when I call addAttribute in this way:\n\n```c++\nsettings.addAttribute(\"point\", \"x\", value);\n```\n\nThere is a conflict between this addAttribute methods, because the compiler can't figure what of them call:\n\n```c++\nint addAttribute(const string& tag, const string& attribute, double value, int which = 0);\nint addAttribute(const string& tag, const string& attribute, double value);\n```\n\nI'm working in codeblocks on windows."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1511","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1511/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1511/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1511/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1511","id":6467460,"number":1511,"title":"feature : core add-on ofxAssets","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2012-08-27T07:04:39Z","updated_at":"2012-12-21T14:57:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"hey all!\n\nin a few of my addons i build an asset register to handle:\n* images\n* shaders\n* fonts\n\nThe idea is common. That on program start (and whenever you call `ofxAssets::rescan()`), it scans the `data/` folder for assets and builds the dictionaries.\n\ne.g. if my folder structure is like\n\n```\ndata/landscape.png\ndata/phong.vert\ndata/phong.frag\ndata/blur.frag\ndata/verdana.ttf\n```\n\nor sometimes i do...\n\n```\ndata/images/landscape.png\ndata/shaders/phong.vert\ndata/shaders/phong.frag\ndata/shaders/blur.frag\ndata/fonts/verdana.ttf\n```\n\nI can then access these from anywhere in my app as long as i'm including the ofxAssets header:\n\n```c++\n#include \"ofxAssets.h\"\nusing namespace ofxAssets;\n\nvoid testApp::draw() {\n shader[\"blur\"].begin();\n image[\"landscape\"].draw(10,10);\n shader[\"blur\"].end();\n font[\"verdana\"].drawString(\"is this API correct?\", 10, 10);\n\n //or if i don't want to add the using namespace clause\n ofxAssets::shader[\"phong\"].setUniform3f(\"position\", myVec3);\n}\n```\n\nI'd like to see this as a core add-on as I think it's rather universally useful, the code is beginning to be duplicated in different addons and the API is simple enough to avoid much deliberation. (spoke to soon)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1510","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1510/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1510/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1510/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1510","id":6416697,"number":1510,"title":"ofxAndroidVideoGrabber improve","user":{"login":"inspirit","id":223020,"avatar_url":"https://secure.gravatar.com/avatar/a6a9307749588c6cc9887a9b473d55e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a6a9307749588c6cc9887a9b473d55e9","url":"https://api.github.com/users/inspirit","html_url":"https://github.com/inspirit","followers_url":"https://api.github.com/users/inspirit/followers","following_url":"https://api.github.com/users/inspirit/following","gists_url":"https://api.github.com/users/inspirit/gists{/gist_id}","starred_url":"https://api.github.com/users/inspirit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inspirit/subscriptions","organizations_url":"https://api.github.com/users/inspirit/orgs","repos_url":"https://api.github.com/users/inspirit/repos","events_url":"https://api.github.com/users/inspirit/events{/privacy}","received_events_url":"https://api.github.com/users/inspirit/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-23T19:05:56Z","updated_at":"2012-08-23T19:05:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"on Android we get raw Camera stream in YUV format where first width*height values (Y plane) is grayscale representation of the frame. now the implementation doesnt allow to access this raw stream data it just converts it to the specified pixel output format (RGB by default) which u need for rendering.\n\ni think it not very efficient way of working with camera data. imagine we are doing some CV stuff in most cases such tasks require Grayscale representation of image and in our case we need to convert again (not fast on mobiles). probably it would be a nice addition to store Y plane of incoming YUV frame. and return it on request. it will save quite significant amount of computations in some scenarios. of course it is Android only feature but still reasonable one.\n\nlet me know what u think.\n\nalso i looked at YUV2RGB conversion routines and was wondering why not to implement NEON optimised one since u have an option to compile lib with neon support enabled. of course compiler will try to do it for u but in most cases manually done methods works way faster then auto generated by compiler. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1508","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1508/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1508/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1508/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1508","id":6415330,"number":1508,"title":"ofFbo::checkGLSupport() returns true but maxSamples = -1 so it crashes on windows","user":{"login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","html_url":"https://github.com/jesusgollonet","followers_url":"https://api.github.com/users/jesusgollonet/followers","following_url":"https://api.github.com/users/jesusgollonet/following","gists_url":"https://api.github.com/users/jesusgollonet/gists{/gist_id}","starred_url":"https://api.github.com/users/jesusgollonet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesusgollonet/subscriptions","organizations_url":"https://api.github.com/users/jesusgollonet/orgs","repos_url":"https://api.github.com/users/jesusgollonet/repos","events_url":"https://api.github.com/users/jesusgollonet/events{/privacy}","received_events_url":"https://api.github.com/users/jesusgollonet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-hardware","name":"section-hardware","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-08-23T18:11:43Z","updated_at":"2012-08-24T15:17:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"using codeblocks/windows 7 and fresh pull from develop, \n\nwhen testing checkGLSupport I get\n\nOF: OF_VERBOSE: FBO supported\nOF: OF_LOG_NOTICE: ofFbo::checkGLSupport()\nmaxColorAttachments: 8\nmaxDrawBuffers: 8\nmaxSamples: -1\n\nand the app crashes on glGenFrameBuffers...\n\nas far as I can see, it's the same problem as here, \n\nhttp://forum.openframeworks.cc/index.php/topic,6824.0.html\n\nbut I haven't seen any references to GLEE (referenced in the last answer) so I haven't been able to solve it\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1502","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1502/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1502/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1502/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1502","id":6383194,"number":1502,"title":"Feature: ofCamera should be used for internal of view","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-08-22T17:15:24Z","updated_at":"2012-12-29T23:36:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I thought I had posted this already.\nIt would be great if we could have ofCamera do the camera setup in a default OF app. \n\nRight now the code is duplicated. \n\nAlso it could allow the user could do something like: \n\nofCameraRef cam = ofGetCameraRef();\nref.dolly(-200, 0); \n\nIt would also allow for swapping out the current view with a different one. \n\nofSetCamera( newCam ); \n\nor\n\nofSetCamera( newEasyCam ); \n\nThis is actually not really the api I'm proposing. \nJust the overall change I think should be made. \n\nRelates issues:\n#410\n#765\n\n----------\nOne other thing that is more of a bigger question is can we make OF more object orientated? \n\nie instead of: \nofSetCamera( ofCamera cam ); \n\nofGetWindow(0).getContext().setCamera( cam ); \n\nAnyway I think that is for a separate GH issue - but I mention it as OF's global methods list is growing quite quickly and it might be time again to look at namespaces or moving some of the things in a more object orientated direction. \n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1500","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1500/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1500/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1500/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1500","id":6368287,"number":1500,"title":"more vertex points than necessary for curves","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-22T03:04:22Z","updated_at":"2012-08-22T03:04:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if you generate a curve like this:\n\n````c++\nvector control;\n...\nofPath path;\npath.curveTo(control.front());\nfor(int i = 0; i < control.size(); i++) {\n path.curveTo(control[i]);\n}\npath.curveTo(control.back());\nofPolyline polyline = path.getOutline()[0];\ncout << polyline.size() << endl;\n````\n\nthe number of points in the polyline are more than necessary. it looks like at each control point, vertices are doubled up -- except for the beginning, where there is only one vertex.\n\ni discovered this while trying to smoothly interpolate along a polyline, and found that the vertices weren't evenly spaced."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1497","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1497/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1497/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1497/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1497","id":6350830,"number":1497,"title":"Reorganize dev scripts","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-08-21T13:55:30Z","updated_at":"2013-02-22T13:50:33Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1497","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1497.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1497.patch"},"body":"This one's for @arturoc: If it's ok, i put those files in `/scripts/dev` into subfolders, cause otherwise it's pretty easy to get confused what file is for what purpose, especially if we get more in the future.\nbtw, what is `android_configure_arm7.sh` for? This one has some paths specific to your machine, and wouldn't it fit better into a `/scripts/android` folder?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1495","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1495/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1495/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1495/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1495","id":6346091,"number":1495,"title":"ofxurlfileloader doesn't have a accept header","user":{"login":"ikillbombs","id":1842262,"avatar_url":"https://secure.gravatar.com/avatar/0e972803504e237e42c9a680885498c8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0e972803504e237e42c9a680885498c8","url":"https://api.github.com/users/ikillbombs","html_url":"https://github.com/ikillbombs","followers_url":"https://api.github.com/users/ikillbombs/followers","following_url":"https://api.github.com/users/ikillbombs/following","gists_url":"https://api.github.com/users/ikillbombs/gists{/gist_id}","starred_url":"https://api.github.com/users/ikillbombs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikillbombs/subscriptions","organizations_url":"https://api.github.com/users/ikillbombs/orgs","repos_url":"https://api.github.com/users/ikillbombs/repos","events_url":"https://api.github.com/users/ikillbombs/events{/privacy}","received_events_url":"https://api.github.com/users/ikillbombs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":3,"created_at":"2012-08-21T09:30:13Z","updated_at":"2012-08-22T17:45:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"HI,\n\nI'm trying to parse a json database, but the developer said he doesn't receive an header in the request. Is it possible that there will be a header? Or a possibility to custom add an header. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1493","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1493/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1493/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1493/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1493","id":6314130,"number":1493,"title":"ofPush/Pop()","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-08-19T18:42:59Z","updated_at":"2012-08-21T12:40:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Cinder has `ci::gl::push/popModelView()` and `ci::gl::push/popProjection()` which are wrapped by `ci::gl::push/popMatrices`\n\nI think this kind of abstraction is great: starting by teaching people that they need to maintain camera states with `push/popMatrices`, then later showing them how to break that into parts (modelView, and projection).\n\nWhat if we took this a step further with OF, and used `ofPush/Pop()` to mean `ofPush/PopStyle()` + `ofPush/PopMatrix()`?\n\nRight now people wrap drawing code with one call or the other, but once they add an `ofSetColor()` or `ofTranslate()` they sometimes forget to add the other `push/pop`. We could encourage people to avoid this issue, and simplify code at the same time."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1485","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1485/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1485/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1485/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1485","id":6179119,"number":1485,"title":"Hue from ofColor should be 0..360, not 0.255","user":{"login":"liasomething","id":183150,"avatar_url":"https://secure.gravatar.com/avatar/248569b4b21882f854f3a0eee701cc37?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"248569b4b21882f854f3a0eee701cc37","url":"https://api.github.com/users/liasomething","html_url":"https://github.com/liasomething","followers_url":"https://api.github.com/users/liasomething/followers","following_url":"https://api.github.com/users/liasomething/following","gists_url":"https://api.github.com/users/liasomething/gists{/gist_id}","starred_url":"https://api.github.com/users/liasomething/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liasomething/subscriptions","organizations_url":"https://api.github.com/users/liasomething/orgs","repos_url":"https://api.github.com/users/liasomething/repos","events_url":"https://api.github.com/users/liasomething/events{/privacy}","received_events_url":"https://api.github.com/users/liasomething/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":3,"created_at":"2012-08-12T18:57:47Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Please can the Hue range be changed to 0 to 360 ?\nIt is really confusing to have the range 0 to 255 for the hue, because Photoshop and also Processing and anything else that i can think of uses 0 to 360."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1480","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1480/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1480/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1480/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1480","id":6173049,"number":1480,"title":"better .plist bundle identifier","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-08-11T21:40:24Z","updated_at":"2012-08-11T21:40:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now the bundle identifier is `com.yourcompany.openFrameworks`\n\nthis means that when people copy/paste error messages, you see a bunch of this. e.g.:\n\n````\n15 com.yourcompany.openFrameworks 0x000e293b testApp::keyPressed(int) + 185 (testApp.cpp:107)\n16 com.yourcompany.openFrameworks 0x00268047 ofNotifyKeyPressed(int) + 73\n17 com.yourcompany.openFrameworks 0x00265ff0 ofAppGlutWindow::special_key_cb(int, int, int) + 22\n18 com.apple.glut 0x00b006c8 -[GLUTView keyDown:] + 376\n19 com.apple.AppKit 0x99a4bce3 -[NSWindow sendEvent:] + 10891\n````\n\nwe should change it to just `com.openFrameworks` maybe"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1479","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1479/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1479/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1479/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1479","id":6147669,"number":1479,"title":"several 1d interpolation functions","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":15,"created_at":"2012-08-10T10:12:58Z","updated_at":"2013-03-09T22:33:08Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1479","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1479.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1479.patch"},"body":"can be easily generalized for any dimension"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1477","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1477/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1477/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1477/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1477","id":6140942,"number":1477,"title":"fix iOS orientation","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":11,"created_at":"2012-08-10T00:20:09Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"currently when setting orientation on ios,\nthe glView remains in portrait mode but everything drawn in the glView is flipped or rotated depending on the specified orientation.\n\na more elegant method would be to rotate and resize the glView directly to a orientation.\nand as far as OF is concerned, its always in OF_ORIENTATION_DEFAULT mode but the glView is adjusted.\nthis way you never have to flip or rotate any coordinates.... which will cut out a lot of orientation bugs which currently exist."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1474","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1474/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1474/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1474/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1474","id":6134380,"number":1474,"title":"ofDrawBitmapString renders incorrectly in an ofFbo ","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-08-09T18:45:45Z","updated_at":"2012-09-06T06:58:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"On the current dev branch, ofDrawBitmapString works fine in a normal drawing context, but it seems to render upside-down when rendered to an ofFbo.\n\n```c++\nmyFbo.begin();\nofDrawBitmapString(\"Hello World!\", 100,100);\nmyFbo.end()\n...\nmyFbo.draw(); // Hello World! will be drawn upside-down.\n```\nwhile normal use works fine.\n\nA quick test is to drop the following into the `fboTrailsExample` in the `drawFboTest()` method:\n\n```c++\n//--------------------------------------------------------------\nvoid testApp::drawFboTest(){\n \n ofDrawBitmapString(\"Hello World!\", 100,100);\n \n\t//we clear the fbo if c is pressed. \n\t//this completely clears the buffer so you won't see any trails\n\tif( ofGetKeyPressed('c') ){\n\t\tofClear(255,255,255, 0);\n\t}\t\n...\n```\n\nLooks like it needs a little vertical flip."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1470","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1470/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1470/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1470/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1470","id":6100728,"number":1470,"title":"Multiwindow using glfw","user":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":36,"created_at":"2012-08-08T11:41:24Z","updated_at":"2013-03-07T16:33:52Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1470","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1470.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1470.patch"},"body":"This branch uses glfw as the window system and ditches glut. But ofAppGlutWindow can still be used by modifying main.cpp\n\nto use glfw:\n````c++\nofSetupOpenGL(ofGetWindowManager(), 640,480, OF_WINDOW);\t\n````\n\nto use glut:\n````c++\nofAppGlutWindow window;\nofSetupOpenGL(&window, 1024,768, OF_WINDOW);\n````\n\nI was using this branch for the last couple of weeks on ubuntu and think it is pretty stable. But it needs compiled libs for mac & windows. The glfw version I use is a fork of the official glfw repo https://github.com/underdoeg/glfw\n\nWe should not merge this before those compiled libs are in there.\n\nI send this pull request mainly to have a place to get a discussion going. It'd be great if someone could try this and test if it works for them too :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1468","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1468/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1468/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1468/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1468","id":6072184,"number":1468,"title":"ofTrueTypeFont is unicode-unaware","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-08-07T09:43:24Z","updated_at":"2012-08-07T13:21:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It's the 21st century and oF is used all over the world (most notably in 日本国), and therefore ofTrueTypeFont should be able to draw UTF-8 strings. \n\nref: \"The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)\" http://www.joelonsoftware.com/articles/Unicode.html \n\nThe most complex part of this will be to enable dynamic character loading and unloading, as there are >110,000 unicode characters. @gimlids and I worked in the Futurelab on a project that could do this -- it's not actually as difficult as it might seem."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1466","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1466/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1466/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1466/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1466","id":6058618,"number":1466,"title":"Reduce warnings count","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":20,"created_at":"2012-08-06T18:26:12Z","updated_at":"2013-01-26T22:43:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"To improve new processes like the deprecation warnings and the automated build server, it is imho important to reduce the number of warnings we get when compiling OF. Additional benefit: new users don't get scared by them.\nSince it's not always clear how to resolve certain warnings (e.g. is an unused variable a programming mistake or some leftover code cruft?), I intend this issue to be a discussion ground for advice on these matters. \nPRs are welcome (thanks @bostonbusmap for the most recent bout of fixes btw!)!\n\nUpdates: \nLinux OF compiles with 0 warnings. Other OSes, examples still TODO.\nMacOS has 24 warnings from the linker."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1462","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1462/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1462/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1462/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1462","id":6040930,"number":1462,"title":"ofSerial readByte and writeByte simplification","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":4,"created_at":"2012-08-06T00:06:56Z","updated_at":"2012-08-08T15:05:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"readByte and writeByte should just be wrappers for readBytes and writeBytes. having the code copied just increases the chance for errors and maintenance problems.\n\nthis isn't a bug necessarily, just a design suggestion."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1439","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1439/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1439/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1439/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1439","id":6013902,"number":1439,"title":"Feature cairo gl backend","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-08-03T12:46:31Z","updated_at":"2012-08-04T10:13:53Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1439","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1439.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1439.patch"},"body":"Uses cairo to render shapes to a memory surface then shows them in openGL by uploading a texture. It's of course slower than directly render to openGL but you get awesome anti aliasing and properly capped lines\n\n![example](http://arturocastro.net/files/cairoBackend.png)\nleft is cairo, right is openGL"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1438","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1438/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1438/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1438/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1438","id":5995902,"number":1438,"title":"rewrite ofxXmlSettings with Poco::Xml, move to core as ofXml","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":25,"created_at":"2012-08-02T16:10:31Z","updated_at":"2012-08-24T22:04:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i went through all the methods and organized them, thinking about what would be cleanest. here's what i imagine ofXml looking like:\n\n````c++\nclass ofXml {\npublic:\n\tbool load(const string& filename);\n\tbool load(const ofBuffer& buffer);\n\tbool save(const string& filename);\n\t\n\tstring toString() const;\n\t\n\tvoid clear();\n\tvoid pushTag(const string& tag, int which = 0);\n\tvoid popTag();\n\t\n\tbool tagExists(const string& tag, int which = 0) const;\n\tint getNumTags(const string& tag) const;\n\tvoid addTag(const string& tag);\n\tvoid removeTag(const string& tag);\n\tvoid addValue(const string& tag, int value);\n\tvoid addValue(const string& tag, double value);\n\tvoid addValue(const string& tag, const string& value);\n\tvoid setValue(const string& tag, int value, int which = 0);\n\tvoid setValue(const string& tag, double value, int which = 0);\n\tvoid setValue(const string& tag, const string& value, int which = 0);\n\tint getValue(const string& tag, int defaultValue, int which = 0) const;\n\tdouble getValue(const string& tag, double defaultValue, int which = 0) const;\n\tstring getValue(const string& tag, const string& defaultValue, int which = 0) const;\n\t\n\tbool attributeExists(const string& tag, const string& attribute, int which = 0) const;\n\tint getNumAttributes(const string& tag, int which = 0) const;\n\tvoid removeAttribute(const string& tag, const string& attribute);\n\tvoid addAttribute(const string& tag, const string& attribute, int value, int which = 0);\n\tvoid addAttribute(const string& tag, const string& attribute, double value, int which = 0);\n\tvoid addAttribute(const string& tag, const string& attribute, const string& value, int which = 0);\n\tvoid setAttribute(const string& tag, const string& attribute, int value, int which = 0);\n\tvoid setAttribute(const string& tag, const string& attribute, double value, int which = 0);\n\tvoid setAttribute(const string& tag, const string& attribute, const string& value, int which = 0);\n\tint getAttribute(const string& tag, const string& attribute, int defaultValue, int which = 0) const;\n\tdouble getAttribute(const string& tag, const string& attribute, double defaultValue, int which = 0) const;\n\tstring getAttribute(const string& tag, const string& attribute, const string& defaultValue, int which = 0) const;\n\tvector getAttributes(const string& tag, int which = 0) const;\n};\n````"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1437","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1437/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1437/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1437/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1437","id":5986855,"number":1437,"title":"throw error when using make files on non-supported platform","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":8,"created_at":"2012-08-02T08:04:37Z","updated_at":"2013-03-09T21:53:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Yet another user [assumed recently](http://forum.openframeworks.cc/index.php/topic,10401.msg47225/topicseen.html#new) that make files would work on OSX. This is not supported currently (#1393), but would probably be nice to have at some point. \n\nIn the meantime, it would be great if the makefile could throw an error if it is used on a non-supported platform, so people don't even try to get it to run. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1436","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1436/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1436/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1436/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1436","id":5969881,"number":1436,"title":"all loadX() methods should be load()","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":4,"created_at":"2012-08-01T14:55:41Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"for example, `ofVideoPlayer::loadMovie()` and `ofImage::loadImage()` should just be `load()`.\n\nobviously a hard change would break every openFrameworks project ever, but we're already moving in this direction with the newest classes. so in the meantime we need to:\n\n1. change the name of `loadX()` to `load()`\n2. add a wrapper for `load()` called `loadX()`\n3. mark the wrapper deprecated\n4. change all the examples to use `load()` instead of `loadX()`\n\nthis issue makes issue #510 irrelevant, so i've closed it.\n\nalso, #463 is related: while we're changing `load()` we should make sure it's always testable.\n\nthis change may seem aesthetic at first, but it's following one of the important design guideline: \"openFrameworks is consistent and intuitive: it should operate on the principle of least surprise, so that what you learn about one part of openFrameworks can be applied to other parts of it.\"\n\ni think it's also essential to get it in sooner so that as people continue writing more about OF the writing can both be consistent and up-to-date."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1432","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1432/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1432/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1432/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1432","id":5927678,"number":1432,"title":"Does _WIN32_WINNT need to be defined?","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-07-30T19:56:34Z","updated_at":"2012-10-26T08:04:13Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I notice that in [ofConstants.h](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofConstants.h#L50), _WIN32_WINNT is defined even though the [reason (old ofThread code)](https://github.com/openframeworks/openFrameworks/commit/f28cb335da5f8b34b5781c7938a6d4fa0a5fdcd9) is long gone.\n\nThis is causing [an issue with ofxPd](https://github.com/danomatika/ofxPd/issues/21), since libpd defines it as well. There might be issues with other libraries as well."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1428","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1428/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1428/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1428/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1428","id":5893723,"number":1428,"title":"Remove functions deprecated in 0072","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":3,"created_at":"2012-07-28T15:14:38Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some functions have been deprecated in 0072 (#1427 et al.). It's time to remove them at some point. I have tentatively scheduled this point to be 0074 (i.e. 2 releases after deprecation). ~ half a year (including inevitable delays) should allow plenty of time for people to notice the warnings.\r\n\r\nList of deprecations: \r\n`ofVec*f::lengthSquared()`, `ofVideoGrabber::grabFrame()` and `ofVideoPlayer::idleMovie()`,\r\n`ofPolyline::addVertexes`, \r\n`ofGraphics: ofVertexes`, `ofGraphics: ofCurveVertexes`, \r\n`ofQTKitPlayer::bind()`, `ofQTKitPlayer::unbind()`,\r\n`ofAppiPhoneWindow::enableRetinaSupport()`, `ofAppiPhoneWindow::isRetinaSupported()`, `ofAppiPhoneWindow::isDepthEnabled()`,"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1426","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1426/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1426/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1426/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1426","id":5863670,"number":1426,"title":"feature : recode ofNode to use parameters","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":26,"created_at":"2012-07-26T20:43:28Z","updated_at":"2012-08-01T09:23:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey all!\n\nI need a way of having the translate, rotate and scale of an ofNode (essentially all the acknowledged parameters) act as parameters.\n\nMy suggestion before was to make parameters able to use external values (e.g. you can make your own ofParameter-type class that doesn't internally store an ofVec3f, but instead gets and sets the position of an ofNode. with that class being able to sit within the inheritance tree of ofParameter, and therefore be tied to a slider, etc).\nThis suggestion didn't get positive response as it complicates ofParameter\n\nThe next suggestion is to recode ofNode to internally use 3 parameters:\n\n```c++\nofParameter translation;\nofParameter rotation;\nofParameter scale;\n```\n\nyou could then bind external sliders to these parameters\nwe keep the existing API\nthe biggest difference would be that you couldn't apply a projective transform to an ofNode (if you applied a matrix, we'd perform some decomposition to make it back into a Tra,Rot,Sca\n\nthe alternative so far has been to cache values somewhere, and have an update loop that checks for changes inside the ofNode\ni'd like to avoid this as it's very messy (e.g. who does this update, what is the epsilon value, etc)\n\nthis isn't an easy ask, but the type of control that it unlocks is really powerful\nso your consideration is appreciated"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1425","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1425/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1425/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1425/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1425","id":5853550,"number":1425,"title":"ofiPhoneVideoPlayer clash with ofSoundStream","user":{"login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","url":"https://api.github.com/users/chrisoshea","html_url":"https://github.com/chrisoshea","followers_url":"https://api.github.com/users/chrisoshea/followers","following_url":"https://api.github.com/users/chrisoshea/following","gists_url":"https://api.github.com/users/chrisoshea/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisoshea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisoshea/subscriptions","organizations_url":"https://api.github.com/users/chrisoshea/orgs","repos_url":"https://api.github.com/users/chrisoshea/repos","events_url":"https://api.github.com/users/chrisoshea/events{/privacy}","received_events_url":"https://api.github.com/users/chrisoshea/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":6,"created_at":"2012-07-26T13:28:07Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"bug, iOS. tested on 5.0\n\nTake the audio input example & add an instance of ofVideoPlayer & just loadMovie in setup and do nothing else. The audio input doesn't work anymore.\n\nThe buffer size drops from 512 to 470. This only happens if you load a movie that has sound, a movie with no sound doesn't effect the ofSoundStream.\n\n(posted on the forum)\nhttp://forum.openframeworks.cc/index.php/topic,9558.msg47111.html#msg47111"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1416","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1416/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1416/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1416/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1416","id":5768792,"number":1416,"title":"ofAndroid lacks videoplayer","user":{"login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","html_url":"https://github.com/hvfrancesco","followers_url":"https://api.github.com/users/hvfrancesco/followers","following_url":"https://api.github.com/users/hvfrancesco/following","gists_url":"https://api.github.com/users/hvfrancesco/gists{/gist_id}","starred_url":"https://api.github.com/users/hvfrancesco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvfrancesco/subscriptions","organizations_url":"https://api.github.com/users/hvfrancesco/orgs","repos_url":"https://api.github.com/users/hvfrancesco/repos","events_url":"https://api.github.com/users/hvfrancesco/events{/privacy}","received_events_url":"https://api.github.com/users/hvfrancesco/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":9,"created_at":"2012-07-22T21:14:34Z","updated_at":"2012-07-30T06:48:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this is a feature request.\nI'm rather confident Arturo has been already addressing the theme.\nI've been having a look at android docs and NDK, but couldn't get a clear view of the involved complexity and of real possibilities.\nShould be possible to pass a SurfaceTexture through JNI? can a SurfaceTexture be generated in the OF GLSurfaceView context and then set to be used as the sink for the video portion of the media?\nI'm a bit confused about it, sorry"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1415","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1415/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1415/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1415/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1415","id":5767180,"number":1415,"title":"buildAllExamples script should not error out on first failed compilation","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-07-22T16:52:26Z","updated_at":"2012-07-22T16:52:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\nThe buildAllExamples script should imo not exit when an example compilation fails, but store the example ID (and maybe error) and continue on, and at the end print a list of failed examples. \nThis would also be nifty w.r.t to automated testing - a CI server could directly call this script and all examples would be tested even if, e.g., the glnfoExample fails. Currently I run a modified version of this script while playing with Jenkins - just commented out the \"exit\".\nThoughts, @arturoc , @benben, @underdoeg?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1414","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1414/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1414/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1414/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1414","id":5767040,"number":1414,"title":"makefile cleanRelease target - Command not found","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-07-22T16:26:45Z","updated_at":"2012-07-22T16:26:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When executing the `cleanAllExamples` script (or just saying `make clean` in an example's folder), I get:\n\n\t\tcleaning + shaderExample\n\t\trm -rf obj/i686Release/\n\t\trm -f bin/shaderExample_debug bin/shaderExample\n\t\trm -rf bin/libs\n\t\tcleanRelease:\n\t\tmake: cleanRelease:: Command not found\n\t\tmake: *** [clean] Error 127\n\nAside from the slight output error of the superfluous `+` in the first line (trivially corrected), there's this error about `cleanRelease:: Command not found`. I tried to see how this could be corrected, but my make-fu is not strong enough. @arturoc, do you know how to correct this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1413","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1413/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1413/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1413/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1413","id":5758354,"number":1413,"title":"ofiPhoneVideoGrabber additions from Oriol","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2012-07-22T05:54:34Z","updated_at":"2013-02-11T12:12:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Oriol made some nice additions to ofiPhoneVideoGrabber,\nadding support for focus / exposure / whiteBalance / torch.\nhttp://forum.openframeworks.cc/index.php/topic,10354.0.html\n\nneed to merge these into develop."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1412","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1412/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1412/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1412/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1412","id":5756495,"number":1412,"title":"OF_ROOT location should be able to be given to PG as an argument","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-07-21T21:36:34Z","updated_at":"2012-08-30T17:00:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\nThe config file which indicates OF_ROOT is currently in `~/.ofprojectgenerator/config`. This just became a problem when I was working on Jenkins CI builds:\nOn the one hand, the dialog that pops up that wants you to select the root folder doesn't find a display to open (of course, since this is basically headless for now, and this is the only thing in the whole chain which would necessitate a display I think).\nOn the other hand, the jenkins user which by default executes these tests doesn't have a home folder, so you can't even put the file there by hand. (This I can work around by creating a home folder for this user)\nBoth these problems would disappear if one could give the OF_ROOT location to the PG as a separate argument. I propose `--ofRoot `\n\n@arturoc @benben: opinions?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1409","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1409/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1409/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1409/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1409","id":5731901,"number":1409,"title":"ios project - upgrade to latest project format","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":3,"created_at":"2012-07-20T07:51:50Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"im running the XCode 4.3.2 and its constantly asking me to upgrade iOS projects.\nthis is the message...\n\n\"The project is currently archived in the Xcode 3.1-compatible format.\nThis will upgrade the project format to the latest format Xcode 3.2-compatible.\"\n\nXcode 3.1 is pretty old, so thinking its ok to upgrade to Xcode 3.2 and drop Xcode 3.1 support.\n\nimagine this would be the same for osx.\n\nhow does everyone feel about this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1403","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1403/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1403/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1403/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1403","id":5638136,"number":1403,"title":"ofMatrix4x4 makelookat","user":{"login":"neuroprod","id":640585,"avatar_url":"https://secure.gravatar.com/avatar/3623ccdee8e3a141ff0e8d4e8447671d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3623ccdee8e3a141ff0e8d4e8447671d","url":"https://api.github.com/users/neuroprod","html_url":"https://github.com/neuroprod","followers_url":"https://api.github.com/users/neuroprod/followers","following_url":"https://api.github.com/users/neuroprod/following","gists_url":"https://api.github.com/users/neuroprod/gists{/gist_id}","starred_url":"https://api.github.com/users/neuroprod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neuroprod/subscriptions","organizations_url":"https://api.github.com/users/neuroprod/orgs","repos_url":"https://api.github.com/users/neuroprod/repos","events_url":"https://api.github.com/users/neuroprod/events{/privacy}","received_events_url":"https://api.github.com/users/neuroprod/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-07-16T12:43:55Z","updated_at":"2012-07-16T21:33:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"line 922 ofmatrix4x4.cpp\n\n_mat[3] = eye;\n\nshould be: \n\n_mat[3] .set(eye.x,eye.y, eye.z, 1);\n\na vec3 to vec4 casts the w as 0 (which i find the real strange thing...)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1402","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1402/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1402/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1402/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1402","id":5636049,"number":1402,"title":"Project Generator GUI: can't see all addons when list is relatively big","user":{"login":"eelke","id":738902,"avatar_url":"https://secure.gravatar.com/avatar/67ec8bd4dafbc12cee712c95f510cdb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"67ec8bd4dafbc12cee712c95f510cdb4","url":"https://api.github.com/users/eelke","html_url":"https://github.com/eelke","followers_url":"https://api.github.com/users/eelke/followers","following_url":"https://api.github.com/users/eelke/following","gists_url":"https://api.github.com/users/eelke/gists{/gist_id}","starred_url":"https://api.github.com/users/eelke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eelke/subscriptions","organizations_url":"https://api.github.com/users/eelke/orgs","repos_url":"https://api.github.com/users/eelke/repos","events_url":"https://api.github.com/users/eelke/events{/privacy}","received_events_url":"https://api.github.com/users/eelke/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-07-16T10:16:18Z","updated_at":"2012-07-16T10:17:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When there are many addons in the directory, the list gets too big to display.\nThis makes it impossible to select the hidden addons. \n\n[Example](http://i.imgur.com/ONUBH.png)\n\n(Clearified this happens with the Project Generator)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1401","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1401/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1401/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1401/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1401","id":5628493,"number":1401,"title":"ofGetBackgroundColor: removed ofBgColorPtr added ofGetBackgroundColor","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":6,"created_at":"2012-07-15T18:02:27Z","updated_at":"2013-03-09T22:31:50Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1401","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1401.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1401.patch"},"body":"removes ofBgColorPtr and adds ofGetBackgroundColor to fix redundancy in defaultStyle.bgColor and renderer.bgColor. Fixes a problem with ofSetBackgroundColor not setting the color.\n\nwarning! changes current api"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1400","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1400/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1400/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1400/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1400","id":5620920,"number":1400,"title":"ofSetBackgroundColor not working?","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-07-14T15:24:18Z","updated_at":"2012-10-19T14:52:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"is it meant to change the background color in the same way ofBackground does? \nwhat is a simple use case for it? \n\nlooking at the code it sets a color, but I don't see that color being applied to the window. \n\n\t\t//----------------------------------------------------------\n\t\tvoid ofSetBackgroundColor(int r, int g, int b, int a){\n\t\t\tcurrentStyle.bgColor.set(r,g,b,a);\n\t\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1396","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1396/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1396/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1396/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1396","id":5528308,"number":1396,"title":"feature: better shader examples","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":13,"created_at":"2012-07-10T17:01:46Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey all!\n\nI'd like to push for more shader examples.\nI'd even like to suggest we separate shader examples out into another folder (move out of 'gl' folder into 'shader' folder)\n\nhere's a first example: (watch out for the abrasive fan!)\nhttp://www.youtube.com/watch?v=crHWEJ-xq3s&feature=youtu.be"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1387","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1387/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1387/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1387/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1387","id":5460543,"number":1387,"title":"weird enableAlpha in ofTexture:draw","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-07-06T08:10:38Z","updated_at":"2012-07-06T13:23:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofTexture.cpp#L1057\n\ni guess this shouldn't be there, but just in case anyone knows why it's there before removing, it seems it comes from a commit from @rsodre: 032d31cda0a29324c42bfc651e52950b3fdc8db3"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=3&per_page=100 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '326617'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 11 Mar 2013 10:11:56 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9d1c9cd0db105699c994ba8b16296c1b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 10:13:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1385","id":5447789,"number":1385,"title":"ofOpenALSoundPlayer.cpp vs ofxOpenALSoundPlayer.cpp ?","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-07-05T16:29:56Z","updated_at":"2012-07-05T16:51:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Right now we have two OpenAL based sound players in OF. \nOne is part of ofxiPhone and one is part of the core.\n\nJust curious if the core ofOpenALSoundPlayer.cpp could be used by iOS and if we could drop/merge ofxOpenALSoundPlayer.cpp ? \nSeems weird to have both.\n\n@damiannz @julapy what do you think?\n\nTheo"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1382","id":5436804,"number":1382,"title":"rename ofxiPhone to ofxiOS","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":25,"created_at":"2012-07-05T02:48:59Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"think it might be time to rename ofxiPhone to ofxiOS.\nits one of those things that consistently bugs me every time i have to create a new class beginning with ofxiPhone.\niOS has moved beyond just the iPhone and i think the current naming convention can be confusing.\n\nthis will involve going through and renaming all ofxiPhone classes and adjusting all iOS examples.\n\nplease let me know if anyone has any objections to this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1379","id":5425486,"number":1379,"title":"iOS: iPad retina ofGetWidth/Height are 2048x1536","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":29,"created_at":"2012-07-04T10:27:33Z","updated_at":"2013-02-16T10:15:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"as per subject line. my suggestion/preference would be for retina to return 1024x768, same as on iOS, to be consistent with the paradigm that iOS uses normally, allowing retina and non-retina code to be identical in the testApp.\n\ni don't know how this is on iphone/ipod touch though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1365","id":5367217,"number":1365,"title":"projectGenerator doesn't create complete iOS moviePlayerExample project","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-30T12:25:54Z","updated_at":"2012-06-30T12:25:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"as per title, running projectGenerator on the moviePlayerExample folder skips a number of files necessary (VideoPlayerControls.* and VideoPlayerControlsDelegateForOF.*). as a result the example won't compile."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1364","id":5365386,"number":1364,"title":"ofDirectShowGrabber glitches on non-native sizes","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-30T03:41:12Z","updated_at":"2012-06-30T03:42:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"for example, when you ask for 1281x721 it will just display a black image. the pixels are definitely there, but there's some kind of texture bug. videoInput is reporting correctly that the width/height are different than the requested width/height, but ofDirectShowGrabber is not handling that correctly.\n\nalso, we should be using the built in resizing features in other parts of OF now if we can, instead of duplicating the resizing code :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1362","id":5357380,"number":1362,"title":"simple text file loading and saving","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-06-29T16:46:03Z","updated_at":"2012-11-20T00:36:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think this is the simplest way to save a string to a text file right now:\n\n````cpp\nstring str = \"hello\";\nofBuffer msg(str.c_str(), str.length());\nofBufferToFile(\"out.txt\", msg);\n````\n\nthere should be a one-line (one-function, ideally) equivalent similar to http://processing.org/reference/loadStrings_.html and http://processing.org/reference/saveStrings_.html\n\nif we made a constructor for ofBuffer that accepts a string, then it could just be:\n\n````cpp\nofBufferToFile(\"out.txt\", \"hello\");\n````\n\nand a cast operator for ofBuffer to string:\n\n\n````cpp\nstring str;\nofBufferFromFile(\"out.txt\", str);\n````\n\ni'd be ok with that, even though the naming would be a bit obscure."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1361","id":5318139,"number":1361,"title":"ofSoundPlayer::getIsPlaying() does not work with mp3","user":{"login":"prossel","id":541021,"avatar_url":"https://secure.gravatar.com/avatar/47edf7d39b59dd6fc4cb15775b8b7d5f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"47edf7d39b59dd6fc4cb15775b8b7d5f","url":"https://api.github.com/users/prossel","html_url":"https://github.com/prossel","followers_url":"https://api.github.com/users/prossel/followers","following_url":"https://api.github.com/users/prossel/following","gists_url":"https://api.github.com/users/prossel/gists{/gist_id}","starred_url":"https://api.github.com/users/prossel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prossel/subscriptions","organizations_url":"https://api.github.com/users/prossel/orgs","repos_url":"https://api.github.com/users/prossel/repos","events_url":"https://api.github.com/users/prossel/events{/privacy}","received_events_url":"https://api.github.com/users/prossel/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-06-28T08:55:15Z","updated_at":"2012-07-04T08:17:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Looks like getIsPlaying is always returning false if the sound is a .mp3 file. Tested with OF71 on iOS.\n\nTo reproduce:\n\n1. use the soundPlayerExample\n1. drop a .mp3 file in the sounds folder\n1. change the filename in testApp.mm: `synth.loadSound(\"sounds/part1.mp3\");`\n1. run the app\n1. click to start playing sounds\n\nWhen the last two sounds are playing, their title turns red.\n\nThe first sound (mp3) does not turn red because getIsPlaying() returns false."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1359","id":5302782,"number":1359,"title":"ofFbo bind() and unbind() is confusing","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-27T17:50:20Z","updated_at":"2012-06-29T09:17:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"fbo.bind() should bind the FBO's texture, ie behave the same way as ofTexture.bind(). At the moment it actually binds the FBO's framebuffer. this is confusing, and the documentation is inaccurate on this point (http://www.openframeworks.cc/documentation/gl/ofFbo.html#bind).\n\ni would suggest making bind() call getTextureReference().bind(), and adding a new function bindFrameBuffer to do what bind() currently does. comments?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1358","id":5297227,"number":1358,"title":"ofxAssimpModelLoader aiMatrix4x4ToOfMatrix4x4","user":{"login":"neuroprod","id":640585,"avatar_url":"https://secure.gravatar.com/avatar/3623ccdee8e3a141ff0e8d4e8447671d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3623ccdee8e3a141ff0e8d4e8447671d","url":"https://api.github.com/users/neuroprod","html_url":"https://github.com/neuroprod","followers_url":"https://api.github.com/users/neuroprod/followers","following_url":"https://api.github.com/users/neuroprod/following","gists_url":"https://api.github.com/users/neuroprod/gists{/gist_id}","starred_url":"https://api.github.com/users/neuroprod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neuroprod/subscriptions","organizations_url":"https://api.github.com/users/neuroprod/orgs","repos_url":"https://api.github.com/users/neuroprod/repos","events_url":"https://api.github.com/users/neuroprod/events{/privacy}","received_events_url":"https://api.github.com/users/neuroprod/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-27T13:45:13Z","updated_at":"2012-06-27T17:56:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nline nr 86 this:\n```cpp\nfloat m[16] = { aim.a1,aim.a2,aim.a3,aim.a4,\n\t\t\t\t\taim.b1,aim.b2,aim.b3,aim.b4,\n\t\t\t\t\taim.c1,aim.c2,aim.c3,aim.c4,\n\t\t\t\t\taim.d1,aim.d2,aim.d3,aim.d4 };\n```\nshould be this\n```cpp\nfloat m[16] = { aim.a1,aim.b1,aim.c1,aim.d1,\n\t\t\t\t\taim.a2,aim.b2,aim.c2,aim.d2,\n\t\t\t\t\taim.a3,aim.b3,aim.c3,aim.d3,\n\t\t\t\t\taim.a4,aim.b4,aim.c4,aim.d4 };\n```\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1356","id":5291942,"number":1356,"title":"ofMesh statics","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-06-27T08:56:51Z","updated_at":"2012-06-27T15:13:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"hey all!\n\ni'm going back through issues this week to clean out and work on functionality.\n\nwe talked before @ofTheo and maybe marek? (iirc) about ofMesh statics\n\nMy proposal is something like 'ofMeshLibrary' which has lots of standard meshes that you can pull out or draw directly, e.g.:\n* Grid (quad, plane, etc)\n* Box\n* Sphere\n* Icosphere\n* Cylinder\n* Tube\n* Arrow\netc...\n\nfor each you could do like\n\n```c++\nofMesh myMesh;\n\nofMeshLibrary::sphere::draw(); // draw with default resolution\n\n//ofMeshLibrary::sphere::init() is called the first time you either copy or draw the mesh\nmyMesh = ofMeshLibrary::sphere; // create a local instance of sphere with default resolution\n\nofMeshLibrary::sphere::setResolution(5); // change the resolution of the static sphere\n\nmyMesh = ofMeshLibrary::sphere; // create a local instance of sphere with low resolution\n\nofMeshLibrary::sphere::draw(); // draw with reduced resolution\n```\n\nAnybody see any issues with this being in the core?\nIf not I'll start on this. We discussed it before on irc and it was mostly positive."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1354","id":5280751,"number":1354,"title":"feature suggestion: ofCamera::getXYZat(const ofVec2f & screenCoordinate)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-06-26T18:43:23Z","updated_at":"2012-08-04T21:47:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This would use the same method as ofxGrabCam (pull a pixel from the depth buffer and unproject)\nAnybody have any qualms about including this in ofCamera directly?\n\nalso i suggest we add:\n```glEnable(GL_DEPTH_FUNC);``` to ```ofCamera::begin(...)```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1348","id":5235369,"number":1348,"title":"Android example doesn't run on emulator, but runs on device","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-06-24T12:09:38Z","updated_at":"2012-08-05T21:31:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\n\nI've just followed the setup guide for Android/Eclipse/Linux. Everything works using AndroidEmptyExample, when using a real device, but if I use a freshly generated ICS emulator, it does not run successfully. \nLog:\n\n\t\tBUILD SUCCESSFUL\n\t\tTotal time: 15 seconds\n\t\tcp bin/OFActivity-debug.apk bin/androidEmptyExample.apk\n\t\t#if [ \"device\" = \"device\" ]; then\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb uninstall cc.openframeworks.androidEmptyExample\n\t\tFailure\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb install -r bin/androidEmptyExample.apk;\n\t\t2560 KB/s (8222503 bytes in 3.136s)\n\t\t\tpkg: /data/local/tmp/androidEmptyExample.apk\n\t\tFailure [INSTALL_FAILED_CONTAINER_ERROR]\n\t\t#fi\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb shell am start -a android.intent.action.MAIN -n cc.openframeworks.androidEmptyExample/cc.openframeworks.androidEmptyExample.OFActivity\n\t\tStarting: Intent { act=android.intent.action.MAIN cmp=cc.openframeworks.androidEmptyExample/.OFActivity }\n\t\tError type 3\n\t\tError: Activity class {cc.openframeworks.androidEmptyExample/cc.openframeworks.androidEmptyExample.OFActivity} does not exist.\n\nThe activity class looks alright (and works with a device, anyway). Any ideas what's wrong here, @arturoc ? Is this even fixable on our side?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1347","id":5216147,"number":1347,"title":"rename ofImage.grabScreen","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-22T14:24:37Z","updated_at":"2012-06-23T16:21:52Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"First: Is this method supposed to be in the public API of OF? Becaue it is missing in the reference on the website.\n\nI think we should discuss the naming of this function. OF has methods like `ofGetHeight()` for getting the height of the app and `ofGetScreenHeight()` for getting the height of the screen. Instead `ofImage_::grabScreen`[1] does not grab the screen. I tested this on arch/ubuntu/win7 and it only grabs the app (everything else is black). Maybe it should be renamed to only `ofImage_::grab`. What do you think?\n\n[1] https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/graphics/ofImage.cpp#L907"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1344","id":5163949,"number":1344,"title":"ofLoadURLAsync crash when no network is available","user":{"login":"gorkacortazar","id":608719,"avatar_url":"https://secure.gravatar.com/avatar/6730aa74ae4edfa08a88f98e1364f5ec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6730aa74ae4edfa08a88f98e1364f5ec","url":"https://api.github.com/users/gorkacortazar","html_url":"https://github.com/gorkacortazar","followers_url":"https://api.github.com/users/gorkacortazar/followers","following_url":"https://api.github.com/users/gorkacortazar/following","gists_url":"https://api.github.com/users/gorkacortazar/gists{/gist_id}","starred_url":"https://api.github.com/users/gorkacortazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gorkacortazar/subscriptions","organizations_url":"https://api.github.com/users/gorkacortazar/orgs","repos_url":"https://api.github.com/users/gorkacortazar/repos","events_url":"https://api.github.com/users/gorkacortazar/events{/privacy}","received_events_url":"https://api.github.com/users/gorkacortazar/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-20T07:09:34Z","updated_at":"2012-09-26T10:46:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofLoadURLAsync crashes when no network is connected, on windows (codeblocks and vidual studio). Seeing the debugger, crashes when the poco::dnserror is being called.\n\nMy current workaround is to use ofLoadURL(...) in a threaded class, that work as expected (catches the error and logs the network error in the ofx console)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1343","id":5134626,"number":1343,"title":"ofVec2f could be more dry?","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-06-18T21:48:19Z","updated_at":"2012-08-01T11:47:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Can you do inline functions inside inline functions? this seems to indicate so\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/math/ofVec2f.h#L706\n\nIf so, in ofVec2f::getPerpendicular, ofVec2f::perpendicular and there are a few calls to \nfloat length = (float)sqrt( x*x + y*y ); \n\nthese can be covered by the ofVec2f::length() function\n\nAlso, do we need both lengthSquared() and squareLength()?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1336","id":5108991,"number":1336,"title":"ofSoundStream doesn't compile in VS2010 (Release Mode) ","user":{"login":"sloopidoopi","id":248498,"avatar_url":"https://secure.gravatar.com/avatar/69d034865cb1f775bb1e0b47ff0580b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69d034865cb1f775bb1e0b47ff0580b2","url":"https://api.github.com/users/sloopidoopi","html_url":"https://github.com/sloopidoopi","followers_url":"https://api.github.com/users/sloopidoopi/followers","following_url":"https://api.github.com/users/sloopidoopi/following","gists_url":"https://api.github.com/users/sloopidoopi/gists{/gist_id}","starred_url":"https://api.github.com/users/sloopidoopi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloopidoopi/subscriptions","organizations_url":"https://api.github.com/users/sloopidoopi/orgs","repos_url":"https://api.github.com/users/sloopidoopi/repos","events_url":"https://api.github.com/users/sloopidoopi/events{/privacy}","received_events_url":"https://api.github.com/users/sloopidoopi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":null,"comments":3,"created_at":"2012-06-16T21:56:42Z","updated_at":"2012-06-18T07:02:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I get an \terror LNK2038: Konflikt ermittelt für \"_ITERATOR_DEBUG_LEVEL\": Der Wert \"2\" stimmt nicht mit dem Wert \"0\" in main.obj überein.\t\n\nIn the Linker settings i see that the rtAudioD.lib is used . \nThis is an inherited value.( I don't know where this value is set and how I can change this )\nI'll guess it should be rtAudio.lib instead.\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1334","id":5105884,"number":1334,"title":"video playback in windows is slow for some users","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2012-06-16T12:17:23Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://forum.openframeworks.cc/index.php/topic,10053.0\n\nwould be good to investigate this @gameoverhack \n "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1329","id":5086630,"number":1329,"title":"command-line projectGenerator needs to be able to reconfigure OF-root path","user":{"login":"pierrep","id":392160,"avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","url":"https://api.github.com/users/pierrep","html_url":"https://github.com/pierrep","followers_url":"https://api.github.com/users/pierrep/followers","following_url":"https://api.github.com/users/pierrep/following","gists_url":"https://api.github.com/users/pierrep/gists{/gist_id}","starred_url":"https://api.github.com/users/pierrep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pierrep/subscriptions","organizations_url":"https://api.github.com/users/pierrep/orgs","repos_url":"https://api.github.com/users/pierrep/repos","events_url":"https://api.github.com/users/pierrep/events{/privacy}","received_events_url":"https://api.github.com/users/pierrep/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-06-15T05:41:09Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I accidentally set the wrong OF root path, and ended up having to dig in the source code and then the config files to figure out how to reset it. Would be good for the command-line version to have an option to reset the root path. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1328","id":5075658,"number":1328,"title":"xcode 4 doesn't put obj files near the xcode project","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-14T17:41:40Z","updated_at":"2012-06-14T17:41:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there seems to be conflicting settings for \"per configuration intermediate build files\", and so therefore, there's no \"build\" folder with obj files near the project. This is an issue on some systems which require admin access to the dev folder, where those objs are winding up. it's also just harder to track build / obj files with this newer default approach of apple. \n\nwe should get xcode 4 to operate more like xcode 3 if we can. \n\nI believe it's it's related to this forum post: \n\nhttp://forum.openframeworks.cc/index.php?topic=10064.new;topicseen#new"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1326","id":5054867,"number":1326,"title":"project makefiles should trigger OF lib rebuild if necessary.","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-06-13T19:10:28Z","updated_at":"2012-06-13T19:10:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the makefiles of projects would trigger a (re)build of the OF library if it is necessary (changed files, no library, etc).\nThis would also solve issues like in [this forum thread](http://forum.openframeworks.cc/index.php/topic,9962). It would also save having to manually rebuild the library if you just use plain make files without an IDE/project, for quick tests etc.\n\nIs this technically feasible, @arturoc ?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1322","id":5010394,"number":1322,"title":"ofxOpenALSoundPlayer ReferenceDistance and MaxDistance not behaving as expected","user":{"login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","html_url":"https://github.com/armadillu","followers_url":"https://api.github.com/users/armadillu/followers","following_url":"https://api.github.com/users/armadillu/following","gists_url":"https://api.github.com/users/armadillu/gists{/gist_id}","starred_url":"https://api.github.com/users/armadillu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armadillu/subscriptions","organizations_url":"https://api.github.com/users/armadillu/orgs","repos_url":"https://api.github.com/users/armadillu/repos","events_url":"https://api.github.com/users/armadillu/events{/privacy}","received_events_url":"https://api.github.com/users/armadillu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2012-06-11T19:41:06Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxALSoundSetReferenceDistance() and ofxALSoundSetMaxDistance() don't seem to behave as expected. \n\nOne would expect sounds not to be heard at all when the sound source is beyond the MaxDistance, but this is not the case on the default setup. I think it is because of the sound model openAL comes set with.\n\nI found the ofxALSoundSetReferenceDistance() and ofxALSoundSetMaxDistance() to make perfect sense when setting the linear sound model by calling this:\n\nalDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); \n\nI feel this sound model should be set by default, or at least give the API a method hinting that different sound models exist.\n\nI made a video demonstrating the issue here: http://www.youtube.com/watch?v=7Gz2x8R01jE"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1319","id":4985616,"number":1319,"title":"oF in HTML5","user":{"login":"gimlids","id":186277,"avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cc4cace34c61103f0624002a692820f7","url":"https://api.github.com/users/gimlids","html_url":"https://github.com/gimlids","followers_url":"https://api.github.com/users/gimlids/followers","following_url":"https://api.github.com/users/gimlids/following","gists_url":"https://api.github.com/users/gimlids/gists{/gist_id}","starred_url":"https://api.github.com/users/gimlids/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gimlids/subscriptions","organizations_url":"https://api.github.com/users/gimlids/orgs","repos_url":"https://api.github.com/users/gimlids/repos","events_url":"https://api.github.com/users/gimlids/events{/privacy}","received_events_url":"https://api.github.com/users/gimlids/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-09T15:58:45Z","updated_at":"2012-06-10T13:55:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Issue: openFrameworks does not run in the web browser.\n\nSolution: the emscripten backend for the LLVM compiler generates JavaScript, many C++ OpenGL projects have been demonstrated running in the browser with WebGL.\n\nIs anyone interested in this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1314","id":4954019,"number":1314,"title":"PG overwrites .cbp's of different platforms","user":{"login":"sphaero","id":832465,"avatar_url":"https://secure.gravatar.com/avatar/f17e8b6636b46f5bfacbda5854842eb9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f17e8b6636b46f5bfacbda5854842eb9","url":"https://api.github.com/users/sphaero","html_url":"https://github.com/sphaero","followers_url":"https://api.github.com/users/sphaero/followers","following_url":"https://api.github.com/users/sphaero/following","gists_url":"https://api.github.com/users/sphaero/gists{/gist_id}","starred_url":"https://api.github.com/users/sphaero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphaero/subscriptions","organizations_url":"https://api.github.com/users/sphaero/orgs","repos_url":"https://api.github.com/users/sphaero/repos","events_url":"https://api.github.com/users/sphaero/events{/privacy}","received_events_url":"https://api.github.com/users/sphaero/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-07T16:44:27Z","updated_at":"2012-06-07T16:44:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I create a simple test project including a linux64 and win CB projects I end up with only one test.cbp. It seems it overwrites itself since all platforms share the same name...\n\nsuggestion... use names like _ i.e. testApp_linux.cbp, testApp_linux64.cbp, test_win.cbp etc\n\nIf that's not already on the roadmap....\n\nI tested with the develop branch"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1312","id":4948268,"number":1312,"title":"ofURLFileLoader doesn't timeout or handle exceptions","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-07T11:18:27Z","updated_at":"2012-09-13T20:56:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you issue a URL to ofURLFileLoader and the http subsystem triggers an exception (no route to host is the easiest to test -- just unplug your network), then the URL request will sit in the request queue forever. Turn on OF_LOG_VERBOSE and watch the console output.\n\nThere should be better exception handling, and/or there should be a timeout of some kind."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1306","id":4924361,"number":1306,"title":"projectGenerator fails when run from command line with target folder","user":{"login":"tarcoles","id":1822092,"avatar_url":"https://secure.gravatar.com/avatar/2399652e50fade7a5d8404203b31a61f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2399652e50fade7a5d8404203b31a61f","url":"https://api.github.com/users/tarcoles","html_url":"https://github.com/tarcoles","followers_url":"https://api.github.com/users/tarcoles/followers","following_url":"https://api.github.com/users/tarcoles/following","gists_url":"https://api.github.com/users/tarcoles/gists{/gist_id}","starred_url":"https://api.github.com/users/tarcoles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarcoles/subscriptions","organizations_url":"https://api.github.com/users/tarcoles/orgs","repos_url":"https://api.github.com/users/tarcoles/repos","events_url":"https://api.github.com/users/tarcoles/events{/privacy}","received_events_url":"https://api.github.com/users/tarcoles/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":8,"created_at":"2012-06-06T07:50:15Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I run the projectGenerator without arguments and use the provided GUI, I can create a new project.\n\nBut if I try to run it as a command line tool it fails halfway through. I would guess a step to make the source folders is missing:\n\n mkdir ~/Public/carne\n\n ./projectGenerator --linux64 ~/Public/carne\n OF: OF_LOG_ERROR: Error: Missing GL version\n\n OF: OF_LOG_ERROR: ofDirectoryLister::listDirectory() error opening directory /home/gabriel/Public/carne/src/\n\n tree ~/Public/carne\n /home/gabriel/Public/carne\n |-- carne.cbp\n |-- carne.workspace\n |-- config.make\n `-- Makefile\n\n 0 directories, 4 files\n\nThis has been reproduced on Debian GNU/Linux wheezy/sid 64bit and Ubuntu 32bit"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1299","id":4861832,"number":1299,"title":"projectGenerator VS2010 release mode : no AdditionalIncludeDirectories","user":{"login":"sloopidoopi","id":248498,"avatar_url":"https://secure.gravatar.com/avatar/69d034865cb1f775bb1e0b47ff0580b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69d034865cb1f775bb1e0b47ff0580b2","url":"https://api.github.com/users/sloopidoopi","html_url":"https://github.com/sloopidoopi","followers_url":"https://api.github.com/users/sloopidoopi/followers","following_url":"https://api.github.com/users/sloopidoopi/following","gists_url":"https://api.github.com/users/sloopidoopi/gists{/gist_id}","starred_url":"https://api.github.com/users/sloopidoopi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloopidoopi/subscriptions","organizations_url":"https://api.github.com/users/sloopidoopi/orgs","repos_url":"https://api.github.com/users/sloopidoopi/repos","events_url":"https://api.github.com/users/sloopidoopi/events{/privacy}","received_events_url":"https://api.github.com/users/sloopidoopi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2012-06-01T17:50:14Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In the projectGenerator.vcxproj the AdditionalIncludeDirectories for the release mode are missing. (I copied the entries from the debug mode for testing and compilaton worked)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1292","id":4840460,"number":1292,"title":"ofSetVerticalSync(false) no effect, other framerate issues","user":{"login":"ChristophPacher","id":463776,"avatar_url":"https://secure.gravatar.com/avatar/1c1ed6a26b6cb2351d65b3b02677b8d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1c1ed6a26b6cb2351d65b3b02677b8d7","url":"https://api.github.com/users/ChristophPacher","html_url":"https://github.com/ChristophPacher","followers_url":"https://api.github.com/users/ChristophPacher/followers","following_url":"https://api.github.com/users/ChristophPacher/following","gists_url":"https://api.github.com/users/ChristophPacher/gists{/gist_id}","starred_url":"https://api.github.com/users/ChristophPacher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChristophPacher/subscriptions","organizations_url":"https://api.github.com/users/ChristophPacher/orgs","repos_url":"https://api.github.com/users/ChristophPacher/repos","events_url":"https://api.github.com/users/ChristophPacher/events{/privacy}","received_events_url":"https://api.github.com/users/ChristophPacher/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-31T16:24:30Z","updated_at":"2012-05-31T17:02:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\n\nI am on a Windows 7 x64 Laptop (NV 420m GPU), using VS2010, latest OF trunk, lastest experimental ofxOpenNI trunk, latest OpenNI/nite binaries, OpenCV trunk from March, CUDA 4.1.\n\nWhen running my kinect app i have a hard time to control the FPS aswell as Vsync. Sometimes the app shows 300+ FPS sometimes +60 sometimes 30 when setting ofSetVerticalSync(true) and ofSetFramerate(60) (or using none of the settings), and I experience some slowdowns in the ofxOpenNI thread to 20 FPS when playing an .oni file, that recover back to normal 30 FPS. Sometimes the app runs perfectly with no slow downs but it is pretty much randomly changeing even with just an app restart or system restart. No changes in the Nvidia driver settings seem to directly and repeatetly control the FPS. The ofxOpenCV example is controlable and behaves as one would expect, but its not threaded.\n\nI am puzzeld and I do not know what could be the root of the problem. Any ideas where I could look next? Are there any instructions or patterns i should avoid when interacting with my OpenNI thread that could influence the Opengl thread?\n\nAnyone wanting to test this can reproduce this with running the sample project of gameovers ofxOpenNI called src-ONIRecording-Simple. \n\nThanks\n\nChris"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","id":4767675,"number":1279,"title":"ofShader example with HD Graphics 3000 issue","user":{"login":"subtiv","id":1012684,"avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"837cfe96365c031130a46311eb11d86a","url":"https://api.github.com/users/subtiv","html_url":"https://github.com/subtiv","followers_url":"https://api.github.com/users/subtiv/followers","following_url":"https://api.github.com/users/subtiv/following","gists_url":"https://api.github.com/users/subtiv/gists{/gist_id}","starred_url":"https://api.github.com/users/subtiv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/subtiv/subscriptions","organizations_url":"https://api.github.com/users/subtiv/orgs","repos_url":"https://api.github.com/users/subtiv/repos","events_url":"https://api.github.com/users/subtiv/events{/privacy}","received_events_url":"https://api.github.com/users/subtiv/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-26T19:27:56Z","updated_at":"2012-05-28T08:08:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","id":4554058,"number":1256,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-05-13T18:20:29Z","updated_at":"2012-05-17T21:42:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","id":4539985,"number":1252,"title":"0071 ply (mesh.save()) Point export is broken","user":{"login":"laserpilot","id":1041023,"avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","url":"https://api.github.com/users/laserpilot","html_url":"https://github.com/laserpilot","followers_url":"https://api.github.com/users/laserpilot/followers","following_url":"https://api.github.com/users/laserpilot/following","gists_url":"https://api.github.com/users/laserpilot/gists{/gist_id}","starred_url":"https://api.github.com/users/laserpilot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laserpilot/subscriptions","organizations_url":"https://api.github.com/users/laserpilot/orgs","repos_url":"https://api.github.com/users/laserpilot/repos","events_url":"https://api.github.com/users/laserpilot/events{/privacy}","received_events_url":"https://api.github.com/users/laserpilot/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":6,"created_at":"2012-05-11T19:45:53Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","id":4507492,"number":1250,"title":"bug: ofToDataPath broken again","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-05-10T06:35:24Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","id":4406584,"number":1239,"title":"Fix ofThread destructor behaviour","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":31,"created_at":"2012-05-03T14:54:46Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"},"body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","id":4384548,"number":1236,"title":"init openframeworks before constructor of testapp is called?","user":{"login":"peteruithoven","id":523210,"avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","url":"https://api.github.com/users/peteruithoven","html_url":"https://github.com/peteruithoven","followers_url":"https://api.github.com/users/peteruithoven/followers","following_url":"https://api.github.com/users/peteruithoven/following","gists_url":"https://api.github.com/users/peteruithoven/gists{/gist_id}","starred_url":"https://api.github.com/users/peteruithoven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peteruithoven/subscriptions","organizations_url":"https://api.github.com/users/peteruithoven/orgs","repos_url":"https://api.github.com/users/peteruithoven/repos","events_url":"https://api.github.com/users/peteruithoven/events{/privacy}","received_events_url":"https://api.github.com/users/peteruithoven/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":3,"created_at":"2012-05-02T13:24:49Z","updated_at":"2012-05-16T09:42:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","id":4383465,"number":1235,"title":"no get methods for ofSoundPlayer","user":{"login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","url":"https://api.github.com/users/chrisoshea","html_url":"https://github.com/chrisoshea","followers_url":"https://api.github.com/users/chrisoshea/followers","following_url":"https://api.github.com/users/chrisoshea/following","gists_url":"https://api.github.com/users/chrisoshea/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisoshea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisoshea/subscriptions","organizations_url":"https://api.github.com/users/chrisoshea/orgs","repos_url":"https://api.github.com/users/chrisoshea/repos","events_url":"https://api.github.com/users/chrisoshea/events{/privacy}","received_events_url":"https://api.github.com/users/chrisoshea/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-05-02T12:06:15Z","updated_at":"2012-05-02T12:51:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","id":4373361,"number":1234,"title":"PG should generate example projects in non-core addons","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-05-01T20:24:05Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","id":4373201,"number":1233,"title":"PG should offer addons download","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-01T20:15:17Z","updated_at":"2012-05-04T03:31:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","id":4370619,"number":1232,"title":"bug/feature in ofColor::setSaturation ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":14,"created_at":"2012-05-01T17:40:08Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","id":4356530,"number":1229,"title":"pass matrices as uniforms with ofShader ","user":{"login":"Larsberg","id":346072,"avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","url":"https://api.github.com/users/Larsberg","html_url":"https://github.com/Larsberg","followers_url":"https://api.github.com/users/Larsberg/followers","following_url":"https://api.github.com/users/Larsberg/following","gists_url":"https://api.github.com/users/Larsberg/gists{/gist_id}","starred_url":"https://api.github.com/users/Larsberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Larsberg/subscriptions","organizations_url":"https://api.github.com/users/Larsberg/orgs","repos_url":"https://api.github.com/users/Larsberg/repos","events_url":"https://api.github.com/users/Larsberg/events{/privacy}","received_events_url":"https://api.github.com/users/Larsberg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-04-30T19:49:38Z","updated_at":"2012-05-01T06:35:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","id":4269431,"number":1217,"title":"projectGenerator update doesn't respect existing project settings","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-04-24T21:03:44Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","id":4269359,"number":1215,"title":"projectGenerator sets incorrect path in Project.xcconfig","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2012-04-24T20:59:57Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","id":4231092,"number":1202,"title":"ofVideoPlayer etc needs ofColor access","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-04-22T18:42:58Z","updated_at":"2012-04-22T23:56:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","id":4207350,"number":1190,"title":"Bezier Shaders & Vector openGL rendering","user":{"login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","url":"https://api.github.com/users/microbians","html_url":"https://github.com/microbians","followers_url":"https://api.github.com/users/microbians/followers","following_url":"https://api.github.com/users/microbians/following","gists_url":"https://api.github.com/users/microbians/gists{/gist_id}","starred_url":"https://api.github.com/users/microbians/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/microbians/subscriptions","organizations_url":"https://api.github.com/users/microbians/orgs","repos_url":"https://api.github.com/users/microbians/repos","events_url":"https://api.github.com/users/microbians/events{/privacy}","received_events_url":"https://api.github.com/users/microbians/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-04-20T09:23:00Z","updated_at":"2013-02-04T20:49:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","id":4206982,"number":1189,"title":"ofSetCurveResolution + ofBezierVertex bug","user":{"login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","url":"https://api.github.com/users/microbians","html_url":"https://github.com/microbians","followers_url":"https://api.github.com/users/microbians/followers","following_url":"https://api.github.com/users/microbians/following","gists_url":"https://api.github.com/users/microbians/gists{/gist_id}","starred_url":"https://api.github.com/users/microbians/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/microbians/subscriptions","organizations_url":"https://api.github.com/users/microbians/orgs","repos_url":"https://api.github.com/users/microbians/repos","events_url":"https://api.github.com/users/microbians/events{/privacy}","received_events_url":"https://api.github.com/users/microbians/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":0,"created_at":"2012-04-20T08:51:51Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","id":4174070,"number":1186,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","user":{"login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","url":"https://api.github.com/users/neilmendoza","html_url":"https://github.com/neilmendoza","followers_url":"https://api.github.com/users/neilmendoza/followers","following_url":"https://api.github.com/users/neilmendoza/following","gists_url":"https://api.github.com/users/neilmendoza/gists{/gist_id}","starred_url":"https://api.github.com/users/neilmendoza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neilmendoza/subscriptions","organizations_url":"https://api.github.com/users/neilmendoza/orgs","repos_url":"https://api.github.com/users/neilmendoza/repos","events_url":"https://api.github.com/users/neilmendoza/events{/privacy}","received_events_url":"https://api.github.com/users/neilmendoza/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-04-18T15:08:32Z","updated_at":"2012-05-01T04:10:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","id":4132608,"number":1178,"title":"OpenGLES2 not working","user":{"login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","url":"https://api.github.com/users/erinnovations","html_url":"https://github.com/erinnovations","followers_url":"https://api.github.com/users/erinnovations/followers","following_url":"https://api.github.com/users/erinnovations/following","gists_url":"https://api.github.com/users/erinnovations/gists{/gist_id}","starred_url":"https://api.github.com/users/erinnovations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erinnovations/subscriptions","organizations_url":"https://api.github.com/users/erinnovations/orgs","repos_url":"https://api.github.com/users/erinnovations/repos","events_url":"https://api.github.com/users/erinnovations/events{/privacy}","received_events_url":"https://api.github.com/users/erinnovations/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":26,"created_at":"2012-04-16T11:19:36Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","id":4117762,"number":1175,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-14T13:45:42Z","updated_at":"2012-04-14T13:45:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","id":4081188,"number":1171,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","user":{"login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","html_url":"https://github.com/jesusgollonet","followers_url":"https://api.github.com/users/jesusgollonet/followers","following_url":"https://api.github.com/users/jesusgollonet/following","gists_url":"https://api.github.com/users/jesusgollonet/gists{/gist_id}","starred_url":"https://api.github.com/users/jesusgollonet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesusgollonet/subscriptions","organizations_url":"https://api.github.com/users/jesusgollonet/orgs","repos_url":"https://api.github.com/users/jesusgollonet/repos","events_url":"https://api.github.com/users/jesusgollonet/events{/privacy}","received_events_url":"https://api.github.com/users/jesusgollonet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-12T10:09:42Z","updated_at":"2012-04-12T10:09:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","id":4063366,"number":1165,"title":"ofLogError, ofLogWarning lack format, ... args","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-04-11T11:56:33Z","updated_at":"2012-04-21T15:41:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","id":4032047,"number":1152,"title":"grabScreen in ofImage fails on Android","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-04-09T17:15:21Z","updated_at":"2012-07-13T19:01:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","id":4015514,"number":1146,"title":"Document Project Generator / clean out old tools","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-07T14:43:53Z","updated_at":"2012-04-07T15:00:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","id":4010494,"number":1145,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","user":{"login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","url":"https://api.github.com/users/rezaali","html_url":"https://github.com/rezaali","followers_url":"https://api.github.com/users/rezaali/followers","following_url":"https://api.github.com/users/rezaali/following","gists_url":"https://api.github.com/users/rezaali/gists{/gist_id}","starred_url":"https://api.github.com/users/rezaali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rezaali/subscriptions","organizations_url":"https://api.github.com/users/rezaali/orgs","repos_url":"https://api.github.com/users/rezaali/repos","events_url":"https://api.github.com/users/rezaali/events{/privacy}","received_events_url":"https://api.github.com/users/rezaali/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-04-06T22:02:01Z","updated_at":"2012-04-07T19:49:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","id":4001148,"number":1144,"title":"ofColor subtraction and negative values","user":{"login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","url":"https://api.github.com/users/jembezmamy","html_url":"https://github.com/jembezmamy","followers_url":"https://api.github.com/users/jembezmamy/followers","following_url":"https://api.github.com/users/jembezmamy/following","gists_url":"https://api.github.com/users/jembezmamy/gists{/gist_id}","starred_url":"https://api.github.com/users/jembezmamy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jembezmamy/subscriptions","organizations_url":"https://api.github.com/users/jembezmamy/orgs","repos_url":"https://api.github.com/users/jembezmamy/repos","events_url":"https://api.github.com/users/jembezmamy/events{/privacy}","received_events_url":"https://api.github.com/users/jembezmamy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-04-06T07:56:44Z","updated_at":"2013-02-11T12:17:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","id":3917377,"number":1134,"title":"multidimensional noise output","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-04-01T16:44:55Z","updated_at":"2012-04-03T17:37:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","id":3917018,"number":1133,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-01T15:45:11Z","updated_at":"2012-04-01T17:48:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","id":3911629,"number":1132,"title":"ofStringUtils:: feature discussion","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-03-31T17:52:48Z","updated_at":"2012-08-27T23:35:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","id":3911537,"number":1131,"title":"ofTTF feature discussion","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":25,"created_at":"2012-03-31T17:36:25Z","updated_at":"2012-05-27T17:40:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","id":3910580,"number":1130,"title":"Define standard header for examples.","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-03-31T14:44:01Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Agree on a common format for a header in the contributed example files."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","id":3910549,"number":1128,"title":"upgrade scripts","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-31T14:38:19Z","updated_at":"2012-03-31T16:32:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","id":3897090,"number":1126,"title":"PG Feature request: Clean examples folder","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-03-30T12:51:30Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","id":3883598,"number":1124,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","user":{"login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","html_url":"https://github.com/jesusgollonet","followers_url":"https://api.github.com/users/jesusgollonet/followers","following_url":"https://api.github.com/users/jesusgollonet/following","gists_url":"https://api.github.com/users/jesusgollonet/gists{/gist_id}","starred_url":"https://api.github.com/users/jesusgollonet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesusgollonet/subscriptions","organizations_url":"https://api.github.com/users/jesusgollonet/orgs","repos_url":"https://api.github.com/users/jesusgollonet/repos","events_url":"https://api.github.com/users/jesusgollonet/events{/privacy}","received_events_url":"https://api.github.com/users/jesusgollonet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-29T16:47:29Z","updated_at":"2012-06-07T12:06:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","id":3856005,"number":1120,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","user":{"login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7398ab0bbd07832d0289f26773e65077","url":"https://api.github.com/users/imanhp","html_url":"https://github.com/imanhp","followers_url":"https://api.github.com/users/imanhp/followers","following_url":"https://api.github.com/users/imanhp/following","gists_url":"https://api.github.com/users/imanhp/gists{/gist_id}","starred_url":"https://api.github.com/users/imanhp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imanhp/subscriptions","organizations_url":"https://api.github.com/users/imanhp/orgs","repos_url":"https://api.github.com/users/imanhp/repos","events_url":"https://api.github.com/users/imanhp/events{/privacy}","received_events_url":"https://api.github.com/users/imanhp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-03-28T16:21:45Z","updated_at":"2012-03-29T13:05:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","id":3825582,"number":1117,"title":"Can't retrieve desired frame rate once set","user":{"login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","html_url":"https://github.com/armadillu","followers_url":"https://api.github.com/users/armadillu/followers","following_url":"https://api.github.com/users/armadillu/following","gists_url":"https://api.github.com/users/armadillu/gists{/gist_id}","starred_url":"https://api.github.com/users/armadillu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armadillu/subscriptions","organizations_url":"https://api.github.com/users/armadillu/orgs","repos_url":"https://api.github.com/users/armadillu/repos","events_url":"https://api.github.com/users/armadillu/events{/privacy}","received_events_url":"https://api.github.com/users/armadillu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-03-27T11:48:00Z","updated_at":"2012-04-18T17:13:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","id":3813852,"number":1116,"title":"ofVBO updateIndexData incorrect buffer type.","user":{"login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"37aca214d4875cd90af9d67072c82642","url":"https://api.github.com/users/vade","html_url":"https://github.com/vade","followers_url":"https://api.github.com/users/vade/followers","following_url":"https://api.github.com/users/vade/following","gists_url":"https://api.github.com/users/vade/gists{/gist_id}","starred_url":"https://api.github.com/users/vade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vade/subscriptions","organizations_url":"https://api.github.com/users/vade/orgs","repos_url":"https://api.github.com/users/vade/repos","events_url":"https://api.github.com/users/vade/events{/privacy}","received_events_url":"https://api.github.com/users/vade/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-03-26T18:26:05Z","updated_at":"2012-03-26T22:27:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","id":3812318,"number":1115,"title":"optimization level in xcode projects","user":{"login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","html_url":"https://github.com/colormotor","followers_url":"https://api.github.com/users/colormotor/followers","following_url":"https://api.github.com/users/colormotor/following","gists_url":"https://api.github.com/users/colormotor/gists{/gist_id}","starred_url":"https://api.github.com/users/colormotor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colormotor/subscriptions","organizations_url":"https://api.github.com/users/colormotor/orgs","repos_url":"https://api.github.com/users/colormotor/repos","events_url":"https://api.github.com/users/colormotor/events{/privacy}","received_events_url":"https://api.github.com/users/colormotor/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-26T17:05:14Z","updated_at":"2012-03-26T18:45:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","id":3812275,"number":1114,"title":"macros in ofArduino","user":{"login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","html_url":"https://github.com/colormotor","followers_url":"https://api.github.com/users/colormotor/followers","following_url":"https://api.github.com/users/colormotor/following","gists_url":"https://api.github.com/users/colormotor/gists{/gist_id}","starred_url":"https://api.github.com/users/colormotor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colormotor/subscriptions","organizations_url":"https://api.github.com/users/colormotor/orgs","repos_url":"https://api.github.com/users/colormotor/repos","events_url":"https://api.github.com/users/colormotor/events{/privacy}","received_events_url":"https://api.github.com/users/colormotor/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-03-26T17:02:21Z","updated_at":"2012-08-02T10:10:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","id":3799872,"number":1110,"title":"add a simple regex function like ofSplitString()","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-25T18:56:37Z","updated_at":"2012-03-25T20:07:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","id":3799653,"number":1109,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-25T18:18:28Z","updated_at":"2012-03-25T18:50:13Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","id":3754055,"number":1103,"title":"PG feature request: Generate makefile-only projects","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-03-21T21:43:34Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1099","id":3710691,"number":1099,"title":"issue with projectGenerator and XIB files.","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-03-19T14:27:25Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"iPhoneGuiExample created by the projectGenerator seems to have an issue with XIB files.\r\nthe XIB is included in the project but can not be viewed inside the xcode project.\r\nin another instance, it was causing the app to crash.\r\n\r\nwhen removing the XIB and adding it back to the project manually, it start working again.\r\nwhich makes me believe its got something to do with the way projectGenerator is adding the XIB to the project.\r\n\r\nive compared the before and after (adding the XIB back manually) and here are the differences in the xcode projects.\r\nnote, the top line is the before and the bottom is the after.\r\n\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MyGuiView.xib; path = gui/MyGuiView.xib; sourceTree = \"\"; };\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 30; name = MyGuiView.xib; path = src/gui/MyGuiView.xib; sourceTree = SOURCE_ROOT; };\r\n\r\n/* MyGuiView.xib in Resources */\r\n/* MyGuiView.xib in Sources */"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","id":3710293,"number":1098,"title":"feature / bug - #pragma omp critical(ofLog)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":11,"created_at":"2012-03-19T14:04:51Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","id":3662214,"number":1075,"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-03-15T07:54:55Z","updated_at":"2012-03-15T20:34:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","id":3647640,"number":1070,"title":"Alpha movies in GStreamer","user":{"login":"emmanuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/emmanuelgeoffray","html_url":"https://github.com/emmanuelgeoffray","followers_url":"https://api.github.com/users/emmanuelgeoffray/followers","following_url":"https://api.github.com/users/emmanuelgeoffray/following","gists_url":"https://api.github.com/users/emmanuelgeoffray/gists{/gist_id}","starred_url":"https://api.github.com/users/emmanuelgeoffray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emmanuelgeoffray/subscriptions","organizations_url":"https://api.github.com/users/emmanuelgeoffray/orgs","repos_url":"https://api.github.com/users/emmanuelgeoffray/repos","events_url":"https://api.github.com/users/emmanuelgeoffray/events{/privacy}","received_events_url":"https://api.github.com/users/emmanuelgeoffray/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":9,"created_at":"2012-03-14T13:02:41Z","updated_at":"2013-01-15T11:28:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","id":3631618,"number":1068,"title":"Continuous integration/testing","user":{"login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","html_url":"https://github.com/gabrielstuff","followers_url":"https://api.github.com/users/gabrielstuff/followers","following_url":"https://api.github.com/users/gabrielstuff/following","gists_url":"https://api.github.com/users/gabrielstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/gabrielstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabrielstuff/subscriptions","organizations_url":"https://api.github.com/users/gabrielstuff/orgs","repos_url":"https://api.github.com/users/gabrielstuff/repos","events_url":"https://api.github.com/users/gabrielstuff/events{/privacy}","received_events_url":"https://api.github.com/users/gabrielstuff/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":27,"created_at":"2012-03-13T15:49:23Z","updated_at":"2013-02-15T15:07:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","id":3627067,"number":1063,"title":"Automatic installer + dependencies handler","user":{"login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","html_url":"https://github.com/gabrielstuff","followers_url":"https://api.github.com/users/gabrielstuff/followers","following_url":"https://api.github.com/users/gabrielstuff/following","gists_url":"https://api.github.com/users/gabrielstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/gabrielstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabrielstuff/subscriptions","organizations_url":"https://api.github.com/users/gabrielstuff/orgs","repos_url":"https://api.github.com/users/gabrielstuff/repos","events_url":"https://api.github.com/users/gabrielstuff/events{/privacy}","received_events_url":"https://api.github.com/users/gabrielstuff/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":8,"created_at":"2012-03-13T10:44:57Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","id":3614231,"number":1062,"title":"regularize code for math addons","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-03-12T16:33:06Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","id":3596240,"number":1052,"title":"ofShader should show an error when using an invalid name","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-10T17:52:58Z","updated_at":"2012-08-23T06:42:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","id":3587808,"number":1047,"title":"opening video files with system dialog in osx prevents them to play correctly","user":{"login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","html_url":"https://github.com/hvfrancesco","followers_url":"https://api.github.com/users/hvfrancesco/followers","following_url":"https://api.github.com/users/hvfrancesco/following","gists_url":"https://api.github.com/users/hvfrancesco/gists{/gist_id}","starred_url":"https://api.github.com/users/hvfrancesco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvfrancesco/subscriptions","organizations_url":"https://api.github.com/users/hvfrancesco/orgs","repos_url":"https://api.github.com/users/hvfrancesco/repos","events_url":"https://api.github.com/users/hvfrancesco/events{/privacy}","received_events_url":"https://api.github.com/users/hvfrancesco/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-03-09T18:54:28Z","updated_at":"2012-03-12T15:31:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","id":3528378,"number":1039,"title":"make icons for OF apps","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-03-06T17:56:58Z","updated_at":"2012-03-20T16:11:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","id":3510933,"number":1037,"title":"ofxGui, ofxButton should look visually different to toggle","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-05T18:06:03Z","updated_at":"2012-03-06T15:32:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","id":3509628,"number":1036,"title":"ofxGui -> ofGui - how/should we bring into core?","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2012-03-05T16:56:26Z","updated_at":"2012-07-27T05:34:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","id":3495602,"number":1034,"title":"projectGenerator ignores shader .vert and .frag files","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-04T11:19:04Z","updated_at":"2012-03-12T12:39:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","id":3495503,"number":1033,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2012-03-04T10:54:12Z","updated_at":"2012-03-06T15:06:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","id":3476540,"number":1022,"title":"Optimisation consistency","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-03-02T13:25:15Z","updated_at":"2012-03-30T16:34:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","id":3462226,"number":1019,"title":"ofFbo needs consideration as far as MRT + MSAA","user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-03-01T19:42:09Z","updated_at":"2012-03-01T19:42:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","id":3438233,"number":1007,"title":"bug #defines in ofConstants conflict with other libraries","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-02-29T15:31:18Z","updated_at":"2012-03-01T04:33:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","id":3432042,"number":1005,"title":"feature ofRandom(ofVec3f) ","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-02-29T06:32:03Z","updated_at":"2012-03-01T13:02:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","id":3401755,"number":1001,"title":"OF app sound out not available from Jack","user":{"login":"enrike","id":710785,"avatar_url":"https://secure.gravatar.com/avatar/719e9e7ca6d6d88f3b8da82832cc94c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"719e9e7ca6d6d88f3b8da82832cc94c7","url":"https://api.github.com/users/enrike","html_url":"https://github.com/enrike","followers_url":"https://api.github.com/users/enrike/followers","following_url":"https://api.github.com/users/enrike/following","gists_url":"https://api.github.com/users/enrike/gists{/gist_id}","starred_url":"https://api.github.com/users/enrike/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enrike/subscriptions","organizations_url":"https://api.github.com/users/enrike/orgs","repos_url":"https://api.github.com/users/enrike/repos","events_url":"https://api.github.com/users/enrike/events{/privacy}","received_events_url":"https://api.github.com/users/enrike/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-02-27T14:59:34Z","updated_at":"2012-05-18T08:47:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/987","id":3387163,"number":987,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-25T20:25:00Z","updated_at":"2012-02-25T20:25:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/985","id":3386914,"number":985,"title":"Make logging messages more informative","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":33,"created_at":"2012-02-25T19:41:58Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/984","id":3386889,"number":984,"title":"Replace printf() occurences by ofLog() in the core addons","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"state":"open","assignee":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"milestone":null,"comments":5,"created_at":"2012-02-25T19:36:51Z","updated_at":"2013-02-22T17:59:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/976","id":3382990,"number":976,"title":"ofVec2f::average has unexpected/clumsy behaviour","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-02-25T03:45:02Z","updated_at":"2012-02-27T13:35:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/955","id":3367910,"number":955,"title":"ofBackgroundGradient needs to be billboarded","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-02-24T04:31:01Z","updated_at":"2012-12-28T11:32:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/933","id":3357855,"number":933,"title":"Problem with moviePlayerExample under linux64","user":{"login":"agrosjea","id":1466085,"avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e52c167621119d58d03c586bb053a633","url":"https://api.github.com/users/agrosjea","html_url":"https://github.com/agrosjea","followers_url":"https://api.github.com/users/agrosjea/followers","following_url":"https://api.github.com/users/agrosjea/following","gists_url":"https://api.github.com/users/agrosjea/gists{/gist_id}","starred_url":"https://api.github.com/users/agrosjea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrosjea/subscriptions","organizations_url":"https://api.github.com/users/agrosjea/orgs","repos_url":"https://api.github.com/users/agrosjea/repos","events_url":"https://api.github.com/users/agrosjea/events{/privacy}","received_events_url":"https://api.github.com/users/agrosjea/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-02-23T15:46:06Z","updated_at":"2012-02-23T19:12:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/931","id":3351646,"number":931,"title":"ofCamera is not aware of ofOrientation","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":30,"created_at":"2012-02-23T05:13:24Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/930","id":3351643,"number":930,"title":"ofSetupPerspective ofOrientation","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T05:12:47Z","updated_at":"2012-02-23T05:12:47Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/929","id":3351374,"number":929,"title":"ofGetLogLevel should also accept modules","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T04:19:48Z","updated_at":"2012-02-23T04:19:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/928","id":3351170,"number":928,"title":"no ofGetBackground()","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T03:46:32Z","updated_at":"2012-02-23T03:46:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/926","id":3341020,"number":926,"title":"ofGetViewportWidth/Height returns 0 at startup","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-22T19:12:56Z","updated_at":"2012-02-22T19:12:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/925","id":3324501,"number":925,"title":"ofImage has type as int, public vars, & missing getBPP, etc","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-22T00:28:08Z","updated_at":"2012-02-22T00:28:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/920","id":3248309,"number":920,"title":"Transform stack","user":{"login":"AugusteBonnin","id":1442658,"avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","url":"https://api.github.com/users/AugusteBonnin","html_url":"https://github.com/AugusteBonnin","followers_url":"https://api.github.com/users/AugusteBonnin/followers","following_url":"https://api.github.com/users/AugusteBonnin/following","gists_url":"https://api.github.com/users/AugusteBonnin/gists{/gist_id}","starred_url":"https://api.github.com/users/AugusteBonnin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AugusteBonnin/subscriptions","organizations_url":"https://api.github.com/users/AugusteBonnin/orgs","repos_url":"https://api.github.com/users/AugusteBonnin/repos","events_url":"https://api.github.com/users/AugusteBonnin/events{/privacy}","received_events_url":"https://api.github.com/users/AugusteBonnin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-16T09:39:46Z","updated_at":"2012-02-16T09:39:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=4&per_page=100 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '283646'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 11 Mar 2013 10:11:56 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9d1c9cd0db105699c994ba8b16296c1b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 10:13:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/919","id":3248230,"number":919,"title":"Error in ofNode::transformGL","user":{"login":"AugusteBonnin","id":1442658,"avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","url":"https://api.github.com/users/AugusteBonnin","html_url":"https://github.com/AugusteBonnin","followers_url":"https://api.github.com/users/AugusteBonnin/followers","following_url":"https://api.github.com/users/AugusteBonnin/following","gists_url":"https://api.github.com/users/AugusteBonnin/gists{/gist_id}","starred_url":"https://api.github.com/users/AugusteBonnin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AugusteBonnin/subscriptions","organizations_url":"https://api.github.com/users/AugusteBonnin/orgs","repos_url":"https://api.github.com/users/AugusteBonnin/repos","events_url":"https://api.github.com/users/AugusteBonnin/events{/privacy}","received_events_url":"https://api.github.com/users/AugusteBonnin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-16T09:31:24Z","updated_at":"2012-02-16T09:31:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/916","id":3214174,"number":916,"title":"ofGetMouseX() and ofGetMouseY() should return float","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-02-14T05:17:47Z","updated_at":"2012-03-12T14:55:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/914","id":3189189,"number":914,"title":"Add ofGetDataPathRoot","user":{"login":"pierrep","id":392160,"avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","url":"https://api.github.com/users/pierrep","html_url":"https://github.com/pierrep","followers_url":"https://api.github.com/users/pierrep/followers","following_url":"https://api.github.com/users/pierrep/following","gists_url":"https://api.github.com/users/pierrep/gists{/gist_id}","starred_url":"https://api.github.com/users/pierrep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pierrep/subscriptions","organizations_url":"https://api.github.com/users/pierrep/orgs","repos_url":"https://api.github.com/users/pierrep/repos","events_url":"https://api.github.com/users/pierrep/events{/privacy}","received_events_url":"https://api.github.com/users/pierrep/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-12T04:41:26Z","updated_at":"2012-02-12T04:41:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/909","id":3166745,"number":909,"title":"shapes with texCoords","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-02-10T01:42:42Z","updated_at":"2012-03-12T14:56:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/902","id":3152323,"number":902,"title":"Xcode templates should be fixed or removed","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-02-09T04:30:13Z","updated_at":"2012-02-09T08:16:47Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/901","id":3148441,"number":901,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-02-08T21:50:23Z","updated_at":"2012-10-19T05:29:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/896","id":3099567,"number":896,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-02-05T15:20:42Z","updated_at":"2012-02-05T17:11:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/880","id":2967700,"number":880,"title":"test ofMesh::load/save rigorously","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":7,"created_at":"2012-01-25T16:55:09Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/878","id":2952993,"number":878,"title":"add a switch to the iphone soundstream to support ambient","user":{"login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","html_url":"https://github.com/jonbro","followers_url":"https://api.github.com/users/jonbro/followers","following_url":"https://api.github.com/users/jonbro/following","gists_url":"https://api.github.com/users/jonbro/gists{/gist_id}","starred_url":"https://api.github.com/users/jonbro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonbro/subscriptions","organizations_url":"https://api.github.com/users/jonbro/orgs","repos_url":"https://api.github.com/users/jonbro/repos","events_url":"https://api.github.com/users/jonbro/events{/privacy}","received_events_url":"https://api.github.com/users/jonbro/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-01-24T16:41:17Z","updated_at":"2012-03-03T19:40:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/872","id":2875276,"number":872,"title":"saveImage crashes in iOS Simulator","user":{"login":"khlrqa","id":53301,"avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","url":"https://api.github.com/users/khlrqa","html_url":"https://github.com/khlrqa","followers_url":"https://api.github.com/users/khlrqa/followers","following_url":"https://api.github.com/users/khlrqa/following","gists_url":"https://api.github.com/users/khlrqa/gists{/gist_id}","starred_url":"https://api.github.com/users/khlrqa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khlrqa/subscriptions","organizations_url":"https://api.github.com/users/khlrqa/orgs","repos_url":"https://api.github.com/users/khlrqa/repos","events_url":"https://api.github.com/users/khlrqa/events{/privacy}","received_events_url":"https://api.github.com/users/khlrqa/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2012-01-17T21:51:17Z","updated_at":"2012-03-10T05:09:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/866","id":2756440,"number":866,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","user":{"login":"urshofer","id":116976,"avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"0424af1c917883090f0edddf55a8f21b","url":"https://api.github.com/users/urshofer","html_url":"https://github.com/urshofer","followers_url":"https://api.github.com/users/urshofer/followers","following_url":"https://api.github.com/users/urshofer/following","gists_url":"https://api.github.com/users/urshofer/gists{/gist_id}","starred_url":"https://api.github.com/users/urshofer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/urshofer/subscriptions","organizations_url":"https://api.github.com/users/urshofer/orgs","repos_url":"https://api.github.com/users/urshofer/repos","events_url":"https://api.github.com/users/urshofer/events{/privacy}","received_events_url":"https://api.github.com/users/urshofer/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-01-07T15:38:14Z","updated_at":"2012-01-07T15:38:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/861","id":2700549,"number":861,"title":"ofxSynth semantic issue","user":{"login":"viniciolindo","id":1298679,"avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","url":"https://api.github.com/users/viniciolindo","html_url":"https://github.com/viniciolindo","followers_url":"https://api.github.com/users/viniciolindo/followers","following_url":"https://api.github.com/users/viniciolindo/following","gists_url":"https://api.github.com/users/viniciolindo/gists{/gist_id}","starred_url":"https://api.github.com/users/viniciolindo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/viniciolindo/subscriptions","organizations_url":"https://api.github.com/users/viniciolindo/orgs","repos_url":"https://api.github.com/users/viniciolindo/repos","events_url":"https://api.github.com/users/viniciolindo/events{/privacy}","received_events_url":"https://api.github.com/users/viniciolindo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":10,"created_at":"2012-01-02T11:14:47Z","updated_at":"2012-03-03T19:38:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/856","id":2685556,"number":856,"title":"we need ofSoundBuffer, like ofPixels","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2011-12-30T02:33:19Z","updated_at":"2012-06-13T11:54:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\n\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\n\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.\n\n[@damiannz edited title]"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/855","id":2677212,"number":855,"title":"video Grabber crashes with Flip4Mac","user":{"login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-29T04:43:24Z","updated_at":"2011-12-29T04:43:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/851","id":2647508,"number":851,"title":"ofNode::resetTransform does not reset scale","user":{"login":"companje","id":156066,"avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"30a7e135fe77636519d74d129c60e156","url":"https://api.github.com/users/companje","html_url":"https://github.com/companje","followers_url":"https://api.github.com/users/companje/followers","following_url":"https://api.github.com/users/companje/following","gists_url":"https://api.github.com/users/companje/gists{/gist_id}","starred_url":"https://api.github.com/users/companje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/companje/subscriptions","organizations_url":"https://api.github.com/users/companje/orgs","repos_url":"https://api.github.com/users/companje/repos","events_url":"https://api.github.com/users/companje/events{/privacy}","received_events_url":"https://api.github.com/users/companje/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-23T14:13:39Z","updated_at":"2011-12-23T14:13:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/849","id":2637694,"number":849,"title":"skip files in an addon with Makefile","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-22T14:31:37Z","updated_at":"2011-12-22T14:31:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/846","id":2546302,"number":846,"title":"ofCircle(float, float) should not work","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2011-12-14T00:42:31Z","updated_at":"2011-12-19T22:35:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/843","id":2512838,"number":843,"title":"Add return-type warning for XCode project files ","user":{"login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","url":"https://api.github.com/users/roxlu","html_url":"https://github.com/roxlu","followers_url":"https://api.github.com/users/roxlu/followers","following_url":"https://api.github.com/users/roxlu/following","gists_url":"https://api.github.com/users/roxlu/gists{/gist_id}","starred_url":"https://api.github.com/users/roxlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxlu/subscriptions","organizations_url":"https://api.github.com/users/roxlu/orgs","repos_url":"https://api.github.com/users/roxlu/repos","events_url":"https://api.github.com/users/roxlu/events{/privacy}","received_events_url":"https://api.github.com/users/roxlu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-10T21:25:49Z","updated_at":"2011-12-10T21:25:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/838","id":2476561,"number":838,"title":"ofPixels has no setImageType","user":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2011-12-07T16:30:59Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/837","id":2455011,"number":837,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-05T21:44:08Z","updated_at":"2011-12-05T21:44:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n

\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/831","id":2436532,"number":831,"title":"dragEvent() in new class not working in win7","user":{"login":"decolector","id":390056,"avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","url":"https://api.github.com/users/decolector","html_url":"https://github.com/decolector","followers_url":"https://api.github.com/users/decolector/followers","following_url":"https://api.github.com/users/decolector/following","gists_url":"https://api.github.com/users/decolector/gists{/gist_id}","starred_url":"https://api.github.com/users/decolector/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/decolector/subscriptions","organizations_url":"https://api.github.com/users/decolector/orgs","repos_url":"https://api.github.com/users/decolector/repos","events_url":"https://api.github.com/users/decolector/events{/privacy}","received_events_url":"https://api.github.com/users/decolector/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-12-03T08:51:42Z","updated_at":"2011-12-03T09:03:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/825","id":2380571,"number":825,"title":"small font sizes yield oversimplified glyph shapes","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-11-29T08:26:16Z","updated_at":"2011-11-29T17:54:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/822","id":2364541,"number":822,"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","user":{"login":"momo-the-monster","id":737888,"avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","url":"https://api.github.com/users/momo-the-monster","html_url":"https://github.com/momo-the-monster","followers_url":"https://api.github.com/users/momo-the-monster/followers","following_url":"https://api.github.com/users/momo-the-monster/following","gists_url":"https://api.github.com/users/momo-the-monster/gists{/gist_id}","starred_url":"https://api.github.com/users/momo-the-monster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/momo-the-monster/subscriptions","organizations_url":"https://api.github.com/users/momo-the-monster/orgs","repos_url":"https://api.github.com/users/momo-the-monster/repos","events_url":"https://api.github.com/users/momo-the-monster/events{/privacy}","received_events_url":"https://api.github.com/users/momo-the-monster/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":8,"created_at":"2011-11-28T06:48:27Z","updated_at":"2013-03-03T23:58:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/819","id":2316595,"number":819,"title":"datapath messed in windows after using file open dialog","user":{"login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","html_url":"https://github.com/hvfrancesco","followers_url":"https://api.github.com/users/hvfrancesco/followers","following_url":"https://api.github.com/users/hvfrancesco/following","gists_url":"https://api.github.com/users/hvfrancesco/gists{/gist_id}","starred_url":"https://api.github.com/users/hvfrancesco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvfrancesco/subscriptions","organizations_url":"https://api.github.com/users/hvfrancesco/orgs","repos_url":"https://api.github.com/users/hvfrancesco/repos","events_url":"https://api.github.com/users/hvfrancesco/events{/privacy}","received_events_url":"https://api.github.com/users/hvfrancesco/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":4,"created_at":"2011-11-22T10:50:13Z","updated_at":"2013-03-09T15:19:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/818","id":2306518,"number":818,"title":"#defines for modules ","user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-11-21T16:45:51Z","updated_at":"2012-03-02T15:19:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/815","id":2268829,"number":815,"title":"Examples in devApps folder do not compile. Missing glew.h","user":{"login":"iani","id":181956,"avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","url":"https://api.github.com/users/iani","html_url":"https://github.com/iani","followers_url":"https://api.github.com/users/iani/followers","following_url":"https://api.github.com/users/iani/following","gists_url":"https://api.github.com/users/iani/gists{/gist_id}","starred_url":"https://api.github.com/users/iani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iani/subscriptions","organizations_url":"https://api.github.com/users/iani/orgs","repos_url":"https://api.github.com/users/iani/repos","events_url":"https://api.github.com/users/iani/events{/privacy}","received_events_url":"https://api.github.com/users/iani/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2011-11-17T13:45:47Z","updated_at":"2011-11-17T15:17:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/814","id":2267854,"number":814,"title":"Suggest adding some info about Lion to readme.txt","user":{"login":"iani","id":181956,"avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","url":"https://api.github.com/users/iani","html_url":"https://github.com/iani","followers_url":"https://api.github.com/users/iani/followers","following_url":"https://api.github.com/users/iani/following","gists_url":"https://api.github.com/users/iani/gists{/gist_id}","starred_url":"https://api.github.com/users/iani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iani/subscriptions","organizations_url":"https://api.github.com/users/iani/orgs","repos_url":"https://api.github.com/users/iani/repos","events_url":"https://api.github.com/users/iani/events{/privacy}","received_events_url":"https://api.github.com/users/iani/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2011-11-17T11:48:32Z","updated_at":"2013-01-13T20:36:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/811","id":2223158,"number":811,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","user":{"login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","html_url":"https://github.com/hvfrancesco","followers_url":"https://api.github.com/users/hvfrancesco/followers","following_url":"https://api.github.com/users/hvfrancesco/following","gists_url":"https://api.github.com/users/hvfrancesco/gists{/gist_id}","starred_url":"https://api.github.com/users/hvfrancesco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvfrancesco/subscriptions","organizations_url":"https://api.github.com/users/hvfrancesco/orgs","repos_url":"https://api.github.com/users/hvfrancesco/repos","events_url":"https://api.github.com/users/hvfrancesco/events{/privacy}","received_events_url":"https://api.github.com/users/hvfrancesco/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-11-13T20:49:26Z","updated_at":"2011-11-16T04:46:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/810","id":2206980,"number":810,"title":"Add flag for mipmapping in ofTexture/ofFbo","user":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-11-11T07:34:53Z","updated_at":"2012-03-09T18:51:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/800","id":2089523,"number":800,"title":"ofInsidePoly should be a static method of ofPolyline","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2011-10-30T04:16:14Z","updated_at":"2011-12-03T23:58:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now it's inside ofMath.h"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/798","id":2086039,"number":798,"title":"ofRect isn't quite rectangular","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-10-29T06:38:43Z","updated_at":"2011-12-05T21:31:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/797","id":2085543,"number":797,"title":"procedural posing of bones in ofxAssimpModelLoader","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-10-29T02:37:28Z","updated_at":"2011-10-29T02:37:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/793","id":2051692,"number":793,"title":"easyCam -- ability to disable doubleClick reset","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-10-25T23:36:40Z","updated_at":"2011-10-25T23:39:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/787","id":1999520,"number":787,"title":"half edge mesh structure extension of ofMesh","user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-10-19T22:39:37Z","updated_at":"2012-10-23T21:12:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/786","id":1999513,"number":786,"title":"axis aligned bounding box tree for ofMesh","user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-10-19T22:38:35Z","updated_at":"2011-11-04T21:59:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"would be quite useful"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/785","id":1992818,"number":785,"title":"ofCamera setOrientation gives odd results","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-10-19T11:16:42Z","updated_at":"2011-12-27T17:58:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/774","id":1922704,"number":774,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-10-16T18:30:08Z","updated_at":"2012-06-26T14:12:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/772","id":1888302,"number":772,"title":"ofBaseDraws draw(x, y) default","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-10-12T15:08:55Z","updated_at":"2011-10-12T15:09:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/767","id":1854874,"number":767,"title":"#include instead of #include ","user":{"login":"gimlids","id":186277,"avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cc4cace34c61103f0624002a692820f7","url":"https://api.github.com/users/gimlids","html_url":"https://github.com/gimlids","followers_url":"https://api.github.com/users/gimlids/followers","following_url":"https://api.github.com/users/gimlids/following","gists_url":"https://api.github.com/users/gimlids/gists{/gist_id}","starred_url":"https://api.github.com/users/gimlids/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gimlids/subscriptions","organizations_url":"https://api.github.com/users/gimlids/orgs","repos_url":"https://api.github.com/users/gimlids/repos","events_url":"https://api.github.com/users/gimlids/events{/privacy}","received_events_url":"https://api.github.com/users/gimlids/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-10-09T03:58:30Z","updated_at":"2011-10-24T15:27:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/766","id":1851779,"number":766,"title":"ofNode should have a draw(float size) option","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2011-10-08T09:38:46Z","updated_at":"2011-10-12T13:12:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/765","id":1841802,"number":765,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2011-10-07T09:46:06Z","updated_at":"2013-01-04T06:56:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/760","id":1758237,"number":760,"title":"ofxXmlSettings does not print any useful error messages","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-09-28T00:53:09Z","updated_at":"2011-09-28T01:00:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/758","id":1738864,"number":758,"title":"non ofxXmlSettings object read and write value","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":0,"created_at":"2011-09-26T11:54:06Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/757","id":1733504,"number":757,"title":"ofPixels::allocate should init new memory","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-09-25T13:22:59Z","updated_at":"2011-09-25T13:22:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/754","id":1708332,"number":754,"title":"nested fbo causing currentFBO lost","user":{"login":"liquidzym","id":51957,"avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"166640c513e589c86d2de49c52258eb4","url":"https://api.github.com/users/liquidzym","html_url":"https://github.com/liquidzym","followers_url":"https://api.github.com/users/liquidzym/followers","following_url":"https://api.github.com/users/liquidzym/following","gists_url":"https://api.github.com/users/liquidzym/gists{/gist_id}","starred_url":"https://api.github.com/users/liquidzym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liquidzym/subscriptions","organizations_url":"https://api.github.com/users/liquidzym/orgs","repos_url":"https://api.github.com/users/liquidzym/repos","events_url":"https://api.github.com/users/liquidzym/events{/privacy}","received_events_url":"https://api.github.com/users/liquidzym/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-09-22T08:20:27Z","updated_at":"2011-09-22T08:20:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/753","id":1704855,"number":753,"title":"ofFbo readToPixels() in iOS","user":{"login":"stephen-baker","id":1047836,"avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","url":"https://api.github.com/users/stephen-baker","html_url":"https://github.com/stephen-baker","followers_url":"https://api.github.com/users/stephen-baker/followers","following_url":"https://api.github.com/users/stephen-baker/following","gists_url":"https://api.github.com/users/stephen-baker/gists{/gist_id}","starred_url":"https://api.github.com/users/stephen-baker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephen-baker/subscriptions","organizations_url":"https://api.github.com/users/stephen-baker/orgs","repos_url":"https://api.github.com/users/stephen-baker/repos","events_url":"https://api.github.com/users/stephen-baker/events{/privacy}","received_events_url":"https://api.github.com/users/stephen-baker/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2011-09-21T20:50:33Z","updated_at":"2012-03-10T04:38:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/752","id":1691874,"number":752,"title":"ofFbo (problems with certain image dimensions)","user":{"login":"ammalgamma","id":517000,"avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","url":"https://api.github.com/users/ammalgamma","html_url":"https://github.com/ammalgamma","followers_url":"https://api.github.com/users/ammalgamma/followers","following_url":"https://api.github.com/users/ammalgamma/following","gists_url":"https://api.github.com/users/ammalgamma/gists{/gist_id}","starred_url":"https://api.github.com/users/ammalgamma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ammalgamma/subscriptions","organizations_url":"https://api.github.com/users/ammalgamma/orgs","repos_url":"https://api.github.com/users/ammalgamma/repos","events_url":"https://api.github.com/users/ammalgamma/events{/privacy}","received_events_url":"https://api.github.com/users/ammalgamma/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-09-20T21:16:24Z","updated_at":"2011-09-21T10:37:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/748","id":1668066,"number":748,"title":"more generic ofJoin","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2011-09-17T07:26:18Z","updated_at":"2011-09-19T09:04:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/745","id":1643672,"number":745,"title":"Polygon winding","user":{"login":"andreasmuller","id":791114,"avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","url":"https://api.github.com/users/andreasmuller","html_url":"https://github.com/andreasmuller","followers_url":"https://api.github.com/users/andreasmuller/followers","following_url":"https://api.github.com/users/andreasmuller/following","gists_url":"https://api.github.com/users/andreasmuller/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasmuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasmuller/subscriptions","organizations_url":"https://api.github.com/users/andreasmuller/orgs","repos_url":"https://api.github.com/users/andreasmuller/repos","events_url":"https://api.github.com/users/andreasmuller/events{/privacy}","received_events_url":"https://api.github.com/users/andreasmuller/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-09-14T13:50:48Z","updated_at":"2011-09-21T17:22:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/744","id":1641198,"number":744,"title":"rename testApp to ofApp","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2011-09-14T07:02:36Z","updated_at":"2012-03-17T16:52:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/743","id":1639020,"number":743,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","user":{"login":"jtnimoy","id":183796,"avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"153ba4a8df491692b717daad7a6030be","url":"https://api.github.com/users/jtnimoy","html_url":"https://github.com/jtnimoy","followers_url":"https://api.github.com/users/jtnimoy/followers","following_url":"https://api.github.com/users/jtnimoy/following","gists_url":"https://api.github.com/users/jtnimoy/gists{/gist_id}","starred_url":"https://api.github.com/users/jtnimoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtnimoy/subscriptions","organizations_url":"https://api.github.com/users/jtnimoy/orgs","repos_url":"https://api.github.com/users/jtnimoy/repos","events_url":"https://api.github.com/users/jtnimoy/events{/privacy}","received_events_url":"https://api.github.com/users/jtnimoy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-09-13T22:53:55Z","updated_at":"2011-09-26T11:56:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/730","id":1586262,"number":730,"title":"nicer stroke mitering/joining and end caps","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2011-09-07T03:27:13Z","updated_at":"2013-01-15T16:13:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/728","id":1569364,"number":728,"title":"ofColor and clamping","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-09-05T14:41:50Z","updated_at":"2011-09-05T15:39:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/727","id":1566286,"number":727,"title":"OSX 10.7 Gamma Problem","user":{"login":"Tommato","id":1027082,"avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","url":"https://api.github.com/users/Tommato","html_url":"https://github.com/Tommato","followers_url":"https://api.github.com/users/Tommato/followers","following_url":"https://api.github.com/users/Tommato/following","gists_url":"https://api.github.com/users/Tommato/gists{/gist_id}","starred_url":"https://api.github.com/users/Tommato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tommato/subscriptions","organizations_url":"https://api.github.com/users/Tommato/orgs","repos_url":"https://api.github.com/users/Tommato/repos","events_url":"https://api.github.com/users/Tommato/events{/privacy}","received_events_url":"https://api.github.com/users/Tommato/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-09-05T10:17:48Z","updated_at":"2011-09-05T10:17:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/721","id":1497330,"number":721,"title":"ofxiPhone - Move openGL to its own thread","user":{"login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","url":"https://api.github.com/users/cerupcat","html_url":"https://github.com/cerupcat","followers_url":"https://api.github.com/users/cerupcat/followers","following_url":"https://api.github.com/users/cerupcat/following","gists_url":"https://api.github.com/users/cerupcat/gists{/gist_id}","starred_url":"https://api.github.com/users/cerupcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerupcat/subscriptions","organizations_url":"https://api.github.com/users/cerupcat/orgs","repos_url":"https://api.github.com/users/cerupcat/repos","events_url":"https://api.github.com/users/cerupcat/events{/privacy}","received_events_url":"https://api.github.com/users/cerupcat/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-08-26T18:43:09Z","updated_at":"2011-08-26T18:44:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/719","id":1459353,"number":719,"title":"optimize ofEndShape() to deal with simple shapes","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-08-22T16:56:27Z","updated_at":"2011-08-22T17:38:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/717","id":1458979,"number":717,"title":"suggest new calc clip planes routine","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-08-22T16:02:30Z","updated_at":"2011-08-22T16:02:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/716","id":1458044,"number":716,"title":"problems with stop/play in quicktime videoPlayer","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-08-22T14:11:34Z","updated_at":"2011-08-22T14:11:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/711","id":1414013,"number":711,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","user":{"login":"IonRod","id":886012,"avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","url":"https://api.github.com/users/IonRod","html_url":"https://github.com/IonRod","followers_url":"https://api.github.com/users/IonRod/followers","following_url":"https://api.github.com/users/IonRod/following","gists_url":"https://api.github.com/users/IonRod/gists{/gist_id}","starred_url":"https://api.github.com/users/IonRod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IonRod/subscriptions","organizations_url":"https://api.github.com/users/IonRod/orgs","repos_url":"https://api.github.com/users/IonRod/repos","events_url":"https://api.github.com/users/IonRod/events{/privacy}","received_events_url":"https://api.github.com/users/IonRod/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2011-08-16T10:21:29Z","updated_at":"2011-08-16T13:39:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/702","id":1359729,"number":702,"title":"cross platform video saving (ofVideoSaver?)","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-08-07T03:23:38Z","updated_at":"2011-08-07T12:19:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/701","id":1358688,"number":701,"title":"ofxOsc does not seem to work on 64bit Ubuntu","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"state":"open","assignee":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"milestone":null,"comments":6,"created_at":"2011-08-06T19:14:37Z","updated_at":"2013-03-04T12:22:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/700","id":1349012,"number":700,"title":"ofBuffer with overloaded = operator","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-08-05T03:06:25Z","updated_at":"2011-08-05T03:06:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/699","id":1343463,"number":699,"title":"loadData() does not allocate as necessary","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2011-08-04T10:29:57Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/697","id":1334657,"number":697,"title":"videoinput lib global statics","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2011-08-03T02:27:52Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/684","id":1302375,"number":684,"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","user":{"login":"mcanet","id":308759,"avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","url":"https://api.github.com/users/mcanet","html_url":"https://github.com/mcanet","followers_url":"https://api.github.com/users/mcanet/followers","following_url":"https://api.github.com/users/mcanet/following","gists_url":"https://api.github.com/users/mcanet/gists{/gist_id}","starred_url":"https://api.github.com/users/mcanet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcanet/subscriptions","organizations_url":"https://api.github.com/users/mcanet/orgs","repos_url":"https://api.github.com/users/mcanet/repos","events_url":"https://api.github.com/users/mcanet/events{/privacy}","received_events_url":"https://api.github.com/users/mcanet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2011-07-28T12:12:52Z","updated_at":"2012-03-10T04:40:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/679","id":1278252,"number":679,"title":"possible bug in getEuler / getOrientation / getRoll","user":{"login":"companje","id":156066,"avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"30a7e135fe77636519d74d129c60e156","url":"https://api.github.com/users/companje","html_url":"https://github.com/companje","followers_url":"https://api.github.com/users/companje/followers","following_url":"https://api.github.com/users/companje/following","gists_url":"https://api.github.com/users/companje/gists{/gist_id}","starred_url":"https://api.github.com/users/companje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/companje/subscriptions","organizations_url":"https://api.github.com/users/companje/orgs","repos_url":"https://api.github.com/users/companje/repos","events_url":"https://api.github.com/users/companje/events{/privacy}","received_events_url":"https://api.github.com/users/companje/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-07-24T18:26:54Z","updated_at":"2011-07-24T18:26:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/671","id":1262459,"number":671,"title":"isFile() segfaults on win7","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-07-21T11:27:16Z","updated_at":"2011-07-21T11:29:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/670","id":1261982,"number":670,"title":"mouseReleased fires mouseMoved too (win7)","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-07-21T09:34:52Z","updated_at":"2011-07-21T10:39:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/652","id":1231959,"number":652,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2011-07-15T18:49:46Z","updated_at":"2012-01-08T04:45:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/651","id":1230184,"number":651,"title":"ofFBO + ofCamera = unwanted offset","user":{"login":"toxin20","id":123776,"avatar_url":"https://secure.gravatar.com/avatar/05af9e4d2d68692f010edaaa9e0e178d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"05af9e4d2d68692f010edaaa9e0e178d","url":"https://api.github.com/users/toxin20","html_url":"https://github.com/toxin20","followers_url":"https://api.github.com/users/toxin20/followers","following_url":"https://api.github.com/users/toxin20/following","gists_url":"https://api.github.com/users/toxin20/gists{/gist_id}","starred_url":"https://api.github.com/users/toxin20/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toxin20/subscriptions","organizations_url":"https://api.github.com/users/toxin20/orgs","repos_url":"https://api.github.com/users/toxin20/repos","events_url":"https://api.github.com/users/toxin20/events{/privacy}","received_events_url":"https://api.github.com/users/toxin20/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2011-07-15T13:21:44Z","updated_at":"2011-07-20T19:04:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/646","id":1216274,"number":646,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","user":{"login":"andreasmuller","id":791114,"avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","url":"https://api.github.com/users/andreasmuller","html_url":"https://github.com/andreasmuller","followers_url":"https://api.github.com/users/andreasmuller/followers","following_url":"https://api.github.com/users/andreasmuller/following","gists_url":"https://api.github.com/users/andreasmuller/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasmuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasmuller/subscriptions","organizations_url":"https://api.github.com/users/andreasmuller/orgs","repos_url":"https://api.github.com/users/andreasmuller/repos","events_url":"https://api.github.com/users/andreasmuller/events{/privacy}","received_events_url":"https://api.github.com/users/andreasmuller/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-07-13T15:18:04Z","updated_at":"2011-07-19T00:31:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/645","id":1209436,"number":645,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","user":{"login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","url":"https://api.github.com/users/roxlu","html_url":"https://github.com/roxlu","followers_url":"https://api.github.com/users/roxlu/followers","following_url":"https://api.github.com/users/roxlu/following","gists_url":"https://api.github.com/users/roxlu/gists{/gist_id}","starred_url":"https://api.github.com/users/roxlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxlu/subscriptions","organizations_url":"https://api.github.com/users/roxlu/orgs","repos_url":"https://api.github.com/users/roxlu/repos","events_url":"https://api.github.com/users/roxlu/events{/privacy}","received_events_url":"https://api.github.com/users/roxlu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":0,"created_at":"2011-07-12T16:05:23Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/643","id":1208289,"number":643,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","user":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-07-12T13:05:25Z","updated_at":"2012-03-16T04:21:18Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/642","id":1205789,"number":642,"title":"ofxiPhone: Possible delayed input/touch event issue ","user":{"login":"cerupcat","id":204151,"avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","url":"https://api.github.com/users/cerupcat","html_url":"https://github.com/cerupcat","followers_url":"https://api.github.com/users/cerupcat/followers","following_url":"https://api.github.com/users/cerupcat/following","gists_url":"https://api.github.com/users/cerupcat/gists{/gist_id}","starred_url":"https://api.github.com/users/cerupcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerupcat/subscriptions","organizations_url":"https://api.github.com/users/cerupcat/orgs","repos_url":"https://api.github.com/users/cerupcat/repos","events_url":"https://api.github.com/users/cerupcat/events{/privacy}","received_events_url":"https://api.github.com/users/cerupcat/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2011-07-12T02:46:23Z","updated_at":"2012-08-12T12:19:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/631","id":1185346,"number":631,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","user":{"login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","url":"https://api.github.com/users/roxlu","html_url":"https://github.com/roxlu","followers_url":"https://api.github.com/users/roxlu/followers","following_url":"https://api.github.com/users/roxlu/following","gists_url":"https://api.github.com/users/roxlu/gists{/gist_id}","starred_url":"https://api.github.com/users/roxlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxlu/subscriptions","organizations_url":"https://api.github.com/users/roxlu/orgs","repos_url":"https://api.github.com/users/roxlu/repos","events_url":"https://api.github.com/users/roxlu/events{/privacy}","received_events_url":"https://api.github.com/users/roxlu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-07-07T21:37:47Z","updated_at":"2011-07-12T13:03:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/618","id":1169032,"number":618,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","user":{"login":"roxlu","id":358809,"avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","url":"https://api.github.com/users/roxlu","html_url":"https://github.com/roxlu","followers_url":"https://api.github.com/users/roxlu/followers","following_url":"https://api.github.com/users/roxlu/following","gists_url":"https://api.github.com/users/roxlu/gists{/gist_id}","starred_url":"https://api.github.com/users/roxlu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxlu/subscriptions","organizations_url":"https://api.github.com/users/roxlu/orgs","repos_url":"https://api.github.com/users/roxlu/repos","events_url":"https://api.github.com/users/roxlu/events{/privacy}","received_events_url":"https://api.github.com/users/roxlu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-07-05T18:23:34Z","updated_at":"2011-07-06T18:09:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/612","id":1124068,"number":612,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-06-27T18:30:26Z","updated_at":"2011-06-27T18:30:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/605","id":1067300,"number":605,"title":"function wrapping glMultMatrixf in ofMatrix4x4","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2011-06-16T13:13:35Z","updated_at":"2011-10-04T10:10:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/591","id":984564,"number":591,"title":"problem with ofImage resize","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-06-01T13:56:17Z","updated_at":"2011-06-01T13:56:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/590","id":978212,"number":590,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","user":{"login":"cristobal","id":155505,"avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c7f941e0c10696b758ae8792714a6744","url":"https://api.github.com/users/cristobal","html_url":"https://github.com/cristobal","followers_url":"https://api.github.com/users/cristobal/followers","following_url":"https://api.github.com/users/cristobal/following","gists_url":"https://api.github.com/users/cristobal/gists{/gist_id}","starred_url":"https://api.github.com/users/cristobal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cristobal/subscriptions","organizations_url":"https://api.github.com/users/cristobal/orgs","repos_url":"https://api.github.com/users/cristobal/repos","events_url":"https://api.github.com/users/cristobal/events{/privacy}","received_events_url":"https://api.github.com/users/cristobal/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-05-31T11:31:08Z","updated_at":"2011-05-31T12:33:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/589","id":976610,"number":589,"title":"setFromPixels vs setFromExternalPixels","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-05-31T02:06:22Z","updated_at":"2011-05-31T02:06:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/582","id":942647,"number":582,"title":"templated code needs to be more readable","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2011-05-23T17:46:28Z","updated_at":"2011-12-03T21:54:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/572","id":895515,"number":572,"title":"ofToggleFullscreen doesn't set width and height correctly","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-05-13T15:28:46Z","updated_at":"2011-05-13T15:28:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://forum.openframeworks.cc/index.php?topic=6201.0"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/565","id":853551,"number":565,"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","user":{"login":"labatrockwell","id":313943,"avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","url":"https://api.github.com/users/labatrockwell","html_url":"https://github.com/labatrockwell","followers_url":"https://api.github.com/users/labatrockwell/followers","following_url":"https://api.github.com/users/labatrockwell/following","gists_url":"https://api.github.com/users/labatrockwell/gists{/gist_id}","starred_url":"https://api.github.com/users/labatrockwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labatrockwell/subscriptions","organizations_url":"https://api.github.com/users/labatrockwell/orgs","repos_url":"https://api.github.com/users/labatrockwell/repos","events_url":"https://api.github.com/users/labatrockwell/events{/privacy}","received_events_url":"https://api.github.com/users/labatrockwell/received_events","type":"Organization"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":null,"comments":1,"created_at":"2011-05-05T14:20:42Z","updated_at":"2012-03-10T04:48:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/564","id":850096,"number":564,"title":"ofxShader for iOS","user":{"login":"chrisirhc","id":132584,"avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","url":"https://api.github.com/users/chrisirhc","html_url":"https://github.com/chrisirhc","followers_url":"https://api.github.com/users/chrisirhc/followers","following_url":"https://api.github.com/users/chrisirhc/following","gists_url":"https://api.github.com/users/chrisirhc/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisirhc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisirhc/subscriptions","organizations_url":"https://api.github.com/users/chrisirhc/orgs","repos_url":"https://api.github.com/users/chrisirhc/repos","events_url":"https://api.github.com/users/chrisirhc/events{/privacy}","received_events_url":"https://api.github.com/users/chrisirhc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-05-04T18:35:58Z","updated_at":"2011-12-03T21:20:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/555","id":812623,"number":555,"title":"ofxOpenCv -- ofxCvHaarFinder should have a draw function","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-04-26T00:36:47Z","updated_at":"2011-04-26T00:37:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"9d1c9cd0db105699c994ba8b16296c1b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 10:13:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/502","id":684091,"number":502,"title":"ofSetOrientation doesn't work for cairo","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":3,"created_at":"2011-03-18T09:17:36Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/500","id":672608,"number":500,"title":"missing const version of getPixelsRef()","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2011-03-14T19:14:21Z","updated_at":"2011-12-03T10:41:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","id":659446,"number":495,"title":"osx movieplayer problem on reloading","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-03-09T16:17:56Z","updated_at":"2011-03-09T16:17:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","id":646846,"number":491,"title":"GLUT 007 hack","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-03-04T14:44:53Z","updated_at":"2011-03-04T14:44:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","id":643861,"number":490,"title":"close corners on basic shapes?","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-03-03T16:35:17Z","updated_at":"2011-03-03T16:35:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","id":581395,"number":463,"title":"object init/load state is not consistently testable","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":0,"created_at":"2011-02-07T19:58:23Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","id":580717,"number":462,"title":"OpenCV cvSobel() not working with latest master branch","user":{"login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","html_url":"https://github.com/nardove","followers_url":"https://api.github.com/users/nardove/followers","following_url":"https://api.github.com/users/nardove/following","gists_url":"https://api.github.com/users/nardove/gists{/gist_id}","starred_url":"https://api.github.com/users/nardove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nardove/subscriptions","organizations_url":"https://api.github.com/users/nardove/orgs","repos_url":"https://api.github.com/users/nardove/repos","events_url":"https://api.github.com/users/nardove/events{/privacy}","received_events_url":"https://api.github.com/users/nardove/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-02-07T15:58:19Z","updated_at":"2012-12-04T10:17:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\n\nI get the following error:\n\n**OF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\nterminate called after throwing an instance of 'cv::Exception'\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel**\n\nWhen I try to call the cvSobel method like this:\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\n\nThis works fine in 0062.\n\nCheers\n- rS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","id":579790,"number":460,"title":"saveImage() and other save operations should create missing directories","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":null,"comments":8,"created_at":"2011-02-07T07:52:25Z","updated_at":"2012-03-08T15:56:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","id":578069,"number":454,"title":"ofTexture::allocate not checking for unnecessary reallocation","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-02-06T04:26:44Z","updated_at":"2011-02-06T04:26:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","id":568540,"number":449,"title":"ofViewport doesn't work with ofSetOrientation","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-02-02T00:03:09Z","updated_at":"2011-02-02T00:03:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","id":565122,"number":446,"title":"no way to get imageType of ofVideoGrabber","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-31T19:26:41Z","updated_at":"2011-01-31T19:26:41Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","id":556923,"number":424,"title":"Check ofShader Texture Wrap Parameters","user":{"login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","html_url":"https://github.com/NickHardeman","followers_url":"https://api.github.com/users/NickHardeman/followers","following_url":"https://api.github.com/users/NickHardeman/following","gists_url":"https://api.github.com/users/NickHardeman/gists{/gist_id}","starred_url":"https://api.github.com/users/NickHardeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickHardeman/subscriptions","organizations_url":"https://api.github.com/users/NickHardeman/orgs","repos_url":"https://api.github.com/users/NickHardeman/repos","events_url":"https://api.github.com/users/NickHardeman/events{/privacy}","received_events_url":"https://api.github.com/users/NickHardeman/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-27T19:43:31Z","updated_at":"2011-12-02T21:05:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","id":543729,"number":418,"title":"something to wrap glMultMatrixf","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-22T15:57:37Z","updated_at":"2011-01-22T15:57:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","id":543694,"number":417,"title":"3D isn't scale invariant in certain parts","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-22T15:24:07Z","updated_at":"2011-01-22T15:24:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","id":539845,"number":412,"title":"add setMultisampling method to glutWindow","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-20T19:33:30Z","updated_at":"2011-01-20T19:33:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","id":539744,"number":410,"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":11,"created_at":"2011-01-20T18:59:10Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","id":537416,"number":406,"title":"ofEnableLighting","user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-19T19:39:36Z","updated_at":"2011-01-19T19:39:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","id":536614,"number":405,"title":"ofViewport doesn't match rest of openFrameworks coordinates","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-19T13:24:53Z","updated_at":"2011-01-19T13:24:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/403","id":532954,"number":403,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-17T23:39:31Z","updated_at":"2012-06-18T07:28:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/400","id":532096,"number":400,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-17T16:37:42Z","updated_at":"2011-01-17T16:37:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/391","id":529705,"number":391,"title":"ofGetPreviousMouseX/Y() does not update per frame","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-16T07:21:15Z","updated_at":"2011-03-20T17:33:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/389","id":529700,"number":389,"title":"mouse position doesn't update until mouse is moved","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-16T07:11:53Z","updated_at":"2011-03-20T17:32:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this is a limitation to glut, but it might be hackable on each system separately."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/387","id":529646,"number":387,"title":"Linker error when loading image (Poco::Net related?)","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-16T05:57:51Z","updated_at":"2011-03-13T21:10:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/357","id":527591,"number":357,"title":"glDrawBitmapString vs GL_LIGHTING","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-14T19:30:31Z","updated_at":"2011-01-14T19:30:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/347","id":526094,"number":347,"title":"none of the core functions report how many dimensions they work for","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-14T01:33:38Z","updated_at":"2011-01-14T01:33:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/340","id":524875,"number":340,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-13T16:16:40Z","updated_at":"2011-01-13T16:16:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/337","id":523837,"number":337,"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":7,"created_at":"2011-01-13T05:21:53Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/324","id":522231,"number":324,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-12T15:34:48Z","updated_at":"2011-01-12T15:34:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ordering for code completion is a little weird."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/311","id":518434,"number":311,"title":"openFrameworksLib has ofQtUtils included twice","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-10T22:30:48Z","updated_at":"2011-01-10T22:30:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"under the /video directory"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/305","id":516844,"number":305,"title":"no implementation in ofBaseTypes","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-10T06:36:27Z","updated_at":"2011-01-10T06:36:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/302","id":516565,"number":302,"title":"Remove Poco CppUnit from all projects ( done on os x )","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":3,"created_at":"2011-01-10T02:39:28Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/298","id":516559,"number":298,"title":"Update Freetype to latest versions. ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":4,"created_at":"2011-01-10T02:37:49Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/292","id":516071,"number":292,"title":"ofTexture should be more flexible","user":{"login":"I33N","id":520375,"avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","url":"https://api.github.com/users/I33N","html_url":"https://github.com/I33N","followers_url":"https://api.github.com/users/I33N/followers","following_url":"https://api.github.com/users/I33N/following","gists_url":"https://api.github.com/users/I33N/gists{/gist_id}","starred_url":"https://api.github.com/users/I33N/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/I33N/subscriptions","organizations_url":"https://api.github.com/users/I33N/orgs","repos_url":"https://api.github.com/users/I33N/repos","events_url":"https://api.github.com/users/I33N/events{/privacy}","received_events_url":"https://api.github.com/users/I33N/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-09T20:46:43Z","updated_at":"2011-01-09T20:46:43Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/288","id":513779,"number":288,"title":"const correctness - add const to getWidth/getHeight","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2011-01-08T02:14:03Z","updated_at":"2011-12-03T10:49:15Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/275","id":445829,"number":275,"title":"atexit(ofExitCallback);","user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2010-11-30T05:13:10Z","updated_at":"2010-11-30T05:13:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/271","id":433297,"number":271,"title":"ofDrawBitmapString draws from bottom left","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2010-11-22T21:30:40Z","updated_at":"2011-03-17T02:02:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/264","id":425675,"number":264,"title":"ofClear uses inconsistent arguments","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2010-11-18T06:15:47Z","updated_at":"2011-09-19T22:47:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/255","id":413771,"number":255,"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":4,"created_at":"2010-11-11T21:14:05Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/249","id":399214,"number":249,"title":"normalize option nomenclature (hide/enable/set/etc.)","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2010-11-03T22:52:08Z","updated_at":"2011-12-02T20:11:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/245","id":360885,"number":245,"title":"gstreamer problems with streaming of microsoft video","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2010-10-13T16:33:06Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/228","id":309191,"number":228,"title":"remove bAllocated in ofTexture?","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2010-09-09T14:20:55Z","updated_at":"2011-04-19T00:32:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/225","id":295913,"number":225,"title":"ofxVectorMath constants","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2010-08-31T10:54:19Z","updated_at":"2010-08-31T10:54:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/224","id":290973,"number":224,"title":"gaussian noise","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"state":"open","assignee":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"milestone":null,"comments":11,"created_at":"2010-08-26T10:21:24Z","updated_at":"2012-07-17T07:40:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/214","id":268332,"number":214,"title":"ofxOsc memory access violation. namespace issue?","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2010-08-04T05:59:22Z","updated_at":"2011-10-17T13:58:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/181","id":171615,"number":181,"title":"ofxCvBlobs","user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2010-04-14T15:42:22Z","updated_at":"2010-04-14T15:48:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/174","id":166212,"number":174,"title":"vertical sync on for mac by default","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2010-04-06T19:43:21Z","updated_at":"2013-02-11T12:16:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/173","id":166211,"number":173,"title":"ofAlphaBlending default on","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":3,"created_at":"2010-04-06T19:42:34Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/172","id":166209,"number":172,"title":"rgb + alpha -> blit to texture","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":2,"created_at":"2010-04-06T19:40:28Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":" the idea is to be able to easily combine a rgb and alpha image into a rgba texture or ofImage. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/167","id":165898,"number":167,"title":"replace fmod","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2010-04-06T12:13:31Z","updated_at":"2012-03-03T19:40:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/140","id":163959,"number":140,"title":"texture compression and mipmaps for of texture","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":4,"created_at":"2010-04-02T19:43:00Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/128","id":132671,"number":128,"title":"ofxTCPServer doesn't manage connected clients correcly","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2010-02-14T09:40:13Z","updated_at":"2012-03-12T16:15:52Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/126","id":132377,"number":126,"title":"ofATan2GL / ofVecToGL ?","user":{"login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2010-02-13T14:22:51Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/124","id":132373,"number":124,"title":"TTF type rendering in OF - fix fuzziness ","user":{"login":"openframeworks","id":142866,"avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"a858611b044a8302ab14cfe752e17369","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":7,"created_at":"2010-02-13T14:15:25Z","updated_at":"2013-02-11T12:13:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/115","id":111018,"number":115,"title":"opengl stress test example","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2010-01-12T02:56:21Z","updated_at":"2012-02-27T12:30:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/107","id":104702,"number":107,"title":"should we start all OF apps with a frame rate set?","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2009-12-31T15:10:45Z","updated_at":"2012-02-28T14:02:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/91","id":94898,"number":91,"title":"listDevices should return a list of strings","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"obviousjim","id":321434,"avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","url":"https://api.github.com/users/obviousjim","html_url":"https://github.com/obviousjim","followers_url":"https://api.github.com/users/obviousjim/followers","following_url":"https://api.github.com/users/obviousjim/following","gists_url":"https://api.github.com/users/obviousjim/gists{/gist_id}","starred_url":"https://api.github.com/users/obviousjim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obviousjim/subscriptions","organizations_url":"https://api.github.com/users/obviousjim/orgs","repos_url":"https://api.github.com/users/obviousjim/repos","events_url":"https://api.github.com/users/obviousjim/events{/privacy}","received_events_url":"https://api.github.com/users/obviousjim/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":13,"created_at":"2009-12-09T17:11:40Z","updated_at":"2013-02-11T12:13:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console"}] - diff --git a/github/tests/ReplayData/PaginatedList.testCustomPerPageWithGetPage.txt b/github/tests/ReplayData/PaginatedList.testCustomPerPageWithGetPage.txt deleted file mode 100644 index de424da..0000000 --- a/github/tests/ReplayData/PaginatedList.testCustomPerPageWithGetPage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?per_page=100&page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '326617'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 11 Mar 2013 11:03:21 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"e04ce5dc75d825e86180fb3da5e1f5b1"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Mar 2013 11:04:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1385/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1385","id":5447789,"number":1385,"title":"ofOpenALSoundPlayer.cpp vs ofxOpenALSoundPlayer.cpp ?","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-07-05T16:29:56Z","updated_at":"2012-07-05T16:51:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Right now we have two OpenAL based sound players in OF. \nOne is part of ofxiPhone and one is part of the core.\n\nJust curious if the core ofOpenALSoundPlayer.cpp could be used by iOS and if we could drop/merge ofxOpenALSoundPlayer.cpp ? \nSeems weird to have both.\n\n@damiannz @julapy what do you think?\n\nTheo"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1382/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1382","id":5436804,"number":1382,"title":"rename ofxiPhone to ofxiOS","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":25,"created_at":"2012-07-05T02:48:59Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"think it might be time to rename ofxiPhone to ofxiOS.\nits one of those things that consistently bugs me every time i have to create a new class beginning with ofxiPhone.\niOS has moved beyond just the iPhone and i think the current naming convention can be confusing.\n\nthis will involve going through and renaming all ofxiPhone classes and adjusting all iOS examples.\n\nplease let me know if anyone has any objections to this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1379/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1379","id":5425486,"number":1379,"title":"iOS: iPad retina ofGetWidth/Height are 2048x1536","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":29,"created_at":"2012-07-04T10:27:33Z","updated_at":"2013-02-16T10:15:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"as per subject line. my suggestion/preference would be for retina to return 1024x768, same as on iOS, to be consistent with the paradigm that iOS uses normally, allowing retina and non-retina code to be identical in the testApp.\n\ni don't know how this is on iphone/ipod touch though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1365/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1365","id":5367217,"number":1365,"title":"projectGenerator doesn't create complete iOS moviePlayerExample project","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-30T12:25:54Z","updated_at":"2012-06-30T12:25:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"as per title, running projectGenerator on the moviePlayerExample folder skips a number of files necessary (VideoPlayerControls.* and VideoPlayerControlsDelegateForOF.*). as a result the example won't compile."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1364/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1364","id":5365386,"number":1364,"title":"ofDirectShowGrabber glitches on non-native sizes","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-30T03:41:12Z","updated_at":"2012-06-30T03:42:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"for example, when you ask for 1281x721 it will just display a black image. the pixels are definitely there, but there's some kind of texture bug. videoInput is reporting correctly that the width/height are different than the requested width/height, but ofDirectShowGrabber is not handling that correctly.\n\nalso, we should be using the built in resizing features in other parts of OF now if we can, instead of duplicating the resizing code :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1362/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1362","id":5357380,"number":1362,"title":"simple text file loading and saving","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-06-29T16:46:03Z","updated_at":"2012-11-20T00:36:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think this is the simplest way to save a string to a text file right now:\n\n````cpp\nstring str = \"hello\";\nofBuffer msg(str.c_str(), str.length());\nofBufferToFile(\"out.txt\", msg);\n````\n\nthere should be a one-line (one-function, ideally) equivalent similar to http://processing.org/reference/loadStrings_.html and http://processing.org/reference/saveStrings_.html\n\nif we made a constructor for ofBuffer that accepts a string, then it could just be:\n\n````cpp\nofBufferToFile(\"out.txt\", \"hello\");\n````\n\nand a cast operator for ofBuffer to string:\n\n\n````cpp\nstring str;\nofBufferFromFile(\"out.txt\", str);\n````\n\ni'd be ok with that, even though the naming would be a bit obscure."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1361/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1361","id":5318139,"number":1361,"title":"ofSoundPlayer::getIsPlaying() does not work with mp3","user":{"login":"prossel","id":541021,"avatar_url":"https://secure.gravatar.com/avatar/47edf7d39b59dd6fc4cb15775b8b7d5f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"47edf7d39b59dd6fc4cb15775b8b7d5f","url":"https://api.github.com/users/prossel","html_url":"https://github.com/prossel","followers_url":"https://api.github.com/users/prossel/followers","following_url":"https://api.github.com/users/prossel/following","gists_url":"https://api.github.com/users/prossel/gists{/gist_id}","starred_url":"https://api.github.com/users/prossel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prossel/subscriptions","organizations_url":"https://api.github.com/users/prossel/orgs","repos_url":"https://api.github.com/users/prossel/repos","events_url":"https://api.github.com/users/prossel/events{/privacy}","received_events_url":"https://api.github.com/users/prossel/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-06-28T08:55:15Z","updated_at":"2012-07-04T08:17:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Looks like getIsPlaying is always returning false if the sound is a .mp3 file. Tested with OF71 on iOS.\n\nTo reproduce:\n\n1. use the soundPlayerExample\n1. drop a .mp3 file in the sounds folder\n1. change the filename in testApp.mm: `synth.loadSound(\"sounds/part1.mp3\");`\n1. run the app\n1. click to start playing sounds\n\nWhen the last two sounds are playing, their title turns red.\n\nThe first sound (mp3) does not turn red because getIsPlaying() returns false."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1359/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1359","id":5302782,"number":1359,"title":"ofFbo bind() and unbind() is confusing","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-27T17:50:20Z","updated_at":"2012-06-29T09:17:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"fbo.bind() should bind the FBO's texture, ie behave the same way as ofTexture.bind(). At the moment it actually binds the FBO's framebuffer. this is confusing, and the documentation is inaccurate on this point (http://www.openframeworks.cc/documentation/gl/ofFbo.html#bind).\n\ni would suggest making bind() call getTextureReference().bind(), and adding a new function bindFrameBuffer to do what bind() currently does. comments?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1358/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1358","id":5297227,"number":1358,"title":"ofxAssimpModelLoader aiMatrix4x4ToOfMatrix4x4","user":{"login":"neuroprod","id":640585,"avatar_url":"https://secure.gravatar.com/avatar/3623ccdee8e3a141ff0e8d4e8447671d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3623ccdee8e3a141ff0e8d4e8447671d","url":"https://api.github.com/users/neuroprod","html_url":"https://github.com/neuroprod","followers_url":"https://api.github.com/users/neuroprod/followers","following_url":"https://api.github.com/users/neuroprod/following","gists_url":"https://api.github.com/users/neuroprod/gists{/gist_id}","starred_url":"https://api.github.com/users/neuroprod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neuroprod/subscriptions","organizations_url":"https://api.github.com/users/neuroprod/orgs","repos_url":"https://api.github.com/users/neuroprod/repos","events_url":"https://api.github.com/users/neuroprod/events{/privacy}","received_events_url":"https://api.github.com/users/neuroprod/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-27T13:45:13Z","updated_at":"2012-06-27T17:56:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\nline nr 86 this:\n```cpp\nfloat m[16] = { aim.a1,aim.a2,aim.a3,aim.a4,\n\t\t\t\t\taim.b1,aim.b2,aim.b3,aim.b4,\n\t\t\t\t\taim.c1,aim.c2,aim.c3,aim.c4,\n\t\t\t\t\taim.d1,aim.d2,aim.d3,aim.d4 };\n```\nshould be this\n```cpp\nfloat m[16] = { aim.a1,aim.b1,aim.c1,aim.d1,\n\t\t\t\t\taim.a2,aim.b2,aim.c2,aim.d2,\n\t\t\t\t\taim.a3,aim.b3,aim.c3,aim.d3,\n\t\t\t\t\taim.a4,aim.b4,aim.c4,aim.d4 };\n```\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1356/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1356","id":5291942,"number":1356,"title":"ofMesh statics","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-06-27T08:56:51Z","updated_at":"2012-06-27T15:13:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"hey all!\n\ni'm going back through issues this week to clean out and work on functionality.\n\nwe talked before @ofTheo and maybe marek? (iirc) about ofMesh statics\n\nMy proposal is something like 'ofMeshLibrary' which has lots of standard meshes that you can pull out or draw directly, e.g.:\n* Grid (quad, plane, etc)\n* Box\n* Sphere\n* Icosphere\n* Cylinder\n* Tube\n* Arrow\netc...\n\nfor each you could do like\n\n```c++\nofMesh myMesh;\n\nofMeshLibrary::sphere::draw(); // draw with default resolution\n\n//ofMeshLibrary::sphere::init() is called the first time you either copy or draw the mesh\nmyMesh = ofMeshLibrary::sphere; // create a local instance of sphere with default resolution\n\nofMeshLibrary::sphere::setResolution(5); // change the resolution of the static sphere\n\nmyMesh = ofMeshLibrary::sphere; // create a local instance of sphere with low resolution\n\nofMeshLibrary::sphere::draw(); // draw with reduced resolution\n```\n\nAnybody see any issues with this being in the core?\nIf not I'll start on this. We discussed it before on irc and it was mostly positive."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1354/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1354","id":5280751,"number":1354,"title":"feature suggestion: ofCamera::getXYZat(const ofVec2f & screenCoordinate)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-06-26T18:43:23Z","updated_at":"2012-08-04T21:47:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This would use the same method as ofxGrabCam (pull a pixel from the depth buffer and unproject)\nAnybody have any qualms about including this in ofCamera directly?\n\nalso i suggest we add:\n```glEnable(GL_DEPTH_FUNC);``` to ```ofCamera::begin(...)```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1348/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1348","id":5235369,"number":1348,"title":"Android example doesn't run on emulator, but runs on device","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-06-24T12:09:38Z","updated_at":"2012-08-05T21:31:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi!\n\nI've just followed the setup guide for Android/Eclipse/Linux. Everything works using AndroidEmptyExample, when using a real device, but if I use a freshly generated ICS emulator, it does not run successfully. \nLog:\n\n\t\tBUILD SUCCESSFUL\n\t\tTotal time: 15 seconds\n\t\tcp bin/OFActivity-debug.apk bin/androidEmptyExample.apk\n\t\t#if [ \"device\" = \"device\" ]; then\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb uninstall cc.openframeworks.androidEmptyExample\n\t\tFailure\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb install -r bin/androidEmptyExample.apk;\n\t\t2560 KB/s (8222503 bytes in 3.136s)\n\t\t\tpkg: /data/local/tmp/androidEmptyExample.apk\n\t\tFailure [INSTALL_FAILED_CONTAINER_ERROR]\n\t\t#fi\n\t\t/media/windata/Visuals/Coding/android-sdk-linux_x86/platform-tools/adb shell am start -a android.intent.action.MAIN -n cc.openframeworks.androidEmptyExample/cc.openframeworks.androidEmptyExample.OFActivity\n\t\tStarting: Intent { act=android.intent.action.MAIN cmp=cc.openframeworks.androidEmptyExample/.OFActivity }\n\t\tError type 3\n\t\tError: Activity class {cc.openframeworks.androidEmptyExample/cc.openframeworks.androidEmptyExample.OFActivity} does not exist.\n\nThe activity class looks alright (and works with a device, anyway). Any ideas what's wrong here, @arturoc ? Is this even fixable on our side?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1347/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1347","id":5216147,"number":1347,"title":"rename ofImage.grabScreen","user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-22T14:24:37Z","updated_at":"2012-06-23T16:21:52Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"First: Is this method supposed to be in the public API of OF? Becaue it is missing in the reference on the website.\n\nI think we should discuss the naming of this function. OF has methods like `ofGetHeight()` for getting the height of the app and `ofGetScreenHeight()` for getting the height of the screen. Instead `ofImage_::grabScreen`[1] does not grab the screen. I tested this on arch/ubuntu/win7 and it only grabs the app (everything else is black). Maybe it should be renamed to only `ofImage_::grab`. What do you think?\n\n[1] https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/graphics/ofImage.cpp#L907"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1344/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1344","id":5163949,"number":1344,"title":"ofLoadURLAsync crash when no network is available","user":{"login":"gorkacortazar","id":608719,"avatar_url":"https://secure.gravatar.com/avatar/6730aa74ae4edfa08a88f98e1364f5ec?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6730aa74ae4edfa08a88f98e1364f5ec","url":"https://api.github.com/users/gorkacortazar","html_url":"https://github.com/gorkacortazar","followers_url":"https://api.github.com/users/gorkacortazar/followers","following_url":"https://api.github.com/users/gorkacortazar/following","gists_url":"https://api.github.com/users/gorkacortazar/gists{/gist_id}","starred_url":"https://api.github.com/users/gorkacortazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gorkacortazar/subscriptions","organizations_url":"https://api.github.com/users/gorkacortazar/orgs","repos_url":"https://api.github.com/users/gorkacortazar/repos","events_url":"https://api.github.com/users/gorkacortazar/events{/privacy}","received_events_url":"https://api.github.com/users/gorkacortazar/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-20T07:09:34Z","updated_at":"2012-09-26T10:46:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofLoadURLAsync crashes when no network is connected, on windows (codeblocks and vidual studio). Seeing the debugger, crashes when the poco::dnserror is being called.\n\nMy current workaround is to use ofLoadURL(...) in a threaded class, that work as expected (catches the error and logs the network error in the ofx console)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1343/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1343","id":5134626,"number":1343,"title":"ofVec2f could be more dry?","user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-06-18T21:48:19Z","updated_at":"2012-08-01T11:47:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Can you do inline functions inside inline functions? this seems to indicate so\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/math/ofVec2f.h#L706\n\nIf so, in ofVec2f::getPerpendicular, ofVec2f::perpendicular and there are a few calls to \nfloat length = (float)sqrt( x*x + y*y ); \n\nthese can be covered by the ofVec2f::length() function\n\nAlso, do we need both lengthSquared() and squareLength()?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1336/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1336","id":5108991,"number":1336,"title":"ofSoundStream doesn't compile in VS2010 (Release Mode) ","user":{"login":"sloopidoopi","id":248498,"avatar_url":"https://secure.gravatar.com/avatar/69d034865cb1f775bb1e0b47ff0580b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69d034865cb1f775bb1e0b47ff0580b2","url":"https://api.github.com/users/sloopidoopi","html_url":"https://github.com/sloopidoopi","followers_url":"https://api.github.com/users/sloopidoopi/followers","following_url":"https://api.github.com/users/sloopidoopi/following","gists_url":"https://api.github.com/users/sloopidoopi/gists{/gist_id}","starred_url":"https://api.github.com/users/sloopidoopi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloopidoopi/subscriptions","organizations_url":"https://api.github.com/users/sloopidoopi/orgs","repos_url":"https://api.github.com/users/sloopidoopi/repos","events_url":"https://api.github.com/users/sloopidoopi/events{/privacy}","received_events_url":"https://api.github.com/users/sloopidoopi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":null,"comments":3,"created_at":"2012-06-16T21:56:42Z","updated_at":"2012-06-18T07:02:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I get an \terror LNK2038: Konflikt ermittelt für \"_ITERATOR_DEBUG_LEVEL\": Der Wert \"2\" stimmt nicht mit dem Wert \"0\" in main.obj überein.\t\n\nIn the Linker settings i see that the rtAudioD.lib is used . \nThis is an inherited value.( I don't know where this value is set and how I can change this )\nI'll guess it should be rtAudio.lib instead.\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1334/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1334","id":5105884,"number":1334,"title":"video playback in windows is slow for some users","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2012-06-16T12:17:23Z","updated_at":"2013-02-11T12:16:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://forum.openframeworks.cc/index.php/topic,10053.0\n\nwould be good to investigate this @gameoverhack \n "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1329/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1329","id":5086630,"number":1329,"title":"command-line projectGenerator needs to be able to reconfigure OF-root path","user":{"login":"pierrep","id":392160,"avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","url":"https://api.github.com/users/pierrep","html_url":"https://github.com/pierrep","followers_url":"https://api.github.com/users/pierrep/followers","following_url":"https://api.github.com/users/pierrep/following","gists_url":"https://api.github.com/users/pierrep/gists{/gist_id}","starred_url":"https://api.github.com/users/pierrep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pierrep/subscriptions","organizations_url":"https://api.github.com/users/pierrep/orgs","repos_url":"https://api.github.com/users/pierrep/repos","events_url":"https://api.github.com/users/pierrep/events{/privacy}","received_events_url":"https://api.github.com/users/pierrep/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-06-15T05:41:09Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I accidentally set the wrong OF root path, and ended up having to dig in the source code and then the config files to figure out how to reset it. Would be good for the command-line version to have an option to reset the root path. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1328/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1328","id":5075658,"number":1328,"title":"xcode 4 doesn't put obj files near the xcode project","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-14T17:41:40Z","updated_at":"2012-06-14T17:41:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there seems to be conflicting settings for \"per configuration intermediate build files\", and so therefore, there's no \"build\" folder with obj files near the project. This is an issue on some systems which require admin access to the dev folder, where those objs are winding up. it's also just harder to track build / obj files with this newer default approach of apple. \n\nwe should get xcode 4 to operate more like xcode 3 if we can. \n\nI believe it's it's related to this forum post: \n\nhttp://forum.openframeworks.cc/index.php?topic=10064.new;topicseen#new"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1326/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1326","id":5054867,"number":1326,"title":"project makefiles should trigger OF lib rebuild if necessary.","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":0,"created_at":"2012-06-13T19:10:28Z","updated_at":"2012-06-13T19:10:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the makefiles of projects would trigger a (re)build of the OF library if it is necessary (changed files, no library, etc).\nThis would also solve issues like in [this forum thread](http://forum.openframeworks.cc/index.php/topic,9962). It would also save having to manually rebuild the library if you just use plain make files without an IDE/project, for quick tests etc.\n\nIs this technically feasible, @arturoc ?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1322/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1322","id":5010394,"number":1322,"title":"ofxOpenALSoundPlayer ReferenceDistance and MaxDistance not behaving as expected","user":{"login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","html_url":"https://github.com/armadillu","followers_url":"https://api.github.com/users/armadillu/followers","following_url":"https://api.github.com/users/armadillu/following","gists_url":"https://api.github.com/users/armadillu/gists{/gist_id}","starred_url":"https://api.github.com/users/armadillu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armadillu/subscriptions","organizations_url":"https://api.github.com/users/armadillu/orgs","repos_url":"https://api.github.com/users/armadillu/repos","events_url":"https://api.github.com/users/armadillu/events{/privacy}","received_events_url":"https://api.github.com/users/armadillu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2012-06-11T19:41:06Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxALSoundSetReferenceDistance() and ofxALSoundSetMaxDistance() don't seem to behave as expected. \n\nOne would expect sounds not to be heard at all when the sound source is beyond the MaxDistance, but this is not the case on the default setup. I think it is because of the sound model openAL comes set with.\n\nI found the ofxALSoundSetReferenceDistance() and ofxALSoundSetMaxDistance() to make perfect sense when setting the linear sound model by calling this:\n\nalDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); \n\nI feel this sound model should be set by default, or at least give the API a method hinting that different sound models exist.\n\nI made a video demonstrating the issue here: http://www.youtube.com/watch?v=7Gz2x8R01jE"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1319/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1319","id":4985616,"number":1319,"title":"oF in HTML5","user":{"login":"gimlids","id":186277,"avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cc4cace34c61103f0624002a692820f7","url":"https://api.github.com/users/gimlids","html_url":"https://github.com/gimlids","followers_url":"https://api.github.com/users/gimlids/followers","following_url":"https://api.github.com/users/gimlids/following","gists_url":"https://api.github.com/users/gimlids/gists{/gist_id}","starred_url":"https://api.github.com/users/gimlids/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gimlids/subscriptions","organizations_url":"https://api.github.com/users/gimlids/orgs","repos_url":"https://api.github.com/users/gimlids/repos","events_url":"https://api.github.com/users/gimlids/events{/privacy}","received_events_url":"https://api.github.com/users/gimlids/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-06-09T15:58:45Z","updated_at":"2012-06-10T13:55:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Issue: openFrameworks does not run in the web browser.\n\nSolution: the emscripten backend for the LLVM compiler generates JavaScript, many C++ OpenGL projects have been demonstrated running in the browser with WebGL.\n\nIs anyone interested in this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1314/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1314","id":4954019,"number":1314,"title":"PG overwrites .cbp's of different platforms","user":{"login":"sphaero","id":832465,"avatar_url":"https://secure.gravatar.com/avatar/f17e8b6636b46f5bfacbda5854842eb9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f17e8b6636b46f5bfacbda5854842eb9","url":"https://api.github.com/users/sphaero","html_url":"https://github.com/sphaero","followers_url":"https://api.github.com/users/sphaero/followers","following_url":"https://api.github.com/users/sphaero/following","gists_url":"https://api.github.com/users/sphaero/gists{/gist_id}","starred_url":"https://api.github.com/users/sphaero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphaero/subscriptions","organizations_url":"https://api.github.com/users/sphaero/orgs","repos_url":"https://api.github.com/users/sphaero/repos","events_url":"https://api.github.com/users/sphaero/events{/privacy}","received_events_url":"https://api.github.com/users/sphaero/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-06-07T16:44:27Z","updated_at":"2012-06-07T16:44:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I create a simple test project including a linux64 and win CB projects I end up with only one test.cbp. It seems it overwrites itself since all platforms share the same name...\n\nsuggestion... use names like _ i.e. testApp_linux.cbp, testApp_linux64.cbp, test_win.cbp etc\n\nIf that's not already on the roadmap....\n\nI tested with the develop branch"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1312/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1312","id":4948268,"number":1312,"title":"ofURLFileLoader doesn't timeout or handle exceptions","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-06-07T11:18:27Z","updated_at":"2012-09-13T20:56:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you issue a URL to ofURLFileLoader and the http subsystem triggers an exception (no route to host is the easiest to test -- just unplug your network), then the URL request will sit in the request queue forever. Turn on OF_LOG_VERBOSE and watch the console output.\n\nThere should be better exception handling, and/or there should be a timeout of some kind."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1306/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1306","id":4924361,"number":1306,"title":"projectGenerator fails when run from command line with target folder","user":{"login":"tarcoles","id":1822092,"avatar_url":"https://secure.gravatar.com/avatar/2399652e50fade7a5d8404203b31a61f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2399652e50fade7a5d8404203b31a61f","url":"https://api.github.com/users/tarcoles","html_url":"https://github.com/tarcoles","followers_url":"https://api.github.com/users/tarcoles/followers","following_url":"https://api.github.com/users/tarcoles/following","gists_url":"https://api.github.com/users/tarcoles/gists{/gist_id}","starred_url":"https://api.github.com/users/tarcoles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarcoles/subscriptions","organizations_url":"https://api.github.com/users/tarcoles/orgs","repos_url":"https://api.github.com/users/tarcoles/repos","events_url":"https://api.github.com/users/tarcoles/events{/privacy}","received_events_url":"https://api.github.com/users/tarcoles/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":8,"created_at":"2012-06-06T07:50:15Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I run the projectGenerator without arguments and use the provided GUI, I can create a new project.\n\nBut if I try to run it as a command line tool it fails halfway through. I would guess a step to make the source folders is missing:\n\n mkdir ~/Public/carne\n\n ./projectGenerator --linux64 ~/Public/carne\n OF: OF_LOG_ERROR: Error: Missing GL version\n\n OF: OF_LOG_ERROR: ofDirectoryLister::listDirectory() error opening directory /home/gabriel/Public/carne/src/\n\n tree ~/Public/carne\n /home/gabriel/Public/carne\n |-- carne.cbp\n |-- carne.workspace\n |-- config.make\n `-- Makefile\n\n 0 directories, 4 files\n\nThis has been reproduced on Debian GNU/Linux wheezy/sid 64bit and Ubuntu 32bit"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1299/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1299","id":4861832,"number":1299,"title":"projectGenerator VS2010 release mode : no AdditionalIncludeDirectories","user":{"login":"sloopidoopi","id":248498,"avatar_url":"https://secure.gravatar.com/avatar/69d034865cb1f775bb1e0b47ff0580b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69d034865cb1f775bb1e0b47ff0580b2","url":"https://api.github.com/users/sloopidoopi","html_url":"https://github.com/sloopidoopi","followers_url":"https://api.github.com/users/sloopidoopi/followers","following_url":"https://api.github.com/users/sloopidoopi/following","gists_url":"https://api.github.com/users/sloopidoopi/gists{/gist_id}","starred_url":"https://api.github.com/users/sloopidoopi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloopidoopi/subscriptions","organizations_url":"https://api.github.com/users/sloopidoopi/orgs","repos_url":"https://api.github.com/users/sloopidoopi/repos","events_url":"https://api.github.com/users/sloopidoopi/events{/privacy}","received_events_url":"https://api.github.com/users/sloopidoopi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":1,"created_at":"2012-06-01T17:50:14Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In the projectGenerator.vcxproj the AdditionalIncludeDirectories for the release mode are missing. (I copied the entries from the debug mode for testing and compilaton worked)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1292/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1292","id":4840460,"number":1292,"title":"ofSetVerticalSync(false) no effect, other framerate issues","user":{"login":"ChristophPacher","id":463776,"avatar_url":"https://secure.gravatar.com/avatar/1c1ed6a26b6cb2351d65b3b02677b8d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"1c1ed6a26b6cb2351d65b3b02677b8d7","url":"https://api.github.com/users/ChristophPacher","html_url":"https://github.com/ChristophPacher","followers_url":"https://api.github.com/users/ChristophPacher/followers","following_url":"https://api.github.com/users/ChristophPacher/following","gists_url":"https://api.github.com/users/ChristophPacher/gists{/gist_id}","starred_url":"https://api.github.com/users/ChristophPacher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChristophPacher/subscriptions","organizations_url":"https://api.github.com/users/ChristophPacher/orgs","repos_url":"https://api.github.com/users/ChristophPacher/repos","events_url":"https://api.github.com/users/ChristophPacher/events{/privacy}","received_events_url":"https://api.github.com/users/ChristophPacher/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-31T16:24:30Z","updated_at":"2012-05-31T17:02:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\n\nI am on a Windows 7 x64 Laptop (NV 420m GPU), using VS2010, latest OF trunk, lastest experimental ofxOpenNI trunk, latest OpenNI/nite binaries, OpenCV trunk from March, CUDA 4.1.\n\nWhen running my kinect app i have a hard time to control the FPS aswell as Vsync. Sometimes the app shows 300+ FPS sometimes +60 sometimes 30 when setting ofSetVerticalSync(true) and ofSetFramerate(60) (or using none of the settings), and I experience some slowdowns in the ofxOpenNI thread to 20 FPS when playing an .oni file, that recover back to normal 30 FPS. Sometimes the app runs perfectly with no slow downs but it is pretty much randomly changeing even with just an app restart or system restart. No changes in the Nvidia driver settings seem to directly and repeatetly control the FPS. The ofxOpenCV example is controlable and behaves as one would expect, but its not threaded.\n\nI am puzzeld and I do not know what could be the root of the problem. Any ideas where I could look next? Are there any instructions or patterns i should avoid when interacting with my OpenNI thread that could influence the Opengl thread?\n\nAnyone wanting to test this can reproduce this with running the sample project of gameovers ofxOpenNI called src-ONIRecording-Simple. \n\nThanks\n\nChris"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","id":4767675,"number":1279,"title":"ofShader example with HD Graphics 3000 issue","user":{"login":"subtiv","id":1012684,"avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"837cfe96365c031130a46311eb11d86a","url":"https://api.github.com/users/subtiv","html_url":"https://github.com/subtiv","followers_url":"https://api.github.com/users/subtiv/followers","following_url":"https://api.github.com/users/subtiv/following","gists_url":"https://api.github.com/users/subtiv/gists{/gist_id}","starred_url":"https://api.github.com/users/subtiv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/subtiv/subscriptions","organizations_url":"https://api.github.com/users/subtiv/orgs","repos_url":"https://api.github.com/users/subtiv/repos","events_url":"https://api.github.com/users/subtiv/events{/privacy}","received_events_url":"https://api.github.com/users/subtiv/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-26T19:27:56Z","updated_at":"2012-05-28T08:08:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","id":4554058,"number":1256,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-05-13T18:20:29Z","updated_at":"2012-05-17T21:42:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","id":4539985,"number":1252,"title":"0071 ply (mesh.save()) Point export is broken","user":{"login":"laserpilot","id":1041023,"avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","url":"https://api.github.com/users/laserpilot","html_url":"https://github.com/laserpilot","followers_url":"https://api.github.com/users/laserpilot/followers","following_url":"https://api.github.com/users/laserpilot/following","gists_url":"https://api.github.com/users/laserpilot/gists{/gist_id}","starred_url":"https://api.github.com/users/laserpilot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laserpilot/subscriptions","organizations_url":"https://api.github.com/users/laserpilot/orgs","repos_url":"https://api.github.com/users/laserpilot/repos","events_url":"https://api.github.com/users/laserpilot/events{/privacy}","received_events_url":"https://api.github.com/users/laserpilot/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":6,"created_at":"2012-05-11T19:45:53Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","id":4507492,"number":1250,"title":"bug: ofToDataPath broken again","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-05-10T06:35:24Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1239/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1239","id":4406584,"number":1239,"title":"Fix ofThread destructor behaviour","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":31,"created_at":"2012-05-03T14:54:46Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1239","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1239.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1239.patch"},"body":"The way ofThread's destructor worked was causing cleanup code at the end of threadedFunction to be skipped, sometimes leaving shared resources in an unusable state. This patch makes sure that the ofThread destructor waits until the thread has properly exited. \r\n\r\nIMO this patch is critical, but it should be treated with caution, as this has the possibility to cause deadlocks in code with multiple threads where the cleanup order is not clearly defined."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1236/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1236","id":4384548,"number":1236,"title":"init openframeworks before constructor of testapp is called?","user":{"login":"peteruithoven","id":523210,"avatar_url":"https://secure.gravatar.com/avatar/f39b1485b28be1dc2b98f269235218bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f39b1485b28be1dc2b98f269235218bc","url":"https://api.github.com/users/peteruithoven","html_url":"https://github.com/peteruithoven","followers_url":"https://api.github.com/users/peteruithoven/followers","following_url":"https://api.github.com/users/peteruithoven/following","gists_url":"https://api.github.com/users/peteruithoven/gists{/gist_id}","starred_url":"https://api.github.com/users/peteruithoven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peteruithoven/subscriptions","organizations_url":"https://api.github.com/users/peteruithoven/orgs","repos_url":"https://api.github.com/users/peteruithoven/repos","events_url":"https://api.github.com/users/peteruithoven/events{/privacy}","received_events_url":"https://api.github.com/users/peteruithoven/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":3,"created_at":"2012-05-02T13:24:49Z","updated_at":"2012-05-16T09:42:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I was trying to load a file in a subclass. I'm used to doing that in a constructor, but after an hour of debugging I found out that I can only do this if I make some kind of setup function. Because otherwise it's called before openframeworks is initialized. \r\n\r\nWhy not initialize openframeworks before ofRunApp or in the constructor ofBaseApp? \r\n\r\nTo reproduce put the following code in a constructor of a class and in a setup function that you call from the testapp setup. \r\nofFile f(\"DroidSans.ttf\");\r\ncout << f.getAbsolutePath() << endl;\r\n\r\nDifference is that when you load a file from the constructor the absolute url becomes:\r\n/Developer/openFrameworks/007/apps/data/DroidSans.ttf\r\nFrom a setup function that I call in the setup function of TestApp:\r\n/Developer/openFrameworks/007/apps/experiments/FindingFont2/bin/data/DroidSans.ttf"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1235/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1235","id":4383465,"number":1235,"title":"no get methods for ofSoundPlayer","user":{"login":"chrisoshea","id":104786,"avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","url":"https://api.github.com/users/chrisoshea","html_url":"https://github.com/chrisoshea","followers_url":"https://api.github.com/users/chrisoshea/followers","following_url":"https://api.github.com/users/chrisoshea/following","gists_url":"https://api.github.com/users/chrisoshea/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisoshea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisoshea/subscriptions","organizations_url":"https://api.github.com/users/chrisoshea/orgs","repos_url":"https://api.github.com/users/chrisoshea/repos","events_url":"https://api.github.com/users/chrisoshea/events{/privacy}","received_events_url":"https://api.github.com/users/chrisoshea/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-05-02T12:06:15Z","updated_at":"2012-05-02T12:51:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Right now (007), how do you get a volume of a sample? a float sample.volume?\r\n\r\nhttp://www.openframeworks.cc/documentation/sound/ofSoundPlayer.html#volume\r\n\r\nBut if you look at ofSoundPlayer or ofBaseSoundPlayer there is no variable volume, or length, or pan, or speed. This brings up a compile error in Xcode saying:\r\n\r\nNo member named 'volume' in 'ofSoundPlayer'\r\n\r\nSo here are the variables:\r\n\r\nbool bLoop\r\nbool bLoadedOk\r\nbool bPaused\r\nfloat pan\r\nfloat volume\r\nfloat speed\r\nunsigned int length\r\n\r\nHere are the set methods:\r\n\r\nsetVolume(...)\r\nsetPan(...)\r\nsetSpeed(...)\r\nsetPaused(...)\r\nsetLoop(...)\r\nsetMultiPlay(...)\r\nsetPosition(...)\r\n\r\nHere are the gets:\r\n\r\ngetPosition()\r\ngetIsPlaying()\r\ngetSpeed()\r\ngetPan()\r\nsetPlayer(...)\r\ngetPlayer()\r\nsetPositionMS(...)\r\ngetPositionMS()\r\n\r\nWhat is missing?\r\n\r\ngetVolume()\r\ngetPaused()\r\ngetLoop()\r\n\r\nOr has this already been fixed?\r\n\r\nCheers\r\n\r\n\r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1234/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1234","id":4373361,"number":1234,"title":"PG should generate example projects in non-core addons","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-05-01T20:24:05Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the PG could get an option to generate the examples of non-core addons which the user has downloaded and placed in `OF/addons/`. This would really be useful to quickly look at/work with an addon.\r\n\r\nThe PG already knows about these addons. It would scan for folders in am addon's root directory with `example` in the name somewhere, and probably check the requisite structure (`src` folder, `addons.make` in place, etc), then generate the project file just the way it would if the example were in `OF/examples/addons/someExample`. Folder depth is the same, so I hope this is just a matter of adjusting the root folder for the example generation process - `addons` instead of `examples`.\r\n\r\nThoughts? Feedback?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1233/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1233","id":4373201,"number":1233,"title":"PG should offer addons download","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-05-01T20:15:17Z","updated_at":"2012-05-04T03:31:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This idea I had came up during the latest devmeet: \r\n\r\n*Proposal*\r\n\r\nI think it would be great if the PG would in the future offer automated downloading of addons. This would lower the barrier for people getting addons they want/need. Additionally, it would take away/reduce the need/desire to include popular addons in the OF core repo and/or release download, if addons are so easy to get, as part of a workflow we already envision the users to follow in the future (i.e. the PG)\r\n\r\n*Behaviour as it is now/soon:*\r\n\r\nAlice has an idea for a new project. She needs a couple addons for realising her project, and knows which ones. \r\nShe opens a browser to go to ofxaddons.com and/or github to download the addons if she doesn't have them yet and places them into `OF/addons/`. Alice starts the PG. The PG knows about the addons, and allows her to select them for inclusion. She creates a project and starts coding.\r\n\r\n*Desired/envisioned behaviour:*\r\n\r\nBob has an idea for a new project. He needs a couple addons for realising his project, and knows which ones. \r\nBob uses the new version of the PG to create a project. Beside the list of installed addons, the PG offers a dropdown list to select addons to download and place into the proper place. It lets Bob select if he prefers a plain download (to just use the addon), or a cloned git repo (to stay up-to-date and/or propose improvements to the addon author). Bob selects the desired addons to download, waits a while until PG reports that they're in place, and chooses all needed addons from the newly expanded list. He creates a project, and start coding the Next Big Thing, without even needing the browser! Awesome, right?\r\n\r\n*Analysis:*\r\n\r\nAlthough I realize that this is no trivial feature, I think much of what we need is already in place. \r\nPG knows about the repo structure, which addons are already there, etc., and has most of the file-manipulation logic already I think. \r\nofxaddons.com maintains a list of available addons and their locations, so I hope it's rather easy to present this in some machine-readable way for PG consumption (@obviousjim, thoughts?). \r\nWget/curl/git could take care of the download. \r\nofxGUI would have to be extended with a dropdown list, or some other way of (space)efficiently presenting the huge list of addons available.\r\n\r\nPossible issues: \r\nCross-platform way of downloading/git cloning without pulling to many dependencies (Elliot brought this up I think). Maybe have a fallback chain of mechanisms?\r\nAddon structure may not comply to what is expected (for old addons e.g.), so the project wouldn't work in the beginning. The same issue would appear on manual download, though.\r\n\r\n\r\nThoughts and Feedback, please. :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1232/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1232","id":4370619,"number":1232,"title":"bug/feature in ofColor::setSaturation ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":14,"created_at":"2012-05-01T17:40:08Z","updated_at":"2013-02-11T12:12:35Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"should result in a gray circle, instead its white \r\n\r\n\tofColor c(255, 0, 0);\r\n\tc.setSaturation(0);\t\r\n\tofSetColor(c);\r\n\tofFill();\t\r\n\tofCircle(100,400,50);\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1229/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1229","id":4356530,"number":1229,"title":"pass matrices as uniforms with ofShader ","user":{"login":"Larsberg","id":346072,"avatar_url":"https://secure.gravatar.com/avatar/bb9a4f7c510339e9d7a447347dc263ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bb9a4f7c510339e9d7a447347dc263ba","url":"https://api.github.com/users/Larsberg","html_url":"https://github.com/Larsberg","followers_url":"https://api.github.com/users/Larsberg/followers","following_url":"https://api.github.com/users/Larsberg/following","gists_url":"https://api.github.com/users/Larsberg/gists{/gist_id}","starred_url":"https://api.github.com/users/Larsberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Larsberg/subscriptions","organizations_url":"https://api.github.com/users/Larsberg/orgs","repos_url":"https://api.github.com/users/Larsberg/repos","events_url":"https://api.github.com/users/Larsberg/events{/privacy}","received_events_url":"https://api.github.com/users/Larsberg/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-04-30T19:49:38Z","updated_at":"2012-05-01T06:35:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"How do you feel about passing matrices to ofShader as a uniform?\r\n\r\nsomething like:\r\n\r\n\tvoid ofShader::setUniformMatrix4fv(const char* name, ofMatrix& matrix ) {\r\n\t\tif(bLoaded)\r\n\t\t\tglUniformMatrix4fv(getUniformLocation(name), 1, GL_FALSE, matrix.getPtr());\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","id":4269431,"number":1217,"title":"projectGenerator update doesn't respect existing project settings","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-04-24T21:03:44Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","id":4269359,"number":1215,"title":"projectGenerator sets incorrect path in Project.xcconfig","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":2,"created_at":"2012-04-24T20:59:57Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","id":4231092,"number":1202,"title":"ofVideoPlayer etc needs ofColor access","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-04-22T18:42:58Z","updated_at":"2012-04-22T23:56:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","id":4207350,"number":1190,"title":"Bezier Shaders & Vector openGL rendering","user":{"login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","url":"https://api.github.com/users/microbians","html_url":"https://github.com/microbians","followers_url":"https://api.github.com/users/microbians/followers","following_url":"https://api.github.com/users/microbians/following","gists_url":"https://api.github.com/users/microbians/gists{/gist_id}","starred_url":"https://api.github.com/users/microbians/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/microbians/subscriptions","organizations_url":"https://api.github.com/users/microbians/orgs","repos_url":"https://api.github.com/users/microbians/repos","events_url":"https://api.github.com/users/microbians/events{/privacy}","received_events_url":"https://api.github.com/users/microbians/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-04-20T09:23:00Z","updated_at":"2013-02-04T20:49:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","id":4206982,"number":1189,"title":"ofSetCurveResolution + ofBezierVertex bug","user":{"login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","url":"https://api.github.com/users/microbians","html_url":"https://github.com/microbians","followers_url":"https://api.github.com/users/microbians/followers","following_url":"https://api.github.com/users/microbians/following","gists_url":"https://api.github.com/users/microbians/gists{/gist_id}","starred_url":"https://api.github.com/users/microbians/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/microbians/subscriptions","organizations_url":"https://api.github.com/users/microbians/orgs","repos_url":"https://api.github.com/users/microbians/repos","events_url":"https://api.github.com/users/microbians/events{/privacy}","received_events_url":"https://api.github.com/users/microbians/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":0,"created_at":"2012-04-20T08:51:51Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","id":4174070,"number":1186,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","user":{"login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","url":"https://api.github.com/users/neilmendoza","html_url":"https://github.com/neilmendoza","followers_url":"https://api.github.com/users/neilmendoza/followers","following_url":"https://api.github.com/users/neilmendoza/following","gists_url":"https://api.github.com/users/neilmendoza/gists{/gist_id}","starred_url":"https://api.github.com/users/neilmendoza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neilmendoza/subscriptions","organizations_url":"https://api.github.com/users/neilmendoza/orgs","repos_url":"https://api.github.com/users/neilmendoza/repos","events_url":"https://api.github.com/users/neilmendoza/events{/privacy}","received_events_url":"https://api.github.com/users/neilmendoza/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-04-18T15:08:32Z","updated_at":"2012-05-01T04:10:23Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","id":4132608,"number":1178,"title":"OpenGLES2 not working","user":{"login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","url":"https://api.github.com/users/erinnovations","html_url":"https://github.com/erinnovations","followers_url":"https://api.github.com/users/erinnovations/followers","following_url":"https://api.github.com/users/erinnovations/following","gists_url":"https://api.github.com/users/erinnovations/gists{/gist_id}","starred_url":"https://api.github.com/users/erinnovations/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erinnovations/subscriptions","organizations_url":"https://api.github.com/users/erinnovations/orgs","repos_url":"https://api.github.com/users/erinnovations/repos","events_url":"https://api.github.com/users/erinnovations/events{/privacy}","received_events_url":"https://api.github.com/users/erinnovations/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":26,"created_at":"2012-04-16T11:19:36Z","updated_at":"2013-02-11T12:16:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","id":4117762,"number":1175,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-14T13:45:42Z","updated_at":"2012-04-14T13:45:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","id":4081188,"number":1171,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","user":{"login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","html_url":"https://github.com/jesusgollonet","followers_url":"https://api.github.com/users/jesusgollonet/followers","following_url":"https://api.github.com/users/jesusgollonet/following","gists_url":"https://api.github.com/users/jesusgollonet/gists{/gist_id}","starred_url":"https://api.github.com/users/jesusgollonet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesusgollonet/subscriptions","organizations_url":"https://api.github.com/users/jesusgollonet/orgs","repos_url":"https://api.github.com/users/jesusgollonet/repos","events_url":"https://api.github.com/users/jesusgollonet/events{/privacy}","received_events_url":"https://api.github.com/users/jesusgollonet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-12T10:09:42Z","updated_at":"2012-04-12T10:09:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","id":4063366,"number":1165,"title":"ofLogError, ofLogWarning lack format, ... args","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2012-04-11T11:56:33Z","updated_at":"2012-04-21T15:41:01Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","id":4032047,"number":1152,"title":"grabScreen in ofImage fails on Android","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2012-04-09T17:15:21Z","updated_at":"2012-07-13T19:01:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","id":4015514,"number":1146,"title":"Document Project Generator / clean out old tools","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-07T14:43:53Z","updated_at":"2012-04-07T15:00:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","id":4010494,"number":1145,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","user":{"login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","url":"https://api.github.com/users/rezaali","html_url":"https://github.com/rezaali","followers_url":"https://api.github.com/users/rezaali/followers","following_url":"https://api.github.com/users/rezaali/following","gists_url":"https://api.github.com/users/rezaali/gists{/gist_id}","starred_url":"https://api.github.com/users/rezaali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rezaali/subscriptions","organizations_url":"https://api.github.com/users/rezaali/orgs","repos_url":"https://api.github.com/users/rezaali/repos","events_url":"https://api.github.com/users/rezaali/events{/privacy}","received_events_url":"https://api.github.com/users/rezaali/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-04-06T22:02:01Z","updated_at":"2012-04-07T19:49:31Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","id":4001148,"number":1144,"title":"ofColor subtraction and negative values","user":{"login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","url":"https://api.github.com/users/jembezmamy","html_url":"https://github.com/jembezmamy","followers_url":"https://api.github.com/users/jembezmamy/followers","following_url":"https://api.github.com/users/jembezmamy/following","gists_url":"https://api.github.com/users/jembezmamy/gists{/gist_id}","starred_url":"https://api.github.com/users/jembezmamy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jembezmamy/subscriptions","organizations_url":"https://api.github.com/users/jembezmamy/orgs","repos_url":"https://api.github.com/users/jembezmamy/repos","events_url":"https://api.github.com/users/jembezmamy/events{/privacy}","received_events_url":"https://api.github.com/users/jembezmamy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-04-06T07:56:44Z","updated_at":"2013-02-11T12:17:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","id":3917377,"number":1134,"title":"multidimensional noise output","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-04-01T16:44:55Z","updated_at":"2012-04-03T17:37:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","id":3917018,"number":1133,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-04-01T15:45:11Z","updated_at":"2012-04-01T17:48:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","id":3911629,"number":1132,"title":"ofStringUtils:: feature discussion","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-03-31T17:52:48Z","updated_at":"2012-08-27T23:35:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","id":3911537,"number":1131,"title":"ofTTF feature discussion","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":25,"created_at":"2012-03-31T17:36:25Z","updated_at":"2012-05-27T17:40:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","id":3910580,"number":1130,"title":"Define standard header for examples.","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-03-31T14:44:01Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Agree on a common format for a header in the contributed example files."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","id":3910549,"number":1128,"title":"upgrade scripts","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-31T14:38:19Z","updated_at":"2012-03-31T16:32:04Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","id":3897090,"number":1126,"title":"PG Feature request: Clean examples folder","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":1,"created_at":"2012-03-30T12:51:30Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","id":3883598,"number":1124,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","user":{"login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","html_url":"https://github.com/jesusgollonet","followers_url":"https://api.github.com/users/jesusgollonet/followers","following_url":"https://api.github.com/users/jesusgollonet/following","gists_url":"https://api.github.com/users/jesusgollonet/gists{/gist_id}","starred_url":"https://api.github.com/users/jesusgollonet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jesusgollonet/subscriptions","organizations_url":"https://api.github.com/users/jesusgollonet/orgs","repos_url":"https://api.github.com/users/jesusgollonet/repos","events_url":"https://api.github.com/users/jesusgollonet/events{/privacy}","received_events_url":"https://api.github.com/users/jesusgollonet/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-29T16:47:29Z","updated_at":"2012-06-07T12:06:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","id":3856005,"number":1120,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","user":{"login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7398ab0bbd07832d0289f26773e65077","url":"https://api.github.com/users/imanhp","html_url":"https://github.com/imanhp","followers_url":"https://api.github.com/users/imanhp/followers","following_url":"https://api.github.com/users/imanhp/following","gists_url":"https://api.github.com/users/imanhp/gists{/gist_id}","starred_url":"https://api.github.com/users/imanhp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imanhp/subscriptions","organizations_url":"https://api.github.com/users/imanhp/orgs","repos_url":"https://api.github.com/users/imanhp/repos","events_url":"https://api.github.com/users/imanhp/events{/privacy}","received_events_url":"https://api.github.com/users/imanhp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2012-03-28T16:21:45Z","updated_at":"2012-03-29T13:05:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","id":3825582,"number":1117,"title":"Can't retrieve desired frame rate once set","user":{"login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","html_url":"https://github.com/armadillu","followers_url":"https://api.github.com/users/armadillu/followers","following_url":"https://api.github.com/users/armadillu/following","gists_url":"https://api.github.com/users/armadillu/gists{/gist_id}","starred_url":"https://api.github.com/users/armadillu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armadillu/subscriptions","organizations_url":"https://api.github.com/users/armadillu/orgs","repos_url":"https://api.github.com/users/armadillu/repos","events_url":"https://api.github.com/users/armadillu/events{/privacy}","received_events_url":"https://api.github.com/users/armadillu/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-03-27T11:48:00Z","updated_at":"2012-04-18T17:13:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","id":3813852,"number":1116,"title":"ofVBO updateIndexData incorrect buffer type.","user":{"login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"37aca214d4875cd90af9d67072c82642","url":"https://api.github.com/users/vade","html_url":"https://github.com/vade","followers_url":"https://api.github.com/users/vade/followers","following_url":"https://api.github.com/users/vade/following","gists_url":"https://api.github.com/users/vade/gists{/gist_id}","starred_url":"https://api.github.com/users/vade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vade/subscriptions","organizations_url":"https://api.github.com/users/vade/orgs","repos_url":"https://api.github.com/users/vade/repos","events_url":"https://api.github.com/users/vade/events{/privacy}","received_events_url":"https://api.github.com/users/vade/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2012-03-26T18:26:05Z","updated_at":"2012-03-26T22:27:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","id":3812318,"number":1115,"title":"optimization level in xcode projects","user":{"login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","html_url":"https://github.com/colormotor","followers_url":"https://api.github.com/users/colormotor/followers","following_url":"https://api.github.com/users/colormotor/following","gists_url":"https://api.github.com/users/colormotor/gists{/gist_id}","starred_url":"https://api.github.com/users/colormotor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colormotor/subscriptions","organizations_url":"https://api.github.com/users/colormotor/orgs","repos_url":"https://api.github.com/users/colormotor/repos","events_url":"https://api.github.com/users/colormotor/events{/privacy}","received_events_url":"https://api.github.com/users/colormotor/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-26T17:05:14Z","updated_at":"2012-03-26T18:45:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","id":3812275,"number":1114,"title":"macros in ofArduino","user":{"login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","html_url":"https://github.com/colormotor","followers_url":"https://api.github.com/users/colormotor/followers","following_url":"https://api.github.com/users/colormotor/following","gists_url":"https://api.github.com/users/colormotor/gists{/gist_id}","starred_url":"https://api.github.com/users/colormotor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colormotor/subscriptions","organizations_url":"https://api.github.com/users/colormotor/orgs","repos_url":"https://api.github.com/users/colormotor/repos","events_url":"https://api.github.com/users/colormotor/events{/privacy}","received_events_url":"https://api.github.com/users/colormotor/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-03-26T17:02:21Z","updated_at":"2012-08-02T10:10:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","id":3799872,"number":1110,"title":"add a simple regex function like ofSplitString()","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-25T18:56:37Z","updated_at":"2012-03-25T20:07:16Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","id":3799653,"number":1109,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-25T18:18:28Z","updated_at":"2012-03-25T18:50:13Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","id":3754055,"number":1103,"title":"PG feature request: Generate makefile-only projects","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-03-21T21:43:34Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1099/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1099","id":3710691,"number":1099,"title":"issue with projectGenerator and XIB files.","user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":9,"created_at":"2012-03-19T14:27:25Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"iPhoneGuiExample created by the projectGenerator seems to have an issue with XIB files.\r\nthe XIB is included in the project but can not be viewed inside the xcode project.\r\nin another instance, it was causing the app to crash.\r\n\r\nwhen removing the XIB and adding it back to the project manually, it start working again.\r\nwhich makes me believe its got something to do with the way projectGenerator is adding the XIB to the project.\r\n\r\nive compared the before and after (adding the XIB back manually) and here are the differences in the xcode projects.\r\nnote, the top line is the before and the bottom is the after.\r\n\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MyGuiView.xib; path = gui/MyGuiView.xib; sourceTree = \"\"; };\r\n/* MyGuiView.xib */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 30; name = MyGuiView.xib; path = src/gui/MyGuiView.xib; sourceTree = SOURCE_ROOT; };\r\n\r\n/* MyGuiView.xib in Resources */\r\n/* MyGuiView.xib in Sources */"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","id":3710293,"number":1098,"title":"feature / bug - #pragma omp critical(ofLog)","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":11,"created_at":"2012-03-19T14:04:51Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","id":3662214,"number":1075,"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-03-15T07:54:55Z","updated_at":"2012-03-15T20:34:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","id":3647640,"number":1070,"title":"Alpha movies in GStreamer","user":{"login":"emmanuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/emmanuelgeoffray","html_url":"https://github.com/emmanuelgeoffray","followers_url":"https://api.github.com/users/emmanuelgeoffray/followers","following_url":"https://api.github.com/users/emmanuelgeoffray/following","gists_url":"https://api.github.com/users/emmanuelgeoffray/gists{/gist_id}","starred_url":"https://api.github.com/users/emmanuelgeoffray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emmanuelgeoffray/subscriptions","organizations_url":"https://api.github.com/users/emmanuelgeoffray/orgs","repos_url":"https://api.github.com/users/emmanuelgeoffray/repos","events_url":"https://api.github.com/users/emmanuelgeoffray/events{/privacy}","received_events_url":"https://api.github.com/users/emmanuelgeoffray/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":9,"created_at":"2012-03-14T13:02:41Z","updated_at":"2013-01-15T11:28:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","id":3631618,"number":1068,"title":"Continuous integration/testing","user":{"login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","html_url":"https://github.com/gabrielstuff","followers_url":"https://api.github.com/users/gabrielstuff/followers","following_url":"https://api.github.com/users/gabrielstuff/following","gists_url":"https://api.github.com/users/gabrielstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/gabrielstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabrielstuff/subscriptions","organizations_url":"https://api.github.com/users/gabrielstuff/orgs","repos_url":"https://api.github.com/users/gabrielstuff/repos","events_url":"https://api.github.com/users/gabrielstuff/events{/privacy}","received_events_url":"https://api.github.com/users/gabrielstuff/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":null,"comments":27,"created_at":"2012-03-13T15:49:23Z","updated_at":"2013-02-15T15:07:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","id":3627067,"number":1063,"title":"Automatic installer + dependencies handler","user":{"login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","html_url":"https://github.com/gabrielstuff","followers_url":"https://api.github.com/users/gabrielstuff/followers","following_url":"https://api.github.com/users/gabrielstuff/following","gists_url":"https://api.github.com/users/gabrielstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/gabrielstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabrielstuff/subscriptions","organizations_url":"https://api.github.com/users/gabrielstuff/orgs","repos_url":"https://api.github.com/users/gabrielstuff/repos","events_url":"https://api.github.com/users/gabrielstuff/events{/privacy}","received_events_url":"https://api.github.com/users/gabrielstuff/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/automation","name":"automation","color":"5d5d5d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":8,"created_at":"2012-03-13T10:44:57Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","id":3614231,"number":1062,"title":"regularize code for math addons","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0 Release","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":51,"closed_issues":4,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-03-06T10:40:23Z","due_on":"2013-06-02T07:00:00Z"},"comments":5,"created_at":"2012-03-12T16:33:06Z","updated_at":"2013-02-11T12:13:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","id":3596240,"number":1052,"title":"ofShader should show an error when using an invalid name","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-10T17:52:58Z","updated_at":"2012-08-23T06:42:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","id":3587808,"number":1047,"title":"opening video files with system dialog in osx prevents them to play correctly","user":{"login":"hvfrancesco","id":614123,"avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","url":"https://api.github.com/users/hvfrancesco","html_url":"https://github.com/hvfrancesco","followers_url":"https://api.github.com/users/hvfrancesco/followers","following_url":"https://api.github.com/users/hvfrancesco/following","gists_url":"https://api.github.com/users/hvfrancesco/gists{/gist_id}","starred_url":"https://api.github.com/users/hvfrancesco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvfrancesco/subscriptions","organizations_url":"https://api.github.com/users/hvfrancesco/orgs","repos_url":"https://api.github.com/users/hvfrancesco/repos","events_url":"https://api.github.com/users/hvfrancesco/events{/privacy}","received_events_url":"https://api.github.com/users/hvfrancesco/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":8,"created_at":"2012-03-09T18:54:28Z","updated_at":"2012-03-12T15:31:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","id":3528378,"number":1039,"title":"make icons for OF apps","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-03-06T17:56:58Z","updated_at":"2012-03-20T16:11:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","id":3510933,"number":1037,"title":"ofxGui, ofxButton should look visually different to toggle","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-03-05T18:06:03Z","updated_at":"2012-03-06T15:32:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","id":3509628,"number":1036,"title":"ofxGui -> ofGui - how/should we bring into core?","user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2012-03-05T16:56:26Z","updated_at":"2012-07-27T05:34:51Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","id":3495602,"number":1034,"title":"projectGenerator ignores shader .vert and .frag files","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2012-03-04T11:19:04Z","updated_at":"2012-03-12T12:39:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","id":3495503,"number":1033,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2012-03-04T10:54:12Z","updated_at":"2012-03-06T15:06:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","id":3476540,"number":1022,"title":"Optimisation consistency","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-03-02T13:25:15Z","updated_at":"2012-03-30T16:34:06Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","id":3462226,"number":1019,"title":"ofFbo needs consideration as far as MRT + MSAA","user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-03-01T19:42:09Z","updated_at":"2012-03-01T19:42:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","id":3438233,"number":1007,"title":"bug #defines in ofConstants conflict with other libraries","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":10,"created_at":"2012-02-29T15:31:18Z","updated_at":"2012-03-01T04:33:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","id":3432042,"number":1005,"title":"feature ofRandom(ofVec3f) ","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":12,"created_at":"2012-02-29T06:32:03Z","updated_at":"2012-03-01T13:02:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","id":3401755,"number":1001,"title":"OF app sound out not available from Jack","user":{"login":"enrike","id":710785,"avatar_url":"https://secure.gravatar.com/avatar/719e9e7ca6d6d88f3b8da82832cc94c7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"719e9e7ca6d6d88f3b8da82832cc94c7","url":"https://api.github.com/users/enrike","html_url":"https://github.com/enrike","followers_url":"https://api.github.com/users/enrike/followers","following_url":"https://api.github.com/users/enrike/following","gists_url":"https://api.github.com/users/enrike/gists{/gist_id}","starred_url":"https://api.github.com/users/enrike/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enrike/subscriptions","organizations_url":"https://api.github.com/users/enrike/orgs","repos_url":"https://api.github.com/users/enrike/repos","events_url":"https://api.github.com/users/enrike/events{/privacy}","received_events_url":"https://api.github.com/users/enrike/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2012-02-27T14:59:34Z","updated_at":"2012-05-18T08:47:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/987","id":3387163,"number":987,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-25T20:25:00Z","updated_at":"2012-02-25T20:25:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/985","id":3386914,"number":985,"title":"Make logging messages more informative","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":33,"created_at":"2012-02-25T19:41:58Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/984","id":3386889,"number":984,"title":"Replace printf() occurences by ofLog() in the core addons","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"state":"open","assignee":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"milestone":null,"comments":5,"created_at":"2012-02-25T19:36:51Z","updated_at":"2013-02-22T17:59:36Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/976","id":3382990,"number":976,"title":"ofVec2f::average has unexpected/clumsy behaviour","user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-02-25T03:45:02Z","updated_at":"2012-02-27T13:35:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/955","id":3367910,"number":955,"title":"ofBackgroundGradient needs to be billboarded","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2012-02-24T04:31:01Z","updated_at":"2012-12-28T11:32:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/933","id":3357855,"number":933,"title":"Problem with moviePlayerExample under linux64","user":{"login":"agrosjea","id":1466085,"avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e52c167621119d58d03c586bb053a633","url":"https://api.github.com/users/agrosjea","html_url":"https://github.com/agrosjea","followers_url":"https://api.github.com/users/agrosjea/followers","following_url":"https://api.github.com/users/agrosjea/following","gists_url":"https://api.github.com/users/agrosjea/gists{/gist_id}","starred_url":"https://api.github.com/users/agrosjea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrosjea/subscriptions","organizations_url":"https://api.github.com/users/agrosjea/orgs","repos_url":"https://api.github.com/users/agrosjea/repos","events_url":"https://api.github.com/users/agrosjea/events{/privacy}","received_events_url":"https://api.github.com/users/agrosjea/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2012-02-23T15:46:06Z","updated_at":"2012-02-23T19:12:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/931","id":3351646,"number":931,"title":"ofCamera is not aware of ofOrientation","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/critical","name":"critical","color":"ff0000"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/11/labels","id":264333,"number":11,"title":"0.8.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":49,"closed_issues":5,"state":"open","created_at":"2013-02-11T12:15:03Z","updated_at":"2013-03-10T12:09:16Z","due_on":"2013-04-21T07:00:00Z"},"comments":30,"created_at":"2012-02-23T05:13:24Z","updated_at":"2013-02-11T12:16:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/930","id":3351643,"number":930,"title":"ofSetupPerspective ofOrientation","user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T05:12:47Z","updated_at":"2012-02-23T05:12:47Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/929","id":3351374,"number":929,"title":"ofGetLogLevel should also accept modules","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T04:19:48Z","updated_at":"2012-02-23T04:19:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/928","id":3351170,"number":928,"title":"no ofGetBackground()","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-23T03:46:32Z","updated_at":"2012-02-23T03:46:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/926","id":3341020,"number":926,"title":"ofGetViewportWidth/Height returns 0 at startup","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-22T19:12:56Z","updated_at":"2012-02-22T19:12:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/925","id":3324501,"number":925,"title":"ofImage has type as int, public vars, & missing getBPP, etc","user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-22T00:28:08Z","updated_at":"2012-02-22T00:28:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/920","id":3248309,"number":920,"title":"Transform stack","user":{"login":"AugusteBonnin","id":1442658,"avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","url":"https://api.github.com/users/AugusteBonnin","html_url":"https://github.com/AugusteBonnin","followers_url":"https://api.github.com/users/AugusteBonnin/followers","following_url":"https://api.github.com/users/AugusteBonnin/following","gists_url":"https://api.github.com/users/AugusteBonnin/gists{/gist_id}","starred_url":"https://api.github.com/users/AugusteBonnin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AugusteBonnin/subscriptions","organizations_url":"https://api.github.com/users/AugusteBonnin/orgs","repos_url":"https://api.github.com/users/AugusteBonnin/repos","events_url":"https://api.github.com/users/AugusteBonnin/events{/privacy}","received_events_url":"https://api.github.com/users/AugusteBonnin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2012-02-16T09:39:46Z","updated_at":"2012-02-16T09:39:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)"}] - diff --git a/github/tests/ReplayData/PaginatedList.testCustomPerPageWithNoUrlParams2.txt b/github/tests/ReplayData/PaginatedList.testCustomPerPageWithNoUrlParams2.txt deleted file mode 100644 index d1d60ef..0000000 --- a/github/tests/ReplayData/PaginatedList.testCustomPerPageWithNoUrlParams2.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/comments?per_page=100 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4876'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '164025'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 19 Jun 2013 10:28:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"a3e035a1aeb9a4a31629a5537db4a857"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 19 Jun 2013 10:31:29 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/191434","html_url":"https://github.com/openframeworks/openFrameworks/commit/1fa80a4bc3a5e84e86d3447e64378fd7fd11b30f#commitcomment-191434","id":191434,"user":{"login":"hogiedoo","id":149423,"avatar_url":"https://secure.gravatar.com/avatar/636297ac6a7643e5dbe90804b6668722?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"636297ac6a7643e5dbe90804b6668722","url":"https://api.github.com/users/hogiedoo","html_url":"https://github.com/hogiedoo","followers_url":"https://api.github.com/users/hogiedoo/followers","following_url":"https://api.github.com/users/hogiedoo/following{/other_user}","gists_url":"https://api.github.com/users/hogiedoo/gists{/gist_id}","starred_url":"https://api.github.com/users/hogiedoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hogiedoo/subscriptions","organizations_url":"https://api.github.com/users/hogiedoo/orgs","repos_url":"https://api.github.com/users/hogiedoo/repos","events_url":"https://api.github.com/users/hogiedoo/events{/privacy}","received_events_url":"https://api.github.com/users/hogiedoo/received_events","type":"User"},"position":106,"line":539,"path":"libs/openFrameworks/app/ofAppGlutWindow.cpp","commit_id":"1fa80a4bc3a5e84e86d3447e64378fd7fd11b30f","created_at":"2010-11-11T16:21:10Z","updated_at":"2010-11-11T16:21:10Z","body":"Why is mouseDragged no longer being called, and mouseReleased is being called instead? This commit breaks previous behavior."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/195170","html_url":"https://github.com/openframeworks/openFrameworks/commit/4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1#commitcomment-195170","id":195170,"user":{"login":"cyphunk","id":119662,"avatar_url":"https://secure.gravatar.com/avatar/4f9899a028a87ab8991049808f91a717?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4f9899a028a87ab8991049808f91a717","url":"https://api.github.com/users/cyphunk","html_url":"https://github.com/cyphunk","followers_url":"https://api.github.com/users/cyphunk/followers","following_url":"https://api.github.com/users/cyphunk/following{/other_user}","gists_url":"https://api.github.com/users/cyphunk/gists{/gist_id}","starred_url":"https://api.github.com/users/cyphunk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyphunk/subscriptions","organizations_url":"https://api.github.com/users/cyphunk/orgs","repos_url":"https://api.github.com/users/cyphunk/repos","events_url":"https://api.github.com/users/cyphunk/events{/privacy}","received_events_url":"https://api.github.com/users/cyphunk/received_events","type":"User"},"position":13,"line":674,"path":"libs/openFrameworks/graphics/ofGraphics.cpp","commit_id":"4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1","created_at":"2010-11-16T18:02:21Z","updated_at":"2010-11-16T18:20:46Z","body":"this will break various external libs, and their examples, and prior code. it is easy to fix but I hope that we wont see a slew of such name changes. Even the change is questionable. why is ofSetColor for grayscale? Perhaps in the future the linguistic gods will determine that we must call that ofSetGrayColor?? A lot of name esthetic modifications like this should be lumped into a major release. Which perhaps this is? A major release should include a lot of collaboration from those that make external libs and be released with a warning \"this might mindlessly break your code\". Or maybe i am missing something and SetColor() is commonly used for gray scale in most other image processing libs, or?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/195310","html_url":"https://github.com/openframeworks/openFrameworks/commit/4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1#commitcomment-195310","id":195310,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":13,"line":674,"path":"libs/openFrameworks/graphics/ofGraphics.cpp","commit_id":"4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1","created_at":"2010-11-16T20:37:18Z","updated_at":"2010-11-16T20:37:18Z","body":"Hi - Yes - in processing ( a very similar library ) setColor(int gray) is used quite heavily. We felt that hex is rarely used and we wanted more parity with the Processing syntax. We didn't take this decision lightly and there won't be a ton of other name changes like this. Also this is meant for the 007 release so we will make sure to point it out and have all the examples and docs updated. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/201576","html_url":"https://github.com/openframeworks/openFrameworks/commit/4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1#commitcomment-201576","id":201576,"user":{"login":"cyphunk","id":119662,"avatar_url":"https://secure.gravatar.com/avatar/4f9899a028a87ab8991049808f91a717?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4f9899a028a87ab8991049808f91a717","url":"https://api.github.com/users/cyphunk","html_url":"https://github.com/cyphunk","followers_url":"https://api.github.com/users/cyphunk/followers","following_url":"https://api.github.com/users/cyphunk/following{/other_user}","gists_url":"https://api.github.com/users/cyphunk/gists{/gist_id}","starred_url":"https://api.github.com/users/cyphunk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyphunk/subscriptions","organizations_url":"https://api.github.com/users/cyphunk/orgs","repos_url":"https://api.github.com/users/cyphunk/repos","events_url":"https://api.github.com/users/cyphunk/events{/privacy}","received_events_url":"https://api.github.com/users/cyphunk/received_events","type":"User"},"position":13,"line":674,"path":"libs/openFrameworks/graphics/ofGraphics.cpp","commit_id":"4d4a707a64e52d2fa57428f85c1a3fb0dcc09dc1","created_at":"2010-11-24T00:27:04Z","updated_at":"2010-11-24T00:27:04Z","body":"Thanks for the response. Yes I guess the choice makes sense. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/245603","html_url":"https://github.com/openframeworks/openFrameworks/commit/3fd6f5ede33c896dcff458b3325b44dd160f9101#commitcomment-245603","id":245603,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":"","commit_id":"3fd6f5ede33c896dcff458b3325b44dd160f9101","created_at":"2011-01-19T23:07:02Z","updated_at":"2011-01-19T23:07:02Z","body":"hmm maybe we should also check if last byte is null before adding?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/245609","html_url":"https://github.com/openframeworks/openFrameworks/commit/3fd6f5ede33c896dcff458b3325b44dd160f9101#commitcomment-245609","id":245609,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":"","commit_id":"3fd6f5ede33c896dcff458b3325b44dd160f9101","created_at":"2011-01-19T23:09:38Z","updated_at":"2011-01-19T23:09:38Z","body":"yes haven't commited this yet, cause that will affect binaries. i was thinking something like:\r\n\r\nstring getText()\r\n\r\nor having a binary/text flag for the buffer"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/245614","html_url":"https://github.com/openframeworks/openFrameworks/commit/3fd6f5ede33c896dcff458b3325b44dd160f9101#commitcomment-245614","id":245614,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":"","commit_id":"3fd6f5ede33c896dcff458b3325b44dd160f9101","created_at":"2011-01-19T23:14:18Z","updated_at":"2011-01-19T23:14:18Z","body":"ahh - I made an issue to keep track of this:\r\nhttps://github.com/openframeworks/openFrameworks/issues/issue/409"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/245619","html_url":"https://github.com/openframeworks/openFrameworks/commit/3fd6f5ede33c896dcff458b3325b44dd160f9101#commitcomment-245619","id":245619,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":"","commit_id":"3fd6f5ede33c896dcff458b3325b44dd160f9101","created_at":"2011-01-19T23:16:29Z","updated_at":"2011-01-19T23:16:29Z","body":"maybe we could fix the geometry shader to be able to load from ofBuffer checking the number of bytes instead of just using .getBuffer() \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/245623","html_url":"https://github.com/openframeworks/openFrameworks/commit/3fd6f5ede33c896dcff458b3325b44dd160f9101#commitcomment-245623","id":245623,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":"","commit_id":"3fd6f5ede33c896dcff458b3325b44dd160f9101","created_at":"2011-01-19T23:19:28Z","updated_at":"2011-01-19T23:19:28Z","body":"i was going to fix this:\r\n\r\nstring getText\r\nchar * getBinaryBuffer\r\n\r\nwe always add a 0 at the end but the size is:\r\n\r\nreturn buffer.size()-1\r\n\r\nthat way both of them are correct"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/246362","html_url":"https://github.com/openframeworks/openFrameworks/commit/1ccc0de6f74c1a6cb51eed38b761de88a39b5595#commitcomment-246362","id":246362,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1ccc0de6f74c1a6cb51eed38b761de88a39b5595","created_at":"2011-01-20T17:48:38Z","updated_at":"2011-01-20T17:48:53Z","body":" buffer.resize(size+n+1,0);\n\n memcpy(&(buffer[0])+size,aux_buffer,n);\n\nis this right? \nits doing +1 in the while loop - shouldn't this just happen at the end?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/246371","html_url":"https://github.com/openframeworks/openFrameworks/commit/1ccc0de6f74c1a6cb51eed38b761de88a39b5595#commitcomment-246371","id":246371,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1ccc0de6f74c1a6cb51eed38b761de88a39b5595","created_at":"2011-01-20T17:52:23Z","updated_at":"2011-01-20T17:52:23Z","body":"Yes the result is the same and that way it avoids 1 resizing at the end and a possible reallocation"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/255446","html_url":"https://github.com/openframeworks/openFrameworks/commit/2fba18d74da032d820eaf030486a1dafeb5aaa7a#commitcomment-255446","id":255446,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"2fba18d74da032d820eaf030486a1dafeb5aaa7a","created_at":"2011-01-30T02:48:36Z","updated_at":"2011-01-30T02:48:36Z","body":"note - I put the assimp stuff into the core. we need to compile it for linux and win"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/262764","html_url":"https://github.com/openframeworks/openFrameworks/commit/d0281913dbdc227faeba2fe989ce124ad65dda10#commitcomment-262764","id":262764,"user":{"login":"YeongJoo-Kim","id":604111,"avatar_url":"https://secure.gravatar.com/avatar/e3805241b205e8ed57f8c83ea850e6e3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e3805241b205e8ed57f8c83ea850e6e3","url":"https://api.github.com/users/YeongJoo-Kim","html_url":"https://github.com/YeongJoo-Kim","followers_url":"https://api.github.com/users/YeongJoo-Kim/followers","following_url":"https://api.github.com/users/YeongJoo-Kim/following{/other_user}","gists_url":"https://api.github.com/users/YeongJoo-Kim/gists{/gist_id}","starred_url":"https://api.github.com/users/YeongJoo-Kim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YeongJoo-Kim/subscriptions","organizations_url":"https://api.github.com/users/YeongJoo-Kim/orgs","repos_url":"https://api.github.com/users/YeongJoo-Kim/repos","events_url":"https://api.github.com/users/YeongJoo-Kim/events{/privacy}","received_events_url":"https://api.github.com/users/YeongJoo-Kim/received_events","type":"User"},"position":5,"line":82,"path":"libs/openFrameworks/sound/ofSoundEffect.h","commit_id":"d0281913dbdc227faeba2fe989ce124ad65dda10","created_at":"2011-02-07T05:31:05Z","updated_at":"2011-02-07T05:31:05Z","body":"isfinite()/finite() is can not compile at vs2010"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/273184","html_url":"https://github.com/openframeworks/openFrameworks/commit/b9197b811f16cf0ee1c1f7ffe0eff3938a834dea#commitcomment-273184","id":273184,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"b9197b811f16cf0ee1c1f7ffe0eff3938a834dea","created_at":"2011-02-16T11:22:56Z","updated_at":"2011-02-16T11:22:56Z","body":"Can we possibly rename ofRandomize, ofShuffle or ofRandomizeOrder ? I think it would be good to be more accurate in terms of what it's doing -- rearranging order. random makes me think it's picking random values. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/273308","html_url":"https://github.com/openframeworks/openFrameworks/commit/b9197b811f16cf0ee1c1f7ffe0eff3938a834dea#commitcomment-273308","id":273308,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"b9197b811f16cf0ee1c1f7ffe0eff3938a834dea","created_at":"2011-02-16T14:03:48Z","updated_at":"2011-02-16T14:03:48Z","body":"ofRandomShuffle :) ?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/286104","html_url":"https://github.com/openframeworks/openFrameworks/commit/7b8cf57e2486eea6c2763e6e109132398fc41cbe#commitcomment-286104","id":286104,"user":{"login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","html_url":"https://github.com/jonbro","followers_url":"https://api.github.com/users/jonbro/followers","following_url":"https://api.github.com/users/jonbro/following{/other_user}","gists_url":"https://api.github.com/users/jonbro/gists{/gist_id}","starred_url":"https://api.github.com/users/jonbro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonbro/subscriptions","organizations_url":"https://api.github.com/users/jonbro/orgs","repos_url":"https://api.github.com/users/jonbro/repos","events_url":"https://api.github.com/users/jonbro/events{/privacy}","received_events_url":"https://api.github.com/users/jonbro/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7b8cf57e2486eea6c2763e6e109132398fc41cbe","created_at":"2011-02-28T17:38:35Z","updated_at":"2011-02-28T17:38:35Z","body":"is the ofxDsp stuff going to end up being an add on? that is fine with me, just as long as the core is compatible with it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/304581","html_url":"https://github.com/openframeworks/openFrameworks/commit/4019a90e403a2e30c1a2acde9d2177f9f065c8ae#commitcomment-304581","id":304581,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"4019a90e403a2e30c1a2acde9d2177f9f065c8ae","created_at":"2011-03-16T21:04:35Z","updated_at":"2011-03-16T21:04:35Z","body":"I had to do a silly change to poco h file (removing volatile keyword). We should check this is ok. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331452","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331452","id":331452,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T15:15:33Z","updated_at":"2011-04-06T15:15:33Z","body":"is this recommendation based on (feature) prerequisites of oF, or on the \"use current software\" adage? the version in the repo is one major release behind currently"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331458","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331458","id":331458,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T15:20:45Z","updated_at":"2011-04-06T15:20:45Z","body":"this is for the version in the repo, the android versions that i've been publishing are outdated now and the way of setting everything up has changed quite a bit"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331487","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331487","id":331487,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T15:33:44Z","updated_at":"2011-04-06T15:33:44Z","body":"clarification: with \"repo\" i meant the ubuntu repo (e.g. maverick-updates is at 3.5.2) \nsorry"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331517","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331517","id":331517,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T15:55:01Z","updated_at":"2011-04-06T15:55:01Z","body":"yes, the repository version is usually outdated and even if it's not right now it will install some plugins at the system level which from my experience can be problematic"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331555","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331555","id":331555,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T16:22:03Z","updated_at":"2011-04-06T16:22:03Z","body":"I see. btw, will there be eclipse projects for non-android oF examples/apps in 007?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/331855","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-331855","id":331855,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-06T20:28:06Z","updated_at":"2011-04-06T20:28:06Z","body":"theres a linux version of the project for the OF library which is already in the repo and it's really easy to import the examples using makefile projects but i don't plan to support it officially for 007"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/332436","html_url":"https://github.com/openframeworks/openFrameworks/commit/fb8fad30736df4c62e64f9547a1121351d801d1a#commitcomment-332436","id":332436,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":8,"line":8,"path":"readme.android","commit_id":"fb8fad30736df4c62e64f9547a1121351d801d1a","created_at":"2011-04-07T07:21:10Z","updated_at":"2011-04-07T07:21:10Z","body":"thanks for the info. i'll shut up now :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/358681","html_url":"https://github.com/openframeworks/openFrameworks/commit/8ccde5885f1c5359e9db69786a955d530f5d5aee#commitcomment-358681","id":358681,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8ccde5885f1c5359e9db69786a955d530f5d5aee","created_at":"2011-04-27T07:16:26Z","updated_at":"2011-04-27T07:16:26Z","body":"github needs a \"like\" button for stuff like this. :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/394955","html_url":"https://github.com/openframeworks/openFrameworks/commit/0d2a1b1621b03519f52000b37d2cb515901d1fce#commitcomment-394955","id":394955,"user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0d2a1b1621b03519f52000b37d2cb515901d1fce","created_at":"2011-05-23T13:08:24Z","updated_at":"2011-05-23T13:08:24Z","body":"think this is still a bug in iPhone+OF Lib.xcodeproj - still getting tesselator.h: No such file or directory..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/394969","html_url":"https://github.com/openframeworks/openFrameworks/commit/0d2a1b1621b03519f52000b37d2cb515901d1fce#commitcomment-394969","id":394969,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0d2a1b1621b03519f52000b37d2cb515901d1fce","created_at":"2011-05-23T13:24:24Z","updated_at":"2011-05-23T13:24:24Z","body":"mmh, yeah sure, i just updated the examples, will change it later\n\nOn 05/23/2011 03:08 PM, vanderlin wrote:\n> think this is still a bug in iPhone+OF Lib.xcodeproj - still getting tesselator.h: No such file or directory...\n>"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443200","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443200","id":443200,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:27:30Z","updated_at":"2011-06-22T15:27:30Z","body":"i'm crying. this is awful\r\nplease, please undo :'(!!!!\r\nit was lovely to control before, now it's like trying to control a balloon with a fan\r\nsome of us need to aim the camera quickly and accurately!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443205","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443205","id":443205,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:29:15Z","updated_at":"2011-06-22T15:29:15Z","body":"\"Everything should be made as simple as possible, but not simpler.\" :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443232","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443232","id":443232,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:41:20Z","updated_at":"2011-06-22T15:41:20Z","body":"if i remember correctly, when i made this change it did not change the behavior of ofEasyCam for me. i mean, it didn't feel any different.\r\n\r\nmaybe i wasn't testing in enough cases though?\r\n\r\nmy reference is still the easyCamExample. i wrote that to be as similar as possible to the PeasyCam demo. do you feel a difference between them?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443267","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443267","id":443267,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:49:15Z","updated_at":"2011-06-22T15:49:15Z","body":"in terms of designing a tool, i think this fails in current state\r\ni haven't used PeasyCam much so i'm not coming to the table expecting something, which most likely explains why we're tying to get different things out of this cam\r\n\r\ni'm generally setting drag to quite low and thrust quite high (as default values).\r\nso you get a 'pick up' whenever you start doing something\r\nalso the 'grab' dynamic is gone (where everything decellerates if you've got your mouse button pressed so you can stop it when it's in the right place)\r\n\r\ni think the 2 ideals are:\r\ncamera on the end of a damped spring (what i'm thinking of)\r\nballoon controlled with a fan (what it feels like now)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443273","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443273","id":443273,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:50:50Z","updated_at":"2011-06-22T15:50:50Z","body":"can we add it back in as an option? clearly it's a matter of personal preference... the code as it is now seems \"as simple as possible\" to me, but clearly for you it's missing some necessary functionality :)\r\n\r\nthe most helpful thing would be the addition of some kind of framerate independence, since that's the main bug people run into. (see // TODO: add dt)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443275","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443275","id":443275,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T15:51:02Z","updated_at":"2011-06-22T15:56:21Z","body":"anyway. perhaps i should spend more time with it.\r\nit's mentally annoying for me to use it in its current state, which explains my writing style :)\r\n(i.e. apologies for being so sharp!)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443292","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443292","id":443292,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T16:01:37Z","updated_at":"2011-06-22T16:01:37Z","body":"yep!\r\n\r\nhow're pull requests at the moment?\r\nif i make the changes, will the admins be too busy?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443293","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443293","id":443293,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T16:02:52Z","updated_at":"2011-06-22T16:02:52Z","body":"the best thing to do is to look at the pull requests in the queue and see how old they are. i think the focus is on making a release right now over features, but i can't speak for them :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443310","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443310","id":443310,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T16:10:50Z","updated_at":"2011-06-22T16:10:50Z","body":"I guess we can pull it if it comes soon. my idea is to take a look at vs \n+ creating the packages during the weekend\n\nOn 06/22/2011 06:02 PM, kylemcdonald wrote:\n> the best thing to do is to look at the pull requests in the queue and see how old they are. i think the focus is on making a release right now over features, but i can't speak for them :)\n>"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/443347","html_url":"https://github.com/openframeworks/openFrameworks/commit/51d5e7f8d87b9d6f3e918d28267cb5428139bde1#commitcomment-443347","id":443347,"user":{"login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","html_url":"https://github.com/nardove","followers_url":"https://api.github.com/users/nardove/followers","following_url":"https://api.github.com/users/nardove/following{/other_user}","gists_url":"https://api.github.com/users/nardove/gists{/gist_id}","starred_url":"https://api.github.com/users/nardove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nardove/subscriptions","organizations_url":"https://api.github.com/users/nardove/orgs","repos_url":"https://api.github.com/users/nardove/repos","events_url":"https://api.github.com/users/nardove/events{/privacy}","received_events_url":"https://api.github.com/users/nardove/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"51d5e7f8d87b9d6f3e918d28267cb5428139bde1","created_at":"2011-06-22T16:25:18Z","updated_at":"2011-06-22T16:25:18Z","body":"Hope this is the right place this comment\r\n\r\nI use the ofEasyCam in an iOS project and the rotations didnt work properly I comment about this here https://github.com/openframeworks/openFrameworks/issues/410 is there any chance to get the same behavior in iOS?\r\n\r\nCheers"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/455803","html_url":"https://github.com/openframeworks/openFrameworks/commit/ad9d79bc34c54b96b7072d9dc1b01819f6960ffd#commitcomment-455803","id":455803,"user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following{/other_user}","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"ad9d79bc34c54b96b7072d9dc1b01819f6960ffd","created_at":"2011-06-30T17:22:25Z","updated_at":"2011-06-30T17:22:25Z","body":"just in time! will try it soon! thanks! started to mess around with the old ofxControlPanel from your repo :("},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/457880","html_url":"https://github.com/openframeworks/openFrameworks/commit/8400e72bbd6aad6d57e9d536a176c044e0861575#commitcomment-457880","id":457880,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8400e72bbd6aad6d57e9d536a176c044e0861575","created_at":"2011-07-01T22:05:15Z","updated_at":"2011-07-01T22:06:00Z","body":"arturo I think the changes to orientation broke things on iphone. \r\nas we go back and forth between the of and the iphone orientation types. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/459788","html_url":"https://github.com/openframeworks/openFrameworks/commit/aa80c9fa4aa74105fc49011bf9555fbd6fad3149#commitcomment-459788","id":459788,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":15,"line":7,"path":"apps/examples/fontsExample/src/testApp.cpp","commit_id":"aa80c9fa4aa74105fc49011bf9555fbd6fad3149","created_at":"2011-07-04T07:25:40Z","updated_at":"2011-07-04T07:25:40Z","body":"This should actually be different on Windows and MacOS machines. Windows default ppi is 96, MacOS is 72, so maybe that's the difference you see. \nImo, this should be set to the real monitor ppi (bigger than either) anyways for faithful representation (i.e. a 12pt font on screen is as big as a 12pt font on paper), but UI design nowadays tends to disagree (except for painting and DTP programs).\nI'd think the more sane option would be to leave it at 96, because it's nearer to the \"true\" ppi of the monitor.\nFurther info on this whole mess: http://en.wikipedia.org/wiki/Dots_per_inch#Computer_monitor_DPI_standards"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484619","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484619","id":484619,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:04:30Z","updated_at":"2011-07-19T11:04:30Z","body":"Is this that specific by design? this looks only valid for linux, and 64bit. what about other OSes/platforms?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484623","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484623","id":484623,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:07:28Z","updated_at":"2011-07-19T11:07:28Z","body":"yes, there's only linux targets by now, creating a new project should set the default paths and since it's using makefiles it's fairly easy.\n\njust updated it so it doesn't complain about so many errors in the latest version"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484626","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484626","id":484626,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:11:27Z","updated_at":"2011-07-19T11:11:27Z","body":"Ah ic. And for 32bit systems (see line 32)? - i don't have an `x86_64-linux-gnu` directory in `/usr/include/c++/4.5/` on my 32bit ubuntu (of course)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484629","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484629","id":484629,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:13:02Z","updated_at":"2011-07-19T11:13:02Z","body":"Is this because of this? http://forum.openframeworks.cc/index.php/topic,5921.msg31741.html#msg31741\nBecause if yes, see the next post, the toolchain got not selected, which could maybe be fixed more elegantly?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484631","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484631","id":484631,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:14:18Z","updated_at":"2011-07-19T11:14:18Z","body":"mmh, sure can you check if you have something like x86-linux-gnu or i386-linux-gnu and try to add it in the search paths in the project properties? then rebuild the index and check if that fixes the online error detection, if it does send a pull request and i'll merge it"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484633","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484633","id":484633,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T11:15:05Z","updated_at":"2011-07-19T11:15:05Z","body":"ah, ok yeah that makes much more sense, going to check"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/484960","html_url":"https://github.com/openframeworks/openFrameworks/commit/596524722f3924d5fc87a3af5672e6d6ae19a4b8#commitcomment-484960","id":484960,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":30,"path":"libs/openFrameworks/.cproject","commit_id":"596524722f3924d5fc87a3af5672e6d6ae19a4b8","created_at":"2011-07-19T14:26:44Z","updated_at":"2011-07-19T14:26:44Z","body":"thanks for the fix. lines 31-33 still have to go, see https://github.com/openframeworks/openFrameworks/pull/661"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/485008","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-485008","id":485008,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-19T14:51:32Z","updated_at":"2011-07-19T14:51:32Z","body":"I think that jack should now also be included in the install_dependencies.sh script, cause otherwise it does not get installed.\r\n\r\nInterestingly, even after manual install (`sudo apt-get install jack`), I get on building the empty_example: `Package jack was not found in the pkg-config search path. Perhaps you should add the directory containing `jack.pc'`"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/485066","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-485066","id":485066,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-19T15:16:45Z","updated_at":"2011-07-19T15:16:45Z","body":"it's added now, the right package is actually libjack-dev that's why you get the errors. btw are you in linux32? can you test if the audioInput/Output examples are working for you?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/485106","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-485106","id":485106,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-19T15:34:55Z","updated_at":"2011-07-19T15:34:55Z","body":"OK i see. \r\nYeah i got a linux32 at work, and 64bit at home. \r\nQuick test on 32bit. \r\naudioinput does not compile:\r\nhttp://pastebin.com/LnVbA8Nf\r\naudioOutput, the same: http://pastebin.com/KrL6xgvp\r\ncould be something with my setup though, not sure yet if eclipse works correctly out of the box - got some some strange errors/warnings in the code analysis. more on that later."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/485122","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-485122","id":485122,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-19T15:40:08Z","updated_at":"2011-07-19T15:40:08Z","body":"thanks\r\n\r\ndoes the last commit solve it?\r\n\r\nEl mar, 19-07-2011 a las 08:34 -0700, bilderbuchi escribió: \r\n> OK i see. \r\n> Yeah i got a linux32 at work, and 64bit at home. \r\n> Quick test on 32bit. \r\n> audioinput does not compile:\r\n> http://pastebin.com/LnVbA8Nf\r\n> audioOutput, the same: http://pastebin.com/KrL6xgvp\r\n> could be something with my setup though, not sure yet if eclipse works correctly out of the box - got some some strange errors/warnings in the code analysis. more on that later.\r\n> "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/485288","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-485288","id":485288,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-19T16:38:58Z","updated_at":"2011-07-19T16:38:58Z","body":"sorry, i'm not at work anymore. can check 32bit earliest tomorrow. :-/"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/486670","html_url":"https://github.com/openframeworks/openFrameworks/commit/99caa1fa2c67709fd9be4497585873ccf69ff7da#commitcomment-486670","id":486670,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"99caa1fa2c67709fd9be4497585873ccf69ff7da","created_at":"2011-07-20T07:40:46Z","updated_at":"2011-07-20T07:40:46Z","body":"does that make sense? declarations in an implementation file? I'd find it more confusing now... ;-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/486708","html_url":"https://github.com/openframeworks/openFrameworks/commit/043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0#commitcomment-486708","id":486708,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"043b1099aa1db9706b2bca0d90b24a8ce4ea9ec0","created_at":"2011-07-20T08:06:08Z","updated_at":"2011-07-20T08:06:08Z","body":"OK, so I tested: \r\nOutputexample: compiles, runs, but does not synthesize anything. no activity. get errors in the console: \r\n`OF: OF_LOG_ERROR: PortAudio error: Invalid device`\r\n`OF: OF_LOG_ERROR: PortAudio error: Invalid stream pointer`\r\nInputexample: Same behaviour.\r\n\r\n`lspci | grep Audio`\r\n`00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)`"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/487223","html_url":"https://github.com/openframeworks/openFrameworks/commit/99caa1fa2c67709fd9be4497585873ccf69ff7da#commitcomment-487223","id":487223,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"99caa1fa2c67709fd9be4497585873ccf69ff7da","created_at":"2011-07-20T15:17:03Z","updated_at":"2011-07-20T15:17:03Z","body":"in general it's a good idea to keep the declaration in the\nimplementation file if it's something that you only need in that file.\n\nin the future if we find it's important to use it outside of\nofTexture.cpp we could move it back out though.\n\nOn Wed, Jul 20, 2011 at 3:40 AM, bilderbuchi\n\nwrote:\n> does that make sense? declarations in an implementation file? I'd find it more confusing now... ;-)\n>\n> --\n> Reply to this email directly or view it on GitHub:\n> https://github.com/openframeworks/openFrameworks/commit/99caa1fa2c67709fd9be4497585873ccf69ff7da#commitcomment-486670\n>"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/487351","html_url":"https://github.com/openframeworks/openFrameworks/commit/99caa1fa2c67709fd9be4497585873ccf69ff7da#commitcomment-487351","id":487351,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"99caa1fa2c67709fd9be4497585873ccf69ff7da","created_at":"2011-07-20T16:28:58Z","updated_at":"2011-07-20T16:28:58Z","body":"ah ic, thanks."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/487773","html_url":"https://github.com/openframeworks/openFrameworks/commit/5837026ae8abea30cc9f70954fd24aa947e8f6b1#commitcomment-487773","id":487773,"user":{"login":"underdoeg","id":243820,"avatar_url":"https://secure.gravatar.com/avatar/6ff8fe2dd72480f1685ee15e374205b7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6ff8fe2dd72480f1685ee15e374205b7","url":"https://api.github.com/users/underdoeg","html_url":"https://github.com/underdoeg","followers_url":"https://api.github.com/users/underdoeg/followers","following_url":"https://api.github.com/users/underdoeg/following{/other_user}","gists_url":"https://api.github.com/users/underdoeg/gists{/gist_id}","starred_url":"https://api.github.com/users/underdoeg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/underdoeg/subscriptions","organizations_url":"https://api.github.com/users/underdoeg/orgs","repos_url":"https://api.github.com/users/underdoeg/repos","events_url":"https://api.github.com/users/underdoeg/events{/privacy}","received_events_url":"https://api.github.com/users/underdoeg/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5837026ae8abea30cc9f70954fd24aa947e8f6b1","created_at":"2011-07-20T19:52:53Z","updated_at":"2011-07-20T19:52:53Z","body":"Default is OpenAL now? That's great. Thanks!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/487778","html_url":"https://github.com/openframeworks/openFrameworks/commit/5837026ae8abea30cc9f70954fd24aa947e8f6b1#commitcomment-487778","id":487778,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5837026ae8abea30cc9f70954fd24aa947e8f6b1","created_at":"2011-07-20T19:55:51Z","updated_at":"2011-07-20T19:55:51Z","body":": ) yeah it's been for a while, just left the libs for bw compatibility\r\nand in case someone wants to use it. only linux by now though\r\n\r\nEl mié, 20-07-2011 a las 12:52 -0700, underdoeg escribió: \r\n> Default is OpenAL now? That's great. Thanks!\r\n> "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/487796","html_url":"https://github.com/openframeworks/openFrameworks/commit/5837026ae8abea30cc9f70954fd24aa947e8f6b1#commitcomment-487796","id":487796,"user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following{/other_user}","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5837026ae8abea30cc9f70954fd24aa947e8f6b1","created_at":"2011-07-20T20:14:05Z","updated_at":"2011-07-20T20:14:05Z","body":"wooohhhoooo!!!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/488382","html_url":"https://github.com/openframeworks/openFrameworks/commit/e2474a27e15592dfcae2cea6ffe805b76672a5e8#commitcomment-488382","id":488382,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e2474a27e15592dfcae2cea6ffe805b76672a5e8","created_at":"2011-07-21T03:34:20Z","updated_at":"2011-07-21T03:34:44Z","body":"awesome, thanks for the corrections and clarifications. if the newlines didn't make sense, it was because the -----s made me assume things were formatted to wrap at 80 chars.\r\n\r\nediting this made me realize:\r\n\r\n1 there is a lot of stuff that is cross platform advice that doesn't really \"live\" anywhere (e.g., \"release/debug\" explanation should live in an faq.txt)\r\n2 the OF documentation is kind of poorly organized :( do you read the readme? or do you go to the website? or the forums? how much detail should be in the readme? etc.\r\n\r\ni'd love to help start answering these questions with the next few releases, aimed more at cleaning up, explaining + demoing/making examples of what exists."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/488386","html_url":"https://github.com/openframeworks/openFrameworks/commit/e2474a27e15592dfcae2cea6ffe805b76672a5e8#commitcomment-488386","id":488386,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e2474a27e15592dfcae2cea6ffe805b76672a5e8","created_at":"2011-07-21T03:44:07Z","updated_at":"2011-07-21T03:44:07Z","body":"good points! \r\na readme.txt with ( or combined with ) a readme.platform file would be good. \r\n\r\nmost important we need new examples - we have the 1990s of examples at the moment :) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/488580","html_url":"https://github.com/openframeworks/openFrameworks/commit/e2474a27e15592dfcae2cea6ffe805b76672a5e8#commitcomment-488580","id":488580,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e2474a27e15592dfcae2cea6ffe805b76672a5e8","created_at":"2011-07-21T07:36:24Z","updated_at":"2011-07-21T07:36:24Z","body":"maybe a folder \"documentation\" in OF_ROOT would make sense to collect the info which is sprinkled everywhere?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/488736","html_url":"https://github.com/openframeworks/openFrameworks/commit/e2474a27e15592dfcae2cea6ffe805b76672a5e8#commitcomment-488736","id":488736,"user":{"login":"gwydionapdafydd","id":649628,"avatar_url":"https://secure.gravatar.com/avatar/72620270b0d72c728e6948bb3c783774?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"72620270b0d72c728e6948bb3c783774","url":"https://api.github.com/users/gwydionapdafydd","html_url":"https://github.com/gwydionapdafydd","followers_url":"https://api.github.com/users/gwydionapdafydd/followers","following_url":"https://api.github.com/users/gwydionapdafydd/following{/other_user}","gists_url":"https://api.github.com/users/gwydionapdafydd/gists{/gist_id}","starred_url":"https://api.github.com/users/gwydionapdafydd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gwydionapdafydd/subscriptions","organizations_url":"https://api.github.com/users/gwydionapdafydd/orgs","repos_url":"https://api.github.com/users/gwydionapdafydd/repos","events_url":"https://api.github.com/users/gwydionapdafydd/events{/privacy}","received_events_url":"https://api.github.com/users/gwydionapdafydd/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e2474a27e15592dfcae2cea6ffe805b76672a5e8","created_at":"2011-07-21T09:42:38Z","updated_at":"2011-07-21T09:42:38Z","body":"1. Out of the box, with OF projects in Xcode the base SDK setting is missing - worth brief explanation in this readme?\r\n2. Worth pointing to the latest info on autogenerated project files?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/543263","html_url":"https://github.com/openframeworks/openFrameworks/commit/a6d738aeb54b7d0b27351ba578f0e22a0f8d50bd#commitcomment-543263","id":543263,"user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"a6d738aeb54b7d0b27351ba578f0e22a0f8d50bd","created_at":"2011-08-21T21:31:18Z","updated_at":"2011-08-21T21:31:18Z","body":"Thank you!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/615902","html_url":"https://github.com/openframeworks/openFrameworks/commit/b9100146effba1ea53f8e6a8119ca6491d8d9e13#commitcomment-615902","id":615902,"user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"b9100146effba1ea53f8e6a8119ca6491d8d9e13","created_at":"2011-09-28T01:19:06Z","updated_at":"2011-09-28T01:19:06Z","body":"There should not be an automatic space on the ofLog ostream operator! This is against the cout/cerr convention that ofLog is modeled after."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/688194","html_url":"https://github.com/openframeworks/openFrameworks/commit/6b28853d93c805459d94fee4d341b66d2832586b#commitcomment-688194","id":688194,"user":{"login":"atduskgreg","id":165,"avatar_url":"https://secure.gravatar.com/avatar/2f4faa539dc6a0ae688e58d6a329fce9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2f4faa539dc6a0ae688e58d6a329fce9","url":"https://api.github.com/users/atduskgreg","html_url":"https://github.com/atduskgreg","followers_url":"https://api.github.com/users/atduskgreg/followers","following_url":"https://api.github.com/users/atduskgreg/following{/other_user}","gists_url":"https://api.github.com/users/atduskgreg/gists{/gist_id}","starred_url":"https://api.github.com/users/atduskgreg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atduskgreg/subscriptions","organizations_url":"https://api.github.com/users/atduskgreg/orgs","repos_url":"https://api.github.com/users/atduskgreg/repos","events_url":"https://api.github.com/users/atduskgreg/events{/privacy}","received_events_url":"https://api.github.com/users/atduskgreg/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6b28853d93c805459d94fee4d341b66d2832586b","created_at":"2011-11-01T17:24:01Z","updated_at":"2011-11-01T17:24:01Z","body":"Yay! It's merged. Thanks, Theo. Talking to James about it, he suggested adding another version of the static function on ofPolyline that would take a vector of ofPoints just like ofInsidePoly(). I'll add that and send it your way."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/726315","html_url":"https://github.com/openframeworks/openFrameworks/commit/a3fdd1623b015cc333d0ab774bee52ce05922da2#commitcomment-726315","id":726315,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"a3fdd1623b015cc333d0ab774bee52ce05922da2","created_at":"2011-11-17T00:18:15Z","updated_at":"2011-11-17T00:18:15Z","body":"@ arturoc I think your missing the i + 0 and i + 2 in this commit . \r\nseems to be causing color issues: https://github.com/openframeworks/openFrameworks/issues/812"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/726556","html_url":"https://github.com/openframeworks/openFrameworks/commit/a3fdd1623b015cc333d0ab774bee52ce05922da2#commitcomment-726556","id":726556,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"a3fdd1623b015cc333d0ab774bee52ce05922da2","created_at":"2011-11-17T03:26:59Z","updated_at":"2011-11-17T03:26:59Z","body":"oops, thanks, fixed\n\nOn 17/11/11 01:18, Theodore Watson wrote:\n> @ arturoc I think your missing the i + 0 and i + 2 in this commit .\n> seems to be causing color issues: https://github.com/openframeworks/openFrameworks/issues/812\n>\n> ---\n> Reply to this email directly or view it on GitHub:\n> https://github.com/openframeworks/openFrameworks/commit/a3fdd1623b015cc333d0ab774bee52ce05922da2#commitcomment-726315"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/868508","html_url":"https://github.com/openframeworks/openFrameworks/commit/bec6dd7149c0fe515fba0e8ccd3a7e3d69c5e267#commitcomment-868508","id":868508,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":4,"line":2,"path":"libs/openFrameworksCompiled/project/android/paths.make","commit_id":"bec6dd7149c0fe515fba0e8ccd3a7e3d69c5e267","created_at":"2012-01-15T12:35:35Z","updated_at":"2012-01-15T12:35:35Z","body":"hm, @arturoc, you sure it's correct to have paths from your machine in the make file?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/868662","html_url":"https://github.com/openframeworks/openFrameworks/commit/bec6dd7149c0fe515fba0e8ccd3a7e3d69c5e267#commitcomment-868662","id":868662,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":4,"line":2,"path":"libs/openFrameworksCompiled/project/android/paths.make","commit_id":"bec6dd7149c0fe515fba0e8ccd3a7e3d69c5e267","created_at":"2012-01-15T14:42:34Z","updated_at":"2012-01-15T14:42:34Z","body":"sure not : ) but i always commit that file by accident, it's ok cause you need to edit it when installing android anyway but it would be better with something generic."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/932623","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-932623","id":932623,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":38,"line":38,"path":"libs/openFrameworks/math/ofTween.h","commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T05:01:47Z","updated_at":"2012-02-04T05:01:47Z","body":"what does this line mean exactly?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/932624","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-932624","id":932624,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":44,"line":44,"path":"libs/openFrameworks/math/ofTween.h","commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T05:02:19Z","updated_at":"2012-02-04T05:02:19Z","body":"all these static methods is a good argument for migrating big chunks of OF to namespaces."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/932853","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-932853","id":932853,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":38,"line":38,"path":"libs/openFrameworks/math/ofTween.h","commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T10:39:05Z","updated_at":"2012-02-04T10:39:05Z","body":"it's a typedef to the function pointer so later in ofMap the argument type can be specified as ofEasingFunction instead of the whole function pointer. also it'll make cleaner the autocomplete"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/932871","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-932871","id":932871,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T11:00:07Z","updated_at":"2012-02-04T11:00:47Z","body":"are we really sure we want tweening in the core of OF ?\r\n\r\nI know there's been 6 addons, but I think this speaks to how common the tween code is, how easy it is to write something like this, and how before ofxAddons we didn't have great ways of seeing what other had done. \r\n\r\nIt doesn't really feel to me like an essential part of the core (extremely useful functions or elements that can be extended on to make other things) and seems potentially more suited for a core addon?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/933124","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-933124","id":933124,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T15:44:32Z","updated_at":"2012-02-04T15:44:32Z","body":"I think more of an issue is why are we adding this to the core without it being discussed? \r\nI see one issue posted by kyle https://github.com/openframeworks/openFrameworks/issues/882 \r\nBut this is not something that was part of a roadmap or in anyway signed off by all of us. \r\n\r\nIn general we shouldn't be adding big parts to the core API without a proper discussion first. \r\nThis is how the core gets bloated fast and also how the roadmap of OF starts to take quite a random path. \r\n\r\nBug fixes are one thing but adding something which exists as an addon as part of the core should be signed off by the core team and not just one of us. \r\n\r\n//--end rant \r\n\r\nThat said, I don't think I am 100% against tweening in the core. \r\nI would like to see a good example app showing ALL of the ofTween api as a requirement to properly evaluate it ( as it wasn't written by the core team ). \r\n\r\n "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/933234","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-933234","id":933234,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T17:15:42Z","updated_at":"2012-02-04T17:15:42Z","body":"Yeah, sorry, should have sent a pull request.\r\n\r\nthe only api to the current ofTween is just:\r\n\r\nofMap(value, minIn, maxIn, minOut, maxOut, easingFunction, clamp);\r\n\r\nbut anyway, will remove it later and send it as a pull request so we can \r\ndiscuss the api or if we want it at all\r\n\r\nEl 04/02/12 16:44, Theodore Watson escribió:\r\n> I think more of an issue is why are we adding this to the core without it being discussed?\r\n> I see one issue posted by kyle https://github.com/openframeworks/openFrameworks/issues/882\r\n> But this is not something that was part of a roadmap or in anyway signed off by all of us.\r\n>\r\n> In general we shouldn't be adding big parts to the core API without a proper discussion first.\r\n> This is how the core gets bloated fast and also how the roadmap of OF starts to take quite a random path.\r\n>\r\n> Bug fixes are one thing but adding something which exists as an addon as part of the core should be signed off by the core team and not just one of us.\r\n>\r\n> //--end rant\r\n>\r\n> That said, I don't think I am 100% against tweening in the core.\r\n> I would like to see a good example app showing ALL of the ofTween api as a requirement to properly evaluate it ( as it wasn't written by the core team ).\r\n>\r\n> ---\r\n> Reply to this email directly or view it on GitHub:\r\n> https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-933124"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/933254","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-933254","id":933254,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T17:28:08Z","updated_at":"2012-02-04T17:28:08Z","body":"yeah, the wording in my issue should have been \"we need it in a core addon\". i see the general path as: contributed addon -> core addon -> core.\r\n\r\nthough i think there are arguments for having tweening in the core. there are definitely addons that would use it (e.g., ofxTimeline). it could also make our examples look more awesome."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/933314","html_url":"https://github.com/openframeworks/openFrameworks/commit/1859bee20ca281f2f9f111e46c14a0b30e7096b9#commitcomment-933314","id":933314,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1859bee20ca281f2f9f111e46c14a0b30e7096b9","created_at":"2012-02-04T18:08:15Z","updated_at":"2012-02-04T18:08:15Z","body":"yeah - for sure. I think it could be great to have at the core level. \r\nespecially if it is as simple as just using ofMap - would be good to take a closer look at it. \r\ncurious what @ofZach thinks :) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/941566","html_url":"https://github.com/openframeworks/openFrameworks/commit/ffa58485f2364b8e09b648a4117c41be192cd394#commitcomment-941566","id":941566,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"ffa58485f2364b8e09b648a4117c41be192cd394","created_at":"2012-02-07T16:07:35Z","updated_at":"2012-02-07T16:07:35Z","body":"but ofTween is still included though elsewhere, and therefore oF doesn't build"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/941612","html_url":"https://github.com/openframeworks/openFrameworks/commit/ffa58485f2364b8e09b648a4117c41be192cd394#commitcomment-941612","id":941612,"user":{"login":"expokorea","id":1415701,"avatar_url":"https://secure.gravatar.com/avatar/f891165d0d09753cb53f7d85e7e97572?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"f891165d0d09753cb53f7d85e7e97572","url":"https://api.github.com/users/expokorea","html_url":"https://github.com/expokorea","followers_url":"https://api.github.com/users/expokorea/followers","following_url":"https://api.github.com/users/expokorea/following{/other_user}","gists_url":"https://api.github.com/users/expokorea/gists{/gist_id}","starred_url":"https://api.github.com/users/expokorea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/expokorea/subscriptions","organizations_url":"https://api.github.com/users/expokorea/orgs","repos_url":"https://api.github.com/users/expokorea/repos","events_url":"https://api.github.com/users/expokorea/events{/privacy}","received_events_url":"https://api.github.com/users/expokorea/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"ffa58485f2364b8e09b648a4117c41be192cd394","created_at":"2012-02-07T16:19:09Z","updated_at":"2012-02-07T16:19:09Z","body":"crap, sorry, it's fixed now"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/952041","html_url":"https://github.com/openframeworks/openFrameworks/commit/399ab3c39b6f97b85500fe5aeee4bf2a28943530#commitcomment-952041","id":952041,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"399ab3c39b6f97b85500fe5aeee4bf2a28943530","created_at":"2012-02-10T02:22:32Z","updated_at":"2012-02-10T02:22:32Z","body":"this causes build errors because you can't add const char* together. this is why ofLogNotice() with the stream operator is preferred. i'll send a fix."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/952647","html_url":"https://github.com/openframeworks/openFrameworks/commit/399ab3c39b6f97b85500fe5aeee4bf2a28943530#commitcomment-952647","id":952647,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"399ab3c39b6f97b85500fe5aeee4bf2a28943530","created_at":"2012-02-10T08:37:47Z","updated_at":"2012-02-10T08:41:47Z","body":"Interesting. I'm pretty sure that I tested/compiled on my Ubuntu, and I didn't get any build errors. \r\nWhere exactly did you get them? All those four occurences you changed in PR 911? Cause this line doesn't even add char*, so I don't see how this could lead to a problem, right?\r\n`ofLog(OF_LOG_NOTICE, \"[%i] = %s\", devices[k].getDeviceID(), devices[k].getDeviceName().c_str());`\r\n\r\nBut yeah, those things are why I asked people for testing in the original PR... :-) thanks for catching this!\r\n\r\nI got to admit, my favourite is the \"(f)printf-style\" of constructing the string, gives nice control over the printout, precision, etc.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/952655","html_url":"https://github.com/openframeworks/openFrameworks/commit/399ab3c39b6f97b85500fe5aeee4bf2a28943530#commitcomment-952655","id":952655,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"399ab3c39b6f97b85500fe5aeee4bf2a28943530","created_at":"2012-02-10T08:43:08Z","updated_at":"2012-02-10T08:43:08Z","body":"the one you point out didn't have an error, that was just for the sake of consistency :)\r\n\r\nthis was definitely an error:\r\n\r\nofLog(OF_LOG_NOTICE, \"device[\" + deviceCount + \"] \" + p2cstr(pascalName) + \" - \" + p2cstr(pascalNameInput))\r\n\r\nyou probably didn't see it cause it's surrounded in a big #ifdef OF_VIDEO_CAPTURE_QUICKTIME"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/952686","html_url":"https://github.com/openframeworks/openFrameworks/commit/399ab3c39b6f97b85500fe5aeee4bf2a28943530#commitcomment-952686","id":952686,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"399ab3c39b6f97b85500fe5aeee4bf2a28943530","created_at":"2012-02-10T08:58:41Z","updated_at":"2012-02-10T08:59:56Z","body":"Ah OK, that makes more sense. Just to be clear, that way of calling ofLog doesn't have any pitfalls (except preference), right?\r\n\r\nAlso, the ifdefs, figured that out a minute after posting. :-P\r\n\r\nWhile we're at it, could you maybe take a look at issue #294 again? I can't cause that part is definitely MacOS-only, and it would close issue #833, too.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/960117","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-960117","id":960117,"user":{"login":"falcon4ever","id":480019,"avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","url":"https://api.github.com/users/falcon4ever","html_url":"https://github.com/falcon4ever","followers_url":"https://api.github.com/users/falcon4ever/followers","following_url":"https://api.github.com/users/falcon4ever/following{/other_user}","gists_url":"https://api.github.com/users/falcon4ever/gists{/gist_id}","starred_url":"https://api.github.com/users/falcon4ever/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/falcon4ever/subscriptions","organizations_url":"https://api.github.com/users/falcon4ever/orgs","repos_url":"https://api.github.com/users/falcon4ever/repos","events_url":"https://api.github.com/users/falcon4ever/events{/privacy}","received_events_url":"https://api.github.com/users/falcon4ever/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-13T13:15:21Z","updated_at":"2012-02-13T13:15:21Z","body":"Just FYI, this patch breaks the Android build, there is no GL_DEPTH_COMPONENT32 in this target."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/960144","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-960144","id":960144,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-13T13:25:29Z","updated_at":"2012-02-13T13:25:29Z","body":"thanks, it's fixed now"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/972117","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-972117","id":972117,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-16T01:06:22Z","updated_at":"2012-02-16T01:06:22Z","body":"hi, this is still broken for iphone.\r\nalso no GL_DEPTH_COMPONENT32"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973164","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-973164","id":973164,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-16T10:05:11Z","updated_at":"2012-02-16T10:05:11Z","body":"yes, sorry the ifdef is incorrect, it's fixed now"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973373","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-973373","id":973373,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-16T11:11:50Z","updated_at":"2012-02-16T11:11:50Z","body":"hi arturo,\r\ncan't see this fix in the develop branch yet?\r\nis it going to come through as a new commit?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973415","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-973415","id":973415,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-16T11:29:10Z","updated_at":"2012-02-16T11:29:10Z","body":"there it is, i uploaded it to my fork instead of the main repo before.\r\n\r\nEl 16/02/12 12:11, lukasz karluk escribió:\r\n> hi arturo,\r\n> can't see this fix in the develop branch yet?\r\n> is it going to come through as a new commit?\r\n>\r\n> ---\r\n> Reply to this email directly or view it on GitHub:\r\n> https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-973373"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973426","html_url":"https://github.com/openframeworks/openFrameworks/commit/8bfde75beefc27e53c6cfb503db0035b0f828dfd#commitcomment-973426","id":973426,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"8bfde75beefc27e53c6cfb503db0035b0f828dfd","created_at":"2012-02-16T11:33:41Z","updated_at":"2012-02-16T11:33:41Z","body":"awesome, thx."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973455","html_url":"https://github.com/openframeworks/openFrameworks/commit/5b1f22a80109b1d3abb339cc2fc15ac3f8798849#commitcomment-973455","id":973455,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":12,"line":449,"path":"libs/openFrameworks/gl/ofFbo.cpp","commit_id":"5b1f22a80109b1d3abb339cc2fc15ac3f8798849","created_at":"2012-02-16T11:43:48Z","updated_at":"2012-02-16T11:43:48Z","body":"this line is throwing an error on iphone, GL_UNSIGNED_INT is undeclared."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973460","html_url":"https://github.com/openframeworks/openFrameworks/commit/5b1f22a80109b1d3abb339cc2fc15ac3f8798849#commitcomment-973460","id":973460,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":14,"line":451,"path":"libs/openFrameworks/gl/ofFbo.cpp","commit_id":"5b1f22a80109b1d3abb339cc2fc15ac3f8798849","created_at":"2012-02-16T11:44:11Z","updated_at":"2012-02-16T11:44:11Z","body":"this line is also throwing an error on iphone, GL_UNSIGNED_INT is undeclared."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/973481","html_url":"https://github.com/openframeworks/openFrameworks/commit/5b1f22a80109b1d3abb339cc2fc15ac3f8798849#commitcomment-973481","id":973481,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":14,"line":451,"path":"libs/openFrameworks/gl/ofFbo.cpp","commit_id":"5b1f22a80109b1d3abb339cc2fc15ac3f8798849","created_at":"2012-02-16T11:50:54Z","updated_at":"2012-02-16T11:50:54Z","body":"mm, weird that seems to work in android, let me take a look\r\n\r\nEl 16/02/12 12:44, lukasz karluk escribió:\r\n> this line is also throwing an error on iphone, GL_UNSIGNED_INT is undeclared.\r\n>\r\n> ---\r\n> Reply to this email directly or view it on GitHub:\r\n> https://github.com/openframeworks/openFrameworks/commit/5b1f22a80109b1d3abb339cc2fc15ac3f8798849#commitcomment-973460"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/976339","html_url":"https://github.com/openframeworks/openFrameworks/commit/5b1f22a80109b1d3abb339cc2fc15ac3f8798849#commitcomment-976339","id":976339,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":14,"line":451,"path":"libs/openFrameworks/gl/ofFbo.cpp","commit_id":"5b1f22a80109b1d3abb339cc2fc15ac3f8798849","created_at":"2012-02-17T02:04:22Z","updated_at":"2012-02-17T02:04:22Z","body":"changing GL_UNSIGNED_INT to GL_UNSIGNED_BYTE compiles ok\nbut not sure how that would effect what you're trying to do..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/986195","html_url":"https://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8#commitcomment-986195","id":986195,"user":{"login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","html_url":"https://github.com/gabrielstuff","followers_url":"https://api.github.com/users/gabrielstuff/followers","following_url":"https://api.github.com/users/gabrielstuff/following{/other_user}","gists_url":"https://api.github.com/users/gabrielstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/gabrielstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabrielstuff/subscriptions","organizations_url":"https://api.github.com/users/gabrielstuff/orgs","repos_url":"https://api.github.com/users/gabrielstuff/repos","events_url":"https://api.github.com/users/gabrielstuff/events{/privacy}","received_events_url":"https://api.github.com/users/gabrielstuff/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8","created_at":"2012-02-20T16:06:26Z","updated_at":"2012-02-20T16:06:26Z","body":"Sorry to bump here, but isn't here an issue with the call to ```ofDrawGridPlane( scale, ticks, labels)```, but there is just ```drawGridPlane(float scale, float ticks, bool labels)``` that is defined ?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/986201","html_url":"https://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8#commitcomment-986201","id":986201,"user":{"login":"emmanuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/emmanuelgeoffray","html_url":"https://github.com/emmanuelgeoffray","followers_url":"https://api.github.com/users/emmanuelgeoffray/followers","following_url":"https://api.github.com/users/emmanuelgeoffray/following{/other_user}","gists_url":"https://api.github.com/users/emmanuelgeoffray/gists{/gist_id}","starred_url":"https://api.github.com/users/emmanuelgeoffray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emmanuelgeoffray/subscriptions","organizations_url":"https://api.github.com/users/emmanuelgeoffray/orgs","repos_url":"https://api.github.com/users/emmanuelgeoffray/repos","events_url":"https://api.github.com/users/emmanuelgeoffray/events{/privacy}","received_events_url":"https://api.github.com/users/emmanuelgeoffray/received_events","type":"User"},"position":39,"line":57,"path":"libs/openFrameworks/3d/of3dUtils.cpp","commit_id":"7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8","created_at":"2012-02-20T16:06:47Z","updated_at":"2012-02-20T16:06:47Z","body":"It should be ofDrawGridPlane?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1003359","html_url":"https://github.com/openframeworks/openFrameworks/commit/91d76830cf705026afe09fc6fbf8e5a347e900ca#commitcomment-1003359","id":1003359,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"91d76830cf705026afe09fc6fbf8e5a347e900ca","created_at":"2012-02-23T17:07:03Z","updated_at":"2012-02-23T17:07:03Z","body":"I guess you skip updating the createProjects scripts until the project generator is finished? Because right now, it's broken because of the move."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1003442","html_url":"https://github.com/openframeworks/openFrameworks/commit/91d76830cf705026afe09fc6fbf8e5a347e900ca#commitcomment-1003442","id":1003442,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"91d76830cf705026afe09fc6fbf8e5a347e900ca","created_at":"2012-02-23T17:22:04Z","updated_at":"2012-02-23T17:22:04Z","body":"the project creator is working against the new paths in develop but deploy examples will be broken... I need to fix one issue with osx recursive folders but besides that, it's almost there. will check it in shortly in dev apps.... "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1010469","html_url":"https://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8#commitcomment-1010469","id":1010469,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8","created_at":"2012-02-25T08:16:08Z","updated_at":"2012-02-25T08:16:08Z","body":"hey!\r\ni've mentioned this elsewhere but this pull was stale, and should have been going into develop\r\nand as others have noted `drawGridPlane` should be `ofDrawGridPlane` in the cpp.\r\n"}] - -https -GET -api.github.com -None -/repositories/345337/comments?per_page=100&page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4875'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '163112'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 19 Jun 2013 10:28:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a3e035a1aeb9a4a31629a5537db4a857"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 19 Jun 2013 10:31:31 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1033394","html_url":"https://github.com/openframeworks/openFrameworks/commit/eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0#commitcomment-1033394","id":1033394,"user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0","created_at":"2012-03-01T23:04:43Z","updated_at":"2012-03-01T23:04:43Z","body":"I think that this push broke IOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1033425","html_url":"https://github.com/openframeworks/openFrameworks/commit/eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0#commitcomment-1033425","id":1033425,"user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following{/other_user}","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0","created_at":"2012-03-01T23:12:25Z","updated_at":"2012-03-01T23:12:25Z","body":"oh right - it was in gles1.0, but i think they removed it in 2.0 (i should really get an iphone...); can easily wrap into an ifdef tonight"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1035900","html_url":"https://github.com/openframeworks/openFrameworks/commit/eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0#commitcomment-1035900","id":1035900,"user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0","created_at":"2012-03-02T15:28:12Z","updated_at":"2012-03-02T15:28:12Z","body":"I'm not sure how much to #ifndef but looks like glES 2 goes not support\r\n\r\n\r\nGL_COLOR_ATTACHMENT0_EXT\r\nglDrawBuffers\r\n\r\nI have a fix should I push?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1036430","html_url":"https://github.com/openframeworks/openFrameworks/commit/eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0#commitcomment-1036430","id":1036430,"user":{"login":"kpasko","id":167271,"avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","url":"https://api.github.com/users/kpasko","html_url":"https://github.com/kpasko","followers_url":"https://api.github.com/users/kpasko/followers","following_url":"https://api.github.com/users/kpasko/following{/other_user}","gists_url":"https://api.github.com/users/kpasko/gists{/gist_id}","starred_url":"https://api.github.com/users/kpasko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kpasko/subscriptions","organizations_url":"https://api.github.com/users/kpasko/orgs","repos_url":"https://api.github.com/users/kpasko/repos","events_url":"https://api.github.com/users/kpasko/events{/privacy}","received_events_url":"https://api.github.com/users/kpasko/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0","created_at":"2012-03-02T16:20:50Z","updated_at":"2012-03-02T16:20:50Z","body":"I think GL_COLOR_ATTACHMENT0_EXT is GL_COLOR_ATTACHMENT0_OES... If you just put GL_COLOR_ATTACHMENT0, the defines at the top of ofFbo.cpp will handle it for you, but only for attachment 0. I suppose the proper solution is to add more defines at the top and take off EXT. \r\n\r\nglDrawBuffers I don't think work. \r\n\r\nIf you push your change I can modify the defines and so forth accordingly, or you can test using GL_COLOR_ATTACHMENT#_OES before pushing, whither way."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1036541","html_url":"https://github.com/openframeworks/openFrameworks/commit/eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0#commitcomment-1036541","id":1036541,"user":{"login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"eb7e594fffabb3ff825b67aaf0b1bca4e0b17aa0","created_at":"2012-03-02T16:49:39Z","updated_at":"2012-03-02T16:49:39Z","body":"made a pull request its a hack but at least fixes it on IOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1039137","html_url":"https://github.com/openframeworks/openFrameworks/commit/c50648e29199a3f61eae05f6ceb350a97ab275d7#commitcomment-1039137","id":1039137,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"c50648e29199a3f61eae05f6ceb350a97ab275d7","created_at":"2012-03-03T19:02:18Z","updated_at":"2012-03-03T19:02:18Z","body":"the loadData() methods added here broke 32-bit and 16-bit image display in the AdvancedImageLoading example. i'm not completely sure why. maybe the ofPixels were being converted before?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1095371","html_url":"https://github.com/openframeworks/openFrameworks/commit/918818c864c663938377ff48b72f512ae06ec51e#commitcomment-1095371","id":1095371,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":50,"line":314,"path":"apps/devApps/projectGenerator/src/utils/Utils.cpp","commit_id":"918818c864c663938377ff48b72f512ae06ec51e","created_at":"2012-03-16T17:52:11Z","updated_at":"2012-03-16T17:52:11Z","body":"@ofZach curious why you changed this. \nI tried re-adding this and I get a ../../../addons path ( now I am getting ../../addons )\n\nwhat is weird is that the addons examples end up with ../../../../ - so I imagine this is what you were trying to fix?\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1095499","html_url":"https://github.com/openframeworks/openFrameworks/commit/918818c864c663938377ff48b72f512ae06ec51e#commitcomment-1095499","id":1095499,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"918818c864c663938377ff48b72f512ae06ec51e","created_at":"2012-03-16T18:15:58Z","updated_at":"2012-03-16T18:15:58Z","body":"sorry ! I was trying to fix an error with seeing ../../../../, but it looks like I introduced another problem. will take a look at it later today. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097032","html_url":"https://github.com/openframeworks/openFrameworks/commit/14f5496a27eb7ad7db492397db3879a2e21392cb#commitcomment-1097032","id":1097032,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"14f5496a27eb7ad7db492397db3879a2e21392cb","created_at":"2012-03-17T02:27:11Z","updated_at":"2012-03-17T02:27:11Z","body":"hey @kylemcdonald - I would expect this to come in as PR \r\nits a little hard to see whats new this way"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097055","html_url":"https://github.com/openframeworks/openFrameworks/commit/9f360dafd8c45dbbef2c59c68ae8c5a531e6c8f8#commitcomment-1097055","id":1097055,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"9f360dafd8c45dbbef2c59c68ae8c5a531e6c8f8","created_at":"2012-03-17T02:38:11Z","updated_at":"2012-03-17T02:38:11Z","body":"the non used methods should have an extra return between { and } \r\nexactly how it is in empty example :) \r\n\r\nalso please do this as a PR and not directly into origin ( that is reserved for zach, arturo and I ) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097067","html_url":"https://github.com/openframeworks/openFrameworks/commit/5f6e1e794f52e55251f4c9479c52c19b65ae91b2#commitcomment-1097067","id":1097067,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5f6e1e794f52e55251f4c9479c52c19b65ae91b2","created_at":"2012-03-17T02:48:37Z","updated_at":"2012-03-17T02:48:37Z","body":"also please indent the public: private etc as according to of code style:\r\nhttps://github.com/openframeworks/openFrameworks/wiki/oF-code-style\r\n\r\ntrying to sneak it in :) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097198","html_url":"https://github.com/openframeworks/openFrameworks/commit/14f5496a27eb7ad7db492397db3879a2e21392cb#commitcomment-1097198","id":1097198,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"14f5496a27eb7ad7db492397db3879a2e21392cb","created_at":"2012-03-17T05:12:07Z","updated_at":"2012-03-17T05:12:07Z","body":"@ofTheo sorry! i can do all changes as pull requests. i understand that it's easier to review it in a pr."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097202","html_url":"https://github.com/openframeworks/openFrameworks/commit/5f6e1e794f52e55251f4c9479c52c19b65ae91b2#commitcomment-1097202","id":1097202,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5f6e1e794f52e55251f4c9479c52c19b65ae91b2","created_at":"2012-03-17T05:14:11Z","updated_at":"2012-03-17T05:14:11Z","body":"ahhhh yes. xcode's ctrl+i getting in the way. i'll re-indent them all now."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1097203","html_url":"https://github.com/openframeworks/openFrameworks/commit/9f360dafd8c45dbbef2c59c68ae8c5a531e6c8f8#commitcomment-1097203","id":1097203,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"9f360dafd8c45dbbef2c59c68ae8c5a531e6c8f8","created_at":"2012-03-17T05:15:02Z","updated_at":"2012-03-17T05:15:02Z","body":"yeah this was pasted from another example instead of the emptyExample. my bad."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098207","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098207","id":1098207,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T17:28:12Z","updated_at":"2012-03-17T17:28:12Z","body":"Is there something funky going on with the branches? This commit looks strange - do we have two develop branches??\r\n`Merge branch 'develop' of github.com:openframeworks/openFrameworks into develop`\r\nNetwork view looks a bit strange, and the github news feed insists you just merged 150 commits..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098209","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098209","id":1098209,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T17:31:29Z","updated_at":"2012-03-17T17:31:29Z","body":"yeah it does seem a bit weird but I think it is @ofZach 's develop branch and he is merging in OFs develop branch. so you see all the commits a second time. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098245","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098245","id":1098245,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T17:46:29Z","updated_at":"2012-03-17T17:46:29Z","body":"hm, strange. i pulled and checked with gitg, history looks ok. probably just a github parsing error or whatever."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098249","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098249","id":1098249,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T17:48:36Z","updated_at":"2012-03-20T22:12:00Z","body":"i think this might have something to do with someone using the eyewriter account.\r\n\r\ni'm getting errors pushing anything to github right now ever since this commit 4a136cc45b89fbeec99fc1020716de705490d3d3\r\n\r\n\terror: object 4a136cc45b89fbeec99fc1020716de705490d3d3:invalid author/committer line - bad email\r\n\tfatal: Error in object\r\n\terror: unpack failed: index-pack abnormal exit\r\n\tTo git@github.com:kylemcdonald/openFrameworks.git\r\n\t ! [remote rejected] develop -> develop (n/a (unpacker error))\r\n\terror: failed to push some refs to 'git@github.com:kylemcdonald/openFrameworks.git'\r\n\r\nhopping in IRC now..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098361","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098361","id":1098361,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T19:02:34Z","updated_at":"2012-03-17T19:02:51Z","body":"The problem is solved now. If anybody finds his way here because you have problems with the repo, pushing problems, or something, contact @ofTheo or @bilderbuchi to get help in fixing it.\r\nTo summarize, this commit introduced some strange errors, so basically we had to delete it from the repo. If you had pulled this commit in the time it was online, you also have the bad commit in your local repo. To remedy this, you have to reset back to before this was committed, and pull again. So something like \r\n \r\n git checkout develop\r\n git reset --hard 581ec0a7a2bc5d6fb9fe03d1a3e77f1661dddc7e //This will erase anything coming after that, so make sure your work is safe!\r\n git pull origin develop\r\n git pull upstream develop\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098377","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098377","id":1098377,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T19:07:35Z","updated_at":"2012-03-17T19:07:56Z","body":"ps: back up any un committed code before resetting!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1098757","html_url":"https://github.com/openframeworks/openFrameworks/commit/e9366f9efe3bbf39a169b1ea6b67af12b982054b#commitcomment-1098757","id":1098757,"user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following{/other_user}","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"e9366f9efe3bbf39a169b1ea6b67af12b982054b","created_at":"2012-03-17T22:36:31Z","updated_at":"2012-03-17T22:36:31Z","body":"what the problem could be (but I'm not sure what happened exactly):\r\nif you commit locally to develop branch, someone updates the remote branch, and then your `git pull` creates a new branch with the same name in your history and merges this two branches together because you are virtually on a new local branch with your local commit.\r\n\r\nmy suggestion is to push in the following way (replace origin with your remote repo):\r\n\r\n git pull --rebase && git push origin develop\r\n\r\nor only\r\n\r\n git pull --rebase\r\n\r\nif you only want to get the newest remote head, but there are also unpushed commits in your local history.\r\n\r\nmaybe this helps avoid such problems next time."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1123793","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1123793","id":1123793,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":7,"line":23,"path":"examples/.gitignore","commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T13:00:33Z","updated_at":"2012-03-23T13:00:33Z","body":"I'm not sure you need all those combinations. I'll look how I did it..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1123831","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1123831","id":1123831,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":7,"line":23,"path":"examples/.gitignore","commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T13:09:52Z","updated_at":"2012-03-23T13:10:40Z","body":"Yes. I found that \r\n `examples/*/*/bin/*`\r\n `!examples/*/*/bin/data/`\r\nin the root gitignore should be enough.\r\n`**` is not official gitignore syntax, btw, and relies on having a shell with some expansion capabilities (basically, POSIX systems) - not 100% sure this works on windows in every case."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1123846","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1123846","id":1123846,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":7,"line":23,"path":"examples/.gitignore","commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T13:14:39Z","updated_at":"2012-03-23T13:15:58Z","body":"btw, `!*/*/bin/data` falsely un-ignores/matches a file called `dataexample`, too."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1123998","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1123998","id":1123998,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T14:04:18Z","updated_at":"2012-03-23T14:04:18Z","body":"yes that seems ok, have you tried with nested folders inside data? although i think it will work. can you send a PR with that changes?\r\n\r\nthanks!\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1124001","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1124001","id":1124001,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T14:05:47Z","updated_at":"2012-03-23T14:05:47Z","body":"but also perhaps better to have everything related to the examples in examples/.gitignore the root .gitignore is a mess, we'll need to clean it at some point but by now i think i'll be clearer to separate this rules in the specific file for the examples"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1124159","html_url":"https://github.com/openframeworks/openFrameworks/commit/f99748e9f503530bf9bce6f094b793fdae04f353#commitcomment-1124159","id":1124159,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f99748e9f503530bf9bce6f094b793fdae04f353","created_at":"2012-03-23T14:39:23Z","updated_at":"2012-03-23T14:40:17Z","body":"Yes I have tried with nested folders. \r\nYes I also think stuff like this should be in subfolder-gitignores. I will do either that, or make it global for both examples/ and apps/, I will see which is cleaner.\r\nI am in the process of cleaning up, please take a look at #1081, it's all there. (also, some feedback is needed). \r\nYes I will send a PR as soon as it's finished (this might take a while). Please fix this thing yourself in the meantime. I'll push my topic branch this weekend when I've done more work on that."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1189725","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1189725","id":1189725,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":704,"line":596,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-09T21:05:37Z","updated_at":"2012-04-09T21:05:37Z","body":"apologies for polluting this commit with formatting - this is the crux of it right here. no need to return false as the try catch will handle the error and if the dst is a folder poco will handle placing it into the folder instead of overwriting it. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1189738","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1189738","id":1189738,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":1041,"line":952,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-09T21:07:46Z","updated_at":"2012-04-09T21:07:46Z","body":"hmm this is weird, is this the autoformatter?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1189746","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1189746","id":1189746,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":1081,"line":1012,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-09T21:08:36Z","updated_at":"2012-04-09T21:08:36Z","body":"same thing again, removing the space after a template parameter. maybe this was meant for classes with templates, to try and keep the { next to the > ?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1189848","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1189848","id":1189848,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":1081,"line":1012,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-09T21:33:01Z","updated_at":"2012-04-09T21:33:01Z","body":"ugg yeah - I forgot I ran the formatter - I hate when others do that and I just did it :) \n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1191761","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1191761","id":1191761,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":1081,"line":1012,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-10T09:07:44Z","updated_at":"2012-04-10T09:07:44Z","body":"This is strange. This particular bug was supposed to be fixed in #1111. Well, I guess it's yet another edge-case. \nIf you find bugs in the formatting, re-open #1072, it's the issue to go to for those things."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1191769","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1191769","id":1191769,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":1081,"line":1012,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-10T09:08:27Z","updated_at":"2012-04-10T09:08:27Z","body":"probably because it's a function definition, not a word. doesn't explain the other case you point out kyle. curious."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1191779","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1191779","id":1191779,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":1041,"line":952,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-10T09:09:24Z","updated_at":"2012-04-10T09:09:24Z","body":"This is really strange, this one was definitely supposed to be fixed in #1111, with setting `sp_angle_word=add`. Will investigate."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192339","html_url":"https://github.com/openframeworks/openFrameworks/commit/d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b#commitcomment-1192339","id":1192339,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":1081,"line":1012,"path":"libs/openFrameworks/utils/ofFileUtils.cpp","commit_id":"d1a1ee1eace4152eb67fdb4e86a8b0efb3e5163b","created_at":"2012-04-10T11:59:52Z","updated_at":"2012-04-10T11:59:52Z","body":"@ofTheo, @kylemcdonald: Hm, I can't reproduce either of those formatting errors with the current develop version of the code formatter. Could you comment in #1072 how you exactly used the formatter?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192391","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192391","id":1192391,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T12:11:23Z","updated_at":"2012-04-10T12:13:24Z","body":"@ofZach: you used the eyebeam account again on this and the preceding commit. Also, the two following commits (by you presumably) have the strange author entry \"=\"... Could you confirm that the repo is not broken/polluted again? (e.g. tryto push, and do `git fsck --full`. `contains zero-padded file modes` and `dangling blob` warnings are OK)\r\n\r\n(sorry for the false notification, other Zach :-P)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192448","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192448","id":1192448,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T12:28:01Z","updated_at":"2012-04-10T12:28:01Z","body":"sorry -- I have been moving around machines and checked in code from windows machines, etc. \r\n\r\nthis is fsck -- full: \r\n\r\nnew-host-3:openFrameworks$ git fsck --full\r\nerror in commit 4a136cc45b89fbeec99fc1020716de705490d3d3: invalid author/committer line - bad email\r\nwarning in tree bb1f763543cc01b7f5904fcfb636888c3ad73def: contains zero-padded file modes\r\ndangling blob ba210ec823ab12aec5021ad2a854887600265424\r\ndangling blob c681661242b9e03d67e615db7cb15af1facb7ecb\r\ndangling blob 8ba0068d4b09045a4dc4e4374e1946d04f419b79\r\ndangling blob fddc7a236690849d6ff3e5cbb06dc3b5739acaa4\r\ndangling blob 1b31874dc3db746d1ccb09227fd9f41ea043f8f7\r\ndangling blob 228cc52655c9b3dfbfadc1aa44ca13742fbb1869\r\ndangling blob 348d89cffb1a286f2ad57b884815dddaeedfc07a\r\ndangling blob d9a5cd54f0365cc1ede624d32fe4e73aef8b798e"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192547","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192547","id":1192547,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T12:53:47Z","updated_at":"2012-04-10T12:53:47Z","body":"is it broken?\r\nthe commit history looks quite weird."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192574","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192574","id":1192574,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:02:38Z","updated_at":"2012-04-10T13:02:38Z","body":"those commits were made on various windows machines, but I had setup my ssh key properly -- maybe my user config was wrong. I'm happy if we want to drop those commits and I can remake them, they are very trivial changes. my zach@eyebeam.org email is associated with the ofZach account and the ssh keys are ok, so I'm not sure what github is getting wrong here. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192588","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192588","id":1192588,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:06:24Z","updated_at":"2012-04-10T13:06:31Z","body":"> is it broken?\r\n\r\nThis `error in commit 4a136cc: invalid author/committer line - bad email` would indicate it - it is the same error msg we got last time we had those problems. I haven't confirmed this personally, though, I haven't pulled those commits in yet (and I'm hesitant to do so)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192597","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192597","id":1192597,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:08:02Z","updated_at":"2012-04-10T13:08:02Z","body":"@Zach: maybe a `\\n` in the email, or something? *justguessing*\r\nI'd think ssh key must be ok, otherwise you wouldn't be allowed to push onto the repo.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192605","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192605","id":1192605,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:10:03Z","updated_at":"2012-04-10T13:10:03Z","body":"darn, no I only noticed: 4a136cc is the SHA of the commit we had trouble with last time - this shouldn't be in the repo anymore... maybe one of those machines you used still had the polluted repo on it?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192607","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192607","id":1192607,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:10:43Z","updated_at":"2012-04-10T13:11:00Z","body":"could be -- also it looks like the clock was ahead (it was on a windows 7 laptop I rarely use) so that's why these commits come out for today, but I think they were made a while back. The important stuff is done after those weird commits, in these commits: f57915351475d50377e1299e81678541f2aa2d7e, c93c448e37fd716aa3c1cfa916d50c4ccba7a288, 67d1d8c769a1979b8a0cc71436083d10a83bee47\r\n\r\nwhat's a good way to fix this? \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192617","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192617","id":1192617,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:12:15Z","updated_at":"2012-04-10T13:12:15Z","body":"@bilderbuchi -- sorry, might be. I have been moving around among different machines to test windows pg, so maybe the bad commit was there? "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192628","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192628","id":1192628,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:14:34Z","updated_at":"2012-04-10T13:16:51Z","body":"Also, another thing: It's my fault and I confused your eyeBEAM account with the eyeWRITER account which originally made the troubles (i.e. 4a136cc), so maybe there's no cause for alarm after all. sorry for that.\r\n\r\nYou shouldn't have that error message, though, I wonder why you even can push from that repo.\r\n\r\nFixing: cloning a fresh copy of the repo would be the easiest way (if you got the bandwidth) to find out if it's polluted on GH or if it's just your machine. If the new one is clean, replace the old one with it.\r\nI'm currently trying this on my side, I'm on a university pipe so hopefully it's quick. :D"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192662","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192662","id":1192662,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:19:08Z","updated_at":"2012-04-10T13:25:38Z","body":"I agree with Theo, though - the commit history looks strange. ~~Also, those last commits are missing from the network view (could be a buffering issue or something, though)~~ scratch that, I found them a bit farther back from the tip"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192679","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192679","id":1192679,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:22:46Z","updated_at":"2012-04-10T13:22:46Z","body":"one thing I think is the timing -- these commits were made on a machine where the time was not set right, so they are appearing as the last 4 commits -- that's not true. If you click the parents you can see where they fit, and they are there on the network chart: \r\nhttp://imgur.com/aFyoC\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192699","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192699","id":1192699,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:27:19Z","updated_at":"2012-04-10T13:27:19Z","body":"OK, I just pulled a fresh copy of the repo, and it comes away clean:\r\n\r\n\tcbuchner@kestrel:~/Desktop/openFrameworks$ git fsck --full\r\n\twarning in tree bb1f763543cc01b7f5904fcfb636888c3ad73def: contains zero-padded file modes\r\n\r\nso at least the GH repo seems unaffected. history is probably just wonky because of the wrong system clock?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192707","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192707","id":1192707,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:29:35Z","updated_at":"2012-04-10T13:33:22Z","body":"If you replace your existing repo (which gives the git-fsck error) with a fresh pull you should be good Zach. \r\nAlso, might be a good idea to find out what went wrong with the author info with those two \"=\" commits. git log looks like this:\r\n\r\n\tcommit 04de656fed0794e407dca86162ca2e306169390b\r\n\tAuthor: = <=>\r\n\tDate: Tue Apr 10 02:26:31 2012 -0700\r\n\r\n\t\tok, that didn't work so well... reverting back to the older style\r\n\r\nand the zach@eyebeam like this: `Author: zach@eyebeam.org `\r\n\r\nSorry for the false alarm/confusion, guys."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1192752","html_url":"https://github.com/openframeworks/openFrameworks/commit/1a48b5afdf82361b040b02b1999be1703accb958#commitcomment-1192752","id":1192752,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1a48b5afdf82361b040b02b1999be1703accb958","created_at":"2012-04-10T13:38:34Z","updated_at":"2012-04-10T13:38:34Z","body":"ok -- I pulled clean and git-fsck is fine. I'll take a look at seeing if I can fix those commit's author info so it's cleaner, not sure about being able to revise the time but I'll look into that also (so the commit history will look more legit)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1196834","html_url":"https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#commitcomment-1196834","id":1196834,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":78,"line":86,"path":"apps/devApps/projectGenerator/src/projects/baseProject.cpp","commit_id":"967997d28b877a4bcc2c8e4972f10b9b9d179562","created_at":"2012-04-11T10:06:11Z","updated_at":"2012-04-11T10:06:11Z","body":"hm, here you compare a set::iterator with a vector::iterator - does that really work? I'm asking because I just tried to compile it, and the compiler balks here with `no match for ‘operator!=’ in ‘it != ((baseProject*)this)->baseProject::addons.std::vector<_Tp, _Alloc>::end [with _Tp = ofAddon, _Alloc = std::allocator, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = ofAddon*]()’\tbaseProject.cpp\t/projectGenerator/src/projects\tline 97\tC/C++ Problem`\n\nnot sure if something's wrong with my setup at this machine - I'm still investigating."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1197069","html_url":"https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#commitcomment-1197069","id":1197069,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":78,"line":86,"path":"apps/devApps/projectGenerator/src/projects/baseProject.cpp","commit_id":"967997d28b877a4bcc2c8e4972f10b9b9d179562","created_at":"2012-04-11T11:27:12Z","updated_at":"2012-04-11T11:27:12Z","body":"that was a set before, i guess someone changed it to a vector which will probably break all the addons logic in linux since it was using the set to avoid duplicateds"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1197109","html_url":"https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#commitcomment-1197109","id":1197109,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":78,"line":86,"path":"apps/devApps/projectGenerator/src/projects/baseProject.cpp","commit_id":"967997d28b877a4bcc2c8e4972f10b9b9d179562","created_at":"2012-04-11T11:40:17Z","updated_at":"2012-04-11T11:40:17Z","body":"yes, it was done in 085089b3fe7fb9b8652162. @gameoverhack, could you shed some light why you changed `set addons` into a vector?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1200078","html_url":"https://github.com/openframeworks/openFrameworks/commit/c5d72b53cfdb19befc5d791aeee3e91c15f1239d#commitcomment-1200078","id":1200078,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"c5d72b53cfdb19befc5d791aeee3e91c15f1239d","created_at":"2012-04-12T00:11:11Z","updated_at":"2012-04-12T00:11:11Z","body":"note this order change: \r\n\r\nlibopencv_calib3d231.a\t\r\nlibopencv_features2d231.a\r\n\r\nthere were linking orders with the older order. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1214956","html_url":"https://github.com/openframeworks/openFrameworks/commit/ae666c3a442a3a73057edc93467f673ba8dab6c1#commitcomment-1214956","id":1214956,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"ae666c3a442a3a73057edc93467f673ba8dab6c1","created_at":"2012-04-16T12:15:37Z","updated_at":"2012-04-16T12:15:37Z","body":"cool -- fyi, I think this is specifically about intel graphics cards more then CB (I have this issue on macbook air osx as well as windows). "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1219571","html_url":"https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#commitcomment-1219571","id":1219571,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":78,"line":86,"path":"apps/devApps/projectGenerator/src/projects/baseProject.cpp","commit_id":"967997d28b877a4bcc2c8e4972f10b9b9d179562","created_at":"2012-04-17T07:15:09Z","updated_at":"2012-04-17T07:15:09Z","body":"btw, could set/vector mixup also be the reason behind #1135? And how do we best fix this? Currently, PG doesn't even compile for me."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1230344","html_url":"https://github.com/openframeworks/openFrameworks/commit/967997d28b877a4bcc2c8e4972f10b9b9d179562#commitcomment-1230344","id":1230344,"user":{"login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","html_url":"https://github.com/gameoverhack","followers_url":"https://api.github.com/users/gameoverhack/followers","following_url":"https://api.github.com/users/gameoverhack/following{/other_user}","gists_url":"https://api.github.com/users/gameoverhack/gists{/gist_id}","starred_url":"https://api.github.com/users/gameoverhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gameoverhack/subscriptions","organizations_url":"https://api.github.com/users/gameoverhack/orgs","repos_url":"https://api.github.com/users/gameoverhack/repos","events_url":"https://api.github.com/users/gameoverhack/events{/privacy}","received_events_url":"https://api.github.com/users/gameoverhack/received_events","type":"User"},"position":78,"line":86,"path":"apps/devApps/projectGenerator/src/projects/baseProject.cpp","commit_id":"967997d28b877a4bcc2c8e4972f10b9b9d179562","created_at":"2012-04-19T07:40:43Z","updated_at":"2012-04-19T07:40:43Z","body":"I think this should be fixed by this https://github.com/openframeworks/openFrameworks/issues/1184#issuecomment-5216458"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1239876","html_url":"https://github.com/openframeworks/openFrameworks/commit/73e9705e0b505b2e150c8d110aec181093ee1f0f#commitcomment-1239876","id":1239876,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"73e9705e0b505b2e150c8d110aec181093ee1f0f","created_at":"2012-04-21T23:12:36Z","updated_at":"2012-04-21T23:12:36Z","body":"mmh, there's no include directory anymore, probably you have it because of some ignore rule but it's not on the repo. can i revert the commit?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1239935","html_url":"https://github.com/openframeworks/openFrameworks/commit/73e9705e0b505b2e150c8d110aec181093ee1f0f#commitcomment-1239935","id":1239935,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"73e9705e0b505b2e150c8d110aec181093ee1f0f","created_at":"2012-04-22T00:25:20Z","updated_at":"2012-04-22T00:25:20Z","body":"oh damn - yeah please do. \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1239940","html_url":"https://github.com/openframeworks/openFrameworks/commit/73e9705e0b505b2e150c8d110aec181093ee1f0f#commitcomment-1239940","id":1239940,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"73e9705e0b505b2e150c8d110aec181093ee1f0f","created_at":"2012-04-22T00:31:55Z","updated_at":"2012-04-22T00:31:55Z","body":"done :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1240967","html_url":"https://github.com/openframeworks/openFrameworks/commit/021b51b4a394f745adfc119e7f0b66073046550c#commitcomment-1240967","id":1240967,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":17,"line":85,"path":"libs/openFrameworks/.project","commit_id":"021b51b4a394f745adfc119e7f0b66073046550c","created_at":"2012-04-22T16:54:47Z","updated_at":"2012-04-22T16:54:47Z","body":"user-specific path in here - is that right?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1240997","html_url":"https://github.com/openframeworks/openFrameworks/commit/021b51b4a394f745adfc119e7f0b66073046550c#commitcomment-1240997","id":1240997,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":17,"line":85,"path":"libs/openFrameworks/.project","commit_id":"021b51b4a394f745adfc119e7f0b66073046550c","created_at":"2012-04-22T17:14:27Z","updated_at":"2012-04-22T17:14:27Z","body":"not very much :) but it shouldn't hurt, eclipse will just ignore it. it's just a linked folder to the project files so i can edit the makefiles from eclipse, for most people is not necesary and it's very useful for me. will change it if i find a way of using relative paths or variables but eclipse is pretty bad at that"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1241059","html_url":"https://github.com/openframeworks/openFrameworks/commit/021b51b4a394f745adfc119e7f0b66073046550c#commitcomment-1241059","id":1241059,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":17,"line":85,"path":"libs/openFrameworks/.project","commit_id":"021b51b4a394f745adfc119e7f0b66073046550c","created_at":"2012-04-22T17:57:03Z","updated_at":"2012-04-22T17:57:03Z","body":"i see :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1241136","html_url":"https://github.com/openframeworks/openFrameworks/commit/34877438b4d3bd13073ad3007a71c2af7070541f#commitcomment-1241136","id":1241136,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"34877438b4d3bd13073ad3007a71c2af7070541f","created_at":"2012-04-22T18:57:20Z","updated_at":"2012-04-22T18:57:38Z","body":"@arturoc: hm, I can't find an Int64 type in the OSC specification, how did this come about?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1241170","html_url":"https://github.com/openframeworks/openFrameworks/commit/0d85b22003e96111a0bdd5e53a901b018174b231#commitcomment-1241170","id":1241170,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0d85b22003e96111a0bdd5e53a901b018174b231","created_at":"2012-04-22T19:20:17Z","updated_at":"2012-04-22T19:20:17Z","body":"@arturoc: Why did you update the config.make and Makefile only for the EmptyExample and not the others? Also, shouldn't those both be generated by the PG, and not even be in the example folder/repo? I'm asking to understand this better, cause I have to adapt the gitignore structure to this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1241182","html_url":"https://github.com/openframeworks/openFrameworks/commit/021b51b4a394f745adfc119e7f0b66073046550c#commitcomment-1241182","id":1241182,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":28,"path":"libs/openFrameworks/.project","commit_id":"021b51b4a394f745adfc119e7f0b66073046550c","created_at":"2012-04-22T19:29:48Z","updated_at":"2012-04-22T19:29:48Z","body":"@arturoc: ah nice, I noticed this recently. is the correct handling of this on 32bit systems managed in the Makefile?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1251213","html_url":"https://github.com/openframeworks/openFrameworks/commit/0d85b22003e96111a0bdd5e53a901b018174b231#commitcomment-1251213","id":1251213,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0d85b22003e96111a0bdd5e53a901b018174b231","created_at":"2012-04-24T17:10:22Z","updated_at":"2012-04-24T17:10:22Z","body":"this is not ready yet, i'm still working on android, i fixed emptyExample but everything else is still not updated to ndk r7\r\n\r\nthe PG doesn't work for android yet, apart from the makefiles there's lots of other project files that i need to put in a template, so i think by now i'll leave it like it is and just update all the examples manually"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1251324","html_url":"https://github.com/openframeworks/openFrameworks/commit/0d85b22003e96111a0bdd5e53a901b018174b231#commitcomment-1251324","id":1251324,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0d85b22003e96111a0bdd5e53a901b018174b231","created_at":"2012-04-24T17:37:43Z","updated_at":"2012-04-24T17:37:51Z","body":"OK, then I'll leave the config.make and Makefile in the android examples in for now, and we can adapt the gitignore rules later when this is finished, right?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1251367","html_url":"https://github.com/openframeworks/openFrameworks/commit/c0fb5ffc958e1be1bfdfc775c753c1d3cd8f9200#commitcomment-1251367","id":1251367,"user":{"login":"shotgunninja","id":1672033,"avatar_url":"https://secure.gravatar.com/avatar/af5f0b031000821a8c179733db0a2f9e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"af5f0b031000821a8c179733db0a2f9e","url":"https://api.github.com/users/shotgunninja","html_url":"https://github.com/shotgunninja","followers_url":"https://api.github.com/users/shotgunninja/followers","following_url":"https://api.github.com/users/shotgunninja/following{/other_user}","gists_url":"https://api.github.com/users/shotgunninja/gists{/gist_id}","starred_url":"https://api.github.com/users/shotgunninja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shotgunninja/subscriptions","organizations_url":"https://api.github.com/users/shotgunninja/orgs","repos_url":"https://api.github.com/users/shotgunninja/repos","events_url":"https://api.github.com/users/shotgunninja/events{/privacy}","received_events_url":"https://api.github.com/users/shotgunninja/received_events","type":"User"},"position":686,"line":626,"path":"addons/ofxXmlSettings/src/ofxXmlSettings.cpp","commit_id":"c0fb5ffc958e1be1bfdfc775c753c1d3cd8f9200","created_at":"2012-04-24T17:52:21Z","updated_at":"2012-04-24T17:52:21Z","body":"I was in high school when I wrote this function... wow."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1283131","html_url":"https://github.com/openframeworks/openFrameworks/commit/740c6822395f8bdfa86edf8a42e659e0f33604d3#commitcomment-1283131","id":1283131,"user":{"login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","html_url":"https://github.com/nardove","followers_url":"https://api.github.com/users/nardove/followers","following_url":"https://api.github.com/users/nardove/following{/other_user}","gists_url":"https://api.github.com/users/nardove/gists{/gist_id}","starred_url":"https://api.github.com/users/nardove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nardove/subscriptions","organizations_url":"https://api.github.com/users/nardove/orgs","repos_url":"https://api.github.com/users/nardove/repos","events_url":"https://api.github.com/users/nardove/events{/privacy}","received_events_url":"https://api.github.com/users/nardove/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"740c6822395f8bdfa86edf8a42e659e0f33604d3","created_at":"2012-05-02T15:43:18Z","updated_at":"2012-05-02T15:43:18Z","body":"Another interesting update to this method in the same threat http://forum.openframeworks.cc/index.php/topic,6092.15.html"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1289220","html_url":"https://github.com/openframeworks/openFrameworks/commit/fcdb399dd681ebd3d702143da27eb2dd6e72132b#commitcomment-1289220","id":1289220,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":27,"line":33,"path":"scripts/dev/create_package.sh","commit_id":"fcdb399dd681ebd3d702143da27eb2dd6e72132b","created_at":"2012-05-03T19:27:19Z","updated_at":"2012-05-03T19:27:19Z","body":"those changes can't be right..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1346329","html_url":"https://github.com/openframeworks/openFrameworks/commit/1d9edca442a3ca4778ede911d59fa78158c105da#commitcomment-1346329","id":1346329,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1d9edca442a3ca4778ede911d59fa78158c105da","created_at":"2012-05-18T03:39:52Z","updated_at":"2012-05-18T03:39:52Z","body":"@ofTheo \nwow, its amazing that you worked this out.\ni was banging my head against the wall with this issue at one point.\nhow did you know where to start?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1346338","html_url":"https://github.com/openframeworks/openFrameworks/commit/591c052a7c4583d8ea86c691074997bdfb944bb3#commitcomment-1346338","id":1346338,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"591c052a7c4583d8ea86c691074997bdfb944bb3","created_at":"2012-05-18T03:47:30Z","updated_at":"2012-05-18T03:47:30Z","body":"nice, this solved all iOS Default.png and Icon.png gitignore issues."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1346980","html_url":"https://github.com/openframeworks/openFrameworks/commit/591c052a7c4583d8ea86c691074997bdfb944bb3#commitcomment-1346980","id":1346980,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"591c052a7c4583d8ea86c691074997bdfb944bb3","created_at":"2012-05-18T08:30:34Z","updated_at":"2012-05-18T08:30:34Z","body":"thanks. yeah, that was the idea."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1352895","html_url":"https://github.com/openframeworks/openFrameworks/commit/1d9edca442a3ca4778ede911d59fa78158c105da#commitcomment-1352895","id":1352895,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1d9edca442a3ca4778ede911d59fa78158c105da","created_at":"2012-05-20T20:34:18Z","updated_at":"2012-05-20T20:34:18Z","body":"oh well that header file just looked really weird with the extern c and the strange #defines\r\nI figured since llvm is quite a new compiler maybe it was choking on some of that weirdness :) \r\n\r\nit was a lucky guess! "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1353632","html_url":"https://github.com/openframeworks/openFrameworks/commit/1d9edca442a3ca4778ede911d59fa78158c105da#commitcomment-1353632","id":1353632,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1d9edca442a3ca4778ede911d59fa78158c105da","created_at":"2012-05-21T06:55:20Z","updated_at":"2012-05-21T06:55:20Z","body":"Did you send a bug report/comment upstream or something? Cause otherwise, we are gonna have to fix this again with the next version of assimp."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1381478","html_url":"https://github.com/openframeworks/openFrameworks/commit/dd4ba068dcf1c7ab7ae904e33f85faa44ccc5e7c#commitcomment-1381478","id":1381478,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"dd4ba068dcf1c7ab7ae904e33f85faa44ccc5e7c","created_at":"2012-05-27T14:24:02Z","updated_at":"2012-05-27T14:24:02Z","body":"hey arturo I already fixed this two commits before ;) \nI think my fix for the #define might be a bit better as it defines it if its not currently defined"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1381483","html_url":"https://github.com/openframeworks/openFrameworks/commit/dd4ba068dcf1c7ab7ae904e33f85faa44ccc5e7c#commitcomment-1381483","id":1381483,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"dd4ba068dcf1c7ab7ae904e33f85faa44ccc5e7c","created_at":"2012-05-27T14:24:28Z","updated_at":"2012-05-27T14:24:28Z","body":"https://github.com/openframeworks/openFrameworks/commit/522a74993a264f8e42c54884dccd6901d36e0b34"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1381506","html_url":"https://github.com/openframeworks/openFrameworks/commit/b950e7a0efcaf4f715095685b79129ee63af557f#commitcomment-1381506","id":1381506,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"b950e7a0efcaf4f715095685b79129ee63af557f","created_at":"2012-05-27T14:28:50Z","updated_at":"2012-05-27T14:28:50Z","body":"oh nevermind :) \nI see you merged it in. I was wondering how that would work. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1384843","html_url":"https://github.com/openframeworks/openFrameworks/commit/b950e7a0efcaf4f715095685b79129ee63af557f#commitcomment-1384843","id":1384843,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"b950e7a0efcaf4f715095685b79129ee63af557f","created_at":"2012-05-28T19:22:26Z","updated_at":"2012-05-28T19:22:26Z","body":"yes i fixed it but only realized after trying to push the change, so i \r\njust merged it :)\r\n\r\nEl 27/05/12 16:28, Theodore Watson escribió:\r\n> oh nevermind :)\r\n> I see you merged it in. I was wondering how that would work.\r\n>\r\n> ---\r\n> Reply to this email directly or view it on GitHub:\r\n> https://github.com/openframeworks/openFrameworks/commit/b950e7a0efcaf4f715095685b79129ee63af557f#commitcomment-1381506"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1384863","html_url":"https://github.com/openframeworks/openFrameworks/commit/f975207d1fdc8faa3b06e877e4a39e5b48651c41#commitcomment-1384863","id":1384863,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f975207d1fdc8faa3b06e877e4a39e5b48651c41","created_at":"2012-05-28T19:26:40Z","updated_at":"2012-05-28T19:26:40Z","body":"I don't know what's going on here, but this had already been fixed by Theo in e381df2bceef9556499fcdd3d039e16513199c26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1419303","html_url":"https://github.com/openframeworks/openFrameworks/commit/751c209f25d70a81567f5d0746f3d893de8882ea#commitcomment-1419303","id":1419303,"user":{"login":"sloopidoopi","id":248498,"avatar_url":"https://secure.gravatar.com/avatar/69d034865cb1f775bb1e0b47ff0580b2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"69d034865cb1f775bb1e0b47ff0580b2","url":"https://api.github.com/users/sloopidoopi","html_url":"https://github.com/sloopidoopi","followers_url":"https://api.github.com/users/sloopidoopi/followers","following_url":"https://api.github.com/users/sloopidoopi/following{/other_user}","gists_url":"https://api.github.com/users/sloopidoopi/gists{/gist_id}","starred_url":"https://api.github.com/users/sloopidoopi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloopidoopi/subscriptions","organizations_url":"https://api.github.com/users/sloopidoopi/orgs","repos_url":"https://api.github.com/users/sloopidoopi/repos","events_url":"https://api.github.com/users/sloopidoopi/events{/privacy}","received_events_url":"https://api.github.com/users/sloopidoopi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"751c209f25d70a81567f5d0746f3d893de8882ea","created_at":"2012-06-05T20:12:27Z","updated_at":"2012-06-05T20:12:27Z","body":"The commit seems to be not in the master/develop branch of 0071."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1421151","html_url":"https://github.com/openframeworks/openFrameworks/commit/751c209f25d70a81567f5d0746f3d893de8882ea#commitcomment-1421151","id":1421151,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"751c209f25d70a81567f5d0746f3d893de8882ea","created_at":"2012-06-06T05:30:44Z","updated_at":"2012-06-06T05:30:44Z","body":"yes it is, in both. you can check this with `git branch --contains `."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1421159","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1421159","id":1421159,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-06-06T05:35:04Z","updated_at":"2012-06-06T05:35:04Z","body":"hi! what was the reason why you reverted the fix in ce9b22e038ca16b581a16722436327bef206cbdf with this commit, @gameoverhack? See also #559"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1421163","html_url":"https://github.com/openframeworks/openFrameworks/commit/751c209f25d70a81567f5d0746f3d893de8882ea#commitcomment-1421163","id":1421163,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"751c209f25d70a81567f5d0746f3d893de8882ea","created_at":"2012-06-06T05:36:32Z","updated_at":"2012-06-06T05:36:32Z","body":"It only was reverted later down the line, in 7709a23aef3bea47da65aa661b157f414522b4dc. Are you experiencing problems? If yes, please submit a bug report with all the necessary info, it's easier to track than a commit comment. :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1421230","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1421230","id":1421230,"user":{"login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","html_url":"https://github.com/gameoverhack","followers_url":"https://api.github.com/users/gameoverhack/followers","following_url":"https://api.github.com/users/gameoverhack/following{/other_user}","gists_url":"https://api.github.com/users/gameoverhack/gists{/gist_id}","starred_url":"https://api.github.com/users/gameoverhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gameoverhack/subscriptions","organizations_url":"https://api.github.com/users/gameoverhack/orgs","repos_url":"https://api.github.com/users/gameoverhack/repos","events_url":"https://api.github.com/users/gameoverhack/events{/privacy}","received_events_url":"https://api.github.com/users/gameoverhack/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-06-06T06:11:41Z","updated_at":"2012-06-06T06:11:41Z","body":"Because it was actually breaking compile in either CB or VS (I forget which, but I assume VS) -> did it while trying to get all examples to compile on Windows when we started on the windows PG...I don't remember now which it was, but VS 2010 was choking on a redef or wasn't defined...\n\nWhy is there a problem with it now?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1421353","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1421353","id":1421353,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-06-06T07:18:37Z","updated_at":"2012-06-06T07:19:34Z","body":"strange, cause the way it was designed in the first place should have made VS2010 work (fixing a redef problem in VS2010).\nDon't know yet if there's a problem, but I assume so, cause someone asked in the commit introducing this change why it's not in master/develop: 751c209f25d70a81567f5d0746f3d893de8882"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1450592","html_url":"https://github.com/openframeworks/openFrameworks/commit/d6148a48f16f25fa2a346ba7b9d36d8b422a41e0#commitcomment-1450592","id":1450592,"user":{"login":"swarooppal1088","id":1404897,"avatar_url":"https://secure.gravatar.com/avatar/7e80cd711da671dd88b3a49507275866?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"7e80cd711da671dd88b3a49507275866","url":"https://api.github.com/users/swarooppal1088","html_url":"https://github.com/swarooppal1088","followers_url":"https://api.github.com/users/swarooppal1088/followers","following_url":"https://api.github.com/users/swarooppal1088/following{/other_user}","gists_url":"https://api.github.com/users/swarooppal1088/gists{/gist_id}","starred_url":"https://api.github.com/users/swarooppal1088/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swarooppal1088/subscriptions","organizations_url":"https://api.github.com/users/swarooppal1088/orgs","repos_url":"https://api.github.com/users/swarooppal1088/repos","events_url":"https://api.github.com/users/swarooppal1088/events{/privacy}","received_events_url":"https://api.github.com/users/swarooppal1088/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"d6148a48f16f25fa2a346ba7b9d36d8b422a41e0","created_at":"2012-06-13T02:58:13Z","updated_at":"2012-06-13T02:58:13Z","body":"hey i cloned OF using git clone https://github.com/openframeworks/openFrameworks.git the root is missing the projectgenerator as mentioned in the readme's how do i build all the projects and dere are no makefiles in the examples"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1451083","html_url":"https://github.com/openframeworks/openFrameworks/commit/d6148a48f16f25fa2a346ba7b9d36d8b422a41e0#commitcomment-1451083","id":1451083,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"d6148a48f16f25fa2a346ba7b9d36d8b422a41e0","created_at":"2012-06-13T07:00:40Z","updated_at":"2012-06-13T07:00:40Z","body":"hey! please take such questions to the forums, it is a more appropriate place. To answer a bit, though: the project generator is in /apps/devApps/projectGenerator. you generate the example project files and make files by using the project generator. With the rest I can't help you without knowing your IDE and OS. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1542133","html_url":"https://github.com/openframeworks/openFrameworks/commit/354570bd8d6dd96562fa24bbe85aab913372130e#commitcomment-1542133","id":1542133,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":7,"line":26,"path":"libs/openFrameworks/3d/of3dUtils.cpp","commit_id":"354570bd8d6dd96562fa24bbe85aab913372130e","created_at":"2012-07-05T14:40:57Z","updated_at":"2012-07-05T14:40:57Z","body":"@ofTheo :(\nreally?\nthis removes the feature of being able to change the style of the grid (e.g. before you could make a white grid if you liked, or change the S,B values of the colour yourself, with this change, it's now completely fixed."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1580965","html_url":"https://github.com/openframeworks/openFrameworks/commit/5ada18cb213ef9f876ddb143b2e4bd0cc9318e1c#commitcomment-1580965","id":1580965,"user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following{/other_user}","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5ada18cb213ef9f876ddb143b2e4bd0cc9318e1c","created_at":"2012-07-14T09:12:04Z","updated_at":"2012-07-14T09:12:04Z","body":"Oh great, thanks! I ran into an issue yesterday where passing the name of a button as a string& got me in trouble as I was modifying the vale of the argument in the callback, took me forever to fix."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1580967","html_url":"https://github.com/openframeworks/openFrameworks/commit/5ada18cb213ef9f876ddb143b2e4bd0cc9318e1c#commitcomment-1580967","id":1580967,"user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following{/other_user}","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"5ada18cb213ef9f876ddb143b2e4bd0cc9318e1c","created_at":"2012-07-14T09:13:12Z","updated_at":"2012-07-14T09:13:12Z","body":"s/vale/value s/'forever to fix\"/\"forever to debug\"/"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1623259","html_url":"https://github.com/openframeworks/openFrameworks/commit/c6a00e66e69ed6af630bac98108cd020cf3030d6#commitcomment-1623259","id":1623259,"user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"c6a00e66e69ed6af630bac98108cd020cf3030d6","created_at":"2012-07-24T18:35:01Z","updated_at":"2012-07-24T18:35:01Z","body":"just so you are aware - the commented documentation just above waitForThread references the old stopThread(bool) method"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1648277","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1648277","id":1648277,"user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-07-30T18:31:16Z","updated_at":"2012-07-30T18:31:16Z","body":"This is strange also since it was working fine with VS and CB when I made the change. :P"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1648418","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1648418","id":1648418,"user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-07-30T18:55:30Z","updated_at":"2012-07-30T18:55:30Z","body":".. but now testing this version, it works fine for me in both VS2010 and Win CB ... weird."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1648465","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1648465","id":1648465,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-07-30T19:06:14Z","updated_at":"2012-07-30T19:06:14Z","body":"in vs2010 you should use stdint, not a typedef for int32_t, etc"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1648472","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1648472","id":1648472,"user":{"login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-07-30T19:07:22Z","updated_at":"2012-07-30T19:07:22Z","body":"stdint wasn't available before vs2010."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1648522","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1648522","id":1648522,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-07-30T19:20:15Z","updated_at":"2012-07-30T19:20:15Z","body":"exactly! :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1672820","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ac467ad637f79140bb7692d5c2a559771da2049#commitcomment-1672820","id":1672820,"user":{"login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","html_url":"https://github.com/gameoverhack","followers_url":"https://api.github.com/users/gameoverhack/followers","following_url":"https://api.github.com/users/gameoverhack/following{/other_user}","gists_url":"https://api.github.com/users/gameoverhack/gists{/gist_id}","starred_url":"https://api.github.com/users/gameoverhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gameoverhack/subscriptions","organizations_url":"https://api.github.com/users/gameoverhack/orgs","repos_url":"https://api.github.com/users/gameoverhack/repos","events_url":"https://api.github.com/users/gameoverhack/events{/privacy}","received_events_url":"https://api.github.com/users/gameoverhack/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ac467ad637f79140bb7692d5c2a559771da2049","created_at":"2012-08-05T17:28:31Z","updated_at":"2012-08-05T17:28:31Z","body":"on windows we need to #include for FLT_EPSILON to be defined"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1672829","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ac467ad637f79140bb7692d5c2a559771da2049#commitcomment-1672829","id":1672829,"user":{"login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following{/other_user}","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ac467ad637f79140bb7692d5c2a559771da2049","created_at":"2012-08-05T17:30:11Z","updated_at":"2012-08-05T17:30:11Z","body":"actually we should `#include ` but yes."}] - -https -GET -api.github.com -None -/repositories/345337/comments?per_page=100&page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4874'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '160904'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 19 Jun 2013 10:28:42 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a3e035a1aeb9a4a31629a5537db4a857"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 19 Jun 2013 10:31:33 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1672832","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ac467ad637f79140bb7692d5c2a559771da2049#commitcomment-1672832","id":1672832,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ac467ad637f79140bb7692d5c2a559771da2049","created_at":"2012-08-05T17:31:46Z","updated_at":"2012-08-05T17:31:46Z","body":"do you wanna fix that immediately or open an issue?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1673022","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ac467ad637f79140bb7692d5c2a559771da2049#commitcomment-1673022","id":1673022,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ac467ad637f79140bb7692d5c2a559771da2049","created_at":"2012-08-05T19:29:14Z","updated_at":"2012-08-05T19:29:14Z","body":"@bilderbuchi already fixed with: https://github.com/openframeworks/openFrameworks/commit/0a8815e65a5c1c27be956286730f5e8b8fa21689"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1673051","html_url":"https://github.com/openframeworks/openFrameworks/commit/cde2170b9424b62d31e2bb1b9968241698875441#commitcomment-1673051","id":1673051,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cde2170b9424b62d31e2bb1b9968241698875441","created_at":"2012-08-05T19:48:37Z","updated_at":"2012-08-05T19:48:37Z","body":"@benben will be happy to see this! thanks :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1673101","html_url":"https://github.com/openframeworks/openFrameworks/commit/0a8815e65a5c1c27be956286730f5e8b8fa21689#commitcomment-1673101","id":1673101,"user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0a8815e65a5c1c27be956286730f5e8b8fa21689","created_at":"2012-08-05T20:20:10Z","updated_at":"2012-08-05T20:20:10Z","body":"Nice. Thanks."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1673122","html_url":"https://github.com/openframeworks/openFrameworks/commit/0a8815e65a5c1c27be956286730f5e8b8fa21689#commitcomment-1673122","id":1673122,"user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"0a8815e65a5c1c27be956286730f5e8b8fa21689","created_at":"2012-08-05T20:28:04Z","updated_at":"2012-08-05T20:28:04Z","body":"Out of curiosity -- would this affect ofMap with ios? It too uses the same epsilon value and only includes \"float.h\" in the implementation file."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1675259","html_url":"https://github.com/openframeworks/openFrameworks/commit/918b8b9a9e27fe1289d5ccd8162094eec41e468f#commitcomment-1675259","id":1675259,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":24,"line":404,"path":"libs/openFrameworks/graphics/ofPolyline.cpp","commit_id":"918b8b9a9e27fe1289d5ccd8162094eec41e468f","created_at":"2012-08-06T13:13:15Z","updated_at":"2012-08-06T13:13:15Z","body":"hi @kylemcdonald,\nthis line is causing issues with my existing code.\njust wondering why the function has changed to const?\ncan't seem to find an easy way of getting the bounding box without getting compiler errors..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1675305","html_url":"https://github.com/openframeworks/openFrameworks/commit/918b8b9a9e27fe1289d5ccd8162094eec41e468f#commitcomment-1675305","id":1675305,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":24,"line":404,"path":"libs/openFrameworks/graphics/ofPolyline.cpp","commit_id":"918b8b9a9e27fe1289d5ccd8162094eec41e468f","created_at":"2012-08-06T13:22:47Z","updated_at":"2012-08-06T13:22:47Z","body":"sorry, please ignore this comment.\ncompiler was stuck... rebuilding OF fixed it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1686925","html_url":"https://github.com/openframeworks/openFrameworks/commit/3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5#commitcomment-1686925","id":1686925,"user":{"login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","html_url":"https://github.com/gameoverhack","followers_url":"https://api.github.com/users/gameoverhack/followers","following_url":"https://api.github.com/users/gameoverhack/following{/other_user}","gists_url":"https://api.github.com/users/gameoverhack/gists{/gist_id}","starred_url":"https://api.github.com/users/gameoverhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gameoverhack/subscriptions","organizations_url":"https://api.github.com/users/gameoverhack/orgs","repos_url":"https://api.github.com/users/gameoverhack/repos","events_url":"https://api.github.com/users/gameoverhack/events{/privacy}","received_events_url":"https://api.github.com/users/gameoverhack/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5","created_at":"2012-08-08T14:02:09Z","updated_at":"2012-08-08T14:02:09Z","body":"@arturoc ofBuffer & operator=(const string & text); needs to return an ofBuffer"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1686959","html_url":"https://github.com/openframeworks/openFrameworks/commit/3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5#commitcomment-1686959","id":1686959,"user":{"login":"gameoverhack","id":331599,"avatar_url":"https://secure.gravatar.com/avatar/397ac2141aace0681a354185e7efb0f1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"397ac2141aace0681a354185e7efb0f1","url":"https://api.github.com/users/gameoverhack","html_url":"https://github.com/gameoverhack","followers_url":"https://api.github.com/users/gameoverhack/followers","following_url":"https://api.github.com/users/gameoverhack/following{/other_user}","gists_url":"https://api.github.com/users/gameoverhack/gists{/gist_id}","starred_url":"https://api.github.com/users/gameoverhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gameoverhack/subscriptions","organizations_url":"https://api.github.com/users/gameoverhack/orgs","repos_url":"https://api.github.com/users/gameoverhack/repos","events_url":"https://api.github.com/users/gameoverhack/events{/privacy}","received_events_url":"https://api.github.com/users/gameoverhack/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5","created_at":"2012-08-08T14:08:30Z","updated_at":"2012-08-08T14:08:30Z","body":"is it ok for me to just fix these little bugs directly and make a commit on develop?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1686998","html_url":"https://github.com/openframeworks/openFrameworks/commit/3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5#commitcomment-1686998","id":1686998,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3c31bbf76f40213e7bbad8b1c42a2d2e07f8eac5","created_at":"2012-08-08T14:16:13Z","updated_at":"2012-08-08T14:16:13Z","body":"thanks, it's fixed now. i think as long as it is something so obvious/small as this it is ok, in case of doubt better to ask in a comment like this"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1794298","html_url":"https://github.com/openframeworks/openFrameworks/commit/a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21#commitcomment-1794298","id":1794298,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":56,"line":109,"path":"libs/openFrameworks/video/ofVideoGrabber.cpp","commit_id":"a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21","created_at":"2012-08-31T15:55:57Z","updated_at":"2012-08-31T15:55:57Z","body":"isn't the logic wonky here? `if grabber==NULL then return true` shouldn't that return false?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1794380","html_url":"https://github.com/openframeworks/openFrameworks/commit/a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21#commitcomment-1794380","id":1794380,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":56,"line":109,"path":"libs/openFrameworks/video/ofVideoGrabber.cpp","commit_id":"a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21","created_at":"2012-08-31T16:15:22Z","updated_at":"2012-08-31T16:15:22Z","body":"You can set the pixelFormat before the grabber exists, so setting the format was successful. \nHowever it might be that when the grabber is set it doesn't support that format, but that should be handled later. \n\nI see what you mean - it does seem wonky but it is intentional. \nI'll double check it though! "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1794515","html_url":"https://github.com/openframeworks/openFrameworks/commit/a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21#commitcomment-1794515","id":1794515,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":56,"line":109,"path":"libs/openFrameworks/video/ofVideoGrabber.cpp","commit_id":"a0fb4ac19525659f7ea41af0d3ab5dcb088c0e21","created_at":"2012-08-31T16:40:31Z","updated_at":"2012-08-31T16:41:01Z","body":"OK, thanks. :-)\nI guess I just prefer putting everything into the if/else cases instead of relying on tricky fall-throughs or ifs without elses - I think it makes the logic structure clearer. E.g. (if I understand the desired result correctly) I would put L96 into an else of the `if(grabber!=NULL)` statement. Then you'll probably need L96 once more (and a return true) in an else of `if(!grabber->setPixelFormat()`, but the logical tree would be more clear imo. As a benefit, you wouldn't set `internalPixelFormat` twice (I know that op is probably not very expensive, but still...)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1794625","html_url":"https://github.com/openframeworks/openFrameworks/commit/f24a98175c0a5814383c11686a5143a310089ab0#commitcomment-1794625","id":1794625,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":4,"line":68,"path":"libs/openFrameworks/gl/ofTexture.h","commit_id":"f24a98175c0a5814383c11686a5143a310089ab0","created_at":"2012-08-31T17:05:13Z","updated_at":"2012-08-31T17:06:30Z","body":"@ofTheo isn't `bExternalTextureID` a strange name? I would expect this to contain a Texture ID, not a boolean (if not for the `b` prefix). Maybe `bUseExternalTextureID` would be better?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1864693","html_url":"https://github.com/openframeworks/openFrameworks/commit/7318035cf93447fd09e19fe92baac744dd3e048d#commitcomment-1864693","id":1864693,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7318035cf93447fd09e19fe92baac744dd3e048d","created_at":"2012-09-17T16:15:36Z","updated_at":"2012-09-17T16:15:47Z","body":"@arturoc: If you multiply-include `gst.h`, wouldn't it be good to add some include guards, so that we don't include it several times, driving up compilation/linking times?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1904469","html_url":"https://github.com/openframeworks/openFrameworks/commit/33933ef7705f6fdbda602176209498e91b7a7eb5#commitcomment-1904469","id":1904469,"user":{"login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","html_url":"https://github.com/roymacdonald","followers_url":"https://api.github.com/users/roymacdonald/followers","following_url":"https://api.github.com/users/roymacdonald/following{/other_user}","gists_url":"https://api.github.com/users/roymacdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/roymacdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roymacdonald/subscriptions","organizations_url":"https://api.github.com/users/roymacdonald/orgs","repos_url":"https://api.github.com/users/roymacdonald/repos","events_url":"https://api.github.com/users/roymacdonald/events{/privacy}","received_events_url":"https://api.github.com/users/roymacdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"33933ef7705f6fdbda602176209498e91b7a7eb5","created_at":"2012-09-25T21:21:40Z","updated_at":"2012-09-25T21:21:40Z","body":"this commit is causing trouble with iOS. \nI get error \"use of undeclared identifier\" for GL_DEPTH_COMPONENT32, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT\n\nI just commented this lines to make it compile. I'm not sure what would be the correct way to fix this.\n\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1904841","html_url":"https://github.com/openframeworks/openFrameworks/commit/33933ef7705f6fdbda602176209498e91b7a7eb5#commitcomment-1904841","id":1904841,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"33933ef7705f6fdbda602176209498e91b7a7eb5","created_at":"2012-09-25T22:52:56Z","updated_at":"2012-09-25T22:52:56Z","body":"sorry, it's fixed now"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1905260","html_url":"https://github.com/openframeworks/openFrameworks/commit/fecd4402a5b6641c0f34dd3c0f1a8af6f78a4db5#commitcomment-1905260","id":1905260,"user":{"login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"fecd4402a5b6641c0f34dd3c0f1a8af6f78a4db5","created_at":"2012-09-26T01:00:45Z","updated_at":"2012-09-26T01:00:45Z","body":"my previous commit, from windows, seemed to have bad endings, so I'm fixing here. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1952334","html_url":"https://github.com/openframeworks/openFrameworks/commit/ab0c6cdb8abdf54363145dd7210fb7c75675de0b#commitcomment-1952334","id":1952334,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"ab0c6cdb8abdf54363145dd7210fb7c75675de0b","created_at":"2012-10-05T12:33:53Z","updated_at":"2012-10-05T12:33:53Z","body":"nice catch. never realized/noticed those were there, otherwise I'd have removed them already."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1956940","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85516ba601e7c48e87b81f85bc70259c8e3a05f#commitcomment-1956940","id":1956940,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85516ba601e7c48e87b81f85bc70259c8e3a05f","created_at":"2012-10-06T15:54:00Z","updated_at":"2012-10-06T15:55:04Z","body":"@ofTheo was there a mistake? why do we now have `/apps/devApps/projectGenerator` **and** `/apps/projectGenerator/projectGeneratorsSimple`? That looks fishy to me.\r\nShouldn't this be in `/apps/devApps/projectGeneratorSimple`, beside the regular PG?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1959962","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f#commitcomment-1959962","id":1959962,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f","created_at":"2012-10-08T07:34:11Z","updated_at":"2012-10-08T07:34:11Z","body":"Awesome work everyone, it's beautiful!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1959978","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f#commitcomment-1959978","id":1959978,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f","created_at":"2012-10-08T07:39:50Z","updated_at":"2012-10-08T07:39:50Z","body":"very nice!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1960788","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f#commitcomment-1960788","id":1960788,"user":{"login":"mactkg","id":178418,"avatar_url":"https://secure.gravatar.com/avatar/53cf99572b928b1d780d1d816d758710?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"53cf99572b928b1d780d1d816d758710","url":"https://api.github.com/users/mactkg","html_url":"https://github.com/mactkg","followers_url":"https://api.github.com/users/mactkg/followers","following_url":"https://api.github.com/users/mactkg/following{/other_user}","gists_url":"https://api.github.com/users/mactkg/gists{/gist_id}","starred_url":"https://api.github.com/users/mactkg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mactkg/subscriptions","organizations_url":"https://api.github.com/users/mactkg/orgs","repos_url":"https://api.github.com/users/mactkg/repos","events_url":"https://api.github.com/users/mactkg/events{/privacy}","received_events_url":"https://api.github.com/users/mactkg/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f","created_at":"2012-10-08T10:30:49Z","updated_at":"2012-10-08T10:30:49Z","body":":heart:"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1962717","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f#commitcomment-1962717","id":1962717,"user":{"login":"grayfuse","id":115113,"avatar_url":"https://secure.gravatar.com/avatar/ce105802feaa5e39e55a643a259e0070?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"ce105802feaa5e39e55a643a259e0070","url":"https://api.github.com/users/grayfuse","html_url":"https://github.com/grayfuse","followers_url":"https://api.github.com/users/grayfuse/followers","following_url":"https://api.github.com/users/grayfuse/following{/other_user}","gists_url":"https://api.github.com/users/grayfuse/gists{/gist_id}","starred_url":"https://api.github.com/users/grayfuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grayfuse/subscriptions","organizations_url":"https://api.github.com/users/grayfuse/orgs","repos_url":"https://api.github.com/users/grayfuse/repos","events_url":"https://api.github.com/users/grayfuse/events{/privacy}","received_events_url":"https://api.github.com/users/grayfuse/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f","created_at":"2012-10-08T16:27:35Z","updated_at":"2012-10-08T16:27:35Z","body":"Looking very nice indeed!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1965887","html_url":"https://github.com/openframeworks/openFrameworks/commit/6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f#commitcomment-1965887","id":1965887,"user":{"login":"borg","id":203895,"avatar_url":"https://secure.gravatar.com/avatar/46312137eb0583790943eb4c17ea04cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"46312137eb0583790943eb4c17ea04cc","url":"https://api.github.com/users/borg","html_url":"https://github.com/borg","followers_url":"https://api.github.com/users/borg/followers","following_url":"https://api.github.com/users/borg/following{/other_user}","gists_url":"https://api.github.com/users/borg/gists{/gist_id}","starred_url":"https://api.github.com/users/borg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borg/subscriptions","organizations_url":"https://api.github.com/users/borg/orgs","repos_url":"https://api.github.com/users/borg/repos","events_url":"https://api.github.com/users/borg/events{/privacy}","received_events_url":"https://api.github.com/users/borg/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"6ccf10c80ee5ad6fc90d4f115a3895bd2ae4313f","created_at":"2012-10-09T06:50:01Z","updated_at":"2012-10-09T06:50:01Z","body":"Early xmas!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1973901","html_url":"https://github.com/openframeworks/openFrameworks/commit/a9018697bbc35a8fafa8a36ee0a0f36861f87a99#commitcomment-1973901","id":1973901,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":15,"line":67,"path":"scripts/dev/create_package.sh","commit_id":"a9018697bbc35a8fafa8a36ee0a0f36861f87a99","created_at":"2012-10-10T13:11:34Z","updated_at":"2012-10-10T13:11:42Z","body":"@arturoc I think you should `git checkout master` before this line. otherwise, if the user had checked out a different branch, master would be merged into that one."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1973970","html_url":"https://github.com/openframeworks/openFrameworks/commit/a9018697bbc35a8fafa8a36ee0a0f36861f87a99#commitcomment-1973970","id":1973970,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":15,"line":67,"path":"scripts/dev/create_package.sh","commit_id":"a9018697bbc35a8fafa8a36ee0a0f36861f87a99","created_at":"2012-10-10T13:20:23Z","updated_at":"2012-10-10T13:20:23Z","body":"oh, yes thanks"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975124","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975124","id":1975124,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T15:54:59Z","updated_at":"2012-10-10T15:54:59Z","body":"you should not have to do that - this is a read-only link, if you only want to pull you shouldn't need a key!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975138","html_url":"https://github.com/openframeworks/openFrameworks/commit/ba732ccd2c7d0a287ef90539b4f6374c5b49e642#commitcomment-1975138","id":1975138,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":8,"path":"scripts/dev/create_package.sh","commit_id":"ba732ccd2c7d0a287ef90539b4f6374c5b49e642","created_at":"2012-10-10T15:57:27Z","updated_at":"2012-10-10T16:00:22Z","body":"no .git suffix needed here? cf. the PG-S link 5 lines down."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975144","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975144","id":1975144,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T15:58:21Z","updated_at":"2012-10-10T15:58:21Z","body":"where do you have problems with that link?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975199","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975199","id":1975199,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T16:08:39Z","updated_at":"2012-10-10T16:08:39Z","body":"yes, but if there's a key the server keeps asking for the key password whenever i run the release script so i can't fully automate it unless i switch to https"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975235","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975235","id":1975235,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T16:15:32Z","updated_at":"2012-10-10T16:15:32Z","body":"On my phone currently but apparently ssh-agent is the solution: http://stackoverflow.com/questions/6265595/how-can-i-peform-a-git-pull-without-re-entering-my-ssh-password"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975241","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975241","id":1975241,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T16:17:05Z","updated_at":"2012-10-10T16:17:05Z","body":"Will check later if there's a git way to do that."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975247","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975247","id":1975247,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T16:18:50Z","updated_at":"2012-10-10T16:18:50Z","body":"yes there is but i don't want to enter the password even once since this is going to be run through a cron task"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975681","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975681","id":1975681,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T17:16:55Z","updated_at":"2012-10-10T17:16:55Z","body":"I understand. The only way I found is using an empty passphrase for the key (and then probably it's wisest to use a separate key for the packaging server). I guess it's just less complicated to use https"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1975700","html_url":"https://github.com/openframeworks/openFrameworks/commit/05aa5663ef581d449a6b7de986aebde671d1a927#commitcomment-1975700","id":1975700,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"05aa5663ef581d449a6b7de986aebde671d1a927","created_at":"2012-10-10T17:20:10Z","updated_at":"2012-10-10T17:20:10Z","body":"yes, i actually have a different key for the server but i don't really want to have an empty passphrase and setting it to https shouldn't be any problem for everybody else since that address is only used to update the submodule"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1989081","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1989081","id":1989081,"user":{"login":"jvcleave","id":150037,"avatar_url":"https://secure.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-10-12T19:25:41Z","updated_at":"2012-10-12T19:27:28Z","body":"I am not able to compile the oscSenderExample under Windows 7/VS2010 unless I comment out the line `typedef long int32_t;` in OF/Dev 6f9c02fef3a6d201acb1b0a61e2fc343a376d1c2"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/1989108","html_url":"https://github.com/openframeworks/openFrameworks/commit/7709a23aef3bea47da65aa661b157f414522b4dc#commitcomment-1989108","id":1989108,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"7709a23aef3bea47da65aa661b157f414522b4dc","created_at":"2012-10-12T19:34:47Z","updated_at":"2012-10-12T19:34:47Z","body":"hm this confirms my fears from my second comment. @gameoverhack could you take a look at this?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2028377","html_url":"https://github.com/openframeworks/openFrameworks/commit/c97249ed24126ae9998710940bcf30d1f6673eec#commitcomment-2028377","id":2028377,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":19,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"c97249ed24126ae9998710940bcf30d1f6673eec","created_at":"2012-10-21T08:13:23Z","updated_at":"2012-10-21T08:13:23Z","body":"@arturoc I'm curious, why did you replace `libjack0 libjack-dev` by `libjack-jackd2-dev`?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2028429","html_url":"https://github.com/openframeworks/openFrameworks/commit/c97249ed24126ae9998710940bcf30d1f6673eec#commitcomment-2028429","id":2028429,"user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following{/other_user}","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"position":19,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"c97249ed24126ae9998710940bcf30d1f6673eec","created_at":"2012-10-21T08:57:12Z","updated_at":"2012-10-21T08:57:12Z","body":"I think its #1352"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2028455","html_url":"https://github.com/openframeworks/openFrameworks/commit/c97249ed24126ae9998710940bcf30d1f6673eec#commitcomment-2028455","id":2028455,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":19,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"c97249ed24126ae9998710940bcf30d1f6673eec","created_at":"2012-10-21T09:27:05Z","updated_at":"2012-10-21T09:27:05Z","body":"hm, could be the new portaudio version? But then, why does, e.g., the debian script continue to install `libjack-dev` (not changed in this commit)?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2028642","html_url":"https://github.com/openframeworks/openFrameworks/commit/c97249ed24126ae9998710940bcf30d1f6673eec#commitcomment-2028642","id":2028642,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":19,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"c97249ed24126ae9998710940bcf30d1f6673eec","created_at":"2012-10-21T12:19:23Z","updated_at":"2012-10-21T12:19:23Z","body":"yes, this solves #1352, i forgot to change it in debian and probably other distributions scripts need to be updated too"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2029239","html_url":"https://github.com/openframeworks/openFrameworks/commit/c97249ed24126ae9998710940bcf30d1f6673eec#commitcomment-2029239","id":2029239,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":19,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"c97249ed24126ae9998710940bcf30d1f6673eec","created_at":"2012-10-21T19:35:14Z","updated_at":"2012-10-21T19:35:23Z","body":"will you do this in the near-future, or should we open an issue for that, so that we don't forget?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2074861","html_url":"https://github.com/openframeworks/openFrameworks/commit/87cbf1b3992950cce1e29d70f3e84bf823cbf5ce#commitcomment-2074861","id":2074861,"user":{"login":"Maigre","id":702145,"avatar_url":"https://secure.gravatar.com/avatar/af64661376fe5d326a307ce9dbe3562d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"af64661376fe5d326a307ce9dbe3562d","url":"https://api.github.com/users/Maigre","html_url":"https://github.com/Maigre","followers_url":"https://api.github.com/users/Maigre/followers","following_url":"https://api.github.com/users/Maigre/following{/other_user}","gists_url":"https://api.github.com/users/Maigre/gists{/gist_id}","starred_url":"https://api.github.com/users/Maigre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Maigre/subscriptions","organizations_url":"https://api.github.com/users/Maigre/orgs","repos_url":"https://api.github.com/users/Maigre/repos","events_url":"https://api.github.com/users/Maigre/events{/privacy}","received_events_url":"https://api.github.com/users/Maigre/received_events","type":"User"},"position":23,"line":520,"path":"addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroid.java","commit_id":"87cbf1b3992950cce1e29d70f3e84bf823cbf5ce","created_at":"2012-10-30T16:59:27Z","updated_at":"2012-10-30T16:59:27Z","body":"replace with \r\nOFAndroid.orientation = orientation;\r\n?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2074868","html_url":"https://github.com/openframeworks/openFrameworks/commit/87cbf1b3992950cce1e29d70f3e84bf823cbf5ce#commitcomment-2074868","id":2074868,"user":{"login":"Maigre","id":702145,"avatar_url":"https://secure.gravatar.com/avatar/af64661376fe5d326a307ce9dbe3562d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"af64661376fe5d326a307ce9dbe3562d","url":"https://api.github.com/users/Maigre","html_url":"https://github.com/Maigre","followers_url":"https://api.github.com/users/Maigre/followers","following_url":"https://api.github.com/users/Maigre/following{/other_user}","gists_url":"https://api.github.com/users/Maigre/gists{/gist_id}","starred_url":"https://api.github.com/users/Maigre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Maigre/subscriptions","organizations_url":"https://api.github.com/users/Maigre/orgs","repos_url":"https://api.github.com/users/Maigre/repos","events_url":"https://api.github.com/users/Maigre/events{/privacy}","received_events_url":"https://api.github.com/users/Maigre/received_events","type":"User"},"position":12,"line":256,"path":"addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroid.java","commit_id":"87cbf1b3992950cce1e29d70f3e84bf823cbf5ce","created_at":"2012-10-30T17:00:08Z","updated_at":"2012-10-30T17:00:08Z","body":"replace with \r\nif(OFAndroid.orientation != -1) OFAndroid.setScreenOrientation(OFAndroid.orientation);\r\n?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2080254","html_url":"https://github.com/openframeworks/openFrameworks/commit/09f01def0611efcd53e486888be74673ab265d57#commitcomment-2080254","id":2080254,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"09f01def0611efcd53e486888be74673ab265d57","created_at":"2012-10-31T12:53:03Z","updated_at":"2012-10-31T12:56:55Z","body":"May I inquire who moved the 0072 tag to this commit? I'd appreciate if people a) would announce this somewhere, so other people can update their repo, and more importantly b) make sure that a **release tag** actually points to a commit on the **master branch**, i.e. at least merge the relevant commit into master. :angry: \r\n\r\nAside of that, we should really not be moving tags so often after release, also because tag updates are not fetched by default in git, and confusion can arise from people having tags point to two different commits, and from having to explain to people that current master, last-release tag, and OF.cc download are actually three different things now. makes for some fun trying to debug things like [this](https://github.com/openframeworks/openFrameworks/issues/1670#issuecomment-9942863) - Not?\r\n\r\n\r\n@arturoc was that you?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2093951","html_url":"https://github.com/openframeworks/openFrameworks/commit/9bbdf2149b9c3885e7e44f82e164341654536f3e#commitcomment-2093951","id":2093951,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":100,"path":"libs/openFrameworksCompiled/project/android/makefile","commit_id":"9bbdf2149b9c3885e7e44f82e164341654536f3e","created_at":"2012-11-02T15:11:31Z","updated_at":"2012-11-02T15:11:31Z","body":"curious, why the `\"` for some files, but not all - does it make an actual difference?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2093959","html_url":"https://github.com/openframeworks/openFrameworks/commit/15ba0e02eaa2568edd7aa6f42ccdb73058743c36#commitcomment-2093959","id":2093959,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"15ba0e02eaa2568edd7aa6f42ccdb73058743c36","created_at":"2012-11-02T15:13:22Z","updated_at":"2012-11-02T15:13:22Z","body":"is this a fix against #1662? if yes, can we close that issue now?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2097653","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2097653","id":2097653,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-03T16:52:06Z","updated_at":"2012-11-03T16:52:06Z","body":"for me, on 10.6.8 this causes the error \"there is no sdk 'macosx'\"\r\n\r\ni opened the openFrameworks project properties and changed the sdk to \"current os\", and now the pbxproj says `SDKROOT = \"\"` and it works.\r\n\r\ni must have not needed to recompile OF since you made this change? not sure how i didn't see it before."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2098207","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2098207","id":2098207,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-03T23:23:49Z","updated_at":"2012-11-03T23:23:49Z","body":"huh - weird.\nwhich version of xcode? \n\non my Xcode ( 3.2.6 ) the example compiles file with SDKROOT = \"macosx\""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2098321","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2098321","id":2098321,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-04T00:54:55Z","updated_at":"2012-11-04T00:54:55Z","body":"3.2.2. could you also check if your works with `\"\"` or only with `macosx` (which i'm pretty sure is the current format, not `\"macosx\"` with quotes as you wrote)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2098359","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2098359","id":2098359,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-04T01:32:51Z","updated_at":"2012-11-04T01:32:51Z","body":"Just checked.\r\nSeems to work fine for me with either. \r\n\r\nSo maybe SDKROOT = \"\" ( ignore quotes ) is the way to go for better backwards compatibility?\r\n\r\nJust as a quick sanity check can you try the 0072 release from: http://www.openframeworks.cc/versions/v0072/of_v0072_osx_release.zip\r\n\r\nAll the examples have the SDKROOT=macosx - so if those run fine for you it could be an issue with the repo. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2098365","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2098365","id":2098365,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-04T01:34:33Z","updated_at":"2012-11-04T01:34:33Z","body":"yeah i'll give 0072 another check to make sure it's not just something weird on my end, or with the repo."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2098370","html_url":"https://github.com/openframeworks/openFrameworks/commit/cef7ff35149a9c7deccce36c0df4a760674fa9de#commitcomment-2098370","id":2098370,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"cef7ff35149a9c7deccce36c0df4a760674fa9de","created_at":"2012-11-04T01:42:34Z","updated_at":"2012-11-04T01:42:34Z","body":"nope, when i run 0072 it also gives the error: `error: There is no SDK with the name or path 'macosx'` :(\r\n\r\ni hope it's just 3.2.2 (which probably is a very small minority of people) but if `\"\"` works everywhere then we should definitely switch to that in the next release. i'll add an issue."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2161129","html_url":"https://github.com/openframeworks/openFrameworks/commit/81f3dd8493afe728f7736b81afbc223c4fc447dd#commitcomment-2161129","id":2161129,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"81f3dd8493afe728f7736b81afbc223c4fc447dd","created_at":"2012-11-15T20:40:03Z","updated_at":"2012-11-15T20:40:03Z","body":"@ofTheo this should have been pushed via a PR (even a dummy one), not directly, to make changelog generation easier, as we already decided at the devmeet before last."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2161183","html_url":"https://github.com/openframeworks/openFrameworks/commit/81f3dd8493afe728f7736b81afbc223c4fc447dd#commitcomment-2161183","id":2161183,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"81f3dd8493afe728f7736b81afbc223c4fc447dd","created_at":"2012-11-15T20:47:14Z","updated_at":"2012-11-15T20:47:14Z","body":"yup - sorry, forgot! =)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2491342","html_url":"https://github.com/openframeworks/openFrameworks/commit/1d1ed0f306dfb68d28575bad6de0741350034fd5#commitcomment-2491342","id":2491342,"user":{"login":"rbencina","id":3253274,"avatar_url":"https://secure.gravatar.com/avatar/666a95f5725d92e6bf6ccc0c2c60db59?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"666a95f5725d92e6bf6ccc0c2c60db59","url":"https://api.github.com/users/rbencina","html_url":"https://github.com/rbencina","followers_url":"https://api.github.com/users/rbencina/followers","following_url":"https://api.github.com/users/rbencina/following{/other_user}","gists_url":"https://api.github.com/users/rbencina/gists{/gist_id}","starred_url":"https://api.github.com/users/rbencina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbencina/subscriptions","organizations_url":"https://api.github.com/users/rbencina/orgs","repos_url":"https://api.github.com/users/rbencina/repos","events_url":"https://api.github.com/users/rbencina/events{/privacy}","received_events_url":"https://api.github.com/users/rbencina/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1d1ed0f306dfb68d28575bad6de0741350034fd5","created_at":"2013-01-24T08:59:23Z","updated_at":"2013-01-24T08:59:23Z","body":"slightly different fix now in oscpack master: https://code.google.com/p/oscpack/source/detail?r=73#"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2491385","html_url":"https://github.com/openframeworks/openFrameworks/commit/1d1ed0f306dfb68d28575bad6de0741350034fd5#commitcomment-2491385","id":2491385,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"1d1ed0f306dfb68d28575bad6de0741350034fd5","created_at":"2013-01-24T09:09:26Z","updated_at":"2013-01-24T09:09:26Z","body":"thanks Ross, since it seems like you are doing some more changes, we'll probably wait till you have a new version or at least add all the changes and then go back to the official version."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2493956","html_url":"https://github.com/openframeworks/openFrameworks/commit/f2d660e61ff065ca7c08d8f5e4160a212247784f#commitcomment-2493956","id":2493956,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":35,"line":35,"path":"libs/openFrameworks/utils/ofFileUtils.h","commit_id":"f2d660e61ff065ca7c08d8f5e4160a212247784f","created_at":"2013-01-24T16:16:52Z","updated_at":"2013-01-24T16:16:52Z","body":"@arturoc @roxlu this just tripped me up nicely during a hunt for warnings - why does this not return an `unsigned` type, as many (all?) other `.size()` methods?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2569672","html_url":"https://github.com/openframeworks/openFrameworks/commit/19b5a6015375669b8f26bbed1792affe13533f08#commitcomment-2569672","id":2569672,"user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"19b5a6015375669b8f26bbed1792affe13533f08","created_at":"2013-02-06T12:40:26Z","updated_at":"2013-02-06T12:40:26Z","body":"This is also in https://github.com/openframeworks/openFrameworks/pull/1594/"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599405","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2599405","id":2599405,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-11T16:20:19Z","updated_at":"2013-02-11T16:20:19Z","body":"@benben might be useful to have this in archlinux, not super urgent, we can do it for next release but i think archlinux already packages gstreamer-1.0 as default"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599436","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2599436","id":2599436,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":15,"line":14,"path":"scripts/linux/ubuntu/install_codecs.sh","commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-11T16:25:10Z","updated_at":"2013-02-11T16:25:10Z","body":"shouldn't that say `libgstreamer1.0-dev`, @arturoc ?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599466","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2599466","id":2599466,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":15,"line":14,"path":"scripts/linux/ubuntu/install_codecs.sh","commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-11T16:29:19Z","updated_at":"2013-02-11T16:29:19Z","body":"yep, thanks!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599495","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2599495","id":2599495,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-11T16:33:09Z","updated_at":"2013-02-11T16:37:31Z","body":"@arturoc I don't get the logic here? are you just trying to select the gstreamer version which is already installed? or are you trying to see if a package is available in the package sources (as the commit message seems to say).\r\n\r\non my ubuntu32, with 0.10 installed, `dpkg-query -l libgstreamer0.10-dev` return status is 0 (it's installed), `dpkg-query -l libgstreamer1.0-dev` return status is 1, it's not installed, but available: \r\n```\r\napt-cache policy libgstreamer1.0-dev \r\nlibgstreamer1.0-dev:\r\n Installed: (none)\r\n Candidate: 1.0.1-1\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599658","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2599658","id":2599658,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-11T16:51:28Z","updated_at":"2013-02-11T16:51:28Z","body":"err, thanks :) i had those packages installed and thought it was detecting available packages. it should be fixed now but if you can double check"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599733","html_url":"https://github.com/openframeworks/openFrameworks/commit/191731ef6ca2de4495f6fd7ed7b28569a351d779#commitcomment-2599733","id":2599733,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"191731ef6ca2de4495f6fd7ed7b28569a351d779","created_at":"2013-02-11T17:01:44Z","updated_at":"2013-02-11T17:01:44Z","body":"@arturoc Apparently, a good way to check this is: `apt-cache show -n libgstreamer1.0-dev` (returns 0). `apt-cache show -n libgstreamer2.0-dev` (i.e. does not exist) returns 100. \r\nOr you could do `apt-cache search -n libgstreamer1.0-dev` which returns nothing if package isn't found. return value is always 0, though. \r\nbtw, those experiments so shortly before a release are probably better done via PRs? ;-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599806","html_url":"https://github.com/openframeworks/openFrameworks/commit/191731ef6ca2de4495f6fd7ed7b28569a351d779#commitcomment-2599806","id":2599806,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"191731ef6ca2de4495f6fd7ed7b28569a351d779","created_at":"2013-02-11T17:11:17Z","updated_at":"2013-02-11T17:11:17Z","body":"sure but thought it was an easy one :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599841","html_url":"https://github.com/openframeworks/openFrameworks/commit/191731ef6ca2de4495f6fd7ed7b28569a351d779#commitcomment-2599841","id":2599841,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"191731ef6ca2de4495f6fd7ed7b28569a351d779","created_at":"2013-02-11T17:15:50Z","updated_at":"2013-02-11T17:15:50Z","body":"have changed to your method the last one would have probably failed with non-english locales"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599926","html_url":"https://github.com/openframeworks/openFrameworks/commit/c54f74918b3532cecc943bc6270dd8a185d65b53#commitcomment-2599926","id":2599926,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":14,"path":"scripts/linux/debian/install_codecs.sh","commit_id":"c54f74918b3532cecc943bc6270dd8a185d65b53","created_at":"2013-02-11T17:26:49Z","updated_at":"2013-02-11T17:26:49Z","body":"i really hate to be nagging, but you're still Grepping here (and in the ubuntu codecs file)..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2599956","html_url":"https://github.com/openframeworks/openFrameworks/commit/c54f74918b3532cecc943bc6270dd8a185d65b53#commitcomment-2599956","id":2599956,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":14,"path":"scripts/linux/debian/install_codecs.sh","commit_id":"c54f74918b3532cecc943bc6270dd8a185d65b53","created_at":"2013-02-11T17:30:24Z","updated_at":"2013-02-11T17:30:24Z","body":"arghgg. thanks"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2600058","html_url":"https://github.com/openframeworks/openFrameworks/commit/0fd99ca732b827a80322449990f93b12a4a6304e#commitcomment-2600058","id":2600058,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":5,"line":14,"path":"scripts/linux/debian/install_codecs.sh","commit_id":"0fd99ca732b827a80322449990f93b12a4a6304e","created_at":"2013-02-11T17:41:20Z","updated_at":"2013-02-11T17:41:20Z","body":"feels like there's no end to this today, but have you tried this with a non-existing package? the output goes to `stderr` so it's not suppressed by plain `>`. you have to modify the redirect. it could be `2>` or `2>&1` or somesuch, i can't test unfortunately, I gotta run now."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2627278","html_url":"https://github.com/openframeworks/openFrameworks/commit/56caffc011ac2d8ed8c7b30d628aaf0429d704c3#commitcomment-2627278","id":2627278,"user":{"login":"benben","id":124513,"avatar_url":"https://secure.gravatar.com/avatar/6aed6a0dfa09b46d6fbd5149eb56def8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"6aed6a0dfa09b46d6fbd5149eb56def8","url":"https://api.github.com/users/benben","html_url":"https://github.com/benben","followers_url":"https://api.github.com/users/benben/followers","following_url":"https://api.github.com/users/benben/following{/other_user}","gists_url":"https://api.github.com/users/benben/gists{/gist_id}","starred_url":"https://api.github.com/users/benben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benben/subscriptions","organizations_url":"https://api.github.com/users/benben/orgs","repos_url":"https://api.github.com/users/benben/repos","events_url":"https://api.github.com/users/benben/events{/privacy}","received_events_url":"https://api.github.com/users/benben/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"56caffc011ac2d8ed8c7b30d628aaf0429d704c3","created_at":"2013-02-15T00:15:51Z","updated_at":"2013-02-15T00:15:51Z","body":"Archlinux comes with 1.0 by default, but still has the 0.10 ones in its official repositories. (https://www.archlinux.org/packages/?q=gstreamer)\r\n\r\nI've send a PR here: #1877 "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2629149","html_url":"https://github.com/openframeworks/openFrameworks/commit/dbdbd9197b4497ae7d1e9c4a3951f4b8170b2e32#commitcomment-2629149","id":2629149,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"dbdbd9197b4497ae7d1e9c4a3951f4b8170b2e32","created_at":"2013-02-15T09:30:31Z","updated_at":"2013-02-15T09:30:50Z","body":"@arturoc, did you check if the video examples compile with the gstreamer stuff changed?\r\nThe latest build fails many of the video-related examples (I can reproduce this on my machine with a fres pull from develop). the error is typically the same as [here](http://videosynthesis.net/oftesting/testruns/20130214_164427-v0.7.4/vagrant-ubuntu-12.10-64bit/tests/videoPlayerExample/) - undefined references to gst-* functions.\r\ncc @benben "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2671353","html_url":"https://github.com/openframeworks/openFrameworks/commit/619d8a84525f62592a326d04e10a2750916d6ab3#commitcomment-2671353","id":2671353,"user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following{/other_user}","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"position":5,"line":12,"path":"examples/android/androidImageExample/AndroidManifest.xml","commit_id":"619d8a84525f62592a326d04e10a2750916d6ab3","created_at":"2013-02-22T01:24:14Z","updated_at":"2013-02-22T01:24:14Z","body":"don't we need this in order to copy the stuff from bin/data into the right directory?\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2674156","html_url":"https://github.com/openframeworks/openFrameworks/commit/619d8a84525f62592a326d04e10a2750916d6ab3#commitcomment-2674156","id":2674156,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":12,"path":"examples/android/androidImageExample/AndroidManifest.xml","commit_id":"619d8a84525f62592a326d04e10a2750916d6ab3","created_at":"2013-02-22T12:50:17Z","updated_at":"2013-02-22T12:50:17Z","body":"not anymore since now data is in /sdcard/Android/data/pkgname which is considered the app data folder so the app has permissions to write there"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2679326","html_url":"https://github.com/openframeworks/openFrameworks/commit/619d8a84525f62592a326d04e10a2750916d6ab3#commitcomment-2679326","id":2679326,"user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following{/other_user}","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"position":5,"line":12,"path":"examples/android/androidImageExample/AndroidManifest.xml","commit_id":"619d8a84525f62592a326d04e10a2750916d6ab3","created_at":"2013-02-23T03:59:08Z","updated_at":"2013-02-23T03:59:08Z","body":"I thought getFilesDir( ) was the internal app data folder. We're still using getExternalStorageDirectory( ) and those hardcoded paths to get to /sdcard/Android/data/pkgname, which I think is external ... I'm gonna open an Issue and we can continue there.... : ) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2698856","html_url":"https://github.com/openframeworks/openFrameworks/commit/2670d6a86526f66e6e4ac88ad35635581bcf27aa#commitcomment-2698856","id":2698856,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":4,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"2670d6a86526f66e6e4ac88ad35635581bcf27aa","created_at":"2013-02-26T20:26:13Z","updated_at":"2013-02-26T20:27:01Z","body":"@arturoc you removed the `libjack-jackd2-dev` installation here (and in debian) - why?\r\na user currently (on IRC) has problems running 0.7.4 (the cameraRibbonExample) - it wants jack: https://gist.github.com/joar/11c78c23b52a7f3633f1 what's up with that?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2702813","html_url":"https://github.com/openframeworks/openFrameworks/commit/2670d6a86526f66e6e4ac88ad35635581bcf27aa#commitcomment-2702813","id":2702813,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":4,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"2670d6a86526f66e6e4ac88ad35635581bcf27aa","created_at":"2013-02-27T08:59:19Z","updated_at":"2013-02-27T08:59:19Z","body":"the problem is not here but in the makefile, i removed jack because portaudio which was the library that needed jack is installed now through apt-get so it should handle the dependencies itself in case it needs jack but it doesn't. the makefile still tries to link against jack so pkg-config fails\r\n\r\ni'm removing it from the new makefiles"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2702921","html_url":"https://github.com/openframeworks/openFrameworks/commit/2670d6a86526f66e6e4ac88ad35635581bcf27aa#commitcomment-2702921","id":2702921,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":4,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"2670d6a86526f66e6e4ac88ad35635581bcf27aa","created_at":"2013-02-27T09:14:22Z","updated_at":"2013-02-27T09:14:22Z","body":"Ah I see, thanks. \r\nAlso, in that gist, that guy had problems with Cairo, but he showed that cairo was installed - he had to add something to the makefile manually. I guess that is irrelevant anyway in the new makefile system? Sorry, that was on IRC, I don't have the log anymore."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2702959","html_url":"https://github.com/openframeworks/openFrameworks/commit/2670d6a86526f66e6e4ac88ad35635581bcf27aa#commitcomment-2702959","id":2702959,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":4,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"2670d6a86526f66e6e4ac88ad35635581bcf27aa","created_at":"2013-02-27T09:19:13Z","updated_at":"2013-02-27T09:19:13Z","body":"yes the problem is that if any of the libraries in the pkg-config call fails everything else will fail, most libraries don't need special includes but cairo does, and it set it up through pkg-config so it's probably also failing because of jack not being present. all should be fixed in the new makefiles"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2703004","html_url":"https://github.com/openframeworks/openFrameworks/commit/2670d6a86526f66e6e4ac88ad35635581bcf27aa#commitcomment-2703004","id":2703004,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":4,"line":13,"path":"scripts/linux/ubuntu/install_dependencies.sh","commit_id":"2670d6a86526f66e6e4ac88ad35635581bcf27aa","created_at":"2013-02-27T09:25:37Z","updated_at":"2013-02-27T09:25:37Z","body":"great, thanks. :-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2721497","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-2721497","id":2721497,"user":{"login":"SoylentGraham","id":2184197,"avatar_url":"https://secure.gravatar.com/avatar/9c4381dbaf7664c1fd5b198e807bfa16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"9c4381dbaf7664c1fd5b198e807bfa16","url":"https://api.github.com/users/SoylentGraham","html_url":"https://github.com/SoylentGraham","followers_url":"https://api.github.com/users/SoylentGraham/followers","following_url":"https://api.github.com/users/SoylentGraham/following{/other_user}","gists_url":"https://api.github.com/users/SoylentGraham/gists{/gist_id}","starred_url":"https://api.github.com/users/SoylentGraham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SoylentGraham/subscriptions","organizations_url":"https://api.github.com/users/SoylentGraham/orgs","repos_url":"https://api.github.com/users/SoylentGraham/repos","events_url":"https://api.github.com/users/SoylentGraham/events{/privacy}","received_events_url":"https://api.github.com/users/SoylentGraham/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-03-01T12:45:52Z","updated_at":"2013-03-01T12:45:52Z","body":"ofLogError() << \"init windows\";\r\n\r\nCan we change this to something more appropriate? \"Init windows\" isn't really an error message...\r\n\r\nperhaps\r\nofLogVerbose() << \"ofTrueTypeFont::initWindows()\" if it really needs some logging..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2721703","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-2721703","id":2721703,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-03-01T13:28:05Z","updated_at":"2013-03-01T13:28:05Z","body":"that sounds totally reasonable, if you could submit a pull request for that change we can merge it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2722019","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-2722019","id":2722019,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-03-01T14:18:09Z","updated_at":"2013-03-01T14:18:09Z","body":"actually you can remove that line, i used it for testing while developing and then forgot to remove it"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2722088","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-2722088","id":2722088,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-03-01T14:32:21Z","updated_at":"2013-03-01T14:32:21Z","body":"ah, even better :)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2731538","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2731538","id":2731538,"user":{"login":"rbencina","id":3253274,"avatar_url":"https://secure.gravatar.com/avatar/666a95f5725d92e6bf6ccc0c2c60db59?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"666a95f5725d92e6bf6ccc0c2c60db59","url":"https://api.github.com/users/rbencina","html_url":"https://github.com/rbencina","followers_url":"https://api.github.com/users/rbencina/followers","following_url":"https://api.github.com/users/rbencina/following{/other_user}","gists_url":"https://api.github.com/users/rbencina/gists{/gist_id}","starred_url":"https://api.github.com/users/rbencina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbencina/subscriptions","organizations_url":"https://api.github.com/users/rbencina/orgs","repos_url":"https://api.github.com/users/rbencina/repos","events_url":"https://api.github.com/users/rbencina/events{/privacy}","received_events_url":"https://api.github.com/users/rbencina/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T06:18:17Z","updated_at":"2013-03-04T06:18:17Z","body":"Now in oscpack repo revision-86. Note client must call SetAllowReuse(true) and SetEnableBroadcast(true) explicitly -- maybe you guys want to call those in the ctor. See:\r\nhttps://code.google.com/p/oscpack/source/detail?r=86"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2731544","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2731544","id":2731544,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T06:21:51Z","updated_at":"2013-03-04T06:21:51Z","body":"awesome, thanks ross! @bilderbuchi do you think you could check + integrate these changes to oscpack?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2731585","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2731585","id":2731585,"user":{"login":"rbencina","id":3253274,"avatar_url":"https://secure.gravatar.com/avatar/666a95f5725d92e6bf6ccc0c2c60db59?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"666a95f5725d92e6bf6ccc0c2c60db59","url":"https://api.github.com/users/rbencina","html_url":"https://github.com/rbencina","followers_url":"https://api.github.com/users/rbencina/followers","following_url":"https://api.github.com/users/rbencina/following{/other_user}","gists_url":"https://api.github.com/users/rbencina/gists{/gist_id}","starred_url":"https://api.github.com/users/rbencina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbencina/subscriptions","organizations_url":"https://api.github.com/users/rbencina/orgs","repos_url":"https://api.github.com/users/rbencina/repos","events_url":"https://api.github.com/users/rbencina/events{/privacy}","received_events_url":"https://api.github.com/users/rbencina/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T06:40:23Z","updated_at":"2013-03-04T06:40:23Z","body":"@kylemcdonald @bilderbuchi note that integrating is going to be a bit fun due to many recent changes. things are still in flux today. i'm going to try to push out a 1.1RC1 in the next few days. If someone wants to act as the contact point send me an email and I can keep you updated about progress. i'd prefer to coordinate with a single contact, and via email, if that's doable. cheers."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2732035","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2732035","id":2732035,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T09:04:01Z","updated_at":"2013-03-04T09:04:55Z","body":"@kylemcdonald sorry, I'm a bit swamped with a couple other projects, so it will be some time until I can look at this more closely. I think I could start ~after Resonate or so.\r\nWaiting for the RC (or release) will not be a problem, @rbencina. \r\n@kylemcdonald I think it makes most sense to wait with integration until the new makefile system lands in OF-develop (which will happen soon). maybe we can then avoid renaming the `posix/UdpSocket.cpp`, `win32/UdpSocket.cpp` to resolve the ambiguous filenames, cause the new makefile system allows for finer-grained control of source inclusions. I don't know if the IDE-based projects (xcode, VS, C::B) will play ball, though - thoughts?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2732043","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2732043","id":2732043,"user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T09:05:14Z","updated_at":"2013-03-04T09:05:14Z","body":"that's totally reasonable, let's wait for the new makefiles to avoid duplication of effort. right now the fix exists in OF, we just need to integrate from the official oscpack codebase -- so it's not urgent."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2732082","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2732082","id":2732082,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T09:13:28Z","updated_at":"2013-03-04T09:13:28Z","body":"alright. I'm already curious if #701 is fixed with the new oscpack version. will have to try that again and see if it still occurs."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2732125","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2732125","id":2732125,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T09:23:21Z","updated_at":"2013-03-04T09:23:31Z","body":"OK I opened #1911 for further discussion/planning, please continue there - any wisdom is bound to get lost in those discussions in commit comments."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2732132","html_url":"https://github.com/openframeworks/openFrameworks/commit/af9dedb122358b2f856893eee477350facec93c1#commitcomment-2732132","id":2732132,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"af9dedb122358b2f856893eee477350facec93c1","created_at":"2013-03-04T09:24:35Z","updated_at":"2013-03-04T09:24:35Z","body":"@rbencina let me know: arturo at openframeworks cc i think those changes it's all we need. as soon as you have a stable version we'll remove our custom version and move to the official again. thanks!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2773971","html_url":"https://github.com/openframeworks/openFrameworks/commit/3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421#commitcomment-2773971","id":2773971,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421","created_at":"2013-03-10T12:05:02Z","updated_at":"2013-03-10T12:05:02Z","body":"so @ofTheo why was this done this way, again, as opposed to #1889? was this based on some discussion not on github? also, was changing the other types really necessary, wasn't only `BOOL` the offending type?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2774119","html_url":"https://github.com/openframeworks/openFrameworks/commit/3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421#commitcomment-2774119","id":2774119,"user":{"login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421","created_at":"2013-03-10T13:59:55Z","updated_at":"2013-03-10T13:59:55Z","body":"Hi @bilderbuchi \r\nthe fix didn't seem to work for vs2010 ( maybe cb too )\r\n\r\nalso I think the person submitting only had an issue with the BOOL typedef - but I believe I had issues with the the others ( maybe on windows ) at some point. \r\n\r\nanyway I think this approach is cleaner as it doesn't change the functions names at all. \r\nand we know it works at least as we've been doing it this way for loads of releases. :) \r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/2774179","html_url":"https://github.com/openframeworks/openFrameworks/commit/3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421#commitcomment-2774179","id":2774179,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"3a76bf10bc8d19a6a6a7d061c13cda77f4fb6421","created_at":"2013-03-10T14:22:02Z","updated_at":"2013-03-10T14:24:10Z","body":"> the fix didn't seem to work for vs2010 ( maybe cb too )\r\n\r\ndid @danthemellowman ever nail his problems down to this PR? did your revert fix his problems?\r\n\r\n> but I *believe* I had issues with the the others ( *maybe* on windows ) *at some point*. \r\n\r\nWell, that sounds like some baggage (in the shape of downstream patches) we have to maintain which is potentially unnecessarily dragged along, but I have of course no way to falsify that. \r\nalso, not only the submitter of our PR, but also the submitter of the bug against freeimage only had issues with BOOL, that's why I asked for clarification, to confirm if multiple types are affected.\r\n\r\n> it doesn't change the functions names\r\n\r\nthe function *names* were not changed with the PR's approach, either - only the signatures were, and not even those I think because of the typedefs (but I have not verified that).\r\n\r\ncleaner - I still think this way could leak wrong preprocessor defines into code outside freeimage, which doesn't look cleaner to me, but I made that point in the PR discussion already. ;-)\r\n\r\nanyway, let's leave it like it is and hope no other problems will crop up..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3007948","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-3007948","id":3007948,"user":{"login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-04-14T12:58:57Z","updated_at":"2013-04-14T12:58:57Z","body":"Looks great!\r\nlove `OF_TTF_MONO`, etc"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3007979","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-3007979","id":3007979,"user":{"login":"LeoColomb","id":846943,"avatar_url":"https://secure.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-04-14T13:21:49Z","updated_at":"2013-04-14T13:23:19Z","body":"Yes, it's amazing!\r\nBut I have a question: at the line [251 in ofTrueTypeFont.cpp](https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#L0R251) we have `ofLogError() << \"init windows\";`.\r\nSo is that normal the initialization for Windows is said/printed as an error?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3008039","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-3008039","id":3008039,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-04-14T14:06:04Z","updated_at":"2013-04-14T14:06:04Z","body":"@LeoColomb: look a couple comments above yours ;-)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3008044","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-3008044","id":3008044,"user":{"login":"LeoColomb","id":846943,"avatar_url":"https://secure.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-04-14T14:12:33Z","updated_at":"2013-04-14T14:12:33Z","body":"lol, ok, sorry for laziness (is that the good word?). And thanks :-)"}] - -https -GET -api.github.com -None -/repositories/345337/comments?per_page=100&page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4873'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '41072'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 19 Jun 2013 09:59:24 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"0f8eacc05056152f14ecb311a50a7081"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 19 Jun 2013 10:31:36 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3008052","html_url":"https://github.com/openframeworks/openFrameworks/commit/f85ba9b28faeb75ddb649bd45758166d707c6c56#commitcomment-3008052","id":3008052,"user":{"login":"LeoColomb","id":846943,"avatar_url":"https://secure.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"f85ba9b28faeb75ddb649bd45758166d707c6c56","created_at":"2013-04-14T14:19:35Z","updated_at":"2013-04-14T14:19:35Z","body":"So I remove it in 45cea8a ."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3093644","html_url":"https://github.com/openframeworks/openFrameworks/commit/09d269e069dc8d9240a868e8247f416ce4607bbc#commitcomment-3093644","id":3093644,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"09d269e069dc8d9240a868e8247f416ce4607bbc","created_at":"2013-04-26T09:34:28Z","updated_at":"2013-04-26T09:34:28Z","body":"@arturoc what problem does this fix? I'm asking because there is a rising amount of thread about CB problems on the forum, I wonder if some of those would be fixed with this. \r\nAlso, `execution_dir` has a user-specific path (`/home/arturo/...`), is that correct?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3093671","html_url":"https://github.com/openframeworks/openFrameworks/commit/09d269e069dc8d9240a868e8247f416ce4607bbc#commitcomment-3093671","id":3093671,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"09d269e069dc8d9240a868e8247f416ce4607bbc","created_at":"2013-04-26T09:40:08Z","updated_at":"2013-04-26T09:40:08Z","body":"no it'2 not correct, thanks. this fixes the new location of makefiles where the cbp and the makefile are not in the same directory anymore"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3216263","html_url":"https://github.com/openframeworks/openFrameworks/commit/5564ad9b3f7efa00c8939409f2b3653d82e9e34e#commitcomment-3216263","id":3216263,"user":{"login":"LeoColomb","id":846943,"avatar_url":"https://secure.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"position":9,"line":10,"path":"scripts/dev/create_package.sh","commit_id":"5564ad9b3f7efa00c8939409f2b3653d82e9e34e","created_at":"2013-05-15T10:30:18Z","updated_at":"2013-05-15T10:30:18Z","body":"I'm not sure, but is it not supposed to compile develop branch from `openframeworks/openFrameworks`? "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3431119","html_url":"https://github.com/openframeworks/openFrameworks/commit/39ca3785538ed4a027ea3ac7db23d92dbed4231c#commitcomment-3431119","id":3431119,"user":{"login":"diasbruno","id":362368,"avatar_url":"https://secure.gravatar.com/avatar/2d1142788375ac52dde09815838a0710?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2d1142788375ac52dde09815838a0710","url":"https://api.github.com/users/diasbruno","html_url":"https://github.com/diasbruno","followers_url":"https://api.github.com/users/diasbruno/followers","following_url":"https://api.github.com/users/diasbruno/following{/other_user}","gists_url":"https://api.github.com/users/diasbruno/gists{/gist_id}","starred_url":"https://api.github.com/users/diasbruno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diasbruno/subscriptions","organizations_url":"https://api.github.com/users/diasbruno/orgs","repos_url":"https://api.github.com/users/diasbruno/repos","events_url":"https://api.github.com/users/diasbruno/events{/privacy}","received_events_url":"https://api.github.com/users/diasbruno/received_events","type":"User"},"position":5,"line":41,"path":"libs/openFrameworks/utils/ofUtils.h","commit_id":"39ca3785538ed4a027ea3ac7db23d92dbed4231c","created_at":"2013-06-15T10:55:42Z","updated_at":"2013-06-15T10:55:42Z","body":"hey @bakercp, should ofLaunchBrowser return bool?\r\n\r\n```\r\nif (ofLaunchBrowser(url)) {...}\r\nelse { /* failed to launch the browser. */ }\r\n```\r\n\r\nunfortunately, i lost this patch when i clean up my oF repo. sorry..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3431260","html_url":"https://github.com/openframeworks/openFrameworks/commit/39ca3785538ed4a027ea3ac7db23d92dbed4231c#commitcomment-3431260","id":3431260,"user":{"login":"bakercp","id":300484,"avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"position":5,"line":41,"path":"libs/openFrameworks/utils/ofUtils.h","commit_id":"39ca3785538ed4a027ea3ac7db23d92dbed4231c","created_at":"2013-06-15T12:19:54Z","updated_at":"2013-06-15T12:19:54Z","body":"It seems like a good idea to me if you can figure out a good way to consistently return success across platforms. Perhaps POCO's processes wrappers could help http://pocoproject.org/slides/150-Processes.pdf."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3431267","html_url":"https://github.com/openframeworks/openFrameworks/commit/39ca3785538ed4a027ea3ac7db23d92dbed4231c#commitcomment-3431267","id":3431267,"user":{"login":"diasbruno","id":362368,"avatar_url":"https://secure.gravatar.com/avatar/2d1142788375ac52dde09815838a0710?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2d1142788375ac52dde09815838a0710","url":"https://api.github.com/users/diasbruno","html_url":"https://github.com/diasbruno","followers_url":"https://api.github.com/users/diasbruno/followers","following_url":"https://api.github.com/users/diasbruno/following{/other_user}","gists_url":"https://api.github.com/users/diasbruno/gists{/gist_id}","starred_url":"https://api.github.com/users/diasbruno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diasbruno/subscriptions","organizations_url":"https://api.github.com/users/diasbruno/orgs","repos_url":"https://api.github.com/users/diasbruno/repos","events_url":"https://api.github.com/users/diasbruno/events{/privacy}","received_events_url":"https://api.github.com/users/diasbruno/received_events","type":"User"},"position":5,"line":41,"path":"libs/openFrameworks/utils/ofUtils.h","commit_id":"39ca3785538ed4a027ea3ac7db23d92dbed4231c","created_at":"2013-06-15T12:26:51Z","updated_at":"2013-06-15T12:26:51Z","body":"sure. thanks for the link."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3432153","html_url":"https://github.com/openframeworks/openFrameworks/commit/0361224e24657a33eea1e10481c73f21347bd733#commitcomment-3432153","id":3432153,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":5,"line":889,"path":"libs/openFrameworks/graphics/ofGraphics.cpp","commit_id":"0361224e24657a33eea1e10481c73f21347bd733","created_at":"2013-06-15T21:10:42Z","updated_at":"2013-06-15T21:10:42Z","body":"we should check the examples, there's probably some example still using this version"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3432204","html_url":"https://github.com/openframeworks/openFrameworks/commit/6d9c4cdb031c0a3b9b53689b331164488a55b4bf#commitcomment-3432204","id":3432204,"user":{"login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"position":23,"line":672,"path":"libs/openFrameworks/gl/ofTexture.cpp","commit_id":"6d9c4cdb031c0a3b9b53689b331164488a55b4bf","created_at":"2013-06-15T21:43:42Z","updated_at":"2013-06-15T21:43:42Z","body":"this will be a problem with openGL ES and textures that are non power of 2 since tex_w/h is different than width/height always so it'll reallocate every frame\r\n\r\nalso you can upload data to a texture that is bigger to what you are uploading\r\n\r\nperhaps w(path)\r\n\r\nwe could add a default value like we had in ofxXmlSettings\r\n\r\n getValue(path,default)\r\n\r\nor even specialize the function for the most common types:\r\n\r\n string getStringValue(string path)\r\n int getIntValue(string path)\r\n ....\r\n\r\nwhich internally call the templated version, i think this last one is the best, it's what we are using in ofParameter already and makes it less ambiguous than a default parameter for things like float..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3436737","html_url":"https://github.com/openframeworks/openFrameworks/commit/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3#commitcomment-3436737","id":3436737,"user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following{/other_user}","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"381fd1e7a5772b55f1991a8e3508c549f0d4d3d3","created_at":"2013-06-17T10:14:10Z","updated_at":"2013-06-17T10:23:14Z","body":"yeah... default and/or specialized functions.\r\n\r\nbecause right now [this](https://github.com/openframeworks/openFrameworks/blob/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3/libs/openFrameworks/types/ofXml.h#L206) makes it so that the only valid return type for getValue is string... : ) \r\n\r\nI can take a stab at this after work today.\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3436861","html_url":"https://github.com/openframeworks/openFrameworks/commit/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3#commitcomment-3436861","id":3436861,"user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following{/other_user}","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"381fd1e7a5772b55f1991a8e3508c549f0d4d3d3","created_at":"2013-06-17T10:37:31Z","updated_at":"2013-06-17T10:37:31Z","body":"one more thing: addValue( ) is declared void, but it tries to return true/false in a couple of places:\r\n[L152](https://github.com/openframeworks/openFrameworks/blob/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3/libs/openFrameworks/types/ofXml.h#L152)\r\n[L161](https://github.com/openframeworks/openFrameworks/blob/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3/libs/openFrameworks/types/ofXml.h#L161)\r\n..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3437167","html_url":"https://github.com/openframeworks/openFrameworks/commit/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3#commitcomment-3437167","id":3437167,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"381fd1e7a5772b55f1991a8e3508c549f0d4d3d3","created_at":"2013-06-17T11:21:58Z","updated_at":"2013-06-17T11:21:58Z","body":"interestingly, my compilation (gcc/Eclipse) doesn't even pick that up... there's a load of other warnings, though."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3438912","html_url":"https://github.com/openframeworks/openFrameworks/commit/381fd1e7a5772b55f1991a8e3508c549f0d4d3d3#commitcomment-3438912","id":3438912,"user":{"login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following{/other_user}","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"381fd1e7a5772b55f1991a8e3508c549f0d4d3d3","created_at":"2013-06-17T15:11:16Z","updated_at":"2013-06-17T15:13:48Z","body":"Hmm, this is why I kind of didn't want to do those templates in the first place :/ \r\n\r\nMy thought is \"XML is strings, it should only work with strings because that's all it is inside\". I also purposely didn't do getAsString, getAsInt, getAsFloat, getAsLong because it should be just \"get the value\" I think to keep it simple and clean: get the value, which is a string, and do something with it. A template seems like a nice compromise, but if supporting C++11 and 98 means there's no way to do it without `getValue()` then I guess it doesn't fit with the rest of core very well.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3453546","html_url":"https://github.com/openframeworks/openFrameworks/commit/17ecca4d264194652ade119b491c65920a239fc6#commitcomment-3453546","id":3453546,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"17ecca4d264194652ade119b491c65920a239fc6","created_at":"2013-06-18T23:46:04Z","updated_at":"2013-06-18T23:46:04Z","body":"hey this PR removed,\r\n`ofBaseSoundPlayer.cpp`\r\n`ofBaseSoundStream.cpp`\r\n`ofPoint.cpp`\r\n\r\nxcode is complaining not being able to find those files.\r\njust want to double check that this is correct before i update the xcode project."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3453566","html_url":"https://github.com/openframeworks/openFrameworks/commit/17ecca4d264194652ade119b491c65920a239fc6#commitcomment-3453566","id":3453566,"user":{"login":"thiagohersan","id":850815,"avatar_url":"https://secure.gravatar.com/avatar/b3d17564d4e5a5b5925aab9c8af761cf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b3d17564d4e5a5b5925aab9c8af761cf","url":"https://api.github.com/users/thiagohersan","html_url":"https://github.com/thiagohersan","followers_url":"https://api.github.com/users/thiagohersan/followers","following_url":"https://api.github.com/users/thiagohersan/following{/other_user}","gists_url":"https://api.github.com/users/thiagohersan/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagohersan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagohersan/subscriptions","organizations_url":"https://api.github.com/users/thiagohersan/orgs","repos_url":"https://api.github.com/users/thiagohersan/repos","events_url":"https://api.github.com/users/thiagohersan/events{/privacy}","received_events_url":"https://api.github.com/users/thiagohersan/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"17ecca4d264194652ade119b491c65920a239fc6","created_at":"2013-06-18T23:48:55Z","updated_at":"2013-06-18T23:48:55Z","body":"#2129 should fix this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3453625","html_url":"https://github.com/openframeworks/openFrameworks/commit/17ecca4d264194652ade119b491c65920a239fc6#commitcomment-3453625","id":3453625,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"17ecca4d264194652ade119b491c65920a239fc6","created_at":"2013-06-18T23:58:46Z","updated_at":"2013-06-18T23:58:46Z","body":"ok, ill put together another PR like that one for iOS."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/comments/3454214","html_url":"https://github.com/openframeworks/openFrameworks/commit/17ecca4d264194652ade119b491c65920a239fc6#commitcomment-3454214","id":3454214,"user":{"login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","html_url":"https://github.com/julapy","followers_url":"https://api.github.com/users/julapy/followers","following_url":"https://api.github.com/users/julapy/following{/other_user}","gists_url":"https://api.github.com/users/julapy/gists{/gist_id}","starred_url":"https://api.github.com/users/julapy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julapy/subscriptions","organizations_url":"https://api.github.com/users/julapy/orgs","repos_url":"https://api.github.com/users/julapy/repos","events_url":"https://api.github.com/users/julapy/events{/privacy}","received_events_url":"https://api.github.com/users/julapy/received_events","type":"User"},"position":null,"line":null,"path":null,"commit_id":"17ecca4d264194652ade119b491c65920a239fc6","created_at":"2013-06-19T01:47:33Z","updated_at":"2013-06-19T01:47:33Z","body":"ive fixed this issue on ios here #2131 "}] - diff --git a/github/tests/ReplayData/PaginatedList.testGetFirstPage.txt b/github/tests/ReplayData/PaginatedList.testGetFirstPage.txt deleted file mode 100644 index 483013e..0000000 --- a/github/tests/ReplayData/PaginatedList.testGetFirstPage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b3b3a8bd17d4ed7557040a218c1db573"'), ('date', 'Tue, 29 May 2012 19:36:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofStringUtils:: feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","comments":6,"assignee":null,"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","number":1132,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3911629,"closed_at":null,"created_at":"2012-03-31T17:52:48Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTTF feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","comments":25,"assignee":null,"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","number":1131,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography"}],"id":3911537,"closed_at":null,"created_at":"2012-03-31T17:36:25Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Define standard header for examples.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","comments":0,"assignee":null,"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","number":1130,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","labels":[{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"cccc29","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3910580,"closed_at":null,"created_at":"2012-03-31T14:44:01Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","comments":5,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","number":1129,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3910555,"closed_at":null,"created_at":"2012-03-31T14:39:04Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"upgrade scripts","html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","comments":1,"assignee":null,"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","number":1128,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3910549,"closed_at":null,"created_at":"2012-03-31T14:38:19Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG Feature request: Clean examples folder","html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","comments":0,"assignee":null,"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","number":1126,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3897090,"closed_at":null,"created_at":"2012-03-30T12:51:30Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","comments":0,"assignee":null,"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","number":1124,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3883598,"closed_at":null,"created_at":"2012-03-29T16:47:29Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"7398ab0bbd07832d0289f26773e65077","url":"https://api.github.com/users/imanhp","login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","comments":2,"assignee":null,"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","number":1120,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3856005,"closed_at":null,"created_at":"2012-03-28T16:21:45Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Default paths.make for Android","html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","comments":0,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","number":1118,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2bc4ad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android"}],"id":3850655,"closed_at":null,"created_at":"2012-03-28T12:19:39Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Can't retrieve desired frame rate once set","html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","comments":0,"assignee":null,"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","number":1117,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3825582,"closed_at":null,"created_at":"2012-03-27T11:48:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"37aca214d4875cd90af9d67072c82642","url":"https://api.github.com/users/vade","login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVBO updateIndexData incorrect buffer type.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","comments":5,"assignee":null,"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","number":1116,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3813852,"closed_at":null,"created_at":"2012-03-26T18:26:05Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"optimization level in xcode projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","comments":3,"assignee":null,"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","number":1115,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","labels":[{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"}],"id":3812318,"closed_at":null,"created_at":"2012-03-26T17:05:14Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"macros in ofArduino","html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","comments":1,"assignee":{"gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","number":1114,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":3812275,"closed_at":null,"created_at":"2012-03-26T17:02:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","url":"https://api.github.com/users/OlexandrStepanov","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Issue with QtKitMovieGrabberExample in apps/devapps","html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","comments":9,"assignee":null,"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","number":1112,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3807459,"closed_at":null,"created_at":"2012-03-26T12:11:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add a simple regex function like ofSplitString()","html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","comments":1,"assignee":null,"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","number":1110,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3799872,"closed_at":null,"created_at":"2012-03-25T18:56:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"mac paths don't seem right until you call \"ofToDataPath()\"","html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","comments":3,"assignee":null,"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","number":1109,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3799653,"closed_at":null,"created_at":"2012-03-25T18:18:28Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCam weird behavior when target changed","html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","comments":7,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","number":1108,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3795495,"closed_at":null,"created_at":"2012-03-25T00:01:54Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG feature request: Generate makefile-only projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","comments":1,"assignee":null,"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","number":1103,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3754055,"closed_at":null,"created_at":"2012-03-21T21:43:34Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"feature / bug - #pragma omp critical(ofLog)","html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","comments":3,"assignee":null,"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","number":1098,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3710293,"closed_at":null,"created_at":"2012-03-19T14:04:51Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","comments":2,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","number":1075,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3662214,"closed_at":null,"created_at":"2012-03-15T07:54:55Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/manuelgeoffray","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Alpha movies in GStreamer","html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","comments":6,"assignee":null,"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","number":1070,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3647640,"closed_at":null,"created_at":"2012-03-14T13:02:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Continuous integration","html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","comments":10,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","number":1068,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3631618,"closed_at":null,"created_at":"2012-03-13T15:49:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Automatic installer + dependencies handler","html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","comments":7,"assignee":null,"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","number":1063,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3627067,"closed_at":null,"created_at":"2012-03-13T10:44:57Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"regularize code for math addons","html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","comments":4,"assignee":null,"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","number":1062,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3614231,"closed_at":null,"created_at":"2012-03-12T16:33:06Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVertexes?? ofCurveVertexes","html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","comments":18,"assignee":null,"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","number":1055,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3605277,"closed_at":null,"created_at":"2012-03-12T01:50:19Z"}] - diff --git a/github/tests/ReplayData/PaginatedList.testGettingTheReversedListDoesNotModifyTheOriginalList.txt b/github/tests/ReplayData/PaginatedList.testGettingTheReversedListDoesNotModifyTheOriginalList.txt deleted file mode 100644 index b919573..0000000 --- a/github/tests/ReplayData/PaginatedList.testGettingTheReversedListDoesNotModifyTheOriginalList.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '100300'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 10:42:46 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"ff413c4ac1c8950a3c117d577119cd9e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 10:54:13 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377085393')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2496","id":18345408,"number":2496,"title":"ofColor == and != operators ignore alpha","user":{"login":"rbeitra","id":78566,"avatar_url":"https://1.gravatar.com/avatar/e70c7c24ab262f6f057820f2f35edab7?d=https%3A%2F%2Fidenticons.github.com%2Fa32bc8141e168ff20fdfe3f0fbc72155.png","gravatar_id":"e70c7c24ab262f6f057820f2f35edab7","url":"https://api.github.com/users/rbeitra","html_url":"https://github.com/rbeitra","followers_url":"https://api.github.com/users/rbeitra/followers","following_url":"https://api.github.com/users/rbeitra/following{/other_user}","gists_url":"https://api.github.com/users/rbeitra/gists{/gist_id}","starred_url":"https://api.github.com/users/rbeitra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbeitra/subscriptions","organizations_url":"https://api.github.com/users/rbeitra/orgs","repos_url":"https://api.github.com/users/rbeitra/repos","events_url":"https://api.github.com/users/rbeitra/events{/privacy}","received_events_url":"https://api.github.com/users/rbeitra/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-21T10:02:25Z","updated_at":"2013-08-21T10:02:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently the == and != operators for ofColor only compare rgb, the alpha value is ignored. Is there a good reason why this is happening? Are many users expecting alpha to be ignored?\r\n\r\nI can think of 2 solutions here. Ideally:\r\n- fix these operator functions to also compare alpha\r\n\r\nOr if that will break things for people then at least:\r\n- add a new function (ofColor::equalsRGBA()?) which does it\r\n\r\n\r\nhttps://github.com/openframeworks/openFrameworks/blob/57f7670e594758ef36d75cf896da003f6081bd75/libs/openFrameworks/types/ofColor.cpp#L545\r\nhttps://github.com/openframeworks/openFrameworks/blob/57f7670e594758ef36d75cf896da003f6081bd75/libs/openFrameworks/types/ofColor.cpp#L551"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2495","id":18340779,"number":2495,"title":"ofHideCursor() not working on OSX 10.8 (v0.8.0)","user":{"login":"comoc","id":843396,"avatar_url":"https://1.gravatar.com/avatar/c5d3d0065be3563bd1361cca886b80d9?d=https%3A%2F%2Fidenticons.github.com%2F9bd74aa54d59a3ddcfc282a365dbe453.png","gravatar_id":"c5d3d0065be3563bd1361cca886b80d9","url":"https://api.github.com/users/comoc","html_url":"https://github.com/comoc","followers_url":"https://api.github.com/users/comoc/followers","following_url":"https://api.github.com/users/comoc/following{/other_user}","gists_url":"https://api.github.com/users/comoc/gists{/gist_id}","starred_url":"https://api.github.com/users/comoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/comoc/subscriptions","organizations_url":"https://api.github.com/users/comoc/orgs","repos_url":"https://api.github.com/users/comoc/repos","events_url":"https://api.github.com/users/comoc/events{/privacy}","received_events_url":"https://api.github.com/users/comoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-21T08:04:26Z","updated_at":"2013-08-21T08:21:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofHideCursor() seems not working on Mac OS X 10.8 with of_v0.8.0_osx_release.\r\n```c++\r\nvoid testApp::setup(){\r\n ofHideCursor(); // <- The cursor is still shown.\r\n}\r\n```\r\nFor reference, I tried following code, then works fine.\r\n```c++\r\nvoid testApp::setup(){\r\nifdef __APPLE__\r\n CGDisplayHideCursor(NULL); // <- OK\r\n#endif\r\n}\r\n```\r\nCompiled with Xcode 4.6.2."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2494","id":18335634,"number":2494,"title":"targetconditionals.h not found error in XCode with openframeworks 0.8","user":{"login":"Jiffer","id":2372348,"avatar_url":"https://1.gravatar.com/avatar/1a4365e1a5be1e4b894f60f2add73c6f?d=https%3A%2F%2Fidenticons.github.com%2F294f1d758201292712cfef7db1f9aa7c.png","gravatar_id":"1a4365e1a5be1e4b894f60f2add73c6f","url":"https://api.github.com/users/Jiffer","html_url":"https://github.com/Jiffer","followers_url":"https://api.github.com/users/Jiffer/followers","following_url":"https://api.github.com/users/Jiffer/following{/other_user}","gists_url":"https://api.github.com/users/Jiffer/gists{/gist_id}","starred_url":"https://api.github.com/users/Jiffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jiffer/subscriptions","organizations_url":"https://api.github.com/users/Jiffer/orgs","repos_url":"https://api.github.com/users/Jiffer/repos","events_url":"https://api.github.com/users/Jiffer/events{/privacy}","received_events_url":"https://api.github.com/users/Jiffer/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":0,"created_at":"2013-08-21T04:30:04Z","updated_at":"2013-08-21T08:18:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I was getting this error out of the box with osx 10.8.1 and xcode 4.6.3. I had to install the command line tools and that resolved it for me.\r\n\r\nGo to Xcode > Preferences > Downloads and click on \"install\" for the command line tools \r\n\r\ndid some digging and didn't see this addressed for the most (as of now) recent versions of things but I did find many other things to try that didn't work before stumbling on this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2493","id":18322687,"number":2493,"title":"const-corrections","user":{"login":"bakercp","id":300484,"avatar_url":"https://2.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"bakercp","id":300484,"avatar_url":"https://2.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":0,"created_at":"2013-08-20T21:30:09Z","updated_at":"2013-08-21T03:02:16Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2493","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2493.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2493.patch"},"body":"~~Both `enableTextureTarget()` and `disableTextureTarget()` might raise some questions about their `const`-ness, but those member functions (which conditionally access an outside global state) are kind of awkwardly situated to begin with.\r\n\r\nThis is API changing and will likely break any addons that extend the various interfaces and helper classes (such as `ofVideoPlayer`).~~\r\n\r\n... in the meantime, this evolved into a little bigger (but still important project). I would propose that we not try to fix every little const problem in one PR, but this one can focus on video and images/pixels/textures, which are tightly coupled."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2492","id":18313623,"number":2492,"title":"add install scripts for openSUSE in scripts/linux/opensuse","user":{"login":"prusnak","id":42201,"avatar_url":"https://0.gravatar.com/avatar/b54b0eb056f30cc9c4daf193cf8eabae?d=https%3A%2F%2Fidenticons.github.com%2Ffca7ac68a9bcfe7ec3a017257471f198.png","gravatar_id":"b54b0eb056f30cc9c4daf193cf8eabae","url":"https://api.github.com/users/prusnak","html_url":"https://github.com/prusnak","followers_url":"https://api.github.com/users/prusnak/followers","following_url":"https://api.github.com/users/prusnak/following{/other_user}","gists_url":"https://api.github.com/users/prusnak/gists{/gist_id}","starred_url":"https://api.github.com/users/prusnak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prusnak/subscriptions","organizations_url":"https://api.github.com/users/prusnak/orgs","repos_url":"https://api.github.com/users/prusnak/repos","events_url":"https://api.github.com/users/prusnak/events{/privacy}","received_events_url":"https://api.github.com/users/prusnak/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-20T18:46:26Z","updated_at":"2013-08-20T19:04:01Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2492","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2492.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2492.patch"},"body":"I created install scripts for openSUSE distribution by modifying the ones for Fedora."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2491","id":18283673,"number":2491,"title":"ofxOscReceiver crashes if space in the name","user":{"login":"jvcleave","id":150037,"avatar_url":"https://2.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https%3A%2F%2Fidenticons.github.com%2F5ed96817efb118a36c00303b90e4b003.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-20T08:36:18Z","updated_at":"2013-08-20T10:02:41Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"to replicate change \"check\" to \"check me\" in oscParametersReceiver and oscParametersSender\r\n\r\nbacktrace\r\n````\r\n#0 0x00026bf4 in ofxOscReceiver::getParameter (this=0x13dec14, parameter=@0x13ded9c) at ofxOscReceiver.cpp:235\r\n#1 0x00024d9d in ofxOscParameterSync::update (this=0x13dec10) at ofxOscParameterSync.cpp:31\r\n#2 0x00017c6c in ofApp::update (this=0x13dec00) at ofApp.cpp:27\r\n#3 0x0001613d in ofBaseApp::update (this=0x13dec00, args=@0x6acb35) at ofBaseApp.h:44\r\n#4 0x0031d3dc in Poco::PriorityDelegate::notify (this=, sender=0x0, arguments=) at PriorityDelegate.h:168\r\n#5 0x00321e0a in Poco::PriorityStrategy >::notify () at /Volumes/WORK_IN_PROGRESS/OPENFRAMEWORKS/openFrameworks/libs/poco/include/Poco/PriorityStrategy.h:81\r\n#6 0x00321e0a in Poco::AbstractEvent >, Poco::AbstractPriorityDelegate, Poco::FastMutex>::notify (this=, pSender=0x0, args=@0x6acb35) at PriorityStrategy.h:241\r\n#7 0x00320673 in ofNotifyEvent, ofEventArgs> (event=@0x13df450, args=@0x6acb35) at ofEventUtils.h:172\r\n#8 0x0031ffc0 in ofNotifyUpdate () at ofEvents.cpp:165\r\n#9 0x00363c89 in ofAppGLFWWindow::runAppViaInfiniteLoop (this=0xd3ca30, appPtr=0x13dec00) at ofAppGLFWWindow.cpp:286\r\n#10 0x00319feb in ofRunApp (OFSA=0x13dec00) at ofAppRunner.cpp:137\r\n#11 0x00002e6a in main () at main.cpp:11\r\n````\r\n![screen shot 2013-08-20 at 4 27 39 am](https://f.cloud.github.com/assets/150037/991978/7ca33fa8-0973-11e3-9dc4-299ff86d19a1.png)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2490","id":18257205,"number":2490,"title":"OF_RECTMODE_CENTER not playing nice with textures (0.8.0)","user":{"login":"prisonerjohn","id":119702,"avatar_url":"https://1.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https%3A%2F%2Fidenticons.github.com%2F00cfaa1a8406a24a7a9f07482e2b1938.png","gravatar_id":"b52cabeecffe4497699db813a715456f","url":"https://api.github.com/users/prisonerjohn","html_url":"https://github.com/prisonerjohn","followers_url":"https://api.github.com/users/prisonerjohn/followers","following_url":"https://api.github.com/users/prisonerjohn/following{/other_user}","gists_url":"https://api.github.com/users/prisonerjohn/gists{/gist_id}","starred_url":"https://api.github.com/users/prisonerjohn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prisonerjohn/subscriptions","organizations_url":"https://api.github.com/users/prisonerjohn/orgs","repos_url":"https://api.github.com/users/prisonerjohn/repos","events_url":"https://api.github.com/users/prisonerjohn/events{/privacy}","received_events_url":"https://api.github.com/users/prisonerjohn/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-19T19:01:24Z","updated_at":"2013-08-20T09:55:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I set `ofSetRectMode(OF_RECTMODE_CENTER);` textures are stuck to the top-left of the window, no matter what (x, y) params I give to `draw(x, y, w, h)`.\r\n\r\nHere is an example ofApp.h\r\n```cpp\r\n#pragma once\r\n\r\n#include \"ofMain.h\"\r\n\r\nclass ofApp : public ofBaseApp{\r\n\r\n\tpublic:\r\n\t\tvoid setup();\r\n\t\tvoid update();\r\n\t\tvoid draw();\r\n\r\n\t\tofImage image;\r\n};\r\n```\r\n\r\nAnd the matching ofApp.cpp\r\n```cpp\r\n#include \"ofApp.h\"\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::setup(){\r\n ofSetRectMode(OF_RECTMODE_CENTER);\r\n \r\n image.loadImage(\"tdf_1972_poster.jpg\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::draw(){\r\n image.draw(mouseX, mouseY, 320, 240);\r\n ofRect(mouseX, mouseY, image.getWidth(), image.getHeight());\r\n}\r\n```\r\n\r\nHaving the same issue on tag `0.8.0` and `master`, with `ofImage` and `ofVideoPlayer`. It works as expected if I take out the call to `ofSetRectMode();`.\r\n\r\n![screen shot 2013-08-19 at 3 00 32 pm](https://f.cloud.github.com/assets/119702/988426/aea3da5c-0901-11e3-85e0-e03a44e6105a.png)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2489","id":18249318,"number":2489,"title":"ofQTKitGrabber logs at verbose level, but ignores setVerbose","user":{"login":"admsyn","id":609318,"avatar_url":"https://1.gravatar.com/avatar/9bfde17cfd50ff8f12cae51ab1079d72?d=https%3A%2F%2Fidenticons.github.com%2Fd3361161dca2fbe24ffea23b9a2d233b.png","gravatar_id":"9bfde17cfd50ff8f12cae51ab1079d72","url":"https://api.github.com/users/admsyn","html_url":"https://github.com/admsyn","followers_url":"https://api.github.com/users/admsyn/followers","following_url":"https://api.github.com/users/admsyn/following{/other_user}","gists_url":"https://api.github.com/users/admsyn/gists{/gist_id}","starred_url":"https://api.github.com/users/admsyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/admsyn/subscriptions","organizations_url":"https://api.github.com/users/admsyn/orgs","repos_url":"https://api.github.com/users/admsyn/repos","events_url":"https://api.github.com/users/admsyn/events{/privacy}","received_events_url":"https://api.github.com/users/admsyn/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-19T16:30:42Z","updated_at":"2013-08-20T09:47:57Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In `listDevices` ofQTKitGrabber [logs devices at verbose level](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQTKitGrabber.mm#L144). However, it also [ignores setVerbose](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQTKitGrabber.mm#L923).\r\n\r\nThis means that seemingly correct code like:\r\n\r\n```\r\nvidGrabber.setVerbose(true);\r\nvidGrabber.listDevices();\r\n```\r\n\r\nprints nothing.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2488","id":18213515,"number":2488,"title":"DONTMERGEYET - Feature updates HTTP Requests","user":{"login":"danthemellowman","id":719564,"avatar_url":"https://1.gravatar.com/avatar/79621943dfc6272eae9697464ad33696?d=https%3A%2F%2Fidenticons.github.com%2Fb03d3f3b4371f2676213314af7fe19d8.png","gravatar_id":"79621943dfc6272eae9697464ad33696","url":"https://api.github.com/users/danthemellowman","html_url":"https://github.com/danthemellowman","followers_url":"https://api.github.com/users/danthemellowman/followers","following_url":"https://api.github.com/users/danthemellowman/following{/other_user}","gists_url":"https://api.github.com/users/danthemellowman/gists{/gist_id}","starred_url":"https://api.github.com/users/danthemellowman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danthemellowman/subscriptions","organizations_url":"https://api.github.com/users/danthemellowman/orgs","repos_url":"https://api.github.com/users/danthemellowman/repos","events_url":"https://api.github.com/users/danthemellowman/events{/privacy}","received_events_url":"https://api.github.com/users/danthemellowman/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-08-18T20:44:29Z","updated_at":"2013-08-20T18:33:35Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2488","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2488.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2488.patch"},"body":"Let me know what I should change. You can test the app I added to devApps, httpRequests, to see how it all works. Use the 1-7 keys to change between the different requests to HTTPBin. \r\n\r\n(I know I need to fix my computers' GIT accounts/setup they suffer from multiple personalities) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2487","id":18203928,"number":2487,"title":"ofFBO::numColorbuffers BUG! . (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-08-18T06:39:24Z","updated_at":"2013-08-20T09:31:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vs2012+win7+of0.80\r\n\r\nnumColorbuffers set anything, textureNum Always 1.\r\n\r\n...\r\n ofFbo\t\t\tbaseMaskFbo;\r\n ofFbo\t\t\tanalyzeFbo;\r\n\tofFbo::Settings s;\r\n\ts.width\t\t\t=1024;\r\n\ts.height\t\t\t= 768;\r\n\ts.internalformat = GL_LUMINANCE;\r\n\ts.numSamples\t\t= 0;\r\n\ts.numColorbuffers\t= 7; \r\n\tbaseMaskFbo.allocate(s);\r\n...\r\n\r\nof0.80:\r\n\tcout << baseMaskFbo.getNumTextures() << endl; ===> 1 BUG!!!\r\nof0.74:\r\n cout << baseMaskFbo.getNumTextures() << endl; ===> 7 OK!!!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2485","id":18191632,"number":2485,"title":"The ofPixels OF0.74 and OF0.80 What is the difference?","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-17T09:15:04Z","updated_at":"2013-08-20T09:28:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"```\r\nofPixels pixels;\r\nofImage img;\r\n\r\nofSetDataPathRoot(\"E:/Program Files/of_v0.8.0_vs_release/examples/graphics/imageLoaderExample/bin/data/images/\");\r\nimg.loadImage(\"transparency.png\");\r\nimg.getTextureReference().readToPixels(pixels);\r\n```\r\n\r\n0.74 => ok\r\n\r\n0.80 => error\r\n\r\n[ofPixels: error ] allocate(): unknown image type, not allocating\r\n[ofGLUtils: error ] ofGetGlFormatAndType(): internal format not recognized, returning GL_RGBA\r\n\r\nIf you add “pixels.allocate(img.getWidth(),img.getHeight(),OF_IMAGE_COLOR_ALPHA);”\r\n0.80=>error\r\n[ofPixels: error ] allocate(): unknown image type, not allocating"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2484","id":18191355,"number":2484,"title":"serialExample Exit exception . (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-17T08:38:59Z","updated_at":"2013-08-17T08:38:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vs2012 +win7sp1+of0.8.0\r\n\r\nrelease and debug..compiler ===> pressed Esc \r\n\r\nrelease : ==> free.c \r\nvoid __cdecl _free_base (void * pBlock)\r\n{\r\n\r\n int retval = 0;\r\n\r\n\r\n if (pBlock == NULL)\r\n return;\r\n\r\n RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));\r\n\r\n retval = HeapFree(_crtheap, 0, pBlock);\r\n if (retval == 0) ===========================>> Exception \r\n {\r\n errno = _get_errno_from_oserr(GetLastError());\r\n }\r\n}\r\n\r\ndebug: ===>xtree\r\n\r\nPairii _Eqrange(const key_type& _Keyval)\r\n\t\t{\t// find leftmost node not less than _Keyval\r\n\t\t_Nodeptr _Pnode = _Root();\r\n\t\t_Nodeptr _Lonode = this->_Myhead;\t// end() if search fails\r\n\t\t_Nodeptr _Hinode = this->_Myhead;\t// end() if search fails\r\n\r\n\t\twhile (!this->_Isnil(_Pnode)) ================>> Exception \r\n ........\r\n}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2481","id":18182396,"number":2481,"title":"ofRectRounded does not respond to ofSetCircleResolution or ofSetCurveResolution","user":{"login":"rezaali","id":555207,"avatar_url":"https://2.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https%3A%2F%2Fidenticons.github.com%2F3a40e945e1f4b9b9b7a99b8d18c2c8c1.png","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","url":"https://api.github.com/users/rezaali","html_url":"https://github.com/rezaali","followers_url":"https://api.github.com/users/rezaali/followers","following_url":"https://api.github.com/users/rezaali/following{/other_user}","gists_url":"https://api.github.com/users/rezaali/gists{/gist_id}","starred_url":"https://api.github.com/users/rezaali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rezaali/subscriptions","organizations_url":"https://api.github.com/users/rezaali/orgs","repos_url":"https://api.github.com/users/rezaali/repos","events_url":"https://api.github.com/users/rezaali/events{/privacy}","received_events_url":"https://api.github.com/users/rezaali/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-16T22:37:49Z","updated_at":"2013-08-20T09:22:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2479","id":18151262,"number":2479,"title":"add read-only access to programmable GL matrix stack","user":{"login":"tgfrerer","id":423509,"avatar_url":"https://1.gravatar.com/avatar/b37673dd0fb953e948cfd5475d49de9f?d=https%3A%2F%2Fidenticons.github.com%2F88b2d0ec0c458a087a93354fbcd730e6.png","gravatar_id":"b37673dd0fb953e948cfd5475d49de9f","url":"https://api.github.com/users/tgfrerer","html_url":"https://github.com/tgfrerer","followers_url":"https://api.github.com/users/tgfrerer/followers","following_url":"https://api.github.com/users/tgfrerer/following{/other_user}","gists_url":"https://api.github.com/users/tgfrerer/gists{/gist_id}","starred_url":"https://api.github.com/users/tgfrerer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgfrerer/subscriptions","organizations_url":"https://api.github.com/users/tgfrerer/orgs","repos_url":"https://api.github.com/users/tgfrerer/repos","events_url":"https://api.github.com/users/tgfrerer/events{/privacy}","received_events_url":"https://api.github.com/users/tgfrerer/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T10:58:22Z","updated_at":"2013-08-19T15:48:30Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2479","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2479.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2479.patch"},"body":"in 'classic' OpenGL 2.0, you could call:\r\n\r\n````glGetFloatv(GL_MODELVIEW_MATRIX, matrixPtr);````\r\n\r\nTo read back the current matrix state from the GPU.\r\n\r\nThis is not possible with modern OpenGL, since the matrix stack is now client-side.\r\n\r\nWith this PR, we get this functionality back into the programmable GL renderer pipeline. Query the current matrix state as in:\r\n\r\n````ofMatrix4x4 currentModelViewMatrix = ofGetGLProgrammableRenderer()->getModelViewMatrix();````\r\n\r\nSince these are read-only methods, they are marked ````const````\r\n\r\nSigned-off-by: tgfrerer "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2478","id":18150369,"number":2478,"title":"Replacing GLSurfaceView with TextureView","user":{"login":"ikillbombs","id":1842262,"avatar_url":"https://1.gravatar.com/avatar/0e972803504e237e42c9a680885498c8?d=https%3A%2F%2Fidenticons.github.com%2F24e60592283a8e112c32915b7846022d.png","gravatar_id":"0e972803504e237e42c9a680885498c8","url":"https://api.github.com/users/ikillbombs","html_url":"https://github.com/ikillbombs","followers_url":"https://api.github.com/users/ikillbombs/followers","following_url":"https://api.github.com/users/ikillbombs/following{/other_user}","gists_url":"https://api.github.com/users/ikillbombs/gists{/gist_id}","starred_url":"https://api.github.com/users/ikillbombs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikillbombs/subscriptions","organizations_url":"https://api.github.com/users/ikillbombs/orgs","repos_url":"https://api.github.com/users/ikillbombs/repos","events_url":"https://api.github.com/users/ikillbombs/events{/privacy}","received_events_url":"https://api.github.com/users/ikillbombs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T10:30:22Z","updated_at":"2013-08-20T09:48:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi everyone,\r\n\r\nI was wondering if it's a good idea to replace Android GLSurfaceView with GLTextureView. The advantages of replacing this is that multiple views can be combined. after this modification we can create a mapKit for Android and combine it with a native GUI.\r\n\r\nHere's an example link:\r\nhttps://github.com/eaglesakura/gltextureview/tree/issue/1/master"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2477","id":18146713,"number":2477,"title":"ofxgui setUseTTF bug! (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T08:38:14Z","updated_at":"2013-08-20T09:19:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"...\r\ngui.add(twoCircles.setup(\"two circles\"));\r\ngui.add(ringButton.setup(\"ring\"));\r\ngui.add(screenSize.setup(\"screen size\", \"\"));\r\nguiExample =>gui.setUseTTF(true);\r\n...\r\n\r\nText display error....\r\n\r\n![guibug](https://f.cloud.github.com/assets/841770/974290/01366e98-064f-11e3-8e69-146ec8c3a74f.jpg)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2476","id":18144117,"number":2476,"title":"parameterGroupExample error! (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":6,"created_at":"2013-08-16T07:07:57Z","updated_at":"2013-08-20T09:25:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"E:\\Program Files\\of_v0.8.0_vs_release\\examples\\gui\\parameterGroupExample\r\nvs2012+win7...\r\n\r\nofxGuiGroup.cpp\r\n\r\n 77 line \tofLogError() << \"ofxBaseGroup; can't add control of type \" << type;\r\n\r\n[ error ] ofxBaseGroup; can't add control of type class ofReadOnlyParameter\r\n[ error ] ofxBaseGroup; can't add control of type class ofReadOnlyParameter\r\n[ error ] ofXml: loadFromBuffer(): DOM ERROR\r\n[warning] ofXml: setTo(): empty document\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2475","id":18143895,"number":2475,"title":"0.8.0 Light and Material problem","user":{"login":"Geistyp","id":1510109,"avatar_url":"https://0.gravatar.com/avatar/6b42478d52d104580a1ae20f973975c2?d=https%3A%2F%2Fidenticons.github.com%2F45d69e69ac304ad6dc2269ebba53ba69.png","gravatar_id":"6b42478d52d104580a1ae20f973975c2","url":"https://api.github.com/users/Geistyp","html_url":"https://github.com/Geistyp","followers_url":"https://api.github.com/users/Geistyp/followers","following_url":"https://api.github.com/users/Geistyp/following{/other_user}","gists_url":"https://api.github.com/users/Geistyp/gists{/gist_id}","starred_url":"https://api.github.com/users/Geistyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geistyp/subscriptions","organizations_url":"https://api.github.com/users/Geistyp/orgs","repos_url":"https://api.github.com/users/Geistyp/repos","events_url":"https://api.github.com/users/Geistyp/events{/privacy}","received_events_url":"https://api.github.com/users/Geistyp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2013-08-16T06:58:32Z","updated_at":"2013-08-20T11:21:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://imgur.com/GiiGBx3\r\nLeft is 0.7.4 , right is 0.8.0.\r\n\r\nsame code\r\n```c++\r\nfloat no_mat[] = {0.0f, 0.0f, 0.0f, 1.0f};\r\nfloat mat_ambient[] = {0.0215, 0.1745, 0.0215, 1.0};\r\nfloat mat_diffuse[] = {0.07568, 0.61424, 0.07568, 1.0};\r\nfloat mat_specular[] = {0.633, 0.727811, 0.633, 1.0};\r\nfloat low_shininess = 15.0f;\r\n\r\n//light properties\r\nfloat ambient[] = {0.5f, 0.5f, 0.5f, 1.0f};\r\nfloat diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};\r\nfloat specular[] = {1.0f, 1.0f, 1.0f, 1.0f};\r\nfloat position[] = {100.0f, 100.0f, 100.0f, 0.0f};\r\n\r\nvoid ofApp::setup(){\r\n\r\n\tglLightfv(GL_LIGHT0, GL_AMBIENT, ambient);\r\n\tglLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);\r\n\tglLightfv(GL_LIGHT0, GL_POSITION, position);\r\n\r\n\tglEnable(GL_LIGHT0);\r\n\tglEnable(GL_LIGHTING);\r\n\r\n\tglEnable(GL_DEPTH_TEST);\r\n\tglShadeModel(GL_SMOOTH); \r\n}\r\n\r\nvoid ofApp::draw(){\r\n\r\n\tcam.begin();\r\n\r\n\tofPushMatrix();\r\n\tofTranslate(0, 0);\r\n\r\n\tglMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);\r\n\tglMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);\r\n\tglMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);\r\n\tglMaterialf(GL_FRONT, GL_SHININESS, low_shininess);\r\n\tglMaterialfv(GL_FRONT, GL_EMISSION, no_mat);\r\n\tofSphere(0, 0, 50);\r\n\r\n\tofPopMatrix();\r\n\r\n\r\n\tcam.end();\r\n}\r\n```\r\n\r\nofMaterial not work? I try to load a model with material, material data loaded, but show nothing.\r\nhttp://imgur.com/yMZda6w\r\n\r\n```c++\r\nofxAssimpModelLoader loader;\r\nofxAssimpMeshHelper mesh;\r\n\r\nofLight light;\r\n\r\nvoid ofApp::setup(){\r\n\r\n\tofDisableArbTex(); \r\n\tloader.loadModel(\"mini.dae\");\r\n\r\n\tofEnableSeparateSpecularLight();\r\n\tofEnableDepthTest();\r\n\tglShadeModel(GL_SMOOTH); \r\n\t\r\n\tlight.enable();\r\n\t\r\n\tmesh= loader.getMeshHelper(0);\r\n}\r\n\r\nvoid ofApp::draw(){\r\n\r\n \tcam.begin();\r\n\tofPushMatrix();\r\n\tofTranslate(0, 0);\r\n\r\n\t//loader.draw(OF_MESH_FILL);\r\n\r\n // (mesh.material).diffuse = {r=0.752941191 g=0.517647088 b=0.372548997 a=1.000000}\r\n // (mesh.material).ambient = {r=0.100000001 g=0.100000001 b=0.100000001 a=1.000000}\r\n // (mesh.material).specular = {r=0.400000006 g=0.400000006 b=0.400000006 a=1.000000}\r\n // (mesh.material).emissive = {r=0.000000000 g=0.000000000 b=0.000000000 a=1.000000}\r\n // (mesh.material).shininess = 10.000000\r\n\tmesh.material.begin();\r\n\tofSphere(0, 0, 50);\r\n\tmesh.material.end();\r\n\r\n\tofPopMatrix();\r\n\tcam.end();\r\n}\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2473","id":18116496,"number":2473,"title":"Fixed bug in ofCairoRenderer where moveTo commands are interpreted wrong","user":{"login":"bgstaal","id":165258,"avatar_url":"https://0.gravatar.com/avatar/4fcf8b28dcc18014970d4930d0a00e72?d=https%3A%2F%2Fidenticons.github.com%2Fc78b173dd2f89f95c1414e53b78123fe.png","gravatar_id":"4fcf8b28dcc18014970d4930d0a00e72","url":"https://api.github.com/users/bgstaal","html_url":"https://github.com/bgstaal","followers_url":"https://api.github.com/users/bgstaal/followers","following_url":"https://api.github.com/users/bgstaal/following{/other_user}","gists_url":"https://api.github.com/users/bgstaal/gists{/gist_id}","starred_url":"https://api.github.com/users/bgstaal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgstaal/subscriptions","organizations_url":"https://api.github.com/users/bgstaal/orgs","repos_url":"https://api.github.com/users/bgstaal/repos","events_url":"https://api.github.com/users/bgstaal/events{/privacy}","received_events_url":"https://api.github.com/users/bgstaal/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-15T17:35:55Z","updated_at":"2013-08-15T17:36:34Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2473","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2473.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2473.patch"},"body":"This results in cairo sub paths not starting from the supplied point of the moveTo command. Adding one lien of code fixes this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2472","id":18107084,"number":2472,"title":"Break Points at Setup (of0.8.0)","user":{"login":"Vamoss","id":245841,"avatar_url":"https://0.gravatar.com/avatar/80c722474d39c07271917a466f4e26dd?d=https%3A%2F%2Fidenticons.github.com%2F406e8d2580cf39474c77a170d51800e3.png","gravatar_id":"80c722474d39c07271917a466f4e26dd","url":"https://api.github.com/users/Vamoss","html_url":"https://github.com/Vamoss","followers_url":"https://api.github.com/users/Vamoss/followers","following_url":"https://api.github.com/users/Vamoss/following{/other_user}","gists_url":"https://api.github.com/users/Vamoss/gists{/gist_id}","starred_url":"https://api.github.com/users/Vamoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vamoss/subscriptions","organizations_url":"https://api.github.com/users/Vamoss/orgs","repos_url":"https://api.github.com/users/Vamoss/repos","events_url":"https://api.github.com/users/Vamoss/events{/privacy}","received_events_url":"https://api.github.com/users/Vamoss/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-15T14:05:20Z","updated_at":"2013-08-15T15:14:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\r\n\r\nI dont know exactly what is happening, but the setup accuses a break point in two cases, one at ofLogToFile(\"myFile.log\", true);\r\n\r\nAnd another in the end of testApp::setup(){}.\r\nIn this case the stack is not readable, but in the ofLogToFile Call Stack is:\r\nmsvcr110d.dll!_unlock(int locknum) Line 366\tC\r\nmsvcr110d.dll!operator delete(void * pUserData) Line 57\tC++\r\nmsvcr110d.dll!operator delete(void * pUserData) Line 56\tC++\r\n 03a31748()\tUnknown\r\nmsvcr110d.dll!_heap_alloc_base(unsigned int size) Line 57\tC\r\nmsvcr110d.dll!_heap_alloc_dbg_impl(unsigned int nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 431\tC++\r\nmsvcr110d.dll!_nh_malloc_dbg_impl(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 239\tC++\r\nmsvcr110d.dll!_nh_malloc_dbg(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine) Line 302\tC++\r\nmsvcr110d.dll!malloc(unsigned int nSize) Line 56\tC++\r\nmsvcr110d.dll!operator new(unsigned int size) Line 59\tC++\r\nRender_debug.exe!std::_Allocate(unsigned int _Count, std::_Container_proxy * __formal) Line 28\tC++\r\nRender_debug.exe!std::allocator::allocate(unsigned int _Count) Line 591\tC++\r\nRender_debug.exe!std::_String_alloc<0,std::_String_base_types > >::_Alloc_proxy() Line 671\tC++ \tRender_debug.exe!std::_String_alloc<0,std::_String_base_types > >::_String_alloc<0,std::_String_base_types > >(const std::allocator & __formal) Line 651\tC++\r\nRender_debug.exe!std::basic_string,std::allocator >::basic_string,std::allocator >() Line 749\tC++\r\nRender_debug.exe!Poco::FileImpl::FileImpl(void)\tUnknown\r\nRender_debug.exe!Poco::File::File(void)\tUnknown\r\nRender_debug.exe!ofFile::ofFile() Line 260\tC++\r\nRender_debug.exe!ofFileLoggerChannel::ofFileLoggerChannel(const std::basic_string,std::allocator > & path, bool append) Line 288\tC++\r\nRender_debug.exe!ofLogToFile(const std::basic_string,std::allocator > & path, bool append) Line 41\tC++\r\nRender_debug.exe!SuperLog::setup(std::basic_string,std::allocator > filename) Line 17\tC++\r\nRender_debug.exe!testApp::setup() Line 14\tC++\r\nRender_debug.exe!ofBaseApp::setup(ofEventArgs & args) Line 41\tC++\r\nRender_debug.exe!Poco::PriorityDelegate::notify(const void * sender, ofEventArgs & arguments) Line 168\tC++\r\nRender_debug.exe!Poco::PriorityStrategy >::notify(const void * sender, ofEventArgs & arguments) Line 81\tC++\r\nRender_debug.exe!Poco::AbstractEvent >,Poco::AbstractPriorityDelegate,Poco::FastMutex>::notify(const void * pSender, ofEventArgs & args) Line 242\tC++\r\nRender_debug.exe!ofNotifyEvent,ofEventArgs>(ofEvent & event, ofEventArgs & args) Line 172\tC++\r\nRender_debug.exe!ofNotifySetup() Line 120\tC++\r\n\r\nI am at a Windows 7, Visual Studio 2012 Express with OpenFrameworks 0.8.0.\r\n\r\nThanks,\r\nCarlos"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2469","id":18048273,"number":2469,"title":"enums and #defines for ofxiOS have weird case and don't deprecate old enums","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-08-14T11:58:58Z","updated_at":"2013-08-20T12:43:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ie:\r\n\r\n```\r\n#define ofxiOS_DEVICE_IPHONE_2G\t\t\"iPhone1,1\"\r\n#define ofxiOS_DEVICE_IPHONE_3G\t\t\"iPhone1,2\"\r\n#define ofxiOS_DEVICE_IPHONE_3GS\t\"iPhone2,1\"\r\n#define ofxiOS_DEVICE_IPHONE_4\t\t\"iPhone3,1\"\r\n\r\n#define ofxiOS_DEVICE_IPOD_1STGEN\t\"iPod1,1\"\r\n#define ofxiOS_DEVICE_IPOD_2NDGEN\t\"iPod2,1\"\r\n#define ofxiOS_DEVICE_IPOD_3RDGEN\t\"iPod3,1\"\r\n#define ofxiOS_DEVICE_IPOD_4THGEN\t\"iPod4,1\"\r\n```\r\n\r\naccording to the old approach it should be: \r\n\r\n```\r\n#define OFXIOS_DEVICE_IPHONE_2G\t\"iPhone1,1\"\r\n#define OFXIOS_DEVICE_IPHONE_3G\t\"iPhone1,2\"\r\n#define OFXIOS_DEVICE_IPHONE_3GS\t\"iPhone2,1\"\r\n#define OFXIOS_DEVICE_IPHONE_4\t\t\"iPhone3,1\"\r\n\r\n#define OFXIOS_DEVICE_IPOD_1STGEN\t\"iPod1,1\"\r\n#define OFXIOS_DEVICE_IPOD_2NDGEN\t\"iPod2,1\"\r\n#define OFXIOS_DEVICE_IPOD_3RDGEN\t\"iPod3,1\"\r\n#define OFXIOS_DEVICE_IPOD_4THGEN\t\"iPod4,1\"\r\n```\r\n\r\nwith #define for old ofxiPhone names:\r\n\r\nie: \r\n`#define OFXIPHONE_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n\r\nI wonder if we should change \r\nofxiOS_ -> OFXIOS \r\n\r\nwe would then need to do two levels of #defines one for the 0.8.0 release and one for pre 0.8.0 \r\n\r\nie: \r\n\r\n`#define OFXIPHONE_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n`#define ofxiOS_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n\r\nNote: there are more examples of these #defines and enums, I'm just using this set as an example. \r\n\r\n\r\nALSO fix this: OFXIPHONE_MAPKIT_HYRBID -> OFXIPHONE_MAPKIT_HYBRID\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2468","id":18046461,"number":2468,"title":"ofAppGLFWWindow Verbose Messages","user":{"login":"kamend","id":462951,"avatar_url":"https://0.gravatar.com/avatar/1b0002ee319a421a56ef94c199382fb7?d=https%3A%2F%2Fidenticons.github.com%2F855526feec5d5e0ffaf4ea2115979d44.png","gravatar_id":"1b0002ee319a421a56ef94c199382fb7","url":"https://api.github.com/users/kamend","html_url":"https://github.com/kamend","followers_url":"https://api.github.com/users/kamend/followers","following_url":"https://api.github.com/users/kamend/following{/other_user}","gists_url":"https://api.github.com/users/kamend/gists{/gist_id}","starred_url":"https://api.github.com/users/kamend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamend/subscriptions","organizations_url":"https://api.github.com/users/kamend/orgs","repos_url":"https://api.github.com/users/kamend/repos","events_url":"https://api.github.com/users/kamend/events{/privacy}","received_events_url":"https://api.github.com/users/kamend/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-14T11:08:04Z","updated_at":"2013-08-20T09:15:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey guys,\r\nI am playing around with OF 0.8 and I noticed that ofAppGLFWWindow has some verbose messages, when pressing mouse buttons and keys, is this intentional or you just forgot to remove the messages?\r\n\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: key: 343 state: 1\r\n[verbose] ofAppGLFWWindow: key: 343 state: 0\r\n[verbose] ofAppGLFWWindow: key: 343 state: 1\r\n\r\nGreat work btw!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2464","id":18038636,"number":2464,"title":"Can I use ofGstVideoPlayer in Windows? (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-14T07:28:45Z","updated_at":"2013-08-17T03:57:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Because ofQuickTimePlayer only play *.mov, would like to use gst ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2460","id":18003137,"number":2460,"title":"ofxAndroidVideoPlayer working on emulator not on device (iStick A200)","user":{"login":"I33N","id":520375,"avatar_url":"https://0.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https%3A%2F%2Fidenticons.github.com%2F029dd6120545e3ca65422e4479af8e99.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","url":"https://api.github.com/users/I33N","html_url":"https://github.com/I33N","followers_url":"https://api.github.com/users/I33N/followers","following_url":"https://api.github.com/users/I33N/following{/other_user}","gists_url":"https://api.github.com/users/I33N/gists{/gist_id}","starred_url":"https://api.github.com/users/I33N/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/I33N/subscriptions","organizations_url":"https://api.github.com/users/I33N/orgs","repos_url":"https://api.github.com/users/I33N/repos","events_url":"https://api.github.com/users/I33N/events{/privacy}","received_events_url":"https://api.github.com/users/I33N/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-13T15:34:27Z","updated_at":"2013-08-13T17:21:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I am working with the iStick A200 (PQLabs ANdroid stick) and wanted to test the video player example. It worked great on the emulator (using auto instead of external in the manifest) but when I launch it on the device I can only see 1 line of pixel flickering.\r\n\r\nThe movie is loaded without problem, I can even see the resolution is OK and I have no problem reading it with the basic videoplayer.\r\n\r\nAs the iStick is not supported on OSX I can't monitor it with logcat and I have to copy the .apk on the device to test. So I can't copy the log. But it looks just fine.\r\n\r\nAny idea? Did you have more luck on another device?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2457","id":17992953,"number":2457,"title":"vboDrawInstancedExample hardware check not accurate. ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-13T12:09:51Z","updated_at":"2013-08-14T10:21:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vboDrawInstancedExample seems to work fine for some people even if the check for glDrawElementsInstanced returns 0. \r\n\r\nMaybe there is a better way to test that doesn't get some false negatives.\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,13049.msg56329.html#msg56329\r\n\r\nrelates to #2433 "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2456","id":17986223,"number":2456,"title":"Window not being redrawn while resizing","user":{"login":"bgstaal","id":165258,"avatar_url":"https://0.gravatar.com/avatar/4fcf8b28dcc18014970d4930d0a00e72?d=https%3A%2F%2Fidenticons.github.com%2Fc78b173dd2f89f95c1414e53b78123fe.png","gravatar_id":"4fcf8b28dcc18014970d4930d0a00e72","url":"https://api.github.com/users/bgstaal","html_url":"https://github.com/bgstaal","followers_url":"https://api.github.com/users/bgstaal/followers","following_url":"https://api.github.com/users/bgstaal/following{/other_user}","gists_url":"https://api.github.com/users/bgstaal/gists{/gist_id}","starred_url":"https://api.github.com/users/bgstaal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgstaal/subscriptions","organizations_url":"https://api.github.com/users/bgstaal/orgs","repos_url":"https://api.github.com/users/bgstaal/repos","events_url":"https://api.github.com/users/bgstaal/events{/privacy}","received_events_url":"https://api.github.com/users/bgstaal/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":1,"created_at":"2013-08-13T09:07:23Z","updated_at":"2013-08-13T11:33:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Since the switch to GLFW for windowing the window is not redrawn while being resized. See this screenshot from the advanced 3d example (Taken while resizing the window):\r\n\r\n![redraw-error](https://f.cloud.github.com/assets/165258/953491/6db5463e-03f7-11e3-840e-961a49fc8516.png)\r\n\r\nI tried switching to ofAppGlutWindow in main.c and then everything works fine.\r\n\r\nI've only tested this on Mac OS 10.7\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2455","id":17984675,"number":2455,"title":"borderless windows?","user":{"login":"mazbox","id":194121,"avatar_url":"https://2.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https%3A%2F%2Fidenticons.github.com%2F1a833e8b88a3cb77651448055b3e93e9.png","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","url":"https://api.github.com/users/mazbox","html_url":"https://github.com/mazbox","followers_url":"https://api.github.com/users/mazbox/followers","following_url":"https://api.github.com/users/mazbox/following{/other_user}","gists_url":"https://api.github.com/users/mazbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mazbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mazbox/subscriptions","organizations_url":"https://api.github.com/users/mazbox/orgs","repos_url":"https://api.github.com/users/mazbox/repos","events_url":"https://api.github.com/users/mazbox/events{/privacy}","received_events_url":"https://api.github.com/users/mazbox/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-08-13T08:26:09Z","updated_at":"2013-08-20T09:26:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Now we're on GLFW, could we have the option to have borderless windows? This is really easy in ofAppGLFWWindow.cpp, just need this:\r\n\r\nglfwWindowHint(GLFW_DECORATED, GL_FALSE);\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2449","id":17928213,"number":2449,"title":"ofxiOSKeyboard need fix y poision?","user":{"login":"azuremous","id":319589,"avatar_url":"https://2.gravatar.com/avatar/c3d1cd991fa2f486a4d2a387531de77e?d=https%3A%2F%2Fidenticons.github.com%2Fbb2af607d543b861335f5fe253300975.png","gravatar_id":"c3d1cd991fa2f486a4d2a387531de77e","url":"https://api.github.com/users/azuremous","html_url":"https://github.com/azuremous","followers_url":"https://api.github.com/users/azuremous/followers","following_url":"https://api.github.com/users/azuremous/following{/other_user}","gists_url":"https://api.github.com/users/azuremous/gists{/gist_id}","starred_url":"https://api.github.com/users/azuremous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azuremous/subscriptions","organizations_url":"https://api.github.com/users/azuremous/orgs","repos_url":"https://api.github.com/users/azuremous/repos","events_url":"https://api.github.com/users/azuremous/events{/privacy}","received_events_url":"https://api.github.com/users/azuremous/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":1,"created_at":"2013-08-12T07:54:05Z","updated_at":"2013-08-20T08:44:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxiOSKeyboard.mm\r\n\r\ninside init() and updateOrientation() there is _y = _h need to fix to _y = _yOriginal ?\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2447","id":17925468,"number":2447,"title":"Feature Request: ofXml saving with XML declaration","user":{"login":"Geistyp","id":1510109,"avatar_url":"https://0.gravatar.com/avatar/6b42478d52d104580a1ae20f973975c2?d=https%3A%2F%2Fidenticons.github.com%2F45d69e69ac304ad6dc2269ebba53ba69.png","gravatar_id":"6b42478d52d104580a1ae20f973975c2","url":"https://api.github.com/users/Geistyp","html_url":"https://github.com/Geistyp","followers_url":"https://api.github.com/users/Geistyp/followers","following_url":"https://api.github.com/users/Geistyp/following{/other_user}","gists_url":"https://api.github.com/users/Geistyp/gists{/gist_id}","starred_url":"https://api.github.com/users/Geistyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geistyp/subscriptions","organizations_url":"https://api.github.com/users/Geistyp/orgs","repos_url":"https://api.github.com/users/Geistyp/repos","events_url":"https://api.github.com/users/Geistyp/events{/privacy}","received_events_url":"https://api.github.com/users/Geistyp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://0.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https%3A%2F%2Fidenticons.github.com%2Fb2018d244935ce2c5e98c5834187e538.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following{/other_user}","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2013-08-12T06:09:43Z","updated_at":"2013-08-20T14:31:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"- Sometimes we need when save wide-char string. ( Save as ascii will get a lot of messy code )\r\n\r\n```c++\r\nbool ofXml::save(const string & path, bool saveWithDeclaration/*=false*/){\r\n ofBuffer buffer(saveWithDeclaration?\r\n\t\t\t\t\"\\n\"\r\n\t\t\t\t:\"\"\r\n\t\t\t\t+toString());\r\n ofFile file(path, ofFile::WriteOnly);\r\n return file.writeFromBuffer(buffer);\r\n}\r\n```\r\n\r\n- Or ofFile/ofBuffer add utf-8 save mode.\r\n\r\n```c++\r\nstd::ofstream fs;\r\nfs.open(filepath, std::ios::out|std::ios::binary);\r\n\r\nunsigned char smarker[3];\r\nsmarker[0] = 0xEF;\r\nsmarker[1] = 0xBB;\r\nsmarker[2] = 0xBF;\r\n\r\nfs << smarker;\r\nfs.close();\r\n\r\n//Then open the file as UTF and write your content there:\r\n\r\nstd::wofstream fs;\r\nfs.open(filepath, std::ios::out|std::ios::app);\r\n\r\nstd::locale utf8_locale(std::locale(), new utf8cvt);\r\nfs.imbue(utf8_locale); \r\n\r\nfs << .. // Write anything you want...\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2445","id":17924672,"number":2445,"title":"UTF-8 String Clipboard Support","user":{"login":"bakercp","id":300484,"avatar_url":"https://2.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"bakercp","id":300484,"avatar_url":"https://2.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-12T05:22:23Z","updated_at":"2013-08-14T11:03:50Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2445","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2445.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2445.patch"},"body":"Perhaps the window interface could also be implemented in mobile platforms.\r\n\r\n- [x] Add support to `ofAppiOSWindow` (go @julapy ! 0c6db8934f3eff84dca3af5939891d9883910b8d) \r\n- [ ] Add support to `ofAppAndroidWindow` (@arturoc can you take this one?)\r\n- [x] Add support to `ofAppEGLWindow` (will not be implemented as GLFW is now used on all known x11 accelerated)\r\n- [x] Add support to `ofAppNoWindow` (?)\r\n- [x] Add support to `ofAppGlutWindow` (just kidding)"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '90328'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 10:42:46 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ff413c4ac1c8950a3c117d577119cd9e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 10:54:14 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377085393')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2441","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2441/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2441/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2441/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2441","id":17916118,"number":2441,"title":"Examples needed to be ported to ARM (Master List)","user":{"login":"jvcleave","id":150037,"avatar_url":"https://1.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https%3A%2F%2Fidenticons.github.com%2F5ed96817efb118a36c00303b90e4b003.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":0,"created_at":"2013-08-11T18:43:29Z","updated_at":"2013-08-20T08:42:08Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A master list/issue of the examples excluded from 0.8.0 that need some work to make compatible with the ARM platform/OpenGL ES 2. I figured a master list would be nice to have and something to reference if sub-issues arise.\r\n\r\n- [ ] addons/3DModelLoaderExample\r\n- [ ] addons/allAddonsExample\r\n- [ ] addons/assimpExample\r\n- [ ] addons/kinectExample\r\n- [ ] addons/vectorGraphicsExample \r\n- [ ] gl/glInfoExample\r\n- [ ] gl/alphaMaskingShaderExample\r\n- [ ] gl/billboardExample\r\n- [ ] gl/billboardRotationExample\r\n- [ ] gl/multiLightExample\r\n- [ ] gl/multiTextureShaderExample\r\n- [ ] gl/pointsAsTextures\r\n- [ ] gl/gpuParticleSystemExample\r\n- [ ] gl/vboMeshDrawInstancedExample \r\n- [ ] 3d/modelNoiseExample\r\n\r\nI have some of these started so I think 0.8.1 is a reasonable goal"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2438","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2438/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2438/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2438/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2438","id":17892610,"number":2438,"title":"Feature allow OSC message sends without bundle wrapper","user":{"login":"pizthewiz","id":648369,"avatar_url":"https://2.gravatar.com/avatar/9005281d142d2e0b17b966c51f5f6818?d=https%3A%2F%2Fidenticons.github.com%2Fffb1e9421b8787aaa8d5bf1f5325e676.png","gravatar_id":"9005281d142d2e0b17b966c51f5f6818","url":"https://api.github.com/users/pizthewiz","html_url":"https://github.com/pizthewiz","followers_url":"https://api.github.com/users/pizthewiz/followers","following_url":"https://api.github.com/users/pizthewiz/following{/other_user}","gists_url":"https://api.github.com/users/pizthewiz/gists{/gist_id}","starred_url":"https://api.github.com/users/pizthewiz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pizthewiz/subscriptions","organizations_url":"https://api.github.com/users/pizthewiz/orgs","repos_url":"https://api.github.com/users/pizthewiz/repos","events_url":"https://api.github.com/users/pizthewiz/events{/privacy}","received_events_url":"https://api.github.com/users/pizthewiz/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-10T01:42:19Z","updated_at":"2013-08-18T19:28:56Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2438","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2438.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2438.patch"},"body":"This adds an additional argument with a default value consistent with the previous behavior to the normal ```ofxOscSender::sendMessage``` to allow one to skip the (likely superfluous) bundle wrapper:\r\n```C++\r\n void sendMessage( ofxOscMessage& message, bool wrapInBundle = true );\r\n```\r\nFixes #1804."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2435","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2435/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2435/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2435/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2435","id":17845091,"number":2435,"title":"alphaMaskingShaderExample for armv6 not working","user":{"login":"jvcleave","id":150037,"avatar_url":"https://1.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https%3A%2F%2Fidenticons.github.com%2F5ed96817efb118a36c00303b90e4b003.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-09T03:07:35Z","updated_at":"2013-08-09T03:12:55Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"main.cpp needs to be modified to enable shaders to be loaded\r\nsimilar to \r\nhttps://github.com/openframeworks/openFrameworks/blob/develop/examples/gl/shaderExample/src/main.cpp\r\n\r\nThis enables the shader to load but the shaders in shaders_gles are no longer working. I believe these are derived from what I modified to work for the workshop - those still work with the former GLES2Renderer \r\n\r\nhttps://github.com/andreasmuller/RaspberryPiWorkshop/tree/master/ShaderExample_AlphaMasking/bin/data\r\n\r\n@tgfrerer - any clues?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2432","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2432/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2432/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2432/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2432","id":17821294,"number":2432,"title":"ofxAssimpModelLoader compile error for armv6","user":{"login":"jvcleave","id":150037,"avatar_url":"https://1.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https%3A%2F%2Fidenticons.github.com%2F5ed96817efb118a36c00303b90e4b003.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":7,"created_at":"2013-08-08T18:10:23Z","updated_at":"2013-08-09T03:49:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This line \r\nhttps://github.com/openframeworks/openFrameworks/blob/develop/addons/ofxAssimpModelLoader/addon_config.mk#L66\r\nis causing anything using ofxAssimpModelLoader to have the compile error\r\n\r\n`../../../addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.h:9:20: fatal error: assimp.h: No such file or directory`\r\n\r\nCommenting out the line enables examples like `addons/assimpExample` and `3d/modelNoiseExample` to compile however they are both segfaulting on the RPi\r\n\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2424","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2424/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2424/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2424/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2424","id":17791689,"number":2424,"title":"Feature Request: verbose¬ice&warning&error&fatalError ---addColor..","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2013-08-08T07:08:07Z","updated_at":"2013-08-20T09:00:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I think it should be better to differentiate log files.\r\nHow do you think about it?\r\n\r\nverbose->blur\r\nnotice->green \r\nwarning->Orange\r\nerror ->darkred \r\nfatalError ->red \r\n\r\n```cpp\r\nstring ofGetLogLevelName(ofLogLevel level){\r\n\tHANDLE hCout = GetStdHandle(STD_OUTPUT_HANDLE); \r\n\r\n\tswitch(level){\r\n\t\tcase OF_LOG_VERBOSE:\r\n\t\t\tSetConsoleTextAttribute(hCout,FOREGROUND_BLUE );\r\n\t\t\treturn \"verbose\";\r\n\t\t\tbreak;\r\n\t\tcase OF_LOG_NOTICE:\r\n\t\t\tSetConsoleTextAttribute(hCout,FOREGROUND_GREEN );\r\n\t\t\treturn \"notice\";\r\n\t\t\tbreak;\r\n\t\tcase OF_LOG_WARNING:\r\n\t\t\tSetConsoleTextAttribute(hCout,FOREGROUND_RED|FOREGROUND_GREEN );\r\n\t\t\treturn \"warning\";\r\n\t\t\tbreak;\r\n\t\tcase OF_LOG_ERROR:\r\n\t\t\tSetConsoleTextAttribute(hCout,FOREGROUND_RED );\r\n\t\t\treturn \"error\";\r\n\t\t\tbreak;\r\n\t\tcase OF_LOG_FATAL_ERROR:\r\n\t\t\tSetConsoleTextAttribute(hCout,FOREGROUND_RED|FOREGROUND_INTENSITY );\r\n\t\t\treturn \"fatal error\";\r\n\t\t\tbreak;\r\n\t\tcase OF_LOG_SILENT:\r\n\t\t\treturn \"silent\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treturn \"\";\r\n\t}\r\n}\r\n\r\nvoid ofConsoleLoggerChannel::log(ofLogLevel level, const string & module, const string & message){\r\n\t// print to cerr for OF_LOG_ERROR and OF_LOG_FATAL_ERROR, everything else to cout \r\n\tostream& out = level < OF_LOG_ERROR ? cout : cerr;\r\n\tout << \"[\";\r\n\t// only print the module name if it's not \"OF\"\r\n\tif(module != \"OF\") {\r\n\t\tout << module << \":\";\r\n\t}\r\n\tHANDLE hCout = GetStdHandle(STD_OUTPUT_HANDLE); \r\n\r\n\tout << ofGetLogLevelName(level);\r\n\tSetConsoleTextAttribute(hCout,FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE );\r\n\tout<< \"] \"<< message << endl;\r\n}\t"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2422","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2422/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2422/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2422/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2422","id":17734450,"number":2422,"title":"Remove functions deprecated in 0.8","user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/12","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/12/labels","id":264335,"number":12,"title":"0.10.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":1,"closed_issues":1,"state":"open","created_at":"2013-02-11T12:18:09Z","updated_at":"2013-08-07T08:01:40Z","due_on":null},"comments":0,"created_at":"2013-08-07T07:58:47Z","updated_at":"2013-08-07T07:58:58Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Some functions/classes/etc have been deprecated in 0.8. It's time to remove them at some point. I have tentatively scheduled this point to be 0.10 (i.e. 2 releases after deprecation). \r\n\r\n```\r\n/ ofBox, ofCone, ofSphere deprecated in favour of ofDrawBox and ofDrawSphere\r\n/ ofxiPhoneSetOrientation and ofxiPhoneGetOrientation -> ofSet/GetOrientation\r\n/ ofxOpenALSoundPlayer\r\n/ ofSetupScreenPerspective(), ofSetupScreenOrtho() don't accept orientation and vflip parameters anymore, use ofSetOrientation() to specify them\r\n/ ofPath::set/getArcResolution -> set/getCircleResolution\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2420","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2420/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2420/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2420/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2420","id":17684283,"number":2420,"title":"cross platform documents directory","user":{"login":"jonbro","id":1597,"avatar_url":"https://0.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https%3A%2F%2Fidenticons.github.com%2F87ec2f451208df97228105657edb717f.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","html_url":"https://github.com/jonbro","followers_url":"https://api.github.com/users/jonbro/followers","following_url":"https://api.github.com/users/jonbro/following{/other_user}","gists_url":"https://api.github.com/users/jonbro/gists{/gist_id}","starred_url":"https://api.github.com/users/jonbro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonbro/subscriptions","organizations_url":"https://api.github.com/users/jonbro/orgs","repos_url":"https://api.github.com/users/jonbro/repos","events_url":"https://api.github.com/users/jonbro/events{/privacy}","received_events_url":"https://api.github.com/users/jonbro/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-08-06T11:08:35Z","updated_at":"2013-08-08T09:31:49Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently OF supports ofxiPhoneGetDocumentsDirectory which returns the correct documents directory on iOS. However, there is no way to get to Application Support or My Documents without doing platform specific code. This is necessary for deploying either on steam or mac app store.\r\n\r\nThe code for getting to application support on osx is the same as the iOS code. On windows, it appears that this code works: http://stackoverflow.com/questions/2414828/get-path-to-my-documents (although I haven't tried it)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2418","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2418/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2418/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2418/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2418","id":17666643,"number":2418,"title":" Android keyPressed for volume buttons always sets key = 0","user":{"login":"nneonneo","id":75449,"avatar_url":"https://2.gravatar.com/avatar/5ca341b160687d99b1317859f91054ee?d=https%3A%2F%2Fidenticons.github.com%2F21354e8024a4260d693a0c258fb366d8.png","gravatar_id":"5ca341b160687d99b1317859f91054ee","url":"https://api.github.com/users/nneonneo","html_url":"https://github.com/nneonneo","followers_url":"https://api.github.com/users/nneonneo/followers","following_url":"https://api.github.com/users/nneonneo/following{/other_user}","gists_url":"https://api.github.com/users/nneonneo/gists{/gist_id}","starred_url":"https://api.github.com/users/nneonneo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nneonneo/subscriptions","organizations_url":"https://api.github.com/users/nneonneo/orgs","repos_url":"https://api.github.com/users/nneonneo/repos","events_url":"https://api.github.com/users/nneonneo/events{/privacy}","received_events_url":"https://api.github.com/users/nneonneo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2013-08-06T00:04:12Z","updated_at":"2013-08-06T07:56:57Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When a keyPressed event is received for pressing a menu button, the key passed in is always 0. This is because event.getUnicodeChar() returns 0 for keys that are not used to type characters, which includes most of the physical keys on a typical touchscreen-based Android phone.\r\n\r\nOne solution would be to have the Android wrapper define some \"special\" keys (negative numbers to avoid conflicting with Unicode codepoints? numbers with a high-ish bit, like bit 28, set?), and pass those in when the key is special (volume, home, menu, etc)."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2417","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2417/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2417/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2417/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2417","id":17629859,"number":2417,"title":"threaded applications hang on exit","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-08-05T11:17:16Z","updated_at":"2013-08-06T07:08:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the waitThread call on the destructor makes applications with more complex threading (threads waiting on conditions...) hang on exit for 10 seconds.\r\n\r\nIf i don't need to free any resources is totally safe to close the application without stopping the threads so having this in the destructor is really annoying.\r\n\r\nif someone has any complex destruction where they need to close any resources or for other some reason wait for the thread it should be done by the application not obligatorily by the thread destructor (that's how poco threads or stl threads work for example)\r\n\r\nat least there should be a way to disable it."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2412","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2412/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2412/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2412/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2412","id":17579294,"number":2412,"title":"devApps/projectGenerator doesn't add .mm files in libs folders","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":9,"created_at":"2013-08-02T20:19:38Z","updated_at":"2013-08-05T11:34:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm updating ofxMidi and have an iOS library, PGMidi, in `libs/pgmidi`. The projectGenerator doesn't add the .mm files to my project so the app can't build.\r\n\r\nI have a similar setup with RtMidi: `libs/rtmidi`. The .cpp files are added correctly when generating an osx xcode project.\r\n\r\nNeither library have the headers and sources in \"include\" or \"src\" subfolders."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2411","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2411/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2411/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2411/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2411","id":17578556,"number":2411,"title":"addons_config.mk ADDON_FRAMEWORKS dosen't seem to work","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":{"login":"bakercp","id":300484,"avatar_url":"https://2.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":13,"created_at":"2013-08-02T19:59:16Z","updated_at":"2013-08-04T04:54:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm settings ADDON_FRAMEWORKS for ofxMidi on ios:\r\n\r\n ios:\r\n # osx/iOS only, any framework that should be included in the project\r\n ADDON_FRAMEWORKS = CoreMIDI.framework\r\n\r\nBut this dosen't seem to have an effect. I've tried both \"CoreMIDI\" and \"CoreMIDI.framework\"."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2405","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2405/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2405/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2405/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2405","id":17569838,"number":2405,"title":"Add debug libs in addon_config.mk","user":{"login":"LeoColomb","id":846943,"avatar_url":"https://2.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https%3A%2F%2Fidenticons.github.com%2F9b0717bb9dfcf59d8595ea9f529a3769.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":4,"created_at":"2013-08-02T16:44:20Z","updated_at":"2013-08-03T11:56:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"`addon_config.mk` is cool, but with VS for example, we can't add debug libs, or declare any variable which says \"debug lib are here and have to be include in debug mode\"."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2404","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2404/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2404/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2404/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2404","id":17569755,"number":2404,"title":"devApps/projectGenerator isn't setting ADDON_CFLAGS","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-02T16:42:18Z","updated_at":"2013-08-05T11:16:17Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm using the current develop to update the ofxPd examples. I created an addons_config.mk and specified the ADDON_CFLAGS needed by libpd. I generated 2 projects, 1 for OSX and 1 for iOS, and neither have the custom CFLAGS form the addons_config.mk set. This means they can't build and beginners will go running to the hills."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2398","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2398/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2398/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2398/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2398","id":17561806,"number":2398,"title":"Added setUseShapeColor & getUseShapeColor to ofxSVG","user":{"login":"bgstaal","id":165258,"avatar_url":"https://2.gravatar.com/avatar/4fcf8b28dcc18014970d4930d0a00e72?d=https%3A%2F%2Fidenticons.github.com%2Fc78b173dd2f89f95c1414e53b78123fe.png","gravatar_id":"4fcf8b28dcc18014970d4930d0a00e72","url":"https://api.github.com/users/bgstaal","html_url":"https://github.com/bgstaal","followers_url":"https://api.github.com/users/bgstaal/followers","following_url":"https://api.github.com/users/bgstaal/following{/other_user}","gists_url":"https://api.github.com/users/bgstaal/gists{/gist_id}","starred_url":"https://api.github.com/users/bgstaal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgstaal/subscriptions","organizations_url":"https://api.github.com/users/bgstaal/orgs","repos_url":"https://api.github.com/users/bgstaal/repos","events_url":"https://api.github.com/users/bgstaal/events{/privacy}","received_events_url":"https://api.github.com/users/bgstaal/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-08-02T14:06:22Z","updated_at":"2013-08-20T08:51:53Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2398","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2398.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2398.patch"},"body":"Today the only way of overriding the color of an SVG is by looping over the internal ofShapes and calling setUseShapeColor on them from the outside. This seems a bit hacky & requires some knowledge about ofxSVG internals. I think it is better if this functionality is exposed through a pair of public methods.\r\n\r\nTested on Mac OS 10.7"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2397","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2397/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2397/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2397/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2397","id":17554753,"number":2397,"title":"Improve projectGenerator","user":{"login":"LeoColomb","id":846943,"avatar_url":"https://2.gravatar.com/avatar/d38889330c0d923ab07c3566f0c02c14?d=https%3A%2F%2Fidenticons.github.com%2F9b0717bb9dfcf59d8595ea9f529a3769.png","gravatar_id":"d38889330c0d923ab07c3566f0c02c14","url":"https://api.github.com/users/LeoColomb","html_url":"https://github.com/LeoColomb","followers_url":"https://api.github.com/users/LeoColomb/followers","following_url":"https://api.github.com/users/LeoColomb/following{/other_user}","gists_url":"https://api.github.com/users/LeoColomb/gists{/gist_id}","starred_url":"https://api.github.com/users/LeoColomb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LeoColomb/subscriptions","organizations_url":"https://api.github.com/users/LeoColomb/orgs","repos_url":"https://api.github.com/users/LeoColomb/repos","events_url":"https://api.github.com/users/LeoColomb/events{/privacy}","received_events_url":"https://api.github.com/users/LeoColomb/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-02T10:57:35Z","updated_at":"2013-08-03T15:35:16Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2397","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2397.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2397.patch"},"body":"* Fix parsing `addons.make` (error about inclusion in projects)\r\n* Improve UI"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2395","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2395/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2395/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2395/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2395","id":17545822,"number":2395,"title":"OF7.4 ofVideoPlayer::nextFrame() Bug...","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":7,"created_at":"2013-08-02T06:06:21Z","updated_at":"2013-08-17T03:57:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this method can work correctly only when the frame rate of mov file is 30.1.\r\nIf the frame rate is 30.0, the nextFrame method will stop update when it accumulate up to 30.\r\n\r\nDevelopment environment: vs2010 ,win7...."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2381","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2381/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2381/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2381/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2381","id":17464883,"number":2381,"title":"error with fontExample on iOS","user":{"login":"ofTheo","id":144000,"avatar_url":"https://1.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-07-31T17:26:49Z","updated_at":"2013-08-11T18:32:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"the example runs fine but this is printed out for each TTF font loaded. \r\n\r\n[ error ] ofTrueTypeFont: loadFontFace(): couldn't create new face for \"\": FT_Error 2 unknown freetype\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2372","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2372/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2372/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2372/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2372","id":17443641,"number":2372,"title":"ofImage.draw() lost 1 pixel in IOS retina device","user":{"login":"Geistyp","id":1510109,"avatar_url":"https://1.gravatar.com/avatar/6b42478d52d104580a1ae20f973975c2?d=https%3A%2F%2Fidenticons.github.com%2F45d69e69ac304ad6dc2269ebba53ba69.png","gravatar_id":"6b42478d52d104580a1ae20f973975c2","url":"https://api.github.com/users/Geistyp","html_url":"https://github.com/Geistyp","followers_url":"https://api.github.com/users/Geistyp/followers","following_url":"https://api.github.com/users/Geistyp/following{/other_user}","gists_url":"https://api.github.com/users/Geistyp/gists{/gist_id}","starred_url":"https://api.github.com/users/Geistyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geistyp/subscriptions","organizations_url":"https://api.github.com/users/Geistyp/orgs","repos_url":"https://api.github.com/users/Geistyp/repos","events_url":"https://api.github.com/users/Geistyp/events{/privacy}","received_events_url":"https://api.github.com/users/Geistyp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":7,"created_at":"2013-07-31T10:03:10Z","updated_at":"2013-08-01T03:45:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://imgur.com/HMQfoJ3\r\n\r\n```c++\r\nvoid testApp::draw(){\r\n ofBackground(255, 0, 0);\r\n\tif ( photo.isAllocated() ){\r\n photo.draw(0, 0, ofGetWidth(), ofGetHeight());\r\n }\r\n}\r\n```\r\nthis should be fullscreen, but result lost 1 pixel in width.\r\n\r\nI test this in iTouch5 - iOS 6.1.3"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2366","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2366/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2366/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2366/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2366","id":17391327,"number":2366,"title":"feature suggestions : lambdas for threads and events","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://1.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":11,"created_at":"2013-07-30T11:41:41Z","updated_at":"2013-08-19T15:05:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"suggestions:\r\n\r\n```c++\r\nofEvent::addListener(std::function); // add a lambda listener to an ofEvent. Need to consider how we could remove the listener later\r\nofThread::setThreadedFunction(std::function); // override a thread to use a lambda instead of needing to extend the class\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2361","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2361/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2361/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2361/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2361","id":17341704,"number":2361,"title":"bug: bool binary has no effect with ofFile on Windows","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://1.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-07-29T14:21:04Z","updated_at":"2013-07-29T15:14:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"To reproduce:\r\n\r\n```\r\n\t\tofFile save(\"somethingToWrite.txt\", ofFile::WriteOnly, true);\r\n\t\tsave << 256;\r\n\t\tsave.close();\r\n```\r\n\r\nthis will create a text file with the contents \"256\" in ASCII.\r\n\r\nI'm not 100% sure this is the correct usage pattern for the `binary` argument."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2356","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2356/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2356/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2356/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2356","id":17317196,"number":2356,"title":"GLUT warning when debugging on OSX","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-07-28T21:01:13Z","updated_at":"2013-07-29T18:11:29Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"when i create a breakpoint and debug in OSX using a minimal example i get a warning from xcode in the console:\r\n\r\n```\r\nwarning: Could not find object file \"/openFrameworks/GLUT/OF_CUSTOM_GLUT/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n```\r\n\r\n```c++\r\n#include \"ofMain.h\"\r\nclass ofApp : public ofBaseApp {\r\npublic:\r\n\tvoid setup() {\r\n\t// breakpoint here\r\n\t}\r\n};\r\nint main( ){\r\n\tofSetupOpenGL(1280, 720, OF_WINDOW);\r\n\tofRunApp(new ofApp());\r\n}\r\n```\r\n\r\nthis is on xcode 4.2, osx 10.6.8"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2335","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2335/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2335/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2335/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2335","id":17162874,"number":2335,"title":"bugfix : c++11 on xcode","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://1.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":null,"comments":40,"created_at":"2013-07-24T15:18:50Z","updated_at":"2013-08-20T09:42:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey all!\r\n\r\n[EDIT]\r\nIt seems that we don't have c++11 support right now with on osx.\r\nThe issue primarily is that we have to use libc++ with c++11, which does not support legacy tr1 namespace symbols. To fix this bug we need to write a c++11 version which does not use tr1 namespace.\r\n\r\nThis could either involve:\r\n1. Writing a win/linux/mac C++11 implementation without tr1\r\n2. Writing a special implementation for libc++ without tr1 for osx\r\n\r\nI think the only difference between 1 and 2 is more testing is required for 1. (i.e. the code should look identical).\r\n\r\n[/EDIT]\r\n\r\nIn ofTypes I edited:\r\n```\r\n#if (_MSC_VER)\r\n#include \r\n#else\r\n#include \r\n// import smart pointers utils into std\r\nnamespace std {\r\n\tusing std::tr1::shared_ptr;\r\n\tusing std::tr1::weak_ptr;\r\n\tusing std::tr1::static_pointer_cast;\r\n\tusing std::tr1::dynamic_pointer_cast;\r\n\tusing std::tr1::const_pointer_cast;\r\n\tusing std::tr1::enable_shared_from_this;\r\n\tusing std::tr1::__dynamic_cast_tag;\r\n}\r\n#endif\r\n```\r\n\r\nto:\r\n```\r\n#if (_MSC_VER || true) // <----basically hacked here\r\n#include \r\nusing std::shared_ptr;\r\n#else\r\n#include \r\n// import smart pointers utils into std\r\nnamespace std {\r\n\tusing std::tr1::shared_ptr;\r\n\tusing std::tr1::weak_ptr;\r\n\tusing std::tr1::static_pointer_cast;\r\n\tusing std::tr1::dynamic_pointer_cast;\r\n\tusing std::tr1::const_pointer_cast;\r\n\tusing std::tr1::enable_shared_from_this;\r\n\tusing std::tr1::__dynamic_cast_tag;\r\n}\r\n#endif\r\n```\r\n\r\nnow i get complaints on `__dynamic_cast_tag`. And ran out of google results. ideas?\r\n\r\n```\r\n/Volumes/SHARED/openFrameworks/libs/openFrameworks/types/ofTypes.h:169:36: No type named '__dynamic_cast_tag' in namespace 'std'\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2321","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2321/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2321/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2321/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2321","id":17045573,"number":2321,"title":"ofImage grabScreen doesn't take into account screen orientation on desktop","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":0,"created_at":"2013-07-22T13:13:09Z","updated_at":"2013-07-22T13:13:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2299","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2299/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2299/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2299/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2299","id":16977756,"number":2299,"title":"remove deprecated ofxCvMain.h","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-07-19T15:45:44Z","updated_at":"2013-07-19T17:15:11Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This has been marked deprecated for a while and anyone still including it will have to update other aspects of their project anyway."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2283","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2283/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2283/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2283/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2283","id":16865521,"number":2283,"title":"deprecate/remove ofxQuickTimeGrabber/Player classes","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2013-07-17T13:55:11Z","updated_at":"2013-07-17T17:32:41Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"These don't compile with newer OSX sdks without Carbon right? "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2282","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2282/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2282/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2282/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2282","id":16865466,"number":2282,"title":"ofGLUtils function naming inconsistencies: \"Gl\" versus \"GL\"","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-07-17T13:54:12Z","updated_at":"2013-07-17T13:54:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Maybe this is something we missed in Maine, but there are two OpenGL camel case abbreviations in the functions in ofGLUtils.h. AFAICT all the newer stuff uses \"GL\", while these use \"Gl\":\r\n\r\n int ofGetGlInternalFormat(const ofPixels& pix);\r\n int ofGetGlInternalFormat(const ofShortPixels& pix);\r\n int ofGetGlInternalFormat(const ofFloatPixels& pix);\r\n\r\n string ofGetGlInternalFormatName(int glInternalFormat);\r\n int ofGetGLFormatFromInternal(int glInternalFormat); \r\n int ofGetGlType(const ofPixels & pixels);\r\n int ofGetGlType(const ofShortPixels & pixels);\r\n int ofGetGlType(const ofFloatPixels & pixels);\r\n\r\nIf we've made the other api-breaking changes already, these should be updated before the 0.8.0 release IMO."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2279","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2279/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2279/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2279/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2279","id":16854399,"number":2279,"title":"Feature Request: projectGenerator Post-Build Event","user":{"login":"yty","id":841770,"avatar_url":"https://2.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-07-17T09:02:03Z","updated_at":"2013-07-17T09:02:03Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"for example:\r\n\r\nif I check \"ofxxxx\" to create a project, the program should add\r\n\r\n \"xcopy /e /i /y \"$(ProjectDir)..\\..\\..\\addons\\ofxxxx\\vs2010\\*.dll\" \"$(ProjectDir)bin\" \r\n\r\nto Property->Build Events->Post-Build Event->Command Line automaticlly\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2275","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2275/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2275/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2275/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2275","id":16836283,"number":2275,"title":"ofxAndroidMagneticField proposal [Do not Merge]","user":{"login":"onelittleweb","id":1971236,"avatar_url":"https://2.gravatar.com/avatar/18210b55555e6c85623bf09a41f0d782?d=https%3A%2F%2Fidenticons.github.com%2F4154dd7e468496840b44a9ad69938046.png","gravatar_id":"18210b55555e6c85623bf09a41f0d782","url":"https://api.github.com/users/onelittleweb","html_url":"https://github.com/onelittleweb","followers_url":"https://api.github.com/users/onelittleweb/followers","following_url":"https://api.github.com/users/onelittleweb/following{/other_user}","gists_url":"https://api.github.com/users/onelittleweb/gists{/gist_id}","starred_url":"https://api.github.com/users/onelittleweb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onelittleweb/subscriptions","organizations_url":"https://api.github.com/users/onelittleweb/orgs","repos_url":"https://api.github.com/users/onelittleweb/repos","events_url":"https://api.github.com/users/onelittleweb/events{/privacy}","received_events_url":"https://api.github.com/users/onelittleweb/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-07-16T21:54:43Z","updated_at":"2013-08-01T11:58:28Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2275","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2275.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2275.patch"},"body":"First implementation of the MagneticField Sensor in Android. Needs testing and feedback from Android tablets and phones. \r\n\r\nThe compass uses accelerometer to improve sensor feedback trying to avoid 2.3 API and gyroscope / gravity hardware so maybe it´s not the most accurate way.\r\n \r\nMagnetic field is implemented in a different JAVA class, not sure if it should share class with other Android sensors similar to iOS CoreLocation.\r\n\r\nAn example is included for testing.\r\n\r\nBest,\r\n\r\nP."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2274","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2274/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2274/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2274/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2274","id":16836158,"number":2274,"title":"boring examples","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://1.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":6,"created_at":"2013-07-16T21:51:45Z","updated_at":"2013-07-31T18:10:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In writing my mondo-all-examples app, I noticed there are a few examples that are just boring/non-sexy compared to the rest:\r\n\r\n* threadExample\r\n* eventsExample\r\n* conversionExample\r\n* advancedExample\r\n* advancedGlExample\r\n\r\nPerhaps they could be updated to both more instructive *and* fun to play with."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2273","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2273/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2273/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2273/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2273","id":16830044,"number":2273,"title":"ProjectGenerator issues ","user":{"login":"danomatika","id":480637,"avatar_url":"https://2.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https%3A%2F%2Fidenticons.github.com%2Fc08a17ef2f16970cd18f487915737897.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","html_url":"https://github.com/danomatika","followers_url":"https://api.github.com/users/danomatika/followers","following_url":"https://api.github.com/users/danomatika/following{/other_user}","gists_url":"https://api.github.com/users/danomatika/gists{/gist_id}","starred_url":"https://api.github.com/users/danomatika/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danomatika/subscriptions","organizations_url":"https://api.github.com/users/danomatika/orgs","repos_url":"https://api.github.com/users/danomatika/repos","events_url":"https://api.github.com/users/danomatika/events{/privacy}","received_events_url":"https://api.github.com/users/danomatika/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project-generator","name":"project-generator","color":"444444"}],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2013-07-16T19:55:49Z","updated_at":"2013-07-17T05:38:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I'm noticing a number of issues with the \"old\" PG in `apps/devApps/projectGenerator`:\r\n\r\n* seems to not use addons_config.mk ADDONS_INCLUDES_EXCLUDE\r\n* if you generate/update projects for multiple CodeBlocks platforms(win, linux), the files are overwritten (I assume this is by design since a suffix in the name wouldn't be needed in the platform zip download)\r\n* the win codeblocks project I generated fails to link with the following error:\r\n\r\n cannot find -lstrmbase\r\n cannot find -lz"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '100300'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 10:42:46 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"ff413c4ac1c8950a3c117d577119cd9e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 10:54:16 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377085393')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2496/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2496","id":18345408,"number":2496,"title":"ofColor == and != operators ignore alpha","user":{"login":"rbeitra","id":78566,"avatar_url":"https://0.gravatar.com/avatar/e70c7c24ab262f6f057820f2f35edab7?d=https%3A%2F%2Fidenticons.github.com%2Fa32bc8141e168ff20fdfe3f0fbc72155.png","gravatar_id":"e70c7c24ab262f6f057820f2f35edab7","url":"https://api.github.com/users/rbeitra","html_url":"https://github.com/rbeitra","followers_url":"https://api.github.com/users/rbeitra/followers","following_url":"https://api.github.com/users/rbeitra/following{/other_user}","gists_url":"https://api.github.com/users/rbeitra/gists{/gist_id}","starred_url":"https://api.github.com/users/rbeitra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbeitra/subscriptions","organizations_url":"https://api.github.com/users/rbeitra/orgs","repos_url":"https://api.github.com/users/rbeitra/repos","events_url":"https://api.github.com/users/rbeitra/events{/privacy}","received_events_url":"https://api.github.com/users/rbeitra/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-21T10:02:25Z","updated_at":"2013-08-21T10:02:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently the == and != operators for ofColor only compare rgb, the alpha value is ignored. Is there a good reason why this is happening? Are many users expecting alpha to be ignored?\r\n\r\nI can think of 2 solutions here. Ideally:\r\n- fix these operator functions to also compare alpha\r\n\r\nOr if that will break things for people then at least:\r\n- add a new function (ofColor::equalsRGBA()?) which does it\r\n\r\n\r\nhttps://github.com/openframeworks/openFrameworks/blob/57f7670e594758ef36d75cf896da003f6081bd75/libs/openFrameworks/types/ofColor.cpp#L545\r\nhttps://github.com/openframeworks/openFrameworks/blob/57f7670e594758ef36d75cf896da003f6081bd75/libs/openFrameworks/types/ofColor.cpp#L551"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2495/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2495","id":18340779,"number":2495,"title":"ofHideCursor() not working on OSX 10.8 (v0.8.0)","user":{"login":"comoc","id":843396,"avatar_url":"https://0.gravatar.com/avatar/c5d3d0065be3563bd1361cca886b80d9?d=https%3A%2F%2Fidenticons.github.com%2F9bd74aa54d59a3ddcfc282a365dbe453.png","gravatar_id":"c5d3d0065be3563bd1361cca886b80d9","url":"https://api.github.com/users/comoc","html_url":"https://github.com/comoc","followers_url":"https://api.github.com/users/comoc/followers","following_url":"https://api.github.com/users/comoc/following{/other_user}","gists_url":"https://api.github.com/users/comoc/gists{/gist_id}","starred_url":"https://api.github.com/users/comoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/comoc/subscriptions","organizations_url":"https://api.github.com/users/comoc/orgs","repos_url":"https://api.github.com/users/comoc/repos","events_url":"https://api.github.com/users/comoc/events{/privacy}","received_events_url":"https://api.github.com/users/comoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-21T08:04:26Z","updated_at":"2013-08-21T08:21:10Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofHideCursor() seems not working on Mac OS X 10.8 with of_v0.8.0_osx_release.\r\n```c++\r\nvoid testApp::setup(){\r\n ofHideCursor(); // <- The cursor is still shown.\r\n}\r\n```\r\nFor reference, I tried following code, then works fine.\r\n```c++\r\nvoid testApp::setup(){\r\nifdef __APPLE__\r\n CGDisplayHideCursor(NULL); // <- OK\r\n#endif\r\n}\r\n```\r\nCompiled with Xcode 4.6.2."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2494/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2494","id":18335634,"number":2494,"title":"targetconditionals.h not found error in XCode with openframeworks 0.8","user":{"login":"Jiffer","id":2372348,"avatar_url":"https://2.gravatar.com/avatar/1a4365e1a5be1e4b894f60f2add73c6f?d=https%3A%2F%2Fidenticons.github.com%2F294f1d758201292712cfef7db1f9aa7c.png","gravatar_id":"1a4365e1a5be1e4b894f60f2add73c6f","url":"https://api.github.com/users/Jiffer","html_url":"https://github.com/Jiffer","followers_url":"https://api.github.com/users/Jiffer/followers","following_url":"https://api.github.com/users/Jiffer/following{/other_user}","gists_url":"https://api.github.com/users/Jiffer/gists{/gist_id}","starred_url":"https://api.github.com/users/Jiffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jiffer/subscriptions","organizations_url":"https://api.github.com/users/Jiffer/orgs","repos_url":"https://api.github.com/users/Jiffer/repos","events_url":"https://api.github.com/users/Jiffer/events{/privacy}","received_events_url":"https://api.github.com/users/Jiffer/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":0,"created_at":"2013-08-21T04:30:04Z","updated_at":"2013-08-21T08:18:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I was getting this error out of the box with osx 10.8.1 and xcode 4.6.3. I had to install the command line tools and that resolved it for me.\r\n\r\nGo to Xcode > Preferences > Downloads and click on \"install\" for the command line tools \r\n\r\ndid some digging and didn't see this addressed for the most (as of now) recent versions of things but I did find many other things to try that didn't work before stumbling on this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2493/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2493","id":18322687,"number":2493,"title":"const-corrections","user":{"login":"bakercp","id":300484,"avatar_url":"https://1.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"bakercp","id":300484,"avatar_url":"https://1.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":0,"created_at":"2013-08-20T21:30:09Z","updated_at":"2013-08-21T03:02:16Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2493","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2493.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2493.patch"},"body":"~~Both `enableTextureTarget()` and `disableTextureTarget()` might raise some questions about their `const`-ness, but those member functions (which conditionally access an outside global state) are kind of awkwardly situated to begin with.\r\n\r\nThis is API changing and will likely break any addons that extend the various interfaces and helper classes (such as `ofVideoPlayer`).~~\r\n\r\n... in the meantime, this evolved into a little bigger (but still important project). I would propose that we not try to fix every little const problem in one PR, but this one can focus on video and images/pixels/textures, which are tightly coupled."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2492/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2492","id":18313623,"number":2492,"title":"add install scripts for openSUSE in scripts/linux/opensuse","user":{"login":"prusnak","id":42201,"avatar_url":"https://2.gravatar.com/avatar/b54b0eb056f30cc9c4daf193cf8eabae?d=https%3A%2F%2Fidenticons.github.com%2Ffca7ac68a9bcfe7ec3a017257471f198.png","gravatar_id":"b54b0eb056f30cc9c4daf193cf8eabae","url":"https://api.github.com/users/prusnak","html_url":"https://github.com/prusnak","followers_url":"https://api.github.com/users/prusnak/followers","following_url":"https://api.github.com/users/prusnak/following{/other_user}","gists_url":"https://api.github.com/users/prusnak/gists{/gist_id}","starred_url":"https://api.github.com/users/prusnak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prusnak/subscriptions","organizations_url":"https://api.github.com/users/prusnak/orgs","repos_url":"https://api.github.com/users/prusnak/repos","events_url":"https://api.github.com/users/prusnak/events{/privacy}","received_events_url":"https://api.github.com/users/prusnak/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-20T18:46:26Z","updated_at":"2013-08-20T19:04:01Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2492","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2492.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2492.patch"},"body":"I created install scripts for openSUSE distribution by modifying the ones for Fedora."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2491/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2491","id":18283673,"number":2491,"title":"ofxOscReceiver crashes if space in the name","user":{"login":"jvcleave","id":150037,"avatar_url":"https://0.gravatar.com/avatar/9c0384a91739bea093f453cf40a59742?d=https%3A%2F%2Fidenticons.github.com%2F5ed96817efb118a36c00303b90e4b003.png","gravatar_id":"9c0384a91739bea093f453cf40a59742","url":"https://api.github.com/users/jvcleave","html_url":"https://github.com/jvcleave","followers_url":"https://api.github.com/users/jvcleave/followers","following_url":"https://api.github.com/users/jvcleave/following{/other_user}","gists_url":"https://api.github.com/users/jvcleave/gists{/gist_id}","starred_url":"https://api.github.com/users/jvcleave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvcleave/subscriptions","organizations_url":"https://api.github.com/users/jvcleave/orgs","repos_url":"https://api.github.com/users/jvcleave/repos","events_url":"https://api.github.com/users/jvcleave/events{/privacy}","received_events_url":"https://api.github.com/users/jvcleave/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-20T08:36:18Z","updated_at":"2013-08-20T10:02:41Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"to replicate change \"check\" to \"check me\" in oscParametersReceiver and oscParametersSender\r\n\r\nbacktrace\r\n````\r\n#0 0x00026bf4 in ofxOscReceiver::getParameter (this=0x13dec14, parameter=@0x13ded9c) at ofxOscReceiver.cpp:235\r\n#1 0x00024d9d in ofxOscParameterSync::update (this=0x13dec10) at ofxOscParameterSync.cpp:31\r\n#2 0x00017c6c in ofApp::update (this=0x13dec00) at ofApp.cpp:27\r\n#3 0x0001613d in ofBaseApp::update (this=0x13dec00, args=@0x6acb35) at ofBaseApp.h:44\r\n#4 0x0031d3dc in Poco::PriorityDelegate::notify (this=, sender=0x0, arguments=) at PriorityDelegate.h:168\r\n#5 0x00321e0a in Poco::PriorityStrategy >::notify () at /Volumes/WORK_IN_PROGRESS/OPENFRAMEWORKS/openFrameworks/libs/poco/include/Poco/PriorityStrategy.h:81\r\n#6 0x00321e0a in Poco::AbstractEvent >, Poco::AbstractPriorityDelegate, Poco::FastMutex>::notify (this=, pSender=0x0, args=@0x6acb35) at PriorityStrategy.h:241\r\n#7 0x00320673 in ofNotifyEvent, ofEventArgs> (event=@0x13df450, args=@0x6acb35) at ofEventUtils.h:172\r\n#8 0x0031ffc0 in ofNotifyUpdate () at ofEvents.cpp:165\r\n#9 0x00363c89 in ofAppGLFWWindow::runAppViaInfiniteLoop (this=0xd3ca30, appPtr=0x13dec00) at ofAppGLFWWindow.cpp:286\r\n#10 0x00319feb in ofRunApp (OFSA=0x13dec00) at ofAppRunner.cpp:137\r\n#11 0x00002e6a in main () at main.cpp:11\r\n````\r\n![screen shot 2013-08-20 at 4 27 39 am](https://f.cloud.github.com/assets/150037/991978/7ca33fa8-0973-11e3-9dc4-299ff86d19a1.png)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2490/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2490","id":18257205,"number":2490,"title":"OF_RECTMODE_CENTER not playing nice with textures (0.8.0)","user":{"login":"prisonerjohn","id":119702,"avatar_url":"https://0.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https%3A%2F%2Fidenticons.github.com%2F00cfaa1a8406a24a7a9f07482e2b1938.png","gravatar_id":"b52cabeecffe4497699db813a715456f","url":"https://api.github.com/users/prisonerjohn","html_url":"https://github.com/prisonerjohn","followers_url":"https://api.github.com/users/prisonerjohn/followers","following_url":"https://api.github.com/users/prisonerjohn/following{/other_user}","gists_url":"https://api.github.com/users/prisonerjohn/gists{/gist_id}","starred_url":"https://api.github.com/users/prisonerjohn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prisonerjohn/subscriptions","organizations_url":"https://api.github.com/users/prisonerjohn/orgs","repos_url":"https://api.github.com/users/prisonerjohn/repos","events_url":"https://api.github.com/users/prisonerjohn/events{/privacy}","received_events_url":"https://api.github.com/users/prisonerjohn/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-19T19:01:24Z","updated_at":"2013-08-20T09:55:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"If I set `ofSetRectMode(OF_RECTMODE_CENTER);` textures are stuck to the top-left of the window, no matter what (x, y) params I give to `draw(x, y, w, h)`.\r\n\r\nHere is an example ofApp.h\r\n```cpp\r\n#pragma once\r\n\r\n#include \"ofMain.h\"\r\n\r\nclass ofApp : public ofBaseApp{\r\n\r\n\tpublic:\r\n\t\tvoid setup();\r\n\t\tvoid update();\r\n\t\tvoid draw();\r\n\r\n\t\tofImage image;\r\n};\r\n```\r\n\r\nAnd the matching ofApp.cpp\r\n```cpp\r\n#include \"ofApp.h\"\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::setup(){\r\n ofSetRectMode(OF_RECTMODE_CENTER);\r\n \r\n image.loadImage(\"tdf_1972_poster.jpg\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid ofApp::draw(){\r\n image.draw(mouseX, mouseY, 320, 240);\r\n ofRect(mouseX, mouseY, image.getWidth(), image.getHeight());\r\n}\r\n```\r\n\r\nHaving the same issue on tag `0.8.0` and `master`, with `ofImage` and `ofVideoPlayer`. It works as expected if I take out the call to `ofSetRectMode();`.\r\n\r\n![screen shot 2013-08-19 at 3 00 32 pm](https://f.cloud.github.com/assets/119702/988426/aea3da5c-0901-11e3-85e0-e03a44e6105a.png)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2489/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2489","id":18249318,"number":2489,"title":"ofQTKitGrabber logs at verbose level, but ignores setVerbose","user":{"login":"admsyn","id":609318,"avatar_url":"https://1.gravatar.com/avatar/9bfde17cfd50ff8f12cae51ab1079d72?d=https%3A%2F%2Fidenticons.github.com%2Fd3361161dca2fbe24ffea23b9a2d233b.png","gravatar_id":"9bfde17cfd50ff8f12cae51ab1079d72","url":"https://api.github.com/users/admsyn","html_url":"https://github.com/admsyn","followers_url":"https://api.github.com/users/admsyn/followers","following_url":"https://api.github.com/users/admsyn/following{/other_user}","gists_url":"https://api.github.com/users/admsyn/gists{/gist_id}","starred_url":"https://api.github.com/users/admsyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/admsyn/subscriptions","organizations_url":"https://api.github.com/users/admsyn/orgs","repos_url":"https://api.github.com/users/admsyn/repos","events_url":"https://api.github.com/users/admsyn/events{/privacy}","received_events_url":"https://api.github.com/users/admsyn/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-19T16:30:42Z","updated_at":"2013-08-20T09:47:57Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"In `listDevices` ofQTKitGrabber [logs devices at verbose level](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQTKitGrabber.mm#L144). However, it also [ignores setVerbose](https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQTKitGrabber.mm#L923).\r\n\r\nThis means that seemingly correct code like:\r\n\r\n```\r\nvidGrabber.setVerbose(true);\r\nvidGrabber.listDevices();\r\n```\r\n\r\nprints nothing.\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2488/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2488","id":18213515,"number":2488,"title":"DONTMERGEYET - Feature updates HTTP Requests","user":{"login":"danthemellowman","id":719564,"avatar_url":"https://0.gravatar.com/avatar/79621943dfc6272eae9697464ad33696?d=https%3A%2F%2Fidenticons.github.com%2Fb03d3f3b4371f2676213314af7fe19d8.png","gravatar_id":"79621943dfc6272eae9697464ad33696","url":"https://api.github.com/users/danthemellowman","html_url":"https://github.com/danthemellowman","followers_url":"https://api.github.com/users/danthemellowman/followers","following_url":"https://api.github.com/users/danthemellowman/following{/other_user}","gists_url":"https://api.github.com/users/danthemellowman/gists{/gist_id}","starred_url":"https://api.github.com/users/danthemellowman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danthemellowman/subscriptions","organizations_url":"https://api.github.com/users/danthemellowman/orgs","repos_url":"https://api.github.com/users/danthemellowman/repos","events_url":"https://api.github.com/users/danthemellowman/events{/privacy}","received_events_url":"https://api.github.com/users/danthemellowman/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":6,"created_at":"2013-08-18T20:44:29Z","updated_at":"2013-08-20T18:33:35Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2488","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2488.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2488.patch"},"body":"Let me know what I should change. You can test the app I added to devApps, httpRequests, to see how it all works. Use the 1-7 keys to change between the different requests to HTTPBin. \r\n\r\n(I know I need to fix my computers' GIT accounts/setup they suffer from multiple personalities) "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2487/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2487","id":18203928,"number":2487,"title":"ofFBO::numColorbuffers BUG! . (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-08-18T06:39:24Z","updated_at":"2013-08-20T09:31:40Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vs2012+win7+of0.80\r\n\r\nnumColorbuffers set anything, textureNum Always 1.\r\n\r\n...\r\n ofFbo\t\t\tbaseMaskFbo;\r\n ofFbo\t\t\tanalyzeFbo;\r\n\tofFbo::Settings s;\r\n\ts.width\t\t\t=1024;\r\n\ts.height\t\t\t= 768;\r\n\ts.internalformat = GL_LUMINANCE;\r\n\ts.numSamples\t\t= 0;\r\n\ts.numColorbuffers\t= 7; \r\n\tbaseMaskFbo.allocate(s);\r\n...\r\n\r\nof0.80:\r\n\tcout << baseMaskFbo.getNumTextures() << endl; ===> 1 BUG!!!\r\nof0.74:\r\n cout << baseMaskFbo.getNumTextures() << endl; ===> 7 OK!!!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2485/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2485","id":18191632,"number":2485,"title":"The ofPixels OF0.74 and OF0.80 What is the difference?","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-17T09:15:04Z","updated_at":"2013-08-20T09:28:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"```\r\nofPixels pixels;\r\nofImage img;\r\n\r\nofSetDataPathRoot(\"E:/Program Files/of_v0.8.0_vs_release/examples/graphics/imageLoaderExample/bin/data/images/\");\r\nimg.loadImage(\"transparency.png\");\r\nimg.getTextureReference().readToPixels(pixels);\r\n```\r\n\r\n0.74 => ok\r\n\r\n0.80 => error\r\n\r\n[ofPixels: error ] allocate(): unknown image type, not allocating\r\n[ofGLUtils: error ] ofGetGlFormatAndType(): internal format not recognized, returning GL_RGBA\r\n\r\nIf you add “pixels.allocate(img.getWidth(),img.getHeight(),OF_IMAGE_COLOR_ALPHA);”\r\n0.80=>error\r\n[ofPixels: error ] allocate(): unknown image type, not allocating"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2484/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2484","id":18191355,"number":2484,"title":"serialExample Exit exception . (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-17T08:38:59Z","updated_at":"2013-08-17T08:38:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vs2012 +win7sp1+of0.8.0\r\n\r\nrelease and debug..compiler ===> pressed Esc \r\n\r\nrelease : ==> free.c \r\nvoid __cdecl _free_base (void * pBlock)\r\n{\r\n\r\n int retval = 0;\r\n\r\n\r\n if (pBlock == NULL)\r\n return;\r\n\r\n RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));\r\n\r\n retval = HeapFree(_crtheap, 0, pBlock);\r\n if (retval == 0) ===========================>> Exception \r\n {\r\n errno = _get_errno_from_oserr(GetLastError());\r\n }\r\n}\r\n\r\ndebug: ===>xtree\r\n\r\nPairii _Eqrange(const key_type& _Keyval)\r\n\t\t{\t// find leftmost node not less than _Keyval\r\n\t\t_Nodeptr _Pnode = _Root();\r\n\t\t_Nodeptr _Lonode = this->_Myhead;\t// end() if search fails\r\n\t\t_Nodeptr _Hinode = this->_Myhead;\t// end() if search fails\r\n\r\n\t\twhile (!this->_Isnil(_Pnode)) ================>> Exception \r\n ........\r\n}\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2481/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2481","id":18182396,"number":2481,"title":"ofRectRounded does not respond to ofSetCircleResolution or ofSetCurveResolution","user":{"login":"rezaali","id":555207,"avatar_url":"https://2.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https%3A%2F%2Fidenticons.github.com%2F3a40e945e1f4b9b9b7a99b8d18c2c8c1.png","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","url":"https://api.github.com/users/rezaali","html_url":"https://github.com/rezaali","followers_url":"https://api.github.com/users/rezaali/followers","following_url":"https://api.github.com/users/rezaali/following{/other_user}","gists_url":"https://api.github.com/users/rezaali/gists{/gist_id}","starred_url":"https://api.github.com/users/rezaali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rezaali/subscriptions","organizations_url":"https://api.github.com/users/rezaali/orgs","repos_url":"https://api.github.com/users/rezaali/repos","events_url":"https://api.github.com/users/rezaali/events{/privacy}","received_events_url":"https://api.github.com/users/rezaali/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-16T22:37:49Z","updated_at":"2013-08-20T09:22:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2479/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2479","id":18151262,"number":2479,"title":"add read-only access to programmable GL matrix stack","user":{"login":"tgfrerer","id":423509,"avatar_url":"https://2.gravatar.com/avatar/b37673dd0fb953e948cfd5475d49de9f?d=https%3A%2F%2Fidenticons.github.com%2F88b2d0ec0c458a087a93354fbcd730e6.png","gravatar_id":"b37673dd0fb953e948cfd5475d49de9f","url":"https://api.github.com/users/tgfrerer","html_url":"https://github.com/tgfrerer","followers_url":"https://api.github.com/users/tgfrerer/followers","following_url":"https://api.github.com/users/tgfrerer/following{/other_user}","gists_url":"https://api.github.com/users/tgfrerer/gists{/gist_id}","starred_url":"https://api.github.com/users/tgfrerer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgfrerer/subscriptions","organizations_url":"https://api.github.com/users/tgfrerer/orgs","repos_url":"https://api.github.com/users/tgfrerer/repos","events_url":"https://api.github.com/users/tgfrerer/events{/privacy}","received_events_url":"https://api.github.com/users/tgfrerer/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T10:58:22Z","updated_at":"2013-08-19T15:48:30Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2479","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2479.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2479.patch"},"body":"in 'classic' OpenGL 2.0, you could call:\r\n\r\n````glGetFloatv(GL_MODELVIEW_MATRIX, matrixPtr);````\r\n\r\nTo read back the current matrix state from the GPU.\r\n\r\nThis is not possible with modern OpenGL, since the matrix stack is now client-side.\r\n\r\nWith this PR, we get this functionality back into the programmable GL renderer pipeline. Query the current matrix state as in:\r\n\r\n````ofMatrix4x4 currentModelViewMatrix = ofGetGLProgrammableRenderer()->getModelViewMatrix();````\r\n\r\nSince these are read-only methods, they are marked ````const````\r\n\r\nSigned-off-by: tgfrerer "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2478/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2478","id":18150369,"number":2478,"title":"Replacing GLSurfaceView with TextureView","user":{"login":"ikillbombs","id":1842262,"avatar_url":"https://0.gravatar.com/avatar/0e972803504e237e42c9a680885498c8?d=https%3A%2F%2Fidenticons.github.com%2F24e60592283a8e112c32915b7846022d.png","gravatar_id":"0e972803504e237e42c9a680885498c8","url":"https://api.github.com/users/ikillbombs","html_url":"https://github.com/ikillbombs","followers_url":"https://api.github.com/users/ikillbombs/followers","following_url":"https://api.github.com/users/ikillbombs/following{/other_user}","gists_url":"https://api.github.com/users/ikillbombs/gists{/gist_id}","starred_url":"https://api.github.com/users/ikillbombs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikillbombs/subscriptions","organizations_url":"https://api.github.com/users/ikillbombs/orgs","repos_url":"https://api.github.com/users/ikillbombs/repos","events_url":"https://api.github.com/users/ikillbombs/events{/privacy}","received_events_url":"https://api.github.com/users/ikillbombs/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T10:30:22Z","updated_at":"2013-08-20T09:48:45Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi everyone,\r\n\r\nI was wondering if it's a good idea to replace Android GLSurfaceView with GLTextureView. The advantages of replacing this is that multiple views can be combined. after this modification we can create a mapKit for Android and combine it with a native GUI.\r\n\r\nHere's an example link:\r\nhttps://github.com/eaglesakura/gltextureview/tree/issue/1/master"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2477/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2477","id":18146713,"number":2477,"title":"ofxgui setUseTTF bug! (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-16T08:38:14Z","updated_at":"2013-08-20T09:19:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"...\r\ngui.add(twoCircles.setup(\"two circles\"));\r\ngui.add(ringButton.setup(\"ring\"));\r\ngui.add(screenSize.setup(\"screen size\", \"\"));\r\nguiExample =>gui.setUseTTF(true);\r\n...\r\n\r\nText display error....\r\n\r\n![guibug](https://f.cloud.github.com/assets/841770/974290/01366e98-064f-11e3-8e69-146ec8c3a74f.jpg)"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2476/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2476","id":18144117,"number":2476,"title":"parameterGroupExample error! (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":6,"created_at":"2013-08-16T07:07:57Z","updated_at":"2013-08-20T09:25:21Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"E:\\Program Files\\of_v0.8.0_vs_release\\examples\\gui\\parameterGroupExample\r\nvs2012+win7...\r\n\r\nofxGuiGroup.cpp\r\n\r\n 77 line \tofLogError() << \"ofxBaseGroup; can't add control of type \" << type;\r\n\r\n[ error ] ofxBaseGroup; can't add control of type class ofReadOnlyParameter\r\n[ error ] ofxBaseGroup; can't add control of type class ofReadOnlyParameter\r\n[ error ] ofXml: loadFromBuffer(): DOM ERROR\r\n[warning] ofXml: setTo(): empty document\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2475/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2475","id":18143895,"number":2475,"title":"0.8.0 Light and Material problem","user":{"login":"Geistyp","id":1510109,"avatar_url":"https://2.gravatar.com/avatar/6b42478d52d104580a1ae20f973975c2?d=https%3A%2F%2Fidenticons.github.com%2F45d69e69ac304ad6dc2269ebba53ba69.png","gravatar_id":"6b42478d52d104580a1ae20f973975c2","url":"https://api.github.com/users/Geistyp","html_url":"https://github.com/Geistyp","followers_url":"https://api.github.com/users/Geistyp/followers","following_url":"https://api.github.com/users/Geistyp/following{/other_user}","gists_url":"https://api.github.com/users/Geistyp/gists{/gist_id}","starred_url":"https://api.github.com/users/Geistyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geistyp/subscriptions","organizations_url":"https://api.github.com/users/Geistyp/orgs","repos_url":"https://api.github.com/users/Geistyp/repos","events_url":"https://api.github.com/users/Geistyp/events{/privacy}","received_events_url":"https://api.github.com/users/Geistyp/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":14,"created_at":"2013-08-16T06:58:32Z","updated_at":"2013-08-20T11:21:00Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://imgur.com/GiiGBx3\r\nLeft is 0.7.4 , right is 0.8.0.\r\n\r\nsame code\r\n```c++\r\nfloat no_mat[] = {0.0f, 0.0f, 0.0f, 1.0f};\r\nfloat mat_ambient[] = {0.0215, 0.1745, 0.0215, 1.0};\r\nfloat mat_diffuse[] = {0.07568, 0.61424, 0.07568, 1.0};\r\nfloat mat_specular[] = {0.633, 0.727811, 0.633, 1.0};\r\nfloat low_shininess = 15.0f;\r\n\r\n//light properties\r\nfloat ambient[] = {0.5f, 0.5f, 0.5f, 1.0f};\r\nfloat diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};\r\nfloat specular[] = {1.0f, 1.0f, 1.0f, 1.0f};\r\nfloat position[] = {100.0f, 100.0f, 100.0f, 0.0f};\r\n\r\nvoid ofApp::setup(){\r\n\r\n\tglLightfv(GL_LIGHT0, GL_AMBIENT, ambient);\r\n\tglLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);\r\n\tglLightfv(GL_LIGHT0, GL_POSITION, position);\r\n\r\n\tglEnable(GL_LIGHT0);\r\n\tglEnable(GL_LIGHTING);\r\n\r\n\tglEnable(GL_DEPTH_TEST);\r\n\tglShadeModel(GL_SMOOTH); \r\n}\r\n\r\nvoid ofApp::draw(){\r\n\r\n\tcam.begin();\r\n\r\n\tofPushMatrix();\r\n\tofTranslate(0, 0);\r\n\r\n\tglMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);\r\n\tglMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);\r\n\tglMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);\r\n\tglMaterialf(GL_FRONT, GL_SHININESS, low_shininess);\r\n\tglMaterialfv(GL_FRONT, GL_EMISSION, no_mat);\r\n\tofSphere(0, 0, 50);\r\n\r\n\tofPopMatrix();\r\n\r\n\r\n\tcam.end();\r\n}\r\n```\r\n\r\nofMaterial not work? I try to load a model with material, material data loaded, but show nothing.\r\nhttp://imgur.com/yMZda6w\r\n\r\n```c++\r\nofxAssimpModelLoader loader;\r\nofxAssimpMeshHelper mesh;\r\n\r\nofLight light;\r\n\r\nvoid ofApp::setup(){\r\n\r\n\tofDisableArbTex(); \r\n\tloader.loadModel(\"mini.dae\");\r\n\r\n\tofEnableSeparateSpecularLight();\r\n\tofEnableDepthTest();\r\n\tglShadeModel(GL_SMOOTH); \r\n\t\r\n\tlight.enable();\r\n\t\r\n\tmesh= loader.getMeshHelper(0);\r\n}\r\n\r\nvoid ofApp::draw(){\r\n\r\n \tcam.begin();\r\n\tofPushMatrix();\r\n\tofTranslate(0, 0);\r\n\r\n\t//loader.draw(OF_MESH_FILL);\r\n\r\n // (mesh.material).diffuse = {r=0.752941191 g=0.517647088 b=0.372548997 a=1.000000}\r\n // (mesh.material).ambient = {r=0.100000001 g=0.100000001 b=0.100000001 a=1.000000}\r\n // (mesh.material).specular = {r=0.400000006 g=0.400000006 b=0.400000006 a=1.000000}\r\n // (mesh.material).emissive = {r=0.000000000 g=0.000000000 b=0.000000000 a=1.000000}\r\n // (mesh.material).shininess = 10.000000\r\n\tmesh.material.begin();\r\n\tofSphere(0, 0, 50);\r\n\tmesh.material.end();\r\n\r\n\tofPopMatrix();\r\n\tcam.end();\r\n}\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2473/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2473","id":18116496,"number":2473,"title":"Fixed bug in ofCairoRenderer where moveTo commands are interpreted wrong","user":{"login":"bgstaal","id":165258,"avatar_url":"https://0.gravatar.com/avatar/4fcf8b28dcc18014970d4930d0a00e72?d=https%3A%2F%2Fidenticons.github.com%2Fc78b173dd2f89f95c1414e53b78123fe.png","gravatar_id":"4fcf8b28dcc18014970d4930d0a00e72","url":"https://api.github.com/users/bgstaal","html_url":"https://github.com/bgstaal","followers_url":"https://api.github.com/users/bgstaal/followers","following_url":"https://api.github.com/users/bgstaal/following{/other_user}","gists_url":"https://api.github.com/users/bgstaal/gists{/gist_id}","starred_url":"https://api.github.com/users/bgstaal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgstaal/subscriptions","organizations_url":"https://api.github.com/users/bgstaal/orgs","repos_url":"https://api.github.com/users/bgstaal/repos","events_url":"https://api.github.com/users/bgstaal/events{/privacy}","received_events_url":"https://api.github.com/users/bgstaal/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2013-08-15T17:35:55Z","updated_at":"2013-08-15T17:36:34Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2473","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2473.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2473.patch"},"body":"This results in cairo sub paths not starting from the supplied point of the moveTo command. Adding one lien of code fixes this."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2472/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2472","id":18107084,"number":2472,"title":"Break Points at Setup (of0.8.0)","user":{"login":"Vamoss","id":245841,"avatar_url":"https://0.gravatar.com/avatar/80c722474d39c07271917a466f4e26dd?d=https%3A%2F%2Fidenticons.github.com%2F406e8d2580cf39474c77a170d51800e3.png","gravatar_id":"80c722474d39c07271917a466f4e26dd","url":"https://api.github.com/users/Vamoss","html_url":"https://github.com/Vamoss","followers_url":"https://api.github.com/users/Vamoss/followers","following_url":"https://api.github.com/users/Vamoss/following{/other_user}","gists_url":"https://api.github.com/users/Vamoss/gists{/gist_id}","starred_url":"https://api.github.com/users/Vamoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vamoss/subscriptions","organizations_url":"https://api.github.com/users/Vamoss/orgs","repos_url":"https://api.github.com/users/Vamoss/repos","events_url":"https://api.github.com/users/Vamoss/events{/privacy}","received_events_url":"https://api.github.com/users/Vamoss/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2013-08-15T14:05:20Z","updated_at":"2013-08-15T15:14:28Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hi,\r\n\r\nI dont know exactly what is happening, but the setup accuses a break point in two cases, one at ofLogToFile(\"myFile.log\", true);\r\n\r\nAnd another in the end of testApp::setup(){}.\r\nIn this case the stack is not readable, but in the ofLogToFile Call Stack is:\r\nmsvcr110d.dll!_unlock(int locknum) Line 366\tC\r\nmsvcr110d.dll!operator delete(void * pUserData) Line 57\tC++\r\nmsvcr110d.dll!operator delete(void * pUserData) Line 56\tC++\r\n 03a31748()\tUnknown\r\nmsvcr110d.dll!_heap_alloc_base(unsigned int size) Line 57\tC\r\nmsvcr110d.dll!_heap_alloc_dbg_impl(unsigned int nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 431\tC++\r\nmsvcr110d.dll!_nh_malloc_dbg_impl(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 239\tC++\r\nmsvcr110d.dll!_nh_malloc_dbg(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine) Line 302\tC++\r\nmsvcr110d.dll!malloc(unsigned int nSize) Line 56\tC++\r\nmsvcr110d.dll!operator new(unsigned int size) Line 59\tC++\r\nRender_debug.exe!std::_Allocate(unsigned int _Count, std::_Container_proxy * __formal) Line 28\tC++\r\nRender_debug.exe!std::allocator::allocate(unsigned int _Count) Line 591\tC++\r\nRender_debug.exe!std::_String_alloc<0,std::_String_base_types > >::_Alloc_proxy() Line 671\tC++ \tRender_debug.exe!std::_String_alloc<0,std::_String_base_types > >::_String_alloc<0,std::_String_base_types > >(const std::allocator & __formal) Line 651\tC++\r\nRender_debug.exe!std::basic_string,std::allocator >::basic_string,std::allocator >() Line 749\tC++\r\nRender_debug.exe!Poco::FileImpl::FileImpl(void)\tUnknown\r\nRender_debug.exe!Poco::File::File(void)\tUnknown\r\nRender_debug.exe!ofFile::ofFile() Line 260\tC++\r\nRender_debug.exe!ofFileLoggerChannel::ofFileLoggerChannel(const std::basic_string,std::allocator > & path, bool append) Line 288\tC++\r\nRender_debug.exe!ofLogToFile(const std::basic_string,std::allocator > & path, bool append) Line 41\tC++\r\nRender_debug.exe!SuperLog::setup(std::basic_string,std::allocator > filename) Line 17\tC++\r\nRender_debug.exe!testApp::setup() Line 14\tC++\r\nRender_debug.exe!ofBaseApp::setup(ofEventArgs & args) Line 41\tC++\r\nRender_debug.exe!Poco::PriorityDelegate::notify(const void * sender, ofEventArgs & arguments) Line 168\tC++\r\nRender_debug.exe!Poco::PriorityStrategy >::notify(const void * sender, ofEventArgs & arguments) Line 81\tC++\r\nRender_debug.exe!Poco::AbstractEvent >,Poco::AbstractPriorityDelegate,Poco::FastMutex>::notify(const void * pSender, ofEventArgs & args) Line 242\tC++\r\nRender_debug.exe!ofNotifyEvent,ofEventArgs>(ofEvent & event, ofEventArgs & args) Line 172\tC++\r\nRender_debug.exe!ofNotifySetup() Line 120\tC++\r\n\r\nI am at a Windows 7, Visual Studio 2012 Express with OpenFrameworks 0.8.0.\r\n\r\nThanks,\r\nCarlos"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2469/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2469","id":18048273,"number":2469,"title":"enums and #defines for ofxiOS have weird case and don't deprecate old enums","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":3,"created_at":"2013-08-14T11:58:58Z","updated_at":"2013-08-20T12:43:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ie:\r\n\r\n```\r\n#define ofxiOS_DEVICE_IPHONE_2G\t\t\"iPhone1,1\"\r\n#define ofxiOS_DEVICE_IPHONE_3G\t\t\"iPhone1,2\"\r\n#define ofxiOS_DEVICE_IPHONE_3GS\t\"iPhone2,1\"\r\n#define ofxiOS_DEVICE_IPHONE_4\t\t\"iPhone3,1\"\r\n\r\n#define ofxiOS_DEVICE_IPOD_1STGEN\t\"iPod1,1\"\r\n#define ofxiOS_DEVICE_IPOD_2NDGEN\t\"iPod2,1\"\r\n#define ofxiOS_DEVICE_IPOD_3RDGEN\t\"iPod3,1\"\r\n#define ofxiOS_DEVICE_IPOD_4THGEN\t\"iPod4,1\"\r\n```\r\n\r\naccording to the old approach it should be: \r\n\r\n```\r\n#define OFXIOS_DEVICE_IPHONE_2G\t\"iPhone1,1\"\r\n#define OFXIOS_DEVICE_IPHONE_3G\t\"iPhone1,2\"\r\n#define OFXIOS_DEVICE_IPHONE_3GS\t\"iPhone2,1\"\r\n#define OFXIOS_DEVICE_IPHONE_4\t\t\"iPhone3,1\"\r\n\r\n#define OFXIOS_DEVICE_IPOD_1STGEN\t\"iPod1,1\"\r\n#define OFXIOS_DEVICE_IPOD_2NDGEN\t\"iPod2,1\"\r\n#define OFXIOS_DEVICE_IPOD_3RDGEN\t\"iPod3,1\"\r\n#define OFXIOS_DEVICE_IPOD_4THGEN\t\"iPod4,1\"\r\n```\r\n\r\nwith #define for old ofxiPhone names:\r\n\r\nie: \r\n`#define OFXIPHONE_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n\r\nI wonder if we should change \r\nofxiOS_ -> OFXIOS \r\n\r\nwe would then need to do two levels of #defines one for the 0.8.0 release and one for pre 0.8.0 \r\n\r\nie: \r\n\r\n`#define OFXIPHONE_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n`#define ofxiOS_DEVICE_IPHONE_2G OFXIOS_DEVICE_IPHONE_2G`\r\n\r\nNote: there are more examples of these #defines and enums, I'm just using this set as an example. \r\n\r\n\r\nALSO fix this: OFXIPHONE_MAPKIT_HYRBID -> OFXIPHONE_MAPKIT_HYBRID\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2468/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2468","id":18046461,"number":2468,"title":"ofAppGLFWWindow Verbose Messages","user":{"login":"kamend","id":462951,"avatar_url":"https://0.gravatar.com/avatar/1b0002ee319a421a56ef94c199382fb7?d=https%3A%2F%2Fidenticons.github.com%2F855526feec5d5e0ffaf4ea2115979d44.png","gravatar_id":"1b0002ee319a421a56ef94c199382fb7","url":"https://api.github.com/users/kamend","html_url":"https://github.com/kamend","followers_url":"https://api.github.com/users/kamend/followers","following_url":"https://api.github.com/users/kamend/following{/other_user}","gists_url":"https://api.github.com/users/kamend/gists{/gist_id}","starred_url":"https://api.github.com/users/kamend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamend/subscriptions","organizations_url":"https://api.github.com/users/kamend/orgs","repos_url":"https://api.github.com/users/kamend/repos","events_url":"https://api.github.com/users/kamend/events{/privacy}","received_events_url":"https://api.github.com/users/kamend/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-14T11:08:04Z","updated_at":"2013-08-20T09:15:05Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Hey guys,\r\nI am playing around with OF 0.8 and I noticed that ofAppGLFWWindow has some verbose messages, when pressing mouse buttons and keys, is this intentional or you just forgot to remove the messages?\r\n\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: mouse button: 0\r\n[verbose] ofAppGLFWWindow: key: 343 state: 1\r\n[verbose] ofAppGLFWWindow: key: 343 state: 0\r\n[verbose] ofAppGLFWWindow: key: 343 state: 1\r\n\r\nGreat work btw!"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2464/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2464","id":18038636,"number":2464,"title":"Can I use ofGstVideoPlayer in Windows? (of0.8.0)","user":{"login":"yty","id":841770,"avatar_url":"https://0.gravatar.com/avatar/a8010f501bbf6646afd69a8c3afc773a?d=https%3A%2F%2Fidenticons.github.com%2Ffd07b54170df1ee5062afa89905d7511.png","gravatar_id":"a8010f501bbf6646afd69a8c3afc773a","url":"https://api.github.com/users/yty","html_url":"https://github.com/yty","followers_url":"https://api.github.com/users/yty/followers","following_url":"https://api.github.com/users/yty/following{/other_user}","gists_url":"https://api.github.com/users/yty/gists{/gist_id}","starred_url":"https://api.github.com/users/yty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yty/subscriptions","organizations_url":"https://api.github.com/users/yty/orgs","repos_url":"https://api.github.com/users/yty/repos","events_url":"https://api.github.com/users/yty/events{/privacy}","received_events_url":"https://api.github.com/users/yty/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-14T07:28:45Z","updated_at":"2013-08-17T03:57:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Because ofQuickTimePlayer only play *.mov, would like to use gst ..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2460/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2460","id":18003137,"number":2460,"title":"ofxAndroidVideoPlayer working on emulator not on device (iStick A200)","user":{"login":"I33N","id":520375,"avatar_url":"https://1.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https%3A%2F%2Fidenticons.github.com%2F029dd6120545e3ca65422e4479af8e99.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","url":"https://api.github.com/users/I33N","html_url":"https://github.com/I33N","followers_url":"https://api.github.com/users/I33N/followers","following_url":"https://api.github.com/users/I33N/following{/other_user}","gists_url":"https://api.github.com/users/I33N/gists{/gist_id}","starred_url":"https://api.github.com/users/I33N/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/I33N/subscriptions","organizations_url":"https://api.github.com/users/I33N/orgs","repos_url":"https://api.github.com/users/I33N/repos","events_url":"https://api.github.com/users/I33N/events{/privacy}","received_events_url":"https://api.github.com/users/I33N/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-08-13T15:34:27Z","updated_at":"2013-08-13T17:21:44Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I am working with the iStick A200 (PQLabs ANdroid stick) and wanted to test the video player example. It worked great on the emulator (using auto instead of external in the manifest) but when I launch it on the device I can only see 1 line of pixel flickering.\r\n\r\nThe movie is loaded without problem, I can even see the resolution is OK and I have no problem reading it with the basic videoplayer.\r\n\r\nAs the iStick is not supported on OSX I can't monitor it with logcat and I have to copy the .apk on the device to test. So I can't copy the log. But it looks just fine.\r\n\r\nAny idea? Did you have more luck on another device?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2457/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2457","id":17992953,"number":2457,"title":"vboDrawInstancedExample hardware check not accurate. ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-13T12:09:51Z","updated_at":"2013-08-14T10:21:22Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"vboDrawInstancedExample seems to work fine for some people even if the check for glDrawElementsInstanced returns 0. \r\n\r\nMaybe there is a better way to test that doesn't get some false negatives.\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,13049.msg56329.html#msg56329\r\n\r\nrelates to #2433 "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2456/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2456","id":17986223,"number":2456,"title":"Window not being redrawn while resizing","user":{"login":"bgstaal","id":165258,"avatar_url":"https://0.gravatar.com/avatar/4fcf8b28dcc18014970d4930d0a00e72?d=https%3A%2F%2Fidenticons.github.com%2Fc78b173dd2f89f95c1414e53b78123fe.png","gravatar_id":"4fcf8b28dcc18014970d4930d0a00e72","url":"https://api.github.com/users/bgstaal","html_url":"https://github.com/bgstaal","followers_url":"https://api.github.com/users/bgstaal/followers","following_url":"https://api.github.com/users/bgstaal/following{/other_user}","gists_url":"https://api.github.com/users/bgstaal/gists{/gist_id}","starred_url":"https://api.github.com/users/bgstaal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgstaal/subscriptions","organizations_url":"https://api.github.com/users/bgstaal/orgs","repos_url":"https://api.github.com/users/bgstaal/repos","events_url":"https://api.github.com/users/bgstaal/events{/privacy}","received_events_url":"https://api.github.com/users/bgstaal/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/regression","name":"regression","color":"e10c02"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":1,"created_at":"2013-08-13T09:07:23Z","updated_at":"2013-08-13T11:33:26Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Since the switch to GLFW for windowing the window is not redrawn while being resized. See this screenshot from the advanced 3d example (Taken while resizing the window):\r\n\r\n![redraw-error](https://f.cloud.github.com/assets/165258/953491/6db5463e-03f7-11e3-840e-961a49fc8516.png)\r\n\r\nI tried switching to ofAppGlutWindow in main.c and then everything works fine.\r\n\r\nI've only tested this on Mac OS 10.7\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2455/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2455","id":17984675,"number":2455,"title":"borderless windows?","user":{"login":"mazbox","id":194121,"avatar_url":"https://2.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https%3A%2F%2Fidenticons.github.com%2F1a833e8b88a3cb77651448055b3e93e9.png","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","url":"https://api.github.com/users/mazbox","html_url":"https://github.com/mazbox","followers_url":"https://api.github.com/users/mazbox/followers","following_url":"https://api.github.com/users/mazbox/following{/other_user}","gists_url":"https://api.github.com/users/mazbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mazbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mazbox/subscriptions","organizations_url":"https://api.github.com/users/mazbox/orgs","repos_url":"https://api.github.com/users/mazbox/repos","events_url":"https://api.github.com/users/mazbox/events{/privacy}","received_events_url":"https://api.github.com/users/mazbox/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2013-08-13T08:26:09Z","updated_at":"2013-08-20T09:26:46Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Now we're on GLFW, could we have the option to have borderless windows? This is really easy in ofAppGLFWWindow.cpp, just need this:\r\n\r\nglfwWindowHint(GLFW_DECORATED, GL_FALSE);\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2449/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2449","id":17928213,"number":2449,"title":"ofxiOSKeyboard need fix y poision?","user":{"login":"azuremous","id":319589,"avatar_url":"https://0.gravatar.com/avatar/c3d1cd991fa2f486a4d2a387531de77e?d=https%3A%2F%2Fidenticons.github.com%2Fbb2af607d543b861335f5fe253300975.png","gravatar_id":"c3d1cd991fa2f486a4d2a387531de77e","url":"https://api.github.com/users/azuremous","html_url":"https://github.com/azuremous","followers_url":"https://api.github.com/users/azuremous/followers","following_url":"https://api.github.com/users/azuremous/following{/other_user}","gists_url":"https://api.github.com/users/azuremous/gists{/gist_id}","starred_url":"https://api.github.com/users/azuremous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azuremous/subscriptions","organizations_url":"https://api.github.com/users/azuremous/orgs","repos_url":"https://api.github.com/users/azuremous/repos","events_url":"https://api.github.com/users/azuremous/events{/privacy}","received_events_url":"https://api.github.com/users/azuremous/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":1,"created_at":"2013-08-12T07:54:05Z","updated_at":"2013-08-20T08:44:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofxiOSKeyboard.mm\r\n\r\ninside init() and updateOrientation() there is _y = _h need to fix to _y = _yOriginal ?\r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2447/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2447","id":17925468,"number":2447,"title":"Feature Request: ofXml saving with XML declaration","user":{"login":"Geistyp","id":1510109,"avatar_url":"https://2.gravatar.com/avatar/6b42478d52d104580a1ae20f973975c2?d=https%3A%2F%2Fidenticons.github.com%2F45d69e69ac304ad6dc2269ebba53ba69.png","gravatar_id":"6b42478d52d104580a1ae20f973975c2","url":"https://api.github.com/users/Geistyp","html_url":"https://github.com/Geistyp","followers_url":"https://api.github.com/users/Geistyp/followers","following_url":"https://api.github.com/users/Geistyp/following{/other_user}","gists_url":"https://api.github.com/users/Geistyp/gists{/gist_id}","starred_url":"https://api.github.com/users/Geistyp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geistyp/subscriptions","organizations_url":"https://api.github.com/users/Geistyp/orgs","repos_url":"https://api.github.com/users/Geistyp/repos","events_url":"https://api.github.com/users/Geistyp/events{/privacy}","received_events_url":"https://api.github.com/users/Geistyp/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","assignee":{"login":"joshuajnoble","id":237423,"avatar_url":"https://1.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https%3A%2F%2Fidenticons.github.com%2Fb2018d244935ce2c5e98c5834187e538.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","html_url":"https://github.com/joshuajnoble","followers_url":"https://api.github.com/users/joshuajnoble/followers","following_url":"https://api.github.com/users/joshuajnoble/following{/other_user}","gists_url":"https://api.github.com/users/joshuajnoble/gists{/gist_id}","starred_url":"https://api.github.com/users/joshuajnoble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshuajnoble/subscriptions","organizations_url":"https://api.github.com/users/joshuajnoble/orgs","repos_url":"https://api.github.com/users/joshuajnoble/repos","events_url":"https://api.github.com/users/joshuajnoble/events{/privacy}","received_events_url":"https://api.github.com/users/joshuajnoble/received_events","type":"User"},"milestone":null,"comments":2,"created_at":"2013-08-12T06:09:43Z","updated_at":"2013-08-20T14:31:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"- Sometimes we need when save wide-char string. ( Save as ascii will get a lot of messy code )\r\n\r\n```c++\r\nbool ofXml::save(const string & path, bool saveWithDeclaration/*=false*/){\r\n ofBuffer buffer(saveWithDeclaration?\r\n\t\t\t\t\"\\n\"\r\n\t\t\t\t:\"\"\r\n\t\t\t\t+toString());\r\n ofFile file(path, ofFile::WriteOnly);\r\n return file.writeFromBuffer(buffer);\r\n}\r\n```\r\n\r\n- Or ofFile/ofBuffer add utf-8 save mode.\r\n\r\n```c++\r\nstd::ofstream fs;\r\nfs.open(filepath, std::ios::out|std::ios::binary);\r\n\r\nunsigned char smarker[3];\r\nsmarker[0] = 0xEF;\r\nsmarker[1] = 0xBB;\r\nsmarker[2] = 0xBF;\r\n\r\nfs << smarker;\r\nfs.close();\r\n\r\n//Then open the file as UTF and write your content there:\r\n\r\nstd::wofstream fs;\r\nfs.open(filepath, std::ios::out|std::ios::app);\r\n\r\nstd::locale utf8_locale(std::locale(), new utf8cvt);\r\nfs.imbue(utf8_locale); \r\n\r\nfs << .. // Write anything you want...\r\n```"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/2445/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/2445","id":17924672,"number":2445,"title":"UTF-8 String Clipboard Support","user":{"login":"bakercp","id":300484,"avatar_url":"https://1.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"labels":[],"state":"open","assignee":{"login":"bakercp","id":300484,"avatar_url":"https://1.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https%3A%2F%2Fidenticons.github.com%2F4aaaf6f29fe96098740aa5f98b6c8b12.png","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","url":"https://api.github.com/users/bakercp","html_url":"https://github.com/bakercp","followers_url":"https://api.github.com/users/bakercp/followers","following_url":"https://api.github.com/users/bakercp/following{/other_user}","gists_url":"https://api.github.com/users/bakercp/gists{/gist_id}","starred_url":"https://api.github.com/users/bakercp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bakercp/subscriptions","organizations_url":"https://api.github.com/users/bakercp/orgs","repos_url":"https://api.github.com/users/bakercp/repos","events_url":"https://api.github.com/users/bakercp/events{/privacy}","received_events_url":"https://api.github.com/users/bakercp/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/13/labels","id":375917,"number":13,"title":"0.8.1","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":34,"closed_issues":9,"state":"open","created_at":"2013-07-11T13:25:32Z","updated_at":"2013-08-21T08:18:48Z","due_on":"2013-09-08T07:00:00Z"},"comments":2,"created_at":"2013-08-12T05:22:23Z","updated_at":"2013-08-14T11:03:50Z","closed_at":null,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/2445","diff_url":"https://github.com/openframeworks/openFrameworks/pull/2445.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/2445.patch"},"body":"Perhaps the window interface could also be implemented in mobile platforms.\r\n\r\n- [x] Add support to `ofAppiOSWindow` (go @julapy ! 0c6db8934f3eff84dca3af5939891d9883910b8d) \r\n- [ ] Add support to `ofAppAndroidWindow` (@arturoc can you take this one?)\r\n- [x] Add support to `ofAppEGLWindow` (will not be implemented as GLFW is now used on all known x11 accelerated)\r\n- [x] Add support to `ofAppNoWindow` (?)\r\n- [x] Add support to `ofAppGlutWindow` (just kidding)"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=17 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '77244'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 10:42:46 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ff413c4ac1c8950a3c117d577119cd9e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 10:54:17 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377085393')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/387","id":529646,"number":387,"title":"Linker error when loading image (Poco::Net related?)","user":{"login":"damiannz","id":144366,"avatar_url":"https://1.gravatar.com/avatar/3ac59f1faa71f3b69fb9ceb83e50062c?d=https%3A%2F%2Fidenticons.github.com%2Fc307eaf05d81de0eecbee81d97709991.png","gravatar_id":"3ac59f1faa71f3b69fb9ceb83e50062c","url":"https://api.github.com/users/damiannz","html_url":"https://github.com/damiannz","followers_url":"https://api.github.com/users/damiannz/followers","following_url":"https://api.github.com/users/damiannz/following{/other_user}","gists_url":"https://api.github.com/users/damiannz/gists{/gist_id}","starred_url":"https://api.github.com/users/damiannz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damiannz/subscriptions","organizations_url":"https://api.github.com/users/damiannz/orgs","repos_url":"https://api.github.com/users/damiannz/repos","events_url":"https://api.github.com/users/damiannz/events{/privacy}","received_events_url":"https://api.github.com/users/damiannz/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-16T05:57:51Z","updated_at":"2011-03-13T21:10:48Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/357","id":527591,"number":357,"title":"ofDrawBitmapString vs GL_LIGHTING","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-14T19:30:31Z","updated_at":"2013-07-28T18:47:34Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/347","id":526094,"number":347,"title":"none of the core functions report how many dimensions they work for","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-14T01:33:38Z","updated_at":"2011-01-14T01:33:38Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points..."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/337","id":523837,"number":337,"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":7,"created_at":"2011-01-13T05:21:53Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/305","id":516844,"number":305,"title":"no implementation in ofBaseTypes","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-10T06:36:27Z","updated_at":"2011-01-10T06:36:27Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/302","id":516565,"number":302,"title":"Remove Poco CppUnit from all projects ( done on os x )","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":3,"created_at":"2011-01-10T02:39:28Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/298","id":516559,"number":298,"title":"Update Freetype to latest versions. ","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":6,"created_at":"2011-01-10T02:37:49Z","updated_at":"2013-07-22T16:14:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/292","id":516071,"number":292,"title":"ofTexture should be more flexible","user":{"login":"I33N","id":520375,"avatar_url":"https://1.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https%3A%2F%2Fidenticons.github.com%2F029dd6120545e3ca65422e4479af8e99.png","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","url":"https://api.github.com/users/I33N","html_url":"https://github.com/I33N","followers_url":"https://api.github.com/users/I33N/followers","following_url":"https://api.github.com/users/I33N/following{/other_user}","gists_url":"https://api.github.com/users/I33N/gists{/gist_id}","starred_url":"https://api.github.com/users/I33N/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/I33N/subscriptions","organizations_url":"https://api.github.com/users/I33N/orgs","repos_url":"https://api.github.com/users/I33N/repos","events_url":"https://api.github.com/users/I33N/events{/privacy}","received_events_url":"https://api.github.com/users/I33N/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-09T20:46:43Z","updated_at":"2011-01-09T20:46:43Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/275","id":445829,"number":275,"title":"atexit(ofExitCallback);","user":{"login":"vanderlin","id":149997,"avatar_url":"https://0.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https%3A%2F%2Fidenticons.github.com%2F9e9c49562cad72e3a40a0e2078c45a2b.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2010-11-30T05:13:10Z","updated_at":"2013-03-26T06:42:32Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/271","id":433297,"number":271,"title":"ofDrawBitmapString draws from bottom left","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":7,"created_at":"2010-11-22T21:30:40Z","updated_at":"2011-03-17T02:02:25Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/264","id":425675,"number":264,"title":"ofClear uses inconsistent arguments","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":5,"created_at":"2010-11-18T06:15:47Z","updated_at":"2013-06-14T22:15:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/255","id":413771,"number":255,"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":6,"created_at":"2010-11-11T21:14:05Z","updated_at":"2013-06-27T14:50:24Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/249","id":399214,"number":249,"title":"normalize option nomenclature (hide/enable/set/etc.)","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2010-11-03T22:52:08Z","updated_at":"2011-12-02T20:11:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/245","id":360885,"number":245,"title":"gstreamer problems with streaming of microsoft video","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"state":"open","assignee":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":2,"created_at":"2010-10-13T16:33:06Z","updated_at":"2013-07-07T17:40:50Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/228","id":309191,"number":228,"title":"remove bAllocated in ofTexture?","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"state":"open","assignee":null,"milestone":null,"comments":4,"created_at":"2010-09-09T14:20:55Z","updated_at":"2011-04-19T00:32:33Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/225","id":295913,"number":225,"title":"ofxVectorMath constants","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2010-08-31T10:54:19Z","updated_at":"2010-08-31T10:54:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/224","id":290973,"number":224,"title":"gaussian noise","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":11,"created_at":"2010-08-26T10:21:24Z","updated_at":"2013-07-01T18:48:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/181","id":171615,"number":181,"title":"ofxCvBlobs","user":{"login":"vanderlin","id":149997,"avatar_url":"https://0.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https%3A%2F%2Fidenticons.github.com%2F9e9c49562cad72e3a40a0e2078c45a2b.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2010-04-14T15:42:22Z","updated_at":"2010-04-14T15:48:19Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/172","id":166209,"number":172,"title":"rgb + alpha -> blit to texture","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":3,"created_at":"2010-04-06T19:40:28Z","updated_at":"2013-06-15T20:23:15Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":" the idea is to be able to easily combine a rgb and alpha image into a rgba texture or ofImage. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/167","id":165898,"number":167,"title":"replace fmod","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":5,"created_at":"2010-04-06T12:13:31Z","updated_at":"2013-05-24T22:53:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/140","id":163959,"number":140,"title":"texture compression and mipmaps for of texture","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":4,"created_at":"2010-04-02T19:43:00Z","updated_at":"2013-07-11T15:07:53Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. "},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/126","id":132377,"number":126,"title":"ofATan2GL / ofVecToGL ?","user":{"login":"openframeworks","id":142866,"avatar_url":"https://1.gravatar.com/avatar/1061569f505705f6ba1f485673c5cc3b?d=https%3A%2F%2Fidenticons.github.com%2Fa539871f08dd8f7c88f24bb7e1c1ed79.png","gravatar_id":"1061569f505705f6ba1f485673c5cc3b","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following{/other_user}","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":5,"created_at":"2010-02-13T14:22:51Z","updated_at":"2013-02-11T12:13:02Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/124","id":132373,"number":124,"title":"TTF type rendering in OF - fix fuzziness ","user":{"login":"openframeworks","id":142866,"avatar_url":"https://1.gravatar.com/avatar/1061569f505705f6ba1f485673c5cc3b?d=https%3A%2F%2Fidenticons.github.com%2Fa539871f08dd8f7c88f24bb7e1c1ed79.png","gravatar_id":"1061569f505705f6ba1f485673c5cc3b","url":"https://api.github.com/users/openframeworks","html_url":"https://github.com/openframeworks","followers_url":"https://api.github.com/users/openframeworks/followers","following_url":"https://api.github.com/users/openframeworks/following{/other_user}","gists_url":"https://api.github.com/users/openframeworks/gists{/gist_id}","starred_url":"https://api.github.com/users/openframeworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openframeworks/subscriptions","organizations_url":"https://api.github.com/users/openframeworks/orgs","repos_url":"https://api.github.com/users/openframeworks/repos","events_url":"https://api.github.com/users/openframeworks/events{/privacy}","received_events_url":"https://api.github.com/users/openframeworks/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":{"login":"ofZach","id":142897,"avatar_url":"https://2.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https%3A%2F%2Fidenticons.github.com%2F6e272aa1d97fe0fbc4dd57f465b1c639.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8/labels","id":88731,"number":8,"title":"0.9.0","description":"","creator":{"login":"bilderbuchi","id":327442,"avatar_url":"https://2.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https%3A%2F%2Fidenticons.github.com%2Ffdc2f086849a4bfc788364d9226a1e1e.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User"},"open_issues":53,"closed_issues":8,"state":"open","created_at":"2012-02-25T01:34:28Z","updated_at":"2013-08-21T01:16:45Z","due_on":"2013-10-31T07:00:00Z"},"comments":9,"created_at":"2010-02-13T14:15:25Z","updated_at":"2013-07-19T14:03:09Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852"}] - -https -GET -api.github.com -None -/repositories/345337/issues?page=16 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '74557'), ('server', 'GitHub.com'), ('last-modified', 'Wed, 21 Aug 2013 10:42:46 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"ff413c4ac1c8950a3c117d577119cd9e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 21 Aug 2013 10:54:19 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377085393')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/555/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/555","id":812623,"number":555,"title":"ofxOpenCv -- ofxCvHaarFinder should have a draw function","user":{"login":"ofZach","id":142897,"avatar_url":"https://2.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https%3A%2F%2Fidenticons.github.com%2F6e272aa1d97fe0fbc4dd57f465b1c639.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","html_url":"https://github.com/ofZach","followers_url":"https://api.github.com/users/ofZach/followers","following_url":"https://api.github.com/users/ofZach/following{/other_user}","gists_url":"https://api.github.com/users/ofZach/gists{/gist_id}","starred_url":"https://api.github.com/users/ofZach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofZach/subscriptions","organizations_url":"https://api.github.com/users/ofZach/orgs","repos_url":"https://api.github.com/users/ofZach/repos","events_url":"https://api.github.com/users/ofZach/events{/privacy}","received_events_url":"https://api.github.com/users/ofZach/received_events","type":"User"},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-04-26T00:36:47Z","updated_at":"2011-04-26T00:37:56Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","id":543729,"number":418,"title":"something to wrap glMultMatrixf","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://2.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-22T15:57:37Z","updated_at":"2011-01-22T15:57:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","id":543694,"number":417,"title":"3D isn't scale invariant in certain parts","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://2.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-22T15:24:07Z","updated_at":"2011-01-22T15:24:07Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","id":539845,"number":412,"title":"add setMultisampling method to glutWindow","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-20T19:33:30Z","updated_at":"2013-07-05T19:59:30Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","id":537416,"number":406,"title":"ofEnableLighting","user":{"login":"vanderlin","id":149997,"avatar_url":"https://0.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https%3A%2F%2Fidenticons.github.com%2F9e9c49562cad72e3a40a0e2078c45a2b.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","html_url":"https://github.com/vanderlin","followers_url":"https://api.github.com/users/vanderlin/followers","following_url":"https://api.github.com/users/vanderlin/following{/other_user}","gists_url":"https://api.github.com/users/vanderlin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanderlin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanderlin/subscriptions","organizations_url":"https://api.github.com/users/vanderlin/orgs","repos_url":"https://api.github.com/users/vanderlin/repos","events_url":"https://api.github.com/users/vanderlin/events{/privacy}","received_events_url":"https://api.github.com/users/vanderlin/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-19T19:39:36Z","updated_at":"2011-01-19T19:39:37Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","id":536614,"number":405,"title":"ofViewport doesn't match rest of openFrameworks coordinates","user":{"login":"elliotwoods","id":328294,"avatar_url":"https://2.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https%3A%2F%2Fidenticons.github.com%2Fd5f2a0f6c7205cf195a62516b19b4f2c.png","gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","html_url":"https://github.com/elliotwoods","followers_url":"https://api.github.com/users/elliotwoods/followers","following_url":"https://api.github.com/users/elliotwoods/following{/other_user}","gists_url":"https://api.github.com/users/elliotwoods/gists{/gist_id}","starred_url":"https://api.github.com/users/elliotwoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elliotwoods/subscriptions","organizations_url":"https://api.github.com/users/elliotwoods/orgs","repos_url":"https://api.github.com/users/elliotwoods/repos","events_url":"https://api.github.com/users/elliotwoods/events{/privacy}","received_events_url":"https://api.github.com/users/elliotwoods/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-19T13:24:53Z","updated_at":"2011-01-19T13:24:54Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/403","id":532954,"number":403,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","user":{"login":"arturoc","id":48240,"avatar_url":"https://1.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https%3A%2F%2Fidenticons.github.com%2Fd6a785f81d36e5ce6bd64105058af796.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","html_url":"https://github.com/arturoc","followers_url":"https://api.github.com/users/arturoc/followers","following_url":"https://api.github.com/users/arturoc/following{/other_user}","gists_url":"https://api.github.com/users/arturoc/gists{/gist_id}","starred_url":"https://api.github.com/users/arturoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arturoc/subscriptions","organizations_url":"https://api.github.com/users/arturoc/orgs","repos_url":"https://api.github.com/users/arturoc/repos","events_url":"https://api.github.com/users/arturoc/events{/privacy}","received_events_url":"https://api.github.com/users/arturoc/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2011-01-17T23:39:31Z","updated_at":"2012-06-18T07:28:14Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/400","id":532096,"number":400,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","user":{"login":"ofTheo","id":144000,"avatar_url":"https://0.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https%3A%2F%2Fidenticons.github.com%2F4927fe2904a479337f27af83d0ab970f.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","html_url":"https://github.com/ofTheo","followers_url":"https://api.github.com/users/ofTheo/followers","following_url":"https://api.github.com/users/ofTheo/following{/other_user}","gists_url":"https://api.github.com/users/ofTheo/gists{/gist_id}","starred_url":"https://api.github.com/users/ofTheo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofTheo/subscriptions","organizations_url":"https://api.github.com/users/ofTheo/orgs","repos_url":"https://api.github.com/users/ofTheo/repos","events_url":"https://api.github.com/users/ofTheo/events{/privacy}","received_events_url":"https://api.github.com/users/ofTheo/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"state":"open","assignee":null,"milestone":null,"comments":0,"created_at":"2011-01-17T16:37:42Z","updated_at":"2011-01-17T16:37:42Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":""},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/391","id":529705,"number":391,"title":"ofGetPreviousMouseX/Y() does not update per frame","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2011-01-16T07:21:15Z","updated_at":"2013-08-20T08:44:39Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value."},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/389","id":529700,"number":389,"title":"mouse position doesn't update until mouse is moved","user":{"login":"kylemcdonald","id":157106,"avatar_url":"https://1.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https%3A%2F%2Fidenticons.github.com%2F415d63db900c8f799d40632b6eed98dc.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","html_url":"https://github.com/kylemcdonald","followers_url":"https://api.github.com/users/kylemcdonald/followers","following_url":"https://api.github.com/users/kylemcdonald/following{/other_user}","gists_url":"https://api.github.com/users/kylemcdonald/gists{/gist_id}","starred_url":"https://api.github.com/users/kylemcdonald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylemcdonald/subscriptions","organizations_url":"https://api.github.com/users/kylemcdonald/orgs","repos_url":"https://api.github.com/users/kylemcdonald/repos","events_url":"https://api.github.com/users/kylemcdonald/events{/privacy}","received_events_url":"https://api.github.com/users/kylemcdonald/received_events","type":"User"},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2011-01-16T07:11:53Z","updated_at":"2013-07-28T18:49:59Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"this is a limitation to glut, but it might be hackable on each system separately."}] - diff --git a/github/tests/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt b/github/tests/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt deleted file mode 100644 index 5426b4d..0000000 --- a/github/tests/ReplayData/PaginatedList.testIntIndexingAfterIteration.txt +++ /dev/null @@ -1,154 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt b/github/tests/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt deleted file mode 100644 index 483013e..0000000 --- a/github/tests/ReplayData/PaginatedList.testIntIndexingInFirstPage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"8c30dcf27290220465cd1ecce8fa943a"'), ('date', 'Tue, 29 May 2012 19:36:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4269431,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4269429,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4269359,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":4231092,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4230131,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136},"id":4207350,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136},"id":4206982,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571},"id":4174070,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455},"id":4132608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":4117762,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4108582,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543},"id":4104336,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100},"id":4081188,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4063456,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4063417,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4063366,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":4032047,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":4023525,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":4023305,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4015514,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207},"id":4010494,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354},"id":4001148,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385},"id":3968742,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3917377,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3917018,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4925'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b3b3a8bd17d4ed7557040a218c1db573"'), ('date', 'Tue, 29 May 2012 19:36:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofStringUtils:: feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","comments":6,"assignee":null,"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","number":1132,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3911629,"closed_at":null,"created_at":"2012-03-31T17:52:48Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTTF feature discussion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","comments":25,"assignee":null,"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","number":1131,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography"}],"id":3911537,"closed_at":null,"created_at":"2012-03-31T17:36:25Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Define standard header for examples.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","comments":0,"assignee":null,"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","number":1130,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","labels":[{"color":"d1af26","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"cccc29","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3910580,"closed_at":null,"created_at":"2012-03-31T14:44:01Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","comments":5,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","number":1129,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3910555,"closed_at":null,"created_at":"2012-03-31T14:39:04Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"upgrade scripts","html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","comments":1,"assignee":null,"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","number":1128,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3910549,"closed_at":null,"created_at":"2012-03-31T14:38:19Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG Feature request: Clean examples folder","html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","comments":0,"assignee":null,"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","number":1126,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3897090,"closed_at":null,"created_at":"2012-03-30T12:51:30Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","url":"https://api.github.com/users/jesusgollonet","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","comments":0,"assignee":null,"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","number":1124,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3883598,"closed_at":null,"created_at":"2012-03-29T16:47:29Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"7398ab0bbd07832d0289f26773e65077","url":"https://api.github.com/users/imanhp","login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","comments":2,"assignee":null,"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","number":1120,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3856005,"closed_at":null,"created_at":"2012-03-28T16:21:45Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Default paths.make for Android","html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","comments":0,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","number":1118,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2bc4ad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android"}],"id":3850655,"closed_at":null,"created_at":"2012-03-28T12:19:39Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","url":"https://api.github.com/users/armadillu","login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Can't retrieve desired frame rate once set","html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","comments":0,"assignee":null,"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","number":1117,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3825582,"closed_at":null,"created_at":"2012-03-27T11:48:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"37aca214d4875cd90af9d67072c82642","url":"https://api.github.com/users/vade","login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVBO updateIndexData incorrect buffer type.","html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","comments":5,"assignee":null,"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","number":1116,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3813852,"closed_at":null,"created_at":"2012-03-26T18:26:05Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"optimization level in xcode projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","comments":3,"assignee":null,"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","number":1115,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","labels":[{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"}],"id":3812318,"closed_at":null,"created_at":"2012-03-26T17:05:14Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","url":"https://api.github.com/users/colormotor","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"macros in ofArduino","html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","comments":1,"assignee":{"gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","url":"https://api.github.com/users/joshuajnoble","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","number":1114,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":3812275,"closed_at":null,"created_at":"2012-03-26T17:02:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","url":"https://api.github.com/users/OlexandrStepanov","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Issue with QtKitMovieGrabberExample in apps/devapps","html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","comments":9,"assignee":null,"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","number":1112,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3807459,"closed_at":null,"created_at":"2012-03-26T12:11:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add a simple regex function like ofSplitString()","html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","comments":1,"assignee":null,"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","number":1110,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3799872,"closed_at":null,"created_at":"2012-03-25T18:56:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","url":"https://api.github.com/users/ofZach","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"mac paths don't seem right until you call \"ofToDataPath()\"","html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","comments":3,"assignee":null,"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","number":1109,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"993e7a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":3799653,"closed_at":null,"created_at":"2012-03-25T18:18:28Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","url":"https://api.github.com/users/roymacdonald","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCam weird behavior when target changed","html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","comments":7,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","number":1108,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D"}],"id":3795495,"closed_at":null,"created_at":"2012-03-25T00:01:54Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"PG feature request: Generate makefile-only projects","html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","comments":1,"assignee":null,"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","number":1103,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","labels":[{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"444444","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator"}],"id":3754055,"closed_at":null,"created_at":"2012-03-21T21:43:34Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"feature / bug - #pragma omp critical(ofLog)","html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","comments":3,"assignee":null,"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","number":1098,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3710293,"closed_at":null,"created_at":"2012-03-19T14:04:51Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","comments":2,"assignee":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","number":1075,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"DDDDDD","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals"}],"id":3662214,"closed_at":null,"created_at":"2012-03-15T07:54:55Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"c1ec5161b69b4a990436deafb1170d64","url":"https://api.github.com/users/manuelgeoffray","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Alpha movies in GStreamer","html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","comments":6,"assignee":null,"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","number":1070,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":3647640,"closed_at":null,"created_at":"2012-03-14T13:02:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Continuous integration","html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","comments":10,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","number":1068,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3631618,"closed_at":null,"created_at":"2012-03-13T15:49:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"390ea42c23c2c383f973abdafa24bb07","url":"https://api.github.com/users/gabrielstuff","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Automatic installer + dependencies handler","html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","comments":7,"assignee":null,"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","number":1063,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","labels":[{"color":"d68e22","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3627067,"closed_at":null,"created_at":"2012-03-13T10:44:57Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"regularize code for math addons","html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","comments":4,"assignee":null,"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","number":1062,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":3614231,"closed_at":null,"created_at":"2012-03-12T16:33:06Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVertexes?? ofCurveVertexes","html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","comments":18,"assignee":null,"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","number":1055,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":3605277,"closed_at":null,"created_at":"2012-03-12T01:50:19Z"}] - diff --git a/github/tests/ReplayData/PaginatedList.testInterruptedIteration.txt b/github/tests/ReplayData/PaginatedList.testInterruptedIteration.txt deleted file mode 100644 index c4e977c..0000000 --- a/github/tests/ReplayData/PaginatedList.testInterruptedIteration.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"3b0c90696d51253d280f98b01e8e9fae"'), ('date', 'Tue, 29 May 2012 20:18:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","closed_at":null,"labels":[],"title":"ofQuickTimePlayer with alpha","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff"},"created_at":"2012-04-25T18:48:41Z","updated_at":"2012-05-16T09:27:12Z","comments":2,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1218,"id":4286936,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","login":"prisonerjohn","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":119702}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"projectGenerator update doesn't respect existing project settings","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T21:03:44Z","updated_at":"2012-04-30T19:43:55Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1217,"id":4269431,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","closed_at":null,"labels":[],"title":"Implement deprecation mechanism","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T21:03:39Z","updated_at":"2012-05-02T10:19:07Z","comments":11,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1216,"id":4269429,"assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"projectGenerator sets incorrect path in Project.xcconfig","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T20:59:57Z","updated_at":"2012-04-30T19:43:14Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1215,"id":4269359,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","color":"DDDDDD","name":"section-video"}],"title":"ofVideoPlayer etc needs ofColor access","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-22T18:42:58Z","updated_at":"2012-04-22T23:56:33Z","comments":3,"milestone":null,"number":1202,"id":4231092,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","closed_at":null,"labels":[],"title":"Feature provocation pull request: ofCamera lens offset","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff"},"created_at":"2012-04-22T15:55:29Z","updated_at":"2012-05-29T17:34:24Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1201,"id":4230131,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","color":"DDDDDD","name":"section-2D"}],"title":"Bezier Shaders & Vector openGL rendering","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-20T09:23:00Z","updated_at":"2012-05-14T01:22:17Z","comments":8,"milestone":null,"number":1190,"id":4207350,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1662136}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofSetCurveResolution + ofBezierVertex bug","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-20T08:51:51Z","updated_at":"2012-05-16T09:41:20Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1189,"id":4206982,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1662136}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"ofFbo depthBufferTex can be inconsistent with colour texture","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-18T15:08:32Z","updated_at":"2012-05-01T04:10:23Z","comments":2,"milestone":null,"number":1186,"id":4174070,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":818571}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"OpenGLES2 not working","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-16T11:19:36Z","updated_at":"2012-05-16T09:44:27Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1178,"id":4132608,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":253455}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-14T13:45:42Z","updated_at":"2012-04-14T13:45:55Z","comments":0,"milestone":null,"number":1175,"id":4117762,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","color":"DDDDDD","name":"section-internals"}],"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-13T17:09:38Z","updated_at":"2012-05-16T09:39:22Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1174,"id":4108582,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","color":"DDDDDD","name":"section-internals"}],"title":"ofToHex(string) is wrong for non-ascii input","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-13T14:42:30Z","updated_at":"2012-04-14T04:20:36Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1173,"id":4104336,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1640543}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-12T10:09:42Z","updated_at":"2012-04-12T10:09:42Z","comments":0,"milestone":null,"number":1171,"id":4081188,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofNotifyEvent( boolEvent, true ) fails to compile","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T12:03:34Z","updated_at":"2012-04-13T14:54:18Z","comments":2,"milestone":null,"number":1167,"id":4063456,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"ofEvent lacks simple, argument-free use case","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T12:00:19Z","updated_at":"2012-04-11T13:21:33Z","comments":2,"milestone":null,"number":1166,"id":4063417,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"ofLogError, ofLogWarning lack format, ... args","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T11:56:33Z","updated_at":"2012-04-21T15:41:01Z","comments":6,"milestone":null,"number":1165,"id":4063366,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"grabScreen in ofImage fails on Android","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-09T17:15:21Z","updated_at":"2012-04-10T16:47:19Z","comments":4,"milestone":null,"number":1152,"id":4032047,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","closed_at":null,"labels":[],"title":"shorten + simplify ofLog output","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff"},"created_at":"2012-04-08T21:13:14Z","updated_at":"2012-05-29T14:46:40Z","comments":6,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1151,"id":4023525,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"propose shortening ofLog console message length","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-08T20:32:49Z","updated_at":"2012-04-17T14:47:36Z","comments":4,"milestone":null,"number":1150,"id":4023305,"assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","color":"cccc29","name":"documentation"}],"title":"Document Project Generator / clean out old tools","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-07T14:43:53Z","updated_at":"2012-04-07T15:00:32Z","comments":0,"milestone":null,"number":1146,"id":4015514,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-06T22:02:01Z","updated_at":"2012-04-07T19:49:31Z","comments":3,"milestone":null,"number":1145,"id":4010494,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":555207}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofColor subtraction and negative values","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-06T07:56:44Z","updated_at":"2012-05-01T04:21:01Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1144,"id":4001148,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720354}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","color":"2a8296","name":"macOS"}],"title":"benign error message","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-04T11:05:57Z","updated_at":"2012-04-04T12:07:24Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1138,"id":3968742,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1611385}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"multidimensional noise output","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-01T16:44:55Z","updated_at":"2012-04-03T17:37:10Z","comments":2,"milestone":null,"number":1134,"id":3917377,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '55788'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"866bf23c3eacebec1bf87ae32d99f1d0"'), ('date', 'Tue, 29 May 2012 20:18:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3911629,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3911537,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910580,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910555,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3897090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3883598,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3856005,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3850655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3825582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3813852,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3812318,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3812275,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3807459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3799872,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3799653,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3795495,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3754055,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3710293,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3662214,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3647640,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3631618,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3627067,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3614231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testInterruptedIterationInSlice.txt b/github/tests/ReplayData/PaginatedList.testInterruptedIterationInSlice.txt deleted file mode 100644 index c4e977c..0000000 --- a/github/tests/ReplayData/PaginatedList.testInterruptedIterationInSlice.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"3b0c90696d51253d280f98b01e8e9fae"'), ('date', 'Tue, 29 May 2012 20:18:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1218","html_url":"https://github.com/openframeworks/openFrameworks/issues/1218","body":"Updated ofQuickTimePlayer to properly handle videos with an alpha channel. This uses the setPixelFormat() method, so all you need to do is:\r\n```\r\nmyVideoPlayer.setPixelFormat(OF_PIXELS_RGBA);\r\nmyVideoPlayer.loadMovie(\"path/to/movie.mov\");\t\r\nmyVideoPlayer.play();\r\n```","closed_at":null,"labels":[],"title":"ofQuickTimePlayer with alpha","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1218.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1218","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1218.diff"},"created_at":"2012-04-25T18:48:41Z","updated_at":"2012-05-16T09:27:12Z","comments":2,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1218,"id":4286936,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/prisonerjohn","gravatar_id":"b52cabeecffe4497699db813a715456f","login":"prisonerjohn","avatar_url":"https://secure.gravatar.com/avatar/b52cabeecffe4497699db813a715456f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":119702}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"projectGenerator update doesn't respect existing project settings","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T21:03:44Z","updated_at":"2012-04-30T19:43:55Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1217,"id":4269431,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","closed_at":null,"labels":[],"title":"Implement deprecation mechanism","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T21:03:39Z","updated_at":"2012-05-02T10:19:07Z","comments":11,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1216,"id":4269429,"assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","color":"444444","name":"project generator"}],"title":"projectGenerator sets incorrect path in Project.xcconfig","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-24T20:59:57Z","updated_at":"2012-04-30T19:43:14Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1215,"id":4269359,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","color":"DDDDDD","name":"section-video"}],"title":"ofVideoPlayer etc needs ofColor access","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-22T18:42:58Z","updated_at":"2012-04-22T23:56:33Z","comments":3,"milestone":null,"number":1202,"id":4231092,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","closed_at":null,"labels":[],"title":"Feature provocation pull request: ofCamera lens offset","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff"},"created_at":"2012-04-22T15:55:29Z","updated_at":"2012-05-29T17:34:24Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1201,"id":4230131,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","color":"DDDDDD","name":"section-2D"}],"title":"Bezier Shaders & Vector openGL rendering","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-20T09:23:00Z","updated_at":"2012-05-14T01:22:17Z","comments":8,"milestone":null,"number":1190,"id":4207350,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1662136}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofSetCurveResolution + ofBezierVertex bug","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-20T08:51:51Z","updated_at":"2012-05-16T09:41:20Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1189,"id":4206982,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1662136}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"ofFbo depthBufferTex can be inconsistent with colour texture","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-18T15:08:32Z","updated_at":"2012-05-01T04:10:23Z","comments":2,"milestone":null,"number":1186,"id":4174070,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":818571}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","color":"2babad","name":"iOS"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"OpenGLES2 not working","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-16T11:19:36Z","updated_at":"2012-05-16T09:44:27Z","comments":0,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1178,"id":4132608,"assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":253455}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-14T13:45:42Z","updated_at":"2012-04-14T13:45:55Z","comments":0,"milestone":null,"number":1175,"id":4117762,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","color":"DDDDDD","name":"section-internals"}],"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-13T17:09:38Z","updated_at":"2012-05-16T09:39:22Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1174,"id":4108582,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","color":"DDDDDD","name":"section-internals"}],"title":"ofToHex(string) is wrong for non-ascii input","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-13T14:42:30Z","updated_at":"2012-04-14T04:20:36Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1173,"id":4104336,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1640543}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","color":"DDDDDD","name":"section-3D"}],"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-12T10:09:42Z","updated_at":"2012-04-12T10:09:42Z","comments":0,"milestone":null,"number":1171,"id":4081188,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofNotifyEvent( boolEvent, true ) fails to compile","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T12:03:34Z","updated_at":"2012-04-13T14:54:18Z","comments":2,"milestone":null,"number":1167,"id":4063456,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"ofEvent lacks simple, argument-free use case","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T12:00:19Z","updated_at":"2012-04-11T13:21:33Z","comments":2,"milestone":null,"number":1166,"id":4063417,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"ofLogError, ofLogWarning lack format, ... args","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-11T11:56:33Z","updated_at":"2012-04-21T15:41:01Z","comments":6,"milestone":null,"number":1165,"id":4063366,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"grabScreen in ofImage fails on Android","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-09T17:15:21Z","updated_at":"2012-04-10T16:47:19Z","comments":4,"milestone":null,"number":1152,"id":4032047,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","closed_at":null,"labels":[],"title":"shorten + simplify ofLog output","pull_request":{"patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff"},"created_at":"2012-04-08T21:13:14Z","updated_at":"2012-05-29T14:46:40Z","comments":6,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1151,"id":4023525,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","color":"65a300","name":"bitesize"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"propose shortening ofLog console message length","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-08T20:32:49Z","updated_at":"2012-04-17T14:47:36Z","comments":4,"milestone":null,"number":1150,"id":4023305,"assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","color":"cccc29","name":"documentation"}],"title":"Document Project Generator / clean out old tools","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-07T14:43:53Z","updated_at":"2012-04-07T15:00:32Z","comments":0,"milestone":null,"number":1146,"id":4015514,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","color":"31e03a","name":"fix-proposed"}],"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-06T22:02:01Z","updated_at":"2012-04-07T19:49:31Z","comments":3,"milestone":null,"number":1145,"id":4010494,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":555207}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","color":"b31d1d","name":"bug"}],"title":"ofColor subtraction and negative values","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-06T07:56:44Z","updated_at":"2012-05-01T04:21:01Z","comments":9,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1144,"id":4001148,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720354}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","color":"2a8296","name":"macOS"}],"title":"benign error message","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-04T11:05:57Z","updated_at":"2012-04-04T12:07:24Z","comments":1,"milestone":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","due_on":"2012-06-25T07:00:00Z","open_issues":81,"title":"0072 Release","created_at":"2011-12-02T15:29:48Z","creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"description":"","number":5,"id":61810,"state":"open","closed_issues":21},"number":1138,"id":3968742,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1611385}},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","closed_at":null,"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","color":"db6a1f","name":"core"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","color":"622425","name":"feature"}],"title":"multidimensional noise output","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"created_at":"2012-04-01T16:44:55Z","updated_at":"2012-04-03T17:37:10Z","comments":2,"milestone":null,"number":1134,"id":3917377,"assignee":null,"state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '55788'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"866bf23c3eacebec1bf87ae32d99f1d0"'), ('date', 'Tue, 29 May 2012 20:18:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3911629,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3911537,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910580,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910555,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3910549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3897090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3883598,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","id":1216228,"avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3856005,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3850655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","id":167057,"avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3825582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","id":65011,"avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3813852,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3812318,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423,"avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872,"avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3812275,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","id":971079,"avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3807459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3799872,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3799653,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878,"avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3795495,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3754055,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3710293,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3662214,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","id":808090,"avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3647640,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3631618,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033,"avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3627067,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3614231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testIteration.txt b/github/tests/ReplayData/PaginatedList.testIteration.txt deleted file mode 100644 index 5426b4d..0000000 --- a/github/tests/ReplayData/PaginatedList.testIteration.txt +++ /dev/null @@ -1,154 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testNoFirstPage.txt b/github/tests/ReplayData/PaginatedList.testNoFirstPage.txt deleted file mode 100644 index a685e65..0000000 --- a/github/tests/ReplayData/PaginatedList.testNoFirstPage.txt +++ /dev/null @@ -1,9 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/github/tests/ReplayData/PaginatedList.testReversedIterationSupportsIterator.txt b/github/tests/ReplayData/PaginatedList.testReversedIterationSupportsIterator.txt deleted file mode 100644 index efcaa2c..0000000 --- a/github/tests/ReplayData/PaginatedList.testReversedIterationSupportsIterator.txt +++ /dev/null @@ -1,21 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last"'), ('etag', '"c3111cf6eead96b7d0ea0d14f4a5e9eb"'), ('date', 'Tue, 29 May 2012 06:43:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"assignee":null,"closed_at":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280"},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"assignee":null,"closed_at":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"837cfe96365c031130a46311eb11d86a","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279"},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"assignee":null,"closed_at":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277"},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"assignee":null,"closed_at":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271"},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"assignee":null,"closed_at":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268"},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"assignee":null,"closed_at":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263"},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"assignee":null,"closed_at":null,"title":"Add .mailmap for contributor collation","labels":[],"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262"},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"assignee":null,"closed_at":null,"title":"allow float volume on ofVideoPlayer","labels":[],"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260"},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"assignee":null,"closed_at":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257"},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"assignee":null,"closed_at":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256"},{"updated_at":"2012-05-16T09:35:07Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1254","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1254,"assignee":null,"closed_at":null,"title":"Adding ofClear(ofColor c) just a detail","labels":[],"created_at":"2012-05-12T19:15:59Z","state":"open","user":{"url":"https://api.github.com/users/patriciogonzalezvivo","avatar_url":"https://secure.gravatar.com/avatar/69406d376e65f8070acfbe220f246989?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"69406d376e65f8070acfbe220f246989","login":"patriciogonzalezvivo","id":346914},"id":4548835,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1254.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1254.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1254"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1254"},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"assignee":null,"closed_at":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252"},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"assignee":null,"closed_at":null,"title":"Bugfix of to data path","labels":[],"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251"},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251"},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":16,"open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"assignee":null,"closed_at":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250"},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"f317f6e26c56743bf8ac8b747a73d3af"'), ('date', 'Tue, 29 May 2012 06:43:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":172,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":166209,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/172"},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":171,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":166208,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/171"},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731,"closed_issues":0},"number":167,"assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"closed_at":null,"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":165898,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/167"},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":160,"assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"closed_at":null,"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":165537,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/160"},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":153,"assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"closed_at":null,"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":165409,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/153"},{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":140,"assignee":null,"closed_at":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/140"},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"assignee":null,"closed_at":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/128"},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":126,"assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"closed_at":null,"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/126"},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090,"closed_issues":0},"number":124,"assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"closed_at":null,"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/124"},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810,"closed_issues":16},"number":121,"assignee":null,"closed_at":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/121"},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"assignee":null,"closed_at":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/115"},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"assignee":null,"closed_at":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/107"},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"assignee":null,"closed_at":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/91"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '43018'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"caade974e6dd6e7ac7febf9cb0494e92"'), ('date', 'Tue, 29 May 2012 06:43:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"assignee":null,"closed_at":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":513779,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/288"},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"assignee":null,"closed_at":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":445829,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/275"},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"assignee":null,"closed_at":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":433297,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/271"},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":426050,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/265"},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"assignee":null,"closed_at":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":425675,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/264"},{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"closed_at":null,"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/255"},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"assignee":null,"closed_at":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/249"},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/245"},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"assignee":null,"closed_at":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/244"},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/240"},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"closed_at":null,"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/236"},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"assignee":null,"closed_at":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/228"},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"assignee":null,"closed_at":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/227"},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"assignee":null,"closed_at":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/225"},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_at":null,"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/224"},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"assignee":null,"closed_at":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/214"},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"assignee":null,"closed_at":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/199"},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"assignee":null,"closed_at":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/194"},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/193"},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"assignee":null,"closed_at":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/182"},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"assignee":null,"closed_at":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/181"},{"updated_at":"2011-12-02T15:44:06Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"assignee":null,"closed_at":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/178"},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"assignee":null,"closed_at":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/175"},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"assignee":null,"closed_at":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/174"},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"closed_issues":16,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":85,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"closed_at":null,"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/openframeworks/openFrameworks/issues/173"}] diff --git a/github/tests/ReplayData/PaginatedList.testReversedIterationWithSinglePage.txt b/github/tests/ReplayData/PaginatedList.testReversedIterationWithSinglePage.txt deleted file mode 100644 index efcaa2c..0000000 --- a/github/tests/ReplayData/PaginatedList.testReversedIterationWithSinglePage.txt +++ /dev/null @@ -1,21 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testSliceIndexingInFirstPage.txt b/github/tests/ReplayData/PaginatedList.testSliceIndexingInFirstPage.txt deleted file mode 100644 index 483013e..0000000 --- a/github/tests/ReplayData/PaginatedList.testSliceIndexingInFirstPage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 19:27:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"414a5c156bbe219ad21d164052b40f6c"'), ('date', 'Tue, 29 May 2012 19:27:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911629,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":3911537,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3910580,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3910555,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3910549,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3897090,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":31100},"id":3883598,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1216228},"id":3856005,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3850655,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167057},"id":3825582,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":65011},"id":3813852,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812318,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1239872},"id":3812275,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":971079},"id":3807459,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799872,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":3799653,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":3795495,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":3754055,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3710293,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3662214,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":808090},"id":3647640,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3631618,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":285033},"id":3627067,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"closed_issues":21,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":3614231,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":3605277,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"7a7b635a35e21a9f69de7a09b9040837"'), ('date', 'Tue, 29 May 2012 19:27:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch","diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","closed_issues":0,"open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=5 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '39838'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a7bfe812cbaa85fbb708d70f4d883fac"'), ('date', 'Tue, 29 May 2012 19:27:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-25T01:36:58Z","body":"Dummy issue to ensure that the 0080 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/970","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"closed_issues":0,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":970,"html_url":"https://github.com/openframeworks/openFrameworks/issues/970","assignee":null,"title":"0080 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:54Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:36:37Z","body":"Dummy issue to ensure that the 0074 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/969","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/7","number":7,"closed_issues":0,"title":"0074 Release","due_on":"2012-08-27T07:00:00Z","open_issues":1,"created_at":"2012-02-25T00:41:17Z","state":"open","description":"","id":88728},"number":969,"html_url":"https://github.com/openframeworks/openFrameworks/issues/969","assignee":null,"title":"0074 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T01:36:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3381977,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-24T04:31:01Z","body":"right now if you try and scale/rotate/etc before calling ofBackgroundGradient, it will fail.\r\n\r\npeople generally call ofBackground at the top of draw() so it shouldn't be a huge issue... but it does make it a little 'fragile'.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/955","comments":0,"milestone":null,"number":955,"html_url":"https://github.com/openframeworks/openFrameworks/issues/955","assignee":null,"title":"ofBackgroundGradient needs to be billboarded","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-24T04:31:01Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3367910,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T19:12:08Z","body":"Hello, I get a weird error trying to compile the movieplayerexample under linux64 :\r\n\r\n> `.text._ZN11ofBaseVideoD2Ev' referenced in section `.text._ZN11ofBaseVideoD1Ev[non-virtual thunk to ofBaseVideo::~ofBaseVideo()]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o): defined in discarded section `.text._ZN11ofBaseVideoD2Ev[_ZN11ofBaseVideoD5Ev]' of ../../../libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a(ofBaseTypes.o)\r\n\r\nMy version of OF is 007, it used to work under 0062...\r\n\r\nWhat should I do ?\r\n\r\nThanks","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/933","comments":4,"milestone":null,"number":933,"html_url":"https://github.com/openframeworks/openFrameworks/issues/933","assignee":null,"title":"Problem with moviePlayerExample under linux64","labels":[],"closed_at":null,"created_at":"2012-02-23T15:46:06Z","state":"open","user":{"url":"https://api.github.com/users/agrosjea","avatar_url":"https://secure.gravatar.com/avatar/e52c167621119d58d03c586bb053a633?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e52c167621119d58d03c586bb053a633","login":"agrosjea","id":1466085},"id":3357855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:13:24Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/931","comments":0,"milestone":null,"number":931,"html_url":"https://github.com/openframeworks/openFrameworks/issues/931","assignee":null,"title":"ofCamera is not aware of ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-23T05:13:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T05:12:47Z","body":"do we need the ofOrientation parameter in ofSetupPerspective?\r\n\r\nit applies the rotation but if ofSetOrientation hasn't been called before passing the same orientation the results are not the expected.\r\n\r\nto test it:\r\n\r\nofSetOrientation(OF_ORIENTATION_90_LEFT);\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\nworks as expected but calling only \r\n\r\nofSetPerspective(ofGetWidth(), ofGetHeight(),OF_ORIENTATION_90_LEFT)\r\n\r\napplies a weird rotation cause the values of ofGetWidth(), ofGetHeight() are still the default ones\r\n\r\nis there any case where it's useful to call setupPerspective with a different orientation that the window has?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/930","comments":0,"milestone":null,"number":930,"html_url":"https://github.com/openframeworks/openFrameworks/issues/930","assignee":null,"title":"ofSetupPerspective ofOrientation","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-23T05:12:47Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":3351643,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T04:19:48Z","body":"Currently ofGetLogLevel returns the global log level aka for the \"OF\" module. It would be nice to be able to get the log level for user modules via:\r\n\r\n ofLogLevel level = ofGetLogLevel(\"myLogModule\");\r\n\r\nIt would as simple as adding the module as a string variable with a default of \"OF\".\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/929","comments":0,"milestone":null,"number":929,"html_url":"https://github.com/openframeworks/openFrameworks/issues/929","assignee":null,"title":"ofGetLogLevel should also accept modules","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-23T04:19:48Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351374,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-23T03:46:32Z","body":"Currently there is a ofBgColorPtr(), but maybe it's nice to have a ofGetBackground() that returns an ofColor object or a reference to one.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/928","comments":0,"milestone":null,"number":928,"html_url":"https://github.com/openframeworks/openFrameworks/issues/928","assignee":null,"title":"no ofGetBackground()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-23T03:46:32Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3351170,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T19:12:56Z","body":"ofGetViewportWidth/Height returns 0 is called in an object destructor, while ofGetWidth/Height do not. Could the ofGetViewport size be set to the ofGetWidth/Height size instead of 0 be default?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/926","comments":0,"milestone":null,"number":926,"html_url":"https://github.com/openframeworks/openFrameworks/issues/926","assignee":null,"title":"ofGetViewportWidth/Height returns 0 at startup","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-22T19:12:56Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3341020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-22T00:28:08Z","body":"I noticed a few things when working with ofImage:\r\n\r\n* ofImage has a type variable for the image type but this is an int, as opposed to the ofImageType enum, so it's annoying to force convert ...\r\n* the width, height, & bpp variables are public, they should be protected with getters/setters\r\n* there isn't a getBytesPerPixel, you have to get the pixel reference then call getBytesPerPixel ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/925","comments":0,"milestone":null,"number":925,"html_url":"https://github.com/openframeworks/openFrameworks/issues/925","assignee":null,"title":"ofImage has type as int, public vars, & missing getBPP, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-22T00:28:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3324501,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:41:17Z","body":"As requested in https://github.com/openframeworks/openFrameworks/pull/794 I've branched openframeworks:develop into my own branch and applied the fixes required to build openFrameworks for Android with MinGW on the windows platform.\r\n\r\nThe instructions on how to compile are still valid (except for the part of patching):\r\nhttp://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/\r\n\r\nNote 1: You will need to run:\r\nandroid.bat update project --target android-8 --path C:\\openFrameworks\\addons\\ofxAndroid\\ofAndroidLib\r\n\r\nThis updates the project files for ofAndroidLib project. I didn't included those because those are user specific (they contain the path to the sdk)\r\n\r\nNote 2: d3ddf8e1 \r\nI only added this commit in order to make the examples build properly. Someone still needs to fix the proper implementation.\r\n\r\nNote 3: 7a9cf0ba\r\nWhile working on NodeBeat, we found out that not all devices are using /mnt/sdcard as their external storage location. In some cases the sdcard is located somewhere else (\"Environment.getExternalStorageDirectory()\" doesnt always return the correct location). This commit fixes this problem by checking several locations as reported on multiple Stackoverflow threads. More info about this issue can be found in the commit description.\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/922","comments":13,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":922,"html_url":"https://github.com/openframeworks/openFrameworks/issues/922","assignee":null,"title":"Windows compatibility patches and External storage location fixes.","labels":[],"closed_at":null,"created_at":"2012-02-19T23:30:24Z","state":"open","user":{"url":"https://api.github.com/users/falcon4ever","avatar_url":"https://secure.gravatar.com/avatar/4a503abeaa3d803e55e99093fbf1505d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4a503abeaa3d803e55e99093fbf1505d","login":"falcon4ever","id":480019},"id":3288053,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/922.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/922","patch_url":"https://github.com/openframeworks/openFrameworks/pull/922.patch"}},{"updated_at":"2012-02-16T09:39:46Z","body":"What about having our own transform stack , in order to:\r\n-avoid to recompute globalTransformMatrix in each ofNode\r\n-could use it when rendering with OpenGL ES 2.0 shaders , which do not support predefined matrix values as world (modelview), worldProjection , or world inverseTranspose (for normals)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/920","comments":0,"milestone":null,"number":920,"html_url":"https://github.com/openframeworks/openFrameworks/issues/920","assignee":null,"title":"Transform stack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-16T09:39:46Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248309,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-16T09:31:24Z","body":"There is an easy-to-correct error in ofNode::transformGL:\r\nIt should call loadMatrix with globalTransformMatrix as parameter (with a void restoreGL), or pushMatrix then multMatrix with localTransformMatrix (with a restoreGL that pops the previously pushed matrix),\r\nNOT push then mult with global. The bug appears as soon as you have got more than one level of depth in your node tree. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/919","comments":0,"milestone":null,"number":919,"html_url":"https://github.com/openframeworks/openFrameworks/issues/919","assignee":null,"title":"Error in ofNode::transformGL","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-16T09:31:24Z","state":"open","user":{"url":"https://api.github.com/users/AugusteBonnin","avatar_url":"https://secure.gravatar.com/avatar/cbf7aa7c655d3652170984c9aa497a4c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cbf7aa7c655d3652170984c9aa497a4c","login":"AugusteBonnin","id":1442658},"id":3248230,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-08T10:15:31Z","body":"vs2010 does not include stdint.h support:\r\n\r\nhttp://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio\r\n\r\nwhich causes addon bugs like this:\r\n\r\nhttps://github.com/openframeworks/openFrameworks/issues/559\r\nhttps://github.com/kylemcdonald/ofxCv/issues/28\r\n\r\neven though these bugs aren't in the core, i think OF is designed to make it easy for people to write cross-platform, cross-compiler code. so i propose that we add an explicit declaration of the missing types for vs2010.\r\n\r\nthis isn't really something i'm worried about directly since i don't use vs2010, but i know people like elliot do. and it would be cleaner to add it once to the core than to add it once for every addon that is broken.\r\n\r\nthe solution would probably look like: take dan's code from the above issue, and move it from ofxOsc into the core.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/917","comments":5,"milestone":null,"number":917,"html_url":"https://github.com/openframeworks/openFrameworks/issues/917","assignee":null,"title":"add global stdint.h support?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2012-02-15T02:38:17Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3229504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:55:20Z","body":"to match ofGetWidth(), ofGetHeight()\r\n\r\ni.e. for ofGetMouseX() / ofGetWidth()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/916","comments":1,"milestone":null,"number":916,"html_url":"https://github.com/openframeworks/openFrameworks/issues/916","assignee":null,"title":"ofGetMouseX() and ofGetMouseY() should return float","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-14T05:17:47Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3214174,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-13T08:16:08Z","body":"I had downloaded the 007 version, when I run of_preRelease_v007_linux/scripts/linux/debian/install_codeblocks.sh it install codeblocks without error, but when I run preRelease_v007_linux/scripts/linux/debian/install_dependencies.sh I get this error\r\n\r\ncompiling object for ../../../openFrameworks/graphics/ofGraphics.cpp\r\nmkdir -p obj/Debug/openFrameworks/graphics\r\ng++ -g3 -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/cairo -I../../../cairo/include/pixman-1 -I../../../cairo/include/libpng15 -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/config -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/3d -I../../../openFrameworks/math -I../../../openFrameworks/types -I../../../openFrameworks/graphics -I../../../openFrameworks/utils -I../../../openFrameworks/app -I../../../openFrameworks/video -I../../../openFrameworks/events -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/sound -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DOF_USING_GTK -MMD -MP -MFobj/Debug/openFrameworks/graphics/ofGraphics.d -MTobj/Debug/openFrameworks/graphics/ofGraphics.d -o obj/Debug/openFrameworks/graphics/ofGraphics.o -c ../../../openFrameworks/graphics/ofGraphics.cpp\r\n../../../openFrameworks/graphics/ofGraphics.cpp:37:22: warning: GL/glut.h: No such file or directory\r\n../../../openFrameworks/graphics/ofGraphics.cpp: In function ‘void ofSphere(float)’:\r\n../../../openFrameworks/graphics/ofGraphics.cpp:889: error: ‘glutSolidSphere’ was not declared in this scope\r\n../../../openFrameworks/graphics/ofGraphics.cpp:891: error: ‘glutWireSphere’ was not declared in this scope\r\nmake: *** [obj/Debug/openFrameworks/graphics/ofGraphics.o] Error 1\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/915","comments":2,"milestone":null,"number":915,"html_url":"https://github.com/openframeworks/openFrameworks/issues/915","assignee":null,"title":"problems installing dependencies in debian 6.0.4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2012-02-13T05:45:01Z","state":"open","user":{"url":"https://api.github.com/users/atomsfat","avatar_url":"https://secure.gravatar.com/avatar/f732e5a8b77f8e4ed8fadc2c71916236?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f732e5a8b77f8e4ed8fadc2c71916236","login":"atomsfat","id":140008},"id":3196145,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-12T04:41:26Z","body":"We have ofSetDataPathRoot() .... it makes sense to have a Getter as well. Basically I wanted the absolute path to the root data folder.\r\n\r\nI managed to fake this by calling ofToDataPath(\".\",true) but this seems a little counter-intuitive.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/914","comments":0,"milestone":null,"number":914,"html_url":"https://github.com/openframeworks/openFrameworks/issues/914","assignee":null,"title":"Add ofGetDataPathRoot","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-12T04:41:26Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":3189189,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T14:56:56Z","body":"it would be amazing if ofBeginShape()/ofEndShape() and ofPath supported tex coords (maybe ofTexCoord() and addTexCoord()).\r\n\r\nthis would allow for drawing arbitrary subsections of an image, or for creating an ofMesh that is texture mapped by an image.\r\n\r\nprocessing handles this with extra arguments to vertex() http://processing.org/reference/texture_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/909","comments":3,"milestone":null,"number":909,"html_url":"https://github.com/openframeworks/openFrameworks/issues/909","assignee":null,"title":"shapes with texCoords","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-10T01:42:42Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3166745,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T08:16:47Z","body":"a student just showed me how you can use the xcode templates for pocode to create a new project wherever you want on the disk. i know we used to have xcode templates for this, but i just tried them and it seems to be hilariously broken.\r\n\r\ni'm not sure if the new project creator stuff covers this idea or not, but it would be great to have a similar ability with OF somehow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/902","comments":2,"milestone":null,"number":902,"html_url":"https://github.com/openframeworks/openFrameworks/issues/902","assignee":null,"title":"Xcode templates should be fixed or removed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-09T04:30:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3152323,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-08T21:50:23Z","body":"to draw a filled ofPolyline right now, you need to use beginshape/endshape. but i think a way of adding ofPolylines to an ofPath would be really good -- even a conversion from ofPolyline to ofPath might make sense. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/901","comments":0,"milestone":null,"number":901,"html_url":"https://github.com/openframeworks/openFrameworks/issues/901","assignee":null,"title":"easier filled ofPolyline, or easy ofPolyline->ofPath conversion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-08T21:50:23Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3148441,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-09T14:46:48Z","body":"Hi.\r\n\r\nI've been trying to load stream video ( mpeg2 .ts and hls .m3u8 ) using OF on MacOS 10.7.2.\r\n\r\nBoth cases causes error -2048 in the line below: ( l:89, ofQuickTimePlayer.cpp )\r\n\r\n```c++\r\nerr = NewMovieFromDataRef(&movie, newMovieAsyncOK,nil, urlDataRef, URLDataHandlerSubType);\r\n```\r\n\r\nLoading remote .mp4 works perect. Loading same streams in QuickTime player(v10.1) works without any troubles.\r\n\r\nSo, it seems the trouble happens just when no videofile size info returned from server.\r\n\r\nIs it a bug? Or I've missed smthng?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/897","comments":4,"milestone":null,"number":897,"html_url":"https://github.com/openframeworks/openFrameworks/issues/897","assignee":null,"title":"ofQuickTimePlayer.createMovieFromURL fails on streaming video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-06T11:42:08Z","state":"open","user":{"url":"https://api.github.com/users/4pcbr","avatar_url":"https://secure.gravatar.com/avatar/52e8e29748826594f27b5c6c20a353e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"52e8e29748826594f27b5c6c20a353e0","login":"4pcbr","id":247109},"id":3106705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-05T17:11:59Z","body":"This concerns libraries included in addons in source form. According to [this issue](https://github.com/chrisoshea/ofxMidi/issues/8) reported by @danomatika, the makefile can only compile libraries' source code if they are in an addon's `/src` folder. This is in contradiction with @obviousjim's guide to addons' folder structure at http://ofxaddons.com/howto.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/896","comments":6,"milestone":null,"number":896,"html_url":"https://github.com/openframeworks/openFrameworks/issues/896","assignee":null,"title":"Makefile and ofxaddons.com guide don't agree regarding file structure","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-02-05T15:20:42Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3099567,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-10T02:47:13Z","body":"it needs to handle all these things:\r\n\r\n- meshes vs point clouds\r\n- different types of meshes (depending on the triangles)\r\n- indexed vs non-indexed geometry\r\n- colors, normals, texcoords\r\n- ascii vs binary\r\n- loading from externally created/defined ply files","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/880","comments":1,"milestone":null,"number":880,"html_url":"https://github.com/openframeworks/openFrameworks/issues/880","assignee":null,"title":"test ofMesh::load/save rigorously","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-01-25T16:55:09Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":2967700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"If you set the proper switches on the iphone sound stream you can get it to play over whatever is playing on the users ipod without muting it. There are a bunch of switches for this behavior detailed in kAudioSessionProperty_Mode.\r\n\r\nThese would need to be set before initing the audio session. The other issue is that there are like 15-20 flags you can set. Maybe just a slightly higher level setting on the stream so that these behaivors could be set in the users testapp.mm","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/878","comments":0,"milestone":null,"number":878,"html_url":"https://github.com/openframeworks/openFrameworks/issues/878","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"add a switch to the iphone soundstream to support ambient","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-24T16:41:17Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","id":1597},"id":2952993,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:33:39Z","body":"change pan range to -1..1, right now is 0..1","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/875","comments":2,"milestone":null,"number":875,"html_url":"https://github.com/openframeworks/openFrameworks/issues/875","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"ofOpenALSoundPlayer pan -1..1","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-21T00:01:45Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":2918619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '49322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"93bd237d518e2c23c29e5e7b340262a8"'), ('date', 'Tue, 29 May 2012 19:27:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T05:09:49Z","body":" testImg.saveImage(ofxiPhoneGetDocumentsDirectory() + \"test.png\");\r\ncrashes the App and results in this error:\r\n\r\nProgram received signal: \"SIGARBT\".\r\n\r\nerror thrown in this line:\r\n\r\n FreeImage_Save(fif, bmp, fileName.c_str());","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/872","comments":1,"milestone":null,"number":872,"html_url":"https://github.com/openframeworks/openFrameworks/issues/872","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"saveImage crashes in iOS Simulator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-01-17T21:51:17Z","state":"open","user":{"url":"https://api.github.com/users/khlrqa","gravatar_id":"dfa7e4582a04e784d50c750ae51d894f","login":"khlrqa","avatar_url":"https://secure.gravatar.com/avatar/dfa7e4582a04e784d50c750ae51d894f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":53301},"id":2875276,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-07T15:38:14Z","body":"Hi -\r\n\r\nwhen it comes down to multicast communication over udp, it's is important that the correct ip address of the local interface is set. Most computers nowadays have several interfaces (wired and wireless). Whereas ofxUDPManager::BindMcast uses INADDR_ANY as the local address, this might be wrong if you are not using the default interface. In my case, I connect the computers in a local wlan. The wlan device is not the primary device on my machine.\r\n\r\nTherefore I rewrote the BindMcast function adding a third argument pLocal, the local Ip address of the network interface.\r\n\r\n```c++\r\nbool ofxUDPManager::BindMcast(char *pMcast, unsigned short usPort, char *pLocal)\r\n```\r\nchanging the line: \r\n\r\n```c++\r\nmreq.imr_interface.s_addr = pLocal == \"\" ? INADDR_ANY: inet_addr(pLocal);\r\n```\r\n\r\nwhich makes a different header file as well:\r\n\r\n```c++\r\nbool BindMcast(char *pMcast, unsigned short usPort, char *pLocal = \"\");\r\n```\r\n\r\nAs you can see, the pLocal Adress is optional, if omitted, INADDR_ANY is used (backwards compatibility).\r\n\r\n\r\nNOTE:\r\n\r\nI've added the function:\r\n\r\n```c++\r\nchar* GetInterfaceAddr(const char* interface); //returns the IP of a specified interface\r\n```\r\n\r\nto the ofxUDPManager as well. This function returns the IP adress of an interface (e.g. en1 on a mac for the airport device). This is useful in dhcp networks, where your own address always changes. The function itself looks like:\r\n\r\n```c++\r\n//--------------------------------------------------------------------------------\r\nchar* ofxUDPManager::GetInterfaceAddr(const char* interface)\r\n{\r\n\tint fd;\r\n\tstruct ifreq ifr;\r\n\tfd = socket(AF_INET, SOCK_DGRAM, 0);\r\n\tifr.ifr_addr.sa_family = AF_INET;\r\n\tstrncpy(ifr.ifr_name, interface, IFNAMSIZ-1);\r\n\tioctl(fd, SIOCGIFADDR, &ifr);\r\n\tclose(fd);\r\n\treturn(inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));\r\n}\r\n```\r\n\r\nPlease not that for this function, additional headers have to be included in ofxUDPManager.h:\r\n\r\n```c++\r\n#include \r\n```\r\n\r\nIf you consider the changes useful, theres a copy of the two files downloadable here:\r\nhttp://dl.dropbox.com/u/394122/ofxUDPManager_uh_07012012.zip\r\n\r\nregards,\r\nUrs Hofer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/866","comments":0,"milestone":null,"number":866,"html_url":"https://github.com/openframeworks/openFrameworks/issues/866","assignee":null,"title":"Multicast & UDP: Local IP required when dealing with multiple network interfaces","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-01-07T15:38:14Z","state":"open","user":{"url":"https://api.github.com/users/urshofer","gravatar_id":"0424af1c917883090f0edddf55a8f21b","login":"urshofer","avatar_url":"https://secure.gravatar.com/avatar/0424af1c917883090f0edddf55a8f21b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116976},"id":2756440,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"I've posted here\r\nhttp://forum.openframeworks.cc/index.php/topic,8467.new.html\r\n\r\nAt the moment when you do sample.unloadSound() on iOS the app crashes with\r\n\r\n[Switching to thread 13059]\r\n[Switching to thread 13059]\r\nProgram received signal: “EXC_BAD_ACCESS”.\r\nwarning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).\r\n\r\n\r\nThis has been tested on the soundPlayerExample.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/863","comments":1,"milestone":null,"number":863,"html_url":"https://github.com/openframeworks/openFrameworks/issues/863","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"unloadSound on iOS crashes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-03T12:48:09Z","state":"open","user":{"url":"https://api.github.com/users/chrisoshea","gravatar_id":"62d775b0fa28bcde2d9d29405d059be3","login":"chrisoshea","avatar_url":"https://secure.gravatar.com/avatar/62d775b0fa28bcde2d9d29405d059be3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":104786},"id":2710048,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:38:16Z","body":"ofxsynth doesn't wont to compile because this line:\r\nsource->audioOut( working, numFrames, numChannels, tickCount ) in ofxSoundUnit.cpp is wrong.\r\nthe canddates are:\r\n\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels, int deviceID, long unsigned long tickCount )\r\nvirtual void audioOut( float * output, int bufferSize, int nChannels)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/861","comments":10,"milestone":null,"number":861,"html_url":"https://github.com/openframeworks/openFrameworks/issues/861","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth semantic issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-01-02T11:14:47Z","state":"open","user":{"url":"https://api.github.com/users/viniciolindo","gravatar_id":"7aa1a7f9bf0b838c0d99886c3682ac5d","login":"viniciolindo","avatar_url":"https://secure.gravatar.com/avatar/7aa1a7f9bf0b838c0d99886c3682ac5d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1298679},"id":2700549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-03T19:40:34Z","body":"ofPixels has getPixels(), but OF has no equivalent getSamples() for sound.\r\n\r\nright now the best solution seems to be using libsndfile with OF http://forum.openframeworks.cc/index.php/topic,3502.0.html\r\n\r\nbut i would love to see the audio architecture for OF mirror the visual architecture better. this means ofSoundPlayer acts like ofVideoPlayer, and we need to add an ofSound object that mirrors ofPixels. ofSound should always store samples in memory, while ofSoundPlayer can stream audio from disk like ofVideoPlayer.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/856","comments":1,"milestone":null,"number":856,"html_url":"https://github.com/openframeworks/openFrameworks/issues/856","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"allow access to individual sound samples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-12-30T02:33:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2685556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-29T04:43:24Z","body":"Today I came across this strange bug.\r\nAny OF app that needed to use the quicktime video grabber crashed at startup when the this was launched from xcode (eg. using build and run) yet it worked correctly when I opened the compiled app by doubleclicking it.\r\n\r\nThe error thrown was a EXCBADACCESS.\r\nthe function that threw this was ACWma1DecoderEntry\r\n\r\nJust some googling and I found that it had to do with Flip4Mac quicktime component.\r\nI uninstalled it and problem gone.\r\n\r\nThe strange thing is that I've had installed Flip4Mac since long ago, yet I updated iTunes a few days ago, that might have done this problem to arise.\r\n\r\nI don't know if this is actually an OF bug from its Quicktime implementation or what ever but it was really annoying getting across with it. Hope this helps others.\r\n\r\nCheers!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/855","comments":0,"milestone":null,"number":855,"html_url":"https://github.com/openframeworks/openFrameworks/issues/855","assignee":null,"title":"video Grabber crashes with Flip4Mac","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-29T04:43:24Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":974878},"id":2677212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-23T14:13:39Z","body":"ofNode::resetTransform only resets orientation and position.\r\n\r\nI think setScale(1,1,1); needs to be called too in ofNode::resetTransform \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/851","comments":0,"milestone":null,"number":851,"html_url":"https://github.com/openframeworks/openFrameworks/issues/851","assignee":null,"title":"ofNode::resetTransform does not reset scale","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-23T14:13:39Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":2647508,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-22T14:31:37Z","body":"if I add an external lib to my addon, I should provide headers for all platforms to be cross-platfomr like OF but the Makefile doesn't have any switch to ignore certain files which are not needed on linux.\r\n\r\nthe problem is that the OF Makefile compiles everythin under libs/mylib/include\r\n\r\nsee here for more: http://forum.openframeworks.cc/index.php?topic=6486.new;topicseen#new","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/849","comments":0,"milestone":null,"number":849,"html_url":"https://github.com/openframeworks/openFrameworks/issues/849","assignee":null,"title":"skip files in an addon with Makefile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-22T14:31:37Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":2637694,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-19T22:35:27Z","body":"But it does!\r\n\r\nSomehow it's casting from float to ofPoint, maybe using the ofVec3f( float _x=0.f, float _y=0.f, float _z=0.f ) constructor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/846","comments":10,"milestone":null,"number":846,"html_url":"https://github.com/openframeworks/openFrameworks/issues/846","assignee":null,"title":"ofCircle(float, float) should not work","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-12-14T00:42:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2546302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-10T21:25:49Z","body":"Please add \"-Wreturn-type\" to the XCode project. I've noticed that it's a common mistake to add a return type but nothing is returned. Adding this option will at least show an error. I think Visual Studio shows an error already by default. You can add it like this in the project settings: http://img805.imageshack.us/img805/8745/screenshot20111210at102.png \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/843","comments":0,"milestone":null,"number":843,"html_url":"https://github.com/openframeworks/openFrameworks/issues/843","assignee":null,"title":"Add return-type warning for XCode project files ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-12-10T21:25:49Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":2512838,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T19:36:40Z","body":"Playing a movie crashes on exit on linux. Fedora 16 32-bit, latest git.\r\n\r\noutput:\r\n./moviePlayerExample\r\ndeleting video player\r\nterminate called after throwing an instance of 'Poco::SystemException'\r\n what(): System exception\r\nAborted (core dumped)\r\n\r\nbacktrace:\r\n#0 0x00110416 in __kernel_vsyscall ()\r\n#1 0x4623998f in raise () from /lib/libc.so.6\r\n#2 0x4623b2d5 in abort () from /lib/libc.so.6\r\n#3 0x46a9b74d in __gnu_cxx::__verbose_terminate_handler() ()\r\n from /usr/lib/libstdc++.so.6\r\n#4 0x46a994c4 in ?? () from /usr/lib/libstdc++.so.6\r\n#5 0x46a99500 in std::terminate() () from /usr/lib/libstdc++.so.6\r\n#6 0x46a9964f in __cxa_throw () from /usr/lib/libstdc++.so.6\r\n#7 0x08098bef in Poco::MutexImpl::lockImpl (this=0x814eb48)\r\n at /usr/include/Poco/Mutex_POSIX.h:82\r\n#8 0x08098d07 in Poco::FastMutex::lock (this=0x814eb48)\r\n at /usr/include/Poco/Mutex.h:257\r\n#9 0x0809907d in Poco::ScopedLock::ScopedLock (this=\r\n 0xbfffeabc, mutex=...) at /usr/include/Poco/ScopedLock.h:59\r\n#10 0x0809a340 in Poco::AbstractEvent, Poco::p_less > >, Poco::AbstractDelegate, Poco::FastMutex>::operator-=\r\n (this=0x814eb10, aDelegate=...) at /usr/include/Poco/AbstractEvent.h:195\r\n#11 0x080d40c5 in ofRemoveListener, ofEventArgs, ofGstUtils> (event=..., listener=0x82698e0, listenerMethod=\r\n (void (ofGstUtils::*)(ofGstUtils * const, ofEventArgs &)) 0x80d27b4 ) at ../../../openFrameworks/events/ofEventUtils.h:87\r\n#12 0x080d25be in ofGstUtils::close (this=0x82698e0)\r\nat ../../../openFrameworks/video/ofGstUtils.cpp:353\r\n#13 0x080d175e in ofGstUtils::~ofGstUtils (this=0x82698e0, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:85\r\n#14 0x080d32c4 in ofGstVideoUtils::~ofGstVideoUtils (this=0x82698d8, \r\n __in_chrg=)\r\n at ../../../openFrameworks/video/ofGstUtils.cpp:536\r\n#15 0x080d06ff in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:19\r\n#16 0x080d07d9 in ofGstVideoPlayer::~ofGstVideoPlayer (this=0x82698b8, \r\n __in_chrg=, __vtt_parm=)\r\n at ../../../openFrameworks/video/ofGstVideoPlayer.cpp:21\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/840","comments":3,"milestone":null,"number":840,"html_url":"https://github.com/openframeworks/openFrameworks/issues/840","assignee":null,"title":"ofGstVideoPlayer crash on exit","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-12-08T11:53:55Z","state":"open","user":{"url":"https://api.github.com/users/gaborpapp","gravatar_id":"9cb0f8a67c238d2aa91d9a7957b9ef4b","login":"gaborpapp","avatar_url":"https://secure.gravatar.com/avatar/9cb0f8a67c238d2aa91d9a7957b9ef4b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":203532},"id":2486705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:30:53Z","body":"right now the only way to change the type of pixels is to go through ofImage and set image type there.\r\n\r\nseems like this should be moved into ofPixels.\r\n\r\nthoughts?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/838","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":838,"html_url":"https://github.com/openframeworks/openFrameworks/issues/838","assignee":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"title":"ofPixels has no setImageType","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-12-07T16:30:59Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":2476561,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:44:08Z","body":"I made a small example which uses the Wikipedia xml api to make queries which are then parsed by an ofXmlSettings object. The problem is Wikipedia complains there is no User-Agent string and dosen't return any data, while threatening to block by IP.\r\n\r\nThe fix was as simple as adding this to ofURLFileLoader.cpp line 144:\r\n
\r\n\t\tHTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);\r\n        \treq.add(\"User-Agent\", \"Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405\");\r\n
\r\n\r\nIt uses the iOS safari user agent string. I think the best fix is to expose the HTTPRequest and HTTPResponse Poco objects so that, like in the ofxHttpUtils, you could add manually the string/value to the request before sending it. I don't think it should be set ti a default within the class. Also, it would be awesome to be able to add data into and pull data out of the requests. This is a great wrapper, especially the threading, I'd just like to have the full req/response control ... perhaps provide a method to add Poco::HttpRequests and recieve Poco::HttpResponses which could be set as references inside the ofxHttpRequest/ofxHttpResponse objects?\r\n\r\nOn another note, ofURLFileLoader seems like a rather specific name for a regular HTTP action. What's wrong with ofHttpSession etc since I've found it useful for more then just","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/837","comments":0,"milestone":null,"number":837,"html_url":"https://github.com/openframeworks/openFrameworks/issues/837","assignee":null,"title":"ofURLFileLoader dosen't set HTTP User-Agent string and there is no way to set it","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-12-05T21:44:08Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2455011,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T00:08:35Z","body":"Dummy issue to ensure that the 0073 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/836","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":836,"html_url":"https://github.com/openframeworks/openFrameworks/issues/836","assignee":null,"title":"0073 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-04T00:08:35Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2439965,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T09:03:22Z","body":"Not sure if is an issue or im doing wrong.\r\n\r\nIm trying to implement dragEvent() in an external class in windoes 7. I'm getting neither an error nor a response nor result. While debugging dragEvent is not called at all. The same code works perfectly on osx. \r\n\r\nhere's some:\r\n\r\ndummy.h\r\n\r\n\t#include \"ofMain.h\"\r\n\r\n\tclass dummy\r\n\t{\r\n\t\tpublic:\r\n\t\t\tdummy();\r\n\t\t\t~dummy();\r\n\t\t\t\t\t\r\n\t\t\tvoid config();\r\n\t\t\tvoid dragEvent(ofDragInfo &info);\r\n\t\t\t\r\n\t\tprivate:\r\n\t\tprotected:\r\n\t\t\r\n\t};\r\n\r\ndummy.cpp\r\n\r\n\t#include \"dummy.h\"\r\n\r\n\tdummy::dummy(){}\r\n\r\n\tdummy::~dummy(){}\r\n\r\n\tvoid dummy::config(){\r\n\t\tofAddListener(ofEvents.fileDragEvent, this, &dummy::dragEvent);\r\n\t}\r\n\r\n\tvoid dummy::dragEvent(ofDragInfo &info){\r\n\t\tfor( int i = 0; i < info.files.size() ; i++){\r\n\t\t\tcout << \"path: \" << info.files[i] << endl;\r\n\t\t}\r\n\t}\r\n\r\n\r\ntesApp.h\r\n\r\n\t#include \"ofMain.h\"\r\n\t#include \"dummy.h\"\r\n\r\n\r\n\tclass testApp : public ofBaseApp{\r\n\r\n\t\tpublic:\r\n\t\t\tvoid setup();\r\n\t\t\tvoid update();\r\n\t\t\tvoid draw();\r\n\r\n\t\t\tvoid keyPressed (int key);\r\n\t\t\tvoid keyReleased(int key);\r\n\t\t\tvoid mouseMoved(int x, int y );\r\n\t\t\tvoid mouseDragged(int x, int y, int button);\r\n\t\t\tvoid mousePressed(int x, int y, int button);\r\n\t\t\tvoid mouseReleased(int x, int y, int button);\r\n\t\t\tvoid windowResized(int w, int h);\r\n\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\t\r\n\t\t\tdummy d;\r\n\r\ntestApp.cpp\r\n\r\n\t#include \"testApp.h\"\r\n\r\n\tvoid testApp::setup(){\r\n\t\td.config();\r\n\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/831","comments":0,"milestone":null,"number":831,"html_url":"https://github.com/openframeworks/openFrameworks/issues/831","assignee":null,"title":"dragEvent() in new class not working in win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-12-03T08:51:42Z","state":"open","user":{"url":"https://api.github.com/users/decolector","gravatar_id":"7165a50ea8df968de57ffb5a27ba6ebc","login":"decolector","avatar_url":"https://secure.gravatar.com/avatar/7165a50ea8df968de57ffb5a27ba6ebc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":390056},"id":2436532,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T16:28:49Z","body":"Dummy issue to ensure that the 0072 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/829","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":829,"html_url":"https://github.com/openframeworks/openFrameworks/issues/829","assignee":null,"title":"0072 Release tracking issue","labels":[],"closed_at":null,"created_at":"2011-12-02T16:28:49Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":2429871,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-29T17:54:48Z","body":"Loading Futura at font size 10 and simplify=0 yields oversimplified chars in a pdf render. I'm not sure if there's a way to fix this if the fonts are small.\r\n\r\nA workaround is to load the font at a larger size, say 40, then scale down by 0.25 when drawing. \r\n\r\nThe font below is a zoom of the pdf export using font size 10. The font above is Futura at font size 144 by comparison.\r\n\r\n![oversimplified fonts](http://farm8.staticflickr.com/7161/6423768819_9129b6d608_o.jpg)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/825","comments":2,"milestone":null,"number":825,"html_url":"https://github.com/openframeworks/openFrameworks/issues/825","assignee":null,"title":"small font sizes yield oversimplified glyph shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-29T08:26:16Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2380571,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-19T07:01:47Z","body":"If I use loadScreenData with anti-Aliasing turned on in the program's startup like this:\r\n\r\nofAppiPhoneWindow * iOSWindow = new ofAppiPhoneWindow();\r\niOSWindow->enableAntiAliasing(4);\r\n\r\nthen the texture will load in nothing but solid black. If I bypass this anti-aliasing, it works fine. I also cannot properly populate a texture using loadScreenData in a landscape orientation. Changing to Portrait orientation in the update loop, and then back to landscape after the grab fixes it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/822","comments":5,"milestone":null,"number":822,"html_url":"https://github.com/openframeworks/openFrameworks/issues/822","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iOS - ofTexture.loadScreenData issue when antiAliasing is on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-28T06:48:27Z","state":"open","user":{"url":"https://api.github.com/users/momo-the-monster","gravatar_id":"31f8a3ef87e828b70d2a441c8dae97d8","login":"momo-the-monster","avatar_url":"https://secure.gravatar.com/avatar/31f8a3ef87e828b70d2a441c8dae97d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":737888},"id":2364541,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-28T18:48:58Z","body":"It'd be nice if ofRectangle used a ofVec2f or ofVec3f internally so you could do the something like:\r\n\r\n
\r\nofRectangle myRect;\r\nofVec2f vel(-1, 2);\r\nmyRect.pos += vel;\r\n
\r\n\r\nNow I'm not saying drop the x and y member vars, but link them to the ofVec internals thorugh either a union or reference. A reference would be easy through the constructor:\r\n\r\n
\r\nclass ofRectangle {\r\n\r\n   public:\r\n\r\n     float &x, &y;\r\n     ofVec2f pos;\r\n     ....\r\n\r\n\r\nofRectangle::ofRectangle() : x(pos.x), y(pos.y) {\r\n\r\n...\r\n
\r\n\r\nThis way we get the best of both worlds without broken code ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/821","comments":3,"milestone":null,"number":821,"html_url":"https://github.com/openframeworks/openFrameworks/issues/821","assignee":null,"title":"suggest: ofRectangle internal ofVec","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-26T20:19:31Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":2356801,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-01T18:13:35Z","body":"i'm experiencing troubles in windows when i use a system file-opening dialog from openframeworks. after using it Data root path seems to get pointing to a wrong location, causing troubles e.g. true type fonts not loading.\r\nif I use the open-file dialog once again to open a file in root folder of the application, then the data path is reset correctly.\r\nusing ofSetDataPathRoot() doens't seem to fix the issue, or maybe I'm not using it correctly.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/819","comments":2,"milestone":null,"number":819,"html_url":"https://github.com/openframeworks/openFrameworks/issues/819","assignee":null,"title":"datapath messed in windows after using file open dialog","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-11-22T10:50:13Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2316595,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-02T15:19:58Z","body":"Had a talk with Theo about this. I think that it would be really nice if it were possible to #define/ pre-process macro if you want to exclude modules like ofVideoPlayer/ofSoundplayer in your app. \r\n\r\nThis would be super helpful for a couple of reasons.\r\n\r\nplugins that are not able to use the modules can exclude them without hacking the core.\r\nif you want to reduce the final size of you app and its not using something like ofVideoPlayer you dont need to add it.\r\n\r\nwhat do you think...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/818","comments":1,"milestone":null,"number":818,"html_url":"https://github.com/openframeworks/openFrameworks/issues/818","assignee":null,"title":"#defines for modules ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-11-21T16:45:51Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":2306518,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-17T15:17:10Z","body":"Hello, \r\nRunning on MacOS 10.7 with XCode 4.1 I could not compile any of the examples in devApps, except for _DeployExamples. \r\nThe first error always encountered is: \r\n\r\n../../../libs/openFrameworks/utils/ofConstants.h:101:22: error: GL/glew.h: No such file or directory\r\n\r\nI tried both changing the paths of the include part in the code and dragging the GL folder that contains glew.h separately in the project, but neither worked. \r\n\r\nHelp please... \r\n\r\nThanks, \r\n\r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/815","comments":3,"milestone":null,"number":815,"html_url":"https://github.com/openframeworks/openFrameworks/issues/815","assignee":null,"title":"Examples in devApps folder do not compile. Missing glew.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-17T13:45:47Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2268829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:30:18Z","body":"Hello, \r\nIt took me more than 4 hours to get openFrameworks to compile deployExamples on MacOS X 10.7.2 with XCode 4.1, because of having to figure out two things; \r\n\r\n1. Need to change SDK for the deployExamples project definitions to 10.6\r\n2. Need to choose deployExamples in the build menu on the toolbar of the project window. \r\n\r\nPerhaps this info should be added to the readme.txt file of the present master branch in order to spare other people the hassle? \r\n\r\nI suggest the following addition: \r\n=====\r\nTo deploy openFrameworks examples from the files cloned via the present github repository, you should build and run the project: \r\napps/devApps/_DeployExamples/deployExamples.xcodeproj\r\n\r\nTo successfully compile in Lion (MacOS X 10.7) in XCode you should select in the project file list of XCode both the target deployExamples from the top level of the file hierarchy and the project openFrameworksLib.xcodeproj from inside the openFrameworks folder, then find the project definition, and change the SDK to MacOS X 10.6. You should do the same for the targets of those two items. \r\n\r\nImportant: Before clicking the Build and Go, or the Run button, make sure that you choose the deployExamples project in the menu on the toolbar of the project window. (Otherwise if you leave openFrameworks as selected project and push Run or Build and Run, no application will be created or run). \r\n\r\n\r\n=====\r\nHopefully this helps. \r\nCheers, \r\nIannis Zannos","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/814","comments":2,"milestone":null,"number":814,"html_url":"https://github.com/openframeworks/openFrameworks/issues/814","assignee":null,"title":"Suggest adding some info about Lion to readme.txt","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-17T11:48:32Z","state":"open","user":{"url":"https://api.github.com/users/iani","gravatar_id":"8200f2533f23c9daaff63c4dba6f4819","login":"iani","avatar_url":"https://secure.gravatar.com/avatar/8200f2533f23c9daaff63c4dba6f4819?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181956},"id":2267854,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-16T04:46:48Z","body":"I'm trying this simple ofFbo example on OF 007, the system is Ubuntu Lucid, with an Intel 945 GPU.\r\n\r\n]//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n fbo.allocate(500, 500, GL_RGBA);\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n fbo.begin();\r\n ofClear(255, 255, 255, 255);\r\n ofSetColor(255, 0, 0);\r\n ofCircle(mouseX, mouseY, 100);\r\n fbo.end();\r\n\r\n ofSetColor(255);\r\n fbo.draw(0, 0);\r\n}\r\n\r\nI got a segfault in i915 dri, and any test using ofFbo leads to same results.\r\n\r\n\r\n#0 0x1bd3c36 _mesa_FramebufferRenderbufferEXT() (/usr/lib/dri/i915_dri.so:??)\r\n#1 0x80cc56a ofFbo::createAndAttachRenderbuffer(this=0x85b28e8, internalFormat=34041, attachmentPoint=33306) (../../../openFrameworks/gl/ofFbo.cpp:489)\r\n#2 0x80cc352 ofFbo::allocate(this=0x85b28e8, _settings=...) (../../../openFrameworks/gl/ofFbo.cpp:388)\r\n#3 0x80cc269 ofFbo::allocate(this=0x85b28e8, width=500, height=500, internalformat=6408, numSamples=0) (../../../openFrameworks/gl/ofFbo.cpp:363)\r\n#4 0x80562ec testApp::setup(this=0x85b28d8) (src/testApp.cpp:5)\r\n#5 0x8059ca6 ofNotifySetup() (../../../openFrameworks/events/ofEvents.cpp:73)\r\n#6 0x8056a23 ofAppGlutWindow::runAppViaInfiniteLoop(this=0xbffff2f8, appPtr=0x85b28d8) (../../../openFrameworks/app/ofAppGlutWindow.cpp:317)\r\n#7 0x80584cc ofRunApp(OFSA=0x85b28d8) (../../../openFrameworks/app/ofAppRunner.cpp:82)\r\n#8 0x8055bfc main() (src/main.cpp:14)\r\n\r\nany idea about what I should try or where the problem could be? has anyone experienced similar problems?\r\n\r\nthanks in advance to all","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/811","comments":1,"milestone":null,"number":811,"html_url":"https://github.com/openframeworks/openFrameworks/issues/811","assignee":null,"title":"ofFBO causes segfault on Linux Ubuntu Lucid with i945 GPU","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-11-13T20:49:26Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614123},"id":2223158,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T18:51:38Z","body":"Julapy and I were discussing how to do this on the forum http://forum.openframeworks.cc/index.php?topic=7852 and I think adding a flag to allocate for mipmaps to ofTexture and ofFbo would come in handy for some people.\r\n\r\n```c\r\nvoid ofTexture::allocate(int w, int h, int internalGlDataType, bool bUseARBExtention, bool generateMipmaps = false) \r\n{\r\n if( generateMipmaps )\r\n {\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );\r\n glTexParameterf( texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR );\r\n glTexParameterf( texData.textureTarget, GL_GENERATE_MIPMAP, GL_TRUE );\r\n }\r\n```\r\n\r\nand in ofFbo\r\n\r\n```c\r\nstruct Settings {\r\n bool generateMipMaps; // or int\r\n}\r\n```\r\n\r\nI'd be happy to do this & submit a pull request too.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/810","comments":2,"milestone":null,"number":810,"html_url":"https://github.com/openframeworks/openFrameworks/issues/810","assignee":null,"title":"Add flag for mipmapping in ofTexture/ofFbo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-11-11T07:34:53Z","state":"open","user":{"url":"https://api.github.com/users/joshuajnoble","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":237423},"id":2206980,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('content-length', '49276'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"362300e7c4c0fc8f170b2c345084dfad"'), ('date', 'Tue, 29 May 2012 19:27:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T23:58:48Z","body":"right now it's inside ofMath.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/800","comments":3,"milestone":null,"number":800,"html_url":"https://github.com/openframeworks/openFrameworks/issues/800","assignee":null,"title":"ofInsidePoly should be a static method of ofPolyline","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-30T04:16:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2089523,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:31:07Z","body":"ofRect very commonly has a little chunk missing from one corner.\r\n\r\nthere is also a discrepancy between the filled and outline rectangles. it's not clear whether the outline rect should be within the bounds of the filled rect, or enclosing the filled rect, and in practice it can be a little of both.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/798","comments":2,"milestone":null,"number":798,"html_url":"https://github.com/openframeworks/openFrameworks/issues/798","assignee":null,"title":"ofRect isn't quite rectangular","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-10-29T06:38:43Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2086039,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-29T02:37:28Z","body":"we're working on some ideas regarding procedural animation and posing:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,7714.new.html#new\r\n\r\nwhich should be more powerful than playing back manual animations.\r\n\r\nintegrating it into the core would be ideal, but we're still trying to understand how it works.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/797","comments":0,"milestone":null,"number":797,"html_url":"https://github.com/openframeworks/openFrameworks/issues/797","assignee":null,"title":"procedural posing of bones in ofxAssimpModelLoader","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-29T02:37:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2085543,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"this fails to display any text:\r\n\r\n\tofBackground(0);\r\n\tofSetColor(255, 254);\r\n\tofDrawBitmapString(\"this text is not displayed\", 10, 20);\r\n\r\nthis is because line 448 of ofBitmapFont.h reads:\r\n\r\n\tglAlphaFunc(GL_EQUAL, 1.0f);\r\n\r\nwhich should be changed to:\r\n\r\n\tglAlphaFunc(GL_GREATER, 0);","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/795","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":795,"html_url":"https://github.com/openframeworks/openFrameworks/issues/795","assignee":null,"title":"ofDrawBitmapString does not work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-27T09:50:07Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":2066090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-25T23:39:09Z","body":"\r\nThis should be user adjustable / on / off. it's sort of a drag to be using easy cam and trigger double clicks are you are interacting with a gui, etc.... \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/793","comments":1,"milestone":null,"number":793,"html_url":"https://github.com/openframeworks/openFrameworks/issues/793","assignee":null,"title":"easyCam -- ability to disable doubleClick reset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-25T23:36:40Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":2051692,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:53:12Z","body":"when drawing certain shapes i get crashes, debugger claims a tessellator issue pointing to \r\n\"if (!tessTesselate(cacheTess, polyWindingMode, TESS_POLYGONS, 3, 3, 0)){\" in \"performTessellation\" function in file ofTessellator.cpp ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/789","comments":1,"milestone":null,"number":789,"html_url":"https://github.com/openframeworks/openFrameworks/issues/789","assignee":null,"title":"crashes with tessellator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-21T14:49:12Z","state":"open","user":{"url":"https://api.github.com/users/ruim","gravatar_id":"18875575931764c674b5fc64ae8b7274","login":"ruim","avatar_url":"https://secure.gravatar.com/avatar/18875575931764c674b5fc64ae8b7274?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480525},"id":2016194,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-19T22:39:37Z","body":"would be useful as well. Perhaps an ofxMeshUtils would be in order for upcoming versions...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/787","comments":0,"milestone":null,"number":787,"html_url":"https://github.com/openframeworks/openFrameworks/issues/787","assignee":null,"title":"half edge mesh structure extension of ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:39:37Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999520,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-11-04T21:59:22Z","body":"would be quite useful","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/786","comments":1,"milestone":null,"number":786,"html_url":"https://github.com/openframeworks/openFrameworks/issues/786","assignee":null,"title":"axis aligned bounding box tree for ofMesh","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-19T22:38:35Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":167271},"id":1999513,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-27T17:58:58Z","body":"I am loading in boujou camera data (translation and euler rotation), and I get really fine results when I do: \r\n\r\nglTranslatef(tx,ty,tz);\r\nglRotatef(rx, 1,0,0);\r\nglRotatef(ry, 0,1,0);\r\nglRotatef(rz, 0,0,1);\r\n\r\nbut when I create an ofCamera, and do: \r\n\r\nsetPosition(ofPoint(tx, ty, tz));\r\nsetOrientation(ofPoint(rx, ry, rz));\r\n\r\nI get strange results. I am wondering about ofNodes \"setOrientation\" and if it's really right in that the order is switched:\r\n\r\nsetOrientation(ofQuaternion(eulerAngles.y, ofVec3f(0, 1, 0), eulerAngles.x, ofVec3f(1, 0, 0), eulerAngles.z, ofVec3f(0, 0, 1)));\r\n\r\nalso, maybe I am mis interpreting what \"set orientation\" does. But I can't seem to get similar results with ofCam, even if I do, for example, \r\n\r\ncam.setPosition( tx,ty,tz);\r\ncam.rotate( rx, 1,0,0);\r\ncam.rotate( ry, 0,1,0);\r\ncam.rotate( rz, 0,0,1);\r\n\r\nI still don't get the same results as when I do it via opengl. This seems like a bug maybe with how ofNode handles rotation?\r\n\r\n(note , I am calling resetTranform() on the camera, so it's not an accumulation of rotations.... it's just that I can't seem to find a way to get ofCam to rotate in the same way as opengl commands). \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/785","comments":2,"milestone":null,"number":785,"html_url":"https://github.com/openframeworks/openFrameworks/issues/785","assignee":null,"title":"ofCamera setOrientation gives odd results","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-19T11:16:42Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1992818,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-09T11:46:35Z","body":"It seems to be happening pretty far in, if you put debug statements in touchesMoved in EAGL view, you will see that y is set to the x value of the touch.\r\n\r\nThis does not occur in debug mode, or in the simulator, and it has to be done with xcode4. I am running the newest ios5 beta as well.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/778","comments":2,"milestone":null,"number":778,"html_url":"https://github.com/openframeworks/openFrameworks/issues/778","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"running an iphone retina app in release mode causes touch.x == touch.y","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-18T11:26:26Z","state":"open","user":{"url":"https://api.github.com/users/jonbro","gravatar_id":"893ec14dc008e3774afe5841115920d6","login":"jonbro","avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1597},"id":1938472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-16T18:30:08Z","body":"\r\nat the moment, the ofCamera draw calls ofNode, which does't really give you a clear indication of which way the camera is looking. even that is weird, because a camera looks on -z, and the node draw draws a line on positive z. \r\n\r\nI suggest we add something that draws a bit of a frustum (ie, fov, etc) and gives you a feeling about orientation. \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/774","comments":0,"milestone":null,"number":774,"html_url":"https://github.com/openframeworks/openFrameworks/issues/774","assignee":null,"title":"ofCamera draw() should be more indicative of where the camera is facing. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-16T18:30:08Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1922704,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T15:09:29Z","body":"Currently we have:\r\n\tvirtual void draw(float x,float y)=0;\r\n\tvirtual void draw(float x,float y,float w, float h)=0;\r\n\r\n\tvirtual float getHeight()=0;\r\n\tvirtual float getWidth()=0;\r\n\r\nSince we're insisting that the user define a getWidth and getHeight, can I ask why we don't set the default of draw(x,y) to be\r\n virtual void draw(float x,float y) {draw(x, y, getWidth(), getHeight()) };\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/772","comments":0,"milestone":null,"number":772,"html_url":"https://github.com/openframeworks/openFrameworks/issues/772","assignee":null,"title":"ofBaseDraws draw(x, y) default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-12T15:08:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1888302,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"Greetings,\r\n\r\nI downloaded OF v.007 on my laptop running Vista SP2. I compiled and ran some of the example apps like imageLoader example using VS2010. \r\n\r\nTextures seem to be broken. Images appear as white slabs.\r\n\r\nI tracked it down and found that disabling ArbTex, with ofDisableArbTex(), will get the textures working again. \r\n\r\nUsing ArbTex worked fine in OF v0.62 on the same machine.\r\n\r\nLaptop:\r\nHP Pavilion dv600 Notebook PC\r\nManufacturer: Hewlett-Packard\r\nOperating System: Windows Vista Home Premium, Service Pack 2 (6.0.6002)\r\nPhysical Memory:\t 2037 MB\r\nProcessor: Intel Core2 Duo PU T5250 @ 1.5 GHz, 1.5 GHz\r\n\r\nCompiler:\r\nMicrosoft Visual Studio 2010\r\nInstalled Version: Professional\r\nMicrosoft Visual C++ 2010\r\n\r\nGraphics:\r\nGraphics: Intel Graphics Media Accelerator Driver for Mobile\r\nGraphics: Driver Version: 7.14.10.1244\r\nDirectX Version:\t10.0\r\nOpenGL Version 1.5\r\n\r\nHere's a full report of OpenGL info from GLview:\r\n\r\n\r\nRenderer: Intel 965/963 Graphics Media Accelerator\r\nVendor: Intel\r\nMemory: 448 MB\r\nVersion: 1.5.0 - Build 7.14.10.1244\r\nShading language version: N/A\r\n\r\n\r\nMax texture size: 2048 x 2048\r\nMax texture coordinates: 8\r\nMax vertex texture image units: 0\r\nMax texture image units: 16\r\nMax geometry texture units: 0\r\nMax anisotropic filtering value: 2\r\nMax number of light sources: 16\r\nMax viewport size: 2048 x 2048\r\nMax uniform vertex components: 0\r\nMax uniform fragment components: 0\r\nMax geometry uniform components: 0\r\nMax varying floats: 0\r\nMax samples: 0\r\nMax draw buffers: 0\r\n\r\n\r\nExtensions: 56\r\n\r\nGL_3DFX_texture_compression_FXT1\r\nGL_ARB_depth_texture\r\nGL_ARB_fragment_program\r\nGL_ARB_multitexture\r\nGL_ARB_occlusion_query\r\nGL_ARB_point_parameters\r\nGL_ARB_shadow\r\nGL_ARB_texture_border_clamp\r\nGL_ARB_texture_compression\r\nGL_ARB_texture_cube_map\r\nGL_ARB_texture_env_add\r\nGL_ARB_texture_env_combine\r\nGL_ARB_texture_env_crossbar\r\nGL_ARB_texture_env_dot3\r\nGL_ARB_transpose_matrix\r\nGL_ARB_vertex_buffer_object\r\nGL_ARB_vertex_program\r\nGL_ARB_window_pos\r\nGL_EXT_abgr\r\nGL_EXT_bgra\r\nGL_EXT_blend_color\r\nGL_EXT_blend_func_separate\r\nGL_EXT_blend_minmax\r\nGL_EXT_blend_subtract\r\nGL_EXT_clip_volume_hint\r\nGL_EXT_compiled_vertex_array\r\nGL_EXT_draw_range_elements\r\nGL_EXT_fog_coord\r\nGL_EXT_multi_draw_arrays\r\nGL_EXT_packed_pixels\r\nGL_EXT_rescale_normal\r\nGL_EXT_secondary_color\r\nGL_EXT_separate_specular_color\r\nGL_EXT_shadow_funcs\r\nGL_EXT_stencil_two_side\r\nGL_EXT_stencil_wrap\r\nGL_EXT_texture3D\r\nGL_EXT_texture_compression_s3tc\r\nGL_EXT_texture_env_add\r\nGL_EXT_texture_env_combine\r\nGL_EXT_texture_filter_anisotropic\r\nGL_EXT_texture_lod_bias\r\nGL_IBM_texture_mirrored_repeat\r\nGL_NV_blend_square\r\nGL_NV_texgen_reflection\r\nGL_SGIS_generate_mipmap\r\nGL_SGIS_texture_edge_clamp\r\nGL_SGIS_texture_lod\r\nGL_WIN_swap_hint\r\nWGL_ARB_buffer_region\r\nWGL_ARB_extensions_string\r\nWGL_ARB_make_current_read\r\nWGL_ARB_pbuffer\r\nWGL_ARB_pixel_format\r\nWGL_EXT_extensions_string\r\nWGL_EXT_swap_control\r\n\r\nCore features\r\nv1.1 (100 % - 7/7)\r\nv1.2 (100 % - 8/8)\r\nv1.3 (100 % - 9/9)\r\nv1.4 (100 % - 15/15)\r\nv1.5 (100 % - 3/3)\r\nv2.0 (10 % - 1/10)\r\nv2.1 (0 % - 0/3)\r\nv3.0 (0 % - 0/23)\r\nv3.1 (0 % - 0/8)\r\nv3.2 (0 % - 0/10)\r\nv3.3 (0 % - 0/10)\r\nv4.0 (0 % - 0/14)\r\nv4.1 (0 % - 0/7)\r\nv4.2 (0 % - 0/12)\r\n\r\nOpenGL driver version check (Current: 1.5.0 - Build 7.14.10.1244, Latest known: ):\r\nLatest version of display drivers found\r\nAccording the database, you are running the latest display drivers for your video card.\r\n\r\nNo ICD registry entry\r\nThe current OpenGL driver doesn't expose the SOFTWARE/Microsoft/Windows (NT)/CurrentVersion/OpenGLDrivers registry entry. Unable to detect the driver version, driver revision name and filename.\r\n\r\nCompiled vertex array support\r\nThis feature improves OpenGL performance by using video memory to cache transformed vertices.\r\n\r\nMultitexture support\r\nThis feature accelerates complex rendering such as lightmaps or environment mapping.\r\n\r\nSecondary color support\r\nThis feature provides an alternate method of coloring specular highlights on polygons.\r\n\r\nS3TC compression support\r\nThis feature improves texture mapping performance in some applications by using lossy compression.\r\n\r\nTexture edge clamp support\r\nThis feature improves texturing quality by adding clamping control to edge texel filtering.\r\n\r\nVertex program support\r\nThis feature enables a wide variety of effects via flexible vertex programming (equivalent to DX8 Vertex Shader.)\r\n\r\nFragment program support\r\nThis feature enables a wide variety of effects via per pixel programming (equivalent to DX9 Pixel Shader.)\r\n\r\nTexture anisotropic filtering support\r\nThis feature improves the quality of texture mapping on oblique surfaces.\r\n\r\nOcclusion test support\r\nThis feature provides hardware accelerated culling for objects.\r\n\r\nNo OpenGL Shading Language support\r\nThis may break compatibility for applications using per pixel shading.\r\n\r\nNo Frame buffer object support\r\nThis may break compatibility for applications using render to texture functions.\r\n\r\nDisabling ArbTex will work for me, but I thought others might have the same problem with 007.\r\n\r\n- Rob","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/771","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":771,"html_url":"https://github.com/openframeworks/openFrameworks/issues/771","assignee":null,"title":"Textures Didn't Work in 007 on my Laptop, Had to Disable ArbTex","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-10-11T13:02:28Z","state":"open","user":{"url":"https://api.github.com/users/robgonsalves","gravatar_id":"7c2e18ac17a0b907dbac36aaa6a9ec0f","login":"robgonsalves","avatar_url":"https://secure.gravatar.com/avatar/7c2e18ac17a0b907dbac36aaa6a9ec0f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1119357},"id":1874373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-24T15:27:29Z","body":"When integrating openFrameworks into existing build systems, it would make things easier if this common include convention was followed.\r\n\r\ni.e. to include openFrameworks headers in my own build, because all the includes look like:\r\n\r\n#include \"ofMesh.h\"\r\n#include \"ofAppGlutWindow.h\"\r\n#include \"ofSerial.h\"\r\n\r\nI have to add all these paths to my include paths:\r\n\r\n\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/app\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/3d\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/communication\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/gl\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/graphics\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/utils\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/types\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/math\r\n ../Libraries/of_preRelease_v007_linux64/libs/openFrameworks/events\r\n\r\n\r\n\r\nIt is common to instead structure files like (in the case of openFrameworks):\r\n\r\noF/include/oF\r\noF/include/oF/app\r\noF/include/oF/3d\r\noF/include/oF/communication\r\noF/include/oF/gl\r\noF/include/oF/graphics\r\n...etc...\r\n\r\nand just write:\r\n\r\n#include \r\n#include \r\n\r\netc.\r\n\r\nI'm not sure if there is an argument to leave it like it is because it's easier for oF's demographic? But I would say teaching the some_lib/include/some_lib/ convention would help people use more C++.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/767","comments":2,"milestone":null,"number":767,"html_url":"https://github.com/openframeworks/openFrameworks/issues/767","assignee":null,"title":"#include instead of #include ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-10-09T03:58:30Z","state":"open","user":{"url":"https://api.github.com/users/gimlids","gravatar_id":"cc4cace34c61103f0624002a692820f7","login":"gimlids","avatar_url":"https://secure.gravatar.com/avatar/cc4cace34c61103f0624002a692820f7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":186277},"id":1854874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-12T13:12:02Z","body":"\r\nat the moment, ofNode has a draw function that has awkwardly hard coded sizes: \r\n\r\nvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nI'd like a draw(size) option. obviously I can extend ofNode and create my own functions, but if I just draw a node, I might want to adjust the size internally, as the \"10\" and \"20\" might not make any sense based on where I am drawing, for example here: \r\n\r\nhttp://imgur.com/idWPp\r\n\r\nlooks quite weird, but at 1/10th the size would look ok. \r\n\r\nas most other OF objects have draw(size) options, I think ofNodeShould have this too. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/766","comments":4,"milestone":null,"number":766,"html_url":"https://github.com/openframeworks/openFrameworks/issues/766","assignee":null,"title":"ofNode should have a draw(float size) option","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-08T09:38:46Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1851779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T23:51:04Z","body":"edit: originally this issue was about adding glu functions. now i realize any remaining ones need to be removed. but it's still relevant to have an ofScreenToWorld and ofWorldToScreen. \r\n\r\nthis would be really awesome. there is already some code in ofDrawBitmapString that's using gluProject, it would be good to clean it up.\r\n\r\nthe main issue is that glu is not on iOS, so we'd need to find/write our own implementation.\r\n\r\nhere's a first pass:\r\n\r\n\tGLdouble modelviewMatrix[16], projectionMatrix[16];\r\n\tGLint viewport[4];\r\n\tvoid updateProjectionState() {\r\n\t\tglGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);\r\n\t\tglGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);\r\n\t\tglGetIntegerv(GL_VIEWPORT, viewport);\r\n\t}\r\n\r\n\tofVec3f ofWorldToScreen(ofVec3f world) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tgluProject(world.x, world.y, world.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f screen(x, y, z);\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\treturn screen;\r\n\t}\r\n\r\n\tofVec3f ofScreenToWorld(ofVec3f screen) {\r\n\t\tupdateProjectionState();\r\n\t\tGLdouble x, y, z;\r\n\t\tscreen.y = ofGetHeight() - screen.y;\r\n\t\tgluUnProject(screen.x, screen.y, screen.z, modelviewMatrix, projectionMatrix, viewport, &x, &y, &z);\r\n\t\tofVec3f world(x, y, z);\r\n\t\treturn world;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/765","comments":4,"milestone":null,"number":765,"html_url":"https://github.com/openframeworks/openFrameworks/issues/765","assignee":null,"title":"remove gluProject and gluUnProject, add screenToWorld, worldToScreen","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-10-07T09:46:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1841802,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T06:02:37Z","body":"I made an app using the preRelease version 007, I have a gui view with a bunch of buttons and sliders this view is 1/3 of the screen size and sits at the bottom, it is an Universal app that allows any orientation on the iPad and supports Portrait only for the iPhone / iPod Touch, here is my problem I need to allow touches to pass through the gui view for this I use **[ofxiPhoneGetGLView() addSubview:guiViewController.view];** the problem this method is that the gui view does not call the **willAnimateRotationToInterfaceOrientation()** at launch, and I get the following message in the console\r\n_**Action connections from <UIView: 0x5b88d0; frame = (20 0; 280 320); autoresize = LM+RM+H; layer = <CALayer: 0x5b7d30>> are not supported.**_\r\n\r\n if I use **[ofxiPhoneGetUIWindow() addSubview:guiViewController.view];** the **willAnimateRotationToInterfaceOrientation()** method works at launch as expected and the gui view adjust itself to the correct position and size\r\n\r\nAny help will be much appreciated","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/764","comments":1,"milestone":null,"number":764,"html_url":"https://github.com/openframeworks/openFrameworks/issues/764","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Autoresize problem in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-10-05T20:35:04Z","state":"open","user":{"url":"https://api.github.com/users/nardove","gravatar_id":"8022cb5f529975afbc64cc9312008d8c","login":"nardove","avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":277690},"id":1827792,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-28T01:00:34Z","body":"ofxXmlXettings uses TinyXML which gives you lots of useful error info like what line the error is on as well as what it has trouble reading. This is super awesome and useful to people like me who always mistype xml here and there.\r\n\r\nCurrently ofxXmlSettings::loadFile only returns a bool and you're left to figure out if it's a path issue, bad xml formatting, etc. At the least, we should be able to grab an error string.\r\n\r\nHere's how to do it:\r\n
\r\nstd::string Xml::getErrorString(const TiXmlDocument* xmlDoc)\r\n{\r\n    if(xmlDoc == NULL)\r\n        return \"\";\r\n\r\n    std::stringstream error;\r\n    error << \"line \" <<  xmlDoc->ErrorRow() << \", \" << (std::string) xmlDoc->ErrorDesc();\r\n    return error.str();\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/760","comments":1,"milestone":null,"number":760,"html_url":"https://github.com/openframeworks/openFrameworks/issues/760","assignee":null,"title":"ofxXmlSettings does not print any useful error messages","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-28T00:53:09Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1758237,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"This would be the best thing ever. \r\n\r\nstring ipAddr = ofxXmlSettings::readValueFromFile(\"data.xml\", \"ip\", \"127.0.0.1\"); \r\n\r\nofxXmlSettings::saveValueToFile(\"data.xml\", \"ip\", ipAddr); ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/758","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":758,"html_url":"https://github.com/openframeworks/openFrameworks/issues/758","assignee":null,"title":"non ofxXmlSettings object read and write value","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-26T11:54:06Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1738864,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-25T13:22:59Z","body":"in my opinion, it would make sense for ofPixels::allocate to initialize the new memory to 0. even for large images, i don't think this is such an expensive operation.\r\n\r\ni discovered that it is not initialized to 0 when i had a really weird bug -- some code that gave me different results depending on whether i loaded another image before allocating or not. i was expecting OF to act like opencv, which also sets new memory to 0. this would be in line with ofVec*, ofColor, and a few other things, which are all allocated to 0.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/757","comments":0,"milestone":null,"number":757,"html_url":"https://github.com/openframeworks/openFrameworks/issues/757","assignee":null,"title":"ofPixels::allocate should init new memory","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-25T13:22:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1733504,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-22T08:20:27Z","body":"void ofFbo::end() {\r\n\tunbind();\r\n\tif(ofGetGLRenderer()){\r\n\t\tofGetGLRenderer()->setCurrentFBO(NULL);\r\n\t}\r\n\tofPopView();\r\n}\r\n\r\nthis will go wrong if nested fbo as following\r\n\r\nfbo1.begin();\r\n...\r\n fbo2.begin();\r\n ...\r\n fbo2.end();\r\n...\r\nfbo1.end();\r\n\r\nso probably the current fbo must not be set NULL\r\n\r\nerror show's in\r\nvoid ofGLRenderer::viewport(float x, float y, float width, float height, bool invertY) {\r\n\tif(width == 0) width = ofGetWindowWidth();\r\n\tif(height == 0) height = ofGetWindowHeight();\r\n\r\n\tif (invertY){\r\n\t\tif(currentFbo){\r\n\t\t\ty = currentFbo->getHeight() - (y + height);\r\n\t\t}else{\r\n\t\t\ty = ofGetWindowHeight() - (y + height);\r\n\t\t}\r\n\t}\r\n\tglViewport(x, y, width, height);\t\r\n}\r\nthe 'y' will computing wrong when current height is wrong\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/754","comments":0,"milestone":null,"number":754,"html_url":"https://github.com/openframeworks/openFrameworks/issues/754","assignee":null,"title":"nested fbo causing currentFBO lost","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-22T08:20:27Z","state":"open","user":{"url":"https://api.github.com/users/liquidzym","gravatar_id":"166640c513e589c86d2de49c52258eb4","login":"liquidzym","avatar_url":"https://secure.gravatar.com/avatar/166640c513e589c86d2de49c52258eb4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":51957},"id":1708332,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:38:03Z","body":"I found an issue with readToPixels() on iOS that works as expected when compiled for OSX. \r\n\r\nInitialize an FBO:\r\n\r\n   ofFbo::Settings settings;\r\n    settings.width = 1024;\r\n    settings.height = 1024;\r\n    settings.internalformat = GL_RGB;\r\n    settings.numSamples = 0;\r\n    settings.useDepth = false;\r\n    settings.useStencil = false;\r\n    screenFBO.allocate(settings);\r\n\r\nthen draw into the FBO and attempt to retrieve the pixels:\r\n\r\n ofPixels pixels; \r\n screenFBO.readToPixels(pixels); \r\n\r\nThis gives me the ofPixels I'm expecting in OSX, in iOS the pixels aren't populated. I can draw the FBO and see it on screen, I just can't get the pixels out of the texture in iOS.\r\n\r\nThis seems to be related to this portion of readToPixels() from ofFbo.cpp:\r\n\r\n bind(); \r\n int format,type; \r\n ofGetGlFormatAndType(settings.internalformat,format,type); \r\n glReadPixels(0,0,settings.width, settings.height, format, GL_UNSIGNED_BYTE, pixels.getPixels()); \r\n unbind(); \r\n\r\nHas anyone experienced this issue – any fixes?\r\n\r\nThanks,\r\nSteve","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/753","comments":1,"milestone":null,"number":753,"html_url":"https://github.com/openframeworks/openFrameworks/issues/753","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofFbo readToPixels() in iOS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-09-21T20:50:33Z","state":"open","user":{"url":"https://api.github.com/users/stephen-baker","gravatar_id":"96e9ae469240e57fc3ebeed6769c7016","login":"stephen-baker","avatar_url":"https://secure.gravatar.com/avatar/96e9ae469240e57fc3ebeed6769c7016?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1047836},"id":1704855,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T10:37:20Z","body":"I'm having a problem with creating an image out of ofFbo pixels with some image and fbo sizes\r\n\r\n```c++\r\nvoid testApp::setup(){\r\n\r\n ofSetLogLevel(OF_LOG_VERBOSE);\r\n\tofSetVerticalSync(false);\r\n ofBackground(34, 34, 34);\r\n\tofEnableAlphaBlending();\r\n\r\n ofSetWindowShape(1024, ofGetScreenHeight()-70);\r\n ofSetFrameRate(60);\r\n\r\n frame.loadImage(\"lay.png\");\r\n \r\n imageHeight = 1172;\r\n imageWidth = 1182;\r\n\r\n mergeFbo.allocate(imageWidth, imageHeight, GL_RGB);\r\n\r\n final.setImageType(OF_IMAGE_COLOR);\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n\r\n ofEnableAlphaBlending();\r\n\r\n mergeFbo.begin();\r\n\r\n ofClear(0, 0, 0, 1);\r\n\r\n frame.draw(0, 0);\r\n\r\n mergeFbo.end();\r\n\r\n\r\n mergeFbo.draw(200, 100, 100, 200);\r\n \r\n \r\n mergeFbo.readToPixels(pixels);\r\n final.setFromPixels(pixels);\r\n\r\n final.draw(0, 0);\r\n\r\n}\r\n```","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/752","comments":1,"milestone":null,"number":752,"html_url":"https://github.com/openframeworks/openFrameworks/issues/752","assignee":null,"title":"ofFbo (problems with certain image dimensions)","labels":[],"closed_at":null,"created_at":"2011-09-20T21:16:24Z","state":"open","user":{"url":"https://api.github.com/users/ammalgamma","gravatar_id":"96b69749f518cf6a2964b999bf29ee8e","login":"ammalgamma","avatar_url":"https://secure.gravatar.com/avatar/96b69749f518cf6a2964b999bf29ee8e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":517000},"id":1691874,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T09:04:12Z","body":"feature request for a more generic ofJoin() function that accepts vectors of all kinds of objects (float, int, ofVec2f, etc) rather than just string. anything that implements operator<<\r\n\r\nhere's an example using stl:\r\n\r\n\t#include \r\n\ttemplate \r\n\tstring ofJoin(vector& elements, string delimiter) {\r\n\t\tstringstream result;\r\n\t\tcopy(elements.begin(), elements.end(), ostream_iterator(result, delimiter.c_str()));\r\n\t\treturn result.str();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/748","comments":3,"milestone":null,"number":748,"html_url":"https://github.com/openframeworks/openFrameworks/issues/748","assignee":null,"title":"more generic ofJoin","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-17T07:26:18Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1668066,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-21T17:22:14Z","body":"\r\nI'm looking into creating some new primitives for OF [1] and the polygon winding has me a bit confused.\r\n\r\nIf you take for instance \"graphicsExample\" an you add:\r\n\r\n```glEnable( GL_CULL_FACE );```\r\n\r\nSomewhere you will no longer see much drawn to screen.\r\n\r\nGL_CCW is the default FrontFace for OpenGL, but OF seems to be the opposite.\r\nhttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml\r\n\r\nWhich is coolio of course, as long as we are consistent.\r\n\r\nOur options are either to throw a ```glFrontFace( GL_CW );``` in there somewhere OR re-write all the drawing to be consistent with OpenGL default, not sure what is the best in the long run.\r\n\r\nWhat say you all?\r\n\r\n/A\r\n\r\n\r\n[1] https://github.com/andreasmuller/openFrameworks/blob/develop-opengles2/libs/openFrameworks/3d/of3dPrimitives.h","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/745","comments":2,"milestone":null,"number":745,"html_url":"https://github.com/openframeworks/openFrameworks/issues/745","assignee":null,"title":"Polygon winding","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-14T13:50:48Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1643672,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('content-length', '42586'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"1f6749765d79f3319834dfda4c27cd5e"'), ('date', 'Tue, 29 May 2012 19:27:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-17T16:52:58Z","body":"i think it would be wonderful if every OF example was named ofApp instead of testApp. especially because:\r\n\r\n\tclass ofApp : public ofBaseApp {\r\n\r\nis more natural than:\r\n\r\n\tclass testApp : public ofBaseApp {\r\n\r\ngiven the rest of OF naming conventions. and it would increase consistency with things like:\r\n\r\n\tofGetAppPtr();\r\n\tofAppBaseWindow\r\n\tofAppGlutWindow\r\n\r\nthis is a massive refactor that shouldn't be difficult, but should be done at the same time as something like a code formatting cleanup.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/744","comments":10,"milestone":null,"number":744,"html_url":"https://github.com/openframeworks/openFrameworks/issues/744","assignee":null,"title":"rename testApp to ofApp","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-14T07:02:36Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1641198,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-26T11:56:48Z","body":"calling ofEnableAlphaBlending() crashes my app on a machine with opengl version 1.1.0, because glBlendEquation(), introduced at opengl 1.3, needs to gracefully degrade. Here is the solution:\r\n\r\n
\r\nvoid ofEnableAlphaBlending_slightlySafer(void){\r\n\tconst GLubyte * version = glGetString(GL_VERSION);\r\n\tint major, minor;\r\n\tsscanf((const char*)version, \"%i.%i\",&major, &minor);\r\n\r\n\tif(major > 1 || (major==1 && minor>=3)){\r\n\t\tofEnableAlphaBlending();\r\n\t}\t\r\n}\r\n
","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/743","comments":1,"milestone":null,"number":743,"html_url":"https://github.com/openframeworks/openFrameworks/issues/743","assignee":null,"title":"seg fault on ofEnableAlphaBlending() -> glBlendEquation()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-13T22:53:55Z","state":"open","user":{"url":"https://api.github.com/users/jtnimoy","gravatar_id":"153ba4a8df491692b717daad7a6030be","login":"jtnimoy","avatar_url":"https://secure.gravatar.com/avatar/153ba4a8df491692b717daad7a6030be?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":183796},"id":1639020,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:00Z","body":"In ofxiPhoneAppDelegate.mm in the setAnimationFrameInterval method should be changed from\r\n\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n [self startAnimation];\r\n}\r\n\r\nto\r\n\r\nif (animating){\r\n [self stopAnimation];\r\n}\r\n [self startAnimation];\r\n\r\nThis will allow it start again if it's stopped.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/738","comments":0,"milestone":null,"number":738,"html_url":"https://github.com/openframeworks/openFrameworks/issues/738","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone - setting ofSetFrameRate(0) and then back to > 0 doesn't start again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-09-12T21:23:04Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1628082,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:55:09Z","body":"it would be awesome to have lines drawn nicer when they are 1 thick and 2 make sharp edges. processing has some functions strokeCap() and strokeJoin() for setting this behavior, but it doesn't work with OPENGL mode. we could probably adapt a geometry shader to do some smart mitering for us on the GPU.\r\n\r\nprompted by the discussion here: http://forum.openframeworks.cc/index.php/topic,7278.0/topicseen.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/730","comments":1,"milestone":null,"number":730,"html_url":"https://github.com/openframeworks/openFrameworks/issues/730","assignee":null,"title":"nicer stroke mitering/joining and end caps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-09-07T03:27:13Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1586262,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T15:39:58Z","body":"ofColor_:operator+= currently calls clamp() when it's done doing the +=\r\n\r\ni imagined one of the applications of ofFloatColor would be for averaging or summing ofColor, which normally requires non-saturation semantics for +=. i could also do a / or * every += operation to avoid overflow. this doesn't have to be a bug, but it should at least be documented clearly when we discuss ofColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/728","comments":1,"milestone":null,"number":728,"html_url":"https://github.com/openframeworks/openFrameworks/issues/728","assignee":null,"title":"ofColor and clamping","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-09-05T14:41:50Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1569364,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-05T10:17:48Z","body":"Hello\r\n\r\nI had a problem with gamma for my Carbon app in OSX 10.6, UI looked \"blotched\" with Pappis' help it was solved, here are details:\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,6404.msg30519.html#msg30519\r\n\r\nHowever, the trick with HIWindowSetColorSpace does not work in OSX 10.7 Lion\r\nLooking for solutions again\r\n\r\nThanks\r\nTom\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/727","comments":0,"milestone":null,"number":727,"html_url":"https://github.com/openframeworks/openFrameworks/issues/727","assignee":null,"title":"OSX 10.7 Gamma Problem","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-09-05T10:17:48Z","state":"open","user":{"url":"https://api.github.com/users/Tommato","gravatar_id":"95bbfbd39116dffe06be4d816f322bf0","login":"Tommato","avatar_url":"https://secure.gravatar.com/avatar/95bbfbd39116dffe06be4d816f322bf0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1027082},"id":1566286,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-26T18:44:30Z","body":"Related forum post: http://forum.openframeworks.cc/index.php/topic,7053.0.html\r\n\r\nFrom what I understand, it's best to leave the mainThread for UIKit elements and move openGL and other things to another thread. Currently, if there's a lot of drawing then the UIKit elements are delayed and can even pause the update/draw methods entirely. Moving the drawing to it's own thread should help with this.\r\n\r\nI'm still testing, but this looks like it could be a good candidate for core integration. It has examples of threaded, single (what we currently use), and GCD (which I think is iOS 4.0 only) openGL implementation: https://github.com/Volcore/LimbicGL In my early tests, it does fix any pausing of the update/draw with the threaded example (haven't tried the others). I could use some help though trying to integrate this into OF properly.\r\n\r\nThe main example classes are here: https://github.com/Volcore/LimbicGL/tree/master/limbicgl/drivers\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/721","comments":0,"milestone":null,"number":721,"html_url":"https://github.com/openframeworks/openFrameworks/issues/721","assignee":null,"title":"ofxiPhone - Move openGL to its own thread","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-26T18:43:09Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497330,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:39:39Z","body":"The libraries linked in 007 as well as the new AVFoundationVideoPlayer is not compatible with 3.x devices and won't build.\r\n\r\nAfter further exploring, I believe these are the steps to get things running on 3.x devices.\r\n\r\n1) In Xcode, Click on target -> application name\r\n2) In the File Name window, set AVFoundation, CoreMedia, and CoreVideo from role \"required\" to \"weak\". They need to be weak linked since they're only available in iOS 4+.\r\n3) In ofxiPhone src folder, AVFoundationVideoPlayer.mm uses CMBlockBufferRef and that is only available in iOS4. This means, this function should be commented out (sorry - avfoundationvideoplayer won't run on iOS4 unless the blocker is changed). Either that or you can comment ouf AVFoundationVideoPlayer from being included in OF.\r\n4) Clean all targets and rebuild","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/720","comments":0,"milestone":null,"number":720,"html_url":"https://github.com/openframeworks/openFrameworks/issues/720","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"007 ofxiPhone not compatible with 3.x devices ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-26T18:38:38Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1497291,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T17:38:49Z","body":"\r\nbased on this comment, \r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,5319.msg33381.html#msg33381\r\n\r\nI wonder if we can be smarter in endShape() / ofPath::tessellate() and look for simple usage (3 or 4 points, etc) before tessellating, or if the slow down is just based on the use of the ofPath object. \r\n\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/719","comments":1,"milestone":null,"number":719,"html_url":"https://github.com/openframeworks/openFrameworks/issues/719","assignee":null,"title":"optimize ofEndShape() to deal with simple shapes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-08-22T16:56:27Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":142897},"id":1459353,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T16:02:30Z","body":"change\r\n\r\nfloat ofCamera::getImagePlaneDistance(ofRectangle viewport) const {\r\n\treturn getPosition().length(); //viewport.height / (2.0f * tanf(PI * fov / 360.0f));\r\n}\r\n\r\nold in comment\r\n\r\ncurrent system is abitrary\r\nsuggest new system is more sensible\r\n(i'm always working in normalised coords)\r\npls check in your life before changing :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/717","comments":0,"milestone":null,"number":717,"html_url":"https://github.com/openframeworks/openFrameworks/issues/717","assignee":null,"title":"suggest new calc clip planes routine","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-22T16:02:30Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1458979,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-22T14:11:34Z","body":"http://forum.openframeworks.cc/index.php/topic,5222.msg33366.html#msg33366\r\n\r\nthere also seem to be a memory leak, when deleting a ofQuicktimeVideoPlayer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/716","comments":0,"milestone":null,"number":716,"html_url":"https://github.com/openframeworks/openFrameworks/issues/716","assignee":null,"title":"problems with stop/play in quicktime videoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-22T14:11:34Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":1458044,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-16T13:39:49Z","body":"Here\r\nhttps://github.com/openframeworks/openFrameworks/issues/653\r\nI downloaded latest version but in still crashes on my old video card Nvidia GeForce Go 7200.\r\nAny idea why?\r\nofxFBOTexture works, but i got some trobles in pixel format there. \r\nofxFBOTexture uses function with postfix EXT sometimes? ofFbo without it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/711","comments":5,"milestone":null,"number":711,"html_url":"https://github.com/openframeworks/openFrameworks/issues/711","assignee":null,"title":"Problem with ofFbo. Crashes on allocate.There were the same issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-08-16T10:21:29Z","state":"open","user":{"url":"https://api.github.com/users/IonRod","gravatar_id":"cf3cb346817dd8a9f8327d1af13c3d46","login":"IonRod","avatar_url":"https://secure.gravatar.com/avatar/cf3cb346817dd8a9f8327d1af13c3d46?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":886012},"id":1414013,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-15T14:23:47Z","body":"i'm noticing this on osx 10.6. all 8-bit images are correct, but somehow i didn't notice about unsigned short and float until now!\r\n\r\ni'm super busy atm, but i've kind of been maintaining the unsigned short/float loading so i'll look into this if someone else doesn't get to it first.\r\n\r\nmeanwhile it would be good to see if it's the same on windows or not. for anyone interested in testing, please check devApps/AdvancedImageLoading and compare the results of the app to the .exr opened in photoshop.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/710","comments":0,"milestone":null,"number":710,"html_url":"https://github.com/openframeworks/openFrameworks/issues/710","assignee":null,"title":"16-bit and 32-bit images are red/blue swapped","labels":[],"closed_at":null,"created_at":"2011-08-15T14:23:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1407813,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-07T12:19:07Z","body":"in the past there has been ofxQtVideoSaver and a few others. i think this is a really hard problem because it basically needs to be written for each platform, but something that should eventually be solved.\r\n\r\ntwo major use cases i know are:\r\n\r\n- capturing and saving simultaneously, for long streams\r\n- capturing a quick burst of video then saving it to disk\r\n\r\nwhich would might be handled a little differently.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/702","comments":1,"milestone":null,"number":702,"html_url":"https://github.com/openframeworks/openFrameworks/issues/702","assignee":null,"title":"cross platform video saving (ofVideoSaver?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-07T03:23:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1359729,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-06T20:20:03Z","body":"Hi!\r\n\r\nI have problems even getting the ofxOsc Send/Receive examples talking on Ubuntu 11.04 64bit. \r\nThey compile without problems, but sometimes when I run them, communication fails somewhere along the road - input events are not shown in the receiver app. Sometimes it does not work at all.\r\n\r\nThis works all flawlessly on 32bit Ubuntu 11.04. See http://forum.openframeworks.cc/index.php/topic,6918.0.html for more details.\r\n\r\nCan anyone reproduce these problems? Any tips? How could I debug this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/701","comments":3,"milestone":null,"number":701,"html_url":"https://github.com/openframeworks/openFrameworks/issues/701","assignee":null,"title":"ofxOsc does not seem to work on 64bit Ubuntu","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2011-08-06T19:14:37Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":1358688,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-08-05T03:06:25Z","body":"very simple but helpful feature request. e.g.,\r\n\r\nofBuffer::operator=(const ofBuffer& mom) {\r\n set(mom.getBinaryBuffer(), mom.size());\r\n}\r\n\r\nthis goes along with the general \"what does the equal operator mean\" debate/discussion :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/700","comments":0,"milestone":null,"number":700,"html_url":"https://github.com/openframeworks/openFrameworks/issues/700","assignee":null,"title":"ofBuffer with overloaded = operator","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-08-05T03:06:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1349012,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:28Z","body":"this seems like an api inconsistency to me: i feel like ofTexture::loadData() is similar to ofImage::setFromPixels(), but setFromPixels() will allocate space if necessary while loadData() just prints an error if the data is larger than the allocated space.\r\n\r\ni think auto-allocation would be nice, but i might just be misunderstanding/making a false comparison here.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/699","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":699,"html_url":"https://github.com/openframeworks/openFrameworks/issues/699","assignee":null,"title":"loadData() does not allocate as necessary","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-04T10:29:57Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":1343463,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:12:03Z","body":"from: http://forum.openframeworks.cc/index.php/topic,6952.msg32509.html\r\n\r\n\r\n\r\ngetBmpFromPixels() crashed repeatedly when I tried to rescale grayscale Images of size 3026*2048.\r\n\r\nIt's because memcpy overshoots the src pixel array because dstStride can be larger than srcStride.\r\n\r\nIn ofImage.cpp \r\n\r\ngetBmpFromPixels()\r\n\r\naround line 119, I believe, it should read:\r\n\r\nCode:\r\nview plaincopy to clipboardprint?\r\n... \r\n int srcStride = width * pix.getBytesPerPixel(); \r\n int dstStride = FreeImage_GetPitch(bmp); \r\n unsigned char* src = (unsigned char*) pixels; \r\n unsigned char* dst = bmpBits; \r\n for(int i = 0; i < (int)height; i++) { \r\n // memcpy(dst, src, dstStride); \r\n memcpy(dst, src, srcStride); // did overshoot with e.g. grayscale img of size 3026*2048 \r\n src += srcStride; \r\n dst += dstStride; \r\n } \r\n... \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/698","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":698,"html_url":"https://github.com/openframeworks/openFrameworks/issues/698","assignee":null,"title":"getBmpFromPixels memcpy issue / ofImage::resize issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-08-03T18:15:55Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1339116,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:34:07Z","body":"I'm trying to build ofxPd in Visual Studio and running into multiple define issues related to the videoinput lib, namely static `verbose`: https://github.com/openframeworks/openFrameworks/blob/master/libs/videoInput/include/videoInput.h#L115\r\n\r\nCouldn't this variable as well as `comInitCount` be moved to the implementation files? or at least in a header hidden from the global namespace? At the least, `verbose` could be renamed to something not so common ...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/697","comments":1,"milestone":null,"number":697,"html_url":"https://github.com/openframeworks/openFrameworks/issues/697","assignee":null,"title":"videoinput lib global statics","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-08-03T02:27:52Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":480637},"id":1334657,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T00:53:30Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/685","comments":3,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":685,"html_url":"https://github.com/openframeworks/openFrameworks/issues/685","assignee":null,"title":"update shader example to work on ati.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-28T15:57:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1303812,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:40:42Z","body":"It is very annoying if you can not disable autocorrections in ofxiPhoneKeyboard. Specially for creative uses of this class. I add code how to add this feature.\r\n\r\n[CODE] Add to ofxiPhoneKeyboard class:\r\n\r\n- (void)disableAutoCorrection;\r\n- (void)enableAutoCorrection;\r\n\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::disableAutoCorrection()\r\n{\r\n [keyboard disableAutoCorrection];\r\n}\r\n//--------------------------------------------------------------\r\nvoid ofxiPhoneKeyboard::enableAutoCorrection()\r\n{\r\n [keyboard enableAutoCorrection];\r\n}\r\n\r\n- (void)disableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeNo;\r\n}\r\n\r\n- (void)enableAutoCorrection\r\n{\r\n _textField.autocorrectionType = UITextAutocorrectionTypeYes;\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/684","comments":0,"milestone":null,"number":684,"html_url":"https://github.com/openframeworks/openFrameworks/issues/684","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhoneKeyboard should have disable/enable methods for auto correction","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-07-28T12:12:52Z","state":"open","user":{"url":"https://api.github.com/users/mcanet","gravatar_id":"e4d2b0151a843dde7b815b848170d6e9","login":"mcanet","avatar_url":"https://secure.gravatar.com/avatar/e4d2b0151a843dde7b815b848170d6e9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":308759},"id":1302375,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-24T18:26:54Z","body":"I think there's a bug in ofQuaternion in of007. When i use ofNode's setOrientation() or ofNode setRoll I can rotate my ofNode object around the Z axis. However when I try to obtain the current rotation around the Z axis it will always give a value like -180, 0 or 180.\r\n\r\nRick","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/679","comments":0,"milestone":null,"number":679,"html_url":"https://github.com/openframeworks/openFrameworks/issues/679","assignee":null,"title":"possible bug in getEuler / getOrientation / getRoll","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-24T18:26:54Z","state":"open","user":{"url":"https://api.github.com/users/companje","gravatar_id":"30a7e135fe77636519d74d129c60e156","login":"companje","avatar_url":"https://secure.gravatar.com/avatar/30a7e135fe77636519d74d129c60e156?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":156066},"id":1278252,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T22:13:24Z","body":"I know that with the 007 release ofxDirList addon is deprecated and instead we are encouraged to use ofDirectory to achiece the same kind of functionality. In fact the are so similar that is possible to use them interchangeably. To do that transparently you changed the ofxDirList.h so that it made a typedef to point to ofDirectory (and will probably remove it completely someday).\r\n\r\nThe contents of ofxDirList.h are the following:\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n#pragma once\r\n\r\n#include \"ofFileUtils.h\"\r\n\r\n#warning ofxDirList has been deprecated. \r\n#warning Remove all references to ofxDirList.h and use ofDirectory instead.\r\ntypedef ofDirectory ofxDirList;\r\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\nSo far so good. The problem is that you use the #warning preprocessing directive is non-standard and unsupported on Visual C++ compiler. In fact it gives me an error while building a project that I ported from 0062 version that used ofxDirList. To make it work I had to comment the two #warning lines. \r\n\r\nI suggest that you remove the #warning directives and replace it with something else that works across all compilers. I know that the #warning directive works on GCC and MinGW but not on VC++ so if you are going to support all those compilers (like you do) you better have all of your code working across all of them.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/676","comments":2,"milestone":null,"number":676,"html_url":"https://github.com/openframeworks/openFrameworks/issues/676","assignee":null,"title":"ofxDirList deprecated #warning directive preprocessor Visual Studio 2010","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-23T01:19:54Z","state":"open","user":{"url":"https://api.github.com/users/petersaints","gravatar_id":"03848790c2ebb8e5edbe130e8ce76f1d","login":"petersaints","avatar_url":"https://secure.gravatar.com/avatar/03848790c2ebb8e5edbe130e8ce76f1d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157810},"id":1273716,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T11:29:24Z","body":"changed this in dirListExample\r\n\r\n ofFile testfile;\r\n\t// you can now iterate through the files and load them into the ofImage vector\r\n\tfor(int i = 0; i < (int)dir.size(); i++){\r\n\t\timages[i].loadImage(dir.getPath(i));\r\n\t\ttestfile.open(dir.getPath(i));\r\n\t\tcout << testfile.isFile() << endl; //THIS LINE SEGFAULTS ON WIN7\r\n testfile.close();\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/671","comments":0,"milestone":null,"number":671,"html_url":"https://github.com/openframeworks/openFrameworks/issues/671","assignee":null,"title":"isFile() segfaults on win7","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T11:27:16Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1262459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-21T10:39:29Z","body":"just added output to all events in an emptyExample on windows7 64bit.\r\n\r\nif im clicking, the following output occurs even if the mouse is not moved\r\n\r\n mousePressed\r\n mouseReleased\r\n mouseMoved","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/670","comments":2,"milestone":null,"number":670,"html_url":"https://github.com/openframeworks/openFrameworks/issues/670","assignee":null,"title":"mouseReleased fires mouseMoved too (win7)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-21T09:34:52Z","state":"open","user":{"url":"https://api.github.com/users/benben","gravatar_id":"614a4e493d7c353296519bba720e77c5","login":"benben","avatar_url":"https://secure.gravatar.com/avatar/614a4e493d7c353296519bba720e77c5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":124513},"id":1261982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=9 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4935'), ('content-length', '45016'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"c403779e3346f56dddb655b8bb57d5ae"'), ('date', 'Tue, 29 May 2012 19:27:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-09T06:11:12Z","body":"I'm curious why the movieplayer uses AvAsset instead of AvPlayer which seems better suited for OF needs ( seeking / looping etc ) \r\n\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html\r\n\r\nhttp://stackoverflow.com/questions/5361145/looping-a-video-with-avfoundation-avplayer\r\n\r\n\r\nI think you can get init a player with an AVAsset:\r\nhttp://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html%23//apple_ref/occ/instm/AVPlayer/initWithPlayerItem:\r\nhttp://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayerItem_Class/Reference/Reference.html#//apple_ref/occ/instm/AVPlayerItem/initWithAsset:\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/666","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":666,"html_url":"https://github.com/openframeworks/openFrameworks/issues/666","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"iphone video player should use AVPlayer ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-07-20T20:01:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":1258863,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-01-08T04:45:01Z","body":"In some cases, when modifier keys are used, the pressedKeys set will accumulate keys.\r\n\r\nThis happens because \"modifier-up\" messages are not sent in the same way as normal and special keys.\r\n\r\nTo test, watch the size of the pressedKeys:\r\n\r\n cout << pressedKeys.size() << \" num pressed keys \" << endl;\r\n\r\nPress a modifier key and a normal key -- say ctrl-a. If the 'a' is lifted first, then the modified-a key int is removed from the pressedKeys set. If CTRL is released before the 'a', then the non-modified-a key-up int is sent, and it is not erased from the pressedKeys set. If this is repeated with different modifier+key downs / ups the accumulation occurs.\r\n\r\nUltimately, there needs to be better handling of modifier keys. Perhaps there is a way to use the modifier masks keep track of modifier keys with a call to glutGetModifiers() in the keyboard_cb and keyboard_up_cb static methods?\r\n\r\nIt looks like progress has been made toward this in ofConstants.h\r\n\r\n\t#define OF_KEY_CTRL\t\t\t0x0200\r\n\t#define OF_KEY_ALT\t\t\t0x0300\r\n\t#define OF_KEY_SHIFT\t\t0x0400\r\n\r\nBut it seems to have stopped there.\r\n\r\nI'm happy to work on this -- any suggestions on a strategy? Perhaps this is already being addressed of 007?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/652","comments":5,"milestone":null,"number":652,"html_url":"https://github.com/openframeworks/openFrameworks/issues/652","assignee":null,"title":"ofAppGlutWindow/ofEvents: pressedKeys accumulate in special cases","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-15T18:49:46Z","state":"open","user":{"url":"https://api.github.com/users/bakercp","gravatar_id":"8f6ac7bc0f5c26b87269d442d5339206","login":"bakercp","avatar_url":"https://secure.gravatar.com/avatar/8f6ac7bc0f5c26b87269d442d5339206?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":300484},"id":1231959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-20T19:04:31Z","body":"If you use those these two together the 3d objects get an unwanted offset\r\n\r\ncode:\r\n\r\n```c++\r\nvoid testApp::draw()\r\n{\r\n \r\n cam.begin();\r\n ofPushMatrix();\r\n ofSetColor(255,255,255);\r\n ofBox(200);\r\n ofPopMatrix();\r\n cam.end();\r\n \r\n \r\n fbo.begin();\r\n cam.begin();\r\n \r\n ofClear(0);\r\n ofPushMatrix();\r\n ofSetColor(0,0,0);\r\n ofBox(200);\r\n ofPopMatrix();\r\n \r\n cam.end();\r\n fbo.end();\r\n \r\n \r\n glPushMatrix();\r\n //ofTranslate(0,6,0); <--- now i'm using something like this to \"repair\" it\r\n ofSetColor(255,255,255,255);\r\n glScalef(1,-1,1);\r\n fbo.draw(0,- ofGetHeight());\r\n glPopMatrix();\r\n \r\n \r\n \r\n}\r\n```\r\n\r\nNormally the two boxes should overlap completely, instead it looks like this:\r\n\r\n![screen1](http://i51.tinypic.com/11cfi1l.png)\r\n![screen2](http://i55.tinypic.com/2ewnv5i.png)\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/651","comments":4,"milestone":null,"number":651,"html_url":"https://github.com/openframeworks/openFrameworks/issues/651","assignee":null,"title":"ofFBO + ofCamera = unwanted offset","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-07-15T13:21:44Z","state":"open","user":{"url":"https://api.github.com/users/toxin20","gravatar_id":"29a3b85e704ec06a72df8897a726920e","login":"toxin20","avatar_url":"https://secure.gravatar.com/avatar/29a3b85e704ec06a72df8897a726920e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":123776},"id":1230184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-19T00:31:38Z","body":"\r\nA tiny issue I spotted:\r\n\r\nofQuaternion.cpp, line 14:\r\n\r\n```C++\r\n/// Set the elements of the Quat to represent a rotation of angle\r\n/// (radians) around the axis (x,y,z)\r\nvoid ofQuaternion::makeRotate( float angle, float x, float y, float z ) {\r\n\tangle = ofDegToRad(angle);\r\n```\r\n\r\nof**X**Quaternion::makeRotate used to take radians, only noticed as I was moving some old code over, otherwise I would have just looked at the code in ofQuaternion.cpp to see the angle type. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/646","comments":1,"milestone":null,"number":646,"html_url":"https://github.com/openframeworks/openFrameworks/issues/646","assignee":null,"title":"ofQuaternion::makeRotate takes degrees, used to take radians, documentation says radians","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-07-13T15:18:04Z","state":"open","user":{"url":"https://api.github.com/users/andreasmuller","gravatar_id":"210831a04d36f1aa26413ecbdbd4b07c","login":"andreasmuller","avatar_url":"https://secure.gravatar.com/avatar/210831a04d36f1aa26413ecbdbd4b07c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":791114},"id":1216274,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T16:05:23Z","body":"^^^^\r\nTried on Mac:\r\nhttps://gist.github.com/1078282","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/645","comments":0,"milestone":null,"number":645,"html_url":"https://github.com/openframeworks/openFrameworks/issues/645","assignee":null,"title":"ofVideoGrabber::listDevices() does not list devices when initGrabber not called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T16:05:23Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1209436,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-16T04:21:18Z","body":"https://gist.github.com/1077933\r\n\r\nsaving images converted to 8PP using ofImage::setImageType(OF_IMAGE_GRAYSCALE) and then calling saveImage() save blank on windows, but works on OS X\r\n\r\ntraced the issue down to the call to FreeImage_Save(), both seem to be the same. not sure what the problem is\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/643","comments":1,"milestone":null,"number":643,"html_url":"https://github.com/openframeworks/openFrameworks/issues/643","assignee":null,"title":"8 BPP (grayscale) ofImage saves blank on Windows, fine on os x","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-07-12T13:05:25Z","state":"open","user":{"url":"https://api.github.com/users/obviousjim","gravatar_id":"3bcf955bca297a223e9daa1f997bfad5","login":"obviousjim","avatar_url":"https://secure.gravatar.com/avatar/3bcf955bca297a223e9daa1f997bfad5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":321434},"id":1208289,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:09Z","body":"Forum issue: http://forum.openframeworks.cc/index.php/topic,6316.new.html#new\r\n\r\nThis may be related to using CADisplayLink. When openGL seems to be pushed a bit, touch events seem to drop or are delayed. When using NSTimer in ofxiPhoneAppDelegate instead of CADisplayLink this does not occur.\r\n\r\nIt may be beneficial for developers to set whether they'd like to use CADisplayLink (if available) vs NSTimer for rendering or not.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/642","comments":0,"milestone":null,"number":642,"html_url":"https://github.com/openframeworks/openFrameworks/issues/642","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofxiPhone: Possible delayed input/touch event issue ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-12T02:46:23Z","state":"open","user":{"url":"https://api.github.com/users/cerupcat","gravatar_id":"91b3d4bfbbb99d840b096cde3af877bf","login":"cerupcat","avatar_url":"https://secure.gravatar.com/avatar/91b3d4bfbbb99d840b096cde3af877bf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":204151},"id":1205789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-12T13:03:00Z","body":"See title and test code:\r\nhttps://gist.github.com/952bd35591dc0cb23f61","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/631","comments":1,"milestone":null,"number":631,"html_url":"https://github.com/openframeworks/openFrameworks/issues/631","assignee":null,"title":"ofImage::saveImage() - saving from png to gif creates grayscale image","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-07T21:37:47Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1185346,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Tried to load a text file over https but I got this message:\r\n\r\n``400 The plain HTTP request was sent to HTTPS port\r\n

400 Bad Request

The plain HTTP request was sent to HTTPS port

nginx/1.0.4
``\r\n\r\n\r\n\r\nUsing this code\r\n``ofHttpResponse resp = ofLoadURL(\"https://raw.github.com/openframeworks/openFrameworks/6af1dc980f6d93d84b3bf8fdc1b6435697be9ed9/readme.txt\");``\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/623","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":623,"html_url":"https://github.com/openframeworks/openFrameworks/issues/623","assignee":null,"title":"ofLoadURL() does not work with httpS","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-06T18:12:06Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1175654,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-07-06T18:09:03Z","body":"Setting the position of an ofEasyCam instance in ofSetup() does not work. What does work in testApp::setup() is calling ofEasyCam::setDistance(). When calling ofEasyCam::setPosition() in for example testApp::draw() does work.\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/618","comments":0,"milestone":null,"number":618,"html_url":"https://github.com/openframeworks/openFrameworks/issues/618","assignee":null,"title":"call ofEasyCam::setPosition in testApp::setup() is forgotten","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-07-05T18:23:34Z","state":"open","user":{"url":"https://api.github.com/users/roxlu","gravatar_id":"a3e45d93c2d24b6ae8bbef0453065e45","login":"roxlu","avatar_url":"https://secure.gravatar.com/avatar/a3e45d93c2d24b6ae8bbef0453065e45?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":358809},"id":1169032,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-27T18:30:26Z","body":"Currently there doesn't appear to be any way to do this other than by hand\r\nAlso it would be highly useful ofMatrix3x3 in general had equivalent accessors to ofMatrix4x4","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/612","comments":0,"milestone":null,"number":612,"html_url":"https://github.com/openframeworks/openFrameworks/issues/612","assignee":null,"title":"need conversion ofMatrix3x3<->ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-06-27T18:30:26Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1124068,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-10-04T10:10:06Z","body":"Need some way of applying current ofMatrix4x4 to the scene without going down to gl calls","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/605","comments":4,"milestone":null,"number":605,"html_url":"https://github.com/openframeworks/openFrameworks/issues/605","assignee":null,"title":"function wrapping glMultMatrixf in ofMatrix4x4","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-16T13:13:35Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328294},"id":1067300,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:42:59Z","body":"Here's a function that will do it...\r\n\r\nvoid ofxiPhoneLaunchBrowser(string url) {\r\n\t[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ofxStringToNSString(url)]];\r\n}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/603","comments":0,"milestone":null,"number":603,"html_url":"https://github.com/openframeworks/openFrameworks/issues/603","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"ofLaunchBrowser() for iPhone not implemented","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-06-13T13:03:15Z","state":"open","user":{"url":"https://api.github.com/users/mazbox","gravatar_id":"3cfb19dbce7926933555ac9755a86ca8","login":"mazbox","avatar_url":"https://secure.gravatar.com/avatar/3cfb19dbce7926933555ac9755a86ca8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":194121},"id":1048971,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:38:43Z","body":"OF: OF_LOG_ERROR: ofxNetwork:/addons/ofxNetwork/src/ofxTCPManager.cpp: 157 ECONNREFUSED: the server has actively refused to establish the connection\r\n\r\nThis error happens in every use of ofxTCPClient.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/599","comments":1,"milestone":null,"number":599,"html_url":"https://github.com/openframeworks/openFrameworks/issues/599","assignee":null,"title":"TCPManager Consistent Error","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-08T23:02:28Z","state":"open","user":{"url":"https://api.github.com/users/tomorrowevening","gravatar_id":"f92a8e912b59171abde0354e2f212c12","login":"tomorrowevening","avatar_url":"https://secure.gravatar.com/avatar/f92a8e912b59171abde0354e2f212c12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":626143},"id":1027184,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-01T13:56:17Z","body":"http://forum.openframeworks.cc/index.php/topic,6370.0.html\r\n\r\nwhen they are not power of 2 perhaps?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/591","comments":0,"milestone":null,"number":591,"html_url":"https://github.com/openframeworks/openFrameworks/issues/591","assignee":null,"title":"problem with ofImage resize","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-06-01T13:56:17Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":984564,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T12:33:31Z","body":"### ofxNetworkUtils.h - issue 1\n\nThe default message should print out `err` instead of `errno`\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(errno) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nto:\n\n```\n\tdefault:\n\t\tofLog(OF_LOG_ERROR,\"ofxNetwork:\"+file+\": \" +line+\" unknown error: \" + ofToString(err) + \" see errno.h for description of the error\");\n\t\tbreak;\n```\n\nSince errno would not be set on windows machines.\n\n\n\n\n### ofxTCPManager.cpp - issue 2\n\nIn the `Receive` method of the `ofxTCPManager` the function will always return -1 when checking for data and there is no new data and the TCPServer has been set to non-blocking.\n\nAfter changing the code in issue 1 mentioned above i got:\n\n`ofxNetwork:addons\\ofxNetwork\\src\\ofxTCPManager.cpp: 304 unknown error: 10035 see errno.h for description of the error`\n\ninstead of `error: 0` when `errno`was used.\n\nWhich on windows is the [`WSAEWOULDBLOCK`](http://msdn.microsoft.com/en-us/library/ms740668.aspx) or `EWOULDBLOCK` as defined in `ofxNetworkUtils`\n\nSo someplace in the code there should be a mechanism to check if the code is client is non-blocking and ignore the error.\nThis is `windows` only but still could be as an additional parameter to the `Receive` method. Or add it as an `switch case` for the `EWOULDBLOCK` in the `ofxNetworkUtils` and ignore the ouput and comment it.\n\nI just noticed this above when i started usin an application that i was developing on my mac an using it on windows machines this code would appear too often.\n\nSo as stated above my solution is that i added:\n\n```\n #ifdef TARGET_WIN32 // otherwise EAGAIN & EWOULDBLOCK will create a \"duplicate case value\" on Non windows\n\tcase EWOULDBLOCK: \n\t\t// \tofLog(OF_LOG_VERBOSE,\"ofxNetwork:\"+file+\": \" +line+\" EWOULDBLOCK: perhaps non-blocking\");\n\t\tbreak;\n #endif\n```\ncode and ignoring the output.\n\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/590","comments":0,"milestone":null,"number":590,"html_url":"https://github.com/openframeworks/openFrameworks/issues/590","assignee":null,"title":"ofxTCPManager.receive() - EWOULDBLOCK on Windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-05-31T11:31:08Z","state":"open","user":{"url":"https://api.github.com/users/cristobal","gravatar_id":"c7f941e0c10696b758ae8792714a6744","login":"cristobal","avatar_url":"https://secure.gravatar.com/avatar/c7f941e0c10696b758ae8792714a6744?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":155505},"id":978212,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-05-31T02:06:22Z","body":"setFromPixels has two forms: one that takes an int channels, another that takes ofImageType.\r\n\r\nsetFromExternalPixels only has one form: it takes an int channels.\r\n\r\nin my opinion, it makes sense to change them both to ofImageType only, because the int channels is susceptible to accidentally passing an ofImageType to it.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/589","comments":0,"milestone":null,"number":589,"html_url":"https://github.com/openframeworks/openFrameworks/issues/589","assignee":null,"title":"setFromPixels vs setFromExternalPixels","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-31T02:06:22Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":976610,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T21:54:02Z","body":"ofImage_ should be ofBaseImage, likewise with ofPixels_\n\nin general, X_ style classes should be BaseX\n\ntemplated functions that are just sitting around should also have descriptive template names.\n\nit's important for this to happen before 007, otherwise code will be written against ofImage\\_<T> etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/582","comments":5,"milestone":null,"number":582,"html_url":"https://github.com/openframeworks/openFrameworks/issues/582","assignee":null,"title":"templated code needs to be more readable","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-05-23T17:46:28Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":942647,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-31T13:42:28Z","body":"just need to add the line\r\n\r\n\t\t\tcase 230400: cfsetispeed(&options,B230400);\r\n\t\t\t\tcfsetospeed(&options,B230400);\r\n\t\t\t\tbreak;\r\n\r\nin the setup function after\r\ncase 115200: cfsetispeed(&options,B115200);\r\n\t\t\t\t\t\tcfsetospeed(&options,B115200);\r\n\t\t\t\tbreak;\r\n\r\ntested with our device that runs at that baud rate, seems to work a-OK so far.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/577","comments":2,"milestone":null,"number":577,"html_url":"https://github.com/openframeworks/openFrameworks/issues/577","assignee":null,"title":"ofSerial: add 230400 speed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-20T16:16:52Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":932655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T19:59:00Z","body":"This is a generic Linux build of oF for ARM Cortex A8/9 devices (Beagleboard, Pandaboard, Gumstix, Tegra 250, IGEPv2, ...) with built-in NEON optimizations in the included libs and makefiles (via gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/576","comments":17,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","closed_issues":0,"number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":576,"html_url":"https://github.com/openframeworks/openFrameworks/issues/576","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"Generic armv7l Linux build for Beagleboard &co. ","labels":[],"closed_at":null,"created_at":"2011-05-19T14:49:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":927378,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/576.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/576","patch_url":"https://github.com/openframeworks/openFrameworks/pull/576.patch"}},{"updated_at":"2011-05-13T15:28:46Z","body":"http://forum.openframeworks.cc/index.php?topic=6201.0","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/572","comments":0,"milestone":null,"number":572,"html_url":"https://github.com/openframeworks/openFrameworks/issues/572","assignee":null,"title":"ofToggleFullscreen doesn't set width and height correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2011-05-13T15:28:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":895515,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-02T15:47:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/569","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":569,"html_url":"https://github.com/openframeworks/openFrameworks/issues/569","assignee":null,"title":"saving an image with the image quality flag set to high or best causes empty jpegs. ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-05-11T13:53:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883385,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T03:48:47Z","body":"Currently using an FBO with an ofCamera is really tricky, as both setup their own viewing matrix and viewport. \r\n\r\nDoes it make sense to have ofFbo use an ofCamera internally?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/568","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":568,"html_url":"https://github.com/openframeworks/openFrameworks/issues/568","assignee":null,"title":"ofFbo and ofCamera do not play well together.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-05-11T13:52:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":883380,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T18:31:30Z","body":"Greetings,\r\n\r\nI have downloaded the latest master of Openframeworks b4397c1 and I have tried to compile the AllAddons example (just to check if everything was well installed).\r\n\r\nThe ofxSynth library just won't compile (using either GCC or LLVM, Xcode 3 or Xcode4), be it in the allAddons or in it's own examples, here is the error log :\r\n\r\nUndefined symbols for architecture i386:\r\n \"typeinfo for ofxSoundEffect\", referenced from:\r\n typeinfo for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"non-virtual thunk to ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::ofxSoundSink()in ofxSynth.o\r\n \"vtable for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"vtable for ofxSoundSink\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n \"virtual thunk to ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"typeinfo for ofxSoundSink\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::setSampleRate(int)\", referenced from:\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::getInputs()\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::addInputFrom(ofxSoundSource*)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"VTT for ofxSoundEffect\", referenced from:\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n ofxSoundEffect::~ofxSoundEffect()in ofxSynthDelayLine.o\r\n \"ofxSoundEffect::setSampleRate(int)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundSink::audioIn(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundSink-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundEffect::audioOut(float*, int, int, unsigned long long)\", referenced from:\r\n vtable for ofxSynthFilterin ofxSynthFilter.o\r\n construction vtable for ofxSoundEffect-in-ofxSynthFilterin ofxSynthFilter.o\r\n \"ofxSoundBuffer::~ofxSoundBuffer()\", referenced from:\r\n ofxSoundSink::~ofxSoundSink()in main.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\n ofxSoundSink::~ofxSoundSink()in ofxSynthDelayLine.o\r\nld: symbol(s) not found for architecture i386\r\ncollect2: ld returned 1 exit status\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/566","comments":3,"milestone":null,"number":566,"html_url":"https://github.com/openframeworks/openFrameworks/issues/566","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofxSynth won't compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-05-07T12:25:01Z","state":"open","user":{"url":"https://api.github.com/users/benoitespinola","gravatar_id":"d08687285addcdde144d4eceb4cfa78e","login":"benoitespinola","avatar_url":"https://secure.gravatar.com/avatar/d08687285addcdde144d4eceb4cfa78e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":720460},"id":862321,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-10T04:48:58Z","body":"I'm fixing it using \r\n_textField.transform = CGAffineTransformMakeRotation(M_PI*1.5f);\r\nin - (void) setFrame: (CGRect) rect\r\nto fix it now.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/565","comments":1,"milestone":null,"number":565,"html_url":"https://github.com/openframeworks/openFrameworks/issues/565","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":331382},"title":"Textfield in ofxiPhoneKeyboard upside down in landscape","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-05-05T14:20:42Z","state":"open","user":{"url":"https://api.github.com/users/labatrockwell","gravatar_id":"e6d243a56cd069a225f56f4a388e8838","login":"labatrockwell","avatar_url":"https://secure.gravatar.com/avatar/e6d243a56cd069a225f56f4a388e8838?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":313943},"id":853551,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=10 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4934'), ('content-length', '43807'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"78e9c565cba926f6a72fa2b7dd021b78"'), ('date', 'Tue, 29 May 2012 19:27:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-03T21:20:01Z","body":"Does anybody know the status of this?\r\nI would like to help but I'm not sure where to start. Is the `iphone-dev-0061` the branch to work on this?\r\nI just want to know what's been done or whether there are plans in the works.\r\n\r\nI have posted this in the forum but have not received any response.\r\nhttp://forum.openframeworks.cc/index.php/topic,4089.msg29156.html#msg29156","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/564","comments":1,"milestone":null,"number":564,"html_url":"https://github.com/openframeworks/openFrameworks/issues/564","assignee":null,"title":"ofxShader for iOS","labels":[],"closed_at":null,"created_at":"2011-05-04T18:35:58Z","state":"open","user":{"url":"https://api.github.com/users/chrisirhc","gravatar_id":"22d0038769b1786fcdc0983bdb2e4033","login":"chrisirhc","avatar_url":"https://secure.gravatar.com/avatar/22d0038769b1786fcdc0983bdb2e4033?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":132584},"id":850096,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-12T08:58:12Z","body":"it's compiling now but doesn't work in openGL ES.\r\n\r\nalso take a look at setupShadow generating depthBuffer as texture, when it's released as a renderbuffer","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/560","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":560,"html_url":"https://github.com/openframeworks/openFrameworks/issues/560","assignee":null,"title":"fix ofFbo for openGL ES","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2011-04-30T17:21:39Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":833772,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-26T00:37:56Z","body":"nothing fancy, but I have an implementation of ofxCvHaarFinder that draws, and it's useful for debugging. something like:\n\n``` c++\n void ofxCvHaarFinder::draw( float x, float y ) {\n\t\t// ofPushStyle(); ?\n\t\tofEnableAlphaBlending();\n\t\tofSetColor( 255,0,200,100 );\n\t\tglPushMatrix();\n\t\t\n\t\tglTranslatef( x, y, 0.0 );\n\t\t\n\t\tofNoFill();\n\t\tfor( int i=0; i007 than <007. this can be changed in the ofStyle() constructor.\r\n\r\nalso, @elliotwoods it would be great to have a comment next to each of the constants in enum ofDrawBitmapMode explaining what they do.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/520","comments":1,"milestone":null,"number":520,"html_url":"https://github.com/openframeworks/openFrameworks/issues/520","assignee":null,"title":"ofDrawBitmapString default behavior has changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-04-01T06:37:16Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":723496,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-31T17:49:33Z","body":"it's obvious if you've used opengl directly before, but i would expect something more like:\r\n\r\n\tvoid ofSetTextureInterpolation(ofInterpolationType downscale, ofInterpolationType upscale)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/519","comments":0,"milestone":null,"number":519,"html_url":"https://github.com/openframeworks/openFrameworks/issues/519","assignee":null,"title":"ofSetMinMagFilters() is confusingly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-31T17:49:33Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":721833,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-17T00:51:48Z","body":"movieGrabberExample => videoGrabberExample\r\nmoviePlayerExample => videoPlayerExample\r\n\r\nthere are probably other examples of this, but this one strikes me as particularly odd. there's probably some historical reason... :)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/510","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":510,"html_url":"https://github.com/openframeworks/openFrameworks/issues/510","assignee":null,"title":"movieGrabber/PlayerExamples are poorly named","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-03-22T06:47:02Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":693126,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-21T01:01:25Z","body":"i accidentally initialized my ofFbo with setupShadow() instead of setup(), and when i said draw() it caused EXC_BAD_ACCESS. draw() calls getTexture(), so maybe the best way to handle this is to put a check inside getTexture() like this:\r\n\r\n\tif(textures.size() == 0) {\r\n\t\tofLog(OF_LOG_ERROR, \"You must call ofFbo::setup() before you can use an FBO\");\r\n\t}\r\n\treturn textures[attachmentPoint];","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/507","comments":0,"milestone":null,"number":507,"html_url":"https://github.com/openframeworks/openFrameworks/issues/507","assignee":null,"title":"ofFbo::draw() causes EXC_BAD_ACCESS when setup() isn't called","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-03-21T01:01:25Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":689769,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-20T17:35:05Z","body":"i know the reason for this is because the mappings are OS and mouse dependent, and that it's GLUT slowing us down here, but i think we could at least add a guess like OF_MOUSE_LEFT = 0, OF_MOUSE_MIDDLE= 1, OF_MOUSE_RIGHT = 2, etc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/503","comments":0,"milestone":null,"number":503,"html_url":"https://github.com/openframeworks/openFrameworks/issues/503","assignee":null,"title":"no OF_MOUSE_LEFT or OF_MOUSE_RIGHT","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-20T17:35:05Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":688955,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:48:41Z","body":"you need to use bUse3D flag but even then graphics aren't saved to pdf as they look on screen. \r\ntry the OF_ORIENTATION_90_LEFT or 90_RIGHT to reproduce. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/502","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":502,"html_url":"https://github.com/openframeworks/openFrameworks/issues/502","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofSetOrientation doesn't work for cairo","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-03-18T09:17:36Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":684091,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-18T03:56:02Z","body":"it looks like ofGLRenderer::drawString is currently overriding whatever the current blend mode is:\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\nand then setting it back later.\n\ni'm guessing this is so the empty/alpha part of the bitmap font is drawn.\n\ninstead of using glBlendFunc i would suggest glAlphaFunc... but it looks like as of OpenGL ES 2.0 glAlphaFunc doesn't exist anymore :(\n\nnot sure what to do, but it's really weird to have ofSetColor(255) work, but not ofSetColor(255, 254). e.g.:\n\n\tofBackground(128);\n\tofEnableAlphaBlending();\n\tofSetColor(255, 254);\n\tofDrawBitmapString(\"255, 254\", 10, 20);\n\tofSetColor(255, 255);\n\tofDrawBitmapString(\"255, 255\", 10, 40);\n\tofDisableAlphaBlending();","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/501","comments":0,"milestone":null,"number":501,"html_url":"https://github.com/openframeworks/openFrameworks/issues/501","assignee":null,"title":"ofDrawBitmapString / ofGLRenderer::drawString doesn't work with alpha","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-03-18T03:54:34Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":683732,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-03T10:41:35Z","body":"right now ofImage::getPixelsRef() is always non-const, as well as ofImage::getPixels()","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/500","comments":4,"milestone":null,"number":500,"html_url":"https://github.com/openframeworks/openFrameworks/issues/500","assignee":null,"title":"missing const version of getPixelsRef()","labels":[],"closed_at":null,"created_at":"2011-03-14T19:14:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":672608,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=11 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4933'), ('content-length', '40272'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"b87c61471553096d60e5ff8b292ff704"'), ('date', 'Tue, 29 May 2012 19:27:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"osx movieplayer problem on reloading","html_url":"https://github.com/openframeworks/openFrameworks/issues/495","comments":0,"assignee":null,"updated_at":"2011-03-09T16:17:56Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=5729&view=unread#unread","number":495,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/495","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":659446,"closed_at":null,"created_at":"2011-03-09T16:17:56Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"GLUT 007 hack","html_url":"https://github.com/openframeworks/openFrameworks/issues/491","comments":0,"assignee":null,"updated_at":"2011-03-04T14:44:53Z","body":"it seems that some commented defines are still being preprocessed and making gdb behave weird:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=4&t=5602&view=unread#unread","number":491,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/491","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":646846,"closed_at":null,"created_at":"2011-03-04T14:44:53Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"close corners on basic shapes?","html_url":"https://github.com/openframeworks/openFrameworks/issues/490","comments":0,"assignee":null,"updated_at":"2011-03-03T16:35:17Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5678&view=unread#unread\r\n\r\nperhaps use style.linewith? won't work if you use glLineWidth though","number":490,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/490","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":643861,"closed_at":null,"created_at":"2011-03-03T16:35:17Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"893ec14dc008e3774afe5841115920d6","url":"https://api.github.com/users/jonbro","login":"jonbro","id":1597,"avatar_url":"https://secure.gravatar.com/avatar/893ec14dc008e3774afe5841115920d6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofOrientation incompatible with iOS addon","html_url":"https://github.com/openframeworks/openFrameworks/issues/486","comments":0,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T04:50:03Z","body":"the existing iOS orientation methods are not compatible with the virtual functions that they inherit from. The new virtuals use a ofOrientation enum, and the old functions use ints.\r\n\r\nThis issue was introduced in https://github.com/openframeworks/openFrameworks/commit/38011d54","number":486,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/486","labels":[{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":635112,"closed_at":null,"created_at":"2011-02-28T18:14:04Z"},{"milestone":{"state":"open","description":"","title":"0073 Release","due_on":"2012-07-30T07:00:00Z","closed_issues":0,"open_issues":5,"number":6,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":62090,"created_at":"2011-12-03T15:37:49Z"},"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"grabFrame/idleFrame deprecation","html_url":"https://github.com/openframeworks/openFrameworks/issues/484","comments":12,"assignee":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-04-24T21:04:32Z","body":"it would be nice to start deprecating grabFrame() and idleFrame() (but maybe wait a couple years to actually remove them) , and change the examples to only use update() and isFrameNew().","number":484,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/484","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":613171,"closed_at":null,"created_at":"2011-02-20T17:56:02Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"ace632f74988653fdbde09225134bfdd","url":"https://api.github.com/users/nemik","login":"nemik","id":62301,"avatar_url":"https://secure.gravatar.com/avatar/ace632f74988653fdbde09225134bfdd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofVideoPlayer bug when loading subsequent movies after the first one","html_url":"https://github.com/openframeworks/openFrameworks/issues/475","comments":0,"assignee":null,"updated_at":"2011-02-14T17:11:08Z","body":"Within 0062, inside libs/openFrameworks/video/ofVideoPlayer.cpp on line 314 there is a check for height and width not being 0, then \"bDoWeAlreadyHaveAGworld = true;\" is set. However, this prevents other movies after the first from being loaded into that instance of ofVideoPlayer. \r\nI have posted about this in the forum with a fix (to just remove that check) here: http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222\r\n\r\nInside the latest code, it is within ofQuickTimePlayer.cpp https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofQuickTimePlayer.cpp#L281.","number":475,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/475","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":598097,"closed_at":null,"created_at":"2011-02-14T17:11:08Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"object init/load state is not consistently testable","html_url":"https://github.com/openframeworks/openFrameworks/issues/463","comments":0,"assignee":null,"updated_at":"2011-02-07T19:58:23Z","body":"I like to be able to know when an object has successfully initialized or loaded and OF provides for this, for the most part, but in an inconsistent manner ie\r\n\r\nofVideoGrabber::initGrabber() returns a bool, but ofVideoGrabber:bInitialized is protected and therefore not accessible\r\n\r\nwhile\r\n\r\nofTrueTypeFont::bLoadedOk is public, but ofTrueTypeFont::loadFont() returns void\r\n\r\nand\r\n\r\nofImage::loadImage() returns a bool and ofLoadImage::bAllocated() returns a bool, yet ofImage::setFromPixels() returns void\r\n\r\nI propose all loadable/initable objects have loading functions which always return a bool and a testable function (isInited(), isLoaded(), etc) for use after loading. Ideally, the testable functions would always be named the same ie myImage.isLoaded(), myVideoGrabber().isLoaded(), myFont.isLoaded() but of course a general name may not apply to all situations (myVideoGrabber.isInited() probably makes more sense).\r\n\r\nHell, all the load functions could be overloaded ie ofImage::load(string filename), ofImage::load(ofPixels pixels), ofImage::load(unsigned char* pixels) across different objects, ofTrueTypeFont::load(string filename), ofVideoGrabber::load(int w, int h, int deviceID). This consistency looks nice to anal me. but might be confusing to newbies and of course would break old code (unless wrapped for legacy compatibility). It seems a little annoying that every objects seems to have it's own way of checking this and that ...","number":463,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/463","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"37c200","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy"}],"id":581395,"closed_at":null,"created_at":"2011-02-07T19:58:23Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"8022cb5f529975afbc64cc9312008d8c","url":"https://api.github.com/users/nardove","login":"nardove","id":277690,"avatar_url":"https://secure.gravatar.com/avatar/8022cb5f529975afbc64cc9312008d8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenCV cvSobel() not working with latest master branch","html_url":"https://github.com/openframeworks/openFrameworks/issues/462","comments":0,"assignee":null,"updated_at":"2011-02-07T15:58:19Z","body":"Hi,\r\n\r\nI get the following error:\r\n// INIT OF ERROR\r\nOF_WARNING: ofBaseVideoPlayer::setPixelFormat not implemented\r\nOpenCV Error: Assertion failed (src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))) in cvSobel, file /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp, line 347\r\nterminate called after throwing an instance of 'cv::Exception'\r\n what(): /Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/__BuildAllLibs/OpenCV-2.2.0/modules/imgproc/src/deriv.cpp:347: error: (-215) src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F)) in function cvSobel\r\n// END OF ERROR\r\n\r\nWhen I try to call the cvSobel method like this:\r\ncvSobel( grayImage.getCvImage(), grayImage.getCvImage(), 0, 1, 3 );\r\n\r\nThis works fine in 0062.\r\n\r\nCheers\r\n- rS","number":462,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/462","labels":[{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":580717,"closed_at":null,"created_at":"2011-02-07T15:58:19Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","url":"https://api.github.com/users/danomatika","login":"danomatika","id":480637,"avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"get number of input devices and device IDs from ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/461","comments":0,"assignee":null,"updated_at":"2011-02-07T19:38:51Z","body":"Currently, the ofVideoGrabber can list devices to stdout, but does not return the number of available devices. I propose that either listDevices() return an int or a new function be added, something like getNumDevices() or a getDeviceNums() which returns a vector of valid device ids. This could be related to Arturo's Issue where the devices could be retrieved as strings. I think it makes sense to have these as static functions so that you could open all available cameras into an Array of ofVideoGrabbers by retrieving the number of devices and their ids to open them.","number":461,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/461","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":580556,"closed_at":null,"created_at":"2011-02-07T15:24:21Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"saveImage() and other save operations should create missing directories","html_url":"https://github.com/openframeworks/openFrameworks/issues/460","comments":8,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-08T15:56:48Z","body":"i feel like it happens relatively often where i try to save an image (for example) and the parent directories don't exist, so it just fails without really saying anything.\r\n\r\nit would be nice if the dir(s) were just created automatically for you.","number":460,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/460","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":579790,"closed_at":null,"created_at":"2011-02-07T07:52:25Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofTexture::allocate not checking for unnecessary reallocation","html_url":"https://github.com/openframeworks/openFrameworks/issues/454","comments":0,"assignee":null,"updated_at":"2011-02-06T04:26:44Z","body":"ofPixels::allocate is smart in that it doesn't reallocate if you ask for the same size as what's already there. ofTexture should work the same way to avoid unnecessary overhead.","number":454,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/454","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":578069,"closed_at":null,"created_at":"2011-02-06T04:26:44Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't work with ofSetOrientation","html_url":"https://github.com/openframeworks/openFrameworks/issues/449","comments":0,"assignee":null,"updated_at":"2011-02-02T00:03:09Z","body":"maybe a generic 'transformer' function would handle both this and mouse coordinates, and anything else? ofPoint ofGetAsbolutePosition(x,y)?","number":449,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/449","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":568540,"closed_at":null,"created_at":"2011-02-02T00:03:09Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"no way to get imageType of ofVideoGrabber","html_url":"https://github.com/openframeworks/openFrameworks/issues/446","comments":0,"assignee":null,"updated_at":"2011-01-31T19:26:41Z","body":"ofVideoGrabber has getOFPixels in the .h, but it isn't implemented in the .cpp.\r\n\r\nmaybe this is just a signal that ofPixels stuff needs to be resolved soon... :) i'd be glad to help with this if possible.","number":446,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/446","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":565122,"closed_at":null,"created_at":"2011-01-31T19:26:41Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"e5d92e48e175112e9df112e2418bd528","url":"https://api.github.com/users/kylemcdonald","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofGetElapsedTimeMillis returns an int instead of unsigned long","html_url":"https://github.com/openframeworks/openFrameworks/issues/428","comments":0,"assignee":null,"updated_at":"2011-01-28T06:28:01Z","body":"the start time is stored internally as an unsigned long, but ofGetElapsedTimeMillis returns it as an int. ofGetElapsedTimef also does calculations using time as an int. this means time wraps around every (2^31 - 1) milliseconds in days = 24.8 days.\r\n\r\nas an unsigned long it would be (2^64 - 1) milliseconds in years = 584 million years :)","number":428,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/428","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"65a300","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize"}],"id":558215,"closed_at":null,"created_at":"2011-01-28T06:28:01Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"4fc88ba881fee72fc4c5de473dc2ebbf","url":"https://api.github.com/users/NickHardeman","login":"NickHardeman","id":142694,"avatar_url":"https://secure.gravatar.com/avatar/4fc88ba881fee72fc4c5de473dc2ebbf?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Check ofShader Texture Wrap Parameters","html_url":"https://github.com/openframeworks/openFrameworks/issues/424","comments":1,"assignee":null,"updated_at":"2011-12-02T21:05:54Z","body":"I thought checking for custom texture wrapping in ofShader might be useful. Not sure how to add a label to this :/\n\n#include ofGraphics.h\n\nvoid setUniformTexture(const char* name, ofBaseHasTexture& img, int textureLocation=-1);\nvoid setUniformTexture(const char* name, ofTexture& img, int textureLocation=-1);\n\nvoid ofShader::setUniformTexture(const char* name, ofTexture& tex, int textureLocation) {\n\tif(bLoaded) {\n\t\t\n\t\tGLfloat wrapS = -1;\n\t\tGLfloat wrapT = -1;\n\t\t\n\t\tif (ofGetUsingCustomTextureWrap()) {\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &wrapS);\n\t\t\tglGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &wrapT);\n\t\t}\n\t\t\n\t\tofTextureData texData = tex.getTextureData();\n\t\tif (textureLocation < 0) textureLocation = texData.textureID;\n\t\tglActiveTexture(GL_TEXTURE0 + textureLocation);\n\t\tglEnable(texData.textureTarget);\n\t\t\n\t\tif(wrapS > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrapS);\n\t\tif(wrapT > 0) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrapT);\n\t\t\n\t\tglBindTexture(texData.textureTarget, texData.textureID);\n\t\tglDisable(texData.textureTarget);\n\t\tsetUniform1i(name, texData.textureID);\n\t\tglActiveTexture(GL_TEXTURE0);\n\t}\n}","number":424,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/424","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":556923,"closed_at":null,"created_at":"2011-01-27T19:43:31Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"problem with reloading movies in osx","html_url":"https://github.com/openframeworks/openFrameworks/issues/423","comments":0,"assignee":null,"updated_at":"2011-01-24T22:34:29Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=5222","number":423,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/423","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548302,"closed_at":null,"created_at":"2011-01-24T22:34:29Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"117a7eecfee7c7f7e954623fd96e1b6e","url":"https://api.github.com/users/snibbe","login":"snibbe","id":581517,"avatar_url":"https://secure.gravatar.com/avatar/117a7eecfee7c7f7e954623fd96e1b6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Retina display support **that doesn't crash devices!** with backward compatibility to OS 3.0","html_url":"https://github.com/openframeworks/openFrameworks/issues/421","comments":2,"assignee":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2011-12-05T22:03:15Z","body":"Hi guys,\r\n\r\nI posted to the OF forum a solution back in August to support retina display with backward compatibility to pre-OS 4.0 devices:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4185&start=15\r\n\r\nIf it's still outstanding, here's the solution!\r\n\r\nEAGLView.mm, initWithFrame, after the eaglLayer.drawableProperties assignment, add:\r\n\r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n if ([[UIScreen mainScreen] scale] > 1) {\r\n // code below doesn't work on iPad 3.2 OS and below, but doesn't need to because scale is 1\r\n [self setContentScaleFactor:[[UIScreen mainScreen] scale]];\r\n }\r\n }\r\n\r\nofAppiPhoneWindow.mm, timerLoop, after [ofxiPhoneGetGLView() startRender]; add:\r\n\r\n int ofwidth = ofGetWidth();\r\n int ofheight = ofGetHeight();\r\n \r\n if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {\r\n ofwidth *= [[UIScreen mainScreen] scale];\r\n ofheight *= [[UIScreen mainScreen] scale];\r\n }\r\n\r\nthen change the glViewport calls:\r\n\r\n\t// this could be taken out and included in ofAppBaseWIndow\r\n\tif(orientation == OFXIPHONE_ORIENTATION_PORTRAIT || orientation == OFXIPHONE_ORIENTATION_UPSIDEDOWN)\r\n\t\tglViewport( 0, 0, ofwidth, ofheight );\r\n\telse\r\n\t\tglViewport( 0, 0, ofheight, ofwidth );","number":421,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/421","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"2a8296","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS"}],"id":548070,"closed_at":null,"created_at":"2011-01-24T20:52:18Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"something to wrap glMultMatrixf","html_url":"https://github.com/openframeworks/openFrameworks/issues/418","comments":0,"assignee":null,"updated_at":"2011-01-22T15:57:37Z","body":"suggestions:\r\n\r\n ofPopMatrix(ofMatrix4x4 m)\r\n\r\n ofMultMatrix(ofMatrix4x4 m)\r\n\r\n ofMatrix4x4::apply();\r\n ofMatrix4x4::push();","number":418,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/418","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543729,"closed_at":null,"created_at":"2011-01-22T15:57:37Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"3D isn't scale invariant in certain parts","html_url":"https://github.com/openframeworks/openFrameworks/issues/417","comments":0,"assignee":null,"updated_at":"2011-01-22T15:24:07Z","body":"e.g.\r\n\r\n void ofEasyCam::reset() {\r\n\ttarget.resetTransform();\r\n\tdistance = 100;\r\n }\r\n\r\nofNode's\r\n\tvirtual void customDraw() {\r\n\t\tofBox(10);\r\n\t\tofDrawAxis(20);\r\n\t}\r\n\r\nsuggestions:\r\n\r\nglobal variable called something like 'base3DScaleFactor = 10.0f' which will affect all of these current constant scale factors","number":417,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/417","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"}],"id":543694,"closed_at":null,"created_at":"2011-01-22T15:24:07Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Simulator not working with any examples ","html_url":"https://github.com/openframeworks/openFrameworks/issues/414","comments":3,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-10T05:00:35Z","body":"Getting this error after the app launches in simulator mode \r\n\r\nDetected an attempt to call a symbol in system libraries that is not present on the iPhone:\r\n\r\n","number":414,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/414","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":539979,"closed_at":null,"created_at":"2011-01-20T20:17:35Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera::setPan is broken","html_url":"https://github.com/openframeworks/openFrameworks/issues/413","comments":1,"assignee":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"","number":413,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/413","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539915,"closed_at":null,"created_at":"2011-01-20T20:01:00Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"84c985e7168027f833fd837f3afd9f3e","url":"https://api.github.com/users/arturoc","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"add setMultisampling method to glutWindow","html_url":"https://github.com/openframeworks/openFrameworks/issues/412","comments":0,"assignee":null,"updated_at":"2011-01-20T19:33:30Z","body":"multisampling is now working in linux through the display string option. perhaps we could add a method to easily set it if it also works on win/osx","number":412,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/412","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"622425","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature"},{"color":"244569","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows"}],"id":539845,"closed_at":null,"created_at":"2011-01-20T19:33:30Z"},{"milestone":{"state":"open","description":"","title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"number":5,"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","creator":{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","url":"https://api.github.com/users/bilderbuchi","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":61810,"created_at":"2011-12-02T15:29:48Z"},"state":"open","user":{"gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","url":"https://api.github.com/users/ofTheo","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofCamera / ofEasyCamera does not work correctly for iPhone / iPad","html_url":"https://github.com/openframeworks/openFrameworks/issues/410","comments":2,"assignee":{"gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","url":"https://api.github.com/users/julapy","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"updated_at":"2012-03-14T15:11:06Z","body":"Needs to take into account the rotation and the flipping happening in ofAppiPhoneWindow::timerLoop() \n\nAlso the internal call to ofViewport causes clipping in horizontal mode. \n\nIts currently very difficult to setup the camera correctly for iPad / iPhone - would be great if the default for ofCamera would be to start with the typical OF camera view. ","number":410,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/410","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"2babad","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":539744,"closed_at":null,"created_at":"2011-01-20T18:59:10Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","url":"https://api.github.com/users/vanderlin","login":"vanderlin","id":149997,"avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofEnableLighting","html_url":"https://github.com/openframeworks/openFrameworks/issues/406","comments":0,"assignee":null,"updated_at":"2011-01-19T19:39:37Z","body":"ofLight bug not sure what the ios equivalent is..\r\n\r\nglColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); is not supported in IOS","number":406,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/406","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"}],"id":537416,"closed_at":null,"created_at":"2011-01-19T19:39:36Z"},{"milestone":null,"state":"open","user":{"gravatar_id":"bea30676dca310e7f38269f245214944","url":"https://api.github.com/users/elliotwoods","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofViewport doesn't match rest of openFrameworks coordinates","html_url":"https://github.com/openframeworks/openFrameworks/issues/405","comments":0,"assignee":null,"updated_at":"2011-01-19T13:24:54Z","body":"Suggest change line 126 of ofGraphics.h to\r\n\tglViewport(x, ofGetHeight() - y - height, width, height);\r\n\r\nto be in line with rest of openFrameworks coordinate system\r\ne.g. ofRect(myRect) matches ofViewport(myRect)\r\n","number":405,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/405","labels":[{"color":"db6a1f","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core"},{"color":"b31d1d","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug"},{"color":"31e03a","url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed"}],"id":536614,"closed_at":null,"created_at":"2011-01-19T13:24:53Z"}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=12 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4932'), ('content-length', '38352'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"679d499a026b6f6d6a1e20857a7392dc"'), ('date', 'Tue, 29 May 2012 19:27:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-01-17T23:39:31Z","body":"it should be only in the implementations and queried by the grabber/player in case an implementation doesn't support a format if not the app can crash or have really weird results","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/403","comments":0,"milestone":null,"number":403,"html_url":"https://github.com/openframeworks/openFrameworks/issues/403","assignee":null,"title":"setPixelFormat shouldn't be stored in videoGrabber/Player","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-17T23:39:31Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":532954,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-17T16:37:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/400","comments":0,"milestone":null,"number":400,"html_url":"https://github.com/openframeworks/openFrameworks/issues/400","assignee":null,"title":"ofTTF should have setAnchorPercent so you can draw strings centered, right aligned etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-17T16:37:42Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":532096,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:33:14Z","body":"every frame, it should update the pmouse value. so if you don't move the mouse, the pmouse value is equal to the current value.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/391","comments":1,"milestone":null,"number":391,"html_url":"https://github.com/openframeworks/openFrameworks/issues/391","assignee":null,"title":"ofGetPreviousMouseX/Y() does not update per frame","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:21:15Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529705,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-20T17:32:59Z","body":"this is a limitation to glut, but it might be hackable on each system separately.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/389","comments":1,"milestone":null,"number":389,"html_url":"https://github.com/openframeworks/openFrameworks/issues/389","assignee":null,"title":"mouse position doesn't update until mouse is moved","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T07:11:53Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":529700,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-13T21:10:48Z","body":"following error appears when i try to load an image; commenting out the call to loadImage(\"...\") makes the error go away.\n\n Undefined symbols:\n \"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)\", \n referenced from:\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPClientSession::proxyAuthenticateImpl(Poco::Net::HTTPRequest&)in PocoNet.a(HTTPClientSession.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::HTTPRequest::write(std::basic_ostream >&) constin PocoNet.a(HTTPRequest.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::MessageHeader::write(std::basic_ostream >&) constin PocoNet.a(MessageHeader.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n Poco::Net::HTTPResponse::write(std::basic_ostream >&) constin PocoNet.a(HTTPResponse.o)\n\nld: symbol(s) not found\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/387","comments":1,"milestone":null,"number":387,"html_url":"https://github.com/openframeworks/openFrameworks/issues/387","assignee":null,"title":"Linker error when loading image (Poco::Net related?)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-16T05:57:51Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"id":529646,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-15T17:01:08Z","body":"would be nice if it was a float (0-1) and not an int(0-100) for standardization with every other audio thing in the universe aside from quicktime","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/375","comments":2,"milestone":null,"number":375,"html_url":"https://github.com/openframeworks/openFrameworks/issues/375","assignee":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144366},"title":"ofVideoPlayer setVolume uses an int","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2011-01-15T23:03:57Z","state":"open","user":{"url":"https://api.github.com/users/stfj","gravatar_id":"b089227a1748a2d70cdfc4ef00b325ad","login":"stfj","avatar_url":"https://secure.gravatar.com/avatar/b089227a1748a2d70cdfc4ef00b325ad?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":177578},"id":529268,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T19:30:31Z","body":"glDrawBitmapString doesn't work when GL_LIGHTING is enabled.\r\n\r\nwell, it works... but it is black because it isn't reflecting any light. regardless of the ofSetColor.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/357","comments":0,"milestone":null,"number":357,"html_url":"https://github.com/openframeworks/openFrameworks/issues/357","assignee":null,"title":"glDrawBitmapString vs GL_LIGHTING","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-14T19:30:31Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":527591,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-14T01:33:38Z","body":"some of the core functions only work with 2d points, others only with 3d points, some work with both. but they all take ofPoints.\r\n\r\nit's good for teaching purposes to have ofPoints because you don't have to explain what a 'vector' is, but it's unclear for advanced users whether the functions take 2d or 3d points...","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/347","comments":0,"milestone":null,"number":347,"html_url":"https://github.com/openframeworks/openFrameworks/issues/347","assignee":null,"title":"none of the core functions report how many dimensions they work for","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2011-01-14T01:33:38Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":526094,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-13T16:16:40Z","body":"e.g., GL_DEPTH_TEST.\r\n\r\none of the reasons for this is that it's not obvious to newbies what common features are available.\r\n\r\nanother is that i've seen lots of people write GL_DEPTH instead, which obviously doesn't work.\r\n\r\nthere might be some others too, see processing's hint():\r\n\r\nhttp://processing.org/reference/hint_.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/340","comments":0,"milestone":null,"number":340,"html_url":"https://github.com/openframeworks/openFrameworks/issues/340","assignee":null,"title":"OF wrapper for basic gl functions that aren't intuitive to newbies","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2011-01-13T16:16:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":524875,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T13:35:42Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/337","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":337,"html_url":"https://github.com/openframeworks/openFrameworks/issues/337","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"ofFileDialog allow folder selection ( works on os x ) needs code for win and linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-13T05:21:53Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":523837,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:06Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/330","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":330,"html_url":"https://github.com/openframeworks/openFrameworks/issues/330","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"title":"OpenCv 2.2 for Win ( CB and VS )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/codeblocks+","name":"codeblocks ","color":"cb6efa"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"}],"closed_at":null,"created_at":"2011-01-12T19:09:37Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":522789,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-04T14:06:34Z","body":"currentStyle stores everything about the current style, so it can be used rather than things like drawMode for tracking how things should currently be draw.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/325","comments":1,"milestone":null,"number":325,"html_url":"https://github.com/openframeworks/openFrameworks/issues/325","assignee":null,"title":"drawMode can be deprecated, currentStyle.bFill should be used instead","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-12T15:41:11Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522255,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-12T15:34:48Z","body":"ordering for code completion is a little weird.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/324","comments":0,"milestone":null,"number":324,"html_url":"https://github.com/openframeworks/openFrameworks/issues/324","assignee":null,"title":"ofPushView/ofPopView appear before ofPushMatrix/ofPopMatrix","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"}],"closed_at":null,"created_at":"2011-01-12T15:34:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":522231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T22:30:48Z","body":"under the /video directory","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/311","comments":0,"milestone":null,"number":311,"html_url":"https://github.com/openframeworks/openFrameworks/issues/311","assignee":null,"title":"openFrameworksLib has ofQtUtils included twice","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T22:30:48Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":518434,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-10T06:36:27Z","body":"better to use aggregation (helper classes/functions) if necessary for common functionality that have implementation in those classes. making them pure abstract classes will avoid problems with multiple inheritance and easier to extend in case of different behaviour","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/305","comments":0,"milestone":null,"number":305,"html_url":"https://github.com/openframeworks/openFrameworks/issues/305","assignee":null,"title":"no implementation in ofBaseTypes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-10T06:36:27Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":516844,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:59Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/302","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":302,"html_url":"https://github.com/openframeworks/openFrameworks/issues/302","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"Remove Poco CppUnit from all projects ( done on os x )","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:39:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516565,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:09Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/299","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":299,"html_url":"https://github.com/openframeworks/openFrameworks/issues/299","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for linux","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2011-01-10T02:38:08Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516560,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T01:06:08Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/298","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","closed_issues":0,"number":6,"title":"0073 Release","due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":298,"html_url":"https://github.com/openframeworks/openFrameworks/issues/298","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"freetype-2.4.4 for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:37:49Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516559,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-05T21:59:27Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/296","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","closed_issues":21,"number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":296,"html_url":"https://github.com/openframeworks/openFrameworks/issues/296","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"FreeImage 3141 build for windows","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"}],"closed_at":null,"created_at":"2011-01-10T02:36:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":144000},"id":516556,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-01-09T20:46:43Z","body":"I think the pixeltype, the gltypeinternal and the gltype should be accessible to the user as well as the loadData(void * data, int w, int h, int glDataType) which is actually protected.\r\n\r\nActual implementation is only limited to a few choice of internalFormat which lead to choice of pixeltype and gltype. It thus doesn't allow from user specific type.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/292","comments":0,"milestone":null,"number":292,"html_url":"https://github.com/openframeworks/openFrameworks/issues/292","assignee":null,"title":"ofTexture should be more flexible","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2011-01-09T20:46:43Z","state":"open","user":{"url":"https://api.github.com/users/I33N","gravatar_id":"ba8d7c3b4532d3747c30b9be91dc20d5","login":"I33N","avatar_url":"https://secure.gravatar.com/avatar/ba8d7c3b4532d3747c30b9be91dc20d5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":520375},"id":516071,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-12-03T10:49:15Z","body":"ofImage::getWidth()/getHeight() are just getters that do absolutely nothing but return a copy of the width and height. these methods should be marked const.\r\n\r\n[added]: there are hacks inside ofxCv that i've had to make because getWidth/getHeight are not const correct. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/288","comments":6,"milestone":null,"number":288,"html_url":"https://github.com/openframeworks/openFrameworks/issues/288","assignee":null,"title":"const correctness - add const to getWidth/getHeight","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2011-01-08T02:14:03Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":513779,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2010-11-30T05:13:10Z","body":"This is giving me some crashes. There needs to be a way to disable this when making custom windows. I have tried to do atexit(NULL); but the callback in ofRunApp(ofBaseApp * OFSA) is still being called. \r\n\r\nmaybe something like:\r\n\r\nvoid ofRunApp(ofBaseApp * OFSA, bool useExitCallback);\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/275","comments":0,"milestone":null,"number":275,"html_url":"https://github.com/openframeworks/openFrameworks/issues/275","assignee":null,"title":"atexit(ofExitCallback);","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-11-30T05:13:10Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":149997},"id":445829,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-03-17T02:02:25Z","body":"bottom left corner is inconsistent with every other drawing command in OF, should be top left instead.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/271","comments":7,"milestone":null,"number":271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/271","assignee":null,"title":"ofDrawBitmapString draws from bottom left","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-11-22T21:30:40Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":433297,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-06-03T19:04:08Z","body":"test if this is really useful:\r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4889&view=unread#unread\r\n\r\nhe adds a queue just before the color conversion","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/265","comments":0,"milestone":null,"number":265,"html_url":"https://github.com/openframeworks/openFrameworks/issues/265","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"title":"linux videograbber stopping after some time","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-11-18T12:07:46Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":48240},"id":426050,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-19T22:47:21Z","body":"ofClear(r,g,b) is inconsistent with ofBackground(r,g,b) because the alpha is 0 by default -- meaning you always have to explicitly declare the alpha to clear the background.\r\n\r\nfurthermore, because all the arguments have default values there is not/cannot exist an ofClear(gray, alpha) to match ofSetColor style","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/264","comments":5,"milestone":null,"number":264,"html_url":"https://github.com/openframeworks/openFrameworks/issues/264","assignee":null,"title":"ofClear uses inconsistent arguments","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-18T06:15:47Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":157106},"id":425675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=13 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4931'), ('content-length', '46291'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"bf7e6718fe6b733d04e77e00e220150f"'), ('date', 'Tue, 29 May 2012 19:27:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2011-12-05T21:58:33Z","body":"A lot of OF files are including ofMain / ofConstants.h - this makes compiles super slow. Try to have files only include what they need. Or find a way to break things up into the most often used ( windows.h etc ) and less used. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/255","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":255,"html_url":"https://github.com/openframeworks/openFrameworks/issues/255","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"COMPILE SPEED UP - cleanup internal includes to avoid ofMain.h and ofConstants.h","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-11T21:14:05Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":413771,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T20:11:33Z","body":"ofHideCursor()/ofShowCursor()\r\n\r\nofEnableArbTex()\r\nofEnableSetupScreen()\r\nofEnableDataPath()\r\nofEnableAlphaBlending()\r\nofEnableSmoothing()\r\n\r\nofSetFullscreen() + ofToggleFullscreen()\r\nofSetVerticalSync()\r\n\r\netc.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/249","comments":1,"milestone":null,"number":249,"html_url":"https://github.com/openframeworks/openFrameworks/issues/249","assignee":null,"title":"normalize option nomenclature (hide/enable/set/etc.)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-11-03T22:52:08Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":399214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T22:03:41Z","body":"some video to test:\r\n\r\nmmsh://live.camstreams.com/cscamglobal16?MSWMExt=.asf\r\n\r\nit works ok with totem so it should be a problem in ofGstUtils","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/245","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":245,"html_url":"https://github.com/openframeworks/openFrameworks/issues/245","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"gstreamer problems with streaming of microsoft video","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-10-13T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":360885,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-03-13T20:13:07Z","body":"I found an annoying bug in ofVideoPlayer.\nThis module do not like to be dynamically created or destroyed.\nCheck this little example :\n\nhttp://knu.free.fr/bug_ofVideoPlayer.zip\n\nLeft-click to create an object playing video.\nRight-click to suppress the last video.\n\nhere are the phenomenons I am facing on my Win7 machine :\n\n- \nIf you create an object, and then you suppress it, and then try to create an object again, the app will crash.\n\n- \nIf you create some objects (lets say 8), and then you suppress all of them, the app will crash before the last one (not always, but most of the time).\n\n\n\nNow in OF source tree, try replacing ofVideoPlayer.cpp with FIX_ofVideoPlayer.cpp (at the root of the zip)\nRebuild the project.\nNow everything should be working as expected.\n\n\nThe modifications I made in the source are marked by : //###############\n\nI do not have time to fully read and understand the quicktime API, so there are chances this workaround is fucking dirty.\nBut at least it seems to work.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/244","comments":1,"milestone":null,"number":244,"html_url":"https://github.com/openframeworks/openFrameworks/issues/244","assignee":null,"title":"bug in ofVideoPlayer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-10-11T19:56:46Z","state":"open","user":{"url":"https://api.github.com/users/fmauclere","avatar_url":"https://secure.gravatar.com/avatar/1c7dcbab3712f1a4d90bd2c3aa9a3e3d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1c7dcbab3712f1a4d90bd2c3aa9a3e3d","login":"fmauclere","id":435720},"id":357395,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:06:06Z","body":"Check out this code - also check if latest ffmpeg is better optimized for iphone.\r\nhttp://github.com/jgh-/FFmpeg-for-iOS","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/240","comments":0,"milestone":null,"number":240,"html_url":"https://github.com/openframeworks/openFrameworks/issues/240","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"iphone video player - ffmpeg and audioqueues","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-10-06T17:19:57Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":349886,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-10T05:08:56Z","body":"XCode: 3.2.4\nOF: github master @24 Sep 2010\nCompiled as: device base SDK 4.1 release arm7 deployment target 3.2\n\nWeird error: Build ofAudioOutputExample. Add a void testApp::exit() to see if it is called. Run app on ipod touch 2010 version with 4.1 installed.\n\nApp runs OK yet pressing the exit button on front of device quits the app, but xcode keeps running. Digging in a bit it appears not only testApp::exit, but ofExitCallback is not getting called.\n\nSwitch to iPad (no other settings changed) and app runs fine, and exits properly.\n\nSwitch to BaseSDK 3.2 and example runs fine and exits fine on both iPad and iPod.\n\nIdeas? Is this just me? I'm fairly new to OF, XCode and iPhone\n\n[edit]\nOK I worked out that pressing the \"close\" button in 4.1 calls applicationWillResignActive in ofxiPhoneAppDelegate.mm. As a hacky workaround as my app just needs to exit, not sit in background, I added exit(0); to the end of applicationWillResignActive and it seems to work.\n\nWould like to know how to do this properly though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/236","comments":1,"milestone":null,"number":236,"html_url":"https://github.com/openframeworks/openFrameworks/issues/236","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofExitCallback not being called on iphone4.1?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-09-25T01:55:49Z","state":"open","user":{"url":"https://api.github.com/users/DavidDC","avatar_url":"https://secure.gravatar.com/avatar/a6fdad0c31fcd273a1ba89434fec0419?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a6fdad0c31fcd273a1ba89434fec0419","login":"DavidDC","id":415101},"id":332379,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-04-19T00:32:33Z","body":"related to #221: texData.bAllocated is only used in the isAllocated method which can be changed from:\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.bAllocated;\r\n }\r\n\r\nto\r\n\r\n bool ofTexture::bAllocated(){\r\n return texData.textureID!=0;\r\n }\r\n\r\navoiding problems like #221 since we don't have two flags for the same thing","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/228","comments":4,"milestone":null,"number":228,"html_url":"https://github.com/openframeworks/openFrameworks/issues/228","assignee":null,"title":"remove bAllocated in ofTexture?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-09-09T14:20:55Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":309191,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T15:45:27Z","body":"Segfault when playing .ogv files on 64 bit linux.\nSee forum post - http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=4582","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/227","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":227,"html_url":"https://github.com/openframeworks/openFrameworks/issues/227","assignee":null,"title":"Ubuntu 64-bit conflict with FMOD when playing ogg theora files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"}],"closed_at":null,"created_at":"2010-09-08T14:54:33Z","state":"open","user":{"url":"https://api.github.com/users/pierrep","avatar_url":"https://secure.gravatar.com/avatar/be11c9de8242e7aef0446eceaa289e01?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"be11c9de8242e7aef0446eceaa289e01","login":"pierrep","id":392160},"id":307684,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-08-31T10:54:19Z","body":"It would be nice to have:\r\n\r\n\tconst ofxVec2f xunit2f(1, 0), yunit2f(0, 1);\r\n\tconst ofxVec3f xunit3f(1, 0, 0), yunit3f(0, 1, 0), zunit3f(0, 0, 1);\r\n\r\nOr something similar that allows for more elegant notation when you're multiplying or adding by an axis.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/225","comments":0,"milestone":null,"number":225,"html_url":"https://github.com/openframeworks/openFrameworks/issues/225","assignee":null,"title":"ofxVectorMath constants","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-08-31T10:54:19Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":295913,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-26T18:37:47Z","body":"can this be useful?\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=25&t=4500\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/224","comments":1,"milestone":null,"number":224,"html_url":"https://github.com/openframeworks/openFrameworks/issues/224","assignee":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"title":"gaussian noise","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"}],"closed_at":null,"created_at":"2010-08-26T10:21:24Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":290973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-10-17T13:58:53Z","body":"ofxOsc causes a memory access violation in VS2008, when you use sendMessage(ofxOscMessage) from within a class.\r\nNo error when you run that from main ofApp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/214","comments":1,"milestone":null,"number":214,"html_url":"https://github.com/openframeworks/openFrameworks/issues/214","assignee":null,"title":"ofxOsc memory access violation. namespace issue?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-08-04T05:59:22Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":268332,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-14T15:12:26Z","body":"e) get arturo's script to work, or rewrite a new one to just clobber a given directory (and not pull from git, etc as it's doing now). \r\n\r\ntheo - might be good to have two scripts?\r\n1) to pull from git \r\n2) to remove everything not related to a platform - or maybe better just copies the files into a folder for that platform. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/199","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":199,"html_url":"https://github.com/openframeworks/openFrameworks/issues/199","assignee":null,"title":"script that doesn't pull everything from git","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-06-01T13:28:54Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":211418,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-05-25T14:54:52Z","body":"\r\nas per: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?f=8&t=3962&p=20661#p20661\r\n\r\nwe should explain how to use it properly. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/194","comments":0,"milestone":null,"number":194,"html_url":"https://github.com/openframeworks/openFrameworks/issues/194","assignee":null,"title":"ofGetAppPtr documentation is wrong ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2010-05-25T14:54:52Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":205935,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:22Z","body":"http://www.glfw.org/release-2.6.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/193","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":193,"html_url":"https://github.com/openframeworks/openFrameworks/issues/193","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"look at glfw - just got updated","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-05-23T21:04:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":204247,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:20:16Z","body":"I had the L.A.S.E.R. tag software up and running great on my new MacBook Pro but recently my computer did a software update and now something is wrong and I can't properly use the program. I have snow leopard 10.6.3 OS. I'm not totally sure if it was the auto update that caused the issue but it seems like it stopped working after the update. Below I listed the suspected updates. Seems weird to me 2 digital camera RAW updates.\r\n\r\n3/27/10 Digital Camera RAW update 2.7\r\n3/27/10 Safari 4.0.5\r\n3/27/10 Digital Camera RAW update 3.1\r\n3/27/10 iMovie update 8.0.6\r\n\r\n0 com.apple.QuickTime \t0x9408e179 QTMLGrabMutex + 18\r\n1 com.apple.QuickTime \t0x9421b6a3 QTWorkContextCopyForMediaContextID + 28\r\n2 ...uickTimeStreaming.component\t0x14f77c15 HTTPDhlr_CheckForFatalError + 254\r\n3 ...uickTimeStreaming.component\t0x14f77cc6 HTTPDhlr_ReadSYNC + 165\r\n4 ...uickTimeStreaming.component\t0x14f7ab01 HTTPDataHandler_ScheduleData64 + 452\r\n5 ...ple.CoreServices.CarbonCore\t0x949a2d05 callComponentStorage_4444444 + 63\r\n6 ...ple.CoreServices.CarbonCore\t0x949976f0 CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 54\r\n7 ...uickTimeStreaming.component\t0x14f784c7 HTTPDataHandler_ComponentDispatch + 110\r\n8 ...ple.CoreServices.CarbonCore\t0x9498fd87 CallComponentDispatch + 29\r\n9 com.apple.QuickTime \t0x94093540 DataHScheduleData64 + 73\r\n10 com.apple.QuickTime \t0x940b5704 NewMovieFromDataRefPriv_priv + 8296\r\n11 com.apple.QuickTime \t0x9419e613 NewMovieFromDataRef_priv + 54\r\n12 com.apple.QuickTime \t0x942fb95e NewMovieFromDataRef + 52\r\n13 com.yourcompany.openFrameworks\t0x0000aa2a createMovieFromURL(std::string, MovieType**&) + 112\r\n14 com.yourcompany.openFrameworks\t0x0000abe2 ofVideoPlayer::loadMovie(std::string) + 182\r\n15 com.yourcompany.openFrameworks\t0x0002fe03 appController::setup() + 2169\r\n16 com.yourcompany.openFrameworks\t0x00002864 ofRunApp(ofSimpleApp*) + 170\r\n17 com.yourcompany.openFrameworks\t0x0003dc06 main + 90\r\n18 com.yourcompany.openFrameworks\t0x00001da2 _start + 216\r\n19 com.yourcompany.openFrameworks\t0x00001cc9 start + 41","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/182","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":182,"html_url":"https://github.com/openframeworks/openFrameworks/issues/182","assignee":null,"title":"ofVideoPlayer - createMovieFromURL broken in 10.6.3 with specific updates?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-15T16:20:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":172424,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2010-04-14T15:48:19Z","body":"can we add moments to the blob. \n\nadd CvMoments moments to blob class\n\nand in ofxCvContourFinder.cpp line 119\n\n\t blobs[i].moments.m00 = myMoments->m00;\n\t\tblobs[i].moments.m10 = myMoments->m10;\n\t\tblobs[i].moments.m01 = myMoments->m01;\n\t\tblobs[i].moments.m20 = myMoments->m20;\n\t\tblobs[i].moments.m11 = myMoments->m11;\n\t\tblobs[i].moments.m02 = myMoments->m02;\n\t\tblobs[i].moments.m30 = myMoments->m30;\n\t\tblobs[i].moments.m21 = myMoments->m21;\n\t\tblobs[i].moments.m12 = myMoments->m12;\n\t\tblobs[i].moments.m03 = myMoments->m03;\n\t\t\n\t\tblobs[i].moments.mu20 = myMoments->mu20;\n\t\tblobs[i].moments.mu11 = myMoments->mu11;\n\t\tblobs[i].moments.mu02 = myMoments->mu02;\n\t\tblobs[i].moments.mu30 = myMoments->mu30;\n\t\tblobs[i].moments.mu21 = myMoments->mu21;\n\t\tblobs[i].moments.mu12 = myMoments->mu12;\n\t\tblobs[i].moments.mu03 = myMoments->mu03;\n\n\nthis is good for finding the angle and other info about the contour.\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/181","comments":2,"milestone":null,"number":181,"html_url":"https://github.com/openframeworks/openFrameworks/issues/181","assignee":null,"title":"ofxCvBlobs","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-14T15:42:22Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":171615,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T15:04:04Z","body":"Buffer is 512 but should be 276 ( or something )\r\nSetting it to 256 says the buffer size should be 176 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/178","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/178","assignee":null,"title":"iPhone sound bug with 1st gen ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-11T10:18:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":169176,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:18:14Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/175","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/175","assignee":null,"title":"bring examples up to date - make sexy","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:44:04Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166214,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-02T19:14:03Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/174","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/174","assignee":null,"title":"vertical sync on for mac by default","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-04-06T19:43:21Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166212,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:58:10Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/173","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/173","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofAlphaBlending default on","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2010-04-06T19:42:34Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166211,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:50Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/172","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":172,"html_url":"https://github.com/openframeworks/openFrameworks/issues/172","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"rgb + alpha -> blit to texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-06T19:40:28Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166209,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:57:36Z","body":"","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/171","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/171","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"sexy shader example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"}],"closed_at":null,"created_at":"2010-04-06T19:38:51Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":166208,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-03-03T19:40:33Z","body":"can we do it?\r\nwe need cross platform:\r\nplayback \r\nstreaming\r\npitch\r\npan \r\nmultiplay \r\n\r\nfor us to be compatible with what exists. \r\nOpenAL seems like the best choice.\r\nWhat other options are there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/167","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/8","number":8,"title":"0080 Release","due_on":"2013-01-01T08:00:00Z","closed_issues":0,"open_issues":3,"created_at":"2012-02-25T01:34:28Z","state":"open","description":"","id":88731},"number":167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/167","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"replace fmod","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-04-06T12:13:31Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165898,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:56:41Z","body":"i have this working for 3d with selection buffer although it's meant to be slow i haven't had any problems","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/160","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":160,"html_url":"https://github.com/openframeworks/openFrameworks/issues/160","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"ofIsUnderMouse?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T21:39:19Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"id":165537,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2011-12-05T21:54:57Z","body":"Theo: I have this code uses the selection buffer. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/153","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","closed_issues":21,"open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":153,"html_url":"https://github.com/openframeworks/openFrameworks/issues/153","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"ofIsOnScreen - ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2010-04-05T18:49:10Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":165409,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=14 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '13008'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"a63cf45ee23c003caf863065072ec4bb"'), ('date', 'Tue, 29 May 2012 19:27:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-02-29T11:13:10Z","body":"check out - http://www.openframeworks.cc/forum/viewtopic.php?p=19169#p19169\r\npossible integration into core. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/140","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":140,"html_url":"https://github.com/openframeworks/openFrameworks/issues/140","assignee":null,"title":"texture compression and mipmaps for of texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-04-02T19:43:00Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":163959,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T16:15:52Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=3319","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/128","comments":4,"milestone":null,"number":128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/128","assignee":null,"title":"ofxTCPServer doesn't manage connected clients correcly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2010-02-14T09:40:13Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":132671,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:31:57Z","body":"Something that easily converts vector direction to openGL degrees?\r\nI find myself constantly trying to guess 270 - atan2(y, x)*RAD_TO_DEG ..... etc\r\nTo rotate something along a vector. \r\n\r\nMight be good to have it be aware of the GL world orientation - or have it so you pass in the up \r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/126","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/126","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"ofATan2GL / ofVecToGL ?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-02-13T14:22:51Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T15:51:57Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=7&t=3299&p=17852#p17852","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/124","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/6","number":6,"title":"0073 Release","closed_issues":0,"due_on":"2012-07-30T07:00:00Z","open_issues":5,"created_at":"2011-12-03T15:37:49Z","state":"open","description":"","id":62090},"number":124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/124","assignee":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"title":"TTF type rendering in OF - fix fuzziness ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-13T14:15:25Z","state":"open","user":{"url":"https://api.github.com/users/openframeworks","gravatar_id":"a858611b044a8302ab14cfe752e17369","avatar_url":"https://secure.gravatar.com/avatar/a858611b044a8302ab14cfe752e17369?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"openframeworks","id":142866},"id":132373,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:14Z","body":"http://www.openframeworks.cc/forum/viewtopic.php?f=8&t=1374","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/121","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":121,"html_url":"https://github.com/openframeworks/openFrameworks/issues/121","assignee":null,"title":"video: loop is not working unless you call play first","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2010-02-10T23:16:23Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":130269,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T12:30:49Z","body":"it would make sense to have an opengl stress test app, that can test some basic about wether or not someone has ARB support, how fast their systems are, etc. I can imagine that for 0.07, we'll be helping people debug shaders and FBOs, having some way to gauge what kind of system they are on and what it can take, will be helpful. \r\n\r\nHere's a simple test app from the Lua-AV folks that looks like a reasonable system: \r\n\r\nhttp://img191.imageshack.us/img191/1659/picture3po.png","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/115","comments":0,"milestone":null,"number":115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/115","assignee":null,"title":"opengl stress test example","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2010-01-12T02:56:21Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":111018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-28T14:02:04Z","body":"at the moment, we've got it like:\r\n\r\nofAppGlutWindow::ofAppGlutWindow(){\r\n\tfps\t\t\t\t= 60.0; //give a realistic starting value - win32 issues\r\n\tbFrameRateSet\t\t= false;\r\n}\r\n\r\nbut I personally prefer all apps to start with some kind of similar frame rate (ie, examples running really fast on mac, etc). see for example: \r\n\r\nhttp://www.openframeworks.cc/forum/viewtopic.php?p=16520&#p16520\r\n\r\nthis kind of thing leads to less \"cross-platform-ness\" and more confusion from beginners, no? \r\n\r\n- z\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/107","comments":8,"milestone":null,"number":107,"html_url":"https://github.com/openframeworks/openFrameworks/issues/107","assignee":null,"title":"should we start all OF apps with a frame rate set?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2009-12-31T15:10:45Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":104702,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2011-09-27T15:47:45Z","body":"videoGrabber and serial listDevices should return a vector of strings apart from printing to console","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/91","comments":4,"milestone":null,"number":91,"html_url":"https://github.com/openframeworks/openFrameworks/issues/91","assignee":null,"title":"listDevices should return a list of strings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2009-12-09T17:11:40Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"arturoc","id":48240},"id":94898,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/PaginatedList.testSliceIndexingUntilFourthPage.txt b/github/tests/ReplayData/PaginatedList.testSliceIndexingUntilFourthPage.txt deleted file mode 100644 index 46829df..0000000 --- a/github/tests/ReplayData/PaginatedList.testSliceIndexingUntilFourthPage.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4927'), ('content-length', '52085'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"5e8867ffb4e7630e852b2b231f3b9cdb"'), ('date', 'Tue, 29 May 2012 19:36:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T18:11:17Z","body":"Since more and more of the OF Core now relies on Poco (ie ofThread, etc) does OF_USING_POCO make sense anymore?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1280","comments":0,"milestone":null,"number":1280,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1280","assignee":null,"title":"deprecate OF_USING_POCO?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-27T18:03:23Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"danomatika","id":480637},"id":4772349,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-28T08:08:24Z","body":"There occurs a weir glitch when compiling the ofShader example with my HD Graphics 3000 (288 Mb) (Mac osx 10.7.4 - Mac Mini - i5 - 2.3Ghz)\n\nI was able to get rid of the glitch by replacing \"gl_FragColor = gl_Color;\" with \"gl_FragColor = 255.0;\" or any other number.\nAnybody knows a reason for the glitch / proper solution?\n\nScreenshot: http://goo.gl/Xdf74\nOpenGL capacities on different graphic cards on apple machines: http://goo.gl/FGQ2N","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1279","comments":2,"milestone":null,"number":1279,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1279","assignee":null,"title":"ofShader example with HD Graphics 3000 issue","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-26T19:27:56Z","state":"open","user":{"url":"https://api.github.com/users/subtiv","gravatar_id":"837cfe96365c031130a46311eb11d86a","avatar_url":"https://secure.gravatar.com/avatar/837cfe96365c031130a46311eb11d86a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"subtiv","id":1012684},"id":4767675,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-25T18:39:02Z","body":"produces an error on app exit or tex destruction.\n\n OF: OF_LOG_ERROR: trying to delete a non indexed texture, something weird is happening. Deleting anyway\n\nThis is because retain(int id) is a static function in ofTexture.cpp. So we can't retain the depthStencilTexture.\n\nThis suggest we should move the texture allocation of the depth / stencil texture to ofTexture - something which is not possible at the moment. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1277","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1277,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1277","assignee":null,"title":"ofFbo can't retain depthStencil Texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-25T18:37:46Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4758608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T21:26:57Z","body":"\nthe offending line is: \n\nif( speed.getValue() != preSpeed ){\n\nwhich is evaluating as true even through the slider is not touched (float equality test, etc). \n\nif we alter it to something like: \n\nif( fabs(speed.getValue() - preSpeed) > 0.0001 ){\n\nthe code runs fine. probably nicer to add a \"value changed()\" functionality to the slider object though or use EPSILON, etc. \n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1271","comments":0,"milestone":null,"number":1271,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1271","assignee":null,"title":"periodic signal example doesn't run well on windows / cb (float equality error)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-05-22T21:26:57Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4700182,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-22T16:41:21Z","body":"There's some error that appears on linux systems running the project generator to make VS examples, where the debug and release libs for opencv get added badly to the vs project: \n\n\t%(AdditionalDependencies);opencv_highgui231d.lib;opencv_calib3d231.lib;opencv_imgproc231d.lib;opencv_haartraining_engined.lib;opencv_gpu231d.lib;opencv_flann231.lib;opencv_contrib231d.lib;opencv_video231d.lib;opencv_objdetect231d.lib;zlib.lib;opencv_core231d.lib;opencv_contrib231.lib;opencv_ml231d.lib;opencv_features2d231.lib;opencv_core231.lib;opencv_gpu231.lib;opencv_legacy231d.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_ml231.lib;opencv_imgproc231.lib;opencv_objdetect231.lib;opencv_legacy231.lib;opencv_video231.lib\n\t\t\t\t%(AdditionalLibraryDirectories);..\\..\\..\\addons\\ofxOpenCv\\libs\\opencv\\lib\\vs2010\n\nthis doesn't seem to be the case on osx or windows, which produces correct results: \n\n\t%(AdditionalDependencies);opencv_calib3d231.lib;opencv_contrib231.lib;opencv_core231.lib;opencv_features2d231.lib;opencv_flann231.lib;opencv_gpu231.lib;opencv_haartraining_engine.lib;opencv_highgui231.lib;opencv_imgproc231.lib;opencv_legacy231.lib;opencv_ml231.lib;opencv_objdetect231.lib;opencv_video231.lib;zlib.lib\n\nwould be good to look at the logic of \"visualStudioProject::addAddon()\" and see if we can fix this.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1268","comments":9,"milestone":null,"number":1268,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1268","assignee":null,"title":"project generator - bad libs for VS / opencv examples","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/visual+studio","name":"visual studio","color":"ba4eba"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/linux","name":"linux","color":"27607f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-05-20T21:50:24Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofZach","id":142897},"id":4662873,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T00:43:37Z","body":"I woud love some eyes on ofFbo would be great to get it cleaned up and standardized for 0072. \nRight now there are a ton of #ifdefs and some very hard to follow logic, which makes bug fixing quite difficult especially on OPENGL_ES\n\nsee: https://gist.github.com/2711815\n\n@elliotwoods @arturoc @memotv @damiannz @ofZach @kylemcdonald \n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1263","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1263,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1263","assignee":null,"title":"ofFbo.cpp is a huge mess! ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-16T16:27:30Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"ofTheo","id":144000},"id":4608132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T14:29:02Z","body":"I added a .mailmap file to the repo to correctly collate all the contributors in spite of changing nick names/email addresses. This is useful when trying to identify contributors for a changelog or similar, or when using the git logging functions like shortlog.\n\nSee the before/after situation here: https://gist.github.com/2710366\n\nI have respected privacy and only used those real names that people have already given in a git ID in the repo. Mainly this addition only associates the different email addresses to one user. @arturoc wins the prize of most used emails! :-)\nThe list is pretty complete, I only had difficulties to associate some IDs to the correct Zachs, since it was not clear for some if @ofZach or @stfj (Zach Gage) was the contributor. Those were left as-is.\n\nIf anybody has objections to their various email being united under their name, please say so and I will correct/remove the relevant entries.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1262","comments":2,"milestone":null,"number":1262,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1262","assignee":null,"title":"Add .mailmap for contributor collation","labels":[],"closed_at":null,"created_at":"2012-05-16T13:44:32Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":4604661,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1262.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1262","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1262.patch"}},{"updated_at":"2012-05-16T09:35:31Z","body":"Address #375.\n\nAdd setVolumef(float). Also more clearly define volume ranges (int is 0..255, float is 0..1) and more robust clamping of volume argument.\n\nThis has not been tested on Linux or Windows.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1260","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1260,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1260","assignee":null,"title":"allow float volume on ofVideoPlayer","labels":[],"closed_at":null,"created_at":"2012-05-15T17:50:22Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"damiannz","id":144366},"id":4588997,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1260.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1260","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1260.patch"}},{"updated_at":"2012-05-21T07:31:47Z","body":"This was originally posted @\"biginners\".\n\nhttp://forum.openframeworks.cc/index.php/topic,9527.msg44049.html#msg44049\n\nJoshua noble suggested me to file it as a bug on jithub\n\n\n/////////////////original messages\n\nHello.\n\nI have question about ofShortPixels and ofShortColor.\n\nIf you execute the code below , it'll draw at half way screen height even though I did set aDot at (0. screen height / 4)\n\nAnd another weird thing is it draws 20 pixels instead of 10 pixels which I set for loop for 10 times.\n\nIt only draws correctly with ofPixels and ofColor.\n\nIt doesn't work with ofFloatPixels and ofFloatColor.\n\nPlease help me out.\n\nI need to have RGB value over 255 so I can check if those values are over 255.\n\nThanks in advanced\n\nJin\n\n\n.h file\nCode:\nview plaincopy to clipboardprint?\n\n #pragma once \n #include \"ofMain.h\" \n \n class Dot { \n public: \n ofVec2f location; \n \n Dot(){ \n location.set(0,0); \n } \n \n ~Dot(){} \n }; \n \n class testApp : public ofBaseApp{ \n public: \n void setup(); \n void update(); \n void draw(); \n \n int w,h; \n \n ofTexture particleTexture; \n ofShortPixels * rgbPixels; \n \n ofShortColor& paint(ofShortColor &); \n \n Dot aDot; \n \n \n }; \n\n\n.cpp file\nCode:\nview plaincopy to clipboardprint?\n\n #include \"testApp.h\" \n //-------------------------------------------------------------- \n void testApp::setup(){ \n ofSetFrameRate(30); \n ofSetBackgroundAuto(TRUE); \n ofBackground(0, 0, 0); \n w = ofGetWidth(); \n h = ofGetHeight(); \n \n particleTexture.allocate(w,h,GL_RGB); \n rgbPixels = new ofShortPixels; \n rgbPixels->allocate(w, h, 3); \n aDot.location.set(0, h/4); \n } \n \n //-------------------------------------------------------------- \n void testApp::update(){ \n ofShortColor pixelColor; \n ofShortColor newPixelColor; \n for(int i = 0; i<10; i++){ \n pixelColor = rgbPixels->getColor(aDot.location.x+i, aDot.location.y); \n \n newPixelColor = paint(pixelColor); \n \n rgbPixels->setColor(aDot.location.x+i, aDot.location.y,newPixelColor); \n \n } \n particleTexture.loadData(* rgbPixels); \n } \n \n //-------------------------------------------------------------- \n void testApp::draw(){ \n particleTexture.draw(0, 0, w, h); \n } \n \n ofShortColor & testApp::paint(ofShortColor & _c){ \n \n _c.r += 10; \n _c.g += 2; \n _c.b += 3; \n \n _c.set(_c.r, _c.g, _c.b); \n _c.clamp(); \n \n return _c; \n } ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1257","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1257,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1257","assignee":null,"title":"ofShortPixels doesn't draw pixels correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-14T05:46:14Z","state":"open","user":{"url":"https://api.github.com/users/gazaebal","gravatar_id":"f9d7811bb6318fedf7e9f2fe8bfece32","avatar_url":"https://secure.gravatar.com/avatar/f9d7811bb6318fedf7e9f2fe8bfece32?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gazaebal","id":1736190},"id":4557803,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-17T21:42:08Z","body":"if i'm not mistaken, the correct way of using ofMatrix4x4 in oF is `glMultMatrixf(myMatrix.getPtr())` or `glLoadMatrixf`.\nThis seems a bit uncomfortable for me.\n\nsome candidates are:\n\n```c++\nofPushMatrix(const ofMatrix4x4 &); //needs alternatives as you might not want to push at the time\nofLoadMatrix(const ofMatrix4x4 &);\nofMultMatrix(const ofMatrix4x4 &);\n\nofMatrix4x4::apply();\nofMatrix4x4::glLoadMatrix(matrixMode = OF_MATRIX_MODE_CURRENT);\n```\n\n\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1256","comments":5,"milestone":null,"number":1256,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1256","assignee":null,"title":"Feature ofPushMatrix(const ofMatrix4x4 &)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-13T18:20:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4554058,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-11T21:24:20Z","body":"\tunsigned char faceSize = 3;\n\tif(data.getNumIndices()){\n\t\tos << \"element face \" << data.getNumIndices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t} else if(data.getMode() == OF_PRIMITIVE_TRIANGLES) {\n\t\tos << \"element face \" << data.getNumVertices() / faceSize << endl;\n\t\tos << \"property list uchar int vertex_indices\" << endl;\n\t}\n\nThe facesize is being set as static as 3, but this results in strange exports...things open OK in Meshlab, but exporting to other programs with no faces seems like it won't work","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1252","comments":6,"milestone":null,"number":1252,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1252","assignee":null,"title":"0071 ply (mesh.save()) Point export is broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-05-11T19:45:53Z","state":"open","user":{"url":"https://api.github.com/users/laserpilot","gravatar_id":"07001341fe6c156dddd5b9d06d828cba","avatar_url":"https://secure.gravatar.com/avatar/07001341fe6c156dddd5b9d06d828cba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"laserpilot","id":1041023},"id":4539985,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:33:31Z","body":"couple of minor bugfixes (absolute path wasn't being detected on second if [absolute] for windows paths)\r\nfixes unixy paths no matter what on windows","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1251","comments":8,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1251,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1251","assignee":null,"title":"Bugfix of to data path","labels":[],"closed_at":null,"created_at":"2012-05-10T06:44:20Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507572,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1251.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1251","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1251.patch"}},{"updated_at":"2012-05-16T09:43:23Z","body":":(\r\n\r\nIt seems i'm getting double 'data/' in my paths\r\nafter a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory\r\n\r\nso we could try and either fix that by popping the folder after the dialog, \r\nof for windows using something like ```GetModuleFileName``` to get the path of the current exe rather than using the current working directory\r\n\r\nI can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1250","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"title":"0072 Release","closed_issues":21,"due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1250,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1250","assignee":null,"title":"bug: ofToDataPath broken again","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-05-10T06:35:24Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"elliotwoods","id":328294},"id":4507492,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:42:44Z","body":"'ofx TCPClient :: receiveRaw' was found in the proble.\n\nOriginal :\n\n\tint ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){\n\t\t\t messageSize = TCPClient.Receive(receiveBuffer, numBytes);\t\n\t\t\t if(messageSize==0){\t\t\n\t\t\t\t\t\tclose();\t\n\t\t\t }\t\n\t\t\t return messageSize;\n\t}\n\nBut 'TCPClient.Receive (receiveBuffer, numBytes)' from '-1' may return\n\nI was modified\n\n\tstring ofxTCPClient::receiveRaw(){\n\t\t\t messageSize = TCPClient.Receive(tmpBuff, TCP_MAX_MSG_SIZE);\n\t\t\t if(messageSize==0){\n\t\t\t\t\t\tclose();\n\t\t\t }\n\t\t\t //TCPClient.Receive is return -1....\n\t\t\t else if(messageSize < 0){ \n\t\t\t\t\t\ttmpBuff[0] = 0;\n\t\t\t }\n\t\t\t else if(messageSize; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"cf9ec647fbc78faae05cb2d11598f79c"'), ('date', 'Tue, 29 May 2012 20:01:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-30T19:43:55Z","body":"On 'update', PG should respect existing custom include paths, source files, linker flags and project options (such as optimization settings).\r\n\r\nOR\r\n\r\nXcode project should read and respect `OTHER_LDFLAGS` and `HEADER_SEARCH_PATHS`, and add `OTHER_CFLAGS` from Project.xcconfig; projectGenerator should leave these settings alone unless it figures out they need to be adjusted (this is probably going to be difficult).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1217","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1217,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1217","assignee":null,"title":"projectGenerator update doesn't respect existing project settings","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T21:03:44Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269431,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-02T10:19:07Z","body":"Since I don't want to derail #484 further, this issue deals with the implementation of a deprecation mechanism.\r\nBased on [this](http://stackoverflow.com/questions/295120/c-mark-as-deprecated), I made an OFDEPRECATED preproc macro.\r\n\r\nQUESTION: How do I correctly #ifdef for MacOS/XCode4/llvm?\r\n\r\nCould people test this on different platforms? On linux this works. \r\n\r\n\t\ttestApp.h:\r\n\r\n\t\t#pragma once\r\n\r\n\t\t#ifdef __GNUC__\r\n\t\t// maybe __clang__ for checking against llvm/xcode4?\r\n\t\t#define OFDEPRECATED(message, func) func __attribute__ ((deprecated(message)))\r\n\t\t#elif defined(_MSC_VER)\r\n\t\t#define OFDEPRECATED(message, func) __declspec(deprecated(message)) func\r\n\t\t#else\r\n\t\t#pragma message(\"WARNING: You need to implement DEPRECATED for this compiler\")\r\n\t\t#define OFDEPRECATED(message, func) func\r\n\t\t#endif\r\n\r\n\t\tand \r\n\r\n\t\t\t\tvoid dragEvent(ofDragInfo dragInfo);\r\n\t\t\t\tvoid gotMessage(ofMessage msg);\r\n\t\t\r\n\t\t\t\tOFDEPRECATED(\"This is an old function, don't use!\", void deprecatedFunction(void));\r\n\t\t\t\tOFDEPRECATED(\"Obsolete type, use T2!\", typedef int T1);\r\n\t\t\t\ttypedef int T2;\r\n\t\t\t\tOFDEPRECATED(\"This is an old variable, don't use!\", int oldvar3);\r\n\t\t\t\t//This breaks a bit cause it's used in the constructor of testApp, so always triggers.\r\n\r\n\t\t};\r\n\t\tOFDEPRECATED(\"old class!\", class oldClass {\r\n\t\t\tpublic:\r\n\t\t\t\toldClass();\r\n\t\t\t\tvirtual ~oldClass();\r\n\t\t});\r\n\r\n\t\ttestApp.cpp:\r\n\r\n\t\tvoid testApp::setup(){\r\n\t\t\tOFDEPRECATED(\"old string. Don't use\", string oldstring);\r\n\t\t\t// Uncomment these to trigger deprecation warnings\r\n\t\t//\tdeprecatedFunction();\r\n\t\t//\tT1 t1object = 5;\r\n\t\t//\toldstring = \"bla\";\r\n\t\t//\toldvar3=5;\r\n\t\t//\toldClass bla;\r\n\t\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1216","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1216,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1216","assignee":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"Implement deprecation mechanism","labels":[],"closed_at":null,"created_at":"2012-04-24T21:03:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269429,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-30T19:43:14Z","body":"When using PG's 'update' functionality on apps are in paths with non-standard depths (in my case, `oF/apps/dir/subdir/subsubdir`) the OF_PATH and #include directives in the resulting Project.xcconfig don't match, which means oF projects won't compile:\r\n\r\n~~~~\r\n//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.\r\n//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED\r\nOF_PATH = ../../../..\r\n\r\n//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE\r\n#include \"../../../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig\"\r\n~~~~\r\n\r\nNote extra `../` in the `#include` path.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1215","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1215,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1215","assignee":null,"title":"projectGenerator sets incorrect path in Project.xcconfig","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-04-24T20:59:57Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4269359,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-22T23:56:33Z","body":"i'm teaching a workshop right now and i feel like it's ridiculous that i need to explain pointers just to access video :)\r\n\r\nlet's add this!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1202","comments":3,"milestone":null,"number":1202,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1202","assignee":null,"title":"ofVideoPlayer etc needs ofColor access","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-22T18:42:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4231092,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T17:34:24Z","body":"DO NOT PULL YET!\r\n\r\nHey all\r\n\r\nHere's the 'off-axis camera' setup we worked on at ScreenLab last weekend.\r\nIt allows you to:\r\n\r\n* Set lens offset on a camera\r\n* Calculate the camera parameters based on a 'view portal' defined by 3 points (top left, bottom left, bottom right)\r\n\r\nCurrently the changes involve editing ofBaseRenderer (and therefore all other renderers) to support lensOffset parameter (default 0,0). We could remove this since ofCamera doesn't actually use ofSetupScreenPerspective\r\n\r\nSo let's have a quick chat about what needs chaning to make this core friendly and then probably pull after 0071 release?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1201","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1201,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1201","assignee":null,"title":"Feature provocation pull request: ofCamera lens offset","labels":[],"closed_at":null,"created_at":"2012-04-22T15:55:29Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4230131,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1201.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1201","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1201.patch"}},{"updated_at":"2012-05-14T01:22:17Z","body":"I'm investigating the way to draw bezier curves / nurbs etc. with shaders, here is a list a links and information I found that can improve render times with OF. Any way I must admit I'm new to openGL & shaders so maybe someone can take this to implement maybe an add-on or maybe to added to the core.\r\n\r\n**Resolution Independent Curve Rendering using Programmable Graphics Hardware**\r\nhttp://research.microsoft.com/en-us/um/people/cloop/loopblinn05.pdf\r\n\r\n**Resolution independent GPU accelerated Curve & Font rendering**\r\n**GPU based Resolution Independent Font & Curve Rendering – initial Release**\r\nhttp://jausoft.com/blog/2011/04/01/resolution-independent-gpu-accelerated-curve-font-rendering/\r\nhttp://ramisantina.com/blog/?p=73\r\nhttp://vimeo.com/21810192\r\nhttp://jogamp.org/doc/gpunurbs2011/p70-santina.pdf\r\n\r\n**Curvy blues**\r\nhttp://www.mdk.org.pl/2007/10/27/curvy-blues\r\n\r\n**Vector drawing: OpenGL shaders and cairo & vector hardware tessellation**\r\nhttp://www.mdk.org.pl/2007/8/6/vector-drawing-opengl-shaders-and-cairo\r\n\r\n**ShivaVG & Random Access Rendering of Animated Vector Graphics**\r\nhttp://ivanleben.blogspot.com.es/2007/07/shivavg-open-source-ansi-c-openvg.html\r\nhttp://www.youtube.com/watch?v=mD8X-e5-sY4\r\nhttp://www.youtube.com/watch?v=U4USCfwORUg\r\nhttp://andrejas-atelier.com/ivan/IvanLebenHonsThesis.pdf\r\n\r\n**RAVG**\r\nhttp://research.microsoft.com/en-us/um/people/hoppe/proj/ravg/\r\n\r\n**NV Path Rendering Videos (seams only with nvidia)**\r\nhttp://developer.nvidia.com/nv-path-rendering-videos\r\n\r\n**Vector drawing: OpenGL polygon tessellation**\r\nhttp://www.mdk.org.pl/2007/8/16/vector-drawing-opengl-polygon-tessellation\r\nhttp://zrusin.blogspot.com.es/2006/07/hardware-accelerated-polygon-rendering.html\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1190","comments":8,"milestone":null,"number":1190,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1190","assignee":null,"title":"Bezier Shaders & Vector openGL rendering","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-2D","name":"section-2D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-20T09:23:00Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4207350,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:41:20Z","body":"ofSetCurveResolution is not changing the resolution using ofBezier nor ofBezierVertex (tested with ofScale is more easy to see the bug)\r\n\r\n ofFill();\r\n ofSetHexColor(0xFF9933);\r\n ofBeginShape();\r\n ofVertex(x0,y0);\r\n ofBezierVertex(x1,y1,x2,y2,x3,y3);\r\n ofEndShape();\r\n\r\nall works fine when using ofPath directly:\r\n\r\n ofPath curve;\r\n curve.setFillHexColor(0xFF000);\r\n curve.setCurveResolution(120);\r\n curve.moveTo(x0, y0);\r\n curve.bezierTo(x1,y1,x2,y2,x3,y3);\r\n curve.draw();\r\n\r\nmore: http://forum.openframeworks.cc/index.php/topic,9596.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1189","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1189,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1189","assignee":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"ofSetCurveResolution + ofBezierVertex bug","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-20T08:51:51Z","state":"open","user":{"url":"https://api.github.com/users/microbians","gravatar_id":"98c91e60903b83c0a022ee70cca9ca21","login":"microbians","id":1662136,"avatar_url":"https://secure.gravatar.com/avatar/98c91e60903b83c0a022ee70cca9ca21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4206982,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:10:23Z","body":"If you set up an ofFbo as follows...\r\n\r\n```cpp\r\n ofFbo::Settings s;\r\n s.width = 400;\r\n s.height = 400;\r\n s.textureTarget = GL_TEXTURE_2D;\r\n s.useDepth = true;\r\n s.depthAsTexture = true;\r\n s.dethInternalFormat = GL_DEPTH_COMPONENT24;\r\n```\r\n\r\n...then the colour texture's dimensions are set to be the next POTs up but the depth texture's dimensions don't seem to be. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1186","comments":2,"milestone":null,"number":1186,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1186","assignee":null,"title":"ofFbo depthBufferTex can be inconsistent with colour texture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-18T15:08:32Z","state":"open","user":{"url":"https://api.github.com/users/neilmendoza","gravatar_id":"3e46b12547e7bac19eb982bc512b19c4","login":"neilmendoza","id":818571,"avatar_url":"https://secure.gravatar.com/avatar/3e46b12547e7bac19eb982bc512b19c4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4174070,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:44:27Z","body":"As mentioned here: http://forum.openframeworks.cc/index.php?topic=9107.0\r\nOpenGLES2 not working. It is always falls back to ES1. I tested it only on iPad2 with iOS 5.0.1.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1178","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1178,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1178","assignee":{"url":"https://api.github.com/users/julapy","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382,"avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"OpenGLES2 not working","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/iOS","name":"iOS","color":"2babad"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-16T11:19:36Z","state":"open","user":{"url":"https://api.github.com/users/erinnovations","gravatar_id":"29639bbeb3afdde8fb3c7e273e5e43c6","login":"erinnovations","id":253455,"avatar_url":"https://secure.gravatar.com/avatar/29639bbeb3afdde8fb3c7e273e5e43c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4132608,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T13:45:55Z","body":"in ofTexture::loadData we are doing:\r\n\r\n\r\n\t//------------------------ likely, we are uploading continuous data\r\n\tGLint prevAlignment;\r\n\tglGetIntegerv(GL_UNPACK_ALIGNMENT, &prevAlignment);\r\n\tglPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r\n\r\nany reason for this? leaving the default works too. i've been working with a huge video and the transfer rates on some cards were super slow with ofTexture::loadData. even glDrawPixels was faster, i've finally used pbo's but later looking at ofTexture discovered this lines and i suspect that it could be the reason for loadData being slower, haven't tested it yet though.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1175","comments":0,"milestone":null,"number":1175,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1175","assignee":null,"title":"GL_UNPACK_ALIGNMENT 1 in ofTexture","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-14T13:45:42Z","state":"open","user":{"url":"https://api.github.com/users/arturoc","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240,"avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4117762,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:39:22Z","body":"one returns the result (dot) the other performs in place (cross), i.e. overrides the contents\r\nThe two definitions are inconsistent\r\npropose rename `ofVec3f::dot` to become `ofVec3f::getDotted` in line with `ofVec3f::getCrossed`","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1174","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1174,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1174","assignee":null,"title":"bug : inconsistent API for ofVec3f::dot and ofVec3f::cross","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T17:09:38Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4108582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-14T04:20:36Z","body":"If you pass a string containing non-ascii characters to ofToHex(), the non-ascii characters (with character codes above 127) will be output as ffffxxxx (it depends on the exact character value and the size of the int type on the platform you are compiling for).\r\nThe problem is due to an incorrect cast in the ostringstream operation inside the loop.\r\nInstead of directly casting the (signed) char from the input character to an unsigned int, the input character must first be cast to an unsigned char.\r\nIn other words, instead of:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) value[i];```\r\nit should be:\r\n``` out << setfill('0') << setw(2) << hex << (unsigned int) ((unsigned char)value[i]);```\r\nor maybe even:\r\n``` out << setfill('0') << setw(2) << hex << static_cast(static_cast(value[i]));```\r\nif you prefer C++ style casts over C style casts. :)\r\n\r\nHTH\r\n/Jesper","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1173","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1173,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1173","assignee":null,"title":"ofToHex(string) is wrong for non-ascii input","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-13T14:42:30Z","state":"open","user":{"url":"https://api.github.com/users/pappis","gravatar_id":"fbf3d56c96cf5b891056530066549692","login":"pappis","id":1640543,"avatar_url":"https://secure.gravatar.com/avatar/fbf3d56c96cf5b891056530066549692?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4104336,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-12T10:09:42Z","body":"if I call ofBeginSaveScreenAsPDF using ofEasyCam or the ofCamera, the pdf doesn't have the perspective of the camera. There's a parameter b3d to ofBeginSaveScreenAsPDF which I interpret to be \"render taking into account 3d transforms\", but it doesn't seem to have any effect.\r\n\r\nmore on the forum\r\n\r\nhttp://forum.openframeworks.cc/index.php/topic,9542.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1171","comments":0,"milestone":null,"number":1171,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1171","assignee":null,"title":"ofBeginSaveScreenAsPDF ignores 3d transformations","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-04-12T10:09:42Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100,"avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4081188,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-13T14:54:18Z","body":"if I have `ofEvent boolEvent` and i try to call `ofNotifyEvent( boolEvent, true )` i get a `no matching function` error as the compiler cannot coerce `true` to a `bool &`.\r\n\r\nto solve this, instead of this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nofNotifyEvent( boolEvent, true );\r\n~~~~\r\n\r\ni need to write this:\r\n\r\n~~~~\r\nofEvent boolEvent;\r\n...\r\nbool myBool = true;\r\nofNotifyEvent( boolEvent, myBool );\r\n~~~~\r\n\r\nthis is kind of annoying.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1167","comments":2,"milestone":null,"number":1167,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1167","assignee":null,"title":"ofNotifyEvent( boolEvent, true ) fails to compile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-11T12:03:34Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063456,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-11T13:21:33Z","body":"It's currently not possible to have an event without arguments\r\n\r\n`ofEvent testEvent;` -- fails to compile\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1166","comments":2,"milestone":null,"number":1166,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1166","assignee":null,"title":"ofEvent lacks simple, argument-free use case","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T12:00:19Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063417,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-21T15:41:01Z","body":"It's currently not possible to write `ofLogError( \"serial\", \"error %i connecting to serial\", serialError )`. \r\n\r\nThere should be `ofLogError( string module, string format, ... )` methods as with normal ofLog.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1165","comments":6,"milestone":null,"number":1165,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1165","assignee":null,"title":"ofLogError, ofLogWarning lack format, ... args","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-11T11:56:33Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366,"avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4063366,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T16:47:19Z","body":"change `allocate(_w, _h, OF_IMAGE_COLOR);` to `allocate(_w, _h, OF_IMAGE_COLOR_ALPHA);` (via reza on irc)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1152","comments":4,"milestone":null,"number":1152,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1152","assignee":null,"title":"grabScreen in ofImage fails on Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-09T17:15:21Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4032047,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:46:40Z","body":"the module name is no longer printed if it's coming from OF itself.\r\n\r\ninstead of the constant name, a human-readable string is printed.\r\n\r\nexample output from project generator: http://pastebin.com/raw.php?i=0dp938Jx","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1151","comments":6,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1151,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1151","assignee":null,"title":"shorten + simplify ofLog output","labels":[],"closed_at":null,"created_at":"2012-04-08T21:13:14Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023525,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1151.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1151","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1151.patch"}},{"updated_at":"2012-04-17T14:47:36Z","body":"\r\nWorking on the project generator, which has a fair amount of logging, I'm concerned about how much space we loose on each line: \r\n\r\n OF: OF_LOG_NOTICE:\r\n\r\nit's about 15-20 characters or so, pretty significant where each line is 80, so alot more wrapping happens then I'd like, making the results less cleaner or organized. \r\n\r\nI propose we alter \r\n\r\n string ofGetLogLevelName(ofLogLevel level){\r\n switch(level){\r\n case OF_LOG_VERBOSE:\r\n return \"OF_LOG_VERBOSE\";\r\n break;\r\n case OF_LOG_NOTICE:\r\n return \"OF_LOG_NOTICE\";\r\n break;\r\n case OF_LOG_WARNING:\r\n return \"OF_LOG_WARNING\";\r\n break;\r\n case OF_LOG_ERROR:\r\n return \"OF_LOG_ERROR\";\r\n break;\r\n case OF_LOG_FATAL_ERROR:\r\n return \"OF_LOG_FATAL_ERROR\";\r\n break;\r\n case OF_LOG_SILENT:\r\n return \"OF_LOG_SILENT\";\r\n break;\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\nso that we can have something like : \r\n\r\n (of:notice) \r\n (of:verbose) \r\n (of:error) \r\n\r\nor something smaller and if we loose the all caps, maybe less threatening :)\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1150","comments":4,"milestone":null,"number":1150,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1150","assignee":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"propose shortening ofLog console message length","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-08T20:32:49Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897,"avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4023305,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T15:00:32Z","body":"Hey all\r\n\r\nA few sections of the repo need some love to put them in line with the project generator:\r\n\r\n1. Readme's\r\n2. Rogue old project generators\r\n3. Document complementing tools\r\n\r\n# Readme\r\n\r\nThe readme's in the root of the repo need some love\r\nnone of them mention project generator \r\n\r\ni feel like each should be a description of how to get to a working project generator on each of the respective platforms\r\n\r\nalso note:\r\n* .vs2010 is missing\r\n* readme.txt repeats information from the other readme's (i.e. it's a list of platform specific instructions)\r\ni think this should be perhaps a little description of oF and a few tips on how to get started\r\n\r\n# Rogue old 'project generators' / documenting complementary tools for project generator\r\n\r\nHere's things I can find in the repo which don't make sense to me at the moment:\r\n\r\n* `openFrameworks\\scripts\\????\\compileAllExamples.bat`\r\n** is this supposed to be run (optionally) after the project generator?\r\n** why is the project template within this folder?\r\n* `openFrameworks\\scripts\\????\\createProjects.py` \r\n** if this isn't supposed to be used anymore, lets delete it immediately (we can always recover in emergencies)\r\n\r\nand the 'other' folder in the root.. perhaps never took off?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1146","comments":0,"milestone":null,"number":1146,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1146","assignee":null,"title":"Document Project Generator / clean out old tools","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"}],"closed_at":null,"created_at":"2012-04-07T14:43:53Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294,"avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4015514,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-07T19:49:31Z","body":"When attempting to render a mesh to a PDF the ofCairoRender does not output a filled mesh, thus the PDF output looks empty. \r\n\r\nIf you open the file in illustrator you'll see the paths, there but with no stroke or fill. \r\n\r\nWhen I dug into the issue a bit further I realized that Cairo isn't capable of rendering shapes with per vertex colors easily...\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1145","comments":3,"milestone":null,"number":1145,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1145","assignee":null,"title":"ofCairoRenderer ofMesh doesn't render properly to PDF","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-04-06T22:02:01Z","state":"open","user":{"url":"https://api.github.com/users/rezaali","gravatar_id":"548374013b9c6e50ebbd2294e12d4f31","login":"rezaali","id":555207,"avatar_url":"https://secure.gravatar.com/avatar/548374013b9c6e50ebbd2294e12d4f31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4010494,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-01T04:21:01Z","body":"When using the ofColor subtraction operator, negative results are clamped to positive values instead of 0. Values are circulating between 0 and 255, which could be useful for hue in HSV but in most cases (R, G, B..) is not what I would expect.\r\n\r\n ofColor a(10, 40, 80);\r\n ofColor b(20, 5, 30);\r\n ofColor c = (a-b); // I get: (246, 45, 50), I would expect: (0, 45, 50)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1144","comments":9,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1144,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1144","assignee":null,"title":"ofColor subtraction and negative values","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-04-06T07:56:44Z","state":"open","user":{"url":"https://api.github.com/users/jembezmamy","gravatar_id":"69a23dc9914cb6bc3202c50e15eabba0","login":"jembezmamy","id":720354,"avatar_url":"https://secure.gravatar.com/avatar/69a23dc9914cb6bc3202c50e15eabba0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4001148,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-04T12:07:24Z","body":"When using the dragEvent ofDragInfo I always get the following error message:\r\n\r\nwarning: Could not find object file \"/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)\" - no debug information available for \"/Users/mcast/Code/GLUT-ToPost/macx_foreground.m\".\r\n\r\nIt doesn't seem to hurt my code but is a bit annoying, especially early on when I wasn't sure if it had anything to do with compile failings. Not a big issue obviously, but it might confuse some other newbie's also.\r\n\r\n(OF 0.07 - Xcode 4.2.1 - OS X 10.7.3 - macbook pro) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1138","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442,"avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1138,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1138","assignee":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"title":"benign error message","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-04-04T11:05:57Z","state":"open","user":{"url":"https://api.github.com/users/davideo71","gravatar_id":"42c3c1acbdb4a998d8096b49745219cd","login":"davideo71","id":1611385,"avatar_url":"https://secure.gravatar.com/avatar/42c3c1acbdb4a998d8096b49745219cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3968742,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-03T17:37:10Z","body":"theo's #1133 made me think about ways that i use noise regularly that might also be abstracted.\r\n\r\ni would also like to see versions of noise that return multidimensional results. normally i do something like:\r\n\r\n\tofVec2 a(ofSignedNoise(t, 0), ofSignedNoise(0, t)); // 1D -> 2D\r\n\tofVec2 b(ofSignedNoise(x, 0), ofSignedNoise(0, y)); // 2D -> 2D\r\n\tofVec3 c(ofSignedNoise(t, 0, 0), ofSignedNoise(0, t, 0), ofSignedNoise(0, 0, t)); // 1D -> 3D\r\n\tofVec3 d(ofSignedNoise(x, 0, 0), ofSignedNoise(0, y, 0), ofSignedNoise(0, 0, (x + y) / 2)); // 2D -> 3D\r\n\r\nand it would be good to spend some time making sure these are really good ways of doing it, then implement them inside some functions like `ofSignedNoise2()` and `ofSignedNoise3()` (for example).","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1134","comments":2,"milestone":null,"number":1134,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1134","assignee":null,"title":"multidimensional noise output","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T16:44:55Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106,"avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917377,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-01T17:48:12Z","body":"ie: the equivalent of doing \r\n\r\nfloat rate = 0.02 + ofNoise(ofGetElapsedTimeF() * 0.02, 100.0) * 0.015;\r\nfloat value = ofSignedNoise( rate, x, y ); \r\n\r\nas one function. \r\n\r\nalso see kyle's #1134 for other noise utils. \r\n\r\nI find myself needing this quite often for more natural random motion where the rate of change is variable. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1133","comments":0,"milestone":null,"number":1133,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1133","assignee":null,"title":"ofNoise and ofSignedNoise with 2nd order control for rate.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-04-01T15:45:11Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000,"avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":3917018,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '55518'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"99258d32bcb6ade5b1153c8155fc2466"'), ('date', 'Tue, 29 May 2012 20:01:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-04-02T02:05:52Z","body":"This is a feature discussion issue for what string features we should add to of.\r\nofZach mentioned some regexp ones from P5 match matchAll\r\nWould be great to get some eyes on this.\r\n\r\nOne approach would be a static class or namespace.\r\nThe idea would be we could include a variety of handy functions that would be useful for people not wanting to get into regexp\r\n\r\n\tofString::contains(str, \"apple\") //returns bool\r\n\tofString::starts(str, \"The\") //returns bool\r\n\tofString::ends(str, \".\") //returns bool\r\n\tofString::count(str, \"apples\") //count how many times apples appears in the \r\n\tofString::join(myVectorStr, \", \"); //this is currently ofJoinString\r\n\tofString::split(someText, \".\"); //this is currently ofSplitString\r\n\tofString::split(someHtml, \"<\", \">\"); //this is the same but returns a vector of things between the start and end delims\r\n\tofString::limit(someText, 200); //limit the text to 200 characters. optional arg to add ... to the end.\r\n\r\nQuestions:\r\n- Should we mirror P5 with match and matchAll or should we indicate that regexp is required? ie regexMatch regexMatchAll ?\r\n- Other string utils we could add?\r\n- Should it be ofStringUtils:: or ofString:: ?\r\n- Something to do a split and then return a vector of float int etc?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1132","comments":6,"milestone":null,"number":1132,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1132","assignee":null,"title":"ofStringUtils:: feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-31T17:52:48Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3911629,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-27T17:40:30Z","body":"This is a feature discussion issue for what should be added / changed to ofTTF.\r\nWould be great to get some eyes on this from @vtron @ofzach @arturoc and anyone with thoughts on the matter.\r\n\r\nTextAreas:\r\n- Fit text to a box\r\n- Handle overflow ( ie either truncate or resize box height )\r\n- non ragged options\r\n- could textAreas work with both ofTTF and ofDrawBitmapString ? abstract text formatting?\r\n\r\nAlignment:\r\n- Left align a string\r\n- Right align\r\n- Center\r\n- Top align \r\n- Base align \r\n\r\nSpacing:\r\n- Kerning\r\n- Leading / line height\r\n\r\nLoading:\r\n- Allow for loading a font up to a max size for drawing at different sizes. \r\n- Allow for selection and loading of specific sizes within one object. ie: myFont.setCurrentSize(12); \r\n- Font family's / sets ? Bold, Italic etc? \r\n\r\nDrawing:\r\n- Allow for drawing font at different sizes. Scale font as needed. \r\n\r\nFormatting:\r\n- Could we somehow allow a string to have different colors, sizes. Right now it is a pain to change colors or sizes. \r\n- would this be replicating basic html or another approach? maybe better as an addon?\r\n\r\nInfo:\r\n- Ability to get the x and y position of the nth character in the string? useful maybe for cursor or selection?\r\n\r\n**Update:**\r\n-Underline\r\n-Render rect behind text ( a la what @kylemcdonald added to ofDrawBitmapString)\r\n-Scale type to fit a rect + keep aspect ratio\r\n-Crazy: text along a path :) ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1131","comments":25,"milestone":null,"number":1131,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1131","assignee":null,"title":"ofTTF feature discussion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-typography","name":"section-typography","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T17:36:25Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3911537,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T14:44:01Z","body":"Agree on a common format for a header in the contributed example files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1130","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1130,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1130","assignee":null,"title":"Define standard header for examples.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/example","name":"example","color":"d1af26"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/documentation","name":"documentation","color":"cccc29"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-31T14:44:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3910580,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-24T02:12:05Z","body":"\r\n\r\nXcode 4 mangles OF projects pretty badly in the following ways: \r\n\r\na) it autogenerates schemes, and \"openframeworks\" appears as the chosen scheme\r\nb) it sometimes chooses the wrong SDK for OF -- is there a way to set that?\r\nc) debug and release are not really clear, part of this is a shift in xcode -- but it's much harder to see how things are compiled and to set release or debug\r\nd) I still had issues with OF needing to be recompiled all the time. I tried to fix this, but we should make sure it's done right. the of lib was appearing red even though it had been built, etc. \r\n\r\nI've tried to fix some of this in detroit with the PG, but I don't think it's the right way to do it. Overall, it would be great to have projects work smoothly on xcode 4...\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1129","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1129,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1129","assignee":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"title":"xcode 4 issues: scheme, auto-generation of schemes, rebuilding OF, sdk, etc","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-31T14:39:04Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":3910555,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T16:32:04Z","body":"When deprecating api's (e.g. ofEvents, ofVertexes), perhaps we could help automate the changes through simple scripts to update api\r\nSuggest sticking to something close to how uncrustify scripts are run (and perhaps there are tools like uncrustify but specifically for this task)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1128","comments":1,"milestone":null,"number":1128,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1128","assignee":null,"title":"upgrade scripts","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-31T14:38:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3910549,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:04Z","body":"It would be nice (and useful for testing the PG) if the PG would get an option to clean the examples folders of all generated files. \r\n\r\nCurrently, the quickest option is to delete the examples folder on disk, and do `git reset --hard HEAD`.\r\n\r\nAs before, milestoned for 0071, but feel free to push back.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1126","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1126,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1126","assignee":null,"title":"PG Feature request: Clean examples folder","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-30T12:51:30Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3897090,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T16:47:29Z","body":"there is a hard limit of 100 files when using drag & drop into an of app. not sure if it's an of issue, but am curious if it comes from the hacked glutDragEventFunc ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1124","comments":0,"milestone":null,"number":1124,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1124","assignee":null,"title":"void dragEvent(ofDragInfo dragInfo) limited to 100 files in osx lion","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-29T16:47:29Z","state":"open","user":{"url":"https://api.github.com/users/jesusgollonet","avatar_url":"https://secure.gravatar.com/avatar/5008d5295e9bc2636313c7b50ed5981d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5008d5295e9bc2636313c7b50ed5981d","login":"jesusgollonet","id":31100},"id":3883598,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-29T13:05:25Z","body":"When loading a file with ofImage, ofSoundPlayer , ofVideoPlayer-file or any ofFile it would be nice to be able to know if the file changed since it was loaded.\r\n\r\nIts very simple to implement with Poco::File->getLastModified() and it would be very nice if this would be built into the above classes.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1120","comments":2,"milestone":null,"number":1120,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1120","assignee":null,"title":"isFileChanged() for ofImage, ofVideoPlayer, ofSoundPlayer and ofFile","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-28T16:21:45Z","state":"open","user":{"url":"https://api.github.com/users/imanhp","avatar_url":"https://secure.gravatar.com/avatar/7398ab0bbd07832d0289f26773e65077?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7398ab0bbd07832d0289f26773e65077","login":"imanhp","id":1216228},"id":3856005,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-30T12:19:59Z","body":"paths.make should be in the repo as an example on how to set it up correctly, but changes (i.e. paths unique to every user) to it should be ignored cause everyone will have a different version in their computers so we don't want personal changes to appear in git status.\r\n\r\nI think the best way to solve this is to rename it to paths.make.default, keep this in the repo, maybe with `` instead of your path, and have people make their own paths.make from that one. We track changes to paths.make.default and ignore paths.make. \r\n\r\nThis will probably also need a mechanism in the makefile to fail gracefully and remind the user, if his customized paths.make is missing.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1118","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1118,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1118","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Default paths.make for Android","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/android","name":"android","color":"2bc4ad"}],"closed_at":null,"created_at":"2012-03-28T12:19:39Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3850655,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-18T17:13:36Z","body":"Once ofSetFrameRate() is called, I can't find a way to retrieve it. I think implementing a ofGetDesiredFrameRate() in ofAppRunner would make sense, also adding getDesiredFrameRate() to ofAppBaseWindow and all subclasses, where the actual value is stored. \r\n\r\nThis can be useful to compare the desired frame rate with actual frame rate and react accordingly if required.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1117","comments":0,"milestone":null,"number":1117,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1117","assignee":null,"title":"Can't retrieve desired frame rate once set","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-27T11:48:00Z","state":"open","user":{"url":"https://api.github.com/users/armadillu","avatar_url":"https://secure.gravatar.com/avatar/b87a82d7c86161432ee6388c7cbd5e2c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b87a82d7c86161432ee6388c7cbd5e2c","login":"armadillu","id":167057},"id":3825582,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T22:27:14Z","body":"https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/gl/ofVbo.cpp#L343\r\n\r\nIndices should be specified as GL_ELEMENT_ARRAY_BUFFER unless I am mistaken.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1116","comments":5,"milestone":null,"number":1116,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1116","assignee":null,"title":"ofVBO updateIndexData incorrect buffer type.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-26T18:26:05Z","state":"open","user":{"url":"https://api.github.com/users/vade","avatar_url":"https://secure.gravatar.com/avatar/37aca214d4875cd90af9d67072c82642?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"37aca214d4875cd90af9d67072c82642","login":"vade","id":65011},"id":3813852,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-26T18:45:51Z","body":"The default optimization settings for debug builds in example XCode projects is set to Fastest,Smallest thus making debugging very difficult, is there a specific reason for this?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1115","comments":3,"milestone":null,"number":1115,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1115","assignee":null,"title":"optimization level in xcode projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"}],"closed_at":null,"created_at":"2012-03-26T17:05:14Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872},"id":3812318,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-31T15:31:31Z","body":"I had some problems because of macro definitions in ofArduino.h overriding an enum in a a class of my codebase ( SHIFT )\r\nIt's not exactly a bug! but I would suggest using enums or const int instead of the macros to avoid any conflicts\r\nI solved the problem by modifying \r\n#define SHIFT 0x05 \r\ninto \r\nconst int SHIFT = 0x05;\r\n\r\nanother solution could be using enumerations as \r\nenum\r\n{\r\n ...\r\n SHIFT = 0x05,\r\n etc...\r\n};\r\n\r\nI believe this would not break any of the existing code\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1114","comments":1,"milestone":null,"number":1114,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1114","assignee":{"url":"https://api.github.com/users/joshuajnoble","avatar_url":"https://secure.gravatar.com/avatar/10960ba0f305803a1cdc7cd6188d643b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"10960ba0f305803a1cdc7cd6188d643b","login":"joshuajnoble","id":237423},"title":"macros in ofArduino","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-26T17:02:21Z","state":"open","user":{"url":"https://api.github.com/users/colormotor","avatar_url":"https://secure.gravatar.com/avatar/2548dbd6a86902ed5260b5f76710b83c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2548dbd6a86902ed5260b5f76710b83c","login":"colormotor","id":1239872},"id":3812275,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-27T14:56:56Z","body":"Hello.\r\n\r\nI'm trying to run camera frame grabing in OSX Lion.\r\nSimple ofVideoGrabber doesn't work - even if I link it with 10.6 SDK (and 10.6 is deployment target) I receive crash in initialization of ofVideoGrabber. Details are the same as in http://forum.openframeworks.cc/index.php/topic,6776.0.html\r\n\r\nI tryed QtKitMovieGrabberExample. It had some problems in compilation - texture property was not synthesized, I wrote this property and compilation run well.\r\nBut linking is fault. All I receive form linker is:\r\n\r\n*Ld bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug normal i386\r\n cd /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample\r\n setenv MACOSX_DEPLOYMENT_TARGET 10.6\r\n /Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freeimage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/fmodex/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx -L/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin -F/Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/glut/lib/osx -filelist /Users/yltastep/Library/Developer/Xcode/DerivedData/movieGrabberExample-aftkspwrgtotrteyzaplfbqzeasd/Build/Intermediates/movieGrabberExample.build/Debug/movieGrabberExample.build/Objects-normal/i386/movieGrabberExampleDebug.LinkFileList -mmacosx-version-min=10.6 -dead_strip ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a /Users/yltastep/Documents/XCode/openframeworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/GLee/lib/osx/GLee.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/rtAudio/lib/osx/rtAudio.a -framework AGL -framework ApplicationServices -framework AudioToolbox -framework Carbon -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework QuickTime -framework AppKit -framework Cocoa -framework IOKit -framework GLUT /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoFoundation.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoNet.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoUtil.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/poco/lib/osx/PocoXML.a /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/freetype/lib/osx/freetype.a -lfmodex /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/../../../libs/FreeImage/lib/osx/freeimage.a -framework QTKit -framework Quartz -framework QuartzCore -o /Users/yltastep/Documents/XCode/openframeworks/apps/devApps/QtKitMovieGrabberExample/bin/movieGrabberExampleDebug.app/Contents/MacOS/movieGrabberExampleDebug*\r\n\r\n**Command /Developer/usr/bin/clang++ failed with exit code 1**\r\n\r\nSo no explanation of problem.\r\n\r\nIs somebody ran this example successfully ?\r\nAnd what I'm doing wrong ?\r\n\r\nThanks in advance !\r\n\r\nWith regards.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1112","comments":9,"milestone":null,"number":1112,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1112","assignee":null,"title":"Issue with QtKitMovieGrabberExample in apps/devapps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-26T12:11:44Z","state":"open","user":{"url":"https://api.github.com/users/OlexandrStepanov","avatar_url":"https://secure.gravatar.com/avatar/aa6e2a475cab75513c9cc435b28eef31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"aa6e2a475cab75513c9cc435b28eef31","login":"OlexandrStepanov","id":971079},"id":3807459,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T20:07:16Z","body":"Todd's example has this code a few times in it by hand, but I'm thinking it's so simple it could be added along side ofSplitString() and would be really useful ? for sure, more string utility functions are helpful, and for basic text parsing, this is great. Poco gives us this for free, so it doesn't seem like a huge stretch to think of something like this, plus find and replace, etc. Would make the regex example much shorter. \r\n\r\np5 has something similar, if that's a helpful argument: \r\n\r\nhttp://processing.org/reference/matchAll_.html\r\n\r\n\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex );\r\n\tvector < string > ofxRegex::getMatchedStrings (string contents, string regex ){\r\n \r\n\t vector < string > results;\r\n\t RegularExpression regEx(regex);\r\n\t RegularExpression::Match match;\r\n \r\n\t while(regEx.match(contents, match) != 0) {\r\n \r\n\t // we get the sub string from the content\r\n\t // and then trim the content so that we\r\n\t // can continue to search \r\n\t string foundStr = contents.substr(match.offset, match.length);\r\n\t contents = contents.substr(match.offset + match.length);\r\n \r\n\t results.push_back(foundStr);\r\n \r\n\t }\r\n\t return results;\r\n\t}","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1110","comments":1,"milestone":null,"number":1110,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1110","assignee":null,"title":"add a simple regex function like ofSplitString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-25T18:56:37Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":3799872,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-25T18:50:13Z","body":"code to recreate: \r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::setup(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::update(){\r\n system(\"pwd;\");\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::draw(){\r\n}\r\n\r\n//--------------------------------------------------------------\r\nvoid testApp::keyPressed(int key){\r\n cout << ofToDataPath(\"temp\") << endl;\r\n}\r\n\r\nproduces: \r\n\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin\r\n../../../data/temp\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n/Users/zach/Desktop/openFrameworks__GIT/_myApps/test/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS\r\n\r\nthis is because the code that fixes OSX paths isn't called until you call ofToDataPath(). a good fix I think would be to set ofDataPathRoot (which happens in ofToDataPath) somewhere early in ofRunApp(). Or should it happen even earlier?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1109","comments":3,"milestone":null,"number":1109,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1109","assignee":null,"title":"mac paths don't seem right until you call \"ofToDataPath()\"","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/xcode","name":"xcode","color":"993e7a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"}],"closed_at":null,"created_at":"2012-03-25T18:18:28Z","state":"open","user":{"url":"https://api.github.com/users/ofZach","avatar_url":"https://secure.gravatar.com/avatar/04ffd573ed878bc5b8c818c3aeaa2d71?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"04ffd573ed878bc5b8c818c3aeaa2d71","login":"ofZach","id":142897},"id":3799653,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T13:06:18Z","body":"easycam behaves as expected when inited but as soon as I change it's target it begins to behave strangely.\r\nthere's this imaginary sphere that we are rotating (it's diameter is min (viewport.width, vieport.height)), when the mouse is dragged from inside to outside of it the rotation just jumps to a \"random\" rotation. \r\nas well when you have a the camera rotated more than 180º in some axis the \"trackball\" doesn't behave as expected. yet this behavior is not seen when the target hasn't been changed.\r\n\r\nDoes any one know what's going on?\r\n\r\nI just came across this but I haven't gone deeply into how easycam handles the mouse to rotate. \r\nI'll do so ASAP. If someone can give me any clues I'll really apreciate it.\r\n\r\nregards!","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1108","comments":7,"milestone":null,"number":1108,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1108","assignee":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"title":"easyCam weird behavior when target changed","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-25T00:01:54Z","state":"open","user":{"url":"https://api.github.com/users/roymacdonald","avatar_url":"https://secure.gravatar.com/avatar/fe632ca3d0c42747cfef88a95d942c4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"fe632ca3d0c42747cfef88a95d942c4a","login":"roymacdonald","id":974878},"id":3795495,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-09T16:47:18Z","body":"It would be great if the PG could also generate projects/examples for usage with Eclipse, i.e. just the makefile related files, no CB or other project files.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1103","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1103,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1103","assignee":null,"title":"PG feature request: Generate makefile-only projects","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-21T21:43:34Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3754055,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T16:18:43Z","body":"whenever i call ofLog beneath openmp i have to wrap it in ```#pragma omp critical (ofLog)``` otherwise i get a crash\r\ni found adding the line above \r\nhttps://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofLog.cpp#L84\r\nworks pretty well\r\n\r\nany objections to having it in there?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1098","comments":3,"milestone":null,"number":1098,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1098","assignee":null,"title":"feature / bug - #pragma omp critical(ofLog)","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-19T14:04:51Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3710293,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-15T20:34:17Z","body":"I'm finding that `ofDirector::listDir, open` are extremely slow\r\nit seems that it's actually loading the entire dir contents into memory\r\n\r\nit's possible to then do something like\r\n```\r\nofLoadImage(myPixels, dir.getFile(i));\r\n```\r\nand you can quickly load that image from memory. which is faster than\r\n```\r\nofLoadImage(myPixels, dir.getFile(i).getAbsolutePath());\r\n```\r\n\r\nBut this doesn't seem to work consistently (even though the slow listing is consistent)\r\nand surely isn't what we want.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1075","comments":2,"milestone":null,"number":1075,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1075","assignee":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"title":"bug ofDirectory::open(string path) actually loads the entire dir into memory?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-15T07:54:55Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3662214,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T16:03:06Z","body":"Hello,\r\nI needed alpha channel in short length video for a recent project.\r\nIn the forum there is some old zip file for a ofxAlphaVideoPlayer that is still working, but that's OS X & windows only as it's based on QT.\r\nI'm working on linux, and I didn't find anything for GStreamer, so I modified the existing ofGstUtils and ofGstVideoPlayer.\r\nWould you mind if I do a pull request for this?\r\nI can also provide an example with a short length video using animation codec.\r\nWhat do you think?","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1070","comments":6,"milestone":null,"number":1070,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1070","assignee":null,"title":"Alpha movies in GStreamer","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-14T13:02:41Z","state":"open","user":{"url":"https://api.github.com/users/manuelgeoffray","avatar_url":"https://secure.gravatar.com/avatar/c1ec5161b69b4a990436deafb1170d64?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c1ec5161b69b4a990436deafb1170d64","login":"manuelgeoffray","id":808090},"id":3647640,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-17T19:26:40Z","body":"Hey !\r\n\r\nMe again. Didn't find anywhere this infos. I'm currently testing the travis-ci.org service.\r\nAs many people are working on the project and as many many issue are raised, and fixed, I thought it could be great to add some test and thus the travis service.\r\n\r\nIt would avoid the problem met here :\r\nhttps://github.com/openframeworks/openFrameworks/commit/7ca7833ea1afb6bd5a6c54031e3fa688aa0c0ba8\r\nand the discussion here :\r\nhttps://github.com/openframeworks/openFrameworks/issues/804\r\nor there :\r\nhttps://github.com/openframeworks/openFrameworks/pull/921\r\n\r\nI read that :\r\n\r\n>feel free to make a unitTests folder at the root level of OF -\r\n> that is where all unitTests will go.\r\n\r\nBut didn't find them.\r\n\r\nThe travis service will permit to get the little badge we know well : \r\n[![Build Status](https://secure.travis-ci.org/soixantecircuits/openFrameworks.png?branch=master)](http://travis-ci.org/soixantecircuits/openFrameworks)\r\n\r\nAlso, why not adding some spec test, to ensure future development of features.\r\nI'm currently reading :\r\nhttp://www.squidoo.com/cplusplus-behaviour-driven-development-tools#module124841511\r\nhttp://sourceforge.net/apps/mediawiki/turtle/index.php?title=Turtle\r\n\r\nFor those who want some other nice reading :\r\n\r\nhttp://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle\r\n\r\nThe travis test is here, currently it is a total fake, but I just proposed the idea of a test driven development\r\nhttp://travis-ci.org/#!/soixantecircuits/openFrameworks/builds/854259 ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1068","comments":10,"milestone":null,"number":1068,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1068","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Continuous integration","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T15:49:23Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033},"id":3631618,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-13T15:21:30Z","body":"Hi !\r\n\r\nRecently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...\r\n\r\n## the situation \r\n\r\nWhat I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php. \r\n\r\n### the Rubyist\r\n\r\nThis way of thinking is getting even better with the http://gembundler.com/ [Bundler](http://gembundler.com/) friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.\r\n\r\n### the Cinderist\r\n\r\nFor Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.\r\n\r\n### the jQueryist\r\n\r\nWell, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.\r\n\r\n### the nodist\r\n\r\nThis lead us to http://npmjs.org/, which is really nice with dependencies.\r\nFor instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :\r\n\r\n```\r\n{\r\n \"name\": \"node-example\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": {\r\n \"express\": \"2.2.0\"\r\n }\r\n}\r\n```\r\n\r\nThis file ensure that everything before running the server will be installed via npm.\r\n\r\n### the ofist\r\n\r\nRight now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.\r\n\r\n- Why not creating a script that will allow to manage dependencies compilation ? \r\nI have this wonderful ofxJSONsettings, but he depends on [JSONCPP](http://jsoncpp.sourceforge.net/) and on boost, so here we will have :\r\n\r\npackage.json file in the ofxJSONsettings folder :\r\n\r\n```\r\n{\r\n \"name\": \"ofxJSONsettings\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"jsoncpp\": \"0.6.0-rc2\"\r\n \"url\":\"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/\"\r\n \"protocol\":\"svn\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nHum, then, we have our little bash script :\r\n\r\n`xadd -addon ofxJSONsettings`\r\n\r\nand for a project, we have to ensure that the make file run `xadd -addon ofxJSONsettings` if it does not find ofXJSONsettings.\r\n\r\nThis could lead to simplify and easify the use of plugin ! Hey, I want the new [mistubaRenderer](https://github.com/satoruhiga/ofxMitsubaRenderer) let's give a try :\r\n\r\n```\r\n{\r\n \"name\": \"ofxMitsubaRenderer\",\r\n \"version\": \"0.0.1\",\r\n \"dependencies\": [{\r\n \"mitsuba\": \"0.1\"\r\n \"url\":\"https://www.mitsuba-renderer.org/hg/mitsuba-bidir\"\r\n \"protocol\":\"hg\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\nWell, this would be simplify if everybody use some same pattern, and respect some convention.\r\n\r\nSo what do you guys think about that ?\r\n\r\n\r\nThank you !\r\n\r\n\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1063","comments":7,"milestone":null,"number":1063,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1063","assignee":null,"title":"Automatic installer + dependencies handler","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-13T10:44:57Z","state":"open","user":{"url":"https://api.github.com/users/gabrielstuff","avatar_url":"https://secure.gravatar.com/avatar/390ea42c23c2c383f973abdafa24bb07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"390ea42c23c2c383f973abdafa24bb07","login":"gabrielstuff","id":285033},"id":3627067,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T17:58:20Z","body":"right now there is a lot of duplicated code in the vector math classes. for example, normalize() and getNormalized() have separate implementations. if we follow the pattern of always implementing things in self-modifying methods, then providing copy-returning methods as alternatives, this will reduce the amount of code and make it harder to cause bugs or behavioral discrepancies.\r\n\r\n- implementations of an algorithm should always be self-modifying\r\n- copy-returning versions should be implemented using a differently named method, internally making a copy and calling the self-modifying version on the copy.\r\n\r\ne.g. something like (note, this isn't how it's implemented right now):\r\n\r\n\tinline ofVec2f& ofVec2f::normalize() {\r\n\t\tfloat length = (float)sqrt(x*x + y*y);\r\n\t\tif( length > 0 ) {\r\n\t\t\tx /= length;\r\n\t\t\ty /= length;\r\n\t\t}\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tinline ofVec2f ofVec2f::getNormalized() const {\r\n\t\tofVec2f result = *this;\r\n\t\treturn result.normalize();\r\n\t}\r\n\r\ntaken from this post https://github.com/openframeworks/openFrameworks/pull/1061#issuecomment-4455601","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1062","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1062,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1062","assignee":null,"title":"regularize code for math addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-12T16:33:06Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3614231,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-13T13:07:11Z","body":"Just saw this is the documentation.\r\nVertexes is incorrect (wrong plural)\r\nVertices","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1055","comments":18,"milestone":null,"number":1055,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1055","assignee":null,"title":"ofVertexes?? ofCurveVertexes","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-12T01:50:19Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3605277,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/openframeworks/openFrameworks/issues?page=4 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '44623'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"503341a3315e7439ca42af2db36615d4"'), ('date', 'Tue, 29 May 2012 20:01:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-10T17:52:58Z","body":"if you have:\r\n\r\n uniform float dog;\r\n float cat;\r\n\r\nand:\r\n\r\n shader.setUniform1f(\"dog\", ofGetElapsedTimef());\r\n shader.setUniform1f(\"cat\", ofGetElapsedTimef());\r\n\r\nthere is no currently no error printed to the console, and \"cat\" is mysteriously unchanging while \"dog\" is fine.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1052","comments":0,"milestone":null,"number":1052,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1052","assignee":null,"title":"ofShader should show an error when using an invalid name","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-10T17:52:58Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3596240,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"ofxiPhoneScreenGrab saves with compression artifacts.\r\nfix for saving a lossless image in the below post,\r\nhttp://forum.openframeworks.cc/index.php/topic,4737.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1051","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1051,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1051","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"ofxiPhoneScreenGrab saves with compression artifacts.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-10T12:15:33Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3594731,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:09:09Z","body":"just wanted to kick off a discussion about cleaning up ofxiPhone folder structure.\r\nhave this up on the forum, http://forum.openframeworks.cc/index.php/topic,8955.0.html","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1050","comments":5,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1050,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1050","assignee":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"title":"clean up ofxiPhone folder structure.","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-10T06:32:12Z","state":"open","user":{"url":"https://api.github.com/users/julapy","avatar_url":"https://secure.gravatar.com/avatar/8dca8d8de1b5950c895fb72e0527c6f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"8dca8d8de1b5950c895fb72e0527c6f0","login":"julapy","id":331382},"id":3593619,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:55:24Z","body":"This an implementation of ofxiPhoneScreenGrab for Android","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1048","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1048,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1048","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Adding Android screenshot feature, example to demonstrate it","labels":[],"closed_at":null,"created_at":"2012-03-10T05:31:45Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3593430,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1048.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1048","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1048.patch"}},{"updated_at":"2012-03-12T15:31:12Z","body":"whenever I try to open a file using system dialog from OF utils or ofxFileDIalogOSX, the video is loaded correctly but it get stuck and doesn't play at all. see:\r\nhttp://forum.openframeworks.cc/index.php/topic,5233.0.html\r\nhttp://forum.openframeworks.cc/index.php/topic,6515.0.html\r\n\r\nquite a big issue IMHO","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1047","comments":8,"milestone":null,"number":1047,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1047","assignee":null,"title":"opening video files with system dialog in osx prevents them to play correctly","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/macOS","name":"macOS","color":"2a8296"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-video","name":"section-video","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-03-09T18:54:28Z","state":"open","user":{"url":"https://api.github.com/users/hvfrancesco","avatar_url":"https://secure.gravatar.com/avatar/e02a8a3953de9d5d9ec1c7aa8d43eca4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e02a8a3953de9d5d9ec1c7aa8d43eca4","login":"hvfrancesco","id":614123},"id":3587808,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-20T16:11:54Z","body":"just a small one but would be great. \r\nmaybe even different icon for debug and release? ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1039","comments":12,"milestone":null,"number":1039,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1039","assignee":null,"title":"make icons for OF apps","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-06T17:56:58Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3528378,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-06T15:32:44Z","body":"right now it is not clear from a visual perspective what is a button / trigger and what is a toggle. ","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1037","comments":1,"milestone":null,"number":1037,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1037","assignee":null,"title":"ofxGui, ofxButton should look visually different to toggle","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-05T18:06:03Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3510933,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-04-10T19:29:53Z","body":"xml is one of the reasons this is currently an addon. \r\nthe original idea was to have something simple and minimal that could be in the core. \r\nalso something which could be built off of for larger gui addons ( hence ofParameter ) \r\n\r\nI see a couple of options going forward.\r\n\r\n1) swtich from xml to newline separated text files and move ofGui into core\r\nthis would be quite simple as ofParameter already has a name, value structure \r\n\r\n2) same as 1) but keep ofxGui as an addon - making it a bit simpler to add to a project \r\n2b) add ofParameter to core as it is more general purpose\r\n\r\n3) bring ofxXmlSettings into the core and bring ofGui into core.\r\n\r\n\r\nanyway I thought it would be good to get some discussion going about this.\r\nI'm especially interested in setting up ofParam and ofBaseGui in a way to make things modular and extendable. \r\n\r\nalso could be interesting to look at a way to represent a collection/group of ofParameters\r\nsome of this might be similar to some of the stuff @memo was doing with his plist style system. \r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1036","comments":10,"milestone":null,"number":1036,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1036","assignee":null,"title":"ofxGui -> ofGui - how/should we bring into core?","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-05T16:56:26Z","state":"open","user":{"url":"https://api.github.com/users/ofTheo","avatar_url":"https://secure.gravatar.com/avatar/3b0860ec0180f7fb7ac4d2cd9252ec3f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3b0860ec0180f7fb7ac4d2cd9252ec3f","login":"ofTheo","id":144000},"id":3509628,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-12T12:39:10Z","body":"If it finds .vert, .frag (and .geom?) files in the data/ folder, the project generator should make a new folder, in the project file, next to (or inside) src called data/ and add the files to it. (data/ so that beginners can find the files in Finder)","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1034","comments":3,"milestone":null,"number":1034,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1034","assignee":null,"title":"projectGenerator ignores shader .vert and .frag files","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/project+generator","name":"project generator","color":"444444"}],"closed_at":null,"created_at":"2012-03-04T11:19:04Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3495602,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-06T15:06:00Z","body":"I talked to Arturo about this, but I want to make sure it's known. When you call ofLogSetLogLevel with a module string, that string is added to a map used to check the module's log level ... but right now that string is never removed.\r\n\r\nIf someone creates a large amount module names the map could grow arbitrarily large over time. The thought so far is that no one would make enough module names for it to be a problem.\r\n\r\nFor instance, using the [proposed ofThread rewrite](https://github.com/openframeworks/openFrameworks/pull/1031), each thread creates a new module name when it sets itself to verbose and, in the case of spawning lots of verbose worker threads, the map will grow.\r\n\r\nMy proposed solution would be to remove the module name from the map when the level for that module is set back to OF_LOG_NOTICE and/or to the current log level.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1033","comments":11,"milestone":null,"number":1033,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1033","assignee":null,"title":"ofSetLogLevel(module, level) adds to map but dosen't remove","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-03-04T10:54:12Z","state":"open","user":{"url":"https://api.github.com/users/danomatika","avatar_url":"https://secure.gravatar.com/avatar/5fa1d3aa502b308b8a3ae814fb88ac04?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5fa1d3aa502b308b8a3ae814fb88ac04","login":"danomatika","id":480637},"id":3495503,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T15:11:08Z","body":"this change c50648e29199a3f61eae05f6ceb350a97ab275d7 caused the problem. i'm not sure why adding explicit cases for handling loadData for ofShortPixels and ofFloatPixels would do this. to see the proof, run devApps/AdvancedImageLoading","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1029","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1029,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1029","assignee":null,"title":"display of short + float textures are broken","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-03-03T19:04:59Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3491627,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-10T06:54:25Z","body":"I've just encountered a real 'wall meets head' bug, aka 'why is my camera image black??'\r\n\r\nwell it turns out that actually, ofSaveImage doesn't save mono images\r\nit just saves out black pixels\r\n\r\ntesting on Windows, VS2010.\r\nAnybody else getting this?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1028","comments":5,"milestone":null,"number":1028,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1028","assignee":null,"title":"ofSaveImage / ofImage::saveImage() problem with OF_IMAGE_GRAYSCALE / OF_PIXELS_MONO","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-03-03T12:23:06Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3489266,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-16T09:25:13Z","body":"The Android example is basically a copy of the existing 3dModelBuilder example with some code changes to work with OpenGL ES","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1024","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":1024,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1024","assignee":{"url":"https://api.github.com/users/arturoc","avatar_url":"https://secure.gravatar.com/avatar/84c985e7168027f833fd837f3afd9f3e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"84c985e7168027f833fd837f3afd9f3e","login":"arturoc","id":48240},"title":"Fixing 3DModelBuilder to work with OpenGL ES, added Android example for it","labels":[],"closed_at":null,"created_at":"2012-03-02T16:55:29Z","state":"open","user":{"url":"https://api.github.com/users/bostonbusmap","avatar_url":"https://secure.gravatar.com/avatar/433032cca043cedb67180dc5109062da?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"433032cca043cedb67180dc5109062da","login":"bostonbusmap","id":863262},"id":3479768,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/1024.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/1024","patch_url":"https://github.com/openframeworks/openFrameworks/pull/1024.patch"}},{"updated_at":"2012-03-30T16:34:06Z","body":"Continuation of http://forum.openframeworks.cc/index.php/topic,9095.msg42378.html#new\r\n\r\nNOTE: Things may have changed as the projects I'm using are all created using the older creation tools.\r\nCan somebody up to date please check?\r\n\r\nCurrently XCode's default project setting is /O2 for debug projects\r\nwhilst Visual Studio's is /O0\r\n\r\n/O0 generally makes the most sense for debug mode as it allows for effective program flow and variable tracking (because with /O2, lines of code and variables are commonly optimised away).\r\n\r\nIf we are worried that this will leave default users in a default 'slower state' then perhaps we could make release the default? Then people could be aware that they are selecting debug when they want to actually do some debugging?\r\nBut this may have other issues (such as some libraries might not perform as many checks as otherwise?)\r\n\r\nit might be worth making users more aware of the 2 options anyway, and then start using them consistently","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1022","comments":12,"milestone":null,"number":1022,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1022","assignee":null,"title":"Optimisation consistency","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-02T13:25:15Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3476540,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-01T19:42:09Z","body":"currently if MSAA is enabled, COLOR_ATTACHMENT[ 0 -> nSamples]_EXT are bound for MS blitting, which could overwrite your texture color attachments without notifying you [ i.e. setSamples(4); setNumTextures(4) ]. There may be some solution where numSamples*numTextures = maxAttachments, allowing for multisampled internal textures, but at the very least we should warn/notify that samples and textures won't play so nicely together, or try to allocate samples/textures in the remaining attachments and notify on overflow.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1019","comments":0,"milestone":null,"number":1019,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1019","assignee":null,"title":"ofFbo needs consideration as far as MRT + MSAA","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-03-01T19:42:09Z","state":"open","user":{"url":"https://api.github.com/users/kpasko","avatar_url":"https://secure.gravatar.com/avatar/b3685ad8a761582e5f1c3e151f9f854f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b3685ad8a761582e5f1c3e151f9f854f","login":"kpasko","id":167271},"id":3462226,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-01T04:33:36Z","body":"there's a block in ofConstants which reads like:\r\n\r\n```c++\r\n#ifndef PI\r\n\t#define PI 3.14159265358979323846\r\n#endif\r\n\r\n#ifndef TWO_PI\r\n\t#define TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef M_TWO_PI\r\n\t#define M_TWO_PI 6.28318530717958647693\r\n#endif\r\n\r\n#ifndef FOUR_PI\r\n\t#define FOUR_PI 12.56637061435917295385\r\n#endif\r\n\r\n#ifndef HALF_PI\r\n\t#define HALF_PI 1.57079632679489661923\r\n#endif\r\n\r\n#ifndef DEG_TO_RAD\r\n\t#define DEG_TO_RAD (PI/180.0)\r\n#endif\r\n\r\n#ifndef RAD_TO_DEG\r\n\t#define RAD_TO_DEG (180.0/PI)\r\n#endif\r\n\r\n#ifndef MIN\r\n\t#define MIN(x,y) (((x) < (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef MAX\r\n\t#define MAX(x,y) (((x) > (y)) ? (x) : (y))\r\n#endif\r\n\r\n#ifndef CLAMP\r\n\t#define CLAMP(val,min,max) (MAX(MIN(val,max),min))\r\n#endif\r\n\r\n#ifndef ABS\r\n\t#define ABS(x) (((x) < 0) ? -(x) : (x))\r\n#endif\r\n```\r\n\r\nthe problem is i've got this in another header file:\r\n\r\n```c++\r\n// macro-like inline functions\r\n\r\ntemplate\r\ninline T SQR(const T a) {return a*a;}\r\n\r\ntemplate\r\ninline const T &MAX(const T &a, const T &b)\r\n {return b > a ? (b) : (a);}\r\n\r\ninline float MAX(const double &a, const float &b)\r\n {return b > a ? (b) : float(a);}\r\n\r\ninline float MAX(const float &a, const double &b)\r\n {return b > a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline const T &MIN(const T &a, const T &b)\r\n {return b < a ? (b) : (a);}\r\n\r\ninline float MIN(const double &a, const float &b)\r\n {return b < a ? (b) : float(a);}\r\n\r\ninline float MIN(const float &a, const double &b)\r\n {return b < a ? float(b) : (a);}\r\n\r\ntemplate\r\ninline T SIGN(const T &a, const T &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const float &a, const double &b)\r\n\t{return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a);}\r\n\r\ninline float SIGN(const double &a, const float &b)\r\n\t{return (float)(b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a));}\r\n```\r\n\r\nAnd ofConstants is included in almost every oF file\r\n\r\ni'd suggest moving to inline functions and presume that compiler optimisations makes these 2 options equivalent in terms of performance, but that inline wins out for compatability","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1007","comments":10,"milestone":null,"number":1007,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1007","assignee":null,"title":"bug #defines in ofConstants conflict with other libraries","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-29T15:31:18Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3438233,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-01T13:02:37Z","body":"Propose the following functions:\r\n\r\n```c++\r\nofVec2f ofRandom(const ofVec2f&);\r\nofVec3f ofRandom(const ofVec3f&);\r\nofVec2f ofRandom(const ofVec2f& range1, const ofVec2f& range2);\r\nofVec3f ofRandom(const ofVec3f& range1, const ofVec3f& range2);\r\n```\r\n\r\nalso lots of other candidates for this, e.g. `ofClamp`, `ofMap`, etc\r\nsome clever templating possible?\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1005","comments":12,"milestone":null,"number":1005,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1005","assignee":null,"title":"feature ofRandom(ofVec3f) ","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/feature","name":"feature","color":"622425"}],"closed_at":null,"created_at":"2012-02-29T06:32:03Z","state":"open","user":{"url":"https://api.github.com/users/elliotwoods","avatar_url":"https://secure.gravatar.com/avatar/bea30676dca310e7f38269f245214944?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bea30676dca310e7f38269f245214944","login":"elliotwoods","id":328294},"id":3432042,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-18T08:47:08Z","body":"I have a simple app that plays video files. I try to route (under windows) its output using Jack and Vitual Audio Cable but none can access it. I am just using the basic functionality of ofVideoPlayer, this is the class that deals with the video playing\r\n\r\n\r\n\t#include \"oscVPlayer.h\"\r\n\t#include \"ofMain.h\"\r\n\r\n\r\n\r\n\toscVPlayer::oscVPlayer()\r\n\t{\r\n\t\t\treset();\r\n\t}\r\n\r\n\tvoid oscVPlayer::reset()\r\n\t{ //defaults to fullscreen\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t\t\tx = 0;\r\n\t\t\ty = 0;\r\n\t\t\tdonereported = false;\r\n\t\t\tloopflag = OF_LOOP_NONE;\r\n\t\t\t\r\n\t\t\tcol.r = 0;\r\n\t\t\tcol.g = 0;\r\n\t\t\tcol.b = 0;\r\n\t\t\tcol.a = 255;\r\n\r\n\t\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t\t\tsetFrame(0);\r\n\t\t\t\t\tsetUseTexture(1);\r\n\t\t\t\t\tsetPaused(0);\r\n\t\t\t\t\tsetLoopState(OF_LOOP_NORMAL);\r\n\t\t\t\t\tsetSpeed(1);\r\n\t\t\t\t\tsetVolume(255);\r\n\t\t\t\t\tstop();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::setUpVideo(string movie)\r\n\t{\r\n\t\t\tif (movie != \"none\")\r\n\t\t\t{\r\n\t\t\t\t\tif ( loadMovie(movie) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"movie loaded\\n\");\r\n\t\t\t\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\tprintf(\"CANNOT load movie\\n\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\tprintf(\"movie parameter is none, cannot load it\\n\");\r\n\t\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::setLoop()\r\n\t{\r\n\t\t\tsetLoopState(loopflag); // go back to your state. otherwise play resets it to loop ON\r\n\t}\r\n\r\n\r\n\r\n\r\n\tvoid oscVPlayer::resetSize()\r\n\t{\r\n\t\t\tw = NULL;\r\n\t\t\th = NULL;\r\n\t}\r\n\r\n\r\n\tvoid oscVPlayer::draw()\r\n\t{\r\n\t\tif (isLoaded())\r\n\t\t{\r\n\t\t\t if (col.a < 255) ofEnableAlphaBlending();\r\n\t\t\t\tofSetColor(col.r,col.g,col.b, col.a);\r\n\t\t\t\tofVideoPlayer::update();\r\n\t\t\t\tif (w==NULL && h==NULL)\r\n\t\t\t\t{\r\n\t\t\t\t\t\tofVideoPlayer::draw(x, y);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\t\tofVideoPlayer::draw(x, y, w, h);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (col.a < 255) ofDisableAlphaBlending(); \r\n\t\t}\r\n\t}\r\n","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/1001","comments":2,"milestone":null,"number":1001,"html_url":"https://github.com/openframeworks/openFrameworks/issues/1001","assignee":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"title":"OF app sound out not available from Jack","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/windows","name":"windows","color":"244569"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-sound","name":"section-sound","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-27T14:59:34Z","state":"open","user":{"url":"https://api.github.com/users/enrike","avatar_url":"https://secure.gravatar.com/avatar/cc2adbc6d91bf2288f34f60a547a82cd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"cc2adbc6d91bf2288f34f60a547a82cd","login":"enrike","id":710785},"id":3401755,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-05-29T14:42:36Z","body":"// scissor\r\nvoid ofBeginScissor(ofRectangle &r);\r\nvoid ofBeginScissor(ofPoint &p, float w, float h);\r\nvoid ofBeginScissor(float x, float y, float w, float h);\r\nvoid ofEndScissor();\r\n\r\n\r\nthere is a problem with ofFBO due to the flip. I do not think that there is a way around it sooo just scale -1\r\n\r\nalso: \r\nextra ; removed \r\nlibs/openFrameworks/utils/ofUtils.cpp","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/993","comments":11,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":993,"html_url":"https://github.com/openframeworks/openFrameworks/issues/993","assignee":null,"title":"Of scissors","labels":[],"closed_at":null,"created_at":"2012-02-26T21:35:55Z","state":"open","user":{"url":"https://api.github.com/users/vanderlin","avatar_url":"https://secure.gravatar.com/avatar/96c91dba0113ea847ee43b0961d24b3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96c91dba0113ea847ee43b0961d24b3a","login":"vanderlin","id":149997},"id":3393466,"pull_request":{"diff_url":"https://github.com/openframeworks/openFrameworks/pull/993.diff","html_url":"https://github.com/openframeworks/openFrameworks/pull/993","patch_url":"https://github.com/openframeworks/openFrameworks/pull/993.patch"}},{"updated_at":"2012-02-25T20:25:00Z","body":"i think this is because ofDrawBitmapString draws the quads in the wrong orientation. but i'm guessing it works in FBOs... so if we switch the order it will stop working in FBOs.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/987","comments":0,"milestone":null,"number":987,"html_url":"https://github.com/openframeworks/openFrameworks/issues/987","assignee":null,"title":"GL_CULL_FACE breaks ofDrawBitmapString()","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-3D","name":"section-3D","color":"DDDDDD"}],"closed_at":null,"created_at":"2012-02-25T20:25:00Z","state":"open","user":{"url":"https://api.github.com/users/kylemcdonald","avatar_url":"https://secure.gravatar.com/avatar/e5d92e48e175112e9df112e2418bd528?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"e5d92e48e175112e9df112e2418bd528","login":"kylemcdonald","id":157106},"id":3387163,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-22T23:34:17Z","body":"Some logging messages don't really tell where they were triggered. Someone needs to go through them and add information as to what module triggered the message. \r\n@danomatika has already volunteered to do this some time.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/985","comments":16,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/5","number":5,"closed_issues":21,"title":"0072 Release","due_on":"2012-06-25T07:00:00Z","open_issues":81,"created_at":"2011-12-02T15:29:48Z","state":"open","description":"","id":61810},"number":985,"html_url":"https://github.com/openframeworks/openFrameworks/issues/985","assignee":null,"title":"Make logging messages more informative","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/fix-proposed","name":"fix-proposed","color":"31e03a"}],"closed_at":null,"created_at":"2012-02-25T19:41:58Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386914,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-11T18:31:55Z","body":"There's a lot of logging printfs in the core addons. These should be replaced by appropriate ofLog calls.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/984","comments":5,"milestone":null,"number":984,"html_url":"https://github.com/openframeworks/openFrameworks/issues/984","assignee":null,"title":"Replace printf() occurences by ofLog() in the core addons","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/addon","name":"addon","color":"d68e22"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"}],"closed_at":null,"created_at":"2012-02-25T19:36:51Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3386889,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-27T13:35:34Z","body":"`ofVec2f` has a function called `average` which takes an array of `ofVec2f` and calculates the centroid. it is not static, rather it overwrites its own `x` and `y` with the average. \r\n\r\nthis is a little weird. `average` should be static, or at least be *returning* the average rather than assigning to self.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/976","comments":4,"milestone":null,"number":976,"html_url":"https://github.com/openframeworks/openFrameworks/issues/976","assignee":null,"title":"ofVec2f::average has unexpected/clumsy behaviour","labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/core","name":"core","color":"db6a1f"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/development-strategy","name":"development-strategy","color":"37c200"}],"closed_at":null,"created_at":"2012-02-25T03:45:02Z","state":"open","user":{"url":"https://api.github.com/users/damiannz","avatar_url":"https://secure.gravatar.com/avatar/d1e060fe75a68836bf8a3209a9066bbe?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d1e060fe75a68836bf8a3209a9066bbe","login":"damiannz","id":144366},"id":3382990,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T02:47:26Z","body":"Dummy issue to ensure that the 0076 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/972","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/10","number":10,"closed_issues":0,"title":"0076 Release","due_on":"2012-10-29T07:00:00Z","open_issues":1,"created_at":"2012-02-25T02:46:26Z","state":"open","description":"","id":88838},"number":972,"html_url":"https://github.com/openframeworks/openFrameworks/issues/972","assignee":null,"title":"0076 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:26Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382766,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-02-25T02:47:37Z","body":"Dummy issue to ensure that the 0075 milestone stays open. Only close immediately before release.","url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/971","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"url":"https://api.github.com/repos/openframeworks/openFrameworks/milestones/9","number":9,"closed_issues":0,"title":"0075 Release","due_on":"2012-09-24T07:00:00Z","open_issues":1,"created_at":"2012-02-25T02:46:15Z","state":"open","description":"","id":88837},"number":971,"html_url":"https://github.com/openframeworks/openFrameworks/issues/971","assignee":null,"title":"0075 Release tracking issue","labels":[],"closed_at":null,"created_at":"2012-02-25T02:47:05Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":3382764,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/Persistence.setUp.txt b/github/tests/ReplayData/Persistence.setUp.txt deleted file mode 100644 index dfc62ba..0000000 --- a/github/tests/ReplayData/Persistence.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/akfish/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13698'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:09:11 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"8600bedcb7fed1d8065e1693e05529ce"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:13:08 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')] -{"id":12156762,"name":"PyGithub","full_name":"akfish/PyGithub","owner":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"private":false,"html_url":"https://github.com/akfish/PyGithub","description":"Python library implementing the full Github API v3","fork":true,"url":"https://api.github.com/repos/akfish/PyGithub","forks_url":"https://api.github.com/repos/akfish/PyGithub/forks","keys_url":"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akfish/PyGithub/teams","hooks_url":"https://api.github.com/repos/akfish/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/akfish/PyGithub/events","assignees_url":"https://api.github.com/repos/akfish/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/akfish/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/akfish/PyGithub/tags","blobs_url":"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/akfish/PyGithub/languages","stargazers_url":"https://api.github.com/repos/akfish/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/akfish/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/akfish/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/akfish/PyGithub/subscription","commits_url":"https://api.github.com/repos/akfish/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/akfish/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/akfish/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akfish/PyGithub/merges","archive_url":"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akfish/PyGithub/downloads","issues_url":"https://api.github.com/repos/akfish/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/akfish/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/akfish/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akfish/PyGithub/labels{/name}","created_at":"2013-08-16T10:56:11Z","updated_at":"2013-08-22T02:09:11Z","pushed_at":"2013-08-22T02:09:09Z","git_url":"git://github.com/akfish/PyGithub.git","ssh_url":"git@github.com:akfish/PyGithub.git","clone_url":"https://github.com/akfish/PyGithub.git","svn_url":"https://github.com/akfish/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":6736,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":70,"parent":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"}} - diff --git a/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt b/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt deleted file mode 100644 index b6d8aee..0000000 --- a/github/tests/ReplayData/Persistence.testLoadAndUpdate.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/akfish/PyGithub -{'If-None-Match': '"8600bedcb7fed1d8065e1693e05529ce"', 'User-Agent': 'PyGithub/Python', 'Authorization': 'Basic login_and_password_removed', 'If-Modified-Since': 'Thu, 22 Aug 2013 02:09:11 GMT'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '13712'), ('server', 'GitHub.com'), ('last-modified', 'Thu, 22 Aug 2013 02:14:54 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"ef281ef0e821c18f80da36902727160b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 22 Aug 2013 02:15:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1377140429')] -{"id":12156762,"name":"PyGithub","full_name":"akfish/PyGithub","owner":{"login":"akfish","id":922715,"avatar_url":"https://0.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User"},"private":false,"html_url":"https://github.com/akfish/PyGithub","description":"Python library implementing the full Github API v3 - AKFish Fork","fork":true,"url":"https://api.github.com/repos/akfish/PyGithub","forks_url":"https://api.github.com/repos/akfish/PyGithub/forks","keys_url":"https://api.github.com/repos/akfish/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akfish/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akfish/PyGithub/teams","hooks_url":"https://api.github.com/repos/akfish/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/akfish/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/akfish/PyGithub/events","assignees_url":"https://api.github.com/repos/akfish/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/akfish/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/akfish/PyGithub/tags","blobs_url":"https://api.github.com/repos/akfish/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akfish/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akfish/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/akfish/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akfish/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/akfish/PyGithub/languages","stargazers_url":"https://api.github.com/repos/akfish/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/akfish/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/akfish/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/akfish/PyGithub/subscription","commits_url":"https://api.github.com/repos/akfish/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/akfish/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/akfish/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/akfish/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/akfish/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/akfish/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akfish/PyGithub/merges","archive_url":"https://api.github.com/repos/akfish/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akfish/PyGithub/downloads","issues_url":"https://api.github.com/repos/akfish/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/akfish/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/akfish/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/akfish/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akfish/PyGithub/labels{/name}","created_at":"2013-08-16T10:56:11Z","updated_at":"2013-08-22T02:14:54Z","pushed_at":"2013-08-22T02:09:09Z","git_url":"git://github.com/akfish/PyGithub.git","ssh_url":"git@github.com:akfish/PyGithub.git","clone_url":"https://github.com/akfish/PyGithub.git","svn_url":"https://github.com/akfish/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":6736,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":70,"parent":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-08-21T20:32:08Z","pushed_at":"2013-08-21T20:31:45Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":7437,"watchers_count":248,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":17,"forks":70,"open_issues":17,"watchers":248,"master_branch":"master","default_branch":"master"}} - diff --git a/github/tests/ReplayData/PullRequest.setUp.txt b/github/tests/ReplayData/PullRequest.setUp.txt deleted file mode 100644 index d368fd1..0000000 --- a/github/tests/ReplayData/PullRequest.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4950'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e3511a4776ec399b168eb5f96423f3c8"'), ('date', 'Sun, 27 May 2012 10:32:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"collaborators":0,"type":"User","disk_usage":16856,"bio":"","public_gists":3,"url":"https://api.github.com/users/jacquev6","private_gists":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","total_private_repos":5,"followers":13,"name":"Vincent Jacques","public_repos":11,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"owned_private_repos":5,"following":24,"html_url":"https://github.com/jacquev6","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"65cfc4c324b5a85af62a0091f4d86503"'), ('date', 'Sun, 27 May 2012 10:32:05 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T10:29:10Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":188,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T10:29:09Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '4182'), ('server', 'nginx'), ('last-modified', 'Sat, 03 Nov 2012 08:19:40 GMT'), ('connection', 'keep-alive'), ('etag', '"1ec7d9f2ebb27db7dc002f1382d23975"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 03 Nov 2012 08:19:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"additions":511,"deletions":384,"merged_at":"2012-05-27T10:29:07Z","base":{"label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"watchers":97,"pushed_at":"2012-11-03T08:07:38Z","watchers_count":97,"forks":27,"open_issues":12,"mirror_url":null,"description":"Python library implementing the full Github API v3","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146},"open_issues_count":12,"url":"https://api.github.com/repos/jacquev6/PyGithub","updated_at":"2012-11-03T08:07:40Z","html_url":"https://github.com/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","language":"Python","has_downloads":true,"ssh_url":"git@github.com:jacquev6/PyGithub.git","size":256,"forks_count":27,"fork":false,"full_name":"jacquev6/PyGithub","name":"PyGithub","created_at":"2012-02-25T12:53:47Z","git_url":"git://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://vincent-jacques.net/PyGithub","has_wiki":true,"private":false,"id":3544490,"has_issues":true},"sha":"ed866fc43833802ab553e5ff8581c81bb00dd433","ref":"topic/RewriteWithGeneratedCode","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146}},"review_comments":1,"changed_files":45,"merge_commit_sha":"28ae6dd10ebccd5eaf8db8dacb5b699ee7f4a663","closed_at":"2012-05-27T10:29:07Z","number":31,"issue_url":"https://github.com/jacquev6/PyGithub/issues/31","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","milestone":null,"updated_at":"2012-11-03T08:19:40Z","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","html_url":"https://github.com/jacquev6/PyGithub/pull/31","merged_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146},"commits":3,"state":"closed","mergeable":false,"_links":{"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"}},"head":{"label":"BeaverSoftware:master","repo":null,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","ref":"master","user":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"BeaverSoftware","id":1424031}},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146},"assignees":[{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","login":"stuglaser","id":1527117},{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146}],"diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","comments":1,"created_at":"2012-05-27T09:25:36Z","id":1436215,"merged":true,"mergeable_state":"dirty","body":"Body edited by PyGithub","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146},"title":"Title edited by PyGithub"} - diff --git a/github/tests/ReplayData/PullRequest.testCreateComment.txt b/github/tests/ReplayData/PullRequest.testCreateComment.txt deleted file mode 100644 index d824a0d..0000000 --- a/github/tests/ReplayData/PullRequest.testCreateComment.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits/8a4f306d4b223682dd19410d4a9150636ebe4206 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '19468'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"54236e7f65246e5fdb1122bd461e4a5d"'), ('date', 'Fri, 01 Jun 2012 19:43:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","stats":{"additions":131,"total":135,"deletions":4},"files":[{"changes":17,"additions":14,"status":"modified","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -110,7 +110,7 @@ def user( self ):\n return self.__user\n \n def add_to_labels( self, *labels ):\n- post_parameters = labels\n+ post_parameters = [ label.name for label in labels ]\n status, headers, data = self.__requester.request(\n \"POST\",\n str( self.url ) + \"/labels\",\n@@ -131,7 +131,12 @@ def create_comment( self, body ):\n return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n- pass\n+ status, headers, data = self.__requester.request(\n+ \"DELETE\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ None\n+ )\n \n def edit( self, title = DefaultValueForOptionalParameters, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -216,7 +221,13 @@ def remove_from_labels( self, label ):\n )\n \n def set_labels( self, *labels ):\n- pass\n+ post_parameters = [ label.name for label in labels ]\n+ status, headers, data = self.__requester.request(\n+ \"PUT\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ post_parameters\n+ )\n \n def __initAttributes( self ):\n self.__assignee = None","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","filename":"src/github/Issue.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","deletions":3},{"changes":7,"additions":7,"status":"modified","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -1,6 +1,8 @@\n # WARNING: this file is generated automaticaly.\n # Do not modify it manually, your work would be lost.\n \n+import urllib\n+\n import PaginatedList\n from GithubObject import *\n \n@@ -43,6 +45,11 @@ def edit( self, name, color ):\n )\n self.__useAttributes( data )\n \n+ # @toto Remove '_identity' from the normalized json description\n+ @property\n+ def _identity( self ):\n+ return urllib.quote( self.name )\n+\n def __initAttributes( self ):\n self.__color = None\n self.__name = None","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","filename":"src/github/Label.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","deletions":0},{"changes":26,"additions":25,"status":"modified","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -3,7 +3,8 @@\n class Issue( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.issue = self.g.get_user().get_repo( \"PyGithub\" ).get_issue( 28 )\r\n+ self.repo = self.g.get_user().get_repo( \"PyGithub\" )\r\n+ self.issue = self.repo.get_issue( 28 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.issue.assignee.login, \"jacquev6\" )\r\n@@ -47,3 +48,26 @@ def testGetComments( self ):\n \r\n def testGetEvents( self ):\r\n self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] )\r\n+\r\n+ def testGetLabels( self ):\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testAddAndRemoveLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( bug )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\" ] )\r\n+ self.issue.add_to_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testDeleteAndSetLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.delete_labels()\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [] )\r\n+ self.issue.set_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Question\" ] )\r","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","filename":"test/Issue.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","deletions":1},{"changes":45,"additions":45,"status":"added","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,45 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"569c414d87e8ec43ec269a9e28bc2982\"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"b659c8dcc1212c71f826547c3cc7ae99\"'), ('date', 'Sun, 27 May 2012 09:04:02 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+POST /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","filename":"test/ReplayData/Issue.testAddAndRemoveLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","deletions":0},{"changes":35,"additions":35,"status":"added","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,35 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fe2e942523eecb156d100829a6347516\"'), ('date', 'Sun, 27 May 2012 09:06:37 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"931e58d337b2290717303141eda89cd7\"'), ('date', 'Sun, 27 May 2012 09:06:38 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+204\n+[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d41d8cd98f00b204e9800998ecf8427e\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')]\n+\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d751713988987e9331980363e24189ce\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[]\n+\n+PUT /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","filename":"test/ReplayData/Issue.testDeleteAndSetLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","deletions":0},{"changes":5,"additions":5,"status":"added","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","patch":"@@ -0,0 +1,5 @@\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 08:56:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","filename":"test/ReplayData/Issue.testGetLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","deletions":0}],"parents":[{"sha":"93dcae5cf207de376c91d0599226e7c7563e1d16","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/93dcae5cf207de376c91d0599226e7c7563e1d16"}],"commit":{"tree":{"sha":"fa0251344d6b0b9f69f33c1faf6e3323001b309d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fa0251344d6b0b9f69f33c1faf6e3323001b309d"},"message":"Test (and implement) Issue.*_label*\n\nAnd this commit will be used to test PullRequests","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8a4f306d4b223682dd19410d4a9150636ebe4206","author":{"email":"vincent@vincent-jacques.net","date":"2012-05-27T02:07:47-07:00","name":"Vincent Jacques"},"committer":{"email":"vincent@vincent-jacques.net","date":"2012-05-27T02:07:47-07:00","name":"Vincent Jacques"}},"author":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a4f306d4b223682dd19410d4a9150636ebe4206","committer":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146}} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment created by PyGithub", "commit_id": "8a4f306d4b223682dd19410d4a9150636ebe4206", "position": 5, "path": "src/github/Issue.py"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4953'), ('content-length', '937'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7ca841d45253326d61bee20c809872dc"'), ('date', 'Sun, 27 May 2012 09:40:12 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298')] -{"updated_at":"2012-05-27T09:40:12Z","position":5,"original_position":5,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","created_at":"2012-05-27T09:40:12Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","path":"src/github/Issue.py","id":886298,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#r886298"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}}} - diff --git a/github/tests/ReplayData/PullRequest.testCreateIssueComment.txt b/github/tests/ReplayData/PullRequest.testCreateIssueComment.txt deleted file mode 100644 index 16c8a47..0000000 --- a/github/tests/ReplayData/PullRequest.testCreateIssueComment.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues/31/comments -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Issue comment created by PyGithub"} -201 -[('status', '201 Created'), ('content-length', '517'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4976'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8387331'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 12:57:51 GMT'), ('etag', '"6d189ee4b6415276097b091d11a77ce0"'), ('content-type', 'application/json; charset=utf-8')] -{"body":"Issue comment created by PyGithub","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-09-08T12:57:51Z","updated_at":"2012-09-08T12:57:51Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8387331","id":8387331} - diff --git a/github/tests/ReplayData/PullRequest.testEditWithAllArguments.txt b/github/tests/ReplayData/PullRequest.testEditWithAllArguments.txt deleted file mode 100644 index 4294575..0000000 --- a/github/tests/ReplayData/PullRequest.testEditWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Body edited by PyGithub", "state": "open", "title": "Title edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '4477'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"892e1599c76b5b026bc67423b4a69c26"'), ('date', 'Sun, 27 May 2012 10:18:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged_by":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Title edited by PyGithub","state":"open","comments":0,"merged_at":null,"updated_at":"2012-05-27T10:18:08Z","deletions":384,"head":{"user":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"repo":{"description":"Python library implementing the full Github API v3","full_name":"BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"updated_at":"2012-05-27T09:09:17Z","forks":0,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","open_issues":0,"fork":true,"svn_url":"https://github.com/BeaverSoftware/PyGithub","pushed_at":"2012-05-27T09:09:17Z","size":176,"html_url":"https://github.com/BeaverSoftware/PyGithub","private":false,"url":"https://api.github.com/repos/BeaverSoftware/PyGithub","clone_url":"https://github.com/BeaverSoftware/PyGithub.git","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":1,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","id":4460787,"created_at":"2012-05-27T08:50:04Z"},"label":"BeaverSoftware:master","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","ref":"master"},"body":"Body edited by PyGithub","merged":false,"additions":511,"number":31,"_links":{"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"}},"closed_at":null,"diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","mergeable":true,"commits":3,"changed_files":45,"html_url":"https://github.com/jacquev6/PyGithub/pull/31","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","review_comments":1,"issue_url":"https://github.com/jacquev6/PyGithub/issues/31","id":1436215,"base":{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"repo":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-27T08:50:04Z","forks":3,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":17,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-27T07:29:24Z","size":308,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"label":"jacquev6:topic/RewriteWithGeneratedCode","sha":"ed866fc43833802ab553e5ff8581c81bb00dd433","ref":"topic/RewriteWithGeneratedCode"},"created_at":"2012-05-27T09:25:36Z","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch"} - diff --git a/github/tests/ReplayData/PullRequest.testEditWithoutArguments.txt b/github/tests/ReplayData/PullRequest.testEditWithoutArguments.txt deleted file mode 100644 index 2dad814..0000000 --- a/github/tests/ReplayData/PullRequest.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '4486'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f64654209621a4117940acf5b8ac7918"'), ('date', 'Sun, 27 May 2012 10:16:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged":false,"mergeable":true,"head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","updated_at":"2012-05-27T09:09:17Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":176,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-27T09:09:17Z","created_at":"2012-05-27T08:50:04Z","id":4460787,"html_url":"https://github.com/BeaverSoftware/PyGithub","full_name":"BeaverSoftware/PyGithub"},"user":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},"updated_at":"2012-05-27T10:16:02Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/31","body":"Body of the pull request","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","comments":0,"base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T08:50:04Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":17,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T07:29:24Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"ed866fc43833802ab553e5ff8581c81bb00dd433"},"number":31,"merged_by":null,"closed_at":null,"title":"Pull request created by PyGithub","deletions":384,"merged_at":null,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"}},"changed_files":45,"additions":511,"created_at":"2012-05-27T09:25:36Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"state":"open","id":1436215,"review_comments":1,"commits":3,"html_url":"https://github.com/jacquev6/PyGithub/pull/31"} - diff --git a/github/tests/ReplayData/PullRequest.testGetComments.txt b/github/tests/ReplayData/PullRequest.testGetComments.txt deleted file mode 100644 index cf5d160..0000000 --- a/github/tests/ReplayData/PullRequest.testGetComments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '938'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"90a75b1552a6732d4b7440fc1a3e3f74"'), ('date', 'Sun, 27 May 2012 10:10:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T10:09:07Z","position":5,"original_position":5,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#r886298"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}},"created_at":"2012-05-27T09:40:12Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","path":"src/github/Issue.py","id":886298}] - diff --git a/github/tests/ReplayData/PullRequest.testGetCommits.txt b/github/tests/ReplayData/PullRequest.testGetCommits.txt deleted file mode 100644 index 7b090ac..0000000 --- a/github/tests/ReplayData/PullRequest.testGetCommits.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/commits -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '4531'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b4ea459213c1dd415628476619cbbc25"'), ('date', 'Sun, 27 May 2012 10:20:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ed866fc43833802ab553e5ff8581c81bb00dd433","sha":"ed866fc43833802ab553e5ff8581c81bb00dd433"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T00:33:23-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23","message":"Improve test coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T00:33:23-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/3447efc7d0f2e0197a722c55c13cde7417d1f2d3","sha":"3447efc7d0f2e0197a722c55c13cde7417d1f2d3"}}},{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/93dcae5cf207de376c91d0599226e7c7563e1d16","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"93dcae5cf207de376c91d0599226e7c7563e1d16","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23","sha":"4aadfff21cdd2d2566b0e4bd7309c233b5f4ae23"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T00:37:17-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/93dcae5cf207de376c91d0599226e7c7563e1d16","message":"Remove branch coverage for optional attributes (temporary?)","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T00:37:17-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d925a951cd6a5442e91dcfded3171520e9cca5de","sha":"d925a951cd6a5442e91dcfded3171520e9cca5de"}}},{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a4f306d4b223682dd19410d4a9150636ebe4206","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/93dcae5cf207de376c91d0599226e7c7563e1d16","sha":"93dcae5cf207de376c91d0599226e7c7563e1d16"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T02:07:47-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8a4f306d4b223682dd19410d4a9150636ebe4206","message":"Test (and implement) Issue.*_label*\n\nAnd this commit will be used to test PullRequests","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T02:07:47-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fa0251344d6b0b9f69f33c1faf6e3323001b309d","sha":"fa0251344d6b0b9f69f33c1faf6e3323001b309d"}}}] - diff --git a/github/tests/ReplayData/PullRequest.testGetFiles.txt b/github/tests/ReplayData/PullRequest.testGetFiles.txt deleted file mode 100644 index 97a6a8d..0000000 --- a/github/tests/ReplayData/PullRequest.testGetFiles.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/files -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '169480'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a6f83dd38ea0a62d423fefb7b8353561"'), ('date', 'Sun, 27 May 2012 10:21:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"patch":"@@ -70,7 +70,7 @@ def __useAttributes( self, attributes ):\n \n # @toto No need to check if attribute is in attributes when attribute is mandatory\n {% for attribute in class.attributes|dictsort:\"name\" %}\n- if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None:\n+ if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None: # pragma no branch\n \n {% if attribute.type.cardinality == \"scalar\" %}\n {% if attribute.type.simple %}","status":"modified","deletions":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","changes":2,"additions":1,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","filename":"codegen/templates/GithubObject.py"},{"patch":"@@ -568,78 +568,78 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":25,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","changes":50,"additions":25,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","filename":"src/github/AuthenticatedUser.py"},{"patch":"@@ -117,21 +117,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"app\", \"created_at\", \"id\", \"note\", \"note_url\", \"scopes\", \"token\", \"updated_at\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"app\" in attributes and attributes[ \"app\" ] is not None:\n+ if \"app\" in attributes and attributes[ \"app\" ] is not None: # pragma no branch\n self.__app = attributes[ \"app\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"note\" in attributes and attributes[ \"note\" ] is not None:\n+ if \"note\" in attributes and attributes[ \"note\" ] is not None: # pragma no branch\n self.__note = attributes[ \"note\" ]\n- if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None:\n+ if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None: # pragma no branch\n self.__note_url = attributes[ \"note_url\" ]\n- if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None:\n+ if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None: # pragma no branch\n self.__scopes = attributes[ \"scopes\" ]\n- if \"token\" in attributes and attributes[ \"token\" ] is not None:\n+ if \"token\" in attributes and attributes[ \"token\" ] is not None: # pragma no branch\n self.__token = attributes[ \"token\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":9,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","changes":18,"additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","filename":"src/github/Authorization.py"},{"patch":"@@ -28,9 +28,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]","status":"modified","deletions":2,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","changes":4,"additions":2,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","filename":"src/github/Branch.py"},{"patch":"@@ -120,33 +120,33 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"commit\", \"committer\", \"files\", \"parents\", \"sha\", \"stats\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = NamedUser.NamedUser( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = GitCommit.GitCommit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = NamedUser.NamedUser( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"files\" ], list ) and ( len( attributes[ \"files\" ] ) == 0 or isinstance( attributes[ \"files\" ][ 0 ], dict ) )\n self.__files = [\n CommitFile.CommitFile( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"files\" ]\n ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n Commit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"stats\" in attributes and attributes[ \"stats\" ] is not None:\n+ if \"stats\" in attributes and attributes[ \"stats\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"stats\" ], dict )\n self.__stats = CommitStats.CommitStats( self.__requester, attributes[ \"stats\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","changes":16,"additions":8,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","filename":"src/github/Commit.py"},{"patch":"@@ -121,36 +121,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"line\" ], int )\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"position\" ], int )\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","changes":22,"additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","filename":"src/github/CommitComment.py"},{"patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]","status":"modified","deletions":9,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","changes":18,"additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","filename":"src/github/CommitFile.py"},{"patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"deletions\", \"total\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"additions\" ], int )\n self.__additions = attributes[ \"additions\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"deletions\" ], int )\n self.__deletions = attributes[ \"deletions\" ]\n- if \"total\" in attributes and attributes[ \"total\" ] is not None:\n+ if \"total\" in attributes and attributes[ \"total\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total\" ], int )\n self.__total = attributes[ \"total\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","filename":"src/github/CommitStats.py"},{"patch":"@@ -162,43 +162,43 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"accesskeyid\", \"acl\", \"bucket\", \"content_type\", \"created_at\", \"description\", \"download_count\", \"expirationdate\", \"html_url\", \"id\", \"mime_type\", \"name\", \"path\", \"policy\", \"prefix\", \"redirect\", \"s3_url\", \"signature\", \"size\", \"url\", \"x-amz-meta-content-disposition\" ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None:\n+ if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None: # pragma no branch\n self.__accesskeyid = attributes[ \"accesskeyid\" ]\n- if \"acl\" in attributes and attributes[ \"acl\" ] is not None:\n+ if \"acl\" in attributes and attributes[ \"acl\" ] is not None: # pragma no branch\n self.__acl = attributes[ \"acl\" ]\n- if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None:\n+ if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None: # pragma no branch\n self.__bucket = attributes[ \"bucket\" ]\n- if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None:\n+ if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None: # pragma no branch\n self.__content_type = attributes[ \"content_type\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n self.__description = attributes[ \"description\" ]\n- if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None:\n+ if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None: # pragma no branch\n self.__download_count = attributes[ \"download_count\" ]\n- if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None:\n+ if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None: # pragma no branch\n self.__expirationdate = attributes[ \"expirationdate\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None:\n+ if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None: # pragma no branch\n self.__mime_type = attributes[ \"mime_type\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"policy\" in attributes and attributes[ \"policy\" ] is not None:\n+ if \"policy\" in attributes and attributes[ \"policy\" ] is not None: # pragma no branch\n self.__policy = attributes[ \"policy\" ]\n- if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None:\n+ if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None: # pragma no branch\n self.__prefix = attributes[ \"prefix\" ]\n- if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None:\n+ if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None: # pragma no branch\n self.__redirect = attributes[ \"redirect\" ]\n- if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None:\n+ if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None: # pragma no branch\n self.__s3_url = attributes[ \"s3_url\" ]\n- if \"signature\" in attributes and attributes[ \"signature\" ] is not None:\n+ if \"signature\" in attributes and attributes[ \"signature\" ] is not None: # pragma no branch\n self.__signature = attributes[ \"signature\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":20,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","changes":40,"additions":20,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","filename":"src/github/Download.py"},{"patch":"@@ -60,22 +60,22 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"created_at\", \"id\", \"org\", \"payload\", \"public\", \"repo\", \"type\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"org\" in attributes and attributes[ \"org\" ] is not None:\n+ if \"org\" in attributes and attributes[ \"org\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"org\" ], dict )\n self.__org = Organization.Organization( self.__requester, attributes[ \"org\" ], completion = LazyCompletion )\n- if \"payload\" in attributes and attributes[ \"payload\" ] is not None:\n+ if \"payload\" in attributes and attributes[ \"payload\" ] is not None: # pragma no branch\n self.__payload = attributes[ \"payload\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n self.__public = attributes[ \"public\" ]\n- if \"repo\" in attributes and attributes[ \"repo\" ] is not None:\n+ if \"repo\" in attributes and attributes[ \"repo\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repo\" ], dict )\n self.__repo = Repository.Repository( self.__requester, attributes[ \"repo\" ], completion = LazyCompletion )\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n self.__type = attributes[ \"type\" ]","status":"modified","deletions":8,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","changes":16,"additions":8,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","filename":"src/github/Event.py"},{"patch":"@@ -220,53 +220,53 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"comments\", \"created_at\", \"description\", \"files\", \"fork_of\", \"forks\", \"git_pull_url\", \"git_push_url\", \"history\", \"html_url\", \"id\", \"public\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n self.__files = attributes[ \"files\" ]\n- if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None:\n+ if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork_of\" ], dict )\n self.__fork_of = Gist( self.__requester, attributes[ \"fork_of\" ], completion = LazyCompletion )\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], list ) and ( len( attributes[ \"forks\" ] ) == 0 or isinstance( attributes[ \"forks\" ][ 0 ], dict ) )\n self.__forks = [\n Gist( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"forks\" ]\n ]\n- if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None:\n+ if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_pull_url\" ], ( str, unicode ) )\n self.__git_pull_url = attributes[ \"git_pull_url\" ]\n- if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None:\n+ if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_push_url\" ], ( str, unicode ) )\n self.__git_push_url = attributes[ \"git_push_url\" ]\n- if \"history\" in attributes and attributes[ \"history\" ] is not None:\n+ if \"history\" in attributes and attributes[ \"history\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"history\" ], list ) and ( len( attributes[ \"history\" ] ) == 0 or isinstance( attributes[ \"history\" ][ 0 ], dict ) )\n self.__history = [\n GistHistoryState.GistHistoryState( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"history\" ]\n ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], ( str, unicode ) )\n self.__id = attributes[ \"id\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public\" ], bool )\n self.__public = attributes[ \"public\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":15,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","changes":30,"additions":15,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","filename":"src/github/Gist.py"},{"patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","changes":12,"additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","filename":"src/github/GistComment.py"},{"patch":"@@ -44,18 +44,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"change_status\", \"committed_at\", \"url\", \"user\", \"version\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None:\n+ if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"change_status\" ], dict )\n self.__change_status = CommitStats.CommitStats( self.__requester, attributes[ \"change_status\" ], completion = LazyCompletion )\n- if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None:\n+ if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committed_at\" ], ( str, unicode ) )\n self.__committed_at = attributes[ \"committed_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )\n- if \"version\" in attributes and attributes[ \"version\" ] is not None:\n+ if \"version\" in attributes and attributes[ \"version\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"version\" ], ( str, unicode ) )\n self.__version = attributes[ \"version\" ]","status":"modified","deletions":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","changes":10,"additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","filename":"src/github/GistHistoryState.py"},{"patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"date\", \"email\", \"name\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"date\" in attributes and attributes[ \"date\" ] is not None:\n+ if \"date\" in attributes and attributes[ \"date\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"date\" ], ( str, unicode ) )\n self.__date = attributes[ \"date\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","filename":"src/github/GitAuthor.py"},{"patch":"@@ -42,18 +42,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"content\", \"encoding\", \"sha\", \"size\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"content\" in attributes and attributes[ \"content\" ] is not None:\n+ if \"content\" in attributes and attributes[ \"content\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"content\" ], ( str, unicode ) )\n self.__content = attributes[ \"content\" ]\n- if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None:\n+ if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"encoding\" ], ( str, unicode ) )\n self.__encoding = attributes[ \"encoding\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","changes":10,"additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","filename":"src/github/GitBlob.py"},{"patch":"@@ -55,27 +55,27 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"committer\", \"message\", \"parents\", \"sha\", \"tree\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = GitAuthor.GitAuthor( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = GitAuthor.GitAuthor( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n GitCommit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], dict )\n self.__tree = GitTree.GitTree( self.__requester, attributes[ \"tree\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","changes":14,"additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","filename":"src/github/GitCommit.py"},{"patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","filename":"src/github/GitObject.py"},{"patch":"@@ -55,12 +55,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"object\", \"ref\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"ref\" in attributes and attributes[ \"ref\" ] is not None:\n+ if \"ref\" in attributes and attributes[ \"ref\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ref\" ], ( str, unicode ) )\n self.__ref = attributes[ \"ref\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","filename":"src/github/GitRef.py"},{"patch":"@@ -49,21 +49,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"message\", \"object\", \"sha\", \"tag\", \"tagger\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tag\" in attributes and attributes[ \"tag\" ] is not None:\n+ if \"tag\" in attributes and attributes[ \"tag\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tag\" ], ( str, unicode ) )\n self.__tag = attributes[ \"tag\" ]\n- if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None:\n+ if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tagger\" ], dict )\n self.__tagger = GitAuthor.GitAuthor( self.__requester, attributes[ \"tagger\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","changes":12,"additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","filename":"src/github/GitTag.py"},{"patch":"@@ -33,15 +33,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"tree\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], list ) and ( len( attributes[ \"tree\" ] ) == 0 or isinstance( attributes[ \"tree\" ][ 0 ], dict ) )\n self.__tree = [\n GitTreeElement.GitTreeElement( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"tree\" ]\n ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","filename":"src/github/GitTree.py"},{"patch":"@@ -47,21 +47,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"mode\", \"path\", \"sha\", \"size\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"mode\" in attributes and attributes[ \"mode\" ] is not None:\n+ if \"mode\" in attributes and attributes[ \"mode\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mode\" ], ( str, unicode ) )\n self.__mode = attributes[ \"mode\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","changes":12,"additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","filename":"src/github/GitTreeElement.py"},{"patch":"@@ -99,21 +99,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"active\", \"config\", \"created_at\", \"events\", \"id\", \"last_response\", \"name\", \"updated_at\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"active\" in attributes and attributes[ \"active\" ] is not None:\n+ if \"active\" in attributes and attributes[ \"active\" ] is not None: # pragma no branch\n self.__active = attributes[ \"active\" ]\n- if \"config\" in attributes and attributes[ \"config\" ] is not None:\n+ if \"config\" in attributes and attributes[ \"config\" ] is not None: # pragma no branch\n self.__config = attributes[ \"config\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"events\" in attributes and attributes[ \"events\" ] is not None:\n+ if \"events\" in attributes and attributes[ \"events\" ] is not None: # pragma no branch\n self.__events = attributes[ \"events\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None:\n+ if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None: # pragma no branch\n self.__last_response = attributes[ \"last_response\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":9,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","changes":18,"additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","filename":"src/github/Hook.py"},{"patch":"@@ -110,7 +110,7 @@ def user( self ):\n return self.__user\n \n def add_to_labels( self, *labels ):\n- post_parameters = labels\n+ post_parameters = [ label.name for label in labels ]\n status, headers, data = self.__requester.request(\n \"POST\",\n str( self.url ) + \"/labels\",\n@@ -131,7 +131,12 @@ def create_comment( self, body ):\n return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n- pass\n+ status, headers, data = self.__requester.request(\n+ \"DELETE\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ None\n+ )\n \n def edit( self, title = DefaultValueForOptionalParameters, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -216,7 +221,13 @@ def remove_from_labels( self, label ):\n )\n \n def set_labels( self, *labels ):\n- pass\n+ post_parameters = [ label.name for label in labels ]\n+ status, headers, data = self.__requester.request(\n+ \"PUT\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ post_parameters\n+ )\n \n def __initAttributes( self ):\n self.__assignee = None\n@@ -257,59 +268,59 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"assignee\", \"body\", \"closed_at\", \"closed_by\", \"comments\", \"created_at\", \"html_url\", \"id\", \"labels\", \"milestone\", \"number\", \"pull_request\", \"repository\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None:\n+ if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"assignee\" ], dict )\n self.__assignee = NamedUser.NamedUser( self.__requester, attributes[ \"assignee\" ], completion = LazyCompletion )\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_at\" ], ( str, unicode ) )\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None:\n+ if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_by\" ], dict )\n self.__closed_by = NamedUser.NamedUser( self.__requester, attributes[ \"closed_by\" ], completion = LazyCompletion )\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"labels\" in attributes and attributes[ \"labels\" ] is not None:\n+ if \"labels\" in attributes and attributes[ \"labels\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"labels\" ], list ) and ( len( attributes[ \"labels\" ] ) == 0 or isinstance( attributes[ \"labels\" ][ 0 ], dict ) )\n self.__labels = [\n Label.Label( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"labels\" ]\n ]\n- if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None:\n+ if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"milestone\" ], dict )\n self.__milestone = Milestone.Milestone( self.__requester, attributes[ \"milestone\" ], completion = LazyCompletion )\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None:\n+ if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None: # pragma no branch\n self.__pull_request = attributes[ \"pull_request\" ]\n- if \"repository\" in attributes and attributes[ \"repository\" ] is not None:\n+ if \"repository\" in attributes and attributes[ \"repository\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repository\" ], dict )\n self.__repository = Repository.Repository( self.__requester, attributes[ \"repository\" ], completion = LazyCompletion )\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":21,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","changes":53,"additions":32,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","filename":"src/github/Issue.py"},{"patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","changes":12,"additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","filename":"src/github/IssueComment.py"},{"patch":"@@ -78,24 +78,24 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"commit_id\", \"created_at\", \"event\", \"id\", \"issue\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"event\" in attributes and attributes[ \"event\" ] is not None:\n+ if \"event\" in attributes and attributes[ \"event\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"event\" ], ( str, unicode ) )\n self.__event = attributes[ \"event\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"issue\" in attributes and attributes[ \"issue\" ] is not None:\n+ if \"issue\" in attributes and attributes[ \"issue\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"issue\" ], dict )\n self.__issue = Issue.Issue( self.__requester, attributes[ \"issue\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","changes":14,"additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","filename":"src/github/IssueEvent.py"},{"patch":"@@ -1,6 +1,8 @@\n # WARNING: this file is generated automaticaly.\n # Do not modify it manually, your work would be lost.\n \n+import urllib\n+\n import PaginatedList\n from GithubObject import *\n \n@@ -43,6 +45,11 @@ def edit( self, name, color ):\n )\n self.__useAttributes( data )\n \n+ # @toto Remove '_identity' from the normalized json description\n+ @property\n+ def _identity( self ):\n+ return urllib.quote( self.name )\n+\n def __initAttributes( self ):\n self.__color = None\n self.__name = None\n@@ -53,9 +60,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"color\", \"name\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"color\" in attributes and attributes[ \"color\" ] is not None:\n+ if \"color\" in attributes and attributes[ \"color\" ] is not None: # pragma no branch\n self.__color = attributes[ \"color\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","changes":13,"additions":10,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","filename":"src/github/Label.py"},{"patch":"@@ -114,36 +114,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"closed_issues\", \"created_at\", \"creator\", \"description\", \"due_on\", \"id\", \"number\", \"open_issues\", \"state\", \"title\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None:\n+ if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_issues\" ], int )\n self.__closed_issues = attributes[ \"closed_issues\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"creator\" in attributes and attributes[ \"creator\" ] is not None:\n+ if \"creator\" in attributes and attributes[ \"creator\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"creator\" ], dict )\n self.__creator = NamedUser.NamedUser( self.__requester, attributes[ \"creator\" ], completion = LazyCompletion )\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None:\n+ if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"due_on\" ], ( str, unicode ) )\n self.__due_on = attributes[ \"due_on\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","changes":22,"additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","filename":"src/github/Milestone.py"},{"patch":"@@ -365,81 +365,81 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"contributions\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None:\n+ if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"contributions\" ], int )\n self.__contributions = attributes[ \"contributions\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":26,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","changes":52,"additions":26,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","filename":"src/github/NamedUser.py"},{"patch":"@@ -390,75 +390,75 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"billing_email\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None:\n+ if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"billing_email\" ], ( str, unicode ) )\n self.__billing_email = attributes[ \"billing_email\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":24,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","changes":48,"additions":24,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","filename":"src/github/Organization.py"},{"patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"admin\", \"pull\", \"push\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"admin\" in attributes and attributes[ \"admin\" ] is not None:\n+ if \"admin\" in attributes and attributes[ \"admin\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"admin\" ], bool )\n self.__admin = attributes[ \"admin\" ]\n- if \"pull\" in attributes and attributes[ \"pull\" ] is not None:\n+ if \"pull\" in attributes and attributes[ \"pull\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pull\" ], bool )\n self.__pull = attributes[ \"pull\" ]\n- if \"push\" in attributes and attributes[ \"push\" ] is not None:\n+ if \"push\" in attributes and attributes[ \"push\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"push\" ], bool )\n self.__push = attributes[ \"push\" ]","status":"modified","deletions":3,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","changes":6,"additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","filename":"src/github/Permissions.py"},{"patch":"@@ -37,15 +37,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"collaborators\", \"name\", \"private_repos\", \"space\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None:\n+ if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_repos\" ], int )\n self.__private_repos = attributes[ \"private_repos\" ]\n- if \"space\" in attributes and attributes[ \"space\" ] is not None:\n+ if \"space\" in attributes and attributes[ \"space\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"space\" ], int )\n self.__space = attributes[ \"space\" ]","status":"modified","deletions":4,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","changes":8,"additions":4,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","filename":"src/github/Plan.py"},{"patch":"@@ -279,56 +279,56 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"base\", \"body\", \"changed_files\", \"closed_at\", \"comments\", \"commits\", \"created_at\", \"deletions\", \"diff_url\", \"head\", \"html_url\", \"id\", \"issue_url\", \"mergeable\", \"merged\", \"merged_at\", \"merged_by\", \"number\", \"patch_url\", \"review_comments\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"base\" in attributes and attributes[ \"base\" ] is not None:\n+ if \"base\" in attributes and attributes[ \"base\" ] is not None: # pragma no branch\n self.__base = attributes[ \"base\" ]\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None:\n+ if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None: # pragma no branch\n self.__changed_files = attributes[ \"changed_files\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n self.__comments = attributes[ \"comments\" ]\n- if \"commits\" in attributes and attributes[ \"commits\" ] is not None:\n+ if \"commits\" in attributes and attributes[ \"commits\" ] is not None: # pragma no branch\n self.__commits = attributes[ \"commits\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None:\n+ if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None: # pragma no branch\n self.__diff_url = attributes[ \"diff_url\" ]\n- if \"head\" in attributes and attributes[ \"head\" ] is not None:\n+ if \"head\" in attributes and attributes[ \"head\" ] is not None: # pragma no branch\n self.__head = attributes[ \"head\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None:\n+ if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None: # pragma no branch\n self.__issue_url = attributes[ \"issue_url\" ]\n- if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None:\n+ if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None: # pragma no branch\n self.__mergeable = attributes[ \"mergeable\" ]\n- if \"merged\" in attributes and attributes[ \"merged\" ] is not None:\n+ if \"merged\" in attributes and attributes[ \"merged\" ] is not None: # pragma no branch\n self.__merged = attributes[ \"merged\" ]\n- if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None:\n+ if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None: # pragma no branch\n self.__merged_at = attributes[ \"merged_at\" ]\n- if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None:\n+ if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None: # pragma no branch\n self.__merged_by = attributes[ \"merged_by\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n self.__number = attributes[ \"number\" ]\n- if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None:\n+ if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None: # pragma no branch\n self.__patch_url = attributes[ \"patch_url\" ]\n- if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None:\n+ if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None: # pragma no branch\n self.__review_comments = attributes[ \"review_comments\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":26,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","changes":52,"additions":26,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","filename":"src/github/PullRequest.py"},{"patch":"@@ -121,26 +121,26 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","status":"modified","deletions":11,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","changes":22,"additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","filename":"src/github/PullRequestComment.py"},{"patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]","status":"modified","deletions":9,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","changes":18,"additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","filename":"src/github/PullRequestFile.py"},{"patch":"@@ -905,96 +905,96 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"clone_url\", \"created_at\", \"description\", \"fork\", \"forks\", \"full_name\", \"git_url\", \"has_downloads\", \"has_issues\", \"has_wiki\", \"homepage\", \"html_url\", \"id\", \"language\", \"master_branch\", \"mirror_url\", \"name\", \"open_issues\", \"organization\", \"owner\", \"parent\", \"permissions\", \"private\", \"pushed_at\", \"size\", \"source\", \"ssh_url\", \"svn_url\", \"updated_at\", \"url\", \"watchers\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None:\n+ if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"clone_url\" ], ( str, unicode ) )\n self.__clone_url = attributes[ \"clone_url\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"fork\" in attributes and attributes[ \"fork\" ] is not None:\n+ if \"fork\" in attributes and attributes[ \"fork\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork\" ], bool )\n self.__fork = attributes[ \"fork\" ]\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], int )\n self.__forks = attributes[ \"forks\" ]\n- if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None:\n+ if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"full_name\" ], ( str, unicode ) )\n self.__full_name = attributes[ \"full_name\" ]\n- if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None:\n+ if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_url\" ], ( str, unicode ) )\n self.__git_url = attributes[ \"git_url\" ]\n- if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None:\n+ if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_downloads\" ], bool )\n self.__has_downloads = attributes[ \"has_downloads\" ]\n- if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None:\n+ if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_issues\" ], bool )\n self.__has_issues = attributes[ \"has_issues\" ]\n- if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None:\n+ if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_wiki\" ], bool )\n self.__has_wiki = attributes[ \"has_wiki\" ]\n- if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None:\n+ if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"homepage\" ], ( str, unicode ) )\n self.__homepage = attributes[ \"homepage\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"language\" in attributes and attributes[ \"language\" ] is not None:\n+ if \"language\" in attributes and attributes[ \"language\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"language\" ], ( str, unicode ) )\n self.__language = attributes[ \"language\" ]\n- if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None:\n+ if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"master_branch\" ], ( str, unicode ) )\n self.__master_branch = attributes[ \"master_branch\" ]\n- if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None:\n+ if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mirror_url\" ], ( str, unicode ) )\n self.__mirror_url = attributes[ \"mirror_url\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"organization\" in attributes and attributes[ \"organization\" ] is not None:\n+ if \"organization\" in attributes and attributes[ \"organization\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"organization\" ], dict )\n self.__organization = Organization.Organization( self.__requester, attributes[ \"organization\" ], completion = LazyCompletion )\n- if \"owner\" in attributes and attributes[ \"owner\" ] is not None:\n+ if \"owner\" in attributes and attributes[ \"owner\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owner\" ], dict )\n self.__owner = NamedUser.NamedUser( self.__requester, attributes[ \"owner\" ], completion = LazyCompletion )\n- if \"parent\" in attributes and attributes[ \"parent\" ] is not None:\n+ if \"parent\" in attributes and attributes[ \"parent\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parent\" ], dict )\n self.__parent = Repository( self.__requester, attributes[ \"parent\" ], completion = LazyCompletion )\n- if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None:\n+ if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"permissions\" ], dict )\n self.__permissions = Permissions.Permissions( self.__requester, attributes[ \"permissions\" ], completion = LazyCompletion )\n- if \"private\" in attributes and attributes[ \"private\" ] is not None:\n+ if \"private\" in attributes and attributes[ \"private\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private\" ], bool )\n self.__private = attributes[ \"private\" ]\n- if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None:\n+ if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pushed_at\" ], ( str, unicode ) )\n self.__pushed_at = attributes[ \"pushed_at\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"source\" in attributes and attributes[ \"source\" ] is not None:\n+ if \"source\" in attributes and attributes[ \"source\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"source\" ], dict )\n self.__source = Repository( self.__requester, attributes[ \"source\" ], completion = LazyCompletion )\n- if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None:\n+ if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ssh_url\" ], ( str, unicode ) )\n self.__ssh_url = attributes[ \"ssh_url\" ]\n- if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None:\n+ if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"svn_url\" ], ( str, unicode ) )\n self.__svn_url = attributes[ \"svn_url\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None:\n+ if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"watchers\" ], int )\n self.__watchers = attributes[ \"watchers\" ]","status":"modified","deletions":31,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","changes":62,"additions":31,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","filename":"src/github/Repository.py"},{"patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]","status":"modified","deletions":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","changes":10,"additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","filename":"src/github/RepositoryKey.py"},{"patch":"@@ -38,15 +38,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", \"tarball_url\", \"zipball_url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None:\n+ if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tarball_url\" ], ( str, unicode ) )\n self.__tarball_url = attributes[ \"tarball_url\" ]\n- if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None:\n+ if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"zipball_url\" ], ( str, unicode ) )\n self.__zipball_url = attributes[ \"zipball_url\" ]","status":"modified","deletions":4,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","changes":8,"additions":4,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","filename":"src/github/Tag.py"},{"patch":"@@ -172,15 +172,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"members_count\", \"name\", \"permission\", \"repos_count\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None:\n+ if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None: # pragma no branch\n self.__members_count = attributes[ \"members_count\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"permission\" in attributes and attributes[ \"permission\" ] is not None:\n+ if \"permission\" in attributes and attributes[ \"permission\" ] is not None: # pragma no branch\n self.__permission = attributes[ \"permission\" ]\n- if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None:\n+ if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None: # pragma no branch\n self.__repos_count = attributes[ \"repos_count\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","status":"modified","deletions":6,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","changes":12,"additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","filename":"src/github/Team.py"},{"patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]","status":"modified","deletions":5,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","changes":10,"additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","filename":"src/github/UserKey.py"},{"patch":"@@ -3,7 +3,8 @@\n class Issue( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.issue = self.g.get_user().get_repo( \"PyGithub\" ).get_issue( 28 )\r\n+ self.repo = self.g.get_user().get_repo( \"PyGithub\" )\r\n+ self.issue = self.repo.get_issue( 28 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.issue.assignee.login, \"jacquev6\" )\r\n@@ -47,3 +48,26 @@ def testGetComments( self ):\n \r\n def testGetEvents( self ):\r\n self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] )\r\n+\r\n+ def testGetLabels( self ):\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testAddAndRemoveLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( bug )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\" ] )\r\n+ self.issue.add_to_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testDeleteAndSetLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.delete_labels()\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [] )\r\n+ self.issue.set_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Question\" ] )\r","status":"modified","deletions":1,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","changes":26,"additions":25,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","filename":"test/Issue.py"},{"patch":"@@ -3,13 +3,13 @@\n class IssueEvent( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 15819975 )\r\n+ self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 16348656 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.event.actor.login, \"jacquev6\" )\r\n- self.assertEqual( self.event.commit_id, None )\r\n- self.assertEqual( self.event.created_at, \"2012-05-19T10:38:23Z\" )\r\n- self.assertEqual( self.event.event, \"subscribed\" )\r\n- self.assertEqual( self.event.id, 15819975 )\r\n- self.assertEqual( self.event.issue.number, 28 )\r\n- self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\" )\r\n+ self.assertEqual( self.event.commit_id, \"ed866fc43833802ab553e5ff8581c81bb00dd433\" )\r\n+ self.assertEqual( self.event.created_at, \"2012-05-27T07:29:25Z\" )\r\n+ self.assertEqual( self.event.event, \"referenced\" )\r\n+ self.assertEqual( self.event.id, 16348656 )\r\n+ self.assertEqual( self.event.issue.number, 30 )\r\n+ self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\" )\r","status":"modified","deletions":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","changes":14,"additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","filename":"test/IssueEvent.py"},{"patch":"@@ -0,0 +1,45 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"569c414d87e8ec43ec269a9e28bc2982\"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"b659c8dcc1212c71f826547c3cc7ae99\"'), ('date', 'Sun, 27 May 2012 09:04:02 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+POST /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","status":"added","deletions":0,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","changes":45,"additions":45,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","filename":"test/ReplayData/Issue.testAddAndRemoveLabels.txt"},{"patch":"@@ -0,0 +1,35 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fe2e942523eecb156d100829a6347516\"'), ('date', 'Sun, 27 May 2012 09:06:37 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"931e58d337b2290717303141eda89cd7\"'), ('date', 'Sun, 27 May 2012 09:06:38 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+204\n+[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d41d8cd98f00b204e9800998ecf8427e\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')]\n+\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d751713988987e9331980363e24189ce\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[]\n+\n+PUT /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","status":"added","deletions":0,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","changes":35,"additions":35,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","filename":"test/ReplayData/Issue.testDeleteAndSetLabels.txt"},{"patch":"@@ -0,0 +1,5 @@\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 08:56:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","status":"added","deletions":0,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","changes":5,"additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","filename":"test/ReplayData/Issue.testGetLabels.txt"},{"patch":"@@ -1,15 +1,15 @@\n GET /user {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4907'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"99c9bfb75395b749e9913a4729126fb5\"'), ('date', 'Sun, 27 May 2012 07:19:30 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"private_gists\":5,\"type\":\"User\",\"company\":\"Criteo\",\"location\":\"Paris, France\",\"hireable\":false,\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"bio\":\"\",\"following\":24,\"blog\":\"http://vincent-jacques.net\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"total_private_repos\":5,\"followers\":13,\"owned_private_repos\":5,\"disk_usage\":16976,\"collaborators\":0,\"html_url\":\"https://github.com/jacquev6\",\"url\":\"https://api.github.com/users/jacquev6\",\"name\":\"Vincent Jacques\",\"login\":\"jacquev6\",\"public_repos\":11,\"public_gists\":3,\"email\":\"vincent@vincent-jacques.net\",\"id\":327146,\"plan\":{\"private_repos\":5,\"collaborators\":1,\"name\":\"micro\",\"space\":614400},\"created_at\":\"2010-07-09T06:10:06Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8974bb1628a3e3a6d3eb3b08c1b5a46b\"'), ('date', 'Sun, 27 May 2012 07:32:54 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"type\":\"User\",\"bio\":\"\",\"disk_usage\":16976,\"total_private_repos\":5,\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"owned_private_repos\":5,\"collaborators\":0,\"plan\":{\"collaborators\":1,\"private_repos\":5,\"name\":\"micro\",\"space\":614400},\"company\":\"Criteo\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"email\":\"vincent@vincent-jacques.net\",\"public_gists\":3,\"followers\":13,\"name\":\"Vincent Jacques\",\"created_at\":\"2010-07-09T06:10:06Z\",\"blog\":\"http://vincent-jacques.net\",\"location\":\"Paris, France\",\"hireable\":false,\"id\":327146,\"private_gists\":5,\"public_repos\":11,\"following\":24,\"html_url\":\"https://github.com/jacquev6\"}\n \n GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4906'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"4c20acf0b23f75bbf25106b1a04f65a5\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"description\":\"Python library implementing the full Github API v3\",\"full_name\":\"jacquev6/PyGithub\",\"has_wiki\":false,\"has_issues\":true,\"updated_at\":\"2012-05-27T06:55:28Z\",\"forks\":3,\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"open_issues\":16,\"fork\":false,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"pushed_at\":\"2012-05-27T06:00:28Z\",\"size\":308,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"private\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"owner\":{\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"has_downloads\":true,\"language\":\"Python\",\"watchers\":15,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"id\":3544490,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"created_at\":\"2012-02-25T12:53:47Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"f1e4eb3993a364b66b68ec9db42405bd\"'), ('date', 'Sun, 27 May 2012 07:32:55 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"has_downloads\":true,\"watchers\":15,\"updated_at\":\"2012-05-27T07:29:24Z\",\"permissions\":{\"pull\":true,\"admin\":true,\"push\":true},\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"mirror_url\":null,\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":3,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"size\":308,\"private\":false,\"open_issues\":16,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"language\":\"Python\",\"description\":\"Python library implementing the full Github API v3\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"pushed_at\":\"2012-05-27T07:29:24Z\",\"created_at\":\"2012-02-25T12:53:47Z\",\"id\":3544490,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"full_name\":\"jacquev6/PyGithub\"}\n \n-GET /repos/jacquev6/PyGithub/issues/events/15819975 {'Authorization': 'Basic login_and_password_removed'} null\n+GET /repos/jacquev6/PyGithub/issues/events/16348656 {'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4905'), ('content-length', '2430'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"a3d244842d23f92f69a23e21626fad11\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\",\"issue\":{\"updated_at\":\"2012-05-26T14:59:33Z\",\"body\":\"Body edited by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/28\",\"comments\":0,\"milestone\":{\"creator\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones/1\",\"number\":1,\"title\":\"Version 0.4\",\"due_on\":\"2012-03-13T07:00:00Z\",\"closed_issues\":3,\"open_issues\":0,\"created_at\":\"2012-03-08T12:22:10Z\",\"state\":\"closed\",\"description\":\"\",\"id\":93546},\"number\":28,\"assignee\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"closed_at\":\"2012-05-26T14:59:33Z\",\"title\":\"Issue created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-19T10:38:23Z\",\"state\":\"closed\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"id\":4653757,\"pull_request\":{\"diff_url\":null,\"patch_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/28\"},\"commit_id\":null,\"created_at\":\"2012-05-19T10:38:23Z\",\"event\":\"subscribed\",\"id\":15819975,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146}}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '1384'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fefecab09e7355d4ef9875677c2631da\"'), ('date', 'Sun, 27 May 2012 07:32:56 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\",\"issue\":{\"updated_at\":\"2012-05-27T07:27:51Z\",\"body\":\"Body created by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/30\",\"comments\":0,\"milestone\":null,\"number\":30,\"assignee\":null,\"closed_at\":null,\"title\":\"Issue also created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-27T05:40:15Z\",\"state\":\"open\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"},\"id\":4769659,\"pull_request\":{\"patch_url\":null,\"diff_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/30\"},\"commit_id\":\"ed866fc43833802ab553e5ff8581c81bb00dd433\",\"created_at\":\"2012-05-27T07:29:25Z\",\"event\":\"referenced\",\"id\":16348656,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"}}\n ","status":"modified","deletions":7,"blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","changes":14,"additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","filename":"test/ReplayData/IssueEvent.setUp.txt"}] - diff --git a/github/tests/ReplayData/PullRequest.testGetIssueComment.txt b/github/tests/ReplayData/PullRequest.testGetIssueComment.txt deleted file mode 100644 index 6928047..0000000 --- a/github/tests/ReplayData/PullRequest.testGetIssueComment.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments/8387331 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '517'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4960'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sat, 08 Sep 2012 12:57:51 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5494519596414fbfe208a0b6d193e8f9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 13:03:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"body":"Issue comment created by PyGithub","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-09-08T12:57:51Z","updated_at":"2012-09-08T12:57:51Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8387331","id":8387331} - diff --git a/github/tests/ReplayData/PullRequest.testGetIssueComments.txt b/github/tests/ReplayData/PullRequest.testGetIssueComments.txt deleted file mode 100644 index 6b814ef..0000000 --- a/github/tests/ReplayData/PullRequest.testGetIssueComments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/31/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '519'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sat, 08 Sep 2012 12:57:51 GMT'), ('connection', 'keep-alive'), ('etag', '"5494519596414fbfe208a0b6d193e8f9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sat, 08 Sep 2012 12:59:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"body":"Issue comment created by PyGithub","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"created_at":"2012-09-08T12:57:51Z","updated_at":"2012-09-08T12:57:51Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8387331","id":8387331}] - diff --git a/github/tests/ReplayData/PullRequest.testMerge.txt b/github/tests/ReplayData/PullRequest.testMerge.txt deleted file mode 100644 index efd3c48..0000000 --- a/github/tests/ReplayData/PullRequest.testMerge.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/merge -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4953'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 10:29:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/merge -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '109'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2cf4589169510ce73907214b7327fe5a"'), ('date', 'Sun, 27 May 2012 10:29:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged":true,"message":"Pull Request successfully merged","sha":"688208b1a5a074871d0e9376119556897439697d"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/merge -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4951'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 10:29:08 GMT')] - - diff --git a/github/tests/ReplayData/PullRequest.testMergeWithCommitMessage.txt b/github/tests/ReplayData/PullRequest.testMergeWithCommitMessage.txt deleted file mode 100644 index 795d263..0000000 --- a/github/tests/ReplayData/PullRequest.testMergeWithCommitMessage.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"529c3e7540840a3720cfe5a3d7b83fa4"'), ('date', 'Tue, 29 May 2012 18:07:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"total_private_repos":5,"type":"User","disk_usage":17092,"collaborators":0,"owned_private_repos":5,"url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_gists":3,"company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","public_repos":10,"email":"vincent@vincent-jacques.net","hireable":false,"private_gists":5,"followers":13,"name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","bio":"","id":327146,"following":24} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"26bd79e0ccd81bb798c2959a498825c7"'), ('date', 'Tue, 29 May 2012 18:07:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:04:08Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":480,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:04:07Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/39 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '4494'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"716935e701e066a56718d7a8b2f409f8"'), ('date', 'Tue, 29 May 2012 18:07:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged":false,"diff_url":"https://github.com/jacquev6/PyGithub/pull/39.diff","head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-29T18:05:10Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","git_url":"git://github.com/BeaverSoftware/PyGithub.git","html_url":"https://github.com/BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"mirror_url":null,"size":428,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-29T18:05:10Z","created_at":"2012-05-29T18:03:19Z","id":4485562,"full_name":"BeaverSoftware/PyGithub"},"user":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"sha":"ca6e7ef9ce22dc01290bb59507f24cc17f42daa4"},"updated_at":"2012-05-29T18:06:07Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/39","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39/comments"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/39/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/39"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/39"}},"body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39","comments":0,"review_comments":0,"changed_files":15,"base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:04:08Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"mirror_url":null,"size":480,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:04:07Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"d57aea6a898050115a089e6f86c5314d7daf97e8"},"number":39,"html_url":"https://github.com/jacquev6/PyGithub/pull/39","patch_url":"https://github.com/jacquev6/PyGithub/pull/39.patch","mergeable":true,"title":"Pull request to be merged by PyGithub with a custom commit message","deletions":31,"merged_by":null,"additions":95,"closed_at":null,"created_at":"2012-05-29T18:06:07Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"state":"open","id":1448168,"commits":2,"merged_at":null} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/pulls/39/merge -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"commit_message": "Custom commit message created by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '109'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"378c85a4f6b6694e0f7686effbc2c29f"'), ('date', 'Tue, 29 May 2012 18:07:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged":true,"message":"Pull Request successfully merged","sha":"2525d86ae3bf7d26003e2a6d5226a8d870499792"} - diff --git a/github/tests/ReplayData/PullRequestComment.setUp.txt b/github/tests/ReplayData/PullRequestComment.setUp.txt deleted file mode 100644 index 874c817..0000000 --- a/github/tests/ReplayData/PullRequestComment.setUp.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a0b159629429109dd7505d8e6cbac5a6"'), ('date', 'Sun, 27 May 2012 10:04:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":16976,"public_gists":3,"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":11,"hireable":false,"private_gists":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"bio":"","company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","total_private_repos":5,"email":"vincent@vincent-jacques.net","collaborators":0,"followers":13,"name":"Vincent Jacques","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fdaf0d1e1356717e4a78f377e7b39115"'), ('date', 'Sun, 27 May 2012 10:04:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T08:50:04Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"open_issues":17,"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T07:29:24Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '4486'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8f57bc1a8842877715f836c1bfd943e5"'), ('date', 'Sun, 27 May 2012 10:04:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged":false,"changed_files":45,"mergeable":true,"head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","git_url":"git://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-27T09:09:17Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":176,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-27T09:09:17Z","created_at":"2012-05-27T08:50:04Z","id":4460787,"html_url":"https://github.com/BeaverSoftware/PyGithub","full_name":"BeaverSoftware/PyGithub"},"user":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},"updated_at":"2012-05-27T09:40:12Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/31","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","body":"Body of the pull request","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","comments":0,"base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T08:50:04Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":17,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T07:29:24Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"ed866fc43833802ab553e5ff8581c81bb00dd433"},"number":31,"merged_by":null,"closed_at":null,"title":"Pull request created by PyGithub","deletions":384,"merged_at":null,"diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","additions":511,"created_at":"2012-05-27T09:25:36Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"state":"open","id":1436215,"review_comments":1,"commits":3,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"}},"html_url":"https://github.com/jacquev6/PyGithub/pull/31"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments/886298 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '937'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c05c16826ff8762adedb7757f916d5de"'), ('date', 'Sun, 27 May 2012 10:04:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-27T09:40:12Z","position":5,"original_position":5,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#r886298"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}},"created_at":"2012-05-27T09:40:12Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","path":"src/github/Issue.py","id":886298,"html_url":"https://github.com/jacquev6/PyGithub/pull/170#issuecomment-18637907"} - diff --git a/github/tests/ReplayData/PullRequestComment.testDelete.txt b/github/tests/ReplayData/PullRequestComment.testDelete.txt deleted file mode 100644 index 7e71fac..0000000 --- a/github/tests/ReplayData/PullRequestComment.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments/886298 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4936'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 10:49:27 GMT')] - - diff --git a/github/tests/ReplayData/PullRequestComment.testEdit.txt b/github/tests/ReplayData/PullRequestComment.testEdit.txt deleted file mode 100644 index acc1ab0..0000000 --- a/github/tests/ReplayData/PullRequestComment.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments/886298 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '936'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e8c290c08cd5ed76a92529759e9148bc"'), ('date', 'Sun, 27 May 2012 10:09:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-27T10:09:07Z","position":5,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#r886298"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}},"original_position":5,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/886298","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","created_at":"2012-05-27T09:40:12Z","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","path":"src/github/Issue.py","id":886298} - diff --git a/github/tests/ReplayData/PullRequestFile.setUp.txt b/github/tests/ReplayData/PullRequestFile.setUp.txt deleted file mode 100644 index ee7a1cc..0000000 --- a/github/tests/ReplayData/PullRequestFile.setUp.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4944'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd2cf7798d42eb95b05522f2dcb89a33"'), ('date', 'Sun, 27 May 2012 10:47:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":5,"collaborators":0,"type":"User","disk_usage":16856,"hireable":false,"url":"https://api.github.com/users/jacquev6","plan":{"collaborators":1,"name":"micro","private_repos":5,"space":614400},"public_repos":11,"bio":"","total_private_repos":5,"company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","email":"vincent@vincent-jacques.net","owned_private_repos":5,"followers":13,"name":"Vincent Jacques","public_gists":3,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4943'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9888bcfd5b8a8111f879b15668cd2794"'), ('date', 'Sun, 27 May 2012 10:47:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T10:29:10Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":188,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T10:29:09Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('content-length', '4806'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2aaae2697fb8e4c261353aed1f375467"'), ('date', 'Sun, 27 May 2012 10:47:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"merged_by":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Title edited by PyGithub","state":"closed","comments":0,"merged_at":"2012-05-27T10:29:07Z","updated_at":"2012-05-27T10:29:07Z","deletions":384,"head":{"user":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"repo":{"description":"Python library implementing the full Github API v3","full_name":"BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"updated_at":"2012-05-27T09:09:17Z","forks":0,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","open_issues":0,"fork":true,"svn_url":"https://github.com/BeaverSoftware/PyGithub","pushed_at":"2012-05-27T09:09:17Z","size":176,"html_url":"https://github.com/BeaverSoftware/PyGithub","private":false,"url":"https://api.github.com/repos/BeaverSoftware/PyGithub","clone_url":"https://github.com/BeaverSoftware/PyGithub.git","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":1,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","id":4460787,"created_at":"2012-05-27T08:50:04Z"},"label":"BeaverSoftware:master","sha":"8a4f306d4b223682dd19410d4a9150636ebe4206","ref":"master"},"body":"Body edited by PyGithub","merged":true,"additions":511,"number":31,"_links":{"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"}},"closed_at":"2012-05-27T10:29:07Z","diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","mergeable":null,"commits":3,"changed_files":45,"html_url":"https://github.com/jacquev6/PyGithub/pull/31","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","review_comments":1,"issue_url":"https://github.com/jacquev6/PyGithub/issues/31","id":1436215,"base":{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"repo":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-27T10:29:10Z","forks":3,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":16,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-27T10:29:09Z","size":188,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"label":"jacquev6:topic/RewriteWithGeneratedCode","sha":"ed866fc43833802ab553e5ff8581c81bb00dd433","ref":"topic/RewriteWithGeneratedCode"},"created_at":"2012-05-27T09:25:36Z","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/31/files -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '169480'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0eeb19c75ce5a922107d104ec2a5dd4e"'), ('date', 'Sun, 27 May 2012 10:47:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"status":"modified","changes":2,"deletions":1,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/codegen/templates/GithubObject.py","filename":"codegen/templates/GithubObject.py","patch":"@@ -70,7 +70,7 @@ def __useAttributes( self, attributes ):\n \n # @toto No need to check if attribute is in attributes when attribute is mandatory\n {% for attribute in class.attributes|dictsort:\"name\" %}\n- if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None:\n+ if \"{{ attribute.name }}\" in attributes and attributes[ \"{{ attribute.name }}\" ] is not None: # pragma no branch\n \n {% if attribute.type.cardinality == \"scalar\" %}\n {% if attribute.type.simple %}","additions":1,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":50,"deletions":25,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/AuthenticatedUser.py","filename":"src/github/AuthenticatedUser.py","patch":"@@ -568,78 +568,78 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":25,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":18,"deletions":9,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Authorization.py","filename":"src/github/Authorization.py","patch":"@@ -117,21 +117,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"app\", \"created_at\", \"id\", \"note\", \"note_url\", \"scopes\", \"token\", \"updated_at\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"app\" in attributes and attributes[ \"app\" ] is not None:\n+ if \"app\" in attributes and attributes[ \"app\" ] is not None: # pragma no branch\n self.__app = attributes[ \"app\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"note\" in attributes and attributes[ \"note\" ] is not None:\n+ if \"note\" in attributes and attributes[ \"note\" ] is not None: # pragma no branch\n self.__note = attributes[ \"note\" ]\n- if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None:\n+ if \"note_url\" in attributes and attributes[ \"note_url\" ] is not None: # pragma no branch\n self.__note_url = attributes[ \"note_url\" ]\n- if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None:\n+ if \"scopes\" in attributes and attributes[ \"scopes\" ] is not None: # pragma no branch\n self.__scopes = attributes[ \"scopes\" ]\n- if \"token\" in attributes and attributes[ \"token\" ] is not None:\n+ if \"token\" in attributes and attributes[ \"token\" ] is not None: # pragma no branch\n self.__token = attributes[ \"token\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":4,"deletions":2,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Branch.py","filename":"src/github/Branch.py","patch":"@@ -28,9 +28,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]","additions":2,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":16,"deletions":8,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Commit.py","filename":"src/github/Commit.py","patch":"@@ -120,33 +120,33 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"commit\", \"committer\", \"files\", \"parents\", \"sha\", \"stats\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = NamedUser.NamedUser( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = GitCommit.GitCommit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = NamedUser.NamedUser( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"files\" ], list ) and ( len( attributes[ \"files\" ] ) == 0 or isinstance( attributes[ \"files\" ][ 0 ], dict ) )\n self.__files = [\n CommitFile.CommitFile( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"files\" ]\n ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n Commit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"stats\" in attributes and attributes[ \"stats\" ] is not None:\n+ if \"stats\" in attributes and attributes[ \"stats\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"stats\" ], dict )\n self.__stats = CommitStats.CommitStats( self.__requester, attributes[ \"stats\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":8,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":22,"deletions":11,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitComment.py","filename":"src/github/CommitComment.py","patch":"@@ -121,36 +121,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"line\" ], int )\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"position\" ], int )\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":18,"deletions":9,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitFile.py","filename":"src/github/CommitFile.py","patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]","additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/CommitStats.py","filename":"src/github/CommitStats.py","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"deletions\", \"total\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"additions\" ], int )\n self.__additions = attributes[ \"additions\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"deletions\" ], int )\n self.__deletions = attributes[ \"deletions\" ]\n- if \"total\" in attributes and attributes[ \"total\" ] is not None:\n+ if \"total\" in attributes and attributes[ \"total\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total\" ], int )\n self.__total = attributes[ \"total\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":40,"deletions":20,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Download.py","filename":"src/github/Download.py","patch":"@@ -162,43 +162,43 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"accesskeyid\", \"acl\", \"bucket\", \"content_type\", \"created_at\", \"description\", \"download_count\", \"expirationdate\", \"html_url\", \"id\", \"mime_type\", \"name\", \"path\", \"policy\", \"prefix\", \"redirect\", \"s3_url\", \"signature\", \"size\", \"url\", \"x-amz-meta-content-disposition\" ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None:\n+ if \"accesskeyid\" in attributes and attributes[ \"accesskeyid\" ] is not None: # pragma no branch\n self.__accesskeyid = attributes[ \"accesskeyid\" ]\n- if \"acl\" in attributes and attributes[ \"acl\" ] is not None:\n+ if \"acl\" in attributes and attributes[ \"acl\" ] is not None: # pragma no branch\n self.__acl = attributes[ \"acl\" ]\n- if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None:\n+ if \"bucket\" in attributes and attributes[ \"bucket\" ] is not None: # pragma no branch\n self.__bucket = attributes[ \"bucket\" ]\n- if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None:\n+ if \"content_type\" in attributes and attributes[ \"content_type\" ] is not None: # pragma no branch\n self.__content_type = attributes[ \"content_type\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n self.__description = attributes[ \"description\" ]\n- if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None:\n+ if \"download_count\" in attributes and attributes[ \"download_count\" ] is not None: # pragma no branch\n self.__download_count = attributes[ \"download_count\" ]\n- if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None:\n+ if \"expirationdate\" in attributes and attributes[ \"expirationdate\" ] is not None: # pragma no branch\n self.__expirationdate = attributes[ \"expirationdate\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None:\n+ if \"mime_type\" in attributes and attributes[ \"mime_type\" ] is not None: # pragma no branch\n self.__mime_type = attributes[ \"mime_type\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"policy\" in attributes and attributes[ \"policy\" ] is not None:\n+ if \"policy\" in attributes and attributes[ \"policy\" ] is not None: # pragma no branch\n self.__policy = attributes[ \"policy\" ]\n- if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None:\n+ if \"prefix\" in attributes and attributes[ \"prefix\" ] is not None: # pragma no branch\n self.__prefix = attributes[ \"prefix\" ]\n- if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None:\n+ if \"redirect\" in attributes and attributes[ \"redirect\" ] is not None: # pragma no branch\n self.__redirect = attributes[ \"redirect\" ]\n- if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None:\n+ if \"s3_url\" in attributes and attributes[ \"s3_url\" ] is not None: # pragma no branch\n self.__s3_url = attributes[ \"s3_url\" ]\n- if \"signature\" in attributes and attributes[ \"signature\" ] is not None:\n+ if \"signature\" in attributes and attributes[ \"signature\" ] is not None: # pragma no branch\n self.__signature = attributes[ \"signature\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","additions":20,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":16,"deletions":8,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Event.py","filename":"src/github/Event.py","patch":"@@ -60,22 +60,22 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"created_at\", \"id\", \"org\", \"payload\", \"public\", \"repo\", \"type\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"org\" in attributes and attributes[ \"org\" ] is not None:\n+ if \"org\" in attributes and attributes[ \"org\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"org\" ], dict )\n self.__org = Organization.Organization( self.__requester, attributes[ \"org\" ], completion = LazyCompletion )\n- if \"payload\" in attributes and attributes[ \"payload\" ] is not None:\n+ if \"payload\" in attributes and attributes[ \"payload\" ] is not None: # pragma no branch\n self.__payload = attributes[ \"payload\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n self.__public = attributes[ \"public\" ]\n- if \"repo\" in attributes and attributes[ \"repo\" ] is not None:\n+ if \"repo\" in attributes and attributes[ \"repo\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repo\" ], dict )\n self.__repo = Repository.Repository( self.__requester, attributes[ \"repo\" ], completion = LazyCompletion )\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n self.__type = attributes[ \"type\" ]","additions":8,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":30,"deletions":15,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Gist.py","filename":"src/github/Gist.py","patch":"@@ -220,53 +220,53 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"comments\", \"created_at\", \"description\", \"files\", \"fork_of\", \"forks\", \"git_pull_url\", \"git_push_url\", \"history\", \"html_url\", \"id\", \"public\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"files\" in attributes and attributes[ \"files\" ] is not None:\n+ if \"files\" in attributes and attributes[ \"files\" ] is not None: # pragma no branch\n self.__files = attributes[ \"files\" ]\n- if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None:\n+ if \"fork_of\" in attributes and attributes[ \"fork_of\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork_of\" ], dict )\n self.__fork_of = Gist( self.__requester, attributes[ \"fork_of\" ], completion = LazyCompletion )\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], list ) and ( len( attributes[ \"forks\" ] ) == 0 or isinstance( attributes[ \"forks\" ][ 0 ], dict ) )\n self.__forks = [\n Gist( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"forks\" ]\n ]\n- if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None:\n+ if \"git_pull_url\" in attributes and attributes[ \"git_pull_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_pull_url\" ], ( str, unicode ) )\n self.__git_pull_url = attributes[ \"git_pull_url\" ]\n- if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None:\n+ if \"git_push_url\" in attributes and attributes[ \"git_push_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_push_url\" ], ( str, unicode ) )\n self.__git_push_url = attributes[ \"git_push_url\" ]\n- if \"history\" in attributes and attributes[ \"history\" ] is not None:\n+ if \"history\" in attributes and attributes[ \"history\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"history\" ], list ) and ( len( attributes[ \"history\" ] ) == 0 or isinstance( attributes[ \"history\" ][ 0 ], dict ) )\n self.__history = [\n GistHistoryState.GistHistoryState( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"history\" ]\n ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], ( str, unicode ) )\n self.__id = attributes[ \"id\" ]\n- if \"public\" in attributes and attributes[ \"public\" ] is not None:\n+ if \"public\" in attributes and attributes[ \"public\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public\" ], bool )\n self.__public = attributes[ \"public\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":15,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":12,"deletions":6,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistComment.py","filename":"src/github/GistComment.py","patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":10,"deletions":5,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GistHistoryState.py","filename":"src/github/GistHistoryState.py","patch":"@@ -44,18 +44,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"change_status\", \"committed_at\", \"url\", \"user\", \"version\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None:\n+ if \"change_status\" in attributes and attributes[ \"change_status\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"change_status\" ], dict )\n self.__change_status = CommitStats.CommitStats( self.__requester, attributes[ \"change_status\" ], completion = LazyCompletion )\n- if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None:\n+ if \"committed_at\" in attributes and attributes[ \"committed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committed_at\" ], ( str, unicode ) )\n self.__committed_at = attributes[ \"committed_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )\n- if \"version\" in attributes and attributes[ \"version\" ] is not None:\n+ if \"version\" in attributes and attributes[ \"version\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"version\" ], ( str, unicode ) )\n self.__version = attributes[ \"version\" ]","additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitAuthor.py","filename":"src/github/GitAuthor.py","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"date\", \"email\", \"name\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"date\" in attributes and attributes[ \"date\" ] is not None:\n+ if \"date\" in attributes and attributes[ \"date\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"date\" ], ( str, unicode ) )\n self.__date = attributes[ \"date\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":10,"deletions":5,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitBlob.py","filename":"src/github/GitBlob.py","patch":"@@ -42,18 +42,18 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"content\", \"encoding\", \"sha\", \"size\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"content\" in attributes and attributes[ \"content\" ] is not None:\n+ if \"content\" in attributes and attributes[ \"content\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"content\" ], ( str, unicode ) )\n self.__content = attributes[ \"content\" ]\n- if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None:\n+ if \"encoding\" in attributes and attributes[ \"encoding\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"encoding\" ], ( str, unicode ) )\n self.__encoding = attributes[ \"encoding\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":14,"deletions":7,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitCommit.py","filename":"src/github/GitCommit.py","patch":"@@ -55,27 +55,27 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"author\", \"committer\", \"message\", \"parents\", \"sha\", \"tree\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"author\" in attributes and attributes[ \"author\" ] is not None:\n+ if \"author\" in attributes and attributes[ \"author\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"author\" ], dict )\n self.__author = GitAuthor.GitAuthor( self.__requester, attributes[ \"author\" ], completion = LazyCompletion )\n- if \"committer\" in attributes and attributes[ \"committer\" ] is not None:\n+ if \"committer\" in attributes and attributes[ \"committer\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"committer\" ], dict )\n self.__committer = GitAuthor.GitAuthor( self.__requester, attributes[ \"committer\" ], completion = LazyCompletion )\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"parents\" in attributes and attributes[ \"parents\" ] is not None:\n+ if \"parents\" in attributes and attributes[ \"parents\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parents\" ], list ) and ( len( attributes[ \"parents\" ] ) == 0 or isinstance( attributes[ \"parents\" ][ 0 ], dict ) )\n self.__parents = [\n GitCommit( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"parents\" ]\n ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], dict )\n self.__tree = GitTree.GitTree( self.__requester, attributes[ \"tree\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitObject.py","filename":"src/github/GitObject.py","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitRef.py","filename":"src/github/GitRef.py","patch":"@@ -55,12 +55,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"object\", \"ref\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"ref\" in attributes and attributes[ \"ref\" ] is not None:\n+ if \"ref\" in attributes and attributes[ \"ref\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ref\" ], ( str, unicode ) )\n self.__ref = attributes[ \"ref\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":12,"deletions":6,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTag.py","filename":"src/github/GitTag.py","patch":"@@ -49,21 +49,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"message\", \"object\", \"sha\", \"tag\", \"tagger\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"message\" in attributes and attributes[ \"message\" ] is not None:\n+ if \"message\" in attributes and attributes[ \"message\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"message\" ], ( str, unicode ) )\n self.__message = attributes[ \"message\" ]\n- if \"object\" in attributes and attributes[ \"object\" ] is not None:\n+ if \"object\" in attributes and attributes[ \"object\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"object\" ], dict )\n self.__object = GitObject.GitObject( self.__requester, attributes[ \"object\" ], completion = LazyCompletion )\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tag\" in attributes and attributes[ \"tag\" ] is not None:\n+ if \"tag\" in attributes and attributes[ \"tag\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tag\" ], ( str, unicode ) )\n self.__tag = attributes[ \"tag\" ]\n- if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None:\n+ if \"tagger\" in attributes and attributes[ \"tagger\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tagger\" ], dict )\n self.__tagger = GitAuthor.GitAuthor( self.__requester, attributes[ \"tagger\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTree.py","filename":"src/github/GitTree.py","patch":"@@ -33,15 +33,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"sha\", \"tree\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"tree\" in attributes and attributes[ \"tree\" ] is not None:\n+ if \"tree\" in attributes and attributes[ \"tree\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tree\" ], list ) and ( len( attributes[ \"tree\" ] ) == 0 or isinstance( attributes[ \"tree\" ][ 0 ], dict ) )\n self.__tree = [\n GitTreeElement.GitTreeElement( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"tree\" ]\n ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":12,"deletions":6,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/GitTreeElement.py","filename":"src/github/GitTreeElement.py","patch":"@@ -47,21 +47,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"mode\", \"path\", \"sha\", \"size\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"mode\" in attributes and attributes[ \"mode\" ] is not None:\n+ if \"mode\" in attributes and attributes[ \"mode\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mode\" ], ( str, unicode ) )\n self.__mode = attributes[ \"mode\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"path\" ], ( str, unicode ) )\n self.__path = attributes[ \"path\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"sha\" ], ( str, unicode ) )\n self.__sha = attributes[ \"sha\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":18,"deletions":9,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Hook.py","filename":"src/github/Hook.py","patch":"@@ -99,21 +99,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"active\", \"config\", \"created_at\", \"events\", \"id\", \"last_response\", \"name\", \"updated_at\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"active\" in attributes and attributes[ \"active\" ] is not None:\n+ if \"active\" in attributes and attributes[ \"active\" ] is not None: # pragma no branch\n self.__active = attributes[ \"active\" ]\n- if \"config\" in attributes and attributes[ \"config\" ] is not None:\n+ if \"config\" in attributes and attributes[ \"config\" ] is not None: # pragma no branch\n self.__config = attributes[ \"config\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"events\" in attributes and attributes[ \"events\" ] is not None:\n+ if \"events\" in attributes and attributes[ \"events\" ] is not None: # pragma no branch\n self.__events = attributes[ \"events\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None:\n+ if \"last_response\" in attributes and attributes[ \"last_response\" ] is not None: # pragma no branch\n self.__last_response = attributes[ \"last_response\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":53,"deletions":21,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Issue.py","filename":"src/github/Issue.py","patch":"@@ -110,7 +110,7 @@ def user( self ):\n return self.__user\n \n def add_to_labels( self, *labels ):\n- post_parameters = labels\n+ post_parameters = [ label.name for label in labels ]\n status, headers, data = self.__requester.request(\n \"POST\",\n str( self.url ) + \"/labels\",\n@@ -131,7 +131,12 @@ def create_comment( self, body ):\n return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n- pass\n+ status, headers, data = self.__requester.request(\n+ \"DELETE\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ None\n+ )\n \n def edit( self, title = DefaultValueForOptionalParameters, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -216,7 +221,13 @@ def remove_from_labels( self, label ):\n )\n \n def set_labels( self, *labels ):\n- pass\n+ post_parameters = [ label.name for label in labels ]\n+ status, headers, data = self.__requester.request(\n+ \"PUT\",\n+ str( self.url ) + \"/labels\",\n+ None,\n+ post_parameters\n+ )\n \n def __initAttributes( self ):\n self.__assignee = None\n@@ -257,59 +268,59 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"assignee\", \"body\", \"closed_at\", \"closed_by\", \"comments\", \"created_at\", \"html_url\", \"id\", \"labels\", \"milestone\", \"number\", \"pull_request\", \"repository\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None:\n+ if \"assignee\" in attributes and attributes[ \"assignee\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"assignee\" ], dict )\n self.__assignee = NamedUser.NamedUser( self.__requester, attributes[ \"assignee\" ], completion = LazyCompletion )\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"body\" ], ( str, unicode ) )\n self.__body = attributes[ \"body\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_at\" ], ( str, unicode ) )\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None:\n+ if \"closed_by\" in attributes and attributes[ \"closed_by\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_by\" ], dict )\n self.__closed_by = NamedUser.NamedUser( self.__requester, attributes[ \"closed_by\" ], completion = LazyCompletion )\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"comments\" ], int )\n self.__comments = attributes[ \"comments\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"labels\" in attributes and attributes[ \"labels\" ] is not None:\n+ if \"labels\" in attributes and attributes[ \"labels\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"labels\" ], list ) and ( len( attributes[ \"labels\" ] ) == 0 or isinstance( attributes[ \"labels\" ][ 0 ], dict ) )\n self.__labels = [\n Label.Label( self.__requester, element, completion = LazyCompletion )\n for element in attributes[ \"labels\" ]\n ]\n- if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None:\n+ if \"milestone\" in attributes and attributes[ \"milestone\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"milestone\" ], dict )\n self.__milestone = Milestone.Milestone( self.__requester, attributes[ \"milestone\" ], completion = LazyCompletion )\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None:\n+ if \"pull_request\" in attributes and attributes[ \"pull_request\" ] is not None: # pragma no branch\n self.__pull_request = attributes[ \"pull_request\" ]\n- if \"repository\" in attributes and attributes[ \"repository\" ] is not None:\n+ if \"repository\" in attributes and attributes[ \"repository\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"repository\" ], dict )\n self.__repository = Repository.Repository( self.__requester, attributes[ \"repository\" ], completion = LazyCompletion )\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":32,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":12,"deletions":6,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueComment.py","filename":"src/github/IssueComment.py","patch":"@@ -68,16 +68,16 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"created_at\", \"id\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":14,"deletions":7,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/IssueEvent.py","filename":"src/github/IssueEvent.py","patch":"@@ -78,24 +78,24 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"actor\", \"commit_id\", \"created_at\", \"event\", \"id\", \"issue\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"actor\" in attributes and attributes[ \"actor\" ] is not None:\n+ if \"actor\" in attributes and attributes[ \"actor\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"actor\" ], dict )\n self.__actor = NamedUser.NamedUser( self.__requester, attributes[ \"actor\" ], completion = LazyCompletion )\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit_id\" ], ( str, unicode ) )\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"event\" in attributes and attributes[ \"event\" ] is not None:\n+ if \"event\" in attributes and attributes[ \"event\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"event\" ], ( str, unicode ) )\n self.__event = attributes[ \"event\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"issue\" in attributes and attributes[ \"issue\" ] is not None:\n+ if \"issue\" in attributes and attributes[ \"issue\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"issue\" ], dict )\n self.__issue = Issue.Issue( self.__requester, attributes[ \"issue\" ], completion = LazyCompletion )\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":13,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Label.py","filename":"src/github/Label.py","patch":"@@ -1,6 +1,8 @@\n # WARNING: this file is generated automaticaly.\n # Do not modify it manually, your work would be lost.\n \n+import urllib\n+\n import PaginatedList\n from GithubObject import *\n \n@@ -43,6 +45,11 @@ def edit( self, name, color ):\n )\n self.__useAttributes( data )\n \n+ # @toto Remove '_identity' from the normalized json description\n+ @property\n+ def _identity( self ):\n+ return urllib.quote( self.name )\n+\n def __initAttributes( self ):\n self.__color = None\n self.__name = None\n@@ -53,9 +60,9 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"color\", \"name\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"color\" in attributes and attributes[ \"color\" ] is not None:\n+ if \"color\" in attributes and attributes[ \"color\" ] is not None: # pragma no branch\n self.__color = attributes[ \"color\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","additions":10,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":22,"deletions":11,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Milestone.py","filename":"src/github/Milestone.py","patch":"@@ -114,36 +114,36 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"closed_issues\", \"created_at\", \"creator\", \"description\", \"due_on\", \"id\", \"number\", \"open_issues\", \"state\", \"title\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None:\n+ if \"closed_issues\" in attributes and attributes[ \"closed_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"closed_issues\" ], int )\n self.__closed_issues = attributes[ \"closed_issues\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"creator\" in attributes and attributes[ \"creator\" ] is not None:\n+ if \"creator\" in attributes and attributes[ \"creator\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"creator\" ], dict )\n self.__creator = NamedUser.NamedUser( self.__requester, attributes[ \"creator\" ], completion = LazyCompletion )\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None:\n+ if \"due_on\" in attributes and attributes[ \"due_on\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"due_on\" ], ( str, unicode ) )\n self.__due_on = attributes[ \"due_on\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"number\" ], int )\n self.__number = attributes[ \"number\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"state\" ], ( str, unicode ) )\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"title\" ], ( str, unicode ) )\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":52,"deletions":26,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/NamedUser.py","filename":"src/github/NamedUser.py","patch":"@@ -365,81 +365,81 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"bio\", \"blog\", \"collaborators\", \"company\", \"contributions\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"hireable\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"bio\" in attributes and attributes[ \"bio\" ] is not None:\n+ if \"bio\" in attributes and attributes[ \"bio\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"bio\" ], ( str, unicode ) )\n self.__bio = attributes[ \"bio\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None:\n+ if \"contributions\" in attributes and attributes[ \"contributions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"contributions\" ], int )\n self.__contributions = attributes[ \"contributions\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None:\n+ if \"hireable\" in attributes and attributes[ \"hireable\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"hireable\" ], bool )\n self.__hireable = attributes[ \"hireable\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":26,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":48,"deletions":24,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Organization.py","filename":"src/github/Organization.py","patch":"@@ -390,75 +390,75 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"avatar_url\", \"billing_email\", \"blog\", \"collaborators\", \"company\", \"created_at\", \"disk_usage\", \"email\", \"followers\", \"following\", \"gravatar_id\", \"html_url\", \"id\", \"location\", \"login\", \"name\", \"owned_private_repos\", \"plan\", \"private_gists\", \"public_gists\", \"public_repos\", \"total_private_repos\", \"type\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None:\n+ if \"avatar_url\" in attributes and attributes[ \"avatar_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"avatar_url\" ], ( str, unicode ) )\n self.__avatar_url = attributes[ \"avatar_url\" ]\n- if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None:\n+ if \"billing_email\" in attributes and attributes[ \"billing_email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"billing_email\" ], ( str, unicode ) )\n self.__billing_email = attributes[ \"billing_email\" ]\n- if \"blog\" in attributes and attributes[ \"blog\" ] is not None:\n+ if \"blog\" in attributes and attributes[ \"blog\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"blog\" ], ( str, unicode ) )\n self.__blog = attributes[ \"blog\" ]\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"company\" in attributes and attributes[ \"company\" ] is not None:\n+ if \"company\" in attributes and attributes[ \"company\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"company\" ], ( str, unicode ) )\n self.__company = attributes[ \"company\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None:\n+ if \"disk_usage\" in attributes and attributes[ \"disk_usage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"disk_usage\" ], int )\n self.__disk_usage = attributes[ \"disk_usage\" ]\n- if \"email\" in attributes and attributes[ \"email\" ] is not None:\n+ if \"email\" in attributes and attributes[ \"email\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"email\" ], ( str, unicode ) )\n self.__email = attributes[ \"email\" ]\n- if \"followers\" in attributes and attributes[ \"followers\" ] is not None:\n+ if \"followers\" in attributes and attributes[ \"followers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"followers\" ], int )\n self.__followers = attributes[ \"followers\" ]\n- if \"following\" in attributes and attributes[ \"following\" ] is not None:\n+ if \"following\" in attributes and attributes[ \"following\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"following\" ], int )\n self.__following = attributes[ \"following\" ]\n- if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None:\n+ if \"gravatar_id\" in attributes and attributes[ \"gravatar_id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"gravatar_id\" ], ( str, unicode ) )\n self.__gravatar_id = attributes[ \"gravatar_id\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"location\" in attributes and attributes[ \"location\" ] is not None:\n+ if \"location\" in attributes and attributes[ \"location\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"location\" ], ( str, unicode ) )\n self.__location = attributes[ \"location\" ]\n- if \"login\" in attributes and attributes[ \"login\" ] is not None:\n+ if \"login\" in attributes and attributes[ \"login\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"login\" ], ( str, unicode ) )\n self.__login = attributes[ \"login\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None:\n+ if \"owned_private_repos\" in attributes and attributes[ \"owned_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owned_private_repos\" ], int )\n self.__owned_private_repos = attributes[ \"owned_private_repos\" ]\n- if \"plan\" in attributes and attributes[ \"plan\" ] is not None:\n+ if \"plan\" in attributes and attributes[ \"plan\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"plan\" ], dict )\n self.__plan = Plan.Plan( self.__requester, attributes[ \"plan\" ], completion = LazyCompletion )\n- if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None:\n+ if \"private_gists\" in attributes and attributes[ \"private_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_gists\" ], int )\n self.__private_gists = attributes[ \"private_gists\" ]\n- if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None:\n+ if \"public_gists\" in attributes and attributes[ \"public_gists\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_gists\" ], int )\n self.__public_gists = attributes[ \"public_gists\" ]\n- if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None:\n+ if \"public_repos\" in attributes and attributes[ \"public_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"public_repos\" ], int )\n self.__public_repos = attributes[ \"public_repos\" ]\n- if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None:\n+ if \"total_private_repos\" in attributes and attributes[ \"total_private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"total_private_repos\" ], int )\n self.__total_private_repos = attributes[ \"total_private_repos\" ]\n- if \"type\" in attributes and attributes[ \"type\" ] is not None:\n+ if \"type\" in attributes and attributes[ \"type\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"type\" ], ( str, unicode ) )\n self.__type = attributes[ \"type\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]","additions":24,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":6,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Permissions.py","filename":"src/github/Permissions.py","patch":"@@ -32,12 +32,12 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"admin\", \"pull\", \"push\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"admin\" in attributes and attributes[ \"admin\" ] is not None:\n+ if \"admin\" in attributes and attributes[ \"admin\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"admin\" ], bool )\n self.__admin = attributes[ \"admin\" ]\n- if \"pull\" in attributes and attributes[ \"pull\" ] is not None:\n+ if \"pull\" in attributes and attributes[ \"pull\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pull\" ], bool )\n self.__pull = attributes[ \"pull\" ]\n- if \"push\" in attributes and attributes[ \"push\" ] is not None:\n+ if \"push\" in attributes and attributes[ \"push\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"push\" ], bool )\n self.__push = attributes[ \"push\" ]","additions":3,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":8,"deletions":4,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Plan.py","filename":"src/github/Plan.py","patch":"@@ -37,15 +37,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"collaborators\", \"name\", \"private_repos\", \"space\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None:\n+ if \"collaborators\" in attributes and attributes[ \"collaborators\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"collaborators\" ], int )\n self.__collaborators = attributes[ \"collaborators\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None:\n+ if \"private_repos\" in attributes and attributes[ \"private_repos\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private_repos\" ], int )\n self.__private_repos = attributes[ \"private_repos\" ]\n- if \"space\" in attributes and attributes[ \"space\" ] is not None:\n+ if \"space\" in attributes and attributes[ \"space\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"space\" ], int )\n self.__space = attributes[ \"space\" ]","additions":4,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":52,"deletions":26,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequest.py","filename":"src/github/PullRequest.py","patch":"@@ -279,56 +279,56 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"base\", \"body\", \"changed_files\", \"closed_at\", \"comments\", \"commits\", \"created_at\", \"deletions\", \"diff_url\", \"head\", \"html_url\", \"id\", \"issue_url\", \"mergeable\", \"merged\", \"merged_at\", \"merged_by\", \"number\", \"patch_url\", \"review_comments\", \"state\", \"title\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"base\" in attributes and attributes[ \"base\" ] is not None:\n+ if \"base\" in attributes and attributes[ \"base\" ] is not None: # pragma no branch\n self.__base = attributes[ \"base\" ]\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None:\n+ if \"changed_files\" in attributes and attributes[ \"changed_files\" ] is not None: # pragma no branch\n self.__changed_files = attributes[ \"changed_files\" ]\n- if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None:\n+ if \"closed_at\" in attributes and attributes[ \"closed_at\" ] is not None: # pragma no branch\n self.__closed_at = attributes[ \"closed_at\" ]\n- if \"comments\" in attributes and attributes[ \"comments\" ] is not None:\n+ if \"comments\" in attributes and attributes[ \"comments\" ] is not None: # pragma no branch\n self.__comments = attributes[ \"comments\" ]\n- if \"commits\" in attributes and attributes[ \"commits\" ] is not None:\n+ if \"commits\" in attributes and attributes[ \"commits\" ] is not None: # pragma no branch\n self.__commits = attributes[ \"commits\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None:\n+ if \"diff_url\" in attributes and attributes[ \"diff_url\" ] is not None: # pragma no branch\n self.__diff_url = attributes[ \"diff_url\" ]\n- if \"head\" in attributes and attributes[ \"head\" ] is not None:\n+ if \"head\" in attributes and attributes[ \"head\" ] is not None: # pragma no branch\n self.__head = attributes[ \"head\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None:\n+ if \"issue_url\" in attributes and attributes[ \"issue_url\" ] is not None: # pragma no branch\n self.__issue_url = attributes[ \"issue_url\" ]\n- if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None:\n+ if \"mergeable\" in attributes and attributes[ \"mergeable\" ] is not None: # pragma no branch\n self.__mergeable = attributes[ \"mergeable\" ]\n- if \"merged\" in attributes and attributes[ \"merged\" ] is not None:\n+ if \"merged\" in attributes and attributes[ \"merged\" ] is not None: # pragma no branch\n self.__merged = attributes[ \"merged\" ]\n- if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None:\n+ if \"merged_at\" in attributes and attributes[ \"merged_at\" ] is not None: # pragma no branch\n self.__merged_at = attributes[ \"merged_at\" ]\n- if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None:\n+ if \"merged_by\" in attributes and attributes[ \"merged_by\" ] is not None: # pragma no branch\n self.__merged_by = attributes[ \"merged_by\" ]\n- if \"number\" in attributes and attributes[ \"number\" ] is not None:\n+ if \"number\" in attributes and attributes[ \"number\" ] is not None: # pragma no branch\n self.__number = attributes[ \"number\" ]\n- if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None:\n+ if \"patch_url\" in attributes and attributes[ \"patch_url\" ] is not None: # pragma no branch\n self.__patch_url = attributes[ \"patch_url\" ]\n- if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None:\n+ if \"review_comments\" in attributes and attributes[ \"review_comments\" ] is not None: # pragma no branch\n self.__review_comments = attributes[ \"review_comments\" ]\n- if \"state\" in attributes and attributes[ \"state\" ] is not None:\n+ if \"state\" in attributes and attributes[ \"state\" ] is not None: # pragma no branch\n self.__state = attributes[ \"state\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":26,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":22,"deletions":11,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestComment.py","filename":"src/github/PullRequestComment.py","patch":"@@ -121,26 +121,26 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"body\", \"commit_id\", \"created_at\", \"html_url\", \"id\", \"line\", \"path\", \"position\", \"updated_at\", \"url\", \"user\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"body\" in attributes and attributes[ \"body\" ] is not None:\n+ if \"body\" in attributes and attributes[ \"body\" ] is not None: # pragma no branch\n self.__body = attributes[ \"body\" ]\n- if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None:\n+ if \"commit_id\" in attributes and attributes[ \"commit_id\" ] is not None: # pragma no branch\n self.__commit_id = attributes[ \"commit_id\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n self.__created_at = attributes[ \"created_at\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"line\" in attributes and attributes[ \"line\" ] is not None:\n+ if \"line\" in attributes and attributes[ \"line\" ] is not None: # pragma no branch\n self.__line = attributes[ \"line\" ]\n- if \"path\" in attributes and attributes[ \"path\" ] is not None:\n+ if \"path\" in attributes and attributes[ \"path\" ] is not None: # pragma no branch\n self.__path = attributes[ \"path\" ]\n- if \"position\" in attributes and attributes[ \"position\" ] is not None:\n+ if \"position\" in attributes and attributes[ \"position\" ] is not None: # pragma no branch\n self.__position = attributes[ \"position\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"user\" in attributes and attributes[ \"user\" ] is not None:\n+ if \"user\" in attributes and attributes[ \"user\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"user\" ], dict )\n self.__user = NamedUser.NamedUser( self.__requester, attributes[ \"user\" ], completion = LazyCompletion )","additions":11,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":18,"deletions":9,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/PullRequestFile.py","filename":"src/github/PullRequestFile.py","patch":"@@ -62,21 +62,21 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"additions\", \"blob_url\", \"changes\", \"deletions\", \"filename\", \"patch\", \"raw_url\", \"sha\", \"status\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"additions\" in attributes and attributes[ \"additions\" ] is not None:\n+ if \"additions\" in attributes and attributes[ \"additions\" ] is not None: # pragma no branch\n self.__additions = attributes[ \"additions\" ]\n- if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None:\n+ if \"blob_url\" in attributes and attributes[ \"blob_url\" ] is not None: # pragma no branch\n self.__blob_url = attributes[ \"blob_url\" ]\n- if \"changes\" in attributes and attributes[ \"changes\" ] is not None:\n+ if \"changes\" in attributes and attributes[ \"changes\" ] is not None: # pragma no branch\n self.__changes = attributes[ \"changes\" ]\n- if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None:\n+ if \"deletions\" in attributes and attributes[ \"deletions\" ] is not None: # pragma no branch\n self.__deletions = attributes[ \"deletions\" ]\n- if \"filename\" in attributes and attributes[ \"filename\" ] is not None:\n+ if \"filename\" in attributes and attributes[ \"filename\" ] is not None: # pragma no branch\n self.__filename = attributes[ \"filename\" ]\n- if \"patch\" in attributes and attributes[ \"patch\" ] is not None:\n+ if \"patch\" in attributes and attributes[ \"patch\" ] is not None: # pragma no branch\n self.__patch = attributes[ \"patch\" ]\n- if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None:\n+ if \"raw_url\" in attributes and attributes[ \"raw_url\" ] is not None: # pragma no branch\n self.__raw_url = attributes[ \"raw_url\" ]\n- if \"sha\" in attributes and attributes[ \"sha\" ] is not None:\n+ if \"sha\" in attributes and attributes[ \"sha\" ] is not None: # pragma no branch\n self.__sha = attributes[ \"sha\" ]\n- if \"status\" in attributes and attributes[ \"status\" ] is not None:\n+ if \"status\" in attributes and attributes[ \"status\" ] is not None: # pragma no branch\n self.__status = attributes[ \"status\" ]","additions":9,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":62,"deletions":31,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Repository.py","filename":"src/github/Repository.py","patch":"@@ -905,96 +905,96 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"clone_url\", \"created_at\", \"description\", \"fork\", \"forks\", \"full_name\", \"git_url\", \"has_downloads\", \"has_issues\", \"has_wiki\", \"homepage\", \"html_url\", \"id\", \"language\", \"master_branch\", \"mirror_url\", \"name\", \"open_issues\", \"organization\", \"owner\", \"parent\", \"permissions\", \"private\", \"pushed_at\", \"size\", \"source\", \"ssh_url\", \"svn_url\", \"updated_at\", \"url\", \"watchers\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None:\n+ if \"clone_url\" in attributes and attributes[ \"clone_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"clone_url\" ], ( str, unicode ) )\n self.__clone_url = attributes[ \"clone_url\" ]\n- if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None:\n+ if \"created_at\" in attributes and attributes[ \"created_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"created_at\" ], ( str, unicode ) )\n self.__created_at = attributes[ \"created_at\" ]\n- if \"description\" in attributes and attributes[ \"description\" ] is not None:\n+ if \"description\" in attributes and attributes[ \"description\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"description\" ], ( str, unicode ) )\n self.__description = attributes[ \"description\" ]\n- if \"fork\" in attributes and attributes[ \"fork\" ] is not None:\n+ if \"fork\" in attributes and attributes[ \"fork\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"fork\" ], bool )\n self.__fork = attributes[ \"fork\" ]\n- if \"forks\" in attributes and attributes[ \"forks\" ] is not None:\n+ if \"forks\" in attributes and attributes[ \"forks\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"forks\" ], int )\n self.__forks = attributes[ \"forks\" ]\n- if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None:\n+ if \"full_name\" in attributes and attributes[ \"full_name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"full_name\" ], ( str, unicode ) )\n self.__full_name = attributes[ \"full_name\" ]\n- if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None:\n+ if \"git_url\" in attributes and attributes[ \"git_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"git_url\" ], ( str, unicode ) )\n self.__git_url = attributes[ \"git_url\" ]\n- if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None:\n+ if \"has_downloads\" in attributes and attributes[ \"has_downloads\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_downloads\" ], bool )\n self.__has_downloads = attributes[ \"has_downloads\" ]\n- if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None:\n+ if \"has_issues\" in attributes and attributes[ \"has_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_issues\" ], bool )\n self.__has_issues = attributes[ \"has_issues\" ]\n- if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None:\n+ if \"has_wiki\" in attributes and attributes[ \"has_wiki\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"has_wiki\" ], bool )\n self.__has_wiki = attributes[ \"has_wiki\" ]\n- if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None:\n+ if \"homepage\" in attributes and attributes[ \"homepage\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"homepage\" ], ( str, unicode ) )\n self.__homepage = attributes[ \"homepage\" ]\n- if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None:\n+ if \"html_url\" in attributes and attributes[ \"html_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"html_url\" ], ( str, unicode ) )\n self.__html_url = attributes[ \"html_url\" ]\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"id\" ], int )\n self.__id = attributes[ \"id\" ]\n- if \"language\" in attributes and attributes[ \"language\" ] is not None:\n+ if \"language\" in attributes and attributes[ \"language\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"language\" ], ( str, unicode ) )\n self.__language = attributes[ \"language\" ]\n- if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None:\n+ if \"master_branch\" in attributes and attributes[ \"master_branch\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"master_branch\" ], ( str, unicode ) )\n self.__master_branch = attributes[ \"master_branch\" ]\n- if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None:\n+ if \"mirror_url\" in attributes and attributes[ \"mirror_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"mirror_url\" ], ( str, unicode ) )\n self.__mirror_url = attributes[ \"mirror_url\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None:\n+ if \"open_issues\" in attributes and attributes[ \"open_issues\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"open_issues\" ], int )\n self.__open_issues = attributes[ \"open_issues\" ]\n- if \"organization\" in attributes and attributes[ \"organization\" ] is not None:\n+ if \"organization\" in attributes and attributes[ \"organization\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"organization\" ], dict )\n self.__organization = Organization.Organization( self.__requester, attributes[ \"organization\" ], completion = LazyCompletion )\n- if \"owner\" in attributes and attributes[ \"owner\" ] is not None:\n+ if \"owner\" in attributes and attributes[ \"owner\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"owner\" ], dict )\n self.__owner = NamedUser.NamedUser( self.__requester, attributes[ \"owner\" ], completion = LazyCompletion )\n- if \"parent\" in attributes and attributes[ \"parent\" ] is not None:\n+ if \"parent\" in attributes and attributes[ \"parent\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"parent\" ], dict )\n self.__parent = Repository( self.__requester, attributes[ \"parent\" ], completion = LazyCompletion )\n- if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None:\n+ if \"permissions\" in attributes and attributes[ \"permissions\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"permissions\" ], dict )\n self.__permissions = Permissions.Permissions( self.__requester, attributes[ \"permissions\" ], completion = LazyCompletion )\n- if \"private\" in attributes and attributes[ \"private\" ] is not None:\n+ if \"private\" in attributes and attributes[ \"private\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"private\" ], bool )\n self.__private = attributes[ \"private\" ]\n- if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None:\n+ if \"pushed_at\" in attributes and attributes[ \"pushed_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"pushed_at\" ], ( str, unicode ) )\n self.__pushed_at = attributes[ \"pushed_at\" ]\n- if \"size\" in attributes and attributes[ \"size\" ] is not None:\n+ if \"size\" in attributes and attributes[ \"size\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"size\" ], int )\n self.__size = attributes[ \"size\" ]\n- if \"source\" in attributes and attributes[ \"source\" ] is not None:\n+ if \"source\" in attributes and attributes[ \"source\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"source\" ], dict )\n self.__source = Repository( self.__requester, attributes[ \"source\" ], completion = LazyCompletion )\n- if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None:\n+ if \"ssh_url\" in attributes and attributes[ \"ssh_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"ssh_url\" ], ( str, unicode ) )\n self.__ssh_url = attributes[ \"ssh_url\" ]\n- if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None:\n+ if \"svn_url\" in attributes and attributes[ \"svn_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"svn_url\" ], ( str, unicode ) )\n self.__svn_url = attributes[ \"svn_url\" ]\n- if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None:\n+ if \"updated_at\" in attributes and attributes[ \"updated_at\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"updated_at\" ], ( str, unicode ) )\n self.__updated_at = attributes[ \"updated_at\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"url\" ], ( str, unicode ) )\n self.__url = attributes[ \"url\" ]\n- if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None:\n+ if \"watchers\" in attributes and attributes[ \"watchers\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"watchers\" ], int )\n self.__watchers = attributes[ \"watchers\" ]","additions":31,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":10,"deletions":5,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/RepositoryKey.py","filename":"src/github/RepositoryKey.py","patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]","additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":8,"deletions":4,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Tag.py","filename":"src/github/Tag.py","patch":"@@ -38,15 +38,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"commit\", \"name\", \"tarball_url\", \"zipball_url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"commit\" in attributes and attributes[ \"commit\" ] is not None:\n+ if \"commit\" in attributes and attributes[ \"commit\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"commit\" ], dict )\n self.__commit = Commit.Commit( self.__requester, attributes[ \"commit\" ], completion = LazyCompletion )\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"name\" ], ( str, unicode ) )\n self.__name = attributes[ \"name\" ]\n- if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None:\n+ if \"tarball_url\" in attributes and attributes[ \"tarball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"tarball_url\" ], ( str, unicode ) )\n self.__tarball_url = attributes[ \"tarball_url\" ]\n- if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None:\n+ if \"zipball_url\" in attributes and attributes[ \"zipball_url\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"zipball_url\" ], ( str, unicode ) )\n self.__zipball_url = attributes[ \"zipball_url\" ]","additions":4,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":12,"deletions":6,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/Team.py","filename":"src/github/Team.py","patch":"@@ -172,15 +172,15 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"members_count\", \"name\", \"permission\", \"repos_count\", \"url\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None:\n+ if \"members_count\" in attributes and attributes[ \"members_count\" ] is not None: # pragma no branch\n self.__members_count = attributes[ \"members_count\" ]\n- if \"name\" in attributes and attributes[ \"name\" ] is not None:\n+ if \"name\" in attributes and attributes[ \"name\" ] is not None: # pragma no branch\n self.__name = attributes[ \"name\" ]\n- if \"permission\" in attributes and attributes[ \"permission\" ] is not None:\n+ if \"permission\" in attributes and attributes[ \"permission\" ] is not None: # pragma no branch\n self.__permission = attributes[ \"permission\" ]\n- if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None:\n+ if \"repos_count\" in attributes and attributes[ \"repos_count\" ] is not None: # pragma no branch\n self.__repos_count = attributes[ \"repos_count\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]","additions":6,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":10,"deletions":5,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/src/github/UserKey.py","filename":"src/github/UserKey.py","patch":"@@ -87,14 +87,14 @@ def __useAttributes( self, attributes ):\n for attribute in attributes:\n assert attribute in [ \"id\", \"key\", \"title\", \"url\", \"verified\", ], attribute\n # @toto No need to check if attribute is in attributes when attribute is mandatory\n- if \"id\" in attributes and attributes[ \"id\" ] is not None:\n+ if \"id\" in attributes and attributes[ \"id\" ] is not None: # pragma no branch\n self.__id = attributes[ \"id\" ]\n- if \"key\" in attributes and attributes[ \"key\" ] is not None:\n+ if \"key\" in attributes and attributes[ \"key\" ] is not None: # pragma no branch\n self.__key = attributes[ \"key\" ]\n- if \"title\" in attributes and attributes[ \"title\" ] is not None:\n+ if \"title\" in attributes and attributes[ \"title\" ] is not None: # pragma no branch\n self.__title = attributes[ \"title\" ]\n- if \"url\" in attributes and attributes[ \"url\" ] is not None:\n+ if \"url\" in attributes and attributes[ \"url\" ] is not None: # pragma no branch\n self.__url = attributes[ \"url\" ]\n- if \"verified\" in attributes and attributes[ \"verified\" ] is not None:\n+ if \"verified\" in attributes and attributes[ \"verified\" ] is not None: # pragma no branch\n assert isinstance( attributes[ \"verified\" ], bool )\n self.__verified = attributes[ \"verified\" ]","additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":26,"deletions":1,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/Issue.py","filename":"test/Issue.py","patch":"@@ -3,7 +3,8 @@\n class Issue( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.issue = self.g.get_user().get_repo( \"PyGithub\" ).get_issue( 28 )\r\n+ self.repo = self.g.get_user().get_repo( \"PyGithub\" )\r\n+ self.issue = self.repo.get_issue( 28 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.issue.assignee.login, \"jacquev6\" )\r\n@@ -47,3 +48,26 @@ def testGetComments( self ):\n \r\n def testGetEvents( self ):\r\n self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] )\r\n+\r\n+ def testGetLabels( self ):\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testAddAndRemoveLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( bug )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\", \"Question\" ] )\r\n+ self.issue.remove_from_labels( question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Project management\" ] )\r\n+ self.issue.add_to_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+\r\n+ def testDeleteAndSetLabels( self ):\r\n+ bug = self.repo.get_label( \"Bug\" )\r\n+ question = self.repo.get_label( \"Question\" )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Project management\", \"Question\" ] )\r\n+ self.issue.delete_labels()\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [] )\r\n+ self.issue.set_labels( bug, question )\r\n+ self.assertListKeyEqual( self.issue.get_labels(), lambda l: l.name, [ \"Bug\", \"Question\" ] )\r","additions":25,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":14,"deletions":7,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/IssueEvent.py","filename":"test/IssueEvent.py","patch":"@@ -3,13 +3,13 @@\n class IssueEvent( Framework.TestCase ):\r\n def setUp( self ):\r\n Framework.TestCase.setUp( self )\r\n- self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 15819975 )\r\n+ self.event = self.g.get_user().get_repo( \"PyGithub\" ).get_issues_event( 16348656 )\r\n \r\n def testAttributes( self ):\r\n self.assertEqual( self.event.actor.login, \"jacquev6\" )\r\n- self.assertEqual( self.event.commit_id, None )\r\n- self.assertEqual( self.event.created_at, \"2012-05-19T10:38:23Z\" )\r\n- self.assertEqual( self.event.event, \"subscribed\" )\r\n- self.assertEqual( self.event.id, 15819975 )\r\n- self.assertEqual( self.event.issue.number, 28 )\r\n- self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\" )\r\n+ self.assertEqual( self.event.commit_id, \"ed866fc43833802ab553e5ff8581c81bb00dd433\" )\r\n+ self.assertEqual( self.event.created_at, \"2012-05-27T07:29:25Z\" )\r\n+ self.assertEqual( self.event.event, \"referenced\" )\r\n+ self.assertEqual( self.event.id, 16348656 )\r\n+ self.assertEqual( self.event.issue.number, 30 )\r\n+ self.assertEqual( self.event.url, \"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\" )\r","additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"added","changes":45,"deletions":0,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testAddAndRemoveLabels.txt","filename":"test/ReplayData/Issue.testAddAndRemoveLabels.txt","patch":"@@ -0,0 +1,45 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"569c414d87e8ec43ec269a9e28bc2982\"'), ('date', 'Sun, 27 May 2012 09:04:01 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"b659c8dcc1212c71f826547c3cc7ae99\"'), ('date', 'Sun, 27 May 2012 09:04:02 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:03 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '237'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"46cc70bad88a09b559a5e67089005105\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:04 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"5352ae15c8a5a36c6cace63be9367332\"'), ('date', 'Sun, 27 May 2012 09:04:05 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"}]\n+\n+POST /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 09:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","additions":45,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"added","changes":35,"deletions":0,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testDeleteAndSetLabels.txt","filename":"test/ReplayData/Issue.testDeleteAndSetLabels.txt","patch":"@@ -0,0 +1,35 @@\n+GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fe2e942523eecb156d100829a6347516\"'), ('date', 'Sun, 27 May 2012 09:06:37 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"}\n+\n+GET /repos/jacquev6/PyGithub/labels/Question {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"931e58d337b2290717303141eda89cd7\"'), ('date', 'Sun, 27 May 2012 09:06:38 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4972'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d135d74d2ea2159d044676a220d41d3a\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"color\":\"e10c02\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\"},{\"color\":\"444444\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\"},{\"color\":\"02e10c\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\"}]\n+\n+DELETE /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+204\n+[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d41d8cd98f00b204e9800998ecf8427e\"'), ('date', 'Sun, 27 May 2012 09:06:39 GMT')]\n+\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"d751713988987e9331980363e24189ce\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[]\n+\n+PUT /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} [\"Bug\", \"Question\"]\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:40 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '207'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"1a56634d9c1050a88592ff55ed8adc62\"'), ('date', 'Sun, 27 May 2012 09:06:41 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","additions":35,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"added","changes":5,"deletions":0,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/Issue.testGetLabels.txt","filename":"test/ReplayData/Issue.testGetLabels.txt","patch":"@@ -0,0 +1,5 @@\n+GET /repos/jacquev6/PyGithub/issues/28/labels {'Authorization': 'Basic login_and_password_removed'} null\n+200\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '335'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"c9f9beccb03030beaf7b80927da6fef6\"'), ('date', 'Sun, 27 May 2012 08:56:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}]\n+","additions":5,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},{"status":"modified","changes":14,"deletions":7,"raw_url":"https://github.com/jacquev6/PyGithub/raw/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","blob_url":"https://github.com/jacquev6/PyGithub/blob/8a4f306d4b223682dd19410d4a9150636ebe4206/test/ReplayData/IssueEvent.setUp.txt","filename":"test/ReplayData/IssueEvent.setUp.txt","patch":"@@ -1,15 +1,15 @@\n GET /user {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4907'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"99c9bfb75395b749e9913a4729126fb5\"'), ('date', 'Sun, 27 May 2012 07:19:30 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"private_gists\":5,\"type\":\"User\",\"company\":\"Criteo\",\"location\":\"Paris, France\",\"hireable\":false,\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"bio\":\"\",\"following\":24,\"blog\":\"http://vincent-jacques.net\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"total_private_repos\":5,\"followers\":13,\"owned_private_repos\":5,\"disk_usage\":16976,\"collaborators\":0,\"html_url\":\"https://github.com/jacquev6\",\"url\":\"https://api.github.com/users/jacquev6\",\"name\":\"Vincent Jacques\",\"login\":\"jacquev6\",\"public_repos\":11,\"public_gists\":3,\"email\":\"vincent@vincent-jacques.net\",\"id\":327146,\"plan\":{\"private_repos\":5,\"collaborators\":1,\"name\":\"micro\",\"space\":614400},\"created_at\":\"2010-07-09T06:10:06Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8974bb1628a3e3a6d3eb3b08c1b5a46b\"'), ('date', 'Sun, 27 May 2012 07:32:54 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"type\":\"User\",\"bio\":\"\",\"disk_usage\":16976,\"total_private_repos\":5,\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"owned_private_repos\":5,\"collaborators\":0,\"plan\":{\"collaborators\":1,\"private_repos\":5,\"name\":\"micro\",\"space\":614400},\"company\":\"Criteo\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"email\":\"vincent@vincent-jacques.net\",\"public_gists\":3,\"followers\":13,\"name\":\"Vincent Jacques\",\"created_at\":\"2010-07-09T06:10:06Z\",\"blog\":\"http://vincent-jacques.net\",\"location\":\"Paris, France\",\"hireable\":false,\"id\":327146,\"private_gists\":5,\"public_repos\":11,\"following\":24,\"html_url\":\"https://github.com/jacquev6\"}\n \n GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4906'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"4c20acf0b23f75bbf25106b1a04f65a5\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"description\":\"Python library implementing the full Github API v3\",\"full_name\":\"jacquev6/PyGithub\",\"has_wiki\":false,\"has_issues\":true,\"updated_at\":\"2012-05-27T06:55:28Z\",\"forks\":3,\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"open_issues\":16,\"fork\":false,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"pushed_at\":\"2012-05-27T06:00:28Z\",\"size\":308,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"private\":false,\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"owner\":{\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"has_downloads\":true,\"language\":\"Python\",\"watchers\":15,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"id\":3544490,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"created_at\":\"2012-02-25T12:53:47Z\"}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"f1e4eb3993a364b66b68ec9db42405bd\"'), ('date', 'Sun, 27 May 2012 07:32:55 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"has_downloads\":true,\"watchers\":15,\"updated_at\":\"2012-05-27T07:29:24Z\",\"permissions\":{\"pull\":true,\"admin\":true,\"push\":true},\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"mirror_url\":null,\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":3,\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"size\":308,\"private\":false,\"open_issues\":16,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"name\":\"PyGithub\",\"language\":\"Python\",\"description\":\"Python library implementing the full Github API v3\",\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"pushed_at\":\"2012-05-27T07:29:24Z\",\"created_at\":\"2012-02-25T12:53:47Z\",\"id\":3544490,\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"full_name\":\"jacquev6/PyGithub\"}\n \n-GET /repos/jacquev6/PyGithub/issues/events/15819975 {'Authorization': 'Basic login_and_password_removed'} null\n+GET /repos/jacquev6/PyGithub/issues/events/16348656 {'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed'} null\n 200\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4905'), ('content-length', '2430'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"a3d244842d23f92f69a23e21626fad11\"'), ('date', 'Sun, 27 May 2012 07:19:31 GMT'), ('content-type', 'application/json; charset=utf-8')]\n-{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975\",\"issue\":{\"updated_at\":\"2012-05-26T14:59:33Z\",\"body\":\"Body edited by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/28\",\"comments\":0,\"milestone\":{\"creator\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/milestones/1\",\"number\":1,\"title\":\"Version 0.4\",\"due_on\":\"2012-03-13T07:00:00Z\",\"closed_issues\":3,\"open_issues\":0,\"created_at\":\"2012-03-08T12:22:10Z\",\"state\":\"closed\",\"description\":\"\",\"id\":93546},\"number\":28,\"assignee\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"closed_at\":\"2012-05-26T14:59:33Z\",\"title\":\"Issue created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug\",\"name\":\"Bug\",\"color\":\"e10c02\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management\",\"name\":\"Project management\",\"color\":\"444444\"},{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-19T10:38:23Z\",\"state\":\"closed\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146},\"id\":4653757,\"pull_request\":{\"diff_url\":null,\"patch_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/28\"},\"commit_id\":null,\"created_at\":\"2012-05-19T10:38:23Z\",\"event\":\"subscribed\",\"id\":15819975,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146}}\n+[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '1384'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"fefecab09e7355d4ef9875677c2631da\"'), ('date', 'Sun, 27 May 2012 07:32:56 GMT'), ('content-type', 'application/json; charset=utf-8')]\n+{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16348656\",\"issue\":{\"updated_at\":\"2012-05-27T07:27:51Z\",\"body\":\"Body created by PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/issues/30\",\"comments\":0,\"milestone\":null,\"number\":30,\"assignee\":null,\"closed_at\":null,\"title\":\"Issue also created by PyGithub\",\"labels\":[{\"url\":\"https://api.github.com/repos/jacquev6/PyGithub/labels/Question\",\"name\":\"Question\",\"color\":\"02e10c\"}],\"created_at\":\"2012-05-27T05:40:15Z\",\"state\":\"open\",\"user\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"},\"id\":4769659,\"pull_request\":{\"patch_url\":null,\"diff_url\":null,\"html_url\":null},\"html_url\":\"https://github.com/jacquev6/PyGithub/issues/30\"},\"commit_id\":\"ed866fc43833802ab553e5ff8581c81bb00dd433\",\"created_at\":\"2012-05-27T07:29:25Z\",\"event\":\"referenced\",\"id\":16348656,\"actor\":{\"url\":\"https://api.github.com/users/jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"login\":\"jacquev6\",\"id\":327146,\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\"}}\n ","additions":7,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"}] - diff --git a/github/tests/ReplayData/PullRequestReview.setUp.txt b/github/tests/ReplayData/PullRequestReview.setUp.txt deleted file mode 100644 index 0dca4cf..0000000 --- a/github/tests/ReplayData/PullRequestReview.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/PyGithub/PyGithub/pulls/538 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '14726'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'edf23fdc48375d9066b698b8d98062e9'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"f375b2b7b6eb9081788c5e3b1dedba0e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4907'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'C1FF:69EB:25C778B:2F12119:58D55E89'), ('last-modified', 'Wed, 22 Mar 2017 19:07:28 GMT'), ('date', 'Fri, 24 Mar 2017 17:59:37 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1490379624')] -{"url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538","id":111649703,"html_url":"https://github.com/PyGithub/PyGithub/pull/538","diff_url":"https://github.com/PyGithub/PyGithub/pull/538.diff","patch_url":"https://github.com/PyGithub/PyGithub/pull/538.patch","issue_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/538","number":538,"state":"open","locked":false,"title":"Add Support for Pull Request Reviews feature","user":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"body":"Adding support to Pull Request class to access new Github API features [Pull Request reviews](https://developer.github.com/v3/pulls/reviews/) and [Pull Request Reviewer Requests](https://developer.github.com/v3/pulls/review_requests/)\r\n\r\nThe API's is still in beta. \r\n\r\nI approached this by providing a minimal set of routines to access the list of reviews or a specific review. Also access to get a list of Reviewer requests. \r\n\r\nBecause the API is still early in Beta, I choose not to implement the create/delete/edit features, but the infrastructure should be in place for future improvements.\r\n\r\n","created_at":"2017-03-20T21:00:37Z","updated_at":"2017-03-22T19:07:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"764e59cb251dc0e9aab5be993d4451b35f91b685","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/commits","review_comments_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/comments","review_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/538/comments","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc","head":{"label":"allevin:Add_Pull_Request_Reviews_Feature","ref":"Add_Pull_Request_Reviews_Feature","sha":"7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc","user":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"repo":{"id":85619926,"name":"PyGithub","full_name":"allevin/PyGithub","owner":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/allevin/PyGithub","description":"Typed interactions with the GitHub API v3","fork":true,"url":"https://api.github.com/repos/allevin/PyGithub","forks_url":"https://api.github.com/repos/allevin/PyGithub/forks","keys_url":"https://api.github.com/repos/allevin/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/allevin/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/allevin/PyGithub/teams","hooks_url":"https://api.github.com/repos/allevin/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/allevin/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/allevin/PyGithub/events","assignees_url":"https://api.github.com/repos/allevin/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/allevin/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/allevin/PyGithub/tags","blobs_url":"https://api.github.com/repos/allevin/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/allevin/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/allevin/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/allevin/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/allevin/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/allevin/PyGithub/languages","stargazers_url":"https://api.github.com/repos/allevin/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/allevin/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/allevin/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/allevin/PyGithub/subscription","commits_url":"https://api.github.com/repos/allevin/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/allevin/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/allevin/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/allevin/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/allevin/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/allevin/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/allevin/PyGithub/merges","archive_url":"https://api.github.com/repos/allevin/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/allevin/PyGithub/downloads","issues_url":"https://api.github.com/repos/allevin/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/allevin/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/allevin/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/allevin/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/allevin/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/allevin/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/allevin/PyGithub/deployments","created_at":"2017-03-20T19:55:57Z","updated_at":"2017-03-20T19:56:01Z","pushed_at":"2017-03-23T18:08:52Z","git_url":"git://github.com/allevin/PyGithub.git","ssh_url":"git@github.com:allevin/PyGithub.git","clone_url":"https://github.com/allevin/PyGithub.git","svn_url":"https://github.com/allevin/PyGithub","homepage":"","size":12131,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"PyGithub:master","ref":"master","sha":"414f6e648f4da87f10bae7d01948a63dc82b80f8","user":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars3.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"repo":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars3.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments","created_at":"2012-02-25T12:53:47Z","updated_at":"2017-03-22T13:29:26Z","pushed_at":"2017-03-21T19:00:19Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"","size":12133,"stargazers_count":1221,"watchers_count":1221,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":403,"mirror_url":null,"open_issues_count":124,"forks":403,"open_issues":124,"watchers":1221,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538"},"html":{"href":"https://github.com/PyGithub/PyGithub/pull/538"},"issue":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/538"},"comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/538/comments"},"review_comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/comments"},"review_comment":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/commits"},"statuses":{"href":"https://api.github.com/repos/PyGithub/PyGithub/statuses/7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":3,"review_comments":0,"maintainer_can_modify":true,"commits":3,"additions":329,"deletions":0,"changed_files":6} - -https -GET -api.github.com -None -/repos/PyGithub/PyGithub/pulls/538/reviews/28482091 -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.black-cat-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1389'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'cee4c0729c8e9147e7abcb45b9d69689'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"ddc104addccab409de06f166dd96db83"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4906'), ('x-github-media-type', 'github.black-cat-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'C200:69E5:1A3022C:207D2E3:58D55E8A'), ('date', 'Fri, 24 Mar 2017 17:59:38 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1490379624')] -{"id":28482091,"user":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars0.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"body":"","state":"APPROVED","html_url":"https://github.com/PyGithub/PyGithub/pull/538#pullrequestreview-28482091","pull_request_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538","_links":{"html":{"href":"https://github.com/PyGithub/PyGithub/pull/538#pullrequestreview-28482091"},"pull_request":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538"}},"submitted_at":"2017-03-22T19:06:59Z","commit_id":"7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc"} - diff --git a/github/tests/ReplayData/PullRequestReviewerRequests.setUp.txt b/github/tests/ReplayData/PullRequestReviewerRequests.setUp.txt deleted file mode 100644 index 00a2ef6..0000000 --- a/github/tests/ReplayData/PullRequestReviewerRequests.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/PyGithub/PyGithub/pulls/538 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '14726'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a474937f3b2fa272558fa6dc951018ad'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"f375b2b7b6eb9081788c5e3b1dedba0e"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'C19A:69E1:10370BA:13FF894:58D559AE'), ('last-modified', 'Wed, 22 Mar 2017 19:07:28 GMT'), ('date', 'Fri, 24 Mar 2017 17:38:54 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1490379624')] -{"url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538","id":111649703,"html_url":"https://github.com/PyGithub/PyGithub/pull/538","diff_url":"https://github.com/PyGithub/PyGithub/pull/538.diff","patch_url":"https://github.com/PyGithub/PyGithub/pull/538.patch","issue_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/538","number":538,"state":"open","locked":false,"title":"Add Support for Pull Request Reviews feature","user":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"body":"Adding support to Pull Request class to access new Github API features [Pull Request reviews](https://developer.github.com/v3/pulls/reviews/) and [Pull Request Reviewer Requests](https://developer.github.com/v3/pulls/review_requests/)\r\n\r\nThe API's is still in beta. \r\n\r\nI approached this by providing a minimal set of routines to access the list of reviews or a specific review. Also access to get a list of Reviewer requests. \r\n\r\nBecause the API is still early in Beta, I choose not to implement the create/delete/edit features, but the infrastructure should be in place for future improvements.\r\n\r\n","created_at":"2017-03-20T21:00:37Z","updated_at":"2017-03-22T19:07:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"764e59cb251dc0e9aab5be993d4451b35f91b685","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/commits","review_comments_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/comments","review_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/538/comments","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc","head":{"label":"allevin:Add_Pull_Request_Reviews_Feature","ref":"Add_Pull_Request_Reviews_Feature","sha":"7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc","user":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"repo":{"id":85619926,"name":"PyGithub","full_name":"allevin/PyGithub","owner":{"login":"allevin","id":13543471,"avatar_url":"https://avatars1.githubusercontent.com/u/13543471?v=3","gravatar_id":"","url":"https://api.github.com/users/allevin","html_url":"https://github.com/allevin","followers_url":"https://api.github.com/users/allevin/followers","following_url":"https://api.github.com/users/allevin/following{/other_user}","gists_url":"https://api.github.com/users/allevin/gists{/gist_id}","starred_url":"https://api.github.com/users/allevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/allevin/subscriptions","organizations_url":"https://api.github.com/users/allevin/orgs","repos_url":"https://api.github.com/users/allevin/repos","events_url":"https://api.github.com/users/allevin/events{/privacy}","received_events_url":"https://api.github.com/users/allevin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/allevin/PyGithub","description":"Typed interactions with the GitHub API v3","fork":true,"url":"https://api.github.com/repos/allevin/PyGithub","forks_url":"https://api.github.com/repos/allevin/PyGithub/forks","keys_url":"https://api.github.com/repos/allevin/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/allevin/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/allevin/PyGithub/teams","hooks_url":"https://api.github.com/repos/allevin/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/allevin/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/allevin/PyGithub/events","assignees_url":"https://api.github.com/repos/allevin/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/allevin/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/allevin/PyGithub/tags","blobs_url":"https://api.github.com/repos/allevin/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/allevin/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/allevin/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/allevin/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/allevin/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/allevin/PyGithub/languages","stargazers_url":"https://api.github.com/repos/allevin/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/allevin/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/allevin/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/allevin/PyGithub/subscription","commits_url":"https://api.github.com/repos/allevin/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/allevin/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/allevin/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/allevin/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/allevin/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/allevin/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/allevin/PyGithub/merges","archive_url":"https://api.github.com/repos/allevin/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/allevin/PyGithub/downloads","issues_url":"https://api.github.com/repos/allevin/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/allevin/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/allevin/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/allevin/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/allevin/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/allevin/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/allevin/PyGithub/deployments","created_at":"2017-03-20T19:55:57Z","updated_at":"2017-03-20T19:56:01Z","pushed_at":"2017-03-23T18:08:52Z","git_url":"git://github.com/allevin/PyGithub.git","ssh_url":"git@github.com:allevin/PyGithub.git","clone_url":"https://github.com/allevin/PyGithub.git","svn_url":"https://github.com/allevin/PyGithub","homepage":"","size":12131,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"PyGithub:master","ref":"master","sha":"414f6e648f4da87f10bae7d01948a63dc82b80f8","user":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars3.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"repo":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars3.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments","created_at":"2012-02-25T12:53:47Z","updated_at":"2017-03-22T13:29:26Z","pushed_at":"2017-03-21T19:00:19Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"","size":12133,"stargazers_count":1221,"watchers_count":1221,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":403,"mirror_url":null,"open_issues_count":124,"forks":403,"open_issues":124,"watchers":1221,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538"},"html":{"href":"https://github.com/PyGithub/PyGithub/pull/538"},"issue":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/538"},"comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/538/comments"},"review_comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/comments"},"review_comment":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/538/commits"},"statuses":{"href":"https://api.github.com/repos/PyGithub/PyGithub/statuses/7a0fcb27b7cd6c346fc3f76216ccb6e0f4ca3bcc"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":3,"review_comments":0,"maintainer_can_modify":true,"commits":3,"additions":329,"deletions":0,"changed_files":6} - -https -GET -api.github.com -None -/repos/PyGithub/PyGithub/pulls/538/requested_reviewers -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.black-cat-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '839'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '07ff1c8a09e44b62e277fae50a1b1dc4'), ('x-oauth-scopes', 'gist, repo, user'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"bc596203c153ef71a3f3e99a908de946"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4951'), ('x-github-media-type', 'github.black-cat-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'C19B:69EB:2590DF2:2ECC945:58D559AE'), ('date', 'Fri, 24 Mar 2017 17:38:55 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1490379624')] -[{"login":"jayfk","id":2930472,"avatar_url":"https://avatars1.githubusercontent.com/u/2930472?v=3","gravatar_id":"","url":"https://api.github.com/users/jayfk","html_url":"https://github.com/jayfk","followers_url":"https://api.github.com/users/jayfk/followers","following_url":"https://api.github.com/users/jayfk/following{/other_user}","gists_url":"https://api.github.com/users/jayfk/gists{/gist_id}","starred_url":"https://api.github.com/users/jayfk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayfk/subscriptions","organizations_url":"https://api.github.com/users/jayfk/orgs","repos_url":"https://api.github.com/users/jayfk/repos","events_url":"https://api.github.com/users/jayfk/events{/privacy}","received_events_url":"https://api.github.com/users/jayfk/received_events","type":"User","site_admin":false}] - diff --git a/github/tests/ReplayData/RateLimiting.testGetRateLimit.txt b/github/tests/ReplayData/RateLimiting.testGetRateLimit.txt deleted file mode 100644 index 8807677..0000000 --- a/github/tests/ReplayData/RateLimiting.testGetRateLimit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/rate_limit -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '5000'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '1a3fa558-6663-4055-91e3-b6824f5f850e'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '59'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('cache-control', 'no-cache'), ('date', 'Fri, 06 Sep 2013 09:29:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1378463397')] -{"rate":{"limit":5000,"remaining":5000,"reset":1378463397}} - diff --git a/github/tests/ReplayData/RateLimiting.testRateLimiting.txt b/github/tests/ReplayData/RateLimiting.testRateLimiting.txt deleted file mode 100644 index 208c171..0000000 --- a/github/tests/ReplayData/RateLimiting.testRateLimiting.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/rate_limit -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '5000'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '59'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"47ba6b48c8b2986ec54f249b51b0a9ec"'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 06 Aug 2013 14:52:12 GMT'), ('x-oauth-scopes', 'user, public_repo, repo, gist'), ('content-type', 'application/json; charset=utf-8'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1375802816')] -{"rate":{"limit":5000,"remaining":5000,"reset":1375802816}} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1293'), ('server', 'GitHub.com'), ('access-control-allow-origin', '*'), ('last-modified', 'Mon, 05 Aug 2013 07:28:42 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"7d9b8600b27332ec98f57ee9e18639e9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 06 Aug 2013 14:52:12 GMT'), ('x-oauth-scopes', 'user, public_repo, repo, gist'), ('content-type', 'application/json; charset=utf-8'), ('x-accepted-oauth-scopes', 'user, user:email, user:follow, site_admin'), ('x-ratelimit-reset', '1375802816')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-08-05T07:28:42Z","public_gists":3} - diff --git a/github/tests/ReplayData/RateLimiting.testResetTime.txt b/github/tests/ReplayData/RateLimiting.testResetTime.txt deleted file mode 100755 index 3bc5114..0000000 --- a/github/tests/ReplayData/RateLimiting.testResetTime.txt +++ /dev/null @@ -1,10 +0,0 @@ -https -GET -api.github.com -None -/rate_limit -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '5000'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('cache-control', 'max-age=0, private, must-revalidate'), ('vary', 'Accept-Encoding'), ('content-length', '59'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"47ba6b48c8b2986ec54f249b51b0a9ec"'), ('access-control-allow-credentials', 'true'), ('date', 'Tue, 06 Aug 2013 14:52:12 GMT'), ('x-oauth-scopes', 'user, public_repo, repo, gist'), ('content-type', 'application/json; charset=utf-8'), ('access-control-allow-origin', '*'), ('x-ratelimit-reset', '1375802816')] -{"rate":{"limit":5000,"remaining":5000,"reset":1375802816}} diff --git a/github/tests/ReplayData/RawData.testCompletedObject.txt b/github/tests/ReplayData/RawData.testCompletedObject.txt deleted file mode 100644 index a153f07..0000000 --- a/github/tests/ReplayData/RawData.testCompletedObject.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1464'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 12 Mar 2013 22:13:32 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bb2632b6c4ebeb4ff568329490bfbe2"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 13 Mar 2013 13:13:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":21,"followers":22,"following":38,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-03-12T22:13:32Z","public_gists":2,"total_private_repos":4,"owned_private_repos":4,"disk_usage":13812,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":5} - diff --git a/github/tests/ReplayData/RawData.testNonCompletableObject.txt b/github/tests/ReplayData/RawData.testNonCompletableObject.txt deleted file mode 100644 index 91750ad..0000000 --- a/github/tests/ReplayData/RawData.testNonCompletableObject.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1464'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 12 Mar 2013 22:13:32 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bb2632b6c4ebeb4ff568329490bfbe2"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 13 Mar 2013 13:13:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":21,"followers":22,"following":38,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-03-12T22:13:32Z","public_gists":2,"total_private_repos":4,"owned_private_repos":4,"disk_usage":13812,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":5} - diff --git a/github/tests/ReplayData/RawData.testNotYetCompletedObject.txt b/github/tests/ReplayData/RawData.testNotYetCompletedObject.txt deleted file mode 100644 index 8112da8..0000000 --- a/github/tests/ReplayData/RawData.testNotYetCompletedObject.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1464'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 12 Mar 2013 22:13:32 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bb2632b6c4ebeb4ff568329490bfbe2"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 13 Mar 2013 13:13:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":21,"followers":22,"following":38,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-03-12T22:13:32Z","public_gists":2,"total_private_repos":4,"owned_private_repos":4,"disk_usage":13812,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":5} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '4656'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 12 Mar 2013 22:13:32 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bb2632b6c4ebeb4ff568329490bfbe2"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 13 Mar 2013 13:13:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags{/tag}","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","created_at":"2012-02-25T12:53:47Z","updated_at":"2013-03-12T22:13:32Z","pushed_at":"2013-03-12T09:25:23Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.com/PyGithub","size":416,"watchers_count":167,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":47,"mirror_url":null,"open_issues_count":13,"forks":47,"open_issues":13,"watchers":167,"master_branch":"master","default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":47} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1464'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 12 Mar 2013 22:13:32 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1bb2632b6c4ebeb4ff568329490bfbe2"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 13 Mar 2013 13:13:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":21,"followers":22,"following":38,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-03-12T22:13:32Z","public_gists":2,"total_private_repos":4,"owned_private_repos":4,"disk_usage":13812,"collaborators":1,"plan":{"name":"micro","space":614400,"collaborators":1,"private_repos":5},"private_gists":5} - diff --git a/github/tests/ReplayData/Release.setUp.txt b/github/tests/ReplayData/Release.setUp.txt deleted file mode 100644 index 80d360c..0000000 --- a/github/tests/ReplayData/Release.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C7:6E3A7C1:5539FFC2'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:33:06 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '173530fed4bbeb1e264b2ed22e8b5c20'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C3:5BF1183:5539FFC2'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:33:07 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1650'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '2d7a5e35115884240089368322196939'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"eec4217108c76d16d4aaede6000d736d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C9:7B29F8E:5539FFC3'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 08:33:07 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -[{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210798","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210798/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210798/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210798,"tag_name":"v1.25.2","target_commitish":"master","name":"Updated Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:31:20Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Updated Body"}] - diff --git a/github/tests/ReplayData/Release.testAttributes.txt b/github/tests/ReplayData/Release.testAttributes.txt deleted file mode 100644 index 0a92a4b..0000000 --- a/github/tests/ReplayData/Release.testAttributes.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '4c8b2d4732c413f4b9aefe394bd65569'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D0:40D04D3:553A014A'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:39:39 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '4c8b2d4732c413f4b9aefe394bd65569'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D4:71AB7A0:553A014B'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:39:39 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1634'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'b0ef53392caa42315c6206737946d931'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"15acda75d23a5984668bc737c28405e1"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D3:6F632B1:553A014B'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 08:39:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -[{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210814,"tag_name":"v1.25.2","target_commitish":"master","name":"Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:36:51Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Body"}] - diff --git a/github/tests/ReplayData/Release.testCreateGitTagAndRelease.txt b/github/tests/ReplayData/Release.testCreateGitTagAndRelease.txt deleted file mode 100644 index 197638c..0000000 --- a/github/tests/ReplayData/Release.testCreateGitTagAndRelease.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '4c8b2d4732c413f4b9aefe394bd65569'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4937'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C3:5C94448:553A0688'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 09:02:00 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '07ff1c8a09e44b62e277fae50a1b1dc4'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"116dabde1122b91867736b96d7dd33e7"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4936'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C0:20E37DE:553A0688'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 09:02:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-24T09:01:53Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -POST -api.github.com -None -/repos/edhollandAL/PyGithub/git/tags -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"message": "tag message", "tag": "v3.0.0", "type": "commit", "object": "5a05a5e58f682d315acd2447c87ac5b4d4fc55e8"} -201 -[('content-length', '480'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '76d9828c7e4f1d910f7ba069e90ce976'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"4e279bd881a4e316a93df39cc9567843"'), ('location', 'https://api.github.com/repos/edhollandAL/PyGithub/git/tags/f453837b5b01fb6a6dc5ce3ff3f5f68774a1fa96'), ('access-control-allow-credentials', 'true'), ('status', '201 Created'), ('x-ratelimit-remaining', '4935'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C9:7C07ACF:553A0689'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 09:02:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"sha":"f453837b5b01fb6a6dc5ce3ff3f5f68774a1fa96","url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags/f453837b5b01fb6a6dc5ce3ff3f5f68774a1fa96","tagger":{"name":"edhollandAL","email":"eholland@alertlogic.com","date":"2015-04-24T09:02:01Z"},"object":{"sha":"5a05a5e58f682d315acd2447c87ac5b4d4fc55e8","type":"commit","url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits/5a05a5e58f682d315acd2447c87ac5b4d4fc55e8"},"tag":"v3.0.0","message":"tag message"} - -https -POST -api.github.com -None -/repos/edhollandAL/PyGithub/releases -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "release message", "prerelease": false, "tag_name": "v3.0.0", "draft": false, "name": "release title"} -201 -[('content-length', '1648'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'd594a23ec74671eba905bf91ef329026'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"7e6e27a070b656e2058a8c62f0648a57"'), ('location', 'https://api.github.com/repos/edhollandAL/PyGithub/releases/1210902'), ('access-control-allow-credentials', 'true'), ('status', '201 Created'), ('x-ratelimit-remaining', '4934'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C9:7C07BE1:553A0689'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 09:02:02 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210902","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210902/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210902/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v3.0.0","id":1210902,"tag_name":"v3.0.0","target_commitish":"master","name":"release title","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-04-15T20:53:41Z","published_at":"2015-04-24T09:02:02Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v3.0.0","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v3.0.0","body":"release message"} - diff --git a/github/tests/ReplayData/Release.testDelete.txt b/github/tests/ReplayData/Release.testDelete.txt deleted file mode 100644 index 9e59acd..0000000 --- a/github/tests/ReplayData/Release.testDelete.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '07ff1c8a09e44b62e277fae50a1b1dc4'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D3:6F67E9F:553A0175'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:40:21 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'b0ef53392caa42315c6206737946d931'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D2:628E79F:553A0175'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:40:21 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1650'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '474556b853193c38f1b14328ce2d1b7d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"85682be7a53801f67365f6afab9101cd"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D2:628E883:553A0176'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 08:40:22 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -[{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210814,"tag_name":"v1.25.2","target_commitish":"master","name":"Updated Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:36:51Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Updated Body"}] - -https -DELETE -api.github.com -None -/repos/edhollandAL/PyGithub/releases/1210814 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4960'), ('x-github-media-type', 'github.v3; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D2:628E96C:553A0176'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('access-control-allow-origin', '*'), ('x-ratelimit-limit', '5000'), ('x-served-by', 'a6882e5cd2513376cb9481dbcd83f3a2'), ('access-control-allow-credentials', 'true'), ('date', 'Fri, 24 Apr 2015 08:40:23 GMT'), ('x-frame-options', 'deny'), ('x-xss-protection', '1; mode=block'), ('x-ratelimit-reset', '1429867683')] - - diff --git a/github/tests/ReplayData/Release.testGetRelease.txt b/github/tests/ReplayData/Release.testGetRelease.txt deleted file mode 100644 index 4808797..0000000 --- a/github/tests/ReplayData/Release.testGetRelease.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a30e6f9aa7cf5731b87dfb3b9992202d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5678:6306D35:553A03F2'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:50:59 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '07ff1c8a09e44b62e277fae50a1b1dc4'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5678:6306E14:553A03F3'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:50:59 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases/tags/v1.25.2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1632'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"26708914904a29b8c9fd2ac006beb9db"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4945'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5674:1AF2EEF:553A03F3'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 24 Apr 2015 08:43:32 GMT'), ('date', 'Fri, 24 Apr 2015 08:51:00 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210837","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210837/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210837/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210837,"tag_name":"v1.25.2","target_commitish":"master","name":"Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:43:32Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Body"} - -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4944'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5676:3EF4431:553A03F4'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:51:00 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'c6c65e5196703428e7641f7d1e9bc353'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4943'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5673:FBDF67:553A03F4'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:51:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases/1210837 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1632'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '139317cebd6caf9cd03889139437f00b'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"26708914904a29b8c9fd2ac006beb9db"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:5677:5265FA1:553A03F5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Fri, 24 Apr 2015 08:43:32 GMT'), ('date', 'Fri, 24 Apr 2015 08:51:01 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210837","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210837/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210837/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210837,"tag_name":"v1.25.2","target_commitish":"master","name":"Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:43:32Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Body"} - diff --git a/github/tests/ReplayData/Release.testUpdate.txt b/github/tests/ReplayData/Release.testUpdate.txt deleted file mode 100644 index 3a72dad..0000000 --- a/github/tests/ReplayData/Release.testUpdate.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1220'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a30e6f9aa7cf5731b87dfb3b9992202d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"a692daa1e912efb3a9048cdbae74bf02"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D2:628B7A5:553A015A'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 15:34:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:39:54 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false,"public_repos":3,"public_gists":0,"followers":0,"following":0,"created_at":"2015-04-13T09:58:53Z","updated_at":"2015-04-23T15:34:48Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":0,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '13980'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '474556b853193c38f1b14328ce2d1b7d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"354bfbe5bc3193b117028111f8d7bf5d"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D3:6F64E0D:553A015B'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Thu, 23 Apr 2015 10:29:48 GMT'), ('date', 'Fri, 24 Apr 2015 08:39:55 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"id":34449703,"name":"PyGithub","full_name":"edhollandAL/PyGithub","owner":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edhollandAL/PyGithub","description":"Python library implementing the GitHub API v3","fork":true,"url":"https://api.github.com/repos/edhollandAL/PyGithub","forks_url":"https://api.github.com/repos/edhollandAL/PyGithub/forks","keys_url":"https://api.github.com/repos/edhollandAL/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edhollandAL/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edhollandAL/PyGithub/teams","hooks_url":"https://api.github.com/repos/edhollandAL/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/edhollandAL/PyGithub/events","assignees_url":"https://api.github.com/repos/edhollandAL/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/edhollandAL/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/tags","blobs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edhollandAL/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/edhollandAL/PyGithub/languages","stargazers_url":"https://api.github.com/repos/edhollandAL/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/edhollandAL/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/edhollandAL/PyGithub/subscription","commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/edhollandAL/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/edhollandAL/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/edhollandAL/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/edhollandAL/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edhollandAL/PyGithub/merges","archive_url":"https://api.github.com/repos/edhollandAL/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edhollandAL/PyGithub/downloads","issues_url":"https://api.github.com/repos/edhollandAL/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/edhollandAL/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/edhollandAL/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/edhollandAL/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edhollandAL/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases{/id}","created_at":"2015-04-23T10:29:45Z","updated_at":"2015-04-23T10:29:48Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/edhollandAL/PyGithub.git","ssh_url":"git@github.com:edhollandAL/PyGithub.git","clone_url":"https://github.com/edhollandAL/PyGithub.git","svn_url":"https://github.com/edhollandAL/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"source":{"id":3544490,"name":"PyGithub","full_name":"PyGithub/PyGithub","owner":{"login":"PyGithub","id":11288996,"avatar_url":"https://avatars.githubusercontent.com/u/11288996?v=3","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PyGithub/PyGithub","description":"Python library implementing the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2015-04-23T16:36:27Z","pushed_at":"2015-04-15T20:53:42Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":15962,"stargazers_count":579,"watchers_count":579,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":160,"mirror_url":null,"open_issues_count":28,"forks":160,"open_issues":28,"watchers":579,"default_branch":"master"},"network_count":160,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/edhollandAL/PyGithub/releases -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1634'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a7f8a126c9ed3f1c4715a34c0ddc7290'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"15acda75d23a5984668bc737c28405e1"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:70D3:6F64F22:553A015B'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 08:39:55 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -[{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210814,"tag_name":"v1.25.2","target_commitish":"master","name":"Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:36:51Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Body"}] - -https -PATCH -api.github.com -None -/repos/edhollandAL/PyGithub/releases/1210814 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Updated Body", "prerelease": false, "tag_name": "v1.25.2", "draft": false, "name": "Updated Test"} -200 -[('content-length', '1648'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '2d7a5e35115884240089368322196939'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"cf49bbc298cad25223946be051b81ea1"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '56BCFFD3:54C7:6E67F42:553A015C'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 24 Apr 2015 08:39:56 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1429867683')] -{"url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814","assets_url":"https://api.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets","upload_url":"https://uploads.github.com/repos/edhollandAL/PyGithub/releases/1210814/assets{?name}","html_url":"https://github.com/edhollandAL/PyGithub/releases/tag/v1.25.2","id":1210814,"tag_name":"v1.25.2","target_commitish":"master","name":"Updated Test","draft":false,"author":{"login":"edhollandAL","id":11922660,"avatar_url":"https://avatars.githubusercontent.com/u/11922660?v=3","gravatar_id":"","url":"https://api.github.com/users/edhollandAL","html_url":"https://github.com/edhollandAL","followers_url":"https://api.github.com/users/edhollandAL/followers","following_url":"https://api.github.com/users/edhollandAL/following{/other_user}","gists_url":"https://api.github.com/users/edhollandAL/gists{/gist_id}","starred_url":"https://api.github.com/users/edhollandAL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhollandAL/subscriptions","organizations_url":"https://api.github.com/users/edhollandAL/orgs","repos_url":"https://api.github.com/users/edhollandAL/repos","events_url":"https://api.github.com/users/edhollandAL/events{/privacy}","received_events_url":"https://api.github.com/users/edhollandAL/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-10-08T01:54:00Z","published_at":"2015-04-24T08:36:51Z","assets":[],"tarball_url":"https://api.github.com/repos/edhollandAL/PyGithub/tarball/v1.25.2","zipball_url":"https://api.github.com/repos/edhollandAL/PyGithub/zipball/v1.25.2","body":"Updated Body"} - diff --git a/github/tests/ReplayData/Repository.setUp.txt b/github/tests/ReplayData/Repository.setUp.txt deleted file mode 100644 index ac2790f..0000000 --- a/github/tests/ReplayData/Repository.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4912'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8d4bf64381cca7c6ba5753129f5fc552"'), ('date', 'Sun, 27 May 2012 07:17:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":16976,"public_gists":3,"bio":"","blog":"http://vincent-jacques.net","url":"https://api.github.com/users/jacquev6","private_gists":5,"collaborators":0,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","email":"vincent@vincent-jacques.net","total_private_repos":5,"followers":13,"name":"Vincent Jacques","public_repos":11,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"owned_private_repos":5,"following":24,"html_url":"https://github.com/jacquev6","hireable":false} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4911'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1a93ec821b0bd7094340a9fc34017aa0"'), ('date', 'Sun, 27 May 2012 07:17:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-27T06:55:28Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T06:00:28Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - diff --git a/github/tests/ReplayData/Repository.testAssignees.txt b/github/tests/ReplayData/Repository.testAssignees.txt deleted file mode 100644 index d7138af..0000000 --- a/github/tests/ReplayData/Repository.testAssignees.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/users/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '559'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Sun, 16 Oct 2011 14:37:52 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bf612afdcca3f4967bc08bb5eeebc443"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:12:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":0,"type":"User","login":"Lyloa","following":0,"location":"Paris","bio":null,"avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","public_repos":0,"created_at":"2011-10-16T14:36:46Z","email":"nyu@lyloa.net","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","url":"https://api.github.com/users/Lyloa","name":"Lyloa","company":null,"followers":1,"html_url":"https://github.com/Lyloa","id":1131432,"blog":null,"hireable":false} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '806'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 15:03:24 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"350294b94004d4bb252b6a432baa5744"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:12:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","company":"Criteo","plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"followers":13,"public_gists":3,"private_gists":5,"disk_usage":14640,"following":28,"html_url":"https://github.com/jacquev6","location":"Paris, France","total_private_repos":5,"blog":"http://vincent-jacques.net","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","owned_private_repos":5,"collaborators":0,"bio":"","login":"jacquev6","name":"Vincent Jacques","public_repos":11,"created_at":"2010-07-09T06:10:06Z","id":327146,"email":"vincent@vincent-jacques.net"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/assignees/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4995'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:26 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/assignees/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('content-length', '23'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4994'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Accept': 'application/vnd.github.swamp-thing-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4993'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:27 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/assignees/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:27 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/assignees -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '600'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4991'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 15:03:24 GMT'), ('connection', 'keep-alive'), ('etag', '"350294b94004d4bb252b6a432baa5744"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:12:28 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -[{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},{"avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/Lyloa","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","id":1131432}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4990'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:28 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/assignees/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4989'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Fri, 07 Sep 2012 23:12:29 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Repository.testBadSubscribePubSubHubbub.txt b/github/tests/ReplayData/Repository.testBadSubscribePubSubHubbub.txt deleted file mode 100644 index fa0b9eb..0000000 --- a/github/tests/ReplayData/Repository.testBadSubscribePubSubHubbub.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/hub -{'Content-Type': 'multipart/form-data; boundary=----------------------------3c3ba8b523b2', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.callback"http://requestb.in/1bc1sc61------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.topic"https://github.com/jacquev6/PyGithub/events/non-existing-event------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.mode"subscribe------------------------------3c3ba8b523b2-- -422 -[('status', '422 Unprocessable Entity'), ('content-length', '51'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4994'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Tue, 05 Feb 2013 18:58:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Invalid event: \"non-existing-event\""} - diff --git a/github/tests/ReplayData/Repository.testChangeBranchProtectionContexts.txt b/github/tests/ReplayData/Repository.testChangeBranchProtectionContexts.txt deleted file mode 100644 index 6932e7c..0000000 --- a/github/tests/ReplayData/Repository.testChangeBranchProtectionContexts.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["test"]}}} -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '76d9828c7e4f1d910f7ba069e90ce976'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D25A:7429E1A:568D31F4'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'bae57931a6fe678a3dffe9be8e7819c8'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D262:27FA573A:568D31F4'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:40 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["test", "default"]}}} -200 -[('content-length', '3609'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '318e55760cf7cdb40e61175a4d36cd32'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"db7b04fd5e1b51731388d165caa9c4aa"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D262:27FA5773:568D31F4'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:41 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["default","test"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3609'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a241e1a8264a6ace03db946c85b92db3'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"db7b04fd5e1b51731388d165caa9c4aa"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D260:22667B15:568D31F5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:41 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["default","test"]}}} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["default"]}}} -200 -[('content-length', '3602'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '593010132f82159af0ded24b4932e109'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"9ec429649fdda2858153edc42ff3f579"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D25F:1A8AB79A:568D31F5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:41 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["default"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3602'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'ef96c2e493b28ffea49b891b085ed2dd'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"9ec429649fdda2858153edc42ff3f579"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D262:27FA5800:568D31F5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:25:41 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["default"]}}} - diff --git a/github/tests/ReplayData/Repository.testChangeBranchProtectionEnforcementLevel.txt b/github/tests/ReplayData/Repository.testChangeBranchProtectionEnforcementLevel.txt deleted file mode 100644 index 514ee28..0000000 --- a/github/tests/ReplayData/Repository.testChangeBranchProtectionEnforcementLevel.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["test"]}}} -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'dc1ce2bfb41810a06c705e83b388572d'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4950'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D25F:1A90BAC8:568D38A5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:54:13 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '2c18a09f3ac5e4dd1e004af7c5a94769'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D261:29009CF7:568D38A5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:54:13 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "non_admins", "contexts": ["test"]}}} -200 -[('content-length', '3601'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '52437fedc85beec8da3449496900fb9a'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"33854f0fd77af9f49acf152bf0715de3"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4948'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D25F:1A90BB33:568D38A5'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:54:14 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"non_admins","contexts":["test"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3601'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"33854f0fd77af9f49acf152bf0715de3"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:1D260:226E126E:568D38A7'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:54:15 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"non_admins","contexts":["test"]}}} - diff --git a/github/tests/ReplayData/Repository.testCollaborators.txt b/github/tests/ReplayData/Repository.testCollaborators.txt deleted file mode 100644 index 1465123..0000000 --- a/github/tests/ReplayData/Repository.testCollaborators.txt +++ /dev/null @@ -1,77 +0,0 @@ -https -GET -api.github.com -None -/users/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '554'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4955'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"4e931612aa9051643f0a428d2ae60b2e"'), ('date', 'Sun, 27 May 2012 05:34:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","url":"https://api.github.com/users/Lyloa","html_url":"https://github.com/Lyloa","company":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","followers":1,"following":0,"created_at":"2011-10-16T14:36:46Z","blog":null,"login":"Lyloa","public_gists":0,"hireable":false,"name":"Lyloa","bio":null,"id":1131432,"public_repos":0,"location":"Paris","email":"nyu@lyloa.net"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4954'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:34:27 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Accept': 'application/vnd.github.swamp-thing-preview+json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4953'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:34:27 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4952'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:34:28 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/collaborators -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4951'), ('content-length', '590'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dbf3059a3bb24b8af99793f5204a0a39"'), ('date', 'Sun, 27 May 2012 05:34:29 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},{"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","id":1131432}] - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4950'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:34:29 GMT')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/collaborators/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4949'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:34:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Repository.testCompare.txt b/github/tests/ReplayData/Repository.testCompare.txt deleted file mode 100644 index e1ac610..0000000 --- a/github/tests/ReplayData/Repository.testCompare.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/compare/v0.6...v0.7 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '14488'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"42eb6d36008b20550ae6d1991e0423d5"'), ('date', 'Sun, 27 May 2012 06:30:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"status":"ahead","behind_by":0,"total_commits":4,"merge_base_commit":{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"}}},"patch_url":"https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7.patch","diff_url":"https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7.diff","url":"https://api.github.com/repos/jacquev6/PyGithub/compare/v0.6...v0.7","ahead_by":4,"base_commit":{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"}}},"permalink_url":"https://github.com/jacquev6/PyGithub/compare/jacquev6:4303c5b...jacquev6:ecda065","files":[{"status":"modified","changes":2,"deletions":1,"raw_url":"https://github.com/jacquev6/PyGithub/raw/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/ReferenceOfClasses.md","blob_url":"https://github.com/jacquev6/PyGithub/blob/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/ReferenceOfClasses.md","filename":"ReferenceOfClasses.md","patch":"@@ -3,7 +3,7 @@ You obtain instances through calls to `get_` and `create_` methods.\n \n Class `Github`\n ==============\n-* Constructed from user's login and password\n+* Constructed from user's login and password or OAuth token\n * `get_user()`: `AuthenticatedUser`\n * `get_user( login )`: `NamedUser`\n * `get_organization( login )`: `Organization`","additions":1,"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"},{"status":"modified","changes":4,"deletions":2,"raw_url":"https://github.com/jacquev6/PyGithub/raw/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/github/Github.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/github/Github.py","filename":"github/Github.py","patch":"@@ -2,8 +2,8 @@\n from GithubObjects import *\n \n class Github:\n- def __init__( self, login, password, debugFile = None ):\n- self.__requester = Requester( login, password )\n+ def __init__( self, login_or_token = None, password = None, debugFile = None ):\n+ self.__requester = Requester( login_or_token, password )\n self.__debugFile = debugFile\n \n def _dataRequest( self, verb, url, parameters, data ):","additions":2,"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"},{"status":"modified","changes":17,"deletions":3,"raw_url":"https://github.com/jacquev6/PyGithub/raw/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/github/Requester.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/github/Requester.py","filename":"github/Requester.py","patch":"@@ -7,8 +7,15 @@ class UnknownGithubObject( Exception ):\n pass\n \n class Requester:\n- def __init__( self, login, password ):\n- self.__authorizationHeader = \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' )\n+ def __init__( self, login_or_token, password ):\n+ if password is not None:\n+ login = login_or_token\n+ self.__authorizationHeader = \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' )\n+ elif login_or_token is not None:\n+ token = login_or_token\n+ self.__authorizationHeader = \"token \" + token\n+ else:\n+ self.__authorizationHeader = None\n \n def dataRequest( self, verb, url, parameters, input ):\n if parameters is None:\n@@ -46,12 +53,16 @@ def statusRequest( self, verb, url, parameters, input ):\n def __rawRequest( self, verb, url, parameters, input ):\n assert verb in [ \"HEAD\", \"GET\", \"POST\", \"PATCH\", \"PUT\", \"DELETE\" ]\n \n+ headers = dict()\n+ if self.__authorizationHeader is not None:\n+ headers[ \"Authorization\" ] = self.__authorizationHeader\n+\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request(\n verb,\n self.__completeUrl( url, parameters ),\n json.dumps( input ),\n- { \"Authorization\" : self.__authorizationHeader }\n+ headers\n )\n response = cnx.getresponse()\n ","additions":14,"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"},{"status":"modified","changes":10,"deletions":1,"raw_url":"https://github.com/jacquev6/PyGithub/raw/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/setup.py","blob_url":"https://github.com/jacquev6/PyGithub/blob/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7/setup.py","filename":"setup.py","patch":"@@ -5,7 +5,7 @@\n \n setup(\n name = 'PyGithub',\n- version = '0.6',\n+ version = '0.7',\n description = 'Use the full Github API v3',\n author = 'Vincent Jacques',\n author_email = 'vincent@vincent-jacques.net',\n@@ -26,6 +26,14 @@\n print repo.name\n repo.edit( has_wiki = False )\n \n+ You can also create a Github instance without authentication::\n+\n+ g = Github( \"user\", \"password\" )\n+\n+ Or with an OAuth token::\n+\n+ g = Github( token )\n+\n Reference documentation\n =======================\n ","additions":9,"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"}],"commits":[{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T05:10:54-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","message":"Implement the three authentication schemes","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T05:10:54-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/59d755d95bc2e2de4dcef70a7c73e81e677f610b","sha":"59d755d95bc2e2de4dcef70a7c73e81e677f610b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"cb0313157bf904f2d364377d35d9397b269547a5","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:04:22-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cb0313157bf904f2d364377d35d9397b269547a5","message":"Merge branch 'topic/Authentication' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:04:22-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/59d755d95bc2e2de4dcef70a7c73e81e677f610b","sha":"59d755d95bc2e2de4dcef70a7c73e81e677f610b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","sha":"cb0313157bf904f2d364377d35d9397b269547a5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:13:33-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","message":"Publish version 0.7","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:13:33-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/78735573611521bb3ade95921c668097e2a4dc5e","sha":"78735573611521bb3ade95921c668097e2a4dc5e"}}},{"author":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","committer":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:14:34-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:14:34-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/78735573611521bb3ade95921c668097e2a4dc5e","sha":"78735573611521bb3ade95921c668097e2a4dc5e"}}}],"html_url":"https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7"} - diff --git a/github/tests/ReplayData/Repository.testCreateFile.txt b/github/tests/ReplayData/Repository.testCreateFile.txt deleted file mode 100644 index 8dbfcf1..0000000 --- a/github/tests/ReplayData/Repository.testCreateFile.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"author": {"date": "2016-01-15T16:13:30+12:00", "email": "enix223@163.com", "name": "Enix Yu"}, "branch": "master", "committer": {"date": "2016-01-15T16:13:30+12:00", "email": "enix223@163.com", "name": "Enix Yu"}, "content": "SGVsbG8gd29ybGQ=", "message": "Create file for testCreateFile"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4997'), ('content-length', '16'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f5cc2fa3ba4de95ac0eb8c2ca47350c0"'), ('date', 'Fri, 11 May 2012 11:43:09 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md')] -{"content": {"name": "hello.txt", "url": "https://api.github.com/repos/PyGithub/contents/doc/testCreateUpdateDeleteFile.md", "html_url": "https://github.com/PyGithub/doc/testCreateUpdateDeleteFile.md", "download_url": "https://raw.githubusercontent.com/PyGithub/doc/testCreateUpdateDeleteFile.md", "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "_links": {"self": "https://api.github.com/repos/PyGithub/contents/doc/testCreateUpdateDeleteFile.md", "git": "https://api.github.com/repos/PyGithub/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "html": "https://github.com/jacquev6/PyGithub/blob/master/doc/testCreateUpdateDeleteFile.md"}, "git_url": "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "path": "doc/testCreateUpdateDeleteFile.md", "type": "file", "size": 9}, "commit": {"committer": {"date": "2014-11-07T22:01:45Z", "name": "Enix Yu", "email": "enix223@gmail.com"}, "author": {"date": "2016-01-15T16:13:30+12:00", "name": "Enix Yu", "email": "enix223@gmail.com"}, "url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", "tree": {"url": "https://api.github.com/repos/jacquev6/PyGithub/git/trees/691272480426f78a0138979dd3ce63b77f706feb", "sha": "691272480426f78a0138979dd3ce63b77f706feb"}, "html_url": "https://github.com/jacquev6/PyGithub/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", "parents": [{"url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5", "html_url": "https://github.com/jacquev6/PyGithub/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5"}]}} - diff --git a/github/tests/ReplayData/Repository.testCreateGitBlob.txt b/github/tests/ReplayData/Repository.testCreateGitBlob.txt deleted file mode 100644 index e265afd..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitBlob.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/blobs -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"content": "Blob created by PyGithub", "encoding": "latin1"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4997'), ('content-length', '156'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f5cc2fa3ba4de95ac0eb8c2ca47350c0"'), ('date', 'Fri, 11 May 2012 11:43:09 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8"} - diff --git a/github/tests/ReplayData/Repository.testCreateGitCommit.txt b/github/tests/ReplayData/Repository.testCreateGitCommit.txt deleted file mode 100644 index 4b70167..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitCommit.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '381'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f33782d7031ff19c5301bb52068533cf"'), ('date', 'Fri, 01 Jun 2012 20:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528","sha":"107139a922f33bab6fbeb9f9eb8787e7f19e0528","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8","size":0,"path":"Barbaz.txt","mode":"100644"}]} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/commits -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"parents": [], "message": "Commit created by PyGithub", "tree": "107139a922f33bab6fbeb9f9eb8787e7f19e0528"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4931'), ('content-length', '601'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7719e5a3f5b064dc0871853dba33302b"'), ('date', 'Sun, 27 May 2012 05:50:59 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/commits/0b820628236ab8bab3890860fc414fa757ca15f4')] -{"author":{"email":"github.com@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-26T22:50:59-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0b820628236ab8bab3890860fc414fa757ca15f4","message":"Commit created by PyGithub","committer":{"email":"github.com@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-26T22:50:59-07:00"},"sha":"0b820628236ab8bab3890860fc414fa757ca15f4","parents":[],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528","sha":"107139a922f33bab6fbeb9f9eb8787e7f19e0528"}} - diff --git a/github/tests/ReplayData/Repository.testCreateGitCommitWithAllArguments.txt b/github/tests/ReplayData/Repository.testCreateGitCommitWithAllArguments.txt deleted file mode 100644 index abddcff..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitCommitWithAllArguments.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '381'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f33782d7031ff19c5301bb52068533cf"'), ('date', 'Fri, 01 Jun 2012 20:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528","sha":"107139a922f33bab6fbeb9f9eb8787e7f19e0528","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8","size":0,"path":"Barbaz.txt","mode":"100644"}]} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/commits -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"parents": [], "message": "Commit created by PyGithub", "tree": "107139a922f33bab6fbeb9f9eb8787e7f19e0528", "committer": {"date": "2008-07-09T16:13:30+12:00", "name": "John Doe", "email": "j.doe@vincent-jacques.net"}, "author": {"date": "2008-07-09T16:13:30+12:00", "name": "John Doe", "email": "j.doe@vincent-jacques.net"}} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4928'), ('content-length', '577'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"660cc851cdd42a2caa7241cd96db0d01"'), ('date', 'Sun, 27 May 2012 05:53:47 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/commits/526946197ae9da59c6507cacd13ad6f1cfb686ea')] -{"author":{"email":"j.doe@vincent-jacques.net","name":"John Doe","date":"2008-07-08T21:13:30-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/526946197ae9da59c6507cacd13ad6f1cfb686ea","message":"Commit created by PyGithub","committer":{"email":"j.doe@vincent-jacques.net","name":"John Doe","date":"2008-07-08T21:13:30-07:00"},"sha":"526946197ae9da59c6507cacd13ad6f1cfb686ea","parents":[],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528","sha":"107139a922f33bab6fbeb9f9eb8787e7f19e0528"}} - diff --git a/github/tests/ReplayData/Repository.testCreateGitCommitWithParents.txt b/github/tests/ReplayData/Repository.testCreateGitCommitWithParents.txt deleted file mode 100644 index 2f64a76..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitCommitWithParents.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/commits/7248e66831d4ffe09ef1f30a1df59ec0a9331ece -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '762'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0cbf75a2a511c74f3df22dfd8d2ee42a"'), ('date', 'Fri, 01 Jun 2012 18:39:29 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"committer":{"email":"vincent@vincent-jacques.net","date":"2012-05-30T09:58:18-07:00","name":"Vincent Jacques"},"message":"Check HTTP status on all requests\n","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7248e66831d4ffe09ef1f30a1df59ec0a9331ece","sha":"7248e66831d4ffe09ef1f30a1df59ec0a9331ece","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/81ca19a009b54e64226e3f9e51210fba989d5497","sha":"81ca19a009b54e64226e3f9e51210fba989d5497"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/91655d55b309f520fd4b3fd9e5303cfc13855a21","sha":"91655d55b309f520fd4b3fd9e5303cfc13855a21"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-05-30T09:58:18-07:00","name":"Vincent Jacques"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/commits/12d427464f8d91c8e981043a86ba8a2a9e7319ea -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"87d790f22e47dbaa3148ad7872e32dde"'), ('date', 'Fri, 01 Jun 2012 18:39:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"tree":{"sha":"143dd39e465e5de953d944c9309b961af392da73","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/143dd39e465e5de953d944c9309b961af392da73"},"sha":"12d427464f8d91c8e981043a86ba8a2a9e7319ea","message":"Remove the notion of ImmediateCompletion\n","parents":[{"sha":"7a622975d6a3f0ab80f573f577aa0e3ffb69e2f5","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7a622975d6a3f0ab80f573f577aa0e3ffb69e2f5"}],"author":{"email":"vincent@vincent-jacques.net","date":"2012-05-30T09:51:36-07:00","name":"Vincent Jacques"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/12d427464f8d91c8e981043a86ba8a2a9e7319ea","committer":{"email":"vincent@vincent-jacques.net","date":"2012-05-30T10:00:37-07:00","name":"Vincent Jacques"}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/fae707821159639589bf94f3fb0a7154ec5d441b -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '381'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f33782d7031ff19c5301bb52068533cf"'), ('date', 'Fri, 01 Jun 2012 20:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fae707821159639589bf94f3fb0a7154ec5d441b","sha":"fae707821159639589bf94f3fb0a7154ec5d441b","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8","size":0,"path":"Barbaz.txt","mode":"100644"}]} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/commits -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"parents": ["7248e66831d4ffe09ef1f30a1df59ec0a9331ece", "12d427464f8d91c8e981043a86ba8a2a9e7319ea"], "message": "Commit created by PyGithub", "tree": "fae707821159639589bf94f3fb0a7154ec5d441b"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4965'), ('content-length', '918'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1ada1e7861f74fa4fefa922bf03e891e"'), ('date', 'Fri, 01 Jun 2012 18:39:31 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/commits/6adf9ea25ff8a8f2a42bcb1c09e42526339037cd')] -{"committer":{"email":"github.com@vincent-jacques.net","date":"2012-06-01T11:39:31-07:00","name":"Vincent Jacques"},"message":"Commit created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6adf9ea25ff8a8f2a42bcb1c09e42526339037cd","sha":"6adf9ea25ff8a8f2a42bcb1c09e42526339037cd","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7248e66831d4ffe09ef1f30a1df59ec0a9331ece","sha":"7248e66831d4ffe09ef1f30a1df59ec0a9331ece"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/12d427464f8d91c8e981043a86ba8a2a9e7319ea","sha":"12d427464f8d91c8e981043a86ba8a2a9e7319ea"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fae707821159639589bf94f3fb0a7154ec5d441b","sha":"fae707821159639589bf94f3fb0a7154ec5d441b"},"author":{"email":"github.com@vincent-jacques.net","date":"2012-06-01T11:39:31-07:00","name":"Vincent Jacques"}} - diff --git a/github/tests/ReplayData/Repository.testCreateGitRef.txt b/github/tests/ReplayData/Repository.testCreateGitRef.txt deleted file mode 100644 index 77230ef..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitRef.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/refs -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "ref": "refs/heads/BranchCreatedByPyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4987'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0302e489fc6bd534afa44cdbec1227e7"'), ('date', 'Thu, 10 May 2012 18:49:19 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub')] -{"object":{"type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub"} - diff --git a/github/tests/ReplayData/Repository.testCreateGitTag.txt b/github/tests/ReplayData/Repository.testCreateGitTag.txt deleted file mode 100644 index ba5aa28..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitTag.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/tags -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"message": "Tag created by PyGithub", "tag": "TaggedByPyGithub", "type": "commit", "object": "0b820628236ab8bab3890860fc414fa757ca15f4"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4925'), ('content-length', '512'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9a9c1f293329ee4c63e8cfb08772e3a1"'), ('date', 'Sun, 27 May 2012 05:56:08 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/tags/5ba561eaa2b7ca9015662510157b15d8f3b0232a')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/5ba561eaa2b7ca9015662510157b15d8f3b0232a","message":"Tag created by PyGithub","tag":"TaggedByPyGithub","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0b820628236ab8bab3890860fc414fa757ca15f4","sha":"0b820628236ab8bab3890860fc414fa757ca15f4"},"tagger":{"email":"github.com@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-26T22:56:07-07:00"},"sha":"5ba561eaa2b7ca9015662510157b15d8f3b0232a"} - diff --git a/github/tests/ReplayData/Repository.testCreateGitTagWithAllArguments.txt b/github/tests/ReplayData/Repository.testCreateGitTagWithAllArguments.txt deleted file mode 100644 index b302eac..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitTagWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/tags -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"tagger": {"date": "2008-07-09T16:13:30+12:00", "name": "John Doe", "email": "j.doe@vincent-jacques.net"}, "message": "Tag also created by PyGithub", "tag": "TaggedByPyGithub2", "type": "commit", "object": "526946197ae9da59c6507cacd13ad6f1cfb686ea"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4922'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a7e5d9e4342e323fa513f880968b80f4"'), ('date', 'Sun, 27 May 2012 05:57:03 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/tags/f0e99a8335fbc84c53366c4a681118468f266625')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f0e99a8335fbc84c53366c4a681118468f266625","message":"Tag also created by PyGithub","tag":"TaggedByPyGithub2","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/526946197ae9da59c6507cacd13ad6f1cfb686ea","sha":"526946197ae9da59c6507cacd13ad6f1cfb686ea"},"tagger":{"email":"j.doe@vincent-jacques.net","name":"John Doe","date":"2008-07-08T21:13:30-07:00"},"sha":"f0e99a8335fbc84c53366c4a681118468f266625"} - diff --git a/github/tests/ReplayData/Repository.testCreateGitTree.txt b/github/tests/ReplayData/Repository.testCreateGitTree.txt deleted file mode 100644 index abcb98d..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitTree.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/trees -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"tree": [{"content": "File created by PyGithub", "path": "Foobar.txt", "type": "blob", "mode": "100644"}]} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4937'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0446b5f676814b5801ab6744ef9b59f7"'), ('date', 'Sun, 27 May 2012 05:48:14 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/trees/41cf8c178c636a018d537cb20daae09391efd70b')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/41cf8c178c636a018d537cb20daae09391efd70b","sha":"41cf8c178c636a018d537cb20daae09391efd70b","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197","size":24,"path":"Foobar.txt","sha":"73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197","mode":"100644"}]} - diff --git a/github/tests/ReplayData/Repository.testCreateGitTreeWithBaseTree.txt b/github/tests/ReplayData/Repository.testCreateGitTreeWithBaseTree.txt deleted file mode 100644 index c66b264..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitTreeWithBaseTree.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/41cf8c178c636a018d537cb20daae09391efd70b -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '381'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f33782d7031ff19c5301bb52068533cf"'), ('date', 'Fri, 01 Jun 2012 20:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/41cf8c178c636a018d537cb20daae09391efd70b","sha":"41cf8c178c636a018d537cb20daae09391efd70b","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8","size":0,"path":"Barbaz.txt","mode":"100644"}]} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/trees -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"tree": [{"content": "File also created by PyGithub", "path": "Barbaz.txt", "type": "blob", "mode": "100644"}], "base_tree": "41cf8c178c636a018d537cb20daae09391efd70b"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4934'), ('content-length', '599'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f04d90b327eaf7b7600bc22fd11a41a4"'), ('date', 'Sun, 27 May 2012 05:49:48 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528')] -{"tree":[{"type":"blob","sha":"92be1df4e473d2541c5c166ad145a39d0324de8b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/92be1df4e473d2541c5c166ad145a39d0324de8b","size":29,"path":"Barbaz.txt","mode":"100644"},{"type":"blob","sha":"73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197","size":24,"path":"Foobar.txt","mode":"100644"}],"sha":"107139a922f33bab6fbeb9f9eb8787e7f19e0528","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/107139a922f33bab6fbeb9f9eb8787e7f19e0528"} - diff --git a/github/tests/ReplayData/Repository.testCreateGitTreeWithSha.txt b/github/tests/ReplayData/Repository.testCreateGitTreeWithSha.txt deleted file mode 100644 index 6daa3a5..0000000 --- a/github/tests/ReplayData/Repository.testCreateGitTreeWithSha.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/git/trees -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"tree": [{"path": "Barbaz.txt", "type": "blob", "mode": "100644", "sha": "5dd930f591cd5188e9ea7200e308ad355182a1d8"}]} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4997'), ('content-length', '381'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f33782d7031ff19c5301bb52068533cf"'), ('date', 'Fri, 01 Jun 2012 17:51:04 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/trees/fae707821159639589bf94f3fb0a7154ec5d441b')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fae707821159639589bf94f3fb0a7154ec5d441b","sha":"fae707821159639589bf94f3fb0a7154ec5d441b","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5dd930f591cd5188e9ea7200e308ad355182a1d8","sha":"5dd930f591cd5188e9ea7200e308ad355182a1d8","size":0,"path":"Barbaz.txt","mode":"100644"}]} - diff --git a/github/tests/ReplayData/Repository.testCreateHookWithAllParameters.txt b/github/tests/ReplayData/Repository.testCreateHookWithAllParameters.txt deleted file mode 100644 index 852b68c..0000000 --- a/github/tests/ReplayData/Repository.testCreateHookWithAllParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/hooks -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"active": false, "config": {"url": "http://foobar.com"}, "name": "web", "events": ["fork"]} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4997'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c3b371e4de1a0ec350b3fcc0c458e0f9"'), ('date', 'Sat, 19 May 2012 06:01:45 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/hooks/257993')] -{"updated_at":"2012-05-19T06:01:45Z","last_response":{"status":"unused","message":null,"code":null},"events":["fork"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"} - diff --git a/github/tests/ReplayData/Repository.testCreateHookWithMinimalParameters.txt b/github/tests/ReplayData/Repository.testCreateHookWithMinimalParameters.txt deleted file mode 100644 index 0da240f..0000000 --- a/github/tests/ReplayData/Repository.testCreateHookWithMinimalParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/hooks -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"config": {"url": "http://foobar.com"}, "name": "web"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4994'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"276d18854081948260c44cf645c54bd0"'), ('date', 'Sat, 19 May 2012 05:03:14 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/hooks/257967')] -{"updated_at":"2012-05-19T05:03:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com"},"last_response":{"status":"unused","message":null,"code":null},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967} - diff --git a/github/tests/ReplayData/Repository.testCreateIssue.txt b/github/tests/ReplayData/Repository.testCreateIssue.txt deleted file mode 100644 index 7b1ccee..0000000 --- a/github/tests/ReplayData/Repository.testCreateIssue.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"title": "Issue created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4935'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"26e2222fe8411843d3fd2b024d50c567"'), ('date', 'Sat, 19 May 2012 10:38:24 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/28')] -{"closed_by":null,"state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Issue created by PyGithub","comments":0,"updated_at":"2012-05-19T10:38:23Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"body":null,"number":28,"milestone":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","assignee":null,"labels":[],"id":4653757,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z"} - diff --git a/github/tests/ReplayData/Repository.testCreateIssueWithAllArguments.txt b/github/tests/ReplayData/Repository.testCreateIssueWithAllArguments.txt deleted file mode 100644 index 3de3951..0000000 --- a/github/tests/ReplayData/Repository.testCreateIssueWithAllArguments.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0c1724d7560338bc2f2579af6e8ec545"'), ('date', 'Fri, 01 Jun 2012 20:09:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":5,"type":"User","company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","email":"vincent@vincent-jacques.net","hireable":false,"public_gists":3,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","bio":"","url":"https://api.github.com/users/jacquev6","following":24,"private_gists":5,"public_repos":10,"blog":"http://vincent-jacques.net","disk_usage":16900,"name":"Vincent Jacques","total_private_repos":5,"collaborators":0,"followers":13,"html_url":"https://github.com/jacquev6","id":327146,"plan":{"private_repos":5,"space":614400,"name":"micro","collaborators":1}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '899'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5fc4dbe5fd444fd2ea9f90c698b432cf"'), ('date', 'Fri, 01 Jun 2012 20:09:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":6,"number":2,"id":93547} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Question -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"931e58d337b2290717303141eda89cd7"'), ('date', 'Fri, 01 Jun 2012 20:09:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Body created by PyGithub", "assignee": "jacquev6", "assignees": ["jacquev6", "stuglaser"], "labels": ["Question"], "milestone": 2, "title": "Issue also created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4943'), ('content-length', '2069'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d131a11b793937127bf7d0ce56e2805e"'), ('date', 'Sun, 27 May 2012 05:40:15 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/30')] -{"updated_at":"2012-05-27T05:40:15Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547,"closed_issues":2},"number":30,"closed_by":null,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignees":[{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","login":"stuglaser","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","id":1527117},{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}],"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4769659,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"} - diff --git a/github/tests/ReplayData/Repository.testCreateIssueWithAllArgumentsStringLabel.txt b/github/tests/ReplayData/Repository.testCreateIssueWithAllArgumentsStringLabel.txt deleted file mode 100644 index 324d505..0000000 --- a/github/tests/ReplayData/Repository.testCreateIssueWithAllArgumentsStringLabel.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0c1724d7560338bc2f2579af6e8ec545"'), ('date', 'Fri, 01 Jun 2012 20:09:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"owned_private_repos":5,"type":"User","company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","email":"vincent@vincent-jacques.net","hireable":false,"public_gists":3,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","bio":"","url":"https://api.github.com/users/jacquev6","following":24,"private_gists":5,"public_repos":10,"blog":"http://vincent-jacques.net","disk_usage":16900,"name":"Vincent Jacques","total_private_repos":5,"collaborators":0,"followers":13,"html_url":"https://github.com/jacquev6","id":327146,"plan":{"private_repos":5,"space":614400,"name":"micro","collaborators":1}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '899'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5fc4dbe5fd444fd2ea9f90c698b432cf"'), ('date', 'Fri, 01 Jun 2012 20:09:24 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":6,"number":2,"id":93547} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Body created by PyGithub", "assignee": "jacquev6", "assignees": ["jacquev6", "stuglaser"], "labels": ["Question"], "milestone": 2, "title": "Issue also created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4943'), ('content-length', '2069'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d131a11b793937127bf7d0ce56e2805e"'), ('date', 'Sun, 27 May 2012 05:40:15 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/30')] -{"updated_at":"2012-05-27T05:40:15Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547,"closed_issues":2},"number":30,"closed_by":null,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignees":[{"url":"https://api.github.com/users/stuglaser","gravatar_id":"","login":"stuglaser","avatar_url":"https://avatars.githubusercontent.com/u/1527117?v=3","id":1527117},{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}],"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4769659,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"} - diff --git a/github/tests/ReplayData/Repository.testCreateKey.txt b/github/tests/ReplayData/Repository.testCreateKey.txt deleted file mode 100644 index 87f8c7d..0000000 --- a/github/tests/ReplayData/Repository.testCreateKey.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/keys -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw== vincent@IDEE", "title": "Key added through PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4955'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0eb643b648f2ef29f38c2bcbce872e09"'), ('date', 'Sat, 26 May 2012 20:28:37 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/user/keys/2626761')] -{"url":"https://api.github.com/user/keys/2626761","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","verified":true,"title":"Key added through PyGithub","id":2626761} - diff --git a/github/tests/ReplayData/Repository.testCreateLabel.txt b/github/tests/ReplayData/Repository.testCreateLabel.txt deleted file mode 100644 index 86c50b9..0000000 --- a/github/tests/ReplayData/Repository.testCreateLabel.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/labels -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"color": "00ff00", "name": "Label with silly name % * + created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4969'), ('content-length', '191'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"92b623552b1bac3f019d03c920305acd"'), ('date', 'Sat, 19 May 2012 10:17:36 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub","name":"Label with silly name % * + created by PyGithub","color":"00ff00"} - diff --git a/github/tests/ReplayData/Repository.testCreateMilestone.txt b/github/tests/ReplayData/Repository.testCreateMilestone.txt deleted file mode 100644 index 79b5acc..0000000 --- a/github/tests/ReplayData/Repository.testCreateMilestone.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/milestones -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"due_on": "2012-06-15", "state": "open", "description": "Description created by PyGithub", "title": "Milestone created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4958'), ('content-length', '604'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bb5eb08c923020c102396cd0c9bfdbc5"'), ('date', 'Sat, 19 May 2012 10:24:13 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/milestones/5')] -{"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-15T07:00:00Z","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"number":5,"open_issues":0,"title":"Milestone created by PyGithub","created_at":"2012-05-19T10:24:13Z","state":"open","description":"Description created by PyGithub","id":121463} - diff --git a/github/tests/ReplayData/Repository.testCreateMilestoneWithMinimalArguments.txt b/github/tests/ReplayData/Repository.testCreateMilestoneWithMinimalArguments.txt deleted file mode 100644 index 2820b5f..0000000 --- a/github/tests/ReplayData/Repository.testCreateMilestoneWithMinimalArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/milestones -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"title": "Milestone also created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4940'), ('content-length', '562'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"575796ba6077c16fdc79f4d38885aa5f"'), ('date', 'Sun, 27 May 2012 05:41:34 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/milestones/6')] -{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/6","number":6,"title":"Milestone also created by PyGithub","due_on":null,"open_issues":0,"created_at":"2012-05-27T05:41:34Z","state":"open","description":null,"id":124480} - diff --git a/github/tests/ReplayData/Repository.testCreatePull.txt b/github/tests/ReplayData/Repository.testCreatePull.txt deleted file mode 100644 index eb6400f..0000000 --- a/github/tests/ReplayData/Repository.testCreatePull.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/pulls -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"body": "Body of the pull request", "head": "BeaverSoftware:master", "base": "topic/RewriteWithGeneratedCode", "title": "Pull request created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4963'), ('content-length', '4486'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1e069be7c3e3eb8b12afb1e1f5343dc9"'), ('date', 'Sun, 27 May 2012 09:25:37 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/pulls/31')] -{"merged":false,"patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","mergeable":null,"head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-27T09:09:17Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":176,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-27T09:09:17Z","created_at":"2012-05-27T08:50:04Z","id":4460787,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","html_url":"https://github.com/BeaverSoftware/PyGithub","full_name":"BeaverSoftware/PyGithub"},"user":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},"updated_at":"2012-05-27T09:25:36Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/31","body":"Body of the pull request","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","comments":0,"base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T08:50:04Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":308,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T07:29:24Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"ed866fc43833802ab553e5ff8581c81bb00dd433"},"number":31,"merged_by":null,"closed_at":null,"title":"Pull request created by PyGithub","deletions":384,"merged_at":null,"diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","additions":511,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"}},"created_at":"2012-05-27T09:25:36Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"state":"open","id":1436215,"review_comments":0,"commits":3,"changed_files":45,"html_url":"https://github.com/jacquev6/PyGithub/pull/31"} - diff --git a/github/tests/ReplayData/Repository.testCreatePullFromIssue.txt b/github/tests/ReplayData/Repository.testCreatePullFromIssue.txt deleted file mode 100644 index 9263eb7..0000000 --- a/github/tests/ReplayData/Repository.testCreatePullFromIssue.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/32 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2141'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f88aca2b371ce28f651166ed9c5a2525"'), ('date', 'Fri, 01 Jun 2012 20:10:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"title":"Creation of a pull request from an issue is not covered by integration tests","pull_request":{"diff_url":"https://github.com/jacquev6/PyGithub/pull/32.diff","patch_url":"https://github.com/jacquev6/PyGithub/pull/32.patch","html_url":"https://github.com/jacquev6/PyGithub/pull/32"},"labels":[],"created_at":"2012-05-27T10:55:12Z","state":"closed","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/32","assignee":null,"closed_at":"2012-05-27T11:03:53Z","updated_at":"2012-05-27T11:03:53Z","body":"","comments":0,"number":32,"id":4770481,"html_url":"https://github.com/jacquev6/PyGithub/issues/32","closed_by":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":6,"number":2,"id":93547}} - -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/pulls -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"head": "BeaverSoftware:master", "base": "topic/RewriteWithGeneratedCode", "issue": 32} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4933'), ('content-length', '4501'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2b035f5260fe63dd611156fea3049af0"'), ('date', 'Sun, 27 May 2012 10:58:42 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/pulls/32')] -{"merged":false,"patch_url":"https://github.com/jacquev6/PyGithub/pull/32.patch","mergeable":null,"head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-27T10:58:08Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":176,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-27T10:58:08Z","created_at":"2012-05-27T08:50:04Z","id":4460787,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","html_url":"https://github.com/BeaverSoftware/PyGithub","full_name":"BeaverSoftware/PyGithub"},"user":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"sha":"aff8a573a19f0a42380e1c0cbbc63b6dc719f38e"},"updated_at":"2012-05-27T10:58:41Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/32","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32","comments":0,"base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":15,"updated_at":"2012-05-27T10:54:09Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":3,"size":188,"private":false,"open_issues":17,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-27T10:54:09Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"7ec473e793c0b63092d938707632639a41fd4369"},"number":32,"merged_by":null,"closed_at":null,"title":"Creation of a pull request from an issue is not covered by integration tests","deletions":0,"merged_at":null,"diff_url":"https://github.com/jacquev6/PyGithub/pull/32.diff","additions":0,"_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/32"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32/comments"}},"created_at":"2012-05-27T10:58:41Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"state":"open","id":1436310,"review_comments":0,"commits":1,"changed_files":0,"html_url":"https://github.com/jacquev6/PyGithub/pull/32"} - diff --git a/github/tests/ReplayData/Repository.testDelete.txt b/github/tests/ReplayData/Repository.testDelete.txt deleted file mode 100644 index 047d7ca..0000000 --- a/github/tests/ReplayData/Repository.testDelete.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '806'), ('server', 'nginx/1.0.13'), ('last-modified', 'Tue, 14 Aug 2012 18:41:03 GMT'), ('connection', 'keep-alive'), ('etag', '"a16173bc016f1c15e3e635051c76c388"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Thu, 23 Aug 2012 07:30:50 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":5,"plan":{"private_repos":5,"space":614400,"collaborators":1,"name":"micro"},"type":"User","public_repos":12,"followers":13,"following":28,"location":"Paris, France","hireable":false,"disk_usage":14544,"created_at":"2010-07-09T06:10:06Z","login":"jacquev6","bio":"","blog":"http://vincent-jacques.net","total_private_repos":5,"collaborators":0,"email":"vincent@vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","name":"Vincent Jacques","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","owned_private_repos":5,"public_gists":3,"id":327146,"html_url":"https://github.com/jacquev6","company":"Criteo"} - -https -GET -api.github.com -None -/repos/jacquev6/TestPyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1176'), ('server', 'nginx/1.0.13'), ('last-modified', 'Thu, 23 Aug 2012 07:30:19 GMT'), ('connection', 'keep-alive'), ('etag', '"b997e723dda2e6baea587ef9b5b94e73"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Thu, 23 Aug 2012 07:30:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","git_url":"git://github.com/jacquev6/TestPyGithub.git","full_name":"jacquev6/TestPyGithub","open_issues":0,"has_issues":true,"owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146},"watchers_count":0,"homepage":null,"ssh_url":"git@github.com:jacquev6/TestPyGithub.git","master_branch":"master","open_issues_count":0,"language":null,"created_at":"2012-08-23T07:30:19Z","permissions":{"admin":true,"push":true,"pull":true},"mirror_url":null,"has_downloads":true,"description":null,"pushed_at":"2012-08-23T07:30:19Z","forks":0,"forks_count":0,"size":0,"fork":false,"svn_url":"https://github.com/jacquev6/TestPyGithub","updated_at":"2012-08-23T07:30:19Z","name":"TestPyGithub","url":"https://api.github.com/repos/jacquev6/TestPyGithub","network_count":0,"has_wiki":true,"private":false,"id":5520886,"watchers":0,"html_url":"https://github.com/jacquev6/TestPyGithub"} - -https -DELETE -api.github.com -None -/repos/jacquev6/TestPyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4985'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Thu, 23 Aug 2012 07:30:52 GMT')] - - diff --git a/github/tests/ReplayData/Repository.testDeleteFile.txt b/github/tests/ReplayData/Repository.testDeleteFile.txt deleted file mode 100644 index 93ae6f2..0000000 --- a/github/tests/ReplayData/Repository.testDeleteFile.txt +++ /dev/null @@ -1,21 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '16'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","sha":"5628799a7d517a4aaa0c1a7004d07569cd154df0","path":"doc/testCreateUpdateDeleteFile.md","encoding":"base64","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md","html":"https://github.com/jacquev6/PyGithub/blob/master/doc/testCreateUpdateDeleteFile.md","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5628799a7d517a4aaa0c1a7004d07569cd154df0"},"content":"SGVsbG8gd29ybGQ=","size":16,"name":"doc/testCreateUpdateDeleteFile.md"} - -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"branch": "master", "message": "Delete file for testDeleteFile", "sha": "5628799a7d517a4aaa0c1a7004d07569cd154df0"} -200 -[('status', '200 OK'), ('content-length', '16'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"content": null, "commit": {"committer": {"date": "2014-11-07T22:01:45Z", "name": "Scott Chacon", "email": "schacon@gmail.com"}, "author": {"date": "2014-11-07T22:01:45Z", "name": "Scott Chacon", "email": "schacon@gmail.com"}, "url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", "tree": {"url": "https://api.github.com/repos/jacquev6/PyGithub/git/trees/691272480426f78a0138979dd3ce63b77f706feb", "sha": "691272480426f78a0138979dd3ce63b77f706feb"}, "html_url": "https://github.com/jacquev6/PyGithub/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", "parents": [{"url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5", "html_url": "https://github.com/jacquev6/PyGithub/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5"}], "message": "Delete file for testDeleteFile"}} diff --git a/github/tests/ReplayData/Repository.testEditWithAllArguments.txt b/github/tests/ReplayData/Repository.testEditWithAllArguments.txt deleted file mode 100644 index c98b91b..0000000 --- a/github/tests/ReplayData/Repository.testEditWithAllArguments.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"has_wiki": false, "name": "PyGithub", "has_downloads": true, "has_issues": true, "homepage": "http://vincent-jacques.net/PyGithub", "private": true, "description": "Description edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4953'), ('content-length', '1109'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"749313ec2d171323deb61f9f4c85e84f"'), ('date', 'Sat, 26 May 2012 11:22:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"open_issues":16,"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","language":"Python","description":"Description edited by PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "PyGithub", "description": "Python library implementing the full Github API v3"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c1328d95af7d85267acb5754968b2c0b"'), ('date', 'Sat, 26 May 2012 11:22:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:22:13Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":16,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T10:01:38Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - diff --git a/github/tests/ReplayData/Repository.testEditWithDefaultBranch.txt b/github/tests/ReplayData/Repository.testEditWithDefaultBranch.txt deleted file mode 100644 index 88a013c..0000000 --- a/github/tests/ReplayData/Repository.testEditWithDefaultBranch.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"default_branch": "master", "name": "PyGithub"} -200 -[('status', '200 OK'), ('content-length', '1264'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4493662efd70c37f486a910d29ef99c1"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 03 Nov 2012 08:41:07 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"master_branch":"master","watchers":97,"pushed_at":"2012-11-03T08:25:58Z","watchers_count":97,"forks":27,"svn_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","id":327146},"open_issues":11,"open_issues_count":11,"url":"https://api.github.com/repos/jacquev6/PyGithub","updated_at":"2012-11-03T08:41:07Z","permissions":{"push":true,"pull":true,"admin":true},"default_branch":"master","html_url":"https://github.com/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","language":"Python","has_downloads":true,"ssh_url":"git@github.com:jacquev6/PyGithub.git","size":256,"mirror_url":null,"fork":false,"full_name":"jacquev6/PyGithub","forks_count":27,"name":"PyGithub","created_at":"2012-02-25T12:53:47Z","git_url":"git://github.com/jacquev6/PyGithub.git","homepage":"http://vincent-jacques.net/PyGithub","has_issues":true,"private":false,"id":3544490,"network_count":27,"has_wiki":true} - diff --git a/github/tests/ReplayData/Repository.testEditWithoutArguments.txt b/github/tests/ReplayData/Repository.testEditWithoutArguments.txt deleted file mode 100644 index 66ea677..0000000 --- a/github/tests/ReplayData/Repository.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4956'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97977b426859a02f4d2a3fa4764b1a8e"'), ('date', 'Sat, 26 May 2012 11:21:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-26T10:01:38Z","forks":2,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":16,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-26T10:01:38Z","size":412,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":13,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"permissions":{"admin":true,"pull":true,"push":true},"created_at":"2012-02-25T12:53:47Z"} - diff --git a/github/tests/ReplayData/Repository.testGetArchiveLink.txt b/github/tests/ReplayData/Repository.testGetArchiveLink.txt deleted file mode 100644 index 121dbdd..0000000 --- a/github/tests/ReplayData/Repository.testGetArchiveLink.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/tarball -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -302 -[('status', '302 Found'), ('content-length', '0'), ('x-content-type-options', 'nosniff'), ('expires', 'Sat, 08 Sep 2012 11:03:00 GMT'), ('x-ratelimit-remaining', '4990'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://nodeload.github.com/jacquev6/PyGithub/tarball/master'), ('cache-control', 'public, must-revalidate, max-age=0'), ('date', 'Sat, 08 Sep 2012 11:03:00 GMT'), ('content-type', 'text/html;charset=utf-8')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/zipball -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -302 -[('status', '302 Found'), ('x-ratelimit-remaining', '4989'), ('x-content-type-options', 'nosniff'), ('expires', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('content-length', '0'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://nodeload.github.com/jacquev6/PyGithub/zipball/master'), ('cache-control', 'public, must-revalidate, max-age=0'), ('date', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('content-type', 'text/html;charset=utf-8')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/zipball/master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -302 -[('status', '302 Found'), ('content-length', '0'), ('x-content-type-options', 'nosniff'), ('expires', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://nodeload.github.com/jacquev6/PyGithub/zipball/master'), ('cache-control', 'public, must-revalidate, max-age=0'), ('date', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('content-type', 'text/html;charset=utf-8')] - - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/tarball/develop -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -302 -[('status', '302 Found'), ('x-ratelimit-remaining', '4987'), ('x-content-type-options', 'nosniff'), ('expires', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('content-length', '0'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('location', 'https://nodeload.github.com/jacquev6/PyGithub/tarball/develop'), ('cache-control', 'public, must-revalidate, max-age=0'), ('date', 'Sat, 08 Sep 2012 11:03:01 GMT'), ('content-type', 'text/html;charset=utf-8')] - - diff --git a/github/tests/ReplayData/Repository.testGetBranch.txt b/github/tests/ReplayData/Repository.testGetBranch.txt deleted file mode 100644 index af6b8d3..0000000 --- a/github/tests/ReplayData/Repository.testGetBranch.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/develop -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('content-length', '1679'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b604c4203d816dfb31c48acf4171ed76"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 12:06:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/develop","html":"https://github.com/jacquev6/PyGithub/tree/develop"},"commit":{"sha":"03058a36164d2a7d946db205f25538434fa27d94","author":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"},"commit":{"message":"Commit statuses (issue #67)","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-09-08T04:41:15-07:00"},"comment_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/03058a36164d2a7d946db205f25538434fa27d94","tree":{"sha":"b1b660dc63a2de976b7c5aa1e303adce299bbeb8","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b1b660dc63a2de976b7c5aa1e303adce299bbeb8"},"committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-09-08T04:41:15-07:00"}},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03058a36164d2a7d946db205f25538434fa27d94","parents":[{"sha":"f109c644fddee5512f8e88a4a22d9c3aac68a306","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f109c644fddee5512f8e88a4a22d9c3aac68a306"}],"committer":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"}},"name":"develop"} - diff --git a/github/tests/ReplayData/Repository.testGetComments.txt b/github/tests/ReplayData/Repository.testGetComments.txt deleted file mode 100644 index 196495a..0000000 --- a/github/tests/ReplayData/Repository.testGetComments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '4307'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2664cb68cf94b65a884d6867aa13e7d2"'), ('date', 'Sun, 27 May 2012 06:42:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1347033,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033"},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":1347083,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347083"},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":1347397,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347397"},{"updated_at":"2012-05-22T18:49:34Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:49:34Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":26,"user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":1362000,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000"}] - diff --git a/github/tests/ReplayData/Repository.testGetCommits.txt b/github/tests/ReplayData/Repository.testGetCommits.txt deleted file mode 100644 index 9eca35b..0000000 --- a/github/tests/ReplayData/Repository.testGetCommits.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '46151'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"5443e5772e0bda0813a09a3620a8f7c2"'), ('date', 'Sun, 27 May 2012 06:45:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:14:34-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:14:34-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/78735573611521bb3ade95921c668097e2a4dc5e","sha":"78735573611521bb3ade95921c668097e2a4dc5e"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","sha":"cb0313157bf904f2d364377d35d9397b269547a5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:13:33-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","message":"Publish version 0.7","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:13:33-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/78735573611521bb3ade95921c668097e2a4dc5e","sha":"78735573611521bb3ade95921c668097e2a4dc5e"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"cb0313157bf904f2d364377d35d9397b269547a5","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:04:22-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cb0313157bf904f2d364377d35d9397b269547a5","message":"Merge branch 'topic/Authentication' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T10:04:22-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/59d755d95bc2e2de4dcef70a7c73e81e677f610b","sha":"59d755d95bc2e2de4dcef70a7c73e81e677f610b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T05:10:54-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","message":"Implement the three authentication schemes","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-25T05:10:54-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/59d755d95bc2e2de4dcef70a7c73e81e677f610b","sha":"59d755d95bc2e2de4dcef70a7c73e81e677f610b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:16-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0af24499a98e85f8ab2191898e8b809e5cebd4c5","sha":"0af24499a98e85f8ab2191898e8b809e5cebd4c5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:02-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","message":"Publish version 0.6","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:55:02-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0af24499a98e85f8ab2191898e8b809e5cebd4c5","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"0af24499a98e85f8ab2191898e8b809e5cebd4c5","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e7dca9143a23b8e2045a4a910a4a329007b10086","sha":"e7dca9143a23b8e2045a4a910a4a329007b10086"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e5ae923a68a9ae295ce5aa20b1227253de60e918","sha":"e5ae923a68a9ae295ce5aa20b1227253de60e918"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:47:43-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0af24499a98e85f8ab2191898e8b809e5cebd4c5","message":"Merge branch 'topic/issue_21' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:47:43-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e323899d50915b1b8bfca859ceaaa4a24db5d442","sha":"e323899d50915b1b8bfca859ceaaa4a24db5d442"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e5ae923a68a9ae295ce5aa20b1227253de60e918","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"e5ae923a68a9ae295ce5aa20b1227253de60e918","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2f64b625f7e2afc9bef61d0decb459e2ef65c550","sha":"2f64b625f7e2afc9bef61d0decb459e2ef65c550"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:47:11-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e5ae923a68a9ae295ce5aa20b1227253de60e918","message":"Add facilities for uniform debug printing","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:47:11-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e323899d50915b1b8bfca859ceaaa4a24db5d442","sha":"e323899d50915b1b8bfca859ceaaa4a24db5d442"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2f64b625f7e2afc9bef61d0decb459e2ef65c550","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"2f64b625f7e2afc9bef61d0decb459e2ef65c550","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/590798d349cba7de6e83b43aa5d4f8b0a38e685d","sha":"590798d349cba7de6e83b43aa5d4f8b0a38e685d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:21:36-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2f64b625f7e2afc9bef61d0decb459e2ef65c550","message":"Repository.permissions","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:28:18-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/23140a7b5cd3a7e6f70181775c8f56411223cf13","sha":"23140a7b5cd3a7e6f70181775c8f56411223cf13"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/590798d349cba7de6e83b43aa5d4f8b0a38e685d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"590798d349cba7de6e83b43aa5d4f8b0a38e685d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e7dca9143a23b8e2045a4a910a4a329007b10086","sha":"e7dca9143a23b8e2045a4a910a4a329007b10086"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:18:09-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/590798d349cba7de6e83b43aa5d4f8b0a38e685d","message":"Do not fail if Github adds an attribute in an object","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-04-17T10:28:17-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2eb1bde5d5aec4c8e146cba6dbadfa862062fe59","sha":"2eb1bde5d5aec4c8e146cba6dbadfa862062fe59"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e7dca9143a23b8e2045a4a910a4a329007b10086","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"e7dca9143a23b8e2045a4a910a4a329007b10086","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64c6a1e975e61b9c1449bed016cd19f33ee4b1c5","sha":"64c6a1e975e61b9c1449bed016cd19f33ee4b1c5"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a","sha":"ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T05:03:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e7dca9143a23b8e2045a4a910a4a329007b10086","message":"Merge branch 'topic/Recomplete' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T05:03:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/68028c858bce6e56a0123f1c7e71be5b0c0ac7f5","sha":"68028c858bce6e56a0123f1c7e71be5b0c0ac7f5"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/632d8b63c32a2b79e87eb3b93e1ad228724de4bd","sha":"632d8b63c32a2b79e87eb3b93e1ad228724de4bd"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T05:02:43-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a","message":"NamedUser.create_gist","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T05:02:43-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/68028c858bce6e56a0123f1c7e71be5b0c0ac7f5","sha":"68028c858bce6e56a0123f1c7e71be5b0c0ac7f5"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/632d8b63c32a2b79e87eb3b93e1ad228724de4bd","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"632d8b63c32a2b79e87eb3b93e1ad228724de4bd","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64c6a1e975e61b9c1449bed016cd19f33ee4b1c5","sha":"64c6a1e975e61b9c1449bed016cd19f33ee4b1c5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:13:08-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/632d8b63c32a2b79e87eb3b93e1ad228724de4bd","message":"GitRef.delete","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:13:08-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b733d1dab08609c2049a8490fdda25f9e68ae2bc","sha":"b733d1dab08609c2049a8490fdda25f9e68ae2bc"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/64c6a1e975e61b9c1449bed016cd19f33ee4b1c5","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"64c6a1e975e61b9c1449bed016cd19f33ee4b1c5","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/99963536fc81db3b9986c761b9dd08de22089aa2","sha":"99963536fc81db3b9986c761b9dd08de22089aa2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:10:06-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/64c6a1e975e61b9c1449bed016cd19f33ee4b1c5","message":"Merge branch 'topic/GenerateReferenceOfApis' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:10:06-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/623fd43b5299b8707a3b10def154f6725b31361c","sha":"623fd43b5299b8707a3b10def154f6725b31361c"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/99963536fc81db3b9986c761b9dd08de22089aa2","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"99963536fc81db3b9986c761b9dd08de22089aa2","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8d57522bbd15d1fb6b616fae795cd8721deb1c4d","sha":"8d57522bbd15d1fb6b616fae795cd8721deb1c4d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:09:05-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/99963536fc81db3b9986c761b9dd08de22089aa2","message":"GenerateReferenceOfApis.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:09:05-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/623fd43b5299b8707a3b10def154f6725b31361c","sha":"623fd43b5299b8707a3b10def154f6725b31361c"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8d57522bbd15d1fb6b616fae795cd8721deb1c4d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"8d57522bbd15d1fb6b616fae795cd8721deb1c4d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1140a91f3e45d09bc15463724f178a7ebf8e3149","sha":"1140a91f3e45d09bc15463724f178a7ebf8e3149"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:08:51-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8d57522bbd15d1fb6b616fae795cd8721deb1c4d","message":"Rename GenerateDocumentation.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:08:51-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/8eafa52103271d36b1a46e056716f29af46ccb41","sha":"8eafa52103271d36b1a46e056716f29af46ccb41"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1140a91f3e45d09bc15463724f178a7ebf8e3149","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"1140a91f3e45d09bc15463724f178a7ebf8e3149","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:07:51-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1140a91f3e45d09bc15463724f178a7ebf8e3149","message":"Normalize ReferenceOfApis.md","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-30T03:07:51-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6621cb8c710645471b3235cfa7e34eaf1a424320","sha":"6621cb8c710645471b3235cfa7e34eaf1a424320"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"936f4a97f1a86392637ec002bbf89ff036a5062d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","sha":"a3be28756101370fbc689eec3a7825c4c385a6c9"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e10470481795506e2c232720e2a9ecf588c8b567","sha":"e10470481795506e2c232720e2a9ecf588c8b567"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T13:50:17-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T13:50:17-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f315f93b637cbd7883c1aed5b58f12d4a812ff26","sha":"f315f93b637cbd7883c1aed5b58f12d4a812ff26"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e10470481795506e2c232720e2a9ecf588c8b567","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"e10470481795506e2c232720e2a9ecf588c8b567","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e456549e5265406f8090ae5145255c8ca9ea5e4e","sha":"e456549e5265406f8090ae5145255c8ca9ea5e4e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T13:49:21-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e10470481795506e2c232720e2a9ecf588c8b567","message":"Publish version 0.5","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T13:49:21-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f315f93b637cbd7883c1aed5b58f12d4a812ff26","sha":"f315f93b637cbd7883c1aed5b58f12d4a812ff26"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e456549e5265406f8090ae5145255c8ca9ea5e4e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"e456549e5265406f8090ae5145255c8ca9ea5e4e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2469c6e1aeb7919126a8271f6980b555b167e8b0","sha":"2469c6e1aeb7919126a8271f6980b555b167e8b0"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a91131be42eb328ae030f584af500f56aa08424b","sha":"a91131be42eb328ae030f584af500f56aa08424b"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:02:07-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e456549e5265406f8090ae5145255c8ca9ea5e4e","message":"Merge branch 'topic/CompleteImplementation' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:02:07-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c11065b6df8d201a09bd24f1b3e4b2f9f57a8321","sha":"c11065b6df8d201a09bd24f1b3e4b2f9f57a8321"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a91131be42eb328ae030f584af500f56aa08424b","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"a91131be42eb328ae030f584af500f56aa08424b","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2469c6e1aeb7919126a8271f6980b555b167e8b0","sha":"2469c6e1aeb7919126a8271f6980b555b167e8b0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:00:36-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a91131be42eb328ae030f584af500f56aa08424b","message":"Finaly do a poor implementation of Github.get_gists","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:01:46-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c11065b6df8d201a09bd24f1b3e4b2f9f57a8321","sha":"c11065b6df8d201a09bd24f1b3e4b2f9f57a8321"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2469c6e1aeb7919126a8271f6980b555b167e8b0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"2469c6e1aeb7919126a8271f6980b555b167e8b0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a0cc821c1beada4aa9ca0d5218664c5372720936","sha":"a0cc821c1beada4aa9ca0d5218664c5372720936"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a655d0424135befd3a0d53f3f7eff2d1c754854f","sha":"a655d0424135befd3a0d53f3f7eff2d1c754854f"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:01:32-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2469c6e1aeb7919126a8271f6980b555b167e8b0","message":"Merge branch 'topic/RestoreTests' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T12:01:32-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b88afa928c59940b2c88faa1a9a9826e50ea83ef","sha":"b88afa928c59940b2c88faa1a9a9826e50ea83ef"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a655d0424135befd3a0d53f3f7eff2d1c754854f","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"a655d0424135befd3a0d53f3f7eff2d1c754854f","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ce62e91268aa34dad0ba0dbee4769933e3a71e50","sha":"ce62e91268aa34dad0ba0dbee4769933e3a71e50"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:49:56-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a655d0424135befd3a0d53f3f7eff2d1c754854f","message":"Improve integration tests coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:49:56-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b88afa928c59940b2c88faa1a9a9826e50ea83ef","sha":"b88afa928c59940b2c88faa1a9a9826e50ea83ef"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ce62e91268aa34dad0ba0dbee4769933e3a71e50","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"ce62e91268aa34dad0ba0dbee4769933e3a71e50","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c88ee221b7f995855a1fdfac7d0ba19db918739","sha":"1c88ee221b7f995855a1fdfac7d0ba19db918739"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:37:57-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ce62e91268aa34dad0ba0dbee4769933e3a71e50","message":"Cosmetic change in integration test","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:37:57-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9e0956f8808d6a07d610e08ad585fb6593527f39","sha":"9e0956f8808d6a07d610e08ad585fb6593527f39"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c88ee221b7f995855a1fdfac7d0ba19db918739","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"1c88ee221b7f995855a1fdfac7d0ba19db918739","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd1a5dff3c547c634b2d89f5847218820e343883","sha":"bd1a5dff3c547c634b2d89f5847218820e343883"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:35:44-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1c88ee221b7f995855a1fdfac7d0ba19db918739","message":"Commit replay data for integration test","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:35:44-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/14fa47c5e331f1ebdc164ff341c70fc7dcfd2d83","sha":"14fa47c5e331f1ebdc164ff341c70fc7dcfd2d83"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd1a5dff3c547c634b2d89f5847218820e343883","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"bd1a5dff3c547c634b2d89f5847218820e343883","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b226b5b4e2f44107dde674e7a5d3e88d4e3518df","sha":"b226b5b4e2f44107dde674e7a5d3e88d4e3518df"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:35:11-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bd1a5dff3c547c634b2d89f5847218820e343883","message":"Fix integration tests","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:35:11-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/0cedd1c9f1986fc05f5bbfaa689d5a7fa7c7f424","sha":"0cedd1c9f1986fc05f5bbfaa689d5a7fa7c7f424"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b226b5b4e2f44107dde674e7a5d3e88d4e3518df","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"b226b5b4e2f44107dde674e7a5d3e88d4e3518df","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/25dbd4053e982402c7d92139f167dbe46008c932","sha":"25dbd4053e982402c7d92139f167dbe46008c932"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:17:26-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b226b5b4e2f44107dde674e7a5d3e88d4e3518df","message":"Restore test coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:17:26-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/35bac621cbeebac930faeb2a5d0ae01647027b57","sha":"35bac621cbeebac930faeb2a5d0ae01647027b57"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/25dbd4053e982402c7d92139f167dbe46008c932","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"25dbd4053e982402c7d92139f167dbe46008c932","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a0cc821c1beada4aa9ca0d5218664c5372720936","sha":"a0cc821c1beada4aa9ca0d5218664c5372720936"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:05:18-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/25dbd4053e982402c7d92139f167dbe46008c932","message":"Fix unit tests","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T11:05:18-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/21fa30dc9c099a96fb3d3018ca04934206702931","sha":"21fa30dc9c099a96fb3d3018ca04934206702931"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a0cc821c1beada4aa9ca0d5218664c5372720936","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"a0cc821c1beada4aa9ca0d5218664c5372720936","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1440bdf20bfeb62684c6d1779448719dce9d2df","sha":"c1440bdf20bfeb62684c6d1779448719dce9d2df"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:45:20-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a0cc821c1beada4aa9ca0d5218664c5372720936","message":"Fix documentation","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:45:20-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/df309b8e8b9359740688f6ecdec4e16a946eedac","sha":"df309b8e8b9359740688f6ecdec4e16a946eedac"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1440bdf20bfeb62684c6d1779448719dce9d2df","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"c1440bdf20bfeb62684c6d1779448719dce9d2df","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0909fec395bb1f97e2580d6a029cfc64b352aff9","sha":"0909fec395bb1f97e2580d6a029cfc64b352aff9"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1095d304b7fab3818dcb4c42093c8c56d3ac05e4","sha":"1095d304b7fab3818dcb4c42093c8c56d3ac05e4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:36:28-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c1440bdf20bfeb62684c6d1779448719dce9d2df","message":"Merge branch 'topic/CompleteImplementation' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:36:28-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/62acfc5826055bea7623e35982768674fb672bff","sha":"62acfc5826055bea7623e35982768674fb672bff"}}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?last_sha=c1440bdf20bfeb62684c6d1779448719dce9d2df&top=master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '44844'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"b1e58b63cf08fef49b20ee7682f4eadb"'), ('date', 'Sun, 27 May 2012 06:45:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1095d304b7fab3818dcb4c42093c8c56d3ac05e4","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"1095d304b7fab3818dcb4c42093c8c56d3ac05e4","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd39726f7cf86ea7ffb33b5718241fdab5fc8f53","sha":"bd39726f7cf86ea7ffb33b5718241fdab5fc8f53"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:28:03-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1095d304b7fab3818dcb4c42093c8c56d3ac05e4","message":"Repository.compare","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-19T09:28:03-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/62acfc5826055bea7623e35982768674fb672bff","sha":"62acfc5826055bea7623e35982768674fb672bff"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/bd39726f7cf86ea7ffb33b5718241fdab5fc8f53","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"bd39726f7cf86ea7ffb33b5718241fdab5fc8f53","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d2b27824d20612066d84be42d6691c66bb18ef4","sha":"1d2b27824d20612066d84be42d6691c66bb18ef4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-18T23:40:52-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/bd39726f7cf86ea7ffb33b5718241fdab5fc8f53","message":"AuthenticatedUser.get_issues","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-18T23:40:52-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e0cf809423855e97a1c418cd0574aceaea673e7c","sha":"e0cf809423855e97a1c418cd0574aceaea673e7c"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d2b27824d20612066d84be42d6691c66bb18ef4","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"1d2b27824d20612066d84be42d6691c66bb18ef4","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297","sha":"6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-18T23:32:34-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1d2b27824d20612066d84be42d6691c66bb18ef4","message":"Repository.get_git_tree with 'recursive'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-18T23:32:34-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/eece2904086e172c103a3f6c72d72577947d69af","sha":"eece2904086e172c103a3f6c72d72577947d69af"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a475d685d8ae709095d09094ea0962ac182d33f0","sha":"a475d685d8ae709095d09094ea0962ac182d33f0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-16T23:42:54-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297","message":"Optional parameter for Repository.create_git_tree","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-16T23:42:54-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a07df55d4e61292bfd4d344221a744bdeb837cef","sha":"a07df55d4e61292bfd4d344221a744bdeb837cef"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a475d685d8ae709095d09094ea0962ac182d33f0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"a475d685d8ae709095d09094ea0962ac182d33f0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a85de99ea5b5e7b38bd68e076d09c49207b8687e","sha":"a85de99ea5b5e7b38bd68e076d09c49207b8687e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-16T00:11:07-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a475d685d8ae709095d09094ea0962ac182d33f0","message":"On the way to alternative inputs. Still needs unit and integration testing","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-16T00:11:07-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929c7826e4116ccc48860420e96448c0b2dba912","sha":"929c7826e4116ccc48860420e96448c0b2dba912"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a85de99ea5b5e7b38bd68e076d09c49207b8687e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"a85de99ea5b5e7b38bd68e076d09c49207b8687e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d24cf209ddd1758188c5f35344f76df818d09a46","sha":"d24cf209ddd1758188c5f35344f76df818d09a46"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-15T23:54:19-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a85de99ea5b5e7b38bd68e076d09c49207b8687e","message":"dos2unix","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-15T23:54:19-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/45ab612f324d934efd24d37ec8a1a829ae9c819c","sha":"45ab612f324d934efd24d37ec8a1a829ae9c819c"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d24cf209ddd1758188c5f35344f76df818d09a46","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"d24cf209ddd1758188c5f35344f76df818d09a46","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0909fec395bb1f97e2580d6a029cfc64b352aff9","sha":"0909fec395bb1f97e2580d6a029cfc64b352aff9"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-15T23:53:33-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d24cf209ddd1758188c5f35344f76df818d09a46","message":"Be explicit about argumentChecker object","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-15T23:53:33-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1737a3881dfa9524447b8841f441efa4d57b2e57","sha":"1737a3881dfa9524447b8841f441efa4d57b2e57"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0909fec395bb1f97e2580d6a029cfc64b352aff9","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"0909fec395bb1f97e2580d6a029cfc64b352aff9","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50ac55b25ceba555b84709839f80447552450697","sha":"50ac55b25ceba555b84709839f80447552450697"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6e421e9e85e12008758870bc046bc2c6120af72a","sha":"6e421e9e85e12008758870bc046bc2c6120af72a"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:26:35-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0909fec395bb1f97e2580d6a029cfc64b352aff9","message":"Merge branch 'topic/MoveGithubObjects' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:26:35-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5e1db9b1002e45cbcde2f17253233b3cf50496ad","sha":"5e1db9b1002e45cbcde2f17253233b3cf50496ad"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6e421e9e85e12008758870bc046bc2c6120af72a","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"6e421e9e85e12008758870bc046bc2c6120af72a","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/32ed0ebc377efbed5b482b3d49ff54bf1715d55a","sha":"32ed0ebc377efbed5b482b3d49ff54bf1715d55a"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:24:49-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6e421e9e85e12008758870bc046bc2c6120af72a","message":"Separate the three distributed classes","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:24:49-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5e1db9b1002e45cbcde2f17253233b3cf50496ad","sha":"5e1db9b1002e45cbcde2f17253233b3cf50496ad"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/32ed0ebc377efbed5b482b3d49ff54bf1715d55a","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"32ed0ebc377efbed5b482b3d49ff54bf1715d55a","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8213df1d744f251aa8e52229643a9f6ce352f3c0","sha":"8213df1d744f251aa8e52229643a9f6ce352f3c0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:13:37-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/32ed0ebc377efbed5b482b3d49ff54bf1715d55a","message":"Move GithubObject","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:13:37-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4836c31ec1b75e4b0145bae29cda338318b583a0","sha":"4836c31ec1b75e4b0145bae29cda338318b583a0"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8213df1d744f251aa8e52229643a9f6ce352f3c0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"8213df1d744f251aa8e52229643a9f6ce352f3c0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/69cc298fd159f19eb204dd09f17d31dc4abc3d41","sha":"69cc298fd159f19eb204dd09f17d31dc4abc3d41"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:07:21-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8213df1d744f251aa8e52229643a9f6ce352f3c0","message":"Simplify internal imports","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T15:07:21-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e2cd74e9c3cf6ff69da96f8fad7e1e4120db56fb","sha":"e2cd74e9c3cf6ff69da96f8fad7e1e4120db56fb"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/69cc298fd159f19eb204dd09f17d31dc4abc3d41","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"69cc298fd159f19eb204dd09f17d31dc4abc3d41","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/85eef756353e13efcb24c726320cd2617c2a7bd8","sha":"85eef756353e13efcb24c726320cd2617c2a7bd8"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T14:55:06-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/69cc298fd159f19eb204dd09f17d31dc4abc3d41","message":"Make sure only three class definitions are distributed","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T14:56:12-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a1d3e1193b5eeb668b0a9e4ec0286adeee2bfc98","sha":"a1d3e1193b5eeb668b0a9e4ec0286adeee2bfc98"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/85eef756353e13efcb24c726320cd2617c2a7bd8","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"85eef756353e13efcb24c726320cd2617c2a7bd8","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50ac55b25ceba555b84709839f80447552450697","sha":"50ac55b25ceba555b84709839f80447552450697"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T14:31:32-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/85eef756353e13efcb24c726320cd2617c2a7bd8","message":"Move classes around","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-14T14:56:08-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b0eadbf0e94e5098c5e4324f92e1546b3fe97ae2","sha":"b0eadbf0e94e5098c5e4324f92e1546b3fe97ae2"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50ac55b25ceba555b84709839f80447552450697","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"50ac55b25ceba555b84709839f80447552450697","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/58b4396aa0e7cb72911b75cb035798143a06e0ee","sha":"58b4396aa0e7cb72911b75cb035798143a06e0ee"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/767d75a580279e457f9bc52bc308a17ff8ea0509","sha":"767d75a580279e457f9bc52bc308a17ff8ea0509"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:26:20-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/50ac55b25ceba555b84709839f80447552450697","message":"Merge branch 'topic/SplitGithubObjects' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:26:20-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9541dc30b6f7eb32a0eeb99661974efc2bc2b2e0","sha":"9541dc30b6f7eb32a0eeb99661974efc2bc2b2e0"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/767d75a580279e457f9bc52bc308a17ff8ea0509","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"767d75a580279e457f9bc52bc308a17ff8ea0509","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/75e72ffa3066693291f7da03070666e8f885097a","sha":"75e72ffa3066693291f7da03070666e8f885097a"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:24:39-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/767d75a580279e457f9bc52bc308a17ff8ea0509","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:24:39-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9541dc30b6f7eb32a0eeb99661974efc2bc2b2e0","sha":"9541dc30b6f7eb32a0eeb99661974efc2bc2b2e0"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/75e72ffa3066693291f7da03070666e8f885097a","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"75e72ffa3066693291f7da03070666e8f885097a","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/504047e218e6b34a3828ccc408431634f17b9504","sha":"504047e218e6b34a3828ccc408431634f17b9504"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:23:47-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/75e72ffa3066693291f7da03070666e8f885097a","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:23:47-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ef565463ba492225543f538ddc2ac31d93301a3e","sha":"ef565463ba492225543f538ddc2ac31d93301a3e"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/504047e218e6b34a3828ccc408431634f17b9504","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"504047e218e6b34a3828ccc408431634f17b9504","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/960db1d5c9853e9f5fbbc9237c2c166ceef1f080","sha":"960db1d5c9853e9f5fbbc9237c2c166ceef1f080"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:19:54-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/504047e218e6b34a3828ccc408431634f17b9504","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:19:54-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/64a98d6a5045debec1ab928d49989c7f0f666be2","sha":"64a98d6a5045debec1ab928d49989c7f0f666be2"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/960db1d5c9853e9f5fbbc9237c2c166ceef1f080","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"960db1d5c9853e9f5fbbc9237c2c166ceef1f080","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/877dde23e140bbf038f9a2d8f0f07b4e3a965c61","sha":"877dde23e140bbf038f9a2d8f0f07b4e3a965c61"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:18:02-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/960db1d5c9853e9f5fbbc9237c2c166ceef1f080","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:18:02-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b16b7a597ab3aa1876b1797426367114d4421642","sha":"b16b7a597ab3aa1876b1797426367114d4421642"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/877dde23e140bbf038f9a2d8f0f07b4e3a965c61","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"877dde23e140bbf038f9a2d8f0f07b4e3a965c61","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e","sha":"1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:13:04-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/877dde23e140bbf038f9a2d8f0f07b4e3a965c61","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:13:04-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/307d8dc221f2a6097a520636f60238621e966f58","sha":"307d8dc221f2a6097a520636f60238621e966f58"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/99564c1cab139d1e4678f5f83f60d26f1210db7e","sha":"99564c1cab139d1e4678f5f83f60d26f1210db7e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:11:37-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:11:37-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/26e23b86645628acb3f1764e8d81a213b9f3443f","sha":"26e23b86645628acb3f1764e8d81a213b9f3443f"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/99564c1cab139d1e4678f5f83f60d26f1210db7e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"99564c1cab139d1e4678f5f83f60d26f1210db7e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/231926207709ceaa61e87b64e34e17d85adecd9c","sha":"231926207709ceaa61e87b64e34e17d85adecd9c"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:04:42-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/99564c1cab139d1e4678f5f83f60d26f1210db7e","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:04:42-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2824e5fdbb2811bb05eab1a225a9e64d4974b880","sha":"2824e5fdbb2811bb05eab1a225a9e64d4974b880"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/231926207709ceaa61e87b64e34e17d85adecd9c","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"231926207709ceaa61e87b64e34e17d85adecd9c","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb722625dddb9a32f75190723f7da12683b7c4b2","sha":"fb722625dddb9a32f75190723f7da12683b7c4b2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:01:07-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/231926207709ceaa61e87b64e34e17d85adecd9c","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T12:01:07-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/54f99bd97e9223673a5947bdb8bd8dcafd9878d8","sha":"54f99bd97e9223673a5947bdb8bd8dcafd9878d8"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb722625dddb9a32f75190723f7da12683b7c4b2","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"fb722625dddb9a32f75190723f7da12683b7c4b2","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cab9d71603e127bdd1f600a759dccea1781fa1ab","sha":"cab9d71603e127bdd1f600a759dccea1781fa1ab"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:59:48-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/fb722625dddb9a32f75190723f7da12683b7c4b2","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:59:48-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/bd492ae3de0943fa17cf91c3840361855b38814d","sha":"bd492ae3de0943fa17cf91c3840361855b38814d"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cab9d71603e127bdd1f600a759dccea1781fa1ab","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"cab9d71603e127bdd1f600a759dccea1781fa1ab","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a","sha":"e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:42:20-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cab9d71603e127bdd1f600a759dccea1781fa1ab","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:42:20-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/3a4160a7930e855165662640ab9ac0b284930602","sha":"3a4160a7930e855165662640ab9ac0b284930602"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4a5cf98e7f959f1b5d9af484760c25cd27d9180d","sha":"4a5cf98e7f959f1b5d9af484760c25cd27d9180d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:40:44-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:40:44-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/860a56be6edc3335b3f1d7c05163ce6c88d86d97","sha":"860a56be6edc3335b3f1d7c05163ce6c88d86d97"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4a5cf98e7f959f1b5d9af484760c25cd27d9180d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"4a5cf98e7f959f1b5d9af484760c25cd27d9180d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5d1add448e0b0b1dadb8c6094a9e5e19b255f67e","sha":"5d1add448e0b0b1dadb8c6094a9e5e19b255f67e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:37:23-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4a5cf98e7f959f1b5d9af484760c25cd27d9180d","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:37:23-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/27c76f8754af9bfc0bd2f285a9034a2a267f3f6b","sha":"27c76f8754af9bfc0bd2f285a9034a2a267f3f6b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5d1add448e0b0b1dadb8c6094a9e5e19b255f67e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"5d1add448e0b0b1dadb8c6094a9e5e19b255f67e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0d9fc99a4b5d1ec6473c9c81c888917c132ffa65","sha":"0d9fc99a4b5d1ec6473c9c81c888917c132ffa65"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:36:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5d1add448e0b0b1dadb8c6094a9e5e19b255f67e","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:36:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c220b5fe6708feed4646e08f66cbd191d3074318","sha":"c220b5fe6708feed4646e08f66cbd191d3074318"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0d9fc99a4b5d1ec6473c9c81c888917c132ffa65","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"0d9fc99a4b5d1ec6473c9c81c888917c132ffa65","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b56aa09011378b014221f86dffb8304957a9e6bd","sha":"b56aa09011378b014221f86dffb8304957a9e6bd"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:35:28-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0d9fc99a4b5d1ec6473c9c81c888917c132ffa65","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:35:28-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/df0cf9d9d9db0389f96d0448baaea45528983486","sha":"df0cf9d9d9db0389f96d0448baaea45528983486"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b56aa09011378b014221f86dffb8304957a9e6bd","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"b56aa09011378b014221f86dffb8304957a9e6bd","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3e8169c0a98ce1e2c6a32ae1256ae0f735065df5","sha":"3e8169c0a98ce1e2c6a32ae1256ae0f735065df5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:26:13-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b56aa09011378b014221f86dffb8304957a9e6bd","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:26:13-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5683cd9759e70f12141fb579a729e1c5d72256ad","sha":"5683cd9759e70f12141fb579a729e1c5d72256ad"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3e8169c0a98ce1e2c6a32ae1256ae0f735065df5","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"3e8169c0a98ce1e2c6a32ae1256ae0f735065df5","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/378558f6cac6183b4a7100c0ce5eaad1cfff6717","sha":"378558f6cac6183b4a7100c0ce5eaad1cfff6717"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:18:28-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3e8169c0a98ce1e2c6a32ae1256ae0f735065df5","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:18:28-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e9bced97139773dcfbbefc6a4091e4458ee1fe23","sha":"e9bced97139773dcfbbefc6a4091e4458ee1fe23"}}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?last_sha=3e8169c0a98ce1e2c6a32ae1256ae0f735065df5&top=master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '45317'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"b341665cd46d642b2e6045772eb3278b"'), ('date', 'Sun, 27 May 2012 06:46:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/378558f6cac6183b4a7100c0ce5eaad1cfff6717","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"378558f6cac6183b4a7100c0ce5eaad1cfff6717","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/58b4396aa0e7cb72911b75cb035798143a06e0ee","sha":"58b4396aa0e7cb72911b75cb035798143a06e0ee"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:14:56-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/378558f6cac6183b4a7100c0ce5eaad1cfff6717","message":"Spliting GithubObjects.py","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-13T11:14:56-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/980bf3f66b3cbeec03a37db5263cbbc883b54681","sha":"980bf3f66b3cbeec03a37db5263cbbc883b54681"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/58b4396aa0e7cb72911b75cb035798143a06e0ee","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"58b4396aa0e7cb72911b75cb035798143a06e0ee","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","sha":"a3be28756101370fbc689eec3a7825c4c385a6c9"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T23:30:43-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/58b4396aa0e7cb72911b75cb035798143a06e0ee","message":"Remove totos, add them as github.com issues","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T23:30:43-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/202a101db80163b980fff6ae1ccebd8e985778e1","sha":"202a101db80163b980fff6ae1ccebd8e985778e1"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"a3be28756101370fbc689eec3a7825c4c385a6c9","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3d6bd49ce229243fea4bb46a937622d0ec7d4d1c","sha":"3d6bd49ce229243fea4bb46a937622d0ec7d4d1c"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T15:09:06-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","message":"Publish version 0.4","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T15:09:06-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5c6e0289868fe3bc6bff49b0c33bd27c4dd07e2d","sha":"5c6e0289868fe3bc6bff49b0c33bd27c4dd07e2d"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3d6bd49ce229243fea4bb46a937622d0ec7d4d1c","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"3d6bd49ce229243fea4bb46a937622d0ec7d4d1c","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/636e6112deb72277b3bffcc3303cd7e8a7431a5d","sha":"636e6112deb72277b3bffcc3303cd7e8a7431a5d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/58cb0dbdef9765e0e913c726f923a47315aaf80e","sha":"58cb0dbdef9765e0e913c726f923a47315aaf80e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:53:18-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3d6bd49ce229243fea4bb46a937622d0ec7d4d1c","message":"Merge branch 'develop'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:53:18-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2cabc3bd4e00227b053ddf867dec199b15503c41","sha":"2cabc3bd4e00227b053ddf867dec199b15503c41"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/58cb0dbdef9765e0e913c726f923a47315aaf80e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"58cb0dbdef9765e0e913c726f923a47315aaf80e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc6d0fc044eadf2e6fde5da699f61654c1e691f3","sha":"cc6d0fc044eadf2e6fde5da699f61654c1e691f3"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0","sha":"7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:37:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/58cb0dbdef9765e0e913c726f923a47315aaf80e","message":"Merge branch 'topic/FixBaseUrl' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:37:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2cabc3bd4e00227b053ddf867dec199b15503c41","sha":"2cabc3bd4e00227b053ddf867dec199b15503c41"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/97f308e67383368a2d15788cac28e126c8528bb2","sha":"97f308e67383368a2d15788cac28e126c8528bb2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:36:59-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0","message":"Add a unit test with a changing _baseUrl","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:36:59-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2cabc3bd4e00227b053ddf867dec199b15503c41","sha":"2cabc3bd4e00227b053ddf867dec199b15503c41"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/97f308e67383368a2d15788cac28e126c8528bb2","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"97f308e67383368a2d15788cac28e126c8528bb2","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fc33a6de4f0e08d7ff2de05935517ec3932d212e","sha":"fc33a6de4f0e08d7ff2de05935517ec3932d212e"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:31:09-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/97f308e67383368a2d15788cac28e126c8528bb2","message":"Restore integration test after bugfix","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:31:09-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2905b7707c427bff575def862c26cb05507bfa9c","sha":"2905b7707c427bff575def862c26cb05507bfa9c"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fc33a6de4f0e08d7ff2de05935517ec3932d212e","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"fc33a6de4f0e08d7ff2de05935517ec3932d212e","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc6d0fc044eadf2e6fde5da699f61654c1e691f3","sha":"cc6d0fc044eadf2e6fde5da699f61654c1e691f3"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:28:06-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/fc33a6de4f0e08d7ff2de05935517ec3932d212e","message":"Fix bug: _baseUrl is now a method\n\nThis handles modification of attributes creating the base url","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:28:06-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7f985c8693602ccc884ecfd9fece11a2a7d3fdef","sha":"7f985c8693602ccc884ecfd9fece11a2a7d3fdef"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cc6d0fc044eadf2e6fde5da699f61654c1e691f3","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"cc6d0fc044eadf2e6fde5da699f61654c1e691f3","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/157f9c13275738b6b39b8d7a874f5f0aee47cb18","sha":"157f9c13275738b6b39b8d7a874f5f0aee47cb18"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c","sha":"2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:12:06-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cc6d0fc044eadf2e6fde5da699f61654c1e691f3","message":"Merge branch 'topic/MergeMergeRequest' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:12:06-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4138e1bdfbc5130fe957589d9b68bb053c8305c5","sha":"4138e1bdfbc5130fe957589d9b68bb053c8305c5"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/366ca58ca004b9129f9d435db8204ce0f5bc57c3","sha":"366ca58ca004b9129f9d435db8204ce0f5bc57c3"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:11:40-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c","message":"Restore test coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:11:40-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4138e1bdfbc5130fe957589d9b68bb053c8305c5","sha":"4138e1bdfbc5130fe957589d9b68bb053c8305c5"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/366ca58ca004b9129f9d435db8204ce0f5bc57c3","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"366ca58ca004b9129f9d435db8204ce0f5bc57c3","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0d3b3ffd1e5c143af8725fdee808101f626f683d","sha":"0d3b3ffd1e5c143af8725fdee808101f626f683d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:08:22-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/366ca58ca004b9129f9d435db8204ce0f5bc57c3","message":"PullRequest.is_merged and PullRequest.merge","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T14:08:22-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/cff64747ea7fc0957b502839f3a54cb8dd9b7002","sha":"cff64747ea7fc0957b502839f3a54cb8dd9b7002"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0d3b3ffd1e5c143af8725fdee808101f626f683d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"0d3b3ffd1e5c143af8725fdee808101f626f683d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/157f9c13275738b6b39b8d7a874f5f0aee47cb18","sha":"157f9c13275738b6b39b8d7a874f5f0aee47cb18"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:51:50-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0d3b3ffd1e5c143af8725fdee808101f626f683d","message":"Improve coverage analysis","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:51:50-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/091f983c6aa0b097677a5b1d1e4a2b6417bb953d","sha":"091f983c6aa0b097677a5b1d1e4a2b6417bb953d"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/157f9c13275738b6b39b8d7a874f5f0aee47cb18","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"157f9c13275738b6b39b8d7a874f5f0aee47cb18","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/924aef7d9f3a21145492ea165c9268ab0030cbab","sha":"924aef7d9f3a21145492ea165c9268ab0030cbab"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b12b6ffdfa6f1cca89459438eff6d3420ed199e9","sha":"b12b6ffdfa6f1cca89459438eff6d3420ed199e9"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:48:47-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/157f9c13275738b6b39b8d7a874f5f0aee47cb18","message":"Merge branch 'topic/AddHooksAndEvents' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:48:47-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/014f6c1b5278352ba1bc974914e3a76c17590479","sha":"014f6c1b5278352ba1bc974914e3a76c17590479"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b12b6ffdfa6f1cca89459438eff6d3420ed199e9","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"b12b6ffdfa6f1cca89459438eff6d3420ed199e9","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/236fcaead6addd284722e4b5fde2e24f6f4ae63b","sha":"236fcaead6addd284722e4b5fde2e24f6f4ae63b"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:48:27-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b12b6ffdfa6f1cca89459438eff6d3420ed199e9","message":"AuthenticatedUser.get_organization_events","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:48:27-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/014f6c1b5278352ba1bc974914e3a76c17590479","sha":"014f6c1b5278352ba1bc974914e3a76c17590479"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/236fcaead6addd284722e4b5fde2e24f6f4ae63b","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"236fcaead6addd284722e4b5fde2e24f6f4ae63b","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/43369be99710f4386d31daa87db9b5cc48f0544d","sha":"43369be99710f4386d31daa87db9b5cc48f0544d"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:28:26-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/236fcaead6addd284722e4b5fde2e24f6f4ae63b","message":"Restore test coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:28:26-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/484f40761d22be9a4a815e010c52e43c12e49f02","sha":"484f40761d22be9a4a815e010c52e43c12e49f02"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/43369be99710f4386d31daa87db9b5cc48f0544d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"43369be99710f4386d31daa87db9b5cc48f0544d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/07b6b437d741df9c94cf34e36045fc78868b63ba","sha":"07b6b437d741df9c94cf34e36045fc78868b63ba"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:22:10-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/43369be99710f4386d31daa87db9b5cc48f0544d","message":"Repository.get_issues_event + coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T13:22:10-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/656b268fdf8d0ce1e48037f8a546eecdf0dc5ef9","sha":"656b268fdf8d0ce1e48037f8a546eecdf0dc5ef9"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/07b6b437d741df9c94cf34e36045fc78868b63ba","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"07b6b437d741df9c94cf34e36045fc78868b63ba","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6d51a955d922e92dacf37106a3c52d185fb18423","sha":"6d51a955d922e92dacf37106a3c52d185fb18423"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T12:43:20-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/07b6b437d741df9c94cf34e36045fc78868b63ba","message":"Remove two 'MethodFromCallable'","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T12:43:20-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fb26540cb902379e02897890f8e79df032fa4657","sha":"fb26540cb902379e02897890f8e79df032fa4657"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6d51a955d922e92dacf37106a3c52d185fb18423","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"6d51a955d922e92dacf37106a3c52d185fb18423","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/44911bf0906912d468cb88001907955ee318fdf7","sha":"44911bf0906912d468cb88001907955ee318fdf7"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T11:59:56-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6d51a955d922e92dacf37106a3c52d185fb18423","message":"Fix and add integration tests about events","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-12T11:59:56-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c1619a5fa4c612b9d7455bbd4111e074c1110967","sha":"c1619a5fa4c612b9d7455bbd4111e074c1110967"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/44911bf0906912d468cb88001907955ee318fdf7","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"44911bf0906912d468cb88001907955ee318fdf7","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/01fa4d803b4a541759ba906d194f1fa9bc29faa9","sha":"01fa4d803b4a541759ba906d194f1fa9bc29faa9"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T12:54:56-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/44911bf0906912d468cb88001907955ee318fdf7","message":"Events: step 1","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T12:54:56-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/8e82325aa70d2d0c5dd15c138d44c729a097d7df","sha":"8e82325aa70d2d0c5dd15c138d44c729a097d7df"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/01fa4d803b4a541759ba906d194f1fa9bc29faa9","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"01fa4d803b4a541759ba906d194f1fa9bc29faa9","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/25c76b4b759173fa42cdf3ebd0214a5ce958b2e4","sha":"25c76b4b759173fa42cdf3ebd0214a5ce958b2e4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T02:12:15-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/01fa4d803b4a541759ba906d194f1fa9bc29faa9","message":"Regenerate reference of classes","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T02:12:15-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/deae54c27d31b4d5f21daeb48451cdbed301d386","sha":"deae54c27d31b4d5f21daeb48451cdbed301d386"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/25c76b4b759173fa42cdf3ebd0214a5ce958b2e4","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"25c76b4b759173fa42cdf3ebd0214a5ce958b2e4","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/00a832e6d519dac96142f650d6363f24459f9145","sha":"00a832e6d519dac96142f650d6363f24459f9145"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-03T23:56:48-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/25c76b4b759173fa42cdf3ebd0214a5ce958b2e4","message":"Restore test coverage","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:46:20-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/9ad7d85371d98b8cc50686cc0591e98935d7917d","sha":"9ad7d85371d98b8cc50686cc0591e98935d7917d"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/00a832e6d519dac96142f650d6363f24459f9145","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"00a832e6d519dac96142f650d6363f24459f9145","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f03d86c46e4d5b337514277620dc9adbdc68dba2","sha":"f03d86c46e4d5b337514277620dc9adbdc68dba2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-03T04:44:54-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/00a832e6d519dac96142f650d6363f24459f9145","message":"Hook testing","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:46:19-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/88beba1a00e40bea9da1c02b613e3859df4105de","sha":"88beba1a00e40bea9da1c02b613e3859df4105de"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f03d86c46e4d5b337514277620dc9adbdc68dba2","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"f03d86c46e4d5b337514277620dc9adbdc68dba2","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0b8ffcc14c6200dda4f9b11c47d6949b5cd3240b","sha":"0b8ffcc14c6200dda4f9b11c47d6949b5cd3240b"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-03T04:36:01-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f03d86c46e4d5b337514277620dc9adbdc68dba2","message":"Hooks: step 2","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:46:18-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a2d2473d5b9f12020bcba798849206c4636fec2f","sha":"a2d2473d5b9f12020bcba798849206c4636fec2f"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0b8ffcc14c6200dda4f9b11c47d6949b5cd3240b","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"0b8ffcc14c6200dda4f9b11c47d6949b5cd3240b","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2d89a565f5eb19af605d78762169daec9a701e0","sha":"f2d89a565f5eb19af605d78762169daec9a701e0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-01T08:35:13-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0b8ffcc14c6200dda4f9b11c47d6949b5cd3240b","message":"Hooks: step 1","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:46:17-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/122bf2a07918c500e15ae7b9a5ae6eba4c4abf34","sha":"122bf2a07918c500e15ae7b9a5ae6eba4c4abf34"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f2d89a565f5eb19af605d78762169daec9a701e0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"f2d89a565f5eb19af605d78762169daec9a701e0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/924aef7d9f3a21145492ea165c9268ab0030cbab","sha":"924aef7d9f3a21145492ea165c9268ab0030cbab"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-02-23T13:32:44-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f2d89a565f5eb19af605d78762169daec9a701e0","message":"Totos for hooks and events","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:46:16-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6c010d7ccbfbb6a0f44c829c08753dc19b71c29e","sha":"6c010d7ccbfbb6a0f44c829c08753dc19b71c29e"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/924aef7d9f3a21145492ea165c9268ab0030cbab","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"924aef7d9f3a21145492ea165c9268ab0030cbab","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cf3f792b16d2e9e56ba6562e9db55663d4443d87","sha":"cf3f792b16d2e9e56ba6562e9db55663d4443d87"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:45:59-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/924aef7d9f3a21145492ea165c9268ab0030cbab","message":"Typo...","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:45:59-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/c2d94eeeeb8eab5793762db56b9d6bdf3070c639","sha":"c2d94eeeeb8eab5793762db56b9d6bdf3070c639"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cf3f792b16d2e9e56ba6562e9db55663d4443d87","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"cf3f792b16d2e9e56ba6562e9db55663d4443d87","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5c17275366efd3bc9414958d661d9a017022be6b","sha":"5c17275366efd3bc9414958d661d9a017022be6b"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a83cc0b1e40788483398eb89e3671b91d648251","sha":"3a83cc0b1e40788483398eb89e3671b91d648251"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:39:25-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/cf3f792b16d2e9e56ba6562e9db55663d4443d87","message":"Merge branch 'topic/Coverage' into develop","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:39:25-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ff1c6594a40331fca68b664d400269b343360fdd","sha":"ff1c6594a40331fca68b664d400269b343360fdd"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a83cc0b1e40788483398eb89e3671b91d648251","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"3a83cc0b1e40788483398eb89e3671b91d648251","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e0c04877a9a00766d099251512a8bb512a1d37c2","sha":"e0c04877a9a00766d099251512a8bb512a1d37c2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:38:09-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/3a83cc0b1e40788483398eb89e3671b91d648251","message":"RepositoryDetails","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:38:09-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ff1c6594a40331fca68b664d400269b343360fdd","sha":"ff1c6594a40331fca68b664d400269b343360fdd"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e0c04877a9a00766d099251512a8bb512a1d37c2","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"e0c04877a9a00766d099251512a8bb512a1d37c2","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6b89c02872cbcb179d79cb4ceb2436fee02425d0","sha":"6b89c02872cbcb179d79cb4ceb2436fee02425d0"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:34:02-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e0c04877a9a00766d099251512a8bb512a1d37c2","message":"AuthenticatedUserDetails","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:34:02-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5f178bdb7fdd0f30d84b33e99e41b16a32fa0d9b","sha":"5f178bdb7fdd0f30d84b33e99e41b16a32fa0d9b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6b89c02872cbcb179d79cb4ceb2436fee02425d0","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"6b89c02872cbcb179d79cb4ceb2436fee02425d0","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/231ae0778e0bebaac3dc87fa8f602c1560b8164f","sha":"231ae0778e0bebaac3dc87fa8f602c1560b8164f"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:21:59-08:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6b89c02872cbcb179d79cb4ceb2436fee02425d0","message":"Downloads","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-03-04T01:21:59-08:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/047599e78ad35674ee8b0ac51d232b2c71b40a6f","sha":"047599e78ad35674ee8b0ac51d232b2c71b40a6f"}}}] - diff --git a/github/tests/ReplayData/Repository.testGetCommitsWithArguments.txt b/github/tests/ReplayData/Repository.testGetCommitsWithArguments.txt deleted file mode 100644 index be72766..0000000 --- a/github/tests/ReplayData/Repository.testGetCommitsWithArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?sha=topic%2FRewriteWithGeneratedCode&path=codegen%2FGenerateCode.py -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4940'), ('content-length', '10375'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"230272c14df3176a86fe041ec1370c1d"'), ('date', 'Tue, 29 May 2012 18:24:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/de386d5dc9cf103c90c4128eeca0e6abdd382065","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"de386d5dc9cf103c90c4128eeca0e6abdd382065","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b44982f6111bff2454243869df2e1c3086ccbba","sha":"5b44982f6111bff2454243869df2e1c3086ccbba"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T10:21:42-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/de386d5dc9cf103c90c4128eeca0e6abdd382065","message":"Rename","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T10:21:42-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1aff37f9b6c7c67f5984c4cf4bff68374a2c6943","sha":"1aff37f9b6c7c67f5984c4cf4bff68374a2c6943"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b44982f6111bff2454243869df2e1c3086ccbba","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"5b44982f6111bff2454243869df2e1c3086ccbba","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6835ff949141957a733c8ddfa147026515ae493","sha":"d6835ff949141957a733c8ddfa147026515ae493"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T10:18:34-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5b44982f6111bff2454243869df2e1c3086ccbba","message":"Generate code with Unix line endings even on Windows","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T10:18:34-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b62a41a33cf46d342f92783df84d91bab0ff05ea","sha":"b62a41a33cf46d342f92783df84d91bab0ff05ea"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d6835ff949141957a733c8ddfa147026515ae493","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"d6835ff949141957a733c8ddfa147026515ae493","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/821ac669f212b1e8868567517f8b85f8a7eb04cf","sha":"821ac669f212b1e8868567517f8b85f8a7eb04cf"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T09:29:08-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d6835ff949141957a733c8ddfa147026515ae493","message":"dos2unix","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-28T09:29:08-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/2017a36dd1340a30b24ffcf402fe4dfee28470ef","sha":"2017a36dd1340a30b24ffcf402fe4dfee28470ef"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/075d3d961d4614a2a0835d5583248adfc0687a7d","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"075d3d961d4614a2a0835d5583248adfc0687a7d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4bf2e31da745b4857ef7779b8af7de04aca713c2","sha":"4bf2e31da745b4857ef7779b8af7de04aca713c2"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T05:30:38-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/075d3d961d4614a2a0835d5583248adfc0687a7d","message":"Generate code for url quoting","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-27T05:30:38-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fdc159d42b4ef9b3480bef5634a4fc78d81265ea","sha":"fdc159d42b4ef9b3480bef5634a4fc78d81265ea"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8956796e7f462a49f499eac52fab901cdb59abdb","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"8956796e7f462a49f499eac52fab901cdb59abdb","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f23ed6341da0fcf7a416d04ad0ab252ed55308a5","sha":"f23ed6341da0fcf7a416d04ad0ab252ed55308a5"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T05:12:03-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8956796e7f462a49f499eac52fab901cdb59abdb","message":"Be explicit about complete-ability","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T05:12:03-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f6c8da120b78da3617c89d530322676ba159d40b","sha":"f6c8da120b78da3617c89d530322676ba159d40b"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/283da5e7de6a4a3b6aaae7045909d70b643ad380","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"283da5e7de6a4a3b6aaae7045909d70b643ad380","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/595e88cd5537208958f90d6727965cc7918f09a7","sha":"595e88cd5537208958f90d6727965cc7918f09a7"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-10T09:26:18-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/283da5e7de6a4a3b6aaae7045909d70b643ad380","message":"Fix code generation and tests after reorganization","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-10T09:26:18-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7cafc3a4c77289c53776e9be84a5857dbeb19eeb","sha":"7cafc3a4c77289c53776e9be84a5857dbeb19eeb"}}},{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d631e83b7901b0a0b6061b361130700a79505319","committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"sha":"d631e83b7901b0a0b6061b361130700a79505319","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cd68559b0861ad2be12be29b9d4b7ec66e885191","sha":"cd68559b0861ad2be12be29b9d4b7ec66e885191"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-10T09:10:17-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d631e83b7901b0a0b6061b361130700a79505319","message":"Move files around","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-10T09:10:17-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/586a9fdba155fcae6959133845e702373d4b42ed","sha":"586a9fdba155fcae6959133845e702373d4b42ed"}}}] - diff --git a/github/tests/ReplayData/Repository.testGetCommitsWithAuthor.txt b/github/tests/ReplayData/Repository.testGetCommitsWithAuthor.txt deleted file mode 100644 index d4ae4f1..0000000 --- a/github/tests/ReplayData/Repository.testGetCommitsWithAuthor.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/users/AKFish -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:68E1:4062816:52802976'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1221'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 10 Nov 2013 11:54:56 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"186b66d7835a31a33ee1a092f17ca035"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:48:54 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false,"name":"AKFish","company":null,"blog":"http://catx.me","location":"China","email":null,"hireable":true,"bio":null,"public_repos":51,"followers":11,"following":7,"created_at":"2011-07-18T11:44:01Z","updated_at":"2013-11-10T11:54:56Z","public_gists":6} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?per_page=5&author=jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4948'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:68E1:40629A3:52802977'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '16274'), ('server', 'GitHub.com'), ('last-modified', 'Mon, 21 Oct 2013 03:45:43 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"e33a86ac77b0de1ff6664d425434cb37"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:48:55 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -[{"sha":"54f718a15770579a37ffbe7ae94ad30003407786","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T03:45:43Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T03:45:43Z"},"message":"Twitt about releases","tree":{"sha":"cbdb0e431b2d3645618a9fc1604eeb7a0b4fc037","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/cbdb0e431b2d3645618a9fc1604eeb7a0b4fc037"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/54f718a15770579a37ffbe7ae94ad30003407786","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/54f718a15770579a37ffbe7ae94ad30003407786","html_url":"https://github.com/jacquev6/PyGithub/commit/54f718a15770579a37ffbe7ae94ad30003407786","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/54f718a15770579a37ffbe7ae94ad30003407786/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"8cb3f372837e2648f17e3f085d2821114b507383","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cb3f372837e2648f17e3f085d2821114b507383","html_url":"https://github.com/jacquev6/PyGithub/commit/8cb3f372837e2648f17e3f085d2821114b507383"}]},{"sha":"8cb3f372837e2648f17e3f085d2821114b507383","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:48:01Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:48:01Z"},"message":"Publish version 1.20.0","tree":{"sha":"db657a4a57f788fba69640e4f49e77ef68bfd13d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/db657a4a57f788fba69640e4f49e77ef68bfd13d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8cb3f372837e2648f17e3f085d2821114b507383","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cb3f372837e2648f17e3f085d2821114b507383","html_url":"https://github.com/jacquev6/PyGithub/commit/8cb3f372837e2648f17e3f085d2821114b507383","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cb3f372837e2648f17e3f085d2821114b507383/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"73c16e54604f3ebb25557049f1e55f30b567d1ab","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/73c16e54604f3ebb25557049f1e55f30b567d1ab","html_url":"https://github.com/jacquev6/PyGithub/commit/73c16e54604f3ebb25557049f1e55f30b567d1ab"}]},{"sha":"73c16e54604f3ebb25557049f1e55f30b567d1ab","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:23:38Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:23:38Z"},"message":"Merge branch 'develop'","tree":{"sha":"ff1686e186cbcf8a35605a1795b885483918314c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ff1686e186cbcf8a35605a1795b885483918314c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/73c16e54604f3ebb25557049f1e55f30b567d1ab","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/73c16e54604f3ebb25557049f1e55f30b567d1ab","html_url":"https://github.com/jacquev6/PyGithub/commit/73c16e54604f3ebb25557049f1e55f30b567d1ab","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/73c16e54604f3ebb25557049f1e55f30b567d1ab/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"9f9be931fb3821256d8bb685577b5167652763d5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f9be931fb3821256d8bb685577b5167652763d5","html_url":"https://github.com/jacquev6/PyGithub/commit/9f9be931fb3821256d8bb685577b5167652763d5"},{"sha":"51fa637514e436eda989c376ff708b9553fff3c6","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/51fa637514e436eda989c376ff708b9553fff3c6","html_url":"https://github.com/jacquev6/PyGithub/commit/51fa637514e436eda989c376ff708b9553fff3c6"}]},{"sha":"51fa637514e436eda989c376ff708b9553fff3c6","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:17:38Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:17:38Z"},"message":"Remove tests for deleted methods!","tree":{"sha":"ff1686e186cbcf8a35605a1795b885483918314c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/ff1686e186cbcf8a35605a1795b885483918314c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/51fa637514e436eda989c376ff708b9553fff3c6","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/51fa637514e436eda989c376ff708b9553fff3c6","html_url":"https://github.com/jacquev6/PyGithub/commit/51fa637514e436eda989c376ff708b9553fff3c6","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/51fa637514e436eda989c376ff708b9553fff3c6/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"748793b7ac34dcf4b70f8b4494f9fe71c4609a07","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/748793b7ac34dcf4b70f8b4494f9fe71c4609a07","html_url":"https://github.com/jacquev6/PyGithub/commit/748793b7ac34dcf4b70f8b4494f9fe71c4609a07"}]},{"sha":"748793b7ac34dcf4b70f8b4494f9fe71c4609a07","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:14:35Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-10-21T02:14:35Z"},"message":"Add a link to DevAssistant (#197)","tree":{"sha":"b3198ecd46d01f2c44bec043adb65a68b10057a3","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b3198ecd46d01f2c44bec043adb65a68b10057a3"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/748793b7ac34dcf4b70f8b4494f9fe71c4609a07","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/748793b7ac34dcf4b70f8b4494f9fe71c4609a07","html_url":"https://github.com/jacquev6/PyGithub/commit/748793b7ac34dcf4b70f8b4494f9fe71c4609a07","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/748793b7ac34dcf4b70f8b4494f9fe71c4609a07/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"parents":[{"sha":"23e2828b5fd56c4860312773e7d568c8e9d232ca","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/23e2828b5fd56c4860312773e7d568c8e9d232ca","html_url":"https://github.com/jacquev6/PyGithub/commit/23e2828b5fd56c4860312773e7d568c8e9d232ca"}]}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?per_page=5&author=akfish -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:68E1:4062C37:52802978'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '15564'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 23 Aug 2013 23:21:41 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"70e018e18acd7212d83ab7f79a00c0c1"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:48:57 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -[{"sha":"38b137fb37c0fdc74f8802a4184518e105db9121","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-23T23:21:41Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-23T23:21:41Z"},"message":"Fix line ending","tree":{"sha":"a4260390d7e3d478aed05009657f4632d25dad84","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a4260390d7e3d478aed05009657f4632d25dad84"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/38b137fb37c0fdc74f8802a4184518e105db9121","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121","html_url":"https://github.com/jacquev6/PyGithub/commit/38b137fb37c0fdc74f8802a4184518e105db9121","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/38b137fb37c0fdc74f8802a4184518e105db9121/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"committer":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"parents":[{"sha":"fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84","html_url":"https://github.com/jacquev6/PyGithub/commit/fb6980ce36766e4dd1ab03b48ac4b5adf876dc84"}]},{"sha":"c7593e84c4a92a044b717b7311c2b6ad8d9a5917","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T02:20:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T02:20:10Z"},"message":"Add test case for conditional request","tree":{"sha":"bbf62558b39720fc7acab1c6b26e4b9260cdc897","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/bbf62558b39720fc7acab1c6b26e4b9260cdc897"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","html_url":"https://github.com/jacquev6/PyGithub/commit/c7593e84c4a92a044b717b7311c2b6ad8d9a5917","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c7593e84c4a92a044b717b7311c2b6ad8d9a5917/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"committer":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"parents":[{"sha":"d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","html_url":"https://github.com/jacquev6/PyGithub/commit/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7"}]},{"sha":"d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T00:45:10Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-22T00:45:10Z"},"message":"Add test record helper","tree":{"sha":"e6e15fccb5b256bba3db1d4fc89088b733de227b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e6e15fccb5b256bba3db1d4fc89088b733de227b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","html_url":"https://github.com/jacquev6/PyGithub/commit/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d457afd23ccb47d9f30f09a6ca2a8e32f17dccc7/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"committer":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"parents":[{"sha":"70a7e9c83dec2bf6b549dc5c77d30b53afb32457","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","html_url":"https://github.com/jacquev6/PyGithub/commit/70a7e9c83dec2bf6b549dc5c77d30b53afb32457"}]},{"sha":"70a7e9c83dec2bf6b549dc5c77d30b53afb32457","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T23:45:27Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T23:45:27Z"},"message":"Fix update","tree":{"sha":"f99d30ab74ea95fedefb33a8b1b2c77903fbd698","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f99d30ab74ea95fedefb33a8b1b2c77903fbd698"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","html_url":"https://github.com/jacquev6/PyGithub/commit/70a7e9c83dec2bf6b549dc5c77d30b53afb32457","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/70a7e9c83dec2bf6b549dc5c77d30b53afb32457/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"committer":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"parents":[{"sha":"5b09f6c82191601cad92076ad4761fe927c511ed","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed","html_url":"https://github.com/jacquev6/PyGithub/commit/5b09f6c82191601cad92076ad4761fe927c511ed"}]},{"sha":"5b09f6c82191601cad92076ad4761fe927c511ed","commit":{"author":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:17:59Z"},"committer":{"name":"AKFish","email":"akfish@gmail.com","date":"2013-08-21T15:17:59Z"},"message":"Implement conditional request","tree":{"sha":"d6c3d2b807635ecd9a9129b1a99d0e2f6758d440","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d6c3d2b807635ecd9a9129b1a99d0e2f6758d440"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5b09f6c82191601cad92076ad4761fe927c511ed","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed","html_url":"https://github.com/jacquev6/PyGithub/commit/5b09f6c82191601cad92076ad4761fe927c511ed","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b09f6c82191601cad92076ad4761fe927c511ed/comments","author":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"committer":{"login":"akfish","id":922715,"avatar_url":"https://1.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false},"parents":[{"sha":"6fd05baf6bea732dd846e08c40891c28060e7c64","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6fd05baf6bea732dd846e08c40891c28060e7c64","html_url":"https://github.com/jacquev6/PyGithub/commit/6fd05baf6bea732dd846e08c40891c28060e7c64"}]}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?per_page=5&author=m.ki2%40laposte.net -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:68E1:4062E83:5280297A'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '15839'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 04 Jun 2013 13:35:09 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"3ed1804969c8b056bbf4ac0098e42f18"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 00:48:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384130958')] -[{"sha":"ab674dfcbc86c70bc32d9ecbe171b48a5694c337","commit":{"author":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:35:09Z"},"committer":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:35:09Z"},"message":"PullRequestMergeStatus docstring","tree":{"sha":"fa1f214180296156c3b5b259f8bf503d485f3487","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fa1f214180296156c3b5b259f8bf503d485f3487"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ab674dfcbc86c70bc32d9ecbe171b48a5694c337","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab674dfcbc86c70bc32d9ecbe171b48a5694c337","html_url":"https://github.com/jacquev6/PyGithub/commit/ab674dfcbc86c70bc32d9ecbe171b48a5694c337","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ab674dfcbc86c70bc32d9ecbe171b48a5694c337/comments","author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"committer":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"parents":[{"sha":"dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","html_url":"https://github.com/jacquev6/PyGithub/commit/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84"}]},{"sha":"dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","commit":{"author":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:33:13Z"},"committer":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:33:13Z"},"message":"Don't think this anchor is needed","tree":{"sha":"08d2bb94751507dfff536d692292680a10bd6062","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/08d2bb94751507dfff536d692292680a10bd6062"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","html_url":"https://github.com/jacquev6/PyGithub/commit/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dd13f2b4bcfb6a4b208b617b0b39b8ef00041d84/comments","author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"committer":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"parents":[{"sha":"a56b10579dcf47c5083b5338b743e827be67bb59","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a56b10579dcf47c5083b5338b743e827be67bb59","html_url":"https://github.com/jacquev6/PyGithub/commit/a56b10579dcf47c5083b5338b743e827be67bb59"}]},{"sha":"a56b10579dcf47c5083b5338b743e827be67bb59","commit":{"author":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:32:17Z"},"committer":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:32:17Z"},"message":"Fix Event url","tree":{"sha":"5e4c1acdc1aebc22acdc26af24256609d8e4cbd9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5e4c1acdc1aebc22acdc26af24256609d8e4cbd9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a56b10579dcf47c5083b5338b743e827be67bb59","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a56b10579dcf47c5083b5338b743e827be67bb59","html_url":"https://github.com/jacquev6/PyGithub/commit/a56b10579dcf47c5083b5338b743e827be67bb59","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a56b10579dcf47c5083b5338b743e827be67bb59/comments","author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"committer":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"parents":[{"sha":"8d236e91578eb4d1b967b419d0cf34573338a177","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8d236e91578eb4d1b967b419d0cf34573338a177","html_url":"https://github.com/jacquev6/PyGithub/commit/8d236e91578eb4d1b967b419d0cf34573338a177"}]},{"sha":"8d236e91578eb4d1b967b419d0cf34573338a177","commit":{"author":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:31:00Z"},"committer":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:31:00Z"},"message":"Event docstring","tree":{"sha":"34c2d6b2c2acc221f8248e62331612781d182639","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/34c2d6b2c2acc221f8248e62331612781d182639"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8d236e91578eb4d1b967b419d0cf34573338a177","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8d236e91578eb4d1b967b419d0cf34573338a177","html_url":"https://github.com/jacquev6/PyGithub/commit/8d236e91578eb4d1b967b419d0cf34573338a177","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8d236e91578eb4d1b967b419d0cf34573338a177/comments","author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"committer":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"parents":[{"sha":"5ce5f5c68418bf45797f19cb0a50c03d429c90b5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5ce5f5c68418bf45797f19cb0a50c03d429c90b5","html_url":"https://github.com/jacquev6/PyGithub/commit/5ce5f5c68418bf45797f19cb0a50c03d429c90b5"}]},{"sha":"5ce5f5c68418bf45797f19cb0a50c03d429c90b5","commit":{"author":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:29:35Z"},"committer":{"name":"martinqt","email":"m.ki2@laposte.net","date":"2013-06-04T13:29:35Z"},"message":"Label docstring","tree":{"sha":"eee731e4946523d814f281722d789edba808e8ef","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/eee731e4946523d814f281722d789edba808e8ef"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/5ce5f5c68418bf45797f19cb0a50c03d429c90b5","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5ce5f5c68418bf45797f19cb0a50c03d429c90b5","html_url":"https://github.com/jacquev6/PyGithub/commit/5ce5f5c68418bf45797f19cb0a50c03d429c90b5","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5ce5f5c68418bf45797f19cb0a50c03d429c90b5/comments","author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"committer":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false},"parents":[{"sha":"21cf9b15b57cb919f0ebb4fcd6117cea4b6f1163","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/21cf9b15b57cb919f0ebb4fcd6117cea4b6f1163","html_url":"https://github.com/jacquev6/PyGithub/commit/21cf9b15b57cb919f0ebb4fcd6117cea4b6f1163"}]}] - diff --git a/github/tests/ReplayData/Repository.testGetCommitsWithSinceUntil.txt b/github/tests/ReplayData/Repository.testGetCommitsWithSinceUntil.txt deleted file mode 100644 index 40383c9..0000000 --- a/github/tests/ReplayData/Repository.testGetCommitsWithSinceUntil.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/commits?since=2013-03-01T00%3A00%3A00Z&until=2013-03-31T00%3A00%3A00Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '95940'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 29 Mar 2013 15:54:15 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="first"'), ('etag', '"ab4396ff3915897a1c3fe5a4b5db2697"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 19 Aug 2013 21:22:58 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1376950974')] -[{"sha":"db5560bd658b5d8057a864f7037ace4d5f618f1b","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T15:54:15Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T15:54:15Z"},"message":"Add a script to check copyrights with git log. And fix copyrights.","tree":{"sha":"072b9e971d71c06dc8329773b635d7e543eb0755","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/072b9e971d71c06dc8329773b635d7e543eb0755"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/db5560bd658b5d8057a864f7037ace4d5f618f1b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/db5560bd658b5d8057a864f7037ace4d5f618f1b","html_url":"https://github.com/jacquev6/PyGithub/commit/db5560bd658b5d8057a864f7037ace4d5f618f1b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/db5560bd658b5d8057a864f7037ace4d5f618f1b/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f266fed520fea4f683caabe0b38e1f758cfc5cff","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f266fed520fea4f683caabe0b38e1f758cfc5cff","html_url":"https://github.com/jacquev6/PyGithub/commit/f266fed520fea4f683caabe0b38e1f758cfc5cff"}]},{"sha":"f266fed520fea4f683caabe0b38e1f758cfc5cff","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:26:53Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:26:53Z"},"message":"Fix tests for Python <= 2.6","tree":{"sha":"6e2de6a307b94f74a3897318a0057e1386375816","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/6e2de6a307b94f74a3897318a0057e1386375816"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f266fed520fea4f683caabe0b38e1f758cfc5cff","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f266fed520fea4f683caabe0b38e1f758cfc5cff","html_url":"https://github.com/jacquev6/PyGithub/commit/f266fed520fea4f683caabe0b38e1f758cfc5cff","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f266fed520fea4f683caabe0b38e1f758cfc5cff/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","html_url":"https://github.com/jacquev6/PyGithub/commit/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1"}]},{"sha":"dff094650011398fd8f0a57bf2668a066fb2cbcb","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:16:57Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:16:57Z"},"message":"Add a documentation note about exceptions","tree":{"sha":"1e86ab9f72610891a1f05220dc3559dc351d8af3","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1e86ab9f72610891a1f05220dc3559dc351d8af3"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dff094650011398fd8f0a57bf2668a066fb2cbcb","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dff094650011398fd8f0a57bf2668a066fb2cbcb","html_url":"https://github.com/jacquev6/PyGithub/commit/dff094650011398fd8f0a57bf2668a066fb2cbcb","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dff094650011398fd8f0a57bf2668a066fb2cbcb/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"c1d747a9133a1c6cae1f0e11105a5f490f65fda6","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1d747a9133a1c6cae1f0e11105a5f490f65fda6","html_url":"https://github.com/jacquev6/PyGithub/commit/c1d747a9133a1c6cae1f0e11105a5f490f65fda6"}]},{"sha":"c1d747a9133a1c6cae1f0e11105a5f490f65fda6","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:13:44Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:13:44Z"},"message":"Refactor tests\n\nWe don't need to inspect the exception, so we can use\nunittest.TestCase.assertRaises","tree":{"sha":"fe7b963f4044724abbad0bf21f3291b81c0f6f87","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fe7b963f4044724abbad0bf21f3291b81c0f6f87"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c1d747a9133a1c6cae1f0e11105a5f490f65fda6","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1d747a9133a1c6cae1f0e11105a5f490f65fda6","html_url":"https://github.com/jacquev6/PyGithub/commit/c1d747a9133a1c6cae1f0e11105a5f490f65fda6","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c1d747a9133a1c6cae1f0e11105a5f490f65fda6/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0bc368973acfb50a531329b6c196ba92e0a81890","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc368973acfb50a531329b6c196ba92e0a81890","html_url":"https://github.com/jacquev6/PyGithub/commit/0bc368973acfb50a531329b6c196ba92e0a81890"}]},{"sha":"0bc368973acfb50a531329b6c196ba92e0a81890","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:10:59Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:10:59Z"},"message":"Raise a specific exception for non-existing objects (issue #152)","tree":{"sha":"166135287f1879ea4f27bc8bd5a7cba17ad01dfc","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/166135287f1879ea4f27bc8bd5a7cba17ad01dfc"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0bc368973acfb50a531329b6c196ba92e0a81890","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc368973acfb50a531329b6c196ba92e0a81890","html_url":"https://github.com/jacquev6/PyGithub/commit/0bc368973acfb50a531329b6c196ba92e0a81890","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0bc368973acfb50a531329b6c196ba92e0a81890/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"7b3e4c15ed6182963d66ffa9f0522acd0765275c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7b3e4c15ed6182963d66ffa9f0522acd0765275c","html_url":"https://github.com/jacquev6/PyGithub/commit/7b3e4c15ed6182963d66ffa9f0522acd0765275c"}]},{"sha":"7b3e4c15ed6182963d66ffa9f0522acd0765275c","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:01:06Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-29T12:01:06Z"},"message":"Raise a specific exception for bad credentials (issue #152)","tree":{"sha":"1d4d6301b3d0205617af9a8b187a63c80dde5e15","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1d4d6301b3d0205617af9a8b187a63c80dde5e15"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7b3e4c15ed6182963d66ffa9f0522acd0765275c","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7b3e4c15ed6182963d66ffa9f0522acd0765275c","html_url":"https://github.com/jacquev6/PyGithub/commit/7b3e4c15ed6182963d66ffa9f0522acd0765275c","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7b3e4c15ed6182963d66ffa9f0522acd0765275c/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f5d8e221d116b74a200d87afca32247f01204ba1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f5d8e221d116b74a200d87afca32247f01204ba1","html_url":"https://github.com/jacquev6/PyGithub/commit/f5d8e221d116b74a200d87afca32247f01204ba1"}]},{"sha":"4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:52:49Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:52:49Z"},"message":"Merge branch 'topic/CheckPragmaNoCover' into develop","tree":{"sha":"5c319c58976c6a69cbb0f182fdfd5ec976beb218","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5c319c58976c6a69cbb0f182fdfd5ec976beb218"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","html_url":"https://github.com/jacquev6/PyGithub/commit/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4df3a7eb47888f38c4c6dae50573f030a0a3f1e1/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"dc96fef052f2b5c6adb34da65169e8df3f35f611","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611","html_url":"https://github.com/jacquev6/PyGithub/commit/dc96fef052f2b5c6adb34da65169e8df3f35f611"},{"sha":"e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","html_url":"https://github.com/jacquev6/PyGithub/commit/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9"}]},{"sha":"e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:51:02Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:51:02Z"},"message":"pep8","tree":{"sha":"5c319c58976c6a69cbb0f182fdfd5ec976beb218","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/5c319c58976c6a69cbb0f182fdfd5ec976beb218"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","html_url":"https://github.com/jacquev6/PyGithub/commit/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e0db8cad4ec01c65e5e0eb50e11765e425e88ef9/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1c47be4e895b823baf907b25c647e43ab63c16dd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c47be4e895b823baf907b25c647e43ab63c16dd","html_url":"https://github.com/jacquev6/PyGithub/commit/1c47be4e895b823baf907b25c647e43ab63c16dd"}]},{"sha":"1c47be4e895b823baf907b25c647e43ab63c16dd","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:50:17Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:50:17Z"},"message":"Document `#pragma no cover`s (Issue #154)","tree":{"sha":"62a4201d09fcf3c4c528a1b91ba4aa74cb66e8f6","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/62a4201d09fcf3c4c528a1b91ba4aa74cb66e8f6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1c47be4e895b823baf907b25c647e43ab63c16dd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c47be4e895b823baf907b25c647e43ab63c16dd","html_url":"https://github.com/jacquev6/PyGithub/commit/1c47be4e895b823baf907b25c647e43ab63c16dd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c47be4e895b823baf907b25c647e43ab63c16dd/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","html_url":"https://github.com/jacquev6/PyGithub/commit/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a"}]},{"sha":"8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:49:39Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:49:39Z"},"message":"Remove branches for hypothetical unknown Authorization headers","tree":{"sha":"4f9e93f7e2b6a84809d22ca1d974e76ce54e3156","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4f9e93f7e2b6a84809d22ca1d974e76ce54e3156"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","html_url":"https://github.com/jacquev6/PyGithub/commit/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1c67359a318f05e50bf457818e1983ce95aa5946","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c67359a318f05e50bf457818e1983ce95aa5946","html_url":"https://github.com/jacquev6/PyGithub/commit/1c67359a318f05e50bf457818e1983ce95aa5946"}]},{"sha":"1c67359a318f05e50bf457818e1983ce95aa5946","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:28:01Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:28:01Z"},"message":"Improve test coverage a bit","tree":{"sha":"f22617e135ef910c5caf6ba34874d3ffa5b46e4c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f22617e135ef910c5caf6ba34874d3ffa5b46e4c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1c67359a318f05e50bf457818e1983ce95aa5946","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c67359a318f05e50bf457818e1983ce95aa5946","html_url":"https://github.com/jacquev6/PyGithub/commit/1c67359a318f05e50bf457818e1983ce95aa5946","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1c67359a318f05e50bf457818e1983ce95aa5946/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1d18bd66f3a4a4225435bd38df04b8a227b5e821","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18bd66f3a4a4225435bd38df04b8a227b5e821","html_url":"https://github.com/jacquev6/PyGithub/commit/1d18bd66f3a4a4225435bd38df04b8a227b5e821"}]},{"sha":"1d18bd66f3a4a4225435bd38df04b8a227b5e821","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:23:03Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:23:03Z"},"message":"Add a test that would have caught #153","tree":{"sha":"1ad779f4f01d8e13c861bf5d0ae0a64c5f641df9","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1ad779f4f01d8e13c861bf5d0ae0a64c5f641df9"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1d18bd66f3a4a4225435bd38df04b8a227b5e821","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18bd66f3a4a4225435bd38df04b8a227b5e821","html_url":"https://github.com/jacquev6/PyGithub/commit/1d18bd66f3a4a4225435bd38df04b8a227b5e821","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d18bd66f3a4a4225435bd38df04b8a227b5e821/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","html_url":"https://github.com/jacquev6/PyGithub/commit/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb"}]},{"sha":"b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:05:19Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T20:05:19Z"},"message":"Slightly improve coverage :-D","tree":{"sha":"b8517ca1fbc058c54b5376855a851426f590db4c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b8517ca1fbc058c54b5376855a851426f590db4c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","html_url":"https://github.com/jacquev6/PyGithub/commit/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"dc96fef052f2b5c6adb34da65169e8df3f35f611","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611","html_url":"https://github.com/jacquev6/PyGithub/commit/dc96fef052f2b5c6adb34da65169e8df3f35f611"}]},{"sha":"f5d8e221d116b74a200d87afca32247f01204ba1","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:55:48Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:55:48Z"},"message":"Add (a bit of) documentation about error handling and exceptions","tree":{"sha":"f62a49adc111ad3b2911480026af92779b813d59","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f62a49adc111ad3b2911480026af92779b813d59"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f5d8e221d116b74a200d87afca32247f01204ba1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f5d8e221d116b74a200d87afca32247f01204ba1","html_url":"https://github.com/jacquev6/PyGithub/commit/f5d8e221d116b74a200d87afca32247f01204ba1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f5d8e221d116b74a200d87afca32247f01204ba1/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"dc96fef052f2b5c6adb34da65169e8df3f35f611","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611","html_url":"https://github.com/jacquev6/PyGithub/commit/dc96fef052f2b5c6adb34da65169e8df3f35f611"}]},{"sha":"dc96fef052f2b5c6adb34da65169e8df3f35f611","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:10:31Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:10:31Z"},"message":"Publish version 1.13.1","tree":{"sha":"896d176ae82c743cf682613dd1f60fd03872a204","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/896d176ae82c743cf682613dd1f60fd03872a204"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611","html_url":"https://github.com/jacquev6/PyGithub/commit/dc96fef052f2b5c6adb34da65169e8df3f35f611","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dc96fef052f2b5c6adb34da65169e8df3f35f611/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"c85af79db11ed1d2f93261ea4069a23ff1709125","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c85af79db11ed1d2f93261ea4069a23ff1709125","html_url":"https://github.com/jacquev6/PyGithub/commit/c85af79db11ed1d2f93261ea4069a23ff1709125"}]},{"sha":"c85af79db11ed1d2f93261ea4069a23ff1709125","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:05:13Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-28T19:05:13Z"},"message":"Fix authentication with Python 3 (Issue #153)","tree":{"sha":"3e7ad916a818e36e729c706db36f94d3582d1a45","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/3e7ad916a818e36e729c706db36f94d3582d1a45"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/c85af79db11ed1d2f93261ea4069a23ff1709125","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c85af79db11ed1d2f93261ea4069a23ff1709125","html_url":"https://github.com/jacquev6/PyGithub/commit/c85af79db11ed1d2f93261ea4069a23ff1709125","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/c85af79db11ed1d2f93261ea4069a23ff1709125/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","html_url":"https://github.com/jacquev6/PyGithub/commit/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1"}]},{"sha":"0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-23T12:07:00Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-23T12:07:00Z"},"message":"List all versions of Python in setup.py","tree":{"sha":"65c78a73d849fa6decb239f069a7cd1e47dea330","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/65c78a73d849fa6decb239f069a7cd1e47dea330"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","html_url":"https://github.com/jacquev6/PyGithub/commit/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0dd1adb4f06f45d554d12083b312fcdb6f6be8d1/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"b7e4000450e89b8c6e947e3a1e52fb06da7c9621","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b7e4000450e89b8c6e947e3a1e52fb06da7c9621","html_url":"https://github.com/jacquev6/PyGithub/commit/b7e4000450e89b8c6e947e3a1e52fb06da7c9621"}]},{"sha":"b7e4000450e89b8c6e947e3a1e52fb06da7c9621","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T17:41:13Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T17:41:13Z"},"message":"Publish version 1.13.0","tree":{"sha":"d9ea78368ab68bb0696f5fe85e11b0f92ab2adf2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d9ea78368ab68bb0696f5fe85e11b0f92ab2adf2"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/b7e4000450e89b8c6e947e3a1e52fb06da7c9621","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b7e4000450e89b8c6e947e3a1e52fb06da7c9621","html_url":"https://github.com/jacquev6/PyGithub/commit/b7e4000450e89b8c6e947e3a1e52fb06da7c9621","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/b7e4000450e89b8c6e947e3a1e52fb06da7c9621/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1d9ad14fa918866c418067e774f65cede8e38682","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d9ad14fa918866c418067e774f65cede8e38682","html_url":"https://github.com/jacquev6/PyGithub/commit/1d9ad14fa918866c418067e774f65cede8e38682"}]},{"sha":"1d9ad14fa918866c418067e774f65cede8e38682","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T17:29:14Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T17:29:14Z"},"message":"Use bash for manage.sh","tree":{"sha":"69af02f3ea18c29ccfa5ca370ae2ec9f6fbb6c76","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/69af02f3ea18c29ccfa5ca370ae2ec9f6fbb6c76"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1d9ad14fa918866c418067e774f65cede8e38682","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d9ad14fa918866c418067e774f65cede8e38682","html_url":"https://github.com/jacquev6/PyGithub/commit/1d9ad14fa918866c418067e774f65cede8e38682","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1d9ad14fa918866c418067e774f65cede8e38682/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1bb05fef01d0a040cb2b931a4d44392784a2f0c1","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1bb05fef01d0a040cb2b931a4d44392784a2f0c1","html_url":"https://github.com/jacquev6/PyGithub/commit/1bb05fef01d0a040cb2b931a4d44392784a2f0c1"}]},{"sha":"1bb05fef01d0a040cb2b931a4d44392784a2f0c1","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T16:52:00Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-22T16:52:00Z"},"message":"Respect pep 8","tree":{"sha":"b16178379b74069e1fcdf21be9d2b8eddaddb7dd","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b16178379b74069e1fcdf21be9d2b8eddaddb7dd"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1bb05fef01d0a040cb2b931a4d44392784a2f0c1","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1bb05fef01d0a040cb2b931a4d44392784a2f0c1","html_url":"https://github.com/jacquev6/PyGithub/commit/1bb05fef01d0a040cb2b931a4d44392784a2f0c1","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1bb05fef01d0a040cb2b931a4d44392784a2f0c1/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","html_url":"https://github.com/jacquev6/PyGithub/commit/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71"}]},{"sha":"d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T23:33:13Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T23:33:13Z"},"message":"Fix tests for Python 2.5","tree":{"sha":"4d98111af3d18526aac214545cf0287267006386","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/4d98111af3d18526aac214545cf0287267006386"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","html_url":"https://github.com/jacquev6/PyGithub/commit/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/d9b29851ddccc907f71f1ae662e57f2cd7c7dc71/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f962bc71fee609cd54fe69c956c8b81703d2c19a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f962bc71fee609cd54fe69c956c8b81703d2c19a","html_url":"https://github.com/jacquev6/PyGithub/commit/f962bc71fee609cd54fe69c956c8b81703d2c19a"}]},{"sha":"f962bc71fee609cd54fe69c956c8b81703d2c19a","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T23:29:44Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T23:29:44Z"},"message":"Fix tests for Python 2.5","tree":{"sha":"01ab15ff86ef1982c489a3846b517957f78cd37a","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/01ab15ff86ef1982c489a3846b517957f78cd37a"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f962bc71fee609cd54fe69c956c8b81703d2c19a","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f962bc71fee609cd54fe69c956c8b81703d2c19a","html_url":"https://github.com/jacquev6/PyGithub/commit/f962bc71fee609cd54fe69c956c8b81703d2c19a","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f962bc71fee609cd54fe69c956c8b81703d2c19a/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"7a9c0b916c632be8d6a65bc1b6f558508f04bb22","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7a9c0b916c632be8d6a65bc1b6f558508f04bb22","html_url":"https://github.com/jacquev6/PyGithub/commit/7a9c0b916c632be8d6a65bc1b6f558508f04bb22"}]},{"sha":"7a9c0b916c632be8d6a65bc1b6f558508f04bb22","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T22:18:21Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T22:18:21Z"},"message":"Fix tests on Python 3.3 (issue #149)\n\nThe output order of dicts has changed","tree":{"sha":"b499288aa4cb3222bc9b8997386b71748c1d5967","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b499288aa4cb3222bc9b8997386b71748c1d5967"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/7a9c0b916c632be8d6a65bc1b6f558508f04bb22","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7a9c0b916c632be8d6a65bc1b6f558508f04bb22","html_url":"https://github.com/jacquev6/PyGithub/commit/7a9c0b916c632be8d6a65bc1b6f558508f04bb22","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7a9c0b916c632be8d6a65bc1b6f558508f04bb22/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"82ce7b1ee30d308b48bdac6d8737dbca70500462","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82ce7b1ee30d308b48bdac6d8737dbca70500462","html_url":"https://github.com/jacquev6/PyGithub/commit/82ce7b1ee30d308b48bdac6d8737dbca70500462"}]},{"sha":"82ce7b1ee30d308b48bdac6d8737dbca70500462","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T21:06:24Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T21:06:24Z"},"message":"Fix tests for Python 3.2 on Windows","tree":{"sha":"7766488284c248fa005be568fba13578b53e588d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/7766488284c248fa005be568fba13578b53e588d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/82ce7b1ee30d308b48bdac6d8737dbca70500462","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82ce7b1ee30d308b48bdac6d8737dbca70500462","html_url":"https://github.com/jacquev6/PyGithub/commit/82ce7b1ee30d308b48bdac6d8737dbca70500462","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82ce7b1ee30d308b48bdac6d8737dbca70500462/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","html_url":"https://github.com/jacquev6/PyGithub/commit/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8"}]},{"sha":"1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T21:05:37Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T21:05:37Z"},"message":"Reduce 2to3 differences","tree":{"sha":"044b5937a2fa1a5628285e202c2b6c8b36e47ee6","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/044b5937a2fa1a5628285e202c2b6c8b36e47ee6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","html_url":"https://github.com/jacquev6/PyGithub/commit/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"a397fac6db9f87a903ec3ede9643cb2b4224ed82","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a397fac6db9f87a903ec3ede9643cb2b4224ed82","html_url":"https://github.com/jacquev6/PyGithub/commit/a397fac6db9f87a903ec3ede9643cb2b4224ed82"}]},{"sha":"a397fac6db9f87a903ec3ede9643cb2b4224ed82","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T20:56:51Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T20:56:51Z"},"message":"Fix doc for raw_data (issue #144)","tree":{"sha":"b34aedcd0170643aa079001a153529b9fe5e1721","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b34aedcd0170643aa079001a153529b9fe5e1721"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a397fac6db9f87a903ec3ede9643cb2b4224ed82","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a397fac6db9f87a903ec3ede9643cb2b4224ed82","html_url":"https://github.com/jacquev6/PyGithub/commit/a397fac6db9f87a903ec3ede9643cb2b4224ed82","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a397fac6db9f87a903ec3ede9643cb2b4224ed82/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"109495175e926731703a55cafd8b542a07366513","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/109495175e926731703a55cafd8b542a07366513","html_url":"https://github.com/jacquev6/PyGithub/commit/109495175e926731703a55cafd8b542a07366513"}]},{"sha":"109495175e926731703a55cafd8b542a07366513","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T20:45:43Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-21T20:45:43Z"},"message":"Fix doc of properties of class Github","tree":{"sha":"d0812970ee60eac5678a17f0b1752cd9360e2c83","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d0812970ee60eac5678a17f0b1752cd9360e2c83"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/109495175e926731703a55cafd8b542a07366513","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/109495175e926731703a55cafd8b542a07366513","html_url":"https://github.com/jacquev6/PyGithub/commit/109495175e926731703a55cafd8b542a07366513","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/109495175e926731703a55cafd8b542a07366513/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"da6bbdb69485fc3256030d8296589d4c2fb5df21","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/da6bbdb69485fc3256030d8296589d4c2fb5df21","html_url":"https://github.com/jacquev6/PyGithub/commit/da6bbdb69485fc3256030d8296589d4c2fb5df21"}]},{"sha":"da6bbdb69485fc3256030d8296589d4c2fb5df21","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T22:14:29Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T22:14:29Z"},"message":"Merge branch 'topic/Notifications' into develop","tree":{"sha":"fad8d647e1942ccfc5ce0f6a1c15193b11bd5d54","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/fad8d647e1942ccfc5ce0f6a1c15193b11bd5d54"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/da6bbdb69485fc3256030d8296589d4c2fb5df21","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/da6bbdb69485fc3256030d8296589d4c2fb5df21","html_url":"https://github.com/jacquev6/PyGithub/commit/da6bbdb69485fc3256030d8296589d4c2fb5df21","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/da6bbdb69485fc3256030d8296589d4c2fb5df21/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"34c18342dcce9697abc6f522c3506485202e6e7e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/34c18342dcce9697abc6f522c3506485202e6e7e","html_url":"https://github.com/jacquev6/PyGithub/commit/34c18342dcce9697abc6f522c3506485202e6e7e"},{"sha":"ee29deddd27480401db484733ecde9e7b1df5eda","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ee29deddd27480401db484733ecde9e7b1df5eda","html_url":"https://github.com/jacquev6/PyGithub/commit/ee29deddd27480401db484733ecde9e7b1df5eda"}]},{"sha":"34c18342dcce9697abc6f522c3506485202e6e7e","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:37:30Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:37:30Z"},"message":"Merge branch 'topic/ExposeRawData' into develop","tree":{"sha":"a8debc5ced39b2846b129f7876d7b09708cef77b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a8debc5ced39b2846b129f7876d7b09708cef77b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/34c18342dcce9697abc6f522c3506485202e6e7e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/34c18342dcce9697abc6f522c3506485202e6e7e","html_url":"https://github.com/jacquev6/PyGithub/commit/34c18342dcce9697abc6f522c3506485202e6e7e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/34c18342dcce9697abc6f522c3506485202e6e7e/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"5d02de6f82a36753a2d715dd8875fc5c60e4cef6","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5d02de6f82a36753a2d715dd8875fc5c60e4cef6","html_url":"https://github.com/jacquev6/PyGithub/commit/5d02de6f82a36753a2d715dd8875fc5c60e4cef6"},{"sha":"040f024cf4bbbebe4dfe35d29854f398a0e2117e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/040f024cf4bbbebe4dfe35d29854f398a0e2117e","html_url":"https://github.com/jacquev6/PyGithub/commit/040f024cf4bbbebe4dfe35d29854f398a0e2117e"}]},{"sha":"ee29deddd27480401db484733ecde9e7b1df5eda","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:36:35Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:36:35Z"},"message":"Complete doc/apis.rst (pull #148)","tree":{"sha":"89260e5c29aca09e440e2a3989017cc194b47bcc","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/89260e5c29aca09e440e2a3989017cc194b47bcc"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ee29deddd27480401db484733ecde9e7b1df5eda","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ee29deddd27480401db484733ecde9e7b1df5eda","html_url":"https://github.com/jacquev6/PyGithub/commit/ee29deddd27480401db484733ecde9e7b1df5eda","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ee29deddd27480401db484733ecde9e7b1df5eda/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","html_url":"https://github.com/jacquev6/PyGithub/commit/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32"}]}] - -https -GET -api.github.com -None -/repositories/3544490/commits?since=2013-03-01T00%3A00%3A00Z&until=2013-03-31T00%3A00%3A00Z&top=master&last_sha=ee29deddd27480401db484733ecde9e7b1df5eda -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '54863'), ('server', 'GitHub.com'), ('last-modified', 'Tue, 19 Mar 2013 21:07:42 GMT'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first"'), ('etag', '"8258d1301946e26d0951ed19a62b5770"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 19 Aug 2013 21:23:00 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1376950974')] -[{"sha":"0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:07:42Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:07:42Z"},"message":"Improve test coverage (pull #148)","tree":{"sha":"1abc0c2cec68aa8cb836475de9a38d6dad198dff","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1abc0c2cec68aa8cb836475de9a38d6dad198dff"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","html_url":"https://github.com/jacquev6/PyGithub/commit/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","html_url":"https://github.com/jacquev6/PyGithub/commit/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e"}]},{"sha":"edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:07:29Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T21:07:29Z"},"message":"Move get_notification(s) to AuthenticatedUser (pull #148)","tree":{"sha":"947fbb709f47ea922ee93babdba30035970ab36b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/947fbb709f47ea922ee93babdba30035970ab36b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","html_url":"https://github.com/jacquev6/PyGithub/commit/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/edcf40bc7f25d1aff5c404406fbb37ad1bcf691e/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"f25c54e1d4eefb11c18f3de85270a4b19edea3ce","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f25c54e1d4eefb11c18f3de85270a4b19edea3ce","html_url":"https://github.com/jacquev6/PyGithub/commit/f25c54e1d4eefb11c18f3de85270a4b19edea3ce"}]},{"sha":"f25c54e1d4eefb11c18f3de85270a4b19edea3ce","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T20:27:34Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T20:27:34Z"},"message":"Fix documentation (pull #148)\n\nI had to separate class NotificationSubject in its own file, to cope\nwith my basic doc generation.","tree":{"sha":"66997949fd7a929bf1b2ae0d1d9bea09eab0e743","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/66997949fd7a929bf1b2ae0d1d9bea09eab0e743"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/f25c54e1d4eefb11c18f3de85270a4b19edea3ce","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f25c54e1d4eefb11c18f3de85270a4b19edea3ce","html_url":"https://github.com/jacquev6/PyGithub/commit/f25c54e1d4eefb11c18f3de85270a4b19edea3ce","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/f25c54e1d4eefb11c18f3de85270a4b19edea3ce/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"23d668f11bdd806a871e0979bf5295d001f66ef2","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/23d668f11bdd806a871e0979bf5295d001f66ef2","html_url":"https://github.com/jacquev6/PyGithub/commit/23d668f11bdd806a871e0979bf5295d001f66ef2"}]},{"sha":"23d668f11bdd806a871e0979bf5295d001f66ef2","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T20:26:28Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-19T20:26:28Z"},"message":"Remove debug print (pull #148)","tree":{"sha":"72c53c895578a8fd7ce3686de239e4817bdac4ab","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/72c53c895578a8fd7ce3686de239e4817bdac4ab"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/23d668f11bdd806a871e0979bf5295d001f66ef2","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/23d668f11bdd806a871e0979bf5295d001f66ef2","html_url":"https://github.com/jacquev6/PyGithub/commit/23d668f11bdd806a871e0979bf5295d001f66ef2","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/23d668f11bdd806a871e0979bf5295d001f66ef2/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"50a243671f1fa139cb1186c4a44c1e96b8cd5749","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50a243671f1fa139cb1186c4a44c1e96b8cd5749","html_url":"https://github.com/jacquev6/PyGithub/commit/50a243671f1fa139cb1186c4a44c1e96b8cd5749"}]},{"sha":"50a243671f1fa139cb1186c4a44c1e96b8cd5749","commit":{"author":{"name":"Peter Golm","email":"golm.peter@gmail.com","date":"2013-03-16T16:35:08Z"},"committer":{"name":"Peter Golm","email":"golm.peter@gmail.com","date":"2013-03-16T16:35:08Z"},"message":"Merge remote-tracking branch 'origin/develop' into NotificationAPI","tree":{"sha":"8f94dd4410d42c8f3d5d6429da010b782e894213","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/8f94dd4410d42c8f3d5d6429da010b782e894213"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/50a243671f1fa139cb1186c4a44c1e96b8cd5749","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50a243671f1fa139cb1186c4a44c1e96b8cd5749","html_url":"https://github.com/jacquev6/PyGithub/commit/50a243671f1fa139cb1186c4a44c1e96b8cd5749","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/50a243671f1fa139cb1186c4a44c1e96b8cd5749/comments","author":{"login":"pgolm","id":1444194,"avatar_url":"https://2.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https%3A%2F%2Fidenticons.github.com%2F57b229318d141b9912e2aa86fa75f97f.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"committer":{"login":"pgolm","id":1444194,"avatar_url":"https://2.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https%3A%2F%2Fidenticons.github.com%2F57b229318d141b9912e2aa86fa75f97f.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"parents":[{"sha":"6a3a384fd0decac1203db6c2bddc58039b0390bc","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6a3a384fd0decac1203db6c2bddc58039b0390bc","html_url":"https://github.com/jacquev6/PyGithub/commit/6a3a384fd0decac1203db6c2bddc58039b0390bc"},{"sha":"82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","html_url":"https://github.com/jacquev6/PyGithub/commit/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f"}]},{"sha":"6a3a384fd0decac1203db6c2bddc58039b0390bc","commit":{"author":{"name":"Peter Golm","email":"golm.peter@gmail.com","date":"2013-03-16T16:28:56Z"},"committer":{"name":"Peter Golm","email":"golm.peter@gmail.com","date":"2013-03-16T16:28:56Z"},"message":"this fixes #108","tree":{"sha":"8c3c3fafcad82f526f7dbf68bfa5a969e089a4ba","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/8c3c3fafcad82f526f7dbf68bfa5a969e089a4ba"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6a3a384fd0decac1203db6c2bddc58039b0390bc","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6a3a384fd0decac1203db6c2bddc58039b0390bc","html_url":"https://github.com/jacquev6/PyGithub/commit/6a3a384fd0decac1203db6c2bddc58039b0390bc","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6a3a384fd0decac1203db6c2bddc58039b0390bc/comments","author":{"login":"pgolm","id":1444194,"avatar_url":"https://2.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https%3A%2F%2Fidenticons.github.com%2F57b229318d141b9912e2aa86fa75f97f.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"committer":{"login":"pgolm","id":1444194,"avatar_url":"https://2.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https%3A%2F%2Fidenticons.github.com%2F57b229318d141b9912e2aa86fa75f97f.png","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User"},"parents":[{"sha":"03a256a4052cacea998d8205a83d5b5465f31e18","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03a256a4052cacea998d8205a83d5b5465f31e18","html_url":"https://github.com/jacquev6/PyGithub/commit/03a256a4052cacea998d8205a83d5b5465f31e18"}]},{"sha":"82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:27:12Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:27:12Z"},"message":"dos2unix","tree":{"sha":"d4875bc05568315fed5deace26e63a4b5e6c520f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/d4875bc05568315fed5deace26e63a4b5e6c520f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","html_url":"https://github.com/jacquev6/PyGithub/commit/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"6ac783974d3985dd0c162c1e8d1150615cc0082e","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6ac783974d3985dd0c162c1e8d1150615cc0082e","html_url":"https://github.com/jacquev6/PyGithub/commit/6ac783974d3985dd0c162c1e8d1150615cc0082e"}]},{"sha":"6ac783974d3985dd0c162c1e8d1150615cc0082e","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:26:34Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:26:34Z"},"message":"Use assertTrue and assertFalse where applicable","tree":{"sha":"e4eb64be8c5d729b3891cda01a2a1ae7e221e31c","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e4eb64be8c5d729b3891cda01a2a1ae7e221e31c"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6ac783974d3985dd0c162c1e8d1150615cc0082e","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6ac783974d3985dd0c162c1e8d1150615cc0082e","html_url":"https://github.com/jacquev6/PyGithub/commit/6ac783974d3985dd0c162c1e8d1150615cc0082e","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6ac783974d3985dd0c162c1e8d1150615cc0082e/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","html_url":"https://github.com/jacquev6/PyGithub/commit/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6"}]},{"sha":"0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:17:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:17:33Z"},"message":"Merge branch 'topic/PaginatedListPerPage' into develop","tree":{"sha":"652285e28342a2da2086a62e724b6ed2a168afcf","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/652285e28342a2da2086a62e724b6ed2a168afcf"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","html_url":"https://github.com/jacquev6/PyGithub/commit/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"4f1780f427eba400cbc06897e69eda0ecdecd887","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1780f427eba400cbc06897e69eda0ecdecd887","html_url":"https://github.com/jacquev6/PyGithub/commit/4f1780f427eba400cbc06897e69eda0ecdecd887"},{"sha":"e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","html_url":"https://github.com/jacquev6/PyGithub/commit/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd"}]},{"sha":"e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-11T21:23:33Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T11:01:41Z"},"message":"Add Github.per_page to tweak PaginatedList (Issue #145)","tree":{"sha":"652285e28342a2da2086a62e724b6ed2a168afcf","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/652285e28342a2da2086a62e724b6ed2a168afcf"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","html_url":"https://github.com/jacquev6/PyGithub/commit/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"4f1780f427eba400cbc06897e69eda0ecdecd887","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1780f427eba400cbc06897e69eda0ecdecd887","html_url":"https://github.com/jacquev6/PyGithub/commit/4f1780f427eba400cbc06897e69eda0ecdecd887"}]},{"sha":"4f1780f427eba400cbc06897e69eda0ecdecd887","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T10:59:37Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-14T10:59:37Z"},"message":"Merge branch 'topic/FixPythonVersions' into develop","tree":{"sha":"db911b11ccf50b20273c8062a574aaba3fa6b7be","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/db911b11ccf50b20273c8062a574aaba3fa6b7be"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4f1780f427eba400cbc06897e69eda0ecdecd887","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1780f427eba400cbc06897e69eda0ecdecd887","html_url":"https://github.com/jacquev6/PyGithub/commit/4f1780f427eba400cbc06897e69eda0ecdecd887","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4f1780f427eba400cbc06897e69eda0ecdecd887/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"03a256a4052cacea998d8205a83d5b5465f31e18","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03a256a4052cacea998d8205a83d5b5465f31e18","html_url":"https://github.com/jacquev6/PyGithub/commit/03a256a4052cacea998d8205a83d5b5465f31e18"},{"sha":"28648a51a15e430b85d6fe8f2514e1cb06bc76b8","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28648a51a15e430b85d6fe8f2514e1cb06bc76b8","html_url":"https://github.com/jacquev6/PyGithub/commit/28648a51a15e430b85d6fe8f2514e1cb06bc76b8"}]},{"sha":"28648a51a15e430b85d6fe8f2514e1cb06bc76b8","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-12T09:25:15Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-12T09:25:15Z"},"message":"Fix for Python 2.5","tree":{"sha":"db911b11ccf50b20273c8062a574aaba3fa6b7be","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/db911b11ccf50b20273c8062a574aaba3fa6b7be"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/28648a51a15e430b85d6fe8f2514e1cb06bc76b8","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28648a51a15e430b85d6fe8f2514e1cb06bc76b8","html_url":"https://github.com/jacquev6/PyGithub/commit/28648a51a15e430b85d6fe8f2514e1cb06bc76b8","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/28648a51a15e430b85d6fe8f2514e1cb06bc76b8/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"a39f421ca24bd7aae984f8703159c7e30798a121","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39f421ca24bd7aae984f8703159c7e30798a121","html_url":"https://github.com/jacquev6/PyGithub/commit/a39f421ca24bd7aae984f8703159c7e30798a121"}]},{"sha":"a39f421ca24bd7aae984f8703159c7e30798a121","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-12T09:16:06Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-12T09:16:06Z"},"message":"Avoid confusion between github/ and Github.py on case-insensitive file systems (#143)","tree":{"sha":"b54edada88d20ca770ccaf2f209b7b3a5753a54f","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/b54edada88d20ca770ccaf2f209b7b3a5753a54f"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39f421ca24bd7aae984f8703159c7e30798a121","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39f421ca24bd7aae984f8703159c7e30798a121","html_url":"https://github.com/jacquev6/PyGithub/commit/a39f421ca24bd7aae984f8703159c7e30798a121","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39f421ca24bd7aae984f8703159c7e30798a121/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"86fe370b97b62548317cb35bc02ece3fabb7fa03","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/86fe370b97b62548317cb35bc02ece3fabb7fa03","html_url":"https://github.com/jacquev6/PyGithub/commit/86fe370b97b62548317cb35bc02ece3fabb7fa03"}]},{"sha":"86fe370b97b62548317cb35bc02ece3fabb7fa03","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:47:22Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:47:22Z"},"message":"Merge branch 'master' into develop","tree":{"sha":"463b765c51f71b1448ecfc92632cea699c363303","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/463b765c51f71b1448ecfc92632cea699c363303"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/86fe370b97b62548317cb35bc02ece3fabb7fa03","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/86fe370b97b62548317cb35bc02ece3fabb7fa03","html_url":"https://github.com/jacquev6/PyGithub/commit/86fe370b97b62548317cb35bc02ece3fabb7fa03","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/86fe370b97b62548317cb35bc02ece3fabb7fa03/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"fc491bfdb6935d98df983006c929f7962712576c","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/fc491bfdb6935d98df983006c929f7962712576c","html_url":"https://github.com/jacquev6/PyGithub/commit/fc491bfdb6935d98df983006c929f7962712576c"},{"sha":"03a256a4052cacea998d8205a83d5b5465f31e18","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03a256a4052cacea998d8205a83d5b5465f31e18","html_url":"https://github.com/jacquev6/PyGithub/commit/03a256a4052cacea998d8205a83d5b5465f31e18"}]},{"sha":"03a256a4052cacea998d8205a83d5b5465f31e18","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:44:25Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:44:25Z"},"message":"Publish version 1.12.2","tree":{"sha":"710f92971992e7d33426921172fcb2527a7f608d","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/710f92971992e7d33426921172fcb2527a7f608d"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/03a256a4052cacea998d8205a83d5b5465f31e18","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03a256a4052cacea998d8205a83d5b5465f31e18","html_url":"https://github.com/jacquev6/PyGithub/commit/03a256a4052cacea998d8205a83d5b5465f31e18","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/03a256a4052cacea998d8205a83d5b5465f31e18/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"9e6b086c2db5e4884484a04934f6f2e53e3f441b","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9e6b086c2db5e4884484a04934f6f2e53e3f441b","html_url":"https://github.com/jacquev6/PyGithub/commit/9e6b086c2db5e4884484a04934f6f2e53e3f441b"}]},{"sha":"9e6b086c2db5e4884484a04934f6f2e53e3f441b","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:35:50Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:35:50Z"},"message":"Remove a deprecation warning","tree":{"sha":"a8205550281bec9fde58bb7014df2a04c27b765b","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/a8205550281bec9fde58bb7014df2a04c27b765b"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/9e6b086c2db5e4884484a04934f6f2e53e3f441b","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9e6b086c2db5e4884484a04934f6f2e53e3f441b","html_url":"https://github.com/jacquev6/PyGithub/commit/9e6b086c2db5e4884484a04934f6f2e53e3f441b","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9e6b086c2db5e4884484a04934f6f2e53e3f441b/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"0ddb34d987b5a03813fdfa2fac13c933834a4804","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0ddb34d987b5a03813fdfa2fac13c933834a4804","html_url":"https://github.com/jacquev6/PyGithub/commit/0ddb34d987b5a03813fdfa2fac13c933834a4804"}]},{"sha":"0ddb34d987b5a03813fdfa2fac13c933834a4804","commit":{"author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:32:10Z"},"committer":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net","date":"2013-03-03T17:32:10Z"},"message":"Fix decoding on Python3 (bytes instead of str) (Issue #142)","tree":{"sha":"e00c7a4c3cbadbe2c00c8bc14425b3dcc410f629","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/e00c7a4c3cbadbe2c00c8bc14425b3dcc410f629"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0ddb34d987b5a03813fdfa2fac13c933834a4804","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0ddb34d987b5a03813fdfa2fac13c933834a4804","html_url":"https://github.com/jacquev6/PyGithub/commit/0ddb34d987b5a03813fdfa2fac13c933834a4804","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0ddb34d987b5a03813fdfa2fac13c933834a4804/comments","author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"committer":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User"},"parents":[{"sha":"67bdf8c0be32dc195a4545bf90100a1b55eebf45","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/67bdf8c0be32dc195a4545bf90100a1b55eebf45","html_url":"https://github.com/jacquev6/PyGithub/commit/67bdf8c0be32dc195a4545bf90100a1b55eebf45"}]}] - diff --git a/github/tests/ReplayData/Repository.testGetContentDir.txt b/github/tests/ReplayData/Repository.testGetContentDir.txt deleted file mode 100644 index 88b4895..0000000 --- a/github/tests/ReplayData/Repository.testGetContentDir.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/ -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '9998'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '01d096e6cfe28f8aea352e988c332cd3'), ('x-oauth-client-id', 'd408456562a3db38febf'), ('x-oauth-scopes', 'repo, write:repo_hook'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('x-accepted-oauth-scopes', ''), ('etag', '"c75510b6d23cfb87768b59121bb1763a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '5DE87F72:75F9:9EF346:57DA8E59'), ('last-modified', 'Thu, 15 Sep 2016 12:04:32 GMT'), ('date', 'Thu, 15 Sep 2016 12:04:42 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1473942365')] -[{"name":".gitignore","path":".gitignore","sha":"43d495ed8185348ef800ccd768bf9eb47eea433b","size":2036,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/.gitignore?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/.gitignore","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/43d495ed8185348ef800ccd768bf9eb47eea433b","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/.gitignore","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/.gitignore?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/43d495ed8185348ef800ccd768bf9eb47eea433b","html":"https://github.com/jayfk/PyGithub/blob/master/.gitignore"}},{"name":".travis.yml","path":".travis.yml","sha":"5b7b29ac787f3a535eff409592ef40ccd04595d8","size":494,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/.travis.yml?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/.travis.yml","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/5b7b29ac787f3a535eff409592ef40ccd04595d8","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/.travis.yml","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/.travis.yml?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/5b7b29ac787f3a535eff409592ef40ccd04595d8","html":"https://github.com/jayfk/PyGithub/blob/master/.travis.yml"}},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","sha":"138fa737b13a13582bf53acea7ee534aa197328a","size":2424,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/CONTRIBUTING.md?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/CONTRIBUTING.md","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/138fa737b13a13582bf53acea7ee534aa197328a","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/CONTRIBUTING.md","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/CONTRIBUTING.md?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/138fa737b13a13582bf53acea7ee534aa197328a","html":"https://github.com/jayfk/PyGithub/blob/master/CONTRIBUTING.md"}},{"name":"COPYING","path":"COPYING","sha":"94a9ed024d3859793618152ea559a168bbcbb5e2","size":35147,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/COPYING?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/COPYING","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/94a9ed024d3859793618152ea559a168bbcbb5e2","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/COPYING","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/COPYING?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/94a9ed024d3859793618152ea559a168bbcbb5e2","html":"https://github.com/jayfk/PyGithub/blob/master/COPYING"}},{"name":"COPYING.LESSER","path":"COPYING.LESSER","sha":"65c5ca88a67c30becee01c5a8816d964b03862f9","size":7651,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/COPYING.LESSER?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/COPYING.LESSER","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/65c5ca88a67c30becee01c5a8816d964b03862f9","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/COPYING.LESSER","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/COPYING.LESSER?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/65c5ca88a67c30becee01c5a8816d964b03862f9","html":"https://github.com/jayfk/PyGithub/blob/master/COPYING.LESSER"}},{"name":"MAINTAINERS","path":"MAINTAINERS","sha":"f8cbd3bbeba08404099c4bc57135b7d21b9e5616","size":216,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/MAINTAINERS?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/MAINTAINERS","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/f8cbd3bbeba08404099c4bc57135b7d21b9e5616","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/MAINTAINERS","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/MAINTAINERS?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/f8cbd3bbeba08404099c4bc57135b7d21b9e5616","html":"https://github.com/jayfk/PyGithub/blob/master/MAINTAINERS"}},{"name":"MANIFEST.in","path":"MANIFEST.in","sha":"501859533a9b38d0705e5c8cab4380610d574dd7","size":35,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/MANIFEST.in?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/MANIFEST.in","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/501859533a9b38d0705e5c8cab4380610d574dd7","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/MANIFEST.in","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/MANIFEST.in?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/501859533a9b38d0705e5c8cab4380610d574dd7","html":"https://github.com/jayfk/PyGithub/blob/master/MANIFEST.in"}},{"name":"README.md","path":"README.md","sha":"ae065a7ba88a6614cb0a8cdbe5bd58a317654548","size":1570,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/README.md?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/README.md","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/ae065a7ba88a6614cb0a8cdbe5bd58a317654548","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/README.md","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/README.md?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/ae065a7ba88a6614cb0a8cdbe5bd58a317654548","html":"https://github.com/jayfk/PyGithub/blob/master/README.md"}},{"name":"doc","path":"doc","sha":"42cda5799d4f5668c7d59e17c1593debe6410f7f","size":0,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/doc?ref=master","html_url":"https://github.com/jayfk/PyGithub/tree/master/doc","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/trees/42cda5799d4f5668c7d59e17c1593debe6410f7f","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/doc?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/trees/42cda5799d4f5668c7d59e17c1593debe6410f7f","html":"https://github.com/jayfk/PyGithub/tree/master/doc"}},{"name":"github","path":"github","sha":"357dd749e9f089b6fc1a7437326d75dc2700eb3e","size":0,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/github?ref=master","html_url":"https://github.com/jayfk/PyGithub/tree/master/github","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/trees/357dd749e9f089b6fc1a7437326d75dc2700eb3e","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/github?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/trees/357dd749e9f089b6fc1a7437326d75dc2700eb3e","html":"https://github.com/jayfk/PyGithub/tree/master/github"}},{"name":"manage.sh","path":"manage.sh","sha":"8ce7c88318a3cc25f368d7a43e69a41b8460e68f","size":2582,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/manage.sh?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/manage.sh","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/8ce7c88318a3cc25f368d7a43e69a41b8460e68f","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/manage.sh","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/manage.sh?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/8ce7c88318a3cc25f368d7a43e69a41b8460e68f","html":"https://github.com/jayfk/PyGithub/blob/master/manage.sh"}},{"name":"python25-requirements.txt","path":"python25-requirements.txt","sha":"322630ee75f32576be6c69b4de9deb73cddc430c","size":11,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/python25-requirements.txt?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/python25-requirements.txt","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/322630ee75f32576be6c69b4de9deb73cddc430c","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/python25-requirements.txt","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/python25-requirements.txt?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/322630ee75f32576be6c69b4de9deb73cddc430c","html":"https://github.com/jayfk/PyGithub/blob/master/python25-requirements.txt"}},{"name":"scripts","path":"scripts","sha":"95e3c1f29331e6de4c3833022fb1a78ef039bb6f","size":0,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/scripts?ref=master","html_url":"https://github.com/jayfk/PyGithub/tree/master/scripts","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/trees/95e3c1f29331e6de4c3833022fb1a78ef039bb6f","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/scripts?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/trees/95e3c1f29331e6de4c3833022fb1a78ef039bb6f","html":"https://github.com/jayfk/PyGithub/tree/master/scripts"}},{"name":"setup.py","path":"setup.py","sha":"75a4afa35995089741a2089c5356e2b1af3d85cd","size":4094,"url":"https://api.github.com/repos/jayfk/PyGithub/contents/setup.py?ref=master","html_url":"https://github.com/jayfk/PyGithub/blob/master/setup.py","git_url":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/75a4afa35995089741a2089c5356e2b1af3d85cd","download_url":"https://raw.githubusercontent.com/jayfk/PyGithub/master/setup.py","type":"file","_links":{"self":"https://api.github.com/repos/jayfk/PyGithub/contents/setup.py?ref=master","git":"https://api.github.com/repos/jayfk/PyGithub/git/blobs/75a4afa35995089741a2089c5356e2b1af3d85cd","html":"https://github.com/jayfk/PyGithub/blob/master/setup.py"}}] - diff --git a/github/tests/ReplayData/Repository.testGetContents.txt b/github/tests/ReplayData/Repository.testGetContents.txt deleted file mode 100644 index 24662a8..0000000 --- a/github/tests/ReplayData/Repository.testGetContents.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/readme -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '10787'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","sha":"5628799a7d517a4aaa0c1a7004d07569cd154df0","path":"ReadMe.md","encoding":"base64","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/ReadMe.md","html":"https://github.com/jacquev6/PyGithub/blob/master/ReadMe.md","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5628799a7d517a4aaa0c1a7004d07569cd154df0"},"content":"VGhpcyBpcyBhIFB5dGhvbiBsaWJyYXJ5IHRvIGFjY2VzcyB0aGUgW0dpdGh1\nYiBBUEkgdjNdKGh0dHA6Ly9kZXZlbG9wZXIuZ2l0aHViLmNvbS92MykuCgpX\naXRoIGl0LCB5b3UgY2FuIG1hbmFnZSB5b3VyIFtHaXRodWJdKGh0dHA6Ly9n\naXRodWIuY29tKSByZXNvdXJjZXMgKHJlcG9zaXRvcmllcywgdXNlciBwcm9m\naWxlcywgb3JnYW5pemF0aW9ucywgZXRjLikgZnJvbSBQeXRob24gc2NyaXB0\ncy4KCkl0IGNvdmVycyB0aGUgKipmdWxsKiogQVBJLCBhbmQgYWxsIG1ldGhv\nZHMgYXJlIHRlc3RlZCBhZ2FpbnN0IHRoZSByZWFsIEdpdGh1YiBzaXRlLgoK\nU2hvdWxkIHlvdSBoYXZlIGFueSBxdWVzdGlvbiwgb3IgaWYgeW91IGZpbmQg\nYSBidWcsIG9yIGlmIHRoZXJlIGlzIHNvbWV0aGluZyB5b3UgY2FuIGRvIHdp\ndGggdGhlIEFQSSBidXQgbm90IHdpdGggUHlHaXRodWIsIHBsZWFzZSBbb3Bl\nbiBhbiBpc3N1ZV0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0\naHViL2lzc3VlcykuCgpQeUdpdGh1YiBpcyBzdGFibGUuIEkgd2lsbCBtYWlu\ndGFpbiBpdCB1cCB0byBkYXRlIHdpdGggdGhlIEFQSSwgYW5kIGZpeCBidWdz\nIGlmIGFueSwgYnV0IEkgZG9uJ3QgcGxhbiBuZXcgaGVhdnkgZGV2ZWxvcG1l\nbnRzLgoKRG93bmxvYWQgYW5kIGluc3RhbGwKPT09PT09PT09PT09PT09PT09\nPT0KClRoaXMgcGFja2FnZSBpcyBpbiB0aGUgW1B5dGhvbiBQYWNrYWdlIElu\nZGV4XShodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvUHlHaXRodWIpLCBz\nbyBgZWFzeV9pbnN0YWxsIFB5R2l0aHViYCBvciBgcGlwIGluc3RhbGwgUHlH\naXRodWJgIHNob3VsZCBiZSBlbm91Z2guCllvdSBjYW4gYWxzbyBjbG9uZSBp\ndCBvbiBbR2l0aHViXShodHRwOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdp\ndGh1YikuCgpUdXRvcmlhbAo9PT09PT09PQoKRmlyc3QgY3JlYXRlIGEgR2lo\ndHViIGluc3RhbmNlOgoKICAgIGZyb20gZ2l0aHViIGltcG9ydCBHaXRodWIK\nCiAgICBnID0gR2l0aHViKCAidXNlciIsICJwYXNzd29yZCIgKQoKVGhlbiBw\nbGF5IHdpdGggeW91ciBHaXRodWIgb2JqZWN0czoKCiAgICBmb3IgcmVwbyBp\nbiBnLmdldF91c2VyKCkuZ2V0X3JlcG9zKCk6CiAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgcmVwby5lZGl0KCBoYXNfd2lraSA9IEZhbHNlICkK\nCllvdSBjYW4gYWxzbyBjcmVhdGUgYSBHaXRodWIgaW5zdGFuY2Ugd2l0aCBh\nbiBPQXV0aCB0b2tlbjoKCiAgICBnID0gR2l0aHViKCB0b2tlbiApCgpPciB3\naXRob3V0IGF1dGhlbnRpY2F0aW9uOgoKICAgIGcgPSBHaXRodWIoKQoKTGlj\nZW5zaW5nCj09PT09PT09PQoKUHlHaXRodWIgaXMgZGlzdHJpYnV0ZWQgdW5k\nZXIgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5jZS4KU2Vl\nIGZpbGVzIENPUFlJTkcgYW5kIENPUFlJTkcuTEVTU0VSLCBhcyByZXF1ZXN0\nZWQgYnkgW0dOVV0oaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1o\nb3d0by5odG1sKS4KClByb2plY3RzIHVzaW5nIFB5R2l0aHViCj09PT09PT09\nPT09PT09PT09PT09PT09CgooW09wZW4gYW4gaXNzdWVdKGh0dHBzOi8vZ2l0\naHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXMpIGlmIHlvdSB3YW50\nIHRvIGJlIGxpc3RlZCBoZXJlLCBJJ2xsIGJlIGdsYWQgdG8gYWRkIHlvdXIg\ncHJvamVjdCkKCiogW1VwdmVydGVyXShodHRwczovL3VwdmVydGVyLmNvbSkg\naXMgYSB3ZWItYmFzZWQgc2NoZW1hdGljIGNhcHR1cmUgYW5kIFBDQiBsYXlv\ndXQgdG9vbCBmb3IgcGVvcGxlIHdobyBkZXNpZ24gZWxlY3Ryb25pY3MuIERl\nc2lnbmVycyBjYW4gYXR0YWNoIGEgR2l0aHViIHByb2plY3QgdG8gYW4gVXB2\nZXJ0ZXIgcHJvamVjdC4KKiBbVHJhdGlodWJpc10oaHR0cDovL3B5cGkucHl0\naG9uLm9yZy9weXBpL3RyYXRpaHViaXMvKSBjb252ZXJ0cyBUcmFjIHRpY2tl\ndHMgdG8gR2l0aHViIGlzc3VlcwoKSGlzdG9yeQo9PT09PT09CgpbVmVyc2lv\nbiAxLjVdKGh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9p\nc3N1ZXM/bWlsZXN0b25lPTkmc3RhdGU9Y2xvc2VkKSAoU2VwdGVtYmVyIDV0\naCwgMjAxMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEFkZCBhIHRpbWVvdXQgb3B0\naW9uLCB0aGFuayB5b3UgbXVjaCBbeG9iYjF0XShodHRwczovL2dpdGh1Yi5j\nb20veG9iYjF0KSBmb3IgdGhlIG1lcmdlIHJlcXVlc3QuICpUaGlzIGRyb3Bz\nIFB5dGhvbiAyLjUgc3VwcG9ydCouIEkgbWF5IGJlIGFibGUgdG8gcmVzdG9y\nZSBpdCBpbiBuZXh0IHZlcnNpb24uCiogSW1wbGVtZW50IGBSZXBvc2l0b3J5\nLmRlbGV0ZWAsIHRoYW5rIHlvdSBbcG1jaGVuXShodHRwczovL2dpdGh1Yi5j\nb20vcG1jaGVuKSBmb3IgYXNraW5nCgpbVmVyc2lvbiAxLjRdKGh0dHBzOi8v\nZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXM/bWlsZXN0b25l\nPTgmc3RhdGU9Y2xvc2VkKSAoQXVndXN0IDR0aCwgMjAxMikKLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tCgoqIEFsbG93IGNvbm5lY3Rpb24gdG8gYSBjdXN0b20gR2l0aHViIFVS\nTCwgZm9yIEdpdGh1YiBFbnRlcnByaXNlLCB0aGFuayB5b3UgdmVyeSBtdWNo\nIFtlbmdpZV0oaHR0cHM6Ly9naXRodWIuY29tL2VuZ2llKSBmb3IgdGhlIG1l\ncmdlIHJlcXVlc3QKCltWZXJzaW9uIDEuM10oaHR0cHM6Ly9naXRodWIuY29t\nL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9NyZzdGF0ZT1j\nbG9zZWQpIChKdWx5IDEzdGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEltcGxl\nbWVudCBbbWFya2Rvd24gcmVuZGVyaW5nXShodHRwOi8vZGV2ZWxvcGVyLmdp\ndGh1Yi5jb20vdjMvbWFya2Rvd24vKQoqIGBHaXRBdXRob3IuZGF0ZWAgaXMg\nbm93IGEgZGF0ZXRpbWUsIHRoYW5rIHlvdSBbYmlsZGVyYnVjaGldKGh0dHBz\nOi8vZ2l0aHViLmNvbS9iaWxkZXJidWNoaSkKKiBGaXggZG9jdW1lbnRhdGlv\nbiBvZiBgR2l0aHViLmdldF9naXN0YDogYGlkYCBpcyBhIHN0cmluZywgbm90\nIGFuIGludGVnZXIKCltWZXJzaW9uIDEuMl0oaHR0cHM6Ly9naXRodWIuY29t\nL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9NiZzdGF0ZT1j\nbG9zZWQpIChKdW5lIDI5dGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIEltcGxl\nbWVudCBbbGVnYWN5IHNlYXJjaCBBUElzXShodHRwOi8vZGV2ZWxvcGVyLmdp\ndGh1Yi5jb20vdjMvc2VhcmNoLyksIHRoYW5rIHlvdSBba3VrdXRzXShodHRw\nczovL2dpdGh1Yi5jb20va3VrdXRzKSBmb3IgdGVsbGluZyBtZSBHaXRodWIg\naGFkIHJlbGVhc2VkIHRoZW0KKiBGaXggYSBidWcgd2l0aCBpc3N1ZSBsYWJl\nbHMgY29udGFpbmluZyBzcGFjZXMsIHRoYW5rIHlvdSBbcGhpbGlwa2ltbWV5\nXShodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwa2ltbWV5KSBmb3IgZGV0ZWN0\naW5nIHRoZSBidWcgYW5kIGZpeGluZyBpdAoqIENsYXJpZnkgaG93IGNvbGxl\nY3Rpb25zIG9mIG9iamVjdHMgYXJlIHJldHVybmVkIGJ5IGBnZXRfKmAgbWV0\naG9kcywgdGhhbmsgeW91IFtiaWxkZXJidWNoaV0oaHR0cHM6Ly9naXRodWIu\nY29tL2JpbGRlcmJ1Y2hpKSBmb3IgYXNraW5nCgpWZXJzaW9uIDEuMSAoSnVu\nZSAyMHRoLCAyMDEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK\nKiBSZXN0b3JlIGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMi41LCB0aGFu\nayB5b3UgW3BtdWlsdV0oaHR0cHM6Ly9naXRodWIuY29tL3BtdWlsdSkKKiBV\nc2UgYHBhY2thZ2VfZGF0YWAgaW5zdGVhZCBvZiBgZGF0YV9maWxlc2AgZm9y\nIGRvY3VtZW50YXRpb24gZmlsZXMgaW4gYHNldHVwLnB5YCwgdGhhbmsgeW91\nIFttYWxleHddKGh0dHBzOi8vZ2l0aHViLmNvbS9tYWxleHcpIGZvciByZXBv\ncnRpbmcKCltWZXJzaW9uIDEuMF0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1\nZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9MiZzdGF0ZT1jbG9zZWQp\nIChKdW5lIDNyZCwgMjAxMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBDb21wbGV0ZSByZXdy\naXRlLCB3aXRoIG5vIG1vcmUgY29tcGxpY2F0ZWQgbWV0YS1kZXNjcmlwdGlv\nbgoqIEZ1bGwgdHlwaW5nIG9mIGF0dHJpYnV0ZXMgYW5kIHBhcmFtZXRlcnMK\nKiBGdWxsIGRvY3VtZW50YXRpb24gb2YgYXR0cmlidXRlcyBhbmQgcGFyYW1l\ndGVycwoqIE1vcmUgdXNhYmxlIGV4Y2VwdGlvbnMgcmFpc2VkIGluIGNhc2Ug\nb24gcHJvYmxlbXMgd2l0aCB0aGUgQVBJCiogU29tZSBidWdzIGFuZCBsaW1p\ndGF0aW9ucyBmaXhlZCwgc3BlY2lhbCB0aGFua3MgdG8gW2JpbGRlcmJ1Y2hp\nXShodHRwczovL2dpdGh1Yi5jb20vYmlsZGVyYnVjaGkpLCBbcm9za2Frb3Jp\nXShodHRwczovL2dpdGh1Yi5jb20vcm9za2Frb3JpKSBhbmQgW3RhbGxmb3Jh\nc211cmZdKGh0dHBzOi8vZ2l0aHViLmNvbS90YWxsZm9yYXNtdXJmKSBmb3Ig\ncmVwb3J0aW5nIHRoZW0hCgpbVmVyc2lvbiAwLjddKGh0dHBzOi8vZ2l0aHVi\nLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1ZXM/bWlsZXN0b25lPTUmc3Rh\ndGU9Y2xvc2VkKSAoTWF5IDI2dGgsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogVXNl\nIFB5R2l0aHViIHdpdGggT0F1dGggYXV0aGVudGljYXRpb24gb3Igd2l0aCBu\nbyBhdXRoZW50aWNhdGlvbiBhdCBhbGwKCltWZXJzaW9uIDAuNl0oaHR0cHM6\nLy9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxlc3Rv\nbmU9NCZzdGF0ZT1jbG9zZWQpIChBcHJpbCAxN3RoLCAyMDEyKQotLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0KCiogRml4IFtpc3N1ZSAyMV0oaHR0cHM6Ly9naXRodWIuY29tL2ph\nY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcy8yMSkgKEtleUVycm9yIHdoZW4gYWNj\nZXNzaW5nIHJlcG9zaXRvcmllcykKKiBSZS1jb21wbGV0ZWQgdGhlIEFQSSB3\naXRoIE5hbWVkVXNlci5jcmVhdGVfZ2lzdAoKCltWZXJzaW9uIDAuNV0oaHR0\ncHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0aHViL2lzc3Vlcz9taWxl\nc3RvbmU9MyZzdGF0ZT1jbG9zZWQpIChNYXJjaCAxOXRoLCAyMDEyKQotLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0KCiogTWFqb3IgYWNoaWV2ZW1lbnQ6ICoqYWxsIEFQSXMgYXJl\nIGltcGxlbWVudGVkKioKKiBNb3JlIHJlZmFjdG9yaW5nLCBvZiBjb3Vyc2UK\nCltWZXJzaW9uIDAuNF0oaHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5\nR2l0aHViL2lzc3Vlcz9taWxlc3RvbmU9MSZzdGF0ZT1jbG9zZWQpIChNYXJj\naCAxMnRoLCAyMDEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogVGhlIGxpc3Qgb2YgdGhl\nIG5vdCBpbXBsZW1lbnRlZCBBUElzIGlzIHNob3J0ZXIgdGhhbiB0aGUgbGlz\ndCBvZiB0aGUgaW1wbGVtZW50ZWQgQVBJcwoqIEFQSXMgKm5vdCBpbXBsZW1l\nbnRlZCo6CiAgICAqIEdFVCBgL2dpc3RzL3B1YmxpY2AKICAgICogR0VUIGAv\naXNzdWVzYAogICAgKiBHRVQgYC9yZXBvcy86dXNlci86cmVwby9jb21wYXJl\nLzpiYXNlLi4uOmhlYWRgCiAgICAqIEdFVCBgL3JlcG9zLzp1c2VyLzpyZXBv\nL2dpdC90cmVlcy86c2hhP3JlY3Vyc2l2ZT0xYAogICAgKiBQT1NUIGAvcmVw\nb3MvOnVzZXIvOnJlcG8vZ2l0L3RyZWVzP2Jhc2VfdHJlZT1gCiogR2lzdHMK\nKiBBdXRvcml6YXRpb25zCiogS2V5cwoqIEhvb2tzCiogRXZlbnRzCiogTWVy\nZ2UgcHVsbCByZXF1ZXN0cwoqIE1vcmUgcmVmYWN0b3JpbmcsIG9uZSBtb3Jl\nIHRpbWUKClZlcnNpb24gMC4zIChGZWJydWFyeSAyNnRoLCAyMDEyKQotLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogTW9yZSByZWZhY3Rv\ncmluZwoqIElzc3VlcywgbWlsZXN0b25lcyBhbmQgdGhlaXIgbGFiZWxzCiog\nTmFtZWRVc2VyOgogICAgKiBlbWFpbHMKKiBSZXBvc2l0b3J5OgogICAgKiBk\nb3dubG9hZHMKICAgICogdGFncywgYnJhbmNoZXMsIGNvbW1pdHMgYW5kIGNv\nbW1lbnRzIChub3QgdGhlIHNhbWUgYXMgIkdpdCBvYmplY3RzIiBvZiB2ZXJz\naW9uIDAuMikKICAgICogcHVsbCByZXF1ZXN0cyAobm8gYXV0b21hdGljIG1l\ncmdlIHlldCkKKiBBdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiB0aGUgcmVmZXJl\nbmNlIGRvY3VtZW50YXRpb24gb2YgY2xhc3Nlcywgd2l0aCBsZXNzICJzZWUg\nQVBJInMsIGFuZCBsZXNzIGVycm9ycwoKVmVyc2lvbiAwLjIgKEZlYnJ1YXJ5\nIDIzcmQsIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLQoKKiBSZWZhY3RvcmluZwoqIFRlYW1zIGRldGFpbHMgYW5kIG1vZGlmaWNh\ndGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAqIGxpc3QgdGVhbXMg\naW4gb3JnYW5pemF0aW9ucywgb24gcmVwb3NpdG9yaWVzCiogR2l0IG9iamVj\ndHMKICAgICogY3JlYXRlIGFuZCBnZXQgdGFncywgcmVmZXJlbmNlcywgY29t\nbWl0cywgdHJlZXMsIGJsb2JzCiAgICAqIGxpc3QgYW5kIGVkaXQgcmVmZXJl\nbmNlcwoKVmVyc2lvbiAwLjEgKEZlYnJ1YXJ5IDE5dGgsIDIwMTIpCi0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKKiBVc2VyIGRldGFpbHMg\nYW5kIG1vZGlmaWNhdGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAq\nIGZvbGxvd2VycywgZm9sbG93aW5nLCB3YXRjaGluZwogICAgKiBvcmdhbml6\nYXRpb25zCiAgICAqIHJlcG9zaXRvcmllcwoqIFJlcG9zaXRvcnkgZGV0YWls\ncyBhbmQgbW9kaWZpY2F0aW9uCiAgICAqIGJhc2ljIGF0dHJpYnV0ZXMKICAg\nICogZm9ya2luZwogICAgKiBjb2xsYWJvcmF0b3JzLCBjb250cmlidXRvcnMs\nIHdhdGNoZXJzCiogT3JnYW5pemF0aW9uIGRldGFpbHMgYW5kIG1vZGlmaWNh\ndGlvbgogICAgKiBiYXNpYyBhdHRyaWJ1dGVzCiAgICAqIG1lbWJlcnMgYW5k\nIHB1YmxpYyBtZW1iZXJzCg==\n","size":7531,"name":"ReadMe.md"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/ReferenceOfClasses.md -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '39214'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/ReferenceOfClasses.md","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b82d109eca7f58b32e6b3be6694578fa5451766b","html":"https://github.com/jacquev6/PyGithub/blob/master/doc/ReferenceOfClasses.md"},"type":"file","sha":"b82d109eca7f58b32e6b3be6694578fa5451766b","path":"doc/ReferenceOfClasses.md","encoding":"base64","size":28122,"name":"ReferenceOfClasses.md","content":"WW91IGRvbid0IG5vcm1hbHkgY3JlYXRlIGluc3RhbmNlcyBvZiBhbnkgY2xh\nc3MgYnV0IGBHaXRodWJgLgpZb3Ugb2J0YWluIGluc3RhbmNlcyB0aHJvdWdo\nIGNhbGxzIHRvIGBzZWFyY2hfYCwgYGdldF9gIGFuZCBgY3JlYXRlX2AgbWV0\naG9kcy4KCk1ldGhvZHMgcmV0dXJuaW5nIGFuICJpdGVyYXRvciBvZiBgU29t\nZVR5cGVgIiByZXR1cm4gYW4gaXRlcmF0b3Igd2hpY2ggeWllbGRzIGluc3Rh\nbmNlcyBvZiBgU29tZVR5cGVgLgpUaGlzIGltcGxlbWVudHMgbGF6eSBbcGFn\naW5hdGlvbiByZXF1ZXN0c10oaHR0cDovL2RldmVsb3Blci5naXRodWIuY29t\nL3YzLyNwYWdpbmF0aW9uKS4KWW91IGNhbiB1c2UgdGhpcyBpdGVyYXRvciBp\nbiBhIGBmb3IgZiBpbiB1c2VyLmdldF9mb2xsb3dlcnMoKTpgIGxvb3Agb3Ig\nd2l0aCBhbnkgW2l0ZXJ0b29sc10oaHR0cDovL2RvY3MucHl0aG9uLm9yZy9s\naWJyYXJ5L2l0ZXJ0b29scy5odG1sKSBmdW5jdGlvbnMsCmJ1dCB5b3UgY2Fu\nbm90IGtub3cgdGhlIG51bWJlciBvZiBvYmplY3RzIHJldHVybmVkIGJlZm9y\nZSB0aGUgZW5kIG9mIHRoZSBpdGVyYXRpb24uCklmIHRoYXQncyByZWFsbHkg\nd2hhdCB5b3UgbmVlZCwgeW91IGNhbnQgdXNlIGBsZW4oIGxpc3QoIHVzZXIu\nZ2V0X2ZvbGxvd2VycygpICkgKWAsIHdoaWNoIGRvZXMgYWxsIHRoZSByZXF1\nZXN0cyBuZWVkZWQgdG8gZW51bWVyYXRlIHRoZSB1c2VyJ3MgZm9sbG93ZXJz\nLgpOb3RlIHRoYXQgdGhlcmUgaXMgb2Z0ZW4gYW4gYXR0cmlidXRlIGdpdmlu\nZyB0aGlzIHZhbHVlIChpbiB0aGF0IGNhc2UgYHVzZXIuZm9sbG93ZXJzYCku\nCgpDbGFzcyBgR2l0aHViYAo9PT09PT09PT09PT09PQoKQ29uc3RydWN0ZWQg\nZnJvbSB1c2VyJ3MgbG9naW4gYW5kIHBhc3N3b3JkIG9yIE9BdXRoIHRva2Vu\nIG9yIG5vdGhpbmc6CgogICAgZyA9IEdpdGh1YiggbG9naW4sIHBhc3N3b3Jk\nICkKICAgIGcgPSBHaXRodWIoIHRva2VuICkKICAgIGcgPSBHaXRodWIoKQoK\nWW91IGNhbiBhZGQgYW4gYXJndW1lbnQgYGJhc2VfdXJsID0gImh0dHA6Ly9t\neS5lbnRlcnByaXNlLmNvbTo4MDgwL3BhdGgvdG8vZ2l0aHViImAgdG8gY29u\nbmVjdCB0byBhIGxvY2FsIGluc3RhbGwgb2YgR2l0aHViIChpZS4gR2l0aHVi\nIEVudGVycHJpc2UpLgpBbm90aGVyIGFyZ3VtZW50LCB0aGF0IGNhbiBiZSBw\nYXNzZWQgaXMgYHRpbWVvdXRgIHdoaWNoIGhhcyBkZWZhdWx0IHZhbHVlIGAx\nMGAuCgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgcmF0ZV9saW1pdGluZ2A6\nIHR1cGxlIG9mIHR3byBpbnRlZ2VyczogcmVtYWluaW5nIGFuZCBsaW1pdCwg\nYXMgZXhwbGFpbmVkIGluIFtSYXRlIExpbWl0aW5nXShodHRwOi8vZGV2ZWxv\ncGVyLmdpdGh1Yi5jb20vdjMvI3JhdGUtbGltaXRpbmcpCgpNZXRob2RzCi0t\nLS0tLS0KKiBgZ2V0X3VzZXIoKWA6IGBBdXRoZW50aWNhdGVkVXNlcmAKKiBg\nZ2V0X3VzZXIoIGxvZ2luIClgOiBgTmFtZWRVc2VyYAoqIGBnZXRfb3JnYW5p\nemF0aW9uKCBsb2dpbiApYDogYE9yZ2FuaXphdGlvbmAKKiBgZ2V0X2dpc3Qo\nIGlkIClgOiBgR2lzdGAKICAgICogYGlkYDogc3RyaW5nCiogYGdldF9naXN0\ncygpYDogaXRlcmF0b3Igb2YgYEdpc3RgCiogYHNlYXJjaF9yZXBvcygga2V5\nd29yZCApYDogaXRlcmF0b3Igb2YgYFJlcG9zaXRvcnlgCiogYGxlZ2FjeV9z\nZWFyY2hfcmVwb3MoIGtleXdvcmQsIFtsYW5ndWFnZV0gKWA6IGl0ZXJhdG9y\nIG9mIGBSZXBvc2l0b3J5YAogICAgKiBga2V5d29yZGA6IHN0cmluZwogICAg\nKiBgbGFuZ3VhZ2VgOiBzdHJpbmcKKiBgbGVnYWN5X3NlYXJjaF91c2Vycygg\na2V5d29yZCApYDogaXRlcmF0b3Igb2YgYE5hbWVkVXNlcmAKICAgICogYGtl\neXdvcmRgOiBzdHJpbmcKKiBgbGVnYWN5X3NlYXJjaF91c2VyX2J5X2VtYWls\nKCBlbWFpbCApYDogYE5hbWVkVXNlcmAKICAgICogYGVtYWlsYDogc3RyaW5n\nCiogYHJlbmRlcl9tYXJrZG93biggdGV4dCwgW2NvbnRleHRdIClgOiBzdHJp\nbmcKICAgICogYHRleHRgOiBzdHJpbmcKICAgICogYGNvbnRleHRgOiBgUmVw\nb3NpdG9yeWAKCkNsYXNzIGBHaXRodWJFeGNlcHRpb25gCj09PT09PT09PT09\nPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgc3RhdHVz\nYDogaW50ZWdlcgoqIGBkYXRhYDogZGljdAoKQ2xhc3MgYEF1dGhlbnRpY2F0\nZWRVc2VyYAo9PT09PT09PT09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVz\nCi0tLS0tLS0tLS0KKiBgYXZhdGFyX3VybGA6IHN0cmluZwoqIGBiaW9gOiBz\ndHJpbmcKKiBgYmxvZ2A6IHN0cmluZwoqIGBjb2xsYWJvcmF0b3JzYDogaW50\nZWdlcgoqIGBjb21wYW55YDogc3RyaW5nCiogYGNyZWF0ZWRfYXRgOiBkYXRl\ndGltZS5kYXRldGltZQoqIGBkaXNrX3VzYWdlYDogaW50ZWdlcgoqIGBlbWFp\nbGA6IHN0cmluZwoqIGBmb2xsb3dlcnNgOiBpbnRlZ2VyCiogYGZvbGxvd2lu\nZ2A6IGludGVnZXIKKiBgZ3JhdmF0YXJfaWRgOiBzdHJpbmcKKiBgaGlyZWFi\nbGVgOiBib29sCiogYGh0bWxfdXJsYDogc3RyaW5nCiogYGlkYDogaW50ZWdl\ncgoqIGBsb2NhdGlvbmA6IHN0cmluZwoqIGBsb2dpbmA6IHN0cmluZwoqIGBu\nYW1lYDogc3RyaW5nCiogYG93bmVkX3ByaXZhdGVfcmVwb3NgOiBpbnRlZ2Vy\nCiogYHBsYW5gOiBgUGxhbmAKKiBgcHJpdmF0ZV9naXN0c2A6IGludGVnZXIK\nKiBgcHVibGljX2dpc3RzYDogaW50ZWdlcgoqIGBwdWJsaWNfcmVwb3NgOiBp\nbnRlZ2VyCiogYHRvdGFsX3ByaXZhdGVfcmVwb3NgOiBpbnRlZ2VyCiogYHR5\ncGVgOiBzdHJpbmcKKiBgdXJsYDogc3RyaW5nCgpBdXRob3JpemF0aW9ucwot\nLS0tLS0tLS0tLS0tLQoqIGBjcmVhdGVfYXV0aG9yaXphdGlvbiggW3Njb3Bl\ncywgbm90ZSwgbm90ZV91cmxdIClgOiBgQXV0aG9yaXphdGlvbmAKICAgICog\nYHNjb3Blc2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAqIGBub3RlYDogc3RyaW5n\nCiAgICAqIGBub3RlX3VybGA6IHN0cmluZwoqIGBnZXRfYXV0aG9yaXphdGlv\nbiggaWQgKWA6IGBBdXRob3JpemF0aW9uYAogICAgKiBgaWRgOiBpbnRlZ2Vy\nCiogYGdldF9hdXRob3JpemF0aW9ucygpYDogaXRlcmF0b3Igb2YgYEF1dGhv\ncml6YXRpb25gCgpFbWFpbHMKLS0tLS0tCiogYGFkZF90b19lbWFpbHMoIGVt\nYWlsLCAuLi4gKWAKICAgICogYGVtYWlsYDogc3RyaW5nCiogYGdldF9lbWFp\nbHMoKWA6IGxpc3Qgb2Ygc3RyaW5nCiogYHJlbW92ZV9mcm9tX2VtYWlscygg\nZW1haWwsIC4uLiApYAogICAgKiBgZW1haWxgOiBzdHJpbmcKCkV2ZW50cwot\nLS0tLS0KKiBgZ2V0X2V2ZW50cygpYDogaXRlcmF0b3Igb2YgYEV2ZW50YAoq\nIGBnZXRfb3JnYW5pemF0aW9uX2V2ZW50cyggb3JnIClgOiBpdGVyYXRvciBv\nZiBgRXZlbnRgCiAgICAqIGBvcmdgOiBgT3JnYW5pemF0aW9uYAoKRm9sbG93\nZXJzCi0tLS0tLS0tLQoqIGBnZXRfZm9sbG93ZXJzKClgOiBpdGVyYXRvciBv\nZiBgTmFtZWRVc2VyYAoKRm9sbG93aW5nCi0tLS0tLS0tLQoqIGBhZGRfdG9f\nZm9sbG93aW5nKCBmb2xsb3dpbmcgKWAKICAgICogYGZvbGxvd2luZ2A6IGBO\nYW1lZFVzZXJgCiogYGdldF9mb2xsb3dpbmcoKWA6IGl0ZXJhdG9yIG9mIGBO\nYW1lZFVzZXJgCiogYGhhc19pbl9mb2xsb3dpbmcoIGZvbGxvd2luZyApYDog\nYm9vbAogICAgKiBgZm9sbG93aW5nYDogYE5hbWVkVXNlcmAKKiBgcmVtb3Zl\nX2Zyb21fZm9sbG93aW5nKCBmb2xsb3dpbmcgKWAKICAgICogYGZvbGxvd2lu\nZ2A6IGBOYW1lZFVzZXJgCgpGb3JraW5nCi0tLS0tLS0KKiBgY3JlYXRlX2Zv\ncmsoIHJlcG8gKWA6IGBSZXBvc2l0b3J5YAogICAgKiBgcmVwb2A6IGBSZXBv\nc2l0b3J5YAoKR2lzdHMKLS0tLS0KKiBgY3JlYXRlX2dpc3QoIHB1YmxpYywg\nZmlsZXMsIFtkZXNjcmlwdGlvbl0gKWA6IGBHaXN0YAogICAgKiBgcHVibGlj\nYDogYm9vbAogICAgKiBgZmlsZXNgOiBkaWN0IG9mIHN0cmluZyB0byBgSW5w\ndXRGaWxlQ29udGVudGAKICAgICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiog\nYGdldF9naXN0cygpYDogaXRlcmF0b3Igb2YgYEdpc3RgCiogYGdldF9zdGFy\ncmVkX2dpc3RzKClgOiBpdGVyYXRvciBvZiBgR2lzdGAKCklzc3VlcwotLS0t\nLS0KKiBgZ2V0X2lzc3VlcygpYDogaXRlcmF0b3Igb2YgYElzc3VlYAoKS2V5\ncwotLS0tCiogYGNyZWF0ZV9rZXkoIHRpdGxlLCBrZXkgKWA6IGBVc2VyS2V5\nYAogICAgKiBgdGl0bGVgOiBzdHJpbmcKICAgICogYGtleWA6IHN0cmluZwoq\nIGBnZXRfa2V5KCBpZCApYDogYFVzZXJLZXlgCiAgICAqIGBpZGA6IGludGVn\nZXIKKiBgZ2V0X2tleXMoKWA6IGl0ZXJhdG9yIG9mIGBVc2VyS2V5YAoKTW9k\naWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBbbmFtZSwgZW1haWws\nIGJsb2csIGNvbXBhbnksIGxvY2F0aW9uLCBoaXJlYWJsZSwgYmlvXSApYAog\nICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgZW1haWxgOiBzdHJpbmcKICAg\nICogYGJsb2dgOiBzdHJpbmcKICAgICogYGNvbXBhbnlgOiBzdHJpbmcKICAg\nICogYGxvY2F0aW9uYDogc3RyaW5nCiAgICAqIGBoaXJlYWJsZWA6IGJvb2wK\nICAgICogYGJpb2A6IHN0cmluZwoKT3JncwotLS0tCiogYGdldF9vcmdzKClg\nOiBpdGVyYXRvciBvZiBgT3JnYW5pemF0aW9uYAoKUmVwb3MKLS0tLS0KKiBg\nY3JlYXRlX3JlcG8oIG5hbWUsIFtkZXNjcmlwdGlvbiwgaG9tZXBhZ2UsIHBy\naXZhdGUsIGhhc19pc3N1ZXMsIGhhc193aWtpLCBoYXNfZG93bmxvYWRzXSAp\nYDogYFJlcG9zaXRvcnlgCiAgICAqIGBuYW1lYDogc3RyaW5nCiAgICAqIGBk\nZXNjcmlwdGlvbmA6IHN0cmluZwogICAgKiBgaG9tZXBhZ2VgOiBzdHJpbmcK\nICAgICogYHByaXZhdGVgOiBib29sCiAgICAqIGBoYXNfaXNzdWVzYDogYm9v\nbAogICAgKiBgaGFzX3dpa2lgOiBib29sCiAgICAqIGBoYXNfZG93bmxvYWRz\nYDogYm9vbAoqIGBnZXRfcmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAg\nICAqIGBuYW1lYDogc3RyaW5nCiogYGdldF9yZXBvcyggW3R5cGUsIHNvcnQs\nIGRpcmVjdGlvbl0gKWA6IGl0ZXJhdG9yIG9mIGBSZXBvc2l0b3J5YAogICAg\nKiBgdHlwZWA6IHN0cmluZwogICAgKiBgc29ydGA6IHN0cmluZwogICAgKiBg\nZGlyZWN0aW9uYDogc3RyaW5nCgpXYXRjaGVkCi0tLS0tLS0KKiBgYWRkX3Rv\nX3dhdGNoZWQoIHdhdGNoZWQgKWAKICAgICogYHdhdGNoZWRgOiBgUmVwb3Np\ndG9yeWAKKiBgZ2V0X3dhdGNoZWQoKWA6IGl0ZXJhdG9yIG9mIGBSZXBvc2l0\nb3J5YAoqIGBoYXNfaW5fd2F0Y2hlZCggd2F0Y2hlZCApYDogYm9vbAogICAg\nKiBgd2F0Y2hlZGA6IGBSZXBvc2l0b3J5YAoqIGByZW1vdmVfZnJvbV93YXRj\naGVkKCB3YXRjaGVkIClgCiAgICAqIGB3YXRjaGVkYDogYFJlcG9zaXRvcnlg\nCgpDbGFzcyBgQXV0aG9yaXphdGlvbmAKPT09PT09PT09PT09PT09PT09PT09\nCgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYXBwYDogYEF1dGhvcml6YXRp\nb25BcHBsaWNhdGlvbmAKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0\naW1lCiogYGlkYDogaW50ZWdlcgoqIGBub3RlYDogc3RyaW5nCiogYG5vdGVf\ndXJsYDogc3RyaW5nCiogYHNjb3Blc2A6IGxpc3Qgb2Ygc3RyaW5nCiogYHRv\na2VuYDogc3RyaW5nCiogYHVwZGF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGlt\nZQoqIGB1cmxgOiBzdHJpbmcKCkRlbGV0aW9uCi0tLS0tLS0tCiogYGRlbGV0\nZSgpYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBbc2Nv\ncGVzLCBhZGRfc2NvcGVzLCByZW1vdmVfc2NvcGVzLCBub3RlLCBub3RlX3Vy\nbF0gKWAKICAgICogYHNjb3Blc2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAqIGBh\nZGRfc2NvcGVzYDogbGlzdCBvZiBzdHJpbmcKICAgICogYHJlbW92ZV9zY29w\nZXNgOiBsaXN0IG9mIHN0cmluZwogICAgKiBgbm90ZWA6IHN0cmluZwogICAg\nKiBgbm90ZV91cmxgOiBzdHJpbmcKCkNsYXNzIGBBdXRob3JpemF0aW9uQXBw\nbGljYXRpb25gCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpB\ndHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgbmFtZWA6IHN0cmluZwoqIGB1cmxg\nOiBzdHJpbmcKCkNsYXNzIGBCcmFuY2hgCj09PT09PT09PT09PT09CgpBdHRy\naWJ1dGVzCi0tLS0tLS0tLS0KKiBgY29tbWl0YDogYENvbW1pdGAKKiBgbmFt\nZWA6IHN0cmluZwoKQ2xhc3MgYENvbW1pdGAKPT09PT09PT09PT09PT0KCkF0\ndHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhdXRob3JgOiBgTmFtZWRVc2VyYAoq\nIGBjb21taXRgOiBgR2l0Q29tbWl0YAoqIGBjb21taXR0ZXJgOiBgTmFtZWRV\nc2VyYAoqIGBmaWxlc2A6IGxpc3Qgb2YgYEZpbGVgCiogYHBhcmVudHNgOiBs\naXN0IG9mIGBDb21taXRgCiogYHNoYWA6IHN0cmluZwoqIGBzdGF0c2A6IGBD\nb21taXRTdGF0c2AKKiBgdXJsYDogc3RyaW5nCgpDb21tZW50cwotLS0tLS0t\nLQoqIGBjcmVhdGVfY29tbWVudCggYm9keSwgW2xpbmUsIHBhdGgsIHBvc2l0\naW9uXSApYDogYENvbW1pdENvbW1lbnRgCiAgICAqIGBib2R5YDogc3RyaW5n\nCiAgICAqIGBsaW5lYDogaW50ZWdlcgogICAgKiBgcGF0aGA6IHN0cmluZwog\nICAgKiBgcG9zaXRpb25gOiBpbnRlZ2VyCiogYGdldF9jb21tZW50cygpYDog\naXRlcmF0b3Igb2YgYENvbW1pdENvbW1lbnRgCgpDbGFzcyBgQ29tbWl0Q29t\nbWVudGAKPT09PT09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0t\nLS0tLS0KKiBgYm9keWA6IHN0cmluZwoqIGBjb21taXRfaWRgOiBzdHJpbmcK\nKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGh0bWxfdXJs\nYDogc3RyaW5nCiogYGlkYDogaW50ZWdlcgoqIGBsaW5lYDogaW50ZWdlcgoq\nIGBwYXRoYDogc3RyaW5nCiogYHBvc2l0aW9uYDogaW50ZWdlcgoqIGB1cGRh\ndGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCiog\nYHVzZXJgOiBgTmFtZWRVc2VyYAoKRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVs\nZXRlKClgCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIGJv\nZHkgKWAKICAgICogYGJvZHlgOiBzdHJpbmcKCkNsYXNzIGBDb21taXRTdGF0\nc2AKPT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0t\nCiogYGFkZGl0aW9uc2A6IGludGVnZXIKKiBgZGVsZXRpb25zYDogaW50ZWdl\ncgoqIGB0b3RhbGA6IGludGVnZXIKCkNsYXNzIGBDb21wYXJpc29uYAo9PT09\nPT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhaGVh\nZF9ieWA6IGludGVnZXIKKiBgYmFzZV9jb21taXRgOiBgQ29tbWl0YAoqIGBi\nZWhpbmRfYnlgOiBpbnRlZ2VyCiogYGNvbW1pdHNgOiBsaXN0IG9mIGBDb21t\naXRgCiogYGRpZmZfdXJsYDogc3RyaW5nCiogYGZpbGVzYDogbGlzdCBvZiBg\nRmlsZWAKKiBgaHRtbF91cmxgOiBzdHJpbmcKKiBgcGF0Y2hfdXJsYDogc3Ry\naW5nCiogYHBlcm1hbGlua191cmxgOiBzdHJpbmcKKiBgc3RhdHVzYDogc3Ry\naW5nCiogYHRvdGFsX2NvbW1pdHNgOiBpbnRlZ2VyCiogYHVybGA6IHN0cmlu\nZwoKQ2xhc3MgYERvd25sb2FkYAo9PT09PT09PT09PT09PT09CgpBdHRyaWJ1\ndGVzCi0tLS0tLS0tLS0KKiBgYWNjZXNza2V5aWRgOiBzdHJpbmcKKiBgYWNs\nYDogc3RyaW5nCiogYGJ1Y2tldGA6IHN0cmluZwoqIGBjb250ZW50X3R5cGVg\nOiBzdHJpbmcKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiog\nYGRlc2NyaXB0aW9uYDogc3RyaW5nCiogYGRvd25sb2FkX2NvdW50YDogaW50\nZWdlcgoqIGBleHBpcmF0aW9uZGF0ZWA6IGRhdGV0aW1lLmRhdGV0aW1lCiog\nYGh0bWxfdXJsYDogc3RyaW5nCiogYGlkYDogaW50ZWdlcgoqIGBtaW1lX3R5\ncGVgOiBzdHJpbmcKKiBgbmFtZWA6IHN0cmluZwoqIGBwYXRoYDogc3RyaW5n\nCiogYHBvbGljeWA6IHN0cmluZwoqIGBwcmVmaXhgOiBzdHJpbmcKKiBgcmVk\naXJlY3RgOiBib29sCiogYHMzX3VybGA6IHN0cmluZwoqIGBzaWduYXR1cmVg\nOiBzdHJpbmcKKiBgc2l6ZWA6IGludGVnZXIKKiBgdXJsYDogc3RyaW5nCgpE\nZWxldGlvbgotLS0tLS0tLQoqIGBkZWxldGUoKWAKCkNsYXNzIGBFdmVudGAK\nPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGFjdG9y\nYDogYE5hbWVkVXNlcmAKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0\naW1lCiogYGlkYDogc3RyaW5nCiogYG9yZ2A6IGBPcmdhbml6YXRpb25gCiog\nYHBheWxvYWRgOiBkaWN0CiogYHB1YmxpY2A6IGJvb2wKKiBgcmVwb2A6IGBS\nZXBvc2l0b3J5YAoqIGB0eXBlYDogc3RyaW5nCgpDbGFzcyBgRmlsZWAKPT09\nPT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYWRkaXRpb25z\nYDogaW50ZWdlcgoqIGBibG9iX3VybGA6IHN0cmluZwoqIGBjaGFuZ2VzYDog\naW50ZWdlcgoqIGBkZWxldGlvbnNgOiBpbnRlZ2VyCiogYGZpbGVuYW1lYDog\nc3RyaW5nCiogYHBhdGNoYDogc3RyaW5nCiogYHJhd191cmxgOiBzdHJpbmcK\nKiBgc2hhYDogc3RyaW5nCiogYHN0YXR1c2A6IHN0cmluZwoKQ2xhc3MgYEdp\nc3RgCj09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNv\nbW1lbnRzYDogaW50ZWdlcgoqIGBjcmVhdGVkX2F0YDogZGF0ZXRpbWUuZGF0\nZXRpbWUKKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcKKiBgZmlsZXNgOiBkaWN0\nIG9mIHN0cmluZyB0byBgR2lzdEZpbGVgCiogYGZvcmtfb2ZgOiBgR2lzdGAK\nKiBgZm9ya3NgOiBsaXN0IG9mIGBHaXN0YAoqIGBnaXRfcHVsbF91cmxgOiBz\ndHJpbmcKKiBgZ2l0X3B1c2hfdXJsYDogc3RyaW5nCiogYGhpc3RvcnlgOiBs\naXN0IG9mIGBHaXN0SGlzdG9yeVN0YXRlYAoqIGBodG1sX3VybGA6IHN0cmlu\nZwoqIGBpZGA6IHN0cmluZwoqIGBwdWJsaWNgOiBib29sCiogYHVwZGF0ZWRf\nYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGB1cmxgOiBzdHJpbmcKKiBgdXNl\ncmA6IGBOYW1lZFVzZXJgCgpDb21tZW50cwotLS0tLS0tLQoqIGBjcmVhdGVf\nY29tbWVudCggYm9keSApYDogYEdpc3RDb21tZW50YAogICAgKiBgYm9keWA6\nIHN0cmluZwoqIGBnZXRfY29tbWVudCggaWQgKWA6IGBHaXN0Q29tbWVudGAK\nICAgICogYGlkYDogaW50ZWdlcgoqIGBnZXRfY29tbWVudHMoKWA6IGl0ZXJh\ndG9yIG9mIGBHaXN0Q29tbWVudGAKCkRlbGV0aW9uCi0tLS0tLS0tCiogYGRl\nbGV0ZSgpYAoKRm9ya2luZwotLS0tLS0tCiogYGNyZWF0ZV9mb3JrKClgOiBg\nR2lzdGAKCk1vZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggW2Rl\nc2NyaXB0aW9uLCBmaWxlc10gKWAKICAgICogYGRlc2NyaXB0aW9uYDogc3Ry\naW5nCiAgICAqIGBmaWxlc2A6IGRpY3Qgb2Ygc3RyaW5nIHRvIGBJbnB1dEZp\nbGVDb250ZW50YAoKU3RhcnJpbmcKLS0tLS0tLS0KKiBgaXNfc3RhcnJlZCgp\nYDogYm9vbAoqIGByZXNldF9zdGFycmVkKClgCiogYHNldF9zdGFycmVkKClg\nCgpDbGFzcyBgR2lzdENvbW1lbnRgCj09PT09PT09PT09PT09PT09PT0KCkF0\ndHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBib2R5YDogc3RyaW5nCiogYGNyZWF0\nZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBpZGA6IGludGVnZXIKKiBg\ndXBkYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYHVybGA6IHN0cmlu\nZwoqIGB1c2VyYDogYE5hbWVkVXNlcmAKCkRlbGV0aW9uCi0tLS0tLS0tCiog\nYGRlbGV0ZSgpYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0\nKCBib2R5IClgCiAgICAqIGBib2R5YDogc3RyaW5nCgpDbGFzcyBgR2lzdEZp\nbGVgCj09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoq\nIGBjb250ZW50YDogc3RyaW5nCiogYGZpbGVuYW1lYDogc3RyaW5nCiogYGxh\nbmd1YWdlYDogc3RyaW5nCiogYHJhd191cmxgOiBzdHJpbmcKKiBgc2l6ZWA6\nIGludGVnZXIKCkNsYXNzIGBHaXN0SGlzdG9yeVN0YXRlYAo9PT09PT09PT09\nPT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBjaGFu\nZ2Vfc3RhdHVzYDogYENvbW1pdFN0YXRzYAoqIGBjb21taXR0ZWRfYXRgOiBk\nYXRldGltZS5kYXRldGltZQoqIGB1cmxgOiBzdHJpbmcKKiBgdXNlcmA6IGBO\nYW1lZFVzZXJgCiogYHZlcnNpb25gOiBzdHJpbmcKCkNsYXNzIGBHaXRBdXRo\nb3JgCj09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0K\nKiBgZGF0ZWA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGVtYWlsYDogc3RyaW5n\nCiogYG5hbWVgOiBzdHJpbmcKCkNsYXNzIGBHaXRCbG9iYAo9PT09PT09PT09\nPT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBjb250ZW50YDogc3Ry\naW5nCiogYGVuY29kaW5nYDogc3RyaW5nCiogYHNoYWA6IHN0cmluZwoqIGBz\naXplYDogaW50ZWdlcgoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBHaXRDb21t\naXRgCj09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0K\nKiBgYXV0aG9yYDogYEdpdEF1dGhvcmAKKiBgY29tbWl0dGVyYDogYEdpdEF1\ndGhvcmAKKiBgbWVzc2FnZWA6IHN0cmluZwoqIGBwYXJlbnRzYDogbGlzdCBv\nZiBgR2l0Q29tbWl0YAoqIGBzaGFgOiBzdHJpbmcKKiBgdHJlZWA6IGBHaXRU\ncmVlYAoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBHaXRPYmplY3RgCj09PT09\nPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgc2hhYDog\nc3RyaW5nCiogYHR5cGVgOiBzdHJpbmcKKiBgdXJsYDogc3RyaW5nCgpDbGFz\ncyBgR2l0UmVmYAo9PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0t\nLS0tCiogYG9iamVjdGA6IGBHaXRPYmplY3RgCiogYHJlZmA6IHN0cmluZwoq\nIGB1cmxgOiBzdHJpbmcKCkRlbGV0aW9uCi0tLS0tLS0tCiogYGRlbGV0ZSgp\nYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBzaGEsIFtm\nb3JjZV0gKWAKICAgICogYHNoYWA6IHN0cmluZwogICAgKiBgZm9yY2VgOiBi\nb29sCgpDbGFzcyBgR2l0VGFnYAo9PT09PT09PT09PT09PQoKQXR0cmlidXRl\ncwotLS0tLS0tLS0tCiogYG1lc3NhZ2VgOiBzdHJpbmcKKiBgb2JqZWN0YDog\nYEdpdE9iamVjdGAKKiBgc2hhYDogc3RyaW5nCiogYHRhZ2A6IHN0cmluZwoq\nIGB0YWdnZXJgOiBgR2l0QXV0aG9yYAoqIGB1cmxgOiBzdHJpbmcKCkNsYXNz\nIGBHaXRUcmVlYAo9PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0t\nLS0tLQoqIGBzaGFgOiBzdHJpbmcKKiBgdHJlZWA6IGxpc3Qgb2YgYEdpdFRy\nZWVFbGVtZW50YAoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBHaXRUcmVlRWxl\nbWVudGAKPT09PT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0t\nLS0tLS0tCiogYG1vZGVgOiBzdHJpbmcKKiBgcGF0aGA6IHN0cmluZwoqIGBz\naGFgOiBzdHJpbmcKKiBgc2l6ZWA6IGludGVnZXIKKiBgdHlwZWA6IHN0cmlu\nZwoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBIb29rYAo9PT09PT09PT09PT0K\nCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhY3RpdmVgOiBib29sCiogYGNv\nbmZpZ2A6IGRpY3QKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1l\nCiogYGV2ZW50c2A6IGxpc3Qgb2Ygc3RyaW5nCiogYGlkYDogaW50ZWdlcgoq\nIGBsYXN0X3Jlc3BvbnNlYDogYEhvb2tSZXNwb25zZWAKKiBgbmFtZWA6IHN0\ncmluZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJs\nYDogc3RyaW5nCgpEZWxldGlvbgotLS0tLS0tLQoqIGBkZWxldGUoKWAKCk1v\nZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggbmFtZSwgY29uZmln\nLCBbZXZlbnRzLCBhZGRfZXZlbnRzLCByZW1vdmVfZXZlbnRzLCBhY3RpdmVd\nIClgCiAgICAqIGBuYW1lYDogc3RyaW5nCiAgICAqIGBjb25maWdgOiBkaWN0\nCiAgICAqIGBldmVudHNgOiBsaXN0IG9mIHN0cmluZwogICAgKiBgYWRkX2V2\nZW50c2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAqIGByZW1vdmVfZXZlbnRzYDog\nbGlzdCBvZiBzdHJpbmcKICAgICogYGFjdGl2ZWA6IGJvb2wKClRlc3RpbmcK\nLS0tLS0tLQoqIGB0ZXN0KClgCgpDbGFzcyBgSG9va1Jlc3BvbnNlYAo9PT09\nPT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNv\nZGVgOiBpbnRlZ2VyCiogYG1lc3NhZ2VgOiBzdHJpbmcKKiBgc3RhdHVzYDog\nc3RyaW5nCgpDbGFzcyBgSXNzdWVgCj09PT09PT09PT09PT0KCkF0dHJpYnV0\nZXMKLS0tLS0tLS0tLQoqIGBhc3NpZ25lZWA6IGBOYW1lZFVzZXJgCiogYGJv\nZHlgOiBzdHJpbmcKKiBgY2xvc2VkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUK\nKiBgY2xvc2VkX2J5YDogYE5hbWVkVXNlcmAKKiBgY29tbWVudHNgOiBpbnRl\nZ2VyCiogYGNyZWF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBodG1s\nX3VybGA6IHN0cmluZwoqIGBpZGA6IGludGVnZXIKKiBgbGFiZWxzYDogbGlz\ndCBvZiBgTGFiZWxgCiogYG1pbGVzdG9uZWA6IGBNaWxlc3RvbmVgCiogYG51\nbWJlcmA6IGludGVnZXIKKiBgcHVsbF9yZXF1ZXN0YDogYElzc3VlUHVsbFJl\ncXVlc3RgCiogYHJlcG9zaXRvcnlgOiBgUmVwb3NpdG9yeWAKKiBgc3RhdGVg\nOiBzdHJpbmcKKiBgdGl0bGVgOiBzdHJpbmcKKiBgdXBkYXRlZF9hdGA6IGRh\ndGV0aW1lLmRhdGV0aW1lCiogYHVybGA6IHN0cmluZwoqIGB1c2VyYDogYE5h\nbWVkVXNlcmAKCkNvbW1lbnRzCi0tLS0tLS0tCiogYGNyZWF0ZV9jb21tZW50\nKCBib2R5IClgOiBgSXNzdWVDb21tZW50YAogICAgKiBgYm9keWA6IHN0cmlu\nZwoqIGBnZXRfY29tbWVudCggaWQgKWA6IGBJc3N1ZUNvbW1lbnRgCiAgICAq\nIGBpZGA6IGludGVnZXIKKiBgZ2V0X2NvbW1lbnRzKClgOiBpdGVyYXRvciBv\nZiBgSXNzdWVDb21tZW50YAoKRXZlbnRzCi0tLS0tLQoqIGBnZXRfZXZlbnRz\nKClgOiBpdGVyYXRvciBvZiBgSXNzdWVFdmVudGAKCkxhYmVscwotLS0tLS0K\nKiBgYWRkX3RvX2xhYmVscyggbGFiZWwsIC4uLiApYAogICAgKiBgbGFiZWxg\nOiBgTGFiZWxgCiogYGRlbGV0ZV9sYWJlbHMoKWAKKiBgZ2V0X2xhYmVscygp\nYDogaXRlcmF0b3Igb2YgYExhYmVsYAoqIGByZW1vdmVfZnJvbV9sYWJlbHMo\nIGxhYmVsIClgCiAgICAqIGBsYWJlbGA6IGBMYWJlbGAKKiBgc2V0X2xhYmVs\ncyggbGFiZWwsIC4uLiApYAogICAgKiBgbGFiZWxgOiBgTGFiZWxgCgpNb2Rp\nZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIFt0aXRsZSwgYm9keSwg\nYXNzaWduZWUsIHN0YXRlLCBtaWxlc3RvbmUsIGxhYmVsc10gKWAKICAgICog\nYHRpdGxlYDogc3RyaW5nCiAgICAqIGBib2R5YDogc3RyaW5nCiAgICAqIGBh\nc3NpZ25lZWA6IGBOYW1lZFVzZXJgCiAgICAqIGBzdGF0ZWA6IHN0cmluZwog\nICAgKiBgbWlsZXN0b25lYDogYE1pbGVzdG9uZWAKICAgICogYGxhYmVsc2A6\nIGxpc3Qgb2Ygc3RyaW5nCgpDbGFzcyBgSXNzdWVDb21tZW50YAo9PT09PT09\nPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGJvZHlg\nOiBzdHJpbmcKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiog\nYGlkYDogaW50ZWdlcgoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRp\nbWUKKiBgdXJsYDogc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoKRGVs\nZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRlKClgCgpNb2RpZmljYXRpb24KLS0t\nLS0tLS0tLS0tCiogYGVkaXQoIGJvZHkgKWAKICAgICogYGJvZHlgOiBzdHJp\nbmcKCkNsYXNzIGBJc3N1ZUV2ZW50YAo9PT09PT09PT09PT09PT09PT0KCkF0\ndHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhY3RvcmA6IGBOYW1lZFVzZXJgCiog\nYGNvbW1pdF9pZGA6IHN0cmluZwoqIGBjcmVhdGVkX2F0YDogZGF0ZXRpbWUu\nZGF0ZXRpbWUKKiBgZXZlbnRgOiBzdHJpbmcKKiBgaWRgOiBpbnRlZ2VyCiog\nYGlzc3VlYDogYElzc3VlYAoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBJc3N1\nZVB1bGxSZXF1ZXN0YAo9PT09PT09PT09PT09PT09PT09PT09PT0KCkF0dHJp\nYnV0ZXMKLS0tLS0tLS0tLQoqIGBkaWZmX3VybGA6IHN0cmluZwoqIGBodG1s\nX3VybGA6IHN0cmluZwoqIGBwYXRjaF91cmxgOiBzdHJpbmcKCkNsYXNzIGBM\nYWJlbGAKPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiog\nYGNvbG9yYDogc3RyaW5nCiogYG5hbWVgOiBzdHJpbmcKKiBgdXJsYDogc3Ry\naW5nCgpEZWxldGlvbgotLS0tLS0tLQoqIGBkZWxldGUoKWAKCk1vZGlmaWNh\ndGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggbmFtZSwgY29sb3IgKWAKICAg\nICogYG5hbWVgOiBzdHJpbmcKICAgICogYGNvbG9yYDogc3RyaW5nCgpDbGFz\ncyBgTWlsZXN0b25lYAo9PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwot\nLS0tLS0tLS0tCiogYGNsb3NlZF9pc3N1ZXNgOiBpbnRlZ2VyCiogYGNyZWF0\nZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBjcmVhdG9yYDogYE5hbWVk\nVXNlcmAKKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcKKiBgZHVlX29uYDogZGF0\nZXRpbWUuZGF0ZXRpbWUKKiBgaWRgOiBpbnRlZ2VyCiogYG51bWJlcmA6IGlu\ndGVnZXIKKiBgb3Blbl9pc3N1ZXNgOiBpbnRlZ2VyCiogYHN0YXRlYDogc3Ry\naW5nCiogYHRpdGxlYDogc3RyaW5nCiogYHVybGA6IHN0cmluZwoKRGVsZXRp\nb24KLS0tLS0tLS0KKiBgZGVsZXRlKClgCgpMYWJlbHMKLS0tLS0tCiogYGdl\ndF9sYWJlbHMoKWA6IGl0ZXJhdG9yIG9mIGBMYWJlbGAKCk1vZGlmaWNhdGlv\nbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggdGl0bGUsIFtzdGF0ZSwgZGVzY3Jp\ncHRpb24sIGR1ZV9vbl0gKWAKICAgICogYHRpdGxlYDogc3RyaW5nCiAgICAq\nIGBzdGF0ZWA6IHN0cmluZwogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcK\nICAgICogYGR1ZV9vbmA6IGRhdGUKCkNsYXNzIGBOYW1lZFVzZXJgCj09PT09\nPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYXZhdGFy\nX3VybGA6IHN0cmluZwoqIGBiaW9gOiBzdHJpbmcKKiBgYmxvZ2A6IHN0cmlu\nZwoqIGBjb2xsYWJvcmF0b3JzYDogaW50ZWdlcgoqIGBjb21wYW55YDogc3Ry\naW5nCiogYGNvbnRyaWJ1dGlvbnNgOiBpbnRlZ2VyCiogYGNyZWF0ZWRfYXRg\nOiBkYXRldGltZS5kYXRldGltZQoqIGBkaXNrX3VzYWdlYDogaW50ZWdlcgoq\nIGBlbWFpbGA6IHN0cmluZwoqIGBmb2xsb3dlcnNgOiBpbnRlZ2VyCiogYGZv\nbGxvd2luZ2A6IGludGVnZXIKKiBgZ3JhdmF0YXJfaWRgOiBzdHJpbmcKKiBg\naGlyZWFibGVgOiBib29sCiogYGh0bWxfdXJsYDogc3RyaW5nCiogYGlkYDog\naW50ZWdlcgoqIGBsb2NhdGlvbmA6IHN0cmluZwoqIGBsb2dpbmA6IHN0cmlu\nZwoqIGBuYW1lYDogc3RyaW5nCiogYG93bmVkX3ByaXZhdGVfcmVwb3NgOiBp\nbnRlZ2VyCiogYHBsYW5gOiBgUGxhbmAKKiBgcHJpdmF0ZV9naXN0c2A6IGlu\ndGVnZXIKKiBgcHVibGljX2dpc3RzYDogaW50ZWdlcgoqIGBwdWJsaWNfcmVw\nb3NgOiBpbnRlZ2VyCiogYHRvdGFsX3ByaXZhdGVfcmVwb3NgOiBpbnRlZ2Vy\nCiogYHR5cGVgOiBzdHJpbmcKKiBgdXJsYDogc3RyaW5nCgpFdmVudHMKLS0t\nLS0tCiogYGdldF9ldmVudHMoKWA6IGl0ZXJhdG9yIG9mIGBFdmVudGAKKiBg\nZ2V0X3B1YmxpY19ldmVudHMoKWA6IGl0ZXJhdG9yIG9mIGBFdmVudGAKKiBg\nZ2V0X3JlY2VpdmVkX2V2ZW50cygpYDogaXRlcmF0b3Igb2YgYEV2ZW50YAoq\nIGBnZXRfcHVibGljX3JlY2VpdmVkX2V2ZW50cygpYDogaXRlcmF0b3Igb2Yg\nYEV2ZW50YAoKRm9sbG93ZXJzCi0tLS0tLS0tLQoqIGBnZXRfZm9sbG93ZXJz\nKClgOiBpdGVyYXRvciBvZiBgTmFtZWRVc2VyYAoKRm9sbG93aW5nCi0tLS0t\nLS0tLQoqIGBnZXRfZm9sbG93aW5nKClgOiBpdGVyYXRvciBvZiBgTmFtZWRV\nc2VyYAoKR2lzdHMKLS0tLS0KKiBgY3JlYXRlX2dpc3QoIHB1YmxpYywgZmls\nZXMsIFtkZXNjcmlwdGlvbl0gKWA6IGBHaXN0YAogICAgKiBgcHVibGljYDog\nYm9vbAogICAgKiBgZmlsZXNgOiBkaWN0IG9mIHN0cmluZyB0byBgSW5wdXRG\naWxlQ29udGVudGAKICAgICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiogYGdl\ndF9naXN0cygpYDogaXRlcmF0b3Igb2YgYEdpc3RgCgpPcmdzCi0tLS0KKiBg\nZ2V0X29yZ3MoKWA6IGl0ZXJhdG9yIG9mIGBPcmdhbml6YXRpb25gCgpSZXBv\ncwotLS0tLQoqIGBnZXRfcmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAg\nICAqIGBuYW1lYDogc3RyaW5nCiogYGdldF9yZXBvcyggW3R5cGVdIClgOiBp\ndGVyYXRvciBvZiBgUmVwb3NpdG9yeWAKICAgICogYHR5cGVgOiBzdHJpbmcK\nCldhdGNoZWQKLS0tLS0tLQoqIGBnZXRfd2F0Y2hlZCgpYDogaXRlcmF0b3Ig\nb2YgYFJlcG9zaXRvcnlgCgpDbGFzcyBgT3JnYW5pemF0aW9uYAo9PT09PT09\nPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGF2YXRh\ncl91cmxgOiBzdHJpbmcKKiBgYmlsbGluZ19lbWFpbGA6IHN0cmluZwoqIGBi\nbG9nYDogc3RyaW5nCiogYGNvbGxhYm9yYXRvcnNgOiBpbnRlZ2VyCiogYGNv\nbXBhbnlgOiBzdHJpbmcKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0\naW1lCiogYGRpc2tfdXNhZ2VgOiBpbnRlZ2VyCiogYGVtYWlsYDogc3RyaW5n\nCiogYGZvbGxvd2Vyc2A6IGludGVnZXIKKiBgZm9sbG93aW5nYDogaW50ZWdl\ncgoqIGBncmF2YXRhcl9pZGA6IHN0cmluZwoqIGBodG1sX3VybGA6IHN0cmlu\nZwoqIGBpZGA6IGludGVnZXIKKiBgbG9jYXRpb25gOiBzdHJpbmcKKiBgbG9n\naW5gOiBzdHJpbmcKKiBgbmFtZWA6IHN0cmluZwoqIGBvd25lZF9wcml2YXRl\nX3JlcG9zYDogaW50ZWdlcgoqIGBwbGFuYDogYFBsYW5gCiogYHByaXZhdGVf\nZ2lzdHNgOiBpbnRlZ2VyCiogYHB1YmxpY19naXN0c2A6IGludGVnZXIKKiBg\ncHVibGljX3JlcG9zYDogaW50ZWdlcgoqIGB0b3RhbF9wcml2YXRlX3JlcG9z\nYDogaW50ZWdlcgoqIGB0eXBlYDogc3RyaW5nCiogYHVybGA6IHN0cmluZwoK\nRXZlbnRzCi0tLS0tLQoqIGBnZXRfZXZlbnRzKClgOiBpdGVyYXRvciBvZiBg\nRXZlbnRgCgpGb3JraW5nCi0tLS0tLS0KKiBgY3JlYXRlX2ZvcmsoIHJlcG8g\nKWA6IGBSZXBvc2l0b3J5YAogICAgKiBgcmVwb2A6IGBSZXBvc2l0b3J5YAoK\nTWVtYmVycwotLS0tLS0tCiogYGdldF9tZW1iZXJzKClgOiBpdGVyYXRvciBv\nZiBgTmFtZWRVc2VyYAoqIGBoYXNfaW5fbWVtYmVycyggbWVtYmVyIClgOiBi\nb29sCiAgICAqIGBtZW1iZXJgOiBgTmFtZWRVc2VyYAoqIGByZW1vdmVfZnJv\nbV9tZW1iZXJzKCBtZW1iZXIgKWAKICAgICogYG1lbWJlcmA6IGBOYW1lZFVz\nZXJgCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIFtiaWxs\naW5nX2VtYWlsLCBibG9nLCBjb21wYW55LCBlbWFpbCwgbG9jYXRpb24sIG5h\nbWVdIClgCiAgICAqIGBiaWxsaW5nX2VtYWlsYDogc3RyaW5nCiAgICAqIGBi\nbG9nYDogc3RyaW5nCiAgICAqIGBjb21wYW55YDogc3RyaW5nCiAgICAqIGBl\nbWFpbGA6IHN0cmluZwogICAgKiBgbG9jYXRpb25gOiBzdHJpbmcKICAgICog\nYG5hbWVgOiBzdHJpbmcKClB1YmxpY19tZW1iZXJzCi0tLS0tLS0tLS0tLS0t\nCiogYGFkZF90b19wdWJsaWNfbWVtYmVycyggcHVibGljX21lbWJlciApYAog\nICAgKiBgcHVibGljX21lbWJlcmA6IGBOYW1lZFVzZXJgCiogYGdldF9wdWJs\naWNfbWVtYmVycygpYDogaXRlcmF0b3Igb2YgYE5hbWVkVXNlcmAKKiBgaGFz\nX2luX3B1YmxpY19tZW1iZXJzKCBwdWJsaWNfbWVtYmVyIClgOiBib29sCiAg\nICAqIGBwdWJsaWNfbWVtYmVyYDogYE5hbWVkVXNlcmAKKiBgcmVtb3ZlX2Zy\nb21fcHVibGljX21lbWJlcnMoIHB1YmxpY19tZW1iZXIgKWAKICAgICogYHB1\nYmxpY19tZW1iZXJgOiBgTmFtZWRVc2VyYAoKUmVwb3MKLS0tLS0KKiBgY3Jl\nYXRlX3JlcG8oIG5hbWUsIFtkZXNjcmlwdGlvbiwgaG9tZXBhZ2UsIHByaXZh\ndGUsIGhhc19pc3N1ZXMsIGhhc193aWtpLCBoYXNfZG93bmxvYWRzLCB0ZWFt\nX2lkXSApYDogYFJlcG9zaXRvcnlgCiAgICAqIGBuYW1lYDogc3RyaW5nCiAg\nICAqIGBkZXNjcmlwdGlvbmA6IHN0cmluZwogICAgKiBgaG9tZXBhZ2VgOiBz\ndHJpbmcKICAgICogYHByaXZhdGVgOiBib29sCiAgICAqIGBoYXNfaXNzdWVz\nYDogYm9vbAogICAgKiBgaGFzX3dpa2lgOiBib29sCiAgICAqIGBoYXNfZG93\nbmxvYWRzYDogYm9vbAogICAgKiBgdGVhbV9pZGA6IGBUZWFtYAoqIGBnZXRf\ncmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAgICAqIGBuYW1lYDogc3Ry\naW5nCiogYGdldF9yZXBvcyggW3R5cGVdIClgOiBpdGVyYXRvciBvZiBgUmVw\nb3NpdG9yeWAKICAgICogYHR5cGVgOiBzdHJpbmcKClRlYW1zCi0tLS0tCiog\nYGNyZWF0ZV90ZWFtKCBuYW1lLCBbcmVwb19uYW1lcywgcGVybWlzc2lvbl0g\nKWA6IGBUZWFtYAogICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgcmVwb19u\nYW1lc2A6IGxpc3Qgb2YgYFJlcG9zaXRvcnlgCiAgICAqIGBwZXJtaXNzaW9u\nYDogc3RyaW5nCiogYGdldF90ZWFtKCBpZCApYDogYFRlYW1gCiAgICAqIGBp\nZGA6IGludGVnZXIKKiBgZ2V0X3RlYW1zKClgOiBpdGVyYXRvciBvZiBgVGVh\nbWAKCkNsYXNzIGBQZXJtaXNzaW9uc2AKPT09PT09PT09PT09PT09PT09PQoK\nQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGFkbWluYDogYm9vbAoqIGBwdWxs\nYDogYm9vbAoqIGBwdXNoYDogYm9vbAoKQ2xhc3MgYFBsYW5gCj09PT09PT09\nPT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNvbGxhYm9yYXRvcnNg\nOiBpbnRlZ2VyCiogYG5hbWVgOiBzdHJpbmcKKiBgcHJpdmF0ZV9yZXBvc2A6\nIGludGVnZXIKKiBgc3BhY2VgOiBpbnRlZ2VyCgpDbGFzcyBgUHVsbFJlcXVl\nc3RgCj09PT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0t\nLQoqIGBhZGRpdGlvbnNgOiBpbnRlZ2VyCiogYGJhc2VgOiBgUHVsbFJlcXVl\nc3RQYXJ0YAoqIGBib2R5YDogc3RyaW5nCiogYGNoYW5nZWRfZmlsZXNgOiBp\nbnRlZ2VyCiogYGNsb3NlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGNv\nbW1lbnRzYDogaW50ZWdlcgoqIGBjb21taXRzYDogaW50ZWdlcgoqIGBjcmVh\ndGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgZGVsZXRpb25zYDogaW50\nZWdlcgoqIGBkaWZmX3VybGA6IHN0cmluZwoqIGBoZWFkYDogYFB1bGxSZXF1\nZXN0UGFydGAKKiBgaHRtbF91cmxgOiBzdHJpbmcKKiBgaWRgOiBpbnRlZ2Vy\nCiogYGlzc3VlX3VybGA6IHN0cmluZwoqIGBtZXJnZWFibGVgOiBib29sCiog\nYG1lcmdlZGA6IGJvb2wKKiBgbWVyZ2VkX2F0YDogZGF0ZXRpbWUuZGF0ZXRp\nbWUKKiBgbWVyZ2VkX2J5YDogYE5hbWVkVXNlcmAKKiBgbnVtYmVyYDogaW50\nZWdlcgoqIGBwYXRjaF91cmxgOiBzdHJpbmcKKiBgcmV2aWV3X2NvbW1lbnRz\nYDogaW50ZWdlcgoqIGBzdGF0ZWA6IHN0cmluZwoqIGB0aXRsZWA6IHN0cmlu\nZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDog\nc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoKQ29tbWVudHMKLS0tLS0t\nLS0KKiBgY3JlYXRlX2NvbW1lbnQoIGJvZHksIGNvbW1pdF9pZCwgcGF0aCwg\ncG9zaXRpb24gKWA6IGBQdWxsUmVxdWVzdENvbW1lbnRgCiAgICAqIGBib2R5\nYDogc3RyaW5nCiAgICAqIGBjb21taXRfaWRgOiBgQ29tbWl0YAogICAgKiBg\ncGF0aGA6IHN0cmluZwogICAgKiBgcG9zaXRpb25gOiBpbnRlZ2VyCiogYGdl\ndF9jb21tZW50KCBpZCApYDogYFB1bGxSZXF1ZXN0Q29tbWVudGAKICAgICog\nYGlkYDogaW50ZWdlcgoqIGBnZXRfY29tbWVudHMoKWA6IGl0ZXJhdG9yIG9m\nIGBQdWxsUmVxdWVzdENvbW1lbnRgCgpDb21taXRzCi0tLS0tLS0KKiBgZ2V0\nX2NvbW1pdHMoKWA6IGl0ZXJhdG9yIG9mIGBDb21taXRgCgpGaWxlcwotLS0t\nLQoqIGBnZXRfZmlsZXMoKWA6IGl0ZXJhdG9yIG9mIGBGaWxlYAoKTWVyZ2lu\nZwotLS0tLS0tCiogYGlzX21lcmdlZCgpYDogYm9vbAoqIGBtZXJnZSggW2Nv\nbW1pdF9tZXNzYWdlXSApYDogYFB1bGxSZXF1ZXN0TWVyZ2VTdGF0dXNgCiAg\nICAqIGBjb21taXRfbWVzc2FnZWA6IHN0cmluZwoKTW9kaWZpY2F0aW9uCi0t\nLS0tLS0tLS0tLQoqIGBlZGl0KCBbdGl0bGUsIGJvZHksIHN0YXRlXSApYAog\nICAgKiBgdGl0bGVgOiBzdHJpbmcKICAgICogYGJvZHlgOiBzdHJpbmcKICAg\nICogYHN0YXRlYDogc3RyaW5nCgpDbGFzcyBgUHVsbFJlcXVlc3RDb21tZW50\nYAo9PT09PT09PT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0t\nLS0tLS0tCiogYGJvZHlgOiBzdHJpbmcKKiBgY29tbWl0X2lkYDogc3RyaW5n\nCiogYGNyZWF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBpZGA6IGlu\ndGVnZXIKKiBgb3JpZ2luYWxfY29tbWl0X2lkYDogc3RyaW5nCiogYG9yaWdp\nbmFsX3Bvc2l0aW9uYDogaW50ZWdlcgoqIGBwYXRoYDogc3RyaW5nCiogYHBv\nc2l0aW9uYDogaW50ZWdlcgoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0\nZXRpbWUKKiBgdXJsYDogc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoK\nRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRlKClgCgpNb2RpZmljYXRpb24K\nLS0tLS0tLS0tLS0tCiogYGVkaXQoIGJvZHkgKWAKICAgICogYGJvZHlgOiBz\ndHJpbmcKCkNsYXNzIGBQdWxsUmVxdWVzdE1lcmdlU3RhdHVzYAo9PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0t\nLQoqIGBtZXJnZWRgOiBib29sCiogYG1lc3NhZ2VgOiBzdHJpbmcKKiBgc2hh\nYDogc3RyaW5nCgpDbGFzcyBgUHVsbFJlcXVlc3RQYXJ0YAo9PT09PT09PT09\nPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGxhYmVs\nYDogc3RyaW5nCiogYHJlZmA6IHN0cmluZwoqIGByZXBvYDogYFJlcG9zaXRv\ncnlgCiogYHNoYWA6IHN0cmluZwoqIGB1c2VyYDogYE5hbWVkVXNlcmAKCkNs\nYXNzIGBSZXBvc2l0b3J5YAo9PT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0\nZXMKLS0tLS0tLS0tLQoqIGBjbG9uZV91cmxgOiBzdHJpbmcKKiBgY3JlYXRl\nZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGRlc2NyaXB0aW9uYDogc3Ry\naW5nCiogYGZvcmtgOiBib29sCiogYGZvcmtzYDogaW50ZWdlcgoqIGBmdWxs\nX25hbWVgOiBzdHJpbmcKKiBgZ2l0X3VybGA6IHN0cmluZwoqIGBoYXNfZG93\nbmxvYWRzYDogYm9vbAoqIGBoYXNfaXNzdWVzYDogYm9vbAoqIGBoYXNfd2lr\naWA6IGJvb2wKKiBgaG9tZXBhZ2VgOiBzdHJpbmcKKiBgaHRtbF91cmxgOiBz\ndHJpbmcKKiBgaWRgOiBpbnRlZ2VyCiogYGxhbmd1YWdlYDogc3RyaW5nCiog\nYG1hc3Rlcl9icmFuY2hgOiBzdHJpbmcKKiBgbmFtZWA6IHN0cmluZwoqIGBv\ncGVuX2lzc3Vlc2A6IGludGVnZXIKKiBgb3JnYW5pemF0aW9uYDogYE9yZ2Fu\naXphdGlvbmAKKiBgb3duZXJgOiBgTmFtZWRVc2VyYAoqIGBwYXJlbnRgOiBg\nUmVwb3NpdG9yeWAKKiBgcGVybWlzc2lvbnNgOiBgUGVybWlzc2lvbnNgCiog\nYHByaXZhdGVgOiBib29sCiogYHB1c2hlZF9hdGA6IGRhdGV0aW1lLmRhdGV0\naW1lCiogYHNpemVgOiBpbnRlZ2VyCiogYHNvdXJjZWA6IGBSZXBvc2l0b3J5\nYAoqIGBzc2hfdXJsYDogc3RyaW5nCiogYHN2bl91cmxgOiBzdHJpbmcKKiBg\ndXBkYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYHVybGA6IHN0cmlu\nZwoqIGB3YXRjaGVyc2A6IGludGVnZXIKCkRlbGV0aW9uCi0tLS0tLS0tCiog\nYGRlbGV0ZSgpYAoKQ29tcGFyaXNvbgotLS0tLS0tLS0tCiogYGNvbXBhcmUo\nIGJhc2UsIGhlYWQgKWA6IGBDb21wYXJpc29uYAogICAgKiBgYmFzZWA6IHN0\ncmluZwogICAgKiBgaGVhZGA6IHN0cmluZwoKQnJhbmNoZXMKLS0tLS0tLS0K\nKiBgZ2V0X2JyYW5jaGVzKClgOiBpdGVyYXRvciBvZiBgQnJhbmNoYAoKQ29s\nbGFib3JhdG9ycwotLS0tLS0tLS0tLS0tCiogYGFkZF90b19jb2xsYWJvcmF0\nb3JzKCBjb2xsYWJvcmF0b3IgKWAKICAgICogYGNvbGxhYm9yYXRvcmA6IGBO\nYW1lZFVzZXJgCiogYGdldF9jb2xsYWJvcmF0b3JzKClgOiBpdGVyYXRvciBv\nZiBgTmFtZWRVc2VyYAoqIGBoYXNfaW5fY29sbGFib3JhdG9ycyggY29sbGFi\nb3JhdG9yIClgOiBib29sCiAgICAqIGBjb2xsYWJvcmF0b3JgOiBgTmFtZWRV\nc2VyYAoqIGByZW1vdmVfZnJvbV9jb2xsYWJvcmF0b3JzKCBjb2xsYWJvcmF0\nb3IgKWAKICAgICogYGNvbGxhYm9yYXRvcmA6IGBOYW1lZFVzZXJgCgpDb21t\nZW50cwotLS0tLS0tLQoqIGBnZXRfY29tbWVudCggaWQgKWA6IGBDb21taXRD\nb21tZW50YAogICAgKiBgaWRgOiBpbnRlZ2VyCiogYGdldF9jb21tZW50cygp\nYDogaXRlcmF0b3Igb2YgYENvbW1pdENvbW1lbnRgCgpDb21taXRzCi0tLS0t\nLS0KKiBgZ2V0X2NvbW1pdCggc2hhIClgOiBgQ29tbWl0YAogICAgKiBgc2hh\nYDogc3RyaW5nCiogYGdldF9jb21taXRzKCBbc2hhLCBwYXRoXSApYDogaXRl\ncmF0b3Igb2YgYENvbW1pdGAKICAgICogYHNoYWA6IHN0cmluZwogICAgKiBg\ncGF0aGA6IHN0cmluZwoKQ29udHJpYnV0b3JzCi0tLS0tLS0tLS0tLQoqIGBn\nZXRfY29udHJpYnV0b3JzKClgOiBpdGVyYXRvciBvZiBgTmFtZWRVc2VyYAoK\nRG93bmxvYWRzCi0tLS0tLS0tLQoqIGBjcmVhdGVfZG93bmxvYWQoIG5hbWUs\nIHNpemUsIFtkZXNjcmlwdGlvbiwgY29udGVudF90eXBlXSApYDogYERvd25s\nb2FkYAogICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgc2l6ZWA6IGludGVn\nZXIKICAgICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiAgICAqIGBjb250ZW50\nX3R5cGVgOiBzdHJpbmcKKiBgZ2V0X2Rvd25sb2FkKCBpZCApYDogYERvd25s\nb2FkYAogICAgKiBgaWRgOiBpbnRlZ2VyCiogYGdldF9kb3dubG9hZHMoKWA6\nIGl0ZXJhdG9yIG9mIGBEb3dubG9hZGAKCkV2ZW50cwotLS0tLS0KKiBgZ2V0\nX2V2ZW50cygpYDogaXRlcmF0b3Igb2YgYEV2ZW50YAoqIGBnZXRfbmV0d29y\na19ldmVudHMoKWA6IGl0ZXJhdG9yIG9mIGBFdmVudGAKCkZvcmtzCi0tLS0t\nCiogYGdldF9mb3JrcygpYDogaXRlcmF0b3Igb2YgYFJlcG9zaXRvcnlgCgpH\naXRfYmxvYnMKLS0tLS0tLS0tCiogYGNyZWF0ZV9naXRfYmxvYiggY29udGVu\ndCwgZW5jb2RpbmcgKWA6IGBHaXRCbG9iYAogICAgKiBgY29udGVudGA6IHN0\ncmluZwogICAgKiBgZW5jb2RpbmdgOiBzdHJpbmcKKiBgZ2V0X2dpdF9ibG9i\nKCBzaGEgKWA6IGBHaXRCbG9iYAogICAgKiBgc2hhYDogc3RyaW5nCgpHaXRf\nY29tbWl0cwotLS0tLS0tLS0tLQoqIGBjcmVhdGVfZ2l0X2NvbW1pdCggbWVz\nc2FnZSwgdHJlZSwgcGFyZW50cywgW2F1dGhvciwgY29tbWl0dGVyXSApYDog\nYEdpdENvbW1pdGAKICAgICogYG1lc3NhZ2VgOiBzdHJpbmcKICAgICogYHRy\nZWVgOiBgR2l0VHJlZWAKICAgICogYHBhcmVudHNgOiBsaXN0IG9mIGBHaXRD\nb21taXRgCiAgICAqIGBhdXRob3JgOiBgSW5wdXRHaXRBdXRob3JgCiAgICAq\nIGBjb21taXR0ZXJgOiBgSW5wdXRHaXRBdXRob3JgCiogYGdldF9naXRfY29t\nbWl0KCBzaGEgKWA6IGBHaXRDb21taXRgCiAgICAqIGBzaGFgOiBzdHJpbmcK\nCkdpdF9yZWZzCi0tLS0tLS0tCiogYGNyZWF0ZV9naXRfcmVmKCByZWYsIHNo\nYSApYDogYEdpdFJlZmAKICAgICogYHJlZmA6IHN0cmluZwogICAgKiBgc2hh\nYDogc3RyaW5nCiogYGdldF9naXRfcmVmKCByZWYgKWA6IGBHaXRSZWZgCiAg\nICAqIGByZWZgOiBzdHJpbmcKKiBgZ2V0X2dpdF9yZWZzKClgOiBpdGVyYXRv\nciBvZiBgR2l0UmVmYAoKR2l0X3RhZ3MKLS0tLS0tLS0KKiBgY3JlYXRlX2dp\ndF90YWcoIHRhZywgbWVzc2FnZSwgb2JqZWN0LCB0eXBlLCBbdGFnZ2VyXSAp\nYDogYEdpdFRhZ2AKICAgICogYHRhZ2A6IHN0cmluZwogICAgKiBgbWVzc2Fn\nZWA6IHN0cmluZwogICAgKiBgb2JqZWN0YDogc3RyaW5nCiAgICAqIGB0eXBl\nYDogc3RyaW5nCiAgICAqIGB0YWdnZXJgOiBgSW5wdXRHaXRBdXRob3JgCiog\nYGdldF9naXRfdGFnKCBzaGEgKWA6IGBHaXRUYWdgCiAgICAqIGBzaGFgOiBz\ndHJpbmcKCkdpdF90cmVlcwotLS0tLS0tLS0KKiBgY3JlYXRlX2dpdF90cmVl\nKCB0cmVlLCBbYmFzZV90cmVlXSApYDogYEdpdFRyZWVgCiAgICAqIGB0cmVl\nYDogbGlzdCBvZiBgSW5wdXRHaXRUcmVlRWxlbWVudGAKICAgICogYGJhc2Vf\ndHJlZWA6IGBHaXRUcmVlYAoqIGBnZXRfZ2l0X3RyZWUoIHNoYSwgW3JlY3Vy\nc2l2ZV0gKWA6IGBHaXRUcmVlYAogICAgKiBgc2hhYDogc3RyaW5nCiAgICAq\nIGByZWN1cnNpdmVgOiBib29sCgpIb29rcwotLS0tLQoqIGBjcmVhdGVfaG9v\nayggbmFtZSwgY29uZmlnLCBbZXZlbnRzLCBhY3RpdmVdIClgOiBgSG9va2AK\nICAgICogYG5hbWVgOiBzdHJpbmcKICAgICogYGNvbmZpZ2A6IGRpY3QKICAg\nICogYGV2ZW50c2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAqIGBhY3RpdmVgOiBi\nb29sCiogYGdldF9ob29rKCBpZCApYDogYEhvb2tgCiAgICAqIGBpZGA6IGlu\ndGVnZXIKKiBgZ2V0X2hvb2tzKClgOiBpdGVyYXRvciBvZiBgSG9va2AKCklz\nc3VlcwotLS0tLS0KKiBgY3JlYXRlX2lzc3VlKCB0aXRsZSwgW2JvZHksIGFz\nc2lnbmVlLCBtaWxlc3RvbmUsIGxhYmVsc10gKWA6IGBJc3N1ZWAKICAgICog\nYHRpdGxlYDogc3RyaW5nCiAgICAqIGBib2R5YDogc3RyaW5nCiAgICAqIGBh\nc3NpZ25lZWA6IGBOYW1lZFVzZXJgCiAgICAqIGBtaWxlc3RvbmVgOiBgTWls\nZXN0b25lYAogICAgKiBgbGFiZWxzYDogbGlzdCBvZiBgTGFiZWxgCiogYGdl\ndF9pc3N1ZSggbnVtYmVyIClgOiBgSXNzdWVgCiAgICAqIGBudW1iZXJgOiBp\nbnRlZ2VyCiogYGdldF9pc3N1ZXMoIFttaWxlc3RvbmUsIHN0YXRlLCBhc3Np\nZ25lZSwgbWVudGlvbmVkLCBsYWJlbHMsIHNvcnQsIGRpcmVjdGlvbiwgc2lu\nY2VdIClgOiBpdGVyYXRvciBvZiBgSXNzdWVgCiAgICAqIGBtaWxlc3RvbmVg\nOiBgTWlsZXN0b25lYCBvciAibm9uZSIgb3IgIioiCiAgICAqIGBzdGF0ZWA6\nIHN0cmluZwogICAgKiBgYXNzaWduZWVgOiBgTmFtZWRVc2VyYCBvciAibm9u\nZSIgb3IgIioiCiAgICAqIGBtZW50aW9uZWRgOiBgTmFtZWRVc2VyYAogICAg\nKiBgbGFiZWxzYDogbGlzdCBvZiBgTGFiZWxgCiAgICAqIGBzb3J0YDogc3Ry\naW5nCiAgICAqIGBkaXJlY3Rpb25gOiBzdHJpbmcKICAgICogYHNpbmNlYDog\nZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgbGVnYWN5X3NlYXJjaF9pc3N1ZXMoIHN0\nYXRlLCBrZXl3b3JkIClgOiBpdGVyYXRvciBvZiBgSXNzdWVgCiAgICAqIGBz\ndGF0ZWA6ICJvcGVuIiBvciAiY2xvc2VkIgogICAgKiBga2V5d29yZGA6IHN0\ncmluZwoKSXNzdWVzX2V2ZW50cwotLS0tLS0tLS0tLS0tCiogYGdldF9pc3N1\nZXNfZXZlbnQoIGlkIClgOiBgSXNzdWVFdmVudGAKICAgICogYGlkYDogaW50\nZWdlcgoqIGBnZXRfaXNzdWVzX2V2ZW50cygpYDogaXRlcmF0b3Igb2YgYElz\nc3VlRXZlbnRgCgpLZXlzCi0tLS0KKiBgY3JlYXRlX2tleSggdGl0bGUsIGtl\neSApYDogYFJlcG9zaXRvcnlLZXlgCiAgICAqIGB0aXRsZWA6IHN0cmluZwog\nICAgKiBga2V5YDogc3RyaW5nCiogYGdldF9rZXkoIGlkIClgOiBgUmVwb3Np\ndG9yeUtleWAKICAgICogYGlkYDogaW50ZWdlcgoqIGBnZXRfa2V5cygpYDog\naXRlcmF0b3Igb2YgYFJlcG9zaXRvcnlLZXlgCgpMYWJlbHMKLS0tLS0tCiog\nYGNyZWF0ZV9sYWJlbCggbmFtZSwgY29sb3IgKWA6IGBMYWJlbGAKICAgICog\nYG5hbWVgOiBzdHJpbmcKICAgICogYGNvbG9yYDogc3RyaW5nCiogYGdldF9s\nYWJlbCggbmFtZSApYDogYExhYmVsYAogICAgKiBgbmFtZWA6IHN0cmluZwoq\nIGBnZXRfbGFiZWxzKClgOiBpdGVyYXRvciBvZiBgTGFiZWxgCgpMYW5ndWFn\nZXMKLS0tLS0tLS0tCiogYGdldF9sYW5ndWFnZXMoKWA6IGRpY3Qgb2Ygc3Ry\naW5nIHRvIGludGVnZXIKCk1pbGVzdG9uZXMKLS0tLS0tLS0tLQoqIGBjcmVh\ndGVfbWlsZXN0b25lKCB0aXRsZSwgW3N0YXRlLCBkZXNjcmlwdGlvbiwgZHVl\nX29uXSApYDogYE1pbGVzdG9uZWAKICAgICogYHRpdGxlYDogc3RyaW5nCiAg\nICAqIGBzdGF0ZWA6IHN0cmluZwogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJp\nbmcKICAgICogYGR1ZV9vbmA6IGRhdGUKKiBgZ2V0X21pbGVzdG9uZSggbnVt\nYmVyIClgOiBgTWlsZXN0b25lYAogICAgKiBgbnVtYmVyYDogaW50ZWdlcgoq\nIGBnZXRfbWlsZXN0b25lcyggW3N0YXRlLCBzb3J0LCBkaXJlY3Rpb25dIClg\nOiBpdGVyYXRvciBvZiBgTWlsZXN0b25lYAogICAgKiBgc3RhdGVgOiBzdHJp\nbmcKICAgICogYHNvcnRgOiBzdHJpbmcKICAgICogYGRpcmVjdGlvbmA6IHN0\ncmluZwoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBuYW1l\nLCBbZGVzY3JpcHRpb24sIGhvbWVwYWdlLCBwdWJsaWMsIGhhc19pc3N1ZXMs\nIGhhc193aWtpLCBoYXNfZG93bmxvYWRzXSApYAogICAgKiBgbmFtZWA6IHN0\ncmluZwogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcKICAgICogYGhvbWVw\nYWdlYDogc3RyaW5nCiAgICAqIGBwdWJsaWNgOiBib29sCiAgICAqIGBoYXNf\naXNzdWVzYDogYm9vbAogICAgKiBgaGFzX3dpa2lgOiBib29sCiAgICAqIGBo\nYXNfZG93bmxvYWRzYDogYm9vbAoKUHVsbHMKLS0tLS0KKiBgY3JlYXRlX3B1\nbGwoIDwgdGl0bGUsIGJvZHksIGJhc2UsIGhlYWQgPiBvciA8IGlzc3VlLCBi\nYXNlLCBoZWFkID4gKWA6IGBQdWxsUmVxdWVzdGAKICAgICogYHRpdGxlYDog\nc3RyaW5nCiAgICAqIGBib2R5YDogc3RyaW5nCiAgICAqIGBpc3N1ZWA6IGBJ\nc3N1ZWAKICAgICogYGJhc2VgOiBzdHJpbmcKICAgICogYGhlYWRgOiBzdHJp\nbmcKKiBgZ2V0X3B1bGwoIG51bWJlciApYDogYFB1bGxSZXF1ZXN0YAogICAg\nKiBgbnVtYmVyYDogaW50ZWdlcgoqIGBnZXRfcHVsbHMoIFtzdGF0ZV0gKWA6\nIGl0ZXJhdG9yIG9mIGBQdWxsUmVxdWVzdGAKICAgICogYHN0YXRlYDogc3Ry\naW5nCgpUYWdzCi0tLS0KKiBgZ2V0X3RhZ3MoKWA6IGl0ZXJhdG9yIG9mIGBU\nYWdgCgpUZWFtcwotLS0tLQoqIGBnZXRfdGVhbXMoKWA6IGl0ZXJhdG9yIG9m\nIGBUZWFtYAoKV2F0Y2hlcnMKLS0tLS0tLS0KKiBgZ2V0X3dhdGNoZXJzKClg\nOiBpdGVyYXRvciBvZiBgTmFtZWRVc2VyYAoKQ2xhc3MgYFJlcG9zaXRvcnlL\nZXlgCj09PT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0t\nLS0tCiogYGlkYDogaW50ZWdlcgoqIGBrZXlgOiBzdHJpbmcKKiBgdGl0bGVg\nOiBzdHJpbmcKKiBgdXJsYDogc3RyaW5nCiogYHZlcmlmaWVkYDogYm9vbAoK\nRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRlKClgCgpNb2RpZmljYXRpb24K\nLS0tLS0tLS0tLS0tCiogYGVkaXQoIFt0aXRsZSwga2V5XSApYAogICAgKiBg\ndGl0bGVgOiBzdHJpbmcKICAgICogYGtleWA6IHN0cmluZwoKQ2xhc3MgYFRh\nZ2AKPT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBjb21t\naXRgOiBgQ29tbWl0YAoqIGBuYW1lYDogc3RyaW5nCiogYHRhcmJhbGxfdXJs\nYDogc3RyaW5nCiogYHppcGJhbGxfdXJsYDogc3RyaW5nCgpDbGFzcyBgVGVh\nbWAKPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgaWRg\nOiBpbnRlZ2VyCiogYG1lbWJlcnNfY291bnRgOiBpbnRlZ2VyCiogYG5hbWVg\nOiBzdHJpbmcKKiBgcGVybWlzc2lvbmA6IHN0cmluZwoqIGByZXBvc19jb3Vu\ndGA6IGludGVnZXIKKiBgdXJsYDogc3RyaW5nCgpEZWxldGlvbgotLS0tLS0t\nLQoqIGBkZWxldGUoKWAKCk1lbWJlcnMKLS0tLS0tLQoqIGBhZGRfdG9fbWVt\nYmVycyggbWVtYmVyIClgCiAgICAqIGBtZW1iZXJgOiBgTmFtZWRVc2VyYAoq\nIGBnZXRfbWVtYmVycygpYDogaXRlcmF0b3Igb2YgYE5hbWVkVXNlcmAKKiBg\naGFzX2luX21lbWJlcnMoIG1lbWJlciApYDogYm9vbAogICAgKiBgbWVtYmVy\nYDogYE5hbWVkVXNlcmAKKiBgcmVtb3ZlX2Zyb21fbWVtYmVycyggbWVtYmVy\nIClgCiAgICAqIGBtZW1iZXJgOiBgTmFtZWRVc2VyYAoKTW9kaWZpY2F0aW9u\nCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBuYW1lLCBbcGVybWlzc2lvbl0gKWAK\nICAgICogYG5hbWVgOiBzdHJpbmcKICAgICogYHBlcm1pc3Npb25gOiBzdHJp\nbmcKClJlcG9zCi0tLS0tCiogYGFkZF90b19yZXBvcyggcmVwbyApYAogICAg\nKiBgcmVwb2A6IGBSZXBvc2l0b3J5YAoqIGBnZXRfcmVwb3MoKWA6IGl0ZXJh\ndG9yIG9mIGBSZXBvc2l0b3J5YAoqIGBoYXNfaW5fcmVwb3MoIHJlcG8gKWA6\nIGJvb2wKICAgICogYHJlcG9gOiBgUmVwb3NpdG9yeWAKKiBgcmVtb3ZlX2Zy\nb21fcmVwb3MoIHJlcG8gKWAKICAgICogYHJlcG9gOiBgUmVwb3NpdG9yeWAK\nCkNsYXNzIGBVc2VyS2V5YAo9PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMK\nLS0tLS0tLS0tLQoqIGBpZGA6IGludGVnZXIKKiBga2V5YDogc3RyaW5nCiog\nYHRpdGxlYDogc3RyaW5nCiogYHVybGA6IHN0cmluZwoqIGB2ZXJpZmllZGA6\nIGJvb2wKCkRlbGV0aW9uCi0tLS0tLS0tCiogYGRlbGV0ZSgpYAoKTW9kaWZp\nY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBbdGl0bGUsIGtleV0gKWAK\nICAgICogYHRpdGxlYDogc3RyaW5nCiAgICAqIGBrZXlgOiBzdHJpbmcK\n"} - diff --git a/github/tests/ReplayData/Repository.testGetContentsWithRef.txt b/github/tests/ReplayData/Repository.testGetContentsWithRef.txt deleted file mode 100644 index ce33693..0000000 --- a/github/tests/ReplayData/Repository.testGetContentsWithRef.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/readme?ref=refs%2Fheads%2Ftopic%2FExperimentOnDocumentation -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '7693'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 21:22:43 GMT'), ('connection', 'keep-alive'), ('etag', '"7c2a77b0e46dda4d6e11562d52ec5ae0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 10:46:11 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","html_url":"https://github.com/jacquev6/PyGithub/blob/refs/heads/topic/ExperimentOnDocumentation/ReadMe.rst","path":"ReadMe.rst","url":"https://api.github.com/repos/jacquev6/PyGithub/contents/ReadMe.rst?ref=refs/heads/topic/ExperimentOnDocumentation","content":"VGhpcyBpcyBhIFB5dGhvbiAoMiBhbmQgMykgbGlicmFyeSB0byBhY2Nlc3Mg\ndGhlIGBHaXRodWIgQVBJIHYzIDxodHRwOi8vZGV2ZWxvcGVyLmdpdGh1Yi5j\nb20vdjM+YF8uCgpXaXRoIGl0LCB5b3UgY2FuIG1hbmFnZSB5b3VyIGBHaXRo\ndWIgPGh0dHA6Ly9naXRodWIuY29tPmBfIHJlc291cmNlcyAocmVwb3NpdG9y\naWVzLCB1c2VyIHByb2ZpbGVzLCBvcmdhbml6YXRpb25zLCBldGMuKSBmcm9t\nIFB5dGhvbiBzY3JpcHRzLgoKSXQgY292ZXJzIHRoZSAqKmZ1bGwqKiBBUEks\nIGFuZCBhbGwgbWV0aG9kcyBhcmUgdGVzdGVkIGFnYWluc3QgdGhlIHJlYWwg\nR2l0aHViIHNpdGUuCgpTaG91bGQgeW91IGhhdmUgYW55IHF1ZXN0aW9uLCBv\nciBpZiB5b3UgZmluZCBhIGJ1Zywgb3IgaWYgdGhlcmUgaXMgc29tZXRoaW5n\nIHlvdSBjYW4gZG8gd2l0aCB0aGUgQVBJIGJ1dCBub3Qgd2l0aCBQeUdpdGh1\nYiwgcGxlYXNlIGBvcGVuIGFuIGlzc3VlIDxodHRwczovL2dpdGh1Yi5jb20v\namFjcXVldjYvUHlHaXRodWIvaXNzdWVzPmBfLgoKUHlHaXRodWIgaXMgc3Rh\nYmxlLiBJIHdpbGwgbWFpbnRhaW4gaXQgdXAgdG8gZGF0ZSB3aXRoIHRoZSBB\nUEksIGFuZCBmaXggYnVncyBpZiBhbnksIGJ1dCBJIGRvbid0IHBsYW4gbmV3\nIGhlYXZ5IGRldmVsb3BtZW50cy4KCldoYXQncyBuZXc/Cj09PT09PT09PT09\nCgpgIVtCdWlsZCBTdGF0dXNdKGh0dHBzOi8vc2VjdXJlLnRyYXZpcy1jaS5v\ncmcvamFjcXVldjYvUHlHaXRodWIucG5nKV0gPGh0dHA6Ly90cmF2aXMtY2ku\nb3JnL2phY3F1ZXY2L1B5R2l0aHViPmBfCgpOZXh0IHZlcnNpb24KLS0tLS0t\nLS0tLS0tCgoqIE1ham9yIGltcHJvdmVtZW50OiBzdXBwb3J0IFB5dGhvbiAz\nISBQeUdpdGh1YiBpcyBhdXRvbWF0aWNhbHkgdGVzdGVkIG9uIGBUcmF2aXMg\nPGh0dHA6Ly90cmF2aXMtY2kub3JnL2phY3F1ZXY2L1B5R2l0aHViPmBfIHdp\ndGggdmVyc2lvbnMgMi41LCAyLjYsIDIuNywgMy4xIGFuZCAzLjIgb2YgUHl0\naG9uCiogQWRkIGEgc2hvcnRjdXQgZnVuY3Rpb24gJ0dpdGh1Yi5nZXRfcmVw\nbycgdG8gZ2V0IGEgcmVwbyBkaXJlY3RseSBmcm9tIGl0cyBmdWxsIG5hbWUu\nIHRoYW5rIHlvdSBgbHdjIDxodHRwczovL2dpdGh1Yi5jb20vbHdjPmBfIGZv\nciB0aGUgY29udHJpYnV0aW9uCiogJ0dpdGh1Yi5nZXRfZ2l0aWdub3JlX3Rl\nbXBsYXRlcycgYW5kICdHaXRodWIuZ2V0X2dpdGlnbm9yZV90ZW1wbGF0ZScg\nZm9yIEFQSXMgJy9naXRpZ25vcmUvdGVtcGxhdGVzJwoKYFZlcnNpb24gMS45\nLjEgPGh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9pc3N1\nZXM/bWlsZXN0b25lPTE3JnN0YXRlPWNsb3NlZD5gXyAoTm92ZW1iZXIgMjB0\naCwgMjAxMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiogRml4IGFuIGFzc2Vy\ndGlvbiBmYWlsdXJlIHdoZW4gaW50ZWdlcnMgcmV0dXJuZWQgYnkgR2l0aHVi\nIGRvIG5vdCBmaXQgaW4gYSBQeXRob24gYGludGAKCmBWZXJzaW9uIDEuOS4w\nIDxodHRwczovL2dpdGh1Yi5jb20vamFjcXVldjYvUHlHaXRodWIvaXNzdWVz\nP21pbGVzdG9uZT0xNCZzdGF0ZT1jbG9zZWQ+YF8gKE5vdmVtYmVyIDE5dGgs\nIDIwMTIpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoqIFlvdSBjYW4gbm93IHVz\nZSB5b3VyIGNsaWVudF9pZCBhbmQgY2xpZW50X3NlY3JldCB0byBpbmNyZWFz\nZSByYXRlIGxpbWl0aW5nIHdpdGhvdXQgYXV0aGVudGljYXRpb24KKiBZb3Ug\nY2FuIG5vdyBzZW5kIGEgY3VzdG9tIFVzZXItQWdlbnQKKiBQdWxsUmVxdWVz\ndCBub3cgaGFzIGl0cyAnYXNzaWduZWUnIGF0dHJpYnV0ZSwgdGhhbmsgeW91\nIGBtc3RlYWQgPGh0dHBzOi8vZ2l0aHViLmNvbS9tc3RlYWQ+YF8KKiBSZXBv\nc2l0b3J5LmVkaXQgbm93IGhhcyAnZGVmYXVsdF9icmFuY2gnIHBhcmFtZXRl\ncgoqIGNyZWF0ZV9yZXBvIGhhcyAnYXV0b19pbml0JyBhbmQgJ2dpdGlnbm9y\nZV90ZW1wbGF0ZScgcGFyYW1ldGVycwoqIEdpc3RDb21tZW50IFVSTCBpcyBj\naGFuZ2VkIChzZWUgaHR0cDovL2RldmVsb3Blci5naXRodWIuY29tL2NoYW5n\nZXMvMjAxMi0xMC0zMS1naXN0LWNvbW1lbnQtdXJpcykKKiBBIHR5cG8gaW4g\ndGhlIHJlYWRtZSB3YXMgZml4ZWQgYnkgYHR5bW9maWogPGh0dHBzOi8vZ2l0\naHViLmNvbS90eW1vZmlqPmBfLCB0aGFuayB5b3UKKiBJbnRlcm5hbCBzdHVm\nZjoKICAgICogQWRkIGVuY29kaW5nIGNvbW1lbnQgdG8gUHl0aG9uIGZpbGVz\nLCB0aGFuayB5b3UgYFplYXJpbiA8aHR0cHM6Ly9naXRodWIuY29tL1plYXJp\nbj5gXwogICAgKiBSZXN0b3JlIHN1cHBvcnQgb2YgUHl0aG9uIDIuNQogICAg\nKiBSZXN0b3JlIGNvdmVyYWdlIG1lYXN1cmVtZW50IGluIHNldHVwLnB5IHRl\nc3QKICAgICogU21hbGwgcmVmYWN0b3JpbmcKClByZXZpb3VzIHZlcnNpb25z\nCi0tLS0tLS0tLS0tLS0tLS0tCgpTZWUgYENoYW5nZUxvZyA8aHR0cHM6Ly9n\naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0aHViL2Jsb2IvbWFzdGVyL2RvYy9D\naGFuZ2VMb2cubWQ+YF8uCgpEb3dubG9hZCBhbmQgaW5zdGFsbAo9PT09PT09\nPT09PT09PT09PT09PQoKVGhpcyBwYWNrYWdlIGlzIGluIHRoZSBgUHl0aG9u\nIFBhY2thZ2UgSW5kZXggPGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9Q\neUdpdGh1Yj5gXywgc28gYGVhc3lfaW5zdGFsbCBQeUdpdGh1YmAgb3IgYHBp\ncCBpbnN0YWxsIFB5R2l0aHViYCBzaG91bGQgYmUgZW5vdWdoLgpZb3UgY2Fu\nIGFsc28gY2xvbmUgaXQgb24gYEdpdGh1YiA8aHR0cDovL2dpdGh1Yi5jb20v\namFjcXVldjYvUHlHaXRodWI+YF8uCgpUdXRvcmlhbAo9PT09PT09PQoKRmly\nc3QgY3JlYXRlIGEgR2l0aHViIGluc3RhbmNlOjoKCiAgICBmcm9tIGdpdGh1\nYiBpbXBvcnQgR2l0aHViCgogICAgZyA9IEdpdGh1YiggInVzZXIiLCAicGFz\nc3dvcmQiICkKClRoZW4gcGxheSB3aXRoIHlvdXIgR2l0aHViIG9iamVjdHM6\nOgoKICAgIGZvciByZXBvIGluIGcuZ2V0X3VzZXIoKS5nZXRfcmVwb3MoKToK\nICAgICAgICBwcmludCByZXBvLm5hbWUKICAgICAgICByZXBvLmVkaXQoIGhh\nc193aWtpID0gRmFsc2UgKQoKWW91IGNhbiBhbHNvIGNyZWF0ZSBhIEdpdGh1\nYiBpbnN0YW5jZSB3aXRoIGFuIE9BdXRoIHRva2VuOjoKCiAgICBnID0gR2l0\naHViKCB0b2tlbiApCgpPciB3aXRob3V0IGF1dGhlbnRpY2F0aW9uOjoKCiAg\nICBnID0gR2l0aHViKCkKClJlZmVyZW5jZSBkb2N1bWVudGF0aW9uCj09PT09\nPT09PT09PT09PT09PT09PT09CgpZb3UgbmVlZCB0byB1c2UgYSBHaXRodWIg\nQVBJIGFuZCB3b25kZXIgd2hpY2ggY2xhc3MgaW1wbGVtZW50cyBpdD8gYFJl\nZmVyZW5jZSBvZiBBUElzIDxodHRwczovL2dpdGh1Yi5jb20vamFjcXVldjYv\nUHlHaXRodWIvYmxvYi9tYXN0ZXIvZG9jL1JlZmVyZW5jZU9mQXBpcy5tZD5g\nXwoKWW91IHdhbnQgYWxsIHRoZSBkZXRhaWxzIGFib3V0IFB5R2l0aHViIGNs\nYXNzZXM/IGBSZWZlcmVuY2Ugb2YgY2xhc3NlcyA8aHR0cHM6Ly9naXRodWIu\nY29tL2phY3F1ZXY2L1B5R2l0aHViL2Jsb2IvbWFzdGVyL2RvYy9SZWZlcmVu\nY2VPZkNsYXNzZXMubWQ+YF8KCkxpY2Vuc2luZwo9PT09PT09PT0KClB5R2l0\naHViIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgTGVzc2VyIEdlbmVy\nYWwgUHVibGljIExpY2VuY2UuClNlZSBmaWxlcyBDT1BZSU5HIGFuZCBDT1BZ\nSU5HLkxFU1NFUiwgYXMgcmVxdWVzdGVkIGJ5IGBHTlUgPGh0dHA6Ly93d3cu\nZ251Lm9yZy9saWNlbnNlcy9ncGwtaG93dG8uaHRtbD5gXy4KClByb2plY3Rz\nIHVzaW5nIFB5R2l0aHViCj09PT09PT09PT09PT09PT09PT09PT09CgooYE9w\nZW4gYW4gaXNzdWUgPGh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdp\ndGh1Yi9pc3N1ZXM+YF8gaWYgeW91IHdhbnQgdG8gYmUgbGlzdGVkIGhlcmUs\nIEknbGwgYmUgZ2xhZCB0byBhZGQgeW91ciBwcm9qZWN0KQoKKiBgVXB2ZXJ0\nZXIgPGh0dHBzOi8vdXB2ZXJ0ZXIuY29tPmBfIGlzIGEgd2ViLWJhc2VkIHNj\naGVtYXRpYyBjYXB0dXJlIGFuZCBQQ0IgbGF5b3V0IHRvb2wgZm9yIHBlb3Bs\nZSB3aG8gZGVzaWduIGVsZWN0cm9uaWNzLiBEZXNpZ25lcnMgY2FuIGF0dGFj\naCBhIEdpdGh1YiBwcm9qZWN0IHRvIGFuIFVwdmVydGVyIHByb2plY3QuCiog\nYFRyYXRpaHViaXMgPGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS90cmF0\naWh1YmlzLz5gXyBjb252ZXJ0cyBUcmFjIHRpY2tldHMgdG8gR2l0aHViIGlz\nc3VlcwoqIGh0dHBzOi8vZ2l0aHViLmNvbS9DTUIvY2xpZ2gKKiBodHRwczov\nL2dpdGh1Yi5jb20vbmF0ZHVjYS9xdWlja29wZW4gdXNlcyBQeUdpdGh1YiB0\nbyBhdXRvbWF0aWNhbHkgY3JlYXRlIGlzc3VlcwoqIGh0dHBzOi8vZ2lzdC5n\naXRodWIuY29tLzM0MzM3OTgKKiBodHRwczovL2dpdGh1Yi5jb20venNpY2lh\ncnovYXF1aWxhLWRzcC5vcmcKKiBodHRwczovL2dpdGh1Yi5jb20vcm9iY293\naWUvdmlydHVhbGVudndyYXBwZXIuZ2l0aHViCgpUaGV5IHRhbGsgYWJvdXQg\nUHlHaXRodWIKPT09PT09PT09PT09PT09PT09PT09PT09CgoqIGh0dHA6Ly9z\ndGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTA2MjUxOTAvbW9zdC1zdWl0\nYWJsZS1weXRob24tbGlicmFyeS1mb3ItZ2l0aHViLWFwaS12MwoqIGh0dHA6\nLy9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTIzNzk2MzcvZGphbmdv\nLXNvY2lhbC1hdXRoLWdpdGh1Yi1hdXRoZW50aWNhdGlvbgoqIGh0dHA6Ly93\nd3cuZnJlZWJzZC5vcmcvY2dpL2N2c3dlYi5jZ2kvcG9ydHMvZGV2ZWwvcHkt\ncHlnaXRodWIvCiogaHR0cDovL29kZHNob2Nrcy5jb20vYmxvZy8yMDEyLzA4\nLzAyL2RldmVsb3BpbmctY2hhcnNoZWV0Lwo=\n","sha":"3929e1cac3d833cf0c05b10d20de66bcc35a3815","size":4976,"encoding":"base64","name":"ReadMe.rst","_links":{"git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3929e1cac3d833cf0c05b10d20de66bcc35a3815","html":"https://github.com/jacquev6/PyGithub/blob/refs/heads/topic/ExperimentOnDocumentation/ReadMe.rst","self":"https://api.github.com/repos/jacquev6/PyGithub/contents/ReadMe.rst?ref=refs/heads/topic/ExperimentOnDocumentation"},"git_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3929e1cac3d833cf0c05b10d20de66bcc35a3815"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/ReferenceOfClasses.md?ref=refs%2Fheads%2Ftopic%2FExperimentOnDocumentation -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '45572'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4940'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 21:22:43 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7c2a77b0e46dda4d6e11562d52ec5ae0"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 10:46:22 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","path":"doc/ReferenceOfClasses.md","html_url":"https://github.com/jacquev6/PyGithub/blob/refs/heads/topic/ExperimentOnDocumentation/doc/ReferenceOfClasses.md","url":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/ReferenceOfClasses.md?ref=refs/heads/topic/ExperimentOnDocumentation","content":"WW91IGRvbid0IG5vcm1hbHkgY3JlYXRlIGluc3RhbmNlcyBvZiBhbnkgY2xh\nc3MgYnV0IGBHaXRodWJgLgpZb3Ugb2J0YWluIGluc3RhbmNlcyB0aHJvdWdo\nIGNhbGxzIHRvIGBzZWFyY2hfYCwgYGdldF9gIGFuZCBgY3JlYXRlX2AgbWV0\naG9kcy4KCkNsYXNzIGBHaXRodWJgCj09PT09PT09PT09PT09CgpDb25zdHJ1\nY3RlZCBmcm9tIHVzZXIncyBsb2dpbiBhbmQgcGFzc3dvcmQgb3IgT0F1dGgg\ndG9rZW4gb3Igbm90aGluZzoKCiAgICBnID0gR2l0aHViKCBsb2dpbiwgcGFz\nc3dvcmQgKQogICAgZyA9IEdpdGh1YiggdG9rZW4gKQogICAgZyA9IEdpdGh1\nYigpCgpZb3UgY2FuIGFsc28gdXNlIHlvdXIgY2xpZW50X2lkIGFuZCBjbGll\nbnRfc2VjcmV0OgogICAgZyA9IGdpdGh1Yi5HaXRodWIoY2xpZW50X2lkPSJZ\nb3VyQ2xpZW50SWQiLCBjbGllbnRfc2VjcmV0PSJZb3VyQ2xpZW50U2VjcmV0\nIikKCllvdSBjYW4gYWRkIGFuIGFyZ3VtZW50IGBiYXNlX3VybCA9ICJodHRw\nOi8vbXkuZW50ZXJwcmlzZS5jb206ODA4MC9wYXRoL3RvL2dpdGh1YiJgIHRv\nIGNvbm5lY3QgdG8gYSBsb2NhbCBpbnN0YWxsIG9mIEdpdGh1YiAoaWUuIEdp\ndGh1YiBFbnRlcnByaXNlKS4KWW91IGNhbiBhZGQgYW4gYXJndW1lbnQgYHVz\nZXJfYWdlbnRgIHRvIHNlbmQgYSBjdXN0b20gVXNlci1BZ2VudCBoZWFkZXIg\ndG8gR2l0aHViLgpBbm90aGVyIGFyZ3VtZW50LCB0aGF0IGNhbiBiZSBwYXNz\nZWQgaXMgYHRpbWVvdXRgIHdoaWNoIGhhcyBkZWZhdWx0IHZhbHVlIGAxMGAu\nCgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgcmF0ZV9saW1pdGluZ2A6IHR1\ncGxlIG9mIHR3byBpbnRlZ2VyczogcmVtYWluaW5nIGFuZCBsaW1pdCwgYXMg\nZXhwbGFpbmVkIGluIFtSYXRlIExpbWl0aW5nXShodHRwOi8vZGV2ZWxvcGVy\nLmdpdGh1Yi5jb20vdjMvI3JhdGUtbGltaXRpbmcpCgpNZXRob2RzCi0tLS0t\nLS0KKiBgZ2V0X3VzZXIoKWA6IGBBdXRoZW50aWNhdGVkVXNlcmAKKiBgZ2V0\nX3VzZXIoIGxvZ2luIClgOiBgTmFtZWRVc2VyYAogICAgKiBgbG9naW5gOiBz\ndHJpbmcKKiBgZ2V0X29yZ2FuaXphdGlvbiggbG9naW4gKWA6IGBPcmdhbml6\nYXRpb25gCiAgICAqIGBsb2dpbmA6IHN0cmluZwoqIGBnZXRfcmVwbyggZnVs\nbF9uYW1lIClgOiBgUmVwb3NpdG9yeWAKKiBgZ2V0X2dpc3QoIGlkIClgOiBg\nR2lzdGAKICAgICogYGlkYDogc3RyaW5nCiogYGdldF9naXN0cygpYDogYFBh\nZ2luYXRlZExpc3RgIG9mIGBHaXN0YAoqIGBnZXRfaG9va3MoKWA6IGBQYWdp\nbmF0ZWRMaXN0YCBvZiBgSG9va0Rlc2NyaXB0aW9uYAoqIGBsZWdhY3lfc2Vh\ncmNoX3JlcG9zKCBrZXl3b3JkLCBbbGFuZ3VhZ2VdIClgOiBgUGFnaW5hdGVk\nTGlzdGAgb2YgYFJlcG9zaXRvcnlgCiAgICAqIGBrZXl3b3JkYDogc3RyaW5n\nCiAgICAqIGBsYW5ndWFnZWA6IHN0cmluZwoqIGBsZWdhY3lfc2VhcmNoX3Vz\nZXJzKCBrZXl3b3JkIClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYE5hbWVkVXNl\ncmAKICAgICogYGtleXdvcmRgOiBzdHJpbmcKKiBgbGVnYWN5X3NlYXJjaF91\nc2VyX2J5X2VtYWlsKCBlbWFpbCApYDogYE5hbWVkVXNlcmAKICAgICogYGVt\nYWlsYDogc3RyaW5nCiogYHJlbmRlcl9tYXJrZG93biggdGV4dCwgW2NvbnRl\neHRdIClgOiBzdHJpbmcKICAgICogYHRleHRgOiBzdHJpbmcKICAgICogYGNv\nbnRleHRgOiBgUmVwb3NpdG9yeWAKKiBgZ2V0X2dpdGlnbm9yZV90ZW1wbGF0\nZXMoKWA6IGxpc3Qgb2Ygc3RyaW5nCiogYGdldF9naXRpZ25vcmVfdGVtcGxh\ndGUoIG5hbWUgKWA6IGBHaXRpZ25vcmVUZW1wbGF0ZWAKCkNsYXNzIGBQYWdp\nbmF0ZWRMaXN0YAo9PT09PT09PT09PT09PT09PT09PT0KClRoaXMgY2xhc3Mg\naW1wbGVtZW50cyBsYXp5IFtwYWdpbmF0aW9uIHJlcXVlc3RzXShodHRwOi8v\nZGV2ZWxvcGVyLmdpdGh1Yi5jb20vdjMvI3BhZ2luYXRpb24pIGFuZCBoaWRl\ncyBwYWdpbmF0aW9uIGZyb20geW91LiBJdCBpcyB0aGUgcmV0dXJuIHR5cGUg\nb2YgYGdldF9gIG1ldGhvZHMgdGhhdCByZXR1cm4gYSBjb2xsZWN0aW9uLgoK\nWW91IGNhbiBpdGVyYXRlIG9uIGl0IGluIGEgYGZvciBmIGluIHVzZXIuZ2V0\nX2ZvbGxvd2VycygpOmAgbG9vcCBvciB3aXRoIGFueSBbaXRlcnRvb2xzXSho\ndHRwOi8vZG9jcy5weXRob24ub3JnL2xpYnJhcnkvaXRlcnRvb2xzLmh0bWwp\nIGZ1bmN0aW9ucy4KCllvdSBjYW5ub3Qga25vdyB0aGUgbnVtYmVyIG9mIG9i\namVjdHMgcmV0dXJuZWQgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIGl0ZXJhdGlv\nbi4gSWYgdGhhdCdzICpyZWFsbHkqIHdoYXQgeW91IG5lZWQsIHlvdSBjYW50\nIHVzZSBgbGVuKCBsaXN0KCB1c2VyLmdldF9mb2xsb3dlcnMoKSApIClgLAp3\naGljaCBkb2VzIGFsbCB0aGUgcmVxdWVzdHMgbmVlZGVkIHRvIGVudW1lcmF0\nZSB0aGUgdXNlcidzIGZvbGxvd2Vycy4gTm90ZSB0aGF0IHRoZXJlIGlzIG9m\ndGVuIGFuIGF0dHJpYnV0ZSBnaXZpbmcgdGhpcyB2YWx1ZSAoaW4gdGhhdCBj\nYXNlIGB1c2VyLmZvbGxvd2Vyc2ApLgoKWW91IGNhbiBhbHNvIGNhbGwgYGdl\ndF9wYWdlKCBwYWdlIClgIHRvIGV4cGxpY2l0ZWx5IGdldCBhIHNwZWNpZmlj\nIHBhZ2UgaWYgeW91IGRvbid0IHdhbnQgdG8gaGlkZSBwYWdpbmF0aW9uLiBg\ncGFnZWAgc3RhcnRzIGF0IDAuCiogYGdldF9wYWdlKCBwYWdlIClgOiBsaXN0\nCiAgICAqIGBwYWdlYDogaW50ZWdlcgoKQ2xhc3MgYEdpdGh1YkV4Y2VwdGlv\nbmAKPT09PT09PT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0t\nLS0tLQoqIGBzdGF0dXNgOiBpbnRlZ2VyCiogYGRhdGFgOiBkaWN0CgpDbGFz\ncyBgQXV0aGVudGljYXRlZFVzZXJgCj09PT09PT09PT09PT09PT09PT09PT09\nPT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhdmF0YXJfdXJsYDogc3Ry\naW5nCiogYGJpb2A6IHN0cmluZwoqIGBibG9nYDogc3RyaW5nCiogYGNvbGxh\nYm9yYXRvcnNgOiBpbnRlZ2VyCiogYGNvbXBhbnlgOiBzdHJpbmcKKiBgY3Jl\nYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGRpc2tfdXNhZ2VgOiBp\nbnRlZ2VyCiogYGVtYWlsYDogc3RyaW5nCiogYGZvbGxvd2Vyc2A6IGludGVn\nZXIKKiBgZm9sbG93aW5nYDogaW50ZWdlcgoqIGBncmF2YXRhcl9pZGA6IHN0\ncmluZwoqIGBoaXJlYWJsZWA6IGJvb2wKKiBgaHRtbF91cmxgOiBzdHJpbmcK\nKiBgaWRgOiBpbnRlZ2VyCiogYGxvY2F0aW9uYDogc3RyaW5nCiogYGxvZ2lu\nYDogc3RyaW5nCiogYG5hbWVgOiBzdHJpbmcKKiBgb3duZWRfcHJpdmF0ZV9y\nZXBvc2A6IGludGVnZXIKKiBgcGxhbmA6IGBQbGFuYAoqIGBwcml2YXRlX2dp\nc3RzYDogaW50ZWdlcgoqIGBwdWJsaWNfZ2lzdHNgOiBpbnRlZ2VyCiogYHB1\nYmxpY19yZXBvc2A6IGludGVnZXIKKiBgdG90YWxfcHJpdmF0ZV9yZXBvc2A6\nIGludGVnZXIKKiBgdHlwZWA6IHN0cmluZwoqIGB1cmxgOiBzdHJpbmcKCkF1\ndGhvcml6YXRpb25zCi0tLS0tLS0tLS0tLS0tCiogYGNyZWF0ZV9hdXRob3Jp\nemF0aW9uKCBbc2NvcGVzLCBub3RlLCBub3RlX3VybF0gKWA6IGBBdXRob3Jp\nemF0aW9uYAogICAgKiBgc2NvcGVzYDogbGlzdCBvZiBzdHJpbmcKICAgICog\nYG5vdGVgOiBzdHJpbmcKICAgICogYG5vdGVfdXJsYDogc3RyaW5nCiogYGdl\ndF9hdXRob3JpemF0aW9uKCBpZCApYDogYEF1dGhvcml6YXRpb25gCiAgICAq\nIGBpZGA6IGludGVnZXIKKiBgZ2V0X2F1dGhvcml6YXRpb25zKClgOiBgUGFn\naW5hdGVkTGlzdGAgb2YgYEF1dGhvcml6YXRpb25gCgpFbWFpbHMKLS0tLS0t\nCiogYGFkZF90b19lbWFpbHMoIGVtYWlsLCAuLi4gKWAKICAgICogYGVtYWls\nYDogc3RyaW5nCiogYGdldF9lbWFpbHMoKWA6IGxpc3Qgb2Ygc3RyaW5nCiog\nYHJlbW92ZV9mcm9tX2VtYWlscyggZW1haWwsIC4uLiApYAogICAgKiBgZW1h\naWxgOiBzdHJpbmcKCkV2ZW50cwotLS0tLS0KKiBgZ2V0X2V2ZW50cygpYDog\nYFBhZ2luYXRlZExpc3RgIG9mIGBFdmVudGAKKiBgZ2V0X29yZ2FuaXphdGlv\nbl9ldmVudHMoIG9yZyApYDogYFBhZ2luYXRlZExpc3RgIG9mIGBFdmVudGAK\nICAgICogYG9yZ2A6IGBPcmdhbml6YXRpb25gCgpGb2xsb3dlcnMKLS0tLS0t\nLS0tCiogYGdldF9mb2xsb3dlcnMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBg\nTmFtZWRVc2VyYAoKRm9sbG93aW5nCi0tLS0tLS0tLQoqIGBhZGRfdG9fZm9s\nbG93aW5nKCBmb2xsb3dpbmcgKWAKICAgICogYGZvbGxvd2luZ2A6IGBOYW1l\nZFVzZXJgCiogYGdldF9mb2xsb3dpbmcoKWA6IGBQYWdpbmF0ZWRMaXN0YCBv\nZiBgTmFtZWRVc2VyYAoqIGBoYXNfaW5fZm9sbG93aW5nKCBmb2xsb3dpbmcg\nKWA6IGJvb2wKICAgICogYGZvbGxvd2luZ2A6IGBOYW1lZFVzZXJgCiogYHJl\nbW92ZV9mcm9tX2ZvbGxvd2luZyggZm9sbG93aW5nIClgCiAgICAqIGBmb2xs\nb3dpbmdgOiBgTmFtZWRVc2VyYAoKRm9ya2luZwotLS0tLS0tCiogYGNyZWF0\nZV9mb3JrKCByZXBvIClgOiBgUmVwb3NpdG9yeWAKICAgICogYHJlcG9gOiBg\nUmVwb3NpdG9yeWAKCkdpc3RzCi0tLS0tCiogYGNyZWF0ZV9naXN0KCBwdWJs\naWMsIGZpbGVzLCBbZGVzY3JpcHRpb25dIClgOiBgR2lzdGAKICAgICogYHB1\nYmxpY2A6IGJvb2wKICAgICogYGZpbGVzYDogZGljdCBvZiBzdHJpbmcgdG8g\nYElucHV0RmlsZUNvbnRlbnRgCiAgICAqIGBkZXNjcmlwdGlvbmA6IHN0cmlu\nZwoqIGBnZXRfZ2lzdHMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgR2lzdGAK\nKiBgZ2V0X3N0YXJyZWRfZ2lzdHMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBg\nR2lzdGAKCklzc3VlcwotLS0tLS0KKiBgZ2V0X2lzc3VlcygpYDogYFBhZ2lu\nYXRlZExpc3RgIG9mIGBJc3N1ZWAKCktleXMKLS0tLQoqIGBjcmVhdGVfa2V5\nKCB0aXRsZSwga2V5IClgOiBgVXNlcktleWAKICAgICogYHRpdGxlYDogc3Ry\naW5nCiAgICAqIGBrZXlgOiBzdHJpbmcKKiBgZ2V0X2tleSggaWQgKWA6IGBV\nc2VyS2V5YAogICAgKiBgaWRgOiBpbnRlZ2VyCiogYGdldF9rZXlzKClgOiBg\nUGFnaW5hdGVkTGlzdGAgb2YgYFVzZXJLZXlgCgpNb2RpZmljYXRpb24KLS0t\nLS0tLS0tLS0tCiogYGVkaXQoIFtuYW1lLCBlbWFpbCwgYmxvZywgY29tcGFu\neSwgbG9jYXRpb24sIGhpcmVhYmxlLCBiaW9dIClgCiAgICAqIGBuYW1lYDog\nc3RyaW5nCiAgICAqIGBlbWFpbGA6IHN0cmluZwogICAgKiBgYmxvZ2A6IHN0\ncmluZwogICAgKiBgY29tcGFueWA6IHN0cmluZwogICAgKiBgbG9jYXRpb25g\nOiBzdHJpbmcKICAgICogYGhpcmVhYmxlYDogYm9vbAogICAgKiBgYmlvYDog\nc3RyaW5nCgpPcmdzCi0tLS0KKiBgZ2V0X29yZ3MoKWA6IGBQYWdpbmF0ZWRM\naXN0YCBvZiBgT3JnYW5pemF0aW9uYAoKUmVwb3MKLS0tLS0KKiBgY3JlYXRl\nX3JlcG8oIG5hbWUsIFtkZXNjcmlwdGlvbiwgaG9tZXBhZ2UsIHByaXZhdGUs\nIGhhc19pc3N1ZXMsIGhhc193aWtpLCBoYXNfZG93bmxvYWRzLCBhdXRvX2lu\naXQsIGdpdGlnbm9yZV90ZW1wbGF0ZV0gKWA6IGBSZXBvc2l0b3J5YAogICAg\nKiBgbmFtZWA6IHN0cmluZwogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcK\nICAgICogYGhvbWVwYWdlYDogc3RyaW5nCiAgICAqIGBwcml2YXRlYDogYm9v\nbAogICAgKiBgaGFzX2lzc3Vlc2A6IGJvb2wKICAgICogYGhhc193aWtpYDog\nYm9vbAogICAgKiBgaGFzX2Rvd25sb2Fkc2A6IGJvb2wKICAgICogYGF1dG9f\naW5pdGA6IGJvb2wKICAgICogYGdpdGlnbm9yZV90ZW1wbGF0ZWA6IHN0cmlu\nZwoqIGBnZXRfcmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAgICAqIGBu\nYW1lYDogc3RyaW5nCiogYGdldF9yZXBvcyggW3R5cGUsIHNvcnQsIGRpcmVj\ndGlvbl0gKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgUmVwb3NpdG9yeWAKICAg\nICogYHR5cGVgOiBzdHJpbmcKICAgICogYHNvcnRgOiBzdHJpbmcKICAgICog\nYGRpcmVjdGlvbmA6IHN0cmluZwoKU3RhcnJlZAotLS0tLS0tCiogYGFkZF90\nb19zdGFycmVkKCBzdGFycmVkIClgCiAgICAqIGBzdGFycmVkYDogYFJlcG9z\naXRvcnlgCiogYGdldF9zdGFycmVkKClgOiBgUGFnaW5hdGVkTGlzdGAgb2Yg\nYFJlcG9zaXRvcnlgCiogYGhhc19pbl9zdGFycmVkKCBzdGFycmVkIClgOiBi\nb29sCiAgICAqIGBzdGFycmVkYDogYFJlcG9zaXRvcnlgCiogYHJlbW92ZV9m\ncm9tX3N0YXJyZWQoIHN0YXJyZWQgKWAKICAgICogYHN0YXJyZWRgOiBgUmVw\nb3NpdG9yeWAKClN1YnNjcmlwdGlvbnMKLS0tLS0tLS0tLS0tLQoqIGBhZGRf\ndG9fc3Vic2NyaXB0aW9ucyggc3Vic2NyaXB0aW9uIClgCiAgICAqIGBzdWJz\nY3JpcHRpb25gOiBgUmVwb3NpdG9yeWAKKiBgZ2V0X3N1YnNjcmlwdGlvbnMo\nKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgUmVwb3NpdG9yeWAKKiBgaGFzX2lu\nX3N1YnNjcmlwdGlvbnMoIHN1YnNjcmlwdGlvbiApYDogYm9vbAogICAgKiBg\nc3Vic2NyaXB0aW9uYDogYFJlcG9zaXRvcnlgCiogYHJlbW92ZV9mcm9tX3N1\nYnNjcmlwdGlvbnMoIHN1YnNjcmlwdGlvbiApYAogICAgKiBgc3Vic2NyaXB0\naW9uYDogYFJlcG9zaXRvcnlgCgpXYXRjaGVkCi0tLS0tLS0KKiBgYWRkX3Rv\nX3dhdGNoZWQoIHdhdGNoZWQgKWAKICAgICogYHdhdGNoZWRgOiBgUmVwb3Np\ndG9yeWAKKiBgZ2V0X3dhdGNoZWQoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBg\nUmVwb3NpdG9yeWAKKiBgaGFzX2luX3dhdGNoZWQoIHdhdGNoZWQgKWA6IGJv\nb2wKICAgICogYHdhdGNoZWRgOiBgUmVwb3NpdG9yeWAKKiBgcmVtb3ZlX2Zy\nb21fd2F0Y2hlZCggd2F0Y2hlZCApYAogICAgKiBgd2F0Y2hlZGA6IGBSZXBv\nc2l0b3J5YAoKQ2xhc3MgYEF1dGhvcml6YXRpb25gCj09PT09PT09PT09PT09\nPT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGFwcGA6IGBBdXRo\nb3JpemF0aW9uQXBwbGljYXRpb25gCiogYGNyZWF0ZWRfYXRgOiBkYXRldGlt\nZS5kYXRldGltZQoqIGBpZGA6IGludGVnZXIKKiBgbm90ZWA6IHN0cmluZwoq\nIGBub3RlX3VybGA6IHN0cmluZwoqIGBzY29wZXNgOiBsaXN0IG9mIHN0cmlu\nZwoqIGB0b2tlbmA6IHN0cmluZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUu\nZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCgpEZWxldGlvbgotLS0tLS0tLQoq\nIGBkZWxldGUoKWAKCk1vZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRp\ndCggW3Njb3BlcywgYWRkX3Njb3BlcywgcmVtb3ZlX3Njb3Blcywgbm90ZSwg\nbm90ZV91cmxdIClgCiAgICAqIGBzY29wZXNgOiBsaXN0IG9mIHN0cmluZwog\nICAgKiBgYWRkX3Njb3Blc2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAqIGByZW1v\ndmVfc2NvcGVzYDogbGlzdCBvZiBzdHJpbmcKICAgICogYG5vdGVgOiBzdHJp\nbmcKICAgICogYG5vdGVfdXJsYDogc3RyaW5nCgpDbGFzcyBgQXV0aG9yaXph\ndGlvbkFwcGxpY2F0aW9uYAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG5hbWVgOiBzdHJpbmcK\nKiBgdXJsYDogc3RyaW5nCgpDbGFzcyBgQnJhbmNoYAo9PT09PT09PT09PT09\nPQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNvbW1pdGA6IGBDb21taXRg\nCiogYG5hbWVgOiBzdHJpbmcKCkNsYXNzIGBDb21taXRgCj09PT09PT09PT09\nPT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYXV0aG9yYDogYE5hbWVk\nVXNlcmAKKiBgY29tbWl0YDogYEdpdENvbW1pdGAKKiBgY29tbWl0dGVyYDog\nYE5hbWVkVXNlcmAKKiBgZmlsZXNgOiBsaXN0IG9mIGBGaWxlYAoqIGBwYXJl\nbnRzYDogbGlzdCBvZiBgQ29tbWl0YAoqIGBzaGFgOiBzdHJpbmcKKiBgc3Rh\ndHNgOiBgQ29tbWl0U3RhdHNgCiogYHVybGA6IHN0cmluZwoKQ29tbWVudHMK\nLS0tLS0tLS0KKiBgY3JlYXRlX2NvbW1lbnQoIGJvZHksIFtsaW5lLCBwYXRo\nLCBwb3NpdGlvbl0gKWA6IGBDb21taXRDb21tZW50YAogICAgKiBgYm9keWA6\nIHN0cmluZwogICAgKiBgbGluZWA6IGludGVnZXIKICAgICogYHBhdGhgOiBz\ndHJpbmcKICAgICogYHBvc2l0aW9uYDogaW50ZWdlcgoqIGBnZXRfY29tbWVu\ndHMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgQ29tbWl0Q29tbWVudGAKClN0\nYXR1c2VzCi0tLS0tLS0tCiogYGNyZWF0ZV9zdGF0dXMoIHN0YXRlLCBbdGFy\nZ2V0X3VybCwgZGVzY3JpcHRpb25dIClgOiBgQ29tbWl0U3RhdHVzYAogICAg\nKiBgc3RhdGVgOiBzdHJpbmcKICAgICogYHRhcmdldF91cmxgOiBzdHJpbmcK\nICAgICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiogYGdldF9zdGF0dXNlcygp\nYDogYFBhZ2luYXRlZExpc3RgIG9mIGBDb21taXRTdGF0dXNgCgpDbGFzcyBg\nQ29tbWl0Q29tbWVudGAKPT09PT09PT09PT09PT09PT09PT09CgpBdHRyaWJ1\ndGVzCi0tLS0tLS0tLS0KKiBgYm9keWA6IHN0cmluZwoqIGBjb21taXRfaWRg\nOiBzdHJpbmcKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiog\nYGh0bWxfdXJsYDogc3RyaW5nCiogYGlkYDogaW50ZWdlcgoqIGBsaW5lYDog\naW50ZWdlcgoqIGBwYXRoYDogc3RyaW5nCiogYHBvc2l0aW9uYDogaW50ZWdl\ncgoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDog\nc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoKRGVsZXRpb24KLS0tLS0t\nLS0KKiBgZGVsZXRlKClgCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiog\nYGVkaXQoIGJvZHkgKWAKICAgICogYGJvZHlgOiBzdHJpbmcKCkNsYXNzIGBD\nb21taXRTdGF0c2AKPT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwot\nLS0tLS0tLS0tCiogYGFkZGl0aW9uc2A6IGludGVnZXIKKiBgZGVsZXRpb25z\nYDogaW50ZWdlcgoqIGB0b3RhbGA6IGludGVnZXIKCkNsYXNzIGBDb21taXRT\ndGF0dXNgCj09PT09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0t\nLS0tLS0KKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGNy\nZWF0b3JgOiBgTmFtZWRVc2VyYAoqIGBkZXNjcmlwdGlvbmA6IHN0cmluZwoq\nIGBpZGA6IGludGVnZXIKKiBgc3RhdGVgOiBzdHJpbmcKKiBgdGFyZ2V0X3Vy\nbGA6IHN0cmluZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUK\nCkNsYXNzIGBDb21wYXJpc29uYAo9PT09PT09PT09PT09PT09PT0KCkF0dHJp\nYnV0ZXMKLS0tLS0tLS0tLQoqIGBhaGVhZF9ieWA6IGludGVnZXIKKiBgYmFz\nZV9jb21taXRgOiBgQ29tbWl0YAoqIGBiZWhpbmRfYnlgOiBpbnRlZ2VyCiog\nYGNvbW1pdHNgOiBsaXN0IG9mIGBDb21taXRgCiogYGRpZmZfdXJsYDogc3Ry\naW5nCiogYGZpbGVzYDogbGlzdCBvZiBgRmlsZWAKKiBgaHRtbF91cmxgOiBz\ndHJpbmcKKiBgcGF0Y2hfdXJsYDogc3RyaW5nCiogYHBlcm1hbGlua191cmxg\nOiBzdHJpbmcKKiBgc3RhdHVzYDogc3RyaW5nCiogYHRvdGFsX2NvbW1pdHNg\nOiBpbnRlZ2VyCiogYHVybGA6IHN0cmluZwoKQ2xhc3MgYENvbnRlbnRGaWxl\nYAo9PT09PT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0K\nKiBgY29udGVudGA6IHN0cmluZwoqIGBlbmNvZGluZ2A6IHN0cmluZwoqIGBu\nYW1lYDogc3RyaW5nCiogYHBhdGhgOiBzdHJpbmcKKiBgc2hhYDogc3RyaW5n\nCiogYHNpemVgOiBpbnRlZ2VyCiogYHR5cGVgOiBzdHJpbmcKCkNsYXNzIGBE\nb3dubG9hZGAKPT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0t\nLS0tCiogYGFjY2Vzc2tleWlkYDogc3RyaW5nCiogYGFjbGA6IHN0cmluZwoq\nIGBidWNrZXRgOiBzdHJpbmcKKiBgY29udGVudF90eXBlYDogc3RyaW5nCiog\nYGNyZWF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBkZXNjcmlwdGlv\nbmA6IHN0cmluZwoqIGBkb3dubG9hZF9jb3VudGA6IGludGVnZXIKKiBgZXhw\naXJhdGlvbmRhdGVgOiBkYXRldGltZS5kYXRldGltZQoqIGBodG1sX3VybGA6\nIHN0cmluZwoqIGBpZGA6IGludGVnZXIKKiBgbWltZV90eXBlYDogc3RyaW5n\nCiogYG5hbWVgOiBzdHJpbmcKKiBgcGF0aGA6IHN0cmluZwoqIGBwb2xpY3lg\nOiBzdHJpbmcKKiBgcHJlZml4YDogc3RyaW5nCiogYHJlZGlyZWN0YDogYm9v\nbAoqIGBzM191cmxgOiBzdHJpbmcKKiBgc2lnbmF0dXJlYDogc3RyaW5nCiog\nYHNpemVgOiBpbnRlZ2VyCiogYHVybGA6IHN0cmluZwoKRGVsZXRpb24KLS0t\nLS0tLS0KKiBgZGVsZXRlKClgCgpDbGFzcyBgRXZlbnRgCj09PT09PT09PT09\nPT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhY3RvcmA6IGBOYW1lZFVz\nZXJgCiogYGNyZWF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBpZGA6\nIHN0cmluZwoqIGBvcmdgOiBgT3JnYW5pemF0aW9uYAoqIGBwYXlsb2FkYDog\nZGljdAoqIGBwdWJsaWNgOiBib29sCiogYHJlcG9gOiBgUmVwb3NpdG9yeWAK\nKiBgdHlwZWA6IHN0cmluZwoKQ2xhc3MgYEZpbGVgCj09PT09PT09PT09PQoK\nQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGFkZGl0aW9uc2A6IGludGVnZXIK\nKiBgYmxvYl91cmxgOiBzdHJpbmcKKiBgY2hhbmdlc2A6IGludGVnZXIKKiBg\nZGVsZXRpb25zYDogaW50ZWdlcgoqIGBmaWxlbmFtZWA6IHN0cmluZwoqIGBw\nYXRjaGA6IHN0cmluZwoqIGByYXdfdXJsYDogc3RyaW5nCiogYHNoYWA6IHN0\ncmluZwoqIGBzdGF0dXNgOiBzdHJpbmcKCkNsYXNzIGBHaXN0YAo9PT09PT09\nPT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBjb21tZW50c2A6IGlu\ndGVnZXIKKiBgY3JlYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGRl\nc2NyaXB0aW9uYDogc3RyaW5nCiogYGZpbGVzYDogZGljdCBvZiBzdHJpbmcg\ndG8gYEdpc3RGaWxlYAoqIGBmb3JrX29mYDogYEdpc3RgCiogYGZvcmtzYDog\nbGlzdCBvZiBgR2lzdGAKKiBgZ2l0X3B1bGxfdXJsYDogc3RyaW5nCiogYGdp\ndF9wdXNoX3VybGA6IHN0cmluZwoqIGBoaXN0b3J5YDogbGlzdCBvZiBgR2lz\ndEhpc3RvcnlTdGF0ZWAKKiBgaHRtbF91cmxgOiBzdHJpbmcKKiBgaWRgOiBz\ndHJpbmcKKiBgcHVibGljYDogYm9vbAoqIGB1cGRhdGVkX2F0YDogZGF0ZXRp\nbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRV\nc2VyYAoKQ29tbWVudHMKLS0tLS0tLS0KKiBgY3JlYXRlX2NvbW1lbnQoIGJv\nZHkgKWA6IGBHaXN0Q29tbWVudGAKICAgICogYGJvZHlgOiBzdHJpbmcKKiBg\nZ2V0X2NvbW1lbnQoIGlkIClgOiBgR2lzdENvbW1lbnRgCiAgICAqIGBpZGA6\nIGludGVnZXIKKiBgZ2V0X2NvbW1lbnRzKClgOiBgUGFnaW5hdGVkTGlzdGAg\nb2YgYEdpc3RDb21tZW50YAoKRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRl\nKClgCgpGb3JraW5nCi0tLS0tLS0KKiBgY3JlYXRlX2ZvcmsoKWA6IGBHaXN0\nYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBbZGVzY3Jp\ncHRpb24sIGZpbGVzXSApYAogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcK\nICAgICogYGZpbGVzYDogZGljdCBvZiBzdHJpbmcgdG8gYElucHV0RmlsZUNv\nbnRlbnRgCgpTdGFycmluZwotLS0tLS0tLQoqIGBpc19zdGFycmVkKClgOiBi\nb29sCiogYHJlc2V0X3N0YXJyZWQoKWAKKiBgc2V0X3N0YXJyZWQoKWAKCkNs\nYXNzIGBHaXN0Q29tbWVudGAKPT09PT09PT09PT09PT09PT09PQoKQXR0cmli\ndXRlcwotLS0tLS0tLS0tCiogYGJvZHlgOiBzdHJpbmcKKiBgY3JlYXRlZF9h\ndGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGlkYDogaW50ZWdlcgoqIGB1cGRh\ndGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCiog\nYHVzZXJgOiBgTmFtZWRVc2VyYAoKRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVs\nZXRlKClgCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIGJv\nZHkgKWAKICAgICogYGJvZHlgOiBzdHJpbmcKCkNsYXNzIGBHaXN0RmlsZWAK\nPT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNv\nbnRlbnRgOiBzdHJpbmcKKiBgZmlsZW5hbWVgOiBzdHJpbmcKKiBgbGFuZ3Vh\nZ2VgOiBzdHJpbmcKKiBgcmF3X3VybGA6IHN0cmluZwoqIGBzaXplYDogaW50\nZWdlcgoKQ2xhc3MgYEdpc3RIaXN0b3J5U3RhdGVgCj09PT09PT09PT09PT09\nPT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNoYW5nZV9z\ndGF0dXNgOiBgQ29tbWl0U3RhdHNgCiogYGNvbW1pdHRlZF9hdGA6IGRhdGV0\naW1lLmRhdGV0aW1lCiogYHVybGA6IHN0cmluZwoqIGB1c2VyYDogYE5hbWVk\nVXNlcmAKKiBgdmVyc2lvbmA6IHN0cmluZwoKQ2xhc3MgYEdpdEF1dGhvcmAK\nPT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBk\nYXRlYDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgZW1haWxgOiBzdHJpbmcKKiBg\nbmFtZWA6IHN0cmluZwoKQ2xhc3MgYEdpdEJsb2JgCj09PT09PT09PT09PT09\nPQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNvbnRlbnRgOiBzdHJpbmcK\nKiBgZW5jb2RpbmdgOiBzdHJpbmcKKiBgc2hhYDogc3RyaW5nCiogYHNpemVg\nOiBpbnRlZ2VyCiogYHVybGA6IHN0cmluZwoKQ2xhc3MgYEdpdENvbW1pdGAK\nPT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBh\ndXRob3JgOiBgR2l0QXV0aG9yYAoqIGBjb21taXR0ZXJgOiBgR2l0QXV0aG9y\nYAoqIGBtZXNzYWdlYDogc3RyaW5nCiogYHBhcmVudHNgOiBsaXN0IG9mIGBH\naXRDb21taXRgCiogYHNoYWA6IHN0cmluZwoqIGB0cmVlYDogYEdpdFRyZWVg\nCiogYHVybGA6IHN0cmluZwoKQ2xhc3MgYEdpdE9iamVjdGAKPT09PT09PT09\nPT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBzaGFgOiBzdHJp\nbmcKKiBgdHlwZWA6IHN0cmluZwoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBH\naXRpZ25vcmVUZW1wbGF0ZWAKPT09PT09PT09PT09PT09PT09PT09PT09PQoK\nQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG5hbWVgOiBzdHJpbmcKKiBgc291\ncmNlYDogc3RyaW5nCgpDbGFzcyBgR2l0UmVmYAo9PT09PT09PT09PT09PQoK\nQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG9iamVjdGA6IGBHaXRPYmplY3Rg\nCiogYHJlZmA6IHN0cmluZwoqIGB1cmxgOiBzdHJpbmcKCkRlbGV0aW9uCi0t\nLS0tLS0tCiogYGRlbGV0ZSgpYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0t\nLQoqIGBlZGl0KCBzaGEsIFtmb3JjZV0gKWAKICAgICogYHNoYWA6IHN0cmlu\nZwogICAgKiBgZm9yY2VgOiBib29sCgpDbGFzcyBgR2l0VGFnYAo9PT09PT09\nPT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG1lc3NhZ2VgOiBz\ndHJpbmcKKiBgb2JqZWN0YDogYEdpdE9iamVjdGAKKiBgc2hhYDogc3RyaW5n\nCiogYHRhZ2A6IHN0cmluZwoqIGB0YWdnZXJgOiBgR2l0QXV0aG9yYAoqIGB1\ncmxgOiBzdHJpbmcKCkNsYXNzIGBHaXRUcmVlYAo9PT09PT09PT09PT09PT0K\nCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBzaGFgOiBzdHJpbmcKKiBgdHJl\nZWA6IGxpc3Qgb2YgYEdpdFRyZWVFbGVtZW50YAoqIGB1cmxgOiBzdHJpbmcK\nCkNsYXNzIGBHaXRUcmVlRWxlbWVudGAKPT09PT09PT09PT09PT09PT09PT09\nPQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG1vZGVgOiBzdHJpbmcKKiBg\ncGF0aGA6IHN0cmluZwoqIGBzaGFgOiBzdHJpbmcKKiBgc2l6ZWA6IGludGVn\nZXIKKiBgdHlwZWA6IHN0cmluZwoqIGB1cmxgOiBzdHJpbmcKCkNsYXNzIGBI\nb29rYAo9PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBh\nY3RpdmVgOiBib29sCiogYGNvbmZpZ2A6IGRpY3QKKiBgY3JlYXRlZF9hdGA6\nIGRhdGV0aW1lLmRhdGV0aW1lCiogYGV2ZW50c2A6IGxpc3Qgb2Ygc3RyaW5n\nCiogYGlkYDogaW50ZWdlcgoqIGBsYXN0X3Jlc3BvbnNlYDogYEhvb2tSZXNw\nb25zZWAKKiBgbmFtZWA6IHN0cmluZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRp\nbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCgpEZWxldGlvbgotLS0tLS0t\nLQoqIGBkZWxldGUoKWAKCk1vZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBg\nZWRpdCggbmFtZSwgY29uZmlnLCBbZXZlbnRzLCBhZGRfZXZlbnRzLCByZW1v\ndmVfZXZlbnRzLCBhY3RpdmVdIClgCiAgICAqIGBuYW1lYDogc3RyaW5nCiAg\nICAqIGBjb25maWdgOiBkaWN0CiAgICAqIGBldmVudHNgOiBsaXN0IG9mIHN0\ncmluZwogICAgKiBgYWRkX2V2ZW50c2A6IGxpc3Qgb2Ygc3RyaW5nCiAgICAq\nIGByZW1vdmVfZXZlbnRzYDogbGlzdCBvZiBzdHJpbmcKICAgICogYGFjdGl2\nZWA6IGJvb2wKClRlc3RpbmcKLS0tLS0tLQoqIGB0ZXN0KClgCgpDbGFzcyBg\nSG9va0Rlc2NyaXB0aW9uYAo9PT09PT09PT09PT09PT09PT09PT09PQoKQXR0\ncmlidXRlcwotLS0tLS0tLS0tCiogYGV2ZW50c2A6IGxpc3Qgb2Ygc3RyaW5n\nCiogYG5hbWVgOiBzdHJpbmcKKiBgc2NoZW1hYDogbGlzdCBvZiBsaXN0IG9m\nIHN0cmluZwoqIGBzdXBwb3J0ZWRfZXZlbnRzYDogbGlzdCBvZiBzdHJpbmcK\nCkNsYXNzIGBIb29rUmVzcG9uc2VgCj09PT09PT09PT09PT09PT09PT09CgpB\ndHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgY29kZWA6IGludGVnZXIKKiBgbWVz\nc2FnZWA6IHN0cmluZwoqIGBzdGF0dXNgOiBzdHJpbmcKCkNsYXNzIGBJc3N1\nZWAKPT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGFz\nc2lnbmVlYDogYE5hbWVkVXNlcmAKKiBgYm9keWA6IHN0cmluZwoqIGBjbG9z\nZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBjbG9zZWRfYnlgOiBgTmFt\nZWRVc2VyYAoqIGBjb21tZW50c2A6IGludGVnZXIKKiBgY3JlYXRlZF9hdGA6\nIGRhdGV0aW1lLmRhdGV0aW1lCiogYGh0bWxfdXJsYDogc3RyaW5nCiogYGlk\nYDogaW50ZWdlcgoqIGBsYWJlbHNgOiBsaXN0IG9mIGBMYWJlbGAKKiBgbWls\nZXN0b25lYDogYE1pbGVzdG9uZWAKKiBgbnVtYmVyYDogaW50ZWdlcgoqIGBw\ndWxsX3JlcXVlc3RgOiBgSXNzdWVQdWxsUmVxdWVzdGAKKiBgcmVwb3NpdG9y\neWA6IGBSZXBvc2l0b3J5YAoqIGBzdGF0ZWA6IHN0cmluZwoqIGB0aXRsZWA6\nIHN0cmluZwoqIGB1cGRhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBg\ndXJsYDogc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoKQ29tbWVudHMK\nLS0tLS0tLS0KKiBgY3JlYXRlX2NvbW1lbnQoIGJvZHkgKWA6IGBJc3N1ZUNv\nbW1lbnRgCiAgICAqIGBib2R5YDogc3RyaW5nCiogYGdldF9jb21tZW50KCBp\nZCApYDogYElzc3VlQ29tbWVudGAKICAgICogYGlkYDogaW50ZWdlcgoqIGBn\nZXRfY29tbWVudHMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgSXNzdWVDb21t\nZW50YAoKRXZlbnRzCi0tLS0tLQoqIGBnZXRfZXZlbnRzKClgOiBgUGFnaW5h\ndGVkTGlzdGAgb2YgYElzc3VlRXZlbnRgCgpMYWJlbHMKLS0tLS0tCiogYGFk\nZF90b19sYWJlbHMoIGxhYmVsLCAuLi4gKWAKICAgICogYGxhYmVsYDogYExh\nYmVsYAoqIGBkZWxldGVfbGFiZWxzKClgCiogYGdldF9sYWJlbHMoKWA6IGBQ\nYWdpbmF0ZWRMaXN0YCBvZiBgTGFiZWxgCiogYHJlbW92ZV9mcm9tX2xhYmVs\ncyggbGFiZWwgKWAKICAgICogYGxhYmVsYDogYExhYmVsYAoqIGBzZXRfbGFi\nZWxzKCBsYWJlbCwgLi4uIClgCiAgICAqIGBsYWJlbGA6IGBMYWJlbGAKCk1v\nZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggW3RpdGxlLCBib2R5\nLCBhc3NpZ25lZSwgc3RhdGUsIG1pbGVzdG9uZSwgbGFiZWxzXSApYAogICAg\nKiBgdGl0bGVgOiBzdHJpbmcKICAgICogYGJvZHlgOiBzdHJpbmcKICAgICog\nYGFzc2lnbmVlYDogYE5hbWVkVXNlcmAgb3IgTm9uZQogICAgKiBgc3RhdGVg\nOiBzdHJpbmcKICAgICogYG1pbGVzdG9uZWA6IGBNaWxlc3RvbmVgIG9yIE5v\nbmUKICAgICogYGxhYmVsc2A6IGxpc3Qgb2Ygc3RyaW5nCgpDbGFzcyBgSXNz\ndWVDb21tZW50YAo9PT09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwot\nLS0tLS0tLS0tCiogYGJvZHlgOiBzdHJpbmcKKiBgY3JlYXRlZF9hdGA6IGRh\ndGV0aW1lLmRhdGV0aW1lCiogYGlkYDogaW50ZWdlcgoqIGB1cGRhdGVkX2F0\nYDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCiogYHVzZXJg\nOiBgTmFtZWRVc2VyYAoKRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRlKClg\nCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIGJvZHkgKWAK\nICAgICogYGJvZHlgOiBzdHJpbmcKCkNsYXNzIGBJc3N1ZUV2ZW50YAo9PT09\nPT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBhY3Rv\ncmA6IGBOYW1lZFVzZXJgCiogYGNvbW1pdF9pZGA6IHN0cmluZwoqIGBjcmVh\ndGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgZXZlbnRgOiBzdHJpbmcK\nKiBgaWRgOiBpbnRlZ2VyCiogYGlzc3VlYDogYElzc3VlYAoqIGB1cmxgOiBz\ndHJpbmcKCkNsYXNzIGBJc3N1ZVB1bGxSZXF1ZXN0YAo9PT09PT09PT09PT09\nPT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBkaWZmX3Vy\nbGA6IHN0cmluZwoqIGBodG1sX3VybGA6IHN0cmluZwoqIGBwYXRjaF91cmxg\nOiBzdHJpbmcKCkNsYXNzIGBMYWJlbGAKPT09PT09PT09PT09PQoKQXR0cmli\ndXRlcwotLS0tLS0tLS0tCiogYGNvbG9yYDogc3RyaW5nCiogYG5hbWVgOiBz\ndHJpbmcKKiBgdXJsYDogc3RyaW5nCgpEZWxldGlvbgotLS0tLS0tLQoqIGBk\nZWxldGUoKWAKCk1vZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCgg\nbmFtZSwgY29sb3IgKWAKICAgICogYG5hbWVgOiBzdHJpbmcKICAgICogYGNv\nbG9yYDogc3RyaW5nCgpDbGFzcyBgTWlsZXN0b25lYAo9PT09PT09PT09PT09\nPT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGNsb3NlZF9pc3N1ZXNg\nOiBpbnRlZ2VyCiogYGNyZWF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoq\nIGBjcmVhdG9yYDogYE5hbWVkVXNlcmAKKiBgZGVzY3JpcHRpb25gOiBzdHJp\nbmcKKiBgZHVlX29uYDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgaWRgOiBpbnRl\nZ2VyCiogYG51bWJlcmA6IGludGVnZXIKKiBgb3Blbl9pc3N1ZXNgOiBpbnRl\nZ2VyCiogYHN0YXRlYDogc3RyaW5nCiogYHRpdGxlYDogc3RyaW5nCiogYHVy\nbGA6IHN0cmluZwoKRGVsZXRpb24KLS0tLS0tLS0KKiBgZGVsZXRlKClgCgpM\nYWJlbHMKLS0tLS0tCiogYGdldF9sYWJlbHMoKWA6IGBQYWdpbmF0ZWRMaXN0\nYCBvZiBgTGFiZWxgCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVk\naXQoIHRpdGxlLCBbc3RhdGUsIGRlc2NyaXB0aW9uLCBkdWVfb25dIClgCiAg\nICAqIGB0aXRsZWA6IHN0cmluZwogICAgKiBgc3RhdGVgOiBzdHJpbmcKICAg\nICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiAgICAqIGBkdWVfb25gOiBkYXRl\nCgpDbGFzcyBgTmFtZWRVc2VyYAo9PT09PT09PT09PT09PT09PQoKQXR0cmli\ndXRlcwotLS0tLS0tLS0tCiogYGF2YXRhcl91cmxgOiBzdHJpbmcKKiBgYmlv\nYDogc3RyaW5nCiogYGJsb2dgOiBzdHJpbmcKKiBgY29sbGFib3JhdG9yc2A6\nIGludGVnZXIKKiBgY29tcGFueWA6IHN0cmluZwoqIGBjb250cmlidXRpb25z\nYDogaW50ZWdlcgoqIGBjcmVhdGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUK\nKiBgZGlza191c2FnZWA6IGludGVnZXIKKiBgZW1haWxgOiBzdHJpbmcKKiBg\nZm9sbG93ZXJzYDogaW50ZWdlcgoqIGBmb2xsb3dpbmdgOiBpbnRlZ2VyCiog\nYGdyYXZhdGFyX2lkYDogc3RyaW5nCiogYGhpcmVhYmxlYDogYm9vbAoqIGBo\ndG1sX3VybGA6IHN0cmluZwoqIGBpZGA6IGludGVnZXIKKiBgbG9jYXRpb25g\nOiBzdHJpbmcKKiBgbG9naW5gOiBzdHJpbmcKKiBgbmFtZWA6IHN0cmluZwoq\nIGBvd25lZF9wcml2YXRlX3JlcG9zYDogaW50ZWdlcgoqIGBwbGFuYDogYFBs\nYW5gCiogYHByaXZhdGVfZ2lzdHNgOiBpbnRlZ2VyCiogYHB1YmxpY19naXN0\nc2A6IGludGVnZXIKKiBgcHVibGljX3JlcG9zYDogaW50ZWdlcgoqIGB0b3Rh\nbF9wcml2YXRlX3JlcG9zYDogaW50ZWdlcgoqIGB0eXBlYDogc3RyaW5nCiog\nYHVybGA6IHN0cmluZwoKRXZlbnRzCi0tLS0tLQoqIGBnZXRfZXZlbnRzKClg\nOiBgUGFnaW5hdGVkTGlzdGAgb2YgYEV2ZW50YAoqIGBnZXRfcHVibGljX2V2\nZW50cygpYDogYFBhZ2luYXRlZExpc3RgIG9mIGBFdmVudGAKKiBgZ2V0X3Jl\nY2VpdmVkX2V2ZW50cygpYDogYFBhZ2luYXRlZExpc3RgIG9mIGBFdmVudGAK\nKiBgZ2V0X3B1YmxpY19yZWNlaXZlZF9ldmVudHMoKWA6IGBQYWdpbmF0ZWRM\naXN0YCBvZiBgRXZlbnRgCgpGb2xsb3dlcnMKLS0tLS0tLS0tCiogYGdldF9m\nb2xsb3dlcnMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgTmFtZWRVc2VyYAoK\nRm9sbG93aW5nCi0tLS0tLS0tLQoqIGBnZXRfZm9sbG93aW5nKClgOiBgUGFn\naW5hdGVkTGlzdGAgb2YgYE5hbWVkVXNlcmAKCkdpc3RzCi0tLS0tCiogYGNy\nZWF0ZV9naXN0KCBwdWJsaWMsIGZpbGVzLCBbZGVzY3JpcHRpb25dIClgOiBg\nR2lzdGAKICAgICogYHB1YmxpY2A6IGJvb2wKICAgICogYGZpbGVzYDogZGlj\ndCBvZiBzdHJpbmcgdG8gYElucHV0RmlsZUNvbnRlbnRgCiAgICAqIGBkZXNj\ncmlwdGlvbmA6IHN0cmluZwoqIGBnZXRfZ2lzdHMoKWA6IGBQYWdpbmF0ZWRM\naXN0YCBvZiBgR2lzdGAKCk9yZ3MKLS0tLQoqIGBnZXRfb3JncygpYDogYFBh\nZ2luYXRlZExpc3RgIG9mIGBPcmdhbml6YXRpb25gCgpSZXBvcwotLS0tLQoq\nIGBnZXRfcmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAgICAqIGBuYW1l\nYDogc3RyaW5nCiogYGdldF9yZXBvcyggW3R5cGVdIClgOiBgUGFnaW5hdGVk\nTGlzdGAgb2YgYFJlcG9zaXRvcnlgCiAgICAqIGB0eXBlYDogc3RyaW5nCgpT\ndGFycmVkCi0tLS0tLS0KKiBgZ2V0X3N0YXJyZWQoKWA6IGBQYWdpbmF0ZWRM\naXN0YCBvZiBgUmVwb3NpdG9yeWAKClN1YnNjcmlwdGlvbnMKLS0tLS0tLS0t\nLS0tLQoqIGBnZXRfc3Vic2NyaXB0aW9ucygpYDogYFBhZ2luYXRlZExpc3Rg\nIG9mIGBSZXBvc2l0b3J5YAoKV2F0Y2hlZAotLS0tLS0tCiogYGdldF93YXRj\naGVkKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYFJlcG9zaXRvcnlgCgpDbGFz\ncyBgT3JnYW5pemF0aW9uYAo9PT09PT09PT09PT09PT09PT09PQoKQXR0cmli\ndXRlcwotLS0tLS0tLS0tCiogYGF2YXRhcl91cmxgOiBzdHJpbmcKKiBgYmls\nbGluZ19lbWFpbGA6IHN0cmluZwoqIGBibG9nYDogc3RyaW5nCiogYGNvbGxh\nYm9yYXRvcnNgOiBpbnRlZ2VyCiogYGNvbXBhbnlgOiBzdHJpbmcKKiBgY3Jl\nYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGRpc2tfdXNhZ2VgOiBp\nbnRlZ2VyCiogYGVtYWlsYDogc3RyaW5nCiogYGZvbGxvd2Vyc2A6IGludGVn\nZXIKKiBgZm9sbG93aW5nYDogaW50ZWdlcgoqIGBncmF2YXRhcl9pZGA6IHN0\ncmluZwoqIGBodG1sX3VybGA6IHN0cmluZwoqIGBpZGA6IGludGVnZXIKKiBg\nbG9jYXRpb25gOiBzdHJpbmcKKiBgbG9naW5gOiBzdHJpbmcKKiBgbmFtZWA6\nIHN0cmluZwoqIGBvd25lZF9wcml2YXRlX3JlcG9zYDogaW50ZWdlcgoqIGBw\nbGFuYDogYFBsYW5gCiogYHByaXZhdGVfZ2lzdHNgOiBpbnRlZ2VyCiogYHB1\nYmxpY19naXN0c2A6IGludGVnZXIKKiBgcHVibGljX3JlcG9zYDogaW50ZWdl\ncgoqIGB0b3RhbF9wcml2YXRlX3JlcG9zYDogaW50ZWdlcgoqIGB0eXBlYDog\nc3RyaW5nCiogYHVybGA6IHN0cmluZwoKRXZlbnRzCi0tLS0tLQoqIGBnZXRf\nZXZlbnRzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYEV2ZW50YAoKRm9ya2lu\nZwotLS0tLS0tCiogYGNyZWF0ZV9mb3JrKCByZXBvIClgOiBgUmVwb3NpdG9y\neWAKICAgICogYHJlcG9gOiBgUmVwb3NpdG9yeWAKCk1lbWJlcnMKLS0tLS0t\nLQoqIGBnZXRfbWVtYmVycygpYDogYFBhZ2luYXRlZExpc3RgIG9mIGBOYW1l\nZFVzZXJgCiogYGhhc19pbl9tZW1iZXJzKCBtZW1iZXIgKWA6IGJvb2wKICAg\nICogYG1lbWJlcmA6IGBOYW1lZFVzZXJgCiogYHJlbW92ZV9mcm9tX21lbWJl\ncnMoIG1lbWJlciApYAogICAgKiBgbWVtYmVyYDogYE5hbWVkVXNlcmAKCk1v\nZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0KKiBgZWRpdCggW2JpbGxpbmdfZW1h\naWwsIGJsb2csIGNvbXBhbnksIGVtYWlsLCBsb2NhdGlvbiwgbmFtZV0gKWAK\nICAgICogYGJpbGxpbmdfZW1haWxgOiBzdHJpbmcKICAgICogYGJsb2dgOiBz\ndHJpbmcKICAgICogYGNvbXBhbnlgOiBzdHJpbmcKICAgICogYGVtYWlsYDog\nc3RyaW5nCiAgICAqIGBsb2NhdGlvbmA6IHN0cmluZwogICAgKiBgbmFtZWA6\nIHN0cmluZwoKUHVibGljX21lbWJlcnMKLS0tLS0tLS0tLS0tLS0KKiBgYWRk\nX3RvX3B1YmxpY19tZW1iZXJzKCBwdWJsaWNfbWVtYmVyIClgCiAgICAqIGBw\ndWJsaWNfbWVtYmVyYDogYE5hbWVkVXNlcmAKKiBgZ2V0X3B1YmxpY19tZW1i\nZXJzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYE5hbWVkVXNlcmAKKiBgaGFz\nX2luX3B1YmxpY19tZW1iZXJzKCBwdWJsaWNfbWVtYmVyIClgOiBib29sCiAg\nICAqIGBwdWJsaWNfbWVtYmVyYDogYE5hbWVkVXNlcmAKKiBgcmVtb3ZlX2Zy\nb21fcHVibGljX21lbWJlcnMoIHB1YmxpY19tZW1iZXIgKWAKICAgICogYHB1\nYmxpY19tZW1iZXJgOiBgTmFtZWRVc2VyYAoKUmVwb3MKLS0tLS0KKiBgY3Jl\nYXRlX3JlcG8oIG5hbWUsIFtkZXNjcmlwdGlvbiwgaG9tZXBhZ2UsIHByaXZh\ndGUsIGhhc19pc3N1ZXMsIGhhc193aWtpLCBoYXNfZG93bmxvYWRzLCB0ZWFt\nX2lkLCBhdXRvX2luaXQsIGdpdGlnbm9yZV90ZW1wbGF0ZV0gKWA6IGBSZXBv\nc2l0b3J5YAogICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgZGVzY3JpcHRp\nb25gOiBzdHJpbmcKICAgICogYGhvbWVwYWdlYDogc3RyaW5nCiAgICAqIGBw\ncml2YXRlYDogYm9vbAogICAgKiBgaGFzX2lzc3Vlc2A6IGJvb2wKICAgICog\nYGhhc193aWtpYDogYm9vbAogICAgKiBgaGFzX2Rvd25sb2Fkc2A6IGJvb2wK\nICAgICogYHRlYW1faWRgOiBgVGVhbWAKICAgICogYGF1dG9faW5pdGA6IGJv\nb2wKICAgICogYGdpdGlnbm9yZV90ZW1wbGF0ZWA6IHN0cmluZwoqIGBnZXRf\ncmVwbyggbmFtZSApYDogYFJlcG9zaXRvcnlgCiAgICAqIGBuYW1lYDogc3Ry\naW5nCiogYGdldF9yZXBvcyggW3R5cGVdIClgOiBgUGFnaW5hdGVkTGlzdGAg\nb2YgYFJlcG9zaXRvcnlgCiAgICAqIGB0eXBlYDogc3RyaW5nCgpUZWFtcwot\nLS0tLQoqIGBjcmVhdGVfdGVhbSggbmFtZSwgW3JlcG9fbmFtZXMsIHBlcm1p\nc3Npb25dIClgOiBgVGVhbWAKICAgICogYG5hbWVgOiBzdHJpbmcKICAgICog\nYHJlcG9fbmFtZXNgOiBsaXN0IG9mIGBSZXBvc2l0b3J5YAogICAgKiBgcGVy\nbWlzc2lvbmA6IHN0cmluZwoqIGBnZXRfdGVhbSggaWQgKWA6IGBUZWFtYAog\nICAgKiBgaWRgOiBpbnRlZ2VyCiogYGdldF90ZWFtcygpYDogYFBhZ2luYXRl\nZExpc3RgIG9mIGBUZWFtYAoKQ2xhc3MgYFBlcm1pc3Npb25zYAo9PT09PT09\nPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYWRtaW5g\nOiBib29sCiogYHB1bGxgOiBib29sCiogYHB1c2hgOiBib29sCgpDbGFzcyBg\nUGxhbmAKPT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBg\nY29sbGFib3JhdG9yc2A6IGludGVnZXIKKiBgbmFtZWA6IHN0cmluZwoqIGBw\ncml2YXRlX3JlcG9zYDogaW50ZWdlcgoqIGBzcGFjZWA6IGludGVnZXIKCkNs\nYXNzIGBQdWxsUmVxdWVzdGAKPT09PT09PT09PT09PT09PT09PQoKQXR0cmli\ndXRlcwotLS0tLS0tLS0tCiogYGFkZGl0aW9uc2A6IGludGVnZXIKKiBgYXNz\naWduZWVgOiBgTmFtZWRVc2VyYAoqIGBiYXNlYDogYFB1bGxSZXF1ZXN0UGFy\ndGAKKiBgYm9keWA6IHN0cmluZwoqIGBjaGFuZ2VkX2ZpbGVzYDogaW50ZWdl\ncgoqIGBjbG9zZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGBjb21tZW50\nc2A6IGludGVnZXIKKiBgY29tbWl0c2A6IGludGVnZXIKKiBgY3JlYXRlZF9h\ndGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGRlbGV0aW9uc2A6IGludGVnZXIK\nKiBgZGlmZl91cmxgOiBzdHJpbmcKKiBgaGVhZGA6IGBQdWxsUmVxdWVzdFBh\ncnRgCiogYGh0bWxfdXJsYDogc3RyaW5nCiogYGlkYDogaW50ZWdlcgoqIGBp\nc3N1ZV91cmxgOiBzdHJpbmcKKiBgbWVyZ2VhYmxlYDogYm9vbAoqIGBtZXJn\nZWRgOiBib29sCiogYG1lcmdlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiog\nYG1lcmdlZF9ieWA6IGBOYW1lZFVzZXJgCiogYG51bWJlcmA6IGludGVnZXIK\nKiBgcGF0Y2hfdXJsYDogc3RyaW5nCiogYHJldmlld19jb21tZW50c2A6IGlu\ndGVnZXIKKiBgc3RhdGVgOiBzdHJpbmcKKiBgdGl0bGVgOiBzdHJpbmcKKiBg\ndXBkYXRlZF9hdGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYHVybGA6IHN0cmlu\nZwoqIGB1c2VyYDogYE5hbWVkVXNlcmAKClJldmlldyBjb21tZW50cwotLS0t\nLS0tLS0tLS0tLS0KKiBgY3JlYXRlX2NvbW1lbnQoIGJvZHksIGNvbW1pdF9p\nZCwgcGF0aCwgcG9zaXRpb24gKWA6IGBQdWxsUmVxdWVzdENvbW1lbnRgCiAg\nICAqIGBib2R5YDogc3RyaW5nCiAgICAqIGBjb21taXRfaWRgOiBgQ29tbWl0\nYAogICAgKiBgcGF0aGA6IHN0cmluZwogICAgKiBgcG9zaXRpb25gOiBpbnRl\nZ2VyCiogYGNyZWF0ZV9yZXZpZXdfY29tbWVudCggYm9keSwgY29tbWl0X2lk\nLCBwYXRoLCBwb3NpdGlvbiApYDogYFB1bGxSZXF1ZXN0Q29tbWVudGAKICAg\nICogYGJvZHlgOiBzdHJpbmcKICAgICogYGNvbW1pdF9pZGA6IGBDb21taXRg\nCiAgICAqIGBwYXRoYDogc3RyaW5nCiAgICAqIGBwb3NpdGlvbmA6IGludGVn\nZXIKKiBgZ2V0X2NvbW1lbnQoIGlkIClgOiBgUHVsbFJlcXVlc3RDb21tZW50\nYAogICAgKiBgaWRgOiBpbnRlZ2VyCiogYGdldF9yZXZpZXdfY29tbWVudCgg\naWQgKWA6IGBQdWxsUmVxdWVzdENvbW1lbnRgCiAgICAqIGBpZGA6IGludGVn\nZXIKKiBgZ2V0X2NvbW1lbnRzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYFB1\nbGxSZXF1ZXN0Q29tbWVudGAKKiBgZ2V0X3Jldmlld19jb21tZW50cygpYDog\nYFBhZ2luYXRlZExpc3RgIG9mIGBQdWxsUmVxdWVzdENvbW1lbnRgCgpDb21t\naXRzCi0tLS0tLS0KKiBgZ2V0X2NvbW1pdHMoKWA6IGBQYWdpbmF0ZWRMaXN0\nYCBvZiBgQ29tbWl0YAoKRmlsZXMKLS0tLS0KKiBgZ2V0X2ZpbGVzKClgOiBg\nUGFnaW5hdGVkTGlzdGAgb2YgYEZpbGVgCgpJc3N1ZV9jb21tZW50cwotLS0t\nLS0tLS0tLS0tLQoqIGBjcmVhdGVfaXNzdWVfY29tbWVudCggYm9keSApYDog\nYElzc3VlQ29tbWVudGAKICAgICogYGJvZHlgOiBzdHJpbmcKKiBgZ2V0X2lz\nc3VlX2NvbW1lbnQoIGlkIClgOiBgSXNzdWVDb21tZW50YAogICAgKiBgaWRg\nOiBpbnRlZ2VyCiogYGdldF9pc3N1ZV9jb21tZW50cygpYDogYFBhZ2luYXRl\nZExpc3RgIG9mIGBJc3N1ZUNvbW1lbnRgCgpNZXJnaW5nCi0tLS0tLS0KKiBg\naXNfbWVyZ2VkKClgOiBib29sCiogYG1lcmdlKCBbY29tbWl0X21lc3NhZ2Vd\nIClgOiBgUHVsbFJlcXVlc3RNZXJnZVN0YXR1c2AKICAgICogYGNvbW1pdF9t\nZXNzYWdlYDogc3RyaW5nCgpNb2RpZmljYXRpb24KLS0tLS0tLS0tLS0tCiog\nYGVkaXQoIFt0aXRsZSwgYm9keSwgc3RhdGVdIClgCiAgICAqIGB0aXRsZWA6\nIHN0cmluZwogICAgKiBgYm9keWA6IHN0cmluZwogICAgKiBgc3RhdGVgOiBz\ndHJpbmcKCkNsYXNzIGBQdWxsUmVxdWVzdENvbW1lbnRgCj09PT09PT09PT09\nPT09PT09PT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgYm9k\neWA6IHN0cmluZwoqIGBjb21taXRfaWRgOiBzdHJpbmcKKiBgY3JlYXRlZF9h\ndGA6IGRhdGV0aW1lLmRhdGV0aW1lCiogYGlkYDogaW50ZWdlcgoqIGBvcmln\naW5hbF9jb21taXRfaWRgOiBzdHJpbmcKKiBgb3JpZ2luYWxfcG9zaXRpb25g\nOiBpbnRlZ2VyCiogYHBhdGhgOiBzdHJpbmcKKiBgcG9zaXRpb25gOiBpbnRl\nZ2VyCiogYHVwZGF0ZWRfYXRgOiBkYXRldGltZS5kYXRldGltZQoqIGB1cmxg\nOiBzdHJpbmcKKiBgdXNlcmA6IGBOYW1lZFVzZXJgCgpEZWxldGlvbgotLS0t\nLS0tLQoqIGBkZWxldGUoKWAKCk1vZGlmaWNhdGlvbgotLS0tLS0tLS0tLS0K\nKiBgZWRpdCggYm9keSApYAogICAgKiBgYm9keWA6IHN0cmluZwoKQ2xhc3Mg\nYFB1bGxSZXF1ZXN0TWVyZ2VTdGF0dXNgCj09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYG1lcmdlZGA6\nIGJvb2wKKiBgbWVzc2FnZWA6IHN0cmluZwoqIGBzaGFgOiBzdHJpbmcKCkNs\nYXNzIGBQdWxsUmVxdWVzdFBhcnRgCj09PT09PT09PT09PT09PT09PT09PT09\nCgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgbGFiZWxgOiBzdHJpbmcKKiBg\ncmVmYDogc3RyaW5nCiogYHJlcG9gOiBgUmVwb3NpdG9yeWAKKiBgc2hhYDog\nc3RyaW5nCiogYHVzZXJgOiBgTmFtZWRVc2VyYAoKQ2xhc3MgYFJlcG9zaXRv\ncnlgCj09PT09PT09PT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0t\nCiogYGNsb25lX3VybGA6IHN0cmluZwoqIGBjcmVhdGVkX2F0YDogZGF0ZXRp\nbWUuZGF0ZXRpbWUKKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcKKiBgZm9ya2A6\nIGJvb2wKKiBgZm9ya3NgOiBpbnRlZ2VyCiogYGZ1bGxfbmFtZWA6IHN0cmlu\nZwoqIGBnaXRfdXJsYDogc3RyaW5nCiogYGhhc19kb3dubG9hZHNgOiBib29s\nCiogYGhhc19pc3N1ZXNgOiBib29sCiogYGhhc193aWtpYDogYm9vbAoqIGBo\nb21lcGFnZWA6IHN0cmluZwoqIGBodG1sX3VybGA6IHN0cmluZwoqIGBpZGA6\nIGludGVnZXIKKiBgbGFuZ3VhZ2VgOiBzdHJpbmcKKiBgbWFzdGVyX2JyYW5j\naGA6IHN0cmluZwoqIGBuYW1lYDogc3RyaW5nCiogYG9wZW5faXNzdWVzYDog\naW50ZWdlcgoqIGBvcmdhbml6YXRpb25gOiBgT3JnYW5pemF0aW9uYAoqIGBv\nd25lcmA6IGBOYW1lZFVzZXJgCiogYHBhcmVudGA6IGBSZXBvc2l0b3J5YAoq\nIGBwZXJtaXNzaW9uc2A6IGBQZXJtaXNzaW9uc2AKKiBgcHJpdmF0ZWA6IGJv\nb2wKKiBgcHVzaGVkX2F0YDogZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgc2l6ZWA6\nIGludGVnZXIKKiBgc291cmNlYDogYFJlcG9zaXRvcnlgCiogYHNzaF91cmxg\nOiBzdHJpbmcKKiBgc3ZuX3VybGA6IHN0cmluZwoqIGB1cGRhdGVkX2F0YDog\nZGF0ZXRpbWUuZGF0ZXRpbWUKKiBgdXJsYDogc3RyaW5nCiogYHdhdGNoZXJz\nYDogaW50ZWdlcgoKQ29tcGFyaXNvbgotLS0tLS0tLS0tCiogYGNvbXBhcmUo\nIGJhc2UsIGhlYWQgKWA6IGBDb21wYXJpc29uYAogICAgKiBgYmFzZWA6IHN0\ncmluZwogICAgKiBgaGVhZGA6IHN0cmluZwoKQXNzaWduZWVzCi0tLS0tLS0t\nLQoqIGBnZXRfYXNzaWduZWVzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYE5h\nbWVkVXNlcmAKKiBgaGFzX2luX2Fzc2lnbmVlcyggYXNzaWduZWUgKWA6IGJv\nb2wKICAgICogYGFzc2lnbmVlYDogYE5hbWVkVXNlcmAKCkJyYW5jaGVzCi0t\nLS0tLS0tCiogYGdldF9icmFuY2goIGJyYW5jaCApYDogYEJyYW5jaGAKICAg\nICogYGJyYW5jaGA6IHN0cmluZwoqIGBnZXRfYnJhbmNoZXMoKWA6IGBQYWdp\nbmF0ZWRMaXN0YCBvZiBgQnJhbmNoYAoKQ29sbGFib3JhdG9ycwotLS0tLS0t\nLS0tLS0tCiogYGFkZF90b19jb2xsYWJvcmF0b3JzKCBjb2xsYWJvcmF0b3Ig\nKWAKICAgICogYGNvbGxhYm9yYXRvcmA6IGBOYW1lZFVzZXJgCiogYGdldF9j\nb2xsYWJvcmF0b3JzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYE5hbWVkVXNl\ncmAKKiBgaGFzX2luX2NvbGxhYm9yYXRvcnMoIGNvbGxhYm9yYXRvciApYDog\nYm9vbAogICAgKiBgY29sbGFib3JhdG9yYDogYE5hbWVkVXNlcmAKKiBgcmVt\nb3ZlX2Zyb21fY29sbGFib3JhdG9ycyggY29sbGFib3JhdG9yIClgCiAgICAq\nIGBjb2xsYWJvcmF0b3JgOiBgTmFtZWRVc2VyYAoKQ29tbWVudHMKLS0tLS0t\nLS0KKiBgZ2V0X2NvbW1lbnQoIGlkIClgOiBgQ29tbWl0Q29tbWVudGAKICAg\nICogYGlkYDogaW50ZWdlcgoqIGBnZXRfY29tbWVudHMoKWA6IGBQYWdpbmF0\nZWRMaXN0YCBvZiBgQ29tbWl0Q29tbWVudGAKCkNvbW1pdHMKLS0tLS0tLQoq\nIGBnZXRfY29tbWl0KCBzaGEgKWA6IGBDb21taXRgCiAgICAqIGBzaGFgOiBz\ndHJpbmcKKiBgZ2V0X2NvbW1pdHMoIFtzaGEsIHBhdGhdIClgOiBgUGFnaW5h\ndGVkTGlzdGAgb2YgYENvbW1pdGAKICAgICogYHNoYWA6IHN0cmluZwogICAg\nKiBgcGF0aGA6IHN0cmluZwoKQ29udGVudHMKLS0tLS0tLS0KKiBgZ2V0X3Jl\nYWRtZSgpYDogYENvbnRlbnRGaWxlYAoqIGBnZXRfY29udGVudHMoIHBhdGgg\nKWA6IGBDb250ZW50RmlsZWAKICAgICogYHBhdGhgOiBzdHJpbmcKKiBgZ2V0\nX2FyY2hpdmVfbGluayggYXJjaGl2ZV9mb3JtYXQsIFtyZWZdIClgOiBzdHJp\nbmcKICAgICogYGFyY2hpdmVfZm9ybWF0YDogc3RyaW5nCiAgICAqIGByZWZg\nOiBzdHJpbmcKCkNvbnRyaWJ1dG9ycwotLS0tLS0tLS0tLS0KKiBgZ2V0X2Nv\nbnRyaWJ1dG9ycygpYDogYFBhZ2luYXRlZExpc3RgIG9mIGBOYW1lZFVzZXJg\nCgpEZWxldGlvbgotLS0tLS0tLQoqIGBkZWxldGUoKWAKCkRvd25sb2Fkcwot\nLS0tLS0tLS0KKiBgY3JlYXRlX2Rvd25sb2FkKCBuYW1lLCBzaXplLCBbZGVz\nY3JpcHRpb24sIGNvbnRlbnRfdHlwZV0gKWA6IGBEb3dubG9hZGAKICAgICog\nYG5hbWVgOiBzdHJpbmcKICAgICogYHNpemVgOiBpbnRlZ2VyCiAgICAqIGBk\nZXNjcmlwdGlvbmA6IHN0cmluZwogICAgKiBgY29udGVudF90eXBlYDogc3Ry\naW5nCiogYGdldF9kb3dubG9hZCggaWQgKWA6IGBEb3dubG9hZGAKICAgICog\nYGlkYDogaW50ZWdlcgoqIGBnZXRfZG93bmxvYWRzKClgOiBgUGFnaW5hdGVk\nTGlzdGAgb2YgYERvd25sb2FkYAoKRXZlbnRzCi0tLS0tLQoqIGBnZXRfZXZl\nbnRzKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYEV2ZW50YAoqIGBnZXRfbmV0\nd29ya19ldmVudHMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgRXZlbnRgCgpG\nb3JrcwotLS0tLQoqIGBnZXRfZm9ya3MoKWA6IGBQYWdpbmF0ZWRMaXN0YCBv\nZiBgUmVwb3NpdG9yeWAKCkdpdF9ibG9icwotLS0tLS0tLS0KKiBgY3JlYXRl\nX2dpdF9ibG9iKCBjb250ZW50LCBlbmNvZGluZyApYDogYEdpdEJsb2JgCiAg\nICAqIGBjb250ZW50YDogc3RyaW5nCiAgICAqIGBlbmNvZGluZ2A6IHN0cmlu\nZwoqIGBnZXRfZ2l0X2Jsb2IoIHNoYSApYDogYEdpdEJsb2JgCiAgICAqIGBz\naGFgOiBzdHJpbmcKCkdpdF9jb21taXRzCi0tLS0tLS0tLS0tCiogYGNyZWF0\nZV9naXRfY29tbWl0KCBtZXNzYWdlLCB0cmVlLCBwYXJlbnRzLCBbYXV0aG9y\nLCBjb21taXR0ZXJdIClgOiBgR2l0Q29tbWl0YAogICAgKiBgbWVzc2FnZWA6\nIHN0cmluZwogICAgKiBgdHJlZWA6IGBHaXRUcmVlYAogICAgKiBgcGFyZW50\nc2A6IGxpc3Qgb2YgYEdpdENvbW1pdGAKICAgICogYGF1dGhvcmA6IGBJbnB1\ndEdpdEF1dGhvcmAKICAgICogYGNvbW1pdHRlcmA6IGBJbnB1dEdpdEF1dGhv\ncmAKKiBgZ2V0X2dpdF9jb21taXQoIHNoYSApYDogYEdpdENvbW1pdGAKICAg\nICogYHNoYWA6IHN0cmluZwoKR2l0X3JlZnMKLS0tLS0tLS0KKiBgY3JlYXRl\nX2dpdF9yZWYoIHJlZiwgc2hhIClgOiBgR2l0UmVmYAogICAgKiBgcmVmYDog\nc3RyaW5nCiAgICAqIGBzaGFgOiBzdHJpbmcKKiBgZ2V0X2dpdF9yZWYoIHJl\nZiApYDogYEdpdFJlZmAKICAgICogYHJlZmA6IHN0cmluZwoqIGBnZXRfZ2l0\nX3JlZnMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgR2l0UmVmYAoKR2l0X3Rh\nZ3MKLS0tLS0tLS0KKiBgY3JlYXRlX2dpdF90YWcoIHRhZywgbWVzc2FnZSwg\nb2JqZWN0LCB0eXBlLCBbdGFnZ2VyXSApYDogYEdpdFRhZ2AKICAgICogYHRh\nZ2A6IHN0cmluZwogICAgKiBgbWVzc2FnZWA6IHN0cmluZwogICAgKiBgb2Jq\nZWN0YDogc3RyaW5nCiAgICAqIGB0eXBlYDogc3RyaW5nCiAgICAqIGB0YWdn\nZXJgOiBgSW5wdXRHaXRBdXRob3JgCiogYGdldF9naXRfdGFnKCBzaGEgKWA6\nIGBHaXRUYWdgCiAgICAqIGBzaGFgOiBzdHJpbmcKCkdpdF90cmVlcwotLS0t\nLS0tLS0KKiBgY3JlYXRlX2dpdF90cmVlKCB0cmVlLCBbYmFzZV90cmVlXSAp\nYDogYEdpdFRyZWVgCiAgICAqIGB0cmVlYDogbGlzdCBvZiBgSW5wdXRHaXRU\ncmVlRWxlbWVudGAKICAgICogYGJhc2VfdHJlZWA6IGBHaXRUcmVlYAoqIGBn\nZXRfZ2l0X3RyZWUoIHNoYSwgW3JlY3Vyc2l2ZV0gKWA6IGBHaXRUcmVlYAog\nICAgKiBgc2hhYDogc3RyaW5nCiAgICAqIGByZWN1cnNpdmVgOiBib29sCgpI\nb29rcwotLS0tLQoqIGBjcmVhdGVfaG9vayggbmFtZSwgY29uZmlnLCBbZXZl\nbnRzLCBhY3RpdmVdIClgOiBgSG9va2AKICAgICogYG5hbWVgOiBzdHJpbmcK\nICAgICogYGNvbmZpZ2A6IGRpY3QKICAgICogYGV2ZW50c2A6IGxpc3Qgb2Yg\nc3RyaW5nCiAgICAqIGBhY3RpdmVgOiBib29sCiogYGdldF9ob29rKCBpZCAp\nYDogYEhvb2tgCiAgICAqIGBpZGA6IGludGVnZXIKKiBgZ2V0X2hvb2tzKClg\nOiBgUGFnaW5hdGVkTGlzdGAgb2YgYEhvb2tgCgpJc3N1ZXMKLS0tLS0tCiog\nYGNyZWF0ZV9pc3N1ZSggdGl0bGUsIFtib2R5LCBhc3NpZ25lZSwgbWlsZXN0\nb25lLCBsYWJlbHNdIClgOiBgSXNzdWVgCiAgICAqIGB0aXRsZWA6IHN0cmlu\nZwogICAgKiBgYm9keWA6IHN0cmluZwogICAgKiBgYXNzaWduZWVgOiBgTmFt\nZWRVc2VyYAogICAgKiBgbWlsZXN0b25lYDogYE1pbGVzdG9uZWAKICAgICog\nYGxhYmVsc2A6IGxpc3Qgb2YgYExhYmVsYAoqIGBnZXRfaXNzdWUoIG51bWJl\nciApYDogYElzc3VlYAogICAgKiBgbnVtYmVyYDogaW50ZWdlcgoqIGBnZXRf\naXNzdWVzKCBbbWlsZXN0b25lLCBzdGF0ZSwgYXNzaWduZWUsIG1lbnRpb25l\nZCwgbGFiZWxzLCBzb3J0LCBkaXJlY3Rpb24sIHNpbmNlXSApYDogYFBhZ2lu\nYXRlZExpc3RgIG9mIGBJc3N1ZWAKICAgICogYG1pbGVzdG9uZWA6IGBNaWxl\nc3RvbmVgIG9yICJub25lIiBvciAiKiIKICAgICogYHN0YXRlYDogc3RyaW5n\nCiAgICAqIGBhc3NpZ25lZWA6IGBOYW1lZFVzZXJgIG9yICJub25lIiBvciAi\nKiIKICAgICogYG1lbnRpb25lZGA6IGBOYW1lZFVzZXJgCiAgICAqIGBsYWJl\nbHNgOiBsaXN0IG9mIGBMYWJlbGAKICAgICogYHNvcnRgOiBzdHJpbmcKICAg\nICogYGRpcmVjdGlvbmA6IHN0cmluZwogICAgKiBgc2luY2VgOiBkYXRldGlt\nZS5kYXRldGltZQoqIGBsZWdhY3lfc2VhcmNoX2lzc3Vlcyggc3RhdGUsIGtl\neXdvcmQgKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgSXNzdWVgCiAgICAqIGBz\ndGF0ZWA6ICJvcGVuIiBvciAiY2xvc2VkIgogICAgKiBga2V5d29yZGA6IHN0\ncmluZwoKSXNzdWVzX2V2ZW50cwotLS0tLS0tLS0tLS0tCiogYGdldF9pc3N1\nZXNfZXZlbnQoIGlkIClgOiBgSXNzdWVFdmVudGAKICAgICogYGlkYDogaW50\nZWdlcgoqIGBnZXRfaXNzdWVzX2V2ZW50cygpYDogYFBhZ2luYXRlZExpc3Rg\nIG9mIGBJc3N1ZUV2ZW50YAoKS2V5cwotLS0tCiogYGNyZWF0ZV9rZXkoIHRp\ndGxlLCBrZXkgKWA6IGBSZXBvc2l0b3J5S2V5YAogICAgKiBgdGl0bGVgOiBz\ndHJpbmcKICAgICogYGtleWA6IHN0cmluZwoqIGBnZXRfa2V5KCBpZCApYDog\nYFJlcG9zaXRvcnlLZXlgCiAgICAqIGBpZGA6IGludGVnZXIKKiBgZ2V0X2tl\neXMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgUmVwb3NpdG9yeUtleWAKCkxh\nYmVscwotLS0tLS0KKiBgY3JlYXRlX2xhYmVsKCBuYW1lLCBjb2xvciApYDog\nYExhYmVsYAogICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgY29sb3JgOiBz\ndHJpbmcKKiBgZ2V0X2xhYmVsKCBuYW1lIClgOiBgTGFiZWxgCiAgICAqIGBu\nYW1lYDogc3RyaW5nCiogYGdldF9sYWJlbHMoKWA6IGBQYWdpbmF0ZWRMaXN0\nYCBvZiBgTGFiZWxgCgpMYW5ndWFnZXMKLS0tLS0tLS0tCiogYGdldF9sYW5n\ndWFnZXMoKWA6IGRpY3Qgb2Ygc3RyaW5nIHRvIGludGVnZXIKCk1lcmdpbmcK\nLS0tLS0tLQoqIGBtZXJnZSggYmFzZSwgaGVhZCwgW2NvbW1pdF9tZXNzYWdl\nXSApYDogYENvbW1pdGAKICAgICogYGJhc2VgOiBzdHJpbmcKICAgICogYGhl\nYWRgOiBzdHJpbmcKICAgICogYGNvbW1pdF9tZXNzYWdlYDogc3RyaW5nCgpN\naWxlc3RvbmVzCi0tLS0tLS0tLS0KKiBgY3JlYXRlX21pbGVzdG9uZSggdGl0\nbGUsIFtzdGF0ZSwgZGVzY3JpcHRpb24sIGR1ZV9vbl0gKWA6IGBNaWxlc3Rv\nbmVgCiAgICAqIGB0aXRsZWA6IHN0cmluZwogICAgKiBgc3RhdGVgOiBzdHJp\nbmcKICAgICogYGRlc2NyaXB0aW9uYDogc3RyaW5nCiAgICAqIGBkdWVfb25g\nOiBkYXRlCiogYGdldF9taWxlc3RvbmUoIG51bWJlciApYDogYE1pbGVzdG9u\nZWAKICAgICogYG51bWJlcmA6IGludGVnZXIKKiBgZ2V0X21pbGVzdG9uZXMo\nIFtzdGF0ZSwgc29ydCwgZGlyZWN0aW9uXSApYDogYFBhZ2luYXRlZExpc3Rg\nIG9mIGBNaWxlc3RvbmVgCiAgICAqIGBzdGF0ZWA6IHN0cmluZwogICAgKiBg\nc29ydGA6IHN0cmluZwogICAgKiBgZGlyZWN0aW9uYDogc3RyaW5nCgpNb2Rp\nZmljYXRpb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIG5hbWUsIFtkZXNjcmlw\ndGlvbiwgaG9tZXBhZ2UsIHB1YmxpYywgaGFzX2lzc3VlcywgaGFzX3dpa2ks\nIGhhc19kb3dubG9hZHMsIGRlZmF1bHRfYnJhbmNoXSApYAogICAgKiBgbmFt\nZWA6IHN0cmluZwogICAgKiBgZGVzY3JpcHRpb25gOiBzdHJpbmcKICAgICog\nYGhvbWVwYWdlYDogc3RyaW5nCiAgICAqIGBwdWJsaWNgOiBib29sCiAgICAq\nIGBoYXNfaXNzdWVzYDogYm9vbAogICAgKiBgaGFzX3dpa2lgOiBib29sCiAg\nICAqIGBoYXNfZG93bmxvYWRzYDogYm9vbAogICAgKiBgZGVmYXVsdF9icmFu\nY2hgOiBzdHJpbmcKClB1bGxzCi0tLS0tCiogYGNyZWF0ZV9wdWxsKCA8IHRp\ndGxlLCBib2R5LCBiYXNlLCBoZWFkID4gb3IgPCBpc3N1ZSwgYmFzZSwgaGVh\nZCA+IClgOiBgUHVsbFJlcXVlc3RgCiAgICAqIGB0aXRsZWA6IHN0cmluZwog\nICAgKiBgYm9keWA6IHN0cmluZwogICAgKiBgaXNzdWVgOiBgSXNzdWVgCiAg\nICAqIGBiYXNlYDogc3RyaW5nCiAgICAqIGBoZWFkYDogc3RyaW5nCiogYGdl\ndF9wdWxsKCBudW1iZXIgKWA6IGBQdWxsUmVxdWVzdGAKICAgICogYG51bWJl\ncmA6IGludGVnZXIKKiBgZ2V0X3B1bGxzKCBbc3RhdGVdIClgOiBgUGFnaW5h\ndGVkTGlzdGAgb2YgYFB1bGxSZXF1ZXN0YAogICAgKiBgc3RhdGVgOiBzdHJp\nbmcKClN0YXJnYXplcnMKLS0tLS0tLS0tLQoqIGBnZXRfc3RhcmdhemVycygp\nYDogYFBhZ2luYXRlZExpc3RgIG9mIGBOYW1lZFVzZXJgCgpTdWJzY3JpYmVy\ncwotLS0tLS0tLS0tLQoqIGBnZXRfc3Vic2NyaWJlcnMoKWA6IGBQYWdpbmF0\nZWRMaXN0YCBvZiBgTmFtZWRVc2VyYAoKVGFncwotLS0tCiogYGdldF90YWdz\nKClgOiBgUGFnaW5hdGVkTGlzdGAgb2YgYFRhZ2AKClRlYW1zCi0tLS0tCiog\nYGdldF90ZWFtcygpYDogYFBhZ2luYXRlZExpc3RgIG9mIGBUZWFtYAoKV2F0\nY2hlcnMKLS0tLS0tLS0KKiBgZ2V0X3dhdGNoZXJzKClgOiBgUGFnaW5hdGVk\nTGlzdGAgb2YgYE5hbWVkVXNlcmAKCkNsYXNzIGBSZXBvc2l0b3J5S2V5YAo9\nPT09PT09PT09PT09PT09PT09PT0KCkF0dHJpYnV0ZXMKLS0tLS0tLS0tLQoq\nIGBpZGA6IGludGVnZXIKKiBga2V5YDogc3RyaW5nCiogYHRpdGxlYDogc3Ry\naW5nCiogYHVybGA6IHN0cmluZwoqIGB2ZXJpZmllZGA6IGJvb2wKCkRlbGV0\naW9uCi0tLS0tLS0tCiogYGRlbGV0ZSgpYAoKTW9kaWZpY2F0aW9uCi0tLS0t\nLS0tLS0tLQoqIGBlZGl0KCBbdGl0bGUsIGtleV0gKWAKICAgICogYHRpdGxl\nYDogc3RyaW5nCiAgICAqIGBrZXlgOiBzdHJpbmcKCkNsYXNzIGBUYWdgCj09\nPT09PT09PT09CgpBdHRyaWJ1dGVzCi0tLS0tLS0tLS0KKiBgY29tbWl0YDog\nYENvbW1pdGAKKiBgbmFtZWA6IHN0cmluZwoqIGB0YXJiYWxsX3VybGA6IHN0\ncmluZwoqIGB6aXBiYWxsX3VybGA6IHN0cmluZwoKQ2xhc3MgYFRlYW1gCj09\nPT09PT09PT09PQoKQXR0cmlidXRlcwotLS0tLS0tLS0tCiogYGlkYDogaW50\nZWdlcgoqIGBtZW1iZXJzX2NvdW50YDogaW50ZWdlcgoqIGBuYW1lYDogc3Ry\naW5nCiogYHBlcm1pc3Npb25gOiBzdHJpbmcKKiBgcmVwb3NfY291bnRgOiBp\nbnRlZ2VyCiogYHVybGA6IHN0cmluZwoKRGVsZXRpb24KLS0tLS0tLS0KKiBg\nZGVsZXRlKClgCgpNZW1iZXJzCi0tLS0tLS0KKiBgYWRkX3RvX21lbWJlcnMo\nIG1lbWJlciApYAogICAgKiBgbWVtYmVyYDogYE5hbWVkVXNlcmAKKiBgZ2V0\nX21lbWJlcnMoKWA6IGBQYWdpbmF0ZWRMaXN0YCBvZiBgTmFtZWRVc2VyYAoq\nIGBoYXNfaW5fbWVtYmVycyggbWVtYmVyIClgOiBib29sCiAgICAqIGBtZW1i\nZXJgOiBgTmFtZWRVc2VyYAoqIGByZW1vdmVfZnJvbV9tZW1iZXJzKCBtZW1i\nZXIgKWAKICAgICogYG1lbWJlcmA6IGBOYW1lZFVzZXJgCgpNb2RpZmljYXRp\nb24KLS0tLS0tLS0tLS0tCiogYGVkaXQoIG5hbWUsIFtwZXJtaXNzaW9uXSAp\nYAogICAgKiBgbmFtZWA6IHN0cmluZwogICAgKiBgcGVybWlzc2lvbmA6IHN0\ncmluZwoKUmVwb3MKLS0tLS0KKiBgYWRkX3RvX3JlcG9zKCByZXBvIClgCiAg\nICAqIGByZXBvYDogYFJlcG9zaXRvcnlgCiogYGdldF9yZXBvcygpYDogYFBh\nZ2luYXRlZExpc3RgIG9mIGBSZXBvc2l0b3J5YAoqIGBoYXNfaW5fcmVwb3Mo\nIHJlcG8gKWA6IGJvb2wKICAgICogYHJlcG9gOiBgUmVwb3NpdG9yeWAKKiBg\ncmVtb3ZlX2Zyb21fcmVwb3MoIHJlcG8gKWAKICAgICogYHJlcG9gOiBgUmVw\nb3NpdG9yeWAKCkNsYXNzIGBVc2VyS2V5YAo9PT09PT09PT09PT09PT0KCkF0\ndHJpYnV0ZXMKLS0tLS0tLS0tLQoqIGBpZGA6IGludGVnZXIKKiBga2V5YDog\nc3RyaW5nCiogYHRpdGxlYDogc3RyaW5nCiogYHVybGA6IHN0cmluZwoqIGB2\nZXJpZmllZGA6IGJvb2wKCkRlbGV0aW9uCi0tLS0tLS0tCiogYGRlbGV0ZSgp\nYAoKTW9kaWZpY2F0aW9uCi0tLS0tLS0tLS0tLQoqIGBlZGl0KCBbdGl0bGUs\nIGtleV0gKWAKICAgICogYHRpdGxlYDogc3RyaW5nCiAgICAqIGBrZXlgOiBz\ndHJpbmcK\n","_links":{"git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/07b170f1d3df085278aafbc49164178ba0df7d59","html":"https://github.com/jacquev6/PyGithub/blob/refs/heads/topic/ExperimentOnDocumentation/doc/ReferenceOfClasses.md","self":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/ReferenceOfClasses.md?ref=refs/heads/topic/ExperimentOnDocumentation"},"git_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/07b170f1d3df085278aafbc49164178ba0df7d59","sha":"07b170f1d3df085278aafbc49164178ba0df7d59","size":32406,"encoding":"base64","name":"ReferenceOfClasses.md"} - diff --git a/github/tests/ReplayData/Repository.testGetContributors.txt b/github/tests/ReplayData/Repository.testGetContributors.txt deleted file mode 100644 index 4d291fa..0000000 --- a/github/tests/ReplayData/Repository.testGetContributors.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contributors -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '318'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"3ce61bc2417a6a4f7b47976a7969c711"'), ('date', 'Sun, 20 May 2012 12:10:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"contributions":355,"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}] - diff --git a/github/tests/ReplayData/Repository.testGetDownloads.txt b/github/tests/ReplayData/Repository.testGetDownloads.txt deleted file mode 100644 index 4ac85b7..0000000 --- a/github/tests/ReplayData/Repository.testGetDownloads.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/downloads -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '277'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"209ba3e85bfec4914fb88bb2d12b55e9"'), ('date', 'Sun, 27 May 2012 06:55:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"content_type":".py","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/245143","size":1024,"name":"Hook.py","created_at":"2012-05-27T06:54:54Z","description":"","id":245143,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Hook.py"}] - diff --git a/github/tests/ReplayData/Repository.testGetEvents.txt b/github/tests/ReplayData/Repository.testGetEvents.txt deleted file mode 100644 index 96c2b7d..0000000 --- a/github/tests/ReplayData/Repository.testGetEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '44412'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"a0d405b3f385bd0d26640c75b50c95dd"'), ('date', 'Sun, 27 May 2012 06:57:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"DownloadEvent","payload":{"download":{"name":"Hook.py","size":1024,"created_at":"2012-05-27T06:54:54Z","content_type":".py","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/245143","download_count":0,"id":245143,"description":"","html_url":"https://github.com/downloads/jacquev6/PyGithub/Hook.py"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T06:54:55Z","id":"1556239111","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"htmlcov.zip","size":258048,"created_at":"2012-05-27T06:53:47Z","content_type":".zip","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/245142","id":245142,"description":"","html_url":"https://github.com/downloads/jacquev6/PyGithub/htmlcov.zip"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T06:53:48Z","id":"1556239049","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"956279094a7383b6a8f00c93770ed02ca711f8e5","size":4,"push_id":80734053,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"8cb3e63e80f3ab741ca580eed791a85fb4e1b968","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cb3e63e80f3ab741ca580eed791a85fb4e1b968","distinct":true,"message":"Test Team"},{"sha":"e7fe18b7dd3daa03a6ebb7f83a4f100c0f68e96b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e7fe18b7dd3daa03a6ebb7f83a4f100c0f68e96b","distinct":true,"message":"Test Organization members"},{"sha":"4169010f17cf66a9f1e43e476115485ed7cda90c","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4169010f17cf66a9f1e43e476115485ed7cda90c","distinct":true,"message":"Improve coverage of Organization"},{"sha":"956279094a7383b6a8f00c93770ed02ca711f8e5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/956279094a7383b6a8f00c93770ed02ca711f8e5","distinct":true,"message":"Test Repository.create_git_*"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T06:00:30Z","id":"1556235497","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":30,"created_at":"2012-05-27T05:40:15Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Body created by PyGithub","comments":0,"title":"Issue also created by PyGithub","updated_at":"2012-05-27T05:40:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","id":4769659,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"due_on":"2012-06-04T07:00:00Z","created_at":"2012-03-08T12:22:28Z","title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"open_issues":10,"closed_issues":2,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/30","labels":[{"name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","color":"02e10c"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T05:40:15Z","id":"1556234207","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"MemberEvent","payload":{"action":"added","member":{"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/Lyloa","id":1131432,"login":"Lyloa"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T05:34:29Z","id":"1556233923","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"MemberEvent","payload":{"action":"added","member":{"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/Lyloa","id":1131432,"login":"Lyloa"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T05:33:44Z","id":"1556233882","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"ForkEvent","payload":{"forkee":{"name":"PyGithub","size":348,"has_wiki":false,"created_at":"2012-05-27T05:23:17Z","clone_url":"https://github.com/BeaverSoftware/PyGithub.git","public":true,"watchers":1,"private":false,"updated_at":"2012-05-27T05:23:18Z","git_url":"git://github.com/BeaverSoftware/PyGithub.git","fork":true,"language":"Python","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","id":4460027,"svn_url":"https://github.com/BeaverSoftware/PyGithub","pushed_at":"2012-05-26T20:54:13Z","has_downloads":true,"mirror_url":null,"open_issues":0,"full_name":"BeaverSoftware/PyGithub","has_issues":false,"homepage":"http://vincent-jacques.net/PyGithub","description":"Python library implementing the full Github API v3","forks":0,"html_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-27T05:23:18Z","id":"1556233222","actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware"}},{"type":"PushEvent","payload":{"head":"a39af6a0aae16a923f7be48a70fe1095b17280d2","size":2,"push_id":80709334,"commits":[{"sha":"60fb7a8ef56f46d3fe9ce6d008e6b58238a71d29","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/60fb7a8ef56f46d3fe9ce6d008e6b58238a71d29","distinct":true,"message":"Heavy refactoring of integration tests"},{"sha":"a39af6a0aae16a923f7be48a70fe1095b17280d2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39af6a0aae16a923f7be48a70fe1095b17280d2","distinct":true,"message":"Improve test coverage"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T20:54:15Z","id":"1556182773","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T18:33:42Z","id":"1556168218","actor":{"gravatar_id":"1689abbd998128dbb3658698b429b022","avatar_url":"https://secure.gravatar.com/avatar/1689abbd998128dbb3658698b429b022?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/michaelpedersen","id":22974,"login":"michaelpedersen"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":28,"created_at":"2012-05-19T10:38:23Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Body edited by PyGithub","title":"Issue created by PyGithub","comments":0,"updated_at":"2012-05-26T14:59:33Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":1,"created_at":"2012-03-08T12:22:10Z","due_on":"2012-03-13T07:00:00Z","title":"Version 0.4","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","id":93546,"open_issues":0,"closed_issues":3,"description":"","state":"closed"},"closed_at":"2012-05-26T14:59:33Z","html_url":"https://github.com/jacquev6/PyGithub/issues/28","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","color":"e10c02"},{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"},{"name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","color":"02e10c"}],"state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T14:59:34Z","id":"1556145515","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"36574ded89738a81f47f415017ba880d0cad839b","size":5,"push_id":80677260,"commits":[{"sha":"95cd6c507bdfbf3700a31bafbe26f72a1d684be1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/95cd6c507bdfbf3700a31bafbe26f72a1d684be1","distinct":true,"message":"Use setUp in test for NamedUser"},{"sha":"386bcde55e1744fa888b034d34ad9f167595d2cf","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/386bcde55e1744fa888b034d34ad9f167595d2cf","distinct":true,"message":"Refactor tests of NamedUser"},{"sha":"1b3ca70ebe8724ab7d0d6ba9c8b20853a018eeec","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1b3ca70ebe8724ab7d0d6ba9c8b20853a018eeec","distinct":true,"message":"Restore coverage of Event"},{"sha":"ff8d87d5391b2ef8d10e89f77260a18440e88e25","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ff8d87d5391b2ef8d10e89f77260a18440e88e25","distinct":true,"message":"Test NamedUser.create_gist withour description"},{"sha":"36574ded89738a81f47f415017ba880d0cad839b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/36574ded89738a81f47f415017ba880d0cad839b","distinct":true,"message":"Refactor tests of Repository"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T11:25:50Z","id":"1556126182","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"619eae8d51c5988f0d2889fc767fa677438ba95d","size":11,"push_id":80673538,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":false,"message":"Merge branch 'develop'"},{"sha":"3a3bf4763192ee1234eb0557628133e06f3dfc76","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76","distinct":true,"message":"Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py"},{"sha":"608f17794664f61693a3dc05e6056fea8fbef0ff","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff","distinct":true,"message":"Restore some form of Authorization header in replay data"},{"sha":"2c04b8adbd91d38eef4f0767337ab7a12b2f684b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b","distinct":true,"message":"Allow test without pre-set-up Github"},{"sha":"5b97389988b6fe43e15a079702f6f1671257fb28","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28","distinct":true,"message":"Test three authentication schemes"},{"sha":"12747613c5ec00deccf296b8619ad507f7050475","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475","distinct":true,"message":"Test Issue.getComments"},{"sha":"2982fa96c5ca75abe717d974d83f9135d664232e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e","distinct":true,"message":"Test the new Repository.full_name attribute"},{"sha":"619eae8d51c5988f0d2889fc767fa677438ba95d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d","distinct":true,"message":"Improve coverage of AuthenticatedUser"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-26T10:01:39Z","id":"1556114751","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","comments":0,"title":"Publish version 0.7","updated_at":"2012-05-25T17:32:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:32Z","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/29","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940993","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"closed","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","comments":1,"title":"Implement all authentication schemes","updated_at":"2012-05-25T17:32:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:31Z","labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"closed"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:32:33Z","id":"1555940986","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref_type":"tag","ref":"v0.7","description":"Python library implementing the full Github API v3"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936661","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DeleteEvent","payload":{"ref_type":"branch","ref":"topic/Authentication"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936660","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","size":4,"push_id":80573368,"ref":"refs/heads/master","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":true,"message":"Merge branch 'develop'"}]},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:48Z","id":"1555936659","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","size":3,"push_id":80573367,"commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"}],"ref":"refs/heads/develop"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T17:19:47Z","id":"1555936657","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CreateEvent","payload":{"master_branch":"master","ref":"topic/Authentication","description":"Python library implementing the full Github API v3","ref_type":"branch"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:24:21Z","id":"1555833283","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssuesEvent","payload":{"action":"opened","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","title":"Publish version 0.7","comments":0,"updated_at":"2012-05-25T11:47:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"created_at":"2012-05-25T11:47:06Z","due_on":"2012-05-26T07:00:00Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"open_issues":2,"closed_issues":0,"description":"","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/29","labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T12:02:48Z","id":"1555822981","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"IssueCommentEvent","payload":{"comment":{"created_at":"2012-05-25T06:31:42Z","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","id":5924198,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","title":"Implement all authentication schemes","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":null,"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"open"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:31:42Z","id":"1555742639","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"WatchEvent","payload":{"action":"started"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-25T06:05:21Z","id":"1555738288","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"PushEvent","payload":{"head":"527ce7459a2e60d1536883f19b9bc6850d71127b","size":5,"push_id":79877715,"commits":[{"sha":"287bc541542f9d32339e7dd4b36a511cab2ebdae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/287bc541542f9d32339e7dd4b36a511cab2ebdae","distinct":true,"message":"Generate more coverage information"},{"sha":"588a4a9a355096c00a2bb25f27664d2115e120ac","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/588a4a9a355096c00a2bb25f27664d2115e120ac","distinct":true,"message":"Test AuthenticatedUser watching"},{"sha":"815720f0deb376c34166c27b6e3b73e5c1f5b1a3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/815720f0deb376c34166c27b6e3b73e5c1f5b1a3","distinct":true,"message":"Test Authorization"},{"sha":"473c92adcd8bbbd32003d9c65666ede66059551b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/473c92adcd8bbbd32003d9c65666ede66059551b","distinct":true,"message":"Test Download and CommitComment"},{"sha":"527ce7459a2e60d1536883f19b9bc6850d71127b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/527ce7459a2e60d1536883f19b9bc6850d71127b","distinct":true,"message":"Merge commit 'c93f9cc8484b7' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\ttest/IntegrationTest.py"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:59:48Z","id":"1554729420","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:15:29Z","content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","id":242562,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:15:30Z","id":"1554712197","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:11:49Z","content_type":"text/richtext","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242556","id":242556,"description":"Download created by PyGithub","html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T19:11:49Z","id":"1554710791","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"DownloadEvent","payload":{"download":{"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","size":1024,"content_type":"text/plain","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","download_count":0,"id":242550,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:58:32Z","id":"1554705673","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":19,"created_at":"2012-05-22T18:53:25Z","line":211,"body":"Foobar","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:53:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362020","id":1362020,"path":"src/github/AuthenticatedUser.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362020","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:53:25Z","id":"1554703698","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":3,"created_at":"2012-05-22T18:50:02Z","line":null,"body":"Comment also created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:50:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","id":1362001,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362001","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:50:02Z","id":"1554702296","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:49:34Z","line":26,"body":"Comment created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:49:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","id":1362000,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:49:34Z","id":"1554702087","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},{"type":"CommitCommentEvent","payload":{"comment":{"position":null,"created_at":"2012-05-22T18:40:18Z","body":"Comment created by PyGithub","line":null,"commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:40:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","id":1361949,"path":null,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"public":true,"repo":{"url":"https://api.github.com/repos/jacquev6/PyGithub","id":3544490,"name":"jacquev6/PyGithub"},"created_at":"2012-05-22T18:40:18Z","id":"1554698320","actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}] - diff --git a/github/tests/ReplayData/Repository.testGetForks.txt b/github/tests/ReplayData/Repository.testGetForks.txt deleted file mode 100644 index 2610b7a..0000000 --- a/github/tests/ReplayData/Repository.testGetForks.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/forks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '1141'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6f7c9361ed89e4c405627dba9e70b879"'), ('date', 'Sun, 27 May 2012 06:58:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/abersager/PyGithub.git","has_downloads":true,"watchers":2,"git_url":"git://github.com/abersager/PyGithub.git","updated_at":"2012-03-28T10:37:22Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"mirror_url":null,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/abersager/PyGithub","owner":{"url":"https://api.github.com/users/abersager","gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","id":1328351,"avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:abersager/PyGithub.git","pushed_at":"2012-03-26T10:05:31Z","created_at":"2012-03-26T09:12:45Z","id":3831162,"html_url":"https://github.com/abersager/PyGithub","full_name":"abersager/PyGithub"}] - diff --git a/github/tests/ReplayData/Repository.testGetGitRef.txt b/github/tests/ReplayData/Repository.testGetGitRef.txt deleted file mode 100644 index 78466c9..0000000 --- a/github/tests/ReplayData/Repository.testGetGitRef.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '288'), ('server', 'nginx'), ('last-modified', 'Sun, 28 Oct 2012 01:48:38 GMT'), ('connection', 'keep-alive'), ('etag', '"d7478b9ae7e3c0de496ede43edd2fdfc"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 28 Oct 2012 08:58:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/master","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/31110327ec45f3138e58ed247b2cf420fee481ec","type":"commit","sha":"31110327ec45f3138e58ed247b2cf420fee481ec"},"ref":"refs/heads/master"} - diff --git a/github/tests/ReplayData/Repository.testGetGitRefWithIssue102Reverted.txt b/github/tests/ReplayData/Repository.testGetGitRefWithIssue102Reverted.txt deleted file mode 100644 index 78466c9..0000000 --- a/github/tests/ReplayData/Repository.testGetGitRefWithIssue102Reverted.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs/heads/master -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '288'), ('server', 'nginx'), ('last-modified', 'Sun, 28 Oct 2012 01:48:38 GMT'), ('connection', 'keep-alive'), ('etag', '"d7478b9ae7e3c0de496ede43edd2fdfc"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Sun, 28 Oct 2012 08:58:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/master","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/31110327ec45f3138e58ed247b2cf420fee481ec","type":"commit","sha":"31110327ec45f3138e58ed247b2cf420fee481ec"},"ref":"refs/heads/master"} - diff --git a/github/tests/ReplayData/Repository.testGetGitRefs.txt b/github/tests/ReplayData/Repository.testGetGitRefs.txt deleted file mode 100644 index 90d999b..0000000 --- a/github/tests/ReplayData/Repository.testGetGitRefs.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/refs -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4956'), ('content-length', '3176'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"85c62d1ec1ea8966569c391d802d4f3f"'), ('date', 'Sun, 27 May 2012 07:00:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"ref":"refs/heads/develop","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/develop","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16"}},{"ref":"refs/heads/master","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/master","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"}},{"ref":"refs/heads/topic/DependencyGraph","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/DependencyGraph","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/05157f11f29a3ac057e35d2487880c5d08bd69af","sha":"05157f11f29a3ac057e35d2487880c5d08bd69af"}},{"ref":"refs/heads/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode","object":{"type":"commit","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/956279094a7383b6a8f00c93770ed02ca711f8e5","sha":"956279094a7383b6a8f00c93770ed02ca711f8e5"}},{"ref":"refs/tags/v0.1","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.1","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/fc28301862c0118b88cc94da678fb5104b249370","sha":"fc28301862c0118b88cc94da678fb5104b249370"}},{"ref":"refs/tags/v0.2","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.2","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/48cabc0fc3b1a9767d6f0db9f6058f24681cada7","sha":"48cabc0fc3b1a9767d6f0db9f6058f24681cada7"}},{"ref":"refs/tags/v0.3","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.3","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/4870747f5faf15ba38ece8211283ef87b25679c1","sha":"4870747f5faf15ba38ece8211283ef87b25679c1"}},{"ref":"refs/tags/v0.4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.4","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/26fb28983636cb4773acb5581f4a443cd0aef808","sha":"26fb28983636cb4773acb5581f4a443cd0aef808"}},{"ref":"refs/tags/v0.5","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.5","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/c88b802b71cf19cfbc2e915dbb8a0e98f235a926","sha":"c88b802b71cf19cfbc2e915dbb8a0e98f235a926"}},{"ref":"refs/tags/v0.6","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.6","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"}},{"ref":"refs/tags/v0.7","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/tags/v0.7","object":{"type":"tag","url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/78ca479ac54294dabd16a6644bbe5e013fabf183","sha":"78ca479ac54294dabd16a6644bbe5e013fabf183"}}] - diff --git a/github/tests/ReplayData/Repository.testGetGitTreeWithRecursive.txt b/github/tests/ReplayData/Repository.testGetGitTreeWithRecursive.txt deleted file mode 100644 index ca69f05..0000000 --- a/github/tests/ReplayData/Repository.testGetGitTreeWithRecursive.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad?recursive=True -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '22154'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c20355ebfacf97b7c3b8809da473b6be"'), ('date', 'Tue, 29 May 2012 17:50:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","size":53,"path":".gitignore","sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","size":1832,"path":"Design.md","sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","size":28643,"path":"IntegrationTest.py","sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","size":3153,"path":"ReadMe.md","sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","size":12687,"path":"ReferenceOfApis.md","sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","size":15967,"path":"ReferenceOfClasses.md","sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","mode":"100644"},{"type":"tree","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","mode":"040000"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/899acba9e6519909e8f518c93b3775a656359386","size":609,"path":"ReplayDataForIntegrationTest/AuthenticatedUserDetails.txt","sha":"899acba9e6519909e8f518c93b3775a656359386","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/e768d406b775a852e46fc54cb6924c7f37f6b7bd","size":7158,"path":"ReplayDataForIntegrationTest/Colaborators.txt","sha":"e768d406b775a852e46fc54cb6924c7f37f6b7bd","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/291ed44bf7e03cd9b6f02af19499589e54b7398a","size":23895,"path":"ReplayDataForIntegrationTest/CommentCommit.txt","sha":"291ed44bf7e03cd9b6f02af19499589e54b7398a","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7abd0442ccde81422bf9967e655dd0e28092d909","size":7638,"path":"ReplayDataForIntegrationTest/CreateForkForOrganization.txt","sha":"7abd0442ccde81422bf9967e655dd0e28092d909","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/6e61fd654124629b0ff2b1f6de97ff8fe486870f","size":9063,"path":"ReplayDataForIntegrationTest/CreateRepoForOrganization.txt","sha":"6e61fd654124629b0ff2b1f6de97ff8fe486870f","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/cb671f517ba3c8002ecb2f7336ce180f60c2e99b","size":47473,"path":"ReplayDataForIntegrationTest/CreateRepoForUser.txt","sha":"cb671f517ba3c8002ecb2f7336ce180f60c2e99b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b4171942210f47faddba6df980d64bd8e2072cb5","size":6762,"path":"ReplayDataForIntegrationTest/Downloads.txt","sha":"b4171942210f47faddba6df980d64bd8e2072cb5","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9ec888931dda43e8e88f33f70cdc0a95992f021d","size":3521,"path":"ReplayDataForIntegrationTest/EditAuthenticatedUser.txt","sha":"9ec888931dda43e8e88f33f70cdc0a95992f021d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/f60c63a9ee01455d98173b943c309bd8ca0c358d","size":3283,"path":"ReplayDataForIntegrationTest/EditOrganization.txt","sha":"f60c63a9ee01455d98173b943c309bd8ca0c358d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/fe947fcec0a35994498b2b0517fbba01becafafc","size":24634,"path":"ReplayDataForIntegrationTest/EditOrganizationTeamAndMembers.txt","sha":"fe947fcec0a35994498b2b0517fbba01becafafc","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/78fdccde664076fc363446ee2dd18d4f08d19e24","size":2034,"path":"ReplayDataForIntegrationTest/Emails.txt","sha":"78fdccde664076fc363446ee2dd18d4f08d19e24","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53d65d31fc057de4d0fc62668ca695ea690463b7","size":830522,"path":"ReplayDataForIntegrationTest/Events.txt","sha":"53d65d31fc057de4d0fc62668ca695ea690463b7","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/193f10c7d2d8b29de1d430f6665ebec492f7bc03","size":13489,"path":"ReplayDataForIntegrationTest/Follow.txt","sha":"193f10c7d2d8b29de1d430f6665ebec492f7bc03","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/355cfac1f2b53d6dd09bc861f982e7380ab7ea6c","size":39318,"path":"ReplayDataForIntegrationTest/Gists.txt","sha":"355cfac1f2b53d6dd09bc861f982e7380ab7ea6c","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b18abe6bda1a8d5690effc4709ca2284c0ba3fce","size":274113,"path":"ReplayDataForIntegrationTest/GistsAll.txt","sha":"b18abe6bda1a8d5690effc4709ca2284c0ba3fce","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b8ff613ae927823bb6aa0b0430e0131626353493","size":17052,"path":"ReplayDataForIntegrationTest/GitObjects.txt","sha":"b8ff613ae927823bb6aa0b0430e0131626353493","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/be345cdb76780a84fdb0f7a8e9d4f92d93730b44","size":10297,"path":"ReplayDataForIntegrationTest/GitObjectsAlternative.txt","sha":"be345cdb76780a84fdb0f7a8e9d4f92d93730b44","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/bf0471641650dcf92d33bc6aafd7307b8c43b652","size":7486,"path":"ReplayDataForIntegrationTest/Hooks.txt","sha":"bf0471641650dcf92d33bc6aafd7307b8c43b652","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/1631b78249fcdde37c5bc54832c202372ebcc0d6","size":60086,"path":"ReplayDataForIntegrationTest/IssuesAndMilestones.txt","sha":"1631b78249fcdde37c5bc54832c202372ebcc0d6","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/40e23bcc3d16a3f409ded8487d526ce019f14cba","size":23825,"path":"ReplayDataForIntegrationTest/IssuesForAuthenticatedUser.txt","sha":"40e23bcc3d16a3f409ded8487d526ce019f14cba","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/119acdad17754f2b806f8f2a236152d5e2738072","size":12513,"path":"ReplayDataForIntegrationTest/Keys.txt","sha":"119acdad17754f2b806f8f2a236152d5e2738072","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5fb50bcb8c87b2edcf8e3f700483533f67ba63fa","size":8501,"path":"ReplayDataForIntegrationTest/MergePullRequest.txt","sha":"5fb50bcb8c87b2edcf8e3f700483533f67ba63fa","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/e2bb418a947baf51f5a726c81dc12849d8e57401","size":65016,"path":"ReplayDataForIntegrationTest/NamedUserDetails.txt","sha":"e2bb418a947baf51f5a726c81dc12849d8e57401","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/d37e86574b55beedca277dc67f591ce1ad677950","size":877,"path":"ReplayDataForIntegrationTest/OrganizationDetails.txt","sha":"d37e86574b55beedca277dc67f591ce1ad677950","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/a0d497fb5819e66685d5506ca091ca626cd8cc9b","size":41292,"path":"ReplayDataForIntegrationTest/PullRequest.txt","sha":"a0d497fb5819e66685d5506ca091ca626cd8cc9b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8d3c8098592470fca5ae07a1edf271fcf2682268","size":160243,"path":"ReplayDataForIntegrationTest/RepositoryCompare.txt","sha":"8d3c8098592470fca5ae07a1edf271fcf2682268","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/04c0eae1a45e1f74085a5bb566f3ac022afc7653","size":26507,"path":"ReplayDataForIntegrationTest/RepositoryDetails.txt","sha":"04c0eae1a45e1f74085a5bb566f3ac022afc7653","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/0fa34785c12f0969f8a6862531dbf9e9ee0a32a1","size":8833,"path":"ReplayDataForIntegrationTest/RepositoryKeys.txt","sha":"0fa34785c12f0969f8a6862531dbf9e9ee0a32a1","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/f294af3d6284498ed413ed56d0ede0635acd1e96","size":31556,"path":"ReplayDataForIntegrationTest/Watch.txt","sha":"f294af3d6284498ed413ed56d0ede0635acd1e96","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","size":320,"path":"RoadMap.md","sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","mode":"100644"},{"type":"tree","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","mode":"040000"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/c05b41fe0f526f0d92a00381860c5005d8910218","size":2251,"path":"github/GenerateReferenceOfApis.py","sha":"c05b41fe0f526f0d92a00381860c5005d8910218","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/c7c328b2e79ad79b3188da87f2458278b4df370e","size":751,"path":"github/GenerateReferenceOfClasses.py","sha":"c7c328b2e79ad79b3188da87f2458278b4df370e","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/73d750640226cc5c80141101578adf2159056431","size":7848,"path":"github/Github.UnitTest.py","sha":"73d750640226cc5c80141101578adf2159056431","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/e6373d6ea2c02bdf37e9b26fc7f7b08db9f011b8","size":1281,"path":"github/Github.py","sha":"e6373d6ea2c02bdf37e9b26fc7f7b08db9f011b8","mode":"100644"},{"type":"tree","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/1a549caa38bde6661f0b9d881a5d765c633c1992","path":"github/GithubObjects","sha":"1a549caa38bde6661f0b9d881a5d765c633c1992","mode":"040000"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/22d7121fb27e682e09bc670c29ac981e3cb62a7e","size":4049,"path":"github/GithubObjects/AuthenticatedUser.py","sha":"22d7121fb27e682e09bc670c29ac981e3cb62a7e","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/2316041bf8880725effc3ce8c8c2b7cf8db11cee","size":400,"path":"github/GithubObjects/Authorization.py","sha":"2316041bf8880725effc3ce8c8c2b7cf8db11cee","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/30fbebc5e728fa98337221da0c155227662362d7","size":179,"path":"github/GithubObjects/Branch.py","sha":"30fbebc5e728fa98337221da0c155227662362d7","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3a990227a4fcb71ae3d32fe2af24d249edf8150d","size":884,"path":"github/GithubObjects/Commit.py","sha":"3a990227a4fcb71ae3d32fe2af24d249edf8150d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5bb931084bfbe9f76bd70ac630f7528393c77a23","size":443,"path":"github/GithubObjects/CommitComment.py","sha":"5bb931084bfbe9f76bd70ac630f7528393c77a23","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/a4577f31e2753b88d104d9f252883655ed617211","size":485,"path":"github/GithubObjects/Download.py","sha":"a4577f31e2753b88d104d9f252883655ed617211","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/1cdb4e961f76bca3371ce524fd8f19d18977c060","size":407,"path":"github/GithubObjects/Event.py","sha":"1cdb4e961f76bca3371ce524fd8f19d18977c060","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/771c33f701ab4d5a2a7ff0b6a64bb82b4467da59","size":1755,"path":"github/GithubObjects/Gist.py","sha":"771c33f701ab4d5a2a7ff0b6a64bb82b4467da59","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/4fc4c442cc6bdb1f2323b6f0195518e3549d53ec","size":352,"path":"github/GithubObjects/GistComment.py","sha":"4fc4c442cc6bdb1f2323b6f0195518e3549d53ec","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/607429faac7285ffaf30f42e9e3d2498f9dce199","size":259,"path":"github/GithubObjects/GitBlob.py","sha":"607429faac7285ffaf30f42e9e3d2498f9dce199","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/c9aa31c2047c9e18d092cdb8362b0872a4c858da","size":330,"path":"github/GithubObjects/GitCommit.py","sha":"c9aa31c2047c9e18d092cdb8362b0872a4c858da","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/f242e173e74399387fec3e65311ed1b4d9307795","size":301,"path":"github/GithubObjects/GitRef.py","sha":"f242e173e74399387fec3e65311ed1b4d9307795","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9248ea6195629a87a603bc2a960c5a88da50c7aa","size":279,"path":"github/GithubObjects/GitTag.py","sha":"9248ea6195629a87a603bc2a960c5a88da50c7aa","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61dac784bf2103e9b55e141042efd26da9ebcd3d","size":295,"path":"github/GithubObjects/GitTree.py","sha":"61dac784bf2103e9b55e141042efd26da9ebcd3d","mode":"100644"},{"type":"tree","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/173066f1477e24afa2ffd4cb9ceedb2531256837","path":"github/GithubObjects/GithubObject","sha":"173066f1477e24afa2ffd4cb9ceedb2531256837","mode":"040000"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b2c5b054c3587ec60e2873bb269940eb2d09d0fa","size":2121,"path":"github/GithubObjects/GithubObject/ArgumentsChecker.py","sha":"b2c5b054c3587ec60e2873bb269940eb2d09d0fa","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/2702c9f4df72cd9c77e4545081cf7e5511523a0f","size":4111,"path":"github/GithubObjects/GithubObject/Basic.py","sha":"2702c9f4df72cd9c77e4545081cf7e5511523a0f","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b7a2f794033bcbd3c28ba1e49369a49da5c78a5d","size":24438,"path":"github/GithubObjects/GithubObject/GithubObject.UnitTest.py","sha":"b7a2f794033bcbd3c28ba1e49369a49da5c78a5d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/72464749e55a17e232841444bcddb48ad81d1b31","size":5179,"path":"github/GithubObjects/GithubObject/GithubObject.py","sha":"72464749e55a17e232841444bcddb48ad81d1b31","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/b4d29b38144d319b1d18f96eb4e9502fa82fd4c6","size":8470,"path":"github/GithubObjects/GithubObject/List.py","sha":"b4d29b38144d319b1d18f96eb4e9502fa82fd4c6","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/a7aeb7372fba85d33239c7d023f779f0d7db81ad","size":921,"path":"github/GithubObjects/GithubObject/TypePolicies.py","sha":"a7aeb7372fba85d33239c7d023f779f0d7db81ad","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/cbc7e4d667044eb16ddbe42d6242857057b5fc4d","size":27,"path":"github/GithubObjects/GithubObject/__init__.py","sha":"cbc7e4d667044eb16ddbe42d6242857057b5fc4d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/36dc1354a94613fc3a0d785028f9792182a07af8","size":671,"path":"github/GithubObjects/Hook.py","sha":"36dc1354a94613fc3a0d785028f9792182a07af8","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/13c2f05af897f7b1fc5fc789f73757ee1e3731a0","size":1612,"path":"github/GithubObjects/Issue.py","sha":"13c2f05af897f7b1fc5fc789f73757ee1e3731a0","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/fb812b33bb5c3cb7fc65048e191c95d586888434","size":387,"path":"github/GithubObjects/IssueComment.py","sha":"fb812b33bb5c3cb7fc65048e191c95d586888434","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/c5b6fd29765aeefd1113e255c5b58f4fdf7c99e3","size":328,"path":"github/GithubObjects/IssueEvent.py","sha":"c5b6fd29765aeefd1113e255c5b58f4fdf7c99e3","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/aec594f92b8081b93a469c6f7b5c616df5197b6b","size":370,"path":"github/GithubObjects/Label.py","sha":"aec594f92b8081b93a469c6f7b5c616df5197b6b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7cd1bc0d6dc6b78d2a98b908de4a607621f30919","size":742,"path":"github/GithubObjects/Milestone.py","sha":"7cd1bc0d6dc6b78d2a98b908de4a607621f30919","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/c460d2f2b4e842a1517f4fd10b338768cccad2a3","size":963,"path":"github/GithubObjects/NamedUser.py","sha":"c460d2f2b4e842a1517f4fd10b338768cccad2a3","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/74c170d10feaace6bfa523224011147627a05df2","size":1968,"path":"github/GithubObjects/NamedUser_complete.py","sha":"74c170d10feaace6bfa523224011147627a05df2","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3fb7adc168b5ed21c58363a4efe1f195cab3f81d","size":1052,"path":"github/GithubObjects/Organization.py","sha":"3fb7adc168b5ed21c58363a4efe1f195cab3f81d","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/dd1096ae08e979220dd0e4c9faf684c33578f819","size":1290,"path":"github/GithubObjects/Organization_complete.py","sha":"dd1096ae08e979220dd0e4c9faf684c33578f819","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5ee414d50e9d1ba4ee5c3132904d3f48f21be0b6","size":2045,"path":"github/GithubObjects/PullRequest.py","sha":"5ee414d50e9d1ba4ee5c3132904d3f48f21be0b6","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/ac3cb0d3f33adfc281ca9ef5eaa8b7a45f9cf0f7","size":459,"path":"github/GithubObjects/PullRequestComment.py","sha":"ac3cb0d3f33adfc281ca9ef5eaa8b7a45f9cf0f7","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/d7135d168b80968f5d207c4c14b2a27c46ce3eb7","size":236,"path":"github/GithubObjects/PullRequestFile.py","sha":"d7135d168b80968f5d207c4c14b2a27c46ce3eb7","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/81ce811139f1e108a4c33ae5be07d1c618dc2a1b","size":8064,"path":"github/GithubObjects/Repository.py","sha":"81ce811139f1e108a4c33ae5be07d1c618dc2a1b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/cea71c017ea61a7a8d39df0077838132c10f743e","size":318,"path":"github/GithubObjects/RepositoryKey.py","sha":"cea71c017ea61a7a8d39df0077838132c10f743e","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/4a9ae6f58fd12b622cdce969648c4b3f293d3242","size":753,"path":"github/GithubObjects/Repository_complete.py","sha":"4a9ae6f58fd12b622cdce969648c4b3f293d3242","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/cd65493dc75482f3000a7df631ba70f2fe2023a6","size":203,"path":"github/GithubObjects/Tag.py","sha":"cd65493dc75482f3000a7df631ba70f2fe2023a6","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/fcd844200ff859b29c892ccffb8bfe124b1af2bd","size":748,"path":"github/GithubObjects/Team.py","sha":"fcd844200ff859b29c892ccffb8bfe124b1af2bd","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/ba912f6accf2030147561fdd9614b152d427d24b","size":272,"path":"github/GithubObjects/UserKey.py","sha":"ba912f6accf2030147561fdd9614b152d427d24b","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/e19884f3141840b495c2c42bcb0708a4a58f7a1f","size":297,"path":"github/GithubObjects/__init__.py","sha":"e19884f3141840b495c2c42bcb0708a4a58f7a1f","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/1901018b6ebb83c70bb8077568177bc213de7ce6","size":3336,"path":"github/Requester.UnitTest.py","sha":"1901018b6ebb83c70bb8077568177bc213de7ce6","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/fac044b85acf5419e36f494de21559871c7fb743","size":2776,"path":"github/Requester.py","sha":"fac044b85acf5419e36f494de21559871c7fb743","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/109d6b9a44f7e489bb5f860da7d76407b2c99a66","size":26,"path":"github/__init__.py","sha":"109d6b9a44f7e489bb5f860da7d76407b2c99a66","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","size":673,"path":"run_tests.sh","sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","mode":"100644"},{"type":"blob","url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","size":1295,"path":"setup.py","sha":"53bce9fa919b4544e67275089b3ec5b44be20667","mode":"100644"}]} - diff --git a/github/tests/ReplayData/Repository.testGetHooks.txt b/github/tests/ReplayData/Repository.testGetHooks.txt deleted file mode 100644 index dd637de..0000000 --- a/github/tests/ReplayData/Repository.testGetHooks.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/hooks -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4953'), ('content-length', '295'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"07e5e1a2fafd1a5e2de62eb3afd007d5"'), ('date', 'Sun, 27 May 2012 07:02:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T06:00:32Z","last_response":{"status":"ok","message":"OK","code":200},"events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"}] - diff --git a/github/tests/ReplayData/Repository.testGetIssues.txt b/github/tests/ReplayData/Repository.testGetIssues.txt deleted file mode 100644 index cb6c3d3..0000000 --- a/github/tests/ReplayData/Repository.testGetIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4950'), ('content-length', '28950'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"41676dcfbbfc49368e60f758c3e1d36f"'), ('date', 'Sun, 27 May 2012 07:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-27T05:40:15Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":30,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4769659,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"},{"updated_at":"2012-05-18T11:06:11Z","body":"As per discussion in 6945921c529be14c3a8f566dd1e483674516d46d\n\nI have observed that autocompletion (using PyDev+Eclipse in my case) is pretty erratic.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to `NamedUsers`/`AuthenticatedUser`, really) does not show autocompletion to `g.get_user().get_repo()`.\n\nThis makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/27","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":27,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Facilitate IDE autocompletion","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-18T10:52:29Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4639931,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/27"},{"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":25,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"List project(s) using PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4452000,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/25"},{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328726},"id":4356743,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},{"updated_at":"2012-03-19T19:08:18Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/20","comments":0,"milestone":null,"number":20,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Rework GitTree.recursive","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"created_at":"2012-03-19T19:08:18Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3716033,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/20"},{"updated_at":"2012-03-19T19:04:19Z","body":"In general, when you get a collection, you should get an iterable, and the pagination should be done only if needed. This is mandatory for Github.get_gists","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/19","comments":0,"milestone":null,"number":19,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Rework Github.get_gists","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"created_at":"2012-03-19T19:04:19Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3715946,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/19"},{"updated_at":"2012-03-14T06:49:31Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/18","comments":0,"milestone":null,"number":18,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Take care of _identity","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"created_at":"2012-03-14T06:49:31Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3643837,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/18"},{"updated_at":"2012-03-13T12:09:48Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/17","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":17,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Document issue reporting","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-03-13T12:09:48Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3628022,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/17"},{"updated_at":"2012-03-13T07:04:42Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/16","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":16,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Add copyright and license notice","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-03-13T06:25:31Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624595,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/16"},{"updated_at":"2012-03-13T06:23:35Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/14","comments":0,"milestone":null,"number":14,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Rework BaseUrl to use tuples instead of string concatenation","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"created_at":"2012-03-13T06:23:35Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624570,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/14"},{"updated_at":"2012-03-13T06:22:27Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/13","comments":0,"milestone":null,"number":13,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Remove the _repo hugly hack","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"created_at":"2012-03-13T06:22:27Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624561,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/13"},{"updated_at":"2012-03-13T06:21:57Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/12","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":12,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Structure some InternalSimpleAttributes","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-03-13T06:21:57Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624556,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/12"},{"updated_at":"2012-03-12T21:58:05Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":9,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Publish version 1.0","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-03-12T21:58:05Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3619973,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/9"},{"updated_at":"2012-03-08T12:23:29Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":4,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Review public interface homogeneity ","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-03-06T16:48:40Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527266,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/4"},{"updated_at":"2012-05-19T06:42:43Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3","comments":0,"milestone":null,"number":3,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Deduce mandatory parameters","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"created_at":"2012-03-06T16:47:49Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527245,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/3"},{"updated_at":"2012-03-08T12:23:29Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/2","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_issues":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":2,"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"closed_at":null,"title":"Use objects as parameters instead of shas, ids, etc.","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-03-06T16:46:49Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527231,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/2"}] - diff --git a/github/tests/ReplayData/Repository.testGetIssuesComments.txt b/github/tests/ReplayData/Repository.testGetIssuesComments.txt deleted file mode 100644 index 56990d5..0000000 --- a/github/tests/ReplayData/Repository.testGetIssuesComments.txt +++ /dev/null @@ -1,66 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '42659'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 22:43:37 GMT'), ('connection', 'keep-alive'), ('etag', '"e9ac24ceac76d4d31cf648484a47b665"'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:53:42 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -[{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"Thank you for reporting this. I'll publish a fix as soon as possible (tonight or tomorrow)","updated_at":"2012-04-17T05:50:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5168757","created_at":"2012-04-17T05:50:25Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5168757},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"Fixed in version 0.6. Please `easy_install --upgrade pygithub`","updated_at":"2012-04-17T17:59:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5181640","created_at":"2012-04-17T17:59:18Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5181640},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"yes fixed thanks","updated_at":"2012-04-17T18:58:05Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5183010","created_at":"2012-04-17T18:58:05Z","user":{"type":"User","events_url":"https://api.github.com/users/tallforasmurf/events{/privacy}","received_events_url":"https://api.github.com/users/tallforasmurf/received_events","gists_url":"https://api.github.com/users/tallforasmurf/gists{/gist_id}","followers_url":"https://api.github.com/users/tallforasmurf/followers","following_url":"https://api.github.com/users/tallforasmurf/following","organizations_url":"https://api.github.com/users/tallforasmurf/orgs","url":"https://api.github.com/users/tallforasmurf","gravatar_id":"bff435ae5fc2e73d7c7c8351231e8040","starred_url":"https://api.github.com/users/tallforasmurf/starred{/owner}{/repo}","login":"tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/bff435ae5fc2e73d7c7c8351231e8040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/tallforasmurf/repos","subscriptions_url":"https://api.github.com/users/tallforasmurf/subscriptions","id":1137018},"id":5183010},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4159230","body":"`UnknownGithubObject` is the exception I throw when you request an object that doesn't exist. Here, there is no download with `id` `1` or `\"foobar\"` in your repo.\r\n\r\nThe `TypeError` you get when calling `repo.get_download()`is because `get_download` requires an argument as stated in the [reference of classes](https://github.com/jacquev6/PyGithub/blob/master/ReferenceOfClasses.md) (See \"Downloads\" in \"class Repository\").\r\n\r\nSo, what argument should you pass to `get_downloads`? Well, the documentation says `id`, so you can first call `get_downloads` which returns a list of `Download`s, and look what is `Download.id`.\r\n\r\nThe fact is that I have no repository to test this with downloads, but here is an example with issues (`g` is a `Github` instance):\r\n\r\n >>> g.get_user().get_repo( \"PyGithub\" ).get_issues()[0].number\r\n 23\r\n >>> g.get_user().get_repo( \"PyGithub\" ).get_issue( 23 )\r\n \r\n\r\n(I took the `number` attribute of the first `Issue`, because the reference says that `get_issue` takes a `number`.)\r\n\r\nI hope it helps.","updated_at":"2012-04-17T21:10:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5186061","created_at":"2012-04-17T21:10:15Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5186061},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4159230","body":"I hope this report will be useful, however, I am not going to be using this package after all. I discovered (what should have been obvious) that I can get everything I need from github just using urllib and reading the page.\r\n\r\n import urllib2\r\n try:\r\n u = urllib2.urlopen( 'https://github.com//', timeout=5 )\r\n except:\r\n #cannot contact github - try later\r\n #exit\r\n s = u.read()\r\n u.close()\r\n\r\nIt's all there, file names, SHA, last commit date, and if I want to read file data, no need to decode a blob, it's at ```https://raw.github.com///master/```\r\n","updated_at":"2012-04-19T16:40:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5226090","created_at":"2012-04-19T16:40:02Z","user":{"type":"User","events_url":"https://api.github.com/users/tallforasmurf/events{/privacy}","received_events_url":"https://api.github.com/users/tallforasmurf/received_events","gists_url":"https://api.github.com/users/tallforasmurf/gists{/gist_id}","followers_url":"https://api.github.com/users/tallforasmurf/followers","following_url":"https://api.github.com/users/tallforasmurf/following","organizations_url":"https://api.github.com/users/tallforasmurf/orgs","url":"https://api.github.com/users/tallforasmurf","gravatar_id":"bff435ae5fc2e73d7c7c8351231e8040","starred_url":"https://api.github.com/users/tallforasmurf/starred{/owner}{/repo}","login":"tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/bff435ae5fc2e73d7c7c8351231e8040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/tallforasmurf/repos","subscriptions_url":"https://api.github.com/users/tallforasmurf/subscriptions","id":1137018},"id":5226090},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","updated_at":"2012-05-01T22:03:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","created_at":"2012-05-01T22:03:59Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5449237},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","updated_at":"2012-05-04T19:23:57Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","created_at":"2012-05-04T19:23:57Z","user":{"type":"User","events_url":"https://api.github.com/users/roskakori/events{/privacy}","received_events_url":"https://api.github.com/users/roskakori/received_events","gists_url":"https://api.github.com/users/roskakori/gists{/gist_id}","followers_url":"https://api.github.com/users/roskakori/followers","following_url":"https://api.github.com/users/roskakori/following","organizations_url":"https://api.github.com/users/roskakori/orgs","url":"https://api.github.com/users/roskakori","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","starred_url":"https://api.github.com/users/roskakori/starred{/owner}{/repo}","login":"roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/roskakori/repos","subscriptions_url":"https://api.github.com/users/roskakori/subscriptions","id":328726},"id":5518272},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3617711","body":"This was reported by user in #24. I close this one because the other one has more information.","updated_at":"2012-05-07T10:45:58Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5547576","created_at":"2012-05-07T10:45:58Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5547576},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Thank you for your feedback.\n\nI have indeed not yet implemented this feature because I have no real use of it: each API call is more than half a second long, so it's hard to reach the rate limit.\n\nAnyway, it is easy to extract the rate limiting headers, so I will add an attribute to the Github class to give access to their last value.\n\nExpect it in version 1.0. I will set an expected date on the milestone during the week-end.\n","updated_at":"2012-05-18T05:27:40Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5780183","created_at":"2012-05-18T05:27:40Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5780183},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Ah good point about it being hard to reach. Thanks for implementing it. No hurry, though, it's not that important. :-)","updated_at":"2012-05-18T08:34:04Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5781803","created_at":"2012-05-18T08:34:04Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5781803},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Implemented in ca97469. Will be in version 1.0.","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820199","created_at":"2012-05-21T11:17:12Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5820199},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Thanks. :-)","updated_at":"2012-05-21T12:09:57Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820912","created_at":"2012-05-21T12:09:57Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5820912},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3624575","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","created_at":"2012-05-25T06:31:42Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5924198},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"You're definitively my best user ! I hope you will not get tired of discovering bugs and limitations in my library.\n\nThis issue is related to https://github.com/jacquev6/PyGithub/blob/master/github/Requester.py#L28 and the `pageCount < 10`: I've had to limit to 10 pages for some obscure reason I don't remember.\n\nIn version 1.0, `get_issues` (and other `get_collection`s) will not return a Python `list` but a `github.PaginatedList` which will be iterable and not limited to 10 pages, (but you won't be able to call `len` on it).","updated_at":"2012-05-28T13:52:22Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965724","created_at":"2012-05-28T13:52:22Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5965724},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3527245","body":"For example, `Repository.edit` has a first parameter, `name`, which is mandatory, and should not. We could deduce it from the `name` attribute.","updated_at":"2012-05-28T13:58:35Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965812","created_at":"2012-05-28T13:58:35Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5965812},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"I see. Is there a possibility to increase the number of items per page to work around this for now? This is in the API (with `&per_page=100` according to API docs), but I'm unsure how to do this in PyGithub. Default is 25, max 100.","updated_at":"2012-05-28T14:04:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965891","created_at":"2012-05-28T14:04:25Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5965891},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"If you can't or don't want to modify PyGithub locally, I'm afraid you're stuck to 10 pages of 25 items, sorry.\n\nIf you can patch PyGithub, just increase/remove the limit on `pageCount` in `Requester.py`.\n\nBe assured I will publish version 1.0 on next Monday, with all the things I promised :)","updated_at":"2012-05-28T14:42:47Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5966555","created_at":"2012-05-28T14:42:47Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5966555},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"I see. I can either patch it locally, or just wait for next week. It will take a while until I get all the other work done, waiting for 1.0 probably won't delay me at all.","updated_at":"2012-05-28T14:47:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5966633","created_at":"2012-05-28T14:47:02Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5966633},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"Add a test `Issue33.testClosedIssues` when `Repository.get_issues` uses its 'state' parameter for issue #33","updated_at":"2012-05-29T11:36:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981084","created_at":"2012-05-29T11:36:02Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981084},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793290","body":"Duplicate of #18...","updated_at":"2012-05-29T11:45:46Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981232","created_at":"2012-05-29T11:45:46Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981232},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4639931","body":"Will be OK in version 1.0: no more strange meta-description of the API, and the (generated, but it does not mater) code is easily readable by the IDE's auto-completion tool.","updated_at":"2012-05-29T11:56:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981409","created_at":"2012-05-29T11:56:06Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981409},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3716033","body":"This will be covered by #36","updated_at":"2012-05-29T11:58:04Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981451","created_at":"2012-05-29T11:58:04Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981451},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"@Lyloa I have to mention someone to test `Repository.get_issues` with argument `mentioned`","updated_at":"2012-05-29T18:38:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5991965","created_at":"2012-05-29T18:38:53Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5991965},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Should be much improved by 7248e66. Will be in version 1.0","updated_at":"2012-05-30T19:58:35Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6019700","created_at":"2012-05-30T19:58:35Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6019700},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3619973","body":"Done! You can `easy_install --upgrade PyGithub`.","updated_at":"2012-06-03T19:56:17Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6088432","created_at":"2012-06-03T19:56:17Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6088432},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"PyGithub is definitely licensed under the GNU **Lesser** General Public License.\n\nAccording to http://www.gnu.org/licenses/gpl-howto.html, including both COPYING and COPYING.LESSER is the good way to use the LGPL. Anyway, this is misleading, so I will add a section about licensing in the readme today or tomorrow.\n\nThank you for your feedback, I hope PyGithub will be useful for you.","updated_at":"2012-06-13T10:52:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6293572","created_at":"2012-06-13T06:03:24Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6293572},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"Sorry I wasn't up to date on v3 licensing best practices. Thank you very much!\n","updated_at":"2012-06-13T16:17:27Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6305625","created_at":"2012-06-13T16:17:27Z","user":{"type":"User","events_url":"https://api.github.com/users/jeblair/events{/privacy}","received_events_url":"https://api.github.com/users/jeblair/received_events","gists_url":"https://api.github.com/users/jeblair/gists{/gist_id}","followers_url":"https://api.github.com/users/jeblair/followers","following_url":"https://api.github.com/users/jeblair/following","organizations_url":"https://api.github.com/users/jeblair/orgs","url":"https://api.github.com/users/jeblair","gravatar_id":"12dc328a104d4c4694b3df308bcd4e6d","starred_url":"https://api.github.com/users/jeblair/starred{/owner}{/repo}","login":"jeblair","avatar_url":"https://secure.gravatar.com/avatar/12dc328a104d4c4694b3df308bcd4e6d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jeblair/repos","subscriptions_url":"https://api.github.com/users/jeblair/subscriptions","id":899068},"id":6305625},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Hello, when the user has not set his name, `user.name` is `None`, so you can't concatenate it with a string. The exception is not raised by PyGithub but by your code. Try `print user.login, \"->\", user.name` to avoid string concatenation.","updated_at":"2012-06-15T16:56:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357374","created_at":"2012-06-15T14:08:33Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6357374},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Perfect! Thanks, that worked. I _knew_ `+` for string concatenation was evil...did not listen.","updated_at":"2012-06-15T14:12:00Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357422","created_at":"2012-06-15T14:10:33Z","user":{"type":"User","events_url":"https://api.github.com/users/aneroid/events{/privacy}","received_events_url":"https://api.github.com/users/aneroid/received_events","gists_url":"https://api.github.com/users/aneroid/gists{/gist_id}","followers_url":"https://api.github.com/users/aneroid/followers","following_url":"https://api.github.com/users/aneroid/following","organizations_url":"https://api.github.com/users/aneroid/orgs","url":"https://api.github.com/users/aneroid","gravatar_id":"5557aad9ff70c36cfac418f511bdea98","starred_url":"https://api.github.com/users/aneroid/starred{/owner}{/repo}","login":"aneroid","avatar_url":"https://secure.gravatar.com/avatar/5557aad9ff70c36cfac418f511bdea98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/aneroid/repos","subscriptions_url":"https://api.github.com/users/aneroid/subscriptions","id":1468519},"id":6357422},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","body":"Thank you for your contribution, I will merge it and publish version 1.1 tonight.","updated_at":"2012-06-20T08:15:10Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6447481","created_at":"2012-06-20T08:15:10Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6447481}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '46165'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:53:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","body":"I've just pushed the version 1.1 of the package. You can `easy_install --upgrade PyGithub` if you want.","updated_at":"2012-06-20T21:06:08Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467193","created_at":"2012-06-20T21:06:08Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6467193},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","body":"Hello Alex, thank you for your feedback.\n\nI've just pushed the version 1.1 of the package. I've used `package_data` as explained in the [documentation of distutils](http://docs.python.org/distutils/setupscript.html#installing-package-data), but I'm still not very confident about my understanding of distutils... \n\nCould you please upgrade the package and tell if it's better?","updated_at":"2012-06-20T21:11:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467312","created_at":"2012-06-20T21:11:31Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6467312},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","body":"Thanks for looking at this so quickly! Here's the result of running `python setup.py install` with your new changes:\n\n```\n\nrunning install_lib\ncopying build/lib/COPYING -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncopying build/lib/COPYING.LESSER -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncreating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/Design.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfApis.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfClasses.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/github/Requester.py -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/github\ncopying build/lib/ReadMe.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\n\n```\n\nI wish I could help, but I'm afraid I don't know how setuptools works.","updated_at":"2012-06-20T21:33:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467642","created_at":"2012-06-20T21:22:44Z","user":{"type":"User","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","events_url":"https://api.github.com/users/malexw/events{/privacy}","followers_url":"https://api.github.com/users/malexw/followers","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/malexw/following","organizations_url":"https://api.github.com/users/malexw/orgs","url":"https://api.github.com/users/malexw","repos_url":"https://api.github.com/users/malexw/repos","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","login":"malexw","received_events_url":"https://api.github.com/users/malexw/received_events","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","id":577322},"id":6467642},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Those new apis where documented on June 5th, in https://github.com/github/developer.github.com/commit/3cff4bb9a1f1baf3101c984072cd4b4f0165618c. This explains that they are not covered by PyGithub 1.0 that was released on June 3rd.\n\nIt should not be too difficult to support them. I'll try to do it next week.","updated_at":"2012-06-21T12:42:19Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481200","created_at":"2012-06-21T12:42:19Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6481200},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Thank you","updated_at":"2012-06-21T12:52:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481392","created_at":"2012-06-21T12:52:06Z","user":{"type":"User","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","events_url":"https://api.github.com/users/kukuts/events{/privacy}","followers_url":"https://api.github.com/users/kukuts/followers","avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/kukuts/following","organizations_url":"https://api.github.com/users/kukuts/orgs","url":"https://api.github.com/users/kukuts","repos_url":"https://api.github.com/users/kukuts/repos","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","gravatar_id":"9be6ba907be1740213b69422fdf52b57","login":"kukuts","received_events_url":"https://api.github.com/users/kukuts/received_events","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","id":1831238},"id":6481392},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I was running into issues with labels with spaces. The _identity attribute is just the URL encoded name.\n\nIt works great for building a URL endpoint, but not so great when the label's name is going to part of the POST body since it causes GitHub to return a 422 error complaining that the label doesn't exist.","updated_at":"2012-06-25T18:47:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6556134","created_at":"2012-06-25T18:47:30Z","user":{"type":"User","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","followers_url":"https://api.github.com/users/philipkimmey/followers","avatar_url":"https://secure.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/philipkimmey/following","organizations_url":"https://api.github.com/users/philipkimmey/orgs","url":"https://api.github.com/users/philipkimmey","repos_url":"https://api.github.com/users/philipkimmey/repos","starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","login":"philipkimmey","received_events_url":"https://api.github.com/users/philipkimmey/received_events","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","id":211079},"id":6556134},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"You're perfectly right, thank you! I'll merge your contribution and publish a new version next week-end.","updated_at":"2012-06-25T19:33:48Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6557261","created_at":"2012-06-25T19:30:24Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6557261},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"Welcome back! Indeed, PyGithub has evolved (and stabilized).\n\nMethods that used to return a list of objects now return a `PaginatedList`. `PaginatedList` instances are only iterable (They do not support concatenation as lists do, and you cannot call `len` on them).\n\nThe rationale behind that? It is related to issue #33 and requests returning a large number of objects. In the previous version, creating a list of all the requested objects required a lot of [pagination requests](http://developer.github.com/v3/#pagination), and was quite long. It was a waste of time if the user was interested only in the first elements of that list. Enters `PaginatedList`, which does the pagination requests only when really needed. And it is no more limited to 10 pages.\n\nSo, to achieve what your are trying to do, you have to iterate the `PaginatedList` explicitly, either in a loop, or in the constructor of another collection.\n\nSimple iteration:\n\n for issue in itertools.chain(\n repo.get_issues( state = 'closed' ),\n repo.get_issues( state = 'open' )\n ):\n do stuff\n\nReal list from PaginatedList (and then you can have its length):\n\n issues = list( repo.get_issues( state = 'closed' ) ) + list( repo.get_issues( state = 'open' ) )\n nb_issues = len( issues )\n","updated_at":"2012-06-26T06:34:33Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568164","created_at":"2012-06-26T06:34:33Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6568164},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"I'll try to document this behavior soon.","updated_at":"2012-06-26T06:35:48Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568181","created_at":"2012-06-26T06:35:48Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6568181},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"Thanks for this, very helpful. I didn't know I could cast to list so easily (could've tried, though >.<)","updated_at":"2012-06-26T07:02:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568553","created_at":"2012-06-26T07:02:14Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6568553},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I've fixed Repository.create_issue and .get_issues as well.","updated_at":"2012-06-28T20:10:39Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640187","created_at":"2012-06-28T20:10:39Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6640187},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I've just merged your commit in branch `develop`. It will go in `master` when I publish version 1.2. You can expect it on Saturday or Sunday. Thank you again for the bug report and the associated patch.","updated_at":"2012-06-28T20:10:44Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640189","created_at":"2012-06-28T20:10:44Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6640189},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Problem: issues returned by the [`/legacy/issues/search` API](http://developer.github.com/v3/search/#search-issues) do not match those returned by [other v3 APIs](http://developer.github.com/v3/issues/#response):\n* labels are returned only by name, not not name, color and url\n* date-time format is different\n* maybe something else\n\nOf course, similar differences exist for users and repositories.\n\nIntegrating this legacy API will be more difficult than I thought.","updated_at":"2012-06-28T21:02:23Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6641223","created_at":"2012-06-28T20:49:13Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6641223},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"This is implemented in version 1.2, you can update from pypi.","updated_at":"2012-06-29T18:47:28Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6673380","created_at":"2012-06-29T18:47:28Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6673380},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Interestingly, if I convert this manually in the meantime, using the method you use in the PyGithub code (`tdate=datetime.datetime.strptime(t.commit.commit.committer.date, \"%Y-%m-%dT%H:%M:%SZ\")`), I get an error cause the format does not match. I get a string of the form `2010-02-11T01:17:27-08:00` - time zone information has been added, but I don't know how to parse it, the `:` in `-08:00` prevents me from using `%z` (which expects UTC offset in the form +HHMM or -HHMM). I will discard it for now, but maybe you got insight why this happens?","updated_at":"2012-07-02T14:58:45Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6710355","created_at":"2012-07-02T14:58:45Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6710355},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Hello Christoph!\n\nIndeed this attribute should be a `datetime.datetime`. And as you noticed, it is not formated like other dates returned by Github... I remember I discovered that when I was doing the conversion from string of all the `*_at` and `*_on` attributes, and I did not take time to dig deeper.\n\nI will create a more generic date parsing function that handles all formats returned by Github, and I'll use it for all `datetime` attributes.\n\nBut before that, I'll have to understand timezone handling in Python, so do not expect this too soon (maybe mid-July).","updated_at":"2012-07-03T07:15:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727553","created_at":"2012-07-03T07:15:53Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6727553},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"yeah no problem, I'm not reliant on so precise information, take your time. btw, maybe that's a bug in the github API? why would this one time be returned in a different way than all the others? I can't see a reason for this.\n\nagreed, time(zones) in python are crazy at times.","updated_at":"2012-07-03T07:24:21Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727659","created_at":"2012-07-03T07:24:21Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6727659},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"I don't think it's a bug in Github:\n* `GitAuthor.date` is related to an action done somewhere (on the committer's computer), so it carries the timezone of this computer\n* other datetimes are related to actions done on Github's servers, so it's returned with a \"Z\" timezone meaning \"UTC\", the timezone of these servers.","updated_at":"2012-07-03T07:36:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727848","created_at":"2012-07-03T07:36:30Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6727848},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"And by the way, I'm not sure it's a problem for you but I prefer to make it clear: if `tag` is a `Tag`, then `tag.commit.commit.committer.date` is the date of the tagged commit, not the date of the tag. If you really need the date of the tag, you need a `GitTag` and use `git_tag.tagger.date`.","updated_at":"2012-07-03T07:50:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728069","created_at":"2012-07-03T07:50:18Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6728069},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"ah, makes sense. If you want to avoid the timezone confusion, mayb what is suggested [here](http://stackoverflow.com/a/117615/599884) makes most sense: \n\"Keep your internal datetime objects naive and in UTC and convert to your timezone for formatting only. The reason why you probably want naive objects (objects without timezone information) is that many libraries and database adapters have no idea about timezones.\"\nSo maybe it makes sense to just convert the GitAuthor times to UTC when getting them (i.e. apply the offset to the given time), to be consistent with the rest.\n\nThanks about the clarification re: GitTag/Tag. I prefer the date of the tagged commit, though, the tags mark release commits.\n","updated_at":"2012-07-03T07:59:36Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728241","created_at":"2012-07-03T07:59:36Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6728241},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"If I convert the `GitAuthor.date` to UTC, I loose the information about where the committer lives... It may or may not be a problem depending on my client's use case.\n\nI'll find a way to make it clear and not loose information, maybe I will convert `date` to UTC (keep it naive), and add another attribute `timezone` to `GitAuthor`.","updated_at":"2012-07-07T18:18:46Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728370","created_at":"2012-07-03T08:08:08Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6728370},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"I still have to convert the datetime to UTC. But there is something silly about timezones returned by Github: my commits are timezoned \"-07:00\" while I live in France (UTC +1 or +2). I have to investigate that.","updated_at":"2012-07-10T19:42:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6886561","created_at":"2012-07-10T19:42:43Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6886561},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Well, well, well... I now revise my judgement: **absolutely all** commits I've retrieved from Github are in timezone -07:00, so this must indeed be a flaw in the API, returning date formatted in the local timezone of the GIthub servers only for this attribute. @bilderbuchi, you were right in https://github.com/jacquev6/PyGithub/issues/54#issuecomment-6727659 :-)\n\nThere is no point keeping this GitAuthor.timezone attribute. I will just convert everything to UTC.","updated_at":"2012-07-13T19:17:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6972414","created_at":"2012-07-13T19:05:53Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6972414},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"ok. maybe also write to github about this probable bug in the API, to see what's the deal?","updated_at":"2012-07-15T19:57:26Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6994436","created_at":"2012-07-15T19:57:26Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6994436},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"@bilderbuchi, to be honest, I don't think I will take time to contact Github about that.","updated_at":"2012-07-18T09:12:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060818","created_at":"2012-07-18T09:12:53Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7060818},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Sure, I understand. :-)","updated_at":"2012-07-18T09:21:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060993","created_at":"2012-07-18T09:21:16Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","repos_url":"https://api.github.com/users/bilderbuchi/repos","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":7060993},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","body":"Thank you for this useful contribution! You even respected my special spacing convention!\n\nI will publish the version 1.4 of PyGithub next week-end.","updated_at":"2012-07-24T16:07:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7211543","created_at":"2012-07-24T16:07:06Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7211543},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","body":"Hum, I'm having trouble with my computer and not much time to fix it. I'll publish PyGithub 1.4 as soon as possible.","updated_at":"2012-07-31T18:47:09Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7407798","created_at":"2012-07-31T18:47:09Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7407798},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5806612","body":"Published, at last...","updated_at":"2012-08-04T06:11:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7499550","created_at":"2012-08-04T06:11:43Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7499550},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"Hello!\n\nI confirm that the following code exhibits the same issue:\n\n import github\n\n g = github.Github()\n r = g.get_user( \"jacquev6\" ).get_repo( \"PyGithub\" )\n p = r.get_pull( 57 )\n print p.title, \"has\", p.comments, \"comments\"\n print [ c.body[ :15 ] for c in p.get_comments() ]\n\nIt prints:\n\n Allows connection to GitHub Enterprise installs on local URLs has 2 comments\n []\n\nThis last line calls API https://api.github.com/repos/jacquev6/PyGithub/pulls/57/comments, as documented in http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request, but the API returns an empty list. I've just managed to get the comments by calling https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments instead. The issue must be on Github's side.\n\nAs a **temporary** work-around, you can use the following code to do as if the pull request is an issue, and call the other API:\n\n print [ c.body[ :15 ] for c in r.get_issue( p.number ).get_comments() ]\n\nRight now, I have not enough time to take care of this problem, but if it's still here at the beginning of September, I will contact Github and/or patch PyGithub.\n\nEnjoy,","updated_at":"2012-08-21T22:15:01Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7918385","created_at":"2012-08-21T22:15:01Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","repos_url":"https://api.github.com/users/jacquev6/repos","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7918385}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments?sort=created&direction=asc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '42659'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4967'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 22:43:37 GMT'), ('connection', 'keep-alive'), ('etag', '"e9ac24ceac76d4d31cf648484a47b665"'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:54:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"Thank you for reporting this. I'll publish a fix as soon as possible (tonight or tomorrow)","updated_at":"2012-04-17T05:50:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5168757","created_at":"2012-04-17T05:50:25Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5168757},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"Fixed in version 0.6. Please `easy_install --upgrade pygithub`","updated_at":"2012-04-17T17:59:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5181640","created_at":"2012-04-17T17:59:18Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5181640},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4141750","body":"yes fixed thanks","updated_at":"2012-04-17T18:58:05Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5183010","created_at":"2012-04-17T18:58:05Z","user":{"type":"User","received_events_url":"https://api.github.com/users/tallforasmurf/received_events","avatar_url":"https://secure.gravatar.com/avatar/bff435ae5fc2e73d7c7c8351231e8040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/tallforasmurf/gists{/gist_id}","followers_url":"https://api.github.com/users/tallforasmurf/followers","following_url":"https://api.github.com/users/tallforasmurf/following","organizations_url":"https://api.github.com/users/tallforasmurf/orgs","starred_url":"https://api.github.com/users/tallforasmurf/starred{/owner}{/repo}","url":"https://api.github.com/users/tallforasmurf","gravatar_id":"bff435ae5fc2e73d7c7c8351231e8040","repos_url":"https://api.github.com/users/tallforasmurf/repos","login":"tallforasmurf","events_url":"https://api.github.com/users/tallforasmurf/events{/privacy}","subscriptions_url":"https://api.github.com/users/tallforasmurf/subscriptions","id":1137018},"id":5183010},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4159230","body":"`UnknownGithubObject` is the exception I throw when you request an object that doesn't exist. Here, there is no download with `id` `1` or `\"foobar\"` in your repo.\r\n\r\nThe `TypeError` you get when calling `repo.get_download()`is because `get_download` requires an argument as stated in the [reference of classes](https://github.com/jacquev6/PyGithub/blob/master/ReferenceOfClasses.md) (See \"Downloads\" in \"class Repository\").\r\n\r\nSo, what argument should you pass to `get_downloads`? Well, the documentation says `id`, so you can first call `get_downloads` which returns a list of `Download`s, and look what is `Download.id`.\r\n\r\nThe fact is that I have no repository to test this with downloads, but here is an example with issues (`g` is a `Github` instance):\r\n\r\n >>> g.get_user().get_repo( \"PyGithub\" ).get_issues()[0].number\r\n 23\r\n >>> g.get_user().get_repo( \"PyGithub\" ).get_issue( 23 )\r\n \r\n\r\n(I took the `number` attribute of the first `Issue`, because the reference says that `get_issue` takes a `number`.)\r\n\r\nI hope it helps.","updated_at":"2012-04-17T21:10:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5186061","created_at":"2012-04-17T21:10:15Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5186061},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4159230","body":"I hope this report will be useful, however, I am not going to be using this package after all. I discovered (what should have been obvious) that I can get everything I need from github just using urllib and reading the page.\r\n\r\n import urllib2\r\n try:\r\n u = urllib2.urlopen( 'https://github.com//', timeout=5 )\r\n except:\r\n #cannot contact github - try later\r\n #exit\r\n s = u.read()\r\n u.close()\r\n\r\nIt's all there, file names, SHA, last commit date, and if I want to read file data, no need to decode a blob, it's at ```https://raw.github.com///master/```\r\n","updated_at":"2012-04-19T16:40:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5226090","created_at":"2012-04-19T16:40:02Z","user":{"type":"User","received_events_url":"https://api.github.com/users/tallforasmurf/received_events","avatar_url":"https://secure.gravatar.com/avatar/bff435ae5fc2e73d7c7c8351231e8040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/tallforasmurf/gists{/gist_id}","followers_url":"https://api.github.com/users/tallforasmurf/followers","following_url":"https://api.github.com/users/tallforasmurf/following","organizations_url":"https://api.github.com/users/tallforasmurf/orgs","starred_url":"https://api.github.com/users/tallforasmurf/starred{/owner}{/repo}","url":"https://api.github.com/users/tallforasmurf","gravatar_id":"bff435ae5fc2e73d7c7c8351231e8040","repos_url":"https://api.github.com/users/tallforasmurf/repos","login":"tallforasmurf","events_url":"https://api.github.com/users/tallforasmurf/events{/privacy}","subscriptions_url":"https://api.github.com/users/tallforasmurf/subscriptions","id":1137018},"id":5226090},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","updated_at":"2012-05-01T22:03:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","created_at":"2012-05-01T22:03:59Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5449237},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","updated_at":"2012-05-04T19:23:57Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","created_at":"2012-05-04T19:23:57Z","user":{"type":"User","received_events_url":"https://api.github.com/users/roskakori/received_events","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/roskakori/gists{/gist_id}","followers_url":"https://api.github.com/users/roskakori/followers","following_url":"https://api.github.com/users/roskakori/following","organizations_url":"https://api.github.com/users/roskakori/orgs","starred_url":"https://api.github.com/users/roskakori/starred{/owner}{/repo}","url":"https://api.github.com/users/roskakori","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","repos_url":"https://api.github.com/users/roskakori/repos","login":"roskakori","events_url":"https://api.github.com/users/roskakori/events{/privacy}","subscriptions_url":"https://api.github.com/users/roskakori/subscriptions","id":328726},"id":5518272},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3617711","body":"This was reported by user in #24. I close this one because the other one has more information.","updated_at":"2012-05-07T10:45:58Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5547576","created_at":"2012-05-07T10:45:58Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5547576},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Thank you for your feedback.\n\nI have indeed not yet implemented this feature because I have no real use of it: each API call is more than half a second long, so it's hard to reach the rate limit.\n\nAnyway, it is easy to extract the rate limiting headers, so I will add an attribute to the Github class to give access to their last value.\n\nExpect it in version 1.0. I will set an expected date on the milestone during the week-end.\n","updated_at":"2012-05-18T05:27:40Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5780183","created_at":"2012-05-18T05:27:40Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5780183},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Ah good point about it being hard to reach. Thanks for implementing it. No hurry, though, it's not that important. :-)","updated_at":"2012-05-18T08:34:04Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5781803","created_at":"2012-05-18T08:34:04Z","user":{"type":"User","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5781803},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Implemented in ca97469. Will be in version 1.0.","updated_at":"2012-05-21T11:17:12Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820199","created_at":"2012-05-21T11:17:12Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5820199},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4622816","body":"Thanks. :-)","updated_at":"2012-05-21T12:09:57Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5820912","created_at":"2012-05-21T12:09:57Z","user":{"type":"User","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5820912},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3624575","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","created_at":"2012-05-25T06:31:42Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5924198},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"You're definitively my best user ! I hope you will not get tired of discovering bugs and limitations in my library.\n\nThis issue is related to https://github.com/jacquev6/PyGithub/blob/master/github/Requester.py#L28 and the `pageCount < 10`: I've had to limit to 10 pages for some obscure reason I don't remember.\n\nIn version 1.0, `get_issues` (and other `get_collection`s) will not return a Python `list` but a `github.PaginatedList` which will be iterable and not limited to 10 pages, (but you won't be able to call `len` on it).","updated_at":"2012-05-28T13:52:22Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965724","created_at":"2012-05-28T13:52:22Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5965724},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3527245","body":"For example, `Repository.edit` has a first parameter, `name`, which is mandatory, and should not. We could deduce it from the `name` attribute.","updated_at":"2012-05-28T13:58:35Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965812","created_at":"2012-05-28T13:58:35Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5965812},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"I see. Is there a possibility to increase the number of items per page to work around this for now? This is in the API (with `&per_page=100` according to API docs), but I'm unsure how to do this in PyGithub. Default is 25, max 100.","updated_at":"2012-05-28T14:04:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5965891","created_at":"2012-05-28T14:04:25Z","user":{"type":"User","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5965891},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"If you can't or don't want to modify PyGithub locally, I'm afraid you're stuck to 10 pages of 25 items, sorry.\n\nIf you can patch PyGithub, just increase/remove the limit on `pageCount` in `Requester.py`.\n\nBe assured I will publish version 1.0 on next Monday, with all the things I promised :)","updated_at":"2012-05-28T14:42:47Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5966555","created_at":"2012-05-28T14:42:47Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5966555},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4780155","body":"I see. I can either patch it locally, or just wait for next week. It will take a while until I get all the other work done, waiting for 1.0 probably won't delay me at all.","updated_at":"2012-05-28T14:47:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5966633","created_at":"2012-05-28T14:47:02Z","user":{"type":"User","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":5966633},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"Add a test `Issue33.testClosedIssues` when `Repository.get_issues` uses its 'state' parameter for issue #33","updated_at":"2012-05-29T11:36:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981084","created_at":"2012-05-29T11:36:02Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981084},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793290","body":"Duplicate of #18...","updated_at":"2012-05-29T11:45:46Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981232","created_at":"2012-05-29T11:45:46Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981232},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4639931","body":"Will be OK in version 1.0: no more strange meta-description of the API, and the (generated, but it does not mater) code is easily readable by the IDE's auto-completion tool.","updated_at":"2012-05-29T11:56:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981409","created_at":"2012-05-29T11:56:06Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981409},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3716033","body":"This will be covered by #36","updated_at":"2012-05-29T11:58:04Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981451","created_at":"2012-05-29T11:58:04Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5981451},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"@Lyloa I have to mention someone to test `Repository.get_issues` with argument `mentioned`","updated_at":"2012-05-29T18:38:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5991965","created_at":"2012-05-29T18:38:53Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":5991965},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Should be much improved by 7248e66. Will be in version 1.0","updated_at":"2012-05-30T19:58:35Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6019700","created_at":"2012-05-30T19:58:35Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6019700},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3619973","body":"Done! You can `easy_install --upgrade PyGithub`.","updated_at":"2012-06-03T19:56:17Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6088432","created_at":"2012-06-03T19:56:17Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6088432},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"PyGithub is definitely licensed under the GNU **Lesser** General Public License.\n\nAccording to http://www.gnu.org/licenses/gpl-howto.html, including both COPYING and COPYING.LESSER is the good way to use the LGPL. Anyway, this is misleading, so I will add a section about licensing in the readme today or tomorrow.\n\nThank you for your feedback, I hope PyGithub will be useful for you.","updated_at":"2012-06-13T10:52:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6293572","created_at":"2012-06-13T06:03:24Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6293572},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"Sorry I wasn't up to date on v3 licensing best practices. Thank you very much!\n","updated_at":"2012-06-13T16:17:27Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6305625","created_at":"2012-06-13T16:17:27Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jeblair/received_events","avatar_url":"https://secure.gravatar.com/avatar/12dc328a104d4c4694b3df308bcd4e6d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jeblair/gists{/gist_id}","followers_url":"https://api.github.com/users/jeblair/followers","following_url":"https://api.github.com/users/jeblair/following","organizations_url":"https://api.github.com/users/jeblair/orgs","starred_url":"https://api.github.com/users/jeblair/starred{/owner}{/repo}","url":"https://api.github.com/users/jeblair","gravatar_id":"12dc328a104d4c4694b3df308bcd4e6d","repos_url":"https://api.github.com/users/jeblair/repos","login":"jeblair","events_url":"https://api.github.com/users/jeblair/events{/privacy}","subscriptions_url":"https://api.github.com/users/jeblair/subscriptions","id":899068},"id":6305625},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Hello, when the user has not set his name, `user.name` is `None`, so you can't concatenate it with a string. The exception is not raised by PyGithub but by your code. Try `print user.login, \"->\", user.name` to avoid string concatenation.","updated_at":"2012-06-15T16:56:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357374","created_at":"2012-06-15T14:08:33Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6357374},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Perfect! Thanks, that worked. I _knew_ `+` for string concatenation was evil...did not listen.","updated_at":"2012-06-15T14:12:00Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357422","created_at":"2012-06-15T14:10:33Z","user":{"type":"User","received_events_url":"https://api.github.com/users/aneroid/received_events","avatar_url":"https://secure.gravatar.com/avatar/5557aad9ff70c36cfac418f511bdea98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/aneroid/gists{/gist_id}","followers_url":"https://api.github.com/users/aneroid/followers","following_url":"https://api.github.com/users/aneroid/following","organizations_url":"https://api.github.com/users/aneroid/orgs","starred_url":"https://api.github.com/users/aneroid/starred{/owner}{/repo}","url":"https://api.github.com/users/aneroid","gravatar_id":"5557aad9ff70c36cfac418f511bdea98","repos_url":"https://api.github.com/users/aneroid/repos","login":"aneroid","events_url":"https://api.github.com/users/aneroid/events{/privacy}","subscriptions_url":"https://api.github.com/users/aneroid/subscriptions","id":1468519},"id":6357422},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","body":"Thank you for your contribution, I will merge it and publish version 1.1 tonight.","updated_at":"2012-06-20T08:15:10Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6447481","created_at":"2012-06-20T08:15:10Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6447481}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments?direction=asc&page=2&sort=created -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '46165'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4966'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:54:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-06-20T21:06:08Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","created_at":"2012-06-20T21:06:08Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467193","body":"I've just pushed the version 1.1 of the package. You can `easy_install --upgrade PyGithub` if you want.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6467193},{"updated_at":"2012-06-20T21:11:31Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","created_at":"2012-06-20T21:11:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467312","body":"Hello Alex, thank you for your feedback.\n\nI've just pushed the version 1.1 of the package. I've used `package_data` as explained in the [documentation of distutils](http://docs.python.org/distutils/setupscript.html#installing-package-data), but I'm still not very confident about my understanding of distutils... \n\nCould you please upgrade the package and tell if it's better?","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6467312},{"updated_at":"2012-06-20T21:33:50Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","created_at":"2012-06-20T21:22:44Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467642","body":"Thanks for looking at this so quickly! Here's the result of running `python setup.py install` with your new changes:\n\n```\n\nrunning install_lib\ncopying build/lib/COPYING -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncopying build/lib/COPYING.LESSER -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncreating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/Design.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfApis.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfClasses.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/github/Requester.py -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/github\ncopying build/lib/ReadMe.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\n\n```\n\nI wish I could help, but I'm afraid I don't know how setuptools works.","user":{"type":"User","repos_url":"https://api.github.com/users/malexw/repos","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","events_url":"https://api.github.com/users/malexw/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"malexw","received_events_url":"https://api.github.com/users/malexw/received_events","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","url":"https://api.github.com/users/malexw","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following","organizations_url":"https://api.github.com/users/malexw/orgs","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","id":577322},"id":6467642},{"updated_at":"2012-06-21T12:42:19Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","created_at":"2012-06-21T12:42:19Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481200","body":"Those new apis where documented on June 5th, in https://github.com/github/developer.github.com/commit/3cff4bb9a1f1baf3101c984072cd4b4f0165618c. This explains that they are not covered by PyGithub 1.0 that was released on June 3rd.\n\nIt should not be too difficult to support them. I'll try to do it next week.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6481200},{"updated_at":"2012-06-21T12:52:06Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","created_at":"2012-06-21T12:52:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481392","body":"Thank you","user":{"type":"User","repos_url":"https://api.github.com/users/kukuts/repos","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","events_url":"https://api.github.com/users/kukuts/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"kukuts","received_events_url":"https://api.github.com/users/kukuts/received_events","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","url":"https://api.github.com/users/kukuts","followers_url":"https://api.github.com/users/kukuts/followers","following_url":"https://api.github.com/users/kukuts/following","organizations_url":"https://api.github.com/users/kukuts/orgs","starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}","gravatar_id":"9be6ba907be1740213b69422fdf52b57","id":1831238},"id":6481392},{"updated_at":"2012-06-25T18:47:30Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","created_at":"2012-06-25T18:47:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6556134","body":"I was running into issues with labels with spaces. The _identity attribute is just the URL encoded name.\n\nIt works great for building a URL endpoint, but not so great when the label's name is going to part of the POST body since it causes GitHub to return a 422 error complaining that the label doesn't exist.","user":{"type":"User","repos_url":"https://api.github.com/users/philipkimmey/repos","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"philipkimmey","received_events_url":"https://api.github.com/users/philipkimmey/received_events","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","url":"https://api.github.com/users/philipkimmey","followers_url":"https://api.github.com/users/philipkimmey/followers","following_url":"https://api.github.com/users/philipkimmey/following","organizations_url":"https://api.github.com/users/philipkimmey/orgs","starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","id":211079},"id":6556134},{"updated_at":"2012-06-25T19:33:48Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","created_at":"2012-06-25T19:30:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6557261","body":"You're perfectly right, thank you! I'll merge your contribution and publish a new version next week-end.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6557261},{"updated_at":"2012-06-26T06:34:33Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","created_at":"2012-06-26T06:34:33Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568164","body":"Welcome back! Indeed, PyGithub has evolved (and stabilized).\n\nMethods that used to return a list of objects now return a `PaginatedList`. `PaginatedList` instances are only iterable (They do not support concatenation as lists do, and you cannot call `len` on them).\n\nThe rationale behind that? It is related to issue #33 and requests returning a large number of objects. In the previous version, creating a list of all the requested objects required a lot of [pagination requests](http://developer.github.com/v3/#pagination), and was quite long. It was a waste of time if the user was interested only in the first elements of that list. Enters `PaginatedList`, which does the pagination requests only when really needed. And it is no more limited to 10 pages.\n\nSo, to achieve what your are trying to do, you have to iterate the `PaginatedList` explicitly, either in a loop, or in the constructor of another collection.\n\nSimple iteration:\n\n for issue in itertools.chain(\n repo.get_issues( state = 'closed' ),\n repo.get_issues( state = 'open' )\n ):\n do stuff\n\nReal list from PaginatedList (and then you can have its length):\n\n issues = list( repo.get_issues( state = 'closed' ) ) + list( repo.get_issues( state = 'open' ) )\n nb_issues = len( issues )\n","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6568164},{"updated_at":"2012-06-26T06:35:48Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","created_at":"2012-06-26T06:35:48Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568181","body":"I'll try to document this behavior soon.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6568181},{"updated_at":"2012-06-26T07:02:14Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","created_at":"2012-06-26T07:02:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568553","body":"Thanks for this, very helpful. I didn't know I could cast to list so easily (could've tried, though >.<)","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":6568553},{"updated_at":"2012-06-28T20:10:39Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","created_at":"2012-06-28T20:10:39Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640187","body":"I've fixed Repository.create_issue and .get_issues as well.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6640187},{"updated_at":"2012-06-28T20:10:44Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","created_at":"2012-06-28T20:10:44Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640189","body":"I've just merged your commit in branch `develop`. It will go in `master` when I publish version 1.2. You can expect it on Saturday or Sunday. Thank you again for the bug report and the associated patch.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6640189},{"updated_at":"2012-06-28T21:02:23Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","created_at":"2012-06-28T20:49:13Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6641223","body":"Problem: issues returned by the [`/legacy/issues/search` API](http://developer.github.com/v3/search/#search-issues) do not match those returned by [other v3 APIs](http://developer.github.com/v3/issues/#response):\n* labels are returned only by name, not not name, color and url\n* date-time format is different\n* maybe something else\n\nOf course, similar differences exist for users and repositories.\n\nIntegrating this legacy API will be more difficult than I thought.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6641223},{"updated_at":"2012-06-29T18:47:28Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","created_at":"2012-06-29T18:47:28Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6673380","body":"This is implemented in version 1.2, you can update from pypi.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6673380},{"updated_at":"2012-07-02T14:58:45Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-02T14:58:45Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6710355","body":"Interestingly, if I convert this manually in the meantime, using the method you use in the PyGithub code (`tdate=datetime.datetime.strptime(t.commit.commit.committer.date, \"%Y-%m-%dT%H:%M:%SZ\")`), I get an error cause the format does not match. I get a string of the form `2010-02-11T01:17:27-08:00` - time zone information has been added, but I don't know how to parse it, the `:` in `-08:00` prevents me from using `%z` (which expects UTC offset in the form +HHMM or -HHMM). I will discard it for now, but maybe you got insight why this happens?","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":6710355},{"updated_at":"2012-07-03T07:15:53Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T07:15:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727553","body":"Hello Christoph!\n\nIndeed this attribute should be a `datetime.datetime`. And as you noticed, it is not formated like other dates returned by Github... I remember I discovered that when I was doing the conversion from string of all the `*_at` and `*_on` attributes, and I did not take time to dig deeper.\n\nI will create a more generic date parsing function that handles all formats returned by Github, and I'll use it for all `datetime` attributes.\n\nBut before that, I'll have to understand timezone handling in Python, so do not expect this too soon (maybe mid-July).","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6727553},{"updated_at":"2012-07-03T07:24:21Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T07:24:21Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727659","body":"yeah no problem, I'm not reliant on so precise information, take your time. btw, maybe that's a bug in the github API? why would this one time be returned in a different way than all the others? I can't see a reason for this.\n\nagreed, time(zones) in python are crazy at times.","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":6727659},{"updated_at":"2012-07-03T07:36:30Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T07:36:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727848","body":"I don't think it's a bug in Github:\n* `GitAuthor.date` is related to an action done somewhere (on the committer's computer), so it carries the timezone of this computer\n* other datetimes are related to actions done on Github's servers, so it's returned with a \"Z\" timezone meaning \"UTC\", the timezone of these servers.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6727848},{"updated_at":"2012-07-03T07:50:18Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T07:50:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728069","body":"And by the way, I'm not sure it's a problem for you but I prefer to make it clear: if `tag` is a `Tag`, then `tag.commit.commit.committer.date` is the date of the tagged commit, not the date of the tag. If you really need the date of the tag, you need a `GitTag` and use `git_tag.tagger.date`.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6728069},{"updated_at":"2012-07-03T07:59:36Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T07:59:36Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728241","body":"ah, makes sense. If you want to avoid the timezone confusion, mayb what is suggested [here](http://stackoverflow.com/a/117615/599884) makes most sense: \n\"Keep your internal datetime objects naive and in UTC and convert to your timezone for formatting only. The reason why you probably want naive objects (objects without timezone information) is that many libraries and database adapters have no idea about timezones.\"\nSo maybe it makes sense to just convert the GitAuthor times to UTC when getting them (i.e. apply the offset to the given time), to be consistent with the rest.\n\nThanks about the clarification re: GitTag/Tag. I prefer the date of the tagged commit, though, the tags mark release commits.\n","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":6728241},{"updated_at":"2012-07-07T18:18:46Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-03T08:08:08Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728370","body":"If I convert the `GitAuthor.date` to UTC, I loose the information about where the committer lives... It may or may not be a problem depending on my client's use case.\n\nI'll find a way to make it clear and not loose information, maybe I will convert `date` to UTC (keep it naive), and add another attribute `timezone` to `GitAuthor`.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6728370},{"updated_at":"2012-07-10T19:42:43Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-10T19:42:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6886561","body":"I still have to convert the datetime to UTC. But there is something silly about timezones returned by Github: my commits are timezoned \"-07:00\" while I live in France (UTC +1 or +2). I have to investigate that.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6886561},{"updated_at":"2012-07-13T19:17:15Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-13T19:05:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6972414","body":"Well, well, well... I now revise my judgement: **absolutely all** commits I've retrieved from Github are in timezone -07:00, so this must indeed be a flaw in the API, returning date formatted in the local timezone of the GIthub servers only for this attribute. @bilderbuchi, you were right in https://github.com/jacquev6/PyGithub/issues/54#issuecomment-6727659 :-)\n\nThere is no point keeping this GitAuthor.timezone attribute. I will just convert everything to UTC.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":6972414},{"updated_at":"2012-07-15T19:57:26Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-15T19:57:26Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6994436","body":"ok. maybe also write to github about this probable bug in the API, to see what's the deal?","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":6994436},{"updated_at":"2012-07-18T09:12:53Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-18T09:12:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060818","body":"@bilderbuchi, to be honest, I don't think I will take time to contact Github about that.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":7060818},{"updated_at":"2012-07-18T09:21:16Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","created_at":"2012-07-18T09:21:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060993","body":"Sure, I understand. :-)","user":{"type":"User","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","url":"https://api.github.com/users/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","id":327442},"id":7060993},{"updated_at":"2012-07-24T16:07:06Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","created_at":"2012-07-24T16:07:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7211543","body":"Thank you for this useful contribution! You even respected my special spacing convention!\n\nI will publish the version 1.4 of PyGithub next week-end.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":7211543},{"updated_at":"2012-07-31T18:47:09Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","created_at":"2012-07-31T18:47:09Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7407798","body":"Hum, I'm having trouble with my computer and not much time to fix it. I'll publish PyGithub 1.4 as soon as possible.","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":7407798},{"updated_at":"2012-08-04T06:11:43Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5806612","created_at":"2012-08-04T06:11:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7499550","body":"Published, at last...","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":7499550},{"updated_at":"2012-08-21T22:15:01Z","issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","created_at":"2012-08-21T22:15:01Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7918385","body":"Hello!\n\nI confirm that the following code exhibits the same issue:\n\n import github\n\n g = github.Github()\n r = g.get_user( \"jacquev6\" ).get_repo( \"PyGithub\" )\n p = r.get_pull( 57 )\n print p.title, \"has\", p.comments, \"comments\"\n print [ c.body[ :15 ] for c in p.get_comments() ]\n\nIt prints:\n\n Allows connection to GitHub Enterprise installs on local URLs has 2 comments\n []\n\nThis last line calls API https://api.github.com/repos/jacquev6/PyGithub/pulls/57/comments, as documented in http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request, but the API returns an empty list. I've just managed to get the comments by calling https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments instead. The issue must be on Github's side.\n\nAs a **temporary** work-around, you can use the following code to do as if the pull request is an issue, and call the other API:\n\n print [ c.body[ :15 ] for c in r.get_issue( p.number ).get_comments() ]\n\nRight now, I have not enough time to take care of this problem, but if it's still here at the beginning of September, I will contact Github and/or patch PyGithub.\n\nEnjoy,","user":{"type":"User","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","url":"https://api.github.com/users/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":7918385}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments?since=2012-05-28T23%3A00%3A00Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '43751'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4965'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 22:43:37 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"e9ac24ceac76d4d31cf648484a47b665"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:54:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"Add a test `Issue33.testClosedIssues` when `Repository.get_issues` uses its 'state' parameter for issue #33","updated_at":"2012-05-29T11:36:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981084","created_at":"2012-05-29T11:36:02Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":5981084},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793290","body":"Duplicate of #18...","updated_at":"2012-05-29T11:45:46Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981232","created_at":"2012-05-29T11:45:46Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":5981232},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4639931","body":"Will be OK in version 1.0: no more strange meta-description of the API, and the (generated, but it does not mater) code is easily readable by the IDE's auto-completion tool.","updated_at":"2012-05-29T11:56:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981409","created_at":"2012-05-29T11:56:06Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":5981409},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3716033","body":"This will be covered by #36","updated_at":"2012-05-29T11:58:04Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5981451","created_at":"2012-05-29T11:58:04Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":5981451},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4793162","body":"@Lyloa I have to mention someone to test `Repository.get_issues` with argument `mentioned`","updated_at":"2012-05-29T18:38:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5991965","created_at":"2012-05-29T18:38:53Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":5991965},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4356743","body":"Should be much improved by 7248e66. Will be in version 1.0","updated_at":"2012-05-30T19:58:35Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6019700","created_at":"2012-05-30T19:58:35Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6019700},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3619973","body":"Done! You can `easy_install --upgrade PyGithub`.","updated_at":"2012-06-03T19:56:17Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6088432","created_at":"2012-06-03T19:56:17Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6088432},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"PyGithub is definitely licensed under the GNU **Lesser** General Public License.\n\nAccording to http://www.gnu.org/licenses/gpl-howto.html, including both COPYING and COPYING.LESSER is the good way to use the LGPL. Anyway, this is misleading, so I will add a section about licensing in the readme today or tomorrow.\n\nThank you for your feedback, I hope PyGithub will be useful for you.","updated_at":"2012-06-13T10:52:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6293572","created_at":"2012-06-13T06:03:24Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6293572},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5036241","body":"Sorry I wasn't up to date on v3 licensing best practices. Thank you very much!\n","updated_at":"2012-06-13T16:17:27Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6305625","created_at":"2012-06-13T16:17:27Z","user":{"type":"User","gists_url":"https://api.github.com/users/jeblair/gists{/gist_id}","followers_url":"https://api.github.com/users/jeblair/followers","avatar_url":"https://secure.gravatar.com/avatar/12dc328a104d4c4694b3df308bcd4e6d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jeblair/following","organizations_url":"https://api.github.com/users/jeblair/orgs","url":"https://api.github.com/users/jeblair","gravatar_id":"12dc328a104d4c4694b3df308bcd4e6d","events_url":"https://api.github.com/users/jeblair/events{/privacy}","repos_url":"https://api.github.com/users/jeblair/repos","login":"jeblair","received_events_url":"https://api.github.com/users/jeblair/received_events","subscriptions_url":"https://api.github.com/users/jeblair/subscriptions","id":899068,"starred_url":"https://api.github.com/users/jeblair/starred{/owner}{/repo}"},"id":6305625},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Hello, when the user has not set his name, `user.name` is `None`, so you can't concatenate it with a string. The exception is not raised by PyGithub but by your code. Try `print user.login, \"->\", user.name` to avoid string concatenation.","updated_at":"2012-06-15T16:56:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357374","created_at":"2012-06-15T14:08:33Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6357374},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5092592","body":"Perfect! Thanks, that worked. I _knew_ `+` for string concatenation was evil...did not listen.","updated_at":"2012-06-15T14:12:00Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6357422","created_at":"2012-06-15T14:10:33Z","user":{"type":"User","gists_url":"https://api.github.com/users/aneroid/gists{/gist_id}","followers_url":"https://api.github.com/users/aneroid/followers","avatar_url":"https://secure.gravatar.com/avatar/5557aad9ff70c36cfac418f511bdea98?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/aneroid/following","organizations_url":"https://api.github.com/users/aneroid/orgs","url":"https://api.github.com/users/aneroid","gravatar_id":"5557aad9ff70c36cfac418f511bdea98","events_url":"https://api.github.com/users/aneroid/events{/privacy}","repos_url":"https://api.github.com/users/aneroid/repos","login":"aneroid","received_events_url":"https://api.github.com/users/aneroid/received_events","subscriptions_url":"https://api.github.com/users/aneroid/subscriptions","id":1468519,"starred_url":"https://api.github.com/users/aneroid/starred{/owner}{/repo}"},"id":6357422},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","body":"Thank you for your contribution, I will merge it and publish version 1.1 tonight.","updated_at":"2012-06-20T08:15:10Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6447481","created_at":"2012-06-20T08:15:10Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6447481},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5152384","body":"I've just pushed the version 1.1 of the package. You can `easy_install --upgrade PyGithub` if you want.","updated_at":"2012-06-20T21:06:08Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467193","created_at":"2012-06-20T21:06:08Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6467193},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","body":"Hello Alex, thank you for your feedback.\n\nI've just pushed the version 1.1 of the package. I've used `package_data` as explained in the [documentation of distutils](http://docs.python.org/distutils/setupscript.html#installing-package-data), but I'm still not very confident about my understanding of distutils... \n\nCould you please upgrade the package and tell if it's better?","updated_at":"2012-06-20T21:11:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467312","created_at":"2012-06-20T21:11:31Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6467312},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5177381","body":"Thanks for looking at this so quickly! Here's the result of running `python setup.py install` with your new changes:\n\n```\n\nrunning install_lib\ncopying build/lib/COPYING -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncopying build/lib/COPYING.LESSER -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\ncreating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/Design.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfApis.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/doc/ReferenceOfClasses.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/doc\ncopying build/lib/github/Requester.py -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/github\ncopying build/lib/ReadMe.md -> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages\n\n```\n\nI wish I could help, but I'm afraid I don't know how setuptools works.","updated_at":"2012-06-20T21:33:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6467642","created_at":"2012-06-20T21:22:44Z","user":{"type":"User","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","followers_url":"https://api.github.com/users/malexw/followers","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/malexw/following","organizations_url":"https://api.github.com/users/malexw/orgs","url":"https://api.github.com/users/malexw","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","events_url":"https://api.github.com/users/malexw/events{/privacy}","repos_url":"https://api.github.com/users/malexw/repos","login":"malexw","received_events_url":"https://api.github.com/users/malexw/received_events","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","id":577322,"starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}"},"id":6467642},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Those new apis where documented on June 5th, in https://github.com/github/developer.github.com/commit/3cff4bb9a1f1baf3101c984072cd4b4f0165618c. This explains that they are not covered by PyGithub 1.0 that was released on June 3rd.\n\nIt should not be too difficult to support them. I'll try to do it next week.","updated_at":"2012-06-21T12:42:19Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481200","created_at":"2012-06-21T12:42:19Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6481200},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Thank you","updated_at":"2012-06-21T12:52:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6481392","created_at":"2012-06-21T12:52:06Z","user":{"type":"User","gists_url":"https://api.github.com/users/kukuts/gists{/gist_id}","followers_url":"https://api.github.com/users/kukuts/followers","avatar_url":"https://secure.gravatar.com/avatar/9be6ba907be1740213b69422fdf52b57?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/kukuts/following","organizations_url":"https://api.github.com/users/kukuts/orgs","url":"https://api.github.com/users/kukuts","gravatar_id":"9be6ba907be1740213b69422fdf52b57","events_url":"https://api.github.com/users/kukuts/events{/privacy}","repos_url":"https://api.github.com/users/kukuts/repos","login":"kukuts","received_events_url":"https://api.github.com/users/kukuts/received_events","subscriptions_url":"https://api.github.com/users/kukuts/subscriptions","id":1831238,"starred_url":"https://api.github.com/users/kukuts/starred{/owner}{/repo}"},"id":6481392},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I was running into issues with labels with spaces. The _identity attribute is just the URL encoded name.\n\nIt works great for building a URL endpoint, but not so great when the label's name is going to part of the POST body since it causes GitHub to return a 422 error complaining that the label doesn't exist.","updated_at":"2012-06-25T18:47:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6556134","created_at":"2012-06-25T18:47:30Z","user":{"type":"User","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","followers_url":"https://api.github.com/users/philipkimmey/followers","avatar_url":"https://secure.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/philipkimmey/following","organizations_url":"https://api.github.com/users/philipkimmey/orgs","url":"https://api.github.com/users/philipkimmey","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","repos_url":"https://api.github.com/users/philipkimmey/repos","login":"philipkimmey","received_events_url":"https://api.github.com/users/philipkimmey/received_events","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","id":211079,"starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}"},"id":6556134},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"You're perfectly right, thank you! I'll merge your contribution and publish a new version next week-end.","updated_at":"2012-06-25T19:33:48Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6557261","created_at":"2012-06-25T19:30:24Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6557261},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"Welcome back! Indeed, PyGithub has evolved (and stabilized).\n\nMethods that used to return a list of objects now return a `PaginatedList`. `PaginatedList` instances are only iterable (They do not support concatenation as lists do, and you cannot call `len` on them).\n\nThe rationale behind that? It is related to issue #33 and requests returning a large number of objects. In the previous version, creating a list of all the requested objects required a lot of [pagination requests](http://developer.github.com/v3/#pagination), and was quite long. It was a waste of time if the user was interested only in the first elements of that list. Enters `PaginatedList`, which does the pagination requests only when really needed. And it is no more limited to 10 pages.\n\nSo, to achieve what your are trying to do, you have to iterate the `PaginatedList` explicitly, either in a loop, or in the constructor of another collection.\n\nSimple iteration:\n\n for issue in itertools.chain(\n repo.get_issues( state = 'closed' ),\n repo.get_issues( state = 'open' )\n ):\n do stuff\n\nReal list from PaginatedList (and then you can have its length):\n\n issues = list( repo.get_issues( state = 'closed' ) ) + list( repo.get_issues( state = 'open' ) )\n nb_issues = len( issues )\n","updated_at":"2012-06-26T06:34:33Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568164","created_at":"2012-06-26T06:34:33Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6568164},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"I'll try to document this behavior soon.","updated_at":"2012-06-26T06:35:48Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568181","created_at":"2012-06-26T06:35:48Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6568181},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5259624","body":"Thanks for this, very helpful. I didn't know I could cast to list so easily (could've tried, though >.<)","updated_at":"2012-06-26T07:02:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6568553","created_at":"2012-06-26T07:02:14Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442,"starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}"},"id":6568553},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I've fixed Repository.create_issue and .get_issues as well.","updated_at":"2012-06-28T20:10:39Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640187","created_at":"2012-06-28T20:10:39Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6640187},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5256315","body":"I've just merged your commit in branch `develop`. It will go in `master` when I publish version 1.2. You can expect it on Saturday or Sunday. Thank you again for the bug report and the associated patch.","updated_at":"2012-06-28T20:10:44Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6640189","created_at":"2012-06-28T20:10:44Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6640189},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"Problem: issues returned by the [`/legacy/issues/search` API](http://developer.github.com/v3/search/#search-issues) do not match those returned by [other v3 APIs](http://developer.github.com/v3/issues/#response):\n* labels are returned only by name, not not name, color and url\n* date-time format is different\n* maybe something else\n\nOf course, similar differences exist for users and repositories.\n\nIntegrating this legacy API will be more difficult than I thought.","updated_at":"2012-06-28T21:02:23Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6641223","created_at":"2012-06-28T20:49:13Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6641223},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5191621","body":"This is implemented in version 1.2, you can update from pypi.","updated_at":"2012-06-29T18:47:28Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6673380","created_at":"2012-06-29T18:47:28Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6673380},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Interestingly, if I convert this manually in the meantime, using the method you use in the PyGithub code (`tdate=datetime.datetime.strptime(t.commit.commit.committer.date, \"%Y-%m-%dT%H:%M:%SZ\")`), I get an error cause the format does not match. I get a string of the form `2010-02-11T01:17:27-08:00` - time zone information has been added, but I don't know how to parse it, the `:` in `-08:00` prevents me from using `%z` (which expects UTC offset in the form +HHMM or -HHMM). I will discard it for now, but maybe you got insight why this happens?","updated_at":"2012-07-02T14:58:45Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6710355","created_at":"2012-07-02T14:58:45Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442,"starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}"},"id":6710355},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Hello Christoph!\n\nIndeed this attribute should be a `datetime.datetime`. And as you noticed, it is not formated like other dates returned by Github... I remember I discovered that when I was doing the conversion from string of all the `*_at` and `*_on` attributes, and I did not take time to dig deeper.\n\nI will create a more generic date parsing function that handles all formats returned by Github, and I'll use it for all `datetime` attributes.\n\nBut before that, I'll have to understand timezone handling in Python, so do not expect this too soon (maybe mid-July).","updated_at":"2012-07-03T07:15:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727553","created_at":"2012-07-03T07:15:53Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6727553},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"yeah no problem, I'm not reliant on so precise information, take your time. btw, maybe that's a bug in the github API? why would this one time be returned in a different way than all the others? I can't see a reason for this.\n\nagreed, time(zones) in python are crazy at times.","updated_at":"2012-07-03T07:24:21Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727659","created_at":"2012-07-03T07:24:21Z","user":{"type":"User","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","repos_url":"https://api.github.com/users/bilderbuchi/repos","login":"bilderbuchi","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442,"starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}"},"id":6727659},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"I don't think it's a bug in Github:\n* `GitAuthor.date` is related to an action done somewhere (on the committer's computer), so it carries the timezone of this computer\n* other datetimes are related to actions done on Github's servers, so it's returned with a \"Z\" timezone meaning \"UTC\", the timezone of these servers.","updated_at":"2012-07-03T07:36:30Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6727848","created_at":"2012-07-03T07:36:30Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"id":6727848}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/comments?page=2&since=2012-05-28T23%3A00%3A00Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4964'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '44148'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:54:38 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -[{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"And by the way, I'm not sure it's a problem for you but I prefer to make it clear: if `tag` is a `Tag`, then `tag.commit.commit.committer.date` is the date of the tagged commit, not the date of the tag. If you really need the date of the tag, you need a `GitTag` and use `git_tag.tagger.date`.","updated_at":"2012-07-03T07:50:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728069","created_at":"2012-07-03T07:50:18Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6728069},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"ah, makes sense. If you want to avoid the timezone confusion, mayb what is suggested [here](http://stackoverflow.com/a/117615/599884) makes most sense: \n\"Keep your internal datetime objects naive and in UTC and convert to your timezone for formatting only. The reason why you probably want naive objects (objects without timezone information) is that many libraries and database adapters have no idea about timezones.\"\nSo maybe it makes sense to just convert the GitAuthor times to UTC when getting them (i.e. apply the offset to the given time), to be consistent with the rest.\n\nThanks about the clarification re: GitTag/Tag. I prefer the date of the tagged commit, though, the tags mark release commits.\n","updated_at":"2012-07-03T07:59:36Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728241","created_at":"2012-07-03T07:59:36Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6728241},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"If I convert the `GitAuthor.date` to UTC, I loose the information about where the committer lives... It may or may not be a problem depending on my client's use case.\n\nI'll find a way to make it clear and not loose information, maybe I will convert `date` to UTC (keep it naive), and add another attribute `timezone` to `GitAuthor`.","updated_at":"2012-07-07T18:18:46Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6728370","created_at":"2012-07-03T08:08:08Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6728370},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"I still have to convert the datetime to UTC. But there is something silly about timezones returned by Github: my commits are timezoned \"-07:00\" while I live in France (UTC +1 or +2). I have to investigate that.","updated_at":"2012-07-10T19:42:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6886561","created_at":"2012-07-10T19:42:43Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6886561},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Well, well, well... I now revise my judgement: **absolutely all** commits I've retrieved from Github are in timezone -07:00, so this must indeed be a flaw in the API, returning date formatted in the local timezone of the GIthub servers only for this attribute. @bilderbuchi, you were right in https://github.com/jacquev6/PyGithub/issues/54#issuecomment-6727659 :-)\n\nThere is no point keeping this GitAuthor.timezone attribute. I will just convert everything to UTC.","updated_at":"2012-07-13T19:17:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6972414","created_at":"2012-07-13T19:05:53Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":6972414},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"ok. maybe also write to github about this probable bug in the API, to see what's the deal?","updated_at":"2012-07-15T19:57:26Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/6994436","created_at":"2012-07-15T19:57:26Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":6994436},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"@bilderbuchi, to be honest, I don't think I will take time to contact Github about that.","updated_at":"2012-07-18T09:12:53Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060818","created_at":"2012-07-18T09:12:53Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7060818},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5387373","body":"Sure, I understand. :-)","updated_at":"2012-07-18T09:21:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7060993","created_at":"2012-07-18T09:21:16Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":7060993},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","body":"Thank you for this useful contribution! You even respected my special spacing convention!\n\nI will publish the version 1.4 of PyGithub next week-end.","updated_at":"2012-07-24T16:07:06Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7211543","created_at":"2012-07-24T16:07:06Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7211543},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5783131","body":"Hum, I'm having trouble with my computer and not much time to fix it. I'll publish PyGithub 1.4 as soon as possible.","updated_at":"2012-07-31T18:47:09Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7407798","created_at":"2012-07-31T18:47:09Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7407798},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5806612","body":"Published, at last...","updated_at":"2012-08-04T06:11:43Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7499550","created_at":"2012-08-04T06:11:43Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7499550},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"Hello!\n\nI confirm that the following code exhibits the same issue:\n\n import github\n\n g = github.Github()\n r = g.get_user( \"jacquev6\" ).get_repo( \"PyGithub\" )\n p = r.get_pull( 57 )\n print p.title, \"has\", p.comments, \"comments\"\n print [ c.body[ :15 ] for c in p.get_comments() ]\n\nIt prints:\n\n Allows connection to GitHub Enterprise installs on local URLs has 2 comments\n []\n\nThis last line calls API https://api.github.com/repos/jacquev6/PyGithub/pulls/57/comments, as documented in http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request, but the API returns an empty list. I've just managed to get the comments by calling https://api.github.com/repos/jacquev6/PyGithub/issues/57/comments instead. The issue must be on Github's side.\n\nAs a **temporary** work-around, you can use the following code to do as if the pull request is an issue, and call the other API:\n\n print [ c.body[ :15 ] for c in r.get_issue( p.number ).get_comments() ]\n\nRight now, I have not enough time to take care of this problem, but if it's still here at the beginning of September, I will contact Github and/or patch PyGithub.\n\nEnjoy,","updated_at":"2012-08-21T22:15:01Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7918385","created_at":"2012-08-21T22:15:01Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7918385},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6363719","body":"Deleting a repository is a new functionality that was not implemented in the API when I published the last version of PyGithub. It is now documented here: http://developer.github.com/v3/repos/#delete-a-repository\n\nI will implement it in PyGithub at the beginning of September.","updated_at":"2012-08-21T22:21:13Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7918542","created_at":"2012-08-21T22:21:13Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7918542},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6363719","body":"For the 'get_team' part of your issue, I can't find a way to get the id of a team from its name here: http://developer.github.com/v3/orgs/teams/ so there is no way to do it in PyGithub without iterating on 'get_teams()'","updated_at":"2012-08-21T22:27:24Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7918728","created_at":"2012-08-21T22:27:24Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7918728},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6363719","body":"Thanks for your fast reply and help. I look forward to having repo delete.","updated_at":"2012-08-22T01:44:09Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7922282","created_at":"2012-08-22T01:44:09Z","user":{"type":"User","events_url":"https://api.github.com/users/pmchen/events{/privacy}","received_events_url":"https://api.github.com/users/pmchen/received_events","gists_url":"https://api.github.com/users/pmchen/gists{/gist_id}","followers_url":"https://api.github.com/users/pmchen/followers","following_url":"https://api.github.com/users/pmchen/following","organizations_url":"https://api.github.com/users/pmchen/orgs","url":"https://api.github.com/users/pmchen","gravatar_id":"a0f9638840c6e593ecddc966e6d01241","starred_url":"https://api.github.com/users/pmchen/starred{/owner}{/repo}","login":"pmchen","avatar_url":"https://secure.gravatar.com/avatar/a0f9638840c6e593ecddc966e6d01241?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/pmchen/repos","subscriptions_url":"https://api.github.com/users/pmchen/subscriptions","id":671751},"id":7922282},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"To enhance the workaround a bit, you can do this to determine if an issue is a PR or not (because all PRs are issues, too):\n```\n if myIssue.pull_request.diff_url:\n PR=True\n else:\n PR=False\n```","updated_at":"2012-08-22T06:56:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7926126","created_at":"2012-08-22T06:56:34Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":7926126},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"Thank you! Will use this as a workaround.","updated_at":"2012-08-22T07:10:09Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7926317","created_at":"2012-08-22T07:10:09Z","user":{"type":"User","events_url":"https://api.github.com/users/nixoz2k7/events{/privacy}","received_events_url":"https://api.github.com/users/nixoz2k7/received_events","gists_url":"https://api.github.com/users/nixoz2k7/gists{/gist_id}","followers_url":"https://api.github.com/users/nixoz2k7/followers","following_url":"https://api.github.com/users/nixoz2k7/following","organizations_url":"https://api.github.com/users/nixoz2k7/orgs","url":"https://api.github.com/users/nixoz2k7","gravatar_id":"2a16046c75f59710161ea486d1f5881d","starred_url":"https://api.github.com/users/nixoz2k7/starred{/owner}{/repo}","login":"nixoz2k7","avatar_url":"https://secure.gravatar.com/avatar/2a16046c75f59710161ea486d1f5881d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/nixoz2k7/repos","subscriptions_url":"https://api.github.com/users/nixoz2k7/subscriptions","id":1027413},"id":7926317},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6363719","body":"On-going developments are here: https://github.com/jacquev6/PyGithub/tree/topic/DeleteRepository","updated_at":"2012-08-23T07:43:36Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/7962252","created_at":"2012-08-23T07:43:36Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":7962252},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6454054","body":"I just realized that there is no option to set timeout for github api requests. There is no timeout at all in Requester.\nIn python2.6 was added option timeout for httplib.HTTPConnection and httplib.HTTPSConnection. It seems that it will drop support of python<2.6.\nAnother way to change the way that Requester works. You can use requests library from @kennethreitz. BTW it will simplify whole Requester API.","updated_at":"2012-08-25T19:44:03Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8026699","created_at":"2012-08-25T19:44:03Z","user":{"type":"User","events_url":"https://api.github.com/users/xobb1t/events{/privacy}","received_events_url":"https://api.github.com/users/xobb1t/received_events","gists_url":"https://api.github.com/users/xobb1t/gists{/gist_id}","followers_url":"https://api.github.com/users/xobb1t/followers","following_url":"https://api.github.com/users/xobb1t/following","organizations_url":"https://api.github.com/users/xobb1t/orgs","url":"https://api.github.com/users/xobb1t","gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","starred_url":"https://api.github.com/users/xobb1t/starred{/owner}{/repo}","login":"xobb1t","avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/xobb1t/repos","subscriptions_url":"https://api.github.com/users/xobb1t/subscriptions","id":344095},"id":8026699},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6583381","body":"Wow! Upverter is a very impressive project. I have been designing some PCBs myself and always felt bad about storing them and connecting them to source code of embedded software. I'm looking forward the PCB layout and manufacture feature, it will make Upverter very useful for amateur electronics!\n\nI'm very proud and very happy to be a small part of your project, thank you for letting me know.","updated_at":"2012-09-03T08:39:41Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8232572","created_at":"2012-09-03T08:39:41Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8232572},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6454054","body":"Thank you very much for your contribution, I will integrate it this week.\n\n","updated_at":"2012-09-03T08:45:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8232695","created_at":"2012-09-03T08:45:50Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8232695},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"I've just contacted Github for this issue.","updated_at":"2012-09-03T08:56:13Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8232940","created_at":"2012-09-03T08:56:13Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8232940},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6583381","body":"Awesome, great to hear some positive feedback! If you're interested in trying out the alpha version of our PCB layout tool, send me your Upverter account name (alex@upverter.com) and I can upgrade you. We're hoping to have the layout and manufacturing tools rolled out to everyone in the next few weeks.","updated_at":"2012-09-04T17:54:47Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8272447","created_at":"2012-09-04T17:54:47Z","user":{"type":"User","events_url":"https://api.github.com/users/malexw/events{/privacy}","received_events_url":"https://api.github.com/users/malexw/received_events","gists_url":"https://api.github.com/users/malexw/gists{/gist_id}","followers_url":"https://api.github.com/users/malexw/followers","following_url":"https://api.github.com/users/malexw/following","organizations_url":"https://api.github.com/users/malexw/orgs","url":"https://api.github.com/users/malexw","gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","starred_url":"https://api.github.com/users/malexw/starred{/owner}{/repo}","login":"malexw","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/malexw/repos","subscriptions_url":"https://api.github.com/users/malexw/subscriptions","id":577322},"id":8272447},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6583381","body":"PM sent.","updated_at":"2012-09-04T20:07:55Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8276835","created_at":"2012-09-04T20:07:55Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8276835},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6641076","body":"All the APIs described in http://developer.github.com/v3/repos/contents/ are newer than the last version of PyGithub (or at least, I was not aware of them when I published that version).\n\nI will implement them soon, you can expect them middle of next week.\n\nFor reference, if you don't find an API in https://github.com/jacquev6/PyGithub/blob/master/doc/ReferenceOfApis.md then I've not implemented it yet.","updated_at":"2012-09-04T20:11:58Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8276985","created_at":"2012-09-04T20:11:37Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8276985},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6641076","body":"Thanks! I'm looking forward to the next release.\n","updated_at":"2012-09-04T23:38:50Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8282881","created_at":"2012-09-04T23:38:50Z","user":{"type":"User","events_url":"https://api.github.com/users/berndca/events{/privacy}","received_events_url":"https://api.github.com/users/berndca/received_events","gists_url":"https://api.github.com/users/berndca/gists{/gist_id}","followers_url":"https://api.github.com/users/berndca/followers","following_url":"https://api.github.com/users/berndca/following","organizations_url":"https://api.github.com/users/berndca/orgs","url":"https://api.github.com/users/berndca","gravatar_id":"4a43f97dc0112d95d8d713e2fd2a983b","starred_url":"https://api.github.com/users/berndca/starred{/owner}{/repo}","login":"berndca","avatar_url":"https://secure.gravatar.com/avatar/4a43f97dc0112d95d8d713e2fd2a983b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/berndca/repos","subscriptions_url":"https://api.github.com/users/berndca/subscriptions","id":466654},"id":8282881},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6353712","body":"And here is the reply I received from Github:\n\n From: Wynn Netherland\n Subject: API v3, list comments on pull requests\n\n Hi, Vincent. I know it's confusing but we actually have three types of comments on GitHub, so there are\n three different spots in the API to grab them. Be sure you're looking in the right spot for the data you expect.\n\n Pull Request comments are the top-level comments found on the Pull Request page. These are retrieved via\n the Issues API [1] since PRs are essentially specialized Issues. Pull Request review comments are those made\n against the diff on the PR. You can grab these with the Review Comments API [2]. Finally, line comments made\n outside the context of a PR on a raw commit can be retrieved via the Commit Comments API [3].\n\n Armed with that info, let me know if you're not seeing the data you expect and the API call you're making, and I\n can dig a bit deeper.\n\n [1] http://developer.github.com/v3/issues/comments/\n [2] http://developer.github.com/v3/pulls/comments/\n [3] http://developer.github.com/v3/repos/comments/\n\n Cheers,\n\nSo, this is coherent with what we can see here: https://github.com/jacquev6/PyGithub/pull/57, as `PullRequest.get_comments` uses the Pull Requests API. @nixoz2k7 Is it coherent with your original issue as well?\n\nAnyway, this is misleading, so I will add two methods named `get_issue_comments` (using the Issues API) and `get_review_comments` (synonym for `get_comments`, using the Pull Requests API). Expect this for the middle of next week.","updated_at":"2012-09-05T06:36:26Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8288983","created_at":"2012-09-05T06:36:26Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8288983},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6653907","body":"Thank you, I was just going to open an issue for that. No need to hurry because of this, though, I won't need it too soon. :-)","updated_at":"2012-09-05T07:08:11Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8289525","created_at":"2012-09-05T07:08:11Z","user":{"type":"User","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/bilderbuchi/repos","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","id":327442},"id":8289525},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6653907","body":"I think I'll do it for the middle of next week","updated_at":"2012-09-05T14:21:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8300374","created_at":"2012-09-05T14:21:16Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8300374},{"issue_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6611093","body":"Just published on [PyPi](http://pypi.python.org/pypi/PyGithub).","updated_at":"2012-09-05T17:56:28Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/8307659","created_at":"2012-09-05T17:56:28Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"id":8307659}] - diff --git a/github/tests/ReplayData/Repository.testGetIssuesEvents.txt b/github/tests/ReplayData/Repository.testGetIssuesEvents.txt deleted file mode 100644 index dc1cdee..0000000 --- a/github/tests/ReplayData/Repository.testGetIssuesEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4923'), ('content-length', '85910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"7ad8520585258c37864643b4719cbecc"'), ('date', 'Sun, 27 May 2012 07:11:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16347480","issue":{"updated_at":"2012-05-27T05:40:15Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":30,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4769659,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"},"commit_id":null,"created_at":"2012-05-27T05:40:15Z","event":"assigned","id":16347480,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16347479","issue":{"updated_at":"2012-05-27T05:40:15Z","body":"Body created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":30,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Issue also created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-27T05:40:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4769659,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/30"},"commit_id":null,"created_at":"2012-05-27T05:40:15Z","event":"subscribed","id":16347479,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16333959","issue":{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","closed_issues":3,"open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546},"number":28,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"},"commit_id":null,"created_at":"2012-05-26T14:59:34Z","event":"closed","id":16333959,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16333938","issue":{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","closed_issues":3,"open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546},"number":28,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"},"commit_id":null,"created_at":"2012-05-26T14:58:27Z","event":"assigned","id":16333938,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16292760","issue":{"updated_at":"2012-05-25T17:32:32Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","number":5,"title":"Version 0.7","due_on":"2012-05-26T07:00:00Z","closed_issues":2,"open_issues":0,"created_at":"2012-05-25T11:47:06Z","state":"closed","description":"","id":124045},"number":29,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-25T17:32:32Z","title":"Publish version 0.7","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-25T11:47:59Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4752048,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/29"},"commit_id":null,"created_at":"2012-05-25T17:32:32Z","event":"closed","id":16292760,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16292758","issue":{"updated_at":"2012-05-25T17:32:31Z","body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","number":5,"title":"Version 0.7","due_on":"2012-05-26T07:00:00Z","closed_issues":2,"open_issues":0,"created_at":"2012-05-25T11:47:06Z","state":"closed","description":"","id":124045},"number":15,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-25T17:32:31Z","title":"Implement all authentication schemes","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"created_at":"2012-03-13T06:24:05Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3624575,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/15"},"commit_id":null,"created_at":"2012-05-25T17:32:31Z","event":"closed","id":16292758,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16266502","issue":{"updated_at":"2012-05-25T17:32:32Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","number":5,"title":"Version 0.7","due_on":"2012-05-26T07:00:00Z","closed_issues":2,"open_issues":0,"created_at":"2012-05-25T11:47:06Z","state":"closed","description":"","id":124045},"number":29,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-25T17:32:32Z","title":"Publish version 0.7","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-25T11:47:59Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4752048,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/29"},"commit_id":null,"created_at":"2012-05-25T11:47:59Z","event":"assigned","id":16266502,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/16266501","issue":{"updated_at":"2012-05-25T17:32:32Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","number":5,"title":"Version 0.7","due_on":"2012-05-26T07:00:00Z","closed_issues":2,"open_issues":0,"created_at":"2012-05-25T11:47:06Z","state":"closed","description":"","id":124045},"number":29,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-25T17:32:32Z","title":"Publish version 0.7","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-25T11:47:59Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4752048,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/29"},"commit_id":null,"created_at":"2012-05-25T11:47:59Z","event":"subscribed","id":16266501,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15883398","issue":{"updated_at":"2012-05-21T12:09:57Z","body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":26,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-21T11:17:12Z","title":"Rate limiting?","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-17T12:02:05Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4622816,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/26"},"commit_id":null,"created_at":"2012-05-21T11:17:12Z","event":"closed","id":15883398,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","issue":{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","closed_issues":3,"open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546},"number":28,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"},"commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","issue":{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","closed_issues":3,"open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546},"number":28,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"},"commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15756354","issue":{"updated_at":"2012-05-18T11:06:11Z","body":"As per discussion in 6945921c529be14c3a8f566dd1e483674516d46d\n\nI have observed that autocompletion (using PyDev+Eclipse in my case) is pretty erratic.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to `NamedUsers`/`AuthenticatedUser`, really) does not show autocompletion to `g.get_user().get_repo()`.\n\nThis makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/27","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":27,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Facilitate IDE autocompletion","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-18T10:52:29Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4639931,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/27"},"commit_id":null,"created_at":"2012-05-18T11:06:05Z","event":"subscribed","id":15756354,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15756353","issue":{"updated_at":"2012-05-18T11:06:11Z","body":"As per discussion in 6945921c529be14c3a8f566dd1e483674516d46d\n\nI have observed that autocompletion (using PyDev+Eclipse in my case) is pretty erratic.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to `NamedUsers`/`AuthenticatedUser`, really) does not show autocompletion to `g.get_user().get_repo()`.\n\nThis makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/27","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":27,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Facilitate IDE autocompletion","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-18T10:52:29Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4639931,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/27"},"commit_id":null,"created_at":"2012-05-18T11:06:05Z","event":"assigned","id":15756353,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15755561","issue":{"updated_at":"2012-05-18T11:06:11Z","body":"As per discussion in 6945921c529be14c3a8f566dd1e483674516d46d\n\nI have observed that autocompletion (using PyDev+Eclipse in my case) is pretty erratic.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to `NamedUsers`/`AuthenticatedUser`, really) does not show autocompletion to `g.get_user().get_repo()`.\n\nThis makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/27","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":27,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Facilitate IDE autocompletion","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-18T10:52:29Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4639931,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/27"},"commit_id":null,"created_at":"2012-05-18T10:52:29Z","event":"subscribed","id":15755561,"actor":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15741471","issue":{"updated_at":"2012-05-21T12:09:57Z","body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":26,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-21T11:17:12Z","title":"Rate limiting?","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-17T12:02:05Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4622816,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/26"},"commit_id":null,"created_at":"2012-05-18T05:18:34Z","event":"subscribed","id":15741471,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15741470","issue":{"updated_at":"2012-05-21T12:09:57Z","body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":26,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-21T11:17:12Z","title":"Rate limiting?","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-17T12:02:05Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4622816,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/26"},"commit_id":null,"created_at":"2012-05-18T05:18:34Z","event":"assigned","id":15741470,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15675859","issue":{"updated_at":"2012-05-21T12:09:57Z","body":"Hi!\n\nI tried to find a function which returns the number of API requests I have remaining due to [rate limiting](http://developer.github.com/v3/#rate-limiting). Is this somewhere in the library and I can't find it? If not, I think it would be a great feature to have, to be able to keep track of how many requests certain actions use up.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/26","comments":4,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":26,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-21T11:17:12Z","title":"Rate limiting?","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-05-17T12:02:05Z","state":"closed","user":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442},"id":4622816,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/26"},"commit_id":null,"created_at":"2012-05-17T12:02:05Z","event":"subscribed","id":15675859,"actor":{"url":"https://api.github.com/users/bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","id":327442}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14890679","issue":{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},"commit_id":null,"created_at":"2012-05-07T10:49:06Z","event":"referenced","id":14890679,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14890678","issue":{"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":25,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"List project(s) using PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4452000,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/25"},"commit_id":null,"created_at":"2012-05-07T10:49:06Z","event":"subscribed","id":14890678,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14890677","issue":{"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":25,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"List project(s) using PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4452000,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/25"},"commit_id":null,"created_at":"2012-05-07T10:49:06Z","event":"assigned","id":14890677,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14890532","issue":{"updated_at":"2012-05-07T10:45:58Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":6,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-07T10:45:58Z","title":"Review exceptions policy when receiving error HTTP status","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-03-12T19:45:51Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3617711,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/6"},"commit_id":null,"created_at":"2012-05-07T10:45:58Z","event":"closed","id":14890532,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14890531","issue":{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},"commit_id":null,"created_at":"2012-05-07T10:45:58Z","event":"referenced","id":14890531,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14797847","issue":{"updated_at":"2012-05-07T10:45:58Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/6","comments":1,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":6,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-05-07T10:45:58Z","title":"Review exceptions policy when receiving error HTTP status","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-03-12T19:45:51Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3617711,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/6"},"commit_id":null,"created_at":"2012-05-04T19:23:57Z","event":"referenced","id":14797847,"actor":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14550202","issue":{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},"commit_id":null,"created_at":"2012-05-01T21:58:55Z","event":"subscribed","id":14550202,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14550200","issue":{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},"commit_id":null,"created_at":"2012-05-01T21:58:55Z","event":"assigned","id":14550200,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/14466693","issue":{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","closed_issues":2,"open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"},"commit_id":null,"created_at":"2012-04-30T20:01:20Z","event":"subscribed","id":14466693,"actor":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/13988647","issue":{"updated_at":"2012-04-23T20:23:29Z","body":"This is probably user error (I don't really know what I'm doing) but if I execute ```repo.get_download(1)``` or ```repo.get_download('foobar')``` (I'm not sure what the proper id for a download is), I get the following error trace:\r\n\r\n Traceback (most recent call last):\r\n File \"/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py\", line 1, in \r\n # Used internally for debug sandbox under external interpreter\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 77, in \r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/List.py\", line 114, in __execute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/TypePolicies.py\", line 25, in createNonLazy\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 73, in __init__\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 103, in __fetchAttribute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/Basic.py\", line 62, in updateAttributes\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Github.py\", line 10, in _dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 17, in dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 39, in __statusCheckedRequest\r\n github.Requester.UnknownGithubObject:\r\n\r\nAlso possibly related: ```repo.get_download()``` (what weird things users do, eh?) causes a shorter trace ending in Type Error. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/23","comments":2,"milestone":null,"number":23,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-04-23T20:23:29Z","title":"UnknownGithubObject on get_download() with invalid key","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-04-17T19:03:44Z","state":"closed","user":{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018},"id":4159230,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/23"},"commit_id":null,"created_at":"2012-04-23T20:23:29Z","event":"closed","id":13988647,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/13600012","issue":{"updated_at":"2012-04-23T20:23:29Z","body":"This is probably user error (I don't really know what I'm doing) but if I execute ```repo.get_download(1)``` or ```repo.get_download('foobar')``` (I'm not sure what the proper id for a download is), I get the following error trace:\r\n\r\n Traceback (most recent call last):\r\n File \"/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py\", line 1, in \r\n # Used internally for debug sandbox under external interpreter\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 77, in \r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/List.py\", line 114, in __execute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/TypePolicies.py\", line 25, in createNonLazy\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 73, in __init__\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 103, in __fetchAttribute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/Basic.py\", line 62, in updateAttributes\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Github.py\", line 10, in _dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 17, in dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 39, in __statusCheckedRequest\r\n github.Requester.UnknownGithubObject:\r\n\r\nAlso possibly related: ```repo.get_download()``` (what weird things users do, eh?) causes a shorter trace ending in Type Error. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/23","comments":2,"milestone":null,"number":23,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-04-23T20:23:29Z","title":"UnknownGithubObject on get_download() with invalid key","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-04-17T19:03:44Z","state":"closed","user":{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018},"id":4159230,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/23"},"commit_id":null,"created_at":"2012-04-17T21:10:30Z","event":"assigned","id":13600012,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/13599998","issue":{"updated_at":"2012-04-23T20:23:29Z","body":"This is probably user error (I don't really know what I'm doing) but if I execute ```repo.get_download(1)``` or ```repo.get_download('foobar')``` (I'm not sure what the proper id for a download is), I get the following error trace:\r\n\r\n Traceback (most recent call last):\r\n File \"/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py\", line 1, in \r\n # Used internally for debug sandbox under external interpreter\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 77, in \r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/List.py\", line 114, in __execute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/TypePolicies.py\", line 25, in createNonLazy\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 73, in __init__\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 103, in __fetchAttribute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/Basic.py\", line 62, in updateAttributes\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Github.py\", line 10, in _dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 17, in dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 39, in __statusCheckedRequest\r\n github.Requester.UnknownGithubObject:\r\n\r\nAlso possibly related: ```repo.get_download()``` (what weird things users do, eh?) causes a shorter trace ending in Type Error. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/23","comments":2,"milestone":null,"number":23,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-04-23T20:23:29Z","title":"UnknownGithubObject on get_download() with invalid key","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-04-17T19:03:44Z","state":"closed","user":{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018},"id":4159230,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/23"},"commit_id":null,"created_at":"2012-04-17T21:10:15Z","event":"subscribed","id":13599998,"actor":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/13589532","issue":{"updated_at":"2012-04-23T20:23:29Z","body":"This is probably user error (I don't really know what I'm doing) but if I execute ```repo.get_download(1)``` or ```repo.get_download('foobar')``` (I'm not sure what the proper id for a download is), I get the following error trace:\r\n\r\n Traceback (most recent call last):\r\n File \"/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py\", line 1, in \r\n # Used internally for debug sandbox under external interpreter\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 77, in \r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/List.py\", line 114, in __execute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/TypePolicies.py\", line 25, in createNonLazy\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 73, in __init__\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/GithubObject.py\", line 103, in __fetchAttribute\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/GithubObjects/GithubObject/Basic.py\", line 62, in updateAttributes\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Github.py\", line 10, in _dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 17, in dataRequest\r\n File \"/Library/Python/2.6/site-packages/PyGithub-0.6-py2.6.egg/github/Requester.py\", line 39, in __statusCheckedRequest\r\n github.Requester.UnknownGithubObject:\r\n\r\nAlso possibly related: ```repo.get_download()``` (what weird things users do, eh?) causes a shorter trace ending in Type Error. ","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/23","comments":2,"milestone":null,"number":23,"assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"closed_at":"2012-04-23T20:23:29Z","title":"UnknownGithubObject on get_download() with invalid key","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-04-17T19:03:44Z","state":"closed","user":{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018},"id":4159230,"pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/23"},"commit_id":null,"created_at":"2012-04-17T19:03:45Z","event":"subscribed","id":13589532,"actor":{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018}}] - diff --git a/github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt b/github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt deleted file mode 100644 index 702c333..0000000 --- a/github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones/3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '577'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"aefd46b78a992c1eb76e6bb49c45be7c"'), ('date', 'Fri, 01 Jun 2012 19:52:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"title":"Version 0.5: full implementation","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-12T21:38:36Z","state":"closed","description":"","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","closed_issues":4,"due_on":"2012-03-20T07:00:00Z","open_issues":0,"number":3,"id":95354} - -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7ce1335565832b7bdbe43916a0724156"'), ('date', 'Fri, 01 Jun 2012 19:52:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","bio":"","collaborators":0,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","total_private_repos":5,"email":"vincent@vincent-jacques.net","owned_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","url":"https://api.github.com/users/jacquev6","following":24,"public_gists":3,"disk_usage":16900,"public_repos":10,"private_gists":5,"name":"Vincent Jacques","blog":"http://vincent-jacques.net","followers":13,"html_url":"https://github.com/jacquev6","hireable":false,"id":327146,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"} - -https -GET -api.github.com -None -/users/Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '554'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73f74c6f88d8578cb44a6c29b1e2ee8e"'), ('date', 'Fri, 01 Jun 2012 19:52:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","blog":null,"company":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","email":"nyu@lyloa.net","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":0,"created_at":"2011-10-16T14:36:46Z","location":"Paris","url":"https://api.github.com/users/Lyloa","following":0,"hireable":false,"name":"Lyloa","public_gists":0,"followers":1,"html_url":"https://github.com/Lyloa","bio":null,"id":1131432} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"569c414d87e8ec43ec269a9e28bc2982"'), ('date', 'Fri, 01 Jun 2012 19:56:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?state=closed&milestone=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4868'), ('content-length', '6944'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5c472a7784b7cd933a35e2bb0ce5df38"'), ('date', 'Tue, 29 May 2012 18:39:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-03-19T19:05:17Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/11","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","number":3,"title":"Version 0.5: full implementation","closed_issues":4,"due_on":"2012-03-20T07:00:00Z","open_issues":0,"created_at":"2012-03-12T21:38:36Z","state":"closed","description":"","id":95354},"number":11,"html_url":"https://github.com/jacquev6/PyGithub/issues/11","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Implement alternative inputs","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":"2012-03-19T19:05:17Z","created_at":"2012-03-13T06:08:10Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3624472,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-14T22:29:08Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/10","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","number":3,"title":"Version 0.5: full implementation","closed_issues":4,"due_on":"2012-03-20T07:00:00Z","open_issues":0,"created_at":"2012-03-12T21:38:36Z","state":"closed","description":"","id":95354},"number":10,"html_url":"https://github.com/jacquev6/PyGithub/issues/10","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Separate GithubObjects.py in several files","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"closed_at":"2012-03-14T22:29:08Z","created_at":"2012-03-12T22:08:06Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3620132,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T20:56:01Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/8","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","number":3,"title":"Version 0.5: full implementation","closed_issues":4,"due_on":"2012-03-20T07:00:00Z","open_issues":0,"created_at":"2012-03-12T21:38:36Z","state":"closed","description":"","id":95354},"number":8,"html_url":"https://github.com/jacquev6/PyGithub/issues/8","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Publish version 0.5","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":"2012-03-19T20:56:01Z","created_at":"2012-03-12T21:38:49Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3619658,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}},{"updated_at":"2012-03-19T19:05:17Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/5","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","number":3,"title":"Version 0.5: full implementation","closed_issues":4,"due_on":"2012-03-20T07:00:00Z","open_issues":0,"created_at":"2012-03-12T21:38:36Z","state":"closed","description":"","id":95354},"number":5,"html_url":"https://github.com/jacquev6/PyGithub/issues/5","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Implement full API","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":"2012-03-19T19:05:17Z","created_at":"2012-03-08T12:21:28Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3561926,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?labels=Bug -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4867'), ('content-length', '2426'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dcab4e56d1acdb64e964e0f8669f5c19"'), ('date', 'Tue, 29 May 2012 18:39:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-28T14:47:02Z","body":"As the title says, `get_issues()` seems to return a max of 250 items. \nIt can't be a pagination thing I think because a page is max. 100 items long as per http://developer.github.com/v3/#pagination\n\nRepro:\n\n\tfrom github import Github\n\tg = Github()\n\ttest=g.get_user('openframeworks').get_repo('openFrameworks').get_issues()\n\tlen(test)\n\nThis repo hast 940 closed and 340 open issues.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/33","comments":4,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":33,"html_url":"https://github.com/jacquev6/PyGithub/issues/33","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"get_issues() returns max. 250 items","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"}],"closed_at":null,"created_at":"2012-05-28T13:18:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4780155,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?sort=comments&assignee=jacquev6&direction=asc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4866'), ('content-length', '29746'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ca9d3b0d1f8313bd38c2b092f3dec187"'), ('date', 'Tue, 29 May 2012 18:39:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-29T11:29:46Z","body":"https://api.github.com/hooks is not documented, but it is referred by http://developer.github.com/v3/repos/hooks/#create-a-hook","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/35","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":35,"html_url":"https://github.com/jacquev6/PyGithub/issues/35","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Implement https://api.github.com/hooks","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:29:46Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4793106,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-03-08T12:23:29Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/2","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":2,"html_url":"https://github.com/jacquev6/PyGithub/issues/2","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Use objects as parameters instead of shas, ids, etc.","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-03-06T16:46:49Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527231,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-29T11:31:37Z","body":"All attributes and method parameters must have an identified and documented type","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":4,"html_url":"https://github.com/jacquev6/PyGithub/issues/4","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Review public interface homogeneity ","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-03-06T16:48:40Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527266,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-29T11:41:39Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/12","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":12,"html_url":"https://github.com/jacquev6/PyGithub/issues/12","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Structure all attributes and make them either mandatory or optional","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-03-13T06:21:57Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624556,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-29T11:39:15Z","body":"Cf http://developer.github.com/v3/pulls/comments/#alternative-input, but my first tests did not succeed.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/37","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":37,"html_url":"https://github.com/jacquev6/PyGithub/issues/37","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Understand and implement POST /repos/:user/:repo/pulls/:number/comments with in_reply_to","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:39:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4793216,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-29T11:24:24Z","body":"Check that there is no more `toto`s in code\nCheck that we have 100% test coverage","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":9,"html_url":"https://github.com/jacquev6/PyGithub/issues/9","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Publish version 1.0","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":null,"created_at":"2012-03-12T21:58:05Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3619973,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-03-13T07:04:42Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/16","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":16,"html_url":"https://github.com/jacquev6/PyGithub/issues/16","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Add copyright and license notice","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":null,"created_at":"2012-03-13T06:25:31Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3624595,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":25,"html_url":"https://github.com/jacquev6/PyGithub/issues/25","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"List project(s) using PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":null,"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4452000,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-28T13:58:49Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/18","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":18,"html_url":"https://github.com/jacquev6/PyGithub/issues/18","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Take care of _identity","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"}],"closed_at":null,"created_at":"2012-03-14T06:49:31Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3643837,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-03-13T12:09:48Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/17","comments":0,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":17,"html_url":"https://github.com/jacquev6/PyGithub/issues/17","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Document issue reporting","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":null,"created_at":"2012-03-13T12:09:48Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3628022,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-28T13:58:35Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3","comments":1,"milestone":null,"number":3,"html_url":"https://github.com/jacquev6/PyGithub/issues/3","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Deduce mandatory parameters","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-03-06T16:47:49Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":3527245,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-29T18:38:53Z","body":"For example, in `Organization.get_repos( type )`, `type` should be added to the url, as described in http://developer.github.com/v3/repos/#list-organization-repositories","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/36","comments":2,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":36,"html_url":"https://github.com/jacquev6/PyGithub/issues/36","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Re-implement url parameters","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:33:19Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4793162,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"html_url":"https://github.com/jacquev6/PyGithub/issues/24","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":328726},"id":4356743,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}},{"updated_at":"2012-05-28T14:47:02Z","body":"As the title says, `get_issues()` seems to return a max of 250 items. \nIt can't be a pagination thing I think because a page is max. 100 items long as per http://developer.github.com/v3/#pagination\n\nRepro:\n\n\tfrom github import Github\n\tg = Github()\n\ttest=g.get_user('openframeworks').get_repo('openFrameworks').get_issues()\n\tlen(test)\n\nThis repo hast 940 closed and 340 open issues.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/33","comments":4,"milestone":{"closed_issues":6,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":33,"html_url":"https://github.com/jacquev6/PyGithub/issues/33","assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"title":"get_issues() returns max. 250 items","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"}],"closed_at":null,"created_at":"2012-05-28T13:18:01Z","state":"open","user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327442},"id":4780155,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?since=2012-05-28T23%3A00%3A00Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4865'), ('content-length', '12920'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d09251f5f9bcb3430efa333b42335a0b"'), ('date', 'Tue, 29 May 2012 18:39:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-29T11:39:15Z","body":"Cf http://developer.github.com/v3/pulls/comments/#alternative-input, but my first tests did not succeed.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/37","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":37,"html_url":"https://github.com/jacquev6/PyGithub/issues/37","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Understand and implement POST /repos/:user/:repo/pulls/:number/comments with in_reply_to","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:39:15Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4793216,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T18:38:53Z","body":"For example, in `Organization.get_repos( type )`, `type` should be added to the url, as described in http://developer.github.com/v3/repos/#list-organization-repositories","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/36","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":36,"html_url":"https://github.com/jacquev6/PyGithub/issues/36","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Re-implement url parameters","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:33:19Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4793162,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T11:29:46Z","body":"https://api.github.com/hooks is not documented, but it is referred by http://developer.github.com/v3/repos/hooks/#create-a-hook","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/35","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":35,"html_url":"https://github.com/jacquev6/PyGithub/issues/35","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Implement https://api.github.com/hooks","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:29:46Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4793106,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T11:41:39Z","body":"","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/12","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":12,"html_url":"https://github.com/jacquev6/PyGithub/issues/12","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Structure all attributes and make them either mandatory or optional","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-03-13T06:21:57Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3624556,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T11:24:24Z","body":"Check that there is no more `toto`s in code\nCheck that we have 100% test coverage","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":9,"html_url":"https://github.com/jacquev6/PyGithub/issues/9","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Publish version 1.0","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}],"closed_at":null,"created_at":"2012-03-12T21:58:05Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3619973,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}},{"updated_at":"2012-05-29T11:31:37Z","body":"All attributes and method parameters must have an identified and documented type","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/4","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"closed_issues":6,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":4,"html_url":"https://github.com/jacquev6/PyGithub/issues/4","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Review public interface homogeneity ","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"closed_at":null,"created_at":"2012-03-06T16:48:40Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":3527266,"pull_request":{"html_url":null,"patch_url":null,"diff_url":null}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?mentioned=Lyloa -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4864'), ('content-length', '2210'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bf7c5823992799efca0369752072ec8e"'), ('date', 'Tue, 29 May 2012 18:39:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-29T18:38:53Z","body":"For example, in `Organization.get_repos( type )`, `type` should be added to the url, as described in http://developer.github.com/v3/repos/#list-organization-repositories","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/36","comments":2,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":6,"number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":36,"html_url":"https://github.com/jacquev6/PyGithub/issues/36","assignee":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Re-implement url parameters","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"}],"closed_at":null,"created_at":"2012-05-29T11:33:19Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4793162,"pull_request":{"diff_url":null,"html_url":null,"patch_url":null}}] - diff --git a/github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt b/github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt deleted file mode 100644 index d33415c..0000000 --- a/github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt +++ /dev/null @@ -1,44 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?milestone=%2A -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '16480'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"28fffaa40fef9cdb999d5b217e212f0a"'), ('date', 'Sat, 02 Jun 2012 06:15:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"title":"Use type datetime.datetime for appropriate attributes/arguments","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T06:16:47Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/41","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-06-01T20:25:31Z","body":"","comments":0,"number":41,"id":4809786,"html_url":"https://github.com/jacquev6/PyGithub/issues/41","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Understand and implement POST /repos/:user/:repo/pulls/:number/comments with in_reply_to","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-05-29T11:39:15Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/37","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-29T11:39:15Z","body":"Cf http://developer.github.com/v3/pulls/comments/#alternative-input, but my first tests did not succeed.","comments":0,"number":37,"id":4793216,"html_url":"https://github.com/jacquev6/PyGithub/issues/37","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Check that there is no more `toto`s in code","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-29T07:13:42Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/34","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-31T09:53:27Z","body":"","comments":0,"number":34,"id":4789817,"html_url":"https://github.com/jacquev6/PyGithub/issues/34","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"List project(s) using PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","comments":0,"number":25,"id":4452000,"html_url":"https://github.com/jacquev6/PyGithub/issues/25","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Document issue reporting","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-13T12:09:48Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/17","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-03-13T12:09:48Z","body":"","comments":0,"number":17,"id":3628022,"html_url":"https://github.com/jacquev6/PyGithub/issues/17","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Add copyright and license notice","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-13T06:25:31Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/16","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-03-13T07:04:42Z","body":"","comments":0,"number":16,"id":3624595,"html_url":"https://github.com/jacquev6/PyGithub/issues/16","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Publish version 1.0","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-12T21:58:05Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","assignee":null,"closed_at":null,"updated_at":"2012-06-02T06:14:47Z","body":"Check that there is no more `toto`s in code\nCheck that we have 100% test coverage","comments":0,"number":9,"id":3619973,"html_url":"https://github.com/jacquev6/PyGithub/issues/9","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Use objects instead of string for shas, ids, etc. arguments","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-03-06T16:46:49Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/2","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-06-01T20:19:54Z","body":"","comments":0,"number":2,"id":3527231,"html_url":"https://github.com/jacquev6/PyGithub/issues/2","milestone":{"title":"Version 1.0: coherent public interface","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?milestone=none -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '7399'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27992c230165868561de1a0461b6fb75"'), ('date', 'Sat, 02 Jun 2012 06:15:12 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"title":"Make all attributes either optional or mandatory","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T20:00:36Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/43","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:00:36Z","body":"","comments":0,"number":43,"id":4823331,"html_url":"https://github.com/jacquev6/PyGithub/issues/43","milestone":null},{"title":"Create enumerations for string attributes/arguments with a finite set of values","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T06:19:02Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/42","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:15:40Z","body":"","comments":0,"number":42,"id":4809803,"html_url":"https://github.com/jacquev6/PyGithub/issues/42","milestone":null},{"title":"Generate a docs.python.org-like documentation","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-30T06:15:03Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/40","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T06:15:03Z","body":"It would be good to have a doc that is more like other documentations of Python libraries.","comments":0,"number":40,"id":4809778,"html_url":"https://github.com/jacquev6/PyGithub/issues/40","milestone":null},{"title":"Implement https://api.github.com/hooks","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-05-29T11:29:46Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/35","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T19:59:52Z","body":"https://api.github.com/hooks is not documented, but it is referred by http://developer.github.com/v3/repos/hooks/#create-a-hook","comments":0,"number":35,"id":4793106,"html_url":"https://github.com/jacquev6/PyGithub/issues/35","milestone":null},{"title":"Remove _identity","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"created_at":"2012-03-14T06:49:31Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/18","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:18:56Z","body":"`_identity` exists only in `Label`, `NamedUser` and `Repository`, and should be replaced by proper attribute (`urlquote( self.name)`, `self.login` and `self.full_name`) in methods like `AuthenticatedUser.add_to_following`","comments":0,"number":18,"id":3643837,"html_url":"https://github.com/jacquev6/PyGithub/issues/18","milestone":null},{"title":"Deduce mandatory parameters","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-03-06T16:47:49Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-28T13:58:35Z","body":"","comments":1,"number":3,"id":3527245,"html_url":"https://github.com/jacquev6/PyGithub/issues/3","milestone":null}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?assignee=%2A -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '22053'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"19578e844395dac67fcdaf015d1fbce1"'), ('date', 'Sat, 02 Jun 2012 06:15:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"title":"Make all attributes either optional or mandatory","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T20:00:36Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/43","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:00:36Z","body":"","comments":0,"number":43,"id":4823331,"html_url":"https://github.com/jacquev6/PyGithub/issues/43","milestone":null},{"title":"Create enumerations for string attributes/arguments with a finite set of values","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T06:19:02Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/42","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:15:40Z","body":"","comments":0,"number":42,"id":4809803,"html_url":"https://github.com/jacquev6/PyGithub/issues/42","milestone":null},{"title":"Use type datetime.datetime for appropriate attributes/arguments","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-05-30T06:16:47Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/41","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-06-01T20:25:31Z","body":"","comments":0,"number":41,"id":4809786,"html_url":"https://github.com/jacquev6/PyGithub/issues/41","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Generate a docs.python.org-like documentation","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-30T06:15:03Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/40","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T06:15:03Z","body":"It would be good to have a doc that is more like other documentations of Python libraries.","comments":0,"number":40,"id":4809778,"html_url":"https://github.com/jacquev6/PyGithub/issues/40","milestone":null},{"title":"Understand and implement POST /repos/:user/:repo/pulls/:number/comments with in_reply_to","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-05-29T11:39:15Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/37","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-29T11:39:15Z","body":"Cf http://developer.github.com/v3/pulls/comments/#alternative-input, but my first tests did not succeed.","comments":0,"number":37,"id":4793216,"html_url":"https://github.com/jacquev6/PyGithub/issues/37","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Implement https://api.github.com/hooks","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-05-29T11:29:46Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/35","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T19:59:52Z","body":"https://api.github.com/hooks is not documented, but it is referred by http://developer.github.com/v3/repos/hooks/#create-a-hook","comments":0,"number":35,"id":4793106,"html_url":"https://github.com/jacquev6/PyGithub/issues/35","milestone":null},{"title":"Check that there is no more `toto`s in code","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-29T07:13:42Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/34","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-31T09:53:27Z","body":"","comments":0,"number":34,"id":4789817,"html_url":"https://github.com/jacquev6/PyGithub/issues/34","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"List project(s) using PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-05-07T10:49:06Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/25","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-07T10:49:06Z","body":"List known clients.\r\n\r\nFirst known client: http://pypi.python.org/pypi/tratihubis/ (cf #24)","comments":0,"number":25,"id":4452000,"html_url":"https://github.com/jacquev6/PyGithub/issues/25","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Remove _identity","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"0b02e1","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring"}],"created_at":"2012-03-14T06:49:31Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/18","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-30T20:18:56Z","body":"`_identity` exists only in `Label`, `NamedUser` and `Repository`, and should be replaced by proper attribute (`urlquote( self.name)`, `self.login` and `self.full_name`) in methods like `AuthenticatedUser.add_to_following`","comments":0,"number":18,"id":3643837,"html_url":"https://github.com/jacquev6/PyGithub/issues/18","milestone":null},{"title":"Document issue reporting","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-13T12:09:48Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/17","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-03-13T12:09:48Z","body":"","comments":0,"number":17,"id":3628022,"html_url":"https://github.com/jacquev6/PyGithub/issues/17","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Add copyright and license notice","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-13T06:25:31Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/16","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-03-13T07:04:42Z","body":"","comments":0,"number":16,"id":3624595,"html_url":"https://github.com/jacquev6/PyGithub/issues/16","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}},{"title":"Deduce mandatory parameters","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"e102d8","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities"}],"created_at":"2012-03-06T16:47:49Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/3","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-05-28T13:58:35Z","body":"","comments":1,"number":3,"id":3527245,"html_url":"https://github.com/jacquev6/PyGithub/issues/3","milestone":null},{"title":"Use objects instead of string for shas, ids, etc. arguments","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"labels":[{"color":"d7e102","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface"}],"created_at":"2012-03-06T16:46:49Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/2","assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_at":null,"updated_at":"2012-06-01T20:19:54Z","body":"","comments":0,"number":2,"id":3527231,"html_url":"https://github.com/jacquev6/PyGithub/issues/2","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},"closed_issues":13,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/issues?assignee=none -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '1826'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c087198529310acda2e50d723e071ec8"'), ('date', 'Sat, 02 Jun 2012 06:15:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"title":"Publish version 1.0","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"labels":[{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"}],"created_at":"2012-03-12T21:58:05Z","state":"open","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/9","assignee":null,"closed_at":null,"updated_at":"2012-06-02T06:14:47Z","body":"Check that there is no more `toto`s in code\nCheck that we have 100% test coverage","comments":0,"number":9,"id":3619973,"html_url":"https://github.com/jacquev6/PyGithub/issues/9","milestone":{"title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":13,"due_on":"2012-06-04T07:00:00Z","open_issues":8,"number":2,"id":93547}}] - diff --git a/github/tests/ReplayData/Repository.testGetKeys.txt b/github/tests/ReplayData/Repository.testGetKeys.txt deleted file mode 100644 index 83419bc..0000000 --- a/github/tests/ReplayData/Repository.testGetKeys.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/keys -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('content-length', '507'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c53f260d8e74caefe7af2efeeda39e98"'), ('date', 'Sun, 27 May 2012 07:04:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/user/keys/2626761","verified":true,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","title":"Key added through PyGithub","id":2626761}] - diff --git a/github/tests/ReplayData/Repository.testGetLabel.txt b/github/tests/ReplayData/Repository.testGetLabel.txt deleted file mode 100644 index 9270985..0000000 --- a/github/tests/ReplayData/Repository.testGetLabel.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels/Label%20with%20silly%20name%20%25%20%2A%20%2B%20created%20by%20PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '191'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"92b623552b1bac3f019d03c920305acd"'), ('date', 'Sat, 19 May 2012 10:12:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub","name":"Label with silly name % * + created by PyGithub","color":"00ff00"} - diff --git a/github/tests/ReplayData/Repository.testGetLabels.txt b/github/tests/ReplayData/Repository.testGetLabels.txt deleted file mode 100644 index bd05f50..0000000 --- a/github/tests/ReplayData/Repository.testGetLabels.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/labels -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4944'), ('content-length', '695'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a35ac34bf5089a20b90cd0bb34001fa3"'), ('date', 'Sun, 27 May 2012 07:05:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Refactoring","name":"Refactoring","color":"0b02e1"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","name":"Functionalities","color":"e102d8"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}] - diff --git a/github/tests/ReplayData/Repository.testGetLanguages.txt b/github/tests/ReplayData/Repository.testGetLanguages.txt deleted file mode 100644 index 2f3ea30..0000000 --- a/github/tests/ReplayData/Repository.testGetLanguages.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/languages -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4941'), ('content-length', '29'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7d14a65f22f237036a50f0d982721206"'), ('date', 'Sun, 27 May 2012 07:06:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"Shell":673,"Python":127266} - diff --git a/github/tests/ReplayData/Repository.testGetMilestones.txt b/github/tests/ReplayData/Repository.testGetMilestones.txt deleted file mode 100644 index 1cac262..0000000 --- a/github/tests/ReplayData/Repository.testGetMilestones.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4938'), ('content-length', '901'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ed668d7695f9e5259aa7d9660a875e03"'), ('date', 'Sun, 27 May 2012 07:07:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":10,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547,"closed_issues":2}] - diff --git a/github/tests/ReplayData/Repository.testGetMilestonesWithArguments.txt b/github/tests/ReplayData/Repository.testGetMilestonesWithArguments.txt deleted file mode 100644 index 1c967c3..0000000 --- a/github/tests/ReplayData/Repository.testGetMilestonesWithArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/milestones?sort=due_date&state=closed&direction=asc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '2252'), ('x-ratelimit-remaining', '4858'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5fba22d60628595b9e34df100c6ef545"'), ('date', 'Tue, 29 May 2012 18:41:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","due_on":"2012-03-13T07:00:00Z","open_issues":0,"title":"Version 0.4","created_at":"2012-03-08T12:22:10Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","number":1,"id":93546,"state":"closed","closed_issues":3},{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/3","due_on":"2012-03-20T07:00:00Z","open_issues":0,"title":"Version 0.5: full implementation","created_at":"2012-03-12T21:38:36Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","number":3,"id":95354,"state":"closed","closed_issues":4},{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/4","due_on":"2012-04-19T07:00:00Z","open_issues":0,"title":"Version 0.6","created_at":"2012-04-17T05:52:03Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","number":4,"id":108652,"state":"closed","closed_issues":2},{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-05-26T07:00:00Z","open_issues":0,"title":"Version 0.7","created_at":"2012-05-25T11:47:06Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","number":5,"id":124045,"state":"closed","closed_issues":2}] - diff --git a/github/tests/ReplayData/Repository.testGetNetworkEvents.txt b/github/tests/ReplayData/Repository.testGetNetworkEvents.txt deleted file mode 100644 index 8c5939f..0000000 --- a/github/tests/ReplayData/Repository.testGetNetworkEvents.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/networks/jacquev6/PyGithub/events -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4929'), ('content-length', '44412'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next"'), ('etag', '"1e10e6d8994190bd053880e299e9b0b4"'), ('date', 'Sun, 27 May 2012 07:08:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"type":"DownloadEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"download":{"name":"Hook.py","size":1024,"created_at":"2012-05-27T06:54:54Z","content_type":".py","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/245143","download_count":0,"id":245143,"description":"","html_url":"https://github.com/downloads/jacquev6/PyGithub/Hook.py"}},"id":"1556239111","created_at":"2012-05-27T06:54:55Z"},{"type":"DownloadEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"download":{"name":"htmlcov.zip","size":258048,"created_at":"2012-05-27T06:53:47Z","content_type":".zip","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/245142","id":245142,"description":"","html_url":"https://github.com/downloads/jacquev6/PyGithub/htmlcov.zip"}},"id":"1556239049","created_at":"2012-05-27T06:53:48Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"956279094a7383b6a8f00c93770ed02ca711f8e5","size":4,"push_id":80734053,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"8cb3e63e80f3ab741ca580eed791a85fb4e1b968","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/8cb3e63e80f3ab741ca580eed791a85fb4e1b968","distinct":true,"message":"Test Team"},{"sha":"e7fe18b7dd3daa03a6ebb7f83a4f100c0f68e96b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/e7fe18b7dd3daa03a6ebb7f83a4f100c0f68e96b","distinct":true,"message":"Test Organization members"},{"sha":"4169010f17cf66a9f1e43e476115485ed7cda90c","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4169010f17cf66a9f1e43e476115485ed7cda90c","distinct":true,"message":"Improve coverage of Organization"},{"sha":"956279094a7383b6a8f00c93770ed02ca711f8e5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/956279094a7383b6a8f00c93770ed02ca711f8e5","distinct":true,"message":"Test Repository.create_git_*"}]},"id":"1556235497","created_at":"2012-05-27T06:00:30Z"},{"type":"IssuesEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"opened","issue":{"number":30,"created_at":"2012-05-27T05:40:15Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Body created by PyGithub","comments":0,"title":"Issue also created by PyGithub","updated_at":"2012-05-27T05:40:15Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/30","id":4769659,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":2,"due_on":"2012-06-04T07:00:00Z","created_at":"2012-03-08T12:22:28Z","title":"Version 1.0: coherent public interface","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","id":93547,"open_issues":10,"closed_issues":2,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/30","labels":[{"name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","color":"02e10c"}],"state":"open"}},"id":"1556234207","created_at":"2012-05-27T05:40:15Z"},{"type":"MemberEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"added","member":{"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/Lyloa","id":1131432,"login":"Lyloa"}},"id":"1556233923","created_at":"2012-05-27T05:34:29Z"},{"type":"MemberEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"added","member":{"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/Lyloa","id":1131432,"login":"Lyloa"}},"id":"1556233882","created_at":"2012-05-27T05:33:44Z"},{"type":"ForkEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1424031,"url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware"},"payload":{"forkee":{"name":"PyGithub","size":348,"has_wiki":false,"created_at":"2012-05-27T05:23:17Z","clone_url":"https://github.com/BeaverSoftware/PyGithub.git","public":true,"watchers":1,"private":false,"updated_at":"2012-05-27T05:23:18Z","git_url":"git://github.com/BeaverSoftware/PyGithub.git","fork":true,"language":"Python","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","id":4460027,"svn_url":"https://github.com/BeaverSoftware/PyGithub","pushed_at":"2012-05-26T20:54:13Z","has_downloads":true,"mirror_url":null,"open_issues":0,"full_name":"BeaverSoftware/PyGithub","has_issues":false,"homepage":"http://vincent-jacques.net/PyGithub","description":"Python library implementing the full Github API v3","forks":0,"html_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","id":1424031,"login":"BeaverSoftware"}}},"id":"1556233222","created_at":"2012-05-27T05:23:18Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"a39af6a0aae16a923f7be48a70fe1095b17280d2","size":2,"push_id":80709334,"commits":[{"sha":"60fb7a8ef56f46d3fe9ce6d008e6b58238a71d29","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/60fb7a8ef56f46d3fe9ce6d008e6b58238a71d29","distinct":true,"message":"Heavy refactoring of integration tests"},{"sha":"a39af6a0aae16a923f7be48a70fe1095b17280d2","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39af6a0aae16a923f7be48a70fe1095b17280d2","distinct":true,"message":"Improve test coverage"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"id":"1556182773","created_at":"2012-05-26T20:54:15Z"},{"type":"WatchEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"1689abbd998128dbb3658698b429b022","avatar_url":"https://secure.gravatar.com/avatar/1689abbd998128dbb3658698b429b022?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":22974,"url":"https://api.github.com/users/michaelpedersen","login":"michaelpedersen"},"payload":{"action":"started"},"id":"1556168218","created_at":"2012-05-26T18:33:42Z"},{"type":"IssuesEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"closed","issue":{"number":28,"created_at":"2012-05-19T10:38:23Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Body edited by PyGithub","title":"Issue created by PyGithub","comments":0,"updated_at":"2012-05-26T14:59:33Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","id":4653757,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":1,"created_at":"2012-03-08T12:22:10Z","due_on":"2012-03-13T07:00:00Z","title":"Version 0.4","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","id":93546,"open_issues":0,"closed_issues":3,"description":"","state":"closed"},"closed_at":"2012-05-26T14:59:33Z","html_url":"https://github.com/jacquev6/PyGithub/issues/28","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Bug","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","color":"e10c02"},{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"},{"name":"Question","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","color":"02e10c"}],"state":"closed"}},"id":"1556145515","created_at":"2012-05-26T14:59:34Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"36574ded89738a81f47f415017ba880d0cad839b","size":5,"push_id":80677260,"commits":[{"sha":"95cd6c507bdfbf3700a31bafbe26f72a1d684be1","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/95cd6c507bdfbf3700a31bafbe26f72a1d684be1","distinct":true,"message":"Use setUp in test for NamedUser"},{"sha":"386bcde55e1744fa888b034d34ad9f167595d2cf","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/386bcde55e1744fa888b034d34ad9f167595d2cf","distinct":true,"message":"Refactor tests of NamedUser"},{"sha":"1b3ca70ebe8724ab7d0d6ba9c8b20853a018eeec","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1b3ca70ebe8724ab7d0d6ba9c8b20853a018eeec","distinct":true,"message":"Restore coverage of Event"},{"sha":"ff8d87d5391b2ef8d10e89f77260a18440e88e25","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ff8d87d5391b2ef8d10e89f77260a18440e88e25","distinct":true,"message":"Test NamedUser.create_gist withour description"},{"sha":"36574ded89738a81f47f415017ba880d0cad839b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/36574ded89738a81f47f415017ba880d0cad839b","distinct":true,"message":"Refactor tests of Repository"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"id":"1556126182","created_at":"2012-05-26T11:25:50Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"619eae8d51c5988f0d2889fc767fa677438ba95d","size":11,"push_id":80673538,"ref":"refs/heads/topic/RewriteWithGeneratedCode","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":false,"message":"Merge branch 'develop'"},{"sha":"3a3bf4763192ee1234eb0557628133e06f3dfc76","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3a3bf4763192ee1234eb0557628133e06f3dfc76","distinct":true,"message":"Merge branch 'master' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\tgithub/Github.py\n\tgithub/Requester.py"},{"sha":"608f17794664f61693a3dc05e6056fea8fbef0ff","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/608f17794664f61693a3dc05e6056fea8fbef0ff","distinct":true,"message":"Restore some form of Authorization header in replay data"},{"sha":"2c04b8adbd91d38eef4f0767337ab7a12b2f684b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2c04b8adbd91d38eef4f0767337ab7a12b2f684b","distinct":true,"message":"Allow test without pre-set-up Github"},{"sha":"5b97389988b6fe43e15a079702f6f1671257fb28","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5b97389988b6fe43e15a079702f6f1671257fb28","distinct":true,"message":"Test three authentication schemes"},{"sha":"12747613c5ec00deccf296b8619ad507f7050475","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/12747613c5ec00deccf296b8619ad507f7050475","distinct":true,"message":"Test Issue.getComments"},{"sha":"2982fa96c5ca75abe717d974d83f9135d664232e","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/2982fa96c5ca75abe717d974d83f9135d664232e","distinct":true,"message":"Test the new Repository.full_name attribute"},{"sha":"619eae8d51c5988f0d2889fc767fa677438ba95d","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/619eae8d51c5988f0d2889fc767fa677438ba95d","distinct":true,"message":"Improve coverage of AuthenticatedUser"}]},"id":"1556114751","created_at":"2012-05-26T10:01:39Z"},{"type":"IssuesEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"closed","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","comments":0,"title":"Publish version 0.7","updated_at":"2012-05-25T17:32:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:32Z","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/29","state":"closed"}},"id":"1555940993","created_at":"2012-05-25T17:32:33Z"},{"type":"IssuesEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"closed","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","comments":1,"title":"Implement all authentication schemes","updated_at":"2012-05-25T17:32:31Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"due_on":"2012-05-26T07:00:00Z","created_at":"2012-05-25T11:47:06Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"closed_issues":2,"open_issues":0,"description":"","state":"closed"},"closed_at":"2012-05-25T17:32:31Z","labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"closed"}},"id":"1555940986","created_at":"2012-05-25T17:32:33Z"},{"type":"CreateEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"master_branch":"master","ref_type":"tag","ref":"v0.7","description":"Python library implementing the full Github API v3"},"id":"1555936661","created_at":"2012-05-25T17:19:48Z"},{"type":"DeleteEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"ref_type":"branch","ref":"topic/Authentication"},"id":"1555936660","created_at":"2012-05-25T17:19:48Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","size":4,"push_id":80573368,"ref":"refs/heads/master","commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"},{"sha":"ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7","distinct":true,"message":"Merge branch 'develop'"}]},"id":"1555936659","created_at":"2012-05-25T17:19:48Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","size":3,"push_id":80573367,"commits":[{"sha":"5bb654d26dd014d36794acd1e6ecf3736f12aad7","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/5bb654d26dd014d36794acd1e6ecf3736f12aad7","distinct":false,"message":"Implement the three authentication schemes"},{"sha":"cb0313157bf904f2d364377d35d9397b269547a5","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/cb0313157bf904f2d364377d35d9397b269547a5","distinct":false,"message":"Merge branch 'topic/Authentication' into develop"},{"sha":"0cec0d25e606c023a62a4fc7cdc815309ebf6d16","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/0cec0d25e606c023a62a4fc7cdc815309ebf6d16","distinct":false,"message":"Publish version 0.7"}],"ref":"refs/heads/develop"},"id":"1555936657","created_at":"2012-05-25T17:19:47Z"},{"type":"CreateEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"master_branch":"master","ref":"topic/Authentication","description":"Python library implementing the full Github API v3","ref_type":"branch"},"id":"1555833283","created_at":"2012-05-25T12:24:21Z"},{"type":"IssuesEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"opened","issue":{"number":29,"created_at":"2012-05-25T11:47:59Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"","title":"Publish version 0.7","comments":0,"updated_at":"2012-05-25T11:47:59Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/29","id":4752048,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":{"number":5,"created_at":"2012-05-25T11:47:06Z","due_on":"2012-05-26T07:00:00Z","title":"Version 0.7","creator":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","id":124045,"open_issues":2,"closed_issues":0,"description":"","state":"open"},"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"html_url":"https://github.com/jacquev6/PyGithub/issues/29","labels":[{"name":"Project management","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","color":"444444"}],"state":"open"}},"id":"1555822981","created_at":"2012-05-25T12:02:48Z"},{"type":"IssueCommentEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"comment":{"created_at":"2012-05-25T06:31:42Z","body":"It means that there will be three ways to create an instance of the Github class:\n github = Github()\n github = Github( login, password )\n github = Github( oauth_token )\n","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5924198","id":5924198,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}},"action":"created","issue":{"number":15,"created_at":"2012-03-13T06:24:05Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"comments":1,"body":"One would want to use the API without authentication, with login+password, and with OAuth token. Let's cover these use-cases.","title":"Implement all authentication schemes","updated_at":"2012-05-25T06:31:42Z","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/15","id":3624575,"assignee":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"milestone":null,"closed_at":null,"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"},"labels":[{"name":"Functionalities","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Functionalities","color":"e102d8"}],"html_url":"https://github.com/jacquev6/PyGithub/issues/15","state":"open"}},"id":"1555742639","created_at":"2012-05-25T06:31:42Z"},{"type":"WatchEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"action":"started"},"id":"1555738288","created_at":"2012-05-25T06:05:21Z"},{"type":"PushEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"head":"527ce7459a2e60d1536883f19b9bc6850d71127b","size":5,"push_id":79877715,"commits":[{"sha":"287bc541542f9d32339e7dd4b36a511cab2ebdae","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/287bc541542f9d32339e7dd4b36a511cab2ebdae","distinct":true,"message":"Generate more coverage information"},{"sha":"588a4a9a355096c00a2bb25f27664d2115e120ac","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/588a4a9a355096c00a2bb25f27664d2115e120ac","distinct":true,"message":"Test AuthenticatedUser watching"},{"sha":"815720f0deb376c34166c27b6e3b73e5c1f5b1a3","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/815720f0deb376c34166c27b6e3b73e5c1f5b1a3","distinct":true,"message":"Test Authorization"},{"sha":"473c92adcd8bbbd32003d9c65666ede66059551b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/473c92adcd8bbbd32003d9c65666ede66059551b","distinct":true,"message":"Test Download and CommitComment"},{"sha":"527ce7459a2e60d1536883f19b9bc6850d71127b","author":{"name":"Vincent Jacques","email":"vincent@vincent-jacques.net"},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/527ce7459a2e60d1536883f19b9bc6850d71127b","distinct":true,"message":"Merge commit 'c93f9cc8484b7' into topic/RewriteWithGeneratedCode\n\nConflicts:\n\ttest/IntegrationTest.py"}],"ref":"refs/heads/topic/RewriteWithGeneratedCode"},"id":"1554729420","created_at":"2012-05-22T19:59:48Z"},{"type":"DownloadEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:15:29Z","content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","id":242562,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"id":"1554712197","created_at":"2012-05-22T19:15:30Z"},{"type":"DownloadEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"download":{"name":"Foobar.txt","size":1024,"created_at":"2012-05-22T19:11:49Z","content_type":"text/richtext","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242556","id":242556,"description":"Download created by PyGithub","html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"id":"1554710791","created_at":"2012-05-22T19:11:49Z"},{"type":"DownloadEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"download":{"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","size":1024,"content_type":"text/plain","url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","download_count":0,"id":242550,"description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt"}},"id":"1554705673","created_at":"2012-05-22T18:58:32Z"},{"type":"CommitCommentEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"comment":{"position":19,"created_at":"2012-05-22T18:53:25Z","line":211,"body":"Foobar","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:53:25Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362020","id":1362020,"path":"src/github/AuthenticatedUser.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362020","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"id":"1554703698","created_at":"2012-05-22T18:53:25Z"},{"type":"CommitCommentEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"comment":{"position":3,"created_at":"2012-05-22T18:50:02Z","line":null,"body":"Comment also created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:50:02Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","id":1362001,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362001","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"id":"1554702296","created_at":"2012-05-22T18:50:02Z"},{"type":"CommitCommentEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"comment":{"position":null,"created_at":"2012-05-22T18:49:34Z","line":26,"body":"Comment created by PyGithub","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:49:34Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","id":1362000,"path":"codegen/templates/GithubObject.MethodBody.UseResult.py","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"id":"1554702087","created_at":"2012-05-22T18:49:34Z"},{"type":"CommitCommentEvent","repo":{"id":3544490,"url":"https://api.github.com/repos/jacquev6/PyGithub","name":"jacquev6/PyGithub"},"public":true,"actor":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"url":"https://api.github.com/users/jacquev6","login":"jacquev6"},"payload":{"comment":{"position":null,"created_at":"2012-05-22T18:40:18Z","body":"Comment created by PyGithub","line":null,"commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","updated_at":"2012-05-22T18:40:18Z","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","id":1361949,"path":null,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","id":327146,"login":"jacquev6"}}},"id":"1554698320","created_at":"2012-05-22T18:40:18Z"}] - diff --git a/github/tests/ReplayData/Repository.testGetPulls.txt b/github/tests/ReplayData/Repository.testGetPulls.txt deleted file mode 100644 index 855d811..0000000 --- a/github/tests/ReplayData/Repository.testGetPulls.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4930'), ('content-length', '4057'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a659c559e34da168eba22cba60faf027"'), ('date', 'Sun, 27 May 2012 10:59:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"title":"Creation of a pull request from an issue is not covered by integration tests","state":"open","merged_at":null,"updated_at":"2012-05-27T10:58:41Z","head":{"user":null,"repo":{"description":"Python library implementing the full Github API v3","full_name":"BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"updated_at":"2012-05-27T10:58:08Z","forks":0,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","open_issues":0,"fork":true,"svn_url":"https://github.com/BeaverSoftware/PyGithub","pushed_at":"2012-05-27T10:58:08Z","size":176,"html_url":"https://github.com/BeaverSoftware/PyGithub","private":false,"url":"https://api.github.com/repos/BeaverSoftware/PyGithub","clone_url":"https://github.com/BeaverSoftware/PyGithub.git","owner":{"gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","id":1424031},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":1,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","id":4460787,"created_at":"2012-05-27T08:50:04Z"},"label":"BeaverSoftware:master","sha":"aff8a573a19f0a42380e1c0cbbc63b6dc719f38e","ref":"master"},"body":"","number":32,"_links":{"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32/comments"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/32"}},"closed_at":null,"diff_url":"https://github.com/jacquev6/PyGithub/pull/32.diff","html_url":"https://github.com/jacquev6/PyGithub/pull/32","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32","issue_url":"https://github.com/jacquev6/PyGithub/issues/32","id":1436310,"base":{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"repo":{"description":"Python library implementing the full Github API v3","full_name":"jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-27T10:54:09Z","forks":3,"mirror_url":null,"homepage":"http://vincent-jacques.net/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","open_issues":17,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","pushed_at":"2012-05-27T10:54:09Z","size":188,"html_url":"https://github.com/jacquev6/PyGithub","private":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"language":"Python","watchers":15,"git_url":"git://github.com/jacquev6/PyGithub.git","id":3544490,"created_at":"2012-02-25T12:53:47Z"},"label":"jacquev6:topic/RewriteWithGeneratedCode","sha":"7ec473e793c0b63092d938707632639a41fd4369","ref":"topic/RewriteWithGeneratedCode"},"created_at":"2012-05-27T10:58:41Z","patch_url":"https://github.com/jacquev6/PyGithub/pull/32.patch"}] - diff --git a/github/tests/ReplayData/Repository.testGetPullsComments.txt b/github/tests/ReplayData/Repository.testGetPullsComments.txt deleted file mode 100644 index 88e656f..0000000 --- a/github/tests/ReplayData/Repository.testGetPullsComments.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4961'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '1617'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:55:47 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -[{"body":"Review comment created for PyGithub","path":"codegen/templates/GithubObject.py","original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","original_position":5,"updated_at":"2012-09-11T20:06:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","created_at":"2012-09-11T20:06:32Z","user":{"type":"User","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","repos_url":"https://api.github.com/users/jacquev6/repos","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"position":5,"_links":{"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#discussion_r1580134"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134"}},"id":1580134}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments?sort=created&direction=asc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1617'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4960'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:55:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"_links":{"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#discussion_r1580134"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"}},"body":"Review comment created for PyGithub","path":"codegen/templates/GithubObject.py","original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","original_position":5,"updated_at":"2012-09-11T20:06:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134","commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","created_at":"2012-09-11T20:06:32Z","user":{"type":"User","received_events_url":"https://api.github.com/users/jacquev6/received_events","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146},"position":5,"id":1580134}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls/comments?since=2012-05-28T23%3A00%3A00Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1617'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4959'), ('server', 'nginx'), ('last-modified', 'Fri, 21 Dec 2012 18:46:45 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"446137bf216c4edc30567fbc3e944b5a"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Tue, 25 Dec 2012 11:56:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"body":"Review comment created for PyGithub","path":"codegen/templates/GithubObject.py","original_commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","original_position":5,"updated_at":"2012-09-11T20:06:32Z","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134","_links":{"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31#discussion_r1580134"},"pull_request":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/comments/1580134"}},"commit_id":"8a4f306d4b223682dd19410d4a9150636ebe4206","created_at":"2012-09-11T20:06:32Z","user":{"type":"User","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","followers_url":"https://api.github.com/users/jacquev6/followers","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","following_url":"https://api.github.com/users/jacquev6/following","organizations_url":"https://api.github.com/users/jacquev6/orgs","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","repos_url":"https://api.github.com/users/jacquev6/repos","login":"jacquev6","received_events_url":"https://api.github.com/users/jacquev6/received_events","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","id":327146,"starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}"},"position":5,"id":1580134}] - diff --git a/github/tests/ReplayData/Repository.testGetPullsWithArguments.txt b/github/tests/ReplayData/Repository.testGetPullsWithArguments.txt deleted file mode 100644 index 343da4b..0000000 --- a/github/tests/ReplayData/Repository.testGetPullsWithArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/pulls?state=closed -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4855'), ('content-length', '9992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2e781638c71ac097640fc67cfcab8822"'), ('date', 'Tue, 29 May 2012 18:42:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"head":{"ref":"master","label":"BeaverSoftware:master","repo":{"clone_url":"https://github.com/BeaverSoftware/PyGithub.git","has_downloads":true,"watchers":1,"updated_at":"2012-05-29T18:09:14Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/BeaverSoftware/PyGithub","html_url":"https://github.com/BeaverSoftware/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"git_url":"git://github.com/BeaverSoftware/PyGithub.git","forks":0,"size":428,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/PyGithub","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:BeaverSoftware/PyGithub.git","pushed_at":"2012-05-29T18:05:10Z","created_at":"2012-05-29T18:03:19Z","id":4485562,"full_name":"BeaverSoftware/PyGithub"},"user":null,"sha":"ca6e7ef9ce22dc01290bb59507f24cc17f42daa4"},"updated_at":"2012-05-29T18:07:54Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/39","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39/comments"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/39/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/39"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/39"}},"body":"","diff_url":"https://github.com/jacquev6/PyGithub/pull/39.diff","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/39","base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:07:54Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"git_url":"git://github.com/jacquev6/PyGithub.git","forks":3,"size":480,"private":false,"open_issues":14,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:07:54Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"d57aea6a898050115a089e6f86c5314d7daf97e8"},"number":39,"html_url":"https://github.com/jacquev6/PyGithub/pull/39","title":"Pull request to be merged by PyGithub with a custom commit message","patch_url":"https://github.com/jacquev6/PyGithub/pull/39.patch","closed_at":"2012-05-29T18:07:54Z","created_at":"2012-05-29T18:06:07Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"state":"closed","id":1448168,"merged_at":"2012-05-29T18:07:54Z"},{"head":{"ref":"master","label":"BeaverSoftware:master","repo":null,"user":null,"sha":"aff8a573a19f0a42380e1c0cbbc63b6dc719f38e"},"updated_at":"2012-05-27T11:03:53Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/32","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32/comments"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/32"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/32"}},"body":"","diff_url":"https://github.com/jacquev6/PyGithub/pull/32.diff","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/32","base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:07:54Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"git_url":"git://github.com/jacquev6/PyGithub.git","forks":3,"size":480,"private":false,"open_issues":14,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:07:54Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"7ec473e793c0b63092d938707632639a41fd4369"},"number":32,"html_url":"https://github.com/jacquev6/PyGithub/pull/32","title":"Creation of a pull request from an issue is not covered by integration tests","patch_url":"https://github.com/jacquev6/PyGithub/pull/32.patch","closed_at":"2012-05-27T11:03:53Z","created_at":"2012-05-27T10:58:41Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"state":"closed","id":1436310,"merged_at":"2012-05-27T11:03:53Z"},{"head":{"ref":"master","label":"BeaverSoftware:master","repo":null,"user":null,"sha":"8a4f306d4b223682dd19410d4a9150636ebe4206"},"updated_at":"2012-05-27T10:49:27Z","issue_url":"https://github.com/jacquev6/PyGithub/issues/31","_links":{"self":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31"},"review_comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31/comments"},"comments":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31/comments"},"issue":{"href":"https://api.github.com/repos/jacquev6/PyGithub/issues/31"},"html":{"href":"https://github.com/jacquev6/PyGithub/pull/31"}},"body":"Body edited by PyGithub","diff_url":"https://github.com/jacquev6/PyGithub/pull/31.diff","url":"https://api.github.com/repos/jacquev6/PyGithub/pulls/31","base":{"ref":"topic/RewriteWithGeneratedCode","label":"jacquev6:topic/RewriteWithGeneratedCode","repo":{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":17,"updated_at":"2012-05-29T18:07:54Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"fork":false,"git_url":"git://github.com/jacquev6/PyGithub.git","forks":3,"size":480,"private":false,"open_issues":14,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-29T18:07:54Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"full_name":"jacquev6/PyGithub"},"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"sha":"ed866fc43833802ab553e5ff8581c81bb00dd433"},"number":31,"html_url":"https://github.com/jacquev6/PyGithub/pull/31","title":"Title edited by PyGithub","patch_url":"https://github.com/jacquev6/PyGithub/pull/31.patch","closed_at":"2012-05-27T10:29:07Z","created_at":"2012-05-27T09:25:36Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"state":"closed","id":1436215,"merged_at":"2012-05-27T10:29:07Z"}] - diff --git a/github/tests/ReplayData/Repository.testGetStargazers.txt b/github/tests/ReplayData/Repository.testGetStargazers.txt deleted file mode 100644 index 2cd90fa..0000000 --- a/github/tests/ReplayData/Repository.testGetStargazers.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stargazers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '9029'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4986'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 16:45:47 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"66120d1b3732bc2800b35a1cdfe7eeed"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:25:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"gravatar_id":"5341a13bb6125ce7c97cf91b35209e16","avatar_url":"https://secure.gravatar.com/avatar/5341a13bb6125ce7c97cf91b35209e16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/Stals","login":"Stals","id":472089},{"gravatar_id":"95d39bbf832ff92e9ba1775b4b702c49","avatar_url":"https://secure.gravatar.com/avatar/95d39bbf832ff92e9ba1775b4b702c49?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/att14","login":"att14","id":780132},{"gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jardon-u","login":"jardon-u","id":994192},{"gravatar_id":"16a037e47cf9737e037169cbd1d2bed6","avatar_url":"https://secure.gravatar.com/avatar/16a037e47cf9737e037169cbd1d2bed6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/huxley","login":"huxley","id":839},{"gravatar_id":"a0153aaf274e18295e55e4e28f3580e6","avatar_url":"https://secure.gravatar.com/avatar/a0153aaf274e18295e55e4e28f3580e6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/mikofski","login":"mikofski","id":1385621},{"gravatar_id":"4dc11d87759273f3466ab4f673bcecae","avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/L42y","login":"L42y","id":284820},{"gravatar_id":"71de1870e298b3488d75c4cb805f4cf7","avatar_url":"https://secure.gravatar.com/avatar/71de1870e298b3488d75c4cb805f4cf7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/fanzeyi","login":"fanzeyi","id":409951},{"gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/abersager","login":"abersager","id":1328351},{"gravatar_id":"5479425141d61976fd0875bea7dfd7e0","avatar_url":"https://secure.gravatar.com/avatar/5479425141d61976fd0875bea7dfd7e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/waylan","login":"waylan","id":78846},{"gravatar_id":"5287a88d1c85f336fe494a694fac7635","avatar_url":"https://secure.gravatar.com/avatar/5287a88d1c85f336fe494a694fac7635?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/adericbourg","login":"adericbourg","id":615743},{"gravatar_id":"bff435ae5fc2e73d7c7c8351231e8040","avatar_url":"https://secure.gravatar.com/avatar/bff435ae5fc2e73d7c7c8351231e8040?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/tallforasmurf","login":"tallforasmurf","id":1137018},{"gravatar_id":"c6733f16eb6fc13f79c6dcfd093b347a","avatar_url":"https://secure.gravatar.com/avatar/c6733f16eb6fc13f79c6dcfd093b347a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/pvicente","login":"pvicente","id":471109},{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},{"gravatar_id":"1689abbd998128dbb3658698b429b022","avatar_url":"https://secure.gravatar.com/avatar/1689abbd998128dbb3658698b429b022?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/michaelpedersen","login":"michaelpedersen","id":22974},{"gravatar_id":"d3476956052910612c2c92966d05f9e7","avatar_url":"https://secure.gravatar.com/avatar/d3476956052910612c2c92966d05f9e7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/stefanfoulis","login":"stefanfoulis","id":14330},{"gravatar_id":"e8f8081fe45c1b793c288ecd1c1e932e","avatar_url":"https://secure.gravatar.com/avatar/e8f8081fe45c1b793c288ecd1c1e932e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/equus12","login":"equus12","id":1647505},{"gravatar_id":"0aeecc65c3e3ab73d2e171289b83d10b","avatar_url":"https://secure.gravatar.com/avatar/0aeecc65c3e3ab73d2e171289b83d10b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/JuRogn","login":"JuRogn","id":750320},{"gravatar_id":"b9d1630a90131545c699075f73da092b","avatar_url":"https://secure.gravatar.com/avatar/b9d1630a90131545c699075f73da092b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/joshmoore","login":"joshmoore","id":88113},{"gravatar_id":"1cc22835569c3fa4cfd80d1a4221ae4f","avatar_url":"https://secure.gravatar.com/avatar/1cc22835569c3fa4cfd80d1a4221ae4f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jsilter","login":"jsilter","id":603941},{"gravatar_id":"edcf2f3ed9231baef459b49e2572d04c","avatar_url":"https://secure.gravatar.com/avatar/edcf2f3ed9231baef459b49e2572d04c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/dasapich","login":"dasapich","id":981509},{"gravatar_id":"92d26c7d74821a7ecb87a51017d394b6","avatar_url":"https://secure.gravatar.com/avatar/92d26c7d74821a7ecb87a51017d394b6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/ritratt","login":"ritratt","id":1582625},{"gravatar_id":"4a70a247b4f222894f6b9861e40f733d","avatar_url":"https://secure.gravatar.com/avatar/4a70a247b4f222894f6b9861e40f733d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/hcilab","login":"hcilab","id":1610572},{"gravatar_id":"d7773594c583cf2c9db22f403d183c5a","avatar_url":"https://secure.gravatar.com/avatar/d7773594c583cf2c9db22f403d183c5a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/vxnick","login":"vxnick","id":85934},{"gravatar_id":"3aa27c0add742f542848af3b8a9e980c","avatar_url":"https://secure.gravatar.com/avatar/3aa27c0add742f542848af3b8a9e980c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/pmuilu","login":"pmuilu","id":691799},{"gravatar_id":"85203b21c562062e5641f0b8d4b98d9b","avatar_url":"https://secure.gravatar.com/avatar/85203b21c562062e5641f0b8d4b98d9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/herlo","login":"herlo","id":89334},{"gravatar_id":"13a30f9924fa2bd918cbb8d06dd8b55a","avatar_url":"https://secure.gravatar.com/avatar/13a30f9924fa2bd918cbb8d06dd8b55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/malexw","login":"malexw","id":577322},{"gravatar_id":"8cbc775abf80a9ef3b09b08e264337f2","avatar_url":"https://secure.gravatar.com/avatar/8cbc775abf80a9ef3b09b08e264337f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/ahmetvurgun","login":"ahmetvurgun","id":575162},{"gravatar_id":"43df3d2f7dae415af6c2ed286c844f4a","avatar_url":"https://secure.gravatar.com/avatar/43df3d2f7dae415af6c2ed286c844f4a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/PengGu","login":"PengGu","id":1087851},{"gravatar_id":"1b5633ca7f3390376c779e5f716a3ed0","avatar_url":"https://secure.gravatar.com/avatar/1b5633ca7f3390376c779e5f716a3ed0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/cosmin","login":"cosmin","id":1358},{"gravatar_id":"579c3cd8915ee79e243c7040777c8301","avatar_url":"https://secure.gravatar.com/avatar/579c3cd8915ee79e243c7040777c8301?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/Swop","login":"Swop","id":545340}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stargazers?page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('content-length', '9059'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 22:31:54 GMT'), ('connection', 'keep-alive'), ('etag', '"0db198d8f435648beea21497631e1398"'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:25:35 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -[{"gravatar_id":"2eccc4005572c1e2b12a9c00580bc86f","login":"kennethreitz","avatar_url":"https://secure.gravatar.com/avatar/2eccc4005572c1e2b12a9c00580bc86f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/kennethreitz","id":119893},{"gravatar_id":"1fd428161c36217f233c7548d1ca3555","login":"bryandyck","avatar_url":"https://secure.gravatar.com/avatar/1fd428161c36217f233c7548d1ca3555?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/bryandyck","id":1591021},{"gravatar_id":"c07bac2e0a5d17d43fdc808cb1f528a4","login":"jason2506","avatar_url":"https://secure.gravatar.com/avatar/c07bac2e0a5d17d43fdc808cb1f528a4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jason2506","id":875284},{"gravatar_id":"97b6ddbf90c2a4428e668691e112d096","login":"zsiciarz","avatar_url":"https://secure.gravatar.com/avatar/97b6ddbf90c2a4428e668691e112d096?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/zsiciarz","id":182194},{"gravatar_id":"71115a34d318e34f2090abd477aa4003","login":"waawal","avatar_url":"https://secure.gravatar.com/avatar/71115a34d318e34f2090abd477aa4003?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/waawal","id":961734},{"gravatar_id":"4152c08efb407dabedef5045cf3a13ae","login":"gregorynicholas","avatar_url":"https://secure.gravatar.com/avatar/4152c08efb407dabedef5045cf3a13ae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/gregorynicholas","id":407650},{"gravatar_id":"0d830bf859a7ce5f6cb45bbee13672a3","login":"sente","avatar_url":"https://secure.gravatar.com/avatar/0d830bf859a7ce5f6cb45bbee13672a3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/sente","id":96457},{"gravatar_id":"8b9fc27476a9d0cb0dd32dc5a0967593","login":"richmiller55","avatar_url":"https://secure.gravatar.com/avatar/8b9fc27476a9d0cb0dd32dc5a0967593?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/richmiller55","id":704482},{"gravatar_id":"433a7fa3917a38691aa9914b61444875","login":"thouis","avatar_url":"https://secure.gravatar.com/avatar/433a7fa3917a38691aa9914b61444875?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/thouis","id":473043},{"gravatar_id":"5590032593192382075692ffe5d20dce","login":"mazubieta","avatar_url":"https://secure.gravatar.com/avatar/5590032593192382075692ffe5d20dce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/mazubieta","id":522040},{"gravatar_id":"62608ffc2aacc300c1294670add616f9","login":"michaelhood","avatar_url":"https://secure.gravatar.com/avatar/62608ffc2aacc300c1294670add616f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/michaelhood","id":359439},{"gravatar_id":"37a932b3abe212892173784736ed6b12","login":"engie","avatar_url":"https://secure.gravatar.com/avatar/37a932b3abe212892173784736ed6b12?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/engie","id":1247},{"gravatar_id":"793789919cd04697f099e9ef1ecd6de1","login":"jtriley","avatar_url":"https://secure.gravatar.com/avatar/793789919cd04697f099e9ef1ecd6de1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/jtriley","id":46910},{"gravatar_id":"ffcbd195c843b902fcdaa9986a2a0116","login":"oangeor","avatar_url":"https://secure.gravatar.com/avatar/ffcbd195c843b902fcdaa9986a2a0116?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/oangeor","id":1707945},{"gravatar_id":"95d9145e903a668cff14194293f9d6ea","login":"coryking","avatar_url":"https://secure.gravatar.com/avatar/95d9145e903a668cff14194293f9d6ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/coryking","id":526250},{"gravatar_id":"6ac775a6679458663d13bcdf651112ea","login":"noddi","avatar_url":"https://secure.gravatar.com/avatar/6ac775a6679458663d13bcdf651112ea?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/noddi","id":197148},{"gravatar_id":"a62c07aeefe3d9cc2ba18861f7eeef7d","login":"alejo8591","avatar_url":"https://secure.gravatar.com/avatar/a62c07aeefe3d9cc2ba18861f7eeef7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/alejo8591","id":1151850},{"gravatar_id":"5280f15cedf540b544eecc30fcf3027c","login":"omab","avatar_url":"https://secure.gravatar.com/avatar/5280f15cedf540b544eecc30fcf3027c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/omab","id":91022},{"gravatar_id":"4d4ea6148fef59dff9fa0fc8c309496a","login":"Carreau","avatar_url":"https://secure.gravatar.com/avatar/4d4ea6148fef59dff9fa0fc8c309496a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/Carreau","id":335567},{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","login":"bilderbuchi","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/bilderbuchi","id":327442},{"gravatar_id":"a28254f42a1867eceafd3b4ddc7d5629","login":"schwa","avatar_url":"https://secure.gravatar.com/avatar/a28254f42a1867eceafd3b4ddc7d5629?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/schwa","id":20267},{"gravatar_id":"b765db0cc12b8e400caaff56c370c743","login":"rlerallut","avatar_url":"https://secure.gravatar.com/avatar/b765db0cc12b8e400caaff56c370c743?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/rlerallut","id":2106199},{"gravatar_id":"d9b44063c5b3d91195771fb663dc2e20","login":"PengHub","avatar_url":"https://secure.gravatar.com/avatar/d9b44063c5b3d91195771fb663dc2e20?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/PengHub","id":473448},{"gravatar_id":"781d78614b907aeb05ce830fe00588b8","login":"zoek1","avatar_url":"https://secure.gravatar.com/avatar/781d78614b907aeb05ce830fe00588b8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/zoek1","id":660973},{"gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","login":"xobb1t","avatar_url":"https://secure.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/xobb1t","id":344095},{"gravatar_id":"ba6aba5790e7412dd4f6041c42a24c7e","login":"notgary","avatar_url":"https://secure.gravatar.com/avatar/ba6aba5790e7412dd4f6041c42a24c7e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/notgary","id":672656},{"gravatar_id":"abd8a1f2aa5d4899129458889b6f315b","login":"hattya","avatar_url":"https://secure.gravatar.com/avatar/abd8a1f2aa5d4899129458889b6f315b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/hattya","id":839237},{"gravatar_id":"e5bb54fb88ba91e789b2200cfc012f61","login":"ZebtinRis","avatar_url":"https://secure.gravatar.com/avatar/e5bb54fb88ba91e789b2200cfc012f61?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/ZebtinRis","id":424786},{"gravatar_id":"50a69763ef76d9b5567bf754e3d65af8","login":"aaronhall","avatar_url":"https://secure.gravatar.com/avatar/50a69763ef76d9b5567bf754e3d65af8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/aaronhall","id":264161},{"gravatar_id":"8c3c504e180e14ce1410cb384a10d759","login":"youngsterxyf","avatar_url":"https://secure.gravatar.com/avatar/8c3c504e180e14ce1410cb384a10d759?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","url":"https://api.github.com/users/youngsterxyf","id":834231}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stargazers?page=3 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '2117'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 21:08:59 GMT'), ('connection', 'keep-alive'), ('etag', '"4077d03f95cfbcda281ad6df9d609ff6"'), ('link', '; rel="first", ; rel="prev"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Fri, 07 Sep 2012 23:25:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"gravatar_id":"6e77f95c96e16c0a1a96dccc7037d3b9","avatar_url":"https://secure.gravatar.com/avatar/6e77f95c96e16c0a1a96dccc7037d3b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ailling","url":"https://api.github.com/users/ailling","id":1420006},{"gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gregwjacobs","url":"https://api.github.com/users/gregwjacobs","id":1749292},{"gravatar_id":"ef80bc9208889fb5bc7270f59b2bffda","avatar_url":"https://secure.gravatar.com/avatar/ef80bc9208889fb5bc7270f59b2bffda?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"n0rmrx","url":"https://api.github.com/users/n0rmrx","id":2022188},{"gravatar_id":"fb3209e23e3f8c50da7ec2cd1a20531b","avatar_url":"https://secure.gravatar.com/avatar/fb3209e23e3f8c50da7ec2cd1a20531b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"awylie","url":"https://api.github.com/users/awylie","id":885330},{"gravatar_id":"0e5246dc215484496d9ba125c1142716","avatar_url":"https://secure.gravatar.com/avatar/0e5246dc215484496d9ba125c1142716?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"firstthumb","url":"https://api.github.com/users/firstthumb","id":66023},{"gravatar_id":"2c8bc92ef290c9d5ef7cfefa03302917","avatar_url":"https://secure.gravatar.com/avatar/2c8bc92ef290c9d5ef7cfefa03302917?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"joshbrand","url":"https://api.github.com/users/joshbrand","id":847243},{"gravatar_id":"3a90a2072fa32035016c5cc3c8584367","avatar_url":"https://secure.gravatar.com/avatar/3a90a2072fa32035016c5cc3c8584367?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"berndca","url":"https://api.github.com/users/berndca","id":466654}] - diff --git a/github/tests/ReplayData/Repository.testGetStargazersWithDates.txt b/github/tests/ReplayData/Repository.testGetStargazersWithDates.txt deleted file mode 100644 index ef6e0dd..0000000 --- a/github/tests/ReplayData/Repository.testGetStargazersWithDates.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/users/danvk -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '1295'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"646d82e27d1cb55020ba0b6c901d15ce"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4915'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '44AE6A38:AB2B:3D4623E:561EA76C'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Wed, 07 Oct 2015 13:43:17 GMT'), ('date', 'Wed, 14 Oct 2015 19:05:17 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1444851351')] -{"login":"danvk","id":98301,"avatar_url":"https://avatars.githubusercontent.com/u/98301?v=3","gravatar_id":"","url":"https://api.github.com/users/danvk","html_url":"https://github.com/danvk","followers_url":"https://api.github.com/users/danvk/followers","following_url":"https://api.github.com/users/danvk/following{/other_user}","gists_url":"https://api.github.com/users/danvk/gists{/gist_id}","starred_url":"https://api.github.com/users/danvk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danvk/subscriptions","organizations_url":"https://api.github.com/users/danvk/orgs","repos_url":"https://api.github.com/users/danvk/repos","events_url":"https://api.github.com/users/danvk/events{/privacy}","received_events_url":"https://api.github.com/users/danvk/received_events","type":"User","site_admin":false,"name":"Dan Vanderkam","company":null,"blog":"http://danvk.org","location":"New York, NY","email":"danvdk@gmail.com","hireable":null,"bio":null,"public_repos":69,"public_gists":76,"followers":103,"following":3,"created_at":"2009-06-23T20:44:04Z","updated_at":"2015-10-07T13:43:17Z","private_gists":0,"total_private_repos":0,"owned_private_repos":0,"disk_usage":269679,"collaborators":0,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}} - -https -GET -api.github.com -None -/repos/danvk/comparea -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '4432'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '065b43cd9674091fec48a221b420fbb3'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"2cc0aa4e78ef70f886d92ac338e3e22b"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4914'), ('x-github-media-type', 'github.v3; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '44AE6A38:AB2F:94E8736:561EA76D'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('last-modified', 'Sat, 09 May 2015 19:14:45 GMT'), ('date', 'Wed, 14 Oct 2015 19:05:17 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1444851351')] -{"id":22370702,"name":"comparea","full_name":"danvk/comparea","owner":{"login":"danvk","id":98301,"avatar_url":"https://avatars.githubusercontent.com/u/98301?v=3","gravatar_id":"","url":"https://api.github.com/users/danvk","html_url":"https://github.com/danvk","followers_url":"https://api.github.com/users/danvk/followers","following_url":"https://api.github.com/users/danvk/following{/other_user}","gists_url":"https://api.github.com/users/danvk/gists{/gist_id}","starred_url":"https://api.github.com/users/danvk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danvk/subscriptions","organizations_url":"https://api.github.com/users/danvk/orgs","repos_url":"https://api.github.com/users/danvk/repos","events_url":"https://api.github.com/users/danvk/events{/privacy}","received_events_url":"https://api.github.com/users/danvk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/danvk/comparea","description":"Compare geographic features","fork":false,"url":"https://api.github.com/repos/danvk/comparea","forks_url":"https://api.github.com/repos/danvk/comparea/forks","keys_url":"https://api.github.com/repos/danvk/comparea/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danvk/comparea/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danvk/comparea/teams","hooks_url":"https://api.github.com/repos/danvk/comparea/hooks","issue_events_url":"https://api.github.com/repos/danvk/comparea/issues/events{/number}","events_url":"https://api.github.com/repos/danvk/comparea/events","assignees_url":"https://api.github.com/repos/danvk/comparea/assignees{/user}","branches_url":"https://api.github.com/repos/danvk/comparea/branches{/branch}","tags_url":"https://api.github.com/repos/danvk/comparea/tags","blobs_url":"https://api.github.com/repos/danvk/comparea/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danvk/comparea/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danvk/comparea/git/refs{/sha}","trees_url":"https://api.github.com/repos/danvk/comparea/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danvk/comparea/statuses/{sha}","languages_url":"https://api.github.com/repos/danvk/comparea/languages","stargazers_url":"https://api.github.com/repos/danvk/comparea/stargazers","contributors_url":"https://api.github.com/repos/danvk/comparea/contributors","subscribers_url":"https://api.github.com/repos/danvk/comparea/subscribers","subscription_url":"https://api.github.com/repos/danvk/comparea/subscription","commits_url":"https://api.github.com/repos/danvk/comparea/commits{/sha}","git_commits_url":"https://api.github.com/repos/danvk/comparea/git/commits{/sha}","comments_url":"https://api.github.com/repos/danvk/comparea/comments{/number}","issue_comment_url":"https://api.github.com/repos/danvk/comparea/issues/comments{/number}","contents_url":"https://api.github.com/repos/danvk/comparea/contents/{+path}","compare_url":"https://api.github.com/repos/danvk/comparea/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danvk/comparea/merges","archive_url":"https://api.github.com/repos/danvk/comparea/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danvk/comparea/downloads","issues_url":"https://api.github.com/repos/danvk/comparea/issues{/number}","pulls_url":"https://api.github.com/repos/danvk/comparea/pulls{/number}","milestones_url":"https://api.github.com/repos/danvk/comparea/milestones{/number}","notifications_url":"https://api.github.com/repos/danvk/comparea/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danvk/comparea/labels{/name}","releases_url":"https://api.github.com/repos/danvk/comparea/releases{/id}","created_at":"2014-07-29T07:02:43Z","updated_at":"2015-05-09T19:14:45Z","pushed_at":"2015-04-19T00:30:46Z","git_url":"git://github.com/danvk/comparea.git","ssh_url":"git@github.com:danvk/comparea.git","clone_url":"https://github.com/danvk/comparea.git","svn_url":"https://github.com/danvk/comparea","homepage":null,"size":24675,"stargazers_count":6,"watchers_count":6,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":23,"forks":3,"open_issues":23,"watchers":6,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":3,"subscribers_count":1} - -https -GET -api.github.com -None -/repos/danvk/comparea/stargazers -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.v3.star+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '5547'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '2c18a09f3ac5e4dd1e004af7c5a94769'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"83247ceb0b43ff0c9c1d97c5cc427ceb"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4913'), ('x-github-media-type', 'github.v3; param=star; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '44AE6A38:AB2F:94E8764:561EA76D'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 14 Oct 2015 19:05:17 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1444851351')] -[{"starred_at":"2014-08-13T19:22:05Z","user":{"login":"sAlexander","id":20961,"avatar_url":"https://avatars.githubusercontent.com/u/20961?v=3","gravatar_id":"","url":"https://api.github.com/users/sAlexander","html_url":"https://github.com/sAlexander","followers_url":"https://api.github.com/users/sAlexander/followers","following_url":"https://api.github.com/users/sAlexander/following{/other_user}","gists_url":"https://api.github.com/users/sAlexander/gists{/gist_id}","starred_url":"https://api.github.com/users/sAlexander/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sAlexander/subscriptions","organizations_url":"https://api.github.com/users/sAlexander/orgs","repos_url":"https://api.github.com/users/sAlexander/repos","events_url":"https://api.github.com/users/sAlexander/events{/privacy}","received_events_url":"https://api.github.com/users/sAlexander/received_events","type":"User","site_admin":false}},{"starred_at":"2014-10-15T05:02:30Z","user":{"login":"ThomasG77","id":642120,"avatar_url":"https://avatars.githubusercontent.com/u/642120?v=3","gravatar_id":"","url":"https://api.github.com/users/ThomasG77","html_url":"https://github.com/ThomasG77","followers_url":"https://api.github.com/users/ThomasG77/followers","following_url":"https://api.github.com/users/ThomasG77/following{/other_user}","gists_url":"https://api.github.com/users/ThomasG77/gists{/gist_id}","starred_url":"https://api.github.com/users/ThomasG77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ThomasG77/subscriptions","organizations_url":"https://api.github.com/users/ThomasG77/orgs","repos_url":"https://api.github.com/users/ThomasG77/repos","events_url":"https://api.github.com/users/ThomasG77/events{/privacy}","received_events_url":"https://api.github.com/users/ThomasG77/received_events","type":"User","site_admin":false}},{"starred_at":"2015-04-14T15:22:40Z","user":{"login":"therusek","id":4291399,"avatar_url":"https://avatars.githubusercontent.com/u/4291399?v=3","gravatar_id":"","url":"https://api.github.com/users/therusek","html_url":"https://github.com/therusek","followers_url":"https://api.github.com/users/therusek/followers","following_url":"https://api.github.com/users/therusek/following{/other_user}","gists_url":"https://api.github.com/users/therusek/gists{/gist_id}","starred_url":"https://api.github.com/users/therusek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/therusek/subscriptions","organizations_url":"https://api.github.com/users/therusek/orgs","repos_url":"https://api.github.com/users/therusek/repos","events_url":"https://api.github.com/users/therusek/events{/privacy}","received_events_url":"https://api.github.com/users/therusek/received_events","type":"User","site_admin":false}},{"starred_at":"2015-04-29T00:09:40Z","user":{"login":"athomann","id":605577,"avatar_url":"https://avatars.githubusercontent.com/u/605577?v=3","gravatar_id":"","url":"https://api.github.com/users/athomann","html_url":"https://github.com/athomann","followers_url":"https://api.github.com/users/athomann/followers","following_url":"https://api.github.com/users/athomann/following{/other_user}","gists_url":"https://api.github.com/users/athomann/gists{/gist_id}","starred_url":"https://api.github.com/users/athomann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athomann/subscriptions","organizations_url":"https://api.github.com/users/athomann/orgs","repos_url":"https://api.github.com/users/athomann/repos","events_url":"https://api.github.com/users/athomann/events{/privacy}","received_events_url":"https://api.github.com/users/athomann/received_events","type":"User","site_admin":false}},{"starred_at":"2015-04-29T14:26:46Z","user":{"login":"jcapron","id":2346847,"avatar_url":"https://avatars.githubusercontent.com/u/2346847?v=3","gravatar_id":"","url":"https://api.github.com/users/jcapron","html_url":"https://github.com/jcapron","followers_url":"https://api.github.com/users/jcapron/followers","following_url":"https://api.github.com/users/jcapron/following{/other_user}","gists_url":"https://api.github.com/users/jcapron/gists{/gist_id}","starred_url":"https://api.github.com/users/jcapron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcapron/subscriptions","organizations_url":"https://api.github.com/users/jcapron/orgs","repos_url":"https://api.github.com/users/jcapron/repos","events_url":"https://api.github.com/users/jcapron/events{/privacy}","received_events_url":"https://api.github.com/users/jcapron/received_events","type":"User","site_admin":false}},{"starred_at":"2015-05-09T19:14:45Z","user":{"login":"JoePython1","id":307737,"avatar_url":"https://avatars.githubusercontent.com/u/307737?v=3","gravatar_id":"","url":"https://api.github.com/users/JoePython1","html_url":"https://github.com/JoePython1","followers_url":"https://api.github.com/users/JoePython1/followers","following_url":"https://api.github.com/users/JoePython1/following{/other_user}","gists_url":"https://api.github.com/users/JoePython1/gists{/gist_id}","starred_url":"https://api.github.com/users/JoePython1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoePython1/subscriptions","organizations_url":"https://api.github.com/users/JoePython1/orgs","repos_url":"https://api.github.com/users/JoePython1/repos","events_url":"https://api.github.com/users/JoePython1/events{/privacy}","received_events_url":"https://api.github.com/users/JoePython1/received_events","type":"User","site_admin":false}}] - diff --git a/github/tests/ReplayData/Repository.testGetSubscribers.txt b/github/tests/ReplayData/Repository.testGetSubscribers.txt deleted file mode 100644 index 958a47c..0000000 --- a/github/tests/ReplayData/Repository.testGetSubscribers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/subscribers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '3327'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4956'), ('server', 'nginx/1.0.13'), ('last-modified', 'Fri, 07 Sep 2012 12:01:21 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ab16ed4c5e852882d2d1a3887c3cb606"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Fri, 07 Sep 2012 23:46:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jacquev6","url":"https://api.github.com/users/jacquev6","id":327146},{"gravatar_id":"e8f8081fe45c1b793c288ecd1c1e932e","avatar_url":"https://secure.gravatar.com/avatar/e8f8081fe45c1b793c288ecd1c1e932e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"equus12","url":"https://api.github.com/users/equus12","id":1647505},{"gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bilderbuchi","url":"https://api.github.com/users/bilderbuchi","id":327442},{"gravatar_id":"4a70a247b4f222894f6b9861e40f733d","avatar_url":"https://secure.gravatar.com/avatar/4a70a247b4f222894f6b9861e40f733d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"hcilab","url":"https://api.github.com/users/hcilab","id":1610572},{"gravatar_id":"abd8a1f2aa5d4899129458889b6f315b","avatar_url":"https://secure.gravatar.com/avatar/abd8a1f2aa5d4899129458889b6f315b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"hattya","url":"https://api.github.com/users/hattya","id":839237},{"gravatar_id":"0e5246dc215484496d9ba125c1142716","avatar_url":"https://secure.gravatar.com/avatar/0e5246dc215484496d9ba125c1142716?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"firstthumb","url":"https://api.github.com/users/firstthumb","id":66023},{"gravatar_id":"8707d63a44f6cc04e58a655f3df3105c","avatar_url":"https://secure.gravatar.com/avatar/8707d63a44f6cc04e58a655f3df3105c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gregwjacobs","url":"https://api.github.com/users/gregwjacobs","id":1749292},{"gravatar_id":"bb0e7d8e63591b6b908a5a21b3e75878","avatar_url":"https://secure.gravatar.com/avatar/bb0e7d8e63591b6b908a5a21b3e75878?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sagarsane","url":"https://api.github.com/users/sagarsane","id":667114},{"gravatar_id":"bf75ed46f2034fe6cc1075ce888084d8","avatar_url":"https://secure.gravatar.com/avatar/bf75ed46f2034fe6cc1075ce888084d8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"liang456","url":"https://api.github.com/users/liang456","id":1673318},{"gravatar_id":"3a90a2072fa32035016c5cc3c8584367","avatar_url":"https://secure.gravatar.com/avatar/3a90a2072fa32035016c5cc3c8584367?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"berndca","url":"https://api.github.com/users/berndca","id":466654},{"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Lyloa","url":"https://api.github.com/users/Lyloa","id":1131432}] - diff --git a/github/tests/ReplayData/Repository.testGetTeams.txt b/github/tests/ReplayData/Repository.testGetTeams.txt deleted file mode 100644 index dbd5e12..0000000 --- a/github/tests/ReplayData/Repository.testGetTeams.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4915'), ('content-length', '714'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"125496cfc78c073ab8bf69c9bc5129d9"'), ('date', 'Sun, 27 May 2012 07:15:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_repos":1,"type":"Organization","disk_usage":0,"blog":null,"url":"https://api.github.com/orgs/BeaverSoftware","plan":{"private_repos":0,"name":"free","space":307200},"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","total_private_repos":0,"public_gists":0,"company":null,"login":"BeaverSoftware","owned_private_repos":0,"private_gists":0,"collaborators":0,"email":null,"followers":0,"name":null,"created_at":"2012-02-09T19:20:12Z","location":"Paris, France","id":1424031,"billing_email":"BeaverSoftware@vincent-jacques.net","following":0,"html_url":"https://github.com/BeaverSoftware"} - -https -GET -api.github.com -None -/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4914'), ('content-length', '1431'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"539a11d46b5bb0db8383306bad48fd1c"'), ('date', 'Sun, 27 May 2012 07:15:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"organization":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"mirror_url":null,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"} - -https -GET -api.github.com -None -/repos/BeaverSoftware/FatherBeaver/teams -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4913'), ('content-length', '76'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7da40fa4ce70d77b7cddef012cf24607"'), ('date', 'Sun, 27 May 2012 07:15:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/teams/141496","name":"Members","id":141496}] - diff --git a/github/tests/ReplayData/Repository.testGetWatchers.txt b/github/tests/ReplayData/Repository.testGetWatchers.txt deleted file mode 100644 index 1af6585..0000000 --- a/github/tests/ReplayData/Repository.testGetWatchers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/watchers -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4910'), ('content-length', '4422'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8e8c7e43110b3cb76b2e52cec4202ced"'), ('date', 'Sun, 27 May 2012 07:17:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/Stals","avatar_url":"https://secure.gravatar.com/avatar/5341a13bb6125ce7c97cf91b35209e16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5341a13bb6125ce7c97cf91b35209e16","login":"Stals","id":472089},{"url":"https://api.github.com/users/att14","avatar_url":"https://secure.gravatar.com/avatar/96e24bccec8300005c74a0d9cd096149?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"96e24bccec8300005c74a0d9cd096149","login":"att14","id":780132},{"url":"https://api.github.com/users/jardon-u","avatar_url":"https://secure.gravatar.com/avatar/1b4be24fa7e62eb508ca448da99e43d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1b4be24fa7e62eb508ca448da99e43d4","login":"jardon-u","id":994192},{"url":"https://api.github.com/users/huxley","avatar_url":"https://secure.gravatar.com/avatar/16a037e47cf9737e037169cbd1d2bed6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"16a037e47cf9737e037169cbd1d2bed6","login":"huxley","id":839},{"url":"https://api.github.com/users/mikofski","avatar_url":"https://secure.gravatar.com/avatar/98aa463dd3f869c195efc372c8d42c86?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"98aa463dd3f869c195efc372c8d42c86","login":"mikofski","id":1385621},{"url":"https://api.github.com/users/L42y","avatar_url":"https://secure.gravatar.com/avatar/4dc11d87759273f3466ab4f673bcecae?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4dc11d87759273f3466ab4f673bcecae","login":"L42y","id":284820},{"url":"https://api.github.com/users/fanzeyi","avatar_url":"https://secure.gravatar.com/avatar/71de1870e298b3488d75c4cb805f4cf7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"71de1870e298b3488d75c4cb805f4cf7","login":"fanzeyi","id":409951},{"url":"https://api.github.com/users/abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","id":1328351},{"url":"https://api.github.com/users/waylan","avatar_url":"https://secure.gravatar.com/avatar/5479425141d61976fd0875bea7dfd7e0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5479425141d61976fd0875bea7dfd7e0","login":"waylan","id":78846},{"url":"https://api.github.com/users/adericbourg","avatar_url":"https://secure.gravatar.com/avatar/5287a88d1c85f336fe494a694fac7635?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"5287a88d1c85f336fe494a694fac7635","login":"adericbourg","id":615743},{"url":"https://api.github.com/users/tallforasmurf","avatar_url":"https://secure.gravatar.com/avatar/61104afbd871dab22a702e7c1233d573?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"61104afbd871dab22a702e7c1233d573","login":"tallforasmurf","id":1137018},{"url":"https://api.github.com/users/pvicente","avatar_url":"https://secure.gravatar.com/avatar/c6733f16eb6fc13f79c6dcfd093b347a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"c6733f16eb6fc13f79c6dcfd093b347a","login":"pvicente","id":471109},{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},{"url":"https://api.github.com/users/michaelpedersen","avatar_url":"https://secure.gravatar.com/avatar/1689abbd998128dbb3658698b429b022?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1689abbd998128dbb3658698b429b022","login":"michaelpedersen","id":22974},{"url":"https://api.github.com/orgs/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","login":"BeaverSoftware","id":1424031}] - diff --git a/github/tests/ReplayData/Repository.testLegacySearchIssues.txt b/github/tests/ReplayData/Repository.testLegacySearchIssues.txt deleted file mode 100644 index 47c549d..0000000 --- a/github/tests/ReplayData/Repository.testLegacySearchIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/issues/search/jacquev6/PyGithub/open/search -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '875'), ('x-ratelimit-remaining', '4990'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1178425a2730e43d21323c7e130c863c"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Fri, 29 Jun 2012 11:38:23 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"issues":[{"number":49,"gravatar_id":"9be6ba907be1740213b69422fdf52b57","updated_at":"2012-06-28T14:13:25-07:00","user":"kukuts","votes":0,"html_url":"https://github.com/jacquev6/PyGithub/issues/49","position":1.0,"comments":4,"title":"Support new Search API","labels":["Functionalities","RequestedByUser"],"created_at":"2012-06-21T05:27:38-07:00","state":"open","body":"New API ported from v2 but i have trouble with adopting ask's library for v2 API to support v3 style for searching. \nhttp://developer.github.com/v3/search/\n\nIts not described in the page about parameters that search for repos API supports.\nThey are same as in v2 API, you can look them in ask's library.\nIn v2 was like that https://github.com/api/v2/json/repos/search/testing?start_page=2&language=Python\nIn v3 is https://api.github.com/legacy/repos/search/testing?start_page=2&language=Python"}]} - diff --git a/github/tests/ReplayData/Repository.testMergeWithConflict.txt b/github/tests/ReplayData/Repository.testMergeWithConflict.txt deleted file mode 100644 index 78c0466..0000000 --- a/github/tests/ReplayData/Repository.testMergeWithConflict.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/merges -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"head": "branchForHead", "base": "branchForBase"} -409 -[('status', '409 Conflict'), ('content-length', '28'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-remaining', '4980'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Sat, 08 Sep 2012 12:29:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Merge conflict"} - diff --git a/github/tests/ReplayData/Repository.testMergeWithMessage.txt b/github/tests/ReplayData/Repository.testMergeWithMessage.txt deleted file mode 100644 index 8a8e791..0000000 --- a/github/tests/ReplayData/Repository.testMergeWithMessage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/merges -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"commit_message": "Commit message created by PyGithub", "head": "branchForHead", "base": "branchForBase"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4988'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('content-length', '1670'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"f31a393604d4a8295a461319eb518495"'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/commits/231ab813ab5ccbdc102ee12e663c491794ccc32f'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 12:21:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"231ab813ab5ccbdc102ee12e663c491794ccc32f","author":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146},"commit":{"message":"Commit message created by PyGithub","author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-09-08T05:21:08-07:00"},"comment_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/231ab813ab5ccbdc102ee12e663c491794ccc32f","tree":{"sha":"97223b0c33ab29dd9aa038248dc982354f7d69a1","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/97223b0c33ab29dd9aa038248dc982354f7d69a1"},"committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-09-08T05:21:08-07:00"}},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/231ab813ab5ccbdc102ee12e663c491794ccc32f","parents":[{"sha":"3be2e82b400f3398c05b68f00a4427604e74c7c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3be2e82b400f3398c05b68f00a4427604e74c7c5"},{"sha":"7a19732ca92cd80fd9da31fa590d67729d6b44df","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7a19732ca92cd80fd9da31fa590d67729d6b44df"}],"committer":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","id":327146}} - diff --git a/github/tests/ReplayData/Repository.testMergeWithNothingToDo.txt b/github/tests/ReplayData/Repository.testMergeWithNothingToDo.txt deleted file mode 100644 index ab65c7e..0000000 --- a/github/tests/ReplayData/Repository.testMergeWithNothingToDo.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/merges -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"commit_message": "Commit message created by PyGithub", "head": "branchForHead", "base": "branchForBase"} -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4985'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Sat, 08 Sep 2012 12:22:53 GMT')] - - diff --git a/github/tests/ReplayData/Repository.testMergeWithoutMessage.txt b/github/tests/ReplayData/Repository.testMergeWithoutMessage.txt deleted file mode 100644 index 13df8e4..0000000 --- a/github/tests/ReplayData/Repository.testMergeWithoutMessage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/repos/jacquev6/PyGithub/merges -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"head": "branchForHead", "base": "branchForBase"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4991'), ('x-ratelimit-limit', '5000'), ('x-content-type-options', 'nosniff'), ('content-length', '1674'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"9a4000ce96f4c4d47922c7c8896d894f"'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/commits/a01fa060858e3aced1fe4ad74798295376e76fd4'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Sat, 08 Sep 2012 12:19:40 GMT'), ('x-github-media-type', 'github.beta; format=json'), ('content-type', 'application/json; charset=utf-8')] -{"sha":"a01fa060858e3aced1fe4ad74798295376e76fd4","committer":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"author":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"parents":[{"sha":"3be2e82b400f3398c05b68f00a4427604e74c7c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/3be2e82b400f3398c05b68f00a4427604e74c7c5"},{"sha":"7a19732ca92cd80fd9da31fa590d67729d6b44df","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/7a19732ca92cd80fd9da31fa590d67729d6b44df"}],"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a01fa060858e3aced1fe4ad74798295376e76fd4","commit":{"committer":{"email":"vincent@vincent-jacques.net","date":"2012-09-08T05:19:40-07:00","name":"Vincent Jacques"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-09-08T05:19:40-07:00","name":"Vincent Jacques"},"message":"Merge branchForHead into branchForBase","tree":{"sha":"97223b0c33ab29dd9aa038248dc982354f7d69a1","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/97223b0c33ab29dd9aa038248dc982354f7d69a1"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a01fa060858e3aced1fe4ad74798295376e76fd4","comment_count":0}} - diff --git a/github/tests/ReplayData/Repository.testProtectBranch.txt b/github/tests/ReplayData/Repository.testProtectBranch.txt deleted file mode 100644 index 941bbcb..0000000 --- a/github/tests/ReplayData/Repository.testProtectBranch.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["test"]}}} -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', '13d09b732ebe76f892093130dc088652'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:14B62:29334564:568D2D11'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:04:49 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3599'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a474937f3b2fa272558fa6dc951018ad'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"23247e636875225f1e2d6b49e3ed8fb5"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:14B62:293345B4:568D2D11'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:04:49 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":true,"required_status_checks":{"enforcement_level":"everyone","contexts":["test"]}}} - diff --git a/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel.txt b/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel.txt deleted file mode 100644 index c035565..0000000 --- a/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "", "contexts": ["test"]}}} -422 -[('status', '422 Unprocessable Entity'), ('content-length', '331'), ('x-github-media-type', 'github.loki-preview; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:134EF:B336C18:568E6F16'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('x-ratelimit-remaining', '4958'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-xss-protection', '1; mode=block'), ('access-control-allow-credentials', 'true'), ('date', 'Thu, 07 Jan 2016 13:58:47 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-frame-options', 'deny'), ('x-ratelimit-reset', '1452177625')] -{"message":"Validation Failed","errors":[{"resource":"ProtectedBranch","code":"custom","field":"required_status_checks_enforcement_level","message":"required_status_checks_enforcement_level enforcement level '%s' is not valid"}],"documentation_url":"https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection"} - diff --git a/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithOutContext.txt b/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithOutContext.txt deleted file mode 100644 index a78cf55..0000000 --- a/github/tests/ReplayData/Repository.testRaiseErrorWithBranchProtectionWithOutContext.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone"}}} -422 -[('status', '422 Unprocessable Entity'), ('content-length', '117'), ('x-github-media-type', 'github.loki-preview; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:1D259:685F04B:568E6DC2'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('x-ratelimit-remaining', '4969'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-xss-protection', '1; mode=block'), ('access-control-allow-credentials', 'true'), ('date', 'Thu, 07 Jan 2016 13:53:06 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-frame-options', 'deny'), ('x-ratelimit-reset', '1452177625')] -{"message":"Invalid request.\n\n\"contexts\" wasn't supplied.","documentation_url":"https://developer.github.com/v3"} - diff --git a/github/tests/ReplayData/Repository.testRaiseErrorWithOutBranch.txt b/github/tests/ReplayData/Repository.testRaiseErrorWithOutBranch.txt deleted file mode 100644 index df5cb43..0000000 --- a/github/tests/ReplayData/Repository.testRaiseErrorWithOutBranch.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/ -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": true, "required_status_checks": {"enforcement_level": "everyone", "contexts": ["test"]}}} -404 -[('status', '404 Not Found'), ('content-length', '102'), ('x-github-media-type', 'github.loki-preview; format=json'), ('x-content-type-options', 'nosniff'), ('content-security-policy', "default-src 'none'"), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', 'AE1E5031:A39B:2D392574:568E6BC1'), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('x-ratelimit-remaining', '4991'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-xss-protection', '1; mode=block'), ('access-control-allow-credentials', 'true'), ('date', 'Thu, 07 Jan 2016 13:44:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-frame-options', 'deny'), ('x-ratelimit-reset', '1452177625')] -{"message":"Branch not found","documentation_url":"https://developer.github.com/v3/repos/#get-branch"} - diff --git a/github/tests/ReplayData/Repository.testRemoveBranchProtection.txt b/github/tests/ReplayData/Repository.testRemoveBranchProtection.txt deleted file mode 100644 index 44f195e..0000000 --- a/github/tests/ReplayData/Repository.testRemoveBranchProtection.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -{"protection": {"enabled": false}} -200 -[('content-length', '3589'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'a7f8a126c9ed3f1c4715a34c0ddc7290'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"62bfcfb47e26986d4c1a6db0bcf43cb6"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:14B5A:E23F8D0:568D3163'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:23:15 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}}} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/branches/master -{'Authorization': 'Basic login_and_password_removed', 'Accept': 'application/vnd.github.loki-preview+json', 'User-Agent': 'PyGithub/Python'} -null -200 -[('content-length', '3589'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('x-served-by', 'c6c65e5196703428e7641f7d1e9bc353'), ('x-xss-protection', '1; mode=block'), ('x-content-type-options', 'nosniff'), ('etag', '"62bfcfb47e26986d4c1a6db0bcf43cb6"'), ('access-control-allow-credentials', 'true'), ('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('x-github-media-type', 'github.loki-preview; format=json'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '417D879D:14B61:22B7F0CB:568D3164'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Wed, 06 Jan 2016 15:23:16 GMT'), ('access-control-allow-origin', '*'), ('content-security-policy', "default-src 'none'"), ('strict-transport-security', 'max-age=31536000; includeSubdomains; preload'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('x-frame-options', 'deny'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1452096288')] -{"name":"master","commit":{"sha":"a39c1e8b9ab601419277eefb4fbb586ded0af146","commit":{"author":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"committer":{"name":"Jimmy Zelinskie","email":"jimmyzelinskie@gmail.com","date":"2015-12-16T06:29:19Z"},"message":"Merge pull request #365 from PyGithub/nhomar-travis-button\n\nAdd travis button on README.","tree":{"sha":"33b533e02e45deccc832bc39813710764fb2a9d4","url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/33b533e02e45deccc832bc39813710764fb2a9d4"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","comment_count":0},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146","html_url":"https://github.com/jacquev6/PyGithub/commit/a39c1e8b9ab601419277eefb4fbb586ded0af146","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a39c1e8b9ab601419277eefb4fbb586ded0af146/comments","author":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"committer":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"parents":[{"sha":"45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5","html_url":"https://github.com/jacquev6/PyGithub/commit/45c7f072e4732f89a9e756a27a4306f2f6dbd9c5"},{"sha":"a83649b68f1bb978c254f4cf1efcae88dc2608d7","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a83649b68f1bb978c254f4cf1efcae88dc2608d7","html_url":"https://github.com/jacquev6/PyGithub/commit/a83649b68f1bb978c254f4cf1efcae88dc2608d7"}]},"_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/branches/master","html":"https://github.com/jacquev6/PyGithub/tree/master"},"protection":{"enabled":false,"required_status_checks":{"enforcement_level":"off","contexts":[]}}} - diff --git a/github/tests/ReplayData/Repository.testSearchIssues.txt b/github/tests/ReplayData/Repository.testSearchIssues.txt deleted file mode 100644 index 41dc081..0000000 --- a/github/tests/ReplayData/Repository.testSearchIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/legacy/issues/search/jacquev6/PyGithub/open/search -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '875'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4985'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"2e397de657b33283e77ef12a21326d0d"'), ('cache-control', 'max-age=0, private, must-revalidate'), ('date', 'Thu, 28 Jun 2012 20:39:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"issues":[{"title":"Support new Search API","number":49,"user":"kukuts","html_url":"https://github.com/jacquev6/PyGithub/issues/49","labels":["Functionalities","RequestedByUser"],"body":"New API ported from v2 but i have trouble with adopting ask's library for v2 API to support v3 style for searching. \nhttp://developer.github.com/v3/search/\n\nIts not described in the page about parameters that search for repos API supports.\nThey are same as in v2 API, you can look them in ask's library.\nIn v2 was like that https://github.com/api/v2/json/repos/search/testing?start_page=2&language=Python\nIn v3 is https://api.github.com/legacy/repos/search/testing?start_page=2&language=Python","votes":0,"comments":2,"updated_at":"2012-06-25T12:31:14-07:00","gravatar_id":"9be6ba907be1740213b69422fdf52b57","position":1.0,"state":"open","created_at":"2012-06-21T05:27:38-07:00"}]} - diff --git a/github/tests/ReplayData/Repository.testStatisticsAfterCaching.txt b/github/tests/ReplayData/Repository.testStatisticsAfterCaching.txt deleted file mode 100644 index 9e1bfc1..0000000 --- a/github/tests/ReplayData/Repository.testStatisticsAfterCaching.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/contributors -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:7845:1014960:52803016'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '89241'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"e4c996128dd311baec35460e4ddf05a5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:17:10 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -[{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":2,"d":2,"c":1},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"philipkimmey","id":211079,"avatar_url":"https://2.gravatar.com/avatar/decc9323f241b6dd24ec35ef7cabaf75?d=https%3A%2F%2Fidenticons.github.com%2F541c8e7a95ee7b9fbdb676dbdf20c7da.png&r=x","gravatar_id":"decc9323f241b6dd24ec35ef7cabaf75","url":"https://api.github.com/users/philipkimmey","html_url":"https://github.com/philipkimmey","followers_url":"https://api.github.com/users/philipkimmey/followers","following_url":"https://api.github.com/users/philipkimmey/following{/other_user}","gists_url":"https://api.github.com/users/philipkimmey/gists{/gist_id}","starred_url":"https://api.github.com/users/philipkimmey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philipkimmey/subscriptions","organizations_url":"https://api.github.com/users/philipkimmey/orgs","repos_url":"https://api.github.com/users/philipkimmey/repos","events_url":"https://api.github.com/users/philipkimmey/events{/privacy}","received_events_url":"https://api.github.com/users/philipkimmey/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":10,"d":0,"c":1},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"lwc","id":336402,"avatar_url":"https://2.gravatar.com/avatar/79df912986253edb50f9b077acd5acf9?d=https%3A%2F%2Fidenticons.github.com%2Fa054ef59f502a7fc072a1a8b88192445.png&r=x","gravatar_id":"79df912986253edb50f9b077acd5acf9","url":"https://api.github.com/users/lwc","html_url":"https://github.com/lwc","followers_url":"https://api.github.com/users/lwc/followers","following_url":"https://api.github.com/users/lwc/following{/other_user}","gists_url":"https://api.github.com/users/lwc/gists{/gist_id}","starred_url":"https://api.github.com/users/lwc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lwc/subscriptions","organizations_url":"https://api.github.com/users/lwc/orgs","repos_url":"https://api.github.com/users/lwc/repos","events_url":"https://api.github.com/users/lwc/events{/privacy}","received_events_url":"https://api.github.com/users/lwc/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":9,"d":1,"c":1},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"apetresc","id":14872,"avatar_url":"https://0.gravatar.com/avatar/c796928dba8bb5d8ceba76855cb46099?d=https%3A%2F%2Fidenticons.github.com%2Fa598e7d200bf02558d5534839884b7a3.png&r=x","gravatar_id":"c796928dba8bb5d8ceba76855cb46099","url":"https://api.github.com/users/apetresc","html_url":"https://github.com/apetresc","followers_url":"https://api.github.com/users/apetresc/followers","following_url":"https://api.github.com/users/apetresc/following{/other_user}","gists_url":"https://api.github.com/users/apetresc/gists{/gist_id}","starred_url":"https://api.github.com/users/apetresc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apetresc/subscriptions","organizations_url":"https://api.github.com/users/apetresc/orgs","repos_url":"https://api.github.com/users/apetresc/repos","events_url":"https://api.github.com/users/apetresc/events{/privacy}","received_events_url":"https://api.github.com/users/apetresc/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":42,"d":3,"c":1},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"edjackson","id":2752732,"avatar_url":"https://2.gravatar.com/avatar/1f28c4efde1b232eb624193219c6930f?d=https%3A%2F%2Fidenticons.github.com%2Fd6a7cd545081cfd413da4aa0fafda306.png&r=x","gravatar_id":"1f28c4efde1b232eb624193219c6930f","url":"https://api.github.com/users/edjackson","html_url":"https://github.com/edjackson","followers_url":"https://api.github.com/users/edjackson/followers","following_url":"https://api.github.com/users/edjackson/following{/other_user}","gists_url":"https://api.github.com/users/edjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/edjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edjackson/subscriptions","organizations_url":"https://api.github.com/users/edjackson/orgs","repos_url":"https://api.github.com/users/edjackson/repos","events_url":"https://api.github.com/users/edjackson/events{/privacy}","received_events_url":"https://api.github.com/users/edjackson/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":6,"d":2,"c":1},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"fixxxeruk","id":1074943,"avatar_url":"https://identicons.github.com/a0df2de6aa9611601a9cc439a3305245.png","gravatar_id":null,"url":"https://api.github.com/users/fixxxeruk","html_url":"https://github.com/fixxxeruk","followers_url":"https://api.github.com/users/fixxxeruk/followers","following_url":"https://api.github.com/users/fixxxeruk/following{/other_user}","gists_url":"https://api.github.com/users/fixxxeruk/gists{/gist_id}","starred_url":"https://api.github.com/users/fixxxeruk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fixxxeruk/subscriptions","organizations_url":"https://api.github.com/users/fixxxeruk/orgs","repos_url":"https://api.github.com/users/fixxxeruk/repos","events_url":"https://api.github.com/users/fixxxeruk/events{/privacy}","received_events_url":"https://api.github.com/users/fixxxeruk/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":1,"d":1,"c":1},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"llimllib","id":7150,"avatar_url":"https://2.gravatar.com/avatar/aa7c1350d93036592f58f165318044db?d=https%3A%2F%2Fidenticons.github.com%2Fc20bb2d9a50d5ac1f713f8b34d9aac5a.png&r=x","gravatar_id":"aa7c1350d93036592f58f165318044db","url":"https://api.github.com/users/llimllib","html_url":"https://github.com/llimllib","followers_url":"https://api.github.com/users/llimllib/followers","following_url":"https://api.github.com/users/llimllib/following{/other_user}","gists_url":"https://api.github.com/users/llimllib/gists{/gist_id}","starred_url":"https://api.github.com/users/llimllib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llimllib/subscriptions","organizations_url":"https://api.github.com/users/llimllib/orgs","repos_url":"https://api.github.com/users/llimllib/repos","events_url":"https://api.github.com/users/llimllib/events{/privacy}","received_events_url":"https://api.github.com/users/llimllib/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":17,"d":1,"c":1},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"stuglaser","id":1527117,"avatar_url":"https://0.gravatar.com/avatar/d808e9e590dd10c4346e52f9f91e33ca?d=https%3A%2F%2Fidenticons.github.com%2F599a371cf4949ff27b92e70a859cc80d.png&r=x","gravatar_id":"d808e9e590dd10c4346e52f9f91e33ca","url":"https://api.github.com/users/stuglaser","html_url":"https://github.com/stuglaser","followers_url":"https://api.github.com/users/stuglaser/followers","following_url":"https://api.github.com/users/stuglaser/following{/other_user}","gists_url":"https://api.github.com/users/stuglaser/gists{/gist_id}","starred_url":"https://api.github.com/users/stuglaser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuglaser/subscriptions","organizations_url":"https://api.github.com/users/stuglaser/orgs","repos_url":"https://api.github.com/users/stuglaser/repos","events_url":"https://api.github.com/users/stuglaser/events{/privacy}","received_events_url":"https://api.github.com/users/stuglaser/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":216,"d":0,"c":1},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"Zearin","id":630124,"avatar_url":"https://0.gravatar.com/avatar/cb9730ee11d50fa2db955d687c653971?d=https%3A%2F%2Fidenticons.github.com%2Ff4ab3d7c9207c8c6a32aabb28771410f.png&r=x","gravatar_id":"cb9730ee11d50fa2db955d687c653971","url":"https://api.github.com/users/Zearin","html_url":"https://github.com/Zearin","followers_url":"https://api.github.com/users/Zearin/followers","following_url":"https://api.github.com/users/Zearin/following{/other_user}","gists_url":"https://api.github.com/users/Zearin/gists{/gist_id}","starred_url":"https://api.github.com/users/Zearin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Zearin/subscriptions","organizations_url":"https://api.github.com/users/Zearin/orgs","repos_url":"https://api.github.com/users/Zearin/repos","events_url":"https://api.github.com/users/Zearin/events{/privacy}","received_events_url":"https://api.github.com/users/Zearin/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":238,"d":0,"c":1},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"pgolm","id":1444194,"avatar_url":"https://1.gravatar.com/avatar/c6d6b2eb927ed858092c47da9f150372?d=https%3A%2F%2Fidenticons.github.com%2F57b229318d141b9912e2aa86fa75f97f.png&r=x","gravatar_id":"c6d6b2eb927ed858092c47da9f150372","url":"https://api.github.com/users/pgolm","html_url":"https://github.com/pgolm","followers_url":"https://api.github.com/users/pgolm/followers","following_url":"https://api.github.com/users/pgolm/following{/other_user}","gists_url":"https://api.github.com/users/pgolm/gists{/gist_id}","starred_url":"https://api.github.com/users/pgolm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgolm/subscriptions","organizations_url":"https://api.github.com/users/pgolm/orgs","repos_url":"https://api.github.com/users/pgolm/repos","events_url":"https://api.github.com/users/pgolm/events{/privacy}","received_events_url":"https://api.github.com/users/pgolm/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":3,"d":3,"c":1},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"srijan","id":471308,"avatar_url":"https://0.gravatar.com/avatar/bccaf0b5698e6566d256ca4c6ca73cee?d=https%3A%2F%2Fidenticons.github.com%2F16ec6e429e3072cb9722f02383767b62.png&r=x","gravatar_id":"bccaf0b5698e6566d256ca4c6ca73cee","url":"https://api.github.com/users/srijan","html_url":"https://github.com/srijan","followers_url":"https://api.github.com/users/srijan/followers","following_url":"https://api.github.com/users/srijan/following{/other_user}","gists_url":"https://api.github.com/users/srijan/gists{/gist_id}","starred_url":"https://api.github.com/users/srijan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srijan/subscriptions","organizations_url":"https://api.github.com/users/srijan/orgs","repos_url":"https://api.github.com/users/srijan/repos","events_url":"https://api.github.com/users/srijan/events{/privacy}","received_events_url":"https://api.github.com/users/srijan/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":14,"d":3,"c":1},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"mwoodworth","id":606209,"avatar_url":"https://2.gravatar.com/avatar/fa8bf31f678044f65afb6c4c5a8ea542?d=https%3A%2F%2Fidenticons.github.com%2Fb5508fc77109ee7d5c9f4aaad993bf1a.png&r=x","gravatar_id":"fa8bf31f678044f65afb6c4c5a8ea542","url":"https://api.github.com/users/mwoodworth","html_url":"https://github.com/mwoodworth","followers_url":"https://api.github.com/users/mwoodworth/followers","following_url":"https://api.github.com/users/mwoodworth/following{/other_user}","gists_url":"https://api.github.com/users/mwoodworth/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoodworth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoodworth/subscriptions","organizations_url":"https://api.github.com/users/mwoodworth/orgs","repos_url":"https://api.github.com/users/mwoodworth/repos","events_url":"https://api.github.com/users/mwoodworth/events{/privacy}","received_events_url":"https://api.github.com/users/mwoodworth/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":1,"d":1,"c":1},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"tymofij","id":123786,"avatar_url":"https://0.gravatar.com/avatar/253b410d7a41999c754970a3aa34834e?d=https%3A%2F%2Fidenticons.github.com%2F28d97fe32c981d8f78111b37e796188a.png&r=x","gravatar_id":"253b410d7a41999c754970a3aa34834e","url":"https://api.github.com/users/tymofij","html_url":"https://github.com/tymofij","followers_url":"https://api.github.com/users/tymofij/followers","following_url":"https://api.github.com/users/tymofij/following{/other_user}","gists_url":"https://api.github.com/users/tymofij/gists{/gist_id}","starred_url":"https://api.github.com/users/tymofij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tymofij/subscriptions","organizations_url":"https://api.github.com/users/tymofij/orgs","repos_url":"https://api.github.com/users/tymofij/repos","events_url":"https://api.github.com/users/tymofij/events{/privacy}","received_events_url":"https://api.github.com/users/tymofij/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":10,"d":0,"c":1},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":4,"d":1,"c":1},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"MarkRoddy","id":346362,"avatar_url":"https://1.gravatar.com/avatar/ac25b3f7bf1399399a6ad4cefea84bc6?d=https%3A%2F%2Fidenticons.github.com%2Fbede8b7e558b20a4e62f6e9ec2b4233c.png&r=x","gravatar_id":"ac25b3f7bf1399399a6ad4cefea84bc6","url":"https://api.github.com/users/MarkRoddy","html_url":"https://github.com/MarkRoddy","followers_url":"https://api.github.com/users/MarkRoddy/followers","following_url":"https://api.github.com/users/MarkRoddy/following{/other_user}","gists_url":"https://api.github.com/users/MarkRoddy/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkRoddy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkRoddy/subscriptions","organizations_url":"https://api.github.com/users/MarkRoddy/orgs","repos_url":"https://api.github.com/users/MarkRoddy/repos","events_url":"https://api.github.com/users/MarkRoddy/events{/privacy}","received_events_url":"https://api.github.com/users/MarkRoddy/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":4,"d":4,"c":1},{"w":1347753600,"a":8,"d":1,"c":1},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"quixotique","id":1477470,"avatar_url":"https://2.gravatar.com/avatar/806d200fb8f92bd618cc7063a3b62013?d=https%3A%2F%2Fidenticons.github.com%2Fc1ed715aaa8d11a2cb0bbc69d34c143d.png&r=x","gravatar_id":"806d200fb8f92bd618cc7063a3b62013","url":"https://api.github.com/users/quixotique","html_url":"https://github.com/quixotique","followers_url":"https://api.github.com/users/quixotique/followers","following_url":"https://api.github.com/users/quixotique/following{/other_user}","gists_url":"https://api.github.com/users/quixotique/gists{/gist_id}","starred_url":"https://api.github.com/users/quixotique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quixotique/subscriptions","organizations_url":"https://api.github.com/users/quixotique/orgs","repos_url":"https://api.github.com/users/quixotique/repos","events_url":"https://api.github.com/users/quixotique/events{/privacy}","received_events_url":"https://api.github.com/users/quixotique/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":7,"d":5,"c":2},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"xobb1t","id":344095,"avatar_url":"https://1.gravatar.com/avatar/ae8a2af3de601885a14bb71240e5d1a6?d=https%3A%2F%2Fidenticons.github.com%2Fe4df5371d23e44386065662dea04f5c7.png&r=x","gravatar_id":"ae8a2af3de601885a14bb71240e5d1a6","url":"https://api.github.com/users/xobb1t","html_url":"https://github.com/xobb1t","followers_url":"https://api.github.com/users/xobb1t/followers","following_url":"https://api.github.com/users/xobb1t/following{/other_user}","gists_url":"https://api.github.com/users/xobb1t/gists{/gist_id}","starred_url":"https://api.github.com/users/xobb1t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xobb1t/subscriptions","organizations_url":"https://api.github.com/users/xobb1t/orgs","repos_url":"https://api.github.com/users/xobb1t/repos","events_url":"https://api.github.com/users/xobb1t/events{/privacy}","received_events_url":"https://api.github.com/users/xobb1t/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":9,"d":0,"c":1},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":24,"d":0,"c":1},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"mstead","id":218800,"avatar_url":"https://1.gravatar.com/avatar/cff2de4d58af775ba0a07a5332b57889?d=https%3A%2F%2Fidenticons.github.com%2Fc19a94c62cb3b527793b785a90f9cacb.png&r=x","gravatar_id":"cff2de4d58af775ba0a07a5332b57889","url":"https://api.github.com/users/mstead","html_url":"https://github.com/mstead","followers_url":"https://api.github.com/users/mstead/followers","following_url":"https://api.github.com/users/mstead/following{/other_user}","gists_url":"https://api.github.com/users/mstead/gists{/gist_id}","starred_url":"https://api.github.com/users/mstead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstead/subscriptions","organizations_url":"https://api.github.com/users/mstead/orgs","repos_url":"https://api.github.com/users/mstead/repos","events_url":"https://api.github.com/users/mstead/events{/privacy}","received_events_url":"https://api.github.com/users/mstead/received_events","type":"User","site_admin":false}},{"total":3,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":7,"d":5,"c":3},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"jjh42","id":371038,"avatar_url":"https://0.gravatar.com/avatar/cb8c9ca8f00c7885b3299be73808a6a6?d=https%3A%2F%2Fidenticons.github.com%2Fc9a9f59d82ed44b5a024b650785cb6c5.png&r=x","gravatar_id":"cb8c9ca8f00c7885b3299be73808a6a6","url":"https://api.github.com/users/jjh42","html_url":"https://github.com/jjh42","followers_url":"https://api.github.com/users/jjh42/followers","following_url":"https://api.github.com/users/jjh42/following{/other_user}","gists_url":"https://api.github.com/users/jjh42/gists{/gist_id}","starred_url":"https://api.github.com/users/jjh42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjh42/subscriptions","organizations_url":"https://api.github.com/users/jjh42/orgs","repos_url":"https://api.github.com/users/jjh42/repos","events_url":"https://api.github.com/users/jjh42/events{/privacy}","received_events_url":"https://api.github.com/users/jjh42/received_events","type":"User","site_admin":false}},{"total":5,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":12,"d":2,"c":1},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":127,"d":12,"c":4},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"davidbrai","id":351026,"avatar_url":"https://0.gravatar.com/avatar/9578c2ff5952aa1ed1a4db215f20c286?d=https%3A%2F%2Fidenticons.github.com%2F59617ff4a420f7e310d16e097f2067ac.png&r=x","gravatar_id":"9578c2ff5952aa1ed1a4db215f20c286","url":"https://api.github.com/users/davidbrai","html_url":"https://github.com/davidbrai","followers_url":"https://api.github.com/users/davidbrai/followers","following_url":"https://api.github.com/users/davidbrai/following{/other_user}","gists_url":"https://api.github.com/users/davidbrai/gists{/gist_id}","starred_url":"https://api.github.com/users/davidbrai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidbrai/subscriptions","organizations_url":"https://api.github.com/users/davidbrai/orgs","repos_url":"https://api.github.com/users/davidbrai/repos","events_url":"https://api.github.com/users/davidbrai/events{/privacy}","received_events_url":"https://api.github.com/users/davidbrai/received_events","type":"User","site_admin":false}},{"total":18,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":3,"d":3,"c":3},{"w":1370131200,"a":17,"d":17,"c":15},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"martinqt","id":2557975,"avatar_url":"https://1.gravatar.com/avatar/182c0579e9458df4b939c1de0981e31c?d=https%3A%2F%2Fidenticons.github.com%2F24858b884a8b74bcce2b765a4f8e329e.png&r=x","gravatar_id":"182c0579e9458df4b939c1de0981e31c","url":"https://api.github.com/users/martinqt","html_url":"https://github.com/martinqt","followers_url":"https://api.github.com/users/martinqt/followers","following_url":"https://api.github.com/users/martinqt/following{/other_user}","gists_url":"https://api.github.com/users/martinqt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinqt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinqt/subscriptions","organizations_url":"https://api.github.com/users/martinqt/orgs","repos_url":"https://api.github.com/users/martinqt/repos","events_url":"https://api.github.com/users/martinqt/events{/privacy}","received_events_url":"https://api.github.com/users/martinqt/received_events","type":"User","site_admin":false}},{"total":67,"weeks":[{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":1108,"d":516,"c":67},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"akfish","id":922715,"avatar_url":"https://2.gravatar.com/avatar/12a1b44d4e5c19cee59618084602b112?d=https%3A%2F%2Fidenticons.github.com%2F6eb90fb68a77fb5a5a997c6264bedf35.png&r=x","gravatar_id":"12a1b44d4e5c19cee59618084602b112","url":"https://api.github.com/users/akfish","html_url":"https://github.com/akfish","followers_url":"https://api.github.com/users/akfish/followers","following_url":"https://api.github.com/users/akfish/following{/other_user}","gists_url":"https://api.github.com/users/akfish/gists{/gist_id}","starred_url":"https://api.github.com/users/akfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akfish/subscriptions","organizations_url":"https://api.github.com/users/akfish/orgs","repos_url":"https://api.github.com/users/akfish/repos","events_url":"https://api.github.com/users/akfish/events{/privacy}","received_events_url":"https://api.github.com/users/akfish/received_events","type":"User","site_admin":false}},{"total":886,"weeks":[{"w":1329004800,"a":3853,"d":2098,"c":96},{"w":1329609600,"a":3005,"d":2120,"c":99},{"w":1330214400,"a":2969,"d":1502,"c":52},{"w":1330819200,"a":252,"d":26,"c":12},{"w":1331424000,"a":4823,"d":4569,"c":39},{"w":1332028800,"a":1846,"d":56,"c":12},{"w":1332633600,"a":130,"d":57,"c":5},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":31,"d":11,"c":4},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":23632,"d":7111,"c":28},{"w":1336262400,"a":29431,"d":30239,"c":64},{"w":1336867200,"a":1280,"d":397,"c":12},{"w":1337472000,"a":3016,"d":2064,"c":26},{"w":1338076800,"a":33188,"d":30815,"c":74},{"w":1338681600,"a":2531,"d":545,"c":6},{"w":1339286400,"a":6,"d":0,"c":1},{"w":1339891200,"a":13,"d":7,"c":3},{"w":1340496000,"a":719,"d":270,"c":12},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":353,"d":217,"c":11},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":644,"d":551,"c":4},{"w":1343520000,"a":423,"d":423,"c":4},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":56,"d":11,"c":2},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":2968,"d":162,"c":20},{"w":1347148800,"a":1576,"d":16315,"c":17},{"w":1347753600,"a":11680,"d":11277,"c":12},{"w":1348358400,"a":248,"d":189,"c":5},{"w":1348963200,"a":3,"d":3,"c":1},{"w":1349568000,"a":6,"d":11,"c":1},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":374,"d":230,"c":12},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":1788,"d":1765,"c":29},{"w":1353801600,"a":1251,"d":1221,"c":8},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":136,"d":7,"c":5},{"w":1356220800,"a":3551,"d":2797,"c":14},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":82,"d":11,"c":6},{"w":1359849600,"a":603,"d":292,"c":17},{"w":1360454400,"a":327,"d":240,"c":5},{"w":1361059200,"a":147,"d":74,"c":8},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":52,"d":7,"c":3},{"w":1362873600,"a":639,"d":444,"c":9},{"w":1363478400,"a":5290,"d":1029,"c":18},{"w":1364083200,"a":563,"d":287,"c":15},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":68,"d":4,"c":2},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":840,"d":753,"c":13},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":430,"d":29,"c":5},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":15,"d":9,"c":2},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":193,"d":3,"c":4},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":3062,"d":1701,"c":10},{"w":1373760000,"a":761,"d":1177,"c":9},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":874,"d":650,"c":36},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":3045,"d":659,"c":18},{"w":1378598400,"a":2183,"d":2373,"c":8},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":158,"d":225,"c":8},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0}],"author":{"login":"jacquev6","id":327146,"avatar_url":"https://0.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https%3A%2F%2Fidenticons.github.com%2Ffadfb5f7088ef66579d198a3c9a4935e.png&r=x","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false}}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/commit_activity -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:7847:2199F7C:52803017'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '2775'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"988e31b23490922f86392de76ca453b9"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:17:11 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -[{"days":[0,7,3,9,7,3,0],"total":29,"week":1353196800},{"days":[1,5,1,1,0,0,0],"total":8,"week":1353801600},{"days":[0,0,0,0,0,0,0],"total":0,"week":1354406400},{"days":[0,0,0,0,0,0,0],"total":0,"week":1355011200},{"days":[0,0,0,1,0,5,0],"total":6,"week":1355616000},{"days":[1,0,8,0,0,0,6],"total":15,"week":1356220800},{"days":[0,0,0,0,0,0,0],"total":0,"week":1356825600},{"days":[0,0,0,0,0,0,0],"total":0,"week":1357430400},{"days":[0,0,0,0,0,0,0],"total":0,"week":1358035200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1358640000},{"days":[1,0,6,0,0,0,0],"total":7,"week":1359244800},{"days":[3,0,7,0,3,2,2],"total":17,"week":1359849600},{"days":[0,0,1,0,0,0,4],"total":5,"week":1360454400},{"days":[2,0,0,6,0,0,0],"total":8,"week":1361059200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1361664000},{"days":[3,0,0,0,0,0,0],"total":3,"week":1362268800},{"days":[0,1,2,0,6,0,1],"total":10,"week":1362873600},{"days":[0,0,7,0,7,3,1],"total":18,"week":1363478400},{"days":[0,0,0,0,9,6,0],"total":15,"week":1364083200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1364688000},{"days":[0,2,0,0,0,0,0],"total":2,"week":1365292800},{"days":[0,0,0,0,0,0,0],"total":0,"week":1365897600},{"days":[0,3,0,3,10,0,0],"total":16,"week":1366502400},{"days":[0,0,0,0,0,0,0],"total":0,"week":1367107200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1367712000},{"days":[0,0,0,0,0,5,1],"total":6,"week":1368316800},{"days":[0,0,0,0,0,0,0],"total":0,"week":1368921600},{"days":[0,1,0,0,0,2,3],"total":6,"week":1369526400},{"days":[10,0,5,0,0,0,0],"total":15,"week":1370131200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1370736000},{"days":[0,1,4,1,0,0,0],"total":6,"week":1371340800},{"days":[0,0,0,0,0,0,1],"total":1,"week":1371945600},{"days":[0,0,0,0,0,0,0],"total":0,"week":1372550400},{"days":[6,0,1,0,0,0,3],"total":10,"week":1373155200},{"days":[3,0,5,1,0,0,1],"total":10,"week":1373760000},{"days":[0,0,0,0,0,0,0],"total":0,"week":1374364800},{"days":[0,0,0,0,0,3,1],"total":4,"week":1374969600},{"days":[0,0,1,1,0,0,0],"total":2,"week":1375574400},{"days":[0,0,0,0,0,0,0],"total":0,"week":1376179200},{"days":[0,8,2,76,7,10,0],"total":103,"week":1376784000},{"days":[0,0,0,0,0,0,0],"total":0,"week":1377388800},{"days":[0,0,0,1,6,11,0],"total":18,"week":1377993600},{"days":[1,0,0,3,4,0,0],"total":8,"week":1378598400},{"days":[0,0,0,0,0,0,0],"total":0,"week":1379203200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1379808000},{"days":[0,0,0,0,0,0,0],"total":0,"week":1380412800},{"days":[0,0,0,0,0,0,0],"total":0,"week":1381017600},{"days":[0,0,0,0,0,0,0],"total":0,"week":1381622400},{"days":[0,8,0,0,0,0,0],"total":8,"week":1382227200},{"days":[0,0,0,0,0,0,0],"total":0,"week":1382832000},{"days":[0,0,0,0,0,0,0],"total":0,"week":1383436800},{"days":[0,0,0,0,0,0,0],"total":0,"week":1384041600}] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/code_frequency -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:7848:2D63900:52803017'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1844'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"2a409951d08a22751ef211c1db5b468b"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:17:11 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -[[1329004800,3853,-2098],[1329609600,3005,-2120],[1330214400,2969,-1502],[1330819200,252,-26],[1331424000,4823,-4569],[1332028800,1846,-56],[1332633600,130,-57],[1333238400,0,0],[1333843200,0,0],[1334448000,31,-11],[1335052800,0,0],[1335657600,23632,-7111],[1336262400,29431,-30239],[1336867200,1280,-397],[1337472000,3016,-2064],[1338076800,33188,-30815],[1338681600,2531,-545],[1339286400,6,0],[1339891200,18,-8],[1340496000,721,-272],[1341100800,0,0],[1341705600,353,-217],[1342310400,0,0],[1342915200,725,-609],[1343520000,423,-423],[1344124800,0,0],[1344729600,0,0],[1345334400,63,-16],[1345939200,0,0],[1346544000,2968,-162],[1347148800,1580,-16319],[1347753600,11688,-11278],[1348358400,248,-189],[1348963200,3,-3],[1349568000,6,-11],[1350172800,0,0],[1350777600,0,0],[1351382400,599,-230],[1351987200,14,-3],[1352592000,1,-1],[1353196800,1788,-1765],[1353801600,1251,-1221],[1354406400,0,0],[1355011200,0,0],[1355616000,146,-7],[1356220800,3557,-2799],[1356825600,0,0],[1357430400,0,0],[1358035200,0,0],[1358640000,0,0],[1359244800,83,-12],[1359849600,603,-292],[1360454400,327,-240],[1361059200,147,-74],[1361664000,0,0],[1362268800,52,-7],[1362873600,877,-444],[1363478400,5290,-1029],[1364083200,563,-287],[1364688000,0,0],[1365292800,68,-4],[1365897600,0,0],[1366502400,847,-758],[1367107200,0,0],[1367712000,0,0],[1368316800,433,-32],[1368921600,0,0],[1369526400,42,-12],[1370131200,17,-17],[1370736000,0,0],[1371340800,215,-5],[1371945600,17,-1],[1372550400,0,0],[1373155200,3062,-1701],[1373760000,765,-1178],[1374364800,0,0],[1374969600,127,-12],[1375574400,51,-4],[1376179200,0,0],[1376784000,1982,-1166],[1377388800,0,0],[1377993600,3045,-659],[1378598400,2183,-2373],[1379203200,0,0],[1379808000,0,0],[1380412800,0,0],[1381017600,0,0],[1381622400,0,0],[1382227200,158,-225],[1382832000,0,0],[1383436800,0,0],[1384041600,0,0]] - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/participation -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:7844:5812FB:52803018'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '260'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"a896655765faac08fb15ce0da319416c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:17:12 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{"all":[4,36,8,0,0,10,20,0,0,0,0,11,20,6,9,0,4,14,21,16,0,3,0,20,0,0,8,1,9,16,1,15,1,0,12,12,0,4,6,15,116,20,20,11,0,0,0,0,0,10,0,0],"owner":[1,36,8,0,0,8,18,0,0,0,0,7,20,6,9,0,4,11,20,16,0,3,0,16,0,0,6,1,4,0,1,6,0,0,12,10,0,0,0,1,44,0,20,10,0,0,0,0,0,10,0,0]} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/punch_card -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:7848:2D639AE:52803018'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1490'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"5174eef5c5760209664cb13e11e49b09"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:17:12 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -[[0,0,0],[0,1,0],[0,2,1],[0,3,0],[0,4,0],[0,5,0],[0,6,3],[0,7,1],[0,8,8],[0,9,11],[0,10,18],[0,11,10],[0,12,13],[0,13,13],[0,14,12],[0,15,12],[0,16,6],[0,17,18],[0,18,12],[0,19,16],[0,20,17],[0,21,8],[0,22,8],[0,23,0],[1,0,1],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,3],[1,8,5],[1,9,1],[1,10,0],[1,11,1],[1,12,0],[1,13,5],[1,14,6],[1,15,1],[1,16,0],[1,17,5],[1,18,5],[1,19,12],[1,20,10],[1,21,13],[1,22,15],[1,23,3],[2,0,0],[2,1,0],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,4],[2,8,5],[2,9,3],[2,10,9],[2,11,3],[2,12,1],[2,13,5],[2,14,1],[2,15,6],[2,16,0],[2,17,4],[2,18,13],[2,19,26],[2,20,16],[2,21,13],[2,22,13],[2,23,12],[3,0,2],[3,1,1],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,2],[3,7,2],[3,8,1],[3,9,2],[3,10,0],[3,11,1],[3,12,5],[3,13,17],[3,14,11],[3,15,15],[3,16,11],[3,17,10],[3,18,29],[3,19,13],[3,20,17],[3,21,19],[3,22,5],[3,23,10],[4,0,1],[4,1,0],[4,2,0],[4,3,0],[4,4,0],[4,5,0],[4,6,0],[4,7,5],[4,8,2],[4,9,5],[4,10,7],[4,11,7],[4,12,7],[4,13,2],[4,14,1],[4,15,1],[4,16,0],[4,17,6],[4,18,19],[4,19,24],[4,20,16],[4,21,27],[4,22,21],[4,23,8],[5,0,2],[5,1,0],[5,2,0],[5,3,0],[5,4,0],[5,5,0],[5,6,0],[5,7,4],[5,8,3],[5,9,3],[5,10,2],[5,11,13],[5,12,7],[5,13,11],[5,14,16],[5,15,3],[5,16,3],[5,17,7],[5,18,13],[5,19,8],[5,20,6],[5,21,11],[5,22,3],[5,23,2],[6,0,0],[6,1,3],[6,2,0],[6,3,1],[6,4,7],[6,5,2],[6,6,0],[6,7,14],[6,8,23],[6,9,10],[6,10,18],[6,11,14],[6,12,7],[6,13,17],[6,14,7],[6,15,9],[6,16,4],[6,17,1],[6,18,2],[6,19,6],[6,20,0],[6,21,4],[6,22,1],[6,23,3]] - diff --git a/github/tests/ReplayData/Repository.testStatisticsBeforeCaching.txt b/github/tests/ReplayData/Repository.testStatisticsBeforeCaching.txt deleted file mode 100755 index 41d0b84..0000000 --- a/github/tests/ReplayData/Repository.testStatisticsBeforeCaching.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/contributors -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -202 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4965'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3446:13B76A5:528030E9'), ('content-length', '2'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Mon, 11 Nov 2013 01:20:42 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/commit_activity -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -202 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4964'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3448:429A229:528030EA'), ('content-length', '2'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Mon, 11 Nov 2013 01:20:42 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/code_frequency -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -202 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4963'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3448:429A284:528030EA'), ('content-length', '2'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('access-control-allow-credentials', 'true'), ('date', 'Mon, 11 Nov 2013 01:20:42 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/participation -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4962'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3447:29BC88A:528030EB'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '260'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"a896655765faac08fb15ce0da319416c"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:20:43 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/stats/punch_card -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '202 Accepted'), ('x-ratelimit-remaining', '4961'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('x-github-request-id', '4C79374B:3448:429A33C:528030EB'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, Accept-Encoding'), ('content-length', '1490'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '5000'), ('etag', '"41cbe788b8174e5a98906512e68a825d"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 11 Nov 2013 01:20:43 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1384134844')] -{} - diff --git a/github/tests/ReplayData/Repository.testSubscribePubSubHubbub.txt b/github/tests/ReplayData/Repository.testSubscribePubSubHubbub.txt deleted file mode 100644 index 564a0a5..0000000 --- a/github/tests/ReplayData/Repository.testSubscribePubSubHubbub.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/hub -{'Content-Type': 'multipart/form-data; boundary=----------------------------3c3ba8b523b2', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.callback"http://requestb.in/1bc1sc61------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.topic"https://github.com/jacquev6/PyGithub/events/push------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.mode"subscribe------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.secret"my_secret------------------------------3c3ba8b523b2-- -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4997'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Tue, 05 Feb 2013 18:57:27 GMT')] - - diff --git a/github/tests/ReplayData/Repository.testUnsubscribePubSubHubbub.txt b/github/tests/ReplayData/Repository.testUnsubscribePubSubHubbub.txt deleted file mode 100644 index 81f9246..0000000 --- a/github/tests/ReplayData/Repository.testUnsubscribePubSubHubbub.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -POST -api.github.com -None -/hub -{'Content-Type': 'multipart/form-data; boundary=----------------------------3c3ba8b523b2', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.callback"http://requestb.in/1bc1sc61------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.topic"https://github.com/jacquev6/PyGithub/events/push------------------------------3c3ba8b523b2Content-Disposition: form-data; name="hub.mode"unsubscribe------------------------------3c3ba8b523b2-- -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4991'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('cache-control', ''), ('date', 'Tue, 05 Feb 2013 18:58:12 GMT')] - - diff --git a/github/tests/ReplayData/Repository.testUpdateFile.txt b/github/tests/ReplayData/Repository.testUpdateFile.txt deleted file mode 100644 index 81fb486..0000000 --- a/github/tests/ReplayData/Repository.testUpdateFile.txt +++ /dev/null @@ -1,21 +0,0 @@ -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '16'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"file","sha":"5628799a7d517a4aaa0c1a7004d07569cd154df0","path":"doc/testCreateUpdateDeleteFile.md","encoding":"base64","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md","html":"https://github.com/jacquev6/PyGithub/blob/master/doc/testCreateUpdateDeleteFile.md","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/5628799a7d517a4aaa0c1a7004d07569cd154df0"},"content":"SGVsbG8gd29ybGQ=","size":16,"name":"doc/testCreateUpdateDeleteFile.md"} - -https -PUT -api.github.com -None -/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"author": {"date": "2016-01-15T16:13:30+12:00", "email": "enix223@163.com", "name": "Enix Yu"}, "branch": "master", "committer": {"date": "2016-01-15T16:13:30+12:00", "email": "enix223@163.com", "name": "Enix Yu"}, "content": "SGVsbG8gV29ybGQ=", "message": "Update file for testUpdateFile", "sha": "5628799a7d517a4aaa0c1a7004d07569cd154df0"} -200 -[('status', '200 OK'), ('content-length', '16'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('x-ratelimit-limit', '5000'), ('vary', 'Accept, Authorization, Cookie'), ('x-ratelimit-remaining', '4997'), ('server', 'nginx/1.0.13'), ('last-modified', 'Wed, 05 Sep 2012 17:54:40 GMT'), ('connection', 'keep-alive'), ('etag', '"71786feb5f476112c5a8aa894ee7ca6c"'), ('cache-control', 'private, s-maxage=60, max-age=60'), ('date', 'Sat, 08 Sep 2012 10:43:48 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"content": {"name": "testCreateUpdateDeleteFile.md", "url": "https://api.github.com/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md", "html_url": "https://github.com/jacquev6/PyGithub/blob/master/doc/testCreateUpdateDeleteFile.md", "download_url": "https://raw.githubusercontent.com/jacquev6/PyGithub/master/doc/testCreateUpdateDeleteFile.md", "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "_links": {"self": "https://api.github.com/repos/jacquev6/PyGithub/contents/doc/testCreateUpdateDeleteFile.md", "git": "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "html": "https://github.com/jacquev6/PyGithub/blob/master/doc/testCreateUpdateDeleteFile.md"}, "git_url": "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", "path": "doc/testCreateUpdateDeleteFile.md", "type": "file", "size": 9}, "commit": {"committer": {"date": "2016-01-15T16:13:30+12:00", "name": "Enix Yu", "email": "enix223@gmail.com"}, "author": {"date": "2016-01-15T16:13:30+12:00", "name": "Enix Yu", "email": "enix223@gmail.com"}, "url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", "tree": {"url": "https://api.github.com/repos/jacquev6/PyGithub/git/trees/691272480426f78a0138979dd3ce63b77f706feb", "sha": "691272480426f78a0138979dd3ce63b77f706feb"}, "html_url": "https://github.com/jacquev6/PyGithub/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", "parents": [{"url": "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5", "html_url": "https://github.com/jacquev6/PyGithub/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5"}], "message": "my commit message"}} \ No newline at end of file diff --git a/github/tests/ReplayData/RepositoryKey.setUp.txt b/github/tests/ReplayData/RepositoryKey.setUp.txt deleted file mode 100644 index 17d6d72..0000000 --- a/github/tests/ReplayData/RepositoryKey.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4951'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9c1d83fa3d17bff8351444da9dedded"'), ('date', 'Sat, 26 May 2012 20:32:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","disk_usage":17080,"hireable":false,"url":"https://api.github.com/users/jacquev6","plan":{"private_repos":5,"name":"micro","collaborators":1,"space":614400},"bio":"","total_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","public_gists":3,"blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","owned_private_repos":5,"followers":13,"name":"Vincent Jacques","private_gists":5,"collaborators":0,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"public_repos":11,"following":24,"html_url":"https://github.com/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4950'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8794d5a568156ccd5c5753bfeb793ba1"'), ('date', 'Sat, 26 May 2012 20:32:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":14,"updated_at":"2012-05-26T18:33:41Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/keys/2626761 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"96af29920ad069b76bc64517998db752"'), ('date', 'Sat, 26 May 2012 20:32:04 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626761","verified":true,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","title":"Key added through PyGithub","id":2626761} - diff --git a/github/tests/ReplayData/RepositoryKey.testDelete.txt b/github/tests/ReplayData/RepositoryKey.testDelete.txt deleted file mode 100644 index c4800a8..0000000 --- a/github/tests/ReplayData/RepositoryKey.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/repos/jacquev6/PyGithub/keys/2626761 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 11:08:28 GMT')] - - diff --git a/github/tests/ReplayData/RepositoryKey.testEdit.txt b/github/tests/ReplayData/RepositoryKey.testEdit.txt deleted file mode 100644 index 583b3e8..0000000 --- a/github/tests/ReplayData/RepositoryKey.testEdit.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/keys/2626761 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==", "title": "Title edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '503'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0e3fe92d1dde4f1bca0df384528bf1e2"'), ('date', 'Sun, 27 May 2012 11:06:26 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626761","verified":true,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==","title":"Title edited by PyGithub","id":2626761} - diff --git a/github/tests/ReplayData/RepositoryKey.testEditWithoutParameters.txt b/github/tests/ReplayData/RepositoryKey.testEditWithoutParameters.txt deleted file mode 100644 index d718d9f..0000000 --- a/github/tests/ReplayData/RepositoryKey.testEditWithoutParameters.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/repos/jacquev6/PyGithub/keys/2626761 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '503'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ee6bf384c86aa3147ffa7fcde628072e"'), ('date', 'Sun, 27 May 2012 11:07:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626761","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==","verified":true,"title":"Title edited by PyGithub","id":2626761} - diff --git a/github/tests/ReplayData/Search.testGetPageOnSearchUsers.txt b/github/tests/ReplayData/Search.testGetPageOnSearchUsers.txt deleted file mode 100644 index e1b545e..0000000 --- a/github/tests/ReplayData/Search.testGetPageOnSearchUsers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/search/users?q=location%3ABerlin&page=8 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:3E9F:AB68A59:5314040F'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '27301'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:24:47 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393820747')] -{"total_count":6038,"items":[{"login":"ursachec","id":497951,"avatar_url":"https://avatars.githubusercontent.com/u/497951","gravatar_id":"5d971653c5cc8eb4b13bb0149a7fbec8","url":"https://api.github.com/users/ursachec","html_url":"https://github.com/ursachec","followers_url":"https://api.github.com/users/ursachec/followers","following_url":"https://api.github.com/users/ursachec/following{/other_user}","gists_url":"https://api.github.com/users/ursachec/gists{/gist_id}","starred_url":"https://api.github.com/users/ursachec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ursachec/subscriptions","organizations_url":"https://api.github.com/users/ursachec/orgs","repos_url":"https://api.github.com/users/ursachec/repos","events_url":"https://api.github.com/users/ursachec/events{/privacy}","received_events_url":"https://api.github.com/users/ursachec/received_events","type":"User","site_admin":false,"score":1.0},{"login":"bitboxer","id":56195,"avatar_url":"https://avatars.githubusercontent.com/u/56195","gravatar_id":"51968c9632cc07ab399cc32412ccbb98","url":"https://api.github.com/users/bitboxer","html_url":"https://github.com/bitboxer","followers_url":"https://api.github.com/users/bitboxer/followers","following_url":"https://api.github.com/users/bitboxer/following{/other_user}","gists_url":"https://api.github.com/users/bitboxer/gists{/gist_id}","starred_url":"https://api.github.com/users/bitboxer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitboxer/subscriptions","organizations_url":"https://api.github.com/users/bitboxer/orgs","repos_url":"https://api.github.com/users/bitboxer/repos","events_url":"https://api.github.com/users/bitboxer/events{/privacy}","received_events_url":"https://api.github.com/users/bitboxer/received_events","type":"User","site_admin":false,"score":1.0},{"login":"fs111","id":33631,"avatar_url":"https://avatars.githubusercontent.com/u/33631","gravatar_id":"6da3d4048a89eae74e790545d08ff687","url":"https://api.github.com/users/fs111","html_url":"https://github.com/fs111","followers_url":"https://api.github.com/users/fs111/followers","following_url":"https://api.github.com/users/fs111/following{/other_user}","gists_url":"https://api.github.com/users/fs111/gists{/gist_id}","starred_url":"https://api.github.com/users/fs111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fs111/subscriptions","organizations_url":"https://api.github.com/users/fs111/orgs","repos_url":"https://api.github.com/users/fs111/repos","events_url":"https://api.github.com/users/fs111/events{/privacy}","received_events_url":"https://api.github.com/users/fs111/received_events","type":"User","site_admin":false,"score":1.0},{"login":"michenriksen","id":304361,"avatar_url":"https://avatars.githubusercontent.com/u/304361","gravatar_id":"7c0502249dda76254c701c5e1137a0aa","url":"https://api.github.com/users/michenriksen","html_url":"https://github.com/michenriksen","followers_url":"https://api.github.com/users/michenriksen/followers","following_url":"https://api.github.com/users/michenriksen/following{/other_user}","gists_url":"https://api.github.com/users/michenriksen/gists{/gist_id}","starred_url":"https://api.github.com/users/michenriksen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michenriksen/subscriptions","organizations_url":"https://api.github.com/users/michenriksen/orgs","repos_url":"https://api.github.com/users/michenriksen/repos","events_url":"https://api.github.com/users/michenriksen/events{/privacy}","received_events_url":"https://api.github.com/users/michenriksen/received_events","type":"User","site_admin":false,"score":1.0},{"login":"witsch","id":62399,"avatar_url":"https://avatars.githubusercontent.com/u/62399","gravatar_id":"7cf2293059661ac8866757f9fcc6da34","url":"https://api.github.com/users/witsch","html_url":"https://github.com/witsch","followers_url":"https://api.github.com/users/witsch/followers","following_url":"https://api.github.com/users/witsch/following{/other_user}","gists_url":"https://api.github.com/users/witsch/gists{/gist_id}","starred_url":"https://api.github.com/users/witsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/witsch/subscriptions","organizations_url":"https://api.github.com/users/witsch/orgs","repos_url":"https://api.github.com/users/witsch/repos","events_url":"https://api.github.com/users/witsch/events{/privacy}","received_events_url":"https://api.github.com/users/witsch/received_events","type":"User","site_admin":false,"score":1.0},{"login":"booo","id":424513,"avatar_url":"https://avatars.githubusercontent.com/u/424513","gravatar_id":"6febfecfcdb7f473a82e9383bd9772fb","url":"https://api.github.com/users/booo","html_url":"https://github.com/booo","followers_url":"https://api.github.com/users/booo/followers","following_url":"https://api.github.com/users/booo/following{/other_user}","gists_url":"https://api.github.com/users/booo/gists{/gist_id}","starred_url":"https://api.github.com/users/booo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/booo/subscriptions","organizations_url":"https://api.github.com/users/booo/orgs","repos_url":"https://api.github.com/users/booo/repos","events_url":"https://api.github.com/users/booo/events{/privacy}","received_events_url":"https://api.github.com/users/booo/received_events","type":"User","site_admin":false,"score":1.0},{"login":"mortice","id":60826,"avatar_url":"https://avatars.githubusercontent.com/u/60826","gravatar_id":"adcd8d8f37a83e7ed102cd1df3e95298","url":"https://api.github.com/users/mortice","html_url":"https://github.com/mortice","followers_url":"https://api.github.com/users/mortice/followers","following_url":"https://api.github.com/users/mortice/following{/other_user}","gists_url":"https://api.github.com/users/mortice/gists{/gist_id}","starred_url":"https://api.github.com/users/mortice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mortice/subscriptions","organizations_url":"https://api.github.com/users/mortice/orgs","repos_url":"https://api.github.com/users/mortice/repos","events_url":"https://api.github.com/users/mortice/events{/privacy}","received_events_url":"https://api.github.com/users/mortice/received_events","type":"User","site_admin":false,"score":1.0},{"login":"r0man","id":21566,"avatar_url":"https://avatars.githubusercontent.com/u/21566","gravatar_id":"d934ff33907d9f03a1ffc2a88cb9e1af","url":"https://api.github.com/users/r0man","html_url":"https://github.com/r0man","followers_url":"https://api.github.com/users/r0man/followers","following_url":"https://api.github.com/users/r0man/following{/other_user}","gists_url":"https://api.github.com/users/r0man/gists{/gist_id}","starred_url":"https://api.github.com/users/r0man/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r0man/subscriptions","organizations_url":"https://api.github.com/users/r0man/orgs","repos_url":"https://api.github.com/users/r0man/repos","events_url":"https://api.github.com/users/r0man/events{/privacy}","received_events_url":"https://api.github.com/users/r0man/received_events","type":"User","site_admin":false,"score":1.0},{"login":"MikeBild","id":179382,"avatar_url":"https://avatars.githubusercontent.com/u/179382","gravatar_id":"15b3eec086d1a876111411537ffa8413","url":"https://api.github.com/users/MikeBild","html_url":"https://github.com/MikeBild","followers_url":"https://api.github.com/users/MikeBild/followers","following_url":"https://api.github.com/users/MikeBild/following{/other_user}","gists_url":"https://api.github.com/users/MikeBild/gists{/gist_id}","starred_url":"https://api.github.com/users/MikeBild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikeBild/subscriptions","organizations_url":"https://api.github.com/users/MikeBild/orgs","repos_url":"https://api.github.com/users/MikeBild/repos","events_url":"https://api.github.com/users/MikeBild/events{/privacy}","received_events_url":"https://api.github.com/users/MikeBild/received_events","type":"User","site_admin":false,"score":1.0},{"login":"mhagger","id":119718,"avatar_url":"https://avatars.githubusercontent.com/u/119718","gravatar_id":"67d45b2f8a93ea8131342d196f27be99","url":"https://api.github.com/users/mhagger","html_url":"https://github.com/mhagger","followers_url":"https://api.github.com/users/mhagger/followers","following_url":"https://api.github.com/users/mhagger/following{/other_user}","gists_url":"https://api.github.com/users/mhagger/gists{/gist_id}","starred_url":"https://api.github.com/users/mhagger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhagger/subscriptions","organizations_url":"https://api.github.com/users/mhagger/orgs","repos_url":"https://api.github.com/users/mhagger/repos","events_url":"https://api.github.com/users/mhagger/events{/privacy}","received_events_url":"https://api.github.com/users/mhagger/received_events","type":"User","site_admin":true,"score":1.0},{"login":"bkw","id":60910,"avatar_url":"https://avatars.githubusercontent.com/u/60910","gravatar_id":"ba794f1084b2a876705e2679c197c630","url":"https://api.github.com/users/bkw","html_url":"https://github.com/bkw","followers_url":"https://api.github.com/users/bkw/followers","following_url":"https://api.github.com/users/bkw/following{/other_user}","gists_url":"https://api.github.com/users/bkw/gists{/gist_id}","starred_url":"https://api.github.com/users/bkw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkw/subscriptions","organizations_url":"https://api.github.com/users/bkw/orgs","repos_url":"https://api.github.com/users/bkw/repos","events_url":"https://api.github.com/users/bkw/events{/privacy}","received_events_url":"https://api.github.com/users/bkw/received_events","type":"User","site_admin":false,"score":1.0},{"login":"fwbrasil","id":831175,"avatar_url":"https://avatars.githubusercontent.com/u/831175","gravatar_id":"3a2dbcd6a4b28903a6a39a5a9c00f0bb","url":"https://api.github.com/users/fwbrasil","html_url":"https://github.com/fwbrasil","followers_url":"https://api.github.com/users/fwbrasil/followers","following_url":"https://api.github.com/users/fwbrasil/following{/other_user}","gists_url":"https://api.github.com/users/fwbrasil/gists{/gist_id}","starred_url":"https://api.github.com/users/fwbrasil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwbrasil/subscriptions","organizations_url":"https://api.github.com/users/fwbrasil/orgs","repos_url":"https://api.github.com/users/fwbrasil/repos","events_url":"https://api.github.com/users/fwbrasil/events{/privacy}","received_events_url":"https://api.github.com/users/fwbrasil/received_events","type":"User","site_admin":false,"score":1.0},{"login":"mschneider","id":144124,"avatar_url":"https://avatars.githubusercontent.com/u/144124","gravatar_id":"d6fcf10b07508fa819e43598a9364016","url":"https://api.github.com/users/mschneider","html_url":"https://github.com/mschneider","followers_url":"https://api.github.com/users/mschneider/followers","following_url":"https://api.github.com/users/mschneider/following{/other_user}","gists_url":"https://api.github.com/users/mschneider/gists{/gist_id}","starred_url":"https://api.github.com/users/mschneider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mschneider/subscriptions","organizations_url":"https://api.github.com/users/mschneider/orgs","repos_url":"https://api.github.com/users/mschneider/repos","events_url":"https://api.github.com/users/mschneider/events{/privacy}","received_events_url":"https://api.github.com/users/mschneider/received_events","type":"User","site_admin":false,"score":1.0},{"login":"lydiapintscher","id":550412,"avatar_url":"https://avatars.githubusercontent.com/u/550412","gravatar_id":"a3e09b63b153e2138fd56928544a0901","url":"https://api.github.com/users/lydiapintscher","html_url":"https://github.com/lydiapintscher","followers_url":"https://api.github.com/users/lydiapintscher/followers","following_url":"https://api.github.com/users/lydiapintscher/following{/other_user}","gists_url":"https://api.github.com/users/lydiapintscher/gists{/gist_id}","starred_url":"https://api.github.com/users/lydiapintscher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydiapintscher/subscriptions","organizations_url":"https://api.github.com/users/lydiapintscher/orgs","repos_url":"https://api.github.com/users/lydiapintscher/repos","events_url":"https://api.github.com/users/lydiapintscher/events{/privacy}","received_events_url":"https://api.github.com/users/lydiapintscher/received_events","type":"User","site_admin":false,"score":1.0},{"login":"asksven","id":891487,"avatar_url":"https://avatars.githubusercontent.com/u/891487","gravatar_id":"068ef694daab72710635a5f60d5fd08b","url":"https://api.github.com/users/asksven","html_url":"https://github.com/asksven","followers_url":"https://api.github.com/users/asksven/followers","following_url":"https://api.github.com/users/asksven/following{/other_user}","gists_url":"https://api.github.com/users/asksven/gists{/gist_id}","starred_url":"https://api.github.com/users/asksven/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asksven/subscriptions","organizations_url":"https://api.github.com/users/asksven/orgs","repos_url":"https://api.github.com/users/asksven/repos","events_url":"https://api.github.com/users/asksven/events{/privacy}","received_events_url":"https://api.github.com/users/asksven/received_events","type":"User","site_admin":false,"score":1.0},{"login":"iamtimm","id":2601332,"avatar_url":"https://avatars.githubusercontent.com/u/2601332","gravatar_id":"7d1da2510e4628fd4a4650eee2d01747","url":"https://api.github.com/users/iamtimm","html_url":"https://github.com/iamtimm","followers_url":"https://api.github.com/users/iamtimm/followers","following_url":"https://api.github.com/users/iamtimm/following{/other_user}","gists_url":"https://api.github.com/users/iamtimm/gists{/gist_id}","starred_url":"https://api.github.com/users/iamtimm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iamtimm/subscriptions","organizations_url":"https://api.github.com/users/iamtimm/orgs","repos_url":"https://api.github.com/users/iamtimm/repos","events_url":"https://api.github.com/users/iamtimm/events{/privacy}","received_events_url":"https://api.github.com/users/iamtimm/received_events","type":"User","site_admin":false,"score":1.0},{"login":"sneak","id":408977,"avatar_url":"https://avatars.githubusercontent.com/u/408977","gravatar_id":"c8d86b06ffa43423112215dc8c2a86c4","url":"https://api.github.com/users/sneak","html_url":"https://github.com/sneak","followers_url":"https://api.github.com/users/sneak/followers","following_url":"https://api.github.com/users/sneak/following{/other_user}","gists_url":"https://api.github.com/users/sneak/gists{/gist_id}","starred_url":"https://api.github.com/users/sneak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sneak/subscriptions","organizations_url":"https://api.github.com/users/sneak/orgs","repos_url":"https://api.github.com/users/sneak/repos","events_url":"https://api.github.com/users/sneak/events{/privacy}","received_events_url":"https://api.github.com/users/sneak/received_events","type":"User","site_admin":false,"score":1.0},{"login":"kr1sp1n","id":64247,"avatar_url":"https://avatars.githubusercontent.com/u/64247","gravatar_id":"d390a0b22b684675c6127d81b025f94e","url":"https://api.github.com/users/kr1sp1n","html_url":"https://github.com/kr1sp1n","followers_url":"https://api.github.com/users/kr1sp1n/followers","following_url":"https://api.github.com/users/kr1sp1n/following{/other_user}","gists_url":"https://api.github.com/users/kr1sp1n/gists{/gist_id}","starred_url":"https://api.github.com/users/kr1sp1n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kr1sp1n/subscriptions","organizations_url":"https://api.github.com/users/kr1sp1n/orgs","repos_url":"https://api.github.com/users/kr1sp1n/repos","events_url":"https://api.github.com/users/kr1sp1n/events{/privacy}","received_events_url":"https://api.github.com/users/kr1sp1n/received_events","type":"User","site_admin":false,"score":1.0},{"login":"Feh","id":175304,"avatar_url":"https://avatars.githubusercontent.com/u/175304","gravatar_id":"5e7c02ac35afb08e9caf01a85ce2a2eb","url":"https://api.github.com/users/Feh","html_url":"https://github.com/Feh","followers_url":"https://api.github.com/users/Feh/followers","following_url":"https://api.github.com/users/Feh/following{/other_user}","gists_url":"https://api.github.com/users/Feh/gists{/gist_id}","starred_url":"https://api.github.com/users/Feh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Feh/subscriptions","organizations_url":"https://api.github.com/users/Feh/orgs","repos_url":"https://api.github.com/users/Feh/repos","events_url":"https://api.github.com/users/Feh/events{/privacy}","received_events_url":"https://api.github.com/users/Feh/received_events","type":"User","site_admin":false,"score":1.0},{"login":"GordonLesti","id":1677744,"avatar_url":"https://avatars.githubusercontent.com/u/1677744","gravatar_id":"1a3cb8af5f5c0874ec777febdb606d6f","url":"https://api.github.com/users/GordonLesti","html_url":"https://github.com/GordonLesti","followers_url":"https://api.github.com/users/GordonLesti/followers","following_url":"https://api.github.com/users/GordonLesti/following{/other_user}","gists_url":"https://api.github.com/users/GordonLesti/gists{/gist_id}","starred_url":"https://api.github.com/users/GordonLesti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GordonLesti/subscriptions","organizations_url":"https://api.github.com/users/GordonLesti/orgs","repos_url":"https://api.github.com/users/GordonLesti/repos","events_url":"https://api.github.com/users/GordonLesti/events{/privacy}","received_events_url":"https://api.github.com/users/GordonLesti/received_events","type":"User","site_admin":false,"score":1.0},{"login":"annismckenzie","id":16936,"avatar_url":"https://avatars.githubusercontent.com/u/16936","gravatar_id":"d54c62322c39f914fb2ec6a31df5f314","url":"https://api.github.com/users/annismckenzie","html_url":"https://github.com/annismckenzie","followers_url":"https://api.github.com/users/annismckenzie/followers","following_url":"https://api.github.com/users/annismckenzie/following{/other_user}","gists_url":"https://api.github.com/users/annismckenzie/gists{/gist_id}","starred_url":"https://api.github.com/users/annismckenzie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annismckenzie/subscriptions","organizations_url":"https://api.github.com/users/annismckenzie/orgs","repos_url":"https://api.github.com/users/annismckenzie/repos","events_url":"https://api.github.com/users/annismckenzie/events{/privacy}","received_events_url":"https://api.github.com/users/annismckenzie/received_events","type":"User","site_admin":false,"score":1.0},{"login":"eskimoblood","id":72060,"avatar_url":"https://avatars.githubusercontent.com/u/72060","gravatar_id":"7831f9c652845c34091da263b689cc25","url":"https://api.github.com/users/eskimoblood","html_url":"https://github.com/eskimoblood","followers_url":"https://api.github.com/users/eskimoblood/followers","following_url":"https://api.github.com/users/eskimoblood/following{/other_user}","gists_url":"https://api.github.com/users/eskimoblood/gists{/gist_id}","starred_url":"https://api.github.com/users/eskimoblood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eskimoblood/subscriptions","organizations_url":"https://api.github.com/users/eskimoblood/orgs","repos_url":"https://api.github.com/users/eskimoblood/repos","events_url":"https://api.github.com/users/eskimoblood/events{/privacy}","received_events_url":"https://api.github.com/users/eskimoblood/received_events","type":"User","site_admin":false,"score":1.0},{"login":"tsujigiri","id":140724,"avatar_url":"https://avatars.githubusercontent.com/u/140724","gravatar_id":"370046731ae754e32236667a7036472a","url":"https://api.github.com/users/tsujigiri","html_url":"https://github.com/tsujigiri","followers_url":"https://api.github.com/users/tsujigiri/followers","following_url":"https://api.github.com/users/tsujigiri/following{/other_user}","gists_url":"https://api.github.com/users/tsujigiri/gists{/gist_id}","starred_url":"https://api.github.com/users/tsujigiri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsujigiri/subscriptions","organizations_url":"https://api.github.com/users/tsujigiri/orgs","repos_url":"https://api.github.com/users/tsujigiri/repos","events_url":"https://api.github.com/users/tsujigiri/events{/privacy}","received_events_url":"https://api.github.com/users/tsujigiri/received_events","type":"User","site_admin":false,"score":1.0},{"login":"riethmayer","id":67637,"avatar_url":"https://avatars.githubusercontent.com/u/67637","gravatar_id":"788dec4942d6108c2cfb3ff2a9fb37ca","url":"https://api.github.com/users/riethmayer","html_url":"https://github.com/riethmayer","followers_url":"https://api.github.com/users/riethmayer/followers","following_url":"https://api.github.com/users/riethmayer/following{/other_user}","gists_url":"https://api.github.com/users/riethmayer/gists{/gist_id}","starred_url":"https://api.github.com/users/riethmayer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riethmayer/subscriptions","organizations_url":"https://api.github.com/users/riethmayer/orgs","repos_url":"https://api.github.com/users/riethmayer/repos","events_url":"https://api.github.com/users/riethmayer/events{/privacy}","received_events_url":"https://api.github.com/users/riethmayer/received_events","type":"User","site_admin":false,"score":1.0},{"login":"lauritzthamsen","id":556044,"avatar_url":"https://avatars.githubusercontent.com/u/556044","gravatar_id":"16ee936c089903268be2b45e2912a8de","url":"https://api.github.com/users/lauritzthamsen","html_url":"https://github.com/lauritzthamsen","followers_url":"https://api.github.com/users/lauritzthamsen/followers","following_url":"https://api.github.com/users/lauritzthamsen/following{/other_user}","gists_url":"https://api.github.com/users/lauritzthamsen/gists{/gist_id}","starred_url":"https://api.github.com/users/lauritzthamsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lauritzthamsen/subscriptions","organizations_url":"https://api.github.com/users/lauritzthamsen/orgs","repos_url":"https://api.github.com/users/lauritzthamsen/repos","events_url":"https://api.github.com/users/lauritzthamsen/events{/privacy}","received_events_url":"https://api.github.com/users/lauritzthamsen/received_events","type":"User","site_admin":false,"score":1.0},{"login":"scotchi","id":170209,"avatar_url":"https://avatars.githubusercontent.com/u/170209","gravatar_id":"295ea5568fc6b52a41574ccabf76ce70","url":"https://api.github.com/users/scotchi","html_url":"https://github.com/scotchi","followers_url":"https://api.github.com/users/scotchi/followers","following_url":"https://api.github.com/users/scotchi/following{/other_user}","gists_url":"https://api.github.com/users/scotchi/gists{/gist_id}","starred_url":"https://api.github.com/users/scotchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scotchi/subscriptions","organizations_url":"https://api.github.com/users/scotchi/orgs","repos_url":"https://api.github.com/users/scotchi/repos","events_url":"https://api.github.com/users/scotchi/events{/privacy}","received_events_url":"https://api.github.com/users/scotchi/received_events","type":"User","site_admin":false,"score":1.0},{"login":"peritor","id":19754,"avatar_url":"https://avatars.githubusercontent.com/u/19754","gravatar_id":"c6c996b515a38003257b23e1c22056b3","url":"https://api.github.com/users/peritor","html_url":"https://github.com/peritor","followers_url":"https://api.github.com/users/peritor/followers","following_url":"https://api.github.com/users/peritor/following{/other_user}","gists_url":"https://api.github.com/users/peritor/gists{/gist_id}","starred_url":"https://api.github.com/users/peritor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peritor/subscriptions","organizations_url":"https://api.github.com/users/peritor/orgs","repos_url":"https://api.github.com/users/peritor/repos","events_url":"https://api.github.com/users/peritor/events{/privacy}","received_events_url":"https://api.github.com/users/peritor/received_events","type":"User","site_admin":false,"score":1.0},{"login":"toto","id":15453,"avatar_url":"https://avatars.githubusercontent.com/u/15453","gravatar_id":"6eab17f85e011d0724f95b61953ee5dd","url":"https://api.github.com/users/toto","html_url":"https://github.com/toto","followers_url":"https://api.github.com/users/toto/followers","following_url":"https://api.github.com/users/toto/following{/other_user}","gists_url":"https://api.github.com/users/toto/gists{/gist_id}","starred_url":"https://api.github.com/users/toto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toto/subscriptions","organizations_url":"https://api.github.com/users/toto/orgs","repos_url":"https://api.github.com/users/toto/repos","events_url":"https://api.github.com/users/toto/events{/privacy}","received_events_url":"https://api.github.com/users/toto/received_events","type":"User","site_admin":false,"score":1.0},{"login":"hwaxxer","id":104157,"avatar_url":"https://avatars.githubusercontent.com/u/104157","gravatar_id":"8b6c22c70116677f4d653b17fd52b373","url":"https://api.github.com/users/hwaxxer","html_url":"https://github.com/hwaxxer","followers_url":"https://api.github.com/users/hwaxxer/followers","following_url":"https://api.github.com/users/hwaxxer/following{/other_user}","gists_url":"https://api.github.com/users/hwaxxer/gists{/gist_id}","starred_url":"https://api.github.com/users/hwaxxer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hwaxxer/subscriptions","organizations_url":"https://api.github.com/users/hwaxxer/orgs","repos_url":"https://api.github.com/users/hwaxxer/repos","events_url":"https://api.github.com/users/hwaxxer/events{/privacy}","received_events_url":"https://api.github.com/users/hwaxxer/received_events","type":"User","site_admin":false,"score":1.0},{"login":"lukaszklis","id":11782,"avatar_url":"https://avatars.githubusercontent.com/u/11782","gravatar_id":"7a30aca2cf9658558247348b3be8c35e","url":"https://api.github.com/users/lukaszklis","html_url":"https://github.com/lukaszklis","followers_url":"https://api.github.com/users/lukaszklis/followers","following_url":"https://api.github.com/users/lukaszklis/following{/other_user}","gists_url":"https://api.github.com/users/lukaszklis/gists{/gist_id}","starred_url":"https://api.github.com/users/lukaszklis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukaszklis/subscriptions","organizations_url":"https://api.github.com/users/lukaszklis/orgs","repos_url":"https://api.github.com/users/lukaszklis/repos","events_url":"https://api.github.com/users/lukaszklis/events{/privacy}","received_events_url":"https://api.github.com/users/lukaszklis/received_events","type":"User","site_admin":false,"score":1.0}]} - diff --git a/github/tests/ReplayData/Search.testPaginateSearchUsers.txt b/github/tests/ReplayData/Search.testPaginateSearchUsers.txt deleted file mode 100644 index caec365..0000000 --- a/github/tests/ReplayData/Search.testPaginateSearchUsers.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/search/users?q=location%3ABerlin -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '28'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:3E9B:2DF95ED:5314034D'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '26660'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:21:33 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393820529')] -{"total_count":6038,"items":[{"login":"cloudhead","id":40774,"avatar_url":"https://avatars.githubusercontent.com/u/40774","gravatar_id":"a8a0061962c41735ca87789720da46c8","url":"https://api.github.com/users/cloudhead","html_url":"https://github.com/cloudhead","followers_url":"https://api.github.com/users/cloudhead/followers","following_url":"https://api.github.com/users/cloudhead/following{/other_user}","gists_url":"https://api.github.com/users/cloudhead/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudhead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudhead/subscriptions","organizations_url":"https://api.github.com/users/cloudhead/orgs","repos_url":"https://api.github.com/users/cloudhead/repos","events_url":"https://api.github.com/users/cloudhead/events{/privacy}","received_events_url":"https://api.github.com/users/cloudhead/received_events","type":"User","site_admin":false,"score":1.0},{"login":"felixge","id":15000,"avatar_url":"https://avatars.githubusercontent.com/u/15000","gravatar_id":"23968f0ca75b13463d2db5343e5c2096","url":"https://api.github.com/users/felixge","html_url":"https://github.com/felixge","followers_url":"https://api.github.com/users/felixge/followers","following_url":"https://api.github.com/users/felixge/following{/other_user}","gists_url":"https://api.github.com/users/felixge/gists{/gist_id}","starred_url":"https://api.github.com/users/felixge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felixge/subscriptions","organizations_url":"https://api.github.com/users/felixge/orgs","repos_url":"https://api.github.com/users/felixge/repos","events_url":"https://api.github.com/users/felixge/events{/privacy}","received_events_url":"https://api.github.com/users/felixge/received_events","type":"User","site_admin":false,"score":1.0},{"login":"sferik","id":10308,"avatar_url":"https://avatars.githubusercontent.com/u/10308","gravatar_id":"1f74b13f1e5c6c69cb5d7fbaabb1e2cb","url":"https://api.github.com/users/sferik","html_url":"https://github.com/sferik","followers_url":"https://api.github.com/users/sferik/followers","following_url":"https://api.github.com/users/sferik/following{/other_user}","gists_url":"https://api.github.com/users/sferik/gists{/gist_id}","starred_url":"https://api.github.com/users/sferik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sferik/subscriptions","organizations_url":"https://api.github.com/users/sferik/orgs","repos_url":"https://api.github.com/users/sferik/repos","events_url":"https://api.github.com/users/sferik/events{/privacy}","received_events_url":"https://api.github.com/users/sferik/received_events","type":"User","site_admin":false,"score":1.0},{"login":"rkh","id":30442,"avatar_url":"https://avatars.githubusercontent.com/u/30442","gravatar_id":"5c2b452f6eea4a6d84c105ebd971d2a4","url":"https://api.github.com/users/rkh","html_url":"https://github.com/rkh","followers_url":"https://api.github.com/users/rkh/followers","following_url":"https://api.github.com/users/rkh/following{/other_user}","gists_url":"https://api.github.com/users/rkh/gists{/gist_id}","starred_url":"https://api.github.com/users/rkh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkh/subscriptions","organizations_url":"https://api.github.com/users/rkh/orgs","repos_url":"https://api.github.com/users/rkh/repos","events_url":"https://api.github.com/users/rkh/events{/privacy}","received_events_url":"https://api.github.com/users/rkh/received_events","type":"User","site_admin":false,"score":1.0},{"login":"jezdez","id":1610,"avatar_url":"https://avatars.githubusercontent.com/u/1610","gravatar_id":"cf3595fa166bfb4106211e1697f39f94","url":"https://api.github.com/users/jezdez","html_url":"https://github.com/jezdez","followers_url":"https://api.github.com/users/jezdez/followers","following_url":"https://api.github.com/users/jezdez/following{/other_user}","gists_url":"https://api.github.com/users/jezdez/gists{/gist_id}","starred_url":"https://api.github.com/users/jezdez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jezdez/subscriptions","organizations_url":"https://api.github.com/users/jezdez/orgs","repos_url":"https://api.github.com/users/jezdez/repos","events_url":"https://api.github.com/users/jezdez/events{/privacy}","received_events_url":"https://api.github.com/users/jezdez/received_events","type":"User","site_admin":false,"score":1.0},{"login":"janl","id":11321,"avatar_url":"https://avatars.githubusercontent.com/u/11321","gravatar_id":"2af516fdc33afea661fb3b32c769c9cc","url":"https://api.github.com/users/janl","html_url":"https://github.com/janl","followers_url":"https://api.github.com/users/janl/followers","following_url":"https://api.github.com/users/janl/following{/other_user}","gists_url":"https://api.github.com/users/janl/gists{/gist_id}","starred_url":"https://api.github.com/users/janl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janl/subscriptions","organizations_url":"https://api.github.com/users/janl/orgs","repos_url":"https://api.github.com/users/janl/repos","events_url":"https://api.github.com/users/janl/events{/privacy}","received_events_url":"https://api.github.com/users/janl/received_events","type":"User","site_admin":false,"score":1.0},{"login":"marijnh","id":144427,"avatar_url":"https://avatars.githubusercontent.com/u/144427","gravatar_id":"f6a35c85d26694e26bb92ea4d4262c77","url":"https://api.github.com/users/marijnh","html_url":"https://github.com/marijnh","followers_url":"https://api.github.com/users/marijnh/followers","following_url":"https://api.github.com/users/marijnh/following{/other_user}","gists_url":"https://api.github.com/users/marijnh/gists{/gist_id}","starred_url":"https://api.github.com/users/marijnh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marijnh/subscriptions","organizations_url":"https://api.github.com/users/marijnh/orgs","repos_url":"https://api.github.com/users/marijnh/repos","events_url":"https://api.github.com/users/marijnh/events{/privacy}","received_events_url":"https://api.github.com/users/marijnh/received_events","type":"User","site_admin":false,"score":1.0},{"login":"nikic","id":216080,"avatar_url":"https://avatars.githubusercontent.com/u/216080","gravatar_id":"b4ec98df44deb80b1576283152670358","url":"https://api.github.com/users/nikic","html_url":"https://github.com/nikic","followers_url":"https://api.github.com/users/nikic/followers","following_url":"https://api.github.com/users/nikic/following{/other_user}","gists_url":"https://api.github.com/users/nikic/gists{/gist_id}","starred_url":"https://api.github.com/users/nikic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikic/subscriptions","organizations_url":"https://api.github.com/users/nikic/orgs","repos_url":"https://api.github.com/users/nikic/repos","events_url":"https://api.github.com/users/nikic/events{/privacy}","received_events_url":"https://api.github.com/users/nikic/received_events","type":"User","site_admin":false,"score":1.0},{"login":"igorw","id":88061,"avatar_url":"https://avatars.githubusercontent.com/u/88061","gravatar_id":"eb42ff31986f5ed1d97580819134d702","url":"https://api.github.com/users/igorw","html_url":"https://github.com/igorw","followers_url":"https://api.github.com/users/igorw/followers","following_url":"https://api.github.com/users/igorw/following{/other_user}","gists_url":"https://api.github.com/users/igorw/gists{/gist_id}","starred_url":"https://api.github.com/users/igorw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorw/subscriptions","organizations_url":"https://api.github.com/users/igorw/orgs","repos_url":"https://api.github.com/users/igorw/repos","events_url":"https://api.github.com/users/igorw/events{/privacy}","received_events_url":"https://api.github.com/users/igorw/received_events","type":"User","site_admin":false,"score":1.0},{"login":"froschi","id":155937,"avatar_url":"https://avatars.githubusercontent.com/u/155937","gravatar_id":"858c28ab91c7635d63ccf1a9e0c54b7f","url":"https://api.github.com/users/froschi","html_url":"https://github.com/froschi","followers_url":"https://api.github.com/users/froschi/followers","following_url":"https://api.github.com/users/froschi/following{/other_user}","gists_url":"https://api.github.com/users/froschi/gists{/gist_id}","starred_url":"https://api.github.com/users/froschi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/froschi/subscriptions","organizations_url":"https://api.github.com/users/froschi/orgs","repos_url":"https://api.github.com/users/froschi/repos","events_url":"https://api.github.com/users/froschi/events{/privacy}","received_events_url":"https://api.github.com/users/froschi/received_events","type":"User","site_admin":false,"score":1.0},{"login":"svenfuchs","id":2208,"avatar_url":"https://avatars.githubusercontent.com/u/2208","gravatar_id":"2f042f300d1249917adf6f13d3f698b2","url":"https://api.github.com/users/svenfuchs","html_url":"https://github.com/svenfuchs","followers_url":"https://api.github.com/users/svenfuchs/followers","following_url":"https://api.github.com/users/svenfuchs/following{/other_user}","gists_url":"https://api.github.com/users/svenfuchs/gists{/gist_id}","starred_url":"https://api.github.com/users/svenfuchs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svenfuchs/subscriptions","organizations_url":"https://api.github.com/users/svenfuchs/orgs","repos_url":"https://api.github.com/users/svenfuchs/repos","events_url":"https://api.github.com/users/svenfuchs/events{/privacy}","received_events_url":"https://api.github.com/users/svenfuchs/received_events","type":"User","site_admin":false,"score":1.0},{"login":"omz","id":82469,"avatar_url":"https://avatars.githubusercontent.com/u/82469","gravatar_id":"922171743c2bc912e98a423df1d91499","url":"https://api.github.com/users/omz","html_url":"https://github.com/omz","followers_url":"https://api.github.com/users/omz/followers","following_url":"https://api.github.com/users/omz/following{/other_user}","gists_url":"https://api.github.com/users/omz/gists{/gist_id}","starred_url":"https://api.github.com/users/omz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omz/subscriptions","organizations_url":"https://api.github.com/users/omz/orgs","repos_url":"https://api.github.com/users/omz/repos","events_url":"https://api.github.com/users/omz/events{/privacy}","received_events_url":"https://api.github.com/users/omz/received_events","type":"User","site_admin":false,"score":1.0},{"login":"chad","id":237,"avatar_url":"https://avatars.githubusercontent.com/u/237","gravatar_id":"77f306388bb6ae00ac0b0401e27cdc99","url":"https://api.github.com/users/chad","html_url":"https://github.com/chad","followers_url":"https://api.github.com/users/chad/followers","following_url":"https://api.github.com/users/chad/following{/other_user}","gists_url":"https://api.github.com/users/chad/gists{/gist_id}","starred_url":"https://api.github.com/users/chad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chad/subscriptions","organizations_url":"https://api.github.com/users/chad/orgs","repos_url":"https://api.github.com/users/chad/repos","events_url":"https://api.github.com/users/chad/events{/privacy}","received_events_url":"https://api.github.com/users/chad/received_events","type":"User","site_admin":false,"score":1.0},{"login":"bergie","id":3346,"avatar_url":"https://avatars.githubusercontent.com/u/3346","gravatar_id":"995f27ce7205a79c55d4e44223cd6de0","url":"https://api.github.com/users/bergie","html_url":"https://github.com/bergie","followers_url":"https://api.github.com/users/bergie/followers","following_url":"https://api.github.com/users/bergie/following{/other_user}","gists_url":"https://api.github.com/users/bergie/gists{/gist_id}","starred_url":"https://api.github.com/users/bergie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bergie/subscriptions","organizations_url":"https://api.github.com/users/bergie/orgs","repos_url":"https://api.github.com/users/bergie/repos","events_url":"https://api.github.com/users/bergie/events{/privacy}","received_events_url":"https://api.github.com/users/bergie/received_events","type":"User","site_admin":false,"score":1.0},{"login":"roidrage","id":5373,"avatar_url":"https://avatars.githubusercontent.com/u/5373","gravatar_id":"4d9dd9bd8d3d4d0ba8af2acc41d14006","url":"https://api.github.com/users/roidrage","html_url":"https://github.com/roidrage","followers_url":"https://api.github.com/users/roidrage/followers","following_url":"https://api.github.com/users/roidrage/following{/other_user}","gists_url":"https://api.github.com/users/roidrage/gists{/gist_id}","starred_url":"https://api.github.com/users/roidrage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roidrage/subscriptions","organizations_url":"https://api.github.com/users/roidrage/orgs","repos_url":"https://api.github.com/users/roidrage/repos","events_url":"https://api.github.com/users/roidrage/events{/privacy}","received_events_url":"https://api.github.com/users/roidrage/received_events","type":"User","site_admin":false,"score":1.0},{"login":"pcalcado","id":7781,"avatar_url":"https://avatars.githubusercontent.com/u/7781","gravatar_id":"47ebffbfed2c317687211c7745eec80d","url":"https://api.github.com/users/pcalcado","html_url":"https://github.com/pcalcado","followers_url":"https://api.github.com/users/pcalcado/followers","following_url":"https://api.github.com/users/pcalcado/following{/other_user}","gists_url":"https://api.github.com/users/pcalcado/gists{/gist_id}","starred_url":"https://api.github.com/users/pcalcado/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcalcado/subscriptions","organizations_url":"https://api.github.com/users/pcalcado/orgs","repos_url":"https://api.github.com/users/pcalcado/repos","events_url":"https://api.github.com/users/pcalcado/events{/privacy}","received_events_url":"https://api.github.com/users/pcalcado/received_events","type":"User","site_admin":false,"score":1.0},{"login":"durran","id":9030,"avatar_url":"https://avatars.githubusercontent.com/u/9030","gravatar_id":"6f09262a13427532461b0b618d445b1e","url":"https://api.github.com/users/durran","html_url":"https://github.com/durran","followers_url":"https://api.github.com/users/durran/followers","following_url":"https://api.github.com/users/durran/following{/other_user}","gists_url":"https://api.github.com/users/durran/gists{/gist_id}","starred_url":"https://api.github.com/users/durran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/durran/subscriptions","organizations_url":"https://api.github.com/users/durran/orgs","repos_url":"https://api.github.com/users/durran/repos","events_url":"https://api.github.com/users/durran/events{/privacy}","received_events_url":"https://api.github.com/users/durran/received_events","type":"User","site_admin":false,"score":1.0},{"login":"hukl","id":25157,"avatar_url":"https://avatars.githubusercontent.com/u/25157","gravatar_id":"0273cfca70ccb1caa0914cfc28e219e9","url":"https://api.github.com/users/hukl","html_url":"https://github.com/hukl","followers_url":"https://api.github.com/users/hukl/followers","following_url":"https://api.github.com/users/hukl/following{/other_user}","gists_url":"https://api.github.com/users/hukl/gists{/gist_id}","starred_url":"https://api.github.com/users/hukl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hukl/subscriptions","organizations_url":"https://api.github.com/users/hukl/orgs","repos_url":"https://api.github.com/users/hukl/repos","events_url":"https://api.github.com/users/hukl/events{/privacy}","received_events_url":"https://api.github.com/users/hukl/received_events","type":"User","site_admin":false,"score":1.0},{"login":"mttkay","id":102802,"avatar_url":"https://avatars.githubusercontent.com/u/102802","gravatar_id":"5cfa38a7e54e6c6a850dc6169a699246","url":"https://api.github.com/users/mttkay","html_url":"https://github.com/mttkay","followers_url":"https://api.github.com/users/mttkay/followers","following_url":"https://api.github.com/users/mttkay/following{/other_user}","gists_url":"https://api.github.com/users/mttkay/gists{/gist_id}","starred_url":"https://api.github.com/users/mttkay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mttkay/subscriptions","organizations_url":"https://api.github.com/users/mttkay/orgs","repos_url":"https://api.github.com/users/mttkay/repos","events_url":"https://api.github.com/users/mttkay/events{/privacy}","received_events_url":"https://api.github.com/users/mttkay/received_events","type":"User","site_admin":false,"score":1.0},{"login":"aFarkas","id":188254,"avatar_url":"https://avatars.githubusercontent.com/u/188254","gravatar_id":"5c4f4e081b98517cf7c5b21f47d9fe33","url":"https://api.github.com/users/aFarkas","html_url":"https://github.com/aFarkas","followers_url":"https://api.github.com/users/aFarkas/followers","following_url":"https://api.github.com/users/aFarkas/following{/other_user}","gists_url":"https://api.github.com/users/aFarkas/gists{/gist_id}","starred_url":"https://api.github.com/users/aFarkas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aFarkas/subscriptions","organizations_url":"https://api.github.com/users/aFarkas/orgs","repos_url":"https://api.github.com/users/aFarkas/repos","events_url":"https://api.github.com/users/aFarkas/events{/privacy}","received_events_url":"https://api.github.com/users/aFarkas/received_events","type":"User","site_admin":false,"score":1.0},{"login":"ole","id":5010,"avatar_url":"https://avatars.githubusercontent.com/u/5010","gravatar_id":"d0efc09d023fa0569a2479c9dcfd4620","url":"https://api.github.com/users/ole","html_url":"https://github.com/ole","followers_url":"https://api.github.com/users/ole/followers","following_url":"https://api.github.com/users/ole/following{/other_user}","gists_url":"https://api.github.com/users/ole/gists{/gist_id}","starred_url":"https://api.github.com/users/ole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ole/subscriptions","organizations_url":"https://api.github.com/users/ole/orgs","repos_url":"https://api.github.com/users/ole/repos","events_url":"https://api.github.com/users/ole/events{/privacy}","received_events_url":"https://api.github.com/users/ole/received_events","type":"User","site_admin":false,"score":1.0},{"login":"hagenburger","id":103399,"avatar_url":"https://avatars.githubusercontent.com/u/103399","gravatar_id":"d72ec8b81ac92d0e58a6b88145c548c2","url":"https://api.github.com/users/hagenburger","html_url":"https://github.com/hagenburger","followers_url":"https://api.github.com/users/hagenburger/followers","following_url":"https://api.github.com/users/hagenburger/following{/other_user}","gists_url":"https://api.github.com/users/hagenburger/gists{/gist_id}","starred_url":"https://api.github.com/users/hagenburger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hagenburger/subscriptions","organizations_url":"https://api.github.com/users/hagenburger/orgs","repos_url":"https://api.github.com/users/hagenburger/repos","events_url":"https://api.github.com/users/hagenburger/events{/privacy}","received_events_url":"https://api.github.com/users/hagenburger/received_events","type":"User","site_admin":false,"score":1.0},{"login":"jberkel","id":18891,"avatar_url":"https://avatars.githubusercontent.com/u/18891","gravatar_id":"7c02e94043800ebd486cc25963a47b81","url":"https://api.github.com/users/jberkel","html_url":"https://github.com/jberkel","followers_url":"https://api.github.com/users/jberkel/followers","following_url":"https://api.github.com/users/jberkel/following{/other_user}","gists_url":"https://api.github.com/users/jberkel/gists{/gist_id}","starred_url":"https://api.github.com/users/jberkel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jberkel/subscriptions","organizations_url":"https://api.github.com/users/jberkel/orgs","repos_url":"https://api.github.com/users/jberkel/repos","events_url":"https://api.github.com/users/jberkel/events{/privacy}","received_events_url":"https://api.github.com/users/jberkel/received_events","type":"User","site_admin":false,"score":1.0},{"login":"naderman","id":154844,"avatar_url":"https://avatars.githubusercontent.com/u/154844","gravatar_id":"9f580202b05cc640aa9297ab7a1ae764","url":"https://api.github.com/users/naderman","html_url":"https://github.com/naderman","followers_url":"https://api.github.com/users/naderman/followers","following_url":"https://api.github.com/users/naderman/following{/other_user}","gists_url":"https://api.github.com/users/naderman/gists{/gist_id}","starred_url":"https://api.github.com/users/naderman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naderman/subscriptions","organizations_url":"https://api.github.com/users/naderman/orgs","repos_url":"https://api.github.com/users/naderman/repos","events_url":"https://api.github.com/users/naderman/events{/privacy}","received_events_url":"https://api.github.com/users/naderman/received_events","type":"User","site_admin":false,"score":1.0},{"login":"joshk","id":8701,"avatar_url":"https://avatars.githubusercontent.com/u/8701","gravatar_id":"21b21efe14359ec323f9a70464b91e39","url":"https://api.github.com/users/joshk","html_url":"https://github.com/joshk","followers_url":"https://api.github.com/users/joshk/followers","following_url":"https://api.github.com/users/joshk/following{/other_user}","gists_url":"https://api.github.com/users/joshk/gists{/gist_id}","starred_url":"https://api.github.com/users/joshk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshk/subscriptions","organizations_url":"https://api.github.com/users/joshk/orgs","repos_url":"https://api.github.com/users/joshk/repos","events_url":"https://api.github.com/users/joshk/events{/privacy}","received_events_url":"https://api.github.com/users/joshk/received_events","type":"User","site_admin":false,"score":1.0},{"login":"pudo","id":41628,"avatar_url":"https://avatars.githubusercontent.com/u/41628","gravatar_id":"6d7d4aa2b3f1602705b599cdd5dc72bd","url":"https://api.github.com/users/pudo","html_url":"https://github.com/pudo","followers_url":"https://api.github.com/users/pudo/followers","following_url":"https://api.github.com/users/pudo/following{/other_user}","gists_url":"https://api.github.com/users/pudo/gists{/gist_id}","starred_url":"https://api.github.com/users/pudo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pudo/subscriptions","organizations_url":"https://api.github.com/users/pudo/orgs","repos_url":"https://api.github.com/users/pudo/repos","events_url":"https://api.github.com/users/pudo/events{/privacy}","received_events_url":"https://api.github.com/users/pudo/received_events","type":"User","site_admin":false,"score":1.0},{"login":"robb","id":212465,"avatar_url":"https://avatars.githubusercontent.com/u/212465","gravatar_id":"b00d4ed5d1e6cb9fc840167820247515","url":"https://api.github.com/users/robb","html_url":"https://github.com/robb","followers_url":"https://api.github.com/users/robb/followers","following_url":"https://api.github.com/users/robb/following{/other_user}","gists_url":"https://api.github.com/users/robb/gists{/gist_id}","starred_url":"https://api.github.com/users/robb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robb/subscriptions","organizations_url":"https://api.github.com/users/robb/orgs","repos_url":"https://api.github.com/users/robb/repos","events_url":"https://api.github.com/users/robb/events{/privacy}","received_events_url":"https://api.github.com/users/robb/received_events","type":"User","site_admin":false,"score":1.0},{"login":"josephwilk","id":9792,"avatar_url":"https://avatars.githubusercontent.com/u/9792","gravatar_id":"3c28deaff162aeda44f2e0bcdca1dacf","url":"https://api.github.com/users/josephwilk","html_url":"https://github.com/josephwilk","followers_url":"https://api.github.com/users/josephwilk/followers","following_url":"https://api.github.com/users/josephwilk/following{/other_user}","gists_url":"https://api.github.com/users/josephwilk/gists{/gist_id}","starred_url":"https://api.github.com/users/josephwilk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josephwilk/subscriptions","organizations_url":"https://api.github.com/users/josephwilk/orgs","repos_url":"https://api.github.com/users/josephwilk/repos","events_url":"https://api.github.com/users/josephwilk/events{/privacy}","received_events_url":"https://api.github.com/users/josephwilk/received_events","type":"User","site_admin":false,"score":1.0},{"login":"hanshuebner","id":108751,"avatar_url":"https://avatars.githubusercontent.com/u/108751","gravatar_id":"280d76aa82179ae04550534649de1e6e","url":"https://api.github.com/users/hanshuebner","html_url":"https://github.com/hanshuebner","followers_url":"https://api.github.com/users/hanshuebner/followers","following_url":"https://api.github.com/users/hanshuebner/following{/other_user}","gists_url":"https://api.github.com/users/hanshuebner/gists{/gist_id}","starred_url":"https://api.github.com/users/hanshuebner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hanshuebner/subscriptions","organizations_url":"https://api.github.com/users/hanshuebner/orgs","repos_url":"https://api.github.com/users/hanshuebner/repos","events_url":"https://api.github.com/users/hanshuebner/events{/privacy}","received_events_url":"https://api.github.com/users/hanshuebner/received_events","type":"User","site_admin":false,"score":1.0},{"login":"txus","id":83234,"avatar_url":"https://avatars.githubusercontent.com/u/83234","gravatar_id":"3db71281264f6125e764d9f3788301e0","url":"https://api.github.com/users/txus","html_url":"https://github.com/txus","followers_url":"https://api.github.com/users/txus/followers","following_url":"https://api.github.com/users/txus/following{/other_user}","gists_url":"https://api.github.com/users/txus/gists{/gist_id}","starred_url":"https://api.github.com/users/txus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/txus/subscriptions","organizations_url":"https://api.github.com/users/txus/orgs","repos_url":"https://api.github.com/users/txus/repos","events_url":"https://api.github.com/users/txus/events{/privacy}","received_events_url":"https://api.github.com/users/txus/received_events","type":"User","site_admin":false,"score":1.0}]} - -https -GET -api.github.com -None -/search/users?q=location%3ABerlin&page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '27'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:3E9D:3FD6319:5314034D'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '27211'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:21:34 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393820529')] -{"total_count":6038,"items":[{"login":"paulasmuth","id":564023,"avatar_url":"https://avatars.githubusercontent.com/u/564023","gravatar_id":"79f6cb1c222265cabb12781893faaea6","url":"https://api.github.com/users/paulasmuth","html_url":"https://github.com/paulasmuth","followers_url":"https://api.github.com/users/paulasmuth/followers","following_url":"https://api.github.com/users/paulasmuth/following{/other_user}","gists_url":"https://api.github.com/users/paulasmuth/gists{/gist_id}","starred_url":"https://api.github.com/users/paulasmuth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulasmuth/subscriptions","organizations_url":"https://api.github.com/users/paulasmuth/orgs","repos_url":"https://api.github.com/users/paulasmuth/repos","events_url":"https://api.github.com/users/paulasmuth/events{/privacy}","received_events_url":"https://api.github.com/users/paulasmuth/received_events","type":"User","site_admin":false,"score":1.0},{"login":"splitbrain","id":86426,"avatar_url":"https://avatars.githubusercontent.com/u/86426","gravatar_id":"b6b4d7dbe3fb7cf61b68e36cd80f8698","url":"https://api.github.com/users/splitbrain","html_url":"https://github.com/splitbrain","followers_url":"https://api.github.com/users/splitbrain/followers","following_url":"https://api.github.com/users/splitbrain/following{/other_user}","gists_url":"https://api.github.com/users/splitbrain/gists{/gist_id}","starred_url":"https://api.github.com/users/splitbrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/splitbrain/subscriptions","organizations_url":"https://api.github.com/users/splitbrain/orgs","repos_url":"https://api.github.com/users/splitbrain/repos","events_url":"https://api.github.com/users/splitbrain/events{/privacy}","received_events_url":"https://api.github.com/users/splitbrain/received_events","type":"User","site_admin":false,"score":1.0},{"login":"langalex","id":2173,"avatar_url":"https://avatars.githubusercontent.com/u/2173","gravatar_id":"920993ef8f677cc1be50fde5ce8cb4bb","url":"https://api.github.com/users/langalex","html_url":"https://github.com/langalex","followers_url":"https://api.github.com/users/langalex/followers","following_url":"https://api.github.com/users/langalex/following{/other_user}","gists_url":"https://api.github.com/users/langalex/gists{/gist_id}","starred_url":"https://api.github.com/users/langalex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/langalex/subscriptions","organizations_url":"https://api.github.com/users/langalex/orgs","repos_url":"https://api.github.com/users/langalex/repos","events_url":"https://api.github.com/users/langalex/events{/privacy}","received_events_url":"https://api.github.com/users/langalex/received_events","type":"User","site_admin":false,"score":1.0},{"login":"bendiken","id":4963,"avatar_url":"https://avatars.githubusercontent.com/u/4963","gravatar_id":"c29341e85441dfee17716b528747ec12","url":"https://api.github.com/users/bendiken","html_url":"https://github.com/bendiken","followers_url":"https://api.github.com/users/bendiken/followers","following_url":"https://api.github.com/users/bendiken/following{/other_user}","gists_url":"https://api.github.com/users/bendiken/gists{/gist_id}","starred_url":"https://api.github.com/users/bendiken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bendiken/subscriptions","organizations_url":"https://api.github.com/users/bendiken/orgs","repos_url":"https://api.github.com/users/bendiken/repos","events_url":"https://api.github.com/users/bendiken/events{/privacy}","received_events_url":"https://api.github.com/users/bendiken/received_events","type":"User","site_admin":false,"score":1.0},{"login":"stefanw","id":78356,"avatar_url":"https://avatars.githubusercontent.com/u/78356","gravatar_id":"81a78ca8264a3fa56ddb24cc9f57a818","url":"https://api.github.com/users/stefanw","html_url":"https://github.com/stefanw","followers_url":"https://api.github.com/users/stefanw/followers","following_url":"https://api.github.com/users/stefanw/following{/other_user}","gists_url":"https://api.github.com/users/stefanw/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanw/subscriptions","organizations_url":"https://api.github.com/users/stefanw/orgs","repos_url":"https://api.github.com/users/stefanw/repos","events_url":"https://api.github.com/users/stefanw/events{/privacy}","received_events_url":"https://api.github.com/users/stefanw/received_events","type":"User","site_admin":false,"score":1.0},{"login":"timpritlove","id":119680,"avatar_url":"https://avatars.githubusercontent.com/u/119680","gravatar_id":"97391367796db965d19e63b690e72b3d","url":"https://api.github.com/users/timpritlove","html_url":"https://github.com/timpritlove","followers_url":"https://api.github.com/users/timpritlove/followers","following_url":"https://api.github.com/users/timpritlove/following{/other_user}","gists_url":"https://api.github.com/users/timpritlove/gists{/gist_id}","starred_url":"https://api.github.com/users/timpritlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timpritlove/subscriptions","organizations_url":"https://api.github.com/users/timpritlove/orgs","repos_url":"https://api.github.com/users/timpritlove/repos","events_url":"https://api.github.com/users/timpritlove/events{/privacy}","received_events_url":"https://api.github.com/users/timpritlove/received_events","type":"User","site_admin":false,"score":1.0},{"login":"AndrewRadev","id":124255,"avatar_url":"https://avatars.githubusercontent.com/u/124255","gravatar_id":"fc59401781a26b10f5d4fc5b758fb3b7","url":"https://api.github.com/users/AndrewRadev","html_url":"https://github.com/AndrewRadev","followers_url":"https://api.github.com/users/AndrewRadev/followers","following_url":"https://api.github.com/users/AndrewRadev/following{/other_user}","gists_url":"https://api.github.com/users/AndrewRadev/gists{/gist_id}","starred_url":"https://api.github.com/users/AndrewRadev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndrewRadev/subscriptions","organizations_url":"https://api.github.com/users/AndrewRadev/orgs","repos_url":"https://api.github.com/users/AndrewRadev/repos","events_url":"https://api.github.com/users/AndrewRadev/events{/privacy}","received_events_url":"https://api.github.com/users/AndrewRadev/received_events","type":"User","site_admin":false,"score":1.0},{"login":"knutin","id":364484,"avatar_url":"https://avatars.githubusercontent.com/u/364484","gravatar_id":"ca58f2819d0f9964efdfeaa0b6c9ebaf","url":"https://api.github.com/users/knutin","html_url":"https://github.com/knutin","followers_url":"https://api.github.com/users/knutin/followers","following_url":"https://api.github.com/users/knutin/following{/other_user}","gists_url":"https://api.github.com/users/knutin/gists{/gist_id}","starred_url":"https://api.github.com/users/knutin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knutin/subscriptions","organizations_url":"https://api.github.com/users/knutin/orgs","repos_url":"https://api.github.com/users/knutin/repos","events_url":"https://api.github.com/users/knutin/events{/privacy}","received_events_url":"https://api.github.com/users/knutin/received_events","type":"User","site_admin":false,"score":1.0},{"login":"kkaefer","id":52399,"avatar_url":"https://avatars.githubusercontent.com/u/52399","gravatar_id":"d3586b91137e12d1f521d07f118a187e","url":"https://api.github.com/users/kkaefer","html_url":"https://github.com/kkaefer","followers_url":"https://api.github.com/users/kkaefer/followers","following_url":"https://api.github.com/users/kkaefer/following{/other_user}","gists_url":"https://api.github.com/users/kkaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/kkaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkaefer/subscriptions","organizations_url":"https://api.github.com/users/kkaefer/orgs","repos_url":"https://api.github.com/users/kkaefer/repos","events_url":"https://api.github.com/users/kkaefer/events{/privacy}","received_events_url":"https://api.github.com/users/kkaefer/received_events","type":"User","site_admin":false,"score":1.0},{"login":"carhartl","id":21918,"avatar_url":"https://avatars.githubusercontent.com/u/21918","gravatar_id":"ae8c6ae27f6b9d5707bc5a32d0fb21a6","url":"https://api.github.com/users/carhartl","html_url":"https://github.com/carhartl","followers_url":"https://api.github.com/users/carhartl/followers","following_url":"https://api.github.com/users/carhartl/following{/other_user}","gists_url":"https://api.github.com/users/carhartl/gists{/gist_id}","starred_url":"https://api.github.com/users/carhartl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carhartl/subscriptions","organizations_url":"https://api.github.com/users/carhartl/orgs","repos_url":"https://api.github.com/users/carhartl/repos","events_url":"https://api.github.com/users/carhartl/events{/privacy}","received_events_url":"https://api.github.com/users/carhartl/received_events","type":"User","site_admin":false,"score":1.0},{"login":"chriseidhof","id":5382,"avatar_url":"https://avatars.githubusercontent.com/u/5382","gravatar_id":"ade0c334ecff1448bb96f5f733bf1f83","url":"https://api.github.com/users/chriseidhof","html_url":"https://github.com/chriseidhof","followers_url":"https://api.github.com/users/chriseidhof/followers","following_url":"https://api.github.com/users/chriseidhof/following{/other_user}","gists_url":"https://api.github.com/users/chriseidhof/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseidhof/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseidhof/subscriptions","organizations_url":"https://api.github.com/users/chriseidhof/orgs","repos_url":"https://api.github.com/users/chriseidhof/repos","events_url":"https://api.github.com/users/chriseidhof/events{/privacy}","received_events_url":"https://api.github.com/users/chriseidhof/received_events","type":"User","site_admin":false,"score":1.0},{"login":"deanm","id":56582,"avatar_url":"https://avatars.githubusercontent.com/u/56582","gravatar_id":"8013da4cb41399860f264aa8dbd28912","url":"https://api.github.com/users/deanm","html_url":"https://github.com/deanm","followers_url":"https://api.github.com/users/deanm/followers","following_url":"https://api.github.com/users/deanm/following{/other_user}","gists_url":"https://api.github.com/users/deanm/gists{/gist_id}","starred_url":"https://api.github.com/users/deanm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deanm/subscriptions","organizations_url":"https://api.github.com/users/deanm/orgs","repos_url":"https://api.github.com/users/deanm/repos","events_url":"https://api.github.com/users/deanm/events{/privacy}","received_events_url":"https://api.github.com/users/deanm/received_events","type":"User","site_admin":false,"score":1.0},{"login":"plu","id":31597,"avatar_url":"https://avatars.githubusercontent.com/u/31597","gravatar_id":"cacc359ee20d3423087f957241cffd2b","url":"https://api.github.com/users/plu","html_url":"https://github.com/plu","followers_url":"https://api.github.com/users/plu/followers","following_url":"https://api.github.com/users/plu/following{/other_user}","gists_url":"https://api.github.com/users/plu/gists{/gist_id}","starred_url":"https://api.github.com/users/plu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plu/subscriptions","organizations_url":"https://api.github.com/users/plu/orgs","repos_url":"https://api.github.com/users/plu/repos","events_url":"https://api.github.com/users/plu/events{/privacy}","received_events_url":"https://api.github.com/users/plu/received_events","type":"User","site_admin":false,"score":1.0},{"login":"netroy","id":196144,"avatar_url":"https://avatars.githubusercontent.com/u/196144","gravatar_id":"9a86cafc047f2c2766660e61eeb9be80","url":"https://api.github.com/users/netroy","html_url":"https://github.com/netroy","followers_url":"https://api.github.com/users/netroy/followers","following_url":"https://api.github.com/users/netroy/following{/other_user}","gists_url":"https://api.github.com/users/netroy/gists{/gist_id}","starred_url":"https://api.github.com/users/netroy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netroy/subscriptions","organizations_url":"https://api.github.com/users/netroy/orgs","repos_url":"https://api.github.com/users/netroy/repos","events_url":"https://api.github.com/users/netroy/events{/privacy}","received_events_url":"https://api.github.com/users/netroy/received_events","type":"User","site_admin":false,"score":1.0},{"login":"343max","id":33906,"avatar_url":"https://avatars.githubusercontent.com/u/33906","gravatar_id":"deea421f48d4fe384e65f52bf33005bc","url":"https://api.github.com/users/343max","html_url":"https://github.com/343max","followers_url":"https://api.github.com/users/343max/followers","following_url":"https://api.github.com/users/343max/following{/other_user}","gists_url":"https://api.github.com/users/343max/gists{/gist_id}","starred_url":"https://api.github.com/users/343max/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/343max/subscriptions","organizations_url":"https://api.github.com/users/343max/orgs","repos_url":"https://api.github.com/users/343max/repos","events_url":"https://api.github.com/users/343max/events{/privacy}","received_events_url":"https://api.github.com/users/343max/received_events","type":"User","site_admin":false,"score":1.0},{"login":"janlelis","id":111510,"avatar_url":"https://avatars.githubusercontent.com/u/111510","gravatar_id":"901b686e3824cd357b169ac7ce431b1b","url":"https://api.github.com/users/janlelis","html_url":"https://github.com/janlelis","followers_url":"https://api.github.com/users/janlelis/followers","following_url":"https://api.github.com/users/janlelis/following{/other_user}","gists_url":"https://api.github.com/users/janlelis/gists{/gist_id}","starred_url":"https://api.github.com/users/janlelis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janlelis/subscriptions","organizations_url":"https://api.github.com/users/janlelis/orgs","repos_url":"https://api.github.com/users/janlelis/repos","events_url":"https://api.github.com/users/janlelis/events{/privacy}","received_events_url":"https://api.github.com/users/janlelis/received_events","type":"User","site_admin":false,"score":1.0},{"login":"lstoll","id":694,"avatar_url":"https://avatars.githubusercontent.com/u/694","gravatar_id":"016e1583dcc7cb2b435b7607c1bce58f","url":"https://api.github.com/users/lstoll","html_url":"https://github.com/lstoll","followers_url":"https://api.github.com/users/lstoll/followers","following_url":"https://api.github.com/users/lstoll/following{/other_user}","gists_url":"https://api.github.com/users/lstoll/gists{/gist_id}","starred_url":"https://api.github.com/users/lstoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lstoll/subscriptions","organizations_url":"https://api.github.com/users/lstoll/orgs","repos_url":"https://api.github.com/users/lstoll/repos","events_url":"https://api.github.com/users/lstoll/events{/privacy}","received_events_url":"https://api.github.com/users/lstoll/received_events","type":"User","site_admin":true,"score":1.0},{"login":"panique","id":156321,"avatar_url":"https://avatars.githubusercontent.com/u/156321","gravatar_id":"ba916cb1c1327b700cf2f753684c2b4f","url":"https://api.github.com/users/panique","html_url":"https://github.com/panique","followers_url":"https://api.github.com/users/panique/followers","following_url":"https://api.github.com/users/panique/following{/other_user}","gists_url":"https://api.github.com/users/panique/gists{/gist_id}","starred_url":"https://api.github.com/users/panique/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/panique/subscriptions","organizations_url":"https://api.github.com/users/panique/orgs","repos_url":"https://api.github.com/users/panique/repos","events_url":"https://api.github.com/users/panique/events{/privacy}","received_events_url":"https://api.github.com/users/panique/received_events","type":"User","site_admin":false,"score":1.0},{"login":"ddfreyne","id":6269,"avatar_url":"https://avatars.githubusercontent.com/u/6269","gravatar_id":"be732ee41fd3038aa98a0a7e7b7be081","url":"https://api.github.com/users/ddfreyne","html_url":"https://github.com/ddfreyne","followers_url":"https://api.github.com/users/ddfreyne/followers","following_url":"https://api.github.com/users/ddfreyne/following{/other_user}","gists_url":"https://api.github.com/users/ddfreyne/gists{/gist_id}","starred_url":"https://api.github.com/users/ddfreyne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddfreyne/subscriptions","organizations_url":"https://api.github.com/users/ddfreyne/orgs","repos_url":"https://api.github.com/users/ddfreyne/repos","events_url":"https://api.github.com/users/ddfreyne/events{/privacy}","received_events_url":"https://api.github.com/users/ddfreyne/received_events","type":"User","site_admin":false,"score":1.0},{"login":"marinho","id":4506,"avatar_url":"https://avatars.githubusercontent.com/u/4506","gravatar_id":"ba8d6cfcd9997a75b2ce7afc7bf79444","url":"https://api.github.com/users/marinho","html_url":"https://github.com/marinho","followers_url":"https://api.github.com/users/marinho/followers","following_url":"https://api.github.com/users/marinho/following{/other_user}","gists_url":"https://api.github.com/users/marinho/gists{/gist_id}","starred_url":"https://api.github.com/users/marinho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marinho/subscriptions","organizations_url":"https://api.github.com/users/marinho/orgs","repos_url":"https://api.github.com/users/marinho/repos","events_url":"https://api.github.com/users/marinho/events{/privacy}","received_events_url":"https://api.github.com/users/marinho/received_events","type":"User","site_admin":false,"score":1.0},{"login":"infusion","id":197742,"avatar_url":"https://avatars.githubusercontent.com/u/197742","gravatar_id":"7c6a030ccf1fddcec6ea428d6171a79d","url":"https://api.github.com/users/infusion","html_url":"https://github.com/infusion","followers_url":"https://api.github.com/users/infusion/followers","following_url":"https://api.github.com/users/infusion/following{/other_user}","gists_url":"https://api.github.com/users/infusion/gists{/gist_id}","starred_url":"https://api.github.com/users/infusion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infusion/subscriptions","organizations_url":"https://api.github.com/users/infusion/orgs","repos_url":"https://api.github.com/users/infusion/repos","events_url":"https://api.github.com/users/infusion/events{/privacy}","received_events_url":"https://api.github.com/users/infusion/received_events","type":"User","site_admin":false,"score":1.0},{"login":"keyboardsurfer","id":336005,"avatar_url":"https://avatars.githubusercontent.com/u/336005","gravatar_id":"d2a06312762581d504ba0a25e5a90def","url":"https://api.github.com/users/keyboardsurfer","html_url":"https://github.com/keyboardsurfer","followers_url":"https://api.github.com/users/keyboardsurfer/followers","following_url":"https://api.github.com/users/keyboardsurfer/following{/other_user}","gists_url":"https://api.github.com/users/keyboardsurfer/gists{/gist_id}","starred_url":"https://api.github.com/users/keyboardsurfer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keyboardsurfer/subscriptions","organizations_url":"https://api.github.com/users/keyboardsurfer/orgs","repos_url":"https://api.github.com/users/keyboardsurfer/repos","events_url":"https://api.github.com/users/keyboardsurfer/events{/privacy}","received_events_url":"https://api.github.com/users/keyboardsurfer/received_events","type":"User","site_admin":false,"score":1.0},{"login":"tcurdt","id":13697,"avatar_url":"https://avatars.githubusercontent.com/u/13697","gravatar_id":"cdf5f524330ccabaeda576749a34a30b","url":"https://api.github.com/users/tcurdt","html_url":"https://github.com/tcurdt","followers_url":"https://api.github.com/users/tcurdt/followers","following_url":"https://api.github.com/users/tcurdt/following{/other_user}","gists_url":"https://api.github.com/users/tcurdt/gists{/gist_id}","starred_url":"https://api.github.com/users/tcurdt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tcurdt/subscriptions","organizations_url":"https://api.github.com/users/tcurdt/orgs","repos_url":"https://api.github.com/users/tcurdt/repos","events_url":"https://api.github.com/users/tcurdt/events{/privacy}","received_events_url":"https://api.github.com/users/tcurdt/received_events","type":"User","site_admin":false,"score":1.0},{"login":"theophani","id":364246,"avatar_url":"https://avatars.githubusercontent.com/u/364246","gravatar_id":"7b1746f5ae99453e6a67f022ec0d73bd","url":"https://api.github.com/users/theophani","html_url":"https://github.com/theophani","followers_url":"https://api.github.com/users/theophani/followers","following_url":"https://api.github.com/users/theophani/following{/other_user}","gists_url":"https://api.github.com/users/theophani/gists{/gist_id}","starred_url":"https://api.github.com/users/theophani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theophani/subscriptions","organizations_url":"https://api.github.com/users/theophani/orgs","repos_url":"https://api.github.com/users/theophani/repos","events_url":"https://api.github.com/users/theophani/events{/privacy}","received_events_url":"https://api.github.com/users/theophani/received_events","type":"User","site_admin":false,"score":1.0},{"login":"till","id":27003,"avatar_url":"https://avatars.githubusercontent.com/u/27003","gravatar_id":"b33d0462e6324cce17b09a83f349aaac","url":"https://api.github.com/users/till","html_url":"https://github.com/till","followers_url":"https://api.github.com/users/till/followers","following_url":"https://api.github.com/users/till/following{/other_user}","gists_url":"https://api.github.com/users/till/gists{/gist_id}","starred_url":"https://api.github.com/users/till/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/till/subscriptions","organizations_url":"https://api.github.com/users/till/orgs","repos_url":"https://api.github.com/users/till/repos","events_url":"https://api.github.com/users/till/events{/privacy}","received_events_url":"https://api.github.com/users/till/received_events","type":"User","site_admin":false,"score":1.0},{"login":"cebe","id":189796,"avatar_url":"https://avatars.githubusercontent.com/u/189796","gravatar_id":"2ebfe57beabd0b9f8eb9ded1237a275d","url":"https://api.github.com/users/cebe","html_url":"https://github.com/cebe","followers_url":"https://api.github.com/users/cebe/followers","following_url":"https://api.github.com/users/cebe/following{/other_user}","gists_url":"https://api.github.com/users/cebe/gists{/gist_id}","starred_url":"https://api.github.com/users/cebe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cebe/subscriptions","organizations_url":"https://api.github.com/users/cebe/orgs","repos_url":"https://api.github.com/users/cebe/repos","events_url":"https://api.github.com/users/cebe/events{/privacy}","received_events_url":"https://api.github.com/users/cebe/received_events","type":"User","site_admin":false,"score":1.0},{"login":"amery","id":131371,"avatar_url":"https://avatars.githubusercontent.com/u/131371","gravatar_id":"ddf8b09b2681ad4abe831b5e3c05cff0","url":"https://api.github.com/users/amery","html_url":"https://github.com/amery","followers_url":"https://api.github.com/users/amery/followers","following_url":"https://api.github.com/users/amery/following{/other_user}","gists_url":"https://api.github.com/users/amery/gists{/gist_id}","starred_url":"https://api.github.com/users/amery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amery/subscriptions","organizations_url":"https://api.github.com/users/amery/orgs","repos_url":"https://api.github.com/users/amery/repos","events_url":"https://api.github.com/users/amery/events{/privacy}","received_events_url":"https://api.github.com/users/amery/received_events","type":"User","site_admin":false,"score":1.0},{"login":"myabc","id":755,"avatar_url":"https://avatars.githubusercontent.com/u/755","gravatar_id":"9b1a71682de14fc6fc2b944a9c4814a0","url":"https://api.github.com/users/myabc","html_url":"https://github.com/myabc","followers_url":"https://api.github.com/users/myabc/followers","following_url":"https://api.github.com/users/myabc/following{/other_user}","gists_url":"https://api.github.com/users/myabc/gists{/gist_id}","starred_url":"https://api.github.com/users/myabc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myabc/subscriptions","organizations_url":"https://api.github.com/users/myabc/orgs","repos_url":"https://api.github.com/users/myabc/repos","events_url":"https://api.github.com/users/myabc/events{/privacy}","received_events_url":"https://api.github.com/users/myabc/received_events","type":"User","site_admin":false,"score":1.0},{"login":"telekommunisten","id":420921,"avatar_url":"https://avatars.githubusercontent.com/u/420921","gravatar_id":"307848b658ef6b70e72b416ce40699ae","url":"https://api.github.com/users/telekommunisten","html_url":"https://github.com/telekommunisten","followers_url":"https://api.github.com/users/telekommunisten/followers","following_url":"https://api.github.com/users/telekommunisten/following{/other_user}","gists_url":"https://api.github.com/users/telekommunisten/gists{/gist_id}","starred_url":"https://api.github.com/users/telekommunisten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telekommunisten/subscriptions","organizations_url":"https://api.github.com/users/telekommunisten/orgs","repos_url":"https://api.github.com/users/telekommunisten/repos","events_url":"https://api.github.com/users/telekommunisten/events{/privacy}","received_events_url":"https://api.github.com/users/telekommunisten/received_events","type":"User","site_admin":false,"score":1.0},{"login":"kilaulena","id":25003,"avatar_url":"https://avatars.githubusercontent.com/u/25003","gravatar_id":"7712d746190ebd449f9c4bc042f44c21","url":"https://api.github.com/users/kilaulena","html_url":"https://github.com/kilaulena","followers_url":"https://api.github.com/users/kilaulena/followers","following_url":"https://api.github.com/users/kilaulena/following{/other_user}","gists_url":"https://api.github.com/users/kilaulena/gists{/gist_id}","starred_url":"https://api.github.com/users/kilaulena/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kilaulena/subscriptions","organizations_url":"https://api.github.com/users/kilaulena/orgs","repos_url":"https://api.github.com/users/kilaulena/repos","events_url":"https://api.github.com/users/kilaulena/events{/privacy}","received_events_url":"https://api.github.com/users/kilaulena/received_events","type":"User","site_admin":false,"score":1.0}]} - diff --git a/github/tests/ReplayData/Search.testSearchCode.txt b/github/tests/ReplayData/Search.testSearchCode.txt deleted file mode 100644 index 875670e..0000000 --- a/github/tests/ReplayData/Search.testSearchCode.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/search/code?sort=indexed&q=toto+user%3Ajacquev6&order=asc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:5372:9C29CCF:53140AF6'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '64108'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:54:14 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393822514')] -{"total_count":14,"items":[{"name":"Commit.setUp.txt","path":"github/tests/ReplayData/Commit.setUp.txt","sha":"eb063311ef37a1444a98c9f98acfed2b4caaa738","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/Commit.setUp.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/eb063311ef37a1444a98c9f98acfed2b4caaa738","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/Commit.setUp.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.31651077},{"name":"PullRequest.testGetFiles.txt","path":"github/tests/ReplayData/PullRequest.testGetFiles.txt","sha":"97a6a8d14dc4eaebabe88601278692d043ebf4b3","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/PullRequest.testGetFiles.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/97a6a8d14dc4eaebabe88601278692d043ebf4b3","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/PullRequest.testGetFiles.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.3538698},{"name":"NamedUser.testGetEvents.txt","path":"github/tests/ReplayData/NamedUser.testGetEvents.txt","sha":"610e6982d26448feda25e48e6530e9dc5fba0552","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/NamedUser.testGetEvents.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/610e6982d26448feda25e48e6530e9dc5fba0552","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/NamedUser.testGetEvents.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.19583106},{"name":"PullRequest.testCreateComment.txt","path":"github/tests/ReplayData/PullRequest.testCreateComment.txt","sha":"d824a0dffe1db17686d9d06e443149db7b0aa123","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/PullRequest.testCreateComment.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/d824a0dffe1db17686d9d06e443149db7b0aa123","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/PullRequest.testCreateComment.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.13055404},{"name":"PullRequestFile.setUp.txt","path":"github/tests/ReplayData/PullRequestFile.setUp.txt","sha":"ee7a1cc64967d71455191e61d5a835042778bf2a","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/PullRequestFile.setUp.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/ee7a1cc64967d71455191e61d5a835042778bf2a","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/PullRequestFile.setUp.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.2948915},{"name":"Repository.testGetIssuesWithWildcards.txt","path":"github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt","sha":"d33415c8f5339e8d6431b5a2fd50af14e433fb21","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/d33415c8f5339e8d6431b5a2fd50af14e433fb21","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/Repository.testGetIssuesWithWildcards.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.18650576},{"name":"Repository.testGetIssuesWithArguments.txt","path":"github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt","sha":"702c33332bd6ba81a5abd68cf8add0f3b8fa1689","url":"https://api.github.com/repositories/3544490/contents/github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git_url":"https://api.github.com/repositories/3544490/git/blobs/702c33332bd6ba81a5abd68cf8add0f3b8fa1689","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/Repository.testGetIssuesWithArguments.txt","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.10550359},{"name":"test_ebnf.cpp","path":"src/Test/test_ebnf.cpp","sha":"3453702d8354388f62645ac34a94421670bf9c26","url":"https://api.github.com/repositories/767392/contents/src/Test/test_ebnf.cpp?ref=0cd3b287335286a7cf98e26e4939a4065a023028","git_url":"https://api.github.com/repositories/767392/git/blobs/3453702d8354388f62645ac34a94421670bf9c26","html_url":"https://github.com/jacquev6/DrawSyntax/blob/0cd3b287335286a7cf98e26e4939a4065a023028/src/Test/test_ebnf.cpp","repository":{"id":767392,"name":"DrawSyntax","full_name":"jacquev6/DrawSyntax","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/DrawSyntax","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","fork":false,"url":"https://api.github.com/repos/jacquev6/DrawSyntax","forks_url":"https://api.github.com/repos/jacquev6/DrawSyntax/forks","keys_url":"https://api.github.com/repos/jacquev6/DrawSyntax/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/DrawSyntax/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/DrawSyntax/teams","hooks_url":"https://api.github.com/repos/jacquev6/DrawSyntax/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/DrawSyntax/events","assignees_url":"https://api.github.com/repos/jacquev6/DrawSyntax/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/DrawSyntax/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/DrawSyntax/tags","blobs_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/DrawSyntax/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/DrawSyntax/languages","stargazers_url":"https://api.github.com/repos/jacquev6/DrawSyntax/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/DrawSyntax/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/DrawSyntax/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/DrawSyntax/subscription","commits_url":"https://api.github.com/repos/jacquev6/DrawSyntax/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/DrawSyntax/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/DrawSyntax/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/DrawSyntax/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/DrawSyntax/merges","archive_url":"https://api.github.com/repos/jacquev6/DrawSyntax/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/DrawSyntax/downloads","issues_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/DrawSyntax/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/DrawSyntax/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/DrawSyntax/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/DrawSyntax/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/DrawSyntax/releases{/id}"},"score":1.475756},{"name":"test_abnf.cpp","path":"src/Test/test_abnf.cpp","sha":"d00d8527290dd4ce0c9bfe5604ac492e9664d468","url":"https://api.github.com/repositories/767392/contents/src/Test/test_abnf.cpp?ref=0cd3b287335286a7cf98e26e4939a4065a023028","git_url":"https://api.github.com/repositories/767392/git/blobs/d00d8527290dd4ce0c9bfe5604ac492e9664d468","html_url":"https://github.com/jacquev6/DrawSyntax/blob/0cd3b287335286a7cf98e26e4939a4065a023028/src/Test/test_abnf.cpp","repository":{"id":767392,"name":"DrawSyntax","full_name":"jacquev6/DrawSyntax","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/DrawSyntax","description":"Draw syntax diagrams from EBNF grammars. API in C++ and Python. Try it online.","fork":false,"url":"https://api.github.com/repos/jacquev6/DrawSyntax","forks_url":"https://api.github.com/repos/jacquev6/DrawSyntax/forks","keys_url":"https://api.github.com/repos/jacquev6/DrawSyntax/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/DrawSyntax/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/DrawSyntax/teams","hooks_url":"https://api.github.com/repos/jacquev6/DrawSyntax/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/DrawSyntax/events","assignees_url":"https://api.github.com/repos/jacquev6/DrawSyntax/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/DrawSyntax/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/DrawSyntax/tags","blobs_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/DrawSyntax/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/DrawSyntax/languages","stargazers_url":"https://api.github.com/repos/jacquev6/DrawSyntax/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/DrawSyntax/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/DrawSyntax/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/DrawSyntax/subscription","commits_url":"https://api.github.com/repos/jacquev6/DrawSyntax/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/DrawSyntax/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/DrawSyntax/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/DrawSyntax/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/DrawSyntax/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/DrawSyntax/merges","archive_url":"https://api.github.com/repos/jacquev6/DrawSyntax/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/DrawSyntax/downloads","issues_url":"https://api.github.com/repos/jacquev6/DrawSyntax/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/DrawSyntax/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/DrawSyntax/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/DrawSyntax/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/DrawSyntax/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/DrawSyntax/releases{/id}"},"score":1.0954648},{"name":"PullRequestFile.py","path":"github/tests/PullRequestFile.py","sha":"ab34118980644b82cd9587558e1aeb13642eb2cf","url":"https://api.github.com/repositories/3544490/contents/github/tests/PullRequestFile.py?ref=5a0d5e2b69368ce59fdc8b78688165aceb9f7ca8","git_url":"https://api.github.com/repositories/3544490/git/blobs/ab34118980644b82cd9587558e1aeb13642eb2cf","html_url":"https://github.com/jacquev6/PyGithub/blob/5a0d5e2b69368ce59fdc8b78688165aceb9f7ca8/github/tests/PullRequestFile.py","repository":{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}"},"score":0.37301153},{"name":"SystemCalls.py","path":"MockMockMock/tests/SystemCalls.py","sha":"03cfea8463802beb2aa81a24444b5c008de033b7","url":"https://api.github.com/repositories/6430524/contents/MockMockMock/tests/SystemCalls.py?ref=55fb8668087ad7461d02ce06ab9113414478801d","git_url":"https://api.github.com/repositories/6430524/git/blobs/03cfea8463802beb2aa81a24444b5c008de033b7","html_url":"https://github.com/jacquev6/MockMockMock/blob/55fb8668087ad7461d02ce06ab9113414478801d/MockMockMock/tests/SystemCalls.py","repository":{"id":6430524,"name":"MockMockMock","full_name":"jacquev6/MockMockMock","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/MockMockMock","description":"Python mock library focusing on very explicit definition of the mocks' behaviour","fork":false,"url":"https://api.github.com/repos/jacquev6/MockMockMock","forks_url":"https://api.github.com/repos/jacquev6/MockMockMock/forks","keys_url":"https://api.github.com/repos/jacquev6/MockMockMock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/MockMockMock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/MockMockMock/teams","hooks_url":"https://api.github.com/repos/jacquev6/MockMockMock/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/MockMockMock/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/MockMockMock/events","assignees_url":"https://api.github.com/repos/jacquev6/MockMockMock/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/MockMockMock/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/MockMockMock/tags","blobs_url":"https://api.github.com/repos/jacquev6/MockMockMock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/MockMockMock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/MockMockMock/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/MockMockMock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/MockMockMock/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/MockMockMock/languages","stargazers_url":"https://api.github.com/repos/jacquev6/MockMockMock/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/MockMockMock/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/MockMockMock/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/MockMockMock/subscription","commits_url":"https://api.github.com/repos/jacquev6/MockMockMock/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/MockMockMock/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/MockMockMock/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/MockMockMock/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/MockMockMock/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/MockMockMock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/MockMockMock/merges","archive_url":"https://api.github.com/repos/jacquev6/MockMockMock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/MockMockMock/downloads","issues_url":"https://api.github.com/repos/jacquev6/MockMockMock/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/MockMockMock/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/MockMockMock/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/MockMockMock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/MockMockMock/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/MockMockMock/releases{/id}"},"score":0.8953406},{"name":"tests.py","path":"MiniParse/Meta/Generable/tests.py","sha":"c6da48910c3c011fc57f55b0647300ecb2678aab","url":"https://api.github.com/repositories/13732521/contents/MiniParse/Meta/Generable/tests.py?ref=29a4557446adc79ce79ad77d9b2ce3156558ad5e","git_url":"https://api.github.com/repositories/13732521/git/blobs/c6da48910c3c011fc57f55b0647300ecb2678aab","html_url":"https://github.com/jacquev6/MiniParse/blob/29a4557446adc79ce79ad77d9b2ce3156558ad5e/MiniParse/Meta/Generable/tests.py","repository":{"id":13732521,"name":"MiniParse","full_name":"jacquev6/MiniParse","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/MiniParse","description":"Minimal, hence simple, parsing library in Python, with a focus on clear error messages","fork":false,"url":"https://api.github.com/repos/jacquev6/MiniParse","forks_url":"https://api.github.com/repos/jacquev6/MiniParse/forks","keys_url":"https://api.github.com/repos/jacquev6/MiniParse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/MiniParse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/MiniParse/teams","hooks_url":"https://api.github.com/repos/jacquev6/MiniParse/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/MiniParse/events","assignees_url":"https://api.github.com/repos/jacquev6/MiniParse/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/MiniParse/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/MiniParse/tags","blobs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/MiniParse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/MiniParse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/MiniParse/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/MiniParse/languages","stargazers_url":"https://api.github.com/repos/jacquev6/MiniParse/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/MiniParse/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/MiniParse/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/MiniParse/subscription","commits_url":"https://api.github.com/repos/jacquev6/MiniParse/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/MiniParse/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/MiniParse/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/MiniParse/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/MiniParse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/MiniParse/merges","archive_url":"https://api.github.com/repos/jacquev6/MiniParse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/MiniParse/downloads","issues_url":"https://api.github.com/repos/jacquev6/MiniParse/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/MiniParse/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/MiniParse/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/MiniParse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/MiniParse/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/MiniParse/releases{/id}"},"score":1.4732772},{"name":"LexerTestCase.py","path":"MiniParse/Meta/Grammars/HandWrittenEbnf/tests/LexerTestCase.py","sha":"41e85de4d982c4b81ba73aa94e0b87893cfab031","url":"https://api.github.com/repositories/13732521/contents/MiniParse/Meta/Grammars/HandWrittenEbnf/tests/LexerTestCase.py?ref=29a4557446adc79ce79ad77d9b2ce3156558ad5e","git_url":"https://api.github.com/repositories/13732521/git/blobs/41e85de4d982c4b81ba73aa94e0b87893cfab031","html_url":"https://github.com/jacquev6/MiniParse/blob/29a4557446adc79ce79ad77d9b2ce3156558ad5e/MiniParse/Meta/Grammars/HandWrittenEbnf/tests/LexerTestCase.py","repository":{"id":13732521,"name":"MiniParse","full_name":"jacquev6/MiniParse","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/MiniParse","description":"Minimal, hence simple, parsing library in Python, with a focus on clear error messages","fork":false,"url":"https://api.github.com/repos/jacquev6/MiniParse","forks_url":"https://api.github.com/repos/jacquev6/MiniParse/forks","keys_url":"https://api.github.com/repos/jacquev6/MiniParse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/MiniParse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/MiniParse/teams","hooks_url":"https://api.github.com/repos/jacquev6/MiniParse/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/MiniParse/events","assignees_url":"https://api.github.com/repos/jacquev6/MiniParse/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/MiniParse/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/MiniParse/tags","blobs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/MiniParse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/MiniParse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/MiniParse/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/MiniParse/languages","stargazers_url":"https://api.github.com/repos/jacquev6/MiniParse/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/MiniParse/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/MiniParse/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/MiniParse/subscription","commits_url":"https://api.github.com/repos/jacquev6/MiniParse/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/MiniParse/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/MiniParse/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/MiniParse/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/MiniParse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/MiniParse/merges","archive_url":"https://api.github.com/repos/jacquev6/MiniParse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/MiniParse/downloads","issues_url":"https://api.github.com/repos/jacquev6/MiniParse/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/MiniParse/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/MiniParse/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/MiniParse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/MiniParse/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/MiniParse/releases{/id}"},"score":0.5235063},{"name":"ParserTestCase.py","path":"MiniParse/Meta/Grammars/HandWrittenEbnf/tests/ParserTestCase.py","sha":"8668194e0cdf3e70342ff526434f3328e6f3a1b3","url":"https://api.github.com/repositories/13732521/contents/MiniParse/Meta/Grammars/HandWrittenEbnf/tests/ParserTestCase.py?ref=29a4557446adc79ce79ad77d9b2ce3156558ad5e","git_url":"https://api.github.com/repositories/13732521/git/blobs/8668194e0cdf3e70342ff526434f3328e6f3a1b3","html_url":"https://github.com/jacquev6/MiniParse/blob/29a4557446adc79ce79ad77d9b2ce3156558ad5e/MiniParse/Meta/Grammars/HandWrittenEbnf/tests/ParserTestCase.py","repository":{"id":13732521,"name":"MiniParse","full_name":"jacquev6/MiniParse","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/MiniParse","description":"Minimal, hence simple, parsing library in Python, with a focus on clear error messages","fork":false,"url":"https://api.github.com/repos/jacquev6/MiniParse","forks_url":"https://api.github.com/repos/jacquev6/MiniParse/forks","keys_url":"https://api.github.com/repos/jacquev6/MiniParse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/MiniParse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/MiniParse/teams","hooks_url":"https://api.github.com/repos/jacquev6/MiniParse/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/MiniParse/events","assignees_url":"https://api.github.com/repos/jacquev6/MiniParse/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/MiniParse/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/MiniParse/tags","blobs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/MiniParse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/MiniParse/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/MiniParse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/MiniParse/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/MiniParse/languages","stargazers_url":"https://api.github.com/repos/jacquev6/MiniParse/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/MiniParse/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/MiniParse/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/MiniParse/subscription","commits_url":"https://api.github.com/repos/jacquev6/MiniParse/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/MiniParse/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/MiniParse/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/MiniParse/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/MiniParse/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/MiniParse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/MiniParse/merges","archive_url":"https://api.github.com/repos/jacquev6/MiniParse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/MiniParse/downloads","issues_url":"https://api.github.com/repos/jacquev6/MiniParse/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/MiniParse/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/MiniParse/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/MiniParse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/MiniParse/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/MiniParse/releases{/id}"},"score":0.418805}]} - -https -GET -api.github.com -None -/repositories/3544490/contents/github/tests/ReplayData/Commit.setUp.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:5371:8412B70:53140AF7'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('content-length', '10383'), ('server', 'GitHub.com'), ('last-modified', 'Sun, 07 Jul 2013 15:52:43 GMT'), ('x-ratelimit-limit', '5000'), ('etag', '"b14a006b167b6ee8ef3a55e01c63f7d5"'), ('cache-control', 'private, max-age=60, s-maxage=60'), ('date', 'Mon, 03 Mar 2014 04:54:15 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393823721')] -{"name":"Commit.setUp.txt","path":"github/tests/ReplayData/Commit.setUp.txt","sha":"eb063311ef37a1444a98c9f98acfed2b4caaa738","size":6820,"url":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Commit.setUp.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","html_url":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/Commit.setUp.txt","git_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/eb063311ef37a1444a98c9f98acfed2b4caaa738","type":"file","content":"aHR0cHMKR0VUCmFwaS5naXRodWIuY29tCk5vbmUKL3VzZXIKeydBdXRob3Jp\nemF0aW9uJzogJ0Jhc2ljIGxvZ2luX2FuZF9wYXNzd29yZF9yZW1vdmVkJywg\nJ1VzZXItQWdlbnQnOiAnUHlHaXRodWIvUHl0aG9uJ30KbnVsbAoyMDAKWygn\nc3RhdHVzJywgJzIwMCBPSycpLCAoJ3gtcmF0ZWxpbWl0LXJlbWFpbmluZycs\nICc0OTc2JyksICgnY29udGVudC1sZW5ndGgnLCAnODAxJyksICgnc2VydmVy\nJywgJ25naW54LzEuMC4xMycpLCAoJ2Nvbm5lY3Rpb24nLCAna2VlcC1hbGl2\nZScpLCAoJ3gtcmF0ZWxpbWl0LWxpbWl0JywgJzUwMDAnKSwgKCdldGFnJywg\nJyJlYjllMTQ4NjJiYWE3MWMwNGI4ZjBlNzNhYjg3MDc1NiInKSwgKCdkYXRl\nJywgJ1N1biwgMjcgTWF5IDIwMTIgMDY6NTA6NTEgR01UJyksICgnY29udGVu\ndC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnKV0K\neyJwdWJsaWNfZ2lzdHMiOjMsInR5cGUiOiJVc2VyIiwiZGlza191c2FnZSI6\nMTY5NzYsInByaXZhdGVfZ2lzdHMiOjUsInB1YmxpY19yZXBvcyI6MTEsInVy\nbCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamFjcXVldjYiLCJ0\nb3RhbF9wcml2YXRlX3JlcG9zIjo1LCJwbGFuIjp7InByaXZhdGVfcmVwb3Mi\nOjUsImNvbGxhYm9yYXRvcnMiOjEsIm5hbWUiOiJtaWNybyIsInNwYWNlIjo2\nMTQ0MDB9LCJibG9nIjoiaHR0cDovL3ZpbmNlbnQtamFjcXVlcy5uZXQiLCJh\ndmF0YXJfdXJsIjoiaHR0cHM6Ly9zZWN1cmUuZ3JhdmF0YXIuY29tL2F2YXRh\nci9iNjhkZTVhZTM4NjE2YzI5NmZhMzQ1ZDJiOWRmMjIyNT9kPWh0dHBzOi8v\nYTI0OC5lLmFrYW1haS5uZXQvYXNzZXRzLmdpdGh1Yi5jb20lMkZpbWFnZXMl\nMkZncmF2YXRhcnMlMkZncmF2YXRhci0xNDAucG5nIiwib3duZWRfcHJpdmF0\nZV9yZXBvcyI6NSwiY29sbGFib3JhdG9ycyI6MCwiY29tcGFueSI6IkNyaXRl\nbyIsImdyYXZhdGFyX2lkIjoiYjY4ZGU1YWUzODYxNmMyOTZmYTM0NWQyYjlk\nZjIyMjUiLCJsb2dpbiI6ImphY3F1ZXY2IiwiZW1haWwiOiJ2aW5jZW50QHZp\nbmNlbnQtamFjcXVlcy5uZXQiLCJoaXJlYWJsZSI6ZmFsc2UsImZvbGxvd2Vy\ncyI6MTMsIm5hbWUiOiJWaW5jZW50IEphY3F1ZXMiLCJjcmVhdGVkX2F0Ijoi\nMjAxMC0wNy0wOVQwNjoxMDowNloiLCJsb2NhdGlvbiI6IlBhcmlzLCBGcmFu\nY2UiLCJiaW8iOiIiLCJpZCI6MzI3MTQ2LCJmb2xsb3dpbmciOjI0LCJodG1s\nX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9qYWNxdWV2NiJ9CgpodHRwcwpH\nRVQKYXBpLmdpdGh1Yi5jb20KTm9uZQovcmVwb3MvamFjcXVldjYvUHlHaXRo\ndWIKeydBdXRob3JpemF0aW9uJzogJ0Jhc2ljIGxvZ2luX2FuZF9wYXNzd29y\nZF9yZW1vdmVkJywgJ1VzZXItQWdlbnQnOiAnUHlHaXRodWIvUHl0aG9uJ30K\nbnVsbAoyMDAKWygnc3RhdHVzJywgJzIwMCBPSycpLCAoJ3gtcmF0ZWxpbWl0\nLXJlbWFpbmluZycsICc0OTc1JyksICgnY29udGVudC1sZW5ndGgnLCAnMTEy\nOScpLCAoJ3NlcnZlcicsICduZ2lueC8xLjAuMTMnKSwgKCdjb25uZWN0aW9u\nJywgJ2tlZXAtYWxpdmUnKSwgKCd4LXJhdGVsaW1pdC1saW1pdCcsICc1MDAw\nJyksICgnZXRhZycsICciMmY0ZDhiMDAzYzVjNGYzOTBiZTJhYzI4ZmU2MjNi\nZGIiJyksICgnZGF0ZScsICdTdW4sIDI3IE1heSAyMDEyIDA2OjUwOjUyIEdN\nVCcpLCAoJ2NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFy\nc2V0PXV0Zi04JyldCnsiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29t\nL2phY3F1ZXY2L1B5R2l0aHViLmdpdCIsImhhc19kb3dubG9hZHMiOnRydWUs\nIndhdGNoZXJzIjoxNSwiZ2l0X3VybCI6ImdpdDovL2dpdGh1Yi5jb20vamFj\ncXVldjYvUHlHaXRodWIuZ2l0IiwidXBkYXRlZF9hdCI6IjIwMTItMDUtMjdU\nMDY6MDA6MjlaIiwicGVybWlzc2lvbnMiOnsicHVsbCI6dHJ1ZSwiYWRtaW4i\nOnRydWUsInB1c2giOnRydWV9LCJob21lcGFnZSI6Imh0dHA6Ly92aW5jZW50\nLWphY3F1ZXMubmV0L1B5R2l0aHViIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\naHViLmNvbS9yZXBvcy9qYWNxdWV2Ni9QeUdpdGh1YiIsImhhc193aWtpIjpm\nYWxzZSwiaGFzX2lzc3VlcyI6dHJ1ZSwiZm9yayI6ZmFsc2UsImZvcmtzIjoz\nLCJtaXJyb3JfdXJsIjpudWxsLCJzaXplIjozMDgsInByaXZhdGUiOmZhbHNl\nLCJvcGVuX2lzc3VlcyI6MTYsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5j\nb20vamFjcXVldjYvUHlHaXRodWIiLCJvd25lciI6eyJ1cmwiOiJodHRwczov\nL2FwaS5naXRodWIuY29tL3VzZXJzL2phY3F1ZXY2IiwiZ3JhdmF0YXJfaWQi\nOiJiNjhkZTVhZTM4NjE2YzI5NmZhMzQ1ZDJiOWRmMjIyNSIsImxvZ2luIjoi\namFjcXVldjYiLCJpZCI6MzI3MTQ2LCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9z\nZWN1cmUuZ3JhdmF0YXIuY29tL2F2YXRhci9iNjhkZTVhZTM4NjE2YzI5NmZh\nMzQ1ZDJiOWRmMjIyNT9kPWh0dHBzOi8vYTI0OC5lLmFrYW1haS5uZXQvYXNz\nZXRzLmdpdGh1Yi5jb20lMkZpbWFnZXMlMkZncmF2YXRhcnMlMkZncmF2YXRh\nci0xNDAucG5nIn0sIm5hbWUiOiJQeUdpdGh1YiIsImxhbmd1YWdlIjoiUHl0\naG9uIiwiZGVzY3JpcHRpb24iOiJQeXRob24gbGlicmFyeSBpbXBsZW1lbnRp\nbmcgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MyIsInNzaF91cmwiOiJnaXRAZ2l0\naHViLmNvbTpqYWNxdWV2Ni9QeUdpdGh1Yi5naXQiLCJwdXNoZWRfYXQiOiIy\nMDEyLTA1LTI3VDA2OjAwOjI4WiIsImNyZWF0ZWRfYXQiOiIyMDEyLTAyLTI1\nVDEyOjUzOjQ3WiIsImlkIjozNTQ0NDkwLCJodG1sX3VybCI6Imh0dHBzOi8v\nZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1YiIsImZ1bGxfbmFtZSI6Imph\nY3F1ZXY2L1B5R2l0aHViIn0KCmh0dHBzCkdFVAphcGkuZ2l0aHViLmNvbQpO\nb25lCi9yZXBvcy9qYWNxdWV2Ni9QeUdpdGh1Yi9jb21taXRzLzEyOTJiZjBl\nMjJjNzk2ZTkxY2MzZDZlMjRiNTQ0YWVjZThjMjFmMmEKeydBdXRob3JpemF0\naW9uJzogJ0Jhc2ljIGxvZ2luX2FuZF9wYXNzd29yZF9yZW1vdmVkJywgJ1Vz\nZXItQWdlbnQnOiAnUHlHaXRodWIvUHl0aG9uJ30KbnVsbAoyMDAKWygnc3Rh\ndHVzJywgJzIwMCBPSycpLCAoJ3gtcmF0ZWxpbWl0LXJlbWFpbmluZycsICc0\nOTc0JyksICgnY29udGVudC1sZW5ndGgnLCAnMzQ0NScpLCAoJ3NlcnZlcics\nICduZ2lueC8xLjAuMTMnKSwgKCdjb25uZWN0aW9uJywgJ2tlZXAtYWxpdmUn\nKSwgKCd4LXJhdGVsaW1pdC1saW1pdCcsICc1MDAwJyksICgnZXRhZycsICci\nYmNmZDhkNzMzNDY1YjljMjg1MjVlZGZjNzhlZGU1NjQiJyksICgnZGF0ZScs\nICdTdW4sIDI3IE1heSAyMDEyIDA2OjUwOjUyIEdNVCcpLCAoJ2NvbnRlbnQt\ndHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JyldCnsi\ncGFyZW50cyI6W3sic2hhIjoiYjQ2ZWQwZGZkZTVhZDAyZDNiOTFlYjU0YTQx\nYzVlZDk2MDcxMGVhZSIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\ncmVwb3MvamFjcXVldjYvUHlHaXRodWIvY29tbWl0cy9iNDZlZDBkZmRlNWFk\nMDJkM2I5MWViNTRhNDFjNWVkOTYwNzEwZWFlIn1dLCJjb21taXQiOnsibWVz\nc2FnZSI6IlJlbW92ZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBmcm9tIEdpdEF1\ndGhvciIsImF1dGhvciI6eyJkYXRlIjoiMjAxMi0wNS0wOVQwOToyMjozMy0w\nNzowMCIsIm5hbWUiOiJWaW5jZW50IEphY3F1ZXMiLCJlbWFpbCI6InZpbmNl\nbnRAdmluY2VudC1qYWNxdWVzLm5ldCJ9LCJjb21taXR0ZXIiOnsiZGF0ZSI6\nIjIwMTItMDUtMDlUMDk6MjI6MzMtMDc6MDAiLCJuYW1lIjoiVmluY2VudCBK\nYWNxdWVzIiwiZW1haWwiOiJ2aW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQi\nfSwidHJlZSI6eyJzaGEiOiI0YzZiZDUwOTk0ZjBmOTgyM2Y4OThiMWM2Yzk2\nNGFkN2Q0ZmExMWFiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y\nZXBvcy9qYWNxdWV2Ni9QeUdpdGh1Yi9naXQvdHJlZXMvNGM2YmQ1MDk5NGYw\nZjk4MjNmODk4YjFjNmM5NjRhZDdkNGZhMTFhYiJ9LCJ1cmwiOiJodHRwczov\nL2FwaS5naXRodWIuY29tL3JlcG9zL2phY3F1ZXY2L1B5R2l0aHViL2dpdC9j\nb21taXRzLzEyOTJiZjBlMjJjNzk2ZTkxY2MzZDZlMjRiNTQ0YWVjZThjMjFm\nMmEifSwiYXV0aG9yIjp7ImdyYXZhdGFyX2lkIjoiYjY4ZGU1YWUzODYxNmMy\nOTZmYTM0NWQyYjlkZjIyMjUiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9zZWN1\ncmUuZ3JhdmF0YXIuY29tL2F2YXRhci9iNjhkZTVhZTM4NjE2YzI5NmZhMzQ1\nZDJiOWRmMjIyNT9kPWh0dHBzOi8vYTI0OC5lLmFrYW1haS5uZXQvYXNzZXRz\nLmdpdGh1Yi5jb20lMkZpbWFnZXMlMkZncmF2YXRhcnMlMkZncmF2YXRhci0x\nNDAucG5nIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9q\nYWNxdWV2NiIsImxvZ2luIjoiamFjcXVldjYiLCJpZCI6MzI3MTQ2fSwiY29t\nbWl0dGVyIjp7ImdyYXZhdGFyX2lkIjoiYjY4ZGU1YWUzODYxNmMyOTZmYTM0\nNWQyYjlkZjIyMjUiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9zZWN1cmUuZ3Jh\ndmF0YXIuY29tL2F2YXRhci9iNjhkZTVhZTM4NjE2YzI5NmZhMzQ1ZDJiOWRm\nMjIyNT9kPWh0dHBzOi8vYTI0OC5lLmFrYW1haS5uZXQvYXNzZXRzLmdpdGh1\nYi5jb20lMkZpbWFnZXMlMkZncmF2YXRhcnMlMkZncmF2YXRhci0xNDAucG5n\nIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qYWNxdWV2\nNiIsImxvZ2luIjoiamFjcXVldjYiLCJpZCI6MzI3MTQ2fSwic2hhIjoiMTI5\nMmJmMGUyMmM3OTZlOTFjYzNkNmUyNGI1NDRhZWNlOGMyMWYyYSIsInN0YXRz\nIjp7InRvdGFsIjoyMCwiZGVsZXRpb25zIjoyMCwiYWRkaXRpb25zIjowfSwi\ndXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9qYWNxdWV2Ni9Q\neUdpdGh1Yi9jb21taXRzLzEyOTJiZjBlMjJjNzk2ZTkxY2MzZDZlMjRiNTQ0\nYWVjZThjMjFmMmEiLCJmaWxlcyI6W3sicGF0Y2giOiJAQCAtMTQsMjIgKzE0\nLDE3IEBAIGRlZiBfX2luaXRfXyggc2VsZiwgcmVxdWVzdGVyLCBhdHRyaWJ1\ndGVzLCBsYXp5ICk6XG4gICAgICAgICBzZWxmLl9fY29tcGxldGVkID0gRmFs\nc2VcbiAgICAgICAgIHNlbGYuX19pbml0QXR0cmlidXRlcygpXG4gICAgICAg\nICBzZWxmLl9fdXNlQXR0cmlidXRlcyggYXR0cmlidXRlcyApXG4tICAgICAg\nICBpZiBub3QgbGF6eTpcbi0gICAgICAgICAgICBzZWxmLl9fY29tcGxldGUo\nKVxuIFxuICAgICBAcHJvcGVydHlcbiAgICAgZGVmIGRhdGUoIHNlbGYgKTpc\nbi0gICAgICAgIHNlbGYuX19jb21wbGV0ZUlmTmVlZGVkKCBzZWxmLl9fZGF0\nZSApXG4gICAgICAgICByZXR1cm4gc2VsZi5fX2RhdGVcbiBcbiAgICAgQHBy\nb3BlcnR5XG4gICAgIGRlZiBlbWFpbCggc2VsZiApOlxuLSAgICAgICAgc2Vs\nZi5fX2NvbXBsZXRlSWZOZWVkZWQoIHNlbGYuX19lbWFpbCApXG4gICAgICAg\nICByZXR1cm4gc2VsZi5fX2VtYWlsXG4gXG4gICAgIEBwcm9wZXJ0eVxuICAg\nICBkZWYgbmFtZSggc2VsZiApOlxuLSAgICAgICAgc2VsZi5fX2NvbXBsZXRl\nSWZOZWVkZWQoIHNlbGYuX19uYW1lIClcbiAgICAgICAgIHJldHVybiBzZWxm\nLl9fbmFtZVxuIFxuICAgICBkZWYgX19pbml0QXR0cmlidXRlcyggc2VsZiAp\nOlxuQEAgLTM3LDIxICszMiw2IEBAIGRlZiBfX2luaXRBdHRyaWJ1dGVzKCBz\nZWxmICk6XG4gICAgICAgICBzZWxmLl9fZW1haWwgPSBOb25lXG4gICAgICAg\nICBzZWxmLl9fbmFtZSA9IE5vbmVcbiBcbi0gICAgZGVmIF9fY29tcGxldGVJ\nZk5lZWRlZCggc2VsZiwgdGVzdGVkQXR0cmlidXRlICk6XG4tICAgICAgICBp\nZiBub3Qgc2VsZi5fX2NvbXBsZXRlZCBhbmQgdGVzdGVkQXR0cmlidXRlIGlz\nIE5vbmU6XG4tICAgICAgICAgICAgc2VsZi5fX2NvbXBsZXRlKClcbi1cbi0g\nICAgIyBAdG90byBEbyBub3QgZ2VuZXJhdGUgX19jb21wbGV0ZSBpZiB0eXBl\nIGhhcyBubyB1cmwgYXR0cmlidXRlXG4tICAgIGRlZiBfX2NvbXBsZXRlKCBz\nZWxmICk6XG4tICAgICAgICBzdGF0dXMsIGhlYWRlcnMsIGRhdGEgPSBzZWxm\nLl9fcmVxdWVzdGVyLnJlcXVlc3QoXG4tICAgICAgICAgICAgXCJHRVRcIixc\nbi0gICAgICAgICAgICBzZWxmLl9fdXJsLFxuLSAgICAgICAgICAgIE5vbmUs\nXG4tICAgICAgICAgICAgTm9uZVxuLSAgICAgICAgKVxuLSAgICAgICAgc2Vs\nZi5fX3VzZUF0dHJpYnV0ZXMoIGRhdGEgKVxuLSAgICAgICAgc2VsZi5fX2Nv\nbXBsZXRlZCA9IFRydWVcbi1cbiAgICAgZGVmIF9fdXNlQXR0cmlidXRlcygg\nc2VsZiwgYXR0cmlidXRlcyApOlxuICAgICAgICAgICNAdG90byBObyBuZWVk\nIHRvIGNoZWNrIGlmIGF0dHJpYnV0ZSBpcyBpbiBhdHRyaWJ1dGVzIHdoZW4g\nYXR0cmlidXRlIGlzIG1hbmRhdG9yeVxuICAgICAgICAgaWYgXCJkYXRlXCIg\naW4gYXR0cmlidXRlcyBhbmQgYXR0cmlidXRlc1sgXCJkYXRlXCIgXSBpcyBu\nb3QgTm9uZToiLCJzdGF0dXMiOiJtb2RpZmllZCIsImRlbGV0aW9ucyI6MjAs\nImJsb2JfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2phY3F1ZXY2L1B5R2l0\naHViL2Jsb2IvMTI5MmJmMGUyMmM3OTZlOTFjYzNkNmUyNGI1NDRhZWNlOGMy\nMWYyYS9naXRodWIvR2l0aHViT2JqZWN0cy9HaXRBdXRob3IucHkiLCJjaGFu\nZ2VzIjoyMCwiYWRkaXRpb25zIjowLCJzaGEiOiIxMjkyYmYwZTIyYzc5NmU5\nMWNjM2Q2ZTI0YjU0NGFlY2U4YzIxZjJhIiwicmF3X3VybCI6Imh0dHBzOi8v\nZ2l0aHViLmNvbS9qYWNxdWV2Ni9QeUdpdGh1Yi9yYXcvMTI5MmJmMGUyMmM3\nOTZlOTFjYzNkNmUyNGI1NDRhZWNlOGMyMWYyYS9naXRodWIvR2l0aHViT2Jq\nZWN0cy9HaXRBdXRob3IucHkiLCJmaWxlbmFtZSI6ImdpdGh1Yi9HaXRodWJP\nYmplY3RzL0dpdEF1dGhvci5weSJ9XX0KCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/jacquev6/PyGithub/contents/github/tests/ReplayData/Commit.setUp.txt?ref=72f8876112ba029111c739871e3e4d7bce66b95d","git":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/eb063311ef37a1444a98c9f98acfed2b4caaa738","html":"https://github.com/jacquev6/PyGithub/blob/72f8876112ba029111c739871e3e4d7bce66b95d/github/tests/ReplayData/Commit.setUp.txt"}} - diff --git a/github/tests/ReplayData/Search.testSearchIssues.txt b/github/tests/ReplayData/Search.testSearchIssues.txt deleted file mode 100644 index 3e47891..0000000 --- a/github/tests/ReplayData/Search.testSearchIssues.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/search/issues?sort=comments&q=compile+language%3AC%2B%2B&order=desc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:5370:61ACB7C:53140729'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '107710'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:38:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393821541')] -{"total_count":29512,"items":[{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/997","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/997/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/997/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/997/events","html_url":"https://github.com/hrydgard/ppsspp/pull/997","id":12068673,"number":997,"title":"Make sceMpeg and sceAtrac basiclly workable for PC ","user":{"login":"oioitff","id":3243757,"avatar_url":"https://avatars.githubusercontent.com/u/3243757","gravatar_id":"3d4824a444d900fa57aff97702f221ec","url":"https://api.github.com/users/oioitff","html_url":"https://github.com/oioitff","followers_url":"https://api.github.com/users/oioitff/followers","following_url":"https://api.github.com/users/oioitff/following{/other_user}","gists_url":"https://api.github.com/users/oioitff/gists{/gist_id}","starred_url":"https://api.github.com/users/oioitff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oioitff/subscriptions","organizations_url":"https://api.github.com/users/oioitff/orgs","repos_url":"https://api.github.com/users/oioitff/repos","events_url":"https://api.github.com/users/oioitff/events{/privacy}","received_events_url":"https://api.github.com/users/oioitff/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":1017,"created_at":"2013-03-15T15:46:16Z","updated_at":"2013-06-03T21:25:43Z","closed_at":"2013-06-02T07:08:58Z","pull_request":{"html_url":"https://github.com/hrydgard/ppsspp/pull/997","diff_url":"https://github.com/hrydgard/ppsspp/pull/997.diff","patch_url":"https://github.com/hrydgard/ppsspp/pull/997.patch"},"body":"I use ffmpeg for video decoding and dshow for at3+ audio. And I have tried my best not to break other platforms yet. In fact, the video part which using ffmpeg may also be possible for other platforms.\r\nBy the way, I haven't add the header file and lib for ffmpeg and dshow yet. I'm not sure how to do this and need some helps.","score":0.08252439},{"url":"https://api.github.com/repos/ufz/ogs/issues/275","labels_url":"https://api.github.com/repos/ufz/ogs/issues/275/labels{/name}","comments_url":"https://api.github.com/repos/ufz/ogs/issues/275/comments","events_url":"https://api.github.com/repos/ufz/ogs/issues/275/events","html_url":"https://github.com/ufz/ogs/pull/275","id":23250111,"number":275,"title":"Add interface for PETSc vector","user":{"login":"wenqing","id":1343839,"avatar_url":"https://avatars.githubusercontent.com/u/1343839","gravatar_id":"92f354b0a3a11920792f1075bf067308","url":"https://api.github.com/users/wenqing","html_url":"https://github.com/wenqing","followers_url":"https://api.github.com/users/wenqing/followers","following_url":"https://api.github.com/users/wenqing/following{/other_user}","gists_url":"https://api.github.com/users/wenqing/gists{/gist_id}","starred_url":"https://api.github.com/users/wenqing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wenqing/subscriptions","organizations_url":"https://api.github.com/users/wenqing/orgs","repos_url":"https://api.github.com/users/wenqing/repos","events_url":"https://api.github.com/users/wenqing/events{/privacy}","received_events_url":"https://api.github.com/users/wenqing/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/ufz/ogs/milestones/6","labels_url":"https://api.github.com/repos/ufz/ogs/milestones/6/labels","id":413894,"number":6,"title":"PETSc support and performance test","description":"","creator":{"login":"norihiro-w","id":800408,"avatar_url":"https://avatars.githubusercontent.com/u/800408","gravatar_id":"48dbb4167ba59bcbbc83427b10449404","url":"https://api.github.com/users/norihiro-w","html_url":"https://github.com/norihiro-w","followers_url":"https://api.github.com/users/norihiro-w/followers","following_url":"https://api.github.com/users/norihiro-w/following{/other_user}","gists_url":"https://api.github.com/users/norihiro-w/gists{/gist_id}","starred_url":"https://api.github.com/users/norihiro-w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norihiro-w/subscriptions","organizations_url":"https://api.github.com/users/norihiro-w/orgs","repos_url":"https://api.github.com/users/norihiro-w/repos","events_url":"https://api.github.com/users/norihiro-w/events{/privacy}","received_events_url":"https://api.github.com/users/norihiro-w/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":0,"state":"open","created_at":"2013-08-28T17:10:17Z","updated_at":"2014-02-01T19:44:15Z","due_on":null},"comments":34,"created_at":"2013-11-25T15:40:23Z","updated_at":"2014-02-21T15:41:07Z","closed_at":null,"pull_request":{"html_url":"https://github.com/ufz/ogs/pull/275","diff_url":"https://github.com/ufz/ogs/pull/275.diff","patch_url":"https://github.com/ufz/ogs/pull/275.patch"},"body":"@TomFischer @norihiro-w @endJunction @bilke : The previous pull request about the PETSc interface has been split into four. This is the second part: an interface for PETSc vector.\r\n\r\nAdd class InforMPI in BaseLib/MPI, and changed the corresponding CMakeLists.txt\r\n\r\nAdd test for the number of processors in usage. \r\n\r\nChanges according to the comments by Nori and Dima\r\n\r\nRewrite collectLocalVectors. Some other changes according to Nori's comments. Put calling MPI_Comm_rank local according to a test results on EVE.\r\n1000,000 times calling: 0.02 s\r\n1000,000,000 times calling: 10.77 s\r\n@norihiro-w \r\n","score":0.37365162},{"url":"https://api.github.com/repos/ceph/ceph/issues/289","labels_url":"https://api.github.com/repos/ceph/ceph/issues/289/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/289/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/289/events","html_url":"https://github.com/ceph/ceph/pull/289","id":14371957,"number":289,"title":"Wip rgw geo rebase","user":{"login":"gregsfortytwo","id":908479,"avatar_url":"https://avatars.githubusercontent.com/u/908479","gravatar_id":"19fc74958678713dfdf1f8ca776f8fbc","url":"https://api.github.com/users/gregsfortytwo","html_url":"https://github.com/gregsfortytwo","followers_url":"https://api.github.com/users/gregsfortytwo/followers","following_url":"https://api.github.com/users/gregsfortytwo/following{/other_user}","gists_url":"https://api.github.com/users/gregsfortytwo/gists{/gist_id}","starred_url":"https://api.github.com/users/gregsfortytwo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregsfortytwo/subscriptions","organizations_url":"https://api.github.com/users/gregsfortytwo/orgs","repos_url":"https://api.github.com/users/gregsfortytwo/repos","events_url":"https://api.github.com/users/gregsfortytwo/events{/privacy}","received_events_url":"https://api.github.com/users/gregsfortytwo/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":1,"created_at":"2013-05-15T18:19:15Z","updated_at":"2013-07-19T21:28:50Z","closed_at":"2013-07-15T16:33:05Z","pull_request":{"html_url":"https://github.com/ceph/ceph/pull/289","diff_url":"https://github.com/ceph/ceph/pull/289.diff","patch_url":"https://github.com/ceph/ceph/pull/289.patch"},"body":"This branch serves as a rebase of wip-rgw-geo-2 to compress out some fix commits and allow review. This pull request serves for tracking comments, but it should not be merged yet.","score":0.079567954},{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/8721","labels_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/8721/labels{/name}","comments_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/8721/comments","events_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/8721/events","html_url":"https://github.com/TrinityCore/TrinityCore/pull/8721","id":9423897,"number":8721,"title":"Core/AHBot: Implemented AHBot based on MaNGOS code","user":{"login":"blipi","id":1239061,"avatar_url":"https://avatars.githubusercontent.com/u/1239061","gravatar_id":"f08738002057f24d190c298a0e269552","url":"https://api.github.com/users/blipi","html_url":"https://github.com/blipi","followers_url":"https://api.github.com/users/blipi/followers","following_url":"https://api.github.com/users/blipi/following{/other_user}","gists_url":"https://api.github.com/users/blipi/gists{/gist_id}","starred_url":"https://api.github.com/users/blipi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blipi/subscriptions","organizations_url":"https://api.github.com/users/blipi/orgs","repos_url":"https://api.github.com/users/blipi/repos","events_url":"https://api.github.com/users/blipi/events{/privacy}","received_events_url":"https://api.github.com/users/blipi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/labels/Feedback-PatchFix","name":"Feedback-PatchFix","color":"d7e102"},{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/labels/Comp-Core","name":"Comp-Core","color":"FF6600"}],"state":"open","assignee":null,"milestone":null,"comments":217,"created_at":"2012-12-20T04:48:00Z","updated_at":"2014-02-15T22:03:33Z","closed_at":null,"pull_request":{"html_url":"https://github.com/TrinityCore/TrinityCore/pull/8721","diff_url":"https://github.com/TrinityCore/TrinityCore/pull/8721.diff","patch_url":"https://github.com/TrinityCore/TrinityCore/pull/8721.patch"},"body":"CMake must be rerun, there are new folders and include paths.\r\n\r\nI've ported the code from MaNGOS, adapted it, cleaned it a little bit to follow TC coding standards (though further cleaning may be done) and tested it.\r\n\r\nChanges are:\r\n- /game/AuctionHouseBot/ *.cpp, *.h : Base AHBot code\r\n- scripts: Added commands to modify its behaviour\r\n- language: 1145 to 1164 added AHBot command strings\r\n\r\nThe reason behind not using sWorld->GetXConfig and not adding the ConfigKeys to World.h but using a custom class is that this values may be modified ingame by using commands. Doing it through world would have made this impossible.\r\n\r\nAnd that's it, enjoy.","score":0.21822606},{"url":"https://api.github.com/repos/cms-sw/cmssw/issues/1817","labels_url":"https://api.github.com/repos/cms-sw/cmssw/issues/1817/labels{/name}","comments_url":"https://api.github.com/repos/cms-sw/cmssw/issues/1817/comments","events_url":"https://api.github.com/repos/cms-sw/cmssw/issues/1817/events","html_url":"https://github.com/cms-sw/cmssw/pull/1817","id":24277400,"number":1817,"title":"High pt taus: TauID for 2014","user":{"login":"jpavel","id":4130483,"avatar_url":"https://avatars.githubusercontent.com/u/4130483","gravatar_id":"676de5ce10ac6f7d28168d04042829bb","url":"https://api.github.com/users/jpavel","html_url":"https://github.com/jpavel","followers_url":"https://api.github.com/users/jpavel/followers","following_url":"https://api.github.com/users/jpavel/following{/other_user}","gists_url":"https://api.github.com/users/jpavel/gists{/gist_id}","starred_url":"https://api.github.com/users/jpavel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpavel/subscriptions","organizations_url":"https://api.github.com/users/jpavel/orgs","repos_url":"https://api.github.com/users/jpavel/repos","events_url":"https://api.github.com/users/jpavel/events{/privacy}","received_events_url":"https://api.github.com/users/jpavel/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/analysis-approved","name":"analysis-approved","color":"009800"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/dqm-approved","name":"dqm-approved","color":"009800"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/reconstruction-approved","name":"reconstruction-approved","color":"009800"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/fully-signed","name":"fully-signed","color":"009800"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/tests-approved","name":"tests-approved","color":"009800"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/orp-approved","name":"orp-approved","color":"009800"}],"state":"closed","assignee":null,"milestone":{"url":"https://api.github.com/repos/cms-sw/cmssw/milestones/37","labels_url":"https://api.github.com/repos/cms-sw/cmssw/milestones/37/labels","id":562088,"number":37,"title":"CMSSW_7_0_0","description":"","creator":{"login":"nclopezo","id":1944922,"avatar_url":"https://avatars.githubusercontent.com/u/1944922","gravatar_id":"c37878ac7a56b492e4f8df2a94abbd49","url":"https://api.github.com/users/nclopezo","html_url":"https://github.com/nclopezo","followers_url":"https://api.github.com/users/nclopezo/followers","following_url":"https://api.github.com/users/nclopezo/following{/other_user}","gists_url":"https://api.github.com/users/nclopezo/gists{/gist_id}","starred_url":"https://api.github.com/users/nclopezo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nclopezo/subscriptions","organizations_url":"https://api.github.com/users/nclopezo/orgs","repos_url":"https://api.github.com/users/nclopezo/repos","events_url":"https://api.github.com/users/nclopezo/events{/privacy}","received_events_url":"https://api.github.com/users/nclopezo/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":91,"state":"closed","created_at":"2014-02-07T13:17:24Z","updated_at":"2014-02-16T18:48:16Z","due_on":"2014-02-19T08:00:00Z"},"comments":122,"created_at":"2013-12-13T22:44:24Z","updated_at":"2014-02-13T15:10:44Z","closed_at":"2014-01-27T11:21:39Z","pull_request":{"html_url":"https://github.com/cms-sw/cmssw/pull/1817","diff_url":"https://github.com/cms-sw/cmssw/pull/1817.diff","patch_url":"https://github.com/cms-sw/cmssw/pull/1817.patch"},"body":"Large upgrade of PFTau sequence. Main changes are\r\n1) Change in algorithm logic\r\n2) Change in data format (new members plus shift from Ref to Ptr)\r\n3) Addition of tau lifetime information\r\n4) Addition of boosted tau subjet techniques\r\n5) Many new discriminants","score":0.11910673},{"url":"https://api.github.com/repos/madlib/madlib/issues/79","labels_url":"https://api.github.com/repos/madlib/madlib/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/madlib/madlib/issues/79/comments","events_url":"https://api.github.com/repos/madlib/madlib/issues/79/events","html_url":"https://github.com/madlib/madlib/pull/79","id":2408877,"number":79,"title":"K-means Clustering","user":{"login":"agorajek","id":371403,"avatar_url":"https://avatars.githubusercontent.com/u/371403","gravatar_id":"192a794658c17862c50f6704a67e47a8","url":"https://api.github.com/users/agorajek","html_url":"https://github.com/agorajek","followers_url":"https://api.github.com/users/agorajek/followers","following_url":"https://api.github.com/users/agorajek/following{/other_user}","gists_url":"https://api.github.com/users/agorajek/gists{/gist_id}","starred_url":"https://api.github.com/users/agorajek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agorajek/subscriptions","organizations_url":"https://api.github.com/users/agorajek/orgs","repos_url":"https://api.github.com/users/agorajek/repos","events_url":"https://api.github.com/users/agorajek/events{/privacy}","received_events_url":"https://api.github.com/users/agorajek/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":4,"created_at":"2011-11-30T23:24:11Z","updated_at":"2012-01-03T21:42:48Z","closed_at":"2012-01-03T21:42:18Z","pull_request":{"html_url":"https://github.com/madlib/madlib/pull/79","diff_url":"https://github.com/madlib/madlib/pull/79.diff","patch_url":"https://github.com/madlib/madlib/pull/79.patch"},"body":"Ready for review and merge. Well, by looking at the number of comments so far, maybe not \"for merge\" yet :)","score":0.056832943},{"url":"https://api.github.com/repos/msgpack/msgpack/issues/128","labels_url":"https://api.github.com/repos/msgpack/msgpack/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/msgpack/msgpack/issues/128/comments","events_url":"https://api.github.com/repos/msgpack/msgpack/issues/128/events","html_url":"https://github.com/msgpack/msgpack/issues/128","id":11338741,"number":128,"title":"Discussions on the upcoming MessagePack spec that adds the string type to the protocol.","user":{"login":"kiyoto","id":178554,"avatar_url":"https://avatars.githubusercontent.com/u/178554","gravatar_id":"2e0942c4a8e970da7a03289aa11e46c2","url":"https://api.github.com/users/kiyoto","html_url":"https://github.com/kiyoto","followers_url":"https://api.github.com/users/kiyoto/followers","following_url":"https://api.github.com/users/kiyoto/following{/other_user}","gists_url":"https://api.github.com/users/kiyoto/gists{/gist_id}","starred_url":"https://api.github.com/users/kiyoto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kiyoto/subscriptions","organizations_url":"https://api.github.com/users/kiyoto/orgs","repos_url":"https://api.github.com/users/kiyoto/repos","events_url":"https://api.github.com/users/kiyoto/events{/privacy}","received_events_url":"https://api.github.com/users/kiyoto/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/msgpack/msgpack/labels/Spec","name":"Spec","color":"99ccff"}],"state":"closed","assignee":null,"milestone":null,"comments":220,"created_at":"2013-02-24T19:31:10Z","updated_at":"2013-10-09T14:40:00Z","closed_at":"2013-08-17T08:12:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This issue continues the discussion that started in [this issue](https://github.com/msgpack/msgpack/issues/121), which has grown interminably long.\r\n\r\n* [Here is the link](https://gist.github.com/frsyuki/5022569) to @frsyuki's proposed spec circa Feb. 24, 2013\r\n\r\nHere is to a fruitful, invigorating, productive thread! Hooray chums!","score":0.0373521},{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/1686","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/1686/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/1686/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/1686/events","html_url":"https://github.com/hrydgard/ppsspp/issues/1686","id":13980502,"number":1686,"title":"Danganronpa bug","user":{"login":"CPkmn","id":1909938,"avatar_url":"https://avatars.githubusercontent.com/u/1909938","gravatar_id":"81b5c8a3609d65ca98f2a6107d157e7a","url":"https://api.github.com/users/CPkmn","html_url":"https://github.com/CPkmn","followers_url":"https://api.github.com/users/CPkmn/followers","following_url":"https://api.github.com/users/CPkmn/following{/other_user}","gists_url":"https://api.github.com/users/CPkmn/gists{/gist_id}","starred_url":"https://api.github.com/users/CPkmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CPkmn/subscriptions","organizations_url":"https://api.github.com/users/CPkmn/orgs","repos_url":"https://api.github.com/users/CPkmn/repos","events_url":"https://api.github.com/users/CPkmn/events{/privacy}","received_events_url":"https://api.github.com/users/CPkmn/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":179,"created_at":"2013-05-05T17:17:33Z","updated_at":"2014-02-11T09:04:34Z","closed_at":"2013-09-26T09:29:01Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I tried a search in the issues here to see if anyone reported this yet, but it seems no one did.\r\n\r\nWhile playing Danganronpa (both the demo and the full release) in PPSSPP I noticed objects are not interactable. This basically makes the game unplayable since the requires object interaction on many occasions. I notice the same issue on JPCSP, however the software rendering mode in JPCSP works with the objects (and has since at least revision 2450, the first software rendering public release; https://code.google.com/p/jpcsp/source/detail?r=2450). Unfortunately I can't check earlier releases' software rendering modes since I don't know how to compile JPCSP.\r\n\r\nI'll attach a picture of what PPSSPP and JPCSP (in software rendering mode) get when hovering over a should-be-interactable object.\r\n\r\n(JPCSP in software rendering mode)\r\n![danganronpa_correct](https://f.cloud.github.com/assets/1909938/463853/31bfc68e-b5a7-11e2-8918-5fc283a0b4bb.png)\r\n\r\n(PPSSPP)\r\n![danganronpa_wrong](https://f.cloud.github.com/assets/1909938/463854/41ff12d4-b5a7-11e2-800b-d70788e39a26.png)","score":0.47607067},{"url":"https://api.github.com/repos/crosswalk-project/tizen-extensions-crosswalk/issues/246","labels_url":"https://api.github.com/repos/crosswalk-project/tizen-extensions-crosswalk/issues/246/labels{/name}","comments_url":"https://api.github.com/repos/crosswalk-project/tizen-extensions-crosswalk/issues/246/comments","events_url":"https://api.github.com/repos/crosswalk-project/tizen-extensions-crosswalk/issues/246/events","html_url":"https://github.com/crosswalk-project/tizen-extensions-crosswalk/pull/246","id":27697165,"number":246,"title":"[Application] Add Application API initial support (getAppInfo/getAppsInfo)","user":{"login":"seanlong","id":1661875,"avatar_url":"https://avatars.githubusercontent.com/u/1661875","gravatar_id":"646d59934fbcc020b0a1eb55a6de3e68","url":"https://api.github.com/users/seanlong","html_url":"https://github.com/seanlong","followers_url":"https://api.github.com/users/seanlong/followers","following_url":"https://api.github.com/users/seanlong/following{/other_user}","gists_url":"https://api.github.com/users/seanlong/gists{/gist_id}","starred_url":"https://api.github.com/users/seanlong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanlong/subscriptions","organizations_url":"https://api.github.com/users/seanlong/orgs","repos_url":"https://api.github.com/users/seanlong/repos","events_url":"https://api.github.com/users/seanlong/events{/privacy}","received_events_url":"https://api.github.com/users/seanlong/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":21,"created_at":"2014-02-17T07:45:55Z","updated_at":"2014-02-28T09:34:01Z","closed_at":"2014-02-28T09:34:01Z","pull_request":{"html_url":"https://github.com/crosswalk-project/tizen-extensions-crosswalk/pull/246","diff_url":"https://github.com/crosswalk-project/tizen-extensions-crosswalk/pull/246.diff","patch_url":"https://github.com/crosswalk-project/tizen-extensions-crosswalk/pull/246.patch"},"body":"Please check the design doc at:https://docs.google.com/document/d/10rDpiH2E2bSOp0gg3FNK-2eFIetkPygM98utBv-tB3I/edit\r\n\r\nAs described in the \"plan\" section, these 2 patches are intended to support ApplicationInformation interface and ApplicationManager.getAppinfo/getAppsInfo API.","score":0.10370887},{"url":"https://api.github.com/repos/cyclus/cyclus/issues/641","labels_url":"https://api.github.com/repos/cyclus/cyclus/issues/641/labels{/name}","comments_url":"https://api.github.com/repos/cyclus/cyclus/issues/641/comments","events_url":"https://api.github.com/repos/cyclus/cyclus/issues/641/events","html_url":"https://github.com/cyclus/cyclus/pull/641","id":23102422,"number":641,"title":"Cep18","user":{"login":"gidden","id":1392657,"avatar_url":"https://avatars.githubusercontent.com/u/1392657","gravatar_id":"2887b946470a1cd380d847f0ffaffd38","url":"https://api.github.com/users/gidden","html_url":"https://github.com/gidden","followers_url":"https://api.github.com/users/gidden/followers","following_url":"https://api.github.com/users/gidden/following{/other_user}","gists_url":"https://api.github.com/users/gidden/gists{/gist_id}","starred_url":"https://api.github.com/users/gidden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gidden/subscriptions","organizations_url":"https://api.github.com/users/gidden/orgs","repos_url":"https://api.github.com/users/gidden/repos","events_url":"https://api.github.com/users/gidden/events{/privacy}","received_events_url":"https://api.github.com/users/gidden/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":{"url":"https://api.github.com/repos/cyclus/cyclus/milestones/26","labels_url":"https://api.github.com/repos/cyclus/cyclus/milestones/26/labels","id":462969,"number":26,"title":"v0.4","description":"The v0.4 release","creator":{"login":"scopatz","id":320553,"avatar_url":"https://avatars.githubusercontent.com/u/320553","gravatar_id":"a6e6385b7870c04692700df9ba93eb27","url":"https://api.github.com/users/scopatz","html_url":"https://github.com/scopatz","followers_url":"https://api.github.com/users/scopatz/followers","following_url":"https://api.github.com/users/scopatz/following{/other_user}","gists_url":"https://api.github.com/users/scopatz/gists{/gist_id}","starred_url":"https://api.github.com/users/scopatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scopatz/subscriptions","organizations_url":"https://api.github.com/users/scopatz/orgs","repos_url":"https://api.github.com/users/scopatz/repos","events_url":"https://api.github.com/users/scopatz/events{/privacy}","received_events_url":"https://api.github.com/users/scopatz/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":63,"state":"closed","created_at":"2013-10-23T19:58:41Z","updated_at":"2014-02-16T09:42:28Z","due_on":"2014-01-15T08:00:00Z"},"comments":37,"created_at":"2013-11-21T22:24:15Z","updated_at":"2013-12-05T19:31:12Z","closed_at":"2013-12-05T18:31:36Z","pull_request":{"html_url":"https://github.com/cyclus/cyclus/pull/641","diff_url":"https://github.com/cyclus/cyclus/pull/641.diff","patch_url":"https://github.com/cyclus/cyclus/pull/641.patch"},"body":"This is *not* ready to be merged. I'm issuing a PR now so that we can begin the review process. Here you go, @scopatz, @rwcarlsen!\r\n\r\nEdit: The nominal work here is complete. This PR is associated with implementation additions, and PR #644 is associated with deprecated code removal. I'm beginning Cycamore work. ","score":0.07001801},{"url":"https://api.github.com/repos/smspillaz/gjs/issues/1","labels_url":"https://api.github.com/repos/smspillaz/gjs/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/smspillaz/gjs/issues/1/comments","events_url":"https://api.github.com/repos/smspillaz/gjs/issues/1/events","html_url":"https://github.com/smspillaz/gjs/pull/1","id":24796688,"number":1,"title":"Add Code Coverage Support for GJS","user":{"login":"smspillaz","id":775309,"avatar_url":"https://avatars.githubusercontent.com/u/775309","gravatar_id":"27ecfada6258e22f92da0c5c9ffafd47","url":"https://api.github.com/users/smspillaz","html_url":"https://github.com/smspillaz","followers_url":"https://api.github.com/users/smspillaz/followers","following_url":"https://api.github.com/users/smspillaz/following{/other_user}","gists_url":"https://api.github.com/users/smspillaz/gists{/gist_id}","starred_url":"https://api.github.com/users/smspillaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smspillaz/subscriptions","organizations_url":"https://api.github.com/users/smspillaz/orgs","repos_url":"https://api.github.com/users/smspillaz/repos","events_url":"https://api.github.com/users/smspillaz/events{/privacy}","received_events_url":"https://api.github.com/users/smspillaz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":2,"created_at":"2013-12-26T18:59:24Z","updated_at":"2014-01-07T03:13:49Z","closed_at":null,"pull_request":{"html_url":"https://github.com/smspillaz/gjs/pull/1","diff_url":"https://github.com/smspillaz/gjs/pull/1.diff","patch_url":"https://github.com/smspillaz/gjs/pull/1.patch"},"body":"This branch adds code coverage support to Gjs.\r\n\r\nOne of the main items of work here was to provide a suitable abstraction for the debugger functionality in SpiderMonkey so that multiple clients could use it concurrently (eg, the function profiler and the code coverage tool and potentially a real debugger in the future).\r\n\r\nThis is provided through the GjsInterruptRegister interface (and its implementation GjsDebugInterruptRegister). It effectively works by providing a central place where clients can add callbacks and each of its functions returns a GjsDebugConnection. Once the client is done using the debugger in the way that they need to, they simply unref the connection and it will call back into the interrupt register and change the SpiderMonkey state appropriately if need be.\r\n\r\nGjsProfiler and GjsCoverage effectively work by using this interface, the former placing a hook on toplevel execution and function calls and the latter putting the script under coverage into single-step mode where we can record line hit information. It then (if requested) will require this information out to a file.\r\n\r\nQ & A:\r\n\r\n * Q: Why not use signals?\r\n * A: Signals don't provide us with a means to get a notification when the observer starts or stops observing a signal. We need this information in order to put SpiderMonkey in the right state when we need it (else keeping the debugging hooks on indefinitely will be needlessly expensive).\r\n\r\n * Q: The object ownership between GjsInterruptRegister, GjsCoverage and GjsProfiler seems strange.\r\n * A: This is an area I'd like some feedback and advice. The design would be far more optimal if GjsCoverage and GjsProfiler took ownership of GjsinterruptRegister outside the scope of the context as opposed to within it. However, it seems like the Gjs authors wanted to be able to use the profiler with any that uses Gjs as an embedded language, which means that the profiler needed to be owned (and created by) the context. This in turn means that we need to have GjsCoverage owned by the context as well. However, it is slightly awkward, since in order to construct it we need to have clients provide the requested coverage paths and coverage output file in the form of construction properties.","score":0.13473003},{"url":"https://api.github.com/repos/Itseez/opencv/issues/1447","labels_url":"https://api.github.com/repos/Itseez/opencv/issues/1447/labels{/name}","comments_url":"https://api.github.com/repos/Itseez/opencv/issues/1447/comments","events_url":"https://api.github.com/repos/Itseez/opencv/issues/1447/events","html_url":"https://github.com/Itseez/opencv/pull/1447","id":19446174,"number":1447,"title":"Pull Request for Computational Photography","user":{"login":"Siddharthk","id":718854,"avatar_url":"https://avatars.githubusercontent.com/u/718854","gravatar_id":"e8bd224f44c0e57cd09ee79696be14d5","url":"https://api.github.com/users/Siddharthk","html_url":"https://github.com/Siddharthk","followers_url":"https://api.github.com/users/Siddharthk/followers","following_url":"https://api.github.com/users/Siddharthk/following{/other_user}","gists_url":"https://api.github.com/users/Siddharthk/gists{/gist_id}","starred_url":"https://api.github.com/users/Siddharthk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Siddharthk/subscriptions","organizations_url":"https://api.github.com/users/Siddharthk/orgs","repos_url":"https://api.github.com/users/Siddharthk/repos","events_url":"https://api.github.com/users/Siddharthk/events{/privacy}","received_events_url":"https://api.github.com/users/Siddharthk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":{"login":"AnnaKogan8","id":2435529,"avatar_url":"https://avatars.githubusercontent.com/u/2435529","gravatar_id":"153773b9480f1ca735f811d2b46b1a47","url":"https://api.github.com/users/AnnaKogan8","html_url":"https://github.com/AnnaKogan8","followers_url":"https://api.github.com/users/AnnaKogan8/followers","following_url":"https://api.github.com/users/AnnaKogan8/following{/other_user}","gists_url":"https://api.github.com/users/AnnaKogan8/gists{/gist_id}","starred_url":"https://api.github.com/users/AnnaKogan8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnnaKogan8/subscriptions","organizations_url":"https://api.github.com/users/AnnaKogan8/orgs","repos_url":"https://api.github.com/users/AnnaKogan8/repos","events_url":"https://api.github.com/users/AnnaKogan8/events{/privacy}","received_events_url":"https://api.github.com/users/AnnaKogan8/received_events","type":"User","site_admin":false},"milestone":null,"comments":146,"created_at":"2013-09-13T13:01:08Z","updated_at":"2013-12-09T14:01:16Z","closed_at":"2013-12-05T08:38:36Z","pull_request":{"html_url":"https://github.com/Itseez/opencv/pull/1447","diff_url":"https://github.com/Itseez/opencv/pull/1447.diff","patch_url":"https://github.com/Itseez/opencv/pull/1447.patch"},"body":"All 3 modules added","score":0.113595694},{"url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/176","labels_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/176/labels{/name}","comments_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/176/comments","events_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/176/events","html_url":"https://github.com/telefonicaid/fiware-orion/pull/176","id":24614652,"number":176,"title":"contextBroker IPv6 support","user":{"login":"rbl219","id":5345527,"avatar_url":"https://avatars.githubusercontent.com/u/5345527","gravatar_id":"7f07f76114a467657383a5afb259600b","url":"https://api.github.com/users/rbl219","html_url":"https://github.com/rbl219","followers_url":"https://api.github.com/users/rbl219/followers","following_url":"https://api.github.com/users/rbl219/following{/other_user}","gists_url":"https://api.github.com/users/rbl219/gists{/gist_id}","starred_url":"https://api.github.com/users/rbl219/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbl219/subscriptions","organizations_url":"https://api.github.com/users/rbl219/orgs","repos_url":"https://api.github.com/users/rbl219/repos","events_url":"https://api.github.com/users/rbl219/events{/privacy}","received_events_url":"https://api.github.com/users/rbl219/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":7,"created_at":"2013-12-20T10:26:16Z","updated_at":"2014-02-10T18:39:54Z","closed_at":"2014-02-10T18:39:54Z","pull_request":{"html_url":"https://github.com/telefonicaid/fiware-orion/pull/176","diff_url":"https://github.com/telefonicaid/fiware-orion/pull/176.diff","patch_url":"https://github.com/telefonicaid/fiware-orion/pull/176.patch"},"body":"This PR includes changes in contextBroker and orion common libraries for IPv6 support","score":0.07127465},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/977","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/977/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/977/comments","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/977/events","html_url":"https://github.com/rethinkdb/rethinkdb/issues/977","id":15371319,"number":977,"title":"Proposal: Dates","user":{"login":"mlucy","id":1777134,"avatar_url":"https://avatars.githubusercontent.com/u/1777134","gravatar_id":"5c96c1013fdc26a6d880dd41cdb3af3e","url":"https://api.github.com/users/mlucy","html_url":"https://github.com/mlucy","followers_url":"https://api.github.com/users/mlucy/followers","following_url":"https://api.github.com/users/mlucy/following{/other_user}","gists_url":"https://api.github.com/users/mlucy/gists{/gist_id}","starred_url":"https://api.github.com/users/mlucy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlucy/subscriptions","organizations_url":"https://api.github.com/users/mlucy/orgs","repos_url":"https://api.github.com/users/mlucy/repos","events_url":"https://api.github.com/users/mlucy/events{/privacy}","received_events_url":"https://api.github.com/users/mlucy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/tp%3Areview","name":"tp:review","color":"eedd11"},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/tp%3ARQL_proposal","name":"tp:RQL_proposal","color":"0052cc"},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/tp%3AAPI_settled","name":"tp:API_settled","color":"007575"}],"state":"closed","assignee":{"login":"mlucy","id":1777134,"avatar_url":"https://avatars.githubusercontent.com/u/1777134","gravatar_id":"5c96c1013fdc26a6d880dd41cdb3af3e","url":"https://api.github.com/users/mlucy","html_url":"https://github.com/mlucy","followers_url":"https://api.github.com/users/mlucy/followers","following_url":"https://api.github.com/users/mlucy/following{/other_user}","gists_url":"https://api.github.com/users/mlucy/gists{/gist_id}","starred_url":"https://api.github.com/users/mlucy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlucy/subscriptions","organizations_url":"https://api.github.com/users/mlucy/orgs","repos_url":"https://api.github.com/users/mlucy/repos","events_url":"https://api.github.com/users/mlucy/events{/privacy}","received_events_url":"https://api.github.com/users/mlucy/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/40","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/40/labels","id":366793,"number":40,"title":"1.8","description":"","creator":{"login":"coffeemug","id":48436,"avatar_url":"https://avatars.githubusercontent.com/u/48436","gravatar_id":"fedc0598a0eae3f7eac98ea84e597f20","url":"https://api.github.com/users/coffeemug","html_url":"https://github.com/coffeemug","followers_url":"https://api.github.com/users/coffeemug/followers","following_url":"https://api.github.com/users/coffeemug/following{/other_user}","gists_url":"https://api.github.com/users/coffeemug/gists{/gist_id}","starred_url":"https://api.github.com/users/coffeemug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coffeemug/subscriptions","organizations_url":"https://api.github.com/users/coffeemug/orgs","repos_url":"https://api.github.com/users/coffeemug/repos","events_url":"https://api.github.com/users/coffeemug/events{/privacy}","received_events_url":"https://api.github.com/users/coffeemug/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":96,"state":"closed","created_at":"2013-06-29T01:55:11Z","updated_at":"2013-08-30T00:57:02Z","due_on":"2013-08-13T07:00:00Z"},"comments":164,"created_at":"2013-06-10T22:05:05Z","updated_at":"2013-10-04T16:47:24Z","closed_at":"2013-08-08T23:30:00Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"I propose that we introduce three new pseudo-types: dates (by which I mean date, time, and optional timezone), durations, and intervals, all cribbed from ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601), which we represent as strings.\r\n\r\nWe introduce the following terms:\r\n```ruby\r\ndate.date_sub(other_date) => duration\r\ndate.dur_sub(duration) => other_date\r\ndate.dur_add(duration) => other_date\r\nduration.dur_sub(other_duration) => third_duration\r\nduration.dur_add(other_duration) => third_duration\r\n\r\ndate.date_{lt/gt/le/ge/eq/ne}(other_date) => bool\r\nduration.dur_{lt/gt/le/ge/eq/ne}(other_date) => bool\r\n\r\n# intervals can also be specified directly as strings\r\nr.interval(date, other_date) => interval\r\nr.interval(date, duration) => interval\r\ndate.during(interval) => bool\r\n```\r\n\r\nWe should also update the drivers to automatically render native dates/durations/intervals as the appropriate strings.\r\n\r\nSo, for example, in Ruby you could get all rows inserted in the last day with:\r\n```ruby\r\ntable.between(Date.today, Date.today - 1, :index => :timestamp)\r\n```\r\nOr, if Ruby didn't have easy date manipulation:\r\n```ruby\r\ntable.between(Time.now, r(Time.now).dur_sub(\"P1M\"), :index => :timestamp)\r\n```","score":0.03586875},{"url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1179","labels_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1179/labels{/name}","comments_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1179/comments","events_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1179/events","html_url":"https://github.com/crosswalk-project/crosswalk/pull/1179","id":23128902,"number":1179,"title":"[Android][SysApps] Implement W3C SysApps Contacts API","user":{"login":"deqing","id":1152174,"avatar_url":"https://avatars.githubusercontent.com/u/1152174","gravatar_id":"8028a6a5008b0f8ccea391fb276a4000","url":"https://api.github.com/users/deqing","html_url":"https://github.com/deqing","followers_url":"https://api.github.com/users/deqing/followers","following_url":"https://api.github.com/users/deqing/following{/other_user}","gists_url":"https://api.github.com/users/deqing/gists{/gist_id}","starred_url":"https://api.github.com/users/deqing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deqing/subscriptions","organizations_url":"https://api.github.com/users/deqing/orgs","repos_url":"https://api.github.com/users/deqing/repos","events_url":"https://api.github.com/users/deqing/events{/privacy}","received_events_url":"https://api.github.com/users/deqing/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":13,"created_at":"2013-11-22T10:31:59Z","updated_at":"2013-12-05T17:23:04Z","closed_at":"2013-12-05T17:23:04Z","pull_request":{"html_url":"https://github.com/crosswalk-project/crosswalk/pull/1179","diff_url":"https://github.com/crosswalk-project/crosswalk/pull/1179.diff","patch_url":"https://github.com/crosswalk-project/crosswalk/pull/1179.patch"},"body":"The implementation is based on 26 August 2013 editor's draft version:\r\nhttp://www.w3.org/2012/sysapps/contacts-manager-api/\r\n\r\nCompleted features list:\r\n* Save/update individual contact and contacts in batch\r\n* Find/list contacts\r\n* Remove contacts\r\n* Contact change event\r\n\r\nDesign ideas can be found in the [\"Intent to implement\" document](http://www.mail-archive.com/crosswalk-dev@lists.crosswalk-project.org/msg00346.html).\r\nFeature: [XWALK-49](https://crosswalk-project.org/jira/browse/XWALK-49)","score":0.11442199},{"url":"https://api.github.com/repos/mangosR2/mangos/issues/456","labels_url":"https://api.github.com/repos/mangosR2/mangos/issues/456/labels{/name}","comments_url":"https://api.github.com/repos/mangosR2/mangos/issues/456/comments","events_url":"https://api.github.com/repos/mangosR2/mangos/issues/456/events","html_url":"https://github.com/mangosR2/mangos/issues/456","id":2042576,"number":456,"title":"branch testing - for test code.","user":{"login":"rsa","id":148874,"avatar_url":"https://avatars.githubusercontent.com/u/148874","gravatar_id":"457439dd610042a46972f25d1c8b1019","url":"https://api.github.com/users/rsa","html_url":"https://github.com/rsa","followers_url":"https://api.github.com/users/rsa/followers","following_url":"https://api.github.com/users/rsa/following{/other_user}","gists_url":"https://api.github.com/users/rsa/gists{/gist_id}","starred_url":"https://api.github.com/users/rsa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsa/subscriptions","organizations_url":"https://api.github.com/users/rsa/orgs","repos_url":"https://api.github.com/users/rsa/repos","events_url":"https://api.github.com/users/rsa/events{/privacy}","received_events_url":"https://api.github.com/users/rsa/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mangosR2/mangos/labels/Need+test","name":"Need test","color":"e10c02"}],"state":"closed","assignee":null,"milestone":null,"comments":151,"created_at":"2011-10-25T08:24:47Z","updated_at":"2012-03-08T08:49:55Z","closed_at":"2012-03-08T08:49:54Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"continue discussion from old issues by stability.","score":0.05234338},{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/5218","labels_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/5218/labels{/name}","comments_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/5218/comments","events_url":"https://api.github.com/repos/TrinityCore/TrinityCore/issues/5218/events","html_url":"https://github.com/TrinityCore/TrinityCore/issues/5218","id":3199401,"number":5218,"title":"[GDB-Backtrace] Collision BIH::intersectRay","user":{"login":"Amit86","id":977628,"avatar_url":"https://avatars.githubusercontent.com/u/977628","gravatar_id":"6096498e2a310a150d64eca522e65215","url":"https://api.github.com/users/Amit86","html_url":"https://github.com/Amit86","followers_url":"https://api.github.com/users/Amit86/followers","following_url":"https://api.github.com/users/Amit86/following{/other_user}","gists_url":"https://api.github.com/users/Amit86/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit86/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit86/subscriptions","organizations_url":"https://api.github.com/users/Amit86/orgs","repos_url":"https://api.github.com/users/Amit86/repos","events_url":"https://api.github.com/users/Amit86/events{/privacy}","received_events_url":"https://api.github.com/users/Amit86/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/labels/HasBacktrace","name":"HasBacktrace","color":"02e10c"},{"url":"https://api.github.com/repos/TrinityCore/TrinityCore/labels/Priority-Critical","name":"Priority-Critical","color":"e102d8"}],"state":"closed","assignee":{"login":"Subv","id":357072,"avatar_url":"https://avatars.githubusercontent.com/u/357072","gravatar_id":"22425321ce534d18919abbe8d3349f09","url":"https://api.github.com/users/Subv","html_url":"https://github.com/Subv","followers_url":"https://api.github.com/users/Subv/followers","following_url":"https://api.github.com/users/Subv/following{/other_user}","gists_url":"https://api.github.com/users/Subv/gists{/gist_id}","starred_url":"https://api.github.com/users/Subv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Subv/subscriptions","organizations_url":"https://api.github.com/users/Subv/orgs","repos_url":"https://api.github.com/users/Subv/repos","events_url":"https://api.github.com/users/Subv/events{/privacy}","received_events_url":"https://api.github.com/users/Subv/received_events","type":"User","site_admin":false},"milestone":null,"comments":147,"created_at":"2012-02-13T12:00:09Z","updated_at":"2013-11-05T05:50:57Z","closed_at":"2013-01-21T02:10:14Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"On hash 84268be\r\n\r\nFirst collision crash\r\n\r\n\r\nLink: http://paste2.org/p/1902836\r\n\r\nJust an FYI for Sub, dont close if the lines doesnt fit my spell::update isnt alterd\r\n\r\n```cpp\r\n\r\n\r\nvoid Spell::update(uint32 difftime)\r\n{\r\n // update pointers based at it's GUIDs\r\n UpdatePointers();\r\n\r\n if (m_targets.GetUnitTargetGUID() && !m_targets.GetUnitTarget())\r\n {\r\n sLog->outDebug(LOG_FILTER_SPELLS_AURAS, \"Spell %u is cancelled due to removal of target.\", m_spellInfo->Id);\r\n cancel();\r\n return;\r\n }\r\n\r\n // check if the player caster has moved before the spell finished\r\n if ((m_caster->GetTypeId() == TYPEID_PLAYER && m_timer != 0) &&\r\n m_caster->isMoving() && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_MOVEMENT) &&\r\n (m_spellInfo->Effects[0].Effect != SPELL_EFFECT_STUCK || !m_caster->HasUnitMovementFlag(MOVEMENTFLAG_FALLING)))\r\n {\r\n // don't cancel for melee, autorepeat, triggered and instant spells\r\n if (!IsNextMeleeSwingSpell() && !IsAutoRepeat() && !IsTriggered())\r\n cancel();\r\n }\r\n\r\n switch (m_spellState)\r\n {\r\n case SPELL_STATE_PREPARING:\r\n {\r\n if (m_timer > 0)\r\n {\r\n // Cancel the cast if the target is not in line of sight\r\n if (m_targets.GetUnitTarget() && !m_caster->IsWithinLOSInMap(m_targets.GetUnitTarget()))\r\n {\r\n SendCastResult(SPELL_FAILED_LINE_OF_SIGHT);\r\n cancel();\r\n return;\r\n }\r\n\r\n if (difftime >= (uint32)m_timer)\r\n m_timer = 0;\r\n else\r\n m_timer -= difftime;\r\n }\r\n\r\n if (m_timer == 0 && !IsNextMeleeSwingSpell() && !IsAutoRepeat())\r\n // don't CheckCast for instant spells - done in spell::prepare, skip duplicate checks, needed for range checks for example\r\n cast(!m_casttime);\r\n break;\r\n }\r\n case SPELL_STATE_CASTING:\r\n {\r\n if (m_timer)\r\n {\r\n // check if there are alive targets left\r\n if (!UpdateChanneledTargetList())\r\n {\r\n sLog->outDebug(LOG_FILTER_SPELLS_AURAS, \"Channeled spell %d is removed due to lack of targets\", m_spellInfo->Id);\r\n SendChannelUpdate(0);\r\n finish();\r\n }\r\n\r\n if (m_timer > 0)\r\n {\r\n if (difftime >= (uint32)m_timer)\r\n m_timer = 0;\r\n else\r\n m_timer -= difftime;\r\n }\r\n }\r\n\r\n if (m_timer == 0)\r\n {\r\n SendChannelUpdate(0);\r\n\r\n // channeled spell processed independently for quest targeting\r\n // cast at creature (or GO) quest objectives update at successful cast channel finished\r\n // ignore autorepeat/melee casts for speed (not exist quest for spells (hm...)\r\n if (!IsAutoRepeat() && !IsNextMeleeSwingSpell())\r\n {\r\n if (Player* p = m_caster->GetCharmerOrOwnerPlayerOrPlayerItself())\r\n {\r\n for (std::list::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)\r\n {\r\n TargetInfo* target = &*ihit;\r\n if (!IS_CRE_OR_VEH_GUID(target->targetGUID))\r\n continue;\r\n\r\n Unit* unit = m_caster->GetGUID() == target->targetGUID ? m_caster : ObjectAccessor::GetUnit(*m_caster, target->targetGUID);\r\n if (unit == NULL)\r\n continue;\r\n\r\n p->CastedCreatureOrGO(unit->GetEntry(), unit->GetGUID(), m_spellInfo->Id);\r\n }\r\n\r\n for (std::list::iterator ihit = m_UniqueGOTargetInfo.begin(); ihit != m_UniqueGOTargetInfo.end(); ++ihit)\r\n {\r\n GOTargetInfo* target = &*ihit;\r\n\r\n GameObject* go = m_caster->GetMap()->GetGameObject(target->targetGUID);\r\n if (!go)\r\n continue;\r\n\r\n p->CastedCreatureOrGO(go->GetEntry(), go->GetGUID(), m_spellInfo->Id);\r\n }\r\n }\r\n }\r\n\r\n finish();\r\n }\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n}\r\n```","score":0.113824666},{"url":"https://api.github.com/repos/ariya/phantomjs/issues/11418","labels_url":"https://api.github.com/repos/ariya/phantomjs/issues/11418/labels{/name}","comments_url":"https://api.github.com/repos/ariya/phantomjs/issues/11418/comments","events_url":"https://api.github.com/repos/ariya/phantomjs/issues/11418/events","html_url":"https://github.com/ariya/phantomjs/issues/11418","id":15753818,"number":11418,"title":"CoreText Issue on OS X Mavericks. For best performance, only use PostScript names when calling CTFontCreateWithName()","user":{"login":"wisesimpson","id":544374,"avatar_url":"https://avatars.githubusercontent.com/u/544374","gravatar_id":"80161171790cd0b6dfe442999be578ce","url":"https://api.github.com/users/wisesimpson","html_url":"https://github.com/wisesimpson","followers_url":"https://api.github.com/users/wisesimpson/followers","following_url":"https://api.github.com/users/wisesimpson/following{/other_user}","gists_url":"https://api.github.com/users/wisesimpson/gists{/gist_id}","starred_url":"https://api.github.com/users/wisesimpson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wisesimpson/subscriptions","organizations_url":"https://api.github.com/users/wisesimpson/orgs","repos_url":"https://api.github.com/users/wisesimpson/repos","events_url":"https://api.github.com/users/wisesimpson/events{/privacy}","received_events_url":"https://api.github.com/users/wisesimpson/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ariya/phantomjs/labels/Priority-High","name":"Priority-High","color":"ededed"},{"url":"https://api.github.com/repos/ariya/phantomjs/labels/Status-Accepted","name":"Status-Accepted","color":"ededed"},{"url":"https://api.github.com/repos/ariya/phantomjs/labels/Domain-Qt","name":"Domain-Qt","color":"ededed"}],"state":"closed","assignee":{"login":"ariya","id":7288,"avatar_url":"https://avatars.githubusercontent.com/u/7288","gravatar_id":"0284b8950e0f4a57bcc092d4dbb98d97","url":"https://api.github.com/users/ariya","html_url":"https://github.com/ariya","followers_url":"https://api.github.com/users/ariya/followers","following_url":"https://api.github.com/users/ariya/following{/other_user}","gists_url":"https://api.github.com/users/ariya/gists{/gist_id}","starred_url":"https://api.github.com/users/ariya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ariya/subscriptions","organizations_url":"https://api.github.com/users/ariya/orgs","repos_url":"https://api.github.com/users/ariya/repos","events_url":"https://api.github.com/users/ariya/events{/privacy}","received_events_url":"https://api.github.com/users/ariya/received_events","type":"User","site_admin":false},"milestone":null,"comments":140,"created_at":"2013-06-19T16:13:46Z","updated_at":"2014-02-14T15:03:41Z","closed_at":"2014-01-04T04:42:51Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When I run phantoms 1.9.1 (downloaded) on the new OS X Mavericks, I got this:\r\n\r\n2013-06-19 23:46:05.765 phantomjs[6149:507] CoreText performance note: Client called CTFontCreateWithName() using name \"Times New Roman\" and got font with PostScript name \"TimesNewRomanPSMT\". For best performance, only use PostScript names when calling this API.\r\n2013-06-19 23:46:05.767 phantomjs[6149:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.\r\n\r\nI think change the \"Times New Roman\" to \"TimesNewRomanPSMT\" may fix the issue.","score":0.11483045},{"url":"https://api.github.com/repos/Inglenookians/Project-Inglenook/issues/2","labels_url":"https://api.github.com/repos/Inglenookians/Project-Inglenook/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/Inglenookians/Project-Inglenook/issues/2/comments","events_url":"https://api.github.com/repos/Inglenookians/Project-Inglenook/issues/2/events","html_url":"https://github.com/Inglenookians/Project-Inglenook/pull/2","id":8091725,"number":2,"title":"Logging (ign_logging)","user":{"login":"glimhumbletoes","id":1552722,"avatar_url":"https://avatars.githubusercontent.com/u/1552722","gravatar_id":"2b5c50bdfda433e1ee6f9cb768c9167b","url":"https://api.github.com/users/glimhumbletoes","html_url":"https://github.com/glimhumbletoes","followers_url":"https://api.github.com/users/glimhumbletoes/followers","following_url":"https://api.github.com/users/glimhumbletoes/following{/other_user}","gists_url":"https://api.github.com/users/glimhumbletoes/gists{/gist_id}","starred_url":"https://api.github.com/users/glimhumbletoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glimhumbletoes/subscriptions","organizations_url":"https://api.github.com/users/glimhumbletoes/orgs","repos_url":"https://api.github.com/users/glimhumbletoes/repos","events_url":"https://api.github.com/users/glimhumbletoes/events{/privacy}","received_events_url":"https://api.github.com/users/glimhumbletoes/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":{"login":"chris5287","id":1552744,"avatar_url":"https://avatars.githubusercontent.com/u/1552744","gravatar_id":"68e2fb94c6f5ca87d97d946f1d5fa293","url":"https://api.github.com/users/chris5287","html_url":"https://github.com/chris5287","followers_url":"https://api.github.com/users/chris5287/followers","following_url":"https://api.github.com/users/chris5287/following{/other_user}","gists_url":"https://api.github.com/users/chris5287/gists{/gist_id}","starred_url":"https://api.github.com/users/chris5287/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chris5287/subscriptions","organizations_url":"https://api.github.com/users/chris5287/orgs","repos_url":"https://api.github.com/users/chris5287/repos","events_url":"https://api.github.com/users/chris5287/events{/privacy}","received_events_url":"https://api.github.com/users/chris5287/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2012-11-04T20:16:18Z","updated_at":"2012-11-15T00:27:42Z","closed_at":"2012-11-15T00:27:42Z","pull_request":{"html_url":"https://github.com/Inglenookians/Project-Inglenook/pull/2","diff_url":"https://github.com/Inglenookians/Project-Inglenook/pull/2.diff","patch_url":"https://github.com/Inglenookians/Project-Inglenook/pull/2.patch"},"body":"Proposed initial version of inglenooks logging library. Pull request includes:\r\n\r\n
    \r\n
  • Inglenook logging library (all content of src/lib/ign_logging)
  • \r\n
  • Test routines (code coverage for all library, except exclusions cited in all_tests.h )
  • \r\n
  • Logging example code (all content of src/examples/lib/ign_logging )
  • \r\n
  • Modifications to CMAKE to support additional switches
  • \r\n
  • Build switch -DWITH_EXAMPLES ( On by default).
  • \r\n
\r\n\r\nThis release is tagged as ign_logging_v1.0.0000.","score":0.10236126},{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/2846","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/2846/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/2846/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/2846/events","html_url":"https://github.com/hrydgard/ppsspp/issues/2846","id":16982116,"number":2846,"title":"Persona 3 Portable 5th block crash *fixed*","user":{"login":"CrymsonZX","id":5048874,"avatar_url":"https://avatars.githubusercontent.com/u/5048874","gravatar_id":"dcc50045fb21f472c9d5b6d35eb822c5","url":"https://api.github.com/users/CrymsonZX","html_url":"https://github.com/CrymsonZX","followers_url":"https://api.github.com/users/CrymsonZX/followers","following_url":"https://api.github.com/users/CrymsonZX/following{/other_user}","gists_url":"https://api.github.com/users/CrymsonZX/gists{/gist_id}","starred_url":"https://api.github.com/users/CrymsonZX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CrymsonZX/subscriptions","organizations_url":"https://api.github.com/users/CrymsonZX/orgs","repos_url":"https://api.github.com/users/CrymsonZX/repos","events_url":"https://api.github.com/users/CrymsonZX/events{/privacy}","received_events_url":"https://api.github.com/users/CrymsonZX/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":132,"created_at":"2013-07-19T17:21:36Z","updated_at":"2014-01-30T07:00:32Z","closed_at":"2014-01-30T07:00:32Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"When I try to access the 5th block of Tartarus the game crashes with no explanation, I can still get to it via the 4th block but when I exit a battle 9 times out of 10 it'll crash as well, I'm using the default emulator settings and the game has been going smoothly till this point so I am really confused as to why this is happening.\r\nIf anyone knows how to fix this, I'd be really glad to try it.\r\nThank you in advance.\r\n\r\nEDIT: Works with Hardware Transforming disabled, tested on version 0.8.1-648-g88685b0\r\nSpecial thanks to @solarmystic and @vsub \r\n\r\nEDIT 2: first of all, sorry for no updates, been trying to reach 5th block on my 2nd playthrough, but now that I'm there I can say that @sum2012 's build works with Hardware Transform ON, I can play perfectly without any crashes, but, I don't see a difference in speed as @solarmystic said, but that may be just me. In conclusion, this is closed for good, I'll just keep using this build until an actual official fixed version is released by the developers.\r\nThank you @sum2012 for the build and @solarmystic for the trace that led to the build. And again, sorry for no updates in a while.\r\n\r\nEDIT 3: Oops, guess I said that too soon... Tried to close the menu while in the block and it crashed on me... I'm gonna need to re-open this thread...\r\n\r\nEDIT 4: Works without crashes on the newest version with default settings.","score":0.089615434},{"url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1579","labels_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1579/labels{/name}","comments_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1579/comments","events_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1579/events","html_url":"https://github.com/crosswalk-project/crosswalk/pull/1579","id":27496160,"number":1579,"title":"[Application] [Extension] Added two permission APIs.","user":{"login":"mbbill","id":841602,"avatar_url":"https://avatars.githubusercontent.com/u/841602","gravatar_id":"4c96f8afdf03dfe5591422ca283a0dbd","url":"https://api.github.com/users/mbbill","html_url":"https://github.com/mbbill","followers_url":"https://api.github.com/users/mbbill/followers","following_url":"https://api.github.com/users/mbbill/following{/other_user}","gists_url":"https://api.github.com/users/mbbill/gists{/gist_id}","starred_url":"https://api.github.com/users/mbbill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbbill/subscriptions","organizations_url":"https://api.github.com/users/mbbill/orgs","repos_url":"https://api.github.com/users/mbbill/repos","events_url":"https://api.github.com/users/mbbill/events{/privacy}","received_events_url":"https://api.github.com/users/mbbill/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":9,"created_at":"2014-02-13T05:51:57Z","updated_at":"2014-02-20T10:12:35Z","closed_at":"2014-02-20T08:49:33Z","pull_request":{"html_url":"https://github.com/crosswalk-project/crosswalk/pull/1579","diff_url":"https://github.com/crosswalk-project/crosswalk/pull/1579.diff","patch_url":"https://github.com/crosswalk-project/crosswalk/pull/1579.patch"},"body":"CheckAPIAccessControl\r\nThis API is for external extension developer. The API need to be called in the\r\nimplementation of each exported API in C or C++ code. For C extension\r\nimplantation, header file \"public/XW_Extension_Permissions.h\" should be\r\nincluded. For each API that need access sensitive data, developer should call\r\nCheckAPIAccessControl for API control. For C++ extension implantation, header\r\nfile \"xwalk/common/xwalk_external_extension.h\" should be included.\r\n\r\nRegisterPermissions\r\nThe runtime permission mapping is registered by extension which\r\nimplements some specific API, for example: \"bluetooth\" ->\r\n\"bluetooth.read, bluetooth.write, bluetooth.management\" Whenever there\r\ncomes a API permission request, we can tell whether this API is\r\nregistered, if yes, return the according permission name.","score":0.25919735},{"url":"https://api.github.com/repos/MailCore/mailcore2/issues/155","labels_url":"https://api.github.com/repos/MailCore/mailcore2/issues/155/labels{/name}","comments_url":"https://api.github.com/repos/MailCore/mailcore2/issues/155/comments","events_url":"https://api.github.com/repos/MailCore/mailcore2/issues/155/events","html_url":"https://github.com/MailCore/mailcore2/pull/155","id":16013894,"number":155,"title":"New message rendering methods on IMAP","user":{"login":"paulyoung","id":84700,"avatar_url":"https://avatars.githubusercontent.com/u/84700","gravatar_id":"ee593093b3a4aa721ad6979c752a9c9d","url":"https://api.github.com/users/paulyoung","html_url":"https://github.com/paulyoung","followers_url":"https://api.github.com/users/paulyoung/followers","following_url":"https://api.github.com/users/paulyoung/following{/other_user}","gists_url":"https://api.github.com/users/paulyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/paulyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulyoung/subscriptions","organizations_url":"https://api.github.com/users/paulyoung/orgs","repos_url":"https://api.github.com/users/paulyoung/repos","events_url":"https://api.github.com/users/paulyoung/events{/privacy}","received_events_url":"https://api.github.com/users/paulyoung/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MailCore/mailcore2/labels/work-in-progress","name":"work-in-progress","color":"c7def8"},{"url":"https://api.github.com/repos/MailCore/mailcore2/labels/waffle%3Ain+progress","name":"waffle:in progress","color":"eac04b"}],"state":"closed","assignee":{"login":"paulyoung","id":84700,"avatar_url":"https://avatars.githubusercontent.com/u/84700","gravatar_id":"ee593093b3a4aa721ad6979c752a9c9d","url":"https://api.github.com/users/paulyoung","html_url":"https://github.com/paulyoung","followers_url":"https://api.github.com/users/paulyoung/followers","following_url":"https://api.github.com/users/paulyoung/following{/other_user}","gists_url":"https://api.github.com/users/paulyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/paulyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulyoung/subscriptions","organizations_url":"https://api.github.com/users/paulyoung/orgs","repos_url":"https://api.github.com/users/paulyoung/repos","events_url":"https://api.github.com/users/paulyoung/events{/privacy}","received_events_url":"https://api.github.com/users/paulyoung/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/MailCore/mailcore2/milestones/1","labels_url":"https://api.github.com/repos/MailCore/mailcore2/milestones/1/labels","id":361723,"number":1,"title":"0.2","description":"- Improve usability of APIs\r\n- Implement OAuth 2.0\r\n","creator":{"login":"dinhviethoa","id":332168,"avatar_url":"https://avatars.githubusercontent.com/u/332168","gravatar_id":"6b2f37933bf38e2d22949f316e751757","url":"https://api.github.com/users/dinhviethoa","html_url":"https://github.com/dinhviethoa","followers_url":"https://api.github.com/users/dinhviethoa/followers","following_url":"https://api.github.com/users/dinhviethoa/following{/other_user}","gists_url":"https://api.github.com/users/dinhviethoa/gists{/gist_id}","starred_url":"https://api.github.com/users/dinhviethoa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dinhviethoa/subscriptions","organizations_url":"https://api.github.com/users/dinhviethoa/orgs","repos_url":"https://api.github.com/users/dinhviethoa/repos","events_url":"https://api.github.com/users/dinhviethoa/events{/privacy}","received_events_url":"https://api.github.com/users/dinhviethoa/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":29,"state":"closed","created_at":"2013-06-22T21:12:02Z","updated_at":"2013-07-31T17:00:39Z","due_on":"2013-07-28T07:00:00Z"},"comments":48,"created_at":"2013-06-26T03:38:48Z","updated_at":"2013-07-21T19:04:47Z","closed_at":"2013-07-12T03:33:33Z","pull_request":{"html_url":"https://github.com/MailCore/mailcore2/pull/155","diff_url":"https://github.com/MailCore/mailcore2/pull/155.diff","patch_url":"https://github.com/MailCore/mailcore2/pull/155.patch"},"body":"I'm creating a pull request so it's easier to discuss and track changes as opposed to in the issues themselves.\r\n\r\nAs discussed in #112 and #111, this is a first pass at defining the interface. Currently only includes IMAP. RFC 822 to come.\r\n\r\nI need to look further into the implementation and how the existing `IMAPMessage::htmlRendering` and `HTMLRenderer::htmlForIMAPMessage` methods work. It's unclear to me at this point if these new methods need to take additional parameters for the callbacks or if callbacks will be created within their implementation.","score":0.07660277},{"url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1375","labels_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1375/labels{/name}","comments_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1375/comments","events_url":"https://api.github.com/repos/crosswalk-project/crosswalk/issues/1375/events","html_url":"https://github.com/crosswalk-project/crosswalk/pull/1375","id":24606936,"number":1375,"title":"[DO NOT MERGE] [Application] Implementation of application permission system.","user":{"login":"mbbill","id":841602,"avatar_url":"https://avatars.githubusercontent.com/u/841602","gravatar_id":"4c96f8afdf03dfe5591422ca283a0dbd","url":"https://api.github.com/users/mbbill","html_url":"https://github.com/mbbill","followers_url":"https://api.github.com/users/mbbill/followers","following_url":"https://api.github.com/users/mbbill/following{/other_user}","gists_url":"https://api.github.com/users/mbbill/gists{/gist_id}","starred_url":"https://api.github.com/users/mbbill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbbill/subscriptions","organizations_url":"https://api.github.com/users/mbbill/orgs","repos_url":"https://api.github.com/users/mbbill/repos","events_url":"https://api.github.com/users/mbbill/events{/privacy}","received_events_url":"https://api.github.com/users/mbbill/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":36,"created_at":"2013-12-20T06:22:51Z","updated_at":"2014-02-25T01:17:43Z","closed_at":"2014-02-25T01:17:43Z","pull_request":{"html_url":"https://github.com/crosswalk-project/crosswalk/pull/1375","diff_url":"https://github.com/crosswalk-project/crosswalk/pull/1375.diff","patch_url":"https://github.com/crosswalk-project/crosswalk/pull/1375.patch"},"body":"**This patch contains following major parts implemented step-by-step:** completed steps are marked as [x]\r\n\r\n- [x] Permission check: it's unfinished because some of it's logic need to be put into the Application class which does not exist for the moment, the corresponding code in ApplicationService is ready though. The remaining tasks are marked by TODOs (Update: the missing parts are completed in the 4th commit in the PR)\r\n\r\n- [x] Permission storage: permissions should be stored in ApplicationData and eventually the database, so now we have setter and getter in the ApplicationData class and the actual db operations are done inside ApplicationStorageImpl.\r\n\r\n- [x] Permission message passing (on going): It's merged from Xu,Zhang's PR #1231 .\r\nThe following comments are copied from PR #1231\r\n\r\n This PR is related to API Access Control feature: communication functionality between extension and browser process.\r\n In this PR, a new API is public for extension developer to enforce API permission checking. The whole API Access Control feature is composed of a few PRs. This PR is one of them. Another PR related to this feature is PR#1176:Added permission group and policy management classes.\r\nThe design document of this feature can be found from https://docs.google.com/a/intel.com/document/d/137u_gxmNaIFwVzaCkCFBJyveIdZxuAydWOkMI8oWgD0/edit#heading=h.5rkmb0mvstye\r\n\r\n- [x] Fully integrate Zhang,Xu's IPC code, make the permission definitions, method names align.\r\n\r\n- [x] Switching to async response in permission check API. After this step is done, we will have a working permission system.\r\n\r\n- [x] Permission-function register.\r\n\r\n One extension may provide one or more (typically only one) set of APIs that are under corresponding permission label. For example, one extension may implement all the bluetooth.xxx() functions under permission name 'bluetooth', or more detailed permission name 'bluetooth.read, bluetooth.write, bluetooth.management' (it depends on how permission catagory is defined). The extension is responsible for registering its implemented functions and permissions after being loaded by extension system by calling a permission register function with it's permission-function mapping. The mapping is JSON string (being defined) which may look like\r\n```\r\n{ \"bluetooth\": [\"bluetooth.read\", \"bluetooth.write\"] }\r\n```\r\n\r\n----\r\n**The following features will be included In the next PR**\r\n- [ ] Define the permission-function register format.\r\n- [ ] Make the \"CheckAPIAccessControl\" work for in-process extensions.\r\n - [x] Move permission delegate from XwalkExternalExtension to the XwalkExtension class.\r\n - [ ] Implement permission delegate for in-process extensions.\r\n- [ ] OEM policy define and implementation.\r\n\r\n- [ ] UI dialog.\r\n\r\n- [ ] Permission cache in extension process\r\n\r\n**Relation with other permission-related patches**\r\n - Because of the refactor of storage system and to fit in the future application architecture, this patch deprecates the previous PR #1176\r\n\r\n - Because the permission messaging API are merged into this patch, this patch deprecates PR #1231\r\n\r\n**Some Term Explanations:**\r\n - Runtime Permission:\r\n\r\n Permission name used by runtime/extension/render process to determine a appropriate operation for a permission request.\r\n\r\n - Stored Permission:\r\n\r\n Permission name that would be stored into database during installation or after a user interaction.\r\n","score":0.10998621},{"url":"https://api.github.com/repos/cms-sw/cmssw/issues/2171","labels_url":"https://api.github.com/repos/cms-sw/cmssw/issues/2171/labels{/name}","comments_url":"https://api.github.com/repos/cms-sw/cmssw/issues/2171/comments","events_url":"https://api.github.com/repos/cms-sw/cmssw/issues/2171/events","html_url":"https://github.com/cms-sw/cmssw/pull/2171","id":26274278,"number":2171,"title":"Switching default jet collection from AK5 to AK4","user":{"login":"rappoccio","id":4267705,"avatar_url":"https://avatars.githubusercontent.com/u/4267705","gravatar_id":"bbdf4ebd75ba76d1a5b6c172c9fac57e","url":"https://api.github.com/users/rappoccio","html_url":"https://github.com/rappoccio","followers_url":"https://api.github.com/users/rappoccio/followers","following_url":"https://api.github.com/users/rappoccio/following{/other_user}","gists_url":"https://api.github.com/users/rappoccio/gists{/gist_id}","starred_url":"https://api.github.com/users/rappoccio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rappoccio/subscriptions","organizations_url":"https://api.github.com/users/rappoccio/orgs","repos_url":"https://api.github.com/users/rappoccio/repos","events_url":"https://api.github.com/users/rappoccio/events{/privacy}","received_events_url":"https://api.github.com/users/rappoccio/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/reconstruction-pending","name":"reconstruction-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/simulation-pending","name":"simulation-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/dqm-pending","name":"dqm-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/hlt-pending","name":"hlt-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/core-pending","name":"core-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/analysis-pending","name":"analysis-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/alca-pending","name":"alca-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/docs-pending","name":"docs-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/fastsim-pending","name":"fastsim-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/db-pending","name":"db-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/generators-pending","name":"generators-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/geometry-pending","name":"geometry-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/operations-pending","name":"operations-pending","color":"fbca04"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/pending-signatures","name":"pending-signatures","color":"eb6420"},{"url":"https://api.github.com/repos/cms-sw/cmssw/labels/tests-pending","name":"tests-pending","color":"fbca04"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/cms-sw/cmssw/milestones/39","labels_url":"https://api.github.com/repos/cms-sw/cmssw/milestones/39/labels","id":578758,"number":39,"title":"CMSSW_7_1_0_pre4","description":"","creator":{"login":"nclopezo","id":1944922,"avatar_url":"https://avatars.githubusercontent.com/u/1944922","gravatar_id":"c37878ac7a56b492e4f8df2a94abbd49","url":"https://api.github.com/users/nclopezo","html_url":"https://github.com/nclopezo","followers_url":"https://api.github.com/users/nclopezo/followers","following_url":"https://api.github.com/users/nclopezo/following{/other_user}","gists_url":"https://api.github.com/users/nclopezo/gists{/gist_id}","starred_url":"https://api.github.com/users/nclopezo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nclopezo/subscriptions","organizations_url":"https://api.github.com/users/nclopezo/orgs","repos_url":"https://api.github.com/users/nclopezo/repos","events_url":"https://api.github.com/users/nclopezo/events{/privacy}","received_events_url":"https://api.github.com/users/nclopezo/received_events","type":"User","site_admin":false},"open_issues":32,"closed_issues":195,"state":"open","created_at":"2014-02-24T15:26:25Z","updated_at":"2014-03-03T00:08:27Z","due_on":"2014-03-03T08:00:00Z"},"comments":125,"created_at":"2014-01-24T22:00:16Z","updated_at":"2014-03-03T03:10:17Z","closed_at":null,"pull_request":{"html_url":"https://github.com/cms-sw/cmssw/pull/2171","diff_url":"https://github.com/cms-sw/cmssw/pull/2171.diff","patch_url":"https://github.com/cms-sw/cmssw/pull/2171.patch"},"body":"Here I have changed the default jet collection for downstream modules from AK5 to AK4. This affects : \r\n* b-tagging\r\n* tau-tagging\r\n* HLT\r\n* PFBRECO\r\n* Type1 MET\r\n* Isolation cones.\r\n\r\nI have not self-ported changes of hard-coded cone sizes from 0.5 to 0.4, except in the Jet RECO packages. There are probably pieces in BTagging and TauTagging code that use cone sizes and must change for consistency. ","score":0.15000954},{"url":"https://api.github.com/repos/thrust/thrust/issues/449","labels_url":"https://api.github.com/repos/thrust/thrust/issues/449/labels{/name}","comments_url":"https://api.github.com/repos/thrust/thrust/issues/449/comments","events_url":"https://api.github.com/repos/thrust/thrust/issues/449/events","html_url":"https://github.com/thrust/thrust/pull/449","id":23604237,"number":449,"title":"Thrust equivalent to std::complex","user":{"login":"FilipeMaia","id":147838,"avatar_url":"https://avatars.githubusercontent.com/u/147838","gravatar_id":"2dabf758ddced52241ac0ca9a5a9f921","url":"https://api.github.com/users/FilipeMaia","html_url":"https://github.com/FilipeMaia","followers_url":"https://api.github.com/users/FilipeMaia/followers","following_url":"https://api.github.com/users/FilipeMaia/following{/other_user}","gists_url":"https://api.github.com/users/FilipeMaia/gists{/gist_id}","starred_url":"https://api.github.com/users/FilipeMaia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FilipeMaia/subscriptions","organizations_url":"https://api.github.com/users/FilipeMaia/orgs","repos_url":"https://api.github.com/users/FilipeMaia/repos","events_url":"https://api.github.com/users/FilipeMaia/events{/privacy}","received_events_url":"https://api.github.com/users/FilipeMaia/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":39,"created_at":"2013-12-02T21:45:45Z","updated_at":"2013-12-13T22:30:53Z","closed_at":"2013-12-13T21:40:17Z","pull_request":{"html_url":"https://github.com/thrust/thrust/pull/449","diff_url":"https://github.com/thrust/thrust/pull/449.diff","patch_url":"https://github.com/thrust/thrust/pull/449.patch"},"body":"I've put all the code inside thrust/detail/complex. I've also create the unittests and documentation.\r\n\r\nI've ported FreeBSDs c99 complex implementation, as it seems to be the highest quality available.\r\nAll the functions, except for pow, are accurate to within a few ULPs. \r\n\r\nComplex atan() and atanh() require C++11 due to the lack of real atanh() in previous versions.\r\n\r\nI've tested with g++ and clang++ but I didn't have the opportunity to try with msvc as I don't have access to it.","score":0.2484173},{"url":"https://api.github.com/repos/scipy/scipy/issues/335","labels_url":"https://api.github.com/repos/scipy/scipy/issues/335/labels{/name}","comments_url":"https://api.github.com/repos/scipy/scipy/issues/335/comments","events_url":"https://api.github.com/repos/scipy/scipy/issues/335/events","html_url":"https://github.com/scipy/scipy/pull/335","id":7446030,"number":335,"title":"new global optimization algorithm, basinhopping","user":{"login":"js850","id":1587384,"avatar_url":"https://avatars.githubusercontent.com/u/1587384","gravatar_id":"82f48a33b2171e33c287ba17fe24dab1","url":"https://api.github.com/users/js850","html_url":"https://github.com/js850","followers_url":"https://api.github.com/users/js850/followers","following_url":"https://api.github.com/users/js850/following{/other_user}","gists_url":"https://api.github.com/users/js850/gists{/gist_id}","starred_url":"https://api.github.com/users/js850/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/js850/subscriptions","organizations_url":"https://api.github.com/users/js850/orgs","repos_url":"https://api.github.com/users/js850/repos","events_url":"https://api.github.com/users/js850/events{/privacy}","received_events_url":"https://api.github.com/users/js850/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":85,"created_at":"2012-10-09T12:38:25Z","updated_at":"2013-02-03T22:01:33Z","closed_at":"2013-02-03T20:22:12Z","pull_request":{"html_url":"https://github.com/scipy/scipy/pull/335","diff_url":"https://github.com/scipy/scipy/pull/335.diff","patch_url":"https://github.com/scipy/scipy/pull/335.patch"},"body":"Hi, I wrote an implementation of the basinhopping global optimization algorithm and I think it would be a useful addition to scipy.optimize. It's a powerful algorithm, but all the hard work would be done by the minimizers that already exist in scipy.optimize, so the additional code needed is really not very much.\r\n\r\nThe following is from the documentation notes:\r\n\r\nBasin hopping is a random algorithm which attempts to find the global minimum of a smooth scalar function of one or more variables. The algorithm was originally described by David Wales http://www-wales.ch.cam.ac.uk/ . The algorithm is iterative with each iteration composed of the following steps\r\n\r\n 1) random displacement of the coordinates\r\n\r\n 2) local minimization\r\n\r\n 3) accept or reject the new coordinates based on the minimized function\r\n value.\r\n\r\nThis global minimization method has been shown to be extremely efficient on a wide variety of problems in physics and chemistry. It is especially efficient when the function has many minima separated by large barriers. See the cambridge cluster database http://www-wales.ch.cam.ac.uk/CCD.html for database of molecular systems that have been optimized primarily using basin hopping. This database includes minimization problems exceeding 300 degrees of freedom.\r\n\r\nThanks,\r\nJake\r\n\r\np.s. this is my first submission\r\n\r\np.p.s. I'm not totally sure I did all the documentation completely correctly.","score":0.06290573},{"url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/issues/35","labels_url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/issues/35/comments","events_url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/issues/35/events","html_url":"https://github.com/TheWhisp/android_device_samsung_msm7x27a-common/issues/35","id":18228199,"number":35,"title":"White Screen at cm10.1 Build 18.07.2013 (G)","user":{"login":"fredhy91","id":4696489,"avatar_url":"https://avatars.githubusercontent.com/u/4696489","gravatar_id":"d96cd8f6dcf06e180a7727ca749f6ab7","url":"https://api.github.com/users/fredhy91","html_url":"https://github.com/fredhy91","followers_url":"https://api.github.com/users/fredhy91/followers","following_url":"https://api.github.com/users/fredhy91/following{/other_user}","gists_url":"https://api.github.com/users/fredhy91/gists{/gist_id}","starred_url":"https://api.github.com/users/fredhy91/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredhy91/subscriptions","organizations_url":"https://api.github.com/users/fredhy91/orgs","repos_url":"https://api.github.com/users/fredhy91/repos","events_url":"https://api.github.com/users/fredhy91/events{/privacy}","received_events_url":"https://api.github.com/users/fredhy91/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/TheWhisp/android_device_samsung_msm7x27a-common/labels/not-on-all-devices","name":"not-on-all-devices","color":"207de5"}],"state":"open","assignee":null,"milestone":null,"comments":124,"created_at":"2013-08-19T08:35:56Z","updated_at":"2014-02-28T11:46:43Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Thank u for ur hard theWhisp, I flash ur new build for cm 10.1 but after i lock my device the home button and the power button only show the white screen and after that only reboot the device that i can do, nothing else. ","score":0.22806776},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/1096","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/1096/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/1096/comments","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/1096/events","html_url":"https://github.com/rethinkdb/rethinkdb/issues/1096","id":16181994,"number":1096,"title":"Proposal: `r.group.map.reduce`","user":{"login":"coffeemug","id":48436,"avatar_url":"https://avatars.githubusercontent.com/u/48436","gravatar_id":"fedc0598a0eae3f7eac98ea84e597f20","url":"https://api.github.com/users/coffeemug","html_url":"https://github.com/coffeemug","followers_url":"https://api.github.com/users/coffeemug/followers","following_url":"https://api.github.com/users/coffeemug/following{/other_user}","gists_url":"https://api.github.com/users/coffeemug/gists{/gist_id}","starred_url":"https://api.github.com/users/coffeemug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coffeemug/subscriptions","organizations_url":"https://api.github.com/users/coffeemug/orgs","repos_url":"https://api.github.com/users/coffeemug/repos","events_url":"https://api.github.com/users/coffeemug/events{/privacy}","received_events_url":"https://api.github.com/users/coffeemug/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/tp%3ARQL_proposal","name":"tp:RQL_proposal","color":"0052cc"}],"state":"closed","assignee":{"login":"mlucy","id":1777134,"avatar_url":"https://avatars.githubusercontent.com/u/1777134","gravatar_id":"5c96c1013fdc26a6d880dd41cdb3af3e","url":"https://api.github.com/users/mlucy","html_url":"https://github.com/mlucy","followers_url":"https://api.github.com/users/mlucy/followers","following_url":"https://api.github.com/users/mlucy/following{/other_user}","gists_url":"https://api.github.com/users/mlucy/gists{/gist_id}","starred_url":"https://api.github.com/users/mlucy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlucy/subscriptions","organizations_url":"https://api.github.com/users/mlucy/orgs","repos_url":"https://api.github.com/users/mlucy/repos","events_url":"https://api.github.com/users/mlucy/events{/privacy}","received_events_url":"https://api.github.com/users/mlucy/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/53","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/53/labels","id":489609,"number":53,"title":"1.12","description":"","creator":{"login":"coffeemug","id":48436,"avatar_url":"https://avatars.githubusercontent.com/u/48436","gravatar_id":"fedc0598a0eae3f7eac98ea84e597f20","url":"https://api.github.com/users/coffeemug","html_url":"https://github.com/coffeemug","followers_url":"https://api.github.com/users/coffeemug/followers","following_url":"https://api.github.com/users/coffeemug/following{/other_user}","gists_url":"https://api.github.com/users/coffeemug/gists{/gist_id}","starred_url":"https://api.github.com/users/coffeemug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coffeemug/subscriptions","organizations_url":"https://api.github.com/users/coffeemug/orgs","repos_url":"https://api.github.com/users/coffeemug/repos","events_url":"https://api.github.com/users/coffeemug/events{/privacy}","received_events_url":"https://api.github.com/users/coffeemug/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":124,"state":"open","created_at":"2013-11-19T09:47:10Z","updated_at":"2014-03-01T13:33:18Z","due_on":"2014-02-22T08:00:00Z"},"comments":122,"created_at":"2013-06-30T00:15:29Z","updated_at":"2014-02-21T02:27:20Z","closed_at":"2014-02-21T00:27:06Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"This proposal includes a number of changes.\r\n\r\n* Introduce the `group` command\r\n\r\n```javascript\r\nr.table('foo').group('a', 'b').typeOf()\r\n// GROUPEDSTREAM\r\n\r\nr.table('foo').group('a', 'b')\r\n// Errors: `GROUPEDSTREAM is an opaque type`\r\n\r\nr.table('foo').group('a', 'b').map(...).typeOf()\r\n// GROUPEDSTREAM\r\n\r\n// Finally, google/hadoop-style map reduce is accessible to regular people:\r\nr.table('foo').group('a', 'b').map(...).reduce(...).typeOf()\r\n// STREAM\r\n```\r\n\r\n* Get rid of base in reduce, and make reduce variadic. Have reduce accept either reduction functions, or aggregators:\r\n\r\n```javascript\r\nr.table('users').group('location').reduce(r.sum('age'),\r\n r.avg('age'),\r\n function(i, j) { return ...; })\r\n// returns [{group: ..., reduction1: ..., reduction2: ..., reduction3: ...}]\r\n```\r\n\r\n* Allow naming groups and reductions because calling them `group` and `reduction1`, `reduction2` isn't extremely useful.\r\n\r\n```javascript\r\nr.table('users').group('location', {'name': location}).\r\n reduce(r.sum('age', {name: 'age_sum'}),\r\n r.avg('age', {name: 'age_avg'}),\r\n function(i, j) { return ...; } // TODO: not sure how to name this. Ideas?\r\n )\r\n// returns [{location: ..., age_sum: ..., age_avg: ..., ???: ...}]\r\n```\r\n\r\n* Consider dropping `groupBy`. We might want to consider leaving it as sugar for `.group.reduce`, because people are used to things like `groupBy`. I'm not 100% sure what to do here.","score":0.042895522},{"url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/issues/85","labels_url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/issues/85/comments","events_url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/issues/85/events","html_url":"https://github.com/JoSchaap/GoT_Wasteland_V2.Stratis/issues/85","id":17296637,"number":85,"title":"v2.3 discussion - please use this for discussion","user":{"login":"JoSchaap","id":2301588,"avatar_url":"https://avatars.githubusercontent.com/u/2301588","gravatar_id":"0049478f655910571a6b6b323e169bb9","url":"https://api.github.com/users/JoSchaap","html_url":"https://github.com/JoSchaap","followers_url":"https://api.github.com/users/JoSchaap/followers","following_url":"https://api.github.com/users/JoSchaap/following{/other_user}","gists_url":"https://api.github.com/users/JoSchaap/gists{/gist_id}","starred_url":"https://api.github.com/users/JoSchaap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoSchaap/subscriptions","organizations_url":"https://api.github.com/users/JoSchaap/orgs","repos_url":"https://api.github.com/users/JoSchaap/repos","events_url":"https://api.github.com/users/JoSchaap/events{/privacy}","received_events_url":"https://api.github.com/users/JoSchaap/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","assignee":{"login":"JoSchaap","id":2301588,"avatar_url":"https://avatars.githubusercontent.com/u/2301588","gravatar_id":"0049478f655910571a6b6b323e169bb9","url":"https://api.github.com/users/JoSchaap","html_url":"https://github.com/JoSchaap","followers_url":"https://api.github.com/users/JoSchaap/followers","following_url":"https://api.github.com/users/JoSchaap/following{/other_user}","gists_url":"https://api.github.com/users/JoSchaap/gists{/gist_id}","starred_url":"https://api.github.com/users/JoSchaap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoSchaap/subscriptions","organizations_url":"https://api.github.com/users/JoSchaap/orgs","repos_url":"https://api.github.com/users/JoSchaap/repos","events_url":"https://api.github.com/users/JoSchaap/events{/privacy}","received_events_url":"https://api.github.com/users/JoSchaap/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/milestones/5","labels_url":"https://api.github.com/repos/JoSchaap/GoT_Wasteland_V2.Stratis/milestones/5/labels","id":368680,"number":5,"title":"v2.3","description":null,"creator":{"login":"JoSchaap","id":2301588,"avatar_url":"https://avatars.githubusercontent.com/u/2301588","gravatar_id":"0049478f655910571a6b6b323e169bb9","url":"https://api.github.com/users/JoSchaap","html_url":"https://github.com/JoSchaap","followers_url":"https://api.github.com/users/JoSchaap/followers","following_url":"https://api.github.com/users/JoSchaap/following{/other_user}","gists_url":"https://api.github.com/users/JoSchaap/gists{/gist_id}","starred_url":"https://api.github.com/users/JoSchaap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoSchaap/subscriptions","organizations_url":"https://api.github.com/users/JoSchaap/orgs","repos_url":"https://api.github.com/users/JoSchaap/repos","events_url":"https://api.github.com/users/JoSchaap/events{/privacy}","received_events_url":"https://api.github.com/users/JoSchaap/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":35,"state":"open","created_at":"2013-07-02T09:24:02Z","updated_at":"2013-08-30T09:35:08Z","due_on":null},"comments":121,"created_at":"2013-07-27T10:40:19Z","updated_at":"2013-08-30T09:35:08Z","closed_at":"2013-08-30T09:35:08Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"*** Discusscion thread ***\r\n\r\nplease only discuss here and use the new issue button to report bugs with a full discription and steps to reproduce them\r\n\r\n\r\n\r\n\r\nFirst things first, thanks all for testing, sadly something came up (family thing) so i wasn't able to get any work done yesterday.\r\nWhat i did find out is that there's more things to fix than i initially thought last night..\r\n\r\nThe list of issues to fix is below:\r\n\r\n[Fixed] - general store broken \r\n\r\n[Fixed] - briefing missing some line breaks\r\n\r\n[Fixed] - increase radius of dead player cleanup (items tend to roll away)\r\n\r\n[WontChange-isOK] - The 'you have died from starvation/hunger' hints stay on for too long (decrease its duration)\r\n\r\n[Fixed] - investigate an issue where players are randomly spawned mid air in limbo when clicking random (findsafepos failing again?)\r\n\r\n[Fixed/WorksAsIntended] - investigate iniDB counter in diag_log 'x objects saved' gets stuck and only increases , should be set to 0 after saving\r\n\r\n[Fixed] - investigate server cleanup counter in diag_log '9 dead players 34 AI and 30 clutterred items from the dead have been cleaned up' the numbers are no longer re-setting to 0\r\n\r\n[Fixed] - revert to the old vehicle.sqf to see if it fixes the newly added logspam\r\n\r\n Error in expression \r\n 20:30:36 Error position: <_towedUnit) then\r\n {\r\n detach _towedUnit;\r\n _t>\r\n Error Undefined variable in expression: _towedunit\r\n mpmissions\\__cur_mp.Stratis\\server\\functions\\vehicle.sqf, line 139\r\n\r\n[Fixed] - A new findsafepos issue has introduced itself?, I thought i got rid of this..\r\n\r\n Error in expression \r\n Error position: <_objDist, 0, _maxGradient, _objDist max >\r\n Error Undefined variable in expression: _objdist\r\n File A3\\functions_f\\misc\\fn_findSafePos.sqf, line 100\r\n Error in expression <};\r\n };\r\n _pos = [_markerPos, 2, 45, ( if (_type == 1) then { 2 } else { 5 } ), 0, >\r\n Error position: <_type == 1) then { 2 } else { 5 } ), 0, >\r\n Error Undefined variable in expression: _type\r\n File mpmissions\\__cur_mp.Stratis\\server\\spawning\\vehicleCreation.sqf, line 30\r\n Error in expression \r\n Error position: <_objDist, 0, _maxGradient, _objDist max >\r\n Error Undefined variable in expression: _objdist\r\n File A3\\functions_f\\misc\\fn_findSafePos.sqf, line 100\r\n\r\n[Fixed] - various new undefined variable spam in rpt (not sure why bis changed this..)\r\n\r\n Cannot create non-ai vehicle ,\r\n Error in expression <50);\r\n _car setDamage (random 0.50);\r\n if (_type in [0,1]) then\r\n {\r\n _car setHit [\"whe>\r\n Error position: <_type in [0,1]) then\r\n {\r\n _car setHit [\"whe>\r\n Error Undefined variable in expression: _type\r\n File mpmissions\\__cur_mp.Stratis\\server\\spawning\\vehicleCreation.sqf, line 44\r\n \r\n Error in expression \r\n Error position: <_vehicle setVehicleLock \"UNLOCKED\";\r\n _veh>\r\n Error Undefined variable in expression: _vehicle\r\n File mpmissions\\__cur_mp.Stratis\\server\\missions\\mainMissions\\mission_Convoy.sqf, line 137\r\n\r\n[Fixed] - Main mission: coastal patrol, remove the SDV it keeps getting beached by the AI\r\n** investigate why AI tends to beach the boat when engaging players\r\n\r\n[Fixed] - extend the time between loot re-spawns and increase precision\r\n\r\n[Fixed] - missions no longer delete blown up vehicles..\r\n\r\n Error in expression <%1\",_missionType];\r\n } else {\r\n if ((damage _vehicle) == 1) then {\r\n deleteVehicle _ve>\r\n Error position: <_vehicle) == 1) then {\r\n deleteVehicle _ve>\r\n Error Undefined variable in expression: _vehicle\r\n File mpmissions\\__cur_mp.Stratis\\server\\missions\\mainMissions\\mission_Coastal_Convoy.sqf, line 180\r\n\r\n[Fixed] - Clientsided errorspam when in a group and looking at a group member (screen shots below)\r\n[Fixed] - clientsided errorspam when in bluefor/opfor and looking at a group member\r\n(screen shots below)\r\n\r\n[Fixed] - check if bis_fnc_rsclayer or fn_dynamictext has been changed (sometimes causes an error)\r\n\r\n[Fixed] - client sided error message when picking up money while to far away from it (screenshot below)\r\n\r\n[Should-be-Fixed(TEST!)] - newplayericons ocasionally still drops a clientsided blackbox error about an undefined hud_icon (see jackiechan image below)\r\n\r\n[Fixed] - old undefined variable error is back when you stop spectating a player (probably overwritten my own fixes)\r\n\r\n![2013-07-26_00010](https://f.cloud.github.com/assets/2301588/866722/e090a66e-f6a8-11e2-81cf-844f9b4bc3ce.jpg)\r\n![2013-07-26_00011](https://f.cloud.github.com/assets/2301588/866723/e094604c-f6a8-11e2-822b-6e95f4d1768f.jpg)\r\n![2013-07-25_00004](https://f.cloud.github.com/assets/2301588/866724/e09294d8-f6a8-11e2-8dcd-97273ca5c4ee.jpg)\r\n![2013-07-26_00008](https://f.cloud.github.com/assets/2301588/866725/e09353dc-f6a8-11e2-8cd9-4991df41a203.jpg)\r\n![2013-07-26_00012](https://f.cloud.github.com/assets/2301588/866726/e091ced6-f6a8-11e2-8587-ee8cfb202aeb.jpg)\r\n![2013-07-26_00009](https://f.cloud.github.com/assets/2301588/866727/e096ac30-f6a8-11e2-91e7-c26d0b96703f.jpg)\r\n![2013-07-26_00013](https://f.cloud.github.com/assets/2301588/866728/e0a2e07c-f6a8-11e2-9a38-7f0b25bd94ba.jpg)\r\n![2013-07-26_00018](https://f.cloud.github.com/assets/2301588/866730/e0a48576-f6a8-11e2-9c1b-aadb8063129c.jpg)\r\n![2013-07-26_00014](https://f.cloud.github.com/assets/2301588/866729/e0a73794-f6a8-11e2-8f1f-4f922b395fdf.jpg)\r\n![2013-07-26_00019](https://f.cloud.github.com/assets/2301588/866731/e0a53f0c-f6a8-11e2-8910-d11544f663ad.jpg)\r\n![2013-07-26_00020](https://f.cloud.github.com/assets/2301588/866732/e0a418c0-f6a8-11e2-9023-7c6c8ca1b8dd.jpg)\r\n![2013-07-27_00004](https://f.cloud.github.com/assets/2301588/866733/e0aa24ea-f6a8-11e2-9f20-4b68d3445d10.jpg)\r\n![jackie-chan-meme](https://f.cloud.github.com/assets/2301588/866735/ec5c3a76-f6a8-11e2-9d51-2db78038e835.jpg)\r\n","score":0.09803598},{"url":"https://api.github.com/repos/popcornmix/omxplayer/issues/12","labels_url":"https://api.github.com/repos/popcornmix/omxplayer/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/popcornmix/omxplayer/issues/12/comments","events_url":"https://api.github.com/repos/popcornmix/omxplayer/issues/12/events","html_url":"https://github.com/popcornmix/omxplayer/issues/12","id":16376966,"number":12,"title":"OMXPlayer randomly hangs","user":{"login":"cjsoftuk","id":2492472,"avatar_url":"https://avatars.githubusercontent.com/u/2492472","gravatar_id":"870dcf43f96660c93185fdcaad4e74c4","url":"https://api.github.com/users/cjsoftuk","html_url":"https://github.com/cjsoftuk","followers_url":"https://api.github.com/users/cjsoftuk/followers","following_url":"https://api.github.com/users/cjsoftuk/following{/other_user}","gists_url":"https://api.github.com/users/cjsoftuk/gists{/gist_id}","starred_url":"https://api.github.com/users/cjsoftuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjsoftuk/subscriptions","organizations_url":"https://api.github.com/users/cjsoftuk/orgs","repos_url":"https://api.github.com/users/cjsoftuk/repos","events_url":"https://api.github.com/users/cjsoftuk/events{/privacy}","received_events_url":"https://api.github.com/users/cjsoftuk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":118,"created_at":"2013-07-04T17:56:43Z","updated_at":"2014-02-25T08:55:20Z","closed_at":"2014-02-24T20:45:54Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Got a project that I can't disclose much info about, unfortunately, however.....\r\nWe use omxplayer and Raspberry Pi as part of the project, and we play *lots* of videos, back-to-back (i.e. OMXPlayer quits, and our project starts a new one almost immediately).\r\n\r\nHowever, from time to time (usually within an hour), OMXPlayer will hang.\r\nWe do have a custom kernel we use, which I can post the .config for later today and I plan to swap back to stock kernel if the issue recurs again today (I'm currently in the middle of doing live demos to prospective customers). Other than the custom kernel, we're up to date as far as the bootloader goes and all other packages (inc OMXPlayer - 0.3.0 installed to try and fix this issue).\r\n\r\nUsually, the hang will occur at the end of the video. OMXPlayer doesn't quit, doesn't print any messages to the log.\r\n\r\nWe're invoking omxplayer as follows:\r\nDISPLAY=:0 /usr/bin/omxplayer -o local --win \"0 0 160 96\" /content/file.mp4 ; rel="next", ; rel="last"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:33:01 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393821241')] -{"total_count":2723,"items":[{"id":1951148,"name":"legit","full_name":"kennethreitz/legit","owner":{"login":"kennethreitz","id":119893,"avatar_url":"https://avatars.githubusercontent.com/u/119893","gravatar_id":"b02b2f020dcab92cbc5c79613071119f","url":"https://api.github.com/users/kennethreitz","html_url":"https://github.com/kennethreitz","followers_url":"https://api.github.com/users/kennethreitz/followers","following_url":"https://api.github.com/users/kennethreitz/following{/other_user}","gists_url":"https://api.github.com/users/kennethreitz/gists{/gist_id}","starred_url":"https://api.github.com/users/kennethreitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kennethreitz/subscriptions","organizations_url":"https://api.github.com/users/kennethreitz/orgs","repos_url":"https://api.github.com/users/kennethreitz/repos","events_url":"https://api.github.com/users/kennethreitz/events{/privacy}","received_events_url":"https://api.github.com/users/kennethreitz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kennethreitz/legit","description":"Git for Humans, Inspired by GitHub for Mac™.","fork":false,"url":"https://api.github.com/repos/kennethreitz/legit","forks_url":"https://api.github.com/repos/kennethreitz/legit/forks","keys_url":"https://api.github.com/repos/kennethreitz/legit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kennethreitz/legit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kennethreitz/legit/teams","hooks_url":"https://api.github.com/repos/kennethreitz/legit/hooks","issue_events_url":"https://api.github.com/repos/kennethreitz/legit/issues/events{/number}","events_url":"https://api.github.com/repos/kennethreitz/legit/events","assignees_url":"https://api.github.com/repos/kennethreitz/legit/assignees{/user}","branches_url":"https://api.github.com/repos/kennethreitz/legit/branches{/branch}","tags_url":"https://api.github.com/repos/kennethreitz/legit/tags","blobs_url":"https://api.github.com/repos/kennethreitz/legit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kennethreitz/legit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kennethreitz/legit/git/refs{/sha}","trees_url":"https://api.github.com/repos/kennethreitz/legit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kennethreitz/legit/statuses/{sha}","languages_url":"https://api.github.com/repos/kennethreitz/legit/languages","stargazers_url":"https://api.github.com/repos/kennethreitz/legit/stargazers","contributors_url":"https://api.github.com/repos/kennethreitz/legit/contributors","subscribers_url":"https://api.github.com/repos/kennethreitz/legit/subscribers","subscription_url":"https://api.github.com/repos/kennethreitz/legit/subscription","commits_url":"https://api.github.com/repos/kennethreitz/legit/commits{/sha}","git_commits_url":"https://api.github.com/repos/kennethreitz/legit/git/commits{/sha}","comments_url":"https://api.github.com/repos/kennethreitz/legit/comments{/number}","issue_comment_url":"https://api.github.com/repos/kennethreitz/legit/issues/comments/{number}","contents_url":"https://api.github.com/repos/kennethreitz/legit/contents/{+path}","compare_url":"https://api.github.com/repos/kennethreitz/legit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kennethreitz/legit/merges","archive_url":"https://api.github.com/repos/kennethreitz/legit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kennethreitz/legit/downloads","issues_url":"https://api.github.com/repos/kennethreitz/legit/issues{/number}","pulls_url":"https://api.github.com/repos/kennethreitz/legit/pulls{/number}","milestones_url":"https://api.github.com/repos/kennethreitz/legit/milestones{/number}","notifications_url":"https://api.github.com/repos/kennethreitz/legit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kennethreitz/legit/labels{/name}","releases_url":"https://api.github.com/repos/kennethreitz/legit/releases{/id}","created_at":"2011-06-25T05:58:18Z","updated_at":"2014-01-27T17:39:32Z","pushed_at":"2014-01-27T17:39:31Z","git_url":"git://github.com/kennethreitz/legit.git","ssh_url":"git@github.com:kennethreitz/legit.git","clone_url":"https://github.com/kennethreitz/legit.git","svn_url":"https://github.com/kennethreitz/legit","homepage":"http://www.git-legit.org/","size":539,"stargazers_count":3036,"watchers_count":3036,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":118,"mirror_url":null,"open_issues_count":56,"forks":118,"open_issues":56,"watchers":3036,"default_branch":"develop","master_branch":"develop","score":34.075066},{"id":722962,"name":"CouchPotatoV1","full_name":"RuudBurger/CouchPotatoV1","owner":{"login":"RuudBurger","id":38136,"avatar_url":"https://avatars.githubusercontent.com/u/38136","gravatar_id":"dc8b8cb353e7cb91b79ae16d0e3737ab","url":"https://api.github.com/users/RuudBurger","html_url":"https://github.com/RuudBurger","followers_url":"https://api.github.com/users/RuudBurger/followers","following_url":"https://api.github.com/users/RuudBurger/following{/other_user}","gists_url":"https://api.github.com/users/RuudBurger/gists{/gist_id}","starred_url":"https://api.github.com/users/RuudBurger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RuudBurger/subscriptions","organizations_url":"https://api.github.com/users/RuudBurger/orgs","repos_url":"https://api.github.com/users/RuudBurger/repos","events_url":"https://api.github.com/users/RuudBurger/events{/privacy}","received_events_url":"https://api.github.com/users/RuudBurger/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/RuudBurger/CouchPotatoV1","description":"This is the old version, please use https://github.com/RuudBurger/CouchPotatoServer","fork":false,"url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1","forks_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/forks","keys_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/teams","hooks_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/hooks","issue_events_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/issues/events{/number}","events_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/events","assignees_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/assignees{/user}","branches_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/branches{/branch}","tags_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/tags","blobs_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/git/refs{/sha}","trees_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/statuses/{sha}","languages_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/languages","stargazers_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/stargazers","contributors_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/contributors","subscribers_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/subscribers","subscription_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/subscription","commits_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/commits{/sha}","git_commits_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/git/commits{/sha}","comments_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/comments{/number}","issue_comment_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/issues/comments/{number}","contents_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/contents/{+path}","compare_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/merges","archive_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/downloads","issues_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/issues{/number}","pulls_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/pulls{/number}","milestones_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/milestones{/number}","notifications_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/labels{/name}","releases_url":"https://api.github.com/repos/RuudBurger/CouchPotatoV1/releases{/id}","created_at":"2010-06-15T21:27:32Z","updated_at":"2014-01-17T01:41:31Z","pushed_at":"2012-10-26T13:25:40Z","git_url":"git://github.com/RuudBurger/CouchPotatoV1.git","ssh_url":"git@github.com:RuudBurger/CouchPotatoV1.git","clone_url":"https://github.com/RuudBurger/CouchPotatoV1.git","svn_url":"https://github.com/RuudBurger/CouchPotatoV1","homepage":"couchpota.to","size":8442,"stargazers_count":1062,"watchers_count":1062,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"forks_count":215,"mirror_url":null,"open_issues_count":5,"forks":215,"open_issues":5,"watchers":1062,"default_branch":"master","master_branch":"master","score":22.54451},{"id":9631509,"name":"gitfiti","full_name":"gelstudios/gitfiti","owner":{"login":"gelstudios","id":530111,"avatar_url":"https://avatars.githubusercontent.com/u/530111","gravatar_id":"ac1dff6e32e40c6f5d2b6050376a3765","url":"https://api.github.com/users/gelstudios","html_url":"https://github.com/gelstudios","followers_url":"https://api.github.com/users/gelstudios/followers","following_url":"https://api.github.com/users/gelstudios/following{/other_user}","gists_url":"https://api.github.com/users/gelstudios/gists{/gist_id}","starred_url":"https://api.github.com/users/gelstudios/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gelstudios/subscriptions","organizations_url":"https://api.github.com/users/gelstudios/orgs","repos_url":"https://api.github.com/users/gelstudios/repos","events_url":"https://api.github.com/users/gelstudios/events{/privacy}","received_events_url":"https://api.github.com/users/gelstudios/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gelstudios/gitfiti","description":"abusing github commit history for the lulz","fork":false,"url":"https://api.github.com/repos/gelstudios/gitfiti","forks_url":"https://api.github.com/repos/gelstudios/gitfiti/forks","keys_url":"https://api.github.com/repos/gelstudios/gitfiti/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gelstudios/gitfiti/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gelstudios/gitfiti/teams","hooks_url":"https://api.github.com/repos/gelstudios/gitfiti/hooks","issue_events_url":"https://api.github.com/repos/gelstudios/gitfiti/issues/events{/number}","events_url":"https://api.github.com/repos/gelstudios/gitfiti/events","assignees_url":"https://api.github.com/repos/gelstudios/gitfiti/assignees{/user}","branches_url":"https://api.github.com/repos/gelstudios/gitfiti/branches{/branch}","tags_url":"https://api.github.com/repos/gelstudios/gitfiti/tags","blobs_url":"https://api.github.com/repos/gelstudios/gitfiti/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gelstudios/gitfiti/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gelstudios/gitfiti/git/refs{/sha}","trees_url":"https://api.github.com/repos/gelstudios/gitfiti/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gelstudios/gitfiti/statuses/{sha}","languages_url":"https://api.github.com/repos/gelstudios/gitfiti/languages","stargazers_url":"https://api.github.com/repos/gelstudios/gitfiti/stargazers","contributors_url":"https://api.github.com/repos/gelstudios/gitfiti/contributors","subscribers_url":"https://api.github.com/repos/gelstudios/gitfiti/subscribers","subscription_url":"https://api.github.com/repos/gelstudios/gitfiti/subscription","commits_url":"https://api.github.com/repos/gelstudios/gitfiti/commits{/sha}","git_commits_url":"https://api.github.com/repos/gelstudios/gitfiti/git/commits{/sha}","comments_url":"https://api.github.com/repos/gelstudios/gitfiti/comments{/number}","issue_comment_url":"https://api.github.com/repos/gelstudios/gitfiti/issues/comments/{number}","contents_url":"https://api.github.com/repos/gelstudios/gitfiti/contents/{+path}","compare_url":"https://api.github.com/repos/gelstudios/gitfiti/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gelstudios/gitfiti/merges","archive_url":"https://api.github.com/repos/gelstudios/gitfiti/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gelstudios/gitfiti/downloads","issues_url":"https://api.github.com/repos/gelstudios/gitfiti/issues{/number}","pulls_url":"https://api.github.com/repos/gelstudios/gitfiti/pulls{/number}","milestones_url":"https://api.github.com/repos/gelstudios/gitfiti/milestones{/number}","notifications_url":"https://api.github.com/repos/gelstudios/gitfiti/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gelstudios/gitfiti/labels{/name}","releases_url":"https://api.github.com/repos/gelstudios/gitfiti/releases{/id}","created_at":"2013-04-23T19:32:02Z","updated_at":"2014-01-17T19:19:07Z","pushed_at":"2014-01-17T19:19:07Z","git_url":"git://github.com/gelstudios/gitfiti.git","ssh_url":"git@github.com:gelstudios/gitfiti.git","clone_url":"https://github.com/gelstudios/gitfiti.git","svn_url":"https://github.com/gelstudios/gitfiti","homepage":"","size":316,"stargazers_count":669,"watchers_count":669,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":42,"mirror_url":null,"open_issues_count":1,"forks":42,"open_issues":1,"watchers":669,"default_branch":"master","master_branch":"master","score":24.823269},{"id":328430,"name":"webgl-lessons","full_name":"gpjt/webgl-lessons","owner":{"login":"gpjt","id":129702,"avatar_url":"https://avatars.githubusercontent.com/u/129702","gravatar_id":"2872c4aad0f3cfdb6421c36527fb868c","url":"https://api.github.com/users/gpjt","html_url":"https://github.com/gpjt","followers_url":"https://api.github.com/users/gpjt/followers","following_url":"https://api.github.com/users/gpjt/following{/other_user}","gists_url":"https://api.github.com/users/gpjt/gists{/gist_id}","starred_url":"https://api.github.com/users/gpjt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpjt/subscriptions","organizations_url":"https://api.github.com/users/gpjt/orgs","repos_url":"https://api.github.com/users/gpjt/repos","events_url":"https://api.github.com/users/gpjt/events{/privacy}","received_events_url":"https://api.github.com/users/gpjt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gpjt/webgl-lessons","description":"https://github.com/tparisi/webgl-lessons is now the officially maintained fork for this project","fork":false,"url":"https://api.github.com/repos/gpjt/webgl-lessons","forks_url":"https://api.github.com/repos/gpjt/webgl-lessons/forks","keys_url":"https://api.github.com/repos/gpjt/webgl-lessons/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gpjt/webgl-lessons/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gpjt/webgl-lessons/teams","hooks_url":"https://api.github.com/repos/gpjt/webgl-lessons/hooks","issue_events_url":"https://api.github.com/repos/gpjt/webgl-lessons/issues/events{/number}","events_url":"https://api.github.com/repos/gpjt/webgl-lessons/events","assignees_url":"https://api.github.com/repos/gpjt/webgl-lessons/assignees{/user}","branches_url":"https://api.github.com/repos/gpjt/webgl-lessons/branches{/branch}","tags_url":"https://api.github.com/repos/gpjt/webgl-lessons/tags","blobs_url":"https://api.github.com/repos/gpjt/webgl-lessons/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gpjt/webgl-lessons/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gpjt/webgl-lessons/git/refs{/sha}","trees_url":"https://api.github.com/repos/gpjt/webgl-lessons/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gpjt/webgl-lessons/statuses/{sha}","languages_url":"https://api.github.com/repos/gpjt/webgl-lessons/languages","stargazers_url":"https://api.github.com/repos/gpjt/webgl-lessons/stargazers","contributors_url":"https://api.github.com/repos/gpjt/webgl-lessons/contributors","subscribers_url":"https://api.github.com/repos/gpjt/webgl-lessons/subscribers","subscription_url":"https://api.github.com/repos/gpjt/webgl-lessons/subscription","commits_url":"https://api.github.com/repos/gpjt/webgl-lessons/commits{/sha}","git_commits_url":"https://api.github.com/repos/gpjt/webgl-lessons/git/commits{/sha}","comments_url":"https://api.github.com/repos/gpjt/webgl-lessons/comments{/number}","issue_comment_url":"https://api.github.com/repos/gpjt/webgl-lessons/issues/comments/{number}","contents_url":"https://api.github.com/repos/gpjt/webgl-lessons/contents/{+path}","compare_url":"https://api.github.com/repos/gpjt/webgl-lessons/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gpjt/webgl-lessons/merges","archive_url":"https://api.github.com/repos/gpjt/webgl-lessons/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gpjt/webgl-lessons/downloads","issues_url":"https://api.github.com/repos/gpjt/webgl-lessons/issues{/number}","pulls_url":"https://api.github.com/repos/gpjt/webgl-lessons/pulls{/number}","milestones_url":"https://api.github.com/repos/gpjt/webgl-lessons/milestones{/number}","notifications_url":"https://api.github.com/repos/gpjt/webgl-lessons/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gpjt/webgl-lessons/labels{/name}","releases_url":"https://api.github.com/repos/gpjt/webgl-lessons/releases{/id}","created_at":"2009-10-06T12:30:19Z","updated_at":"2014-01-15T01:27:33Z","pushed_at":"2013-04-10T18:01:09Z","git_url":"git://github.com/gpjt/webgl-lessons.git","ssh_url":"git@github.com:gpjt/webgl-lessons.git","clone_url":"https://github.com/gpjt/webgl-lessons.git","svn_url":"https://github.com/gpjt/webgl-lessons","homepage":"http://learningwebgl.com/lessons/","size":15818,"stargazers_count":585,"watchers_count":585,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":351,"mirror_url":null,"open_issues_count":3,"forks":351,"open_issues":3,"watchers":585,"default_branch":"master","master_branch":"master","score":21.968115},{"id":3544490,"name":"PyGithub","full_name":"jacquev6/PyGithub","owner":{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jacquev6/PyGithub","description":"Python library implementing the full Github API v3","fork":false,"url":"https://api.github.com/repos/jacquev6/PyGithub","forks_url":"https://api.github.com/repos/jacquev6/PyGithub/forks","keys_url":"https://api.github.com/repos/jacquev6/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacquev6/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacquev6/PyGithub/teams","hooks_url":"https://api.github.com/repos/jacquev6/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/jacquev6/PyGithub/events","assignees_url":"https://api.github.com/repos/jacquev6/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/jacquev6/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/jacquev6/PyGithub/tags","blobs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacquev6/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/jacquev6/PyGithub/languages","stargazers_url":"https://api.github.com/repos/jacquev6/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/jacquev6/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/jacquev6/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/jacquev6/PyGithub/subscription","commits_url":"https://api.github.com/repos/jacquev6/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacquev6/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/{number}","contents_url":"https://api.github.com/repos/jacquev6/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/jacquev6/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacquev6/PyGithub/merges","archive_url":"https://api.github.com/repos/jacquev6/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacquev6/PyGithub/downloads","issues_url":"https://api.github.com/repos/jacquev6/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/jacquev6/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/jacquev6/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/jacquev6/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacquev6/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/jacquev6/PyGithub/releases{/id}","created_at":"2012-02-25T12:53:47Z","updated_at":"2014-03-03T03:41:47Z","pushed_at":"2014-03-03T03:41:46Z","git_url":"git://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","clone_url":"https://github.com/jacquev6/PyGithub.git","svn_url":"https://github.com/jacquev6/PyGithub","homepage":"http://jacquev6.github.io/PyGithub","size":10235,"stargazers_count":354,"watchers_count":354,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":103,"mirror_url":null,"open_issues_count":4,"forks":103,"open_issues":4,"watchers":354,"default_branch":"master","master_branch":"master","score":43.148933},{"id":9925668,"name":"github_globe","full_name":"aaasen/github_globe","owner":{"login":"aaasen","id":1320603,"avatar_url":"https://avatars.githubusercontent.com/u/1320603","gravatar_id":"2522f765c823c514d0be460cdeada15c","url":"https://api.github.com/users/aaasen","html_url":"https://github.com/aaasen","followers_url":"https://api.github.com/users/aaasen/followers","following_url":"https://api.github.com/users/aaasen/following{/other_user}","gists_url":"https://api.github.com/users/aaasen/gists{/gist_id}","starred_url":"https://api.github.com/users/aaasen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaasen/subscriptions","organizations_url":"https://api.github.com/users/aaasen/orgs","repos_url":"https://api.github.com/users/aaasen/repos","events_url":"https://api.github.com/users/aaasen/events{/privacy}","received_events_url":"https://api.github.com/users/aaasen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/aaasen/github_globe","description":"A visualization of GitHub users throughout the globe","fork":false,"url":"https://api.github.com/repos/aaasen/github_globe","forks_url":"https://api.github.com/repos/aaasen/github_globe/forks","keys_url":"https://api.github.com/repos/aaasen/github_globe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aaasen/github_globe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aaasen/github_globe/teams","hooks_url":"https://api.github.com/repos/aaasen/github_globe/hooks","issue_events_url":"https://api.github.com/repos/aaasen/github_globe/issues/events{/number}","events_url":"https://api.github.com/repos/aaasen/github_globe/events","assignees_url":"https://api.github.com/repos/aaasen/github_globe/assignees{/user}","branches_url":"https://api.github.com/repos/aaasen/github_globe/branches{/branch}","tags_url":"https://api.github.com/repos/aaasen/github_globe/tags","blobs_url":"https://api.github.com/repos/aaasen/github_globe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aaasen/github_globe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aaasen/github_globe/git/refs{/sha}","trees_url":"https://api.github.com/repos/aaasen/github_globe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aaasen/github_globe/statuses/{sha}","languages_url":"https://api.github.com/repos/aaasen/github_globe/languages","stargazers_url":"https://api.github.com/repos/aaasen/github_globe/stargazers","contributors_url":"https://api.github.com/repos/aaasen/github_globe/contributors","subscribers_url":"https://api.github.com/repos/aaasen/github_globe/subscribers","subscription_url":"https://api.github.com/repos/aaasen/github_globe/subscription","commits_url":"https://api.github.com/repos/aaasen/github_globe/commits{/sha}","git_commits_url":"https://api.github.com/repos/aaasen/github_globe/git/commits{/sha}","comments_url":"https://api.github.com/repos/aaasen/github_globe/comments{/number}","issue_comment_url":"https://api.github.com/repos/aaasen/github_globe/issues/comments/{number}","contents_url":"https://api.github.com/repos/aaasen/github_globe/contents/{+path}","compare_url":"https://api.github.com/repos/aaasen/github_globe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aaasen/github_globe/merges","archive_url":"https://api.github.com/repos/aaasen/github_globe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aaasen/github_globe/downloads","issues_url":"https://api.github.com/repos/aaasen/github_globe/issues{/number}","pulls_url":"https://api.github.com/repos/aaasen/github_globe/pulls{/number}","milestones_url":"https://api.github.com/repos/aaasen/github_globe/milestones{/number}","notifications_url":"https://api.github.com/repos/aaasen/github_globe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aaasen/github_globe/labels{/name}","releases_url":"https://api.github.com/repos/aaasen/github_globe/releases{/id}","created_at":"2013-05-08T01:24:51Z","updated_at":"2014-01-14T15:43:22Z","pushed_at":"2013-05-30T21:28:08Z","git_url":"git://github.com/aaasen/github_globe.git","ssh_url":"git@github.com:aaasen/github_globe.git","clone_url":"https://github.com/aaasen/github_globe.git","svn_url":"https://github.com/aaasen/github_globe","homepage":"http://aasen.in/github_globe/","size":1397,"stargazers_count":311,"watchers_count":311,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":37,"mirror_url":null,"open_issues_count":0,"forks":37,"open_issues":0,"watchers":311,"default_branch":"master","master_branch":"master","score":31.762138},{"id":1176410,"name":"gitmarks","full_name":"hmason/gitmarks","owner":{"login":"hmason","id":17936,"avatar_url":"https://avatars.githubusercontent.com/u/17936","gravatar_id":"c87a84cf3b06077036deade1b44aa45e","url":"https://api.github.com/users/hmason","html_url":"https://github.com/hmason","followers_url":"https://api.github.com/users/hmason/followers","following_url":"https://api.github.com/users/hmason/following{/other_user}","gists_url":"https://api.github.com/users/hmason/gists{/gist_id}","starred_url":"https://api.github.com/users/hmason/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmason/subscriptions","organizations_url":"https://api.github.com/users/hmason/orgs","repos_url":"https://api.github.com/users/hmason/repos","events_url":"https://api.github.com/users/hmason/events{/privacy}","received_events_url":"https://api.github.com/users/hmason/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hmason/gitmarks","description":"delicious-like bookmarks on github.","fork":false,"url":"https://api.github.com/repos/hmason/gitmarks","forks_url":"https://api.github.com/repos/hmason/gitmarks/forks","keys_url":"https://api.github.com/repos/hmason/gitmarks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hmason/gitmarks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hmason/gitmarks/teams","hooks_url":"https://api.github.com/repos/hmason/gitmarks/hooks","issue_events_url":"https://api.github.com/repos/hmason/gitmarks/issues/events{/number}","events_url":"https://api.github.com/repos/hmason/gitmarks/events","assignees_url":"https://api.github.com/repos/hmason/gitmarks/assignees{/user}","branches_url":"https://api.github.com/repos/hmason/gitmarks/branches{/branch}","tags_url":"https://api.github.com/repos/hmason/gitmarks/tags","blobs_url":"https://api.github.com/repos/hmason/gitmarks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hmason/gitmarks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hmason/gitmarks/git/refs{/sha}","trees_url":"https://api.github.com/repos/hmason/gitmarks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hmason/gitmarks/statuses/{sha}","languages_url":"https://api.github.com/repos/hmason/gitmarks/languages","stargazers_url":"https://api.github.com/repos/hmason/gitmarks/stargazers","contributors_url":"https://api.github.com/repos/hmason/gitmarks/contributors","subscribers_url":"https://api.github.com/repos/hmason/gitmarks/subscribers","subscription_url":"https://api.github.com/repos/hmason/gitmarks/subscription","commits_url":"https://api.github.com/repos/hmason/gitmarks/commits{/sha}","git_commits_url":"https://api.github.com/repos/hmason/gitmarks/git/commits{/sha}","comments_url":"https://api.github.com/repos/hmason/gitmarks/comments{/number}","issue_comment_url":"https://api.github.com/repos/hmason/gitmarks/issues/comments/{number}","contents_url":"https://api.github.com/repos/hmason/gitmarks/contents/{+path}","compare_url":"https://api.github.com/repos/hmason/gitmarks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hmason/gitmarks/merges","archive_url":"https://api.github.com/repos/hmason/gitmarks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hmason/gitmarks/downloads","issues_url":"https://api.github.com/repos/hmason/gitmarks/issues{/number}","pulls_url":"https://api.github.com/repos/hmason/gitmarks/pulls{/number}","milestones_url":"https://api.github.com/repos/hmason/gitmarks/milestones{/number}","notifications_url":"https://api.github.com/repos/hmason/gitmarks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hmason/gitmarks/labels{/name}","releases_url":"https://api.github.com/repos/hmason/gitmarks/releases{/id}","created_at":"2010-12-17T05:45:42Z","updated_at":"2013-12-20T01:09:12Z","pushed_at":"2011-10-28T06:24:15Z","git_url":"git://github.com/hmason/gitmarks.git","ssh_url":"git@github.com:hmason/gitmarks.git","clone_url":"https://github.com/hmason/gitmarks.git","svn_url":"https://github.com/hmason/gitmarks","homepage":"http://www.hilarymason.com","size":182,"stargazers_count":303,"watchers_count":303,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":29,"mirror_url":null,"open_issues_count":2,"forks":29,"open_issues":2,"watchers":303,"default_branch":"master","master_branch":"master","score":23.095226},{"id":855151,"name":"factory_boy","full_name":"dnerdy/factory_boy","owner":{"login":"dnerdy","id":82307,"avatar_url":"https://avatars.githubusercontent.com/u/82307","gravatar_id":"9db5094487d460d4d0c9ab939b81b081","url":"https://api.github.com/users/dnerdy","html_url":"https://github.com/dnerdy","followers_url":"https://api.github.com/users/dnerdy/followers","following_url":"https://api.github.com/users/dnerdy/following{/other_user}","gists_url":"https://api.github.com/users/dnerdy/gists{/gist_id}","starred_url":"https://api.github.com/users/dnerdy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnerdy/subscriptions","organizations_url":"https://api.github.com/users/dnerdy/orgs","repos_url":"https://api.github.com/users/dnerdy/repos","events_url":"https://api.github.com/users/dnerdy/events{/privacy}","received_events_url":"https://api.github.com/users/dnerdy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dnerdy/factory_boy","description":"NEW REPO LOCATION: http://github.com/rbarrois/factory_boy. Raphaël Barrois has taken over factory_boy development. Please open issues and pull requests there.","fork":false,"url":"https://api.github.com/repos/dnerdy/factory_boy","forks_url":"https://api.github.com/repos/dnerdy/factory_boy/forks","keys_url":"https://api.github.com/repos/dnerdy/factory_boy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dnerdy/factory_boy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dnerdy/factory_boy/teams","hooks_url":"https://api.github.com/repos/dnerdy/factory_boy/hooks","issue_events_url":"https://api.github.com/repos/dnerdy/factory_boy/issues/events{/number}","events_url":"https://api.github.com/repos/dnerdy/factory_boy/events","assignees_url":"https://api.github.com/repos/dnerdy/factory_boy/assignees{/user}","branches_url":"https://api.github.com/repos/dnerdy/factory_boy/branches{/branch}","tags_url":"https://api.github.com/repos/dnerdy/factory_boy/tags","blobs_url":"https://api.github.com/repos/dnerdy/factory_boy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dnerdy/factory_boy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dnerdy/factory_boy/git/refs{/sha}","trees_url":"https://api.github.com/repos/dnerdy/factory_boy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dnerdy/factory_boy/statuses/{sha}","languages_url":"https://api.github.com/repos/dnerdy/factory_boy/languages","stargazers_url":"https://api.github.com/repos/dnerdy/factory_boy/stargazers","contributors_url":"https://api.github.com/repos/dnerdy/factory_boy/contributors","subscribers_url":"https://api.github.com/repos/dnerdy/factory_boy/subscribers","subscription_url":"https://api.github.com/repos/dnerdy/factory_boy/subscription","commits_url":"https://api.github.com/repos/dnerdy/factory_boy/commits{/sha}","git_commits_url":"https://api.github.com/repos/dnerdy/factory_boy/git/commits{/sha}","comments_url":"https://api.github.com/repos/dnerdy/factory_boy/comments{/number}","issue_comment_url":"https://api.github.com/repos/dnerdy/factory_boy/issues/comments/{number}","contents_url":"https://api.github.com/repos/dnerdy/factory_boy/contents/{+path}","compare_url":"https://api.github.com/repos/dnerdy/factory_boy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dnerdy/factory_boy/merges","archive_url":"https://api.github.com/repos/dnerdy/factory_boy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dnerdy/factory_boy/downloads","issues_url":"https://api.github.com/repos/dnerdy/factory_boy/issues{/number}","pulls_url":"https://api.github.com/repos/dnerdy/factory_boy/pulls{/number}","milestones_url":"https://api.github.com/repos/dnerdy/factory_boy/milestones{/number}","notifications_url":"https://api.github.com/repos/dnerdy/factory_boy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dnerdy/factory_boy/labels{/name}","releases_url":"https://api.github.com/repos/dnerdy/factory_boy/releases{/id}","created_at":"2010-08-22T18:24:51Z","updated_at":"2014-01-05T19:50:05Z","pushed_at":"2013-07-03T18:43:47Z","git_url":"git://github.com/dnerdy/factory_boy.git","ssh_url":"git@github.com:dnerdy/factory_boy.git","clone_url":"https://github.com/dnerdy/factory_boy.git","svn_url":"https://github.com/dnerdy/factory_boy","homepage":"","size":375,"stargazers_count":267,"watchers_count":267,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":74,"mirror_url":null,"open_issues_count":14,"forks":74,"open_issues":14,"watchers":267,"default_branch":"master","master_branch":"master","score":10.4816065},{"id":82733,"name":"drydrop","full_name":"binaryage/drydrop","owner":{"login":"binaryage","id":70164,"avatar_url":"https://avatars.githubusercontent.com/u/70164","gravatar_id":"84d27bbe22c150d97e369b51f1f33271","url":"https://api.github.com/users/binaryage","html_url":"https://github.com/binaryage","followers_url":"https://api.github.com/users/binaryage/followers","following_url":"https://api.github.com/users/binaryage/following{/other_user}","gists_url":"https://api.github.com/users/binaryage/gists{/gist_id}","starred_url":"https://api.github.com/users/binaryage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/binaryage/subscriptions","organizations_url":"https://api.github.com/users/binaryage/orgs","repos_url":"https://api.github.com/users/binaryage/repos","events_url":"https://api.github.com/users/binaryage/events{/privacy}","received_events_url":"https://api.github.com/users/binaryage/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/binaryage/drydrop","description":"Deploy static sites to App Engine by pushing to GitHub ","fork":false,"url":"https://api.github.com/repos/binaryage/drydrop","forks_url":"https://api.github.com/repos/binaryage/drydrop/forks","keys_url":"https://api.github.com/repos/binaryage/drydrop/keys{/key_id}","collaborators_url":"https://api.github.com/repos/binaryage/drydrop/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/binaryage/drydrop/teams","hooks_url":"https://api.github.com/repos/binaryage/drydrop/hooks","issue_events_url":"https://api.github.com/repos/binaryage/drydrop/issues/events{/number}","events_url":"https://api.github.com/repos/binaryage/drydrop/events","assignees_url":"https://api.github.com/repos/binaryage/drydrop/assignees{/user}","branches_url":"https://api.github.com/repos/binaryage/drydrop/branches{/branch}","tags_url":"https://api.github.com/repos/binaryage/drydrop/tags","blobs_url":"https://api.github.com/repos/binaryage/drydrop/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/binaryage/drydrop/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/binaryage/drydrop/git/refs{/sha}","trees_url":"https://api.github.com/repos/binaryage/drydrop/git/trees{/sha}","statuses_url":"https://api.github.com/repos/binaryage/drydrop/statuses/{sha}","languages_url":"https://api.github.com/repos/binaryage/drydrop/languages","stargazers_url":"https://api.github.com/repos/binaryage/drydrop/stargazers","contributors_url":"https://api.github.com/repos/binaryage/drydrop/contributors","subscribers_url":"https://api.github.com/repos/binaryage/drydrop/subscribers","subscription_url":"https://api.github.com/repos/binaryage/drydrop/subscription","commits_url":"https://api.github.com/repos/binaryage/drydrop/commits{/sha}","git_commits_url":"https://api.github.com/repos/binaryage/drydrop/git/commits{/sha}","comments_url":"https://api.github.com/repos/binaryage/drydrop/comments{/number}","issue_comment_url":"https://api.github.com/repos/binaryage/drydrop/issues/comments/{number}","contents_url":"https://api.github.com/repos/binaryage/drydrop/contents/{+path}","compare_url":"https://api.github.com/repos/binaryage/drydrop/compare/{base}...{head}","merges_url":"https://api.github.com/repos/binaryage/drydrop/merges","archive_url":"https://api.github.com/repos/binaryage/drydrop/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/binaryage/drydrop/downloads","issues_url":"https://api.github.com/repos/binaryage/drydrop/issues{/number}","pulls_url":"https://api.github.com/repos/binaryage/drydrop/pulls{/number}","milestones_url":"https://api.github.com/repos/binaryage/drydrop/milestones{/number}","notifications_url":"https://api.github.com/repos/binaryage/drydrop/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/binaryage/drydrop/labels{/name}","releases_url":"https://api.github.com/repos/binaryage/drydrop/releases{/id}","created_at":"2008-11-30T19:07:49Z","updated_at":"2013-12-18T09:21:26Z","pushed_at":"2013-08-07T17:23:21Z","git_url":"git://github.com/binaryage/drydrop.git","ssh_url":"git@github.com:binaryage/drydrop.git","clone_url":"https://github.com/binaryage/drydrop.git","svn_url":"https://github.com/binaryage/drydrop","homepage":"http://drydrop.binaryage.com","size":12897,"stargazers_count":242,"watchers_count":242,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":35,"mirror_url":null,"open_issues_count":9,"forks":35,"open_issues":9,"watchers":242,"default_branch":"master","master_branch":"master","score":14.523638},{"id":2080027,"name":"sublime-github","full_name":"bgreenlee/sublime-github","owner":{"login":"bgreenlee","id":2901,"avatar_url":"https://avatars.githubusercontent.com/u/2901","gravatar_id":"042bad4058b6c1d8d3cc451a47c97fd4","url":"https://api.github.com/users/bgreenlee","html_url":"https://github.com/bgreenlee","followers_url":"https://api.github.com/users/bgreenlee/followers","following_url":"https://api.github.com/users/bgreenlee/following{/other_user}","gists_url":"https://api.github.com/users/bgreenlee/gists{/gist_id}","starred_url":"https://api.github.com/users/bgreenlee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgreenlee/subscriptions","organizations_url":"https://api.github.com/users/bgreenlee/orgs","repos_url":"https://api.github.com/users/bgreenlee/repos","events_url":"https://api.github.com/users/bgreenlee/events{/privacy}","received_events_url":"https://api.github.com/users/bgreenlee/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bgreenlee/sublime-github","description":"Sublime Text 2/3 plugin that provides a number of useful commands for GitHub.","fork":false,"url":"https://api.github.com/repos/bgreenlee/sublime-github","forks_url":"https://api.github.com/repos/bgreenlee/sublime-github/forks","keys_url":"https://api.github.com/repos/bgreenlee/sublime-github/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bgreenlee/sublime-github/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bgreenlee/sublime-github/teams","hooks_url":"https://api.github.com/repos/bgreenlee/sublime-github/hooks","issue_events_url":"https://api.github.com/repos/bgreenlee/sublime-github/issues/events{/number}","events_url":"https://api.github.com/repos/bgreenlee/sublime-github/events","assignees_url":"https://api.github.com/repos/bgreenlee/sublime-github/assignees{/user}","branches_url":"https://api.github.com/repos/bgreenlee/sublime-github/branches{/branch}","tags_url":"https://api.github.com/repos/bgreenlee/sublime-github/tags","blobs_url":"https://api.github.com/repos/bgreenlee/sublime-github/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bgreenlee/sublime-github/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bgreenlee/sublime-github/git/refs{/sha}","trees_url":"https://api.github.com/repos/bgreenlee/sublime-github/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bgreenlee/sublime-github/statuses/{sha}","languages_url":"https://api.github.com/repos/bgreenlee/sublime-github/languages","stargazers_url":"https://api.github.com/repos/bgreenlee/sublime-github/stargazers","contributors_url":"https://api.github.com/repos/bgreenlee/sublime-github/contributors","subscribers_url":"https://api.github.com/repos/bgreenlee/sublime-github/subscribers","subscription_url":"https://api.github.com/repos/bgreenlee/sublime-github/subscription","commits_url":"https://api.github.com/repos/bgreenlee/sublime-github/commits{/sha}","git_commits_url":"https://api.github.com/repos/bgreenlee/sublime-github/git/commits{/sha}","comments_url":"https://api.github.com/repos/bgreenlee/sublime-github/comments{/number}","issue_comment_url":"https://api.github.com/repos/bgreenlee/sublime-github/issues/comments/{number}","contents_url":"https://api.github.com/repos/bgreenlee/sublime-github/contents/{+path}","compare_url":"https://api.github.com/repos/bgreenlee/sublime-github/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bgreenlee/sublime-github/merges","archive_url":"https://api.github.com/repos/bgreenlee/sublime-github/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bgreenlee/sublime-github/downloads","issues_url":"https://api.github.com/repos/bgreenlee/sublime-github/issues{/number}","pulls_url":"https://api.github.com/repos/bgreenlee/sublime-github/pulls{/number}","milestones_url":"https://api.github.com/repos/bgreenlee/sublime-github/milestones{/number}","notifications_url":"https://api.github.com/repos/bgreenlee/sublime-github/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bgreenlee/sublime-github/labels{/name}","releases_url":"https://api.github.com/repos/bgreenlee/sublime-github/releases{/id}","created_at":"2011-07-20T19:54:39Z","updated_at":"2014-02-24T20:17:29Z","pushed_at":"2014-02-24T20:17:28Z","git_url":"git://github.com/bgreenlee/sublime-github.git","ssh_url":"git@github.com:bgreenlee/sublime-github.git","clone_url":"https://github.com/bgreenlee/sublime-github.git","svn_url":"https://github.com/bgreenlee/sublime-github","homepage":"","size":719,"stargazers_count":238,"watchers_count":238,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":28,"mirror_url":null,"open_issues_count":10,"forks":28,"open_issues":10,"watchers":238,"default_branch":"master","master_branch":"master","score":28.968264},{"id":12190067,"name":"HackerNewsAPI","full_name":"karan/HackerNewsAPI","owner":{"login":"karan","id":3261985,"avatar_url":"https://avatars.githubusercontent.com/u/3261985","gravatar_id":"1623b9c4ad75d02ac303a0510676dd37","url":"https://api.github.com/users/karan","html_url":"https://github.com/karan","followers_url":"https://api.github.com/users/karan/followers","following_url":"https://api.github.com/users/karan/following{/other_user}","gists_url":"https://api.github.com/users/karan/gists{/gist_id}","starred_url":"https://api.github.com/users/karan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karan/subscriptions","organizations_url":"https://api.github.com/users/karan/orgs","repos_url":"https://api.github.com/users/karan/repos","events_url":"https://api.github.com/users/karan/events{/privacy}","received_events_url":"https://api.github.com/users/karan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/karan/HackerNewsAPI","description":"Unofficial Python API for Hacker News. RESTful API at https://github.com/karan/HNify","fork":false,"url":"https://api.github.com/repos/karan/HackerNewsAPI","forks_url":"https://api.github.com/repos/karan/HackerNewsAPI/forks","keys_url":"https://api.github.com/repos/karan/HackerNewsAPI/keys{/key_id}","collaborators_url":"https://api.github.com/repos/karan/HackerNewsAPI/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/karan/HackerNewsAPI/teams","hooks_url":"https://api.github.com/repos/karan/HackerNewsAPI/hooks","issue_events_url":"https://api.github.com/repos/karan/HackerNewsAPI/issues/events{/number}","events_url":"https://api.github.com/repos/karan/HackerNewsAPI/events","assignees_url":"https://api.github.com/repos/karan/HackerNewsAPI/assignees{/user}","branches_url":"https://api.github.com/repos/karan/HackerNewsAPI/branches{/branch}","tags_url":"https://api.github.com/repos/karan/HackerNewsAPI/tags","blobs_url":"https://api.github.com/repos/karan/HackerNewsAPI/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/karan/HackerNewsAPI/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/karan/HackerNewsAPI/git/refs{/sha}","trees_url":"https://api.github.com/repos/karan/HackerNewsAPI/git/trees{/sha}","statuses_url":"https://api.github.com/repos/karan/HackerNewsAPI/statuses/{sha}","languages_url":"https://api.github.com/repos/karan/HackerNewsAPI/languages","stargazers_url":"https://api.github.com/repos/karan/HackerNewsAPI/stargazers","contributors_url":"https://api.github.com/repos/karan/HackerNewsAPI/contributors","subscribers_url":"https://api.github.com/repos/karan/HackerNewsAPI/subscribers","subscription_url":"https://api.github.com/repos/karan/HackerNewsAPI/subscription","commits_url":"https://api.github.com/repos/karan/HackerNewsAPI/commits{/sha}","git_commits_url":"https://api.github.com/repos/karan/HackerNewsAPI/git/commits{/sha}","comments_url":"https://api.github.com/repos/karan/HackerNewsAPI/comments{/number}","issue_comment_url":"https://api.github.com/repos/karan/HackerNewsAPI/issues/comments/{number}","contents_url":"https://api.github.com/repos/karan/HackerNewsAPI/contents/{+path}","compare_url":"https://api.github.com/repos/karan/HackerNewsAPI/compare/{base}...{head}","merges_url":"https://api.github.com/repos/karan/HackerNewsAPI/merges","archive_url":"https://api.github.com/repos/karan/HackerNewsAPI/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/karan/HackerNewsAPI/downloads","issues_url":"https://api.github.com/repos/karan/HackerNewsAPI/issues{/number}","pulls_url":"https://api.github.com/repos/karan/HackerNewsAPI/pulls{/number}","milestones_url":"https://api.github.com/repos/karan/HackerNewsAPI/milestones{/number}","notifications_url":"https://api.github.com/repos/karan/HackerNewsAPI/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/karan/HackerNewsAPI/labels{/name}","releases_url":"https://api.github.com/repos/karan/HackerNewsAPI/releases{/id}","created_at":"2013-08-18T04:00:52Z","updated_at":"2014-02-27T21:16:24Z","pushed_at":"2014-02-27T21:16:24Z","git_url":"git://github.com/karan/HackerNewsAPI.git","ssh_url":"git@github.com:karan/HackerNewsAPI.git","clone_url":"https://github.com/karan/HackerNewsAPI.git","svn_url":"https://github.com/karan/HackerNewsAPI","homepage":"","size":737,"stargazers_count":240,"watchers_count":240,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":33,"mirror_url":null,"open_issues_count":2,"forks":33,"open_issues":2,"watchers":240,"default_branch":"master","master_branch":"master","score":11.483997},{"id":331547,"name":"pyPdf","full_name":"mfenniak/pyPdf","owner":{"login":"mfenniak","id":91093,"avatar_url":"https://avatars.githubusercontent.com/u/91093","gravatar_id":"4dbde6e8b5b0932957db2ecc90177b81","url":"https://api.github.com/users/mfenniak","html_url":"https://github.com/mfenniak","followers_url":"https://api.github.com/users/mfenniak/followers","following_url":"https://api.github.com/users/mfenniak/following{/other_user}","gists_url":"https://api.github.com/users/mfenniak/gists{/gist_id}","starred_url":"https://api.github.com/users/mfenniak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfenniak/subscriptions","organizations_url":"https://api.github.com/users/mfenniak/orgs","repos_url":"https://api.github.com/users/mfenniak/repos","events_url":"https://api.github.com/users/mfenniak/events{/privacy}","received_events_url":"https://api.github.com/users/mfenniak/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mfenniak/pyPdf","description":"Pure-Python PDF Library; this repository is no longer maintained, please see https://github.com/knowah/PyPDF2/ insead.","fork":false,"url":"https://api.github.com/repos/mfenniak/pyPdf","forks_url":"https://api.github.com/repos/mfenniak/pyPdf/forks","keys_url":"https://api.github.com/repos/mfenniak/pyPdf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mfenniak/pyPdf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mfenniak/pyPdf/teams","hooks_url":"https://api.github.com/repos/mfenniak/pyPdf/hooks","issue_events_url":"https://api.github.com/repos/mfenniak/pyPdf/issues/events{/number}","events_url":"https://api.github.com/repos/mfenniak/pyPdf/events","assignees_url":"https://api.github.com/repos/mfenniak/pyPdf/assignees{/user}","branches_url":"https://api.github.com/repos/mfenniak/pyPdf/branches{/branch}","tags_url":"https://api.github.com/repos/mfenniak/pyPdf/tags","blobs_url":"https://api.github.com/repos/mfenniak/pyPdf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mfenniak/pyPdf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mfenniak/pyPdf/git/refs{/sha}","trees_url":"https://api.github.com/repos/mfenniak/pyPdf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mfenniak/pyPdf/statuses/{sha}","languages_url":"https://api.github.com/repos/mfenniak/pyPdf/languages","stargazers_url":"https://api.github.com/repos/mfenniak/pyPdf/stargazers","contributors_url":"https://api.github.com/repos/mfenniak/pyPdf/contributors","subscribers_url":"https://api.github.com/repos/mfenniak/pyPdf/subscribers","subscription_url":"https://api.github.com/repos/mfenniak/pyPdf/subscription","commits_url":"https://api.github.com/repos/mfenniak/pyPdf/commits{/sha}","git_commits_url":"https://api.github.com/repos/mfenniak/pyPdf/git/commits{/sha}","comments_url":"https://api.github.com/repos/mfenniak/pyPdf/comments{/number}","issue_comment_url":"https://api.github.com/repos/mfenniak/pyPdf/issues/comments/{number}","contents_url":"https://api.github.com/repos/mfenniak/pyPdf/contents/{+path}","compare_url":"https://api.github.com/repos/mfenniak/pyPdf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mfenniak/pyPdf/merges","archive_url":"https://api.github.com/repos/mfenniak/pyPdf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mfenniak/pyPdf/downloads","issues_url":"https://api.github.com/repos/mfenniak/pyPdf/issues{/number}","pulls_url":"https://api.github.com/repos/mfenniak/pyPdf/pulls{/number}","milestones_url":"https://api.github.com/repos/mfenniak/pyPdf/milestones{/number}","notifications_url":"https://api.github.com/repos/mfenniak/pyPdf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mfenniak/pyPdf/labels{/name}","releases_url":"https://api.github.com/repos/mfenniak/pyPdf/releases{/id}","created_at":"2009-10-08T23:52:41Z","updated_at":"2014-01-07T06:07:04Z","pushed_at":"2011-07-19T15:14:36Z","git_url":"git://github.com/mfenniak/pyPdf.git","ssh_url":"git@github.com:mfenniak/pyPdf.git","clone_url":"https://github.com/mfenniak/pyPdf.git","svn_url":"https://github.com/mfenniak/pyPdf","homepage":"https://github.com/knowah/PyPDF2/","size":410,"stargazers_count":229,"watchers_count":229,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":37,"forks":70,"open_issues":37,"watchers":229,"default_branch":"trunk","master_branch":"trunk","score":11.901796},{"id":14057030,"name":"github-decorator","full_name":"skazhy/github-decorator","owner":{"login":"skazhy","id":168427,"avatar_url":"https://avatars.githubusercontent.com/u/168427","gravatar_id":"085d620aca53f8b5a7630021747d9c9d","url":"https://api.github.com/users/skazhy","html_url":"https://github.com/skazhy","followers_url":"https://api.github.com/users/skazhy/followers","following_url":"https://api.github.com/users/skazhy/following{/other_user}","gists_url":"https://api.github.com/users/skazhy/gists{/gist_id}","starred_url":"https://api.github.com/users/skazhy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skazhy/subscriptions","organizations_url":"https://api.github.com/users/skazhy/orgs","repos_url":"https://api.github.com/users/skazhy/repos","events_url":"https://api.github.com/users/skazhy/events{/privacy}","received_events_url":"https://api.github.com/users/skazhy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/skazhy/github-decorator","description":"A GitHub profile decorator","fork":false,"url":"https://api.github.com/repos/skazhy/github-decorator","forks_url":"https://api.github.com/repos/skazhy/github-decorator/forks","keys_url":"https://api.github.com/repos/skazhy/github-decorator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/skazhy/github-decorator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/skazhy/github-decorator/teams","hooks_url":"https://api.github.com/repos/skazhy/github-decorator/hooks","issue_events_url":"https://api.github.com/repos/skazhy/github-decorator/issues/events{/number}","events_url":"https://api.github.com/repos/skazhy/github-decorator/events","assignees_url":"https://api.github.com/repos/skazhy/github-decorator/assignees{/user}","branches_url":"https://api.github.com/repos/skazhy/github-decorator/branches{/branch}","tags_url":"https://api.github.com/repos/skazhy/github-decorator/tags","blobs_url":"https://api.github.com/repos/skazhy/github-decorator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/skazhy/github-decorator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/skazhy/github-decorator/git/refs{/sha}","trees_url":"https://api.github.com/repos/skazhy/github-decorator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/skazhy/github-decorator/statuses/{sha}","languages_url":"https://api.github.com/repos/skazhy/github-decorator/languages","stargazers_url":"https://api.github.com/repos/skazhy/github-decorator/stargazers","contributors_url":"https://api.github.com/repos/skazhy/github-decorator/contributors","subscribers_url":"https://api.github.com/repos/skazhy/github-decorator/subscribers","subscription_url":"https://api.github.com/repos/skazhy/github-decorator/subscription","commits_url":"https://api.github.com/repos/skazhy/github-decorator/commits{/sha}","git_commits_url":"https://api.github.com/repos/skazhy/github-decorator/git/commits{/sha}","comments_url":"https://api.github.com/repos/skazhy/github-decorator/comments{/number}","issue_comment_url":"https://api.github.com/repos/skazhy/github-decorator/issues/comments/{number}","contents_url":"https://api.github.com/repos/skazhy/github-decorator/contents/{+path}","compare_url":"https://api.github.com/repos/skazhy/github-decorator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/skazhy/github-decorator/merges","archive_url":"https://api.github.com/repos/skazhy/github-decorator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/skazhy/github-decorator/downloads","issues_url":"https://api.github.com/repos/skazhy/github-decorator/issues{/number}","pulls_url":"https://api.github.com/repos/skazhy/github-decorator/pulls{/number}","milestones_url":"https://api.github.com/repos/skazhy/github-decorator/milestones{/number}","notifications_url":"https://api.github.com/repos/skazhy/github-decorator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/skazhy/github-decorator/labels{/name}","releases_url":"https://api.github.com/repos/skazhy/github-decorator/releases{/id}","created_at":"2013-11-01T23:51:30Z","updated_at":"2014-01-11T00:28:07Z","pushed_at":"2013-11-07T09:28:17Z","git_url":"git://github.com/skazhy/github-decorator.git","ssh_url":"git@github.com:skazhy/github-decorator.git","clone_url":"https://github.com/skazhy/github-decorator.git","svn_url":"https://github.com/skazhy/github-decorator","homepage":null,"size":119,"stargazers_count":223,"watchers_count":223,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":13,"mirror_url":null,"open_issues_count":1,"forks":13,"open_issues":1,"watchers":223,"default_branch":"master","master_branch":"master","score":21.266361},{"id":3375197,"name":"llvmpy","full_name":"llvmpy/llvmpy","owner":{"login":"llvmpy","id":2081869,"avatar_url":"https://avatars.githubusercontent.com/u/2081869","gravatar_id":"a718e9fd797832c135474a751557081c","url":"https://api.github.com/users/llvmpy","html_url":"https://github.com/llvmpy","followers_url":"https://api.github.com/users/llvmpy/followers","following_url":"https://api.github.com/users/llvmpy/following{/other_user}","gists_url":"https://api.github.com/users/llvmpy/gists{/gist_id}","starred_url":"https://api.github.com/users/llvmpy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llvmpy/subscriptions","organizations_url":"https://api.github.com/users/llvmpy/orgs","repos_url":"https://api.github.com/users/llvmpy/repos","events_url":"https://api.github.com/users/llvmpy/events{/privacy}","received_events_url":"https://api.github.com/users/llvmpy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/llvmpy/llvmpy","description":"Originally a github fork of the llvm-py repository from http://www.mdevan.org/llvm-py/index.html updated to work with LLVM 3.x. Since then it has changed significantly with multiple sub-projects.","fork":false,"url":"https://api.github.com/repos/llvmpy/llvmpy","forks_url":"https://api.github.com/repos/llvmpy/llvmpy/forks","keys_url":"https://api.github.com/repos/llvmpy/llvmpy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/llvmpy/llvmpy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/llvmpy/llvmpy/teams","hooks_url":"https://api.github.com/repos/llvmpy/llvmpy/hooks","issue_events_url":"https://api.github.com/repos/llvmpy/llvmpy/issues/events{/number}","events_url":"https://api.github.com/repos/llvmpy/llvmpy/events","assignees_url":"https://api.github.com/repos/llvmpy/llvmpy/assignees{/user}","branches_url":"https://api.github.com/repos/llvmpy/llvmpy/branches{/branch}","tags_url":"https://api.github.com/repos/llvmpy/llvmpy/tags","blobs_url":"https://api.github.com/repos/llvmpy/llvmpy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/llvmpy/llvmpy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/llvmpy/llvmpy/git/refs{/sha}","trees_url":"https://api.github.com/repos/llvmpy/llvmpy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/llvmpy/llvmpy/statuses/{sha}","languages_url":"https://api.github.com/repos/llvmpy/llvmpy/languages","stargazers_url":"https://api.github.com/repos/llvmpy/llvmpy/stargazers","contributors_url":"https://api.github.com/repos/llvmpy/llvmpy/contributors","subscribers_url":"https://api.github.com/repos/llvmpy/llvmpy/subscribers","subscription_url":"https://api.github.com/repos/llvmpy/llvmpy/subscription","commits_url":"https://api.github.com/repos/llvmpy/llvmpy/commits{/sha}","git_commits_url":"https://api.github.com/repos/llvmpy/llvmpy/git/commits{/sha}","comments_url":"https://api.github.com/repos/llvmpy/llvmpy/comments{/number}","issue_comment_url":"https://api.github.com/repos/llvmpy/llvmpy/issues/comments/{number}","contents_url":"https://api.github.com/repos/llvmpy/llvmpy/contents/{+path}","compare_url":"https://api.github.com/repos/llvmpy/llvmpy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/llvmpy/llvmpy/merges","archive_url":"https://api.github.com/repos/llvmpy/llvmpy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/llvmpy/llvmpy/downloads","issues_url":"https://api.github.com/repos/llvmpy/llvmpy/issues{/number}","pulls_url":"https://api.github.com/repos/llvmpy/llvmpy/pulls{/number}","milestones_url":"https://api.github.com/repos/llvmpy/llvmpy/milestones{/number}","notifications_url":"https://api.github.com/repos/llvmpy/llvmpy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/llvmpy/llvmpy/labels{/name}","releases_url":"https://api.github.com/repos/llvmpy/llvmpy/releases{/id}","created_at":"2012-02-07T07:09:59Z","updated_at":"2014-02-18T21:39:20Z","pushed_at":"2014-02-18T21:39:20Z","git_url":"git://github.com/llvmpy/llvmpy.git","ssh_url":"git@github.com:llvmpy/llvmpy.git","clone_url":"https://github.com/llvmpy/llvmpy.git","svn_url":"https://github.com/llvmpy/llvmpy","homepage":"www.llvmpy.org","size":5833,"stargazers_count":220,"watchers_count":220,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":48,"mirror_url":null,"open_issues_count":33,"forks":48,"open_issues":33,"watchers":220,"default_branch":"master","master_branch":"master","score":9.256256},{"id":54383,"name":"gmate","full_name":"lexrupy/gmate","owner":{"login":"lexrupy","id":16597,"avatar_url":"https://avatars.githubusercontent.com/u/16597","gravatar_id":"ff4ea51c90e15b65b137e8fb60e60764","url":"https://api.github.com/users/lexrupy","html_url":"https://github.com/lexrupy","followers_url":"https://api.github.com/users/lexrupy/followers","following_url":"https://api.github.com/users/lexrupy/following{/other_user}","gists_url":"https://api.github.com/users/lexrupy/gists{/gist_id}","starred_url":"https://api.github.com/users/lexrupy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexrupy/subscriptions","organizations_url":"https://api.github.com/users/lexrupy/orgs","repos_url":"https://api.github.com/users/lexrupy/repos","events_url":"https://api.github.com/users/lexrupy/events{/privacy}","received_events_url":"https://api.github.com/users/lexrupy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lexrupy/gmate","description":"Gmate has been moved to http://github.com/gmate/gmate","fork":false,"url":"https://api.github.com/repos/lexrupy/gmate","forks_url":"https://api.github.com/repos/lexrupy/gmate/forks","keys_url":"https://api.github.com/repos/lexrupy/gmate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lexrupy/gmate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lexrupy/gmate/teams","hooks_url":"https://api.github.com/repos/lexrupy/gmate/hooks","issue_events_url":"https://api.github.com/repos/lexrupy/gmate/issues/events{/number}","events_url":"https://api.github.com/repos/lexrupy/gmate/events","assignees_url":"https://api.github.com/repos/lexrupy/gmate/assignees{/user}","branches_url":"https://api.github.com/repos/lexrupy/gmate/branches{/branch}","tags_url":"https://api.github.com/repos/lexrupy/gmate/tags","blobs_url":"https://api.github.com/repos/lexrupy/gmate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lexrupy/gmate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lexrupy/gmate/git/refs{/sha}","trees_url":"https://api.github.com/repos/lexrupy/gmate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lexrupy/gmate/statuses/{sha}","languages_url":"https://api.github.com/repos/lexrupy/gmate/languages","stargazers_url":"https://api.github.com/repos/lexrupy/gmate/stargazers","contributors_url":"https://api.github.com/repos/lexrupy/gmate/contributors","subscribers_url":"https://api.github.com/repos/lexrupy/gmate/subscribers","subscription_url":"https://api.github.com/repos/lexrupy/gmate/subscription","commits_url":"https://api.github.com/repos/lexrupy/gmate/commits{/sha}","git_commits_url":"https://api.github.com/repos/lexrupy/gmate/git/commits{/sha}","comments_url":"https://api.github.com/repos/lexrupy/gmate/comments{/number}","issue_comment_url":"https://api.github.com/repos/lexrupy/gmate/issues/comments/{number}","contents_url":"https://api.github.com/repos/lexrupy/gmate/contents/{+path}","compare_url":"https://api.github.com/repos/lexrupy/gmate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lexrupy/gmate/merges","archive_url":"https://api.github.com/repos/lexrupy/gmate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lexrupy/gmate/downloads","issues_url":"https://api.github.com/repos/lexrupy/gmate/issues{/number}","pulls_url":"https://api.github.com/repos/lexrupy/gmate/pulls{/number}","milestones_url":"https://api.github.com/repos/lexrupy/gmate/milestones{/number}","notifications_url":"https://api.github.com/repos/lexrupy/gmate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lexrupy/gmate/labels{/name}","releases_url":"https://api.github.com/repos/lexrupy/gmate/releases{/id}","created_at":"2008-09-19T18:55:31Z","updated_at":"2013-12-22T15:18:35Z","pushed_at":"2010-09-05T16:27:39Z","git_url":"git://github.com/lexrupy/gmate.git","ssh_url":"git@github.com:lexrupy/gmate.git","clone_url":"https://github.com/lexrupy/gmate.git","svn_url":"https://github.com/lexrupy/gmate","homepage":"http://github.com/gmate/gmate","size":701,"stargazers_count":203,"watchers_count":203,"language":"Python","has_issues":false,"has_downloads":false,"has_wiki":false,"forks_count":14,"mirror_url":null,"open_issues_count":13,"forks":14,"open_issues":13,"watchers":203,"default_branch":"master","master_branch":"master","score":10.443312},{"id":179358,"name":"python-github2","full_name":"ask/python-github2","owner":{"login":"ask","id":1558,"avatar_url":"https://avatars.githubusercontent.com/u/1558","gravatar_id":"7e8b501f7f579c66ddac7e65cb7962b4","url":"https://api.github.com/users/ask","html_url":"https://github.com/ask","followers_url":"https://api.github.com/users/ask/followers","following_url":"https://api.github.com/users/ask/following{/other_user}","gists_url":"https://api.github.com/users/ask/gists{/gist_id}","starred_url":"https://api.github.com/users/ask/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ask/subscriptions","organizations_url":"https://api.github.com/users/ask/orgs","repos_url":"https://api.github.com/users/ask/repos","events_url":"https://api.github.com/users/ask/events{/privacy}","received_events_url":"https://api.github.com/users/ask/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ask/python-github2","description":"github client in python, with issues support.","fork":false,"url":"https://api.github.com/repos/ask/python-github2","forks_url":"https://api.github.com/repos/ask/python-github2/forks","keys_url":"https://api.github.com/repos/ask/python-github2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ask/python-github2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ask/python-github2/teams","hooks_url":"https://api.github.com/repos/ask/python-github2/hooks","issue_events_url":"https://api.github.com/repos/ask/python-github2/issues/events{/number}","events_url":"https://api.github.com/repos/ask/python-github2/events","assignees_url":"https://api.github.com/repos/ask/python-github2/assignees{/user}","branches_url":"https://api.github.com/repos/ask/python-github2/branches{/branch}","tags_url":"https://api.github.com/repos/ask/python-github2/tags","blobs_url":"https://api.github.com/repos/ask/python-github2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ask/python-github2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ask/python-github2/git/refs{/sha}","trees_url":"https://api.github.com/repos/ask/python-github2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ask/python-github2/statuses/{sha}","languages_url":"https://api.github.com/repos/ask/python-github2/languages","stargazers_url":"https://api.github.com/repos/ask/python-github2/stargazers","contributors_url":"https://api.github.com/repos/ask/python-github2/contributors","subscribers_url":"https://api.github.com/repos/ask/python-github2/subscribers","subscription_url":"https://api.github.com/repos/ask/python-github2/subscription","commits_url":"https://api.github.com/repos/ask/python-github2/commits{/sha}","git_commits_url":"https://api.github.com/repos/ask/python-github2/git/commits{/sha}","comments_url":"https://api.github.com/repos/ask/python-github2/comments{/number}","issue_comment_url":"https://api.github.com/repos/ask/python-github2/issues/comments/{number}","contents_url":"https://api.github.com/repos/ask/python-github2/contents/{+path}","compare_url":"https://api.github.com/repos/ask/python-github2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ask/python-github2/merges","archive_url":"https://api.github.com/repos/ask/python-github2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ask/python-github2/downloads","issues_url":"https://api.github.com/repos/ask/python-github2/issues{/number}","pulls_url":"https://api.github.com/repos/ask/python-github2/pulls{/number}","milestones_url":"https://api.github.com/repos/ask/python-github2/milestones{/number}","notifications_url":"https://api.github.com/repos/ask/python-github2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ask/python-github2/labels{/name}","releases_url":"https://api.github.com/repos/ask/python-github2/releases{/id}","created_at":"2009-04-18T15:31:12Z","updated_at":"2014-01-05T16:47:50Z","pushed_at":"2012-06-11T16:07:14Z","git_url":"git://github.com/ask/python-github2.git","ssh_url":"git@github.com:ask/python-github2.git","clone_url":"https://github.com/ask/python-github2.git","svn_url":"https://github.com/ask/python-github2","homepage":"http://packages.python.org/github2","size":832,"stargazers_count":195,"watchers_count":195,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":58,"mirror_url":null,"open_issues_count":0,"forks":58,"open_issues":0,"watchers":195,"default_branch":"master","master_branch":"master","score":27.283829},{"id":11407567,"name":"cookiecutter-pypackage","full_name":"audreyr/cookiecutter-pypackage","owner":{"login":"audreyr","id":74739,"avatar_url":"https://avatars.githubusercontent.com/u/74739","gravatar_id":"21c87b66d4e8fbe9d55219d3c1a2c73d","url":"https://api.github.com/users/audreyr","html_url":"https://github.com/audreyr","followers_url":"https://api.github.com/users/audreyr/followers","following_url":"https://api.github.com/users/audreyr/following{/other_user}","gists_url":"https://api.github.com/users/audreyr/gists{/gist_id}","starred_url":"https://api.github.com/users/audreyr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/audreyr/subscriptions","organizations_url":"https://api.github.com/users/audreyr/orgs","repos_url":"https://api.github.com/users/audreyr/repos","events_url":"https://api.github.com/users/audreyr/events{/privacy}","received_events_url":"https://api.github.com/users/audreyr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/audreyr/cookiecutter-pypackage","description":"Cookiecutter template for a Python package. See https://github.com/audreyr/cookiecutter.","fork":false,"url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage","forks_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/forks","keys_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/teams","hooks_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/hooks","issue_events_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/issues/events{/number}","events_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/events","assignees_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/assignees{/user}","branches_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/branches{/branch}","tags_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/tags","blobs_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/git/refs{/sha}","trees_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/statuses/{sha}","languages_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/languages","stargazers_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/stargazers","contributors_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/contributors","subscribers_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/subscribers","subscription_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/subscription","commits_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/commits{/sha}","git_commits_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/git/commits{/sha}","comments_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/comments{/number}","issue_comment_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/issues/comments/{number}","contents_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/contents/{+path}","compare_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/merges","archive_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/downloads","issues_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/issues{/number}","pulls_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/pulls{/number}","milestones_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/milestones{/number}","notifications_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/labels{/name}","releases_url":"https://api.github.com/repos/audreyr/cookiecutter-pypackage/releases{/id}","created_at":"2013-07-14T18:52:05Z","updated_at":"2014-02-20T16:05:14Z","pushed_at":"2014-02-20T16:05:14Z","git_url":"git://github.com/audreyr/cookiecutter-pypackage.git","ssh_url":"git@github.com:audreyr/cookiecutter-pypackage.git","clone_url":"https://github.com/audreyr/cookiecutter-pypackage.git","svn_url":"https://github.com/audreyr/cookiecutter-pypackage","homepage":null,"size":486,"stargazers_count":195,"watchers_count":195,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":99,"mirror_url":null,"open_issues_count":5,"forks":99,"open_issues":5,"watchers":195,"default_branch":"master","master_branch":"master","score":17.574614},{"id":602040,"name":"django-treebeard","full_name":"tabo/django-treebeard","owner":{"login":"tabo","id":33574,"avatar_url":"https://avatars.githubusercontent.com/u/33574","gravatar_id":"dea106e7a35cff588be54b9a4870028b","url":"https://api.github.com/users/tabo","html_url":"https://github.com/tabo","followers_url":"https://api.github.com/users/tabo/followers","following_url":"https://api.github.com/users/tabo/following{/other_user}","gists_url":"https://api.github.com/users/tabo/gists{/gist_id}","starred_url":"https://api.github.com/users/tabo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tabo/subscriptions","organizations_url":"https://api.github.com/users/tabo/orgs","repos_url":"https://api.github.com/users/tabo/repos","events_url":"https://api.github.com/users/tabo/events{/privacy}","received_events_url":"https://api.github.com/users/tabo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tabo/django-treebeard","description":"Efficient tree implementations for Django (github mirror)","fork":false,"url":"https://api.github.com/repos/tabo/django-treebeard","forks_url":"https://api.github.com/repos/tabo/django-treebeard/forks","keys_url":"https://api.github.com/repos/tabo/django-treebeard/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tabo/django-treebeard/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tabo/django-treebeard/teams","hooks_url":"https://api.github.com/repos/tabo/django-treebeard/hooks","issue_events_url":"https://api.github.com/repos/tabo/django-treebeard/issues/events{/number}","events_url":"https://api.github.com/repos/tabo/django-treebeard/events","assignees_url":"https://api.github.com/repos/tabo/django-treebeard/assignees{/user}","branches_url":"https://api.github.com/repos/tabo/django-treebeard/branches{/branch}","tags_url":"https://api.github.com/repos/tabo/django-treebeard/tags","blobs_url":"https://api.github.com/repos/tabo/django-treebeard/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tabo/django-treebeard/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tabo/django-treebeard/git/refs{/sha}","trees_url":"https://api.github.com/repos/tabo/django-treebeard/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tabo/django-treebeard/statuses/{sha}","languages_url":"https://api.github.com/repos/tabo/django-treebeard/languages","stargazers_url":"https://api.github.com/repos/tabo/django-treebeard/stargazers","contributors_url":"https://api.github.com/repos/tabo/django-treebeard/contributors","subscribers_url":"https://api.github.com/repos/tabo/django-treebeard/subscribers","subscription_url":"https://api.github.com/repos/tabo/django-treebeard/subscription","commits_url":"https://api.github.com/repos/tabo/django-treebeard/commits{/sha}","git_commits_url":"https://api.github.com/repos/tabo/django-treebeard/git/commits{/sha}","comments_url":"https://api.github.com/repos/tabo/django-treebeard/comments{/number}","issue_comment_url":"https://api.github.com/repos/tabo/django-treebeard/issues/comments/{number}","contents_url":"https://api.github.com/repos/tabo/django-treebeard/contents/{+path}","compare_url":"https://api.github.com/repos/tabo/django-treebeard/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tabo/django-treebeard/merges","archive_url":"https://api.github.com/repos/tabo/django-treebeard/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tabo/django-treebeard/downloads","issues_url":"https://api.github.com/repos/tabo/django-treebeard/issues{/number}","pulls_url":"https://api.github.com/repos/tabo/django-treebeard/pulls{/number}","milestones_url":"https://api.github.com/repos/tabo/django-treebeard/milestones{/number}","notifications_url":"https://api.github.com/repos/tabo/django-treebeard/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tabo/django-treebeard/labels{/name}","releases_url":"https://api.github.com/repos/tabo/django-treebeard/releases{/id}","created_at":"2010-04-09T06:10:02Z","updated_at":"2014-02-23T20:16:59Z","pushed_at":"2014-02-23T20:16:59Z","git_url":"git://github.com/tabo/django-treebeard.git","ssh_url":"git@github.com:tabo/django-treebeard.git","clone_url":"https://github.com/tabo/django-treebeard.git","svn_url":"https://github.com/tabo/django-treebeard","homepage":"https://tabo.pe/projects/django-treebeard/","size":1421,"stargazers_count":177,"watchers_count":177,"language":"Python","has_issues":false,"has_downloads":false,"has_wiki":false,"forks_count":27,"mirror_url":null,"open_issues_count":0,"forks":27,"open_issues":0,"watchers":177,"default_branch":"master","master_branch":"master","score":15.324995},{"id":14645,"name":"tvdb_api","full_name":"dbr/tvdb_api","owner":{"login":"dbr","id":509,"avatar_url":"https://avatars.githubusercontent.com/u/509","gravatar_id":"edf857d71f672d8f411ef6b8376316b8","url":"https://api.github.com/users/dbr","html_url":"https://github.com/dbr","followers_url":"https://api.github.com/users/dbr/followers","following_url":"https://api.github.com/users/dbr/following{/other_user}","gists_url":"https://api.github.com/users/dbr/gists{/gist_id}","starred_url":"https://api.github.com/users/dbr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbr/subscriptions","organizations_url":"https://api.github.com/users/dbr/orgs","repos_url":"https://api.github.com/users/dbr/repos","events_url":"https://api.github.com/users/dbr/events{/privacy}","received_events_url":"https://api.github.com/users/dbr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dbr/tvdb_api","description":"Simple to use TVDB (thetvdb.com) API in Python. The automatic TV episode namer \"tvnamer\" is now in a separate repository http://github.com/dbr/tvnamer","fork":false,"url":"https://api.github.com/repos/dbr/tvdb_api","forks_url":"https://api.github.com/repos/dbr/tvdb_api/forks","keys_url":"https://api.github.com/repos/dbr/tvdb_api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dbr/tvdb_api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dbr/tvdb_api/teams","hooks_url":"https://api.github.com/repos/dbr/tvdb_api/hooks","issue_events_url":"https://api.github.com/repos/dbr/tvdb_api/issues/events{/number}","events_url":"https://api.github.com/repos/dbr/tvdb_api/events","assignees_url":"https://api.github.com/repos/dbr/tvdb_api/assignees{/user}","branches_url":"https://api.github.com/repos/dbr/tvdb_api/branches{/branch}","tags_url":"https://api.github.com/repos/dbr/tvdb_api/tags","blobs_url":"https://api.github.com/repos/dbr/tvdb_api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dbr/tvdb_api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dbr/tvdb_api/git/refs{/sha}","trees_url":"https://api.github.com/repos/dbr/tvdb_api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dbr/tvdb_api/statuses/{sha}","languages_url":"https://api.github.com/repos/dbr/tvdb_api/languages","stargazers_url":"https://api.github.com/repos/dbr/tvdb_api/stargazers","contributors_url":"https://api.github.com/repos/dbr/tvdb_api/contributors","subscribers_url":"https://api.github.com/repos/dbr/tvdb_api/subscribers","subscription_url":"https://api.github.com/repos/dbr/tvdb_api/subscription","commits_url":"https://api.github.com/repos/dbr/tvdb_api/commits{/sha}","git_commits_url":"https://api.github.com/repos/dbr/tvdb_api/git/commits{/sha}","comments_url":"https://api.github.com/repos/dbr/tvdb_api/comments{/number}","issue_comment_url":"https://api.github.com/repos/dbr/tvdb_api/issues/comments/{number}","contents_url":"https://api.github.com/repos/dbr/tvdb_api/contents/{+path}","compare_url":"https://api.github.com/repos/dbr/tvdb_api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dbr/tvdb_api/merges","archive_url":"https://api.github.com/repos/dbr/tvdb_api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dbr/tvdb_api/downloads","issues_url":"https://api.github.com/repos/dbr/tvdb_api/issues{/number}","pulls_url":"https://api.github.com/repos/dbr/tvdb_api/pulls{/number}","milestones_url":"https://api.github.com/repos/dbr/tvdb_api/milestones{/number}","notifications_url":"https://api.github.com/repos/dbr/tvdb_api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dbr/tvdb_api/labels{/name}","releases_url":"https://api.github.com/repos/dbr/tvdb_api/releases{/id}","created_at":"2008-05-05T13:01:53Z","updated_at":"2014-01-06T03:43:32Z","pushed_at":"2013-10-01T08:14:07Z","git_url":"git://github.com/dbr/tvdb_api.git","ssh_url":"git@github.com:dbr/tvdb_api.git","clone_url":"https://github.com/dbr/tvdb_api.git","svn_url":"https://github.com/dbr/tvdb_api","homepage":"http://dbr.lighthouseapp.com/projects/13342-tvdb_api/tickets","size":1294,"stargazers_count":177,"watchers_count":177,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":36,"mirror_url":null,"open_issues_count":10,"forks":36,"open_issues":10,"watchers":177,"default_branch":"master","master_branch":"master","score":9.772404},{"id":103446,"name":"couchapp","full_name":"jchris/couchapp","owner":{"login":"jchris","id":253,"avatar_url":"https://avatars.githubusercontent.com/u/253","gravatar_id":"fc67805d4cb2c9d9e159702e943f9a7c","url":"https://api.github.com/users/jchris","html_url":"https://github.com/jchris","followers_url":"https://api.github.com/users/jchris/followers","following_url":"https://api.github.com/users/jchris/following{/other_user}","gists_url":"https://api.github.com/users/jchris/gists{/gist_id}","starred_url":"https://api.github.com/users/jchris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchris/subscriptions","organizations_url":"https://api.github.com/users/jchris/orgs","repos_url":"https://api.github.com/users/jchris/repos","events_url":"https://api.github.com/users/jchris/events{/privacy}","received_events_url":"https://api.github.com/users/jchris/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jchris/couchapp","description":"The official repo is now at http://github.com/couchapp/couchapp","fork":false,"url":"https://api.github.com/repos/jchris/couchapp","forks_url":"https://api.github.com/repos/jchris/couchapp/forks","keys_url":"https://api.github.com/repos/jchris/couchapp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jchris/couchapp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jchris/couchapp/teams","hooks_url":"https://api.github.com/repos/jchris/couchapp/hooks","issue_events_url":"https://api.github.com/repos/jchris/couchapp/issues/events{/number}","events_url":"https://api.github.com/repos/jchris/couchapp/events","assignees_url":"https://api.github.com/repos/jchris/couchapp/assignees{/user}","branches_url":"https://api.github.com/repos/jchris/couchapp/branches{/branch}","tags_url":"https://api.github.com/repos/jchris/couchapp/tags","blobs_url":"https://api.github.com/repos/jchris/couchapp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jchris/couchapp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jchris/couchapp/git/refs{/sha}","trees_url":"https://api.github.com/repos/jchris/couchapp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jchris/couchapp/statuses/{sha}","languages_url":"https://api.github.com/repos/jchris/couchapp/languages","stargazers_url":"https://api.github.com/repos/jchris/couchapp/stargazers","contributors_url":"https://api.github.com/repos/jchris/couchapp/contributors","subscribers_url":"https://api.github.com/repos/jchris/couchapp/subscribers","subscription_url":"https://api.github.com/repos/jchris/couchapp/subscription","commits_url":"https://api.github.com/repos/jchris/couchapp/commits{/sha}","git_commits_url":"https://api.github.com/repos/jchris/couchapp/git/commits{/sha}","comments_url":"https://api.github.com/repos/jchris/couchapp/comments{/number}","issue_comment_url":"https://api.github.com/repos/jchris/couchapp/issues/comments/{number}","contents_url":"https://api.github.com/repos/jchris/couchapp/contents/{+path}","compare_url":"https://api.github.com/repos/jchris/couchapp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jchris/couchapp/merges","archive_url":"https://api.github.com/repos/jchris/couchapp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jchris/couchapp/downloads","issues_url":"https://api.github.com/repos/jchris/couchapp/issues{/number}","pulls_url":"https://api.github.com/repos/jchris/couchapp/pulls{/number}","milestones_url":"https://api.github.com/repos/jchris/couchapp/milestones{/number}","notifications_url":"https://api.github.com/repos/jchris/couchapp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jchris/couchapp/labels{/name}","releases_url":"https://api.github.com/repos/jchris/couchapp/releases{/id}","created_at":"2009-01-08T18:29:16Z","updated_at":"2014-01-07T21:31:46Z","pushed_at":"2010-02-20T03:24:37Z","git_url":"git://github.com/jchris/couchapp.git","ssh_url":"git@github.com:jchris/couchapp.git","clone_url":"https://github.com/jchris/couchapp.git","svn_url":"https://github.com/jchris/couchapp","homepage":"http://wiki.github.com/couchapp/couchapp","size":2701,"stargazers_count":172,"watchers_count":172,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":77,"mirror_url":null,"open_issues_count":11,"forks":77,"open_issues":11,"watchers":172,"default_branch":"master","master_branch":"master","score":16.602884},{"id":6732980,"name":"grip","full_name":"joeyespo/grip","owner":{"login":"joeyespo","id":634573,"avatar_url":"https://avatars.githubusercontent.com/u/634573","gravatar_id":"c204dd0389ebe976abc4810b38d602b3","url":"https://api.github.com/users/joeyespo","html_url":"https://github.com/joeyespo","followers_url":"https://api.github.com/users/joeyespo/followers","following_url":"https://api.github.com/users/joeyespo/following{/other_user}","gists_url":"https://api.github.com/users/joeyespo/gists{/gist_id}","starred_url":"https://api.github.com/users/joeyespo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joeyespo/subscriptions","organizations_url":"https://api.github.com/users/joeyespo/orgs","repos_url":"https://api.github.com/users/joeyespo/repos","events_url":"https://api.github.com/users/joeyespo/events{/privacy}","received_events_url":"https://api.github.com/users/joeyespo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joeyespo/grip","description":"Preview GitHub Markdown files like Readme locally before committing them.","fork":false,"url":"https://api.github.com/repos/joeyespo/grip","forks_url":"https://api.github.com/repos/joeyespo/grip/forks","keys_url":"https://api.github.com/repos/joeyespo/grip/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joeyespo/grip/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joeyespo/grip/teams","hooks_url":"https://api.github.com/repos/joeyespo/grip/hooks","issue_events_url":"https://api.github.com/repos/joeyespo/grip/issues/events{/number}","events_url":"https://api.github.com/repos/joeyespo/grip/events","assignees_url":"https://api.github.com/repos/joeyespo/grip/assignees{/user}","branches_url":"https://api.github.com/repos/joeyespo/grip/branches{/branch}","tags_url":"https://api.github.com/repos/joeyespo/grip/tags","blobs_url":"https://api.github.com/repos/joeyespo/grip/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joeyespo/grip/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joeyespo/grip/git/refs{/sha}","trees_url":"https://api.github.com/repos/joeyespo/grip/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joeyespo/grip/statuses/{sha}","languages_url":"https://api.github.com/repos/joeyespo/grip/languages","stargazers_url":"https://api.github.com/repos/joeyespo/grip/stargazers","contributors_url":"https://api.github.com/repos/joeyespo/grip/contributors","subscribers_url":"https://api.github.com/repos/joeyespo/grip/subscribers","subscription_url":"https://api.github.com/repos/joeyespo/grip/subscription","commits_url":"https://api.github.com/repos/joeyespo/grip/commits{/sha}","git_commits_url":"https://api.github.com/repos/joeyespo/grip/git/commits{/sha}","comments_url":"https://api.github.com/repos/joeyespo/grip/comments{/number}","issue_comment_url":"https://api.github.com/repos/joeyespo/grip/issues/comments/{number}","contents_url":"https://api.github.com/repos/joeyespo/grip/contents/{+path}","compare_url":"https://api.github.com/repos/joeyespo/grip/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joeyespo/grip/merges","archive_url":"https://api.github.com/repos/joeyespo/grip/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joeyespo/grip/downloads","issues_url":"https://api.github.com/repos/joeyespo/grip/issues{/number}","pulls_url":"https://api.github.com/repos/joeyespo/grip/pulls{/number}","milestones_url":"https://api.github.com/repos/joeyespo/grip/milestones{/number}","notifications_url":"https://api.github.com/repos/joeyespo/grip/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joeyespo/grip/labels{/name}","releases_url":"https://api.github.com/repos/joeyespo/grip/releases{/id}","created_at":"2012-11-17T07:27:16Z","updated_at":"2014-01-14T14:15:59Z","pushed_at":"2013-10-02T22:20:52Z","git_url":"git://github.com/joeyespo/grip.git","ssh_url":"git@github.com:joeyespo/grip.git","clone_url":"https://github.com/joeyespo/grip.git","svn_url":"https://github.com/joeyespo/grip","homepage":"","size":298,"stargazers_count":208,"watchers_count":208,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":34,"mirror_url":null,"open_issues_count":16,"forks":34,"open_issues":16,"watchers":208,"default_branch":"master","master_branch":"master","score":10.292309},{"id":1990631,"name":"py2neo","full_name":"nigelsmall/py2neo","owner":{"login":"nigelsmall","id":275311,"avatar_url":"https://avatars.githubusercontent.com/u/275311","gravatar_id":"a77749a7215e8b8f8ddaee3c8a5e44bd","url":"https://api.github.com/users/nigelsmall","html_url":"https://github.com/nigelsmall","followers_url":"https://api.github.com/users/nigelsmall/followers","following_url":"https://api.github.com/users/nigelsmall/following{/other_user}","gists_url":"https://api.github.com/users/nigelsmall/gists{/gist_id}","starred_url":"https://api.github.com/users/nigelsmall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigelsmall/subscriptions","organizations_url":"https://api.github.com/users/nigelsmall/orgs","repos_url":"https://api.github.com/users/nigelsmall/repos","events_url":"https://api.github.com/users/nigelsmall/events{/privacy}","received_events_url":"https://api.github.com/users/nigelsmall/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nigelsmall/py2neo","description":"Py2neo is a simple and pragmatic Python library that provides access to the popular graph database Neo4j via its RESTful web service interface. With no external dependencies, installation is straightforward and getting started with coding is easy. The library is actively maintained on GitHub, regularly updated in the Python Package Index and is built uniquely for Neo4j in close association with its team and community.","fork":false,"url":"https://api.github.com/repos/nigelsmall/py2neo","forks_url":"https://api.github.com/repos/nigelsmall/py2neo/forks","keys_url":"https://api.github.com/repos/nigelsmall/py2neo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nigelsmall/py2neo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nigelsmall/py2neo/teams","hooks_url":"https://api.github.com/repos/nigelsmall/py2neo/hooks","issue_events_url":"https://api.github.com/repos/nigelsmall/py2neo/issues/events{/number}","events_url":"https://api.github.com/repos/nigelsmall/py2neo/events","assignees_url":"https://api.github.com/repos/nigelsmall/py2neo/assignees{/user}","branches_url":"https://api.github.com/repos/nigelsmall/py2neo/branches{/branch}","tags_url":"https://api.github.com/repos/nigelsmall/py2neo/tags","blobs_url":"https://api.github.com/repos/nigelsmall/py2neo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nigelsmall/py2neo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nigelsmall/py2neo/git/refs{/sha}","trees_url":"https://api.github.com/repos/nigelsmall/py2neo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nigelsmall/py2neo/statuses/{sha}","languages_url":"https://api.github.com/repos/nigelsmall/py2neo/languages","stargazers_url":"https://api.github.com/repos/nigelsmall/py2neo/stargazers","contributors_url":"https://api.github.com/repos/nigelsmall/py2neo/contributors","subscribers_url":"https://api.github.com/repos/nigelsmall/py2neo/subscribers","subscription_url":"https://api.github.com/repos/nigelsmall/py2neo/subscription","commits_url":"https://api.github.com/repos/nigelsmall/py2neo/commits{/sha}","git_commits_url":"https://api.github.com/repos/nigelsmall/py2neo/git/commits{/sha}","comments_url":"https://api.github.com/repos/nigelsmall/py2neo/comments{/number}","issue_comment_url":"https://api.github.com/repos/nigelsmall/py2neo/issues/comments/{number}","contents_url":"https://api.github.com/repos/nigelsmall/py2neo/contents/{+path}","compare_url":"https://api.github.com/repos/nigelsmall/py2neo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nigelsmall/py2neo/merges","archive_url":"https://api.github.com/repos/nigelsmall/py2neo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nigelsmall/py2neo/downloads","issues_url":"https://api.github.com/repos/nigelsmall/py2neo/issues{/number}","pulls_url":"https://api.github.com/repos/nigelsmall/py2neo/pulls{/number}","milestones_url":"https://api.github.com/repos/nigelsmall/py2neo/milestones{/number}","notifications_url":"https://api.github.com/repos/nigelsmall/py2neo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nigelsmall/py2neo/labels{/name}","releases_url":"https://api.github.com/repos/nigelsmall/py2neo/releases{/id}","created_at":"2011-07-03T10:01:07Z","updated_at":"2014-02-26T16:10:48Z","pushed_at":"2014-02-26T16:10:48Z","git_url":"git://github.com/nigelsmall/py2neo.git","ssh_url":"git@github.com:nigelsmall/py2neo.git","clone_url":"https://github.com/nigelsmall/py2neo.git","svn_url":"https://github.com/nigelsmall/py2neo","homepage":"http://py2neo.org/","size":5320,"stargazers_count":166,"watchers_count":166,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":40,"mirror_url":null,"open_issues_count":20,"forks":40,"open_issues":20,"watchers":166,"default_branch":"master","master_branch":"master","score":5.6046176},{"id":152652,"name":"chishop","full_name":"ask/chishop","owner":{"login":"ask","id":1558,"avatar_url":"https://avatars.githubusercontent.com/u/1558","gravatar_id":"7e8b501f7f579c66ddac7e65cb7962b4","url":"https://api.github.com/users/ask","html_url":"https://github.com/ask","followers_url":"https://api.github.com/users/ask/followers","following_url":"https://api.github.com/users/ask/following{/other_user}","gists_url":"https://api.github.com/users/ask/gists{/gist_id}","starred_url":"https://api.github.com/users/ask/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ask/subscriptions","organizations_url":"https://api.github.com/users/ask/orgs","repos_url":"https://api.github.com/users/ask/repos","events_url":"https://api.github.com/users/ask/events{/privacy}","received_events_url":"https://api.github.com/users/ask/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ask/chishop","description":"Please use https://github.com/benliles/chishop","fork":false,"url":"https://api.github.com/repos/ask/chishop","forks_url":"https://api.github.com/repos/ask/chishop/forks","keys_url":"https://api.github.com/repos/ask/chishop/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ask/chishop/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ask/chishop/teams","hooks_url":"https://api.github.com/repos/ask/chishop/hooks","issue_events_url":"https://api.github.com/repos/ask/chishop/issues/events{/number}","events_url":"https://api.github.com/repos/ask/chishop/events","assignees_url":"https://api.github.com/repos/ask/chishop/assignees{/user}","branches_url":"https://api.github.com/repos/ask/chishop/branches{/branch}","tags_url":"https://api.github.com/repos/ask/chishop/tags","blobs_url":"https://api.github.com/repos/ask/chishop/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ask/chishop/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ask/chishop/git/refs{/sha}","trees_url":"https://api.github.com/repos/ask/chishop/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ask/chishop/statuses/{sha}","languages_url":"https://api.github.com/repos/ask/chishop/languages","stargazers_url":"https://api.github.com/repos/ask/chishop/stargazers","contributors_url":"https://api.github.com/repos/ask/chishop/contributors","subscribers_url":"https://api.github.com/repos/ask/chishop/subscribers","subscription_url":"https://api.github.com/repos/ask/chishop/subscription","commits_url":"https://api.github.com/repos/ask/chishop/commits{/sha}","git_commits_url":"https://api.github.com/repos/ask/chishop/git/commits{/sha}","comments_url":"https://api.github.com/repos/ask/chishop/comments{/number}","issue_comment_url":"https://api.github.com/repos/ask/chishop/issues/comments/{number}","contents_url":"https://api.github.com/repos/ask/chishop/contents/{+path}","compare_url":"https://api.github.com/repos/ask/chishop/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ask/chishop/merges","archive_url":"https://api.github.com/repos/ask/chishop/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ask/chishop/downloads","issues_url":"https://api.github.com/repos/ask/chishop/issues{/number}","pulls_url":"https://api.github.com/repos/ask/chishop/pulls{/number}","milestones_url":"https://api.github.com/repos/ask/chishop/milestones{/number}","notifications_url":"https://api.github.com/repos/ask/chishop/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ask/chishop/labels{/name}","releases_url":"https://api.github.com/repos/ask/chishop/releases{/id}","created_at":"2009-03-17T09:32:17Z","updated_at":"2013-12-17T20:43:03Z","pushed_at":"2011-08-23T16:30:45Z","git_url":"git://github.com/ask/chishop.git","ssh_url":"git@github.com:ask/chishop.git","clone_url":"https://github.com/ask/chishop.git","svn_url":"https://github.com/ask/chishop","homepage":"https://github.com/benliles/djangopypi","size":253,"stargazers_count":163,"watchers_count":163,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":118,"mirror_url":null,"open_issues_count":11,"forks":118,"open_issues":11,"watchers":163,"default_branch":"master","master_branch":"master","score":21.653688},{"id":3710711,"name":"github3.py","full_name":"sigmavirus24/github3.py","owner":{"login":"sigmavirus24","id":240830,"avatar_url":"https://avatars.githubusercontent.com/u/240830","gravatar_id":"c148356d89f925e692178bee1d93acf7","url":"https://api.github.com/users/sigmavirus24","html_url":"https://github.com/sigmavirus24","followers_url":"https://api.github.com/users/sigmavirus24/followers","following_url":"https://api.github.com/users/sigmavirus24/following{/other_user}","gists_url":"https://api.github.com/users/sigmavirus24/gists{/gist_id}","starred_url":"https://api.github.com/users/sigmavirus24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sigmavirus24/subscriptions","organizations_url":"https://api.github.com/users/sigmavirus24/orgs","repos_url":"https://api.github.com/users/sigmavirus24/repos","events_url":"https://api.github.com/users/sigmavirus24/events{/privacy}","received_events_url":"https://api.github.com/users/sigmavirus24/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sigmavirus24/github3.py","description":"Python library for interfacing with the GitHub APIv3","fork":false,"url":"https://api.github.com/repos/sigmavirus24/github3.py","forks_url":"https://api.github.com/repos/sigmavirus24/github3.py/forks","keys_url":"https://api.github.com/repos/sigmavirus24/github3.py/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sigmavirus24/github3.py/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sigmavirus24/github3.py/teams","hooks_url":"https://api.github.com/repos/sigmavirus24/github3.py/hooks","issue_events_url":"https://api.github.com/repos/sigmavirus24/github3.py/issues/events{/number}","events_url":"https://api.github.com/repos/sigmavirus24/github3.py/events","assignees_url":"https://api.github.com/repos/sigmavirus24/github3.py/assignees{/user}","branches_url":"https://api.github.com/repos/sigmavirus24/github3.py/branches{/branch}","tags_url":"https://api.github.com/repos/sigmavirus24/github3.py/tags","blobs_url":"https://api.github.com/repos/sigmavirus24/github3.py/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sigmavirus24/github3.py/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sigmavirus24/github3.py/git/refs{/sha}","trees_url":"https://api.github.com/repos/sigmavirus24/github3.py/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sigmavirus24/github3.py/statuses/{sha}","languages_url":"https://api.github.com/repos/sigmavirus24/github3.py/languages","stargazers_url":"https://api.github.com/repos/sigmavirus24/github3.py/stargazers","contributors_url":"https://api.github.com/repos/sigmavirus24/github3.py/contributors","subscribers_url":"https://api.github.com/repos/sigmavirus24/github3.py/subscribers","subscription_url":"https://api.github.com/repos/sigmavirus24/github3.py/subscription","commits_url":"https://api.github.com/repos/sigmavirus24/github3.py/commits{/sha}","git_commits_url":"https://api.github.com/repos/sigmavirus24/github3.py/git/commits{/sha}","comments_url":"https://api.github.com/repos/sigmavirus24/github3.py/comments{/number}","issue_comment_url":"https://api.github.com/repos/sigmavirus24/github3.py/issues/comments/{number}","contents_url":"https://api.github.com/repos/sigmavirus24/github3.py/contents/{+path}","compare_url":"https://api.github.com/repos/sigmavirus24/github3.py/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sigmavirus24/github3.py/merges","archive_url":"https://api.github.com/repos/sigmavirus24/github3.py/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sigmavirus24/github3.py/downloads","issues_url":"https://api.github.com/repos/sigmavirus24/github3.py/issues{/number}","pulls_url":"https://api.github.com/repos/sigmavirus24/github3.py/pulls{/number}","milestones_url":"https://api.github.com/repos/sigmavirus24/github3.py/milestones{/number}","notifications_url":"https://api.github.com/repos/sigmavirus24/github3.py/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sigmavirus24/github3.py/labels{/name}","releases_url":"https://api.github.com/repos/sigmavirus24/github3.py/releases{/id}","created_at":"2012-03-13T19:58:53Z","updated_at":"2014-03-02T15:41:17Z","pushed_at":"2014-03-02T15:41:17Z","git_url":"git://github.com/sigmavirus24/github3.py.git","ssh_url":"git@github.com:sigmavirus24/github3.py.git","clone_url":"https://github.com/sigmavirus24/github3.py.git","svn_url":"https://github.com/sigmavirus24/github3.py","homepage":"http://github3py.readthedocs.org/","size":6049,"stargazers_count":161,"watchers_count":161,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":50,"mirror_url":null,"open_issues_count":11,"forks":50,"open_issues":11,"watchers":161,"default_branch":"develop","master_branch":"develop","score":25.21229},{"id":179897,"name":"github-cli","full_name":"jsmits/github-cli","owner":{"login":"jsmits","id":25479,"avatar_url":"https://avatars.githubusercontent.com/u/25479","gravatar_id":"4dd4c3d3d3f8fcc95d1a234ddc3eb4e4","url":"https://api.github.com/users/jsmits","html_url":"https://github.com/jsmits","followers_url":"https://api.github.com/users/jsmits/followers","following_url":"https://api.github.com/users/jsmits/following{/other_user}","gists_url":"https://api.github.com/users/jsmits/gists{/gist_id}","starred_url":"https://api.github.com/users/jsmits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsmits/subscriptions","organizations_url":"https://api.github.com/users/jsmits/orgs","repos_url":"https://api.github.com/users/jsmits/repos","events_url":"https://api.github.com/users/jsmits/events{/privacy}","received_events_url":"https://api.github.com/users/jsmits/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jsmits/github-cli","description":"A command-line interface to the GitHub Issues API v2.","fork":false,"url":"https://api.github.com/repos/jsmits/github-cli","forks_url":"https://api.github.com/repos/jsmits/github-cli/forks","keys_url":"https://api.github.com/repos/jsmits/github-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jsmits/github-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jsmits/github-cli/teams","hooks_url":"https://api.github.com/repos/jsmits/github-cli/hooks","issue_events_url":"https://api.github.com/repos/jsmits/github-cli/issues/events{/number}","events_url":"https://api.github.com/repos/jsmits/github-cli/events","assignees_url":"https://api.github.com/repos/jsmits/github-cli/assignees{/user}","branches_url":"https://api.github.com/repos/jsmits/github-cli/branches{/branch}","tags_url":"https://api.github.com/repos/jsmits/github-cli/tags","blobs_url":"https://api.github.com/repos/jsmits/github-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jsmits/github-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jsmits/github-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/jsmits/github-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jsmits/github-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/jsmits/github-cli/languages","stargazers_url":"https://api.github.com/repos/jsmits/github-cli/stargazers","contributors_url":"https://api.github.com/repos/jsmits/github-cli/contributors","subscribers_url":"https://api.github.com/repos/jsmits/github-cli/subscribers","subscription_url":"https://api.github.com/repos/jsmits/github-cli/subscription","commits_url":"https://api.github.com/repos/jsmits/github-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/jsmits/github-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/jsmits/github-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/jsmits/github-cli/issues/comments/{number}","contents_url":"https://api.github.com/repos/jsmits/github-cli/contents/{+path}","compare_url":"https://api.github.com/repos/jsmits/github-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jsmits/github-cli/merges","archive_url":"https://api.github.com/repos/jsmits/github-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jsmits/github-cli/downloads","issues_url":"https://api.github.com/repos/jsmits/github-cli/issues{/number}","pulls_url":"https://api.github.com/repos/jsmits/github-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/jsmits/github-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/jsmits/github-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jsmits/github-cli/labels{/name}","releases_url":"https://api.github.com/repos/jsmits/github-cli/releases{/id}","created_at":"2009-04-19T09:05:27Z","updated_at":"2014-01-09T08:33:49Z","pushed_at":"2012-08-15T08:44:58Z","git_url":"git://github.com/jsmits/github-cli.git","ssh_url":"git@github.com:jsmits/github-cli.git","clone_url":"https://github.com/jsmits/github-cli.git","svn_url":"https://github.com/jsmits/github-cli","homepage":"http://github-cli.readthedocs.org/","size":203,"stargazers_count":158,"watchers_count":158,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":25,"mirror_url":null,"open_issues_count":1,"forks":25,"open_issues":1,"watchers":158,"default_branch":"master","master_branch":"master","score":25.8486},{"id":3509387,"name":"django-layout","full_name":"lincolnloop/django-layout","owner":{"login":"lincolnloop","id":1964,"avatar_url":"https://avatars.githubusercontent.com/u/1964","gravatar_id":"34ae1f85673184b05e55f2d4f7e78e48","url":"https://api.github.com/users/lincolnloop","html_url":"https://github.com/lincolnloop","followers_url":"https://api.github.com/users/lincolnloop/followers","following_url":"https://api.github.com/users/lincolnloop/following{/other_user}","gists_url":"https://api.github.com/users/lincolnloop/gists{/gist_id}","starred_url":"https://api.github.com/users/lincolnloop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lincolnloop/subscriptions","organizations_url":"https://api.github.com/users/lincolnloop/orgs","repos_url":"https://api.github.com/users/lincolnloop/repos","events_url":"https://api.github.com/users/lincolnloop/events{/privacy}","received_events_url":"https://api.github.com/users/lincolnloop/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lincolnloop/django-layout","description":"Django 1.4+ project template layout. Run: django-admin.py startproject --template=https://github.com/lincolnloop/django-layout/zipball/master --extension=py,rst project_name","fork":false,"url":"https://api.github.com/repos/lincolnloop/django-layout","forks_url":"https://api.github.com/repos/lincolnloop/django-layout/forks","keys_url":"https://api.github.com/repos/lincolnloop/django-layout/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lincolnloop/django-layout/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lincolnloop/django-layout/teams","hooks_url":"https://api.github.com/repos/lincolnloop/django-layout/hooks","issue_events_url":"https://api.github.com/repos/lincolnloop/django-layout/issues/events{/number}","events_url":"https://api.github.com/repos/lincolnloop/django-layout/events","assignees_url":"https://api.github.com/repos/lincolnloop/django-layout/assignees{/user}","branches_url":"https://api.github.com/repos/lincolnloop/django-layout/branches{/branch}","tags_url":"https://api.github.com/repos/lincolnloop/django-layout/tags","blobs_url":"https://api.github.com/repos/lincolnloop/django-layout/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lincolnloop/django-layout/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lincolnloop/django-layout/git/refs{/sha}","trees_url":"https://api.github.com/repos/lincolnloop/django-layout/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lincolnloop/django-layout/statuses/{sha}","languages_url":"https://api.github.com/repos/lincolnloop/django-layout/languages","stargazers_url":"https://api.github.com/repos/lincolnloop/django-layout/stargazers","contributors_url":"https://api.github.com/repos/lincolnloop/django-layout/contributors","subscribers_url":"https://api.github.com/repos/lincolnloop/django-layout/subscribers","subscription_url":"https://api.github.com/repos/lincolnloop/django-layout/subscription","commits_url":"https://api.github.com/repos/lincolnloop/django-layout/commits{/sha}","git_commits_url":"https://api.github.com/repos/lincolnloop/django-layout/git/commits{/sha}","comments_url":"https://api.github.com/repos/lincolnloop/django-layout/comments{/number}","issue_comment_url":"https://api.github.com/repos/lincolnloop/django-layout/issues/comments/{number}","contents_url":"https://api.github.com/repos/lincolnloop/django-layout/contents/{+path}","compare_url":"https://api.github.com/repos/lincolnloop/django-layout/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lincolnloop/django-layout/merges","archive_url":"https://api.github.com/repos/lincolnloop/django-layout/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lincolnloop/django-layout/downloads","issues_url":"https://api.github.com/repos/lincolnloop/django-layout/issues{/number}","pulls_url":"https://api.github.com/repos/lincolnloop/django-layout/pulls{/number}","milestones_url":"https://api.github.com/repos/lincolnloop/django-layout/milestones{/number}","notifications_url":"https://api.github.com/repos/lincolnloop/django-layout/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lincolnloop/django-layout/labels{/name}","releases_url":"https://api.github.com/repos/lincolnloop/django-layout/releases{/id}","created_at":"2012-02-21T23:22:29Z","updated_at":"2014-01-17T06:12:58Z","pushed_at":"2013-05-02T00:21:20Z","git_url":"git://github.com/lincolnloop/django-layout.git","ssh_url":"git@github.com:lincolnloop/django-layout.git","clone_url":"https://github.com/lincolnloop/django-layout.git","svn_url":"https://github.com/lincolnloop/django-layout","homepage":"","size":136,"stargazers_count":166,"watchers_count":166,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":61,"mirror_url":null,"open_issues_count":2,"forks":61,"open_issues":2,"watchers":166,"default_branch":"master","master_branch":"master","score":9.373164},{"id":3042487,"name":"django-project-skel","full_name":"amccloud/django-project-skel","owner":{"login":"amccloud","id":38463,"avatar_url":"https://avatars.githubusercontent.com/u/38463","gravatar_id":"373d40a9bd5e73f80afe6dc196c2f37f","url":"https://api.github.com/users/amccloud","html_url":"https://github.com/amccloud","followers_url":"https://api.github.com/users/amccloud/followers","following_url":"https://api.github.com/users/amccloud/following{/other_user}","gists_url":"https://api.github.com/users/amccloud/gists{/gist_id}","starred_url":"https://api.github.com/users/amccloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amccloud/subscriptions","organizations_url":"https://api.github.com/users/amccloud/orgs","repos_url":"https://api.github.com/users/amccloud/repos","events_url":"https://api.github.com/users/amccloud/events{/privacy}","received_events_url":"https://api.github.com/users/amccloud/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/amccloud/django-project-skel","description":"To use run: django-admin.py startproject --template https://github.com/amccloud/django-project-skel/zipball/master --extension py,md,gitignore yourprojectname","fork":false,"url":"https://api.github.com/repos/amccloud/django-project-skel","forks_url":"https://api.github.com/repos/amccloud/django-project-skel/forks","keys_url":"https://api.github.com/repos/amccloud/django-project-skel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/amccloud/django-project-skel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/amccloud/django-project-skel/teams","hooks_url":"https://api.github.com/repos/amccloud/django-project-skel/hooks","issue_events_url":"https://api.github.com/repos/amccloud/django-project-skel/issues/events{/number}","events_url":"https://api.github.com/repos/amccloud/django-project-skel/events","assignees_url":"https://api.github.com/repos/amccloud/django-project-skel/assignees{/user}","branches_url":"https://api.github.com/repos/amccloud/django-project-skel/branches{/branch}","tags_url":"https://api.github.com/repos/amccloud/django-project-skel/tags","blobs_url":"https://api.github.com/repos/amccloud/django-project-skel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/amccloud/django-project-skel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/amccloud/django-project-skel/git/refs{/sha}","trees_url":"https://api.github.com/repos/amccloud/django-project-skel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/amccloud/django-project-skel/statuses/{sha}","languages_url":"https://api.github.com/repos/amccloud/django-project-skel/languages","stargazers_url":"https://api.github.com/repos/amccloud/django-project-skel/stargazers","contributors_url":"https://api.github.com/repos/amccloud/django-project-skel/contributors","subscribers_url":"https://api.github.com/repos/amccloud/django-project-skel/subscribers","subscription_url":"https://api.github.com/repos/amccloud/django-project-skel/subscription","commits_url":"https://api.github.com/repos/amccloud/django-project-skel/commits{/sha}","git_commits_url":"https://api.github.com/repos/amccloud/django-project-skel/git/commits{/sha}","comments_url":"https://api.github.com/repos/amccloud/django-project-skel/comments{/number}","issue_comment_url":"https://api.github.com/repos/amccloud/django-project-skel/issues/comments/{number}","contents_url":"https://api.github.com/repos/amccloud/django-project-skel/contents/{+path}","compare_url":"https://api.github.com/repos/amccloud/django-project-skel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/amccloud/django-project-skel/merges","archive_url":"https://api.github.com/repos/amccloud/django-project-skel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/amccloud/django-project-skel/downloads","issues_url":"https://api.github.com/repos/amccloud/django-project-skel/issues{/number}","pulls_url":"https://api.github.com/repos/amccloud/django-project-skel/pulls{/number}","milestones_url":"https://api.github.com/repos/amccloud/django-project-skel/milestones{/number}","notifications_url":"https://api.github.com/repos/amccloud/django-project-skel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/amccloud/django-project-skel/labels{/name}","releases_url":"https://api.github.com/repos/amccloud/django-project-skel/releases{/id}","created_at":"2011-12-23T21:49:36Z","updated_at":"2014-01-16T16:04:18Z","pushed_at":"2013-02-11T02:25:38Z","git_url":"git://github.com/amccloud/django-project-skel.git","ssh_url":"git@github.com:amccloud/django-project-skel.git","clone_url":"https://github.com/amccloud/django-project-skel.git","svn_url":"https://github.com/amccloud/django-project-skel","homepage":"http://amccloud.com/post/14689947527/django-1-4-custom-project-template","size":156,"stargazers_count":156,"watchers_count":156,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":55,"mirror_url":null,"open_issues_count":2,"forks":55,"open_issues":2,"watchers":156,"default_branch":"master","master_branch":"master","score":9.11511},{"id":1143003,"name":"brewery","full_name":"Stiivi/brewery","owner":{"login":"Stiivi","id":71105,"avatar_url":"https://avatars.githubusercontent.com/u/71105","gravatar_id":"aa6ef34dd33b2b0f906c91c55ebbbbbd","url":"https://api.github.com/users/Stiivi","html_url":"https://github.com/Stiivi","followers_url":"https://api.github.com/users/Stiivi/followers","following_url":"https://api.github.com/users/Stiivi/following{/other_user}","gists_url":"https://api.github.com/users/Stiivi/gists{/gist_id}","starred_url":"https://api.github.com/users/Stiivi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stiivi/subscriptions","organizations_url":"https://api.github.com/users/Stiivi/orgs","repos_url":"https://api.github.com/users/Stiivi/repos","events_url":"https://api.github.com/users/Stiivi/events{/privacy}","received_events_url":"https://api.github.com/users/Stiivi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Stiivi/brewery","description":"IMPORTANT: Data Brewery is now Bubbles: https://github.com/stiivi/bubbles This brewery repository is NOT MAINTAINED any more.","fork":false,"url":"https://api.github.com/repos/Stiivi/brewery","forks_url":"https://api.github.com/repos/Stiivi/brewery/forks","keys_url":"https://api.github.com/repos/Stiivi/brewery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Stiivi/brewery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Stiivi/brewery/teams","hooks_url":"https://api.github.com/repos/Stiivi/brewery/hooks","issue_events_url":"https://api.github.com/repos/Stiivi/brewery/issues/events{/number}","events_url":"https://api.github.com/repos/Stiivi/brewery/events","assignees_url":"https://api.github.com/repos/Stiivi/brewery/assignees{/user}","branches_url":"https://api.github.com/repos/Stiivi/brewery/branches{/branch}","tags_url":"https://api.github.com/repos/Stiivi/brewery/tags","blobs_url":"https://api.github.com/repos/Stiivi/brewery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Stiivi/brewery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Stiivi/brewery/git/refs{/sha}","trees_url":"https://api.github.com/repos/Stiivi/brewery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Stiivi/brewery/statuses/{sha}","languages_url":"https://api.github.com/repos/Stiivi/brewery/languages","stargazers_url":"https://api.github.com/repos/Stiivi/brewery/stargazers","contributors_url":"https://api.github.com/repos/Stiivi/brewery/contributors","subscribers_url":"https://api.github.com/repos/Stiivi/brewery/subscribers","subscription_url":"https://api.github.com/repos/Stiivi/brewery/subscription","commits_url":"https://api.github.com/repos/Stiivi/brewery/commits{/sha}","git_commits_url":"https://api.github.com/repos/Stiivi/brewery/git/commits{/sha}","comments_url":"https://api.github.com/repos/Stiivi/brewery/comments{/number}","issue_comment_url":"https://api.github.com/repos/Stiivi/brewery/issues/comments/{number}","contents_url":"https://api.github.com/repos/Stiivi/brewery/contents/{+path}","compare_url":"https://api.github.com/repos/Stiivi/brewery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Stiivi/brewery/merges","archive_url":"https://api.github.com/repos/Stiivi/brewery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Stiivi/brewery/downloads","issues_url":"https://api.github.com/repos/Stiivi/brewery/issues{/number}","pulls_url":"https://api.github.com/repos/Stiivi/brewery/pulls{/number}","milestones_url":"https://api.github.com/repos/Stiivi/brewery/milestones{/number}","notifications_url":"https://api.github.com/repos/Stiivi/brewery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Stiivi/brewery/labels{/name}","releases_url":"https://api.github.com/repos/Stiivi/brewery/releases{/id}","created_at":"2010-12-06T12:26:13Z","updated_at":"2013-12-31T11:16:21Z","pushed_at":"2013-07-17T05:53:11Z","git_url":"git://github.com/Stiivi/brewery.git","ssh_url":"git@github.com:Stiivi/brewery.git","clone_url":"https://github.com/Stiivi/brewery.git","svn_url":"https://github.com/Stiivi/brewery","homepage":"http://bubbles.databrewery.org","size":1902,"stargazers_count":151,"watchers_count":151,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":15,"mirror_url":null,"open_issues_count":19,"forks":15,"open_issues":19,"watchers":151,"default_branch":"master","master_branch":"master","score":8.349199},{"id":1221607,"name":"webpy.github.com","full_name":"webpy/webpy.github.com","owner":{"login":"webpy","id":26682,"avatar_url":"https://avatars.githubusercontent.com/u/26682","gravatar_id":"b23dc63d5aa17426fe0e14041d065cdf","url":"https://api.github.com/users/webpy","html_url":"https://github.com/webpy","followers_url":"https://api.github.com/users/webpy/followers","following_url":"https://api.github.com/users/webpy/following{/other_user}","gists_url":"https://api.github.com/users/webpy/gists{/gist_id}","starred_url":"https://api.github.com/users/webpy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/webpy/subscriptions","organizations_url":"https://api.github.com/users/webpy/orgs","repos_url":"https://api.github.com/users/webpy/repos","events_url":"https://api.github.com/users/webpy/events{/privacy}","received_events_url":"https://api.github.com/users/webpy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/webpy/webpy.github.com","description":"Github pages for webpy.org","fork":false,"url":"https://api.github.com/repos/webpy/webpy.github.com","forks_url":"https://api.github.com/repos/webpy/webpy.github.com/forks","keys_url":"https://api.github.com/repos/webpy/webpy.github.com/keys{/key_id}","collaborators_url":"https://api.github.com/repos/webpy/webpy.github.com/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/webpy/webpy.github.com/teams","hooks_url":"https://api.github.com/repos/webpy/webpy.github.com/hooks","issue_events_url":"https://api.github.com/repos/webpy/webpy.github.com/issues/events{/number}","events_url":"https://api.github.com/repos/webpy/webpy.github.com/events","assignees_url":"https://api.github.com/repos/webpy/webpy.github.com/assignees{/user}","branches_url":"https://api.github.com/repos/webpy/webpy.github.com/branches{/branch}","tags_url":"https://api.github.com/repos/webpy/webpy.github.com/tags","blobs_url":"https://api.github.com/repos/webpy/webpy.github.com/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/webpy/webpy.github.com/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/webpy/webpy.github.com/git/refs{/sha}","trees_url":"https://api.github.com/repos/webpy/webpy.github.com/git/trees{/sha}","statuses_url":"https://api.github.com/repos/webpy/webpy.github.com/statuses/{sha}","languages_url":"https://api.github.com/repos/webpy/webpy.github.com/languages","stargazers_url":"https://api.github.com/repos/webpy/webpy.github.com/stargazers","contributors_url":"https://api.github.com/repos/webpy/webpy.github.com/contributors","subscribers_url":"https://api.github.com/repos/webpy/webpy.github.com/subscribers","subscription_url":"https://api.github.com/repos/webpy/webpy.github.com/subscription","commits_url":"https://api.github.com/repos/webpy/webpy.github.com/commits{/sha}","git_commits_url":"https://api.github.com/repos/webpy/webpy.github.com/git/commits{/sha}","comments_url":"https://api.github.com/repos/webpy/webpy.github.com/comments{/number}","issue_comment_url":"https://api.github.com/repos/webpy/webpy.github.com/issues/comments/{number}","contents_url":"https://api.github.com/repos/webpy/webpy.github.com/contents/{+path}","compare_url":"https://api.github.com/repos/webpy/webpy.github.com/compare/{base}...{head}","merges_url":"https://api.github.com/repos/webpy/webpy.github.com/merges","archive_url":"https://api.github.com/repos/webpy/webpy.github.com/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/webpy/webpy.github.com/downloads","issues_url":"https://api.github.com/repos/webpy/webpy.github.com/issues{/number}","pulls_url":"https://api.github.com/repos/webpy/webpy.github.com/pulls{/number}","milestones_url":"https://api.github.com/repos/webpy/webpy.github.com/milestones{/number}","notifications_url":"https://api.github.com/repos/webpy/webpy.github.com/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/webpy/webpy.github.com/labels{/name}","releases_url":"https://api.github.com/repos/webpy/webpy.github.com/releases{/id}","created_at":"2011-01-05T02:19:49Z","updated_at":"2014-01-20T06:42:11Z","pushed_at":"2014-01-20T06:42:11Z","git_url":"git://github.com/webpy/webpy.github.com.git","ssh_url":"git@github.com:webpy/webpy.github.com.git","clone_url":"https://github.com/webpy/webpy.github.com.git","svn_url":"https://github.com/webpy/webpy.github.com","homepage":"http://webpy.org/","size":3497,"stargazers_count":148,"watchers_count":148,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":149,"mirror_url":null,"open_issues_count":34,"forks":149,"open_issues":34,"watchers":148,"default_branch":"master","master_branch":"master","score":31.51608},{"id":8338,"name":"py-github","full_name":"dustin/py-github","owner":{"login":"dustin","id":1779,"avatar_url":"https://avatars.githubusercontent.com/u/1779","gravatar_id":"995543cb35c3b92a2eb43275116815a7","url":"https://api.github.com/users/dustin","html_url":"https://github.com/dustin","followers_url":"https://api.github.com/users/dustin/followers","following_url":"https://api.github.com/users/dustin/following{/other_user}","gists_url":"https://api.github.com/users/dustin/gists{/gist_id}","starred_url":"https://api.github.com/users/dustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dustin/subscriptions","organizations_url":"https://api.github.com/users/dustin/orgs","repos_url":"https://api.github.com/users/dustin/repos","events_url":"https://api.github.com/users/dustin/events{/privacy}","received_events_url":"https://api.github.com/users/dustin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dustin/py-github","description":"Python interface for talking to the github API","fork":false,"url":"https://api.github.com/repos/dustin/py-github","forks_url":"https://api.github.com/repos/dustin/py-github/forks","keys_url":"https://api.github.com/repos/dustin/py-github/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dustin/py-github/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dustin/py-github/teams","hooks_url":"https://api.github.com/repos/dustin/py-github/hooks","issue_events_url":"https://api.github.com/repos/dustin/py-github/issues/events{/number}","events_url":"https://api.github.com/repos/dustin/py-github/events","assignees_url":"https://api.github.com/repos/dustin/py-github/assignees{/user}","branches_url":"https://api.github.com/repos/dustin/py-github/branches{/branch}","tags_url":"https://api.github.com/repos/dustin/py-github/tags","blobs_url":"https://api.github.com/repos/dustin/py-github/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dustin/py-github/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dustin/py-github/git/refs{/sha}","trees_url":"https://api.github.com/repos/dustin/py-github/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dustin/py-github/statuses/{sha}","languages_url":"https://api.github.com/repos/dustin/py-github/languages","stargazers_url":"https://api.github.com/repos/dustin/py-github/stargazers","contributors_url":"https://api.github.com/repos/dustin/py-github/contributors","subscribers_url":"https://api.github.com/repos/dustin/py-github/subscribers","subscription_url":"https://api.github.com/repos/dustin/py-github/subscription","commits_url":"https://api.github.com/repos/dustin/py-github/commits{/sha}","git_commits_url":"https://api.github.com/repos/dustin/py-github/git/commits{/sha}","comments_url":"https://api.github.com/repos/dustin/py-github/comments{/number}","issue_comment_url":"https://api.github.com/repos/dustin/py-github/issues/comments/{number}","contents_url":"https://api.github.com/repos/dustin/py-github/contents/{+path}","compare_url":"https://api.github.com/repos/dustin/py-github/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dustin/py-github/merges","archive_url":"https://api.github.com/repos/dustin/py-github/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dustin/py-github/downloads","issues_url":"https://api.github.com/repos/dustin/py-github/issues{/number}","pulls_url":"https://api.github.com/repos/dustin/py-github/pulls{/number}","milestones_url":"https://api.github.com/repos/dustin/py-github/milestones{/number}","notifications_url":"https://api.github.com/repos/dustin/py-github/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dustin/py-github/labels{/name}","releases_url":"https://api.github.com/repos/dustin/py-github/releases{/id}","created_at":"2008-04-10T18:11:11Z","updated_at":"2013-12-31T02:10:07Z","pushed_at":"2012-03-18T05:01:42Z","git_url":"git://github.com/dustin/py-github.git","ssh_url":"git@github.com:dustin/py-github.git","clone_url":"https://github.com/dustin/py-github.git","svn_url":"https://github.com/dustin/py-github","homepage":"http://dustin.github.com/2008/12/29/github-sync.html","size":363,"stargazers_count":135,"watchers_count":135,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":35,"mirror_url":null,"open_issues_count":14,"forks":35,"open_issues":14,"watchers":135,"default_branch":"master","master_branch":"master","score":27.607294}]} - -https -GET -api.github.com -None -/search/repositories?sort=stars&q=github+language%3APython&order=desc&page=2 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '28'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:5370:6197CAF:531405FE'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '146436'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last", ; rel="first", ; rel="prev"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:33:02 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393821241')] -{"total_count":2723,"items":[{"id":3043012,"name":"Github-Auto-Deploy","full_name":"logsol/Github-Auto-Deploy","owner":{"login":"logsol","id":692826,"avatar_url":"https://avatars.githubusercontent.com/u/692826","gravatar_id":"4e9843f5413444bb9598368645884ae2","url":"https://api.github.com/users/logsol","html_url":"https://github.com/logsol","followers_url":"https://api.github.com/users/logsol/followers","following_url":"https://api.github.com/users/logsol/following{/other_user}","gists_url":"https://api.github.com/users/logsol/gists{/gist_id}","starred_url":"https://api.github.com/users/logsol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/logsol/subscriptions","organizations_url":"https://api.github.com/users/logsol/orgs","repos_url":"https://api.github.com/users/logsol/repos","events_url":"https://api.github.com/users/logsol/events{/privacy}","received_events_url":"https://api.github.com/users/logsol/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/logsol/Github-Auto-Deploy","description":"a server that allows you to automatically deploy the latest version of your github project at each git push","fork":false,"url":"https://api.github.com/repos/logsol/Github-Auto-Deploy","forks_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/forks","keys_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/teams","hooks_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/hooks","issue_events_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/issues/events{/number}","events_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/events","assignees_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/assignees{/user}","branches_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/branches{/branch}","tags_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/tags","blobs_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/git/refs{/sha}","trees_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/statuses/{sha}","languages_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/languages","stargazers_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/stargazers","contributors_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/contributors","subscribers_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/subscribers","subscription_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/subscription","commits_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/commits{/sha}","git_commits_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/git/commits{/sha}","comments_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/comments{/number}","issue_comment_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/issues/comments/{number}","contents_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/contents/{+path}","compare_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/merges","archive_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/downloads","issues_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/issues{/number}","pulls_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/pulls{/number}","milestones_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/milestones{/number}","notifications_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/labels{/name}","releases_url":"https://api.github.com/repos/logsol/Github-Auto-Deploy/releases{/id}","created_at":"2011-12-24T00:24:05Z","updated_at":"2014-01-13T22:50:59Z","pushed_at":"2012-12-25T19:47:57Z","git_url":"git://github.com/logsol/Github-Auto-Deploy.git","ssh_url":"git@github.com:logsol/Github-Auto-Deploy.git","clone_url":"https://github.com/logsol/Github-Auto-Deploy.git","svn_url":"https://github.com/logsol/Github-Auto-Deploy","homepage":"http://logsol.github.com/Github-Auto-Deploy/","size":366,"stargazers_count":159,"watchers_count":159,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":70,"mirror_url":null,"open_issues_count":7,"forks":70,"open_issues":7,"watchers":159,"default_branch":"master","master_branch":"master","score":25.510773},{"id":258426,"name":"libcloud","full_name":"cloudkick/libcloud","owner":{"login":"cloudkick","id":107520,"avatar_url":"https://avatars.githubusercontent.com/u/107520","gravatar_id":"342d355de37f2c73c86bd1bdb8975d59","url":"https://api.github.com/users/cloudkick","html_url":"https://github.com/cloudkick","followers_url":"https://api.github.com/users/cloudkick/followers","following_url":"https://api.github.com/users/cloudkick/following{/other_user}","gists_url":"https://api.github.com/users/cloudkick/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudkick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudkick/subscriptions","organizations_url":"https://api.github.com/users/cloudkick/orgs","repos_url":"https://api.github.com/users/cloudkick/repos","events_url":"https://api.github.com/users/cloudkick/events{/privacy}","received_events_url":"https://api.github.com/users/cloudkick/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cloudkick/libcloud","description":"THIS IS THE WRONG GITHUB PROJECT. SEE https://github.com/apache/libcloud","fork":false,"url":"https://api.github.com/repos/cloudkick/libcloud","forks_url":"https://api.github.com/repos/cloudkick/libcloud/forks","keys_url":"https://api.github.com/repos/cloudkick/libcloud/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cloudkick/libcloud/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cloudkick/libcloud/teams","hooks_url":"https://api.github.com/repos/cloudkick/libcloud/hooks","issue_events_url":"https://api.github.com/repos/cloudkick/libcloud/issues/events{/number}","events_url":"https://api.github.com/repos/cloudkick/libcloud/events","assignees_url":"https://api.github.com/repos/cloudkick/libcloud/assignees{/user}","branches_url":"https://api.github.com/repos/cloudkick/libcloud/branches{/branch}","tags_url":"https://api.github.com/repos/cloudkick/libcloud/tags","blobs_url":"https://api.github.com/repos/cloudkick/libcloud/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cloudkick/libcloud/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cloudkick/libcloud/git/refs{/sha}","trees_url":"https://api.github.com/repos/cloudkick/libcloud/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cloudkick/libcloud/statuses/{sha}","languages_url":"https://api.github.com/repos/cloudkick/libcloud/languages","stargazers_url":"https://api.github.com/repos/cloudkick/libcloud/stargazers","contributors_url":"https://api.github.com/repos/cloudkick/libcloud/contributors","subscribers_url":"https://api.github.com/repos/cloudkick/libcloud/subscribers","subscription_url":"https://api.github.com/repos/cloudkick/libcloud/subscription","commits_url":"https://api.github.com/repos/cloudkick/libcloud/commits{/sha}","git_commits_url":"https://api.github.com/repos/cloudkick/libcloud/git/commits{/sha}","comments_url":"https://api.github.com/repos/cloudkick/libcloud/comments{/number}","issue_comment_url":"https://api.github.com/repos/cloudkick/libcloud/issues/comments/{number}","contents_url":"https://api.github.com/repos/cloudkick/libcloud/contents/{+path}","compare_url":"https://api.github.com/repos/cloudkick/libcloud/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cloudkick/libcloud/merges","archive_url":"https://api.github.com/repos/cloudkick/libcloud/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cloudkick/libcloud/downloads","issues_url":"https://api.github.com/repos/cloudkick/libcloud/issues{/number}","pulls_url":"https://api.github.com/repos/cloudkick/libcloud/pulls{/number}","milestones_url":"https://api.github.com/repos/cloudkick/libcloud/milestones{/number}","notifications_url":"https://api.github.com/repos/cloudkick/libcloud/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cloudkick/libcloud/labels{/name}","releases_url":"https://api.github.com/repos/cloudkick/libcloud/releases{/id}","created_at":"2009-07-23T04:48:39Z","updated_at":"2014-02-02T07:29:44Z","pushed_at":"2011-03-14T02:42:14Z","git_url":"git://github.com/cloudkick/libcloud.git","ssh_url":"git@github.com:cloudkick/libcloud.git","clone_url":"https://github.com/cloudkick/libcloud.git","svn_url":"https://github.com/cloudkick/libcloud","homepage":"https://github.com/apache/libcloud","size":1609,"stargazers_count":126,"watchers_count":126,"language":"Python","has_issues":false,"has_downloads":false,"has_wiki":false,"forks_count":13,"mirror_url":null,"open_issues_count":6,"forks":13,"open_issues":6,"watchers":126,"default_branch":"master","master_branch":"master","score":13.087221},{"id":2109462,"name":"github-badge","full_name":"berkerpeksag/github-badge","owner":{"login":"berkerpeksag","id":26338,"avatar_url":"https://avatars.githubusercontent.com/u/26338","gravatar_id":"df8e51d7618d5ed7ccbbc8dea9a9afee","url":"https://api.github.com/users/berkerpeksag","html_url":"https://github.com/berkerpeksag","followers_url":"https://api.github.com/users/berkerpeksag/followers","following_url":"https://api.github.com/users/berkerpeksag/following{/other_user}","gists_url":"https://api.github.com/users/berkerpeksag/gists{/gist_id}","starred_url":"https://api.github.com/users/berkerpeksag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/berkerpeksag/subscriptions","organizations_url":"https://api.github.com/users/berkerpeksag/orgs","repos_url":"https://api.github.com/users/berkerpeksag/repos","events_url":"https://api.github.com/users/berkerpeksag/events{/privacy}","received_events_url":"https://api.github.com/users/berkerpeksag/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/berkerpeksag/github-badge","description":"GitHub Badge is a simple embeddable badge showing your GitHub stats like the number of public repositories, number of followers, favorite languages etc.","fork":false,"url":"https://api.github.com/repos/berkerpeksag/github-badge","forks_url":"https://api.github.com/repos/berkerpeksag/github-badge/forks","keys_url":"https://api.github.com/repos/berkerpeksag/github-badge/keys{/key_id}","collaborators_url":"https://api.github.com/repos/berkerpeksag/github-badge/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/berkerpeksag/github-badge/teams","hooks_url":"https://api.github.com/repos/berkerpeksag/github-badge/hooks","issue_events_url":"https://api.github.com/repos/berkerpeksag/github-badge/issues/events{/number}","events_url":"https://api.github.com/repos/berkerpeksag/github-badge/events","assignees_url":"https://api.github.com/repos/berkerpeksag/github-badge/assignees{/user}","branches_url":"https://api.github.com/repos/berkerpeksag/github-badge/branches{/branch}","tags_url":"https://api.github.com/repos/berkerpeksag/github-badge/tags","blobs_url":"https://api.github.com/repos/berkerpeksag/github-badge/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/berkerpeksag/github-badge/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/berkerpeksag/github-badge/git/refs{/sha}","trees_url":"https://api.github.com/repos/berkerpeksag/github-badge/git/trees{/sha}","statuses_url":"https://api.github.com/repos/berkerpeksag/github-badge/statuses/{sha}","languages_url":"https://api.github.com/repos/berkerpeksag/github-badge/languages","stargazers_url":"https://api.github.com/repos/berkerpeksag/github-badge/stargazers","contributors_url":"https://api.github.com/repos/berkerpeksag/github-badge/contributors","subscribers_url":"https://api.github.com/repos/berkerpeksag/github-badge/subscribers","subscription_url":"https://api.github.com/repos/berkerpeksag/github-badge/subscription","commits_url":"https://api.github.com/repos/berkerpeksag/github-badge/commits{/sha}","git_commits_url":"https://api.github.com/repos/berkerpeksag/github-badge/git/commits{/sha}","comments_url":"https://api.github.com/repos/berkerpeksag/github-badge/comments{/number}","issue_comment_url":"https://api.github.com/repos/berkerpeksag/github-badge/issues/comments/{number}","contents_url":"https://api.github.com/repos/berkerpeksag/github-badge/contents/{+path}","compare_url":"https://api.github.com/repos/berkerpeksag/github-badge/compare/{base}...{head}","merges_url":"https://api.github.com/repos/berkerpeksag/github-badge/merges","archive_url":"https://api.github.com/repos/berkerpeksag/github-badge/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/berkerpeksag/github-badge/downloads","issues_url":"https://api.github.com/repos/berkerpeksag/github-badge/issues{/number}","pulls_url":"https://api.github.com/repos/berkerpeksag/github-badge/pulls{/number}","milestones_url":"https://api.github.com/repos/berkerpeksag/github-badge/milestones{/number}","notifications_url":"https://api.github.com/repos/berkerpeksag/github-badge/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/berkerpeksag/github-badge/labels{/name}","releases_url":"https://api.github.com/repos/berkerpeksag/github-badge/releases{/id}","created_at":"2011-07-26T21:30:23Z","updated_at":"2014-01-13T12:31:22Z","pushed_at":"2014-01-09T02:40:56Z","git_url":"git://github.com/berkerpeksag/github-badge.git","ssh_url":"git@github.com:berkerpeksag/github-badge.git","clone_url":"https://github.com/berkerpeksag/github-badge.git","svn_url":"https://github.com/berkerpeksag/github-badge","homepage":"http://githubbadge.appspot.com/","size":895,"stargazers_count":135,"watchers_count":135,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":10,"mirror_url":null,"open_issues_count":8,"forks":10,"open_issues":8,"watchers":135,"default_branch":"master","master_branch":"master","score":17.625778},{"id":2629694,"name":"ssh","full_name":"bitprophet/ssh","owner":{"login":"bitprophet","id":6088,"avatar_url":"https://avatars.githubusercontent.com/u/6088","gravatar_id":"f1acc6318028fdba9874c77bc622a2fb","url":"https://api.github.com/users/bitprophet","html_url":"https://github.com/bitprophet","followers_url":"https://api.github.com/users/bitprophet/followers","following_url":"https://api.github.com/users/bitprophet/following{/other_user}","gists_url":"https://api.github.com/users/bitprophet/gists{/gist_id}","starred_url":"https://api.github.com/users/bitprophet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitprophet/subscriptions","organizations_url":"https://api.github.com/users/bitprophet/orgs","repos_url":"https://api.github.com/users/bitprophet/repos","events_url":"https://api.github.com/users/bitprophet/events{/privacy}","received_events_url":"https://api.github.com/users/bitprophet/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bitprophet/ssh","description":"PLEASE file all new issues over at: https://github.com/paramiko/paramiko !","fork":false,"url":"https://api.github.com/repos/bitprophet/ssh","forks_url":"https://api.github.com/repos/bitprophet/ssh/forks","keys_url":"https://api.github.com/repos/bitprophet/ssh/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bitprophet/ssh/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bitprophet/ssh/teams","hooks_url":"https://api.github.com/repos/bitprophet/ssh/hooks","issue_events_url":"https://api.github.com/repos/bitprophet/ssh/issues/events{/number}","events_url":"https://api.github.com/repos/bitprophet/ssh/events","assignees_url":"https://api.github.com/repos/bitprophet/ssh/assignees{/user}","branches_url":"https://api.github.com/repos/bitprophet/ssh/branches{/branch}","tags_url":"https://api.github.com/repos/bitprophet/ssh/tags","blobs_url":"https://api.github.com/repos/bitprophet/ssh/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bitprophet/ssh/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bitprophet/ssh/git/refs{/sha}","trees_url":"https://api.github.com/repos/bitprophet/ssh/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bitprophet/ssh/statuses/{sha}","languages_url":"https://api.github.com/repos/bitprophet/ssh/languages","stargazers_url":"https://api.github.com/repos/bitprophet/ssh/stargazers","contributors_url":"https://api.github.com/repos/bitprophet/ssh/contributors","subscribers_url":"https://api.github.com/repos/bitprophet/ssh/subscribers","subscription_url":"https://api.github.com/repos/bitprophet/ssh/subscription","commits_url":"https://api.github.com/repos/bitprophet/ssh/commits{/sha}","git_commits_url":"https://api.github.com/repos/bitprophet/ssh/git/commits{/sha}","comments_url":"https://api.github.com/repos/bitprophet/ssh/comments{/number}","issue_comment_url":"https://api.github.com/repos/bitprophet/ssh/issues/comments/{number}","contents_url":"https://api.github.com/repos/bitprophet/ssh/contents/{+path}","compare_url":"https://api.github.com/repos/bitprophet/ssh/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bitprophet/ssh/merges","archive_url":"https://api.github.com/repos/bitprophet/ssh/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bitprophet/ssh/downloads","issues_url":"https://api.github.com/repos/bitprophet/ssh/issues{/number}","pulls_url":"https://api.github.com/repos/bitprophet/ssh/pulls{/number}","milestones_url":"https://api.github.com/repos/bitprophet/ssh/milestones{/number}","notifications_url":"https://api.github.com/repos/bitprophet/ssh/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bitprophet/ssh/labels{/name}","releases_url":"https://api.github.com/repos/bitprophet/ssh/releases{/id}","created_at":"2011-10-23T06:53:41Z","updated_at":"2014-01-10T06:53:46Z","pushed_at":"2012-10-06T17:06:38Z","git_url":"git://github.com/bitprophet/ssh.git","ssh_url":"git@github.com:bitprophet/ssh.git","clone_url":"https://github.com/bitprophet/ssh.git","svn_url":"https://github.com/bitprophet/ssh","homepage":"https://github.com/paramiko/paramiko","size":1797,"stargazers_count":122,"watchers_count":122,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":44,"mirror_url":null,"open_issues_count":16,"forks":44,"open_issues":16,"watchers":122,"default_branch":"master","master_branch":"master","score":10.844821},{"id":1861476,"name":"OpenTreeMap","full_name":"azavea/OpenTreeMap","owner":{"login":"azavea","id":595231,"avatar_url":"https://avatars.githubusercontent.com/u/595231","gravatar_id":"49884cb2080832e07241d7bdb6259820","url":"https://api.github.com/users/azavea","html_url":"https://github.com/azavea","followers_url":"https://api.github.com/users/azavea/followers","following_url":"https://api.github.com/users/azavea/following{/other_user}","gists_url":"https://api.github.com/users/azavea/gists{/gist_id}","starred_url":"https://api.github.com/users/azavea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azavea/subscriptions","organizations_url":"https://api.github.com/users/azavea/orgs","repos_url":"https://api.github.com/users/azavea/repos","events_url":"https://api.github.com/users/azavea/events{/privacy}","received_events_url":"https://api.github.com/users/azavea/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/azavea/OpenTreeMap","description":"OpenTreeMap is a wiki-inspired, web-based geographic tree inventory application that enables individuals, organizations, and governments to work together and collaboratively map the urban forest. OpenTreeMap is a project of Azavea and Urban Ecos. The code is currently being used to create PhillyTreeMap.org, UrbanForestMap.org, GreenprintMaps.org, SanDiegoTreeMap.org, the Grand Rapids Urban Forest Project tree map (treemap.urbanforestproject.com), Treezilla.org, and TampaTreeMap.org. The code to create an iOS app version of OpenTreeMap is available at https://github.com/azavea/OpenTreeMap-iOS. A default skin for the iOS app is available at https://github.com/azavea/OpenTreeMap-iOS-skin. Android code is available at https://github.com/azavea/OpenTreeMap-Android ","fork":false,"url":"https://api.github.com/repos/azavea/OpenTreeMap","forks_url":"https://api.github.com/repos/azavea/OpenTreeMap/forks","keys_url":"https://api.github.com/repos/azavea/OpenTreeMap/keys{/key_id}","collaborators_url":"https://api.github.com/repos/azavea/OpenTreeMap/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/azavea/OpenTreeMap/teams","hooks_url":"https://api.github.com/repos/azavea/OpenTreeMap/hooks","issue_events_url":"https://api.github.com/repos/azavea/OpenTreeMap/issues/events{/number}","events_url":"https://api.github.com/repos/azavea/OpenTreeMap/events","assignees_url":"https://api.github.com/repos/azavea/OpenTreeMap/assignees{/user}","branches_url":"https://api.github.com/repos/azavea/OpenTreeMap/branches{/branch}","tags_url":"https://api.github.com/repos/azavea/OpenTreeMap/tags","blobs_url":"https://api.github.com/repos/azavea/OpenTreeMap/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/azavea/OpenTreeMap/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/azavea/OpenTreeMap/git/refs{/sha}","trees_url":"https://api.github.com/repos/azavea/OpenTreeMap/git/trees{/sha}","statuses_url":"https://api.github.com/repos/azavea/OpenTreeMap/statuses/{sha}","languages_url":"https://api.github.com/repos/azavea/OpenTreeMap/languages","stargazers_url":"https://api.github.com/repos/azavea/OpenTreeMap/stargazers","contributors_url":"https://api.github.com/repos/azavea/OpenTreeMap/contributors","subscribers_url":"https://api.github.com/repos/azavea/OpenTreeMap/subscribers","subscription_url":"https://api.github.com/repos/azavea/OpenTreeMap/subscription","commits_url":"https://api.github.com/repos/azavea/OpenTreeMap/commits{/sha}","git_commits_url":"https://api.github.com/repos/azavea/OpenTreeMap/git/commits{/sha}","comments_url":"https://api.github.com/repos/azavea/OpenTreeMap/comments{/number}","issue_comment_url":"https://api.github.com/repos/azavea/OpenTreeMap/issues/comments/{number}","contents_url":"https://api.github.com/repos/azavea/OpenTreeMap/contents/{+path}","compare_url":"https://api.github.com/repos/azavea/OpenTreeMap/compare/{base}...{head}","merges_url":"https://api.github.com/repos/azavea/OpenTreeMap/merges","archive_url":"https://api.github.com/repos/azavea/OpenTreeMap/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/azavea/OpenTreeMap/downloads","issues_url":"https://api.github.com/repos/azavea/OpenTreeMap/issues{/number}","pulls_url":"https://api.github.com/repos/azavea/OpenTreeMap/pulls{/number}","milestones_url":"https://api.github.com/repos/azavea/OpenTreeMap/milestones{/number}","notifications_url":"https://api.github.com/repos/azavea/OpenTreeMap/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/azavea/OpenTreeMap/labels{/name}","releases_url":"https://api.github.com/repos/azavea/OpenTreeMap/releases{/id}","created_at":"2011-06-07T18:57:58Z","updated_at":"2014-02-10T17:14:06Z","pushed_at":"2014-02-10T17:14:06Z","git_url":"git://github.com/azavea/OpenTreeMap.git","ssh_url":"git@github.com:azavea/OpenTreeMap.git","clone_url":"https://github.com/azavea/OpenTreeMap.git","svn_url":"https://github.com/azavea/OpenTreeMap","homepage":"http://www.azavea.com/opentreemap/","size":16573,"stargazers_count":118,"watchers_count":118,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":58,"mirror_url":null,"open_issues_count":22,"forks":58,"open_issues":22,"watchers":118,"default_branch":"v1.3","master_branch":"v1.3","score":7.4777703},{"id":5690595,"name":"leeroy","full_name":"litl/leeroy","owner":{"login":"litl","id":190361,"avatar_url":"https://avatars.githubusercontent.com/u/190361","gravatar_id":"2544baae90780aa558a2dedc84817cab","url":"https://api.github.com/users/litl","html_url":"https://github.com/litl","followers_url":"https://api.github.com/users/litl/followers","following_url":"https://api.github.com/users/litl/following{/other_user}","gists_url":"https://api.github.com/users/litl/gists{/gist_id}","starred_url":"https://api.github.com/users/litl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/litl/subscriptions","organizations_url":"https://api.github.com/users/litl/orgs","repos_url":"https://api.github.com/users/litl/repos","events_url":"https://api.github.com/users/litl/events{/privacy}","received_events_url":"https://api.github.com/users/litl/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/litl/leeroy","description":"Jenkins integration with GitHub pull requests","fork":false,"url":"https://api.github.com/repos/litl/leeroy","forks_url":"https://api.github.com/repos/litl/leeroy/forks","keys_url":"https://api.github.com/repos/litl/leeroy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/litl/leeroy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/litl/leeroy/teams","hooks_url":"https://api.github.com/repos/litl/leeroy/hooks","issue_events_url":"https://api.github.com/repos/litl/leeroy/issues/events{/number}","events_url":"https://api.github.com/repos/litl/leeroy/events","assignees_url":"https://api.github.com/repos/litl/leeroy/assignees{/user}","branches_url":"https://api.github.com/repos/litl/leeroy/branches{/branch}","tags_url":"https://api.github.com/repos/litl/leeroy/tags","blobs_url":"https://api.github.com/repos/litl/leeroy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/litl/leeroy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/litl/leeroy/git/refs{/sha}","trees_url":"https://api.github.com/repos/litl/leeroy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/litl/leeroy/statuses/{sha}","languages_url":"https://api.github.com/repos/litl/leeroy/languages","stargazers_url":"https://api.github.com/repos/litl/leeroy/stargazers","contributors_url":"https://api.github.com/repos/litl/leeroy/contributors","subscribers_url":"https://api.github.com/repos/litl/leeroy/subscribers","subscription_url":"https://api.github.com/repos/litl/leeroy/subscription","commits_url":"https://api.github.com/repos/litl/leeroy/commits{/sha}","git_commits_url":"https://api.github.com/repos/litl/leeroy/git/commits{/sha}","comments_url":"https://api.github.com/repos/litl/leeroy/comments{/number}","issue_comment_url":"https://api.github.com/repos/litl/leeroy/issues/comments/{number}","contents_url":"https://api.github.com/repos/litl/leeroy/contents/{+path}","compare_url":"https://api.github.com/repos/litl/leeroy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/litl/leeroy/merges","archive_url":"https://api.github.com/repos/litl/leeroy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/litl/leeroy/downloads","issues_url":"https://api.github.com/repos/litl/leeroy/issues{/number}","pulls_url":"https://api.github.com/repos/litl/leeroy/pulls{/number}","milestones_url":"https://api.github.com/repos/litl/leeroy/milestones{/number}","notifications_url":"https://api.github.com/repos/litl/leeroy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/litl/leeroy/labels{/name}","releases_url":"https://api.github.com/repos/litl/leeroy/releases{/id}","created_at":"2012-09-05T17:19:00Z","updated_at":"2014-02-25T17:39:20Z","pushed_at":"2014-02-25T17:39:20Z","git_url":"git://github.com/litl/leeroy.git","ssh_url":"git@github.com:litl/leeroy.git","clone_url":"https://github.com/litl/leeroy.git","svn_url":"https://github.com/litl/leeroy","homepage":null,"size":279,"stargazers_count":109,"watchers_count":109,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":22,"mirror_url":null,"open_issues_count":7,"forks":22,"open_issues":7,"watchers":109,"default_branch":"master","master_branch":"master","score":12.909185},{"id":2068621,"name":"pylogsparser","full_name":"wallix/pylogsparser","owner":{"login":"wallix","id":264401,"avatar_url":"https://avatars.githubusercontent.com/u/264401","gravatar_id":"bdde72080a52a0ed24c2c18c4ebd7d60","url":"https://api.github.com/users/wallix","html_url":"https://github.com/wallix","followers_url":"https://api.github.com/users/wallix/followers","following_url":"https://api.github.com/users/wallix/following{/other_user}","gists_url":"https://api.github.com/users/wallix/gists{/gist_id}","starred_url":"https://api.github.com/users/wallix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wallix/subscriptions","organizations_url":"https://api.github.com/users/wallix/orgs","repos_url":"https://api.github.com/users/wallix/repos","events_url":"https://api.github.com/users/wallix/events{/privacy}","received_events_url":"https://api.github.com/users/wallix/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wallix/pylogsparser","description":"Library for Log parsing in Python - get the documentation at http://wallix.github.com/pylogsparser/","fork":false,"url":"https://api.github.com/repos/wallix/pylogsparser","forks_url":"https://api.github.com/repos/wallix/pylogsparser/forks","keys_url":"https://api.github.com/repos/wallix/pylogsparser/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wallix/pylogsparser/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wallix/pylogsparser/teams","hooks_url":"https://api.github.com/repos/wallix/pylogsparser/hooks","issue_events_url":"https://api.github.com/repos/wallix/pylogsparser/issues/events{/number}","events_url":"https://api.github.com/repos/wallix/pylogsparser/events","assignees_url":"https://api.github.com/repos/wallix/pylogsparser/assignees{/user}","branches_url":"https://api.github.com/repos/wallix/pylogsparser/branches{/branch}","tags_url":"https://api.github.com/repos/wallix/pylogsparser/tags","blobs_url":"https://api.github.com/repos/wallix/pylogsparser/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wallix/pylogsparser/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wallix/pylogsparser/git/refs{/sha}","trees_url":"https://api.github.com/repos/wallix/pylogsparser/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wallix/pylogsparser/statuses/{sha}","languages_url":"https://api.github.com/repos/wallix/pylogsparser/languages","stargazers_url":"https://api.github.com/repos/wallix/pylogsparser/stargazers","contributors_url":"https://api.github.com/repos/wallix/pylogsparser/contributors","subscribers_url":"https://api.github.com/repos/wallix/pylogsparser/subscribers","subscription_url":"https://api.github.com/repos/wallix/pylogsparser/subscription","commits_url":"https://api.github.com/repos/wallix/pylogsparser/commits{/sha}","git_commits_url":"https://api.github.com/repos/wallix/pylogsparser/git/commits{/sha}","comments_url":"https://api.github.com/repos/wallix/pylogsparser/comments{/number}","issue_comment_url":"https://api.github.com/repos/wallix/pylogsparser/issues/comments/{number}","contents_url":"https://api.github.com/repos/wallix/pylogsparser/contents/{+path}","compare_url":"https://api.github.com/repos/wallix/pylogsparser/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wallix/pylogsparser/merges","archive_url":"https://api.github.com/repos/wallix/pylogsparser/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wallix/pylogsparser/downloads","issues_url":"https://api.github.com/repos/wallix/pylogsparser/issues{/number}","pulls_url":"https://api.github.com/repos/wallix/pylogsparser/pulls{/number}","milestones_url":"https://api.github.com/repos/wallix/pylogsparser/milestones{/number}","notifications_url":"https://api.github.com/repos/wallix/pylogsparser/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wallix/pylogsparser/labels{/name}","releases_url":"https://api.github.com/repos/wallix/pylogsparser/releases{/id}","created_at":"2011-07-18T20:29:40Z","updated_at":"2014-01-16T08:42:29Z","pushed_at":"2013-11-06T11:15:06Z","git_url":"git://github.com/wallix/pylogsparser.git","ssh_url":"git@github.com:wallix/pylogsparser.git","clone_url":"https://github.com/wallix/pylogsparser.git","svn_url":"https://github.com/wallix/pylogsparser","homepage":"http://www.wallix.org/pylogsparser-project/","size":978,"stargazers_count":102,"watchers_count":102,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":14,"mirror_url":null,"open_issues_count":2,"forks":14,"open_issues":2,"watchers":102,"default_branch":"master","master_branch":"master","score":7.27245},{"id":5620853,"name":"pyoauth2","full_name":"StartTheShift/pyoauth2","owner":{"login":"StartTheShift","id":685075,"avatar_url":"https://avatars.githubusercontent.com/u/685075","gravatar_id":"b948d51748c15d049f20b12172ac1e01","url":"https://api.github.com/users/StartTheShift","html_url":"https://github.com/StartTheShift","followers_url":"https://api.github.com/users/StartTheShift/followers","following_url":"https://api.github.com/users/StartTheShift/following{/other_user}","gists_url":"https://api.github.com/users/StartTheShift/gists{/gist_id}","starred_url":"https://api.github.com/users/StartTheShift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StartTheShift/subscriptions","organizations_url":"https://api.github.com/users/StartTheShift/orgs","repos_url":"https://api.github.com/users/StartTheShift/repos","events_url":"https://api.github.com/users/StartTheShift/events{/privacy}","received_events_url":"https://api.github.com/users/StartTheShift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/StartTheShift/pyoauth2","description":"OAuth 2.0 Library - WE ARE NO LONGER MAINTAINING THIS LIBRARY, PLEASE SEE this fork: https://github.com/NateFerrero/pyoauth2","fork":false,"url":"https://api.github.com/repos/StartTheShift/pyoauth2","forks_url":"https://api.github.com/repos/StartTheShift/pyoauth2/forks","keys_url":"https://api.github.com/repos/StartTheShift/pyoauth2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/StartTheShift/pyoauth2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/StartTheShift/pyoauth2/teams","hooks_url":"https://api.github.com/repos/StartTheShift/pyoauth2/hooks","issue_events_url":"https://api.github.com/repos/StartTheShift/pyoauth2/issues/events{/number}","events_url":"https://api.github.com/repos/StartTheShift/pyoauth2/events","assignees_url":"https://api.github.com/repos/StartTheShift/pyoauth2/assignees{/user}","branches_url":"https://api.github.com/repos/StartTheShift/pyoauth2/branches{/branch}","tags_url":"https://api.github.com/repos/StartTheShift/pyoauth2/tags","blobs_url":"https://api.github.com/repos/StartTheShift/pyoauth2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/StartTheShift/pyoauth2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/StartTheShift/pyoauth2/git/refs{/sha}","trees_url":"https://api.github.com/repos/StartTheShift/pyoauth2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/StartTheShift/pyoauth2/statuses/{sha}","languages_url":"https://api.github.com/repos/StartTheShift/pyoauth2/languages","stargazers_url":"https://api.github.com/repos/StartTheShift/pyoauth2/stargazers","contributors_url":"https://api.github.com/repos/StartTheShift/pyoauth2/contributors","subscribers_url":"https://api.github.com/repos/StartTheShift/pyoauth2/subscribers","subscription_url":"https://api.github.com/repos/StartTheShift/pyoauth2/subscription","commits_url":"https://api.github.com/repos/StartTheShift/pyoauth2/commits{/sha}","git_commits_url":"https://api.github.com/repos/StartTheShift/pyoauth2/git/commits{/sha}","comments_url":"https://api.github.com/repos/StartTheShift/pyoauth2/comments{/number}","issue_comment_url":"https://api.github.com/repos/StartTheShift/pyoauth2/issues/comments/{number}","contents_url":"https://api.github.com/repos/StartTheShift/pyoauth2/contents/{+path}","compare_url":"https://api.github.com/repos/StartTheShift/pyoauth2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/StartTheShift/pyoauth2/merges","archive_url":"https://api.github.com/repos/StartTheShift/pyoauth2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/StartTheShift/pyoauth2/downloads","issues_url":"https://api.github.com/repos/StartTheShift/pyoauth2/issues{/number}","pulls_url":"https://api.github.com/repos/StartTheShift/pyoauth2/pulls{/number}","milestones_url":"https://api.github.com/repos/StartTheShift/pyoauth2/milestones{/number}","notifications_url":"https://api.github.com/repos/StartTheShift/pyoauth2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/StartTheShift/pyoauth2/labels{/name}","releases_url":"https://api.github.com/repos/StartTheShift/pyoauth2/releases{/id}","created_at":"2012-08-30T20:59:58Z","updated_at":"2014-01-11T19:54:53Z","pushed_at":"2013-05-01T22:17:49Z","git_url":"git://github.com/StartTheShift/pyoauth2.git","ssh_url":"git@github.com:StartTheShift/pyoauth2.git","clone_url":"https://github.com/StartTheShift/pyoauth2.git","svn_url":"https://github.com/StartTheShift/pyoauth2","homepage":"","size":290,"stargazers_count":102,"watchers_count":102,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"forks_count":28,"mirror_url":null,"open_issues_count":5,"forks":28,"open_issues":5,"watchers":102,"default_branch":"master","master_branch":"master","score":8.102054},{"id":1918566,"name":"git-pull-request","full_name":"splitbrain/git-pull-request","owner":{"login":"splitbrain","id":86426,"avatar_url":"https://avatars.githubusercontent.com/u/86426","gravatar_id":"b6b4d7dbe3fb7cf61b68e36cd80f8698","url":"https://api.github.com/users/splitbrain","html_url":"https://github.com/splitbrain","followers_url":"https://api.github.com/users/splitbrain/followers","following_url":"https://api.github.com/users/splitbrain/following{/other_user}","gists_url":"https://api.github.com/users/splitbrain/gists{/gist_id}","starred_url":"https://api.github.com/users/splitbrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/splitbrain/subscriptions","organizations_url":"https://api.github.com/users/splitbrain/orgs","repos_url":"https://api.github.com/users/splitbrain/repos","events_url":"https://api.github.com/users/splitbrain/events{/privacy}","received_events_url":"https://api.github.com/users/splitbrain/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/splitbrain/git-pull-request","description":"git command to automatically pull github pull requests into their own branch","fork":false,"url":"https://api.github.com/repos/splitbrain/git-pull-request","forks_url":"https://api.github.com/repos/splitbrain/git-pull-request/forks","keys_url":"https://api.github.com/repos/splitbrain/git-pull-request/keys{/key_id}","collaborators_url":"https://api.github.com/repos/splitbrain/git-pull-request/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/splitbrain/git-pull-request/teams","hooks_url":"https://api.github.com/repos/splitbrain/git-pull-request/hooks","issue_events_url":"https://api.github.com/repos/splitbrain/git-pull-request/issues/events{/number}","events_url":"https://api.github.com/repos/splitbrain/git-pull-request/events","assignees_url":"https://api.github.com/repos/splitbrain/git-pull-request/assignees{/user}","branches_url":"https://api.github.com/repos/splitbrain/git-pull-request/branches{/branch}","tags_url":"https://api.github.com/repos/splitbrain/git-pull-request/tags","blobs_url":"https://api.github.com/repos/splitbrain/git-pull-request/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/splitbrain/git-pull-request/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/splitbrain/git-pull-request/git/refs{/sha}","trees_url":"https://api.github.com/repos/splitbrain/git-pull-request/git/trees{/sha}","statuses_url":"https://api.github.com/repos/splitbrain/git-pull-request/statuses/{sha}","languages_url":"https://api.github.com/repos/splitbrain/git-pull-request/languages","stargazers_url":"https://api.github.com/repos/splitbrain/git-pull-request/stargazers","contributors_url":"https://api.github.com/repos/splitbrain/git-pull-request/contributors","subscribers_url":"https://api.github.com/repos/splitbrain/git-pull-request/subscribers","subscription_url":"https://api.github.com/repos/splitbrain/git-pull-request/subscription","commits_url":"https://api.github.com/repos/splitbrain/git-pull-request/commits{/sha}","git_commits_url":"https://api.github.com/repos/splitbrain/git-pull-request/git/commits{/sha}","comments_url":"https://api.github.com/repos/splitbrain/git-pull-request/comments{/number}","issue_comment_url":"https://api.github.com/repos/splitbrain/git-pull-request/issues/comments/{number}","contents_url":"https://api.github.com/repos/splitbrain/git-pull-request/contents/{+path}","compare_url":"https://api.github.com/repos/splitbrain/git-pull-request/compare/{base}...{head}","merges_url":"https://api.github.com/repos/splitbrain/git-pull-request/merges","archive_url":"https://api.github.com/repos/splitbrain/git-pull-request/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/splitbrain/git-pull-request/downloads","issues_url":"https://api.github.com/repos/splitbrain/git-pull-request/issues{/number}","pulls_url":"https://api.github.com/repos/splitbrain/git-pull-request/pulls{/number}","milestones_url":"https://api.github.com/repos/splitbrain/git-pull-request/milestones{/number}","notifications_url":"https://api.github.com/repos/splitbrain/git-pull-request/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/splitbrain/git-pull-request/labels{/name}","releases_url":"https://api.github.com/repos/splitbrain/git-pull-request/releases{/id}","created_at":"2011-06-19T07:42:17Z","updated_at":"2014-01-13T15:58:47Z","pushed_at":"2013-02-01T08:06:03Z","git_url":"git://github.com/splitbrain/git-pull-request.git","ssh_url":"git@github.com:splitbrain/git-pull-request.git","clone_url":"https://github.com/splitbrain/git-pull-request.git","svn_url":"https://github.com/splitbrain/git-pull-request","homepage":"http://www.splitbrain.org/blog/2011-06/19-automate_github_pull_requests","size":172,"stargazers_count":100,"watchers_count":100,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":33,"mirror_url":null,"open_issues_count":3,"forks":33,"open_issues":3,"watchers":100,"default_branch":"master","master_branch":"master","score":12.054033},{"id":263749,"name":"Open-Knesset","full_name":"ofri/Open-Knesset","owner":{"login":"ofri","id":105233,"avatar_url":"https://avatars.githubusercontent.com/u/105233","gravatar_id":"4437e31fa0c1333736b30c9543891198","url":"https://api.github.com/users/ofri","html_url":"https://github.com/ofri","followers_url":"https://api.github.com/users/ofri/followers","following_url":"https://api.github.com/users/ofri/following{/other_user}","gists_url":"https://api.github.com/users/ofri/gists{/gist_id}","starred_url":"https://api.github.com/users/ofri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofri/subscriptions","organizations_url":"https://api.github.com/users/ofri/orgs","repos_url":"https://api.github.com/users/ofri/repos","events_url":"https://api.github.com/users/ofri/events{/privacy}","received_events_url":"https://api.github.com/users/ofri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ofri/Open-Knesset","description":"** The official repo is at https://github.com/hasadna/Open-Knesset/ . Please fork it, instead of my repo.","fork":false,"url":"https://api.github.com/repos/ofri/Open-Knesset","forks_url":"https://api.github.com/repos/ofri/Open-Knesset/forks","keys_url":"https://api.github.com/repos/ofri/Open-Knesset/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ofri/Open-Knesset/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ofri/Open-Knesset/teams","hooks_url":"https://api.github.com/repos/ofri/Open-Knesset/hooks","issue_events_url":"https://api.github.com/repos/ofri/Open-Knesset/issues/events{/number}","events_url":"https://api.github.com/repos/ofri/Open-Knesset/events","assignees_url":"https://api.github.com/repos/ofri/Open-Knesset/assignees{/user}","branches_url":"https://api.github.com/repos/ofri/Open-Knesset/branches{/branch}","tags_url":"https://api.github.com/repos/ofri/Open-Knesset/tags","blobs_url":"https://api.github.com/repos/ofri/Open-Knesset/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ofri/Open-Knesset/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ofri/Open-Knesset/git/refs{/sha}","trees_url":"https://api.github.com/repos/ofri/Open-Knesset/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ofri/Open-Knesset/statuses/{sha}","languages_url":"https://api.github.com/repos/ofri/Open-Knesset/languages","stargazers_url":"https://api.github.com/repos/ofri/Open-Knesset/stargazers","contributors_url":"https://api.github.com/repos/ofri/Open-Knesset/contributors","subscribers_url":"https://api.github.com/repos/ofri/Open-Knesset/subscribers","subscription_url":"https://api.github.com/repos/ofri/Open-Knesset/subscription","commits_url":"https://api.github.com/repos/ofri/Open-Knesset/commits{/sha}","git_commits_url":"https://api.github.com/repos/ofri/Open-Knesset/git/commits{/sha}","comments_url":"https://api.github.com/repos/ofri/Open-Knesset/comments{/number}","issue_comment_url":"https://api.github.com/repos/ofri/Open-Knesset/issues/comments/{number}","contents_url":"https://api.github.com/repos/ofri/Open-Knesset/contents/{+path}","compare_url":"https://api.github.com/repos/ofri/Open-Knesset/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ofri/Open-Knesset/merges","archive_url":"https://api.github.com/repos/ofri/Open-Knesset/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ofri/Open-Knesset/downloads","issues_url":"https://api.github.com/repos/ofri/Open-Knesset/issues{/number}","pulls_url":"https://api.github.com/repos/ofri/Open-Knesset/pulls{/number}","milestones_url":"https://api.github.com/repos/ofri/Open-Knesset/milestones{/number}","notifications_url":"https://api.github.com/repos/ofri/Open-Knesset/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ofri/Open-Knesset/labels{/name}","releases_url":"https://api.github.com/repos/ofri/Open-Knesset/releases{/id}","created_at":"2009-07-29T16:58:51Z","updated_at":"2014-02-24T18:55:33Z","pushed_at":"2014-02-24T18:55:33Z","git_url":"git://github.com/ofri/Open-Knesset.git","ssh_url":"git@github.com:ofri/Open-Knesset.git","clone_url":"https://github.com/ofri/Open-Knesset.git","svn_url":"https://github.com/ofri/Open-Knesset","homepage":"https://github.com/hasadna/Open-Knesset/","size":28772,"stargazers_count":98,"watchers_count":98,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":218,"mirror_url":null,"open_issues_count":20,"forks":218,"open_issues":20,"watchers":98,"default_branch":"master","master_branch":"master","score":14.709705},{"id":5140859,"name":"django-notifications","full_name":"brantyoung/django-notifications","owner":{"login":"brantyoung","id":1528179,"avatar_url":"https://avatars.githubusercontent.com/u/1528179","gravatar_id":"59ec8eabd9f54aed9eea4f430334d052","url":"https://api.github.com/users/brantyoung","html_url":"https://github.com/brantyoung","followers_url":"https://api.github.com/users/brantyoung/followers","following_url":"https://api.github.com/users/brantyoung/following{/other_user}","gists_url":"https://api.github.com/users/brantyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/brantyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brantyoung/subscriptions","organizations_url":"https://api.github.com/users/brantyoung/orgs","repos_url":"https://api.github.com/users/brantyoung/repos","events_url":"https://api.github.com/users/brantyoung/events{/privacy}","received_events_url":"https://api.github.com/users/brantyoung/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/brantyoung/django-notifications","description":"GitHub notifications alike app for Django","fork":false,"url":"https://api.github.com/repos/brantyoung/django-notifications","forks_url":"https://api.github.com/repos/brantyoung/django-notifications/forks","keys_url":"https://api.github.com/repos/brantyoung/django-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/brantyoung/django-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/brantyoung/django-notifications/teams","hooks_url":"https://api.github.com/repos/brantyoung/django-notifications/hooks","issue_events_url":"https://api.github.com/repos/brantyoung/django-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/brantyoung/django-notifications/events","assignees_url":"https://api.github.com/repos/brantyoung/django-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/brantyoung/django-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/brantyoung/django-notifications/tags","blobs_url":"https://api.github.com/repos/brantyoung/django-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/brantyoung/django-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/brantyoung/django-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/brantyoung/django-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/brantyoung/django-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/brantyoung/django-notifications/languages","stargazers_url":"https://api.github.com/repos/brantyoung/django-notifications/stargazers","contributors_url":"https://api.github.com/repos/brantyoung/django-notifications/contributors","subscribers_url":"https://api.github.com/repos/brantyoung/django-notifications/subscribers","subscription_url":"https://api.github.com/repos/brantyoung/django-notifications/subscription","commits_url":"https://api.github.com/repos/brantyoung/django-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/brantyoung/django-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/brantyoung/django-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/brantyoung/django-notifications/issues/comments/{number}","contents_url":"https://api.github.com/repos/brantyoung/django-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/brantyoung/django-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/brantyoung/django-notifications/merges","archive_url":"https://api.github.com/repos/brantyoung/django-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/brantyoung/django-notifications/downloads","issues_url":"https://api.github.com/repos/brantyoung/django-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/brantyoung/django-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/brantyoung/django-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/brantyoung/django-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/brantyoung/django-notifications/labels{/name}","releases_url":"https://api.github.com/repos/brantyoung/django-notifications/releases{/id}","created_at":"2012-07-22T10:41:02Z","updated_at":"2014-01-31T14:37:50Z","pushed_at":"2014-01-31T14:37:49Z","git_url":"git://github.com/brantyoung/django-notifications.git","ssh_url":"git@github.com:brantyoung/django-notifications.git","clone_url":"https://github.com/brantyoung/django-notifications.git","svn_url":"https://github.com/brantyoung/django-notifications","homepage":"http://pypi.python.org/pypi/django-notifications-hq/","size":272,"stargazers_count":99,"watchers_count":99,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":47,"mirror_url":null,"open_issues_count":10,"forks":47,"open_issues":10,"watchers":99,"default_branch":"master","master_branch":"master","score":15.606587},{"id":404180,"name":"MongoHub","full_name":"bububa/MongoHub","owner":{"login":"bububa","id":98709,"avatar_url":"https://avatars.githubusercontent.com/u/98709","gravatar_id":"437a6fea43875498f2620bfd17ee6bdb","url":"https://api.github.com/users/bububa","html_url":"https://github.com/bububa","followers_url":"https://api.github.com/users/bububa/followers","following_url":"https://api.github.com/users/bububa/following{/other_user}","gists_url":"https://api.github.com/users/bububa/gists{/gist_id}","starred_url":"https://api.github.com/users/bububa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bububa/subscriptions","organizations_url":"https://api.github.com/users/bububa/orgs","repos_url":"https://api.github.com/users/bububa/repos","events_url":"https://api.github.com/users/bububa/events{/privacy}","received_events_url":"https://api.github.com/users/bububa/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bububa/MongoHub","description":"Mongodb GUI tool based on Titanium. If you want a native mac version please check http://github.com/bububa/MongoHub-Mac","fork":false,"url":"https://api.github.com/repos/bububa/MongoHub","forks_url":"https://api.github.com/repos/bububa/MongoHub/forks","keys_url":"https://api.github.com/repos/bububa/MongoHub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bububa/MongoHub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bububa/MongoHub/teams","hooks_url":"https://api.github.com/repos/bububa/MongoHub/hooks","issue_events_url":"https://api.github.com/repos/bububa/MongoHub/issues/events{/number}","events_url":"https://api.github.com/repos/bububa/MongoHub/events","assignees_url":"https://api.github.com/repos/bububa/MongoHub/assignees{/user}","branches_url":"https://api.github.com/repos/bububa/MongoHub/branches{/branch}","tags_url":"https://api.github.com/repos/bububa/MongoHub/tags","blobs_url":"https://api.github.com/repos/bububa/MongoHub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bububa/MongoHub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bububa/MongoHub/git/refs{/sha}","trees_url":"https://api.github.com/repos/bububa/MongoHub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bububa/MongoHub/statuses/{sha}","languages_url":"https://api.github.com/repos/bububa/MongoHub/languages","stargazers_url":"https://api.github.com/repos/bububa/MongoHub/stargazers","contributors_url":"https://api.github.com/repos/bububa/MongoHub/contributors","subscribers_url":"https://api.github.com/repos/bububa/MongoHub/subscribers","subscription_url":"https://api.github.com/repos/bububa/MongoHub/subscription","commits_url":"https://api.github.com/repos/bububa/MongoHub/commits{/sha}","git_commits_url":"https://api.github.com/repos/bububa/MongoHub/git/commits{/sha}","comments_url":"https://api.github.com/repos/bububa/MongoHub/comments{/number}","issue_comment_url":"https://api.github.com/repos/bububa/MongoHub/issues/comments/{number}","contents_url":"https://api.github.com/repos/bububa/MongoHub/contents/{+path}","compare_url":"https://api.github.com/repos/bububa/MongoHub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bububa/MongoHub/merges","archive_url":"https://api.github.com/repos/bububa/MongoHub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bububa/MongoHub/downloads","issues_url":"https://api.github.com/repos/bububa/MongoHub/issues{/number}","pulls_url":"https://api.github.com/repos/bububa/MongoHub/pulls{/number}","milestones_url":"https://api.github.com/repos/bububa/MongoHub/milestones{/number}","notifications_url":"https://api.github.com/repos/bububa/MongoHub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bububa/MongoHub/labels{/name}","releases_url":"https://api.github.com/repos/bububa/MongoHub/releases{/id}","created_at":"2009-12-07T18:34:33Z","updated_at":"2014-01-15T03:58:25Z","pushed_at":"2009-12-07T18:53:48Z","git_url":"git://github.com/bububa/MongoHub.git","ssh_url":"git@github.com:bububa/MongoHub.git","clone_url":"https://github.com/bububa/MongoHub.git","svn_url":"https://github.com/bububa/MongoHub","homepage":"http://api.appcelerator.net/p/pages/app_page?token=p4jmAb33","size":1194,"stargazers_count":97,"watchers_count":97,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":15,"mirror_url":null,"open_issues_count":2,"forks":15,"open_issues":2,"watchers":97,"default_branch":"master","master_branch":"master","score":6.2510147},{"id":7197654,"name":"imhotep","full_name":"justinabrahms/imhotep","owner":{"login":"justinabrahms","id":3853,"avatar_url":"https://avatars.githubusercontent.com/u/3853","gravatar_id":"bdb15b608b3bf84da98fa55c28ee0362","url":"https://api.github.com/users/justinabrahms","html_url":"https://github.com/justinabrahms","followers_url":"https://api.github.com/users/justinabrahms/followers","following_url":"https://api.github.com/users/justinabrahms/following{/other_user}","gists_url":"https://api.github.com/users/justinabrahms/gists{/gist_id}","starred_url":"https://api.github.com/users/justinabrahms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinabrahms/subscriptions","organizations_url":"https://api.github.com/users/justinabrahms/orgs","repos_url":"https://api.github.com/users/justinabrahms/repos","events_url":"https://api.github.com/users/justinabrahms/events{/privacy}","received_events_url":"https://api.github.com/users/justinabrahms/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/justinabrahms/imhotep","description":"A static-analysis bot for Github","fork":false,"url":"https://api.github.com/repos/justinabrahms/imhotep","forks_url":"https://api.github.com/repos/justinabrahms/imhotep/forks","keys_url":"https://api.github.com/repos/justinabrahms/imhotep/keys{/key_id}","collaborators_url":"https://api.github.com/repos/justinabrahms/imhotep/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/justinabrahms/imhotep/teams","hooks_url":"https://api.github.com/repos/justinabrahms/imhotep/hooks","issue_events_url":"https://api.github.com/repos/justinabrahms/imhotep/issues/events{/number}","events_url":"https://api.github.com/repos/justinabrahms/imhotep/events","assignees_url":"https://api.github.com/repos/justinabrahms/imhotep/assignees{/user}","branches_url":"https://api.github.com/repos/justinabrahms/imhotep/branches{/branch}","tags_url":"https://api.github.com/repos/justinabrahms/imhotep/tags","blobs_url":"https://api.github.com/repos/justinabrahms/imhotep/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/justinabrahms/imhotep/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/justinabrahms/imhotep/git/refs{/sha}","trees_url":"https://api.github.com/repos/justinabrahms/imhotep/git/trees{/sha}","statuses_url":"https://api.github.com/repos/justinabrahms/imhotep/statuses/{sha}","languages_url":"https://api.github.com/repos/justinabrahms/imhotep/languages","stargazers_url":"https://api.github.com/repos/justinabrahms/imhotep/stargazers","contributors_url":"https://api.github.com/repos/justinabrahms/imhotep/contributors","subscribers_url":"https://api.github.com/repos/justinabrahms/imhotep/subscribers","subscription_url":"https://api.github.com/repos/justinabrahms/imhotep/subscription","commits_url":"https://api.github.com/repos/justinabrahms/imhotep/commits{/sha}","git_commits_url":"https://api.github.com/repos/justinabrahms/imhotep/git/commits{/sha}","comments_url":"https://api.github.com/repos/justinabrahms/imhotep/comments{/number}","issue_comment_url":"https://api.github.com/repos/justinabrahms/imhotep/issues/comments/{number}","contents_url":"https://api.github.com/repos/justinabrahms/imhotep/contents/{+path}","compare_url":"https://api.github.com/repos/justinabrahms/imhotep/compare/{base}...{head}","merges_url":"https://api.github.com/repos/justinabrahms/imhotep/merges","archive_url":"https://api.github.com/repos/justinabrahms/imhotep/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/justinabrahms/imhotep/downloads","issues_url":"https://api.github.com/repos/justinabrahms/imhotep/issues{/number}","pulls_url":"https://api.github.com/repos/justinabrahms/imhotep/pulls{/number}","milestones_url":"https://api.github.com/repos/justinabrahms/imhotep/milestones{/number}","notifications_url":"https://api.github.com/repos/justinabrahms/imhotep/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/justinabrahms/imhotep/labels{/name}","releases_url":"https://api.github.com/repos/justinabrahms/imhotep/releases{/id}","created_at":"2012-12-17T01:26:32Z","updated_at":"2014-02-22T20:35:35Z","pushed_at":"2014-02-22T20:35:34Z","git_url":"git://github.com/justinabrahms/imhotep.git","ssh_url":"git@github.com:justinabrahms/imhotep.git","clone_url":"https://github.com/justinabrahms/imhotep.git","svn_url":"https://github.com/justinabrahms/imhotep","homepage":null,"size":1628,"stargazers_count":95,"watchers_count":95,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":11,"mirror_url":null,"open_issues_count":8,"forks":11,"open_issues":8,"watchers":95,"default_branch":"master","master_branch":"master","score":12.920913},{"id":3944100,"name":"ooni-probe","full_name":"TheTorProject/ooni-probe","owner":{"login":"TheTorProject","id":3301912,"avatar_url":"https://avatars.githubusercontent.com/u/3301912","gravatar_id":"11c23a775bfe036e7b0df327cba6d9fc","url":"https://api.github.com/users/TheTorProject","html_url":"https://github.com/TheTorProject","followers_url":"https://api.github.com/users/TheTorProject/followers","following_url":"https://api.github.com/users/TheTorProject/following{/other_user}","gists_url":"https://api.github.com/users/TheTorProject/gists{/gist_id}","starred_url":"https://api.github.com/users/TheTorProject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheTorProject/subscriptions","organizations_url":"https://api.github.com/users/TheTorProject/orgs","repos_url":"https://api.github.com/users/TheTorProject/repos","events_url":"https://api.github.com/users/TheTorProject/events{/privacy}","received_events_url":"https://api.github.com/users/TheTorProject/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TheTorProject/ooni-probe","description":"github copy of OONI-probe https://gitweb.torproject.org/ooni-probe.git","fork":false,"url":"https://api.github.com/repos/TheTorProject/ooni-probe","forks_url":"https://api.github.com/repos/TheTorProject/ooni-probe/forks","keys_url":"https://api.github.com/repos/TheTorProject/ooni-probe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TheTorProject/ooni-probe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TheTorProject/ooni-probe/teams","hooks_url":"https://api.github.com/repos/TheTorProject/ooni-probe/hooks","issue_events_url":"https://api.github.com/repos/TheTorProject/ooni-probe/issues/events{/number}","events_url":"https://api.github.com/repos/TheTorProject/ooni-probe/events","assignees_url":"https://api.github.com/repos/TheTorProject/ooni-probe/assignees{/user}","branches_url":"https://api.github.com/repos/TheTorProject/ooni-probe/branches{/branch}","tags_url":"https://api.github.com/repos/TheTorProject/ooni-probe/tags","blobs_url":"https://api.github.com/repos/TheTorProject/ooni-probe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TheTorProject/ooni-probe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TheTorProject/ooni-probe/git/refs{/sha}","trees_url":"https://api.github.com/repos/TheTorProject/ooni-probe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TheTorProject/ooni-probe/statuses/{sha}","languages_url":"https://api.github.com/repos/TheTorProject/ooni-probe/languages","stargazers_url":"https://api.github.com/repos/TheTorProject/ooni-probe/stargazers","contributors_url":"https://api.github.com/repos/TheTorProject/ooni-probe/contributors","subscribers_url":"https://api.github.com/repos/TheTorProject/ooni-probe/subscribers","subscription_url":"https://api.github.com/repos/TheTorProject/ooni-probe/subscription","commits_url":"https://api.github.com/repos/TheTorProject/ooni-probe/commits{/sha}","git_commits_url":"https://api.github.com/repos/TheTorProject/ooni-probe/git/commits{/sha}","comments_url":"https://api.github.com/repos/TheTorProject/ooni-probe/comments{/number}","issue_comment_url":"https://api.github.com/repos/TheTorProject/ooni-probe/issues/comments/{number}","contents_url":"https://api.github.com/repos/TheTorProject/ooni-probe/contents/{+path}","compare_url":"https://api.github.com/repos/TheTorProject/ooni-probe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TheTorProject/ooni-probe/merges","archive_url":"https://api.github.com/repos/TheTorProject/ooni-probe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TheTorProject/ooni-probe/downloads","issues_url":"https://api.github.com/repos/TheTorProject/ooni-probe/issues{/number}","pulls_url":"https://api.github.com/repos/TheTorProject/ooni-probe/pulls{/number}","milestones_url":"https://api.github.com/repos/TheTorProject/ooni-probe/milestones{/number}","notifications_url":"https://api.github.com/repos/TheTorProject/ooni-probe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TheTorProject/ooni-probe/labels{/name}","releases_url":"https://api.github.com/repos/TheTorProject/ooni-probe/releases{/id}","created_at":"2012-04-05T20:59:23Z","updated_at":"2014-03-01T18:02:56Z","pushed_at":"2014-03-01T18:02:55Z","git_url":"git://github.com/TheTorProject/ooni-probe.git","ssh_url":"git@github.com:TheTorProject/ooni-probe.git","clone_url":"https://github.com/TheTorProject/ooni-probe.git","svn_url":"https://github.com/TheTorProject/ooni-probe","homepage":"https://ooni.torproject.org","size":9513,"stargazers_count":92,"watchers_count":92,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":37,"mirror_url":null,"open_issues_count":44,"forks":37,"open_issues":44,"watchers":92,"default_branch":"master","master_branch":"master","score":9.728605},{"id":2284312,"name":"Repos.io","full_name":"twidi/Repos.io","owner":{"login":"twidi","id":193474,"avatar_url":"https://avatars.githubusercontent.com/u/193474","gravatar_id":"4929cd99d0f54b7fa03081f9ab8bb0d4","url":"https://api.github.com/users/twidi","html_url":"https://github.com/twidi","followers_url":"https://api.github.com/users/twidi/followers","following_url":"https://api.github.com/users/twidi/following{/other_user}","gists_url":"https://api.github.com/users/twidi/gists{/gist_id}","starred_url":"https://api.github.com/users/twidi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twidi/subscriptions","organizations_url":"https://api.github.com/users/twidi/orgs","repos_url":"https://api.github.com/users/twidi/repos","events_url":"https://api.github.com/users/twidi/events{/privacy}","received_events_url":"https://api.github.com/users/twidi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/twidi/Repos.io","description":"The source code of the Repos.io site, a site to help you manage all your repositories (your own, and watched/liked/followed ones) hosted by different providers (github, bitbucket) ","fork":false,"url":"https://api.github.com/repos/twidi/Repos.io","forks_url":"https://api.github.com/repos/twidi/Repos.io/forks","keys_url":"https://api.github.com/repos/twidi/Repos.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/twidi/Repos.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/twidi/Repos.io/teams","hooks_url":"https://api.github.com/repos/twidi/Repos.io/hooks","issue_events_url":"https://api.github.com/repos/twidi/Repos.io/issues/events{/number}","events_url":"https://api.github.com/repos/twidi/Repos.io/events","assignees_url":"https://api.github.com/repos/twidi/Repos.io/assignees{/user}","branches_url":"https://api.github.com/repos/twidi/Repos.io/branches{/branch}","tags_url":"https://api.github.com/repos/twidi/Repos.io/tags","blobs_url":"https://api.github.com/repos/twidi/Repos.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/twidi/Repos.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/twidi/Repos.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/twidi/Repos.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/twidi/Repos.io/statuses/{sha}","languages_url":"https://api.github.com/repos/twidi/Repos.io/languages","stargazers_url":"https://api.github.com/repos/twidi/Repos.io/stargazers","contributors_url":"https://api.github.com/repos/twidi/Repos.io/contributors","subscribers_url":"https://api.github.com/repos/twidi/Repos.io/subscribers","subscription_url":"https://api.github.com/repos/twidi/Repos.io/subscription","commits_url":"https://api.github.com/repos/twidi/Repos.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/twidi/Repos.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/twidi/Repos.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/twidi/Repos.io/issues/comments/{number}","contents_url":"https://api.github.com/repos/twidi/Repos.io/contents/{+path}","compare_url":"https://api.github.com/repos/twidi/Repos.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/twidi/Repos.io/merges","archive_url":"https://api.github.com/repos/twidi/Repos.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/twidi/Repos.io/downloads","issues_url":"https://api.github.com/repos/twidi/Repos.io/issues{/number}","pulls_url":"https://api.github.com/repos/twidi/Repos.io/pulls{/number}","milestones_url":"https://api.github.com/repos/twidi/Repos.io/milestones{/number}","notifications_url":"https://api.github.com/repos/twidi/Repos.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/twidi/Repos.io/labels{/name}","releases_url":"https://api.github.com/repos/twidi/Repos.io/releases{/id}","created_at":"2011-08-28T18:05:49Z","updated_at":"2014-01-14T20:24:52Z","pushed_at":"2012-12-11T20:32:13Z","git_url":"git://github.com/twidi/Repos.io.git","ssh_url":"git@github.com:twidi/Repos.io.git","clone_url":"https://github.com/twidi/Repos.io.git","svn_url":"https://github.com/twidi/Repos.io","homepage":"http://repos.io","size":2471,"stargazers_count":92,"watchers_count":92,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":8,"mirror_url":null,"open_issues_count":18,"forks":8,"open_issues":18,"watchers":92,"default_branch":"develop","master_branch":"develop","score":3.960822},{"id":10574482,"name":"docker-ansible","full_name":"cove/docker-ansible","owner":{"login":"cove","id":612300,"avatar_url":"https://avatars.githubusercontent.com/u/612300","gravatar_id":"2d1b3ab8c563c220d681a09395319ace","url":"https://api.github.com/users/cove","html_url":"https://github.com/cove","followers_url":"https://api.github.com/users/cove/followers","following_url":"https://api.github.com/users/cove/following{/other_user}","gists_url":"https://api.github.com/users/cove/gists{/gist_id}","starred_url":"https://api.github.com/users/cove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cove/subscriptions","organizations_url":"https://api.github.com/users/cove/orgs","repos_url":"https://api.github.com/users/cove/repos","events_url":"https://api.github.com/users/cove/events{/privacy}","received_events_url":"https://api.github.com/users/cove/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cove/docker-ansible","description":"Ansible module for Docker. Note: This module is now part of Ansible core, please see https://github.com/ansible/ansible.","fork":false,"url":"https://api.github.com/repos/cove/docker-ansible","forks_url":"https://api.github.com/repos/cove/docker-ansible/forks","keys_url":"https://api.github.com/repos/cove/docker-ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cove/docker-ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cove/docker-ansible/teams","hooks_url":"https://api.github.com/repos/cove/docker-ansible/hooks","issue_events_url":"https://api.github.com/repos/cove/docker-ansible/issues/events{/number}","events_url":"https://api.github.com/repos/cove/docker-ansible/events","assignees_url":"https://api.github.com/repos/cove/docker-ansible/assignees{/user}","branches_url":"https://api.github.com/repos/cove/docker-ansible/branches{/branch}","tags_url":"https://api.github.com/repos/cove/docker-ansible/tags","blobs_url":"https://api.github.com/repos/cove/docker-ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cove/docker-ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cove/docker-ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/cove/docker-ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cove/docker-ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/cove/docker-ansible/languages","stargazers_url":"https://api.github.com/repos/cove/docker-ansible/stargazers","contributors_url":"https://api.github.com/repos/cove/docker-ansible/contributors","subscribers_url":"https://api.github.com/repos/cove/docker-ansible/subscribers","subscription_url":"https://api.github.com/repos/cove/docker-ansible/subscription","commits_url":"https://api.github.com/repos/cove/docker-ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/cove/docker-ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/cove/docker-ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/cove/docker-ansible/issues/comments/{number}","contents_url":"https://api.github.com/repos/cove/docker-ansible/contents/{+path}","compare_url":"https://api.github.com/repos/cove/docker-ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cove/docker-ansible/merges","archive_url":"https://api.github.com/repos/cove/docker-ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cove/docker-ansible/downloads","issues_url":"https://api.github.com/repos/cove/docker-ansible/issues{/number}","pulls_url":"https://api.github.com/repos/cove/docker-ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/cove/docker-ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/cove/docker-ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cove/docker-ansible/labels{/name}","releases_url":"https://api.github.com/repos/cove/docker-ansible/releases{/id}","created_at":"2013-06-08T21:26:20Z","updated_at":"2014-01-16T10:51:36Z","pushed_at":"2013-11-17T00:20:57Z","git_url":"git://github.com/cove/docker-ansible.git","ssh_url":"git@github.com:cove/docker-ansible.git","clone_url":"https://github.com/cove/docker-ansible.git","svn_url":"https://github.com/cove/docker-ansible","homepage":"","size":316,"stargazers_count":100,"watchers_count":100,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":16,"mirror_url":null,"open_issues_count":0,"forks":16,"open_issues":0,"watchers":100,"default_branch":"master","master_branch":"master","score":7.451908},{"id":865573,"name":"snipt-old","full_name":"nicksergeant/snipt-old","owner":{"login":"nicksergeant","id":27332,"avatar_url":"https://avatars.githubusercontent.com/u/27332","gravatar_id":"a74159ce0c29f89b75a25037e40b27a4","url":"https://api.github.com/users/nicksergeant","html_url":"https://github.com/nicksergeant","followers_url":"https://api.github.com/users/nicksergeant/followers","following_url":"https://api.github.com/users/nicksergeant/following{/other_user}","gists_url":"https://api.github.com/users/nicksergeant/gists{/gist_id}","starred_url":"https://api.github.com/users/nicksergeant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicksergeant/subscriptions","organizations_url":"https://api.github.com/users/nicksergeant/orgs","repos_url":"https://api.github.com/users/nicksergeant/repos","events_url":"https://api.github.com/users/nicksergeant/events{/privacy}","received_events_url":"https://api.github.com/users/nicksergeant/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nicksergeant/snipt-old","description":"The old codebase for Snipt.net. You probably don't want this. Head to https://github.com/nicksergeant/snipt instead.","fork":false,"url":"https://api.github.com/repos/nicksergeant/snipt-old","forks_url":"https://api.github.com/repos/nicksergeant/snipt-old/forks","keys_url":"https://api.github.com/repos/nicksergeant/snipt-old/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nicksergeant/snipt-old/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nicksergeant/snipt-old/teams","hooks_url":"https://api.github.com/repos/nicksergeant/snipt-old/hooks","issue_events_url":"https://api.github.com/repos/nicksergeant/snipt-old/issues/events{/number}","events_url":"https://api.github.com/repos/nicksergeant/snipt-old/events","assignees_url":"https://api.github.com/repos/nicksergeant/snipt-old/assignees{/user}","branches_url":"https://api.github.com/repos/nicksergeant/snipt-old/branches{/branch}","tags_url":"https://api.github.com/repos/nicksergeant/snipt-old/tags","blobs_url":"https://api.github.com/repos/nicksergeant/snipt-old/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nicksergeant/snipt-old/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nicksergeant/snipt-old/git/refs{/sha}","trees_url":"https://api.github.com/repos/nicksergeant/snipt-old/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nicksergeant/snipt-old/statuses/{sha}","languages_url":"https://api.github.com/repos/nicksergeant/snipt-old/languages","stargazers_url":"https://api.github.com/repos/nicksergeant/snipt-old/stargazers","contributors_url":"https://api.github.com/repos/nicksergeant/snipt-old/contributors","subscribers_url":"https://api.github.com/repos/nicksergeant/snipt-old/subscribers","subscription_url":"https://api.github.com/repos/nicksergeant/snipt-old/subscription","commits_url":"https://api.github.com/repos/nicksergeant/snipt-old/commits{/sha}","git_commits_url":"https://api.github.com/repos/nicksergeant/snipt-old/git/commits{/sha}","comments_url":"https://api.github.com/repos/nicksergeant/snipt-old/comments{/number}","issue_comment_url":"https://api.github.com/repos/nicksergeant/snipt-old/issues/comments/{number}","contents_url":"https://api.github.com/repos/nicksergeant/snipt-old/contents/{+path}","compare_url":"https://api.github.com/repos/nicksergeant/snipt-old/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nicksergeant/snipt-old/merges","archive_url":"https://api.github.com/repos/nicksergeant/snipt-old/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nicksergeant/snipt-old/downloads","issues_url":"https://api.github.com/repos/nicksergeant/snipt-old/issues{/number}","pulls_url":"https://api.github.com/repos/nicksergeant/snipt-old/pulls{/number}","milestones_url":"https://api.github.com/repos/nicksergeant/snipt-old/milestones{/number}","notifications_url":"https://api.github.com/repos/nicksergeant/snipt-old/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nicksergeant/snipt-old/labels{/name}","releases_url":"https://api.github.com/repos/nicksergeant/snipt-old/releases{/id}","created_at":"2010-08-27T04:04:35Z","updated_at":"2013-11-13T18:32:02Z","pushed_at":"2012-09-19T00:09:48Z","git_url":"git://github.com/nicksergeant/snipt-old.git","ssh_url":"git@github.com:nicksergeant/snipt-old.git","clone_url":"https://github.com/nicksergeant/snipt-old.git","svn_url":"https://github.com/nicksergeant/snipt-old","homepage":"https://snipt.net","size":670,"stargazers_count":88,"watchers_count":88,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"forks_count":7,"mirror_url":null,"open_issues_count":0,"forks":7,"open_issues":0,"watchers":88,"default_branch":"master","master_branch":"master","score":5.22918},{"id":688960,"name":"django-class-based-views","full_name":"bfirsh/django-class-based-views","owner":{"login":"bfirsh","id":40906,"avatar_url":"https://avatars.githubusercontent.com/u/40906","gravatar_id":"011ce2693e5feec652d9ff2cc1b90d15","url":"https://api.github.com/users/bfirsh","html_url":"https://github.com/bfirsh","followers_url":"https://api.github.com/users/bfirsh/followers","following_url":"https://api.github.com/users/bfirsh/following{/other_user}","gists_url":"https://api.github.com/users/bfirsh/gists{/gist_id}","starred_url":"https://api.github.com/users/bfirsh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bfirsh/subscriptions","organizations_url":"https://api.github.com/users/bfirsh/orgs","repos_url":"https://api.github.com/users/bfirsh/repos","events_url":"https://api.github.com/users/bfirsh/events{/privacy}","received_events_url":"https://api.github.com/users/bfirsh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bfirsh/django-class-based-views","description":"Work on class-based views, now part of Django 1.3. For a backport to Django 1.2, see https://github.com/sorl/django-cbv","fork":false,"url":"https://api.github.com/repos/bfirsh/django-class-based-views","forks_url":"https://api.github.com/repos/bfirsh/django-class-based-views/forks","keys_url":"https://api.github.com/repos/bfirsh/django-class-based-views/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bfirsh/django-class-based-views/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bfirsh/django-class-based-views/teams","hooks_url":"https://api.github.com/repos/bfirsh/django-class-based-views/hooks","issue_events_url":"https://api.github.com/repos/bfirsh/django-class-based-views/issues/events{/number}","events_url":"https://api.github.com/repos/bfirsh/django-class-based-views/events","assignees_url":"https://api.github.com/repos/bfirsh/django-class-based-views/assignees{/user}","branches_url":"https://api.github.com/repos/bfirsh/django-class-based-views/branches{/branch}","tags_url":"https://api.github.com/repos/bfirsh/django-class-based-views/tags","blobs_url":"https://api.github.com/repos/bfirsh/django-class-based-views/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bfirsh/django-class-based-views/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bfirsh/django-class-based-views/git/refs{/sha}","trees_url":"https://api.github.com/repos/bfirsh/django-class-based-views/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bfirsh/django-class-based-views/statuses/{sha}","languages_url":"https://api.github.com/repos/bfirsh/django-class-based-views/languages","stargazers_url":"https://api.github.com/repos/bfirsh/django-class-based-views/stargazers","contributors_url":"https://api.github.com/repos/bfirsh/django-class-based-views/contributors","subscribers_url":"https://api.github.com/repos/bfirsh/django-class-based-views/subscribers","subscription_url":"https://api.github.com/repos/bfirsh/django-class-based-views/subscription","commits_url":"https://api.github.com/repos/bfirsh/django-class-based-views/commits{/sha}","git_commits_url":"https://api.github.com/repos/bfirsh/django-class-based-views/git/commits{/sha}","comments_url":"https://api.github.com/repos/bfirsh/django-class-based-views/comments{/number}","issue_comment_url":"https://api.github.com/repos/bfirsh/django-class-based-views/issues/comments/{number}","contents_url":"https://api.github.com/repos/bfirsh/django-class-based-views/contents/{+path}","compare_url":"https://api.github.com/repos/bfirsh/django-class-based-views/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bfirsh/django-class-based-views/merges","archive_url":"https://api.github.com/repos/bfirsh/django-class-based-views/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bfirsh/django-class-based-views/downloads","issues_url":"https://api.github.com/repos/bfirsh/django-class-based-views/issues{/number}","pulls_url":"https://api.github.com/repos/bfirsh/django-class-based-views/pulls{/number}","milestones_url":"https://api.github.com/repos/bfirsh/django-class-based-views/milestones{/number}","notifications_url":"https://api.github.com/repos/bfirsh/django-class-based-views/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bfirsh/django-class-based-views/labels{/name}","releases_url":"https://api.github.com/repos/bfirsh/django-class-based-views/releases{/id}","created_at":"2010-05-27T09:41:08Z","updated_at":"2013-10-09T07:00:13Z","pushed_at":"2010-10-12T22:37:43Z","git_url":"git://github.com/bfirsh/django-class-based-views.git","ssh_url":"git@github.com:bfirsh/django-class-based-views.git","clone_url":"https://github.com/bfirsh/django-class-based-views.git","svn_url":"https://github.com/bfirsh/django-class-based-views","homepage":"http://code.djangoproject.com/ticket/6735","size":146,"stargazers_count":82,"watchers_count":82,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":9,"mirror_url":null,"open_issues_count":2,"forks":9,"open_issues":2,"watchers":82,"default_branch":"master","master_branch":"master","score":5.0480146},{"id":1573719,"name":"python-github3","full_name":"kennethreitz-archive/python-github3","owner":{"login":"kennethreitz-archive","id":2083354,"avatar_url":"https://avatars.githubusercontent.com/u/2083354","gravatar_id":"39004cc26cddad79ad533e8d12766f5c","url":"https://api.github.com/users/kennethreitz-archive","html_url":"https://github.com/kennethreitz-archive","followers_url":"https://api.github.com/users/kennethreitz-archive/followers","following_url":"https://api.github.com/users/kennethreitz-archive/following{/other_user}","gists_url":"https://api.github.com/users/kennethreitz-archive/gists{/gist_id}","starred_url":"https://api.github.com/users/kennethreitz-archive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kennethreitz-archive/subscriptions","organizations_url":"https://api.github.com/users/kennethreitz-archive/orgs","repos_url":"https://api.github.com/users/kennethreitz-archive/repos","events_url":"https://api.github.com/users/kennethreitz-archive/events{/privacy}","received_events_url":"https://api.github.com/users/kennethreitz-archive/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kennethreitz-archive/python-github3","description":"[In Progress] Python wrapper for the new GitHub API.","fork":false,"url":"https://api.github.com/repos/kennethreitz-archive/python-github3","forks_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/forks","keys_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/teams","hooks_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/hooks","issue_events_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/issues/events{/number}","events_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/events","assignees_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/assignees{/user}","branches_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/branches{/branch}","tags_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/tags","blobs_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/git/refs{/sha}","trees_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/statuses/{sha}","languages_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/languages","stargazers_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/stargazers","contributors_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/contributors","subscribers_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/subscribers","subscription_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/subscription","commits_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/commits{/sha}","git_commits_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/git/commits{/sha}","comments_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/comments{/number}","issue_comment_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/issues/comments/{number}","contents_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/contents/{+path}","compare_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/merges","archive_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/downloads","issues_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/issues{/number}","pulls_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/pulls{/number}","milestones_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/milestones{/number}","notifications_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/labels{/name}","releases_url":"https://api.github.com/repos/kennethreitz-archive/python-github3/releases{/id}","created_at":"2011-04-05T19:54:24Z","updated_at":"2014-01-06T07:29:11Z","pushed_at":"2011-12-27T04:39:43Z","git_url":"git://github.com/kennethreitz-archive/python-github3.git","ssh_url":"git@github.com:kennethreitz-archive/python-github3.git","clone_url":"https://github.com/kennethreitz-archive/python-github3.git","svn_url":"https://github.com/kennethreitz-archive/python-github3","homepage":"developer.github.com/v3","size":181,"stargazers_count":80,"watchers_count":80,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":52,"mirror_url":null,"open_issues_count":1,"forks":52,"open_issues":1,"watchers":80,"default_branch":"master","master_branch":"master","score":21.971436},{"id":178899,"name":"github-tools","full_name":"dinoboff/github-tools","owner":{"login":"dinoboff","id":6830,"avatar_url":"https://avatars.githubusercontent.com/u/6830","gravatar_id":"16ceb28d7e6867f78e92c3b82ac01b48","url":"https://api.github.com/users/dinoboff","html_url":"https://github.com/dinoboff","followers_url":"https://api.github.com/users/dinoboff/followers","following_url":"https://api.github.com/users/dinoboff/following{/other_user}","gists_url":"https://api.github.com/users/dinoboff/gists{/gist_id}","starred_url":"https://api.github.com/users/dinoboff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dinoboff/subscriptions","organizations_url":"https://api.github.com/users/dinoboff/orgs","repos_url":"https://api.github.com/users/dinoboff/repos","events_url":"https://api.github.com/users/dinoboff/events{/privacy}","received_events_url":"https://api.github.com/users/dinoboff/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dinoboff/github-tools","description":"Helpers for hosting python projects on GitHub","fork":false,"url":"https://api.github.com/repos/dinoboff/github-tools","forks_url":"https://api.github.com/repos/dinoboff/github-tools/forks","keys_url":"https://api.github.com/repos/dinoboff/github-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dinoboff/github-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dinoboff/github-tools/teams","hooks_url":"https://api.github.com/repos/dinoboff/github-tools/hooks","issue_events_url":"https://api.github.com/repos/dinoboff/github-tools/issues/events{/number}","events_url":"https://api.github.com/repos/dinoboff/github-tools/events","assignees_url":"https://api.github.com/repos/dinoboff/github-tools/assignees{/user}","branches_url":"https://api.github.com/repos/dinoboff/github-tools/branches{/branch}","tags_url":"https://api.github.com/repos/dinoboff/github-tools/tags","blobs_url":"https://api.github.com/repos/dinoboff/github-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dinoboff/github-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dinoboff/github-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/dinoboff/github-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dinoboff/github-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/dinoboff/github-tools/languages","stargazers_url":"https://api.github.com/repos/dinoboff/github-tools/stargazers","contributors_url":"https://api.github.com/repos/dinoboff/github-tools/contributors","subscribers_url":"https://api.github.com/repos/dinoboff/github-tools/subscribers","subscription_url":"https://api.github.com/repos/dinoboff/github-tools/subscription","commits_url":"https://api.github.com/repos/dinoboff/github-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/dinoboff/github-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/dinoboff/github-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/dinoboff/github-tools/issues/comments/{number}","contents_url":"https://api.github.com/repos/dinoboff/github-tools/contents/{+path}","compare_url":"https://api.github.com/repos/dinoboff/github-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dinoboff/github-tools/merges","archive_url":"https://api.github.com/repos/dinoboff/github-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dinoboff/github-tools/downloads","issues_url":"https://api.github.com/repos/dinoboff/github-tools/issues{/number}","pulls_url":"https://api.github.com/repos/dinoboff/github-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/dinoboff/github-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/dinoboff/github-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dinoboff/github-tools/labels{/name}","releases_url":"https://api.github.com/repos/dinoboff/github-tools/releases{/id}","created_at":"2009-04-17T22:01:03Z","updated_at":"2013-10-31T08:20:36Z","pushed_at":"2011-09-29T09:10:26Z","git_url":"git://github.com/dinoboff/github-tools.git","ssh_url":"git@github.com:dinoboff/github-tools.git","clone_url":"https://github.com/dinoboff/github-tools.git","svn_url":"https://github.com/dinoboff/github-tools","homepage":"http://dinoboff.github.com/github-tools/","size":483,"stargazers_count":79,"watchers_count":79,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"forks_count":5,"mirror_url":null,"open_issues_count":2,"forks":5,"open_issues":2,"watchers":79,"default_branch":"master","master_branch":"master","score":11.083623},{"id":2985492,"name":"bugwarrior","full_name":"ralphbean/bugwarrior","owner":{"login":"ralphbean","id":331338,"avatar_url":"https://avatars.githubusercontent.com/u/331338","gravatar_id":"ba940b433c2695635d32d2c4aec00540","url":"https://api.github.com/users/ralphbean","html_url":"https://github.com/ralphbean","followers_url":"https://api.github.com/users/ralphbean/followers","following_url":"https://api.github.com/users/ralphbean/following{/other_user}","gists_url":"https://api.github.com/users/ralphbean/gists{/gist_id}","starred_url":"https://api.github.com/users/ralphbean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ralphbean/subscriptions","organizations_url":"https://api.github.com/users/ralphbean/orgs","repos_url":"https://api.github.com/users/ralphbean/repos","events_url":"https://api.github.com/users/ralphbean/events{/privacy}","received_events_url":"https://api.github.com/users/ralphbean/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ralphbean/bugwarrior","description":"Pull github, bitbucket, and trac issues into taskwarrior","fork":false,"url":"https://api.github.com/repos/ralphbean/bugwarrior","forks_url":"https://api.github.com/repos/ralphbean/bugwarrior/forks","keys_url":"https://api.github.com/repos/ralphbean/bugwarrior/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ralphbean/bugwarrior/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ralphbean/bugwarrior/teams","hooks_url":"https://api.github.com/repos/ralphbean/bugwarrior/hooks","issue_events_url":"https://api.github.com/repos/ralphbean/bugwarrior/issues/events{/number}","events_url":"https://api.github.com/repos/ralphbean/bugwarrior/events","assignees_url":"https://api.github.com/repos/ralphbean/bugwarrior/assignees{/user}","branches_url":"https://api.github.com/repos/ralphbean/bugwarrior/branches{/branch}","tags_url":"https://api.github.com/repos/ralphbean/bugwarrior/tags","blobs_url":"https://api.github.com/repos/ralphbean/bugwarrior/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ralphbean/bugwarrior/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ralphbean/bugwarrior/git/refs{/sha}","trees_url":"https://api.github.com/repos/ralphbean/bugwarrior/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ralphbean/bugwarrior/statuses/{sha}","languages_url":"https://api.github.com/repos/ralphbean/bugwarrior/languages","stargazers_url":"https://api.github.com/repos/ralphbean/bugwarrior/stargazers","contributors_url":"https://api.github.com/repos/ralphbean/bugwarrior/contributors","subscribers_url":"https://api.github.com/repos/ralphbean/bugwarrior/subscribers","subscription_url":"https://api.github.com/repos/ralphbean/bugwarrior/subscription","commits_url":"https://api.github.com/repos/ralphbean/bugwarrior/commits{/sha}","git_commits_url":"https://api.github.com/repos/ralphbean/bugwarrior/git/commits{/sha}","comments_url":"https://api.github.com/repos/ralphbean/bugwarrior/comments{/number}","issue_comment_url":"https://api.github.com/repos/ralphbean/bugwarrior/issues/comments/{number}","contents_url":"https://api.github.com/repos/ralphbean/bugwarrior/contents/{+path}","compare_url":"https://api.github.com/repos/ralphbean/bugwarrior/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ralphbean/bugwarrior/merges","archive_url":"https://api.github.com/repos/ralphbean/bugwarrior/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ralphbean/bugwarrior/downloads","issues_url":"https://api.github.com/repos/ralphbean/bugwarrior/issues{/number}","pulls_url":"https://api.github.com/repos/ralphbean/bugwarrior/pulls{/number}","milestones_url":"https://api.github.com/repos/ralphbean/bugwarrior/milestones{/number}","notifications_url":"https://api.github.com/repos/ralphbean/bugwarrior/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ralphbean/bugwarrior/labels{/name}","releases_url":"https://api.github.com/repos/ralphbean/bugwarrior/releases{/id}","created_at":"2011-12-15T05:02:33Z","updated_at":"2014-02-14T19:44:10Z","pushed_at":"2014-02-14T19:44:09Z","git_url":"git://github.com/ralphbean/bugwarrior.git","ssh_url":"git@github.com:ralphbean/bugwarrior.git","clone_url":"https://github.com/ralphbean/bugwarrior.git","svn_url":"https://github.com/ralphbean/bugwarrior","homepage":"http://pypi.python.org/pypi/bugwarrior","size":766,"stargazers_count":82,"watchers_count":82,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":27,"mirror_url":null,"open_issues_count":14,"forks":27,"open_issues":14,"watchers":82,"default_branch":"develop","master_branch":"develop","score":12.610705},{"id":9423725,"name":"github-network-analysis","full_name":"coyotebush/github-network-analysis","owner":{"login":"coyotebush","id":227091,"avatar_url":"https://avatars.githubusercontent.com/u/227091","gravatar_id":"c6d20de3d11eaaad7278a76dc25296a4","url":"https://api.github.com/users/coyotebush","html_url":"https://github.com/coyotebush","followers_url":"https://api.github.com/users/coyotebush/followers","following_url":"https://api.github.com/users/coyotebush/following{/other_user}","gists_url":"https://api.github.com/users/coyotebush/gists{/gist_id}","starred_url":"https://api.github.com/users/coyotebush/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coyotebush/subscriptions","organizations_url":"https://api.github.com/users/coyotebush/orgs","repos_url":"https://api.github.com/users/coyotebush/repos","events_url":"https://api.github.com/users/coyotebush/events{/privacy}","received_events_url":"https://api.github.com/users/coyotebush/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/coyotebush/github-network-analysis","description":"Analysis and visualization of top GitHub repositories","fork":false,"url":"https://api.github.com/repos/coyotebush/github-network-analysis","forks_url":"https://api.github.com/repos/coyotebush/github-network-analysis/forks","keys_url":"https://api.github.com/repos/coyotebush/github-network-analysis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coyotebush/github-network-analysis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coyotebush/github-network-analysis/teams","hooks_url":"https://api.github.com/repos/coyotebush/github-network-analysis/hooks","issue_events_url":"https://api.github.com/repos/coyotebush/github-network-analysis/issues/events{/number}","events_url":"https://api.github.com/repos/coyotebush/github-network-analysis/events","assignees_url":"https://api.github.com/repos/coyotebush/github-network-analysis/assignees{/user}","branches_url":"https://api.github.com/repos/coyotebush/github-network-analysis/branches{/branch}","tags_url":"https://api.github.com/repos/coyotebush/github-network-analysis/tags","blobs_url":"https://api.github.com/repos/coyotebush/github-network-analysis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coyotebush/github-network-analysis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coyotebush/github-network-analysis/git/refs{/sha}","trees_url":"https://api.github.com/repos/coyotebush/github-network-analysis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coyotebush/github-network-analysis/statuses/{sha}","languages_url":"https://api.github.com/repos/coyotebush/github-network-analysis/languages","stargazers_url":"https://api.github.com/repos/coyotebush/github-network-analysis/stargazers","contributors_url":"https://api.github.com/repos/coyotebush/github-network-analysis/contributors","subscribers_url":"https://api.github.com/repos/coyotebush/github-network-analysis/subscribers","subscription_url":"https://api.github.com/repos/coyotebush/github-network-analysis/subscription","commits_url":"https://api.github.com/repos/coyotebush/github-network-analysis/commits{/sha}","git_commits_url":"https://api.github.com/repos/coyotebush/github-network-analysis/git/commits{/sha}","comments_url":"https://api.github.com/repos/coyotebush/github-network-analysis/comments{/number}","issue_comment_url":"https://api.github.com/repos/coyotebush/github-network-analysis/issues/comments/{number}","contents_url":"https://api.github.com/repos/coyotebush/github-network-analysis/contents/{+path}","compare_url":"https://api.github.com/repos/coyotebush/github-network-analysis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coyotebush/github-network-analysis/merges","archive_url":"https://api.github.com/repos/coyotebush/github-network-analysis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coyotebush/github-network-analysis/downloads","issues_url":"https://api.github.com/repos/coyotebush/github-network-analysis/issues{/number}","pulls_url":"https://api.github.com/repos/coyotebush/github-network-analysis/pulls{/number}","milestones_url":"https://api.github.com/repos/coyotebush/github-network-analysis/milestones{/number}","notifications_url":"https://api.github.com/repos/coyotebush/github-network-analysis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coyotebush/github-network-analysis/labels{/name}","releases_url":"https://api.github.com/repos/coyotebush/github-network-analysis/releases{/id}","created_at":"2013-04-14T03:10:15Z","updated_at":"2013-12-31T03:55:51Z","pushed_at":"2013-05-06T18:32:33Z","git_url":"git://github.com/coyotebush/github-network-analysis.git","ssh_url":"git@github.com:coyotebush/github-network-analysis.git","clone_url":"https://github.com/coyotebush/github-network-analysis.git","svn_url":"https://github.com/coyotebush/github-network-analysis","homepage":"http://coyotebush.github.io/github-network-analysis/","size":2321,"stargazers_count":75,"watchers_count":75,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":4,"mirror_url":null,"open_issues_count":2,"forks":4,"open_issues":2,"watchers":75,"default_branch":"master","master_branch":"master","score":7.5912576},{"id":185554,"name":"python-gearman","full_name":"samuel/python-gearman","owner":{"login":"samuel","id":8503,"avatar_url":"https://avatars.githubusercontent.com/u/8503","gravatar_id":"f9aaf4c4a1728ef0f36a7f43c3e4e3e9","url":"https://api.github.com/users/samuel","html_url":"https://github.com/samuel","followers_url":"https://api.github.com/users/samuel/followers","following_url":"https://api.github.com/users/samuel/following{/other_user}","gists_url":"https://api.github.com/users/samuel/gists{/gist_id}","starred_url":"https://api.github.com/users/samuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samuel/subscriptions","organizations_url":"https://api.github.com/users/samuel/orgs","repos_url":"https://api.github.com/users/samuel/repos","events_url":"https://api.github.com/users/samuel/events{/privacy}","received_events_url":"https://api.github.com/users/samuel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/samuel/python-gearman","description":"(maintenance transfered to http://github.com/Yelp/python-gearman) Gearman library for Python.","fork":false,"url":"https://api.github.com/repos/samuel/python-gearman","forks_url":"https://api.github.com/repos/samuel/python-gearman/forks","keys_url":"https://api.github.com/repos/samuel/python-gearman/keys{/key_id}","collaborators_url":"https://api.github.com/repos/samuel/python-gearman/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/samuel/python-gearman/teams","hooks_url":"https://api.github.com/repos/samuel/python-gearman/hooks","issue_events_url":"https://api.github.com/repos/samuel/python-gearman/issues/events{/number}","events_url":"https://api.github.com/repos/samuel/python-gearman/events","assignees_url":"https://api.github.com/repos/samuel/python-gearman/assignees{/user}","branches_url":"https://api.github.com/repos/samuel/python-gearman/branches{/branch}","tags_url":"https://api.github.com/repos/samuel/python-gearman/tags","blobs_url":"https://api.github.com/repos/samuel/python-gearman/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/samuel/python-gearman/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/samuel/python-gearman/git/refs{/sha}","trees_url":"https://api.github.com/repos/samuel/python-gearman/git/trees{/sha}","statuses_url":"https://api.github.com/repos/samuel/python-gearman/statuses/{sha}","languages_url":"https://api.github.com/repos/samuel/python-gearman/languages","stargazers_url":"https://api.github.com/repos/samuel/python-gearman/stargazers","contributors_url":"https://api.github.com/repos/samuel/python-gearman/contributors","subscribers_url":"https://api.github.com/repos/samuel/python-gearman/subscribers","subscription_url":"https://api.github.com/repos/samuel/python-gearman/subscription","commits_url":"https://api.github.com/repos/samuel/python-gearman/commits{/sha}","git_commits_url":"https://api.github.com/repos/samuel/python-gearman/git/commits{/sha}","comments_url":"https://api.github.com/repos/samuel/python-gearman/comments{/number}","issue_comment_url":"https://api.github.com/repos/samuel/python-gearman/issues/comments/{number}","contents_url":"https://api.github.com/repos/samuel/python-gearman/contents/{+path}","compare_url":"https://api.github.com/repos/samuel/python-gearman/compare/{base}...{head}","merges_url":"https://api.github.com/repos/samuel/python-gearman/merges","archive_url":"https://api.github.com/repos/samuel/python-gearman/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/samuel/python-gearman/downloads","issues_url":"https://api.github.com/repos/samuel/python-gearman/issues{/number}","pulls_url":"https://api.github.com/repos/samuel/python-gearman/pulls{/number}","milestones_url":"https://api.github.com/repos/samuel/python-gearman/milestones{/number}","notifications_url":"https://api.github.com/repos/samuel/python-gearman/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/samuel/python-gearman/labels{/name}","releases_url":"https://api.github.com/repos/samuel/python-gearman/releases{/id}","created_at":"2009-04-25T19:25:43Z","updated_at":"2013-12-18T01:26:25Z","pushed_at":"2012-09-07T17:14:37Z","git_url":"git://github.com/samuel/python-gearman.git","ssh_url":"git@github.com:samuel/python-gearman.git","clone_url":"https://github.com/samuel/python-gearman.git","svn_url":"https://github.com/samuel/python-gearman","homepage":"http://github.com/mtai/python-gearman","size":188,"stargazers_count":75,"watchers_count":75,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":17,"mirror_url":null,"open_issues_count":0,"forks":17,"open_issues":0,"watchers":75,"default_branch":"master","master_branch":"master","score":7.3417816},{"id":185320,"name":"sphinx-to-github","full_name":"michaeljones/sphinx-to-github","owner":{"login":"michaeljones","id":5390,"avatar_url":"https://avatars.githubusercontent.com/u/5390","gravatar_id":"f5cdf7d9c554d8dcfbe9c2c83bccb8a9","url":"https://api.github.com/users/michaeljones","html_url":"https://github.com/michaeljones","followers_url":"https://api.github.com/users/michaeljones/followers","following_url":"https://api.github.com/users/michaeljones/following{/other_user}","gists_url":"https://api.github.com/users/michaeljones/gists{/gist_id}","starred_url":"https://api.github.com/users/michaeljones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaeljones/subscriptions","organizations_url":"https://api.github.com/users/michaeljones/orgs","repos_url":"https://api.github.com/users/michaeljones/repos","events_url":"https://api.github.com/users/michaeljones/events{/privacy}","received_events_url":"https://api.github.com/users/michaeljones/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/michaeljones/sphinx-to-github","description":"Script to prepare Sphinx html output for github pages.","fork":false,"url":"https://api.github.com/repos/michaeljones/sphinx-to-github","forks_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/forks","keys_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/keys{/key_id}","collaborators_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/teams","hooks_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/hooks","issue_events_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/issues/events{/number}","events_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/events","assignees_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/assignees{/user}","branches_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/branches{/branch}","tags_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/tags","blobs_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/git/refs{/sha}","trees_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/git/trees{/sha}","statuses_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/statuses/{sha}","languages_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/languages","stargazers_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/stargazers","contributors_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/contributors","subscribers_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/subscribers","subscription_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/subscription","commits_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/commits{/sha}","git_commits_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/git/commits{/sha}","comments_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/comments{/number}","issue_comment_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/issues/comments/{number}","contents_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/contents/{+path}","compare_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/compare/{base}...{head}","merges_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/merges","archive_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/downloads","issues_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/issues{/number}","pulls_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/pulls{/number}","milestones_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/milestones{/number}","notifications_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/labels{/name}","releases_url":"https://api.github.com/repos/michaeljones/sphinx-to-github/releases{/id}","created_at":"2009-04-25T12:48:14Z","updated_at":"2013-12-03T17:05:36Z","pushed_at":"2013-10-26T00:39:13Z","git_url":"git://github.com/michaeljones/sphinx-to-github.git","ssh_url":"git@github.com:michaeljones/sphinx-to-github.git","clone_url":"https://github.com/michaeljones/sphinx-to-github.git","svn_url":"https://github.com/michaeljones/sphinx-to-github","homepage":"","size":140,"stargazers_count":72,"watchers_count":72,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":15,"mirror_url":null,"open_issues_count":1,"forks":15,"open_issues":1,"watchers":72,"default_branch":"master","master_branch":"master","score":14.550171},{"id":2252620,"name":"ST2-GitHubinator","full_name":"ehamiter/ST2-GitHubinator","owner":{"login":"ehamiter","id":634230,"avatar_url":"https://avatars.githubusercontent.com/u/634230","gravatar_id":"73c0faef06e3be0cef545cc5585fa582","url":"https://api.github.com/users/ehamiter","html_url":"https://github.com/ehamiter","followers_url":"https://api.github.com/users/ehamiter/followers","following_url":"https://api.github.com/users/ehamiter/following{/other_user}","gists_url":"https://api.github.com/users/ehamiter/gists{/gist_id}","starred_url":"https://api.github.com/users/ehamiter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ehamiter/subscriptions","organizations_url":"https://api.github.com/users/ehamiter/orgs","repos_url":"https://api.github.com/users/ehamiter/repos","events_url":"https://api.github.com/users/ehamiter/events{/privacy}","received_events_url":"https://api.github.com/users/ehamiter/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ehamiter/ST2-GitHubinator","description":"Sublime Text 2 plugin that shows selected ST2 text on GitHub","fork":false,"url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator","forks_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/forks","keys_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/teams","hooks_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/hooks","issue_events_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/issues/events{/number}","events_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/events","assignees_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/assignees{/user}","branches_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/branches{/branch}","tags_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/tags","blobs_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/git/refs{/sha}","trees_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/statuses/{sha}","languages_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/languages","stargazers_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/stargazers","contributors_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/contributors","subscribers_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/subscribers","subscription_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/subscription","commits_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/commits{/sha}","git_commits_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/git/commits{/sha}","comments_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/comments{/number}","issue_comment_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/issues/comments/{number}","contents_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/contents/{+path}","compare_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/merges","archive_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/downloads","issues_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/issues{/number}","pulls_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/pulls{/number}","milestones_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/milestones{/number}","notifications_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/labels{/name}","releases_url":"https://api.github.com/repos/ehamiter/ST2-GitHubinator/releases{/id}","created_at":"2011-08-23T02:04:50Z","updated_at":"2014-01-03T16:58:01Z","pushed_at":"2013-09-09T18:14:32Z","git_url":"git://github.com/ehamiter/ST2-GitHubinator.git","ssh_url":"git@github.com:ehamiter/ST2-GitHubinator.git","clone_url":"https://github.com/ehamiter/ST2-GitHubinator.git","svn_url":"https://github.com/ehamiter/ST2-GitHubinator","homepage":"","size":100,"stargazers_count":71,"watchers_count":71,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":16,"mirror_url":null,"open_issues_count":3,"forks":16,"open_issues":3,"watchers":71,"default_branch":"master","master_branch":"master","score":10.001726},{"id":2207040,"name":"WhitespaceBot","full_name":"Miserlou/WhitespaceBot","owner":{"login":"Miserlou","id":139987,"avatar_url":"https://avatars.githubusercontent.com/u/139987","gravatar_id":"7ad8f46407b45f1a2925333c7837a1f1","url":"https://api.github.com/users/Miserlou","html_url":"https://github.com/Miserlou","followers_url":"https://api.github.com/users/Miserlou/followers","following_url":"https://api.github.com/users/Miserlou/following{/other_user}","gists_url":"https://api.github.com/users/Miserlou/gists{/gist_id}","starred_url":"https://api.github.com/users/Miserlou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miserlou/subscriptions","organizations_url":"https://api.github.com/users/Miserlou/orgs","repos_url":"https://api.github.com/users/Miserlou/repos","events_url":"https://api.github.com/users/Miserlou/events{/privacy}","received_events_url":"https://api.github.com/users/Miserlou/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Miserlou/WhitespaceBot","description":"Making GitHub Better.. With Robots","fork":false,"url":"https://api.github.com/repos/Miserlou/WhitespaceBot","forks_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/forks","keys_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/teams","hooks_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/hooks","issue_events_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/issues/events{/number}","events_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/events","assignees_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/assignees{/user}","branches_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/branches{/branch}","tags_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/tags","blobs_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/git/refs{/sha}","trees_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/statuses/{sha}","languages_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/languages","stargazers_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/stargazers","contributors_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/contributors","subscribers_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/subscribers","subscription_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/subscription","commits_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/commits{/sha}","git_commits_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/git/commits{/sha}","comments_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/comments{/number}","issue_comment_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/issues/comments/{number}","contents_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/contents/{+path}","compare_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/merges","archive_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/downloads","issues_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/issues{/number}","pulls_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/pulls{/number}","milestones_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/milestones{/number}","notifications_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/labels{/name}","releases_url":"https://api.github.com/repos/Miserlou/WhitespaceBot/releases{/id}","created_at":"2011-08-14T22:00:27Z","updated_at":"2014-01-03T07:45:01Z","pushed_at":"2011-10-31T17:57:47Z","git_url":"git://github.com/Miserlou/WhitespaceBot.git","ssh_url":"git@github.com:Miserlou/WhitespaceBot.git","clone_url":"https://github.com/Miserlou/WhitespaceBot.git","svn_url":"https://github.com/Miserlou/WhitespaceBot","homepage":"http://gun.io","size":106,"stargazers_count":68,"watchers_count":68,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":19,"mirror_url":null,"open_issues_count":6,"forks":19,"open_issues":6,"watchers":68,"default_branch":"master","master_branch":"master","score":12.626783},{"id":542285,"name":"mirosubs","full_name":"8planes/mirosubs","owner":{"login":"8planes","id":213626,"avatar_url":"https://avatars.githubusercontent.com/u/213626","gravatar_id":"453d80be8ba0d907fff185d806cff8ac","url":"https://api.github.com/users/8planes","html_url":"https://github.com/8planes","followers_url":"https://api.github.com/users/8planes/followers","following_url":"https://api.github.com/users/8planes/following{/other_user}","gists_url":"https://api.github.com/users/8planes/gists{/gist_id}","starred_url":"https://api.github.com/users/8planes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/8planes/subscriptions","organizations_url":"https://api.github.com/users/8planes/orgs","repos_url":"https://api.github.com/users/8planes/repos","events_url":"https://api.github.com/users/8planes/events{/privacy}","received_events_url":"https://api.github.com/users/8planes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/8planes/mirosubs","description":"The Universal Subtitles repo has moved! Please visit us at https://github.com/pculture/unisubs","fork":false,"url":"https://api.github.com/repos/8planes/mirosubs","forks_url":"https://api.github.com/repos/8planes/mirosubs/forks","keys_url":"https://api.github.com/repos/8planes/mirosubs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/8planes/mirosubs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/8planes/mirosubs/teams","hooks_url":"https://api.github.com/repos/8planes/mirosubs/hooks","issue_events_url":"https://api.github.com/repos/8planes/mirosubs/issues/events{/number}","events_url":"https://api.github.com/repos/8planes/mirosubs/events","assignees_url":"https://api.github.com/repos/8planes/mirosubs/assignees{/user}","branches_url":"https://api.github.com/repos/8planes/mirosubs/branches{/branch}","tags_url":"https://api.github.com/repos/8planes/mirosubs/tags","blobs_url":"https://api.github.com/repos/8planes/mirosubs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/8planes/mirosubs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/8planes/mirosubs/git/refs{/sha}","trees_url":"https://api.github.com/repos/8planes/mirosubs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/8planes/mirosubs/statuses/{sha}","languages_url":"https://api.github.com/repos/8planes/mirosubs/languages","stargazers_url":"https://api.github.com/repos/8planes/mirosubs/stargazers","contributors_url":"https://api.github.com/repos/8planes/mirosubs/contributors","subscribers_url":"https://api.github.com/repos/8planes/mirosubs/subscribers","subscription_url":"https://api.github.com/repos/8planes/mirosubs/subscription","commits_url":"https://api.github.com/repos/8planes/mirosubs/commits{/sha}","git_commits_url":"https://api.github.com/repos/8planes/mirosubs/git/commits{/sha}","comments_url":"https://api.github.com/repos/8planes/mirosubs/comments{/number}","issue_comment_url":"https://api.github.com/repos/8planes/mirosubs/issues/comments/{number}","contents_url":"https://api.github.com/repos/8planes/mirosubs/contents/{+path}","compare_url":"https://api.github.com/repos/8planes/mirosubs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/8planes/mirosubs/merges","archive_url":"https://api.github.com/repos/8planes/mirosubs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/8planes/mirosubs/downloads","issues_url":"https://api.github.com/repos/8planes/mirosubs/issues{/number}","pulls_url":"https://api.github.com/repos/8planes/mirosubs/pulls{/number}","milestones_url":"https://api.github.com/repos/8planes/mirosubs/milestones{/number}","notifications_url":"https://api.github.com/repos/8planes/mirosubs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/8planes/mirosubs/labels{/name}","releases_url":"https://api.github.com/repos/8planes/mirosubs/releases{/id}","created_at":"2010-03-02T02:55:02Z","updated_at":"2014-02-16T03:40:17Z","pushed_at":"2011-08-30T19:10:16Z","git_url":"git://github.com/8planes/mirosubs.git","ssh_url":"git@github.com:8planes/mirosubs.git","clone_url":"https://github.com/8planes/mirosubs.git","svn_url":"https://github.com/8planes/mirosubs","homepage":"","size":67902,"stargazers_count":66,"watchers_count":66,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":15,"mirror_url":null,"open_issues_count":12,"forks":15,"open_issues":12,"watchers":66,"default_branch":"master","master_branch":"master","score":6.8096685},{"id":988599,"name":"tahoe-lafs","full_name":"warner/tahoe-lafs","owner":{"login":"warner","id":27146,"avatar_url":"https://avatars.githubusercontent.com/u/27146","gravatar_id":"44c17de889031c70e118b5d9a724b8cc","url":"https://api.github.com/users/warner","html_url":"https://github.com/warner","followers_url":"https://api.github.com/users/warner/followers","following_url":"https://api.github.com/users/warner/following{/other_user}","gists_url":"https://api.github.com/users/warner/gists{/gist_id}","starred_url":"https://api.github.com/users/warner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/warner/subscriptions","organizations_url":"https://api.github.com/users/warner/orgs","repos_url":"https://api.github.com/users/warner/repos","events_url":"https://api.github.com/users/warner/events{/privacy}","received_events_url":"https://api.github.com/users/warner/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/warner/tahoe-lafs","description":"The Tahoe-LAFS decentralized secure filesystem. https://github.com/tahoe-lafs/tahoe-lafs is the master.","fork":false,"url":"https://api.github.com/repos/warner/tahoe-lafs","forks_url":"https://api.github.com/repos/warner/tahoe-lafs/forks","keys_url":"https://api.github.com/repos/warner/tahoe-lafs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/warner/tahoe-lafs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/warner/tahoe-lafs/teams","hooks_url":"https://api.github.com/repos/warner/tahoe-lafs/hooks","issue_events_url":"https://api.github.com/repos/warner/tahoe-lafs/issues/events{/number}","events_url":"https://api.github.com/repos/warner/tahoe-lafs/events","assignees_url":"https://api.github.com/repos/warner/tahoe-lafs/assignees{/user}","branches_url":"https://api.github.com/repos/warner/tahoe-lafs/branches{/branch}","tags_url":"https://api.github.com/repos/warner/tahoe-lafs/tags","blobs_url":"https://api.github.com/repos/warner/tahoe-lafs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/warner/tahoe-lafs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/warner/tahoe-lafs/git/refs{/sha}","trees_url":"https://api.github.com/repos/warner/tahoe-lafs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/warner/tahoe-lafs/statuses/{sha}","languages_url":"https://api.github.com/repos/warner/tahoe-lafs/languages","stargazers_url":"https://api.github.com/repos/warner/tahoe-lafs/stargazers","contributors_url":"https://api.github.com/repos/warner/tahoe-lafs/contributors","subscribers_url":"https://api.github.com/repos/warner/tahoe-lafs/subscribers","subscription_url":"https://api.github.com/repos/warner/tahoe-lafs/subscription","commits_url":"https://api.github.com/repos/warner/tahoe-lafs/commits{/sha}","git_commits_url":"https://api.github.com/repos/warner/tahoe-lafs/git/commits{/sha}","comments_url":"https://api.github.com/repos/warner/tahoe-lafs/comments{/number}","issue_comment_url":"https://api.github.com/repos/warner/tahoe-lafs/issues/comments/{number}","contents_url":"https://api.github.com/repos/warner/tahoe-lafs/contents/{+path}","compare_url":"https://api.github.com/repos/warner/tahoe-lafs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/warner/tahoe-lafs/merges","archive_url":"https://api.github.com/repos/warner/tahoe-lafs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/warner/tahoe-lafs/downloads","issues_url":"https://api.github.com/repos/warner/tahoe-lafs/issues{/number}","pulls_url":"https://api.github.com/repos/warner/tahoe-lafs/pulls{/number}","milestones_url":"https://api.github.com/repos/warner/tahoe-lafs/milestones{/number}","notifications_url":"https://api.github.com/repos/warner/tahoe-lafs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/warner/tahoe-lafs/labels{/name}","releases_url":"https://api.github.com/repos/warner/tahoe-lafs/releases{/id}","created_at":"2010-10-14T23:57:29Z","updated_at":"2013-12-29T13:45:08Z","pushed_at":"2013-11-12T01:26:53Z","git_url":"git://github.com/warner/tahoe-lafs.git","ssh_url":"git@github.com:warner/tahoe-lafs.git","clone_url":"https://github.com/warner/tahoe-lafs.git","svn_url":"https://github.com/warner/tahoe-lafs","homepage":"http://tahoe-lafs.org/","size":62557,"stargazers_count":62,"watchers_count":62,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":79,"mirror_url":null,"open_issues_count":2,"forks":79,"open_issues":2,"watchers":62,"default_branch":"master","master_branch":"master","score":10.669004},{"id":734654,"name":"twitter-text-py","full_name":"dryan/twitter-text-py","owner":{"login":"dryan","id":15066,"avatar_url":"https://avatars.githubusercontent.com/u/15066","gravatar_id":"f110c4153d9c4b1002e8fa49183ac761","url":"https://api.github.com/users/dryan","html_url":"https://github.com/dryan","followers_url":"https://api.github.com/users/dryan/followers","following_url":"https://api.github.com/users/dryan/following{/other_user}","gists_url":"https://api.github.com/users/dryan/gists{/gist_id}","starred_url":"https://api.github.com/users/dryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dryan/subscriptions","organizations_url":"https://api.github.com/users/dryan/orgs","repos_url":"https://api.github.com/users/dryan/repos","events_url":"https://api.github.com/users/dryan/events{/privacy}","received_events_url":"https://api.github.com/users/dryan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dryan/twitter-text-py","description":"a python port of https://github.com/twitter/twitter-text-rb also available via `pip install twitter_text`","fork":false,"url":"https://api.github.com/repos/dryan/twitter-text-py","forks_url":"https://api.github.com/repos/dryan/twitter-text-py/forks","keys_url":"https://api.github.com/repos/dryan/twitter-text-py/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dryan/twitter-text-py/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dryan/twitter-text-py/teams","hooks_url":"https://api.github.com/repos/dryan/twitter-text-py/hooks","issue_events_url":"https://api.github.com/repos/dryan/twitter-text-py/issues/events{/number}","events_url":"https://api.github.com/repos/dryan/twitter-text-py/events","assignees_url":"https://api.github.com/repos/dryan/twitter-text-py/assignees{/user}","branches_url":"https://api.github.com/repos/dryan/twitter-text-py/branches{/branch}","tags_url":"https://api.github.com/repos/dryan/twitter-text-py/tags","blobs_url":"https://api.github.com/repos/dryan/twitter-text-py/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dryan/twitter-text-py/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dryan/twitter-text-py/git/refs{/sha}","trees_url":"https://api.github.com/repos/dryan/twitter-text-py/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dryan/twitter-text-py/statuses/{sha}","languages_url":"https://api.github.com/repos/dryan/twitter-text-py/languages","stargazers_url":"https://api.github.com/repos/dryan/twitter-text-py/stargazers","contributors_url":"https://api.github.com/repos/dryan/twitter-text-py/contributors","subscribers_url":"https://api.github.com/repos/dryan/twitter-text-py/subscribers","subscription_url":"https://api.github.com/repos/dryan/twitter-text-py/subscription","commits_url":"https://api.github.com/repos/dryan/twitter-text-py/commits{/sha}","git_commits_url":"https://api.github.com/repos/dryan/twitter-text-py/git/commits{/sha}","comments_url":"https://api.github.com/repos/dryan/twitter-text-py/comments{/number}","issue_comment_url":"https://api.github.com/repos/dryan/twitter-text-py/issues/comments/{number}","contents_url":"https://api.github.com/repos/dryan/twitter-text-py/contents/{+path}","compare_url":"https://api.github.com/repos/dryan/twitter-text-py/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dryan/twitter-text-py/merges","archive_url":"https://api.github.com/repos/dryan/twitter-text-py/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dryan/twitter-text-py/downloads","issues_url":"https://api.github.com/repos/dryan/twitter-text-py/issues{/number}","pulls_url":"https://api.github.com/repos/dryan/twitter-text-py/pulls{/number}","milestones_url":"https://api.github.com/repos/dryan/twitter-text-py/milestones{/number}","notifications_url":"https://api.github.com/repos/dryan/twitter-text-py/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dryan/twitter-text-py/labels{/name}","releases_url":"https://api.github.com/repos/dryan/twitter-text-py/releases{/id}","created_at":"2010-06-22T21:29:21Z","updated_at":"2014-01-16T14:48:12Z","pushed_at":"2014-01-16T14:48:11Z","git_url":"git://github.com/dryan/twitter-text-py.git","ssh_url":"git@github.com:dryan/twitter-text-py.git","clone_url":"https://github.com/dryan/twitter-text-py.git","svn_url":"https://github.com/dryan/twitter-text-py","homepage":"http://dryan.github.io/twitter-text-py/","size":464,"stargazers_count":64,"watchers_count":64,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":20,"mirror_url":null,"open_issues_count":1,"forks":20,"open_issues":1,"watchers":64,"default_branch":"master","master_branch":"master","score":7.240589},{"id":1781813,"name":"gist-it","full_name":"robertkrimen/gist-it","owner":{"login":"robertkrimen","id":16290,"avatar_url":"https://avatars.githubusercontent.com/u/16290","gravatar_id":"a8599a9fab0f69eb6515686702a5adb1","url":"https://api.github.com/users/robertkrimen","html_url":"https://github.com/robertkrimen","followers_url":"https://api.github.com/users/robertkrimen/followers","following_url":"https://api.github.com/users/robertkrimen/following{/other_user}","gists_url":"https://api.github.com/users/robertkrimen/gists{/gist_id}","starred_url":"https://api.github.com/users/robertkrimen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertkrimen/subscriptions","organizations_url":"https://api.github.com/users/robertkrimen/orgs","repos_url":"https://api.github.com/users/robertkrimen/repos","events_url":"https://api.github.com/users/robertkrimen/events{/privacy}","received_events_url":"https://api.github.com/users/robertkrimen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/robertkrimen/gist-it","description":"An AppEngine app to embed files from a github repository like a gist","fork":false,"url":"https://api.github.com/repos/robertkrimen/gist-it","forks_url":"https://api.github.com/repos/robertkrimen/gist-it/forks","keys_url":"https://api.github.com/repos/robertkrimen/gist-it/keys{/key_id}","collaborators_url":"https://api.github.com/repos/robertkrimen/gist-it/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/robertkrimen/gist-it/teams","hooks_url":"https://api.github.com/repos/robertkrimen/gist-it/hooks","issue_events_url":"https://api.github.com/repos/robertkrimen/gist-it/issues/events{/number}","events_url":"https://api.github.com/repos/robertkrimen/gist-it/events","assignees_url":"https://api.github.com/repos/robertkrimen/gist-it/assignees{/user}","branches_url":"https://api.github.com/repos/robertkrimen/gist-it/branches{/branch}","tags_url":"https://api.github.com/repos/robertkrimen/gist-it/tags","blobs_url":"https://api.github.com/repos/robertkrimen/gist-it/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/robertkrimen/gist-it/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/robertkrimen/gist-it/git/refs{/sha}","trees_url":"https://api.github.com/repos/robertkrimen/gist-it/git/trees{/sha}","statuses_url":"https://api.github.com/repos/robertkrimen/gist-it/statuses/{sha}","languages_url":"https://api.github.com/repos/robertkrimen/gist-it/languages","stargazers_url":"https://api.github.com/repos/robertkrimen/gist-it/stargazers","contributors_url":"https://api.github.com/repos/robertkrimen/gist-it/contributors","subscribers_url":"https://api.github.com/repos/robertkrimen/gist-it/subscribers","subscription_url":"https://api.github.com/repos/robertkrimen/gist-it/subscription","commits_url":"https://api.github.com/repos/robertkrimen/gist-it/commits{/sha}","git_commits_url":"https://api.github.com/repos/robertkrimen/gist-it/git/commits{/sha}","comments_url":"https://api.github.com/repos/robertkrimen/gist-it/comments{/number}","issue_comment_url":"https://api.github.com/repos/robertkrimen/gist-it/issues/comments/{number}","contents_url":"https://api.github.com/repos/robertkrimen/gist-it/contents/{+path}","compare_url":"https://api.github.com/repos/robertkrimen/gist-it/compare/{base}...{head}","merges_url":"https://api.github.com/repos/robertkrimen/gist-it/merges","archive_url":"https://api.github.com/repos/robertkrimen/gist-it/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/robertkrimen/gist-it/downloads","issues_url":"https://api.github.com/repos/robertkrimen/gist-it/issues{/number}","pulls_url":"https://api.github.com/repos/robertkrimen/gist-it/pulls{/number}","milestones_url":"https://api.github.com/repos/robertkrimen/gist-it/milestones{/number}","notifications_url":"https://api.github.com/repos/robertkrimen/gist-it/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/robertkrimen/gist-it/labels{/name}","releases_url":"https://api.github.com/repos/robertkrimen/gist-it/releases{/id}","created_at":"2011-05-21T21:02:52Z","updated_at":"2014-01-08T03:25:50Z","pushed_at":"2013-02-27T01:11:21Z","git_url":"git://github.com/robertkrimen/gist-it.git","ssh_url":"git@github.com:robertkrimen/gist-it.git","clone_url":"https://github.com/robertkrimen/gist-it.git","svn_url":"https://github.com/robertkrimen/gist-it","homepage":"gist-it.appspot.com","size":804,"stargazers_count":61,"watchers_count":61,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":10,"mirror_url":null,"open_issues_count":3,"forks":10,"open_issues":3,"watchers":61,"default_branch":"master","master_branch":"master","score":6.753918}]} - diff --git a/github/tests/ReplayData/Search.testSearchUsers.txt b/github/tests/ReplayData/Search.testSearchUsers.txt deleted file mode 100644 index ac13beb..0000000 --- a/github/tests/ReplayData/Search.testSearchUsers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/search/users?sort=followers&q=vincent&order=desc -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:536F:4325D43:53140505'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '27634'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('link', '; rel="next", ; rel="last"'), ('cache-control', 'no-cache'), ('date', 'Mon, 03 Mar 2014 04:28:53 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1393820993')] -{"total_count":2781,"items":[{"login":"nvie","id":83844,"avatar_url":"https://avatars.githubusercontent.com/u/83844","gravatar_id":"466ef7561a0b100dc5a1021959962d28","url":"https://api.github.com/users/nvie","html_url":"https://github.com/nvie","followers_url":"https://api.github.com/users/nvie/followers","following_url":"https://api.github.com/users/nvie/following{/other_user}","gists_url":"https://api.github.com/users/nvie/gists{/gist_id}","starred_url":"https://api.github.com/users/nvie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvie/subscriptions","organizations_url":"https://api.github.com/users/nvie/orgs","repos_url":"https://api.github.com/users/nvie/repos","events_url":"https://api.github.com/users/nvie/events{/privacy}","received_events_url":"https://api.github.com/users/nvie/received_events","type":"User","site_admin":false,"score":36.965874},{"login":"lusis","id":228958,"avatar_url":"https://avatars.githubusercontent.com/u/228958","gravatar_id":"03a966709300efb4a86ce5ee8f88f696","url":"https://api.github.com/users/lusis","html_url":"https://github.com/lusis","followers_url":"https://api.github.com/users/lusis/followers","following_url":"https://api.github.com/users/lusis/following{/other_user}","gists_url":"https://api.github.com/users/lusis/gists{/gist_id}","starred_url":"https://api.github.com/users/lusis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lusis/subscriptions","organizations_url":"https://api.github.com/users/lusis/orgs","repos_url":"https://api.github.com/users/lusis/repos","events_url":"https://api.github.com/users/lusis/events{/privacy}","received_events_url":"https://api.github.com/users/lusis/received_events","type":"User","site_admin":false,"score":16.9694},{"login":"obra","id":45416,"avatar_url":"https://avatars.githubusercontent.com/u/45416","gravatar_id":"a145dbf5d67ba1eb717fbe3a1f51509c","url":"https://api.github.com/users/obra","html_url":"https://github.com/obra","followers_url":"https://api.github.com/users/obra/followers","following_url":"https://api.github.com/users/obra/following{/other_user}","gists_url":"https://api.github.com/users/obra/gists{/gist_id}","starred_url":"https://api.github.com/users/obra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obra/subscriptions","organizations_url":"https://api.github.com/users/obra/orgs","repos_url":"https://api.github.com/users/obra/repos","events_url":"https://api.github.com/users/obra/events{/privacy}","received_events_url":"https://api.github.com/users/obra/received_events","type":"User","site_admin":false,"score":19.73637},{"login":"vjousse","id":154904,"avatar_url":"https://avatars.githubusercontent.com/u/154904","gravatar_id":"c676f9efc8e54985e84c044899481267","url":"https://api.github.com/users/vjousse","html_url":"https://github.com/vjousse","followers_url":"https://api.github.com/users/vjousse/followers","following_url":"https://api.github.com/users/vjousse/following{/other_user}","gists_url":"https://api.github.com/users/vjousse/gists{/gist_id}","starred_url":"https://api.github.com/users/vjousse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vjousse/subscriptions","organizations_url":"https://api.github.com/users/vjousse/orgs","repos_url":"https://api.github.com/users/vjousse/repos","events_url":"https://api.github.com/users/vjousse/events{/privacy}","received_events_url":"https://api.github.com/users/vjousse/received_events","type":"User","site_admin":false,"score":32.907475},{"login":"vincentbernat","id":631446,"avatar_url":"https://avatars.githubusercontent.com/u/631446","gravatar_id":"2c0bde3f5628f35390c42fe505b79da4","url":"https://api.github.com/users/vincentbernat","html_url":"https://github.com/vincentbernat","followers_url":"https://api.github.com/users/vincentbernat/followers","following_url":"https://api.github.com/users/vincentbernat/following{/other_user}","gists_url":"https://api.github.com/users/vincentbernat/gists{/gist_id}","starred_url":"https://api.github.com/users/vincentbernat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincentbernat/subscriptions","organizations_url":"https://api.github.com/users/vincentbernat/orgs","repos_url":"https://api.github.com/users/vincentbernat/repos","events_url":"https://api.github.com/users/vincentbernat/events{/privacy}","received_events_url":"https://api.github.com/users/vincentbernat/received_events","type":"User","site_admin":false,"score":21.363638},{"login":"vincenthz","id":174631,"avatar_url":"https://avatars.githubusercontent.com/u/174631","gravatar_id":"1d0a2ab73604a28d767acc0e547c8985","url":"https://api.github.com/users/vincenthz","html_url":"https://github.com/vincenthz","followers_url":"https://api.github.com/users/vincenthz/followers","following_url":"https://api.github.com/users/vincenthz/following{/other_user}","gists_url":"https://api.github.com/users/vincenthz/gists{/gist_id}","starred_url":"https://api.github.com/users/vincenthz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincenthz/subscriptions","organizations_url":"https://api.github.com/users/vincenthz/orgs","repos_url":"https://api.github.com/users/vincenthz/repos","events_url":"https://api.github.com/users/vincenthz/events{/privacy}","received_events_url":"https://api.github.com/users/vincenthz/received_events","type":"User","site_admin":false,"score":5.5826187},{"login":"sethvincent","id":164214,"avatar_url":"https://avatars.githubusercontent.com/u/164214","gravatar_id":"652e02cbd134e0e92f3f81fe14bda3d1","url":"https://api.github.com/users/sethvincent","html_url":"https://github.com/sethvincent","followers_url":"https://api.github.com/users/sethvincent/followers","following_url":"https://api.github.com/users/sethvincent/following{/other_user}","gists_url":"https://api.github.com/users/sethvincent/gists{/gist_id}","starred_url":"https://api.github.com/users/sethvincent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethvincent/subscriptions","organizations_url":"https://api.github.com/users/sethvincent/orgs","repos_url":"https://api.github.com/users/sethvincent/repos","events_url":"https://api.github.com/users/sethvincent/events{/privacy}","received_events_url":"https://api.github.com/users/sethvincent/received_events","type":"User","site_admin":false,"score":5.302938},{"login":"VinceG","id":195199,"avatar_url":"https://avatars.githubusercontent.com/u/195199","gravatar_id":"3cd0394357ab8911c794204ac524b115","url":"https://api.github.com/users/VinceG","html_url":"https://github.com/VinceG","followers_url":"https://api.github.com/users/VinceG/followers","following_url":"https://api.github.com/users/VinceG/following{/other_user}","gists_url":"https://api.github.com/users/VinceG/gists{/gist_id}","starred_url":"https://api.github.com/users/VinceG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VinceG/subscriptions","organizations_url":"https://api.github.com/users/VinceG/orgs","repos_url":"https://api.github.com/users/VinceG/repos","events_url":"https://api.github.com/users/VinceG/events{/privacy}","received_events_url":"https://api.github.com/users/VinceG/received_events","type":"User","site_admin":false,"score":3.6360402},{"login":"vinch","id":155370,"avatar_url":"https://avatars.githubusercontent.com/u/155370","gravatar_id":"a3895a2d6f26155968be47fc03dddc40","url":"https://api.github.com/users/vinch","html_url":"https://github.com/vinch","followers_url":"https://api.github.com/users/vinch/followers","following_url":"https://api.github.com/users/vinch/following{/other_user}","gists_url":"https://api.github.com/users/vinch/gists{/gist_id}","starred_url":"https://api.github.com/users/vinch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vinch/subscriptions","organizations_url":"https://api.github.com/users/vinch/orgs","repos_url":"https://api.github.com/users/vinch/repos","events_url":"https://api.github.com/users/vinch/events{/privacy}","received_events_url":"https://api.github.com/users/vinch/received_events","type":"User","site_admin":false,"score":4.111639},{"login":"vvo","id":123822,"avatar_url":"https://avatars.githubusercontent.com/u/123822","gravatar_id":"667176b96540d167eb74f473c9aea5f7","url":"https://api.github.com/users/vvo","html_url":"https://github.com/vvo","followers_url":"https://api.github.com/users/vvo/followers","following_url":"https://api.github.com/users/vvo/following{/other_user}","gists_url":"https://api.github.com/users/vvo/gists{/gist_id}","starred_url":"https://api.github.com/users/vvo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vvo/subscriptions","organizations_url":"https://api.github.com/users/vvo/orgs","repos_url":"https://api.github.com/users/vvo/repos","events_url":"https://api.github.com/users/vvo/events{/privacy}","received_events_url":"https://api.github.com/users/vvo/received_events","type":"User","site_admin":false,"score":4.209945},{"login":"blanchonvincent","id":1580512,"avatar_url":"https://avatars.githubusercontent.com/u/1580512","gravatar_id":"d6288a0b3a370e4db4ea27adbeb74a30","url":"https://api.github.com/users/blanchonvincent","html_url":"https://github.com/blanchonvincent","followers_url":"https://api.github.com/users/blanchonvincent/followers","following_url":"https://api.github.com/users/blanchonvincent/following{/other_user}","gists_url":"https://api.github.com/users/blanchonvincent/gists{/gist_id}","starred_url":"https://api.github.com/users/blanchonvincent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blanchonvincent/subscriptions","organizations_url":"https://api.github.com/users/blanchonvincent/orgs","repos_url":"https://api.github.com/users/blanchonvincent/repos","events_url":"https://api.github.com/users/blanchonvincent/events{/privacy}","received_events_url":"https://api.github.com/users/blanchonvincent/received_events","type":"User","site_admin":false,"score":3.2129176},{"login":"vincent-zhao","id":1393423,"avatar_url":"https://avatars.githubusercontent.com/u/1393423","gravatar_id":"886a562bd3cc225ec3250650d8cdf4bd","url":"https://api.github.com/users/vincent-zhao","html_url":"https://github.com/vincent-zhao","followers_url":"https://api.github.com/users/vincent-zhao/followers","following_url":"https://api.github.com/users/vincent-zhao/following{/other_user}","gists_url":"https://api.github.com/users/vincent-zhao/gists{/gist_id}","starred_url":"https://api.github.com/users/vincent-zhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincent-zhao/subscriptions","organizations_url":"https://api.github.com/users/vincent-zhao/orgs","repos_url":"https://api.github.com/users/vincent-zhao/repos","events_url":"https://api.github.com/users/vincent-zhao/events{/privacy}","received_events_url":"https://api.github.com/users/vincent-zhao/received_events","type":"User","site_admin":false,"score":3.4732492},{"login":"vincentstorme","id":2442225,"avatar_url":"https://avatars.githubusercontent.com/u/2442225","gravatar_id":"f6957ae1ebc89b683f27dcb3cb6af167","url":"https://api.github.com/users/vincentstorme","html_url":"https://github.com/vincentstorme","followers_url":"https://api.github.com/users/vincentstorme/followers","following_url":"https://api.github.com/users/vincentstorme/following{/other_user}","gists_url":"https://api.github.com/users/vincentstorme/gists{/gist_id}","starred_url":"https://api.github.com/users/vincentstorme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincentstorme/subscriptions","organizations_url":"https://api.github.com/users/vincentstorme/orgs","repos_url":"https://api.github.com/users/vincentstorme/repos","events_url":"https://api.github.com/users/vincentstorme/events{/privacy}","received_events_url":"https://api.github.com/users/vincentstorme/received_events","type":"User","site_admin":false,"score":4.5820265},{"login":"VincentToups","id":31994,"avatar_url":"https://avatars.githubusercontent.com/u/31994","gravatar_id":"31a9803728a756c2b6ec090cb77852b3","url":"https://api.github.com/users/VincentToups","html_url":"https://github.com/VincentToups","followers_url":"https://api.github.com/users/VincentToups/followers","following_url":"https://api.github.com/users/VincentToups/following{/other_user}","gists_url":"https://api.github.com/users/VincentToups/gists{/gist_id}","starred_url":"https://api.github.com/users/VincentToups/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VincentToups/subscriptions","organizations_url":"https://api.github.com/users/VincentToups/orgs","repos_url":"https://api.github.com/users/VincentToups/repos","events_url":"https://api.github.com/users/VincentToups/events{/privacy}","received_events_url":"https://api.github.com/users/VincentToups/received_events","type":"User","site_admin":false,"score":3.9941156},{"login":"Vayn","id":224407,"avatar_url":"https://avatars.githubusercontent.com/u/224407","gravatar_id":"dd02e2c7ecf7c377b6b9c2c1a23633d0","url":"https://api.github.com/users/Vayn","html_url":"https://github.com/Vayn","followers_url":"https://api.github.com/users/Vayn/followers","following_url":"https://api.github.com/users/Vayn/following{/other_user}","gists_url":"https://api.github.com/users/Vayn/gists{/gist_id}","starred_url":"https://api.github.com/users/Vayn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vayn/subscriptions","organizations_url":"https://api.github.com/users/Vayn/orgs","repos_url":"https://api.github.com/users/Vayn/repos","events_url":"https://api.github.com/users/Vayn/events{/privacy}","received_events_url":"https://api.github.com/users/Vayn/received_events","type":"User","site_admin":false,"score":3.4213936},{"login":"gierschv","id":396537,"avatar_url":"https://avatars.githubusercontent.com/u/396537","gravatar_id":"bbd55fb25025ef973c45e587103a1007","url":"https://api.github.com/users/gierschv","html_url":"https://github.com/gierschv","followers_url":"https://api.github.com/users/gierschv/followers","following_url":"https://api.github.com/users/gierschv/following{/other_user}","gists_url":"https://api.github.com/users/gierschv/gists{/gist_id}","starred_url":"https://api.github.com/users/gierschv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gierschv/subscriptions","organizations_url":"https://api.github.com/users/gierschv/orgs","repos_url":"https://api.github.com/users/gierschv/repos","events_url":"https://api.github.com/users/gierschv/events{/privacy}","received_events_url":"https://api.github.com/users/gierschv/received_events","type":"User","site_admin":false,"score":4.15376},{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581","gravatar_id":"1c14c313c21533d542bb289a7581c28b","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false,"score":4.68167},{"login":"agile","id":249,"avatar_url":"https://avatars.githubusercontent.com/u/249","gravatar_id":"722218c7702627097bd72901d7b39e6a","url":"https://api.github.com/users/agile","html_url":"https://github.com/agile","followers_url":"https://api.github.com/users/agile/followers","following_url":"https://api.github.com/users/agile/following{/other_user}","gists_url":"https://api.github.com/users/agile/gists{/gist_id}","starred_url":"https://api.github.com/users/agile/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agile/subscriptions","organizations_url":"https://api.github.com/users/agile/orgs","repos_url":"https://api.github.com/users/agile/repos","events_url":"https://api.github.com/users/agile/events{/privacy}","received_events_url":"https://api.github.com/users/agile/received_events","type":"User","site_admin":false,"score":3.2129176},{"login":"vbatts","id":67049,"avatar_url":"https://avatars.githubusercontent.com/u/67049","gravatar_id":"c8ff80488014da414b65346806178fa5","url":"https://api.github.com/users/vbatts","html_url":"https://github.com/vbatts","followers_url":"https://api.github.com/users/vbatts/followers","following_url":"https://api.github.com/users/vbatts/following{/other_user}","gists_url":"https://api.github.com/users/vbatts/gists{/gist_id}","starred_url":"https://api.github.com/users/vbatts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbatts/subscriptions","organizations_url":"https://api.github.com/users/vbatts/orgs","repos_url":"https://api.github.com/users/vbatts/repos","events_url":"https://api.github.com/users/vbatts/events{/privacy}","received_events_url":"https://api.github.com/users/vbatts/received_events","type":"User","site_admin":false,"score":4.795142},{"login":"bigsnarfdude","id":2282364,"avatar_url":"https://avatars.githubusercontent.com/u/2282364","gravatar_id":"d037119574d45efed8c1a23c7c321721","url":"https://api.github.com/users/bigsnarfdude","html_url":"https://github.com/bigsnarfdude","followers_url":"https://api.github.com/users/bigsnarfdude/followers","following_url":"https://api.github.com/users/bigsnarfdude/following{/other_user}","gists_url":"https://api.github.com/users/bigsnarfdude/gists{/gist_id}","starred_url":"https://api.github.com/users/bigsnarfdude/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigsnarfdude/subscriptions","organizations_url":"https://api.github.com/users/bigsnarfdude/orgs","repos_url":"https://api.github.com/users/bigsnarfdude/repos","events_url":"https://api.github.com/users/bigsnarfdude/events{/privacy}","received_events_url":"https://api.github.com/users/bigsnarfdude/received_events","type":"User","site_admin":false,"score":4.6358795},{"login":"vcabansag","id":1062352,"avatar_url":"https://avatars.githubusercontent.com/u/1062352","gravatar_id":"216c75c56633ec386037cf2084f69f13","url":"https://api.github.com/users/vcabansag","html_url":"https://github.com/vcabansag","followers_url":"https://api.github.com/users/vcabansag/followers","following_url":"https://api.github.com/users/vcabansag/following{/other_user}","gists_url":"https://api.github.com/users/vcabansag/gists{/gist_id}","starred_url":"https://api.github.com/users/vcabansag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcabansag/subscriptions","organizations_url":"https://api.github.com/users/vcabansag/orgs","repos_url":"https://api.github.com/users/vcabansag/repos","events_url":"https://api.github.com/users/vcabansag/events{/privacy}","received_events_url":"https://api.github.com/users/vcabansag/received_events","type":"User","site_admin":false,"score":2.5125384},{"login":"Valodim","id":27813,"avatar_url":"https://avatars.githubusercontent.com/u/27813","gravatar_id":"5ad827a4eff2f5c23d26e1b4eb746143","url":"https://api.github.com/users/Valodim","html_url":"https://github.com/Valodim","followers_url":"https://api.github.com/users/Valodim/followers","following_url":"https://api.github.com/users/Valodim/following{/other_user}","gists_url":"https://api.github.com/users/Valodim/gists{/gist_id}","starred_url":"https://api.github.com/users/Valodim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Valodim/subscriptions","organizations_url":"https://api.github.com/users/Valodim/orgs","repos_url":"https://api.github.com/users/Valodim/repos","events_url":"https://api.github.com/users/Valodim/events{/privacy}","received_events_url":"https://api.github.com/users/Valodim/received_events","type":"User","site_admin":false,"score":7.773693},{"login":"vincentwoo","id":613320,"avatar_url":"https://avatars.githubusercontent.com/u/613320","gravatar_id":"ef261163df50f82a96093054933f8b0b","url":"https://api.github.com/users/vincentwoo","html_url":"https://github.com/vincentwoo","followers_url":"https://api.github.com/users/vincentwoo/followers","following_url":"https://api.github.com/users/vincentwoo/following{/other_user}","gists_url":"https://api.github.com/users/vincentwoo/gists{/gist_id}","starred_url":"https://api.github.com/users/vincentwoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincentwoo/subscriptions","organizations_url":"https://api.github.com/users/vincentwoo/orgs","repos_url":"https://api.github.com/users/vincentwoo/repos","events_url":"https://api.github.com/users/vincentwoo/events{/privacy}","received_events_url":"https://api.github.com/users/vincentwoo/received_events","type":"User","site_admin":false,"score":4.1279836},{"login":"jacquev6","id":327146,"avatar_url":"https://avatars.githubusercontent.com/u/327146","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","site_admin":false,"score":6.40821},{"login":"vincentx","id":30519,"avatar_url":"https://avatars.githubusercontent.com/u/30519","gravatar_id":"5b22ceec1f68e4e30ce9d73b15515a8b","url":"https://api.github.com/users/vincentx","html_url":"https://github.com/vincentx","followers_url":"https://api.github.com/users/vincentx/followers","following_url":"https://api.github.com/users/vincentx/following{/other_user}","gists_url":"https://api.github.com/users/vincentx/gists{/gist_id}","starred_url":"https://api.github.com/users/vincentx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincentx/subscriptions","organizations_url":"https://api.github.com/users/vincentx/orgs","repos_url":"https://api.github.com/users/vincentx/repos","events_url":"https://api.github.com/users/vincentx/events{/privacy}","received_events_url":"https://api.github.com/users/vincentx/received_events","type":"User","site_admin":false,"score":2.8227496},{"login":"flyingoctopus","id":51352,"avatar_url":"https://avatars.githubusercontent.com/u/51352","gravatar_id":"4ae644601d8cfeeb1ac5f9eca3730cf2","url":"https://api.github.com/users/flyingoctopus","html_url":"https://github.com/flyingoctopus","followers_url":"https://api.github.com/users/flyingoctopus/followers","following_url":"https://api.github.com/users/flyingoctopus/following{/other_user}","gists_url":"https://api.github.com/users/flyingoctopus/gists{/gist_id}","starred_url":"https://api.github.com/users/flyingoctopus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flyingoctopus/subscriptions","organizations_url":"https://api.github.com/users/flyingoctopus/orgs","repos_url":"https://api.github.com/users/flyingoctopus/repos","events_url":"https://api.github.com/users/flyingoctopus/events{/privacy}","received_events_url":"https://api.github.com/users/flyingoctopus/received_events","type":"User","site_admin":false,"score":8.850996},{"login":"samvincent","id":57775,"avatar_url":"https://avatars.githubusercontent.com/u/57775","gravatar_id":"7105cb5590c1d689191fabaff3cfc23b","url":"https://api.github.com/users/samvincent","html_url":"https://github.com/samvincent","followers_url":"https://api.github.com/users/samvincent/followers","following_url":"https://api.github.com/users/samvincent/following{/other_user}","gists_url":"https://api.github.com/users/samvincent/gists{/gist_id}","starred_url":"https://api.github.com/users/samvincent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samvincent/subscriptions","organizations_url":"https://api.github.com/users/samvincent/orgs","repos_url":"https://api.github.com/users/samvincent/repos","events_url":"https://api.github.com/users/samvincent/events{/privacy}","received_events_url":"https://api.github.com/users/samvincent/received_events","type":"User","site_admin":false,"score":2.9412127},{"login":"stamourv","id":854429,"avatar_url":"https://avatars.githubusercontent.com/u/854429","gravatar_id":"80affe6c372ba2594d0810a455592d0b","url":"https://api.github.com/users/stamourv","html_url":"https://github.com/stamourv","followers_url":"https://api.github.com/users/stamourv/followers","following_url":"https://api.github.com/users/stamourv/following{/other_user}","gists_url":"https://api.github.com/users/stamourv/gists{/gist_id}","starred_url":"https://api.github.com/users/stamourv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stamourv/subscriptions","organizations_url":"https://api.github.com/users/stamourv/orgs","repos_url":"https://api.github.com/users/stamourv/repos","events_url":"https://api.github.com/users/stamourv/events{/privacy}","received_events_url":"https://api.github.com/users/stamourv/received_events","type":"User","site_admin":false,"score":2.6577015},{"login":"vrabaud","id":700766,"avatar_url":"https://avatars.githubusercontent.com/u/700766","gravatar_id":"cc30ac48a693633fa4d05d66238eaff8","url":"https://api.github.com/users/vrabaud","html_url":"https://github.com/vrabaud","followers_url":"https://api.github.com/users/vrabaud/followers","following_url":"https://api.github.com/users/vrabaud/following{/other_user}","gists_url":"https://api.github.com/users/vrabaud/gists{/gist_id}","starred_url":"https://api.github.com/users/vrabaud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vrabaud/subscriptions","organizations_url":"https://api.github.com/users/vrabaud/orgs","repos_url":"https://api.github.com/users/vrabaud/repos","events_url":"https://api.github.com/users/vrabaud/events{/privacy}","received_events_url":"https://api.github.com/users/vrabaud/received_events","type":"User","site_admin":false,"score":5.332164},{"login":"Mitsugaru","id":1184640,"avatar_url":"https://avatars.githubusercontent.com/u/1184640","gravatar_id":"5ed6fc41ebf7d88590a4c07eae074e97","url":"https://api.github.com/users/Mitsugaru","html_url":"https://github.com/Mitsugaru","followers_url":"https://api.github.com/users/Mitsugaru/followers","following_url":"https://api.github.com/users/Mitsugaru/following{/other_user}","gists_url":"https://api.github.com/users/Mitsugaru/gists{/gist_id}","starred_url":"https://api.github.com/users/Mitsugaru/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mitsugaru/subscriptions","organizations_url":"https://api.github.com/users/Mitsugaru/orgs","repos_url":"https://api.github.com/users/Mitsugaru/repos","events_url":"https://api.github.com/users/Mitsugaru/events{/privacy}","received_events_url":"https://api.github.com/users/Mitsugaru/received_events","type":"User","site_admin":false,"score":4.0521812}]} - diff --git a/github/tests/ReplayData/Search.testUrlquotingOfQualifiers.txt b/github/tests/ReplayData/Search.testUrlquotingOfQualifiers.txt deleted file mode 100644 index a181972..0000000 --- a/github/tests/ReplayData/Search.testUrlquotingOfQualifiers.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/search/issues?q=repo%3Asaltstack%2Fsalt-api+type%3AIssues+updated%3A%3E2014-03-04T18%3A28%3A11Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:3849:237BB3A:5325E38F'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '19065'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('cache-control', 'no-cache'), ('date', 'Sun, 16 Mar 2014 17:46:56 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1394992076')] -{"total_count":6,"items":[{"url":"https://api.github.com/repos/saltstack/salt-api/issues/144","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/events","html_url":"https://github.com/saltstack/salt-api/pull/144","id":29138794,"number":144,"title":"tools.cpstats.on needs to be placed under root","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":0,"created_at":"2014-03-10T22:31:05Z","updated_at":"2014-03-10T22:32:46Z","closed_at":"2014-03-10T22:32:46Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/144","diff_url":"https://github.com/saltstack/salt-api/pull/144.diff","patch_url":"https://github.com/saltstack/salt-api/pull/144.patch"},"body":"Small error, tools.cpstats.on actually needs to be under root for metrics to be collected for all requests.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/143","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/events","html_url":"https://github.com/saltstack/salt-api/pull/143","id":29119248,"number":143,"title":"Expose cherrypy metrics","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":4,"created_at":"2014-03-10T18:20:29Z","updated_at":"2014-03-11T15:56:02Z","closed_at":"2014-03-10T22:08:21Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/143","diff_url":"https://github.com/saltstack/salt-api/pull/143.diff","patch_url":"https://github.com/saltstack/salt-api/pull/143.patch"},"body":"Expose cherrycp cpstats via /stats URI. http://docs.cherrypy.org/en/latest/refman/lib/cpstats.html?highlight=cpstats#module-cherrypy.lib.cpstats","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/142","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/events","html_url":"https://github.com/saltstack/salt-api/issues/142","id":29074591,"number":142,"title":"Use PHP to call API ,produce 400 Bad Request:Lowstates must be a list","user":{"login":"ivanwa","id":6895983,"avatar_url":"https://gravatar.com/avatar/5449da031675d985e6fb03f1d81dd6c2?d=https%3A%2F%2Fidenticons.github.com%2Fc7fd88fd0ac6e13142c23c2f1232baf5.png&r=x","gravatar_id":"5449da031675d985e6fb03f1d81dd6c2","url":"https://api.github.com/users/ivanwa","html_url":"https://github.com/ivanwa","followers_url":"https://api.github.com/users/ivanwa/followers","following_url":"https://api.github.com/users/ivanwa/following{/other_user}","gists_url":"https://api.github.com/users/ivanwa/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanwa/subscriptions","organizations_url":"https://api.github.com/users/ivanwa/orgs","repos_url":"https://api.github.com/users/ivanwa/repos","events_url":"https://api.github.com/users/ivanwa/events{/privacy}","received_events_url":"https://api.github.com/users/ivanwa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2014-03-10T06:15:11Z","updated_at":"2014-03-11T14:09:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"An error message:\r\n400 Bad Request\r\n\r\nLowstates must be a list\r\n\r\nTraceback (most recent call last):\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/_cprequest.py\", line 656, in respond\r\n response.body = self.handler()\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/lib/encoding.py\", line 188, in __call__\r\n self.body = self.oldhandler(*args, **kwargs)\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 273, in hypermedia_handler\r\n ret = cherrypy.serving.request._hypermedia_inner_handler(*args, **kwargs)\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/_cpdispatch.py\", line 34, in __call__\r\n return self.callable(*self.args, **self.kwargs)\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 1074, in POST\r\n 'return': list(self.exec_lowstate()),\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 490, in exec_lowstate\r\n raise cherrypy.HTTPError(400, 'Lowstates must be a list')\r\nHTTPError: (400, 'Lowstates must be a list')\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nAnd I use the command line to run, but it can be successful.\r\n[root@localhost salt]# curl -k https://192.168.1.159:8000/run/ \\\r\n> -H \"Accept: application/x-yaml\" \\\r\n> -d username='saltapi' \\\r\n> -d password='123456' \\\r\n> -d eauth='pam' \\\r\n> -d client='local' \\\r\n> -d tgt='*' \\\r\n> -d fun='test.ping'\r\nreturn:\r\n- {}\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy PHP script : index.php\r\n$url = \"https://192.168.1.159:8000/run\";\r\n$post_data = array (\r\n\t\t\"username\" => \"saltapi\",\r\n\t\t\"password\" => \"123456\",\r\n\t\t\"eauth\" => \"pam\",\r\n\t\t\"client\" => \"local\",\r\n\t\t\"tgt\" => \"*\",\r\n\t\t\"fun\" => \"test.ping\",\r\n\t\t\"arg\"=>\"\"\r\n);\r\n$ch = curl_init ();\r\ncurl_setopt ( $ch, CURLOPT_URL, $url );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );\r\ncurl_setopt($ch, CURLOPT_HTTPHEADER, array(\"Content-type: application/x-www-form-urlencoded\",'Expect:'));\r\ncurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );\r\n\r\ncurl_setopt ( $ch, CURLOPT_POST, 1 );\r\ncurl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );\r\n$output = curl_exec ( $ch );\r\ncurl_close ( $ch );\r\n// print\r\nprint_r ( $output );\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy master:\r\ninterface: 192.168.1.159\r\n\r\nrest_cherrypy:\r\n host: 0.0.0.0\r\n port: 8000\r\n debug: true\r\n static: /salt-webui/halite/halite\r\n app: /salt-webui/halite/halite\r\n ssl_crt: /etc/pki/tls/certs/localhost.crt\r\n ssl_key: /etc/pki/tls/private/localhost_nopass.key\r\n\r\nexternal_auth:\r\n pam:\r\n saltapi:\r\n - .*","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/141","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/events","html_url":"https://github.com/saltstack/salt-api/issues/141","id":28842635,"number":141,"title":"get error when start salt-api [ERROR ] Not loading 'rest_wsgi'. 'port' not specified in config","user":{"login":"justlooks","id":295168,"avatar_url":"https://gravatar.com/avatar/ca2d4ef0024cd926cc7a6218f7a4aed8?d=https%3A%2F%2Fidenticons.github.com%2F32491008424b6a810a81a3bfd7c139a9.png&r=x","gravatar_id":"ca2d4ef0024cd926cc7a6218f7a4aed8","url":"https://api.github.com/users/justlooks","html_url":"https://github.com/justlooks","followers_url":"https://api.github.com/users/justlooks/followers","following_url":"https://api.github.com/users/justlooks/following{/other_user}","gists_url":"https://api.github.com/users/justlooks/gists{/gist_id}","starred_url":"https://api.github.com/users/justlooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justlooks/subscriptions","organizations_url":"https://api.github.com/users/justlooks/orgs","repos_url":"https://api.github.com/users/justlooks/repos","events_url":"https://api.github.com/users/justlooks/events{/privacy}","received_events_url":"https://api.github.com/users/justlooks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2014-03-06T01:23:22Z","updated_at":"2014-03-06T02:31:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"# service salt-api start\r\nStarting salt-api daemon: [ERROR ] Not loading 'rest_wsgi'. 'port' not specified in config\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGHUP.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGTERM.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGUSR1.\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTING\r\nCherryPy Checker:\r\n'log_file' is obsolete. Use 'log.error_file' instead.\r\nsection: [saltopts]\r\n\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread '_TimeoutMonitor'.\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread 'Autoreloader'.\r\n[06/Mar/2014:09:20:31] ENGINE Serving on 0.0.0.0:8888\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTED\r\n","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/73","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/events","html_url":"https://github.com/saltstack/salt-api/issues/73","id":13141224,"number":73,"title":"Add a zero-dep, bare-WSGI REST module","user":{"login":"whiteinge","id":91293,"avatar_url":"https://gravatar.com/avatar/f0bb4c8e95d355891ab9028e4bac480e?d=https%3A%2F%2Fidenticons.github.com%2Fa310e640ddcc1bf22c861dddb9ff4f76.png&r=x","gravatar_id":"f0bb4c8e95d355891ab9028e4bac480e","url":"https://api.github.com/users/whiteinge","html_url":"https://github.com/whiteinge","followers_url":"https://api.github.com/users/whiteinge/followers","following_url":"https://api.github.com/users/whiteinge/following{/other_user}","gists_url":"https://api.github.com/users/whiteinge/gists{/gist_id}","starred_url":"https://api.github.com/users/whiteinge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whiteinge/subscriptions","organizations_url":"https://api.github.com/users/whiteinge/orgs","repos_url":"https://api.github.com/users/whiteinge/repos","events_url":"https://api.github.com/users/whiteinge/events{/privacy}","received_events_url":"https://api.github.com/users/whiteinge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"closed","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":1,"created_at":"2013-04-12T21:56:30Z","updated_at":"2014-03-04T21:13:47Z","closed_at":"2013-04-13T05:57:19Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A bare-bones \"REST\" WSGI app could be accomplished with just the Python stdlib in about ~200 LOC so we might as well. :)\r\n\r\n* Only handles JSON in/out.\r\n* Only provide a single URL.\r\n* Basically mimic the ``/run`` URL in the ``rest_cherrypy`` module.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/49","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/events","html_url":"https://github.com/saltstack/salt-api/issues/49","id":11388256,"number":49,"title":"More information in jobs resource response","user":{"login":"sfdc-kho","id":3269880,"avatar_url":"https://gravatar.com/avatar/79dd31020b3bea2124d60cb5e3cd2edf?d=https%3A%2F%2Fidenticons.github.com%2Fad2f6831adfe0801e929c20710d3e537.png&r=x","gravatar_id":"79dd31020b3bea2124d60cb5e3cd2edf","url":"https://api.github.com/users/sfdc-kho","html_url":"https://github.com/sfdc-kho","followers_url":"https://api.github.com/users/sfdc-kho/followers","following_url":"https://api.github.com/users/sfdc-kho/following{/other_user}","gists_url":"https://api.github.com/users/sfdc-kho/gists{/gist_id}","starred_url":"https://api.github.com/users/sfdc-kho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfdc-kho/subscriptions","organizations_url":"https://api.github.com/users/sfdc-kho/orgs","repos_url":"https://api.github.com/users/sfdc-kho/repos","events_url":"https://api.github.com/users/sfdc-kho/events{/privacy}","received_events_url":"https://api.github.com/users/sfdc-kho/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":4,"created_at":"2013-02-26T00:44:05Z","updated_at":"2014-03-04T18:28:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently, the minion response when a job hasn't completed is:\r\nbash-3.2$ curl -i localhost:8000/jobs/20130225115005304834 \\\r\n> -H \"X-Auth-Token: 129c6a5dadd1463932fd9db452b52148c44c6c91\" \\\r\n> -H \"Accept: application/json\"\r\nHTTP/1.1 200 OK\r\nContent-Length: 16\r\nVary: Accept-Encoding\r\nServer: CherryPy/3.2.2\r\nAllow: GET, HEAD, POST\r\nCache-Control: private\r\nDate: Mon, 25 Feb 2013 19:50:12 GMT\r\nContent-Type: application/json\r\nSet-Cookie: session_id=129c6a5dadd1463932fd9db452b52148c44c6c91; expires=Tue, 26 Feb 2013 05:50:12 GMT; Path=/\r\n\r\n{\"return\": [{}]}\r\n\r\nI am using this and a combination of saltutil.running to determine whether the job is still running, dead or completed. However, if the other issues like streaming responses get incorporated, it will become increasingly difficult to detect the state of any given job. Is it possible to return more information about what the state of the job is in the response?\r\n\r\n\r\n","score":1.0}]} - diff --git a/github/tests/ReplayData/Search.testUrlquotingOfQuery.txt b/github/tests/ReplayData/Search.testUrlquotingOfQuery.txt deleted file mode 100644 index f8f5d14..0000000 --- a/github/tests/ReplayData/Search.testUrlquotingOfQuery.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/search/issues?q=repo%3Asaltstack%2Fsalt-api+type%3AIssues+updated%3A%3E2014-03-04T18%3A28%3A11Z -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:490B:3BB7A87:5325E2ED'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '19065'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('cache-control', 'no-cache'), ('date', 'Sun, 16 Mar 2014 17:44:14 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1394991914')] -{"total_count":6,"items":[{"url":"https://api.github.com/repos/saltstack/salt-api/issues/144","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/events","html_url":"https://github.com/saltstack/salt-api/pull/144","id":29138794,"number":144,"title":"tools.cpstats.on needs to be placed under root","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":0,"created_at":"2014-03-10T22:31:05Z","updated_at":"2014-03-10T22:32:46Z","closed_at":"2014-03-10T22:32:46Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/144","diff_url":"https://github.com/saltstack/salt-api/pull/144.diff","patch_url":"https://github.com/saltstack/salt-api/pull/144.patch"},"body":"Small error, tools.cpstats.on actually needs to be under root for metrics to be collected for all requests.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/143","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/events","html_url":"https://github.com/saltstack/salt-api/pull/143","id":29119248,"number":143,"title":"Expose cherrypy metrics","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":4,"created_at":"2014-03-10T18:20:29Z","updated_at":"2014-03-11T15:56:02Z","closed_at":"2014-03-10T22:08:21Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/143","diff_url":"https://github.com/saltstack/salt-api/pull/143.diff","patch_url":"https://github.com/saltstack/salt-api/pull/143.patch"},"body":"Expose cherrycp cpstats via /stats URI. http://docs.cherrypy.org/en/latest/refman/lib/cpstats.html?highlight=cpstats#module-cherrypy.lib.cpstats","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/142","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/events","html_url":"https://github.com/saltstack/salt-api/issues/142","id":29074591,"number":142,"title":"Use PHP to call API ,produce 400 Bad Request:Lowstates must be a list","user":{"login":"ivanwa","id":6895983,"avatar_url":"https://gravatar.com/avatar/5449da031675d985e6fb03f1d81dd6c2?d=https%3A%2F%2Fidenticons.github.com%2Fc7fd88fd0ac6e13142c23c2f1232baf5.png&r=x","gravatar_id":"5449da031675d985e6fb03f1d81dd6c2","url":"https://api.github.com/users/ivanwa","html_url":"https://github.com/ivanwa","followers_url":"https://api.github.com/users/ivanwa/followers","following_url":"https://api.github.com/users/ivanwa/following{/other_user}","gists_url":"https://api.github.com/users/ivanwa/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanwa/subscriptions","organizations_url":"https://api.github.com/users/ivanwa/orgs","repos_url":"https://api.github.com/users/ivanwa/repos","events_url":"https://api.github.com/users/ivanwa/events{/privacy}","received_events_url":"https://api.github.com/users/ivanwa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2014-03-10T06:15:11Z","updated_at":"2014-03-11T14:09:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"An error message:\r\n400 Bad Request\r\n\r\nLowstates must be a list\r\n\r\nTraceback (most recent call last):\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/_cprequest.py\", line 656, in respond\r\n response.body = self.handler()\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/lib/encoding.py\", line 188, in __call__\r\n self.body = self.oldhandler(*args, **kwargs)\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 273, in hypermedia_handler\r\n ret = cherrypy.serving.request._hypermedia_inner_handler(*args, **kwargs)\r\n File \"/usr/lib/python2.6/site-packages/cherrypy/_cpdispatch.py\", line 34, in __call__\r\n return self.callable(*self.args, **self.kwargs)\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 1074, in POST\r\n 'return': list(self.exec_lowstate()),\r\n File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 490, in exec_lowstate\r\n raise cherrypy.HTTPError(400, 'Lowstates must be a list')\r\nHTTPError: (400, 'Lowstates must be a list')\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nAnd I use the command line to run, but it can be successful.\r\n[root@localhost salt]# curl -k https://192.168.1.159:8000/run/ \\\r\n> -H \"Accept: application/x-yaml\" \\\r\n> -d username='saltapi' \\\r\n> -d password='123456' \\\r\n> -d eauth='pam' \\\r\n> -d client='local' \\\r\n> -d tgt='*' \\\r\n> -d fun='test.ping'\r\nreturn:\r\n- {}\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy PHP script : index.php\r\n$url = \"https://192.168.1.159:8000/run\";\r\n$post_data = array (\r\n\t\t\"username\" => \"saltapi\",\r\n\t\t\"password\" => \"123456\",\r\n\t\t\"eauth\" => \"pam\",\r\n\t\t\"client\" => \"local\",\r\n\t\t\"tgt\" => \"*\",\r\n\t\t\"fun\" => \"test.ping\",\r\n\t\t\"arg\"=>\"\"\r\n);\r\n$ch = curl_init ();\r\ncurl_setopt ( $ch, CURLOPT_URL, $url );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );\r\ncurl_setopt($ch, CURLOPT_HTTPHEADER, array(\"Content-type: application/x-www-form-urlencoded\",'Expect:'));\r\ncurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );\r\n\r\ncurl_setopt ( $ch, CURLOPT_POST, 1 );\r\ncurl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );\r\n$output = curl_exec ( $ch );\r\ncurl_close ( $ch );\r\n// print\r\nprint_r ( $output );\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy master:\r\ninterface: 192.168.1.159\r\n\r\nrest_cherrypy:\r\n host: 0.0.0.0\r\n port: 8000\r\n debug: true\r\n static: /salt-webui/halite/halite\r\n app: /salt-webui/halite/halite\r\n ssl_crt: /etc/pki/tls/certs/localhost.crt\r\n ssl_key: /etc/pki/tls/private/localhost_nopass.key\r\n\r\nexternal_auth:\r\n pam:\r\n saltapi:\r\n - .*","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/141","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/events","html_url":"https://github.com/saltstack/salt-api/issues/141","id":28842635,"number":141,"title":"get error when start salt-api [ERROR ] Not loading 'rest_wsgi'. 'port' not specified in config","user":{"login":"justlooks","id":295168,"avatar_url":"https://gravatar.com/avatar/ca2d4ef0024cd926cc7a6218f7a4aed8?d=https%3A%2F%2Fidenticons.github.com%2F32491008424b6a810a81a3bfd7c139a9.png&r=x","gravatar_id":"ca2d4ef0024cd926cc7a6218f7a4aed8","url":"https://api.github.com/users/justlooks","html_url":"https://github.com/justlooks","followers_url":"https://api.github.com/users/justlooks/followers","following_url":"https://api.github.com/users/justlooks/following{/other_user}","gists_url":"https://api.github.com/users/justlooks/gists{/gist_id}","starred_url":"https://api.github.com/users/justlooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justlooks/subscriptions","organizations_url":"https://api.github.com/users/justlooks/orgs","repos_url":"https://api.github.com/users/justlooks/repos","events_url":"https://api.github.com/users/justlooks/events{/privacy}","received_events_url":"https://api.github.com/users/justlooks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2014-03-06T01:23:22Z","updated_at":"2014-03-06T02:31:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"# service salt-api start\r\nStarting salt-api daemon: [ERROR ] Not loading 'rest_wsgi'. 'port' not specified in config\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGHUP.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGTERM.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGUSR1.\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTING\r\nCherryPy Checker:\r\n'log_file' is obsolete. Use 'log.error_file' instead.\r\nsection: [saltopts]\r\n\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread '_TimeoutMonitor'.\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread 'Autoreloader'.\r\n[06/Mar/2014:09:20:31] ENGINE Serving on 0.0.0.0:8888\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTED\r\n","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/73","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/events","html_url":"https://github.com/saltstack/salt-api/issues/73","id":13141224,"number":73,"title":"Add a zero-dep, bare-WSGI REST module","user":{"login":"whiteinge","id":91293,"avatar_url":"https://gravatar.com/avatar/f0bb4c8e95d355891ab9028e4bac480e?d=https%3A%2F%2Fidenticons.github.com%2Fa310e640ddcc1bf22c861dddb9ff4f76.png&r=x","gravatar_id":"f0bb4c8e95d355891ab9028e4bac480e","url":"https://api.github.com/users/whiteinge","html_url":"https://github.com/whiteinge","followers_url":"https://api.github.com/users/whiteinge/followers","following_url":"https://api.github.com/users/whiteinge/following{/other_user}","gists_url":"https://api.github.com/users/whiteinge/gists{/gist_id}","starred_url":"https://api.github.com/users/whiteinge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whiteinge/subscriptions","organizations_url":"https://api.github.com/users/whiteinge/orgs","repos_url":"https://api.github.com/users/whiteinge/repos","events_url":"https://api.github.com/users/whiteinge/events{/privacy}","received_events_url":"https://api.github.com/users/whiteinge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"closed","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":1,"created_at":"2013-04-12T21:56:30Z","updated_at":"2014-03-04T21:13:47Z","closed_at":"2013-04-13T05:57:19Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A bare-bones \"REST\" WSGI app could be accomplished with just the Python stdlib in about ~200 LOC so we might as well. :)\r\n\r\n* Only handles JSON in/out.\r\n* Only provide a single URL.\r\n* Basically mimic the ``/run`` URL in the ``rest_cherrypy`` module.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/49","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/events","html_url":"https://github.com/saltstack/salt-api/issues/49","id":11388256,"number":49,"title":"More information in jobs resource response","user":{"login":"sfdc-kho","id":3269880,"avatar_url":"https://gravatar.com/avatar/79dd31020b3bea2124d60cb5e3cd2edf?d=https%3A%2F%2Fidenticons.github.com%2Fad2f6831adfe0801e929c20710d3e537.png&r=x","gravatar_id":"79dd31020b3bea2124d60cb5e3cd2edf","url":"https://api.github.com/users/sfdc-kho","html_url":"https://github.com/sfdc-kho","followers_url":"https://api.github.com/users/sfdc-kho/followers","following_url":"https://api.github.com/users/sfdc-kho/following{/other_user}","gists_url":"https://api.github.com/users/sfdc-kho/gists{/gist_id}","starred_url":"https://api.github.com/users/sfdc-kho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfdc-kho/subscriptions","organizations_url":"https://api.github.com/users/sfdc-kho/orgs","repos_url":"https://api.github.com/users/sfdc-kho/repos","events_url":"https://api.github.com/users/sfdc-kho/events{/privacy}","received_events_url":"https://api.github.com/users/sfdc-kho/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":4,"created_at":"2013-02-26T00:44:05Z","updated_at":"2014-03-04T18:28:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently, the minion response when a job hasn't completed is:\r\nbash-3.2$ curl -i localhost:8000/jobs/20130225115005304834 \\\r\n> -H \"X-Auth-Token: 129c6a5dadd1463932fd9db452b52148c44c6c91\" \\\r\n> -H \"Accept: application/json\"\r\nHTTP/1.1 200 OK\r\nContent-Length: 16\r\nVary: Accept-Encoding\r\nServer: CherryPy/3.2.2\r\nAllow: GET, HEAD, POST\r\nCache-Control: private\r\nDate: Mon, 25 Feb 2013 19:50:12 GMT\r\nContent-Type: application/json\r\nSet-Cookie: session_id=129c6a5dadd1463932fd9db452b52148c44c6c91; expires=Tue, 26 Feb 2013 05:50:12 GMT; Path=/\r\n\r\n{\"return\": [{}]}\r\n\r\nI am using this and a combination of saltutil.running to determine whether the job is still running, dead or completed. However, if the other issues like streaming responses get incorporated, it will become increasingly difficult to detect the state of any given job. Is it possible to return more information about what the state of the job is in the response?\r\n\r\n\r\n","score":1.0}]} - diff --git a/github/tests/ReplayData/SpecificExceptions.testBadCredentials.txt b/github/tests/ReplayData/SpecificExceptions.testBadCredentials.txt deleted file mode 100644 index 6c11ada..0000000 --- a/github/tests/ReplayData/SpecificExceptions.testBadCredentials.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -401 -[('status', '401 Unauthorized'), ('content-length', '29'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"ca6a3702f840b6bff0bb1bca6be0337c"'), ('date', 'Sat, 02 Jun 2012 12:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Bad credentials"} - diff --git a/github/tests/ReplayData/SpecificExceptions.testBadUserAgent.txt b/github/tests/ReplayData/SpecificExceptions.testBadUserAgent.txt deleted file mode 100644 index 05c2beb..0000000 --- a/github/tests/ReplayData/SpecificExceptions.testBadUserAgent.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': ''} -null -403 -[('date', 'Fri, 17 May 2013 12:16:34 GMT'), ('content-length', '107'), ('content-type', 'application/octet-stream'), ('connection', 'keep-alive'), ('server', 'GitHub.com')] -{"message":"Missing or invalid User Agent string. See http://developer.github.com/v3/#user-agent-required"} - diff --git a/github/tests/ReplayData/SpecificExceptions.testRateLimitExceeded.txt b/github/tests/ReplayData/SpecificExceptions.testRateLimitExceeded.txt deleted file mode 100644 index 2c7ff78..0000000 --- a/github/tests/ReplayData/SpecificExceptions.testRateLimitExceeded.txt +++ /dev/null @@ -1,55 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '2'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Accept-Encoding'), ('content-length', '1299'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 12:09:51 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('etag', '"de9347ae9c0c83b44d6c81d05aba4877"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 12:23:52 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T12:09:51Z","public_gists":3} - -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '1'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Accept-Encoding'), ('content-length', '1299'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 12:09:51 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('etag', '"de9347ae9c0c83b44d6c81d05aba4877"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 12:23:53 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T12:09:51Z","public_gists":3} - -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '0'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Accept-Encoding'), ('content-length', '1299'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 12:09:51 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('etag', '"de9347ae9c0c83b44d6c81d05aba4877"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 12:23:54 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T12:09:51Z","public_gists":3} - -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '0'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept, Accept-Encoding'), ('content-length', '1299'), ('server', 'GitHub.com'), ('last-modified', 'Fri, 17 May 2013 12:09:51 GMT'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('etag', '"de9347ae9c0c83b44d6c81d05aba4877"'), ('cache-control', 'public, max-age=60, s-maxage=60'), ('date', 'Fri, 17 May 2013 12:23:55 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","url":"https://api.github.com/users/jacquev6","html_url":"https://github.com/jacquev6","followers_url":"https://api.github.com/users/jacquev6/followers","following_url":"https://api.github.com/users/jacquev6/following{/other_user}","gists_url":"https://api.github.com/users/jacquev6/gists{/gist_id}","starred_url":"https://api.github.com/users/jacquev6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacquev6/subscriptions","organizations_url":"https://api.github.com/users/jacquev6/orgs","repos_url":"https://api.github.com/users/jacquev6/repos","events_url":"https://api.github.com/users/jacquev6/events{/privacy}","received_events_url":"https://api.github.com/users/jacquev6/received_events","type":"User","name":"Vincent Jacques","company":"Criteo","blog":"http://vincent-jacques.net","location":"Paris, France","email":"vincent@vincent-jacques.net","hireable":false,"bio":"","public_repos":16,"followers":27,"following":39,"created_at":"2010-07-09T06:10:06Z","updated_at":"2013-05-17T12:09:51Z","public_gists":3} - -https -GET -api.github.com -None -/users/jacquev6 -{'User-Agent': 'PyGithub/Python'} -null -403 -[('status', '403 Forbidden'), ('x-ratelimit-remaining', '0'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes'), ('content-length', '56'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '60'), ('access-control-allow-credentials', 'true'), ('date', 'Fri, 17 May 2013 12:23:56 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8')] -{"message":"API Rate Limit Exceeded for 92.104.200.119"} - diff --git a/github/tests/ReplayData/SpecificExceptions.testUnknownObject.txt b/github/tests/ReplayData/SpecificExceptions.testUnknownObject.txt deleted file mode 100644 index cdc2abb..0000000 --- a/github/tests/ReplayData/SpecificExceptions.testUnknownObject.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0e6c8f1cbb0c4f0eae96d8a76de9a43f"'), ('date', 'Sat, 02 Jun 2012 12:11:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"type":"User","total_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","public_gists":3,"email":"vincent@vincent-jacques.net","owned_private_repos":5,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","private_gists":5,"collaborators":0,"created_at":"2010-07-09T06:10:06Z","blog":"http://vincent-jacques.net","location":"Paris, France","url":"https://api.github.com/users/jacquev6","following":24,"disk_usage":16988,"public_repos":10,"name":"Vincent Jacques","hireable":false,"followers":13,"html_url":"https://github.com/jacquev6","id":327146,"plan":{"private_repos":5,"collaborators":1,"space":614400,"name":"micro"},"bio":""} - -https -GET -api.github.com -None -/repos/jacquev6/Xxx -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4970'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 02 Jun 2012 12:11:47 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Status.testGetLastMessage.txt b/github/tests/ReplayData/Status.testGetLastMessage.txt deleted file mode 100644 index 3d4b27e..0000000 --- a/github/tests/ReplayData/Status.testGetLastMessage.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -status.github.com -443 -/api/last-message.json -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '93'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:34:01 GMT'), ('content-type', 'application/json;charset=utf-8')] -{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:41:46Z"} - diff --git a/github/tests/ReplayData/Status.testGetMessages.txt b/github/tests/ReplayData/Status.testGetMessages.txt deleted file mode 100644 index 6c79412..0000000 --- a/github/tests/ReplayData/Status.testGetMessages.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -status.github.com -443 -/api/messages.json -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '1492'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:41:31 GMT'), ('content-type', 'application/json;charset=utf-8')] -[{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:41:46Z"},{"status":"minor","body":"GitHub Pages are currently unavailable. We're investigating the problem.","created_on":"2013-09-01T15:26:59Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T15:17:24Z"},{"status":"minor","body":"We are investigating an increased rate of errors on GitHub.com","created_on":"2013-09-01T15:14:24Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T06:52:46Z"},{"status":"minor","body":"Some GitHub pages are again unavailable. We are continuing to investigate.","created_on":"2013-09-01T06:50:31Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-09-01T06:47:25Z"},{"status":"minor","body":"Some GitHub pages are temporarily unavailable.","created_on":"2013-09-01T06:43:03Z"},{"status":"good","body":"We're back up, now featuring a massively upgraded DB cluster with SSDs and 10Gbps networking! Thanks for your patience.","created_on":"2013-08-31T12:13:04Z"},{"status":"major","body":"We're beginning our scheduled maintenance now, and expect to be back up in 20 minutes. https://github.com/blog/1603-site-maintenance-august-31st-2013","created_on":"2013-08-31T12:00:13Z"},{"status":"good","body":"Everything operating normally.","created_on":"2013-08-31T11:45:50Z"},{"status":"minor","body":"We are investigating issues with GitHub Pages","created_on":"2013-08-31T11:43:39Z"}] - diff --git a/github/tests/ReplayData/Status.testGetStatus.txt b/github/tests/ReplayData/Status.testGetStatus.txt deleted file mode 100644 index e01aec0..0000000 --- a/github/tests/ReplayData/Status.testGetStatus.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -status.github.com -443 -/api/status.json -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('content-length', '55'), ('vary', 'Accept-Encoding'), ('server', 'GitHub.com'), ('connection', 'keep-alive'), ('date', 'Fri, 06 Sep 2013 08:29:36 GMT'), ('content-type', 'application/json;charset=utf-8')] -{"status":"good","last_updated":"2013-09-06T08:29:27Z"} - diff --git a/github/tests/ReplayData/Tag.setUp.txt b/github/tests/ReplayData/Tag.setUp.txt deleted file mode 100644 index b743ba7..0000000 --- a/github/tests/ReplayData/Tag.setUp.txt +++ /dev/null @@ -1,33 +0,0 @@ -https -GET -api.github.com -None -/user -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9de15de3e62b82f61ccc4ffeadea7f9f"'), ('date', 'Sat, 19 May 2012 04:49:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"collaborators":0,"type":"User","public_gists":1,"company":"Criteo","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"owned_private_repos":5,"hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","bio":"","disk_usage":16768,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"168623303cdf933a5eda91a18bb2ad76"'), ('date', 'Sat, 19 May 2012 04:49:44 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} - -https -GET -api.github.com -None -/repos/jacquev6/PyGithub/tags -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '1873'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d43a1ebbb23a4f99f4fbac19caadc4af"'), ('date', 'Sat, 19 May 2012 04:49:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.3","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.3","name":"v0.3","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/636e6112deb72277b3bffcc3303cd7e8a7431a5d","sha":"636e6112deb72277b3bffcc3303cd7e8a7431a5d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.4","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.4","name":"v0.4","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","sha":"a3be28756101370fbc689eec3a7825c4c385a6c9"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.5","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.5","name":"v0.5","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.6","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.6","name":"v0.6","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.1","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.1","name":"v0.1","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dbdcda3591980de42617814f792969126e6402c3","sha":"dbdcda3591980de42617814f792969126e6402c3"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.2","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.2","name":"v0.2","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f0b05161f9d1962b9156e6c91fc04f382028240","sha":"9f0b05161f9d1962b9156e6c91fc04f382028240"}}] - diff --git a/github/tests/ReplayData/Team.setUp.txt b/github/tests/ReplayData/Team.setUp.txt deleted file mode 100644 index 38e0269..0000000 --- a/github/tests/ReplayData/Team.setUp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https -GET -api.github.com -None -/orgs/BeaverSoftware -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '716'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4862bcec9fa538316e2fcd73be37b846"'), ('date', 'Sat, 26 May 2012 21:09:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"public_gists":0,"type":"Organization","disk_usage":112,"private_gists":0,"public_repos":2,"url":"https://api.github.com/orgs/BeaverSoftware","total_private_repos":0,"plan":{"private_repos":0,"name":"free","space":307200},"blog":null,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","owned_private_repos":0,"collaborators":0,"company":null,"login":"BeaverSoftware","email":null,"followers":0,"name":null,"created_at":"2012-02-09T19:20:12Z","location":"Paris, France","id":1424031,"billing_email":"BeaverSoftware@vincent-jacques.net","following":0,"html_url":"https://github.com/BeaverSoftware"} - -https -GET -api.github.com -None -/teams/189850 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '145'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"03555a65309084f36bcf959063a39d35"'), ('date', 'Sat, 26 May 2012 21:09:52 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"repos_count":0,"url":"https://api.github.com/teams/189850","members_count":0,"name":"Team created by PyGithub","permission":"pull","id":189850} - diff --git a/github/tests/ReplayData/Team.testDelete.txt b/github/tests/ReplayData/Team.testDelete.txt deleted file mode 100644 index 69f4b6a..0000000 --- a/github/tests/ReplayData/Team.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/teams/189850 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4946'), ('x-ratelimit-limit', '5000'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:16:46 GMT')] - - diff --git a/github/tests/ReplayData/Team.testEditWithAllArguments.txt b/github/tests/ReplayData/Team.testEditWithAllArguments.txt deleted file mode 100644 index 4a68ad6..0000000 --- a/github/tests/ReplayData/Team.testEditWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/teams/189850 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "Name edited twice by PyGithub", "permission": "admin"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('content-length', '151'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8856425cedbdf3075576e823f39fc3d6"'), ('date', 'Sat, 26 May 2012 21:14:46 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"permission":"admin","members_count":0,"url":"https://api.github.com/teams/189850","repos_count":0,"name":"Name edited twice by PyGithub","id":189850} - diff --git a/github/tests/ReplayData/Team.testEditWithoutArguments.txt b/github/tests/ReplayData/Team.testEditWithoutArguments.txt deleted file mode 100644 index 999afb1..0000000 --- a/github/tests/ReplayData/Team.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/teams/189850 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"name": "Name edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '144'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"843001aba6d35f27320c0788c9ff64b1"'), ('date', 'Sat, 26 May 2012 21:14:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"permission":"pull","members_count":0,"url":"https://api.github.com/teams/189850","repos_count":0,"name":"Name edited by PyGithub","id":189850} - diff --git a/github/tests/ReplayData/Team.testMembers.txt b/github/tests/ReplayData/Team.testMembers.txt deleted file mode 100644 index 24a60d5..0000000 --- a/github/tests/ReplayData/Team.testMembers.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/users/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4974'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fcfa200b026b10e9a41dfc2bb1057b33"'), ('date', 'Sat, 26 May 2012 21:09:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"private_gists":5,"collaborators":0,"type":"User","disk_usage":17016,"hireable":false,"url":"https://api.github.com/users/jacquev6","plan":{"collaborators":1,"name":"micro","private_repos":5,"space":614400},"public_repos":11,"bio":"","total_private_repos":5,"company":"Criteo","blog":"http://vincent-jacques.net","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","email":"vincent@vincent-jacques.net","owned_private_repos":5,"followers":13,"name":"Vincent Jacques","public_gists":3,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} - -https -GET -api.github.com -None -/teams/189850/members -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4973'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sat, 26 May 2012 21:09:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -GET -api.github.com -None -/teams/189850/members/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4972'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 26 May 2012 21:09:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/teams/189850/members/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:09:55 GMT')] - - -https -GET -api.github.com -None -/teams/189850/members -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5c59999e9aff00a09d7aa96ad73d5ff2"'), ('date', 'Sat, 26 May 2012 21:09:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"}] - -https -GET -api.github.com -None -/teams/189850/members/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4969'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:09:56 GMT')] - - -https -DELETE -api.github.com -None -/teams/189850/members/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4968'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:09:57 GMT')] - - -https -GET -api.github.com -None -/teams/189850/members -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sat, 26 May 2012 21:09:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -GET -api.github.com -None -/teams/189850/members/jacquev6 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4966'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 26 May 2012 21:09:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/Team.testRepoPermission.txt b/github/tests/ReplayData/Team.testRepoPermission.txt deleted file mode 100644 index 6846c5f..0000000 --- a/github/tests/ReplayData/Team.testRepoPermission.txt +++ /dev/null @@ -1,21 +0,0 @@ -https -GET -api.github.com -None -/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1431'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9b98209a51840e6710aa96cb2e4eb56"'), ('date', 'Sat, 26 May 2012 21:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"organization":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","mirror_url":null,"has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"} - -https -PUT -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{"Authorization": "Basic login_and_password_removed", "Content-Type": "application/json", "User-Agent": "PyGithub/Python"} -{"permission": "admin"} -204 -[] -{} diff --git a/github/tests/ReplayData/Team.testRepos.txt b/github/tests/ReplayData/Team.testRepos.txt deleted file mode 100644 index fcb489a..0000000 --- a/github/tests/ReplayData/Team.testRepos.txt +++ /dev/null @@ -1,99 +0,0 @@ -https -GET -api.github.com -None -/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1431'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c9b98209a51840e6710aa96cb2e4eb56"'), ('date', 'Sat, 26 May 2012 21:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"organization":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","mirror_url":null,"has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","owner":{"url":"https://api.github.com/users/BeaverSoftware","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"} - -https -GET -api.github.com -None -/teams/189850/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sat, 26 May 2012 21:12:35 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -GET -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4961'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 26 May 2012 21:12:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - -https -PUT -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4960'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:12:36 GMT')] - - -https -GET -api.github.com -None -/teams/189850/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4959'), ('content-length', '1107'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f29ca00cf809ab0ca2bc42a50e067637"'), ('date', 'Sat, 26 May 2012 21:12:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","has_downloads":true,"watchers":2,"updated_at":"2012-02-16T21:51:15Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","mirror_url":null,"has_wiki":true,"has_issues":true,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","owner":{"url":"https://api.github.com/users/BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","login":"BeaverSoftware","id":1424031,"avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png"},"name":"FatherBeaver","language":null,"description":"","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","pushed_at":null,"created_at":"2012-02-09T19:32:21Z","id":3400397,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","html_url":"https://github.com/BeaverSoftware/FatherBeaver","full_name":"BeaverSoftware/FatherBeaver"}] - -https -GET -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4958'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:12:38 GMT')] - - -https -DELETE -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4957'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:12:38 GMT')] - - -https -GET -api.github.com -None -/teams/189850/repos -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4956'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d751713988987e9331980363e24189ce"'), ('date', 'Sat, 26 May 2012 21:12:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[] - -https -GET -api.github.com -None -/teams/189850/repos/BeaverSoftware/FatherBeaver -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -404 -[('status', '404 Not Found'), ('x-ratelimit-remaining', '4955'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sat, 26 May 2012 21:12:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"message":"Not Found"} - diff --git a/github/tests/ReplayData/UserKey.setUp.txt b/github/tests/ReplayData/UserKey.setUp.txt deleted file mode 100644 index 12f1a99..0000000 --- a/github/tests/ReplayData/UserKey.setUp.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -GET -api.github.com -None -/user/keys/2626650 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7261ec55c886d6bf42e48d5bf9544586"'), ('date', 'Sat, 26 May 2012 19:53:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626650","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","verified":true,"title":"Key added through PyGithub","id":2626650} - diff --git a/github/tests/ReplayData/UserKey.testDelete.txt b/github/tests/ReplayData/UserKey.testDelete.txt deleted file mode 100644 index 3a838e2..0000000 --- a/github/tests/ReplayData/UserKey.testDelete.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -DELETE -api.github.com -None -/user/keys/2626650 -{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4977'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 19:58:16 GMT')] - - diff --git a/github/tests/ReplayData/UserKey.testEditWithAllArguments.txt b/github/tests/ReplayData/UserKey.testEditWithAllArguments.txt deleted file mode 100644 index f9685bf..0000000 --- a/github/tests/ReplayData/UserKey.testEditWithAllArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/user/keys/2626650 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==", "title": "Title edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '503'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b3e0d8e43865724d6f36f15753984816"'), ('date', 'Sat, 26 May 2012 19:57:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626650","verified":true,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==","title":"Title edited by PyGithub","id":2626650} - diff --git a/github/tests/ReplayData/UserKey.testEditWithoutArguments.txt b/github/tests/ReplayData/UserKey.testEditWithoutArguments.txt deleted file mode 100644 index a0d1842..0000000 --- a/github/tests/ReplayData/UserKey.testEditWithoutArguments.txt +++ /dev/null @@ -1,11 +0,0 @@ -https -PATCH -api.github.com -None -/user/keys/2626650 -{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} -{} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7261ec55c886d6bf42e48d5bf9544586"'), ('date', 'Sat, 26 May 2012 19:57:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/user/keys/2626650","key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==","verified":true,"title":"Key added through PyGithub","id":2626650} - diff --git a/github/tests/Repository.py b/github/tests/Repository.py deleted file mode 100644 index e0aaaca..0000000 --- a/github/tests/Repository.py +++ /dev/null @@ -1,662 +0,0 @@ -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class Repository(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user() - self.repo = self.user.get_repo("PyGithub") - - def testAttributes(self): - self.assertEqual(self.repo.clone_url, "https://github.com/jacquev6/PyGithub.git") - self.assertEqual(self.repo.created_at, datetime.datetime(2012, 2, 25, 12, 53, 47)) - self.assertEqual(self.repo.description, "Python library implementing the full Github API v3") - self.assertFalse(self.repo.fork) - self.assertEqual(self.repo.forks, 3) - self.assertEqual(self.repo.full_name, "jacquev6/PyGithub") - self.assertEqual(self.repo.git_url, "git://github.com/jacquev6/PyGithub.git") - self.assertTrue(self.repo.has_downloads) - self.assertTrue(self.repo.has_issues) - self.assertFalse(self.repo.has_wiki) - self.assertEqual(self.repo.homepage, "http://vincent-jacques.net/PyGithub") - self.assertEqual(self.repo.html_url, "https://github.com/jacquev6/PyGithub") - self.assertEqual(self.repo.id, 3544490) - self.assertEqual(self.repo.language, "Python") - self.assertEqual(self.repo.master_branch, None) - self.assertEqual(self.repo.name, "PyGithub") - self.assertEqual(self.repo.open_issues, 16) - self.assertEqual(self.repo.organization, None) - self.assertEqual(self.repo.owner.login, "jacquev6") - self.assertEqual(self.repo.parent, None) - self.assertTrue(self.repo.permissions.admin) - self.assertTrue(self.repo.permissions.pull) - self.assertTrue(self.repo.permissions.push) - self.assertFalse(self.repo.private) - self.assertEqual(self.repo.pushed_at, datetime.datetime(2012, 5, 27, 6, 0, 28)) - self.assertEqual(self.repo.size, 308) - self.assertEqual(self.repo.source, None) - self.assertEqual(self.repo.ssh_url, "git@github.com:jacquev6/PyGithub.git") - self.assertEqual(self.repo.svn_url, "https://github.com/jacquev6/PyGithub") - self.assertEqual(self.repo.updated_at, datetime.datetime(2012, 5, 27, 6, 55, 28)) - self.assertEqual(self.repo.url, "https://api.github.com/repos/jacquev6/PyGithub") - self.assertEqual(self.repo.watchers, 15) - - # test __repr__() based on this attributes - self.assertEqual(self.repo.__repr__(), 'Repository(full_name="jacquev6/PyGithub")') - - def testProtectBranch(self): - self.repo.protect_branch("master", True, "everyone", ["test"]) - branch = self.repo.get_protected_branch("master") - self.assertTrue(branch.protected) - self.assertEqual(branch.enforcement_level, "everyone") - self.assertEqual(branch.contexts, ["test"]) - - def testRemoveBranchProtection(self): - self.repo.protect_branch("master", False) - branch = self.repo.get_protected_branch("master") - self.assertFalse(branch.protected) - self.assertEqual(branch.enforcement_level, "off") - self.assertEqual(branch.contexts, []) - - def testChangeBranchProtectionContexts(self): - self.repo.protect_branch("master", True, "everyone", ["test"]) - branch = self.repo.get_protected_branch("master") - self.assertTrue(branch.protected) - self.assertEqual(branch.enforcement_level, "everyone") - self.assertEqual(branch.contexts, ["test"]) - self.repo.protect_branch("master", True, "everyone", ["test", "default"]) - branch = self.repo.get_protected_branch("master") - self.assertEqual(branch.contexts, ["default", "test"]) - self.repo.protect_branch("master", True, "everyone", ["default"]) - branch = self.repo.get_protected_branch("master") - self.assertEqual(branch.contexts, ["default"]) - - def testRaiseErrorWithOutBranch(self): - raised = False - try: - self.repo.protect_branch("", True, "everyone", ["test"]) - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 404) - self.assertEqual( - exception.data, { - u'documentation_url': u'https://developer.github.com/v3/repos/#get-branch', - u'message': u'Branch not found' - } - ) - self.assertTrue(raised) - - def testRaiseErrorWithBranchProtectionWithOutContext(self): - raised = False - try: - self.repo.protect_branch("master", True, "everyone") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 422) - self.assertEqual( - exception.data, { - u'documentation_url': u'https://developer.github.com/v3', - u'message': u'Invalid request.\n\n"contexts" wasn\'t supplied.' - } - ) - self.assertTrue(raised) - - def testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel(self): - raised = False - try: - self.repo.protect_branch("master", True, "", ["test"]) - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 422) - self.assertEqual( - exception.data, { - u'documentation_url': - u'https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection', - u'message': u'Validation Failed', - u'errors': [ - { - u'field': u'required_status_checks_enforcement_level', - u'message': u"required_status_checks_enforcement_level enforcement level '%s' is not valid", - u'code': u'custom', - u'resource': u'ProtectedBranch' - } - ] - } - ) - self.assertTrue(raised) - - def testChangeBranchProtectionEnforcementLevel(self): - self.repo.protect_branch("master", True, "everyone", ["test"]) - branch = self.repo.get_protected_branch("master") - self.assertTrue(branch.protected) - self.assertEqual(branch.enforcement_level, "everyone") - self.repo.protect_branch("master", True, "non_admins", ["test"]) - branch = self.repo.get_protected_branch("master") - self.assertEqual(branch.enforcement_level, "non_admins") - - def testEditWithoutArguments(self): - self.repo.edit("PyGithub") - - def testEditWithAllArguments(self): - self.repo.edit("PyGithub", "Description edited by PyGithub", "http://vincent-jacques.net/PyGithub", private=True, has_issues=True, has_wiki=False, has_downloads=True) - self.assertEqual(self.repo.description, "Description edited by PyGithub") - self.repo.edit("PyGithub", "Python library implementing the full Github API v3") - self.assertEqual(self.repo.description, "Python library implementing the full Github API v3") - - def testEditWithDefaultBranch(self): - self.assertEqual(self.repo.master_branch, None) - self.repo.edit("PyGithub", default_branch="master") - self.assertEqual(self.repo.master_branch, "master") - - def testDelete(self): - repo = self.g.get_user().get_repo("TestPyGithub") - repo.delete() - - def testGetContributors(self): - self.assertListKeyEqual(self.repo.get_contributors(), lambda c: (c.login, c.contributions), [("jacquev6", 355)]) - - def testCreateMilestone(self): - milestone = self.repo.create_milestone("Milestone created by PyGithub", state="open", description="Description created by PyGithub", due_on=datetime.date(2012, 6, 15)) - self.assertEqual(milestone.number, 5) - - def testCreateMilestoneWithMinimalArguments(self): - milestone = self.repo.create_milestone("Milestone also created by PyGithub") - self.assertEqual(milestone.number, 6) - - def testCreateIssue(self): - issue = self.repo.create_issue("Issue created by PyGithub") - self.assertEqual(issue.number, 28) - - def testCreateIssueWithAllArguments(self): - user = self.g.get_user("jacquev6") - milestone = self.repo.get_milestone(2) - question = self.repo.get_label("Question") - issue = self.repo.create_issue("Issue also created by PyGithub", "Body created by PyGithub", user, milestone, [question], ["jacquev6", "stuglaser"]) - self.assertEqual(issue.number, 30) - - def testCreateIssueWithAllArgumentsStringLabel(self): - user = self.g.get_user("jacquev6") - milestone = self.repo.get_milestone(2) - issue = self.repo.create_issue("Issue also created by PyGithub", "Body created by PyGithub", user, milestone, ["Question"], ["jacquev6", "stuglaser"]) - self.assertEqual(issue.number, 30) - - def testCreateLabel(self): - label = self.repo.create_label("Label with silly name % * + created by PyGithub", "00ff00") - self.assertEqual(label.color, "00ff00") - self.assertEqual(label.name, "Label with silly name % * + created by PyGithub") - self.assertEqual(label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub") - - def testGetLabel(self): - label = self.repo.get_label("Label with silly name % * + created by PyGithub") - self.assertEqual(label.color, "00ff00") - self.assertEqual(label.name, "Label with silly name % * + created by PyGithub") - self.assertEqual(label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub") - - def testCreateHookWithMinimalParameters(self): - hook = self.repo.create_hook("web", {"url": "http://foobar.com"}) - self.assertEqual(hook.id, 257967) - - def testCreateHookWithAllParameters(self): - hook = self.repo.create_hook("web", {"url": "http://foobar.com"}, ["fork"], False) - self.assertTrue(hook.active) # WTF - self.assertEqual(hook.id, 257993) - - def testCreateGitRef(self): - ref = self.repo.create_git_ref("refs/heads/BranchCreatedByPyGithub", "4303c5b90e2216d927155e9609436ccb8984c495") - self.assertEqual(ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub") - - def testCreateGitBlob(self): - blob = self.repo.create_git_blob("Blob created by PyGithub", "latin1") - self.assertEqual(blob.sha, "5dd930f591cd5188e9ea7200e308ad355182a1d8") - - def testCreateGitTree(self): - tree = self.repo.create_git_tree( - [github.InputGitTreeElement( - "Foobar.txt", - "100644", - "blob", - content="File created by PyGithub" - )] - ) - self.assertEqual(tree.sha, "41cf8c178c636a018d537cb20daae09391efd70b") - - def testCreateGitTreeWithBaseTree(self): - base_tree = self.repo.get_git_tree("41cf8c178c636a018d537cb20daae09391efd70b") - tree = self.repo.create_git_tree( - [github.InputGitTreeElement( - "Barbaz.txt", - "100644", - "blob", - content="File also created by PyGithub" - )], - base_tree - ) - self.assertEqual(tree.sha, "107139a922f33bab6fbeb9f9eb8787e7f19e0528") - - def testCreateGitTreeWithSha(self): - tree = self.repo.create_git_tree( - [github.InputGitTreeElement( - "Barbaz.txt", - "100644", - "blob", - sha="5dd930f591cd5188e9ea7200e308ad355182a1d8" - )] - ) - self.assertEqual(tree.sha, "fae707821159639589bf94f3fb0a7154ec5d441b") - - def testCreateGitCommit(self): - tree = self.repo.get_git_tree("107139a922f33bab6fbeb9f9eb8787e7f19e0528") - commit = self.repo.create_git_commit("Commit created by PyGithub", tree, []) - self.assertEqual(commit.sha, "0b820628236ab8bab3890860fc414fa757ca15f4") - - def testCreateGitCommitWithParents(self): - parents = [ - self.repo.get_git_commit("7248e66831d4ffe09ef1f30a1df59ec0a9331ece"), - self.repo.get_git_commit("12d427464f8d91c8e981043a86ba8a2a9e7319ea"), - ] - tree = self.repo.get_git_tree("fae707821159639589bf94f3fb0a7154ec5d441b") - commit = self.repo.create_git_commit("Commit created by PyGithub", tree, parents) - self.assertEqual(commit.sha, "6adf9ea25ff8a8f2a42bcb1c09e42526339037cd") - - def testCreateGitCommitWithAllArguments(self): - tree = self.repo.get_git_tree("107139a922f33bab6fbeb9f9eb8787e7f19e0528") - commit = self.repo.create_git_commit("Commit created by PyGithub", tree, [], github.InputGitAuthor("John Doe", "j.doe@vincent-jacques.net", "2008-07-09T16:13:30+12:00"), github.InputGitAuthor("John Doe", "j.doe@vincent-jacques.net", "2008-07-09T16:13:30+12:00")) - self.assertEqual(commit.sha, "526946197ae9da59c6507cacd13ad6f1cfb686ea") - - def testCreateGitTag(self): - tag = self.repo.create_git_tag("TaggedByPyGithub", "Tag created by PyGithub", "0b820628236ab8bab3890860fc414fa757ca15f4", "commit") - self.assertEqual(tag.sha, "5ba561eaa2b7ca9015662510157b15d8f3b0232a") - - def testCreateGitTagWithAllArguments(self): - tag = self.repo.create_git_tag("TaggedByPyGithub2", "Tag also created by PyGithub", "526946197ae9da59c6507cacd13ad6f1cfb686ea", "commit", github.InputGitAuthor("John Doe", "j.doe@vincent-jacques.net", "2008-07-09T16:13:30+12:00")) - self.assertEqual(tag.sha, "f0e99a8335fbc84c53366c4a681118468f266625") - - def testCreateKey(self): - key = self.repo.create_key("Key added through PyGithub", "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw== vincent@IDEE") - self.assertEqual(key.id, 2626761) - - def testCollaborators(self): - lyloa = self.g.get_user("Lyloa") - self.assertFalse(self.repo.has_in_collaborators(lyloa)) - self.repo.add_to_collaborators(lyloa) - self.assertTrue(self.repo.has_in_collaborators(lyloa)) - self.assertListKeyEqual(self.repo.get_collaborators(), lambda u: u.login, ["jacquev6", "Lyloa"]) - self.repo.remove_from_collaborators(lyloa) - self.assertFalse(self.repo.has_in_collaborators(lyloa)) - - def testCompare(self): - comparison = self.repo.compare("v0.6", "v0.7") - self.assertEqual(comparison.status, "ahead") - self.assertEqual(comparison.ahead_by, 4) - self.assertEqual(comparison.behind_by, 0) - self.assertEqual(comparison.diff_url, "https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7.diff") - self.assertEqual(comparison.html_url, "https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7") - self.assertEqual(comparison.url, "https://api.github.com/repos/jacquev6/PyGithub/compare/v0.6...v0.7") - self.assertEqual(comparison.patch_url, "https://github.com/jacquev6/PyGithub/compare/v0.6...v0.7.patch") - self.assertEqual(comparison.permalink_url, "https://github.com/jacquev6/PyGithub/compare/jacquev6:4303c5b...jacquev6:ecda065") - self.assertEqual(comparison.total_commits, 4) - self.assertListKeyEqual(comparison.files, lambda f: f.filename, ["ReferenceOfClasses.md", "github/Github.py", "github/Requester.py", "setup.py"]) - self.assertEqual(comparison.base_commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495") - self.assertListKeyEqual(comparison.commits, lambda c: c.sha, ["5bb654d26dd014d36794acd1e6ecf3736f12aad7", "cb0313157bf904f2d364377d35d9397b269547a5", "0cec0d25e606c023a62a4fc7cdc815309ebf6d16", "ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7"]) - - def testGetComments(self): - self.assertListKeyEqual( - self.repo.get_comments(), - lambda c: c.body, - [ - "probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ", - "No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !", - "Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ", - "Comment created by PyGithub" - ] - ) - - def testGetCommits(self): - self.assertListKeyBegin(self.repo.get_commits(), lambda c: c.sha, ['ecda065e01876209d2bdf5fe4e91cee8ffaa9ff7', '0cec0d25e606c023a62a4fc7cdc815309ebf6d16', 'cb0313157bf904f2d364377d35d9397b269547a5', '5bb654d26dd014d36794acd1e6ecf3736f12aad7', '4303c5b90e2216d927155e9609436ccb8984c495', '2a7e80e6421c5d4d201d60619068dea6bae612cb', '0af24499a98e85f8ab2191898e8b809e5cebd4c5', 'e5ae923a68a9ae295ce5aa20b1227253de60e918', '2f64b625f7e2afc9bef61d0decb459e2ef65c550', '590798d349cba7de6e83b43aa5d4f8b0a38e685d', 'e7dca9143a23b8e2045a4a910a4a329007b10086', 'ab3f9b422cb3043d35cf6002fc9c042f8ead8c2a', '632d8b63c32a2b79e87eb3b93e1ad228724de4bd', '64c6a1e975e61b9c1449bed016cd19f33ee4b1c5', '99963536fc81db3b9986c761b9dd08de22089aa2', '8d57522bbd15d1fb6b616fae795cd8721deb1c4d', '1140a91f3e45d09bc15463724f178a7ebf8e3149', '936f4a97f1a86392637ec002bbf89ff036a5062d', 'e10470481795506e2c232720e2a9ecf588c8b567', 'e456549e5265406f8090ae5145255c8ca9ea5e4e', 'a91131be42eb328ae030f584af500f56aa08424b', '2469c6e1aeb7919126a8271f6980b555b167e8b0', 'a655d0424135befd3a0d53f3f7eff2d1c754854f', 'ce62e91268aa34dad0ba0dbee4769933e3a71e50', '1c88ee221b7f995855a1fdfac7d0ba19db918739', 'bd1a5dff3c547c634b2d89f5847218820e343883', 'b226b5b4e2f44107dde674e7a5d3e88d4e3518df', '25dbd4053e982402c7d92139f167dbe46008c932', 'a0cc821c1beada4aa9ca0d5218664c5372720936', 'c1440bdf20bfeb62684c6d1779448719dce9d2df', '1095d304b7fab3818dcb4c42093c8c56d3ac05e4', 'bd39726f7cf86ea7ffb33b5718241fdab5fc8f53', '1d2b27824d20612066d84be42d6691c66bb18ef4', '6af2bfd0d46bc0eeb8c37b85c7b3003e0e4ae297', 'a475d685d8ae709095d09094ea0962ac182d33f0', 'a85de99ea5b5e7b38bd68e076d09c49207b8687e', 'd24cf209ddd1758188c5f35344f76df818d09a46', '0909fec395bb1f97e2580d6a029cfc64b352aff9', '6e421e9e85e12008758870bc046bc2c6120af72a', '32ed0ebc377efbed5b482b3d49ff54bf1715d55a', '8213df1d744f251aa8e52229643a9f6ce352f3c0', '69cc298fd159f19eb204dd09f17d31dc4abc3d41', '85eef756353e13efcb24c726320cd2617c2a7bd8', '50ac55b25ceba555b84709839f80447552450697', '767d75a580279e457f9bc52bc308a17ff8ea0509', '75e72ffa3066693291f7da03070666e8f885097a', '504047e218e6b34a3828ccc408431634f17b9504', '960db1d5c9853e9f5fbbc9237c2c166ceef1f080', '877dde23e140bbf038f9a2d8f0f07b4e3a965c61', '1c95ddfa09ec0aa1f07ee9ad50a77be1dd74b55e', '99564c1cab139d1e4678f5f83f60d26f1210db7e', '231926207709ceaa61e87b64e34e17d85adecd9c', 'fb722625dddb9a32f75190723f7da12683b7c4b2', 'cab9d71603e127bdd1f600a759dccea1781fa1ab', 'e648e5aeb5edc1fbf83e9d37d2a3cb57c005019a', '4a5cf98e7f959f1b5d9af484760c25cd27d9180d', '5d1add448e0b0b1dadb8c6094a9e5e19b255f67e', '0d9fc99a4b5d1ec6473c9c81c888917c132ffa65', 'b56aa09011378b014221f86dffb8304957a9e6bd', '3e8169c0a98ce1e2c6a32ae1256ae0f735065df5', '378558f6cac6183b4a7100c0ce5eaad1cfff6717', '58b4396aa0e7cb72911b75cb035798143a06e0ee', 'a3be28756101370fbc689eec3a7825c4c385a6c9', '3d6bd49ce229243fea4bb46a937622d0ec7d4d1c', '58cb0dbdef9765e0e913c726f923a47315aaf80e', '7b7ac20c6fa27f72a24483c73ab1bf4deffc89f0', '97f308e67383368a2d15788cac28e126c8528bb2', 'fc33a6de4f0e08d7ff2de05935517ec3932d212e', 'cc6d0fc044eadf2e6fde5da699f61654c1e691f3', '2dd71f3777b87f2ba61cb20d2c67f10401e3eb2c', '366ca58ca004b9129f9d435db8204ce0f5bc57c3', '0d3b3ffd1e5c143af8725fdee808101f626f683d', '157f9c13275738b6b39b8d7a874f5f0aee47cb18']) - - def testGetCommitsWithArguments(self): - self.assertListKeyEqual(self.repo.get_commits("topic/RewriteWithGeneratedCode", "codegen/GenerateCode.py"), lambda c: c.sha, ["de386d5dc9cf103c90c4128eeca0e6abdd382065", "5b44982f6111bff2454243869df2e1c3086ccbba", "d6835ff949141957a733c8ddfa147026515ae493", "075d3d961d4614a2a0835d5583248adfc0687a7d", "8956796e7f462a49f499eac52fab901cdb59abdb", "283da5e7de6a4a3b6aaae7045909d70b643ad380", "d631e83b7901b0a0b6061b361130700a79505319"]) - - def testGetCommitsWithSinceUntil(self): - self.assertListKeyEqual(self.repo.get_commits(since=datetime.datetime(2013, 3, 1), until=datetime.datetime(2013, 3, 31)), lambda c: c.sha, ['db5560bd658b5d8057a864f7037ace4d5f618f1b', 'f266fed520fea4f683caabe0b38e1f758cfc5cff', 'dff094650011398fd8f0a57bf2668a066fb2cbcb', 'c1d747a9133a1c6cae1f0e11105a5f490f65fda6', '0bc368973acfb50a531329b6c196ba92e0a81890', '7b3e4c15ed6182963d66ffa9f0522acd0765275c', '4df3a7eb47888f38c4c6dae50573f030a0a3f1e1', 'e0db8cad4ec01c65e5e0eb50e11765e425e88ef9', '1c47be4e895b823baf907b25c647e43ab63c16dd', '8a9afbb1aa36c6ba04142c6e6c1cfbd7de982a6a', '1c67359a318f05e50bf457818e1983ce95aa5946', '1d18bd66f3a4a4225435bd38df04b8a227b5e821', 'b9d71fa787a2ffb99b6631e4bd6df932a4d4adbb', 'f5d8e221d116b74a200d87afca32247f01204ba1', 'dc96fef052f2b5c6adb34da65169e8df3f35f611', 'c85af79db11ed1d2f93261ea4069a23ff1709125', '0dd1adb4f06f45d554d12083b312fcdb6f6be8d1', 'b7e4000450e89b8c6e947e3a1e52fb06da7c9621', '1d9ad14fa918866c418067e774f65cede8e38682', '1bb05fef01d0a040cb2b931a4d44392784a2f0c1', 'd9b29851ddccc907f71f1ae662e57f2cd7c7dc71', 'f962bc71fee609cd54fe69c956c8b81703d2c19a', '7a9c0b916c632be8d6a65bc1b6f558508f04bb22', '82ce7b1ee30d308b48bdac6d8737dbca70500462', '1e99e7d5b21c71bf68cc5cc21faec30ee603b8b8', 'a397fac6db9f87a903ec3ede9643cb2b4224ed82', '109495175e926731703a55cafd8b542a07366513', 'da6bbdb69485fc3256030d8296589d4c2fb5df21', '34c18342dcce9697abc6f522c3506485202e6e7e', 'ee29deddd27480401db484733ecde9e7b1df5eda', '0901df1a2bed3f993cfe6e0d4cff5923bbf6ce32', 'edcf40bc7f25d1aff5c404406fbb37ad1bcf691e', 'f25c54e1d4eefb11c18f3de85270a4b19edea3ce', '23d668f11bdd806a871e0979bf5295d001f66ef2', '50a243671f1fa139cb1186c4a44c1e96b8cd5749', '6a3a384fd0decac1203db6c2bddc58039b0390bc', '82f5b4c61f86ae8c7cc85a31cb1a31180eeae32f', '6ac783974d3985dd0c162c1e8d1150615cc0082e', '0f9bb5d9fd2dcfbf03f094362e86323c9ef915e6', 'e25a6a49d1ab1a10c84db9b6722a6186ff6dfcbd', '4f1780f427eba400cbc06897e69eda0ecdecd887', '28648a51a15e430b85d6fe8f2514e1cb06bc76b8', 'a39f421ca24bd7aae984f8703159c7e30798a121', '86fe370b97b62548317cb35bc02ece3fabb7fa03', '03a256a4052cacea998d8205a83d5b5465f31e18', '9e6b086c2db5e4884484a04934f6f2e53e3f441b', '0ddb34d987b5a03813fdfa2fac13c933834a4804']) - - def testGetCommitsWithAuthor(self): - self.g.per_page = 5 - akfish = self.g.get_user("AKFish") - self.assertListKeyBegin(self.repo.get_commits(author=self.user), lambda c: c.sha, ["54f718a15770579a37ffbe7ae94ad30003407786"]) - self.assertListKeyBegin(self.repo.get_commits(author=akfish), lambda c: c.sha, ["38b137fb37c0fdc74f8802a4184518e105db9121"]) - self.assertListKeyBegin(self.repo.get_commits(author="m.ki2@laposte.net"), lambda c: c.sha, ["ab674dfcbc86c70bc32d9ecbe171b48a5694c337"]) - - def testGetDownloads(self): - self.assertListKeyEqual(self.repo.get_downloads(), lambda d: d.id, [245143]) - - def testGetEvents(self): - self.assertListKeyBegin(self.repo.get_events(), lambda e: e.type, ["DownloadEvent", "DownloadEvent", "PushEvent", "IssuesEvent", "MemberEvent", "MemberEvent"]) - - def testGetForks(self): - self.assertListKeyEqual(self.repo.get_forks(), lambda r: r.owner.login, ["abersager"]) - - def testGetGitRefs(self): - self.assertListKeyEqual(self.repo.get_git_refs(), lambda r: r.ref, ["refs/heads/develop", "refs/heads/master", "refs/heads/topic/DependencyGraph", "refs/heads/topic/RewriteWithGeneratedCode", "refs/tags/v0.1", "refs/tags/v0.2", "refs/tags/v0.3", "refs/tags/v0.4", "refs/tags/v0.5", "refs/tags/v0.6", "refs/tags/v0.7"]) - - def testGetGitRef(self): - self.assertTrue(self.g.FIX_REPO_GET_GIT_REF) - self.assertEqual(self.repo.get_git_ref("heads/master").object.sha, "31110327ec45f3138e58ed247b2cf420fee481ec") - - def testGetGitRefWithIssue102Reverted(self): - self.g.FIX_REPO_GET_GIT_REF = False - self.assertFalse(self.g.FIX_REPO_GET_GIT_REF) - self.assertEqual(self.repo.get_git_ref("refs/heads/master").object.sha, "31110327ec45f3138e58ed247b2cf420fee481ec") - self.g.FIX_REPO_GET_GIT_REF = True - self.assertTrue(self.g.FIX_REPO_GET_GIT_REF) - - def testGetGitTreeWithRecursive(self): - tree = self.repo.get_git_tree("f492784d8ca837779650d1fb406a1a3587a764ad", True) - self.assertEqual(len(tree.tree), 90) - self.assertEqual(tree.tree[50].path, "github/GithubObjects/Gist.py") - - def testGetHooks(self): - self.assertListKeyEqual(self.repo.get_hooks(), lambda h: h.id, [257993]) - - def testGetIssues(self): - self.assertListKeyEqual(self.repo.get_issues(), lambda i: i.id, [4769659, 4639931, 4452000, 4356743, 3716033, 3715946, 3643837, 3628022, 3624595, 3624570, 3624561, 3624556, 3619973, 3527266, 3527245, 3527231]) - - def testGetIssuesWithArguments(self): - milestone = self.repo.get_milestone(3) - user = self.g.get_user("jacquev6") - otherUser = self.g.get_user("Lyloa") - bug = self.repo.get_label("Bug") - self.assertListKeyEqual(self.repo.get_issues(milestone, "closed"), lambda i: i.id, [3624472, 3620132, 3619658, 3561926]) - self.assertListKeyEqual(self.repo.get_issues(labels=[bug]), lambda i: i.id, [4780155]) - self.assertListKeyEqual(self.repo.get_issues(assignee=user, sort="comments", direction="asc"), lambda i: i.id, [4793106, 3527231, 3527266, 3624556, 4793216, 3619973, 3624595, 4452000, 3643837, 3628022, 3527245, 4793162, 4356743, 4780155]) - self.assertListKeyEqual(self.repo.get_issues(since=datetime.datetime(2012, 5, 28, 23, 0, 0)), lambda i: i.id, [4793216, 4793162, 4793106, 3624556, 3619973, 3527266]) - self.assertListKeyEqual(self.repo.get_issues(mentioned=otherUser), lambda i: i.id, [4793162]) - - def testGetIssuesWithWildcards(self): - self.assertListKeyEqual(self.repo.get_issues(milestone="*"), lambda i: i.id, [4809786, 4793216, 4789817, 4452000, 3628022, 3624595, 3619973, 3527231]) - self.assertListKeyEqual(self.repo.get_issues(milestone="none"), lambda i: i.id, [4823331, 4809803, 4809778, 4793106, 3643837, 3527245]) - self.assertListKeyEqual(self.repo.get_issues(assignee="*"), lambda i: i.id, [4823331, 4809803, 4809786, 4809778, 4793216, 4793106, 4789817, 4452000, 3643837, 3628022, 3624595, 3527245, 3527231]) - self.assertListKeyEqual(self.repo.get_issues(assignee="none"), lambda i: i.id, [3619973]) - - def testGetKeys(self): - self.assertListKeyEqual(self.repo.get_keys(), lambda k: k.title, ["Key added through PyGithub"]) - - def testGetLabels(self): - self.assertListKeyEqual(self.repo.get_labels(), lambda l: l.name, ["Refactoring", "Public interface", "Functionalities", "Project management", "Bug", "Question"]) - - def testGetLanguages(self): - self.assertEqual(self.repo.get_languages(), {"Python": 127266, "Shell": 673}) - - def testGetMilestones(self): - self.assertListKeyEqual(self.repo.get_milestones(), lambda m: m.id, [93547]) - - def testGetMilestonesWithArguments(self): - self.assertListKeyEqual(self.repo.get_milestones("closed", "due_date", "asc"), lambda m: m.id, [93546, 95354, 108652, 124045]) - - def testGetIssuesEvents(self): - self.assertListKeyBegin(self.repo.get_issues_events(), lambda e: e.event, ["assigned", "subscribed", "closed", "assigned", "closed"]) - - def testGetNetworkEvents(self): - self.assertListKeyBegin(self.repo.get_network_events(), lambda e: e.type, ["DownloadEvent", "DownloadEvent", "PushEvent", "IssuesEvent", "MemberEvent"]) - - def testGetTeams(self): - repo = self.g.get_organization("BeaverSoftware").get_repo("FatherBeaver") - self.assertListKeyEqual(repo.get_teams(), lambda t: t.name, ["Members"]) - - def testGetWatchers(self): - self.assertListKeyEqual(self.repo.get_watchers(), lambda u: u.login, ["Stals", "att14", "jardon-u", "huxley", "mikofski", "L42y", "fanzeyi", "abersager", "waylan", "adericbourg", "tallforasmurf", "pvicente", "roskakori", "michaelpedersen", "BeaverSoftware"]) - - def testGetStargazers(self): - self.assertListKeyEqual(self.repo.get_stargazers(), lambda u: u.login, ["Stals", "att14", "jardon-u", "huxley", "mikofski", "L42y", "fanzeyi", "abersager", "waylan", "adericbourg", "tallforasmurf", "pvicente", "roskakori", "michaelpedersen", "stefanfoulis", "equus12", "JuRogn", "joshmoore", "jsilter", "dasapich", "ritratt", "hcilab", "vxnick", "pmuilu", "herlo", "malexw", "ahmetvurgun", "PengGu", "cosmin", "Swop", "kennethreitz", "bryandyck", "jason2506", "zsiciarz", "waawal", "gregorynicholas", "sente", "richmiller55", "thouis", "mazubieta", "michaelhood", "engie", "jtriley", "oangeor", "coryking", "noddi", "alejo8591", "omab", "Carreau", "bilderbuchi", "schwa", "rlerallut", "PengHub", "zoek1", "xobb1t", "notgary", "hattya", "ZebtinRis", "aaronhall", "youngsterxyf", "ailling", "gregwjacobs", "n0rmrx", "awylie", "firstthumb", "joshbrand", "berndca"]) - - def testGetStargazersWithDates(self): - repo = self.g.get_user("danvk").get_repo("comparea") - self.assertListKeyEqual( - repo.get_stargazers_with_dates(), - lambda stargazer: (stargazer.starred_at, stargazer.user.login), - [ - (datetime.datetime(2014, 8, 13, 19, 22, 5), u'sAlexander'), - (datetime.datetime(2014, 10, 15, 5, 2, 30), u'ThomasG77'), - (datetime.datetime(2015, 4, 14, 15, 22, 40), u'therusek'), - (datetime.datetime(2015, 4, 29, 0, 9, 40), u'athomann'), - (datetime.datetime(2015, 4, 29, 14, 26, 46), u'jcapron'), - (datetime.datetime(2015, 5, 9, 19, 14, 45), u'JoePython1') - ] - ) - - def testGetSubscribers(self): - self.assertListKeyEqual(self.repo.get_subscribers(), lambda u: u.login, ["jacquev6", "equus12", "bilderbuchi", "hcilab", "hattya", "firstthumb", "gregwjacobs", "sagarsane", "liang456", "berndca", "Lyloa"]) - - def testCreatePull(self): - pull = self.repo.create_pull("Pull request created by PyGithub", "Body of the pull request", "topic/RewriteWithGeneratedCode", "BeaverSoftware:master") - self.assertEqual(pull.id, 1436215) - - def testCreatePullFromIssue(self): - issue = self.repo.get_issue(32) - pull = self.repo.create_pull(issue, "topic/RewriteWithGeneratedCode", "BeaverSoftware:master") - self.assertEqual(pull.id, 1436310) - - def testGetPulls(self): - self.assertListKeyEqual(self.repo.get_pulls(), lambda p: p.id, [1436310]) - - def testGetPullsWithArguments(self): - self.assertListKeyEqual(self.repo.get_pulls("closed"), lambda p: p.id, [1448168, 1436310, 1436215]) - - def testLegacySearchIssues(self): - issues = self.repo.legacy_search_issues("open", "search") - self.assertListKeyEqual(issues, lambda i: i.title, ["Support new Search API"]) - - # Attributes retrieved from legacy API without lazy completion call - self.assertEqual(issues[0].number, 49) - self.assertEqual(issues[0].created_at, datetime.datetime(2012, 6, 21, 12, 27, 38)) - self.assertEqual(issues[0].comments, 4) - self.assertEqual(issues[0].body[: 20], "New API ported from ") - self.assertEqual(issues[0].title, "Support new Search API") - self.assertEqual(issues[0].updated_at, datetime.datetime(2012, 6, 28, 21, 13, 25)) - self.assertEqual(issues[0].user.login, "kukuts") - self.assertEqual(issues[0].user.url, "/users/kukuts") - self.assertListKeyEqual(issues[0].labels, lambda l: l.name, ["Functionalities", "RequestedByUser"]) - self.assertEqual(issues[0].state, "open") - - def testAssignees(self): - lyloa = self.g.get_user("Lyloa") - jacquev6 = self.g.get_user("jacquev6") - self.assertTrue(self.repo.has_in_assignees(jacquev6)) - self.assertFalse(self.repo.has_in_assignees(lyloa)) - self.repo.add_to_collaborators(lyloa) - self.assertTrue(self.repo.has_in_assignees(lyloa)) - self.assertListKeyEqual(self.repo.get_assignees(), lambda u: u.login, ["jacquev6", "Lyloa"]) - self.repo.remove_from_collaborators(lyloa) - self.assertFalse(self.repo.has_in_assignees(lyloa)) - - def testGetContents(self): - self.assertEqual(len(self.repo.get_readme().content), 10212) - self.assertEqual(len(self.repo.get_contents("/doc/ReferenceOfClasses.md").content), 38121) - - def testGetContentDir(self): - - contents = self.repo.get_contents("/") - self.assertTrue(isinstance(contents, list)) - self.assertEquals(len(contents), 14) - - def testGetContentsWithRef(self): - self.assertEqual(len(self.repo.get_readme(ref="refs/heads/topic/ExperimentOnDocumentation").content), 6747) - self.assertEqual(len(self.repo.get_contents("/doc/ReferenceOfClasses.md", ref="refs/heads/topic/ExperimentOnDocumentation").content), 43929) - - def testCreateFile(self): - newFile = '/doc/testCreateUpdateDeleteFile.md' - content = 'Hello world' - self.repo.create_file( - path=newFile, message='Create file for testCreateFile', content=content, - branch="master", committer=github.InputGitAuthor("Enix Yu", "enix223@163.com", "2016-01-15T16:13:30+12:00"), - author=github.InputGitAuthor("Enix Yu", "enix223@163.com", "2016-01-15T16:13:30+12:00")) - - def testUpdateFile(self): - updateFile = '/doc/testCreateUpdateDeleteFile.md' - content = 'Hello World' - sha = self.repo.get_contents(updateFile).sha - self.repo.update_file( - path=updateFile, message='Update file for testUpdateFile', content=content, sha=sha, - branch="master", committer=github.InputGitAuthor("Enix Yu", "enix223@163.com", "2016-01-15T16:13:30+12:00"), - author=github.InputGitAuthor("Enix Yu", "enix223@163.com", "2016-01-15T16:13:30+12:00")) - - def testDeleteFile(self): - deleteFile = '/doc/testCreateUpdateDeleteFile.md' - sha = self.repo.get_contents(deleteFile).sha - self.repo.delete_file(path=deleteFile, message='Delete file for testDeleteFile', sha=sha, branch="master") - - def testGetArchiveLink(self): - self.assertEqual(self.repo.get_archive_link("tarball"), "https://nodeload.github.com/jacquev6/PyGithub/tarball/master") - self.assertEqual(self.repo.get_archive_link("zipball"), "https://nodeload.github.com/jacquev6/PyGithub/zipball/master") - self.assertEqual(self.repo.get_archive_link("zipball", "master"), "https://nodeload.github.com/jacquev6/PyGithub/zipball/master") - self.assertEqual(self.repo.get_archive_link("tarball", "develop"), "https://nodeload.github.com/jacquev6/PyGithub/tarball/develop") - - def testGetBranch(self): - branch = self.repo.get_branch("develop") - self.assertEqual(branch.commit.sha, "03058a36164d2a7d946db205f25538434fa27d94") - - def testMergeWithoutMessage(self): - commit = self.repo.merge("branchForBase", "branchForHead") - self.assertEqual(commit.commit.message, "Merge branchForHead into branchForBase") - - def testMergeWithMessage(self): - commit = self.repo.merge("branchForBase", "branchForHead", "Commit message created by PyGithub") - self.assertEqual(commit.commit.message, "Commit message created by PyGithub") - - def testMergeWithNothingToDo(self): - commit = self.repo.merge("branchForBase", "branchForHead", "Commit message created by PyGithub") - self.assertEqual(commit, None) - - def testMergeWithConflict(self): - raised = False - try: - commit = self.repo.merge("branchForBase", "branchForHead") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 409) - self.assertEqual(exception.data, {"message": "Merge conflict"}) - self.assertTrue(raised) - - def testGetIssuesComments(self): - self.assertListKeyEqual(self.repo.get_issues_comments()[:40], lambda c: c.id, [5168757, 5181640, 5183010, 5186061, 5226090, 5449237, 5518272, 5547576, 5780183, 5781803, 5820199, 5820912, 5924198, 5965724, 5965812, 5965891, 5966555, 5966633, 5981084, 5981232, 5981409, 5981451, 5991965, 6019700, 6088432, 6293572, 6305625, 6357374, 6357422, 6447481, 6467193, 6467312, 6467642, 6481200, 6481392, 6556134, 6557261, 6568164, 6568181, 6568553]) - self.assertListKeyEqual(self.repo.get_issues_comments(sort="created", direction="asc")[:40], lambda c: c.id, [5168757, 5181640, 5183010, 5186061, 5226090, 5449237, 5518272, 5547576, 5780183, 5781803, 5820199, 5820912, 5924198, 5965724, 5965812, 5965891, 5966555, 5966633, 5981084, 5981232, 5981409, 5981451, 5991965, 6019700, 6088432, 6293572, 6305625, 6357374, 6357422, 6447481, 6467193, 6467312, 6467642, 6481200, 6481392, 6556134, 6557261, 6568164, 6568181, 6568553]) - self.assertListKeyEqual(self.repo.get_issues_comments(since=datetime.datetime(2012, 5, 28, 23, 0, 0))[:40], lambda c: c.id, [5981084, 5981232, 5981409, 5981451, 5991965, 6019700, 6088432, 6293572, 6305625, 6357374, 6357422, 6447481, 6467193, 6467312, 6467642, 6481200, 6481392, 6556134, 6557261, 6568164, 6568181, 6568553, 6640187, 6640189, 6641223, 6673380, 6710355, 6727553, 6727659, 6727848, 6728069, 6728241, 6728370, 6886561, 6972414, 6994436, 7060818, 7060993, 7211543, 7407798]) - - def testGetPullsComments(self): - self.assertListKeyEqual(self.repo.get_pulls_comments(), lambda c: c.id, [1580134]) - self.assertListKeyEqual(self.repo.get_pulls_comments(sort="created", direction="asc"), lambda c: c.id, [1580134]) - self.assertListKeyEqual(self.repo.get_pulls_comments(since=datetime.datetime(2012, 5, 28, 23, 0, 0)), lambda c: c.id, [1580134]) - - def testSubscribePubSubHubbub(self): - self.repo.subscribe_to_hub("push", "http://requestb.in/1bc1sc61", "my_secret") - - def testBadSubscribePubSubHubbub(self): - raised = False - try: - self.repo.subscribe_to_hub("non-existing-event", "http://requestb.in/1bc1sc61") - except github.GithubException, exception: - raised = True - self.assertEqual(exception.status, 422) - self.assertEqual(exception.data, {"message": "Invalid event: \"non-existing-event\""}) - self.assertTrue(raised) - - def testUnsubscribePubSubHubbub(self): - self.repo.unsubscribe_from_hub("push", "http://requestb.in/1bc1sc61") - - def testStatisticsBeforeCaching(self): - self.assertEqual(self.repo.get_stats_contributors(), None) - self.assertEqual(self.repo.get_stats_commit_activity(), None) - self.assertEqual(self.repo.get_stats_code_frequency(), None) - # ReplayData for those last two get_stats is forged because I was not - # able to find a repo where participation and punch_card had never been - # computed, and pushing to master did not reset the cache for them - self.assertEqual(self.repo.get_stats_participation(), None) - self.assertEqual(self.repo.get_stats_punch_card(), None) - - def testStatisticsAfterCaching(self): - stats = self.repo.get_stats_contributors() - seenJacquev6 = False - for s in stats: - adTotal = 0 - total = 0 - for w in s.weeks: - total += w.c - adTotal += w.a + w.d - self.assertEqual(total, s.total) - if s.author.login == "jacquev6": - seenJacquev6 = True - self.assertEqual(adTotal, 282147) - self.assertEqual(s.weeks[0].w, datetime.datetime(2012, 2, 12)) - self.assertTrue(seenJacquev6) - - stats = self.repo.get_stats_commit_activity() - self.assertEqual(stats[0].week, datetime.datetime(2012, 11, 18, 0, 0)) - self.assertEqual(stats[0].total, 29) - self.assertEqual(stats[0].days, [0, 7, 3, 9, 7, 3, 0]) - - stats = self.repo.get_stats_code_frequency() - self.assertEqual(stats[0].week, datetime.datetime(2012, 2, 12, 0, 0)) - self.assertEqual(stats[0].additions, 3853) - self.assertEqual(stats[0].deletions, -2098) - - stats = self.repo.get_stats_participation() - self.assertEqual(stats.owner, [1, 36, 8, 0, 0, 8, 18, 0, 0, 0, 0, 7, 20, 6, 9, 0, 4, 11, 20, 16, 0, 3, 0, 16, 0, 0, 6, 1, 4, 0, 1, 6, 0, 0, 12, 10, 0, 0, 0, 1, 44, 0, 20, 10, 0, 0, 0, 0, 0, 10, 0, 0]) - self.assertEqual(stats.all, [4, 36, 8, 0, 0, 10, 20, 0, 0, 0, 0, 11, 20, 6, 9, 0, 4, 14, 21, 16, 0, 3, 0, 20, 0, 0, 8, 1, 9, 16, 1, 15, 1, 0, 12, 12, 0, 4, 6, 15, 116, 20, 20, 11, 0, 0, 0, 0, 0, 10, 0, 0]) - - stats = self.repo.get_stats_punch_card() - self.assertEqual(stats.get(4, 12), 7) - self.assertEqual(stats.get(6, 18), 2) - - -class LazyRepository(Framework.TestCase): - - def setUp(self): - Framework.TestCase.setUp(self) - self.user = self.g.get_user() - self.repository_name = '%s/%s' % (self.user.login, "PyGithub") - - def getLazyRepository(self): - return self.g.get_repo(self.repository_name, lazy=True) - - def getEagerRepository(self): - return self.g.get_repo(self.repository_name, lazy=False) - - def testGetIssues(self): - lazy_repo = self.getLazyRepository() - issues = lazy_repo.get_issues() - eager_repo = self.getEagerRepository() - issues2 = eager_repo.get_issues() - self.assertListKeyEqual(issues2, id, [x for x in issues]) - - def testOwner(self): - lazy_repo = self.getLazyRepository() - owner = lazy_repo.owner - eager_repo = self.getEagerRepository() - self.assertEqual(owner, eager_repo.owner) diff --git a/github/tests/RepositoryKey.py b/github/tests/RepositoryKey.py deleted file mode 100644 index a78a4eb..0000000 --- a/github/tests/RepositoryKey.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class RepositoryKey(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.key = self.g.get_user().get_repo("PyGithub").get_key(2626761) - - def testAttributes(self): - self.assertEqual(self.key.id, 2626761) - self.assertEqual(self.key.key, "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==") - self.assertEqual(self.key.title, "Key added through PyGithub") - self.assertEqual(self.key.url, "https://api.github.com/user/keys/2626761") - self.assertTrue(self.key.verified) - - # test __repr__() based on this attributes - self.assertEqual(self.key.__repr__(), 'RepositoryKey(id=2626761)') - - - def testEdit(self): - self.key.edit("Title edited by PyGithub", "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==") - self.assertEqual(self.key.key, "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==") - self.assertEqual(self.key.title, "Title edited by PyGithub") - - def testEditWithoutParameters(self): - self.key.edit() - - def testDelete(self): - self.key.delete() diff --git a/github/tests/Search.py b/github/tests/Search.py deleted file mode 100644 index 713ca53..0000000 --- a/github/tests/Search.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework -import sys - -atLeastPython3 = sys.hexversion >= 0x03000000 - - -class Search(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - - def testSearchUsers(self): - users = self.g.search_users("vincent", sort="followers", order="desc") - self.assertEqual(users.totalCount, 2781) - self.assertEqual(users[0].login, "nvie") - self.assertEqual(users[14].login, "Vayn") - - def testPaginateSearchUsers(self): - users = self.g.search_users("", location="Berlin") - self.assertListKeyBegin(users, lambda u: u.login, [u'cloudhead', u'felixge', u'sferik', u'rkh', u'jezdez', u'janl', u'marijnh', u'nikic', u'igorw', u'froschi', u'svenfuchs', u'omz', u'chad', u'bergie', u'roidrage', u'pcalcado', u'durran', u'hukl', u'mttkay', u'aFarkas', u'ole', u'hagenburger', u'jberkel', u'naderman', u'joshk', u'pudo', u'robb', u'josephwilk', u'hanshuebner', u'txus', u'paulasmuth', u'splitbrain', u'langalex', u'bendiken', u'stefanw']) - self.assertEqual(users.totalCount, 6038) - - def testGetPageOnSearchUsers(self): - users = self.g.search_users("", location="Berlin") - self.assertEqual([u.login for u in users.get_page(7)], [u'ursachec', u'bitboxer', u'fs111', u'michenriksen', u'witsch', u'booo', u'mortice', u'r0man', u'MikeBild', u'mhagger', u'bkw', u'fwbrasil', u'mschneider', u'lydiapintscher', u'asksven', u'iamtimm', u'sneak', u'kr1sp1n', u'Feh', u'GordonLesti', u'annismckenzie', u'eskimoblood', u'tsujigiri', u'riethmayer', u'lauritzthamsen', u'scotchi', u'peritor', u'toto', u'hwaxxer', u'lukaszklis']) - - def testSearchRepos(self): - repos = self.g.search_repositories("github", sort="stars", order="desc", language="Python") - self.assertListKeyBegin(repos, lambda r: r.full_name, [u'kennethreitz/legit', u'RuudBurger/CouchPotatoV1', u'gelstudios/gitfiti', u'gpjt/webgl-lessons', u'jacquev6/PyGithub', u'aaasen/github_globe', u'hmason/gitmarks', u'dnerdy/factory_boy', u'binaryage/drydrop', u'bgreenlee/sublime-github', u'karan/HackerNewsAPI', u'mfenniak/pyPdf', u'skazhy/github-decorator', u'llvmpy/llvmpy', u'lexrupy/gmate', u'ask/python-github2', u'audreyr/cookiecutter-pypackage', u'tabo/django-treebeard', u'dbr/tvdb_api', u'jchris/couchapp', u'joeyespo/grip', u'nigelsmall/py2neo', u'ask/chishop', u'sigmavirus24/github3.py', u'jsmits/github-cli', u'lincolnloop/django-layout', u'amccloud/django-project-skel', u'Stiivi/brewery', u'webpy/webpy.github.com', u'dustin/py-github', u'logsol/Github-Auto-Deploy', u'cloudkick/libcloud', u'berkerpeksag/github-badge', u'bitprophet/ssh', u'azavea/OpenTreeMap']) - - def testSearchIssues(self): - issues = self.g.search_issues("compile", sort="comments", order="desc", language="C++") - self.assertListKeyBegin(issues, lambda i: i.id, [12068673, 23250111, 14371957, 9423897, 24277400, 2408877, 11338741, 13980502, 27697165, 23102422]) - - def testSearchCode(self): - files = self.g.search_code("toto", sort="indexed", order="asc", user="jacquev6") - self.assertListKeyEqual(files, lambda f: f.name, [u'Commit.setUp.txt', u'PullRequest.testGetFiles.txt', u'NamedUser.testGetEvents.txt', u'PullRequest.testCreateComment.txt', u'PullRequestFile.setUp.txt', u'Repository.testGetIssuesWithWildcards.txt', u'Repository.testGetIssuesWithArguments.txt', u'test_ebnf.cpp', u'test_abnf.cpp', u'PullRequestFile.py', u'SystemCalls.py', u'tests.py', u'LexerTestCase.py', u'ParserTestCase.py']) - self.assertEqual(files[0].repository.full_name, "jacquev6/PyGithub") - if atLeastPython3: - self.assertEqual(files[0].decoded_content[:30], b'https\nGET\napi.github.com\nNone\n') - else: - self.assertEqual(files[0].decoded_content[:30], "https\nGET\napi.github.com\nNone\n") - - def testUrlquotingOfQualifiers(self): - # Example taken from #236 - issues = self.g.search_issues("repo:saltstack/salt-api type:Issues", updated=">2014-03-04T18:28:11Z") - self.assertEqual(issues[0].id, 29138794) - - def testUrlquotingOfQuery(self): - # Example taken from #236 - issues = self.g.search_issues("repo:saltstack/salt-api type:Issues updated:>2014-03-04T18:28:11Z") - self.assertEqual(issues[0].id, 29138794) diff --git a/github/tests/Status.py b/github/tests/Status.py deleted file mode 100644 index 13bcda7..0000000 --- a/github/tests/Status.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - -import github -import datetime - - -class Status(Framework.TestCase): - def testGetStatus(self): - status = self.g.get_api_status() - self.assertEqual(status.status, "good") - self.assertEqual(status.last_updated, datetime.datetime(2013, 9, 6, 8, 29, 27)) - - def testGetLastMessage(self): - message = self.g.get_last_api_status_message() - self.assertEqual(message.status, "good") - self.assertEqual(message.body, "Everything operating normally.") - self.assertEqual(message.created_on, datetime.datetime(2013, 9, 1, 15, 41, 46)) - - def testGetMessages(self): - self.assertListKeyEqual(self.g.get_api_status_messages(), lambda m: m.status, ["good", "minor", "good", "minor", "good", "minor", "good", "minor", "good", "major", "good", "minor"]) diff --git a/github/tests/Tag.py b/github/tests/Tag.py deleted file mode 100644 index 5ddefe0..0000000 --- a/github/tests/Tag.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Tag(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.tag = self.g.get_user().get_repo("PyGithub").get_tags()[0] - - def testAttributes(self): - self.assertEqual(self.tag.commit.sha, "636e6112deb72277b3bffcc3303cd7e8a7431a5d") - self.assertEqual(self.tag.name, "v0.3") - self.assertEqual(self.tag.tarball_url, "https://github.com/jacquev6/PyGithub/tarball/v0.3") - self.assertEqual(self.tag.zipball_url, "https://github.com/jacquev6/PyGithub/zipball/v0.3") - - # test __repr__() based on this attributes - self.assertEqual(self.tag.__repr__(), 'Tag(name="v0.3", commit=Commit(sha="636e6112deb72277b3bffcc3303cd7e8a7431a5d"))') diff --git a/github/tests/Team.py b/github/tests/Team.py deleted file mode 100644 index f5d6e8d..0000000 --- a/github/tests/Team.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class Team(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.org = self.g.get_organization("BeaverSoftware") - self.team = self.org.get_team(189850) - - def testAttributes(self): - self.assertEqual(self.team.id, 189850) - self.assertEqual(self.team.members_count, 0) - self.assertEqual(self.team.name, "Team created by PyGithub") - self.assertEqual(self.team.permission, "pull") - self.assertEqual(self.team.repos_count, 0) - self.assertEqual(self.team.url, "https://api.github.com/teams/189850") - - # test __repr__() based on this attributes - self.assertEqual(self.team.__repr__(), 'Team(name="Team created by PyGithub", id=189850)') - - def testMembers(self): - user = self.g.get_user("jacquev6") - self.assertListKeyEqual(self.team.get_members(), None, []) - self.assertFalse(self.team.has_in_members(user)) - self.team.add_to_members(user) - self.assertListKeyEqual(self.team.get_members(), lambda u: u.login, ["jacquev6"]) - self.assertTrue(self.team.has_in_members(user)) - self.team.remove_from_members(user) - self.assertListKeyEqual(self.team.get_members(), None, []) - self.assertFalse(self.team.has_in_members(user)) - - def testRepoPermission(self): - repo = self.org.get_repo("FatherBeaver") - self.team.set_repo_permission(repo, "admin") - - def testRepos(self): - repo = self.org.get_repo("FatherBeaver") - self.assertListKeyEqual(self.team.get_repos(), None, []) - self.assertFalse(self.team.has_in_repos(repo)) - self.team.add_to_repos(repo) - self.assertListKeyEqual(self.team.get_repos(), lambda r: r.name, ["FatherBeaver"]) - self.assertTrue(self.team.has_in_repos(repo)) - self.team.remove_from_repos(repo) - self.assertListKeyEqual(self.team.get_repos(), None, []) - self.assertFalse(self.team.has_in_repos(repo)) - - def testEditWithoutArguments(self): - self.team.edit("Name edited by PyGithub") - self.assertEqual(self.team.name, "Name edited by PyGithub") - - def testEditWithAllArguments(self): - self.team.edit("Name edited twice by PyGithub", "admin") - self.assertEqual(self.team.name, "Name edited twice by PyGithub") - self.assertEqual(self.team.permission, "admin") - - def testDelete(self): - self.team.delete() diff --git a/github/tests/UserKey.py b/github/tests/UserKey.py deleted file mode 100644 index a3e305c..0000000 --- a/github/tests/UserKey.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import Framework - - -class UserKey(Framework.TestCase): - def setUp(self): - Framework.TestCase.setUp(self) - self.key = self.g.get_user().get_key(2626650) - - def testAttributes(self): - self.assertEqual(self.key.id, 2626650) - self.assertEqual(self.key.key, "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Mm0RjTNAYFfSCtUpO54usdseroUSIYg5KX4JoseTpqyiB/hqewjYLAdUq/tNIQzrkoEJWSyZrQt0ma7/YCyMYuNGd3DU6q6ZAyBeY3E9RyCiKjO3aTL2VKQGFvBVVmGdxGVSCITRphAcsKc/PF35/fg9XP9S0anMXcEFtdfMHz41SSw+XtE+Vc+6cX9FuI5qUfLGbkv8L1v3g4uw9VXlzq4GfTA+1S7D6mcoGHopAIXFlVr+2RfDKdSURMcB22z41fljO1MW4+zUS/4FyUTpL991es5fcwKXYoiE+x06VJeJJ1Krwx+DZj45uweV6cHXt2JwJEI9fWB6WyBlDejWw==") - self.assertEqual(self.key.title, "Key added through PyGithub") - self.assertEqual(self.key.url, "https://api.github.com/user/keys/2626650") - self.assertTrue(self.key.verified) - - # test __repr__() based on this attributes - self.assertEqual(self.key.__repr__(), 'UserKey(title="Key added through PyGithub", id=2626650)') - - def testEditWithoutArguments(self): - self.key.edit() - - def testEditWithAllArguments(self): - self.key.edit("Title edited by PyGithub", "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==") - self.assertEqual(self.key.key, "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5Q58YmzZjU64prR5Pk91MfeHezOTgLqDYmepYbv3qjguiHtPai1vSai5WvUv3hgf9DArXsXE5CV6yoBIhAdGtpJKExHuQ2m4XTFCdbrgfQ3ypcSdgzEiQemyTA6TWwhbuwjJ1IqJMYOVLH+FBCkD8pyIpUDO7v3vaR2TCEuNwOS7lbsRsW3OkGYnUKjaPaCTe/inrqb7I3OE8cPhWJ3dM/zzzBj22J4LCNKhjKua8TFS74xGm3lNDZ6/twQl4n4xmrH/3tG+WOJicNO3JohNHqK9T0pILnr3epEyfdkBjcG0qXApqWvH2WipJhaH6of8Gdr0Z/K/7p8QFddmwNgdPQ==") - self.assertEqual(self.key.title, "Title edited by PyGithub") - - def testDelete(self): - self.key.delete() diff --git a/github/tests/__init__.py b/github/tests/__init__.py deleted file mode 100644 index 3a86f68..0000000 --- a/github/tests/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## diff --git a/github/tests/__main__.py b/github/tests/__main__.py deleted file mode 100644 index 87bc0f0..0000000 --- a/github/tests/__main__.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -# ########################## Copyrights and license ############################ -# # -# Copyright 2012 Vincent Jacques # -# Copyright 2012 Zearin # -# Copyright 2013 Vincent Jacques # -# # -# This file is part of PyGithub. # -# http://pygithub.github.io/PyGithub/v1/index.html # -# # -# PyGithub is free software: you can redistribute it and/or modify it under # -# the terms of the GNU Lesser General Public License as published by the Free # -# Software Foundation, either version 3 of the License, or (at your option) # -# any later version. # -# # -# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # -# details. # -# # -# You should have received a copy of the GNU Lesser General Public License # -# along with PyGithub. If not, see . # -# # -# ############################################################################## - -import sys -import unittest - -import github.tests.Framework -import github.tests.AllTests - - -def main(argv): - if "--record" in argv: - github.tests.Framework.activateRecordMode() - argv = [arg for arg in argv if arg != "--record"] - - if "--auth_with_token" in argv: - github.tests.Framework.activateTokenAuthMode() - argv = [arg for arg in argv if arg != "--auth_with_token"] - - unittest.main(module=github.tests.AllTests, argv=argv) - - -if __name__ == "__main__": - main(sys.argv) diff --git a/idna/__init__.py b/idna/__init__.py new file mode 100644 index 0000000..847bf93 --- /dev/null +++ b/idna/__init__.py @@ -0,0 +1,2 @@ +from .package_data import __version__ +from .core import * diff --git a/idna/codec.py b/idna/codec.py new file mode 100644 index 0000000..98c65ea --- /dev/null +++ b/idna/codec.py @@ -0,0 +1,118 @@ +from .core import encode, decode, alabel, ulabel, IDNAError +import codecs +import re + +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +class Codec(codecs.Codec): + + def encode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return "", 0 + + return encode(data), len(data) + + def decode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return u"", 0 + + return decode(data), len(data) + +class IncrementalEncoder(codecs.BufferedIncrementalEncoder): + def _buffer_encode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return ("", 0) + + labels = _unicode_dots_re.split(data) + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = '.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = '.' + + result = [] + size = 0 + for label in labels: + result.append(alabel(label)) + if size: + size += 1 + size += len(label) + + # Join with U+002E + result = ".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return (u"", 0) + + # IDNA allows decoding to operate on Unicode strings, too. + if isinstance(data, unicode): + labels = _unicode_dots_re.split(data) + else: + # Must be ASCII string + data = str(data) + unicode(data, "ascii") + labels = data.split(".") + + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = u'.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = u'.' + + result = [] + size = 0 + for label in labels: + result.append(ulabel(label)) + if size: + size += 1 + size += len(label) + + result = u".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + +class StreamReader(Codec, codecs.StreamReader): + pass + +def getregentry(): + return codecs.CodecInfo( + name='idna', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamwriter=StreamWriter, + streamreader=StreamReader, + ) diff --git a/idna/compat.py b/idna/compat.py new file mode 100644 index 0000000..4d47f33 --- /dev/null +++ b/idna/compat.py @@ -0,0 +1,12 @@ +from .core import * +from .codec import * + +def ToASCII(label): + return encode(label) + +def ToUnicode(label): + return decode(label) + +def nameprep(s): + raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") + diff --git a/idna/core.py b/idna/core.py new file mode 100644 index 0000000..104624a --- /dev/null +++ b/idna/core.py @@ -0,0 +1,396 @@ +from . import idnadata +import bisect +import unicodedata +import re +import sys +from .intranges import intranges_contain + +_virama_combining_class = 9 +_alabel_prefix = b'xn--' +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +if sys.version_info[0] == 3: + unicode = str + unichr = chr + +class IDNAError(UnicodeError): + """ Base exception for all IDNA-encoding related problems """ + pass + + +class IDNABidiError(IDNAError): + """ Exception when bidirectional requirements are not satisfied """ + pass + + +class InvalidCodepoint(IDNAError): + """ Exception when a disallowed or unallocated codepoint is used """ + pass + + +class InvalidCodepointContext(IDNAError): + """ Exception when the codepoint is not valid in the context it is used """ + pass + + +def _combining_class(cp): + v = unicodedata.combining(unichr(cp)) + if v == 0: + if not unicodedata.name(unichr(cp)): + raise ValueError("Unknown character in unicodedata") + return v + +def _is_script(cp, script): + return intranges_contain(ord(cp), idnadata.scripts[script]) + +def _punycode(s): + return s.encode('punycode') + +def _unot(s): + return 'U+{0:04X}'.format(s) + + +def valid_label_length(label): + + if len(label) > 63: + return False + return True + + +def valid_string_length(label, trailing_dot): + + if len(label) > (254 if trailing_dot else 253): + return False + return True + + +def check_bidi(label, check_ltr=False): + + # Bidi rules should only be applied if string contains RTL characters + bidi_label = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + if direction == '': + # String likely comes from a newer version of Unicode + raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) + if direction in ['R', 'AL', 'AN']: + bidi_label = True + if not bidi_label and not check_ltr: + return True + + # Bidi rule 1 + direction = unicodedata.bidirectional(label[0]) + if direction in ['R', 'AL']: + rtl = True + elif direction == 'L': + rtl = False + else: + raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) + + valid_ending = False + number_type = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + + if rtl: + # Bidi rule 2 + if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) + # Bidi rule 3 + if direction in ['R', 'AL', 'EN', 'AN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + # Bidi rule 4 + if direction in ['AN', 'EN']: + if not number_type: + number_type = direction + else: + if number_type != direction: + raise IDNABidiError('Can not mix numeral types in a right-to-left label') + else: + # Bidi rule 5 + if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) + # Bidi rule 6 + if direction in ['L', 'EN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + + if not valid_ending: + raise IDNABidiError('Label ends with illegal codepoint directionality') + + return True + + +def check_initial_combiner(label): + + if unicodedata.category(label[0])[0] == 'M': + raise IDNAError('Label begins with an illegal combining character') + return True + + +def check_hyphen_ok(label): + + if label[2:4] == '--': + raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') + if label[0] == '-' or label[-1] == '-': + raise IDNAError('Label must not start or end with a hyphen') + return True + + +def check_nfc(label): + + if unicodedata.normalize('NFC', label) != label: + raise IDNAError('Label must be in Normalization Form C') + + +def valid_contextj(label, pos): + + cp_value = ord(label[pos]) + + if cp_value == 0x200c: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + + ok = False + for i in range(pos-1, -1, -1): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('L'), ord('D')]: + ok = True + break + + if not ok: + return False + + ok = False + for i in range(pos+1, len(label)): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('R'), ord('D')]: + ok = True + break + return ok + + if cp_value == 0x200d: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + return False + + else: + + return False + + +def valid_contexto(label, pos, exception=False): + + cp_value = ord(label[pos]) + + if cp_value == 0x00b7: + if 0 < pos < len(label)-1: + if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: + return True + return False + + elif cp_value == 0x0375: + if pos < len(label)-1 and len(label) > 1: + return _is_script(label[pos + 1], 'Greek') + return False + + elif cp_value == 0x05f3 or cp_value == 0x05f4: + if pos > 0: + return _is_script(label[pos - 1], 'Hebrew') + return False + + elif cp_value == 0x30fb: + for cp in label: + if cp == u'\u30fb': + continue + if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): + return True + return False + + elif 0x660 <= cp_value <= 0x669: + for cp in label: + if 0x6f0 <= ord(cp) <= 0x06f9: + return False + return True + + elif 0x6f0 <= cp_value <= 0x6f9: + for cp in label: + if 0x660 <= ord(cp) <= 0x0669: + return False + return True + + +def check_label(label): + + if isinstance(label, (bytes, bytearray)): + label = label.decode('utf-8') + if len(label) == 0: + raise IDNAError('Empty Label') + + check_nfc(label) + check_hyphen_ok(label) + check_initial_combiner(label) + + for (pos, cp) in enumerate(label): + cp_value = ord(cp) + if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): + continue + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): + try: + if not valid_contextj(label, pos): + raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + except ValueError: + raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): + if not valid_contexto(label, pos): + raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) + else: + raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) + + check_bidi(label) + + +def alabel(label): + + try: + label = label.encode('ascii') + ulabel(label) + if not valid_label_length(label): + raise IDNAError('Label too long') + return label + except UnicodeEncodeError: + pass + + if not label: + raise IDNAError('No Input') + + label = unicode(label) + check_label(label) + label = _punycode(label) + label = _alabel_prefix + label + + if not valid_label_length(label): + raise IDNAError('Label too long') + + return label + + +def ulabel(label): + + if not isinstance(label, (bytes, bytearray)): + try: + label = label.encode('ascii') + except UnicodeEncodeError: + check_label(label) + return label + + label = label.lower() + if label.startswith(_alabel_prefix): + label = label[len(_alabel_prefix):] + else: + check_label(label) + return label.decode('ascii') + + label = label.decode('punycode') + check_label(label) + return label + + +def uts46_remap(domain, std3_rules=True, transitional=False): + """Re-map the characters in the string according to UTS46 processing.""" + from .uts46data import uts46data + output = u"" + try: + for pos, char in enumerate(domain): + code_point = ord(char) + uts46row = uts46data[code_point if code_point < 256 else + bisect.bisect_left(uts46data, (code_point, "Z")) - 1] + status = uts46row[1] + replacement = uts46row[2] if len(uts46row) == 3 else None + if (status == "V" or + (status == "D" and not transitional) or + (status == "3" and not std3_rules and replacement is None)): + output += char + elif replacement is not None and (status == "M" or + (status == "3" and not std3_rules) or + (status == "D" and transitional)): + output += replacement + elif status != "I": + raise IndexError() + return unicodedata.normalize("NFC", output) + except IndexError: + raise InvalidCodepoint( + "Codepoint {0} not allowed at position {1} in {2}".format( + _unot(code_point), pos + 1, repr(domain))) + + +def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, transitional) + trailing_dot = False + result = [] + if strict: + labels = s.split('.') + else: + labels = _unicode_dots_re.split(s) + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if labels[-1] == '': + del labels[-1] + trailing_dot = True + for label in labels: + s = alabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(b'') + s = b'.'.join(result) + if not valid_string_length(s, trailing_dot): + raise IDNAError('Domain too long') + return s + + +def decode(s, strict=False, uts46=False, std3_rules=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, False) + trailing_dot = False + result = [] + if not strict: + labels = _unicode_dots_re.split(s) + else: + labels = s.split(u'.') + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if not labels[-1]: + del labels[-1] + trailing_dot = True + for label in labels: + s = ulabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(u'') + return u'.'.join(result) diff --git a/idna/idnadata.py b/idna/idnadata.py new file mode 100644 index 0000000..a80c959 --- /dev/null +++ b/idna/idnadata.py @@ -0,0 +1,1979 @@ +# This file is automatically generated by tools/idna-data + +__version__ = "11.0.0" +scripts = { + 'Greek': ( + 0x37000000374, + 0x37500000378, + 0x37a0000037e, + 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, + 0x38c0000038d, + 0x38e000003a2, + 0x3a3000003e2, + 0x3f000000400, + 0x1d2600001d2b, + 0x1d5d00001d62, + 0x1d6600001d6b, + 0x1dbf00001dc0, + 0x1f0000001f16, + 0x1f1800001f1e, + 0x1f2000001f46, + 0x1f4800001f4e, + 0x1f5000001f58, + 0x1f5900001f5a, + 0x1f5b00001f5c, + 0x1f5d00001f5e, + 0x1f5f00001f7e, + 0x1f8000001fb5, + 0x1fb600001fc5, + 0x1fc600001fd4, + 0x1fd600001fdc, + 0x1fdd00001ff0, + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, + 0xab650000ab66, + 0x101400001018f, + 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( + 0x2e8000002e9a, + 0x2e9b00002ef4, + 0x2f0000002fd6, + 0x300500003006, + 0x300700003008, + 0x30210000302a, + 0x30380000303c, + 0x340000004db6, + 0x4e0000009ff0, + 0xf9000000fa6e, + 0xfa700000fada, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + 0x2f8000002fa1e, + ), + 'Hebrew': ( + 0x591000005c8, + 0x5d0000005eb, + 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, + 0xfb400000fb42, + 0xfb430000fb45, + 0xfb460000fb50, + ), + 'Hiragana': ( + 0x304100003097, + 0x309d000030a0, + 0x1b0010001b11f, + 0x1f2000001f201, + ), + 'Katakana': ( + 0x30a1000030fb, + 0x30fd00003100, + 0x31f000003200, + 0x32d0000032ff, + 0x330000003358, + 0xff660000ff70, + 0xff710000ff9e, + 0x1b0000001b001, + ), +} +joining_types = { + 0x600: 85, + 0x601: 85, + 0x602: 85, + 0x603: 85, + 0x604: 85, + 0x605: 85, + 0x608: 85, + 0x60b: 85, + 0x620: 68, + 0x621: 85, + 0x622: 82, + 0x623: 82, + 0x624: 82, + 0x625: 82, + 0x626: 68, + 0x627: 82, + 0x628: 68, + 0x629: 82, + 0x62a: 68, + 0x62b: 68, + 0x62c: 68, + 0x62d: 68, + 0x62e: 68, + 0x62f: 82, + 0x630: 82, + 0x631: 82, + 0x632: 82, + 0x633: 68, + 0x634: 68, + 0x635: 68, + 0x636: 68, + 0x637: 68, + 0x638: 68, + 0x639: 68, + 0x63a: 68, + 0x63b: 68, + 0x63c: 68, + 0x63d: 68, + 0x63e: 68, + 0x63f: 68, + 0x640: 67, + 0x641: 68, + 0x642: 68, + 0x643: 68, + 0x644: 68, + 0x645: 68, + 0x646: 68, + 0x647: 68, + 0x648: 82, + 0x649: 68, + 0x64a: 68, + 0x66e: 68, + 0x66f: 68, + 0x671: 82, + 0x672: 82, + 0x673: 82, + 0x674: 85, + 0x675: 82, + 0x676: 82, + 0x677: 82, + 0x678: 68, + 0x679: 68, + 0x67a: 68, + 0x67b: 68, + 0x67c: 68, + 0x67d: 68, + 0x67e: 68, + 0x67f: 68, + 0x680: 68, + 0x681: 68, + 0x682: 68, + 0x683: 68, + 0x684: 68, + 0x685: 68, + 0x686: 68, + 0x687: 68, + 0x688: 82, + 0x689: 82, + 0x68a: 82, + 0x68b: 82, + 0x68c: 82, + 0x68d: 82, + 0x68e: 82, + 0x68f: 82, + 0x690: 82, + 0x691: 82, + 0x692: 82, + 0x693: 82, + 0x694: 82, + 0x695: 82, + 0x696: 82, + 0x697: 82, + 0x698: 82, + 0x699: 82, + 0x69a: 68, + 0x69b: 68, + 0x69c: 68, + 0x69d: 68, + 0x69e: 68, + 0x69f: 68, + 0x6a0: 68, + 0x6a1: 68, + 0x6a2: 68, + 0x6a3: 68, + 0x6a4: 68, + 0x6a5: 68, + 0x6a6: 68, + 0x6a7: 68, + 0x6a8: 68, + 0x6a9: 68, + 0x6aa: 68, + 0x6ab: 68, + 0x6ac: 68, + 0x6ad: 68, + 0x6ae: 68, + 0x6af: 68, + 0x6b0: 68, + 0x6b1: 68, + 0x6b2: 68, + 0x6b3: 68, + 0x6b4: 68, + 0x6b5: 68, + 0x6b6: 68, + 0x6b7: 68, + 0x6b8: 68, + 0x6b9: 68, + 0x6ba: 68, + 0x6bb: 68, + 0x6bc: 68, + 0x6bd: 68, + 0x6be: 68, + 0x6bf: 68, + 0x6c0: 82, + 0x6c1: 68, + 0x6c2: 68, + 0x6c3: 82, + 0x6c4: 82, + 0x6c5: 82, + 0x6c6: 82, + 0x6c7: 82, + 0x6c8: 82, + 0x6c9: 82, + 0x6ca: 82, + 0x6cb: 82, + 0x6cc: 68, + 0x6cd: 82, + 0x6ce: 68, + 0x6cf: 82, + 0x6d0: 68, + 0x6d1: 68, + 0x6d2: 82, + 0x6d3: 82, + 0x6d5: 82, + 0x6dd: 85, + 0x6ee: 82, + 0x6ef: 82, + 0x6fa: 68, + 0x6fb: 68, + 0x6fc: 68, + 0x6ff: 68, + 0x70f: 84, + 0x710: 82, + 0x712: 68, + 0x713: 68, + 0x714: 68, + 0x715: 82, + 0x716: 82, + 0x717: 82, + 0x718: 82, + 0x719: 82, + 0x71a: 68, + 0x71b: 68, + 0x71c: 68, + 0x71d: 68, + 0x71e: 82, + 0x71f: 68, + 0x720: 68, + 0x721: 68, + 0x722: 68, + 0x723: 68, + 0x724: 68, + 0x725: 68, + 0x726: 68, + 0x727: 68, + 0x728: 82, + 0x729: 68, + 0x72a: 82, + 0x72b: 68, + 0x72c: 82, + 0x72d: 68, + 0x72e: 68, + 0x72f: 82, + 0x74d: 82, + 0x74e: 68, + 0x74f: 68, + 0x750: 68, + 0x751: 68, + 0x752: 68, + 0x753: 68, + 0x754: 68, + 0x755: 68, + 0x756: 68, + 0x757: 68, + 0x758: 68, + 0x759: 82, + 0x75a: 82, + 0x75b: 82, + 0x75c: 68, + 0x75d: 68, + 0x75e: 68, + 0x75f: 68, + 0x760: 68, + 0x761: 68, + 0x762: 68, + 0x763: 68, + 0x764: 68, + 0x765: 68, + 0x766: 68, + 0x767: 68, + 0x768: 68, + 0x769: 68, + 0x76a: 68, + 0x76b: 82, + 0x76c: 82, + 0x76d: 68, + 0x76e: 68, + 0x76f: 68, + 0x770: 68, + 0x771: 82, + 0x772: 68, + 0x773: 82, + 0x774: 82, + 0x775: 68, + 0x776: 68, + 0x777: 68, + 0x778: 82, + 0x779: 82, + 0x77a: 68, + 0x77b: 68, + 0x77c: 68, + 0x77d: 68, + 0x77e: 68, + 0x77f: 68, + 0x7ca: 68, + 0x7cb: 68, + 0x7cc: 68, + 0x7cd: 68, + 0x7ce: 68, + 0x7cf: 68, + 0x7d0: 68, + 0x7d1: 68, + 0x7d2: 68, + 0x7d3: 68, + 0x7d4: 68, + 0x7d5: 68, + 0x7d6: 68, + 0x7d7: 68, + 0x7d8: 68, + 0x7d9: 68, + 0x7da: 68, + 0x7db: 68, + 0x7dc: 68, + 0x7dd: 68, + 0x7de: 68, + 0x7df: 68, + 0x7e0: 68, + 0x7e1: 68, + 0x7e2: 68, + 0x7e3: 68, + 0x7e4: 68, + 0x7e5: 68, + 0x7e6: 68, + 0x7e7: 68, + 0x7e8: 68, + 0x7e9: 68, + 0x7ea: 68, + 0x7fa: 67, + 0x840: 82, + 0x841: 68, + 0x842: 68, + 0x843: 68, + 0x844: 68, + 0x845: 68, + 0x846: 82, + 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, + 0x84b: 68, + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, + 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, + 0x856: 85, + 0x857: 85, + 0x858: 85, + 0x860: 68, + 0x861: 85, + 0x862: 68, + 0x863: 68, + 0x864: 68, + 0x865: 68, + 0x866: 85, + 0x867: 82, + 0x868: 68, + 0x869: 82, + 0x86a: 82, + 0x8a0: 68, + 0x8a1: 68, + 0x8a2: 68, + 0x8a3: 68, + 0x8a4: 68, + 0x8a5: 68, + 0x8a6: 68, + 0x8a7: 68, + 0x8a8: 68, + 0x8a9: 68, + 0x8aa: 82, + 0x8ab: 82, + 0x8ac: 82, + 0x8ad: 85, + 0x8ae: 82, + 0x8af: 68, + 0x8b0: 68, + 0x8b1: 82, + 0x8b2: 82, + 0x8b3: 68, + 0x8b4: 68, + 0x8b6: 68, + 0x8b7: 68, + 0x8b8: 68, + 0x8b9: 82, + 0x8ba: 68, + 0x8bb: 68, + 0x8bc: 68, + 0x8bd: 68, + 0x8e2: 85, + 0x1806: 85, + 0x1807: 68, + 0x180a: 67, + 0x180e: 85, + 0x1820: 68, + 0x1821: 68, + 0x1822: 68, + 0x1823: 68, + 0x1824: 68, + 0x1825: 68, + 0x1826: 68, + 0x1827: 68, + 0x1828: 68, + 0x1829: 68, + 0x182a: 68, + 0x182b: 68, + 0x182c: 68, + 0x182d: 68, + 0x182e: 68, + 0x182f: 68, + 0x1830: 68, + 0x1831: 68, + 0x1832: 68, + 0x1833: 68, + 0x1834: 68, + 0x1835: 68, + 0x1836: 68, + 0x1837: 68, + 0x1838: 68, + 0x1839: 68, + 0x183a: 68, + 0x183b: 68, + 0x183c: 68, + 0x183d: 68, + 0x183e: 68, + 0x183f: 68, + 0x1840: 68, + 0x1841: 68, + 0x1842: 68, + 0x1843: 68, + 0x1844: 68, + 0x1845: 68, + 0x1846: 68, + 0x1847: 68, + 0x1848: 68, + 0x1849: 68, + 0x184a: 68, + 0x184b: 68, + 0x184c: 68, + 0x184d: 68, + 0x184e: 68, + 0x184f: 68, + 0x1850: 68, + 0x1851: 68, + 0x1852: 68, + 0x1853: 68, + 0x1854: 68, + 0x1855: 68, + 0x1856: 68, + 0x1857: 68, + 0x1858: 68, + 0x1859: 68, + 0x185a: 68, + 0x185b: 68, + 0x185c: 68, + 0x185d: 68, + 0x185e: 68, + 0x185f: 68, + 0x1860: 68, + 0x1861: 68, + 0x1862: 68, + 0x1863: 68, + 0x1864: 68, + 0x1865: 68, + 0x1866: 68, + 0x1867: 68, + 0x1868: 68, + 0x1869: 68, + 0x186a: 68, + 0x186b: 68, + 0x186c: 68, + 0x186d: 68, + 0x186e: 68, + 0x186f: 68, + 0x1870: 68, + 0x1871: 68, + 0x1872: 68, + 0x1873: 68, + 0x1874: 68, + 0x1875: 68, + 0x1876: 68, + 0x1877: 68, + 0x1878: 68, + 0x1880: 85, + 0x1881: 85, + 0x1882: 85, + 0x1883: 85, + 0x1884: 85, + 0x1885: 84, + 0x1886: 84, + 0x1887: 68, + 0x1888: 68, + 0x1889: 68, + 0x188a: 68, + 0x188b: 68, + 0x188c: 68, + 0x188d: 68, + 0x188e: 68, + 0x188f: 68, + 0x1890: 68, + 0x1891: 68, + 0x1892: 68, + 0x1893: 68, + 0x1894: 68, + 0x1895: 68, + 0x1896: 68, + 0x1897: 68, + 0x1898: 68, + 0x1899: 68, + 0x189a: 68, + 0x189b: 68, + 0x189c: 68, + 0x189d: 68, + 0x189e: 68, + 0x189f: 68, + 0x18a0: 68, + 0x18a1: 68, + 0x18a2: 68, + 0x18a3: 68, + 0x18a4: 68, + 0x18a5: 68, + 0x18a6: 68, + 0x18a7: 68, + 0x18a8: 68, + 0x18aa: 68, + 0x200c: 85, + 0x200d: 67, + 0x202f: 85, + 0x2066: 85, + 0x2067: 85, + 0x2068: 85, + 0x2069: 85, + 0xa840: 68, + 0xa841: 68, + 0xa842: 68, + 0xa843: 68, + 0xa844: 68, + 0xa845: 68, + 0xa846: 68, + 0xa847: 68, + 0xa848: 68, + 0xa849: 68, + 0xa84a: 68, + 0xa84b: 68, + 0xa84c: 68, + 0xa84d: 68, + 0xa84e: 68, + 0xa84f: 68, + 0xa850: 68, + 0xa851: 68, + 0xa852: 68, + 0xa853: 68, + 0xa854: 68, + 0xa855: 68, + 0xa856: 68, + 0xa857: 68, + 0xa858: 68, + 0xa859: 68, + 0xa85a: 68, + 0xa85b: 68, + 0xa85c: 68, + 0xa85d: 68, + 0xa85e: 68, + 0xa85f: 68, + 0xa860: 68, + 0xa861: 68, + 0xa862: 68, + 0xa863: 68, + 0xa864: 68, + 0xa865: 68, + 0xa866: 68, + 0xa867: 68, + 0xa868: 68, + 0xa869: 68, + 0xa86a: 68, + 0xa86b: 68, + 0xa86c: 68, + 0xa86d: 68, + 0xa86e: 68, + 0xa86f: 68, + 0xa870: 68, + 0xa871: 68, + 0xa872: 76, + 0xa873: 85, + 0x10ac0: 68, + 0x10ac1: 68, + 0x10ac2: 68, + 0x10ac3: 68, + 0x10ac4: 68, + 0x10ac5: 82, + 0x10ac6: 85, + 0x10ac7: 82, + 0x10ac8: 85, + 0x10ac9: 82, + 0x10aca: 82, + 0x10acb: 85, + 0x10acc: 85, + 0x10acd: 76, + 0x10ace: 82, + 0x10acf: 82, + 0x10ad0: 82, + 0x10ad1: 82, + 0x10ad2: 82, + 0x10ad3: 68, + 0x10ad4: 68, + 0x10ad5: 68, + 0x10ad6: 68, + 0x10ad7: 76, + 0x10ad8: 68, + 0x10ad9: 68, + 0x10ada: 68, + 0x10adb: 68, + 0x10adc: 68, + 0x10add: 82, + 0x10ade: 68, + 0x10adf: 68, + 0x10ae0: 68, + 0x10ae1: 82, + 0x10ae2: 85, + 0x10ae3: 85, + 0x10ae4: 82, + 0x10aeb: 68, + 0x10aec: 68, + 0x10aed: 68, + 0x10aee: 68, + 0x10aef: 82, + 0x10b80: 68, + 0x10b81: 82, + 0x10b82: 68, + 0x10b83: 82, + 0x10b84: 82, + 0x10b85: 82, + 0x10b86: 68, + 0x10b87: 68, + 0x10b88: 68, + 0x10b89: 82, + 0x10b8a: 68, + 0x10b8b: 68, + 0x10b8c: 82, + 0x10b8d: 68, + 0x10b8e: 82, + 0x10b8f: 82, + 0x10b90: 68, + 0x10b91: 82, + 0x10ba9: 82, + 0x10baa: 82, + 0x10bab: 82, + 0x10bac: 82, + 0x10bad: 68, + 0x10bae: 68, + 0x10baf: 85, + 0x10d00: 76, + 0x10d01: 68, + 0x10d02: 68, + 0x10d03: 68, + 0x10d04: 68, + 0x10d05: 68, + 0x10d06: 68, + 0x10d07: 68, + 0x10d08: 68, + 0x10d09: 68, + 0x10d0a: 68, + 0x10d0b: 68, + 0x10d0c: 68, + 0x10d0d: 68, + 0x10d0e: 68, + 0x10d0f: 68, + 0x10d10: 68, + 0x10d11: 68, + 0x10d12: 68, + 0x10d13: 68, + 0x10d14: 68, + 0x10d15: 68, + 0x10d16: 68, + 0x10d17: 68, + 0x10d18: 68, + 0x10d19: 68, + 0x10d1a: 68, + 0x10d1b: 68, + 0x10d1c: 68, + 0x10d1d: 68, + 0x10d1e: 68, + 0x10d1f: 68, + 0x10d20: 68, + 0x10d21: 68, + 0x10d22: 82, + 0x10d23: 68, + 0x10f30: 68, + 0x10f31: 68, + 0x10f32: 68, + 0x10f33: 82, + 0x10f34: 68, + 0x10f35: 68, + 0x10f36: 68, + 0x10f37: 68, + 0x10f38: 68, + 0x10f39: 68, + 0x10f3a: 68, + 0x10f3b: 68, + 0x10f3c: 68, + 0x10f3d: 68, + 0x10f3e: 68, + 0x10f3f: 68, + 0x10f40: 68, + 0x10f41: 68, + 0x10f42: 68, + 0x10f43: 68, + 0x10f44: 68, + 0x10f45: 85, + 0x10f51: 68, + 0x10f52: 68, + 0x10f53: 68, + 0x10f54: 82, + 0x110bd: 85, + 0x110cd: 85, + 0x1e900: 68, + 0x1e901: 68, + 0x1e902: 68, + 0x1e903: 68, + 0x1e904: 68, + 0x1e905: 68, + 0x1e906: 68, + 0x1e907: 68, + 0x1e908: 68, + 0x1e909: 68, + 0x1e90a: 68, + 0x1e90b: 68, + 0x1e90c: 68, + 0x1e90d: 68, + 0x1e90e: 68, + 0x1e90f: 68, + 0x1e910: 68, + 0x1e911: 68, + 0x1e912: 68, + 0x1e913: 68, + 0x1e914: 68, + 0x1e915: 68, + 0x1e916: 68, + 0x1e917: 68, + 0x1e918: 68, + 0x1e919: 68, + 0x1e91a: 68, + 0x1e91b: 68, + 0x1e91c: 68, + 0x1e91d: 68, + 0x1e91e: 68, + 0x1e91f: 68, + 0x1e920: 68, + 0x1e921: 68, + 0x1e922: 68, + 0x1e923: 68, + 0x1e924: 68, + 0x1e925: 68, + 0x1e926: 68, + 0x1e927: 68, + 0x1e928: 68, + 0x1e929: 68, + 0x1e92a: 68, + 0x1e92b: 68, + 0x1e92c: 68, + 0x1e92d: 68, + 0x1e92e: 68, + 0x1e92f: 68, + 0x1e930: 68, + 0x1e931: 68, + 0x1e932: 68, + 0x1e933: 68, + 0x1e934: 68, + 0x1e935: 68, + 0x1e936: 68, + 0x1e937: 68, + 0x1e938: 68, + 0x1e939: 68, + 0x1e93a: 68, + 0x1e93b: 68, + 0x1e93c: 68, + 0x1e93d: 68, + 0x1e93e: 68, + 0x1e93f: 68, + 0x1e940: 68, + 0x1e941: 68, + 0x1e942: 68, + 0x1e943: 68, +} +codepoint_classes = { + 'PVALID': ( + 0x2d0000002e, + 0x300000003a, + 0x610000007b, + 0xdf000000f7, + 0xf800000100, + 0x10100000102, + 0x10300000104, + 0x10500000106, + 0x10700000108, + 0x1090000010a, + 0x10b0000010c, + 0x10d0000010e, + 0x10f00000110, + 0x11100000112, + 0x11300000114, + 0x11500000116, + 0x11700000118, + 0x1190000011a, + 0x11b0000011c, + 0x11d0000011e, + 0x11f00000120, + 0x12100000122, + 0x12300000124, + 0x12500000126, + 0x12700000128, + 0x1290000012a, + 0x12b0000012c, + 0x12d0000012e, + 0x12f00000130, + 0x13100000132, + 0x13500000136, + 0x13700000139, + 0x13a0000013b, + 0x13c0000013d, + 0x13e0000013f, + 0x14200000143, + 0x14400000145, + 0x14600000147, + 0x14800000149, + 0x14b0000014c, + 0x14d0000014e, + 0x14f00000150, + 0x15100000152, + 0x15300000154, + 0x15500000156, + 0x15700000158, + 0x1590000015a, + 0x15b0000015c, + 0x15d0000015e, + 0x15f00000160, + 0x16100000162, + 0x16300000164, + 0x16500000166, + 0x16700000168, + 0x1690000016a, + 0x16b0000016c, + 0x16d0000016e, + 0x16f00000170, + 0x17100000172, + 0x17300000174, + 0x17500000176, + 0x17700000178, + 0x17a0000017b, + 0x17c0000017d, + 0x17e0000017f, + 0x18000000181, + 0x18300000184, + 0x18500000186, + 0x18800000189, + 0x18c0000018e, + 0x19200000193, + 0x19500000196, + 0x1990000019c, + 0x19e0000019f, + 0x1a1000001a2, + 0x1a3000001a4, + 0x1a5000001a6, + 0x1a8000001a9, + 0x1aa000001ac, + 0x1ad000001ae, + 0x1b0000001b1, + 0x1b4000001b5, + 0x1b6000001b7, + 0x1b9000001bc, + 0x1bd000001c4, + 0x1ce000001cf, + 0x1d0000001d1, + 0x1d2000001d3, + 0x1d4000001d5, + 0x1d6000001d7, + 0x1d8000001d9, + 0x1da000001db, + 0x1dc000001de, + 0x1df000001e0, + 0x1e1000001e2, + 0x1e3000001e4, + 0x1e5000001e6, + 0x1e7000001e8, + 0x1e9000001ea, + 0x1eb000001ec, + 0x1ed000001ee, + 0x1ef000001f1, + 0x1f5000001f6, + 0x1f9000001fa, + 0x1fb000001fc, + 0x1fd000001fe, + 0x1ff00000200, + 0x20100000202, + 0x20300000204, + 0x20500000206, + 0x20700000208, + 0x2090000020a, + 0x20b0000020c, + 0x20d0000020e, + 0x20f00000210, + 0x21100000212, + 0x21300000214, + 0x21500000216, + 0x21700000218, + 0x2190000021a, + 0x21b0000021c, + 0x21d0000021e, + 0x21f00000220, + 0x22100000222, + 0x22300000224, + 0x22500000226, + 0x22700000228, + 0x2290000022a, + 0x22b0000022c, + 0x22d0000022e, + 0x22f00000230, + 0x23100000232, + 0x2330000023a, + 0x23c0000023d, + 0x23f00000241, + 0x24200000243, + 0x24700000248, + 0x2490000024a, + 0x24b0000024c, + 0x24d0000024e, + 0x24f000002b0, + 0x2b9000002c2, + 0x2c6000002d2, + 0x2ec000002ed, + 0x2ee000002ef, + 0x30000000340, + 0x34200000343, + 0x3460000034f, + 0x35000000370, + 0x37100000372, + 0x37300000374, + 0x37700000378, + 0x37b0000037e, + 0x39000000391, + 0x3ac000003cf, + 0x3d7000003d8, + 0x3d9000003da, + 0x3db000003dc, + 0x3dd000003de, + 0x3df000003e0, + 0x3e1000003e2, + 0x3e3000003e4, + 0x3e5000003e6, + 0x3e7000003e8, + 0x3e9000003ea, + 0x3eb000003ec, + 0x3ed000003ee, + 0x3ef000003f0, + 0x3f3000003f4, + 0x3f8000003f9, + 0x3fb000003fd, + 0x43000000460, + 0x46100000462, + 0x46300000464, + 0x46500000466, + 0x46700000468, + 0x4690000046a, + 0x46b0000046c, + 0x46d0000046e, + 0x46f00000470, + 0x47100000472, + 0x47300000474, + 0x47500000476, + 0x47700000478, + 0x4790000047a, + 0x47b0000047c, + 0x47d0000047e, + 0x47f00000480, + 0x48100000482, + 0x48300000488, + 0x48b0000048c, + 0x48d0000048e, + 0x48f00000490, + 0x49100000492, + 0x49300000494, + 0x49500000496, + 0x49700000498, + 0x4990000049a, + 0x49b0000049c, + 0x49d0000049e, + 0x49f000004a0, + 0x4a1000004a2, + 0x4a3000004a4, + 0x4a5000004a6, + 0x4a7000004a8, + 0x4a9000004aa, + 0x4ab000004ac, + 0x4ad000004ae, + 0x4af000004b0, + 0x4b1000004b2, + 0x4b3000004b4, + 0x4b5000004b6, + 0x4b7000004b8, + 0x4b9000004ba, + 0x4bb000004bc, + 0x4bd000004be, + 0x4bf000004c0, + 0x4c2000004c3, + 0x4c4000004c5, + 0x4c6000004c7, + 0x4c8000004c9, + 0x4ca000004cb, + 0x4cc000004cd, + 0x4ce000004d0, + 0x4d1000004d2, + 0x4d3000004d4, + 0x4d5000004d6, + 0x4d7000004d8, + 0x4d9000004da, + 0x4db000004dc, + 0x4dd000004de, + 0x4df000004e0, + 0x4e1000004e2, + 0x4e3000004e4, + 0x4e5000004e6, + 0x4e7000004e8, + 0x4e9000004ea, + 0x4eb000004ec, + 0x4ed000004ee, + 0x4ef000004f0, + 0x4f1000004f2, + 0x4f3000004f4, + 0x4f5000004f6, + 0x4f7000004f8, + 0x4f9000004fa, + 0x4fb000004fc, + 0x4fd000004fe, + 0x4ff00000500, + 0x50100000502, + 0x50300000504, + 0x50500000506, + 0x50700000508, + 0x5090000050a, + 0x50b0000050c, + 0x50d0000050e, + 0x50f00000510, + 0x51100000512, + 0x51300000514, + 0x51500000516, + 0x51700000518, + 0x5190000051a, + 0x51b0000051c, + 0x51d0000051e, + 0x51f00000520, + 0x52100000522, + 0x52300000524, + 0x52500000526, + 0x52700000528, + 0x5290000052a, + 0x52b0000052c, + 0x52d0000052e, + 0x52f00000530, + 0x5590000055a, + 0x56000000587, + 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, + 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, + 0x66e00000675, + 0x679000006d4, + 0x6d5000006dd, + 0x6df000006e9, + 0x6ea000006f0, + 0x6fa00000700, + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, + 0x7fd000007fe, + 0x8000000082e, + 0x8400000085c, + 0x8600000086b, + 0x8a0000008b5, + 0x8b6000008be, + 0x8d3000008e2, + 0x8e300000958, + 0x96000000964, + 0x96600000970, + 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, + 0x9aa000009b1, + 0x9b2000009b3, + 0x9b6000009ba, + 0x9bc000009c5, + 0x9c7000009c9, + 0x9cb000009cf, + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, + 0x9fc000009fd, + 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, + 0xa1300000a29, + 0xa2a00000a31, + 0xa3200000a33, + 0xa3500000a36, + 0xa3800000a3a, + 0xa3c00000a3d, + 0xa3e00000a43, + 0xa4700000a49, + 0xa4b00000a4e, + 0xa5100000a52, + 0xa5c00000a5d, + 0xa6600000a76, + 0xa8100000a84, + 0xa8500000a8e, + 0xa8f00000a92, + 0xa9300000aa9, + 0xaaa00000ab1, + 0xab200000ab4, + 0xab500000aba, + 0xabc00000ac6, + 0xac700000aca, + 0xacb00000ace, + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, + 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, + 0xb1300000b29, + 0xb2a00000b31, + 0xb3200000b34, + 0xb3500000b3a, + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, + 0xb5600000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, + 0xb8200000b84, + 0xb8500000b8b, + 0xb8e00000b91, + 0xb9200000b96, + 0xb9900000b9b, + 0xb9c00000b9d, + 0xb9e00000ba0, + 0xba300000ba5, + 0xba800000bab, + 0xbae00000bba, + 0xbbe00000bc3, + 0xbc600000bc9, + 0xbca00000bce, + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, + 0xc0000000c0d, + 0xc0e00000c11, + 0xc1200000c29, + 0xc2a00000c3a, + 0xc3d00000c45, + 0xc4600000c49, + 0xc4a00000c4e, + 0xc5500000c57, + 0xc5800000c5b, + 0xc6000000c64, + 0xc6600000c70, + 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, + 0xcaa00000cb4, + 0xcb500000cba, + 0xcbc00000cc5, + 0xcc600000cc9, + 0xcca00000cce, + 0xcd500000cd7, + 0xcde00000cdf, + 0xce000000ce4, + 0xce600000cf0, + 0xcf100000cf3, + 0xd0000000d04, + 0xd0500000d0d, + 0xd0e00000d11, + 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, + 0xd5400000d58, + 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, + 0xd8200000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, + 0xdbd00000dbe, + 0xdc000000dc7, + 0xdca00000dcb, + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, + 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, + 0xe4000000e4f, + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, + 0xe8700000e89, + 0xe8a00000e8b, + 0xe8d00000e8e, + 0xe9400000e98, + 0xe9900000ea0, + 0xea100000ea4, + 0xea500000ea6, + 0xea700000ea8, + 0xeaa00000eac, + 0xead00000eb3, + 0xeb400000eba, + 0xebb00000ebe, + 0xec000000ec5, + 0xec600000ec7, + 0xec800000ece, + 0xed000000eda, + 0xede00000ee0, + 0xf0000000f01, + 0xf0b00000f0c, + 0xf1800000f1a, + 0xf2000000f2a, + 0xf3500000f36, + 0xf3700000f38, + 0xf3900000f3a, + 0xf3e00000f43, + 0xf4400000f48, + 0xf4900000f4d, + 0xf4e00000f52, + 0xf5300000f57, + 0xf5800000f5c, + 0xf5d00000f69, + 0xf6a00000f6d, + 0xf7100000f73, + 0xf7400000f75, + 0xf7a00000f81, + 0xf8200000f85, + 0xf8600000f93, + 0xf9400000f98, + 0xf9900000f9d, + 0xf9e00000fa2, + 0xfa300000fa7, + 0xfa800000fac, + 0xfad00000fb9, + 0xfba00000fbd, + 0xfc600000fc7, + 0x10000000104a, + 0x10500000109e, + 0x10d0000010fb, + 0x10fd00001100, + 0x120000001249, + 0x124a0000124e, + 0x125000001257, + 0x125800001259, + 0x125a0000125e, + 0x126000001289, + 0x128a0000128e, + 0x1290000012b1, + 0x12b2000012b6, + 0x12b8000012bf, + 0x12c0000012c1, + 0x12c2000012c6, + 0x12c8000012d7, + 0x12d800001311, + 0x131200001316, + 0x13180000135b, + 0x135d00001360, + 0x138000001390, + 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, + 0x16810000169b, + 0x16a0000016eb, + 0x16f1000016f9, + 0x17000000170d, + 0x170e00001715, + 0x172000001735, + 0x174000001754, + 0x17600000176d, + 0x176e00001771, + 0x177200001774, + 0x1780000017b4, + 0x17b6000017d4, + 0x17d7000017d8, + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, + 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, + 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, + 0x197000001975, + 0x1980000019ac, + 0x19b0000019ca, + 0x19d0000019da, + 0x1a0000001a1c, + 0x1a2000001a5f, + 0x1a6000001a7d, + 0x1a7f00001a8a, + 0x1a9000001a9a, + 0x1aa700001aa8, + 0x1ab000001abe, + 0x1b0000001b4c, + 0x1b5000001b5a, + 0x1b6b00001b74, + 0x1b8000001bf4, + 0x1c0000001c38, + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, + 0x1cd400001cfa, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, + 0x1d4e00001d4f, + 0x1d6b00001d78, + 0x1d7900001d9b, + 0x1dc000001dfa, + 0x1dfb00001e00, + 0x1e0100001e02, + 0x1e0300001e04, + 0x1e0500001e06, + 0x1e0700001e08, + 0x1e0900001e0a, + 0x1e0b00001e0c, + 0x1e0d00001e0e, + 0x1e0f00001e10, + 0x1e1100001e12, + 0x1e1300001e14, + 0x1e1500001e16, + 0x1e1700001e18, + 0x1e1900001e1a, + 0x1e1b00001e1c, + 0x1e1d00001e1e, + 0x1e1f00001e20, + 0x1e2100001e22, + 0x1e2300001e24, + 0x1e2500001e26, + 0x1e2700001e28, + 0x1e2900001e2a, + 0x1e2b00001e2c, + 0x1e2d00001e2e, + 0x1e2f00001e30, + 0x1e3100001e32, + 0x1e3300001e34, + 0x1e3500001e36, + 0x1e3700001e38, + 0x1e3900001e3a, + 0x1e3b00001e3c, + 0x1e3d00001e3e, + 0x1e3f00001e40, + 0x1e4100001e42, + 0x1e4300001e44, + 0x1e4500001e46, + 0x1e4700001e48, + 0x1e4900001e4a, + 0x1e4b00001e4c, + 0x1e4d00001e4e, + 0x1e4f00001e50, + 0x1e5100001e52, + 0x1e5300001e54, + 0x1e5500001e56, + 0x1e5700001e58, + 0x1e5900001e5a, + 0x1e5b00001e5c, + 0x1e5d00001e5e, + 0x1e5f00001e60, + 0x1e6100001e62, + 0x1e6300001e64, + 0x1e6500001e66, + 0x1e6700001e68, + 0x1e6900001e6a, + 0x1e6b00001e6c, + 0x1e6d00001e6e, + 0x1e6f00001e70, + 0x1e7100001e72, + 0x1e7300001e74, + 0x1e7500001e76, + 0x1e7700001e78, + 0x1e7900001e7a, + 0x1e7b00001e7c, + 0x1e7d00001e7e, + 0x1e7f00001e80, + 0x1e8100001e82, + 0x1e8300001e84, + 0x1e8500001e86, + 0x1e8700001e88, + 0x1e8900001e8a, + 0x1e8b00001e8c, + 0x1e8d00001e8e, + 0x1e8f00001e90, + 0x1e9100001e92, + 0x1e9300001e94, + 0x1e9500001e9a, + 0x1e9c00001e9e, + 0x1e9f00001ea0, + 0x1ea100001ea2, + 0x1ea300001ea4, + 0x1ea500001ea6, + 0x1ea700001ea8, + 0x1ea900001eaa, + 0x1eab00001eac, + 0x1ead00001eae, + 0x1eaf00001eb0, + 0x1eb100001eb2, + 0x1eb300001eb4, + 0x1eb500001eb6, + 0x1eb700001eb8, + 0x1eb900001eba, + 0x1ebb00001ebc, + 0x1ebd00001ebe, + 0x1ebf00001ec0, + 0x1ec100001ec2, + 0x1ec300001ec4, + 0x1ec500001ec6, + 0x1ec700001ec8, + 0x1ec900001eca, + 0x1ecb00001ecc, + 0x1ecd00001ece, + 0x1ecf00001ed0, + 0x1ed100001ed2, + 0x1ed300001ed4, + 0x1ed500001ed6, + 0x1ed700001ed8, + 0x1ed900001eda, + 0x1edb00001edc, + 0x1edd00001ede, + 0x1edf00001ee0, + 0x1ee100001ee2, + 0x1ee300001ee4, + 0x1ee500001ee6, + 0x1ee700001ee8, + 0x1ee900001eea, + 0x1eeb00001eec, + 0x1eed00001eee, + 0x1eef00001ef0, + 0x1ef100001ef2, + 0x1ef300001ef4, + 0x1ef500001ef6, + 0x1ef700001ef8, + 0x1ef900001efa, + 0x1efb00001efc, + 0x1efd00001efe, + 0x1eff00001f08, + 0x1f1000001f16, + 0x1f2000001f28, + 0x1f3000001f38, + 0x1f4000001f46, + 0x1f5000001f58, + 0x1f6000001f68, + 0x1f7000001f71, + 0x1f7200001f73, + 0x1f7400001f75, + 0x1f7600001f77, + 0x1f7800001f79, + 0x1f7a00001f7b, + 0x1f7c00001f7d, + 0x1fb000001fb2, + 0x1fb600001fb7, + 0x1fc600001fc7, + 0x1fd000001fd3, + 0x1fd600001fd8, + 0x1fe000001fe3, + 0x1fe400001fe8, + 0x1ff600001ff7, + 0x214e0000214f, + 0x218400002185, + 0x2c3000002c5f, + 0x2c6100002c62, + 0x2c6500002c67, + 0x2c6800002c69, + 0x2c6a00002c6b, + 0x2c6c00002c6d, + 0x2c7100002c72, + 0x2c7300002c75, + 0x2c7600002c7c, + 0x2c8100002c82, + 0x2c8300002c84, + 0x2c8500002c86, + 0x2c8700002c88, + 0x2c8900002c8a, + 0x2c8b00002c8c, + 0x2c8d00002c8e, + 0x2c8f00002c90, + 0x2c9100002c92, + 0x2c9300002c94, + 0x2c9500002c96, + 0x2c9700002c98, + 0x2c9900002c9a, + 0x2c9b00002c9c, + 0x2c9d00002c9e, + 0x2c9f00002ca0, + 0x2ca100002ca2, + 0x2ca300002ca4, + 0x2ca500002ca6, + 0x2ca700002ca8, + 0x2ca900002caa, + 0x2cab00002cac, + 0x2cad00002cae, + 0x2caf00002cb0, + 0x2cb100002cb2, + 0x2cb300002cb4, + 0x2cb500002cb6, + 0x2cb700002cb8, + 0x2cb900002cba, + 0x2cbb00002cbc, + 0x2cbd00002cbe, + 0x2cbf00002cc0, + 0x2cc100002cc2, + 0x2cc300002cc4, + 0x2cc500002cc6, + 0x2cc700002cc8, + 0x2cc900002cca, + 0x2ccb00002ccc, + 0x2ccd00002cce, + 0x2ccf00002cd0, + 0x2cd100002cd2, + 0x2cd300002cd4, + 0x2cd500002cd6, + 0x2cd700002cd8, + 0x2cd900002cda, + 0x2cdb00002cdc, + 0x2cdd00002cde, + 0x2cdf00002ce0, + 0x2ce100002ce2, + 0x2ce300002ce5, + 0x2cec00002ced, + 0x2cee00002cf2, + 0x2cf300002cf4, + 0x2d0000002d26, + 0x2d2700002d28, + 0x2d2d00002d2e, + 0x2d3000002d68, + 0x2d7f00002d97, + 0x2da000002da7, + 0x2da800002daf, + 0x2db000002db7, + 0x2db800002dbf, + 0x2dc000002dc7, + 0x2dc800002dcf, + 0x2dd000002dd7, + 0x2dd800002ddf, + 0x2de000002e00, + 0x2e2f00002e30, + 0x300500003008, + 0x302a0000302e, + 0x303c0000303d, + 0x304100003097, + 0x30990000309b, + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, + 0x310500003130, + 0x31a0000031bb, + 0x31f000003200, + 0x340000004db6, + 0x4e0000009ff0, + 0xa0000000a48d, + 0xa4d00000a4fe, + 0xa5000000a60d, + 0xa6100000a62c, + 0xa6410000a642, + 0xa6430000a644, + 0xa6450000a646, + 0xa6470000a648, + 0xa6490000a64a, + 0xa64b0000a64c, + 0xa64d0000a64e, + 0xa64f0000a650, + 0xa6510000a652, + 0xa6530000a654, + 0xa6550000a656, + 0xa6570000a658, + 0xa6590000a65a, + 0xa65b0000a65c, + 0xa65d0000a65e, + 0xa65f0000a660, + 0xa6610000a662, + 0xa6630000a664, + 0xa6650000a666, + 0xa6670000a668, + 0xa6690000a66a, + 0xa66b0000a66c, + 0xa66d0000a670, + 0xa6740000a67e, + 0xa67f0000a680, + 0xa6810000a682, + 0xa6830000a684, + 0xa6850000a686, + 0xa6870000a688, + 0xa6890000a68a, + 0xa68b0000a68c, + 0xa68d0000a68e, + 0xa68f0000a690, + 0xa6910000a692, + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, + 0xa6990000a69a, + 0xa69b0000a69c, + 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, + 0xa7250000a726, + 0xa7270000a728, + 0xa7290000a72a, + 0xa72b0000a72c, + 0xa72d0000a72e, + 0xa72f0000a732, + 0xa7330000a734, + 0xa7350000a736, + 0xa7370000a738, + 0xa7390000a73a, + 0xa73b0000a73c, + 0xa73d0000a73e, + 0xa73f0000a740, + 0xa7410000a742, + 0xa7430000a744, + 0xa7450000a746, + 0xa7470000a748, + 0xa7490000a74a, + 0xa74b0000a74c, + 0xa74d0000a74e, + 0xa74f0000a750, + 0xa7510000a752, + 0xa7530000a754, + 0xa7550000a756, + 0xa7570000a758, + 0xa7590000a75a, + 0xa75b0000a75c, + 0xa75d0000a75e, + 0xa75f0000a760, + 0xa7610000a762, + 0xa7630000a764, + 0xa7650000a766, + 0xa7670000a768, + 0xa7690000a76a, + 0xa76b0000a76c, + 0xa76d0000a76e, + 0xa76f0000a770, + 0xa7710000a779, + 0xa77a0000a77b, + 0xa77c0000a77d, + 0xa77f0000a780, + 0xa7810000a782, + 0xa7830000a784, + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, + 0xa78e0000a790, + 0xa7910000a792, + 0xa7930000a796, + 0xa7970000a798, + 0xa7990000a79a, + 0xa79b0000a79c, + 0xa79d0000a79e, + 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, + 0xa7af0000a7b0, + 0xa7b50000a7b6, + 0xa7b70000a7b8, + 0xa7b90000a7ba, + 0xa7f70000a7f8, + 0xa7fa0000a828, + 0xa8400000a874, + 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, + 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, + 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, + 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, + 0xab010000ab07, + 0xab090000ab0f, + 0xab110000ab17, + 0xab200000ab27, + 0xab280000ab2f, + 0xab300000ab5b, + 0xab600000ab66, + 0xabc00000abeb, + 0xabec0000abee, + 0xabf00000abfa, + 0xac000000d7a4, + 0xfa0e0000fa10, + 0xfa110000fa12, + 0xfa130000fa15, + 0xfa1f0000fa20, + 0xfa210000fa22, + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, + 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, + 0x100280001003b, + 0x1003c0001003e, + 0x1003f0001004e, + 0x100500001005e, + 0x10080000100fb, + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, + 0x102e0000102e1, + 0x1030000010320, + 0x1032d00010341, + 0x103420001034a, + 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, + 0x104d8000104fc, + 0x1050000010528, + 0x1053000010564, + 0x1060000010737, + 0x1074000010756, + 0x1076000010768, + 0x1080000010806, + 0x1080800010809, + 0x1080a00010836, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, + 0x1086000010877, + 0x108800001089f, + 0x108e0000108f3, + 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, + 0x109be000109c0, + 0x10a0000010a04, + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, + 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, + 0x10a8000010a9d, + 0x10ac000010ac8, + 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, + 0x10b8000010b92, + 0x10c0000010c49, + 0x10cc000010cf3, + 0x10d0000010d28, + 0x10d3000010d3a, + 0x10f0000010f1d, + 0x10f2700010f28, + 0x10f3000010f51, + 0x1100000011047, + 0x1106600011070, + 0x1107f000110bb, + 0x110d0000110e9, + 0x110f0000110fa, + 0x1110000011135, + 0x1113600011140, + 0x1114400011147, + 0x1115000011174, + 0x1117600011177, + 0x11180000111c5, + 0x111c9000111cd, + 0x111d0000111db, + 0x111dc000111dd, + 0x1120000011212, + 0x1121300011238, + 0x1123e0001123f, + 0x1128000011287, + 0x1128800011289, + 0x1128a0001128e, + 0x1128f0001129e, + 0x1129f000112a9, + 0x112b0000112eb, + 0x112f0000112fa, + 0x1130000011304, + 0x113050001130d, + 0x1130f00011311, + 0x1131300011329, + 0x1132a00011331, + 0x1133200011334, + 0x113350001133a, + 0x1133b00011345, + 0x1134700011349, + 0x1134b0001134e, + 0x1135000011351, + 0x1135700011358, + 0x1135d00011364, + 0x113660001136d, + 0x1137000011375, + 0x114000001144b, + 0x114500001145a, + 0x1145e0001145f, + 0x11480000114c6, + 0x114c7000114c8, + 0x114d0000114da, + 0x11580000115b6, + 0x115b8000115c1, + 0x115d8000115de, + 0x1160000011641, + 0x1164400011645, + 0x116500001165a, + 0x11680000116b8, + 0x116c0000116ca, + 0x117000001171b, + 0x1171d0001172c, + 0x117300001173a, + 0x118000001183b, + 0x118c0000118ea, + 0x118ff00011900, + 0x11a0000011a3f, + 0x11a4700011a48, + 0x11a5000011a84, + 0x11a8600011a9a, + 0x11a9d00011a9e, + 0x11ac000011af9, + 0x11c0000011c09, + 0x11c0a00011c37, + 0x11c3800011c41, + 0x11c5000011c5a, + 0x11c7200011c90, + 0x11c9200011ca8, + 0x11ca900011cb7, + 0x11d0000011d07, + 0x11d0800011d0a, + 0x11d0b00011d37, + 0x11d3a00011d3b, + 0x11d3c00011d3e, + 0x11d3f00011d48, + 0x11d5000011d5a, + 0x11d6000011d66, + 0x11d6700011d69, + 0x11d6a00011d8f, + 0x11d9000011d92, + 0x11d9300011d99, + 0x11da000011daa, + 0x11ee000011ef7, + 0x120000001239a, + 0x1248000012544, + 0x130000001342f, + 0x1440000014647, + 0x1680000016a39, + 0x16a4000016a5f, + 0x16a6000016a6a, + 0x16ad000016aee, + 0x16af000016af5, + 0x16b0000016b37, + 0x16b4000016b44, + 0x16b5000016b5a, + 0x16b6300016b78, + 0x16b7d00016b90, + 0x16e6000016e80, + 0x16f0000016f45, + 0x16f5000016f7f, + 0x16f8f00016fa0, + 0x16fe000016fe2, + 0x17000000187f2, + 0x1880000018af3, + 0x1b0000001b11f, + 0x1b1700001b2fc, + 0x1bc000001bc6b, + 0x1bc700001bc7d, + 0x1bc800001bc89, + 0x1bc900001bc9a, + 0x1bc9d0001bc9f, + 0x1da000001da37, + 0x1da3b0001da6d, + 0x1da750001da76, + 0x1da840001da85, + 0x1da9b0001daa0, + 0x1daa10001dab0, + 0x1e0000001e007, + 0x1e0080001e019, + 0x1e01b0001e022, + 0x1e0230001e025, + 0x1e0260001e02b, + 0x1e8000001e8c5, + 0x1e8d00001e8d7, + 0x1e9220001e94b, + 0x1e9500001e95a, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + ), + 'CONTEXTJ': ( + 0x200c0000200e, + ), + 'CONTEXTO': ( + 0xb7000000b8, + 0x37500000376, + 0x5f3000005f5, + 0x6600000066a, + 0x6f0000006fa, + 0x30fb000030fc, + ), +} diff --git a/idna/intranges.py b/idna/intranges.py new file mode 100644 index 0000000..fa8a735 --- /dev/null +++ b/idna/intranges.py @@ -0,0 +1,53 @@ +""" +Given a list of integers, made up of (hopefully) a small number of long runs +of consecutive integers, compute a representation of the form +((start1, end1), (start2, end2) ...). Then answer the question "was x present +in the original list?" in time O(log(# runs)). +""" + +import bisect + +def intranges_from_list(list_): + """Represent a list of integers as a sequence of ranges: + ((start_0, end_0), (start_1, end_1), ...), such that the original + integers are exactly those x such that start_i <= x < end_i for some i. + + Ranges are encoded as single integers (start << 32 | end), not as tuples. + """ + + sorted_list = sorted(list_) + ranges = [] + last_write = -1 + for i in range(len(sorted_list)): + if i+1 < len(sorted_list): + if sorted_list[i] == sorted_list[i+1]-1: + continue + current_range = sorted_list[last_write+1:i+1] + ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) + last_write = i + + return tuple(ranges) + +def _encode_range(start, end): + return (start << 32) | end + +def _decode_range(r): + return (r >> 32), (r & ((1 << 32) - 1)) + + +def intranges_contain(int_, ranges): + """Determine if `int_` falls into one of the ranges in `ranges`.""" + tuple_ = _encode_range(int_, 0) + pos = bisect.bisect_left(ranges, tuple_) + # we could be immediately ahead of a tuple (start, end) + # with start < int_ <= end + if pos > 0: + left, right = _decode_range(ranges[pos-1]) + if left <= int_ < right: + return True + # or we could be immediately behind a tuple (int_, end) + if pos < len(ranges): + left, _ = _decode_range(ranges[pos]) + if left == int_: + return True + return False diff --git a/idna/package_data.py b/idna/package_data.py new file mode 100644 index 0000000..257e898 --- /dev/null +++ b/idna/package_data.py @@ -0,0 +1,2 @@ +__version__ = '2.8' + diff --git a/idna/uts46data.py b/idna/uts46data.py new file mode 100644 index 0000000..a68ed4c --- /dev/null +++ b/idna/uts46data.py @@ -0,0 +1,8205 @@ +# This file is automatically generated by tools/idna-data +# vim: set fileencoding=utf-8 : + +"""IDNA Mapping Table from UTS46.""" + + +__version__ = "11.0.0" +def _seg_0(): + return [ + (0x0, '3'), + (0x1, '3'), + (0x2, '3'), + (0x3, '3'), + (0x4, '3'), + (0x5, '3'), + (0x6, '3'), + (0x7, '3'), + (0x8, '3'), + (0x9, '3'), + (0xA, '3'), + (0xB, '3'), + (0xC, '3'), + (0xD, '3'), + (0xE, '3'), + (0xF, '3'), + (0x10, '3'), + (0x11, '3'), + (0x12, '3'), + (0x13, '3'), + (0x14, '3'), + (0x15, '3'), + (0x16, '3'), + (0x17, '3'), + (0x18, '3'), + (0x19, '3'), + (0x1A, '3'), + (0x1B, '3'), + (0x1C, '3'), + (0x1D, '3'), + (0x1E, '3'), + (0x1F, '3'), + (0x20, '3'), + (0x21, '3'), + (0x22, '3'), + (0x23, '3'), + (0x24, '3'), + (0x25, '3'), + (0x26, '3'), + (0x27, '3'), + (0x28, '3'), + (0x29, '3'), + (0x2A, '3'), + (0x2B, '3'), + (0x2C, '3'), + (0x2D, 'V'), + (0x2E, 'V'), + (0x2F, '3'), + (0x30, 'V'), + (0x31, 'V'), + (0x32, 'V'), + (0x33, 'V'), + (0x34, 'V'), + (0x35, 'V'), + (0x36, 'V'), + (0x37, 'V'), + (0x38, 'V'), + (0x39, 'V'), + (0x3A, '3'), + (0x3B, '3'), + (0x3C, '3'), + (0x3D, '3'), + (0x3E, '3'), + (0x3F, '3'), + (0x40, '3'), + (0x41, 'M', u'a'), + (0x42, 'M', u'b'), + (0x43, 'M', u'c'), + (0x44, 'M', u'd'), + (0x45, 'M', u'e'), + (0x46, 'M', u'f'), + (0x47, 'M', u'g'), + (0x48, 'M', u'h'), + (0x49, 'M', u'i'), + (0x4A, 'M', u'j'), + (0x4B, 'M', u'k'), + (0x4C, 'M', u'l'), + (0x4D, 'M', u'm'), + (0x4E, 'M', u'n'), + (0x4F, 'M', u'o'), + (0x50, 'M', u'p'), + (0x51, 'M', u'q'), + (0x52, 'M', u'r'), + (0x53, 'M', u's'), + (0x54, 'M', u't'), + (0x55, 'M', u'u'), + (0x56, 'M', u'v'), + (0x57, 'M', u'w'), + (0x58, 'M', u'x'), + (0x59, 'M', u'y'), + (0x5A, 'M', u'z'), + (0x5B, '3'), + (0x5C, '3'), + (0x5D, '3'), + (0x5E, '3'), + (0x5F, '3'), + (0x60, '3'), + (0x61, 'V'), + (0x62, 'V'), + (0x63, 'V'), + ] + +def _seg_1(): + return [ + (0x64, 'V'), + (0x65, 'V'), + (0x66, 'V'), + (0x67, 'V'), + (0x68, 'V'), + (0x69, 'V'), + (0x6A, 'V'), + (0x6B, 'V'), + (0x6C, 'V'), + (0x6D, 'V'), + (0x6E, 'V'), + (0x6F, 'V'), + (0x70, 'V'), + (0x71, 'V'), + (0x72, 'V'), + (0x73, 'V'), + (0x74, 'V'), + (0x75, 'V'), + (0x76, 'V'), + (0x77, 'V'), + (0x78, 'V'), + (0x79, 'V'), + (0x7A, 'V'), + (0x7B, '3'), + (0x7C, '3'), + (0x7D, '3'), + (0x7E, '3'), + (0x7F, '3'), + (0x80, 'X'), + (0x81, 'X'), + (0x82, 'X'), + (0x83, 'X'), + (0x84, 'X'), + (0x85, 'X'), + (0x86, 'X'), + (0x87, 'X'), + (0x88, 'X'), + (0x89, 'X'), + (0x8A, 'X'), + (0x8B, 'X'), + (0x8C, 'X'), + (0x8D, 'X'), + (0x8E, 'X'), + (0x8F, 'X'), + (0x90, 'X'), + (0x91, 'X'), + (0x92, 'X'), + (0x93, 'X'), + (0x94, 'X'), + (0x95, 'X'), + (0x96, 'X'), + (0x97, 'X'), + (0x98, 'X'), + (0x99, 'X'), + (0x9A, 'X'), + (0x9B, 'X'), + (0x9C, 'X'), + (0x9D, 'X'), + (0x9E, 'X'), + (0x9F, 'X'), + (0xA0, '3', u' '), + (0xA1, 'V'), + (0xA2, 'V'), + (0xA3, 'V'), + (0xA4, 'V'), + (0xA5, 'V'), + (0xA6, 'V'), + (0xA7, 'V'), + (0xA8, '3', u' ̈'), + (0xA9, 'V'), + (0xAA, 'M', u'a'), + (0xAB, 'V'), + (0xAC, 'V'), + (0xAD, 'I'), + (0xAE, 'V'), + (0xAF, '3', u' ̄'), + (0xB0, 'V'), + (0xB1, 'V'), + (0xB2, 'M', u'2'), + (0xB3, 'M', u'3'), + (0xB4, '3', u' ́'), + (0xB5, 'M', u'μ'), + (0xB6, 'V'), + (0xB7, 'V'), + (0xB8, '3', u' ̧'), + (0xB9, 'M', u'1'), + (0xBA, 'M', u'o'), + (0xBB, 'V'), + (0xBC, 'M', u'1⁄4'), + (0xBD, 'M', u'1⁄2'), + (0xBE, 'M', u'3⁄4'), + (0xBF, 'V'), + (0xC0, 'M', u'à'), + (0xC1, 'M', u'á'), + (0xC2, 'M', u'â'), + (0xC3, 'M', u'ã'), + (0xC4, 'M', u'ä'), + (0xC5, 'M', u'å'), + (0xC6, 'M', u'æ'), + (0xC7, 'M', u'ç'), + ] + +def _seg_2(): + return [ + (0xC8, 'M', u'è'), + (0xC9, 'M', u'é'), + (0xCA, 'M', u'ê'), + (0xCB, 'M', u'ë'), + (0xCC, 'M', u'ì'), + (0xCD, 'M', u'í'), + (0xCE, 'M', u'î'), + (0xCF, 'M', u'ï'), + (0xD0, 'M', u'ð'), + (0xD1, 'M', u'ñ'), + (0xD2, 'M', u'ò'), + (0xD3, 'M', u'ó'), + (0xD4, 'M', u'ô'), + (0xD5, 'M', u'õ'), + (0xD6, 'M', u'ö'), + (0xD7, 'V'), + (0xD8, 'M', u'ø'), + (0xD9, 'M', u'ù'), + (0xDA, 'M', u'ú'), + (0xDB, 'M', u'û'), + (0xDC, 'M', u'ü'), + (0xDD, 'M', u'ý'), + (0xDE, 'M', u'þ'), + (0xDF, 'D', u'ss'), + (0xE0, 'V'), + (0xE1, 'V'), + (0xE2, 'V'), + (0xE3, 'V'), + (0xE4, 'V'), + (0xE5, 'V'), + (0xE6, 'V'), + (0xE7, 'V'), + (0xE8, 'V'), + (0xE9, 'V'), + (0xEA, 'V'), + (0xEB, 'V'), + (0xEC, 'V'), + (0xED, 'V'), + (0xEE, 'V'), + (0xEF, 'V'), + (0xF0, 'V'), + (0xF1, 'V'), + (0xF2, 'V'), + (0xF3, 'V'), + (0xF4, 'V'), + (0xF5, 'V'), + (0xF6, 'V'), + (0xF7, 'V'), + (0xF8, 'V'), + (0xF9, 'V'), + (0xFA, 'V'), + (0xFB, 'V'), + (0xFC, 'V'), + (0xFD, 'V'), + (0xFE, 'V'), + (0xFF, 'V'), + (0x100, 'M', u'ā'), + (0x101, 'V'), + (0x102, 'M', u'ă'), + (0x103, 'V'), + (0x104, 'M', u'ą'), + (0x105, 'V'), + (0x106, 'M', u'ć'), + (0x107, 'V'), + (0x108, 'M', u'ĉ'), + (0x109, 'V'), + (0x10A, 'M', u'ċ'), + (0x10B, 'V'), + (0x10C, 'M', u'č'), + (0x10D, 'V'), + (0x10E, 'M', u'ď'), + (0x10F, 'V'), + (0x110, 'M', u'đ'), + (0x111, 'V'), + (0x112, 'M', u'ē'), + (0x113, 'V'), + (0x114, 'M', u'ĕ'), + (0x115, 'V'), + (0x116, 'M', u'ė'), + (0x117, 'V'), + (0x118, 'M', u'ę'), + (0x119, 'V'), + (0x11A, 'M', u'ě'), + (0x11B, 'V'), + (0x11C, 'M', u'ĝ'), + (0x11D, 'V'), + (0x11E, 'M', u'ğ'), + (0x11F, 'V'), + (0x120, 'M', u'ġ'), + (0x121, 'V'), + (0x122, 'M', u'ģ'), + (0x123, 'V'), + (0x124, 'M', u'ĥ'), + (0x125, 'V'), + (0x126, 'M', u'ħ'), + (0x127, 'V'), + (0x128, 'M', u'ĩ'), + (0x129, 'V'), + (0x12A, 'M', u'ī'), + (0x12B, 'V'), + ] + +def _seg_3(): + return [ + (0x12C, 'M', u'ĭ'), + (0x12D, 'V'), + (0x12E, 'M', u'į'), + (0x12F, 'V'), + (0x130, 'M', u'i̇'), + (0x131, 'V'), + (0x132, 'M', u'ij'), + (0x134, 'M', u'ĵ'), + (0x135, 'V'), + (0x136, 'M', u'ķ'), + (0x137, 'V'), + (0x139, 'M', u'ĺ'), + (0x13A, 'V'), + (0x13B, 'M', u'ļ'), + (0x13C, 'V'), + (0x13D, 'M', u'ľ'), + (0x13E, 'V'), + (0x13F, 'M', u'l·'), + (0x141, 'M', u'ł'), + (0x142, 'V'), + (0x143, 'M', u'ń'), + (0x144, 'V'), + (0x145, 'M', u'ņ'), + (0x146, 'V'), + (0x147, 'M', u'ň'), + (0x148, 'V'), + (0x149, 'M', u'ʼn'), + (0x14A, 'M', u'ŋ'), + (0x14B, 'V'), + (0x14C, 'M', u'ō'), + (0x14D, 'V'), + (0x14E, 'M', u'ŏ'), + (0x14F, 'V'), + (0x150, 'M', u'ő'), + (0x151, 'V'), + (0x152, 'M', u'œ'), + (0x153, 'V'), + (0x154, 'M', u'ŕ'), + (0x155, 'V'), + (0x156, 'M', u'ŗ'), + (0x157, 'V'), + (0x158, 'M', u'ř'), + (0x159, 'V'), + (0x15A, 'M', u'ś'), + (0x15B, 'V'), + (0x15C, 'M', u'ŝ'), + (0x15D, 'V'), + (0x15E, 'M', u'ş'), + (0x15F, 'V'), + (0x160, 'M', u'š'), + (0x161, 'V'), + (0x162, 'M', u'ţ'), + (0x163, 'V'), + (0x164, 'M', u'ť'), + (0x165, 'V'), + (0x166, 'M', u'ŧ'), + (0x167, 'V'), + (0x168, 'M', u'ũ'), + (0x169, 'V'), + (0x16A, 'M', u'ū'), + (0x16B, 'V'), + (0x16C, 'M', u'ŭ'), + (0x16D, 'V'), + (0x16E, 'M', u'ů'), + (0x16F, 'V'), + (0x170, 'M', u'ű'), + (0x171, 'V'), + (0x172, 'M', u'ų'), + (0x173, 'V'), + (0x174, 'M', u'ŵ'), + (0x175, 'V'), + (0x176, 'M', u'ŷ'), + (0x177, 'V'), + (0x178, 'M', u'ÿ'), + (0x179, 'M', u'ź'), + (0x17A, 'V'), + (0x17B, 'M', u'ż'), + (0x17C, 'V'), + (0x17D, 'M', u'ž'), + (0x17E, 'V'), + (0x17F, 'M', u's'), + (0x180, 'V'), + (0x181, 'M', u'ɓ'), + (0x182, 'M', u'ƃ'), + (0x183, 'V'), + (0x184, 'M', u'ƅ'), + (0x185, 'V'), + (0x186, 'M', u'ɔ'), + (0x187, 'M', u'ƈ'), + (0x188, 'V'), + (0x189, 'M', u'ɖ'), + (0x18A, 'M', u'ɗ'), + (0x18B, 'M', u'ƌ'), + (0x18C, 'V'), + (0x18E, 'M', u'ǝ'), + (0x18F, 'M', u'ə'), + (0x190, 'M', u'ɛ'), + (0x191, 'M', u'ƒ'), + (0x192, 'V'), + (0x193, 'M', u'ɠ'), + ] + +def _seg_4(): + return [ + (0x194, 'M', u'ɣ'), + (0x195, 'V'), + (0x196, 'M', u'ɩ'), + (0x197, 'M', u'ɨ'), + (0x198, 'M', u'ƙ'), + (0x199, 'V'), + (0x19C, 'M', u'ɯ'), + (0x19D, 'M', u'ɲ'), + (0x19E, 'V'), + (0x19F, 'M', u'ɵ'), + (0x1A0, 'M', u'ơ'), + (0x1A1, 'V'), + (0x1A2, 'M', u'ƣ'), + (0x1A3, 'V'), + (0x1A4, 'M', u'ƥ'), + (0x1A5, 'V'), + (0x1A6, 'M', u'ʀ'), + (0x1A7, 'M', u'ƨ'), + (0x1A8, 'V'), + (0x1A9, 'M', u'ʃ'), + (0x1AA, 'V'), + (0x1AC, 'M', u'ƭ'), + (0x1AD, 'V'), + (0x1AE, 'M', u'ʈ'), + (0x1AF, 'M', u'ư'), + (0x1B0, 'V'), + (0x1B1, 'M', u'ʊ'), + (0x1B2, 'M', u'ʋ'), + (0x1B3, 'M', u'ƴ'), + (0x1B4, 'V'), + (0x1B5, 'M', u'ƶ'), + (0x1B6, 'V'), + (0x1B7, 'M', u'ʒ'), + (0x1B8, 'M', u'ƹ'), + (0x1B9, 'V'), + (0x1BC, 'M', u'ƽ'), + (0x1BD, 'V'), + (0x1C4, 'M', u'dž'), + (0x1C7, 'M', u'lj'), + (0x1CA, 'M', u'nj'), + (0x1CD, 'M', u'ǎ'), + (0x1CE, 'V'), + (0x1CF, 'M', u'ǐ'), + (0x1D0, 'V'), + (0x1D1, 'M', u'ǒ'), + (0x1D2, 'V'), + (0x1D3, 'M', u'ǔ'), + (0x1D4, 'V'), + (0x1D5, 'M', u'ǖ'), + (0x1D6, 'V'), + (0x1D7, 'M', u'ǘ'), + (0x1D8, 'V'), + (0x1D9, 'M', u'ǚ'), + (0x1DA, 'V'), + (0x1DB, 'M', u'ǜ'), + (0x1DC, 'V'), + (0x1DE, 'M', u'ǟ'), + (0x1DF, 'V'), + (0x1E0, 'M', u'ǡ'), + (0x1E1, 'V'), + (0x1E2, 'M', u'ǣ'), + (0x1E3, 'V'), + (0x1E4, 'M', u'ǥ'), + (0x1E5, 'V'), + (0x1E6, 'M', u'ǧ'), + (0x1E7, 'V'), + (0x1E8, 'M', u'ǩ'), + (0x1E9, 'V'), + (0x1EA, 'M', u'ǫ'), + (0x1EB, 'V'), + (0x1EC, 'M', u'ǭ'), + (0x1ED, 'V'), + (0x1EE, 'M', u'ǯ'), + (0x1EF, 'V'), + (0x1F1, 'M', u'dz'), + (0x1F4, 'M', u'ǵ'), + (0x1F5, 'V'), + (0x1F6, 'M', u'ƕ'), + (0x1F7, 'M', u'ƿ'), + (0x1F8, 'M', u'ǹ'), + (0x1F9, 'V'), + (0x1FA, 'M', u'ǻ'), + (0x1FB, 'V'), + (0x1FC, 'M', u'ǽ'), + (0x1FD, 'V'), + (0x1FE, 'M', u'ǿ'), + (0x1FF, 'V'), + (0x200, 'M', u'ȁ'), + (0x201, 'V'), + (0x202, 'M', u'ȃ'), + (0x203, 'V'), + (0x204, 'M', u'ȅ'), + (0x205, 'V'), + (0x206, 'M', u'ȇ'), + (0x207, 'V'), + (0x208, 'M', u'ȉ'), + (0x209, 'V'), + (0x20A, 'M', u'ȋ'), + (0x20B, 'V'), + (0x20C, 'M', u'ȍ'), + ] + +def _seg_5(): + return [ + (0x20D, 'V'), + (0x20E, 'M', u'ȏ'), + (0x20F, 'V'), + (0x210, 'M', u'ȑ'), + (0x211, 'V'), + (0x212, 'M', u'ȓ'), + (0x213, 'V'), + (0x214, 'M', u'ȕ'), + (0x215, 'V'), + (0x216, 'M', u'ȗ'), + (0x217, 'V'), + (0x218, 'M', u'ș'), + (0x219, 'V'), + (0x21A, 'M', u'ț'), + (0x21B, 'V'), + (0x21C, 'M', u'ȝ'), + (0x21D, 'V'), + (0x21E, 'M', u'ȟ'), + (0x21F, 'V'), + (0x220, 'M', u'ƞ'), + (0x221, 'V'), + (0x222, 'M', u'ȣ'), + (0x223, 'V'), + (0x224, 'M', u'ȥ'), + (0x225, 'V'), + (0x226, 'M', u'ȧ'), + (0x227, 'V'), + (0x228, 'M', u'ȩ'), + (0x229, 'V'), + (0x22A, 'M', u'ȫ'), + (0x22B, 'V'), + (0x22C, 'M', u'ȭ'), + (0x22D, 'V'), + (0x22E, 'M', u'ȯ'), + (0x22F, 'V'), + (0x230, 'M', u'ȱ'), + (0x231, 'V'), + (0x232, 'M', u'ȳ'), + (0x233, 'V'), + (0x23A, 'M', u'ⱥ'), + (0x23B, 'M', u'ȼ'), + (0x23C, 'V'), + (0x23D, 'M', u'ƚ'), + (0x23E, 'M', u'ⱦ'), + (0x23F, 'V'), + (0x241, 'M', u'ɂ'), + (0x242, 'V'), + (0x243, 'M', u'ƀ'), + (0x244, 'M', u'ʉ'), + (0x245, 'M', u'ʌ'), + (0x246, 'M', u'ɇ'), + (0x247, 'V'), + (0x248, 'M', u'ɉ'), + (0x249, 'V'), + (0x24A, 'M', u'ɋ'), + (0x24B, 'V'), + (0x24C, 'M', u'ɍ'), + (0x24D, 'V'), + (0x24E, 'M', u'ɏ'), + (0x24F, 'V'), + (0x2B0, 'M', u'h'), + (0x2B1, 'M', u'ɦ'), + (0x2B2, 'M', u'j'), + (0x2B3, 'M', u'r'), + (0x2B4, 'M', u'ɹ'), + (0x2B5, 'M', u'ɻ'), + (0x2B6, 'M', u'ʁ'), + (0x2B7, 'M', u'w'), + (0x2B8, 'M', u'y'), + (0x2B9, 'V'), + (0x2D8, '3', u' ̆'), + (0x2D9, '3', u' ̇'), + (0x2DA, '3', u' ̊'), + (0x2DB, '3', u' ̨'), + (0x2DC, '3', u' ̃'), + (0x2DD, '3', u' ̋'), + (0x2DE, 'V'), + (0x2E0, 'M', u'ɣ'), + (0x2E1, 'M', u'l'), + (0x2E2, 'M', u's'), + (0x2E3, 'M', u'x'), + (0x2E4, 'M', u'ʕ'), + (0x2E5, 'V'), + (0x340, 'M', u'̀'), + (0x341, 'M', u'́'), + (0x342, 'V'), + (0x343, 'M', u'̓'), + (0x344, 'M', u'̈́'), + (0x345, 'M', u'ι'), + (0x346, 'V'), + (0x34F, 'I'), + (0x350, 'V'), + (0x370, 'M', u'ͱ'), + (0x371, 'V'), + (0x372, 'M', u'ͳ'), + (0x373, 'V'), + (0x374, 'M', u'ʹ'), + (0x375, 'V'), + (0x376, 'M', u'ͷ'), + (0x377, 'V'), + ] + +def _seg_6(): + return [ + (0x378, 'X'), + (0x37A, '3', u' ι'), + (0x37B, 'V'), + (0x37E, '3', u';'), + (0x37F, 'M', u'ϳ'), + (0x380, 'X'), + (0x384, '3', u' ́'), + (0x385, '3', u' ̈́'), + (0x386, 'M', u'ά'), + (0x387, 'M', u'·'), + (0x388, 'M', u'έ'), + (0x389, 'M', u'ή'), + (0x38A, 'M', u'ί'), + (0x38B, 'X'), + (0x38C, 'M', u'ό'), + (0x38D, 'X'), + (0x38E, 'M', u'ύ'), + (0x38F, 'M', u'ώ'), + (0x390, 'V'), + (0x391, 'M', u'α'), + (0x392, 'M', u'β'), + (0x393, 'M', u'γ'), + (0x394, 'M', u'δ'), + (0x395, 'M', u'ε'), + (0x396, 'M', u'ζ'), + (0x397, 'M', u'η'), + (0x398, 'M', u'θ'), + (0x399, 'M', u'ι'), + (0x39A, 'M', u'κ'), + (0x39B, 'M', u'λ'), + (0x39C, 'M', u'μ'), + (0x39D, 'M', u'ν'), + (0x39E, 'M', u'ξ'), + (0x39F, 'M', u'ο'), + (0x3A0, 'M', u'π'), + (0x3A1, 'M', u'ρ'), + (0x3A2, 'X'), + (0x3A3, 'M', u'σ'), + (0x3A4, 'M', u'τ'), + (0x3A5, 'M', u'υ'), + (0x3A6, 'M', u'φ'), + (0x3A7, 'M', u'χ'), + (0x3A8, 'M', u'ψ'), + (0x3A9, 'M', u'ω'), + (0x3AA, 'M', u'ϊ'), + (0x3AB, 'M', u'ϋ'), + (0x3AC, 'V'), + (0x3C2, 'D', u'σ'), + (0x3C3, 'V'), + (0x3CF, 'M', u'ϗ'), + (0x3D0, 'M', u'β'), + (0x3D1, 'M', u'θ'), + (0x3D2, 'M', u'υ'), + (0x3D3, 'M', u'ύ'), + (0x3D4, 'M', u'ϋ'), + (0x3D5, 'M', u'φ'), + (0x3D6, 'M', u'π'), + (0x3D7, 'V'), + (0x3D8, 'M', u'ϙ'), + (0x3D9, 'V'), + (0x3DA, 'M', u'ϛ'), + (0x3DB, 'V'), + (0x3DC, 'M', u'ϝ'), + (0x3DD, 'V'), + (0x3DE, 'M', u'ϟ'), + (0x3DF, 'V'), + (0x3E0, 'M', u'ϡ'), + (0x3E1, 'V'), + (0x3E2, 'M', u'ϣ'), + (0x3E3, 'V'), + (0x3E4, 'M', u'ϥ'), + (0x3E5, 'V'), + (0x3E6, 'M', u'ϧ'), + (0x3E7, 'V'), + (0x3E8, 'M', u'ϩ'), + (0x3E9, 'V'), + (0x3EA, 'M', u'ϫ'), + (0x3EB, 'V'), + (0x3EC, 'M', u'ϭ'), + (0x3ED, 'V'), + (0x3EE, 'M', u'ϯ'), + (0x3EF, 'V'), + (0x3F0, 'M', u'κ'), + (0x3F1, 'M', u'ρ'), + (0x3F2, 'M', u'σ'), + (0x3F3, 'V'), + (0x3F4, 'M', u'θ'), + (0x3F5, 'M', u'ε'), + (0x3F6, 'V'), + (0x3F7, 'M', u'ϸ'), + (0x3F8, 'V'), + (0x3F9, 'M', u'σ'), + (0x3FA, 'M', u'ϻ'), + (0x3FB, 'V'), + (0x3FD, 'M', u'ͻ'), + (0x3FE, 'M', u'ͼ'), + (0x3FF, 'M', u'ͽ'), + (0x400, 'M', u'ѐ'), + (0x401, 'M', u'ё'), + (0x402, 'M', u'ђ'), + ] + +def _seg_7(): + return [ + (0x403, 'M', u'ѓ'), + (0x404, 'M', u'є'), + (0x405, 'M', u'ѕ'), + (0x406, 'M', u'і'), + (0x407, 'M', u'ї'), + (0x408, 'M', u'ј'), + (0x409, 'M', u'љ'), + (0x40A, 'M', u'њ'), + (0x40B, 'M', u'ћ'), + (0x40C, 'M', u'ќ'), + (0x40D, 'M', u'ѝ'), + (0x40E, 'M', u'ў'), + (0x40F, 'M', u'џ'), + (0x410, 'M', u'а'), + (0x411, 'M', u'б'), + (0x412, 'M', u'в'), + (0x413, 'M', u'г'), + (0x414, 'M', u'д'), + (0x415, 'M', u'е'), + (0x416, 'M', u'ж'), + (0x417, 'M', u'з'), + (0x418, 'M', u'и'), + (0x419, 'M', u'й'), + (0x41A, 'M', u'к'), + (0x41B, 'M', u'л'), + (0x41C, 'M', u'м'), + (0x41D, 'M', u'н'), + (0x41E, 'M', u'о'), + (0x41F, 'M', u'п'), + (0x420, 'M', u'р'), + (0x421, 'M', u'с'), + (0x422, 'M', u'т'), + (0x423, 'M', u'у'), + (0x424, 'M', u'ф'), + (0x425, 'M', u'х'), + (0x426, 'M', u'ц'), + (0x427, 'M', u'ч'), + (0x428, 'M', u'ш'), + (0x429, 'M', u'щ'), + (0x42A, 'M', u'ъ'), + (0x42B, 'M', u'ы'), + (0x42C, 'M', u'ь'), + (0x42D, 'M', u'э'), + (0x42E, 'M', u'ю'), + (0x42F, 'M', u'я'), + (0x430, 'V'), + (0x460, 'M', u'ѡ'), + (0x461, 'V'), + (0x462, 'M', u'ѣ'), + (0x463, 'V'), + (0x464, 'M', u'ѥ'), + (0x465, 'V'), + (0x466, 'M', u'ѧ'), + (0x467, 'V'), + (0x468, 'M', u'ѩ'), + (0x469, 'V'), + (0x46A, 'M', u'ѫ'), + (0x46B, 'V'), + (0x46C, 'M', u'ѭ'), + (0x46D, 'V'), + (0x46E, 'M', u'ѯ'), + (0x46F, 'V'), + (0x470, 'M', u'ѱ'), + (0x471, 'V'), + (0x472, 'M', u'ѳ'), + (0x473, 'V'), + (0x474, 'M', u'ѵ'), + (0x475, 'V'), + (0x476, 'M', u'ѷ'), + (0x477, 'V'), + (0x478, 'M', u'ѹ'), + (0x479, 'V'), + (0x47A, 'M', u'ѻ'), + (0x47B, 'V'), + (0x47C, 'M', u'ѽ'), + (0x47D, 'V'), + (0x47E, 'M', u'ѿ'), + (0x47F, 'V'), + (0x480, 'M', u'ҁ'), + (0x481, 'V'), + (0x48A, 'M', u'ҋ'), + (0x48B, 'V'), + (0x48C, 'M', u'ҍ'), + (0x48D, 'V'), + (0x48E, 'M', u'ҏ'), + (0x48F, 'V'), + (0x490, 'M', u'ґ'), + (0x491, 'V'), + (0x492, 'M', u'ғ'), + (0x493, 'V'), + (0x494, 'M', u'ҕ'), + (0x495, 'V'), + (0x496, 'M', u'җ'), + (0x497, 'V'), + (0x498, 'M', u'ҙ'), + (0x499, 'V'), + (0x49A, 'M', u'қ'), + (0x49B, 'V'), + (0x49C, 'M', u'ҝ'), + (0x49D, 'V'), + ] + +def _seg_8(): + return [ + (0x49E, 'M', u'ҟ'), + (0x49F, 'V'), + (0x4A0, 'M', u'ҡ'), + (0x4A1, 'V'), + (0x4A2, 'M', u'ң'), + (0x4A3, 'V'), + (0x4A4, 'M', u'ҥ'), + (0x4A5, 'V'), + (0x4A6, 'M', u'ҧ'), + (0x4A7, 'V'), + (0x4A8, 'M', u'ҩ'), + (0x4A9, 'V'), + (0x4AA, 'M', u'ҫ'), + (0x4AB, 'V'), + (0x4AC, 'M', u'ҭ'), + (0x4AD, 'V'), + (0x4AE, 'M', u'ү'), + (0x4AF, 'V'), + (0x4B0, 'M', u'ұ'), + (0x4B1, 'V'), + (0x4B2, 'M', u'ҳ'), + (0x4B3, 'V'), + (0x4B4, 'M', u'ҵ'), + (0x4B5, 'V'), + (0x4B6, 'M', u'ҷ'), + (0x4B7, 'V'), + (0x4B8, 'M', u'ҹ'), + (0x4B9, 'V'), + (0x4BA, 'M', u'һ'), + (0x4BB, 'V'), + (0x4BC, 'M', u'ҽ'), + (0x4BD, 'V'), + (0x4BE, 'M', u'ҿ'), + (0x4BF, 'V'), + (0x4C0, 'X'), + (0x4C1, 'M', u'ӂ'), + (0x4C2, 'V'), + (0x4C3, 'M', u'ӄ'), + (0x4C4, 'V'), + (0x4C5, 'M', u'ӆ'), + (0x4C6, 'V'), + (0x4C7, 'M', u'ӈ'), + (0x4C8, 'V'), + (0x4C9, 'M', u'ӊ'), + (0x4CA, 'V'), + (0x4CB, 'M', u'ӌ'), + (0x4CC, 'V'), + (0x4CD, 'M', u'ӎ'), + (0x4CE, 'V'), + (0x4D0, 'M', u'ӑ'), + (0x4D1, 'V'), + (0x4D2, 'M', u'ӓ'), + (0x4D3, 'V'), + (0x4D4, 'M', u'ӕ'), + (0x4D5, 'V'), + (0x4D6, 'M', u'ӗ'), + (0x4D7, 'V'), + (0x4D8, 'M', u'ә'), + (0x4D9, 'V'), + (0x4DA, 'M', u'ӛ'), + (0x4DB, 'V'), + (0x4DC, 'M', u'ӝ'), + (0x4DD, 'V'), + (0x4DE, 'M', u'ӟ'), + (0x4DF, 'V'), + (0x4E0, 'M', u'ӡ'), + (0x4E1, 'V'), + (0x4E2, 'M', u'ӣ'), + (0x4E3, 'V'), + (0x4E4, 'M', u'ӥ'), + (0x4E5, 'V'), + (0x4E6, 'M', u'ӧ'), + (0x4E7, 'V'), + (0x4E8, 'M', u'ө'), + (0x4E9, 'V'), + (0x4EA, 'M', u'ӫ'), + (0x4EB, 'V'), + (0x4EC, 'M', u'ӭ'), + (0x4ED, 'V'), + (0x4EE, 'M', u'ӯ'), + (0x4EF, 'V'), + (0x4F0, 'M', u'ӱ'), + (0x4F1, 'V'), + (0x4F2, 'M', u'ӳ'), + (0x4F3, 'V'), + (0x4F4, 'M', u'ӵ'), + (0x4F5, 'V'), + (0x4F6, 'M', u'ӷ'), + (0x4F7, 'V'), + (0x4F8, 'M', u'ӹ'), + (0x4F9, 'V'), + (0x4FA, 'M', u'ӻ'), + (0x4FB, 'V'), + (0x4FC, 'M', u'ӽ'), + (0x4FD, 'V'), + (0x4FE, 'M', u'ӿ'), + (0x4FF, 'V'), + (0x500, 'M', u'ԁ'), + (0x501, 'V'), + (0x502, 'M', u'ԃ'), + ] + +def _seg_9(): + return [ + (0x503, 'V'), + (0x504, 'M', u'ԅ'), + (0x505, 'V'), + (0x506, 'M', u'ԇ'), + (0x507, 'V'), + (0x508, 'M', u'ԉ'), + (0x509, 'V'), + (0x50A, 'M', u'ԋ'), + (0x50B, 'V'), + (0x50C, 'M', u'ԍ'), + (0x50D, 'V'), + (0x50E, 'M', u'ԏ'), + (0x50F, 'V'), + (0x510, 'M', u'ԑ'), + (0x511, 'V'), + (0x512, 'M', u'ԓ'), + (0x513, 'V'), + (0x514, 'M', u'ԕ'), + (0x515, 'V'), + (0x516, 'M', u'ԗ'), + (0x517, 'V'), + (0x518, 'M', u'ԙ'), + (0x519, 'V'), + (0x51A, 'M', u'ԛ'), + (0x51B, 'V'), + (0x51C, 'M', u'ԝ'), + (0x51D, 'V'), + (0x51E, 'M', u'ԟ'), + (0x51F, 'V'), + (0x520, 'M', u'ԡ'), + (0x521, 'V'), + (0x522, 'M', u'ԣ'), + (0x523, 'V'), + (0x524, 'M', u'ԥ'), + (0x525, 'V'), + (0x526, 'M', u'ԧ'), + (0x527, 'V'), + (0x528, 'M', u'ԩ'), + (0x529, 'V'), + (0x52A, 'M', u'ԫ'), + (0x52B, 'V'), + (0x52C, 'M', u'ԭ'), + (0x52D, 'V'), + (0x52E, 'M', u'ԯ'), + (0x52F, 'V'), + (0x530, 'X'), + (0x531, 'M', u'ա'), + (0x532, 'M', u'բ'), + (0x533, 'M', u'գ'), + (0x534, 'M', u'դ'), + (0x535, 'M', u'ե'), + (0x536, 'M', u'զ'), + (0x537, 'M', u'է'), + (0x538, 'M', u'ը'), + (0x539, 'M', u'թ'), + (0x53A, 'M', u'ժ'), + (0x53B, 'M', u'ի'), + (0x53C, 'M', u'լ'), + (0x53D, 'M', u'խ'), + (0x53E, 'M', u'ծ'), + (0x53F, 'M', u'կ'), + (0x540, 'M', u'հ'), + (0x541, 'M', u'ձ'), + (0x542, 'M', u'ղ'), + (0x543, 'M', u'ճ'), + (0x544, 'M', u'մ'), + (0x545, 'M', u'յ'), + (0x546, 'M', u'ն'), + (0x547, 'M', u'շ'), + (0x548, 'M', u'ո'), + (0x549, 'M', u'չ'), + (0x54A, 'M', u'պ'), + (0x54B, 'M', u'ջ'), + (0x54C, 'M', u'ռ'), + (0x54D, 'M', u'ս'), + (0x54E, 'M', u'վ'), + (0x54F, 'M', u'տ'), + (0x550, 'M', u'ր'), + (0x551, 'M', u'ց'), + (0x552, 'M', u'ւ'), + (0x553, 'M', u'փ'), + (0x554, 'M', u'ք'), + (0x555, 'M', u'օ'), + (0x556, 'M', u'ֆ'), + (0x557, 'X'), + (0x559, 'V'), + (0x587, 'M', u'եւ'), + (0x588, 'V'), + (0x58B, 'X'), + (0x58D, 'V'), + (0x590, 'X'), + (0x591, 'V'), + (0x5C8, 'X'), + (0x5D0, 'V'), + (0x5EB, 'X'), + (0x5EF, 'V'), + (0x5F5, 'X'), + (0x606, 'V'), + (0x61C, 'X'), + (0x61E, 'V'), + ] + +def _seg_10(): + return [ + (0x675, 'M', u'اٴ'), + (0x676, 'M', u'وٴ'), + (0x677, 'M', u'ۇٴ'), + (0x678, 'M', u'يٴ'), + (0x679, 'V'), + (0x6DD, 'X'), + (0x6DE, 'V'), + (0x70E, 'X'), + (0x710, 'V'), + (0x74B, 'X'), + (0x74D, 'V'), + (0x7B2, 'X'), + (0x7C0, 'V'), + (0x7FB, 'X'), + (0x7FD, 'V'), + (0x82E, 'X'), + (0x830, 'V'), + (0x83F, 'X'), + (0x840, 'V'), + (0x85C, 'X'), + (0x85E, 'V'), + (0x85F, 'X'), + (0x860, 'V'), + (0x86B, 'X'), + (0x8A0, 'V'), + (0x8B5, 'X'), + (0x8B6, 'V'), + (0x8BE, 'X'), + (0x8D3, 'V'), + (0x8E2, 'X'), + (0x8E3, 'V'), + (0x958, 'M', u'क़'), + (0x959, 'M', u'ख़'), + (0x95A, 'M', u'ग़'), + (0x95B, 'M', u'ज़'), + (0x95C, 'M', u'ड़'), + (0x95D, 'M', u'ढ़'), + (0x95E, 'M', u'फ़'), + (0x95F, 'M', u'य़'), + (0x960, 'V'), + (0x984, 'X'), + (0x985, 'V'), + (0x98D, 'X'), + (0x98F, 'V'), + (0x991, 'X'), + (0x993, 'V'), + (0x9A9, 'X'), + (0x9AA, 'V'), + (0x9B1, 'X'), + (0x9B2, 'V'), + (0x9B3, 'X'), + (0x9B6, 'V'), + (0x9BA, 'X'), + (0x9BC, 'V'), + (0x9C5, 'X'), + (0x9C7, 'V'), + (0x9C9, 'X'), + (0x9CB, 'V'), + (0x9CF, 'X'), + (0x9D7, 'V'), + (0x9D8, 'X'), + (0x9DC, 'M', u'ড়'), + (0x9DD, 'M', u'ঢ়'), + (0x9DE, 'X'), + (0x9DF, 'M', u'য়'), + (0x9E0, 'V'), + (0x9E4, 'X'), + (0x9E6, 'V'), + (0x9FF, 'X'), + (0xA01, 'V'), + (0xA04, 'X'), + (0xA05, 'V'), + (0xA0B, 'X'), + (0xA0F, 'V'), + (0xA11, 'X'), + (0xA13, 'V'), + (0xA29, 'X'), + (0xA2A, 'V'), + (0xA31, 'X'), + (0xA32, 'V'), + (0xA33, 'M', u'ਲ਼'), + (0xA34, 'X'), + (0xA35, 'V'), + (0xA36, 'M', u'ਸ਼'), + (0xA37, 'X'), + (0xA38, 'V'), + (0xA3A, 'X'), + (0xA3C, 'V'), + (0xA3D, 'X'), + (0xA3E, 'V'), + (0xA43, 'X'), + (0xA47, 'V'), + (0xA49, 'X'), + (0xA4B, 'V'), + (0xA4E, 'X'), + (0xA51, 'V'), + (0xA52, 'X'), + (0xA59, 'M', u'ਖ਼'), + (0xA5A, 'M', u'ਗ਼'), + (0xA5B, 'M', u'ਜ਼'), + ] + +def _seg_11(): + return [ + (0xA5C, 'V'), + (0xA5D, 'X'), + (0xA5E, 'M', u'ਫ਼'), + (0xA5F, 'X'), + (0xA66, 'V'), + (0xA77, 'X'), + (0xA81, 'V'), + (0xA84, 'X'), + (0xA85, 'V'), + (0xA8E, 'X'), + (0xA8F, 'V'), + (0xA92, 'X'), + (0xA93, 'V'), + (0xAA9, 'X'), + (0xAAA, 'V'), + (0xAB1, 'X'), + (0xAB2, 'V'), + (0xAB4, 'X'), + (0xAB5, 'V'), + (0xABA, 'X'), + (0xABC, 'V'), + (0xAC6, 'X'), + (0xAC7, 'V'), + (0xACA, 'X'), + (0xACB, 'V'), + (0xACE, 'X'), + (0xAD0, 'V'), + (0xAD1, 'X'), + (0xAE0, 'V'), + (0xAE4, 'X'), + (0xAE6, 'V'), + (0xAF2, 'X'), + (0xAF9, 'V'), + (0xB00, 'X'), + (0xB01, 'V'), + (0xB04, 'X'), + (0xB05, 'V'), + (0xB0D, 'X'), + (0xB0F, 'V'), + (0xB11, 'X'), + (0xB13, 'V'), + (0xB29, 'X'), + (0xB2A, 'V'), + (0xB31, 'X'), + (0xB32, 'V'), + (0xB34, 'X'), + (0xB35, 'V'), + (0xB3A, 'X'), + (0xB3C, 'V'), + (0xB45, 'X'), + (0xB47, 'V'), + (0xB49, 'X'), + (0xB4B, 'V'), + (0xB4E, 'X'), + (0xB56, 'V'), + (0xB58, 'X'), + (0xB5C, 'M', u'ଡ଼'), + (0xB5D, 'M', u'ଢ଼'), + (0xB5E, 'X'), + (0xB5F, 'V'), + (0xB64, 'X'), + (0xB66, 'V'), + (0xB78, 'X'), + (0xB82, 'V'), + (0xB84, 'X'), + (0xB85, 'V'), + (0xB8B, 'X'), + (0xB8E, 'V'), + (0xB91, 'X'), + (0xB92, 'V'), + (0xB96, 'X'), + (0xB99, 'V'), + (0xB9B, 'X'), + (0xB9C, 'V'), + (0xB9D, 'X'), + (0xB9E, 'V'), + (0xBA0, 'X'), + (0xBA3, 'V'), + (0xBA5, 'X'), + (0xBA8, 'V'), + (0xBAB, 'X'), + (0xBAE, 'V'), + (0xBBA, 'X'), + (0xBBE, 'V'), + (0xBC3, 'X'), + (0xBC6, 'V'), + (0xBC9, 'X'), + (0xBCA, 'V'), + (0xBCE, 'X'), + (0xBD0, 'V'), + (0xBD1, 'X'), + (0xBD7, 'V'), + (0xBD8, 'X'), + (0xBE6, 'V'), + (0xBFB, 'X'), + (0xC00, 'V'), + (0xC0D, 'X'), + (0xC0E, 'V'), + (0xC11, 'X'), + (0xC12, 'V'), + ] + +def _seg_12(): + return [ + (0xC29, 'X'), + (0xC2A, 'V'), + (0xC3A, 'X'), + (0xC3D, 'V'), + (0xC45, 'X'), + (0xC46, 'V'), + (0xC49, 'X'), + (0xC4A, 'V'), + (0xC4E, 'X'), + (0xC55, 'V'), + (0xC57, 'X'), + (0xC58, 'V'), + (0xC5B, 'X'), + (0xC60, 'V'), + (0xC64, 'X'), + (0xC66, 'V'), + (0xC70, 'X'), + (0xC78, 'V'), + (0xC8D, 'X'), + (0xC8E, 'V'), + (0xC91, 'X'), + (0xC92, 'V'), + (0xCA9, 'X'), + (0xCAA, 'V'), + (0xCB4, 'X'), + (0xCB5, 'V'), + (0xCBA, 'X'), + (0xCBC, 'V'), + (0xCC5, 'X'), + (0xCC6, 'V'), + (0xCC9, 'X'), + (0xCCA, 'V'), + (0xCCE, 'X'), + (0xCD5, 'V'), + (0xCD7, 'X'), + (0xCDE, 'V'), + (0xCDF, 'X'), + (0xCE0, 'V'), + (0xCE4, 'X'), + (0xCE6, 'V'), + (0xCF0, 'X'), + (0xCF1, 'V'), + (0xCF3, 'X'), + (0xD00, 'V'), + (0xD04, 'X'), + (0xD05, 'V'), + (0xD0D, 'X'), + (0xD0E, 'V'), + (0xD11, 'X'), + (0xD12, 'V'), + (0xD45, 'X'), + (0xD46, 'V'), + (0xD49, 'X'), + (0xD4A, 'V'), + (0xD50, 'X'), + (0xD54, 'V'), + (0xD64, 'X'), + (0xD66, 'V'), + (0xD80, 'X'), + (0xD82, 'V'), + (0xD84, 'X'), + (0xD85, 'V'), + (0xD97, 'X'), + (0xD9A, 'V'), + (0xDB2, 'X'), + (0xDB3, 'V'), + (0xDBC, 'X'), + (0xDBD, 'V'), + (0xDBE, 'X'), + (0xDC0, 'V'), + (0xDC7, 'X'), + (0xDCA, 'V'), + (0xDCB, 'X'), + (0xDCF, 'V'), + (0xDD5, 'X'), + (0xDD6, 'V'), + (0xDD7, 'X'), + (0xDD8, 'V'), + (0xDE0, 'X'), + (0xDE6, 'V'), + (0xDF0, 'X'), + (0xDF2, 'V'), + (0xDF5, 'X'), + (0xE01, 'V'), + (0xE33, 'M', u'ํา'), + (0xE34, 'V'), + (0xE3B, 'X'), + (0xE3F, 'V'), + (0xE5C, 'X'), + (0xE81, 'V'), + (0xE83, 'X'), + (0xE84, 'V'), + (0xE85, 'X'), + (0xE87, 'V'), + (0xE89, 'X'), + (0xE8A, 'V'), + (0xE8B, 'X'), + (0xE8D, 'V'), + (0xE8E, 'X'), + (0xE94, 'V'), + ] + +def _seg_13(): + return [ + (0xE98, 'X'), + (0xE99, 'V'), + (0xEA0, 'X'), + (0xEA1, 'V'), + (0xEA4, 'X'), + (0xEA5, 'V'), + (0xEA6, 'X'), + (0xEA7, 'V'), + (0xEA8, 'X'), + (0xEAA, 'V'), + (0xEAC, 'X'), + (0xEAD, 'V'), + (0xEB3, 'M', u'ໍາ'), + (0xEB4, 'V'), + (0xEBA, 'X'), + (0xEBB, 'V'), + (0xEBE, 'X'), + (0xEC0, 'V'), + (0xEC5, 'X'), + (0xEC6, 'V'), + (0xEC7, 'X'), + (0xEC8, 'V'), + (0xECE, 'X'), + (0xED0, 'V'), + (0xEDA, 'X'), + (0xEDC, 'M', u'ຫນ'), + (0xEDD, 'M', u'ຫມ'), + (0xEDE, 'V'), + (0xEE0, 'X'), + (0xF00, 'V'), + (0xF0C, 'M', u'་'), + (0xF0D, 'V'), + (0xF43, 'M', u'གྷ'), + (0xF44, 'V'), + (0xF48, 'X'), + (0xF49, 'V'), + (0xF4D, 'M', u'ཌྷ'), + (0xF4E, 'V'), + (0xF52, 'M', u'དྷ'), + (0xF53, 'V'), + (0xF57, 'M', u'བྷ'), + (0xF58, 'V'), + (0xF5C, 'M', u'ཛྷ'), + (0xF5D, 'V'), + (0xF69, 'M', u'ཀྵ'), + (0xF6A, 'V'), + (0xF6D, 'X'), + (0xF71, 'V'), + (0xF73, 'M', u'ཱི'), + (0xF74, 'V'), + (0xF75, 'M', u'ཱུ'), + (0xF76, 'M', u'ྲྀ'), + (0xF77, 'M', u'ྲཱྀ'), + (0xF78, 'M', u'ླྀ'), + (0xF79, 'M', u'ླཱྀ'), + (0xF7A, 'V'), + (0xF81, 'M', u'ཱྀ'), + (0xF82, 'V'), + (0xF93, 'M', u'ྒྷ'), + (0xF94, 'V'), + (0xF98, 'X'), + (0xF99, 'V'), + (0xF9D, 'M', u'ྜྷ'), + (0xF9E, 'V'), + (0xFA2, 'M', u'ྡྷ'), + (0xFA3, 'V'), + (0xFA7, 'M', u'ྦྷ'), + (0xFA8, 'V'), + (0xFAC, 'M', u'ྫྷ'), + (0xFAD, 'V'), + (0xFB9, 'M', u'ྐྵ'), + (0xFBA, 'V'), + (0xFBD, 'X'), + (0xFBE, 'V'), + (0xFCD, 'X'), + (0xFCE, 'V'), + (0xFDB, 'X'), + (0x1000, 'V'), + (0x10A0, 'X'), + (0x10C7, 'M', u'ⴧ'), + (0x10C8, 'X'), + (0x10CD, 'M', u'ⴭ'), + (0x10CE, 'X'), + (0x10D0, 'V'), + (0x10FC, 'M', u'ნ'), + (0x10FD, 'V'), + (0x115F, 'X'), + (0x1161, 'V'), + (0x1249, 'X'), + (0x124A, 'V'), + (0x124E, 'X'), + (0x1250, 'V'), + (0x1257, 'X'), + (0x1258, 'V'), + (0x1259, 'X'), + (0x125A, 'V'), + (0x125E, 'X'), + (0x1260, 'V'), + (0x1289, 'X'), + (0x128A, 'V'), + ] + +def _seg_14(): + return [ + (0x128E, 'X'), + (0x1290, 'V'), + (0x12B1, 'X'), + (0x12B2, 'V'), + (0x12B6, 'X'), + (0x12B8, 'V'), + (0x12BF, 'X'), + (0x12C0, 'V'), + (0x12C1, 'X'), + (0x12C2, 'V'), + (0x12C6, 'X'), + (0x12C8, 'V'), + (0x12D7, 'X'), + (0x12D8, 'V'), + (0x1311, 'X'), + (0x1312, 'V'), + (0x1316, 'X'), + (0x1318, 'V'), + (0x135B, 'X'), + (0x135D, 'V'), + (0x137D, 'X'), + (0x1380, 'V'), + (0x139A, 'X'), + (0x13A0, 'V'), + (0x13F6, 'X'), + (0x13F8, 'M', u'Ᏸ'), + (0x13F9, 'M', u'Ᏹ'), + (0x13FA, 'M', u'Ᏺ'), + (0x13FB, 'M', u'Ᏻ'), + (0x13FC, 'M', u'Ᏼ'), + (0x13FD, 'M', u'Ᏽ'), + (0x13FE, 'X'), + (0x1400, 'V'), + (0x1680, 'X'), + (0x1681, 'V'), + (0x169D, 'X'), + (0x16A0, 'V'), + (0x16F9, 'X'), + (0x1700, 'V'), + (0x170D, 'X'), + (0x170E, 'V'), + (0x1715, 'X'), + (0x1720, 'V'), + (0x1737, 'X'), + (0x1740, 'V'), + (0x1754, 'X'), + (0x1760, 'V'), + (0x176D, 'X'), + (0x176E, 'V'), + (0x1771, 'X'), + (0x1772, 'V'), + (0x1774, 'X'), + (0x1780, 'V'), + (0x17B4, 'X'), + (0x17B6, 'V'), + (0x17DE, 'X'), + (0x17E0, 'V'), + (0x17EA, 'X'), + (0x17F0, 'V'), + (0x17FA, 'X'), + (0x1800, 'V'), + (0x1806, 'X'), + (0x1807, 'V'), + (0x180B, 'I'), + (0x180E, 'X'), + (0x1810, 'V'), + (0x181A, 'X'), + (0x1820, 'V'), + (0x1879, 'X'), + (0x1880, 'V'), + (0x18AB, 'X'), + (0x18B0, 'V'), + (0x18F6, 'X'), + (0x1900, 'V'), + (0x191F, 'X'), + (0x1920, 'V'), + (0x192C, 'X'), + (0x1930, 'V'), + (0x193C, 'X'), + (0x1940, 'V'), + (0x1941, 'X'), + (0x1944, 'V'), + (0x196E, 'X'), + (0x1970, 'V'), + (0x1975, 'X'), + (0x1980, 'V'), + (0x19AC, 'X'), + (0x19B0, 'V'), + (0x19CA, 'X'), + (0x19D0, 'V'), + (0x19DB, 'X'), + (0x19DE, 'V'), + (0x1A1C, 'X'), + (0x1A1E, 'V'), + (0x1A5F, 'X'), + (0x1A60, 'V'), + (0x1A7D, 'X'), + (0x1A7F, 'V'), + (0x1A8A, 'X'), + (0x1A90, 'V'), + ] + +def _seg_15(): + return [ + (0x1A9A, 'X'), + (0x1AA0, 'V'), + (0x1AAE, 'X'), + (0x1AB0, 'V'), + (0x1ABF, 'X'), + (0x1B00, 'V'), + (0x1B4C, 'X'), + (0x1B50, 'V'), + (0x1B7D, 'X'), + (0x1B80, 'V'), + (0x1BF4, 'X'), + (0x1BFC, 'V'), + (0x1C38, 'X'), + (0x1C3B, 'V'), + (0x1C4A, 'X'), + (0x1C4D, 'V'), + (0x1C80, 'M', u'в'), + (0x1C81, 'M', u'д'), + (0x1C82, 'M', u'о'), + (0x1C83, 'M', u'с'), + (0x1C84, 'M', u'т'), + (0x1C86, 'M', u'ъ'), + (0x1C87, 'M', u'ѣ'), + (0x1C88, 'M', u'ꙋ'), + (0x1C89, 'X'), + (0x1CC0, 'V'), + (0x1CC8, 'X'), + (0x1CD0, 'V'), + (0x1CFA, 'X'), + (0x1D00, 'V'), + (0x1D2C, 'M', u'a'), + (0x1D2D, 'M', u'æ'), + (0x1D2E, 'M', u'b'), + (0x1D2F, 'V'), + (0x1D30, 'M', u'd'), + (0x1D31, 'M', u'e'), + (0x1D32, 'M', u'ǝ'), + (0x1D33, 'M', u'g'), + (0x1D34, 'M', u'h'), + (0x1D35, 'M', u'i'), + (0x1D36, 'M', u'j'), + (0x1D37, 'M', u'k'), + (0x1D38, 'M', u'l'), + (0x1D39, 'M', u'm'), + (0x1D3A, 'M', u'n'), + (0x1D3B, 'V'), + (0x1D3C, 'M', u'o'), + (0x1D3D, 'M', u'ȣ'), + (0x1D3E, 'M', u'p'), + (0x1D3F, 'M', u'r'), + (0x1D40, 'M', u't'), + (0x1D41, 'M', u'u'), + (0x1D42, 'M', u'w'), + (0x1D43, 'M', u'a'), + (0x1D44, 'M', u'ɐ'), + (0x1D45, 'M', u'ɑ'), + (0x1D46, 'M', u'ᴂ'), + (0x1D47, 'M', u'b'), + (0x1D48, 'M', u'd'), + (0x1D49, 'M', u'e'), + (0x1D4A, 'M', u'ə'), + (0x1D4B, 'M', u'ɛ'), + (0x1D4C, 'M', u'ɜ'), + (0x1D4D, 'M', u'g'), + (0x1D4E, 'V'), + (0x1D4F, 'M', u'k'), + (0x1D50, 'M', u'm'), + (0x1D51, 'M', u'ŋ'), + (0x1D52, 'M', u'o'), + (0x1D53, 'M', u'ɔ'), + (0x1D54, 'M', u'ᴖ'), + (0x1D55, 'M', u'ᴗ'), + (0x1D56, 'M', u'p'), + (0x1D57, 'M', u't'), + (0x1D58, 'M', u'u'), + (0x1D59, 'M', u'ᴝ'), + (0x1D5A, 'M', u'ɯ'), + (0x1D5B, 'M', u'v'), + (0x1D5C, 'M', u'ᴥ'), + (0x1D5D, 'M', u'β'), + (0x1D5E, 'M', u'γ'), + (0x1D5F, 'M', u'δ'), + (0x1D60, 'M', u'φ'), + (0x1D61, 'M', u'χ'), + (0x1D62, 'M', u'i'), + (0x1D63, 'M', u'r'), + (0x1D64, 'M', u'u'), + (0x1D65, 'M', u'v'), + (0x1D66, 'M', u'β'), + (0x1D67, 'M', u'γ'), + (0x1D68, 'M', u'ρ'), + (0x1D69, 'M', u'φ'), + (0x1D6A, 'M', u'χ'), + (0x1D6B, 'V'), + (0x1D78, 'M', u'н'), + (0x1D79, 'V'), + (0x1D9B, 'M', u'ɒ'), + (0x1D9C, 'M', u'c'), + (0x1D9D, 'M', u'ɕ'), + (0x1D9E, 'M', u'ð'), + ] + +def _seg_16(): + return [ + (0x1D9F, 'M', u'ɜ'), + (0x1DA0, 'M', u'f'), + (0x1DA1, 'M', u'ɟ'), + (0x1DA2, 'M', u'ɡ'), + (0x1DA3, 'M', u'ɥ'), + (0x1DA4, 'M', u'ɨ'), + (0x1DA5, 'M', u'ɩ'), + (0x1DA6, 'M', u'ɪ'), + (0x1DA7, 'M', u'ᵻ'), + (0x1DA8, 'M', u'ʝ'), + (0x1DA9, 'M', u'ɭ'), + (0x1DAA, 'M', u'ᶅ'), + (0x1DAB, 'M', u'ʟ'), + (0x1DAC, 'M', u'ɱ'), + (0x1DAD, 'M', u'ɰ'), + (0x1DAE, 'M', u'ɲ'), + (0x1DAF, 'M', u'ɳ'), + (0x1DB0, 'M', u'ɴ'), + (0x1DB1, 'M', u'ɵ'), + (0x1DB2, 'M', u'ɸ'), + (0x1DB3, 'M', u'ʂ'), + (0x1DB4, 'M', u'ʃ'), + (0x1DB5, 'M', u'ƫ'), + (0x1DB6, 'M', u'ʉ'), + (0x1DB7, 'M', u'ʊ'), + (0x1DB8, 'M', u'ᴜ'), + (0x1DB9, 'M', u'ʋ'), + (0x1DBA, 'M', u'ʌ'), + (0x1DBB, 'M', u'z'), + (0x1DBC, 'M', u'ʐ'), + (0x1DBD, 'M', u'ʑ'), + (0x1DBE, 'M', u'ʒ'), + (0x1DBF, 'M', u'θ'), + (0x1DC0, 'V'), + (0x1DFA, 'X'), + (0x1DFB, 'V'), + (0x1E00, 'M', u'ḁ'), + (0x1E01, 'V'), + (0x1E02, 'M', u'ḃ'), + (0x1E03, 'V'), + (0x1E04, 'M', u'ḅ'), + (0x1E05, 'V'), + (0x1E06, 'M', u'ḇ'), + (0x1E07, 'V'), + (0x1E08, 'M', u'ḉ'), + (0x1E09, 'V'), + (0x1E0A, 'M', u'ḋ'), + (0x1E0B, 'V'), + (0x1E0C, 'M', u'ḍ'), + (0x1E0D, 'V'), + (0x1E0E, 'M', u'ḏ'), + (0x1E0F, 'V'), + (0x1E10, 'M', u'ḑ'), + (0x1E11, 'V'), + (0x1E12, 'M', u'ḓ'), + (0x1E13, 'V'), + (0x1E14, 'M', u'ḕ'), + (0x1E15, 'V'), + (0x1E16, 'M', u'ḗ'), + (0x1E17, 'V'), + (0x1E18, 'M', u'ḙ'), + (0x1E19, 'V'), + (0x1E1A, 'M', u'ḛ'), + (0x1E1B, 'V'), + (0x1E1C, 'M', u'ḝ'), + (0x1E1D, 'V'), + (0x1E1E, 'M', u'ḟ'), + (0x1E1F, 'V'), + (0x1E20, 'M', u'ḡ'), + (0x1E21, 'V'), + (0x1E22, 'M', u'ḣ'), + (0x1E23, 'V'), + (0x1E24, 'M', u'ḥ'), + (0x1E25, 'V'), + (0x1E26, 'M', u'ḧ'), + (0x1E27, 'V'), + (0x1E28, 'M', u'ḩ'), + (0x1E29, 'V'), + (0x1E2A, 'M', u'ḫ'), + (0x1E2B, 'V'), + (0x1E2C, 'M', u'ḭ'), + (0x1E2D, 'V'), + (0x1E2E, 'M', u'ḯ'), + (0x1E2F, 'V'), + (0x1E30, 'M', u'ḱ'), + (0x1E31, 'V'), + (0x1E32, 'M', u'ḳ'), + (0x1E33, 'V'), + (0x1E34, 'M', u'ḵ'), + (0x1E35, 'V'), + (0x1E36, 'M', u'ḷ'), + (0x1E37, 'V'), + (0x1E38, 'M', u'ḹ'), + (0x1E39, 'V'), + (0x1E3A, 'M', u'ḻ'), + (0x1E3B, 'V'), + (0x1E3C, 'M', u'ḽ'), + (0x1E3D, 'V'), + (0x1E3E, 'M', u'ḿ'), + (0x1E3F, 'V'), + ] + +def _seg_17(): + return [ + (0x1E40, 'M', u'ṁ'), + (0x1E41, 'V'), + (0x1E42, 'M', u'ṃ'), + (0x1E43, 'V'), + (0x1E44, 'M', u'ṅ'), + (0x1E45, 'V'), + (0x1E46, 'M', u'ṇ'), + (0x1E47, 'V'), + (0x1E48, 'M', u'ṉ'), + (0x1E49, 'V'), + (0x1E4A, 'M', u'ṋ'), + (0x1E4B, 'V'), + (0x1E4C, 'M', u'ṍ'), + (0x1E4D, 'V'), + (0x1E4E, 'M', u'ṏ'), + (0x1E4F, 'V'), + (0x1E50, 'M', u'ṑ'), + (0x1E51, 'V'), + (0x1E52, 'M', u'ṓ'), + (0x1E53, 'V'), + (0x1E54, 'M', u'ṕ'), + (0x1E55, 'V'), + (0x1E56, 'M', u'ṗ'), + (0x1E57, 'V'), + (0x1E58, 'M', u'ṙ'), + (0x1E59, 'V'), + (0x1E5A, 'M', u'ṛ'), + (0x1E5B, 'V'), + (0x1E5C, 'M', u'ṝ'), + (0x1E5D, 'V'), + (0x1E5E, 'M', u'ṟ'), + (0x1E5F, 'V'), + (0x1E60, 'M', u'ṡ'), + (0x1E61, 'V'), + (0x1E62, 'M', u'ṣ'), + (0x1E63, 'V'), + (0x1E64, 'M', u'ṥ'), + (0x1E65, 'V'), + (0x1E66, 'M', u'ṧ'), + (0x1E67, 'V'), + (0x1E68, 'M', u'ṩ'), + (0x1E69, 'V'), + (0x1E6A, 'M', u'ṫ'), + (0x1E6B, 'V'), + (0x1E6C, 'M', u'ṭ'), + (0x1E6D, 'V'), + (0x1E6E, 'M', u'ṯ'), + (0x1E6F, 'V'), + (0x1E70, 'M', u'ṱ'), + (0x1E71, 'V'), + (0x1E72, 'M', u'ṳ'), + (0x1E73, 'V'), + (0x1E74, 'M', u'ṵ'), + (0x1E75, 'V'), + (0x1E76, 'M', u'ṷ'), + (0x1E77, 'V'), + (0x1E78, 'M', u'ṹ'), + (0x1E79, 'V'), + (0x1E7A, 'M', u'ṻ'), + (0x1E7B, 'V'), + (0x1E7C, 'M', u'ṽ'), + (0x1E7D, 'V'), + (0x1E7E, 'M', u'ṿ'), + (0x1E7F, 'V'), + (0x1E80, 'M', u'ẁ'), + (0x1E81, 'V'), + (0x1E82, 'M', u'ẃ'), + (0x1E83, 'V'), + (0x1E84, 'M', u'ẅ'), + (0x1E85, 'V'), + (0x1E86, 'M', u'ẇ'), + (0x1E87, 'V'), + (0x1E88, 'M', u'ẉ'), + (0x1E89, 'V'), + (0x1E8A, 'M', u'ẋ'), + (0x1E8B, 'V'), + (0x1E8C, 'M', u'ẍ'), + (0x1E8D, 'V'), + (0x1E8E, 'M', u'ẏ'), + (0x1E8F, 'V'), + (0x1E90, 'M', u'ẑ'), + (0x1E91, 'V'), + (0x1E92, 'M', u'ẓ'), + (0x1E93, 'V'), + (0x1E94, 'M', u'ẕ'), + (0x1E95, 'V'), + (0x1E9A, 'M', u'aʾ'), + (0x1E9B, 'M', u'ṡ'), + (0x1E9C, 'V'), + (0x1E9E, 'M', u'ss'), + (0x1E9F, 'V'), + (0x1EA0, 'M', u'ạ'), + (0x1EA1, 'V'), + (0x1EA2, 'M', u'ả'), + (0x1EA3, 'V'), + (0x1EA4, 'M', u'ấ'), + (0x1EA5, 'V'), + (0x1EA6, 'M', u'ầ'), + (0x1EA7, 'V'), + (0x1EA8, 'M', u'ẩ'), + ] + +def _seg_18(): + return [ + (0x1EA9, 'V'), + (0x1EAA, 'M', u'ẫ'), + (0x1EAB, 'V'), + (0x1EAC, 'M', u'ậ'), + (0x1EAD, 'V'), + (0x1EAE, 'M', u'ắ'), + (0x1EAF, 'V'), + (0x1EB0, 'M', u'ằ'), + (0x1EB1, 'V'), + (0x1EB2, 'M', u'ẳ'), + (0x1EB3, 'V'), + (0x1EB4, 'M', u'ẵ'), + (0x1EB5, 'V'), + (0x1EB6, 'M', u'ặ'), + (0x1EB7, 'V'), + (0x1EB8, 'M', u'ẹ'), + (0x1EB9, 'V'), + (0x1EBA, 'M', u'ẻ'), + (0x1EBB, 'V'), + (0x1EBC, 'M', u'ẽ'), + (0x1EBD, 'V'), + (0x1EBE, 'M', u'ế'), + (0x1EBF, 'V'), + (0x1EC0, 'M', u'ề'), + (0x1EC1, 'V'), + (0x1EC2, 'M', u'ể'), + (0x1EC3, 'V'), + (0x1EC4, 'M', u'ễ'), + (0x1EC5, 'V'), + (0x1EC6, 'M', u'ệ'), + (0x1EC7, 'V'), + (0x1EC8, 'M', u'ỉ'), + (0x1EC9, 'V'), + (0x1ECA, 'M', u'ị'), + (0x1ECB, 'V'), + (0x1ECC, 'M', u'ọ'), + (0x1ECD, 'V'), + (0x1ECE, 'M', u'ỏ'), + (0x1ECF, 'V'), + (0x1ED0, 'M', u'ố'), + (0x1ED1, 'V'), + (0x1ED2, 'M', u'ồ'), + (0x1ED3, 'V'), + (0x1ED4, 'M', u'ổ'), + (0x1ED5, 'V'), + (0x1ED6, 'M', u'ỗ'), + (0x1ED7, 'V'), + (0x1ED8, 'M', u'ộ'), + (0x1ED9, 'V'), + (0x1EDA, 'M', u'ớ'), + (0x1EDB, 'V'), + (0x1EDC, 'M', u'ờ'), + (0x1EDD, 'V'), + (0x1EDE, 'M', u'ở'), + (0x1EDF, 'V'), + (0x1EE0, 'M', u'ỡ'), + (0x1EE1, 'V'), + (0x1EE2, 'M', u'ợ'), + (0x1EE3, 'V'), + (0x1EE4, 'M', u'ụ'), + (0x1EE5, 'V'), + (0x1EE6, 'M', u'ủ'), + (0x1EE7, 'V'), + (0x1EE8, 'M', u'ứ'), + (0x1EE9, 'V'), + (0x1EEA, 'M', u'ừ'), + (0x1EEB, 'V'), + (0x1EEC, 'M', u'ử'), + (0x1EED, 'V'), + (0x1EEE, 'M', u'ữ'), + (0x1EEF, 'V'), + (0x1EF0, 'M', u'ự'), + (0x1EF1, 'V'), + (0x1EF2, 'M', u'ỳ'), + (0x1EF3, 'V'), + (0x1EF4, 'M', u'ỵ'), + (0x1EF5, 'V'), + (0x1EF6, 'M', u'ỷ'), + (0x1EF7, 'V'), + (0x1EF8, 'M', u'ỹ'), + (0x1EF9, 'V'), + (0x1EFA, 'M', u'ỻ'), + (0x1EFB, 'V'), + (0x1EFC, 'M', u'ỽ'), + (0x1EFD, 'V'), + (0x1EFE, 'M', u'ỿ'), + (0x1EFF, 'V'), + (0x1F08, 'M', u'ἀ'), + (0x1F09, 'M', u'ἁ'), + (0x1F0A, 'M', u'ἂ'), + (0x1F0B, 'M', u'ἃ'), + (0x1F0C, 'M', u'ἄ'), + (0x1F0D, 'M', u'ἅ'), + (0x1F0E, 'M', u'ἆ'), + (0x1F0F, 'M', u'ἇ'), + (0x1F10, 'V'), + (0x1F16, 'X'), + (0x1F18, 'M', u'ἐ'), + (0x1F19, 'M', u'ἑ'), + (0x1F1A, 'M', u'ἒ'), + ] + +def _seg_19(): + return [ + (0x1F1B, 'M', u'ἓ'), + (0x1F1C, 'M', u'ἔ'), + (0x1F1D, 'M', u'ἕ'), + (0x1F1E, 'X'), + (0x1F20, 'V'), + (0x1F28, 'M', u'ἠ'), + (0x1F29, 'M', u'ἡ'), + (0x1F2A, 'M', u'ἢ'), + (0x1F2B, 'M', u'ἣ'), + (0x1F2C, 'M', u'ἤ'), + (0x1F2D, 'M', u'ἥ'), + (0x1F2E, 'M', u'ἦ'), + (0x1F2F, 'M', u'ἧ'), + (0x1F30, 'V'), + (0x1F38, 'M', u'ἰ'), + (0x1F39, 'M', u'ἱ'), + (0x1F3A, 'M', u'ἲ'), + (0x1F3B, 'M', u'ἳ'), + (0x1F3C, 'M', u'ἴ'), + (0x1F3D, 'M', u'ἵ'), + (0x1F3E, 'M', u'ἶ'), + (0x1F3F, 'M', u'ἷ'), + (0x1F40, 'V'), + (0x1F46, 'X'), + (0x1F48, 'M', u'ὀ'), + (0x1F49, 'M', u'ὁ'), + (0x1F4A, 'M', u'ὂ'), + (0x1F4B, 'M', u'ὃ'), + (0x1F4C, 'M', u'ὄ'), + (0x1F4D, 'M', u'ὅ'), + (0x1F4E, 'X'), + (0x1F50, 'V'), + (0x1F58, 'X'), + (0x1F59, 'M', u'ὑ'), + (0x1F5A, 'X'), + (0x1F5B, 'M', u'ὓ'), + (0x1F5C, 'X'), + (0x1F5D, 'M', u'ὕ'), + (0x1F5E, 'X'), + (0x1F5F, 'M', u'ὗ'), + (0x1F60, 'V'), + (0x1F68, 'M', u'ὠ'), + (0x1F69, 'M', u'ὡ'), + (0x1F6A, 'M', u'ὢ'), + (0x1F6B, 'M', u'ὣ'), + (0x1F6C, 'M', u'ὤ'), + (0x1F6D, 'M', u'ὥ'), + (0x1F6E, 'M', u'ὦ'), + (0x1F6F, 'M', u'ὧ'), + (0x1F70, 'V'), + (0x1F71, 'M', u'ά'), + (0x1F72, 'V'), + (0x1F73, 'M', u'έ'), + (0x1F74, 'V'), + (0x1F75, 'M', u'ή'), + (0x1F76, 'V'), + (0x1F77, 'M', u'ί'), + (0x1F78, 'V'), + (0x1F79, 'M', u'ό'), + (0x1F7A, 'V'), + (0x1F7B, 'M', u'ύ'), + (0x1F7C, 'V'), + (0x1F7D, 'M', u'ώ'), + (0x1F7E, 'X'), + (0x1F80, 'M', u'ἀι'), + (0x1F81, 'M', u'ἁι'), + (0x1F82, 'M', u'ἂι'), + (0x1F83, 'M', u'ἃι'), + (0x1F84, 'M', u'ἄι'), + (0x1F85, 'M', u'ἅι'), + (0x1F86, 'M', u'ἆι'), + (0x1F87, 'M', u'ἇι'), + (0x1F88, 'M', u'ἀι'), + (0x1F89, 'M', u'ἁι'), + (0x1F8A, 'M', u'ἂι'), + (0x1F8B, 'M', u'ἃι'), + (0x1F8C, 'M', u'ἄι'), + (0x1F8D, 'M', u'ἅι'), + (0x1F8E, 'M', u'ἆι'), + (0x1F8F, 'M', u'ἇι'), + (0x1F90, 'M', u'ἠι'), + (0x1F91, 'M', u'ἡι'), + (0x1F92, 'M', u'ἢι'), + (0x1F93, 'M', u'ἣι'), + (0x1F94, 'M', u'ἤι'), + (0x1F95, 'M', u'ἥι'), + (0x1F96, 'M', u'ἦι'), + (0x1F97, 'M', u'ἧι'), + (0x1F98, 'M', u'ἠι'), + (0x1F99, 'M', u'ἡι'), + (0x1F9A, 'M', u'ἢι'), + (0x1F9B, 'M', u'ἣι'), + (0x1F9C, 'M', u'ἤι'), + (0x1F9D, 'M', u'ἥι'), + (0x1F9E, 'M', u'ἦι'), + (0x1F9F, 'M', u'ἧι'), + (0x1FA0, 'M', u'ὠι'), + (0x1FA1, 'M', u'ὡι'), + (0x1FA2, 'M', u'ὢι'), + (0x1FA3, 'M', u'ὣι'), + ] + +def _seg_20(): + return [ + (0x1FA4, 'M', u'ὤι'), + (0x1FA5, 'M', u'ὥι'), + (0x1FA6, 'M', u'ὦι'), + (0x1FA7, 'M', u'ὧι'), + (0x1FA8, 'M', u'ὠι'), + (0x1FA9, 'M', u'ὡι'), + (0x1FAA, 'M', u'ὢι'), + (0x1FAB, 'M', u'ὣι'), + (0x1FAC, 'M', u'ὤι'), + (0x1FAD, 'M', u'ὥι'), + (0x1FAE, 'M', u'ὦι'), + (0x1FAF, 'M', u'ὧι'), + (0x1FB0, 'V'), + (0x1FB2, 'M', u'ὰι'), + (0x1FB3, 'M', u'αι'), + (0x1FB4, 'M', u'άι'), + (0x1FB5, 'X'), + (0x1FB6, 'V'), + (0x1FB7, 'M', u'ᾶι'), + (0x1FB8, 'M', u'ᾰ'), + (0x1FB9, 'M', u'ᾱ'), + (0x1FBA, 'M', u'ὰ'), + (0x1FBB, 'M', u'ά'), + (0x1FBC, 'M', u'αι'), + (0x1FBD, '3', u' ̓'), + (0x1FBE, 'M', u'ι'), + (0x1FBF, '3', u' ̓'), + (0x1FC0, '3', u' ͂'), + (0x1FC1, '3', u' ̈͂'), + (0x1FC2, 'M', u'ὴι'), + (0x1FC3, 'M', u'ηι'), + (0x1FC4, 'M', u'ήι'), + (0x1FC5, 'X'), + (0x1FC6, 'V'), + (0x1FC7, 'M', u'ῆι'), + (0x1FC8, 'M', u'ὲ'), + (0x1FC9, 'M', u'έ'), + (0x1FCA, 'M', u'ὴ'), + (0x1FCB, 'M', u'ή'), + (0x1FCC, 'M', u'ηι'), + (0x1FCD, '3', u' ̓̀'), + (0x1FCE, '3', u' ̓́'), + (0x1FCF, '3', u' ̓͂'), + (0x1FD0, 'V'), + (0x1FD3, 'M', u'ΐ'), + (0x1FD4, 'X'), + (0x1FD6, 'V'), + (0x1FD8, 'M', u'ῐ'), + (0x1FD9, 'M', u'ῑ'), + (0x1FDA, 'M', u'ὶ'), + (0x1FDB, 'M', u'ί'), + (0x1FDC, 'X'), + (0x1FDD, '3', u' ̔̀'), + (0x1FDE, '3', u' ̔́'), + (0x1FDF, '3', u' ̔͂'), + (0x1FE0, 'V'), + (0x1FE3, 'M', u'ΰ'), + (0x1FE4, 'V'), + (0x1FE8, 'M', u'ῠ'), + (0x1FE9, 'M', u'ῡ'), + (0x1FEA, 'M', u'ὺ'), + (0x1FEB, 'M', u'ύ'), + (0x1FEC, 'M', u'ῥ'), + (0x1FED, '3', u' ̈̀'), + (0x1FEE, '3', u' ̈́'), + (0x1FEF, '3', u'`'), + (0x1FF0, 'X'), + (0x1FF2, 'M', u'ὼι'), + (0x1FF3, 'M', u'ωι'), + (0x1FF4, 'M', u'ώι'), + (0x1FF5, 'X'), + (0x1FF6, 'V'), + (0x1FF7, 'M', u'ῶι'), + (0x1FF8, 'M', u'ὸ'), + (0x1FF9, 'M', u'ό'), + (0x1FFA, 'M', u'ὼ'), + (0x1FFB, 'M', u'ώ'), + (0x1FFC, 'M', u'ωι'), + (0x1FFD, '3', u' ́'), + (0x1FFE, '3', u' ̔'), + (0x1FFF, 'X'), + (0x2000, '3', u' '), + (0x200B, 'I'), + (0x200C, 'D', u''), + (0x200E, 'X'), + (0x2010, 'V'), + (0x2011, 'M', u'‐'), + (0x2012, 'V'), + (0x2017, '3', u' ̳'), + (0x2018, 'V'), + (0x2024, 'X'), + (0x2027, 'V'), + (0x2028, 'X'), + (0x202F, '3', u' '), + (0x2030, 'V'), + (0x2033, 'M', u'′′'), + (0x2034, 'M', u'′′′'), + (0x2035, 'V'), + (0x2036, 'M', u'‵‵'), + (0x2037, 'M', u'‵‵‵'), + ] + +def _seg_21(): + return [ + (0x2038, 'V'), + (0x203C, '3', u'!!'), + (0x203D, 'V'), + (0x203E, '3', u' ̅'), + (0x203F, 'V'), + (0x2047, '3', u'??'), + (0x2048, '3', u'?!'), + (0x2049, '3', u'!?'), + (0x204A, 'V'), + (0x2057, 'M', u'′′′′'), + (0x2058, 'V'), + (0x205F, '3', u' '), + (0x2060, 'I'), + (0x2061, 'X'), + (0x2064, 'I'), + (0x2065, 'X'), + (0x2070, 'M', u'0'), + (0x2071, 'M', u'i'), + (0x2072, 'X'), + (0x2074, 'M', u'4'), + (0x2075, 'M', u'5'), + (0x2076, 'M', u'6'), + (0x2077, 'M', u'7'), + (0x2078, 'M', u'8'), + (0x2079, 'M', u'9'), + (0x207A, '3', u'+'), + (0x207B, 'M', u'−'), + (0x207C, '3', u'='), + (0x207D, '3', u'('), + (0x207E, '3', u')'), + (0x207F, 'M', u'n'), + (0x2080, 'M', u'0'), + (0x2081, 'M', u'1'), + (0x2082, 'M', u'2'), + (0x2083, 'M', u'3'), + (0x2084, 'M', u'4'), + (0x2085, 'M', u'5'), + (0x2086, 'M', u'6'), + (0x2087, 'M', u'7'), + (0x2088, 'M', u'8'), + (0x2089, 'M', u'9'), + (0x208A, '3', u'+'), + (0x208B, 'M', u'−'), + (0x208C, '3', u'='), + (0x208D, '3', u'('), + (0x208E, '3', u')'), + (0x208F, 'X'), + (0x2090, 'M', u'a'), + (0x2091, 'M', u'e'), + (0x2092, 'M', u'o'), + (0x2093, 'M', u'x'), + (0x2094, 'M', u'ə'), + (0x2095, 'M', u'h'), + (0x2096, 'M', u'k'), + (0x2097, 'M', u'l'), + (0x2098, 'M', u'm'), + (0x2099, 'M', u'n'), + (0x209A, 'M', u'p'), + (0x209B, 'M', u's'), + (0x209C, 'M', u't'), + (0x209D, 'X'), + (0x20A0, 'V'), + (0x20A8, 'M', u'rs'), + (0x20A9, 'V'), + (0x20C0, 'X'), + (0x20D0, 'V'), + (0x20F1, 'X'), + (0x2100, '3', u'a/c'), + (0x2101, '3', u'a/s'), + (0x2102, 'M', u'c'), + (0x2103, 'M', u'°c'), + (0x2104, 'V'), + (0x2105, '3', u'c/o'), + (0x2106, '3', u'c/u'), + (0x2107, 'M', u'ɛ'), + (0x2108, 'V'), + (0x2109, 'M', u'°f'), + (0x210A, 'M', u'g'), + (0x210B, 'M', u'h'), + (0x210F, 'M', u'ħ'), + (0x2110, 'M', u'i'), + (0x2112, 'M', u'l'), + (0x2114, 'V'), + (0x2115, 'M', u'n'), + (0x2116, 'M', u'no'), + (0x2117, 'V'), + (0x2119, 'M', u'p'), + (0x211A, 'M', u'q'), + (0x211B, 'M', u'r'), + (0x211E, 'V'), + (0x2120, 'M', u'sm'), + (0x2121, 'M', u'tel'), + (0x2122, 'M', u'tm'), + (0x2123, 'V'), + (0x2124, 'M', u'z'), + (0x2125, 'V'), + (0x2126, 'M', u'ω'), + (0x2127, 'V'), + (0x2128, 'M', u'z'), + (0x2129, 'V'), + ] + +def _seg_22(): + return [ + (0x212A, 'M', u'k'), + (0x212B, 'M', u'å'), + (0x212C, 'M', u'b'), + (0x212D, 'M', u'c'), + (0x212E, 'V'), + (0x212F, 'M', u'e'), + (0x2131, 'M', u'f'), + (0x2132, 'X'), + (0x2133, 'M', u'm'), + (0x2134, 'M', u'o'), + (0x2135, 'M', u'א'), + (0x2136, 'M', u'ב'), + (0x2137, 'M', u'ג'), + (0x2138, 'M', u'ד'), + (0x2139, 'M', u'i'), + (0x213A, 'V'), + (0x213B, 'M', u'fax'), + (0x213C, 'M', u'π'), + (0x213D, 'M', u'γ'), + (0x213F, 'M', u'π'), + (0x2140, 'M', u'∑'), + (0x2141, 'V'), + (0x2145, 'M', u'd'), + (0x2147, 'M', u'e'), + (0x2148, 'M', u'i'), + (0x2149, 'M', u'j'), + (0x214A, 'V'), + (0x2150, 'M', u'1⁄7'), + (0x2151, 'M', u'1⁄9'), + (0x2152, 'M', u'1⁄10'), + (0x2153, 'M', u'1⁄3'), + (0x2154, 'M', u'2⁄3'), + (0x2155, 'M', u'1⁄5'), + (0x2156, 'M', u'2⁄5'), + (0x2157, 'M', u'3⁄5'), + (0x2158, 'M', u'4⁄5'), + (0x2159, 'M', u'1⁄6'), + (0x215A, 'M', u'5⁄6'), + (0x215B, 'M', u'1⁄8'), + (0x215C, 'M', u'3⁄8'), + (0x215D, 'M', u'5⁄8'), + (0x215E, 'M', u'7⁄8'), + (0x215F, 'M', u'1⁄'), + (0x2160, 'M', u'i'), + (0x2161, 'M', u'ii'), + (0x2162, 'M', u'iii'), + (0x2163, 'M', u'iv'), + (0x2164, 'M', u'v'), + (0x2165, 'M', u'vi'), + (0x2166, 'M', u'vii'), + (0x2167, 'M', u'viii'), + (0x2168, 'M', u'ix'), + (0x2169, 'M', u'x'), + (0x216A, 'M', u'xi'), + (0x216B, 'M', u'xii'), + (0x216C, 'M', u'l'), + (0x216D, 'M', u'c'), + (0x216E, 'M', u'd'), + (0x216F, 'M', u'm'), + (0x2170, 'M', u'i'), + (0x2171, 'M', u'ii'), + (0x2172, 'M', u'iii'), + (0x2173, 'M', u'iv'), + (0x2174, 'M', u'v'), + (0x2175, 'M', u'vi'), + (0x2176, 'M', u'vii'), + (0x2177, 'M', u'viii'), + (0x2178, 'M', u'ix'), + (0x2179, 'M', u'x'), + (0x217A, 'M', u'xi'), + (0x217B, 'M', u'xii'), + (0x217C, 'M', u'l'), + (0x217D, 'M', u'c'), + (0x217E, 'M', u'd'), + (0x217F, 'M', u'm'), + (0x2180, 'V'), + (0x2183, 'X'), + (0x2184, 'V'), + (0x2189, 'M', u'0⁄3'), + (0x218A, 'V'), + (0x218C, 'X'), + (0x2190, 'V'), + (0x222C, 'M', u'∫∫'), + (0x222D, 'M', u'∫∫∫'), + (0x222E, 'V'), + (0x222F, 'M', u'∮∮'), + (0x2230, 'M', u'∮∮∮'), + (0x2231, 'V'), + (0x2260, '3'), + (0x2261, 'V'), + (0x226E, '3'), + (0x2270, 'V'), + (0x2329, 'M', u'〈'), + (0x232A, 'M', u'〉'), + (0x232B, 'V'), + (0x2427, 'X'), + (0x2440, 'V'), + (0x244B, 'X'), + (0x2460, 'M', u'1'), + (0x2461, 'M', u'2'), + ] + +def _seg_23(): + return [ + (0x2462, 'M', u'3'), + (0x2463, 'M', u'4'), + (0x2464, 'M', u'5'), + (0x2465, 'M', u'6'), + (0x2466, 'M', u'7'), + (0x2467, 'M', u'8'), + (0x2468, 'M', u'9'), + (0x2469, 'M', u'10'), + (0x246A, 'M', u'11'), + (0x246B, 'M', u'12'), + (0x246C, 'M', u'13'), + (0x246D, 'M', u'14'), + (0x246E, 'M', u'15'), + (0x246F, 'M', u'16'), + (0x2470, 'M', u'17'), + (0x2471, 'M', u'18'), + (0x2472, 'M', u'19'), + (0x2473, 'M', u'20'), + (0x2474, '3', u'(1)'), + (0x2475, '3', u'(2)'), + (0x2476, '3', u'(3)'), + (0x2477, '3', u'(4)'), + (0x2478, '3', u'(5)'), + (0x2479, '3', u'(6)'), + (0x247A, '3', u'(7)'), + (0x247B, '3', u'(8)'), + (0x247C, '3', u'(9)'), + (0x247D, '3', u'(10)'), + (0x247E, '3', u'(11)'), + (0x247F, '3', u'(12)'), + (0x2480, '3', u'(13)'), + (0x2481, '3', u'(14)'), + (0x2482, '3', u'(15)'), + (0x2483, '3', u'(16)'), + (0x2484, '3', u'(17)'), + (0x2485, '3', u'(18)'), + (0x2486, '3', u'(19)'), + (0x2487, '3', u'(20)'), + (0x2488, 'X'), + (0x249C, '3', u'(a)'), + (0x249D, '3', u'(b)'), + (0x249E, '3', u'(c)'), + (0x249F, '3', u'(d)'), + (0x24A0, '3', u'(e)'), + (0x24A1, '3', u'(f)'), + (0x24A2, '3', u'(g)'), + (0x24A3, '3', u'(h)'), + (0x24A4, '3', u'(i)'), + (0x24A5, '3', u'(j)'), + (0x24A6, '3', u'(k)'), + (0x24A7, '3', u'(l)'), + (0x24A8, '3', u'(m)'), + (0x24A9, '3', u'(n)'), + (0x24AA, '3', u'(o)'), + (0x24AB, '3', u'(p)'), + (0x24AC, '3', u'(q)'), + (0x24AD, '3', u'(r)'), + (0x24AE, '3', u'(s)'), + (0x24AF, '3', u'(t)'), + (0x24B0, '3', u'(u)'), + (0x24B1, '3', u'(v)'), + (0x24B2, '3', u'(w)'), + (0x24B3, '3', u'(x)'), + (0x24B4, '3', u'(y)'), + (0x24B5, '3', u'(z)'), + (0x24B6, 'M', u'a'), + (0x24B7, 'M', u'b'), + (0x24B8, 'M', u'c'), + (0x24B9, 'M', u'd'), + (0x24BA, 'M', u'e'), + (0x24BB, 'M', u'f'), + (0x24BC, 'M', u'g'), + (0x24BD, 'M', u'h'), + (0x24BE, 'M', u'i'), + (0x24BF, 'M', u'j'), + (0x24C0, 'M', u'k'), + (0x24C1, 'M', u'l'), + (0x24C2, 'M', u'm'), + (0x24C3, 'M', u'n'), + (0x24C4, 'M', u'o'), + (0x24C5, 'M', u'p'), + (0x24C6, 'M', u'q'), + (0x24C7, 'M', u'r'), + (0x24C8, 'M', u's'), + (0x24C9, 'M', u't'), + (0x24CA, 'M', u'u'), + (0x24CB, 'M', u'v'), + (0x24CC, 'M', u'w'), + (0x24CD, 'M', u'x'), + (0x24CE, 'M', u'y'), + (0x24CF, 'M', u'z'), + (0x24D0, 'M', u'a'), + (0x24D1, 'M', u'b'), + (0x24D2, 'M', u'c'), + (0x24D3, 'M', u'd'), + (0x24D4, 'M', u'e'), + (0x24D5, 'M', u'f'), + (0x24D6, 'M', u'g'), + (0x24D7, 'M', u'h'), + (0x24D8, 'M', u'i'), + ] + +def _seg_24(): + return [ + (0x24D9, 'M', u'j'), + (0x24DA, 'M', u'k'), + (0x24DB, 'M', u'l'), + (0x24DC, 'M', u'm'), + (0x24DD, 'M', u'n'), + (0x24DE, 'M', u'o'), + (0x24DF, 'M', u'p'), + (0x24E0, 'M', u'q'), + (0x24E1, 'M', u'r'), + (0x24E2, 'M', u's'), + (0x24E3, 'M', u't'), + (0x24E4, 'M', u'u'), + (0x24E5, 'M', u'v'), + (0x24E6, 'M', u'w'), + (0x24E7, 'M', u'x'), + (0x24E8, 'M', u'y'), + (0x24E9, 'M', u'z'), + (0x24EA, 'M', u'0'), + (0x24EB, 'V'), + (0x2A0C, 'M', u'∫∫∫∫'), + (0x2A0D, 'V'), + (0x2A74, '3', u'::='), + (0x2A75, '3', u'=='), + (0x2A76, '3', u'==='), + (0x2A77, 'V'), + (0x2ADC, 'M', u'⫝̸'), + (0x2ADD, 'V'), + (0x2B74, 'X'), + (0x2B76, 'V'), + (0x2B96, 'X'), + (0x2B98, 'V'), + (0x2BC9, 'X'), + (0x2BCA, 'V'), + (0x2BFF, 'X'), + (0x2C00, 'M', u'ⰰ'), + (0x2C01, 'M', u'ⰱ'), + (0x2C02, 'M', u'ⰲ'), + (0x2C03, 'M', u'ⰳ'), + (0x2C04, 'M', u'ⰴ'), + (0x2C05, 'M', u'ⰵ'), + (0x2C06, 'M', u'ⰶ'), + (0x2C07, 'M', u'ⰷ'), + (0x2C08, 'M', u'ⰸ'), + (0x2C09, 'M', u'ⰹ'), + (0x2C0A, 'M', u'ⰺ'), + (0x2C0B, 'M', u'ⰻ'), + (0x2C0C, 'M', u'ⰼ'), + (0x2C0D, 'M', u'ⰽ'), + (0x2C0E, 'M', u'ⰾ'), + (0x2C0F, 'M', u'ⰿ'), + (0x2C10, 'M', u'ⱀ'), + (0x2C11, 'M', u'ⱁ'), + (0x2C12, 'M', u'ⱂ'), + (0x2C13, 'M', u'ⱃ'), + (0x2C14, 'M', u'ⱄ'), + (0x2C15, 'M', u'ⱅ'), + (0x2C16, 'M', u'ⱆ'), + (0x2C17, 'M', u'ⱇ'), + (0x2C18, 'M', u'ⱈ'), + (0x2C19, 'M', u'ⱉ'), + (0x2C1A, 'M', u'ⱊ'), + (0x2C1B, 'M', u'ⱋ'), + (0x2C1C, 'M', u'ⱌ'), + (0x2C1D, 'M', u'ⱍ'), + (0x2C1E, 'M', u'ⱎ'), + (0x2C1F, 'M', u'ⱏ'), + (0x2C20, 'M', u'ⱐ'), + (0x2C21, 'M', u'ⱑ'), + (0x2C22, 'M', u'ⱒ'), + (0x2C23, 'M', u'ⱓ'), + (0x2C24, 'M', u'ⱔ'), + (0x2C25, 'M', u'ⱕ'), + (0x2C26, 'M', u'ⱖ'), + (0x2C27, 'M', u'ⱗ'), + (0x2C28, 'M', u'ⱘ'), + (0x2C29, 'M', u'ⱙ'), + (0x2C2A, 'M', u'ⱚ'), + (0x2C2B, 'M', u'ⱛ'), + (0x2C2C, 'M', u'ⱜ'), + (0x2C2D, 'M', u'ⱝ'), + (0x2C2E, 'M', u'ⱞ'), + (0x2C2F, 'X'), + (0x2C30, 'V'), + (0x2C5F, 'X'), + (0x2C60, 'M', u'ⱡ'), + (0x2C61, 'V'), + (0x2C62, 'M', u'ɫ'), + (0x2C63, 'M', u'ᵽ'), + (0x2C64, 'M', u'ɽ'), + (0x2C65, 'V'), + (0x2C67, 'M', u'ⱨ'), + (0x2C68, 'V'), + (0x2C69, 'M', u'ⱪ'), + (0x2C6A, 'V'), + (0x2C6B, 'M', u'ⱬ'), + (0x2C6C, 'V'), + (0x2C6D, 'M', u'ɑ'), + (0x2C6E, 'M', u'ɱ'), + (0x2C6F, 'M', u'ɐ'), + (0x2C70, 'M', u'ɒ'), + ] + +def _seg_25(): + return [ + (0x2C71, 'V'), + (0x2C72, 'M', u'ⱳ'), + (0x2C73, 'V'), + (0x2C75, 'M', u'ⱶ'), + (0x2C76, 'V'), + (0x2C7C, 'M', u'j'), + (0x2C7D, 'M', u'v'), + (0x2C7E, 'M', u'ȿ'), + (0x2C7F, 'M', u'ɀ'), + (0x2C80, 'M', u'ⲁ'), + (0x2C81, 'V'), + (0x2C82, 'M', u'ⲃ'), + (0x2C83, 'V'), + (0x2C84, 'M', u'ⲅ'), + (0x2C85, 'V'), + (0x2C86, 'M', u'ⲇ'), + (0x2C87, 'V'), + (0x2C88, 'M', u'ⲉ'), + (0x2C89, 'V'), + (0x2C8A, 'M', u'ⲋ'), + (0x2C8B, 'V'), + (0x2C8C, 'M', u'ⲍ'), + (0x2C8D, 'V'), + (0x2C8E, 'M', u'ⲏ'), + (0x2C8F, 'V'), + (0x2C90, 'M', u'ⲑ'), + (0x2C91, 'V'), + (0x2C92, 'M', u'ⲓ'), + (0x2C93, 'V'), + (0x2C94, 'M', u'ⲕ'), + (0x2C95, 'V'), + (0x2C96, 'M', u'ⲗ'), + (0x2C97, 'V'), + (0x2C98, 'M', u'ⲙ'), + (0x2C99, 'V'), + (0x2C9A, 'M', u'ⲛ'), + (0x2C9B, 'V'), + (0x2C9C, 'M', u'ⲝ'), + (0x2C9D, 'V'), + (0x2C9E, 'M', u'ⲟ'), + (0x2C9F, 'V'), + (0x2CA0, 'M', u'ⲡ'), + (0x2CA1, 'V'), + (0x2CA2, 'M', u'ⲣ'), + (0x2CA3, 'V'), + (0x2CA4, 'M', u'ⲥ'), + (0x2CA5, 'V'), + (0x2CA6, 'M', u'ⲧ'), + (0x2CA7, 'V'), + (0x2CA8, 'M', u'ⲩ'), + (0x2CA9, 'V'), + (0x2CAA, 'M', u'ⲫ'), + (0x2CAB, 'V'), + (0x2CAC, 'M', u'ⲭ'), + (0x2CAD, 'V'), + (0x2CAE, 'M', u'ⲯ'), + (0x2CAF, 'V'), + (0x2CB0, 'M', u'ⲱ'), + (0x2CB1, 'V'), + (0x2CB2, 'M', u'ⲳ'), + (0x2CB3, 'V'), + (0x2CB4, 'M', u'ⲵ'), + (0x2CB5, 'V'), + (0x2CB6, 'M', u'ⲷ'), + (0x2CB7, 'V'), + (0x2CB8, 'M', u'ⲹ'), + (0x2CB9, 'V'), + (0x2CBA, 'M', u'ⲻ'), + (0x2CBB, 'V'), + (0x2CBC, 'M', u'ⲽ'), + (0x2CBD, 'V'), + (0x2CBE, 'M', u'ⲿ'), + (0x2CBF, 'V'), + (0x2CC0, 'M', u'ⳁ'), + (0x2CC1, 'V'), + (0x2CC2, 'M', u'ⳃ'), + (0x2CC3, 'V'), + (0x2CC4, 'M', u'ⳅ'), + (0x2CC5, 'V'), + (0x2CC6, 'M', u'ⳇ'), + (0x2CC7, 'V'), + (0x2CC8, 'M', u'ⳉ'), + (0x2CC9, 'V'), + (0x2CCA, 'M', u'ⳋ'), + (0x2CCB, 'V'), + (0x2CCC, 'M', u'ⳍ'), + (0x2CCD, 'V'), + (0x2CCE, 'M', u'ⳏ'), + (0x2CCF, 'V'), + (0x2CD0, 'M', u'ⳑ'), + (0x2CD1, 'V'), + (0x2CD2, 'M', u'ⳓ'), + (0x2CD3, 'V'), + (0x2CD4, 'M', u'ⳕ'), + (0x2CD5, 'V'), + (0x2CD6, 'M', u'ⳗ'), + (0x2CD7, 'V'), + (0x2CD8, 'M', u'ⳙ'), + (0x2CD9, 'V'), + (0x2CDA, 'M', u'ⳛ'), + ] + +def _seg_26(): + return [ + (0x2CDB, 'V'), + (0x2CDC, 'M', u'ⳝ'), + (0x2CDD, 'V'), + (0x2CDE, 'M', u'ⳟ'), + (0x2CDF, 'V'), + (0x2CE0, 'M', u'ⳡ'), + (0x2CE1, 'V'), + (0x2CE2, 'M', u'ⳣ'), + (0x2CE3, 'V'), + (0x2CEB, 'M', u'ⳬ'), + (0x2CEC, 'V'), + (0x2CED, 'M', u'ⳮ'), + (0x2CEE, 'V'), + (0x2CF2, 'M', u'ⳳ'), + (0x2CF3, 'V'), + (0x2CF4, 'X'), + (0x2CF9, 'V'), + (0x2D26, 'X'), + (0x2D27, 'V'), + (0x2D28, 'X'), + (0x2D2D, 'V'), + (0x2D2E, 'X'), + (0x2D30, 'V'), + (0x2D68, 'X'), + (0x2D6F, 'M', u'ⵡ'), + (0x2D70, 'V'), + (0x2D71, 'X'), + (0x2D7F, 'V'), + (0x2D97, 'X'), + (0x2DA0, 'V'), + (0x2DA7, 'X'), + (0x2DA8, 'V'), + (0x2DAF, 'X'), + (0x2DB0, 'V'), + (0x2DB7, 'X'), + (0x2DB8, 'V'), + (0x2DBF, 'X'), + (0x2DC0, 'V'), + (0x2DC7, 'X'), + (0x2DC8, 'V'), + (0x2DCF, 'X'), + (0x2DD0, 'V'), + (0x2DD7, 'X'), + (0x2DD8, 'V'), + (0x2DDF, 'X'), + (0x2DE0, 'V'), + (0x2E4F, 'X'), + (0x2E80, 'V'), + (0x2E9A, 'X'), + (0x2E9B, 'V'), + (0x2E9F, 'M', u'母'), + (0x2EA0, 'V'), + (0x2EF3, 'M', u'龟'), + (0x2EF4, 'X'), + (0x2F00, 'M', u'一'), + (0x2F01, 'M', u'丨'), + (0x2F02, 'M', u'丶'), + (0x2F03, 'M', u'丿'), + (0x2F04, 'M', u'乙'), + (0x2F05, 'M', u'亅'), + (0x2F06, 'M', u'二'), + (0x2F07, 'M', u'亠'), + (0x2F08, 'M', u'人'), + (0x2F09, 'M', u'儿'), + (0x2F0A, 'M', u'入'), + (0x2F0B, 'M', u'八'), + (0x2F0C, 'M', u'冂'), + (0x2F0D, 'M', u'冖'), + (0x2F0E, 'M', u'冫'), + (0x2F0F, 'M', u'几'), + (0x2F10, 'M', u'凵'), + (0x2F11, 'M', u'刀'), + (0x2F12, 'M', u'力'), + (0x2F13, 'M', u'勹'), + (0x2F14, 'M', u'匕'), + (0x2F15, 'M', u'匚'), + (0x2F16, 'M', u'匸'), + (0x2F17, 'M', u'十'), + (0x2F18, 'M', u'卜'), + (0x2F19, 'M', u'卩'), + (0x2F1A, 'M', u'厂'), + (0x2F1B, 'M', u'厶'), + (0x2F1C, 'M', u'又'), + (0x2F1D, 'M', u'口'), + (0x2F1E, 'M', u'囗'), + (0x2F1F, 'M', u'土'), + (0x2F20, 'M', u'士'), + (0x2F21, 'M', u'夂'), + (0x2F22, 'M', u'夊'), + (0x2F23, 'M', u'夕'), + (0x2F24, 'M', u'大'), + (0x2F25, 'M', u'女'), + (0x2F26, 'M', u'子'), + (0x2F27, 'M', u'宀'), + (0x2F28, 'M', u'寸'), + (0x2F29, 'M', u'小'), + (0x2F2A, 'M', u'尢'), + (0x2F2B, 'M', u'尸'), + (0x2F2C, 'M', u'屮'), + (0x2F2D, 'M', u'山'), + ] + +def _seg_27(): + return [ + (0x2F2E, 'M', u'巛'), + (0x2F2F, 'M', u'工'), + (0x2F30, 'M', u'己'), + (0x2F31, 'M', u'巾'), + (0x2F32, 'M', u'干'), + (0x2F33, 'M', u'幺'), + (0x2F34, 'M', u'广'), + (0x2F35, 'M', u'廴'), + (0x2F36, 'M', u'廾'), + (0x2F37, 'M', u'弋'), + (0x2F38, 'M', u'弓'), + (0x2F39, 'M', u'彐'), + (0x2F3A, 'M', u'彡'), + (0x2F3B, 'M', u'彳'), + (0x2F3C, 'M', u'心'), + (0x2F3D, 'M', u'戈'), + (0x2F3E, 'M', u'戶'), + (0x2F3F, 'M', u'手'), + (0x2F40, 'M', u'支'), + (0x2F41, 'M', u'攴'), + (0x2F42, 'M', u'文'), + (0x2F43, 'M', u'斗'), + (0x2F44, 'M', u'斤'), + (0x2F45, 'M', u'方'), + (0x2F46, 'M', u'无'), + (0x2F47, 'M', u'日'), + (0x2F48, 'M', u'曰'), + (0x2F49, 'M', u'月'), + (0x2F4A, 'M', u'木'), + (0x2F4B, 'M', u'欠'), + (0x2F4C, 'M', u'止'), + (0x2F4D, 'M', u'歹'), + (0x2F4E, 'M', u'殳'), + (0x2F4F, 'M', u'毋'), + (0x2F50, 'M', u'比'), + (0x2F51, 'M', u'毛'), + (0x2F52, 'M', u'氏'), + (0x2F53, 'M', u'气'), + (0x2F54, 'M', u'水'), + (0x2F55, 'M', u'火'), + (0x2F56, 'M', u'爪'), + (0x2F57, 'M', u'父'), + (0x2F58, 'M', u'爻'), + (0x2F59, 'M', u'爿'), + (0x2F5A, 'M', u'片'), + (0x2F5B, 'M', u'牙'), + (0x2F5C, 'M', u'牛'), + (0x2F5D, 'M', u'犬'), + (0x2F5E, 'M', u'玄'), + (0x2F5F, 'M', u'玉'), + (0x2F60, 'M', u'瓜'), + (0x2F61, 'M', u'瓦'), + (0x2F62, 'M', u'甘'), + (0x2F63, 'M', u'生'), + (0x2F64, 'M', u'用'), + (0x2F65, 'M', u'田'), + (0x2F66, 'M', u'疋'), + (0x2F67, 'M', u'疒'), + (0x2F68, 'M', u'癶'), + (0x2F69, 'M', u'白'), + (0x2F6A, 'M', u'皮'), + (0x2F6B, 'M', u'皿'), + (0x2F6C, 'M', u'目'), + (0x2F6D, 'M', u'矛'), + (0x2F6E, 'M', u'矢'), + (0x2F6F, 'M', u'石'), + (0x2F70, 'M', u'示'), + (0x2F71, 'M', u'禸'), + (0x2F72, 'M', u'禾'), + (0x2F73, 'M', u'穴'), + (0x2F74, 'M', u'立'), + (0x2F75, 'M', u'竹'), + (0x2F76, 'M', u'米'), + (0x2F77, 'M', u'糸'), + (0x2F78, 'M', u'缶'), + (0x2F79, 'M', u'网'), + (0x2F7A, 'M', u'羊'), + (0x2F7B, 'M', u'羽'), + (0x2F7C, 'M', u'老'), + (0x2F7D, 'M', u'而'), + (0x2F7E, 'M', u'耒'), + (0x2F7F, 'M', u'耳'), + (0x2F80, 'M', u'聿'), + (0x2F81, 'M', u'肉'), + (0x2F82, 'M', u'臣'), + (0x2F83, 'M', u'自'), + (0x2F84, 'M', u'至'), + (0x2F85, 'M', u'臼'), + (0x2F86, 'M', u'舌'), + (0x2F87, 'M', u'舛'), + (0x2F88, 'M', u'舟'), + (0x2F89, 'M', u'艮'), + (0x2F8A, 'M', u'色'), + (0x2F8B, 'M', u'艸'), + (0x2F8C, 'M', u'虍'), + (0x2F8D, 'M', u'虫'), + (0x2F8E, 'M', u'血'), + (0x2F8F, 'M', u'行'), + (0x2F90, 'M', u'衣'), + (0x2F91, 'M', u'襾'), + ] + +def _seg_28(): + return [ + (0x2F92, 'M', u'見'), + (0x2F93, 'M', u'角'), + (0x2F94, 'M', u'言'), + (0x2F95, 'M', u'谷'), + (0x2F96, 'M', u'豆'), + (0x2F97, 'M', u'豕'), + (0x2F98, 'M', u'豸'), + (0x2F99, 'M', u'貝'), + (0x2F9A, 'M', u'赤'), + (0x2F9B, 'M', u'走'), + (0x2F9C, 'M', u'足'), + (0x2F9D, 'M', u'身'), + (0x2F9E, 'M', u'車'), + (0x2F9F, 'M', u'辛'), + (0x2FA0, 'M', u'辰'), + (0x2FA1, 'M', u'辵'), + (0x2FA2, 'M', u'邑'), + (0x2FA3, 'M', u'酉'), + (0x2FA4, 'M', u'釆'), + (0x2FA5, 'M', u'里'), + (0x2FA6, 'M', u'金'), + (0x2FA7, 'M', u'長'), + (0x2FA8, 'M', u'門'), + (0x2FA9, 'M', u'阜'), + (0x2FAA, 'M', u'隶'), + (0x2FAB, 'M', u'隹'), + (0x2FAC, 'M', u'雨'), + (0x2FAD, 'M', u'靑'), + (0x2FAE, 'M', u'非'), + (0x2FAF, 'M', u'面'), + (0x2FB0, 'M', u'革'), + (0x2FB1, 'M', u'韋'), + (0x2FB2, 'M', u'韭'), + (0x2FB3, 'M', u'音'), + (0x2FB4, 'M', u'頁'), + (0x2FB5, 'M', u'風'), + (0x2FB6, 'M', u'飛'), + (0x2FB7, 'M', u'食'), + (0x2FB8, 'M', u'首'), + (0x2FB9, 'M', u'香'), + (0x2FBA, 'M', u'馬'), + (0x2FBB, 'M', u'骨'), + (0x2FBC, 'M', u'高'), + (0x2FBD, 'M', u'髟'), + (0x2FBE, 'M', u'鬥'), + (0x2FBF, 'M', u'鬯'), + (0x2FC0, 'M', u'鬲'), + (0x2FC1, 'M', u'鬼'), + (0x2FC2, 'M', u'魚'), + (0x2FC3, 'M', u'鳥'), + (0x2FC4, 'M', u'鹵'), + (0x2FC5, 'M', u'鹿'), + (0x2FC6, 'M', u'麥'), + (0x2FC7, 'M', u'麻'), + (0x2FC8, 'M', u'黃'), + (0x2FC9, 'M', u'黍'), + (0x2FCA, 'M', u'黑'), + (0x2FCB, 'M', u'黹'), + (0x2FCC, 'M', u'黽'), + (0x2FCD, 'M', u'鼎'), + (0x2FCE, 'M', u'鼓'), + (0x2FCF, 'M', u'鼠'), + (0x2FD0, 'M', u'鼻'), + (0x2FD1, 'M', u'齊'), + (0x2FD2, 'M', u'齒'), + (0x2FD3, 'M', u'龍'), + (0x2FD4, 'M', u'龜'), + (0x2FD5, 'M', u'龠'), + (0x2FD6, 'X'), + (0x3000, '3', u' '), + (0x3001, 'V'), + (0x3002, 'M', u'.'), + (0x3003, 'V'), + (0x3036, 'M', u'〒'), + (0x3037, 'V'), + (0x3038, 'M', u'十'), + (0x3039, 'M', u'卄'), + (0x303A, 'M', u'卅'), + (0x303B, 'V'), + (0x3040, 'X'), + (0x3041, 'V'), + (0x3097, 'X'), + (0x3099, 'V'), + (0x309B, '3', u' ゙'), + (0x309C, '3', u' ゚'), + (0x309D, 'V'), + (0x309F, 'M', u'より'), + (0x30A0, 'V'), + (0x30FF, 'M', u'コト'), + (0x3100, 'X'), + (0x3105, 'V'), + (0x3130, 'X'), + (0x3131, 'M', u'ᄀ'), + (0x3132, 'M', u'ᄁ'), + (0x3133, 'M', u'ᆪ'), + (0x3134, 'M', u'ᄂ'), + (0x3135, 'M', u'ᆬ'), + (0x3136, 'M', u'ᆭ'), + (0x3137, 'M', u'ᄃ'), + (0x3138, 'M', u'ᄄ'), + ] + +def _seg_29(): + return [ + (0x3139, 'M', u'ᄅ'), + (0x313A, 'M', u'ᆰ'), + (0x313B, 'M', u'ᆱ'), + (0x313C, 'M', u'ᆲ'), + (0x313D, 'M', u'ᆳ'), + (0x313E, 'M', u'ᆴ'), + (0x313F, 'M', u'ᆵ'), + (0x3140, 'M', u'ᄚ'), + (0x3141, 'M', u'ᄆ'), + (0x3142, 'M', u'ᄇ'), + (0x3143, 'M', u'ᄈ'), + (0x3144, 'M', u'ᄡ'), + (0x3145, 'M', u'ᄉ'), + (0x3146, 'M', u'ᄊ'), + (0x3147, 'M', u'ᄋ'), + (0x3148, 'M', u'ᄌ'), + (0x3149, 'M', u'ᄍ'), + (0x314A, 'M', u'ᄎ'), + (0x314B, 'M', u'ᄏ'), + (0x314C, 'M', u'ᄐ'), + (0x314D, 'M', u'ᄑ'), + (0x314E, 'M', u'ᄒ'), + (0x314F, 'M', u'ᅡ'), + (0x3150, 'M', u'ᅢ'), + (0x3151, 'M', u'ᅣ'), + (0x3152, 'M', u'ᅤ'), + (0x3153, 'M', u'ᅥ'), + (0x3154, 'M', u'ᅦ'), + (0x3155, 'M', u'ᅧ'), + (0x3156, 'M', u'ᅨ'), + (0x3157, 'M', u'ᅩ'), + (0x3158, 'M', u'ᅪ'), + (0x3159, 'M', u'ᅫ'), + (0x315A, 'M', u'ᅬ'), + (0x315B, 'M', u'ᅭ'), + (0x315C, 'M', u'ᅮ'), + (0x315D, 'M', u'ᅯ'), + (0x315E, 'M', u'ᅰ'), + (0x315F, 'M', u'ᅱ'), + (0x3160, 'M', u'ᅲ'), + (0x3161, 'M', u'ᅳ'), + (0x3162, 'M', u'ᅴ'), + (0x3163, 'M', u'ᅵ'), + (0x3164, 'X'), + (0x3165, 'M', u'ᄔ'), + (0x3166, 'M', u'ᄕ'), + (0x3167, 'M', u'ᇇ'), + (0x3168, 'M', u'ᇈ'), + (0x3169, 'M', u'ᇌ'), + (0x316A, 'M', u'ᇎ'), + (0x316B, 'M', u'ᇓ'), + (0x316C, 'M', u'ᇗ'), + (0x316D, 'M', u'ᇙ'), + (0x316E, 'M', u'ᄜ'), + (0x316F, 'M', u'ᇝ'), + (0x3170, 'M', u'ᇟ'), + (0x3171, 'M', u'ᄝ'), + (0x3172, 'M', u'ᄞ'), + (0x3173, 'M', u'ᄠ'), + (0x3174, 'M', u'ᄢ'), + (0x3175, 'M', u'ᄣ'), + (0x3176, 'M', u'ᄧ'), + (0x3177, 'M', u'ᄩ'), + (0x3178, 'M', u'ᄫ'), + (0x3179, 'M', u'ᄬ'), + (0x317A, 'M', u'ᄭ'), + (0x317B, 'M', u'ᄮ'), + (0x317C, 'M', u'ᄯ'), + (0x317D, 'M', u'ᄲ'), + (0x317E, 'M', u'ᄶ'), + (0x317F, 'M', u'ᅀ'), + (0x3180, 'M', u'ᅇ'), + (0x3181, 'M', u'ᅌ'), + (0x3182, 'M', u'ᇱ'), + (0x3183, 'M', u'ᇲ'), + (0x3184, 'M', u'ᅗ'), + (0x3185, 'M', u'ᅘ'), + (0x3186, 'M', u'ᅙ'), + (0x3187, 'M', u'ᆄ'), + (0x3188, 'M', u'ᆅ'), + (0x3189, 'M', u'ᆈ'), + (0x318A, 'M', u'ᆑ'), + (0x318B, 'M', u'ᆒ'), + (0x318C, 'M', u'ᆔ'), + (0x318D, 'M', u'ᆞ'), + (0x318E, 'M', u'ᆡ'), + (0x318F, 'X'), + (0x3190, 'V'), + (0x3192, 'M', u'一'), + (0x3193, 'M', u'二'), + (0x3194, 'M', u'三'), + (0x3195, 'M', u'四'), + (0x3196, 'M', u'上'), + (0x3197, 'M', u'中'), + (0x3198, 'M', u'下'), + (0x3199, 'M', u'甲'), + (0x319A, 'M', u'乙'), + (0x319B, 'M', u'丙'), + (0x319C, 'M', u'丁'), + (0x319D, 'M', u'天'), + ] + +def _seg_30(): + return [ + (0x319E, 'M', u'地'), + (0x319F, 'M', u'人'), + (0x31A0, 'V'), + (0x31BB, 'X'), + (0x31C0, 'V'), + (0x31E4, 'X'), + (0x31F0, 'V'), + (0x3200, '3', u'(ᄀ)'), + (0x3201, '3', u'(ᄂ)'), + (0x3202, '3', u'(ᄃ)'), + (0x3203, '3', u'(ᄅ)'), + (0x3204, '3', u'(ᄆ)'), + (0x3205, '3', u'(ᄇ)'), + (0x3206, '3', u'(ᄉ)'), + (0x3207, '3', u'(ᄋ)'), + (0x3208, '3', u'(ᄌ)'), + (0x3209, '3', u'(ᄎ)'), + (0x320A, '3', u'(ᄏ)'), + (0x320B, '3', u'(ᄐ)'), + (0x320C, '3', u'(ᄑ)'), + (0x320D, '3', u'(ᄒ)'), + (0x320E, '3', u'(가)'), + (0x320F, '3', u'(나)'), + (0x3210, '3', u'(다)'), + (0x3211, '3', u'(라)'), + (0x3212, '3', u'(마)'), + (0x3213, '3', u'(바)'), + (0x3214, '3', u'(사)'), + (0x3215, '3', u'(아)'), + (0x3216, '3', u'(자)'), + (0x3217, '3', u'(차)'), + (0x3218, '3', u'(카)'), + (0x3219, '3', u'(타)'), + (0x321A, '3', u'(파)'), + (0x321B, '3', u'(하)'), + (0x321C, '3', u'(주)'), + (0x321D, '3', u'(오전)'), + (0x321E, '3', u'(오후)'), + (0x321F, 'X'), + (0x3220, '3', u'(一)'), + (0x3221, '3', u'(二)'), + (0x3222, '3', u'(三)'), + (0x3223, '3', u'(四)'), + (0x3224, '3', u'(五)'), + (0x3225, '3', u'(六)'), + (0x3226, '3', u'(七)'), + (0x3227, '3', u'(八)'), + (0x3228, '3', u'(九)'), + (0x3229, '3', u'(十)'), + (0x322A, '3', u'(月)'), + (0x322B, '3', u'(火)'), + (0x322C, '3', u'(水)'), + (0x322D, '3', u'(木)'), + (0x322E, '3', u'(金)'), + (0x322F, '3', u'(土)'), + (0x3230, '3', u'(日)'), + (0x3231, '3', u'(株)'), + (0x3232, '3', u'(有)'), + (0x3233, '3', u'(社)'), + (0x3234, '3', u'(名)'), + (0x3235, '3', u'(特)'), + (0x3236, '3', u'(財)'), + (0x3237, '3', u'(祝)'), + (0x3238, '3', u'(労)'), + (0x3239, '3', u'(代)'), + (0x323A, '3', u'(呼)'), + (0x323B, '3', u'(学)'), + (0x323C, '3', u'(監)'), + (0x323D, '3', u'(企)'), + (0x323E, '3', u'(資)'), + (0x323F, '3', u'(協)'), + (0x3240, '3', u'(祭)'), + (0x3241, '3', u'(休)'), + (0x3242, '3', u'(自)'), + (0x3243, '3', u'(至)'), + (0x3244, 'M', u'問'), + (0x3245, 'M', u'幼'), + (0x3246, 'M', u'文'), + (0x3247, 'M', u'箏'), + (0x3248, 'V'), + (0x3250, 'M', u'pte'), + (0x3251, 'M', u'21'), + (0x3252, 'M', u'22'), + (0x3253, 'M', u'23'), + (0x3254, 'M', u'24'), + (0x3255, 'M', u'25'), + (0x3256, 'M', u'26'), + (0x3257, 'M', u'27'), + (0x3258, 'M', u'28'), + (0x3259, 'M', u'29'), + (0x325A, 'M', u'30'), + (0x325B, 'M', u'31'), + (0x325C, 'M', u'32'), + (0x325D, 'M', u'33'), + (0x325E, 'M', u'34'), + (0x325F, 'M', u'35'), + (0x3260, 'M', u'ᄀ'), + (0x3261, 'M', u'ᄂ'), + (0x3262, 'M', u'ᄃ'), + (0x3263, 'M', u'ᄅ'), + ] + +def _seg_31(): + return [ + (0x3264, 'M', u'ᄆ'), + (0x3265, 'M', u'ᄇ'), + (0x3266, 'M', u'ᄉ'), + (0x3267, 'M', u'ᄋ'), + (0x3268, 'M', u'ᄌ'), + (0x3269, 'M', u'ᄎ'), + (0x326A, 'M', u'ᄏ'), + (0x326B, 'M', u'ᄐ'), + (0x326C, 'M', u'ᄑ'), + (0x326D, 'M', u'ᄒ'), + (0x326E, 'M', u'가'), + (0x326F, 'M', u'나'), + (0x3270, 'M', u'다'), + (0x3271, 'M', u'라'), + (0x3272, 'M', u'마'), + (0x3273, 'M', u'바'), + (0x3274, 'M', u'사'), + (0x3275, 'M', u'아'), + (0x3276, 'M', u'자'), + (0x3277, 'M', u'차'), + (0x3278, 'M', u'카'), + (0x3279, 'M', u'타'), + (0x327A, 'M', u'파'), + (0x327B, 'M', u'하'), + (0x327C, 'M', u'참고'), + (0x327D, 'M', u'주의'), + (0x327E, 'M', u'우'), + (0x327F, 'V'), + (0x3280, 'M', u'一'), + (0x3281, 'M', u'二'), + (0x3282, 'M', u'三'), + (0x3283, 'M', u'四'), + (0x3284, 'M', u'五'), + (0x3285, 'M', u'六'), + (0x3286, 'M', u'七'), + (0x3287, 'M', u'八'), + (0x3288, 'M', u'九'), + (0x3289, 'M', u'十'), + (0x328A, 'M', u'月'), + (0x328B, 'M', u'火'), + (0x328C, 'M', u'水'), + (0x328D, 'M', u'木'), + (0x328E, 'M', u'金'), + (0x328F, 'M', u'土'), + (0x3290, 'M', u'日'), + (0x3291, 'M', u'株'), + (0x3292, 'M', u'有'), + (0x3293, 'M', u'社'), + (0x3294, 'M', u'名'), + (0x3295, 'M', u'特'), + (0x3296, 'M', u'財'), + (0x3297, 'M', u'祝'), + (0x3298, 'M', u'労'), + (0x3299, 'M', u'秘'), + (0x329A, 'M', u'男'), + (0x329B, 'M', u'女'), + (0x329C, 'M', u'適'), + (0x329D, 'M', u'優'), + (0x329E, 'M', u'印'), + (0x329F, 'M', u'注'), + (0x32A0, 'M', u'項'), + (0x32A1, 'M', u'休'), + (0x32A2, 'M', u'写'), + (0x32A3, 'M', u'正'), + (0x32A4, 'M', u'上'), + (0x32A5, 'M', u'中'), + (0x32A6, 'M', u'下'), + (0x32A7, 'M', u'左'), + (0x32A8, 'M', u'右'), + (0x32A9, 'M', u'医'), + (0x32AA, 'M', u'宗'), + (0x32AB, 'M', u'学'), + (0x32AC, 'M', u'監'), + (0x32AD, 'M', u'企'), + (0x32AE, 'M', u'資'), + (0x32AF, 'M', u'協'), + (0x32B0, 'M', u'夜'), + (0x32B1, 'M', u'36'), + (0x32B2, 'M', u'37'), + (0x32B3, 'M', u'38'), + (0x32B4, 'M', u'39'), + (0x32B5, 'M', u'40'), + (0x32B6, 'M', u'41'), + (0x32B7, 'M', u'42'), + (0x32B8, 'M', u'43'), + (0x32B9, 'M', u'44'), + (0x32BA, 'M', u'45'), + (0x32BB, 'M', u'46'), + (0x32BC, 'M', u'47'), + (0x32BD, 'M', u'48'), + (0x32BE, 'M', u'49'), + (0x32BF, 'M', u'50'), + (0x32C0, 'M', u'1月'), + (0x32C1, 'M', u'2月'), + (0x32C2, 'M', u'3月'), + (0x32C3, 'M', u'4月'), + (0x32C4, 'M', u'5月'), + (0x32C5, 'M', u'6月'), + (0x32C6, 'M', u'7月'), + (0x32C7, 'M', u'8月'), + ] + +def _seg_32(): + return [ + (0x32C8, 'M', u'9月'), + (0x32C9, 'M', u'10月'), + (0x32CA, 'M', u'11月'), + (0x32CB, 'M', u'12月'), + (0x32CC, 'M', u'hg'), + (0x32CD, 'M', u'erg'), + (0x32CE, 'M', u'ev'), + (0x32CF, 'M', u'ltd'), + (0x32D0, 'M', u'ア'), + (0x32D1, 'M', u'イ'), + (0x32D2, 'M', u'ウ'), + (0x32D3, 'M', u'エ'), + (0x32D4, 'M', u'オ'), + (0x32D5, 'M', u'カ'), + (0x32D6, 'M', u'キ'), + (0x32D7, 'M', u'ク'), + (0x32D8, 'M', u'ケ'), + (0x32D9, 'M', u'コ'), + (0x32DA, 'M', u'サ'), + (0x32DB, 'M', u'シ'), + (0x32DC, 'M', u'ス'), + (0x32DD, 'M', u'セ'), + (0x32DE, 'M', u'ソ'), + (0x32DF, 'M', u'タ'), + (0x32E0, 'M', u'チ'), + (0x32E1, 'M', u'ツ'), + (0x32E2, 'M', u'テ'), + (0x32E3, 'M', u'ト'), + (0x32E4, 'M', u'ナ'), + (0x32E5, 'M', u'ニ'), + (0x32E6, 'M', u'ヌ'), + (0x32E7, 'M', u'ネ'), + (0x32E8, 'M', u'ノ'), + (0x32E9, 'M', u'ハ'), + (0x32EA, 'M', u'ヒ'), + (0x32EB, 'M', u'フ'), + (0x32EC, 'M', u'ヘ'), + (0x32ED, 'M', u'ホ'), + (0x32EE, 'M', u'マ'), + (0x32EF, 'M', u'ミ'), + (0x32F0, 'M', u'ム'), + (0x32F1, 'M', u'メ'), + (0x32F2, 'M', u'モ'), + (0x32F3, 'M', u'ヤ'), + (0x32F4, 'M', u'ユ'), + (0x32F5, 'M', u'ヨ'), + (0x32F6, 'M', u'ラ'), + (0x32F7, 'M', u'リ'), + (0x32F8, 'M', u'ル'), + (0x32F9, 'M', u'レ'), + (0x32FA, 'M', u'ロ'), + (0x32FB, 'M', u'ワ'), + (0x32FC, 'M', u'ヰ'), + (0x32FD, 'M', u'ヱ'), + (0x32FE, 'M', u'ヲ'), + (0x32FF, 'X'), + (0x3300, 'M', u'アパート'), + (0x3301, 'M', u'アルファ'), + (0x3302, 'M', u'アンペア'), + (0x3303, 'M', u'アール'), + (0x3304, 'M', u'イニング'), + (0x3305, 'M', u'インチ'), + (0x3306, 'M', u'ウォン'), + (0x3307, 'M', u'エスクード'), + (0x3308, 'M', u'エーカー'), + (0x3309, 'M', u'オンス'), + (0x330A, 'M', u'オーム'), + (0x330B, 'M', u'カイリ'), + (0x330C, 'M', u'カラット'), + (0x330D, 'M', u'カロリー'), + (0x330E, 'M', u'ガロン'), + (0x330F, 'M', u'ガンマ'), + (0x3310, 'M', u'ギガ'), + (0x3311, 'M', u'ギニー'), + (0x3312, 'M', u'キュリー'), + (0x3313, 'M', u'ギルダー'), + (0x3314, 'M', u'キロ'), + (0x3315, 'M', u'キログラム'), + (0x3316, 'M', u'キロメートル'), + (0x3317, 'M', u'キロワット'), + (0x3318, 'M', u'グラム'), + (0x3319, 'M', u'グラムトン'), + (0x331A, 'M', u'クルゼイロ'), + (0x331B, 'M', u'クローネ'), + (0x331C, 'M', u'ケース'), + (0x331D, 'M', u'コルナ'), + (0x331E, 'M', u'コーポ'), + (0x331F, 'M', u'サイクル'), + (0x3320, 'M', u'サンチーム'), + (0x3321, 'M', u'シリング'), + (0x3322, 'M', u'センチ'), + (0x3323, 'M', u'セント'), + (0x3324, 'M', u'ダース'), + (0x3325, 'M', u'デシ'), + (0x3326, 'M', u'ドル'), + (0x3327, 'M', u'トン'), + (0x3328, 'M', u'ナノ'), + (0x3329, 'M', u'ノット'), + (0x332A, 'M', u'ハイツ'), + (0x332B, 'M', u'パーセント'), + ] + +def _seg_33(): + return [ + (0x332C, 'M', u'パーツ'), + (0x332D, 'M', u'バーレル'), + (0x332E, 'M', u'ピアストル'), + (0x332F, 'M', u'ピクル'), + (0x3330, 'M', u'ピコ'), + (0x3331, 'M', u'ビル'), + (0x3332, 'M', u'ファラッド'), + (0x3333, 'M', u'フィート'), + (0x3334, 'M', u'ブッシェル'), + (0x3335, 'M', u'フラン'), + (0x3336, 'M', u'ヘクタール'), + (0x3337, 'M', u'ペソ'), + (0x3338, 'M', u'ペニヒ'), + (0x3339, 'M', u'ヘルツ'), + (0x333A, 'M', u'ペンス'), + (0x333B, 'M', u'ページ'), + (0x333C, 'M', u'ベータ'), + (0x333D, 'M', u'ポイント'), + (0x333E, 'M', u'ボルト'), + (0x333F, 'M', u'ホン'), + (0x3340, 'M', u'ポンド'), + (0x3341, 'M', u'ホール'), + (0x3342, 'M', u'ホーン'), + (0x3343, 'M', u'マイクロ'), + (0x3344, 'M', u'マイル'), + (0x3345, 'M', u'マッハ'), + (0x3346, 'M', u'マルク'), + (0x3347, 'M', u'マンション'), + (0x3348, 'M', u'ミクロン'), + (0x3349, 'M', u'ミリ'), + (0x334A, 'M', u'ミリバール'), + (0x334B, 'M', u'メガ'), + (0x334C, 'M', u'メガトン'), + (0x334D, 'M', u'メートル'), + (0x334E, 'M', u'ヤード'), + (0x334F, 'M', u'ヤール'), + (0x3350, 'M', u'ユアン'), + (0x3351, 'M', u'リットル'), + (0x3352, 'M', u'リラ'), + (0x3353, 'M', u'ルピー'), + (0x3354, 'M', u'ルーブル'), + (0x3355, 'M', u'レム'), + (0x3356, 'M', u'レントゲン'), + (0x3357, 'M', u'ワット'), + (0x3358, 'M', u'0点'), + (0x3359, 'M', u'1点'), + (0x335A, 'M', u'2点'), + (0x335B, 'M', u'3点'), + (0x335C, 'M', u'4点'), + (0x335D, 'M', u'5点'), + (0x335E, 'M', u'6点'), + (0x335F, 'M', u'7点'), + (0x3360, 'M', u'8点'), + (0x3361, 'M', u'9点'), + (0x3362, 'M', u'10点'), + (0x3363, 'M', u'11点'), + (0x3364, 'M', u'12点'), + (0x3365, 'M', u'13点'), + (0x3366, 'M', u'14点'), + (0x3367, 'M', u'15点'), + (0x3368, 'M', u'16点'), + (0x3369, 'M', u'17点'), + (0x336A, 'M', u'18点'), + (0x336B, 'M', u'19点'), + (0x336C, 'M', u'20点'), + (0x336D, 'M', u'21点'), + (0x336E, 'M', u'22点'), + (0x336F, 'M', u'23点'), + (0x3370, 'M', u'24点'), + (0x3371, 'M', u'hpa'), + (0x3372, 'M', u'da'), + (0x3373, 'M', u'au'), + (0x3374, 'M', u'bar'), + (0x3375, 'M', u'ov'), + (0x3376, 'M', u'pc'), + (0x3377, 'M', u'dm'), + (0x3378, 'M', u'dm2'), + (0x3379, 'M', u'dm3'), + (0x337A, 'M', u'iu'), + (0x337B, 'M', u'平成'), + (0x337C, 'M', u'昭和'), + (0x337D, 'M', u'大正'), + (0x337E, 'M', u'明治'), + (0x337F, 'M', u'株式会社'), + (0x3380, 'M', u'pa'), + (0x3381, 'M', u'na'), + (0x3382, 'M', u'μa'), + (0x3383, 'M', u'ma'), + (0x3384, 'M', u'ka'), + (0x3385, 'M', u'kb'), + (0x3386, 'M', u'mb'), + (0x3387, 'M', u'gb'), + (0x3388, 'M', u'cal'), + (0x3389, 'M', u'kcal'), + (0x338A, 'M', u'pf'), + (0x338B, 'M', u'nf'), + (0x338C, 'M', u'μf'), + (0x338D, 'M', u'μg'), + (0x338E, 'M', u'mg'), + (0x338F, 'M', u'kg'), + ] + +def _seg_34(): + return [ + (0x3390, 'M', u'hz'), + (0x3391, 'M', u'khz'), + (0x3392, 'M', u'mhz'), + (0x3393, 'M', u'ghz'), + (0x3394, 'M', u'thz'), + (0x3395, 'M', u'μl'), + (0x3396, 'M', u'ml'), + (0x3397, 'M', u'dl'), + (0x3398, 'M', u'kl'), + (0x3399, 'M', u'fm'), + (0x339A, 'M', u'nm'), + (0x339B, 'M', u'μm'), + (0x339C, 'M', u'mm'), + (0x339D, 'M', u'cm'), + (0x339E, 'M', u'km'), + (0x339F, 'M', u'mm2'), + (0x33A0, 'M', u'cm2'), + (0x33A1, 'M', u'm2'), + (0x33A2, 'M', u'km2'), + (0x33A3, 'M', u'mm3'), + (0x33A4, 'M', u'cm3'), + (0x33A5, 'M', u'm3'), + (0x33A6, 'M', u'km3'), + (0x33A7, 'M', u'm∕s'), + (0x33A8, 'M', u'm∕s2'), + (0x33A9, 'M', u'pa'), + (0x33AA, 'M', u'kpa'), + (0x33AB, 'M', u'mpa'), + (0x33AC, 'M', u'gpa'), + (0x33AD, 'M', u'rad'), + (0x33AE, 'M', u'rad∕s'), + (0x33AF, 'M', u'rad∕s2'), + (0x33B0, 'M', u'ps'), + (0x33B1, 'M', u'ns'), + (0x33B2, 'M', u'μs'), + (0x33B3, 'M', u'ms'), + (0x33B4, 'M', u'pv'), + (0x33B5, 'M', u'nv'), + (0x33B6, 'M', u'μv'), + (0x33B7, 'M', u'mv'), + (0x33B8, 'M', u'kv'), + (0x33B9, 'M', u'mv'), + (0x33BA, 'M', u'pw'), + (0x33BB, 'M', u'nw'), + (0x33BC, 'M', u'μw'), + (0x33BD, 'M', u'mw'), + (0x33BE, 'M', u'kw'), + (0x33BF, 'M', u'mw'), + (0x33C0, 'M', u'kω'), + (0x33C1, 'M', u'mω'), + (0x33C2, 'X'), + (0x33C3, 'M', u'bq'), + (0x33C4, 'M', u'cc'), + (0x33C5, 'M', u'cd'), + (0x33C6, 'M', u'c∕kg'), + (0x33C7, 'X'), + (0x33C8, 'M', u'db'), + (0x33C9, 'M', u'gy'), + (0x33CA, 'M', u'ha'), + (0x33CB, 'M', u'hp'), + (0x33CC, 'M', u'in'), + (0x33CD, 'M', u'kk'), + (0x33CE, 'M', u'km'), + (0x33CF, 'M', u'kt'), + (0x33D0, 'M', u'lm'), + (0x33D1, 'M', u'ln'), + (0x33D2, 'M', u'log'), + (0x33D3, 'M', u'lx'), + (0x33D4, 'M', u'mb'), + (0x33D5, 'M', u'mil'), + (0x33D6, 'M', u'mol'), + (0x33D7, 'M', u'ph'), + (0x33D8, 'X'), + (0x33D9, 'M', u'ppm'), + (0x33DA, 'M', u'pr'), + (0x33DB, 'M', u'sr'), + (0x33DC, 'M', u'sv'), + (0x33DD, 'M', u'wb'), + (0x33DE, 'M', u'v∕m'), + (0x33DF, 'M', u'a∕m'), + (0x33E0, 'M', u'1日'), + (0x33E1, 'M', u'2日'), + (0x33E2, 'M', u'3日'), + (0x33E3, 'M', u'4日'), + (0x33E4, 'M', u'5日'), + (0x33E5, 'M', u'6日'), + (0x33E6, 'M', u'7日'), + (0x33E7, 'M', u'8日'), + (0x33E8, 'M', u'9日'), + (0x33E9, 'M', u'10日'), + (0x33EA, 'M', u'11日'), + (0x33EB, 'M', u'12日'), + (0x33EC, 'M', u'13日'), + (0x33ED, 'M', u'14日'), + (0x33EE, 'M', u'15日'), + (0x33EF, 'M', u'16日'), + (0x33F0, 'M', u'17日'), + (0x33F1, 'M', u'18日'), + (0x33F2, 'M', u'19日'), + (0x33F3, 'M', u'20日'), + ] + +def _seg_35(): + return [ + (0x33F4, 'M', u'21日'), + (0x33F5, 'M', u'22日'), + (0x33F6, 'M', u'23日'), + (0x33F7, 'M', u'24日'), + (0x33F8, 'M', u'25日'), + (0x33F9, 'M', u'26日'), + (0x33FA, 'M', u'27日'), + (0x33FB, 'M', u'28日'), + (0x33FC, 'M', u'29日'), + (0x33FD, 'M', u'30日'), + (0x33FE, 'M', u'31日'), + (0x33FF, 'M', u'gal'), + (0x3400, 'V'), + (0x4DB6, 'X'), + (0x4DC0, 'V'), + (0x9FF0, 'X'), + (0xA000, 'V'), + (0xA48D, 'X'), + (0xA490, 'V'), + (0xA4C7, 'X'), + (0xA4D0, 'V'), + (0xA62C, 'X'), + (0xA640, 'M', u'ꙁ'), + (0xA641, 'V'), + (0xA642, 'M', u'ꙃ'), + (0xA643, 'V'), + (0xA644, 'M', u'ꙅ'), + (0xA645, 'V'), + (0xA646, 'M', u'ꙇ'), + (0xA647, 'V'), + (0xA648, 'M', u'ꙉ'), + (0xA649, 'V'), + (0xA64A, 'M', u'ꙋ'), + (0xA64B, 'V'), + (0xA64C, 'M', u'ꙍ'), + (0xA64D, 'V'), + (0xA64E, 'M', u'ꙏ'), + (0xA64F, 'V'), + (0xA650, 'M', u'ꙑ'), + (0xA651, 'V'), + (0xA652, 'M', u'ꙓ'), + (0xA653, 'V'), + (0xA654, 'M', u'ꙕ'), + (0xA655, 'V'), + (0xA656, 'M', u'ꙗ'), + (0xA657, 'V'), + (0xA658, 'M', u'ꙙ'), + (0xA659, 'V'), + (0xA65A, 'M', u'ꙛ'), + (0xA65B, 'V'), + (0xA65C, 'M', u'ꙝ'), + (0xA65D, 'V'), + (0xA65E, 'M', u'ꙟ'), + (0xA65F, 'V'), + (0xA660, 'M', u'ꙡ'), + (0xA661, 'V'), + (0xA662, 'M', u'ꙣ'), + (0xA663, 'V'), + (0xA664, 'M', u'ꙥ'), + (0xA665, 'V'), + (0xA666, 'M', u'ꙧ'), + (0xA667, 'V'), + (0xA668, 'M', u'ꙩ'), + (0xA669, 'V'), + (0xA66A, 'M', u'ꙫ'), + (0xA66B, 'V'), + (0xA66C, 'M', u'ꙭ'), + (0xA66D, 'V'), + (0xA680, 'M', u'ꚁ'), + (0xA681, 'V'), + (0xA682, 'M', u'ꚃ'), + (0xA683, 'V'), + (0xA684, 'M', u'ꚅ'), + (0xA685, 'V'), + (0xA686, 'M', u'ꚇ'), + (0xA687, 'V'), + (0xA688, 'M', u'ꚉ'), + (0xA689, 'V'), + (0xA68A, 'M', u'ꚋ'), + (0xA68B, 'V'), + (0xA68C, 'M', u'ꚍ'), + (0xA68D, 'V'), + (0xA68E, 'M', u'ꚏ'), + (0xA68F, 'V'), + (0xA690, 'M', u'ꚑ'), + (0xA691, 'V'), + (0xA692, 'M', u'ꚓ'), + (0xA693, 'V'), + (0xA694, 'M', u'ꚕ'), + (0xA695, 'V'), + (0xA696, 'M', u'ꚗ'), + (0xA697, 'V'), + (0xA698, 'M', u'ꚙ'), + (0xA699, 'V'), + (0xA69A, 'M', u'ꚛ'), + (0xA69B, 'V'), + (0xA69C, 'M', u'ъ'), + (0xA69D, 'M', u'ь'), + (0xA69E, 'V'), + (0xA6F8, 'X'), + ] + +def _seg_36(): + return [ + (0xA700, 'V'), + (0xA722, 'M', u'ꜣ'), + (0xA723, 'V'), + (0xA724, 'M', u'ꜥ'), + (0xA725, 'V'), + (0xA726, 'M', u'ꜧ'), + (0xA727, 'V'), + (0xA728, 'M', u'ꜩ'), + (0xA729, 'V'), + (0xA72A, 'M', u'ꜫ'), + (0xA72B, 'V'), + (0xA72C, 'M', u'ꜭ'), + (0xA72D, 'V'), + (0xA72E, 'M', u'ꜯ'), + (0xA72F, 'V'), + (0xA732, 'M', u'ꜳ'), + (0xA733, 'V'), + (0xA734, 'M', u'ꜵ'), + (0xA735, 'V'), + (0xA736, 'M', u'ꜷ'), + (0xA737, 'V'), + (0xA738, 'M', u'ꜹ'), + (0xA739, 'V'), + (0xA73A, 'M', u'ꜻ'), + (0xA73B, 'V'), + (0xA73C, 'M', u'ꜽ'), + (0xA73D, 'V'), + (0xA73E, 'M', u'ꜿ'), + (0xA73F, 'V'), + (0xA740, 'M', u'ꝁ'), + (0xA741, 'V'), + (0xA742, 'M', u'ꝃ'), + (0xA743, 'V'), + (0xA744, 'M', u'ꝅ'), + (0xA745, 'V'), + (0xA746, 'M', u'ꝇ'), + (0xA747, 'V'), + (0xA748, 'M', u'ꝉ'), + (0xA749, 'V'), + (0xA74A, 'M', u'ꝋ'), + (0xA74B, 'V'), + (0xA74C, 'M', u'ꝍ'), + (0xA74D, 'V'), + (0xA74E, 'M', u'ꝏ'), + (0xA74F, 'V'), + (0xA750, 'M', u'ꝑ'), + (0xA751, 'V'), + (0xA752, 'M', u'ꝓ'), + (0xA753, 'V'), + (0xA754, 'M', u'ꝕ'), + (0xA755, 'V'), + (0xA756, 'M', u'ꝗ'), + (0xA757, 'V'), + (0xA758, 'M', u'ꝙ'), + (0xA759, 'V'), + (0xA75A, 'M', u'ꝛ'), + (0xA75B, 'V'), + (0xA75C, 'M', u'ꝝ'), + (0xA75D, 'V'), + (0xA75E, 'M', u'ꝟ'), + (0xA75F, 'V'), + (0xA760, 'M', u'ꝡ'), + (0xA761, 'V'), + (0xA762, 'M', u'ꝣ'), + (0xA763, 'V'), + (0xA764, 'M', u'ꝥ'), + (0xA765, 'V'), + (0xA766, 'M', u'ꝧ'), + (0xA767, 'V'), + (0xA768, 'M', u'ꝩ'), + (0xA769, 'V'), + (0xA76A, 'M', u'ꝫ'), + (0xA76B, 'V'), + (0xA76C, 'M', u'ꝭ'), + (0xA76D, 'V'), + (0xA76E, 'M', u'ꝯ'), + (0xA76F, 'V'), + (0xA770, 'M', u'ꝯ'), + (0xA771, 'V'), + (0xA779, 'M', u'ꝺ'), + (0xA77A, 'V'), + (0xA77B, 'M', u'ꝼ'), + (0xA77C, 'V'), + (0xA77D, 'M', u'ᵹ'), + (0xA77E, 'M', u'ꝿ'), + (0xA77F, 'V'), + (0xA780, 'M', u'ꞁ'), + (0xA781, 'V'), + (0xA782, 'M', u'ꞃ'), + (0xA783, 'V'), + (0xA784, 'M', u'ꞅ'), + (0xA785, 'V'), + (0xA786, 'M', u'ꞇ'), + (0xA787, 'V'), + (0xA78B, 'M', u'ꞌ'), + (0xA78C, 'V'), + (0xA78D, 'M', u'ɥ'), + (0xA78E, 'V'), + (0xA790, 'M', u'ꞑ'), + (0xA791, 'V'), + ] + +def _seg_37(): + return [ + (0xA792, 'M', u'ꞓ'), + (0xA793, 'V'), + (0xA796, 'M', u'ꞗ'), + (0xA797, 'V'), + (0xA798, 'M', u'ꞙ'), + (0xA799, 'V'), + (0xA79A, 'M', u'ꞛ'), + (0xA79B, 'V'), + (0xA79C, 'M', u'ꞝ'), + (0xA79D, 'V'), + (0xA79E, 'M', u'ꞟ'), + (0xA79F, 'V'), + (0xA7A0, 'M', u'ꞡ'), + (0xA7A1, 'V'), + (0xA7A2, 'M', u'ꞣ'), + (0xA7A3, 'V'), + (0xA7A4, 'M', u'ꞥ'), + (0xA7A5, 'V'), + (0xA7A6, 'M', u'ꞧ'), + (0xA7A7, 'V'), + (0xA7A8, 'M', u'ꞩ'), + (0xA7A9, 'V'), + (0xA7AA, 'M', u'ɦ'), + (0xA7AB, 'M', u'ɜ'), + (0xA7AC, 'M', u'ɡ'), + (0xA7AD, 'M', u'ɬ'), + (0xA7AE, 'M', u'ɪ'), + (0xA7AF, 'V'), + (0xA7B0, 'M', u'ʞ'), + (0xA7B1, 'M', u'ʇ'), + (0xA7B2, 'M', u'ʝ'), + (0xA7B3, 'M', u'ꭓ'), + (0xA7B4, 'M', u'ꞵ'), + (0xA7B5, 'V'), + (0xA7B6, 'M', u'ꞷ'), + (0xA7B7, 'V'), + (0xA7B8, 'X'), + (0xA7B9, 'V'), + (0xA7BA, 'X'), + (0xA7F7, 'V'), + (0xA7F8, 'M', u'ħ'), + (0xA7F9, 'M', u'œ'), + (0xA7FA, 'V'), + (0xA82C, 'X'), + (0xA830, 'V'), + (0xA83A, 'X'), + (0xA840, 'V'), + (0xA878, 'X'), + (0xA880, 'V'), + (0xA8C6, 'X'), + (0xA8CE, 'V'), + (0xA8DA, 'X'), + (0xA8E0, 'V'), + (0xA954, 'X'), + (0xA95F, 'V'), + (0xA97D, 'X'), + (0xA980, 'V'), + (0xA9CE, 'X'), + (0xA9CF, 'V'), + (0xA9DA, 'X'), + (0xA9DE, 'V'), + (0xA9FF, 'X'), + (0xAA00, 'V'), + (0xAA37, 'X'), + (0xAA40, 'V'), + (0xAA4E, 'X'), + (0xAA50, 'V'), + (0xAA5A, 'X'), + (0xAA5C, 'V'), + (0xAAC3, 'X'), + (0xAADB, 'V'), + (0xAAF7, 'X'), + (0xAB01, 'V'), + (0xAB07, 'X'), + (0xAB09, 'V'), + (0xAB0F, 'X'), + (0xAB11, 'V'), + (0xAB17, 'X'), + (0xAB20, 'V'), + (0xAB27, 'X'), + (0xAB28, 'V'), + (0xAB2F, 'X'), + (0xAB30, 'V'), + (0xAB5C, 'M', u'ꜧ'), + (0xAB5D, 'M', u'ꬷ'), + (0xAB5E, 'M', u'ɫ'), + (0xAB5F, 'M', u'ꭒ'), + (0xAB60, 'V'), + (0xAB66, 'X'), + (0xAB70, 'M', u'Ꭰ'), + (0xAB71, 'M', u'Ꭱ'), + (0xAB72, 'M', u'Ꭲ'), + (0xAB73, 'M', u'Ꭳ'), + (0xAB74, 'M', u'Ꭴ'), + (0xAB75, 'M', u'Ꭵ'), + (0xAB76, 'M', u'Ꭶ'), + (0xAB77, 'M', u'Ꭷ'), + (0xAB78, 'M', u'Ꭸ'), + (0xAB79, 'M', u'Ꭹ'), + (0xAB7A, 'M', u'Ꭺ'), + ] + +def _seg_38(): + return [ + (0xAB7B, 'M', u'Ꭻ'), + (0xAB7C, 'M', u'Ꭼ'), + (0xAB7D, 'M', u'Ꭽ'), + (0xAB7E, 'M', u'Ꭾ'), + (0xAB7F, 'M', u'Ꭿ'), + (0xAB80, 'M', u'Ꮀ'), + (0xAB81, 'M', u'Ꮁ'), + (0xAB82, 'M', u'Ꮂ'), + (0xAB83, 'M', u'Ꮃ'), + (0xAB84, 'M', u'Ꮄ'), + (0xAB85, 'M', u'Ꮅ'), + (0xAB86, 'M', u'Ꮆ'), + (0xAB87, 'M', u'Ꮇ'), + (0xAB88, 'M', u'Ꮈ'), + (0xAB89, 'M', u'Ꮉ'), + (0xAB8A, 'M', u'Ꮊ'), + (0xAB8B, 'M', u'Ꮋ'), + (0xAB8C, 'M', u'Ꮌ'), + (0xAB8D, 'M', u'Ꮍ'), + (0xAB8E, 'M', u'Ꮎ'), + (0xAB8F, 'M', u'Ꮏ'), + (0xAB90, 'M', u'Ꮐ'), + (0xAB91, 'M', u'Ꮑ'), + (0xAB92, 'M', u'Ꮒ'), + (0xAB93, 'M', u'Ꮓ'), + (0xAB94, 'M', u'Ꮔ'), + (0xAB95, 'M', u'Ꮕ'), + (0xAB96, 'M', u'Ꮖ'), + (0xAB97, 'M', u'Ꮗ'), + (0xAB98, 'M', u'Ꮘ'), + (0xAB99, 'M', u'Ꮙ'), + (0xAB9A, 'M', u'Ꮚ'), + (0xAB9B, 'M', u'Ꮛ'), + (0xAB9C, 'M', u'Ꮜ'), + (0xAB9D, 'M', u'Ꮝ'), + (0xAB9E, 'M', u'Ꮞ'), + (0xAB9F, 'M', u'Ꮟ'), + (0xABA0, 'M', u'Ꮠ'), + (0xABA1, 'M', u'Ꮡ'), + (0xABA2, 'M', u'Ꮢ'), + (0xABA3, 'M', u'Ꮣ'), + (0xABA4, 'M', u'Ꮤ'), + (0xABA5, 'M', u'Ꮥ'), + (0xABA6, 'M', u'Ꮦ'), + (0xABA7, 'M', u'Ꮧ'), + (0xABA8, 'M', u'Ꮨ'), + (0xABA9, 'M', u'Ꮩ'), + (0xABAA, 'M', u'Ꮪ'), + (0xABAB, 'M', u'Ꮫ'), + (0xABAC, 'M', u'Ꮬ'), + (0xABAD, 'M', u'Ꮭ'), + (0xABAE, 'M', u'Ꮮ'), + (0xABAF, 'M', u'Ꮯ'), + (0xABB0, 'M', u'Ꮰ'), + (0xABB1, 'M', u'Ꮱ'), + (0xABB2, 'M', u'Ꮲ'), + (0xABB3, 'M', u'Ꮳ'), + (0xABB4, 'M', u'Ꮴ'), + (0xABB5, 'M', u'Ꮵ'), + (0xABB6, 'M', u'Ꮶ'), + (0xABB7, 'M', u'Ꮷ'), + (0xABB8, 'M', u'Ꮸ'), + (0xABB9, 'M', u'Ꮹ'), + (0xABBA, 'M', u'Ꮺ'), + (0xABBB, 'M', u'Ꮻ'), + (0xABBC, 'M', u'Ꮼ'), + (0xABBD, 'M', u'Ꮽ'), + (0xABBE, 'M', u'Ꮾ'), + (0xABBF, 'M', u'Ꮿ'), + (0xABC0, 'V'), + (0xABEE, 'X'), + (0xABF0, 'V'), + (0xABFA, 'X'), + (0xAC00, 'V'), + (0xD7A4, 'X'), + (0xD7B0, 'V'), + (0xD7C7, 'X'), + (0xD7CB, 'V'), + (0xD7FC, 'X'), + (0xF900, 'M', u'豈'), + (0xF901, 'M', u'更'), + (0xF902, 'M', u'車'), + (0xF903, 'M', u'賈'), + (0xF904, 'M', u'滑'), + (0xF905, 'M', u'串'), + (0xF906, 'M', u'句'), + (0xF907, 'M', u'龜'), + (0xF909, 'M', u'契'), + (0xF90A, 'M', u'金'), + (0xF90B, 'M', u'喇'), + (0xF90C, 'M', u'奈'), + (0xF90D, 'M', u'懶'), + (0xF90E, 'M', u'癩'), + (0xF90F, 'M', u'羅'), + (0xF910, 'M', u'蘿'), + (0xF911, 'M', u'螺'), + (0xF912, 'M', u'裸'), + (0xF913, 'M', u'邏'), + (0xF914, 'M', u'樂'), + (0xF915, 'M', u'洛'), + ] + +def _seg_39(): + return [ + (0xF916, 'M', u'烙'), + (0xF917, 'M', u'珞'), + (0xF918, 'M', u'落'), + (0xF919, 'M', u'酪'), + (0xF91A, 'M', u'駱'), + (0xF91B, 'M', u'亂'), + (0xF91C, 'M', u'卵'), + (0xF91D, 'M', u'欄'), + (0xF91E, 'M', u'爛'), + (0xF91F, 'M', u'蘭'), + (0xF920, 'M', u'鸞'), + (0xF921, 'M', u'嵐'), + (0xF922, 'M', u'濫'), + (0xF923, 'M', u'藍'), + (0xF924, 'M', u'襤'), + (0xF925, 'M', u'拉'), + (0xF926, 'M', u'臘'), + (0xF927, 'M', u'蠟'), + (0xF928, 'M', u'廊'), + (0xF929, 'M', u'朗'), + (0xF92A, 'M', u'浪'), + (0xF92B, 'M', u'狼'), + (0xF92C, 'M', u'郎'), + (0xF92D, 'M', u'來'), + (0xF92E, 'M', u'冷'), + (0xF92F, 'M', u'勞'), + (0xF930, 'M', u'擄'), + (0xF931, 'M', u'櫓'), + (0xF932, 'M', u'爐'), + (0xF933, 'M', u'盧'), + (0xF934, 'M', u'老'), + (0xF935, 'M', u'蘆'), + (0xF936, 'M', u'虜'), + (0xF937, 'M', u'路'), + (0xF938, 'M', u'露'), + (0xF939, 'M', u'魯'), + (0xF93A, 'M', u'鷺'), + (0xF93B, 'M', u'碌'), + (0xF93C, 'M', u'祿'), + (0xF93D, 'M', u'綠'), + (0xF93E, 'M', u'菉'), + (0xF93F, 'M', u'錄'), + (0xF940, 'M', u'鹿'), + (0xF941, 'M', u'論'), + (0xF942, 'M', u'壟'), + (0xF943, 'M', u'弄'), + (0xF944, 'M', u'籠'), + (0xF945, 'M', u'聾'), + (0xF946, 'M', u'牢'), + (0xF947, 'M', u'磊'), + (0xF948, 'M', u'賂'), + (0xF949, 'M', u'雷'), + (0xF94A, 'M', u'壘'), + (0xF94B, 'M', u'屢'), + (0xF94C, 'M', u'樓'), + (0xF94D, 'M', u'淚'), + (0xF94E, 'M', u'漏'), + (0xF94F, 'M', u'累'), + (0xF950, 'M', u'縷'), + (0xF951, 'M', u'陋'), + (0xF952, 'M', u'勒'), + (0xF953, 'M', u'肋'), + (0xF954, 'M', u'凜'), + (0xF955, 'M', u'凌'), + (0xF956, 'M', u'稜'), + (0xF957, 'M', u'綾'), + (0xF958, 'M', u'菱'), + (0xF959, 'M', u'陵'), + (0xF95A, 'M', u'讀'), + (0xF95B, 'M', u'拏'), + (0xF95C, 'M', u'樂'), + (0xF95D, 'M', u'諾'), + (0xF95E, 'M', u'丹'), + (0xF95F, 'M', u'寧'), + (0xF960, 'M', u'怒'), + (0xF961, 'M', u'率'), + (0xF962, 'M', u'異'), + (0xF963, 'M', u'北'), + (0xF964, 'M', u'磻'), + (0xF965, 'M', u'便'), + (0xF966, 'M', u'復'), + (0xF967, 'M', u'不'), + (0xF968, 'M', u'泌'), + (0xF969, 'M', u'數'), + (0xF96A, 'M', u'索'), + (0xF96B, 'M', u'參'), + (0xF96C, 'M', u'塞'), + (0xF96D, 'M', u'省'), + (0xF96E, 'M', u'葉'), + (0xF96F, 'M', u'說'), + (0xF970, 'M', u'殺'), + (0xF971, 'M', u'辰'), + (0xF972, 'M', u'沈'), + (0xF973, 'M', u'拾'), + (0xF974, 'M', u'若'), + (0xF975, 'M', u'掠'), + (0xF976, 'M', u'略'), + (0xF977, 'M', u'亮'), + (0xF978, 'M', u'兩'), + (0xF979, 'M', u'凉'), + ] + +def _seg_40(): + return [ + (0xF97A, 'M', u'梁'), + (0xF97B, 'M', u'糧'), + (0xF97C, 'M', u'良'), + (0xF97D, 'M', u'諒'), + (0xF97E, 'M', u'量'), + (0xF97F, 'M', u'勵'), + (0xF980, 'M', u'呂'), + (0xF981, 'M', u'女'), + (0xF982, 'M', u'廬'), + (0xF983, 'M', u'旅'), + (0xF984, 'M', u'濾'), + (0xF985, 'M', u'礪'), + (0xF986, 'M', u'閭'), + (0xF987, 'M', u'驪'), + (0xF988, 'M', u'麗'), + (0xF989, 'M', u'黎'), + (0xF98A, 'M', u'力'), + (0xF98B, 'M', u'曆'), + (0xF98C, 'M', u'歷'), + (0xF98D, 'M', u'轢'), + (0xF98E, 'M', u'年'), + (0xF98F, 'M', u'憐'), + (0xF990, 'M', u'戀'), + (0xF991, 'M', u'撚'), + (0xF992, 'M', u'漣'), + (0xF993, 'M', u'煉'), + (0xF994, 'M', u'璉'), + (0xF995, 'M', u'秊'), + (0xF996, 'M', u'練'), + (0xF997, 'M', u'聯'), + (0xF998, 'M', u'輦'), + (0xF999, 'M', u'蓮'), + (0xF99A, 'M', u'連'), + (0xF99B, 'M', u'鍊'), + (0xF99C, 'M', u'列'), + (0xF99D, 'M', u'劣'), + (0xF99E, 'M', u'咽'), + (0xF99F, 'M', u'烈'), + (0xF9A0, 'M', u'裂'), + (0xF9A1, 'M', u'說'), + (0xF9A2, 'M', u'廉'), + (0xF9A3, 'M', u'念'), + (0xF9A4, 'M', u'捻'), + (0xF9A5, 'M', u'殮'), + (0xF9A6, 'M', u'簾'), + (0xF9A7, 'M', u'獵'), + (0xF9A8, 'M', u'令'), + (0xF9A9, 'M', u'囹'), + (0xF9AA, 'M', u'寧'), + (0xF9AB, 'M', u'嶺'), + (0xF9AC, 'M', u'怜'), + (0xF9AD, 'M', u'玲'), + (0xF9AE, 'M', u'瑩'), + (0xF9AF, 'M', u'羚'), + (0xF9B0, 'M', u'聆'), + (0xF9B1, 'M', u'鈴'), + (0xF9B2, 'M', u'零'), + (0xF9B3, 'M', u'靈'), + (0xF9B4, 'M', u'領'), + (0xF9B5, 'M', u'例'), + (0xF9B6, 'M', u'禮'), + (0xF9B7, 'M', u'醴'), + (0xF9B8, 'M', u'隸'), + (0xF9B9, 'M', u'惡'), + (0xF9BA, 'M', u'了'), + (0xF9BB, 'M', u'僚'), + (0xF9BC, 'M', u'寮'), + (0xF9BD, 'M', u'尿'), + (0xF9BE, 'M', u'料'), + (0xF9BF, 'M', u'樂'), + (0xF9C0, 'M', u'燎'), + (0xF9C1, 'M', u'療'), + (0xF9C2, 'M', u'蓼'), + (0xF9C3, 'M', u'遼'), + (0xF9C4, 'M', u'龍'), + (0xF9C5, 'M', u'暈'), + (0xF9C6, 'M', u'阮'), + (0xF9C7, 'M', u'劉'), + (0xF9C8, 'M', u'杻'), + (0xF9C9, 'M', u'柳'), + (0xF9CA, 'M', u'流'), + (0xF9CB, 'M', u'溜'), + (0xF9CC, 'M', u'琉'), + (0xF9CD, 'M', u'留'), + (0xF9CE, 'M', u'硫'), + (0xF9CF, 'M', u'紐'), + (0xF9D0, 'M', u'類'), + (0xF9D1, 'M', u'六'), + (0xF9D2, 'M', u'戮'), + (0xF9D3, 'M', u'陸'), + (0xF9D4, 'M', u'倫'), + (0xF9D5, 'M', u'崙'), + (0xF9D6, 'M', u'淪'), + (0xF9D7, 'M', u'輪'), + (0xF9D8, 'M', u'律'), + (0xF9D9, 'M', u'慄'), + (0xF9DA, 'M', u'栗'), + (0xF9DB, 'M', u'率'), + (0xF9DC, 'M', u'隆'), + (0xF9DD, 'M', u'利'), + ] + +def _seg_41(): + return [ + (0xF9DE, 'M', u'吏'), + (0xF9DF, 'M', u'履'), + (0xF9E0, 'M', u'易'), + (0xF9E1, 'M', u'李'), + (0xF9E2, 'M', u'梨'), + (0xF9E3, 'M', u'泥'), + (0xF9E4, 'M', u'理'), + (0xF9E5, 'M', u'痢'), + (0xF9E6, 'M', u'罹'), + (0xF9E7, 'M', u'裏'), + (0xF9E8, 'M', u'裡'), + (0xF9E9, 'M', u'里'), + (0xF9EA, 'M', u'離'), + (0xF9EB, 'M', u'匿'), + (0xF9EC, 'M', u'溺'), + (0xF9ED, 'M', u'吝'), + (0xF9EE, 'M', u'燐'), + (0xF9EF, 'M', u'璘'), + (0xF9F0, 'M', u'藺'), + (0xF9F1, 'M', u'隣'), + (0xF9F2, 'M', u'鱗'), + (0xF9F3, 'M', u'麟'), + (0xF9F4, 'M', u'林'), + (0xF9F5, 'M', u'淋'), + (0xF9F6, 'M', u'臨'), + (0xF9F7, 'M', u'立'), + (0xF9F8, 'M', u'笠'), + (0xF9F9, 'M', u'粒'), + (0xF9FA, 'M', u'狀'), + (0xF9FB, 'M', u'炙'), + (0xF9FC, 'M', u'識'), + (0xF9FD, 'M', u'什'), + (0xF9FE, 'M', u'茶'), + (0xF9FF, 'M', u'刺'), + (0xFA00, 'M', u'切'), + (0xFA01, 'M', u'度'), + (0xFA02, 'M', u'拓'), + (0xFA03, 'M', u'糖'), + (0xFA04, 'M', u'宅'), + (0xFA05, 'M', u'洞'), + (0xFA06, 'M', u'暴'), + (0xFA07, 'M', u'輻'), + (0xFA08, 'M', u'行'), + (0xFA09, 'M', u'降'), + (0xFA0A, 'M', u'見'), + (0xFA0B, 'M', u'廓'), + (0xFA0C, 'M', u'兀'), + (0xFA0D, 'M', u'嗀'), + (0xFA0E, 'V'), + (0xFA10, 'M', u'塚'), + (0xFA11, 'V'), + (0xFA12, 'M', u'晴'), + (0xFA13, 'V'), + (0xFA15, 'M', u'凞'), + (0xFA16, 'M', u'猪'), + (0xFA17, 'M', u'益'), + (0xFA18, 'M', u'礼'), + (0xFA19, 'M', u'神'), + (0xFA1A, 'M', u'祥'), + (0xFA1B, 'M', u'福'), + (0xFA1C, 'M', u'靖'), + (0xFA1D, 'M', u'精'), + (0xFA1E, 'M', u'羽'), + (0xFA1F, 'V'), + (0xFA20, 'M', u'蘒'), + (0xFA21, 'V'), + (0xFA22, 'M', u'諸'), + (0xFA23, 'V'), + (0xFA25, 'M', u'逸'), + (0xFA26, 'M', u'都'), + (0xFA27, 'V'), + (0xFA2A, 'M', u'飯'), + (0xFA2B, 'M', u'飼'), + (0xFA2C, 'M', u'館'), + (0xFA2D, 'M', u'鶴'), + (0xFA2E, 'M', u'郞'), + (0xFA2F, 'M', u'隷'), + (0xFA30, 'M', u'侮'), + (0xFA31, 'M', u'僧'), + (0xFA32, 'M', u'免'), + (0xFA33, 'M', u'勉'), + (0xFA34, 'M', u'勤'), + (0xFA35, 'M', u'卑'), + (0xFA36, 'M', u'喝'), + (0xFA37, 'M', u'嘆'), + (0xFA38, 'M', u'器'), + (0xFA39, 'M', u'塀'), + (0xFA3A, 'M', u'墨'), + (0xFA3B, 'M', u'層'), + (0xFA3C, 'M', u'屮'), + (0xFA3D, 'M', u'悔'), + (0xFA3E, 'M', u'慨'), + (0xFA3F, 'M', u'憎'), + (0xFA40, 'M', u'懲'), + (0xFA41, 'M', u'敏'), + (0xFA42, 'M', u'既'), + (0xFA43, 'M', u'暑'), + (0xFA44, 'M', u'梅'), + (0xFA45, 'M', u'海'), + (0xFA46, 'M', u'渚'), + ] + +def _seg_42(): + return [ + (0xFA47, 'M', u'漢'), + (0xFA48, 'M', u'煮'), + (0xFA49, 'M', u'爫'), + (0xFA4A, 'M', u'琢'), + (0xFA4B, 'M', u'碑'), + (0xFA4C, 'M', u'社'), + (0xFA4D, 'M', u'祉'), + (0xFA4E, 'M', u'祈'), + (0xFA4F, 'M', u'祐'), + (0xFA50, 'M', u'祖'), + (0xFA51, 'M', u'祝'), + (0xFA52, 'M', u'禍'), + (0xFA53, 'M', u'禎'), + (0xFA54, 'M', u'穀'), + (0xFA55, 'M', u'突'), + (0xFA56, 'M', u'節'), + (0xFA57, 'M', u'練'), + (0xFA58, 'M', u'縉'), + (0xFA59, 'M', u'繁'), + (0xFA5A, 'M', u'署'), + (0xFA5B, 'M', u'者'), + (0xFA5C, 'M', u'臭'), + (0xFA5D, 'M', u'艹'), + (0xFA5F, 'M', u'著'), + (0xFA60, 'M', u'褐'), + (0xFA61, 'M', u'視'), + (0xFA62, 'M', u'謁'), + (0xFA63, 'M', u'謹'), + (0xFA64, 'M', u'賓'), + (0xFA65, 'M', u'贈'), + (0xFA66, 'M', u'辶'), + (0xFA67, 'M', u'逸'), + (0xFA68, 'M', u'難'), + (0xFA69, 'M', u'響'), + (0xFA6A, 'M', u'頻'), + (0xFA6B, 'M', u'恵'), + (0xFA6C, 'M', u'𤋮'), + (0xFA6D, 'M', u'舘'), + (0xFA6E, 'X'), + (0xFA70, 'M', u'並'), + (0xFA71, 'M', u'况'), + (0xFA72, 'M', u'全'), + (0xFA73, 'M', u'侀'), + (0xFA74, 'M', u'充'), + (0xFA75, 'M', u'冀'), + (0xFA76, 'M', u'勇'), + (0xFA77, 'M', u'勺'), + (0xFA78, 'M', u'喝'), + (0xFA79, 'M', u'啕'), + (0xFA7A, 'M', u'喙'), + (0xFA7B, 'M', u'嗢'), + (0xFA7C, 'M', u'塚'), + (0xFA7D, 'M', u'墳'), + (0xFA7E, 'M', u'奄'), + (0xFA7F, 'M', u'奔'), + (0xFA80, 'M', u'婢'), + (0xFA81, 'M', u'嬨'), + (0xFA82, 'M', u'廒'), + (0xFA83, 'M', u'廙'), + (0xFA84, 'M', u'彩'), + (0xFA85, 'M', u'徭'), + (0xFA86, 'M', u'惘'), + (0xFA87, 'M', u'慎'), + (0xFA88, 'M', u'愈'), + (0xFA89, 'M', u'憎'), + (0xFA8A, 'M', u'慠'), + (0xFA8B, 'M', u'懲'), + (0xFA8C, 'M', u'戴'), + (0xFA8D, 'M', u'揄'), + (0xFA8E, 'M', u'搜'), + (0xFA8F, 'M', u'摒'), + (0xFA90, 'M', u'敖'), + (0xFA91, 'M', u'晴'), + (0xFA92, 'M', u'朗'), + (0xFA93, 'M', u'望'), + (0xFA94, 'M', u'杖'), + (0xFA95, 'M', u'歹'), + (0xFA96, 'M', u'殺'), + (0xFA97, 'M', u'流'), + (0xFA98, 'M', u'滛'), + (0xFA99, 'M', u'滋'), + (0xFA9A, 'M', u'漢'), + (0xFA9B, 'M', u'瀞'), + (0xFA9C, 'M', u'煮'), + (0xFA9D, 'M', u'瞧'), + (0xFA9E, 'M', u'爵'), + (0xFA9F, 'M', u'犯'), + (0xFAA0, 'M', u'猪'), + (0xFAA1, 'M', u'瑱'), + (0xFAA2, 'M', u'甆'), + (0xFAA3, 'M', u'画'), + (0xFAA4, 'M', u'瘝'), + (0xFAA5, 'M', u'瘟'), + (0xFAA6, 'M', u'益'), + (0xFAA7, 'M', u'盛'), + (0xFAA8, 'M', u'直'), + (0xFAA9, 'M', u'睊'), + (0xFAAA, 'M', u'着'), + (0xFAAB, 'M', u'磌'), + (0xFAAC, 'M', u'窱'), + ] + +def _seg_43(): + return [ + (0xFAAD, 'M', u'節'), + (0xFAAE, 'M', u'类'), + (0xFAAF, 'M', u'絛'), + (0xFAB0, 'M', u'練'), + (0xFAB1, 'M', u'缾'), + (0xFAB2, 'M', u'者'), + (0xFAB3, 'M', u'荒'), + (0xFAB4, 'M', u'華'), + (0xFAB5, 'M', u'蝹'), + (0xFAB6, 'M', u'襁'), + (0xFAB7, 'M', u'覆'), + (0xFAB8, 'M', u'視'), + (0xFAB9, 'M', u'調'), + (0xFABA, 'M', u'諸'), + (0xFABB, 'M', u'請'), + (0xFABC, 'M', u'謁'), + (0xFABD, 'M', u'諾'), + (0xFABE, 'M', u'諭'), + (0xFABF, 'M', u'謹'), + (0xFAC0, 'M', u'變'), + (0xFAC1, 'M', u'贈'), + (0xFAC2, 'M', u'輸'), + (0xFAC3, 'M', u'遲'), + (0xFAC4, 'M', u'醙'), + (0xFAC5, 'M', u'鉶'), + (0xFAC6, 'M', u'陼'), + (0xFAC7, 'M', u'難'), + (0xFAC8, 'M', u'靖'), + (0xFAC9, 'M', u'韛'), + (0xFACA, 'M', u'響'), + (0xFACB, 'M', u'頋'), + (0xFACC, 'M', u'頻'), + (0xFACD, 'M', u'鬒'), + (0xFACE, 'M', u'龜'), + (0xFACF, 'M', u'𢡊'), + (0xFAD0, 'M', u'𢡄'), + (0xFAD1, 'M', u'𣏕'), + (0xFAD2, 'M', u'㮝'), + (0xFAD3, 'M', u'䀘'), + (0xFAD4, 'M', u'䀹'), + (0xFAD5, 'M', u'𥉉'), + (0xFAD6, 'M', u'𥳐'), + (0xFAD7, 'M', u'𧻓'), + (0xFAD8, 'M', u'齃'), + (0xFAD9, 'M', u'龎'), + (0xFADA, 'X'), + (0xFB00, 'M', u'ff'), + (0xFB01, 'M', u'fi'), + (0xFB02, 'M', u'fl'), + (0xFB03, 'M', u'ffi'), + (0xFB04, 'M', u'ffl'), + (0xFB05, 'M', u'st'), + (0xFB07, 'X'), + (0xFB13, 'M', u'մն'), + (0xFB14, 'M', u'մե'), + (0xFB15, 'M', u'մի'), + (0xFB16, 'M', u'վն'), + (0xFB17, 'M', u'մխ'), + (0xFB18, 'X'), + (0xFB1D, 'M', u'יִ'), + (0xFB1E, 'V'), + (0xFB1F, 'M', u'ײַ'), + (0xFB20, 'M', u'ע'), + (0xFB21, 'M', u'א'), + (0xFB22, 'M', u'ד'), + (0xFB23, 'M', u'ה'), + (0xFB24, 'M', u'כ'), + (0xFB25, 'M', u'ל'), + (0xFB26, 'M', u'ם'), + (0xFB27, 'M', u'ר'), + (0xFB28, 'M', u'ת'), + (0xFB29, '3', u'+'), + (0xFB2A, 'M', u'שׁ'), + (0xFB2B, 'M', u'שׂ'), + (0xFB2C, 'M', u'שּׁ'), + (0xFB2D, 'M', u'שּׂ'), + (0xFB2E, 'M', u'אַ'), + (0xFB2F, 'M', u'אָ'), + (0xFB30, 'M', u'אּ'), + (0xFB31, 'M', u'בּ'), + (0xFB32, 'M', u'גּ'), + (0xFB33, 'M', u'דּ'), + (0xFB34, 'M', u'הּ'), + (0xFB35, 'M', u'וּ'), + (0xFB36, 'M', u'זּ'), + (0xFB37, 'X'), + (0xFB38, 'M', u'טּ'), + (0xFB39, 'M', u'יּ'), + (0xFB3A, 'M', u'ךּ'), + (0xFB3B, 'M', u'כּ'), + (0xFB3C, 'M', u'לּ'), + (0xFB3D, 'X'), + (0xFB3E, 'M', u'מּ'), + (0xFB3F, 'X'), + (0xFB40, 'M', u'נּ'), + (0xFB41, 'M', u'סּ'), + (0xFB42, 'X'), + (0xFB43, 'M', u'ףּ'), + (0xFB44, 'M', u'פּ'), + (0xFB45, 'X'), + ] + +def _seg_44(): + return [ + (0xFB46, 'M', u'צּ'), + (0xFB47, 'M', u'קּ'), + (0xFB48, 'M', u'רּ'), + (0xFB49, 'M', u'שּ'), + (0xFB4A, 'M', u'תּ'), + (0xFB4B, 'M', u'וֹ'), + (0xFB4C, 'M', u'בֿ'), + (0xFB4D, 'M', u'כֿ'), + (0xFB4E, 'M', u'פֿ'), + (0xFB4F, 'M', u'אל'), + (0xFB50, 'M', u'ٱ'), + (0xFB52, 'M', u'ٻ'), + (0xFB56, 'M', u'پ'), + (0xFB5A, 'M', u'ڀ'), + (0xFB5E, 'M', u'ٺ'), + (0xFB62, 'M', u'ٿ'), + (0xFB66, 'M', u'ٹ'), + (0xFB6A, 'M', u'ڤ'), + (0xFB6E, 'M', u'ڦ'), + (0xFB72, 'M', u'ڄ'), + (0xFB76, 'M', u'ڃ'), + (0xFB7A, 'M', u'چ'), + (0xFB7E, 'M', u'ڇ'), + (0xFB82, 'M', u'ڍ'), + (0xFB84, 'M', u'ڌ'), + (0xFB86, 'M', u'ڎ'), + (0xFB88, 'M', u'ڈ'), + (0xFB8A, 'M', u'ژ'), + (0xFB8C, 'M', u'ڑ'), + (0xFB8E, 'M', u'ک'), + (0xFB92, 'M', u'گ'), + (0xFB96, 'M', u'ڳ'), + (0xFB9A, 'M', u'ڱ'), + (0xFB9E, 'M', u'ں'), + (0xFBA0, 'M', u'ڻ'), + (0xFBA4, 'M', u'ۀ'), + (0xFBA6, 'M', u'ہ'), + (0xFBAA, 'M', u'ھ'), + (0xFBAE, 'M', u'ے'), + (0xFBB0, 'M', u'ۓ'), + (0xFBB2, 'V'), + (0xFBC2, 'X'), + (0xFBD3, 'M', u'ڭ'), + (0xFBD7, 'M', u'ۇ'), + (0xFBD9, 'M', u'ۆ'), + (0xFBDB, 'M', u'ۈ'), + (0xFBDD, 'M', u'ۇٴ'), + (0xFBDE, 'M', u'ۋ'), + (0xFBE0, 'M', u'ۅ'), + (0xFBE2, 'M', u'ۉ'), + (0xFBE4, 'M', u'ې'), + (0xFBE8, 'M', u'ى'), + (0xFBEA, 'M', u'ئا'), + (0xFBEC, 'M', u'ئە'), + (0xFBEE, 'M', u'ئو'), + (0xFBF0, 'M', u'ئۇ'), + (0xFBF2, 'M', u'ئۆ'), + (0xFBF4, 'M', u'ئۈ'), + (0xFBF6, 'M', u'ئې'), + (0xFBF9, 'M', u'ئى'), + (0xFBFC, 'M', u'ی'), + (0xFC00, 'M', u'ئج'), + (0xFC01, 'M', u'ئح'), + (0xFC02, 'M', u'ئم'), + (0xFC03, 'M', u'ئى'), + (0xFC04, 'M', u'ئي'), + (0xFC05, 'M', u'بج'), + (0xFC06, 'M', u'بح'), + (0xFC07, 'M', u'بخ'), + (0xFC08, 'M', u'بم'), + (0xFC09, 'M', u'بى'), + (0xFC0A, 'M', u'بي'), + (0xFC0B, 'M', u'تج'), + (0xFC0C, 'M', u'تح'), + (0xFC0D, 'M', u'تخ'), + (0xFC0E, 'M', u'تم'), + (0xFC0F, 'M', u'تى'), + (0xFC10, 'M', u'تي'), + (0xFC11, 'M', u'ثج'), + (0xFC12, 'M', u'ثم'), + (0xFC13, 'M', u'ثى'), + (0xFC14, 'M', u'ثي'), + (0xFC15, 'M', u'جح'), + (0xFC16, 'M', u'جم'), + (0xFC17, 'M', u'حج'), + (0xFC18, 'M', u'حم'), + (0xFC19, 'M', u'خج'), + (0xFC1A, 'M', u'خح'), + (0xFC1B, 'M', u'خم'), + (0xFC1C, 'M', u'سج'), + (0xFC1D, 'M', u'سح'), + (0xFC1E, 'M', u'سخ'), + (0xFC1F, 'M', u'سم'), + (0xFC20, 'M', u'صح'), + (0xFC21, 'M', u'صم'), + (0xFC22, 'M', u'ضج'), + (0xFC23, 'M', u'ضح'), + (0xFC24, 'M', u'ضخ'), + (0xFC25, 'M', u'ضم'), + (0xFC26, 'M', u'طح'), + ] + +def _seg_45(): + return [ + (0xFC27, 'M', u'طم'), + (0xFC28, 'M', u'ظم'), + (0xFC29, 'M', u'عج'), + (0xFC2A, 'M', u'عم'), + (0xFC2B, 'M', u'غج'), + (0xFC2C, 'M', u'غم'), + (0xFC2D, 'M', u'فج'), + (0xFC2E, 'M', u'فح'), + (0xFC2F, 'M', u'فخ'), + (0xFC30, 'M', u'فم'), + (0xFC31, 'M', u'فى'), + (0xFC32, 'M', u'في'), + (0xFC33, 'M', u'قح'), + (0xFC34, 'M', u'قم'), + (0xFC35, 'M', u'قى'), + (0xFC36, 'M', u'قي'), + (0xFC37, 'M', u'كا'), + (0xFC38, 'M', u'كج'), + (0xFC39, 'M', u'كح'), + (0xFC3A, 'M', u'كخ'), + (0xFC3B, 'M', u'كل'), + (0xFC3C, 'M', u'كم'), + (0xFC3D, 'M', u'كى'), + (0xFC3E, 'M', u'كي'), + (0xFC3F, 'M', u'لج'), + (0xFC40, 'M', u'لح'), + (0xFC41, 'M', u'لخ'), + (0xFC42, 'M', u'لم'), + (0xFC43, 'M', u'لى'), + (0xFC44, 'M', u'لي'), + (0xFC45, 'M', u'مج'), + (0xFC46, 'M', u'مح'), + (0xFC47, 'M', u'مخ'), + (0xFC48, 'M', u'مم'), + (0xFC49, 'M', u'مى'), + (0xFC4A, 'M', u'مي'), + (0xFC4B, 'M', u'نج'), + (0xFC4C, 'M', u'نح'), + (0xFC4D, 'M', u'نخ'), + (0xFC4E, 'M', u'نم'), + (0xFC4F, 'M', u'نى'), + (0xFC50, 'M', u'ني'), + (0xFC51, 'M', u'هج'), + (0xFC52, 'M', u'هم'), + (0xFC53, 'M', u'هى'), + (0xFC54, 'M', u'هي'), + (0xFC55, 'M', u'يج'), + (0xFC56, 'M', u'يح'), + (0xFC57, 'M', u'يخ'), + (0xFC58, 'M', u'يم'), + (0xFC59, 'M', u'يى'), + (0xFC5A, 'M', u'يي'), + (0xFC5B, 'M', u'ذٰ'), + (0xFC5C, 'M', u'رٰ'), + (0xFC5D, 'M', u'ىٰ'), + (0xFC5E, '3', u' ٌّ'), + (0xFC5F, '3', u' ٍّ'), + (0xFC60, '3', u' َّ'), + (0xFC61, '3', u' ُّ'), + (0xFC62, '3', u' ِّ'), + (0xFC63, '3', u' ّٰ'), + (0xFC64, 'M', u'ئر'), + (0xFC65, 'M', u'ئز'), + (0xFC66, 'M', u'ئم'), + (0xFC67, 'M', u'ئن'), + (0xFC68, 'M', u'ئى'), + (0xFC69, 'M', u'ئي'), + (0xFC6A, 'M', u'بر'), + (0xFC6B, 'M', u'بز'), + (0xFC6C, 'M', u'بم'), + (0xFC6D, 'M', u'بن'), + (0xFC6E, 'M', u'بى'), + (0xFC6F, 'M', u'بي'), + (0xFC70, 'M', u'تر'), + (0xFC71, 'M', u'تز'), + (0xFC72, 'M', u'تم'), + (0xFC73, 'M', u'تن'), + (0xFC74, 'M', u'تى'), + (0xFC75, 'M', u'تي'), + (0xFC76, 'M', u'ثر'), + (0xFC77, 'M', u'ثز'), + (0xFC78, 'M', u'ثم'), + (0xFC79, 'M', u'ثن'), + (0xFC7A, 'M', u'ثى'), + (0xFC7B, 'M', u'ثي'), + (0xFC7C, 'M', u'فى'), + (0xFC7D, 'M', u'في'), + (0xFC7E, 'M', u'قى'), + (0xFC7F, 'M', u'قي'), + (0xFC80, 'M', u'كا'), + (0xFC81, 'M', u'كل'), + (0xFC82, 'M', u'كم'), + (0xFC83, 'M', u'كى'), + (0xFC84, 'M', u'كي'), + (0xFC85, 'M', u'لم'), + (0xFC86, 'M', u'لى'), + (0xFC87, 'M', u'لي'), + (0xFC88, 'M', u'ما'), + (0xFC89, 'M', u'مم'), + (0xFC8A, 'M', u'نر'), + ] + +def _seg_46(): + return [ + (0xFC8B, 'M', u'نز'), + (0xFC8C, 'M', u'نم'), + (0xFC8D, 'M', u'نن'), + (0xFC8E, 'M', u'نى'), + (0xFC8F, 'M', u'ني'), + (0xFC90, 'M', u'ىٰ'), + (0xFC91, 'M', u'ير'), + (0xFC92, 'M', u'يز'), + (0xFC93, 'M', u'يم'), + (0xFC94, 'M', u'ين'), + (0xFC95, 'M', u'يى'), + (0xFC96, 'M', u'يي'), + (0xFC97, 'M', u'ئج'), + (0xFC98, 'M', u'ئح'), + (0xFC99, 'M', u'ئخ'), + (0xFC9A, 'M', u'ئم'), + (0xFC9B, 'M', u'ئه'), + (0xFC9C, 'M', u'بج'), + (0xFC9D, 'M', u'بح'), + (0xFC9E, 'M', u'بخ'), + (0xFC9F, 'M', u'بم'), + (0xFCA0, 'M', u'به'), + (0xFCA1, 'M', u'تج'), + (0xFCA2, 'M', u'تح'), + (0xFCA3, 'M', u'تخ'), + (0xFCA4, 'M', u'تم'), + (0xFCA5, 'M', u'ته'), + (0xFCA6, 'M', u'ثم'), + (0xFCA7, 'M', u'جح'), + (0xFCA8, 'M', u'جم'), + (0xFCA9, 'M', u'حج'), + (0xFCAA, 'M', u'حم'), + (0xFCAB, 'M', u'خج'), + (0xFCAC, 'M', u'خم'), + (0xFCAD, 'M', u'سج'), + (0xFCAE, 'M', u'سح'), + (0xFCAF, 'M', u'سخ'), + (0xFCB0, 'M', u'سم'), + (0xFCB1, 'M', u'صح'), + (0xFCB2, 'M', u'صخ'), + (0xFCB3, 'M', u'صم'), + (0xFCB4, 'M', u'ضج'), + (0xFCB5, 'M', u'ضح'), + (0xFCB6, 'M', u'ضخ'), + (0xFCB7, 'M', u'ضم'), + (0xFCB8, 'M', u'طح'), + (0xFCB9, 'M', u'ظم'), + (0xFCBA, 'M', u'عج'), + (0xFCBB, 'M', u'عم'), + (0xFCBC, 'M', u'غج'), + (0xFCBD, 'M', u'غم'), + (0xFCBE, 'M', u'فج'), + (0xFCBF, 'M', u'فح'), + (0xFCC0, 'M', u'فخ'), + (0xFCC1, 'M', u'فم'), + (0xFCC2, 'M', u'قح'), + (0xFCC3, 'M', u'قم'), + (0xFCC4, 'M', u'كج'), + (0xFCC5, 'M', u'كح'), + (0xFCC6, 'M', u'كخ'), + (0xFCC7, 'M', u'كل'), + (0xFCC8, 'M', u'كم'), + (0xFCC9, 'M', u'لج'), + (0xFCCA, 'M', u'لح'), + (0xFCCB, 'M', u'لخ'), + (0xFCCC, 'M', u'لم'), + (0xFCCD, 'M', u'له'), + (0xFCCE, 'M', u'مج'), + (0xFCCF, 'M', u'مح'), + (0xFCD0, 'M', u'مخ'), + (0xFCD1, 'M', u'مم'), + (0xFCD2, 'M', u'نج'), + (0xFCD3, 'M', u'نح'), + (0xFCD4, 'M', u'نخ'), + (0xFCD5, 'M', u'نم'), + (0xFCD6, 'M', u'نه'), + (0xFCD7, 'M', u'هج'), + (0xFCD8, 'M', u'هم'), + (0xFCD9, 'M', u'هٰ'), + (0xFCDA, 'M', u'يج'), + (0xFCDB, 'M', u'يح'), + (0xFCDC, 'M', u'يخ'), + (0xFCDD, 'M', u'يم'), + (0xFCDE, 'M', u'يه'), + (0xFCDF, 'M', u'ئم'), + (0xFCE0, 'M', u'ئه'), + (0xFCE1, 'M', u'بم'), + (0xFCE2, 'M', u'به'), + (0xFCE3, 'M', u'تم'), + (0xFCE4, 'M', u'ته'), + (0xFCE5, 'M', u'ثم'), + (0xFCE6, 'M', u'ثه'), + (0xFCE7, 'M', u'سم'), + (0xFCE8, 'M', u'سه'), + (0xFCE9, 'M', u'شم'), + (0xFCEA, 'M', u'شه'), + (0xFCEB, 'M', u'كل'), + (0xFCEC, 'M', u'كم'), + (0xFCED, 'M', u'لم'), + (0xFCEE, 'M', u'نم'), + ] + +def _seg_47(): + return [ + (0xFCEF, 'M', u'نه'), + (0xFCF0, 'M', u'يم'), + (0xFCF1, 'M', u'يه'), + (0xFCF2, 'M', u'ـَّ'), + (0xFCF3, 'M', u'ـُّ'), + (0xFCF4, 'M', u'ـِّ'), + (0xFCF5, 'M', u'طى'), + (0xFCF6, 'M', u'طي'), + (0xFCF7, 'M', u'عى'), + (0xFCF8, 'M', u'عي'), + (0xFCF9, 'M', u'غى'), + (0xFCFA, 'M', u'غي'), + (0xFCFB, 'M', u'سى'), + (0xFCFC, 'M', u'سي'), + (0xFCFD, 'M', u'شى'), + (0xFCFE, 'M', u'شي'), + (0xFCFF, 'M', u'حى'), + (0xFD00, 'M', u'حي'), + (0xFD01, 'M', u'جى'), + (0xFD02, 'M', u'جي'), + (0xFD03, 'M', u'خى'), + (0xFD04, 'M', u'خي'), + (0xFD05, 'M', u'صى'), + (0xFD06, 'M', u'صي'), + (0xFD07, 'M', u'ضى'), + (0xFD08, 'M', u'ضي'), + (0xFD09, 'M', u'شج'), + (0xFD0A, 'M', u'شح'), + (0xFD0B, 'M', u'شخ'), + (0xFD0C, 'M', u'شم'), + (0xFD0D, 'M', u'شر'), + (0xFD0E, 'M', u'سر'), + (0xFD0F, 'M', u'صر'), + (0xFD10, 'M', u'ضر'), + (0xFD11, 'M', u'طى'), + (0xFD12, 'M', u'طي'), + (0xFD13, 'M', u'عى'), + (0xFD14, 'M', u'عي'), + (0xFD15, 'M', u'غى'), + (0xFD16, 'M', u'غي'), + (0xFD17, 'M', u'سى'), + (0xFD18, 'M', u'سي'), + (0xFD19, 'M', u'شى'), + (0xFD1A, 'M', u'شي'), + (0xFD1B, 'M', u'حى'), + (0xFD1C, 'M', u'حي'), + (0xFD1D, 'M', u'جى'), + (0xFD1E, 'M', u'جي'), + (0xFD1F, 'M', u'خى'), + (0xFD20, 'M', u'خي'), + (0xFD21, 'M', u'صى'), + (0xFD22, 'M', u'صي'), + (0xFD23, 'M', u'ضى'), + (0xFD24, 'M', u'ضي'), + (0xFD25, 'M', u'شج'), + (0xFD26, 'M', u'شح'), + (0xFD27, 'M', u'شخ'), + (0xFD28, 'M', u'شم'), + (0xFD29, 'M', u'شر'), + (0xFD2A, 'M', u'سر'), + (0xFD2B, 'M', u'صر'), + (0xFD2C, 'M', u'ضر'), + (0xFD2D, 'M', u'شج'), + (0xFD2E, 'M', u'شح'), + (0xFD2F, 'M', u'شخ'), + (0xFD30, 'M', u'شم'), + (0xFD31, 'M', u'سه'), + (0xFD32, 'M', u'شه'), + (0xFD33, 'M', u'طم'), + (0xFD34, 'M', u'سج'), + (0xFD35, 'M', u'سح'), + (0xFD36, 'M', u'سخ'), + (0xFD37, 'M', u'شج'), + (0xFD38, 'M', u'شح'), + (0xFD39, 'M', u'شخ'), + (0xFD3A, 'M', u'طم'), + (0xFD3B, 'M', u'ظم'), + (0xFD3C, 'M', u'اً'), + (0xFD3E, 'V'), + (0xFD40, 'X'), + (0xFD50, 'M', u'تجم'), + (0xFD51, 'M', u'تحج'), + (0xFD53, 'M', u'تحم'), + (0xFD54, 'M', u'تخم'), + (0xFD55, 'M', u'تمج'), + (0xFD56, 'M', u'تمح'), + (0xFD57, 'M', u'تمخ'), + (0xFD58, 'M', u'جمح'), + (0xFD5A, 'M', u'حمي'), + (0xFD5B, 'M', u'حمى'), + (0xFD5C, 'M', u'سحج'), + (0xFD5D, 'M', u'سجح'), + (0xFD5E, 'M', u'سجى'), + (0xFD5F, 'M', u'سمح'), + (0xFD61, 'M', u'سمج'), + (0xFD62, 'M', u'سمم'), + (0xFD64, 'M', u'صحح'), + (0xFD66, 'M', u'صمم'), + (0xFD67, 'M', u'شحم'), + (0xFD69, 'M', u'شجي'), + ] + +def _seg_48(): + return [ + (0xFD6A, 'M', u'شمخ'), + (0xFD6C, 'M', u'شمم'), + (0xFD6E, 'M', u'ضحى'), + (0xFD6F, 'M', u'ضخم'), + (0xFD71, 'M', u'طمح'), + (0xFD73, 'M', u'طمم'), + (0xFD74, 'M', u'طمي'), + (0xFD75, 'M', u'عجم'), + (0xFD76, 'M', u'عمم'), + (0xFD78, 'M', u'عمى'), + (0xFD79, 'M', u'غمم'), + (0xFD7A, 'M', u'غمي'), + (0xFD7B, 'M', u'غمى'), + (0xFD7C, 'M', u'فخم'), + (0xFD7E, 'M', u'قمح'), + (0xFD7F, 'M', u'قمم'), + (0xFD80, 'M', u'لحم'), + (0xFD81, 'M', u'لحي'), + (0xFD82, 'M', u'لحى'), + (0xFD83, 'M', u'لجج'), + (0xFD85, 'M', u'لخم'), + (0xFD87, 'M', u'لمح'), + (0xFD89, 'M', u'محج'), + (0xFD8A, 'M', u'محم'), + (0xFD8B, 'M', u'محي'), + (0xFD8C, 'M', u'مجح'), + (0xFD8D, 'M', u'مجم'), + (0xFD8E, 'M', u'مخج'), + (0xFD8F, 'M', u'مخم'), + (0xFD90, 'X'), + (0xFD92, 'M', u'مجخ'), + (0xFD93, 'M', u'همج'), + (0xFD94, 'M', u'همم'), + (0xFD95, 'M', u'نحم'), + (0xFD96, 'M', u'نحى'), + (0xFD97, 'M', u'نجم'), + (0xFD99, 'M', u'نجى'), + (0xFD9A, 'M', u'نمي'), + (0xFD9B, 'M', u'نمى'), + (0xFD9C, 'M', u'يمم'), + (0xFD9E, 'M', u'بخي'), + (0xFD9F, 'M', u'تجي'), + (0xFDA0, 'M', u'تجى'), + (0xFDA1, 'M', u'تخي'), + (0xFDA2, 'M', u'تخى'), + (0xFDA3, 'M', u'تمي'), + (0xFDA4, 'M', u'تمى'), + (0xFDA5, 'M', u'جمي'), + (0xFDA6, 'M', u'جحى'), + (0xFDA7, 'M', u'جمى'), + (0xFDA8, 'M', u'سخى'), + (0xFDA9, 'M', u'صحي'), + (0xFDAA, 'M', u'شحي'), + (0xFDAB, 'M', u'ضحي'), + (0xFDAC, 'M', u'لجي'), + (0xFDAD, 'M', u'لمي'), + (0xFDAE, 'M', u'يحي'), + (0xFDAF, 'M', u'يجي'), + (0xFDB0, 'M', u'يمي'), + (0xFDB1, 'M', u'ممي'), + (0xFDB2, 'M', u'قمي'), + (0xFDB3, 'M', u'نحي'), + (0xFDB4, 'M', u'قمح'), + (0xFDB5, 'M', u'لحم'), + (0xFDB6, 'M', u'عمي'), + (0xFDB7, 'M', u'كمي'), + (0xFDB8, 'M', u'نجح'), + (0xFDB9, 'M', u'مخي'), + (0xFDBA, 'M', u'لجم'), + (0xFDBB, 'M', u'كمم'), + (0xFDBC, 'M', u'لجم'), + (0xFDBD, 'M', u'نجح'), + (0xFDBE, 'M', u'جحي'), + (0xFDBF, 'M', u'حجي'), + (0xFDC0, 'M', u'مجي'), + (0xFDC1, 'M', u'فمي'), + (0xFDC2, 'M', u'بحي'), + (0xFDC3, 'M', u'كمم'), + (0xFDC4, 'M', u'عجم'), + (0xFDC5, 'M', u'صمم'), + (0xFDC6, 'M', u'سخي'), + (0xFDC7, 'M', u'نجي'), + (0xFDC8, 'X'), + (0xFDF0, 'M', u'صلے'), + (0xFDF1, 'M', u'قلے'), + (0xFDF2, 'M', u'الله'), + (0xFDF3, 'M', u'اكبر'), + (0xFDF4, 'M', u'محمد'), + (0xFDF5, 'M', u'صلعم'), + (0xFDF6, 'M', u'رسول'), + (0xFDF7, 'M', u'عليه'), + (0xFDF8, 'M', u'وسلم'), + (0xFDF9, 'M', u'صلى'), + (0xFDFA, '3', u'صلى الله عليه وسلم'), + (0xFDFB, '3', u'جل جلاله'), + (0xFDFC, 'M', u'ریال'), + (0xFDFD, 'V'), + (0xFDFE, 'X'), + (0xFE00, 'I'), + (0xFE10, '3', u','), + ] + +def _seg_49(): + return [ + (0xFE11, 'M', u'、'), + (0xFE12, 'X'), + (0xFE13, '3', u':'), + (0xFE14, '3', u';'), + (0xFE15, '3', u'!'), + (0xFE16, '3', u'?'), + (0xFE17, 'M', u'〖'), + (0xFE18, 'M', u'〗'), + (0xFE19, 'X'), + (0xFE20, 'V'), + (0xFE30, 'X'), + (0xFE31, 'M', u'—'), + (0xFE32, 'M', u'–'), + (0xFE33, '3', u'_'), + (0xFE35, '3', u'('), + (0xFE36, '3', u')'), + (0xFE37, '3', u'{'), + (0xFE38, '3', u'}'), + (0xFE39, 'M', u'〔'), + (0xFE3A, 'M', u'〕'), + (0xFE3B, 'M', u'【'), + (0xFE3C, 'M', u'】'), + (0xFE3D, 'M', u'《'), + (0xFE3E, 'M', u'》'), + (0xFE3F, 'M', u'〈'), + (0xFE40, 'M', u'〉'), + (0xFE41, 'M', u'「'), + (0xFE42, 'M', u'」'), + (0xFE43, 'M', u'『'), + (0xFE44, 'M', u'』'), + (0xFE45, 'V'), + (0xFE47, '3', u'['), + (0xFE48, '3', u']'), + (0xFE49, '3', u' ̅'), + (0xFE4D, '3', u'_'), + (0xFE50, '3', u','), + (0xFE51, 'M', u'、'), + (0xFE52, 'X'), + (0xFE54, '3', u';'), + (0xFE55, '3', u':'), + (0xFE56, '3', u'?'), + (0xFE57, '3', u'!'), + (0xFE58, 'M', u'—'), + (0xFE59, '3', u'('), + (0xFE5A, '3', u')'), + (0xFE5B, '3', u'{'), + (0xFE5C, '3', u'}'), + (0xFE5D, 'M', u'〔'), + (0xFE5E, 'M', u'〕'), + (0xFE5F, '3', u'#'), + (0xFE60, '3', u'&'), + (0xFE61, '3', u'*'), + (0xFE62, '3', u'+'), + (0xFE63, 'M', u'-'), + (0xFE64, '3', u'<'), + (0xFE65, '3', u'>'), + (0xFE66, '3', u'='), + (0xFE67, 'X'), + (0xFE68, '3', u'\\'), + (0xFE69, '3', u'$'), + (0xFE6A, '3', u'%'), + (0xFE6B, '3', u'@'), + (0xFE6C, 'X'), + (0xFE70, '3', u' ً'), + (0xFE71, 'M', u'ـً'), + (0xFE72, '3', u' ٌ'), + (0xFE73, 'V'), + (0xFE74, '3', u' ٍ'), + (0xFE75, 'X'), + (0xFE76, '3', u' َ'), + (0xFE77, 'M', u'ـَ'), + (0xFE78, '3', u' ُ'), + (0xFE79, 'M', u'ـُ'), + (0xFE7A, '3', u' ِ'), + (0xFE7B, 'M', u'ـِ'), + (0xFE7C, '3', u' ّ'), + (0xFE7D, 'M', u'ـّ'), + (0xFE7E, '3', u' ْ'), + (0xFE7F, 'M', u'ـْ'), + (0xFE80, 'M', u'ء'), + (0xFE81, 'M', u'آ'), + (0xFE83, 'M', u'أ'), + (0xFE85, 'M', u'ؤ'), + (0xFE87, 'M', u'إ'), + (0xFE89, 'M', u'ئ'), + (0xFE8D, 'M', u'ا'), + (0xFE8F, 'M', u'ب'), + (0xFE93, 'M', u'ة'), + (0xFE95, 'M', u'ت'), + (0xFE99, 'M', u'ث'), + (0xFE9D, 'M', u'ج'), + (0xFEA1, 'M', u'ح'), + (0xFEA5, 'M', u'خ'), + (0xFEA9, 'M', u'د'), + (0xFEAB, 'M', u'ذ'), + (0xFEAD, 'M', u'ر'), + (0xFEAF, 'M', u'ز'), + (0xFEB1, 'M', u'س'), + (0xFEB5, 'M', u'ش'), + (0xFEB9, 'M', u'ص'), + ] + +def _seg_50(): + return [ + (0xFEBD, 'M', u'ض'), + (0xFEC1, 'M', u'ط'), + (0xFEC5, 'M', u'ظ'), + (0xFEC9, 'M', u'ع'), + (0xFECD, 'M', u'غ'), + (0xFED1, 'M', u'ف'), + (0xFED5, 'M', u'ق'), + (0xFED9, 'M', u'ك'), + (0xFEDD, 'M', u'ل'), + (0xFEE1, 'M', u'م'), + (0xFEE5, 'M', u'ن'), + (0xFEE9, 'M', u'ه'), + (0xFEED, 'M', u'و'), + (0xFEEF, 'M', u'ى'), + (0xFEF1, 'M', u'ي'), + (0xFEF5, 'M', u'لآ'), + (0xFEF7, 'M', u'لأ'), + (0xFEF9, 'M', u'لإ'), + (0xFEFB, 'M', u'لا'), + (0xFEFD, 'X'), + (0xFEFF, 'I'), + (0xFF00, 'X'), + (0xFF01, '3', u'!'), + (0xFF02, '3', u'"'), + (0xFF03, '3', u'#'), + (0xFF04, '3', u'$'), + (0xFF05, '3', u'%'), + (0xFF06, '3', u'&'), + (0xFF07, '3', u'\''), + (0xFF08, '3', u'('), + (0xFF09, '3', u')'), + (0xFF0A, '3', u'*'), + (0xFF0B, '3', u'+'), + (0xFF0C, '3', u','), + (0xFF0D, 'M', u'-'), + (0xFF0E, 'M', u'.'), + (0xFF0F, '3', u'/'), + (0xFF10, 'M', u'0'), + (0xFF11, 'M', u'1'), + (0xFF12, 'M', u'2'), + (0xFF13, 'M', u'3'), + (0xFF14, 'M', u'4'), + (0xFF15, 'M', u'5'), + (0xFF16, 'M', u'6'), + (0xFF17, 'M', u'7'), + (0xFF18, 'M', u'8'), + (0xFF19, 'M', u'9'), + (0xFF1A, '3', u':'), + (0xFF1B, '3', u';'), + (0xFF1C, '3', u'<'), + (0xFF1D, '3', u'='), + (0xFF1E, '3', u'>'), + (0xFF1F, '3', u'?'), + (0xFF20, '3', u'@'), + (0xFF21, 'M', u'a'), + (0xFF22, 'M', u'b'), + (0xFF23, 'M', u'c'), + (0xFF24, 'M', u'd'), + (0xFF25, 'M', u'e'), + (0xFF26, 'M', u'f'), + (0xFF27, 'M', u'g'), + (0xFF28, 'M', u'h'), + (0xFF29, 'M', u'i'), + (0xFF2A, 'M', u'j'), + (0xFF2B, 'M', u'k'), + (0xFF2C, 'M', u'l'), + (0xFF2D, 'M', u'm'), + (0xFF2E, 'M', u'n'), + (0xFF2F, 'M', u'o'), + (0xFF30, 'M', u'p'), + (0xFF31, 'M', u'q'), + (0xFF32, 'M', u'r'), + (0xFF33, 'M', u's'), + (0xFF34, 'M', u't'), + (0xFF35, 'M', u'u'), + (0xFF36, 'M', u'v'), + (0xFF37, 'M', u'w'), + (0xFF38, 'M', u'x'), + (0xFF39, 'M', u'y'), + (0xFF3A, 'M', u'z'), + (0xFF3B, '3', u'['), + (0xFF3C, '3', u'\\'), + (0xFF3D, '3', u']'), + (0xFF3E, '3', u'^'), + (0xFF3F, '3', u'_'), + (0xFF40, '3', u'`'), + (0xFF41, 'M', u'a'), + (0xFF42, 'M', u'b'), + (0xFF43, 'M', u'c'), + (0xFF44, 'M', u'd'), + (0xFF45, 'M', u'e'), + (0xFF46, 'M', u'f'), + (0xFF47, 'M', u'g'), + (0xFF48, 'M', u'h'), + (0xFF49, 'M', u'i'), + (0xFF4A, 'M', u'j'), + (0xFF4B, 'M', u'k'), + (0xFF4C, 'M', u'l'), + (0xFF4D, 'M', u'm'), + (0xFF4E, 'M', u'n'), + ] + +def _seg_51(): + return [ + (0xFF4F, 'M', u'o'), + (0xFF50, 'M', u'p'), + (0xFF51, 'M', u'q'), + (0xFF52, 'M', u'r'), + (0xFF53, 'M', u's'), + (0xFF54, 'M', u't'), + (0xFF55, 'M', u'u'), + (0xFF56, 'M', u'v'), + (0xFF57, 'M', u'w'), + (0xFF58, 'M', u'x'), + (0xFF59, 'M', u'y'), + (0xFF5A, 'M', u'z'), + (0xFF5B, '3', u'{'), + (0xFF5C, '3', u'|'), + (0xFF5D, '3', u'}'), + (0xFF5E, '3', u'~'), + (0xFF5F, 'M', u'⦅'), + (0xFF60, 'M', u'⦆'), + (0xFF61, 'M', u'.'), + (0xFF62, 'M', u'「'), + (0xFF63, 'M', u'」'), + (0xFF64, 'M', u'、'), + (0xFF65, 'M', u'・'), + (0xFF66, 'M', u'ヲ'), + (0xFF67, 'M', u'ァ'), + (0xFF68, 'M', u'ィ'), + (0xFF69, 'M', u'ゥ'), + (0xFF6A, 'M', u'ェ'), + (0xFF6B, 'M', u'ォ'), + (0xFF6C, 'M', u'ャ'), + (0xFF6D, 'M', u'ュ'), + (0xFF6E, 'M', u'ョ'), + (0xFF6F, 'M', u'ッ'), + (0xFF70, 'M', u'ー'), + (0xFF71, 'M', u'ア'), + (0xFF72, 'M', u'イ'), + (0xFF73, 'M', u'ウ'), + (0xFF74, 'M', u'エ'), + (0xFF75, 'M', u'オ'), + (0xFF76, 'M', u'カ'), + (0xFF77, 'M', u'キ'), + (0xFF78, 'M', u'ク'), + (0xFF79, 'M', u'ケ'), + (0xFF7A, 'M', u'コ'), + (0xFF7B, 'M', u'サ'), + (0xFF7C, 'M', u'シ'), + (0xFF7D, 'M', u'ス'), + (0xFF7E, 'M', u'セ'), + (0xFF7F, 'M', u'ソ'), + (0xFF80, 'M', u'タ'), + (0xFF81, 'M', u'チ'), + (0xFF82, 'M', u'ツ'), + (0xFF83, 'M', u'テ'), + (0xFF84, 'M', u'ト'), + (0xFF85, 'M', u'ナ'), + (0xFF86, 'M', u'ニ'), + (0xFF87, 'M', u'ヌ'), + (0xFF88, 'M', u'ネ'), + (0xFF89, 'M', u'ノ'), + (0xFF8A, 'M', u'ハ'), + (0xFF8B, 'M', u'ヒ'), + (0xFF8C, 'M', u'フ'), + (0xFF8D, 'M', u'ヘ'), + (0xFF8E, 'M', u'ホ'), + (0xFF8F, 'M', u'マ'), + (0xFF90, 'M', u'ミ'), + (0xFF91, 'M', u'ム'), + (0xFF92, 'M', u'メ'), + (0xFF93, 'M', u'モ'), + (0xFF94, 'M', u'ヤ'), + (0xFF95, 'M', u'ユ'), + (0xFF96, 'M', u'ヨ'), + (0xFF97, 'M', u'ラ'), + (0xFF98, 'M', u'リ'), + (0xFF99, 'M', u'ル'), + (0xFF9A, 'M', u'レ'), + (0xFF9B, 'M', u'ロ'), + (0xFF9C, 'M', u'ワ'), + (0xFF9D, 'M', u'ン'), + (0xFF9E, 'M', u'゙'), + (0xFF9F, 'M', u'゚'), + (0xFFA0, 'X'), + (0xFFA1, 'M', u'ᄀ'), + (0xFFA2, 'M', u'ᄁ'), + (0xFFA3, 'M', u'ᆪ'), + (0xFFA4, 'M', u'ᄂ'), + (0xFFA5, 'M', u'ᆬ'), + (0xFFA6, 'M', u'ᆭ'), + (0xFFA7, 'M', u'ᄃ'), + (0xFFA8, 'M', u'ᄄ'), + (0xFFA9, 'M', u'ᄅ'), + (0xFFAA, 'M', u'ᆰ'), + (0xFFAB, 'M', u'ᆱ'), + (0xFFAC, 'M', u'ᆲ'), + (0xFFAD, 'M', u'ᆳ'), + (0xFFAE, 'M', u'ᆴ'), + (0xFFAF, 'M', u'ᆵ'), + (0xFFB0, 'M', u'ᄚ'), + (0xFFB1, 'M', u'ᄆ'), + (0xFFB2, 'M', u'ᄇ'), + ] + +def _seg_52(): + return [ + (0xFFB3, 'M', u'ᄈ'), + (0xFFB4, 'M', u'ᄡ'), + (0xFFB5, 'M', u'ᄉ'), + (0xFFB6, 'M', u'ᄊ'), + (0xFFB7, 'M', u'ᄋ'), + (0xFFB8, 'M', u'ᄌ'), + (0xFFB9, 'M', u'ᄍ'), + (0xFFBA, 'M', u'ᄎ'), + (0xFFBB, 'M', u'ᄏ'), + (0xFFBC, 'M', u'ᄐ'), + (0xFFBD, 'M', u'ᄑ'), + (0xFFBE, 'M', u'ᄒ'), + (0xFFBF, 'X'), + (0xFFC2, 'M', u'ᅡ'), + (0xFFC3, 'M', u'ᅢ'), + (0xFFC4, 'M', u'ᅣ'), + (0xFFC5, 'M', u'ᅤ'), + (0xFFC6, 'M', u'ᅥ'), + (0xFFC7, 'M', u'ᅦ'), + (0xFFC8, 'X'), + (0xFFCA, 'M', u'ᅧ'), + (0xFFCB, 'M', u'ᅨ'), + (0xFFCC, 'M', u'ᅩ'), + (0xFFCD, 'M', u'ᅪ'), + (0xFFCE, 'M', u'ᅫ'), + (0xFFCF, 'M', u'ᅬ'), + (0xFFD0, 'X'), + (0xFFD2, 'M', u'ᅭ'), + (0xFFD3, 'M', u'ᅮ'), + (0xFFD4, 'M', u'ᅯ'), + (0xFFD5, 'M', u'ᅰ'), + (0xFFD6, 'M', u'ᅱ'), + (0xFFD7, 'M', u'ᅲ'), + (0xFFD8, 'X'), + (0xFFDA, 'M', u'ᅳ'), + (0xFFDB, 'M', u'ᅴ'), + (0xFFDC, 'M', u'ᅵ'), + (0xFFDD, 'X'), + (0xFFE0, 'M', u'¢'), + (0xFFE1, 'M', u'£'), + (0xFFE2, 'M', u'¬'), + (0xFFE3, '3', u' ̄'), + (0xFFE4, 'M', u'¦'), + (0xFFE5, 'M', u'¥'), + (0xFFE6, 'M', u'₩'), + (0xFFE7, 'X'), + (0xFFE8, 'M', u'│'), + (0xFFE9, 'M', u'←'), + (0xFFEA, 'M', u'↑'), + (0xFFEB, 'M', u'→'), + (0xFFEC, 'M', u'↓'), + (0xFFED, 'M', u'■'), + (0xFFEE, 'M', u'○'), + (0xFFEF, 'X'), + (0x10000, 'V'), + (0x1000C, 'X'), + (0x1000D, 'V'), + (0x10027, 'X'), + (0x10028, 'V'), + (0x1003B, 'X'), + (0x1003C, 'V'), + (0x1003E, 'X'), + (0x1003F, 'V'), + (0x1004E, 'X'), + (0x10050, 'V'), + (0x1005E, 'X'), + (0x10080, 'V'), + (0x100FB, 'X'), + (0x10100, 'V'), + (0x10103, 'X'), + (0x10107, 'V'), + (0x10134, 'X'), + (0x10137, 'V'), + (0x1018F, 'X'), + (0x10190, 'V'), + (0x1019C, 'X'), + (0x101A0, 'V'), + (0x101A1, 'X'), + (0x101D0, 'V'), + (0x101FE, 'X'), + (0x10280, 'V'), + (0x1029D, 'X'), + (0x102A0, 'V'), + (0x102D1, 'X'), + (0x102E0, 'V'), + (0x102FC, 'X'), + (0x10300, 'V'), + (0x10324, 'X'), + (0x1032D, 'V'), + (0x1034B, 'X'), + (0x10350, 'V'), + (0x1037B, 'X'), + (0x10380, 'V'), + (0x1039E, 'X'), + (0x1039F, 'V'), + (0x103C4, 'X'), + (0x103C8, 'V'), + (0x103D6, 'X'), + (0x10400, 'M', u'𐐨'), + (0x10401, 'M', u'𐐩'), + ] + +def _seg_53(): + return [ + (0x10402, 'M', u'𐐪'), + (0x10403, 'M', u'𐐫'), + (0x10404, 'M', u'𐐬'), + (0x10405, 'M', u'𐐭'), + (0x10406, 'M', u'𐐮'), + (0x10407, 'M', u'𐐯'), + (0x10408, 'M', u'𐐰'), + (0x10409, 'M', u'𐐱'), + (0x1040A, 'M', u'𐐲'), + (0x1040B, 'M', u'𐐳'), + (0x1040C, 'M', u'𐐴'), + (0x1040D, 'M', u'𐐵'), + (0x1040E, 'M', u'𐐶'), + (0x1040F, 'M', u'𐐷'), + (0x10410, 'M', u'𐐸'), + (0x10411, 'M', u'𐐹'), + (0x10412, 'M', u'𐐺'), + (0x10413, 'M', u'𐐻'), + (0x10414, 'M', u'𐐼'), + (0x10415, 'M', u'𐐽'), + (0x10416, 'M', u'𐐾'), + (0x10417, 'M', u'𐐿'), + (0x10418, 'M', u'𐑀'), + (0x10419, 'M', u'𐑁'), + (0x1041A, 'M', u'𐑂'), + (0x1041B, 'M', u'𐑃'), + (0x1041C, 'M', u'𐑄'), + (0x1041D, 'M', u'𐑅'), + (0x1041E, 'M', u'𐑆'), + (0x1041F, 'M', u'𐑇'), + (0x10420, 'M', u'𐑈'), + (0x10421, 'M', u'𐑉'), + (0x10422, 'M', u'𐑊'), + (0x10423, 'M', u'𐑋'), + (0x10424, 'M', u'𐑌'), + (0x10425, 'M', u'𐑍'), + (0x10426, 'M', u'𐑎'), + (0x10427, 'M', u'𐑏'), + (0x10428, 'V'), + (0x1049E, 'X'), + (0x104A0, 'V'), + (0x104AA, 'X'), + (0x104B0, 'M', u'𐓘'), + (0x104B1, 'M', u'𐓙'), + (0x104B2, 'M', u'𐓚'), + (0x104B3, 'M', u'𐓛'), + (0x104B4, 'M', u'𐓜'), + (0x104B5, 'M', u'𐓝'), + (0x104B6, 'M', u'𐓞'), + (0x104B7, 'M', u'𐓟'), + (0x104B8, 'M', u'𐓠'), + (0x104B9, 'M', u'𐓡'), + (0x104BA, 'M', u'𐓢'), + (0x104BB, 'M', u'𐓣'), + (0x104BC, 'M', u'𐓤'), + (0x104BD, 'M', u'𐓥'), + (0x104BE, 'M', u'𐓦'), + (0x104BF, 'M', u'𐓧'), + (0x104C0, 'M', u'𐓨'), + (0x104C1, 'M', u'𐓩'), + (0x104C2, 'M', u'𐓪'), + (0x104C3, 'M', u'𐓫'), + (0x104C4, 'M', u'𐓬'), + (0x104C5, 'M', u'𐓭'), + (0x104C6, 'M', u'𐓮'), + (0x104C7, 'M', u'𐓯'), + (0x104C8, 'M', u'𐓰'), + (0x104C9, 'M', u'𐓱'), + (0x104CA, 'M', u'𐓲'), + (0x104CB, 'M', u'𐓳'), + (0x104CC, 'M', u'𐓴'), + (0x104CD, 'M', u'𐓵'), + (0x104CE, 'M', u'𐓶'), + (0x104CF, 'M', u'𐓷'), + (0x104D0, 'M', u'𐓸'), + (0x104D1, 'M', u'𐓹'), + (0x104D2, 'M', u'𐓺'), + (0x104D3, 'M', u'𐓻'), + (0x104D4, 'X'), + (0x104D8, 'V'), + (0x104FC, 'X'), + (0x10500, 'V'), + (0x10528, 'X'), + (0x10530, 'V'), + (0x10564, 'X'), + (0x1056F, 'V'), + (0x10570, 'X'), + (0x10600, 'V'), + (0x10737, 'X'), + (0x10740, 'V'), + (0x10756, 'X'), + (0x10760, 'V'), + (0x10768, 'X'), + (0x10800, 'V'), + (0x10806, 'X'), + (0x10808, 'V'), + (0x10809, 'X'), + (0x1080A, 'V'), + (0x10836, 'X'), + (0x10837, 'V'), + ] + +def _seg_54(): + return [ + (0x10839, 'X'), + (0x1083C, 'V'), + (0x1083D, 'X'), + (0x1083F, 'V'), + (0x10856, 'X'), + (0x10857, 'V'), + (0x1089F, 'X'), + (0x108A7, 'V'), + (0x108B0, 'X'), + (0x108E0, 'V'), + (0x108F3, 'X'), + (0x108F4, 'V'), + (0x108F6, 'X'), + (0x108FB, 'V'), + (0x1091C, 'X'), + (0x1091F, 'V'), + (0x1093A, 'X'), + (0x1093F, 'V'), + (0x10940, 'X'), + (0x10980, 'V'), + (0x109B8, 'X'), + (0x109BC, 'V'), + (0x109D0, 'X'), + (0x109D2, 'V'), + (0x10A04, 'X'), + (0x10A05, 'V'), + (0x10A07, 'X'), + (0x10A0C, 'V'), + (0x10A14, 'X'), + (0x10A15, 'V'), + (0x10A18, 'X'), + (0x10A19, 'V'), + (0x10A36, 'X'), + (0x10A38, 'V'), + (0x10A3B, 'X'), + (0x10A3F, 'V'), + (0x10A49, 'X'), + (0x10A50, 'V'), + (0x10A59, 'X'), + (0x10A60, 'V'), + (0x10AA0, 'X'), + (0x10AC0, 'V'), + (0x10AE7, 'X'), + (0x10AEB, 'V'), + (0x10AF7, 'X'), + (0x10B00, 'V'), + (0x10B36, 'X'), + (0x10B39, 'V'), + (0x10B56, 'X'), + (0x10B58, 'V'), + (0x10B73, 'X'), + (0x10B78, 'V'), + (0x10B92, 'X'), + (0x10B99, 'V'), + (0x10B9D, 'X'), + (0x10BA9, 'V'), + (0x10BB0, 'X'), + (0x10C00, 'V'), + (0x10C49, 'X'), + (0x10C80, 'M', u'𐳀'), + (0x10C81, 'M', u'𐳁'), + (0x10C82, 'M', u'𐳂'), + (0x10C83, 'M', u'𐳃'), + (0x10C84, 'M', u'𐳄'), + (0x10C85, 'M', u'𐳅'), + (0x10C86, 'M', u'𐳆'), + (0x10C87, 'M', u'𐳇'), + (0x10C88, 'M', u'𐳈'), + (0x10C89, 'M', u'𐳉'), + (0x10C8A, 'M', u'𐳊'), + (0x10C8B, 'M', u'𐳋'), + (0x10C8C, 'M', u'𐳌'), + (0x10C8D, 'M', u'𐳍'), + (0x10C8E, 'M', u'𐳎'), + (0x10C8F, 'M', u'𐳏'), + (0x10C90, 'M', u'𐳐'), + (0x10C91, 'M', u'𐳑'), + (0x10C92, 'M', u'𐳒'), + (0x10C93, 'M', u'𐳓'), + (0x10C94, 'M', u'𐳔'), + (0x10C95, 'M', u'𐳕'), + (0x10C96, 'M', u'𐳖'), + (0x10C97, 'M', u'𐳗'), + (0x10C98, 'M', u'𐳘'), + (0x10C99, 'M', u'𐳙'), + (0x10C9A, 'M', u'𐳚'), + (0x10C9B, 'M', u'𐳛'), + (0x10C9C, 'M', u'𐳜'), + (0x10C9D, 'M', u'𐳝'), + (0x10C9E, 'M', u'𐳞'), + (0x10C9F, 'M', u'𐳟'), + (0x10CA0, 'M', u'𐳠'), + (0x10CA1, 'M', u'𐳡'), + (0x10CA2, 'M', u'𐳢'), + (0x10CA3, 'M', u'𐳣'), + (0x10CA4, 'M', u'𐳤'), + (0x10CA5, 'M', u'𐳥'), + (0x10CA6, 'M', u'𐳦'), + (0x10CA7, 'M', u'𐳧'), + (0x10CA8, 'M', u'𐳨'), + ] + +def _seg_55(): + return [ + (0x10CA9, 'M', u'𐳩'), + (0x10CAA, 'M', u'𐳪'), + (0x10CAB, 'M', u'𐳫'), + (0x10CAC, 'M', u'𐳬'), + (0x10CAD, 'M', u'𐳭'), + (0x10CAE, 'M', u'𐳮'), + (0x10CAF, 'M', u'𐳯'), + (0x10CB0, 'M', u'𐳰'), + (0x10CB1, 'M', u'𐳱'), + (0x10CB2, 'M', u'𐳲'), + (0x10CB3, 'X'), + (0x10CC0, 'V'), + (0x10CF3, 'X'), + (0x10CFA, 'V'), + (0x10D28, 'X'), + (0x10D30, 'V'), + (0x10D3A, 'X'), + (0x10E60, 'V'), + (0x10E7F, 'X'), + (0x10F00, 'V'), + (0x10F28, 'X'), + (0x10F30, 'V'), + (0x10F5A, 'X'), + (0x11000, 'V'), + (0x1104E, 'X'), + (0x11052, 'V'), + (0x11070, 'X'), + (0x1107F, 'V'), + (0x110BD, 'X'), + (0x110BE, 'V'), + (0x110C2, 'X'), + (0x110D0, 'V'), + (0x110E9, 'X'), + (0x110F0, 'V'), + (0x110FA, 'X'), + (0x11100, 'V'), + (0x11135, 'X'), + (0x11136, 'V'), + (0x11147, 'X'), + (0x11150, 'V'), + (0x11177, 'X'), + (0x11180, 'V'), + (0x111CE, 'X'), + (0x111D0, 'V'), + (0x111E0, 'X'), + (0x111E1, 'V'), + (0x111F5, 'X'), + (0x11200, 'V'), + (0x11212, 'X'), + (0x11213, 'V'), + (0x1123F, 'X'), + (0x11280, 'V'), + (0x11287, 'X'), + (0x11288, 'V'), + (0x11289, 'X'), + (0x1128A, 'V'), + (0x1128E, 'X'), + (0x1128F, 'V'), + (0x1129E, 'X'), + (0x1129F, 'V'), + (0x112AA, 'X'), + (0x112B0, 'V'), + (0x112EB, 'X'), + (0x112F0, 'V'), + (0x112FA, 'X'), + (0x11300, 'V'), + (0x11304, 'X'), + (0x11305, 'V'), + (0x1130D, 'X'), + (0x1130F, 'V'), + (0x11311, 'X'), + (0x11313, 'V'), + (0x11329, 'X'), + (0x1132A, 'V'), + (0x11331, 'X'), + (0x11332, 'V'), + (0x11334, 'X'), + (0x11335, 'V'), + (0x1133A, 'X'), + (0x1133B, 'V'), + (0x11345, 'X'), + (0x11347, 'V'), + (0x11349, 'X'), + (0x1134B, 'V'), + (0x1134E, 'X'), + (0x11350, 'V'), + (0x11351, 'X'), + (0x11357, 'V'), + (0x11358, 'X'), + (0x1135D, 'V'), + (0x11364, 'X'), + (0x11366, 'V'), + (0x1136D, 'X'), + (0x11370, 'V'), + (0x11375, 'X'), + (0x11400, 'V'), + (0x1145A, 'X'), + (0x1145B, 'V'), + (0x1145C, 'X'), + (0x1145D, 'V'), + ] + +def _seg_56(): + return [ + (0x1145F, 'X'), + (0x11480, 'V'), + (0x114C8, 'X'), + (0x114D0, 'V'), + (0x114DA, 'X'), + (0x11580, 'V'), + (0x115B6, 'X'), + (0x115B8, 'V'), + (0x115DE, 'X'), + (0x11600, 'V'), + (0x11645, 'X'), + (0x11650, 'V'), + (0x1165A, 'X'), + (0x11660, 'V'), + (0x1166D, 'X'), + (0x11680, 'V'), + (0x116B8, 'X'), + (0x116C0, 'V'), + (0x116CA, 'X'), + (0x11700, 'V'), + (0x1171B, 'X'), + (0x1171D, 'V'), + (0x1172C, 'X'), + (0x11730, 'V'), + (0x11740, 'X'), + (0x11800, 'V'), + (0x1183C, 'X'), + (0x118A0, 'M', u'𑣀'), + (0x118A1, 'M', u'𑣁'), + (0x118A2, 'M', u'𑣂'), + (0x118A3, 'M', u'𑣃'), + (0x118A4, 'M', u'𑣄'), + (0x118A5, 'M', u'𑣅'), + (0x118A6, 'M', u'𑣆'), + (0x118A7, 'M', u'𑣇'), + (0x118A8, 'M', u'𑣈'), + (0x118A9, 'M', u'𑣉'), + (0x118AA, 'M', u'𑣊'), + (0x118AB, 'M', u'𑣋'), + (0x118AC, 'M', u'𑣌'), + (0x118AD, 'M', u'𑣍'), + (0x118AE, 'M', u'𑣎'), + (0x118AF, 'M', u'𑣏'), + (0x118B0, 'M', u'𑣐'), + (0x118B1, 'M', u'𑣑'), + (0x118B2, 'M', u'𑣒'), + (0x118B3, 'M', u'𑣓'), + (0x118B4, 'M', u'𑣔'), + (0x118B5, 'M', u'𑣕'), + (0x118B6, 'M', u'𑣖'), + (0x118B7, 'M', u'𑣗'), + (0x118B8, 'M', u'𑣘'), + (0x118B9, 'M', u'𑣙'), + (0x118BA, 'M', u'𑣚'), + (0x118BB, 'M', u'𑣛'), + (0x118BC, 'M', u'𑣜'), + (0x118BD, 'M', u'𑣝'), + (0x118BE, 'M', u'𑣞'), + (0x118BF, 'M', u'𑣟'), + (0x118C0, 'V'), + (0x118F3, 'X'), + (0x118FF, 'V'), + (0x11900, 'X'), + (0x11A00, 'V'), + (0x11A48, 'X'), + (0x11A50, 'V'), + (0x11A84, 'X'), + (0x11A86, 'V'), + (0x11AA3, 'X'), + (0x11AC0, 'V'), + (0x11AF9, 'X'), + (0x11C00, 'V'), + (0x11C09, 'X'), + (0x11C0A, 'V'), + (0x11C37, 'X'), + (0x11C38, 'V'), + (0x11C46, 'X'), + (0x11C50, 'V'), + (0x11C6D, 'X'), + (0x11C70, 'V'), + (0x11C90, 'X'), + (0x11C92, 'V'), + (0x11CA8, 'X'), + (0x11CA9, 'V'), + (0x11CB7, 'X'), + (0x11D00, 'V'), + (0x11D07, 'X'), + (0x11D08, 'V'), + (0x11D0A, 'X'), + (0x11D0B, 'V'), + (0x11D37, 'X'), + (0x11D3A, 'V'), + (0x11D3B, 'X'), + (0x11D3C, 'V'), + (0x11D3E, 'X'), + (0x11D3F, 'V'), + (0x11D48, 'X'), + (0x11D50, 'V'), + (0x11D5A, 'X'), + (0x11D60, 'V'), + ] + +def _seg_57(): + return [ + (0x11D66, 'X'), + (0x11D67, 'V'), + (0x11D69, 'X'), + (0x11D6A, 'V'), + (0x11D8F, 'X'), + (0x11D90, 'V'), + (0x11D92, 'X'), + (0x11D93, 'V'), + (0x11D99, 'X'), + (0x11DA0, 'V'), + (0x11DAA, 'X'), + (0x11EE0, 'V'), + (0x11EF9, 'X'), + (0x12000, 'V'), + (0x1239A, 'X'), + (0x12400, 'V'), + (0x1246F, 'X'), + (0x12470, 'V'), + (0x12475, 'X'), + (0x12480, 'V'), + (0x12544, 'X'), + (0x13000, 'V'), + (0x1342F, 'X'), + (0x14400, 'V'), + (0x14647, 'X'), + (0x16800, 'V'), + (0x16A39, 'X'), + (0x16A40, 'V'), + (0x16A5F, 'X'), + (0x16A60, 'V'), + (0x16A6A, 'X'), + (0x16A6E, 'V'), + (0x16A70, 'X'), + (0x16AD0, 'V'), + (0x16AEE, 'X'), + (0x16AF0, 'V'), + (0x16AF6, 'X'), + (0x16B00, 'V'), + (0x16B46, 'X'), + (0x16B50, 'V'), + (0x16B5A, 'X'), + (0x16B5B, 'V'), + (0x16B62, 'X'), + (0x16B63, 'V'), + (0x16B78, 'X'), + (0x16B7D, 'V'), + (0x16B90, 'X'), + (0x16E60, 'V'), + (0x16E9B, 'X'), + (0x16F00, 'V'), + (0x16F45, 'X'), + (0x16F50, 'V'), + (0x16F7F, 'X'), + (0x16F8F, 'V'), + (0x16FA0, 'X'), + (0x16FE0, 'V'), + (0x16FE2, 'X'), + (0x17000, 'V'), + (0x187F2, 'X'), + (0x18800, 'V'), + (0x18AF3, 'X'), + (0x1B000, 'V'), + (0x1B11F, 'X'), + (0x1B170, 'V'), + (0x1B2FC, 'X'), + (0x1BC00, 'V'), + (0x1BC6B, 'X'), + (0x1BC70, 'V'), + (0x1BC7D, 'X'), + (0x1BC80, 'V'), + (0x1BC89, 'X'), + (0x1BC90, 'V'), + (0x1BC9A, 'X'), + (0x1BC9C, 'V'), + (0x1BCA0, 'I'), + (0x1BCA4, 'X'), + (0x1D000, 'V'), + (0x1D0F6, 'X'), + (0x1D100, 'V'), + (0x1D127, 'X'), + (0x1D129, 'V'), + (0x1D15E, 'M', u'𝅗𝅥'), + (0x1D15F, 'M', u'𝅘𝅥'), + (0x1D160, 'M', u'𝅘𝅥𝅮'), + (0x1D161, 'M', u'𝅘𝅥𝅯'), + (0x1D162, 'M', u'𝅘𝅥𝅰'), + (0x1D163, 'M', u'𝅘𝅥𝅱'), + (0x1D164, 'M', u'𝅘𝅥𝅲'), + (0x1D165, 'V'), + (0x1D173, 'X'), + (0x1D17B, 'V'), + (0x1D1BB, 'M', u'𝆹𝅥'), + (0x1D1BC, 'M', u'𝆺𝅥'), + (0x1D1BD, 'M', u'𝆹𝅥𝅮'), + (0x1D1BE, 'M', u'𝆺𝅥𝅮'), + (0x1D1BF, 'M', u'𝆹𝅥𝅯'), + (0x1D1C0, 'M', u'𝆺𝅥𝅯'), + (0x1D1C1, 'V'), + (0x1D1E9, 'X'), + (0x1D200, 'V'), + ] + +def _seg_58(): + return [ + (0x1D246, 'X'), + (0x1D2E0, 'V'), + (0x1D2F4, 'X'), + (0x1D300, 'V'), + (0x1D357, 'X'), + (0x1D360, 'V'), + (0x1D379, 'X'), + (0x1D400, 'M', u'a'), + (0x1D401, 'M', u'b'), + (0x1D402, 'M', u'c'), + (0x1D403, 'M', u'd'), + (0x1D404, 'M', u'e'), + (0x1D405, 'M', u'f'), + (0x1D406, 'M', u'g'), + (0x1D407, 'M', u'h'), + (0x1D408, 'M', u'i'), + (0x1D409, 'M', u'j'), + (0x1D40A, 'M', u'k'), + (0x1D40B, 'M', u'l'), + (0x1D40C, 'M', u'm'), + (0x1D40D, 'M', u'n'), + (0x1D40E, 'M', u'o'), + (0x1D40F, 'M', u'p'), + (0x1D410, 'M', u'q'), + (0x1D411, 'M', u'r'), + (0x1D412, 'M', u's'), + (0x1D413, 'M', u't'), + (0x1D414, 'M', u'u'), + (0x1D415, 'M', u'v'), + (0x1D416, 'M', u'w'), + (0x1D417, 'M', u'x'), + (0x1D418, 'M', u'y'), + (0x1D419, 'M', u'z'), + (0x1D41A, 'M', u'a'), + (0x1D41B, 'M', u'b'), + (0x1D41C, 'M', u'c'), + (0x1D41D, 'M', u'd'), + (0x1D41E, 'M', u'e'), + (0x1D41F, 'M', u'f'), + (0x1D420, 'M', u'g'), + (0x1D421, 'M', u'h'), + (0x1D422, 'M', u'i'), + (0x1D423, 'M', u'j'), + (0x1D424, 'M', u'k'), + (0x1D425, 'M', u'l'), + (0x1D426, 'M', u'm'), + (0x1D427, 'M', u'n'), + (0x1D428, 'M', u'o'), + (0x1D429, 'M', u'p'), + (0x1D42A, 'M', u'q'), + (0x1D42B, 'M', u'r'), + (0x1D42C, 'M', u's'), + (0x1D42D, 'M', u't'), + (0x1D42E, 'M', u'u'), + (0x1D42F, 'M', u'v'), + (0x1D430, 'M', u'w'), + (0x1D431, 'M', u'x'), + (0x1D432, 'M', u'y'), + (0x1D433, 'M', u'z'), + (0x1D434, 'M', u'a'), + (0x1D435, 'M', u'b'), + (0x1D436, 'M', u'c'), + (0x1D437, 'M', u'd'), + (0x1D438, 'M', u'e'), + (0x1D439, 'M', u'f'), + (0x1D43A, 'M', u'g'), + (0x1D43B, 'M', u'h'), + (0x1D43C, 'M', u'i'), + (0x1D43D, 'M', u'j'), + (0x1D43E, 'M', u'k'), + (0x1D43F, 'M', u'l'), + (0x1D440, 'M', u'm'), + (0x1D441, 'M', u'n'), + (0x1D442, 'M', u'o'), + (0x1D443, 'M', u'p'), + (0x1D444, 'M', u'q'), + (0x1D445, 'M', u'r'), + (0x1D446, 'M', u's'), + (0x1D447, 'M', u't'), + (0x1D448, 'M', u'u'), + (0x1D449, 'M', u'v'), + (0x1D44A, 'M', u'w'), + (0x1D44B, 'M', u'x'), + (0x1D44C, 'M', u'y'), + (0x1D44D, 'M', u'z'), + (0x1D44E, 'M', u'a'), + (0x1D44F, 'M', u'b'), + (0x1D450, 'M', u'c'), + (0x1D451, 'M', u'd'), + (0x1D452, 'M', u'e'), + (0x1D453, 'M', u'f'), + (0x1D454, 'M', u'g'), + (0x1D455, 'X'), + (0x1D456, 'M', u'i'), + (0x1D457, 'M', u'j'), + (0x1D458, 'M', u'k'), + (0x1D459, 'M', u'l'), + (0x1D45A, 'M', u'm'), + (0x1D45B, 'M', u'n'), + (0x1D45C, 'M', u'o'), + ] + +def _seg_59(): + return [ + (0x1D45D, 'M', u'p'), + (0x1D45E, 'M', u'q'), + (0x1D45F, 'M', u'r'), + (0x1D460, 'M', u's'), + (0x1D461, 'M', u't'), + (0x1D462, 'M', u'u'), + (0x1D463, 'M', u'v'), + (0x1D464, 'M', u'w'), + (0x1D465, 'M', u'x'), + (0x1D466, 'M', u'y'), + (0x1D467, 'M', u'z'), + (0x1D468, 'M', u'a'), + (0x1D469, 'M', u'b'), + (0x1D46A, 'M', u'c'), + (0x1D46B, 'M', u'd'), + (0x1D46C, 'M', u'e'), + (0x1D46D, 'M', u'f'), + (0x1D46E, 'M', u'g'), + (0x1D46F, 'M', u'h'), + (0x1D470, 'M', u'i'), + (0x1D471, 'M', u'j'), + (0x1D472, 'M', u'k'), + (0x1D473, 'M', u'l'), + (0x1D474, 'M', u'm'), + (0x1D475, 'M', u'n'), + (0x1D476, 'M', u'o'), + (0x1D477, 'M', u'p'), + (0x1D478, 'M', u'q'), + (0x1D479, 'M', u'r'), + (0x1D47A, 'M', u's'), + (0x1D47B, 'M', u't'), + (0x1D47C, 'M', u'u'), + (0x1D47D, 'M', u'v'), + (0x1D47E, 'M', u'w'), + (0x1D47F, 'M', u'x'), + (0x1D480, 'M', u'y'), + (0x1D481, 'M', u'z'), + (0x1D482, 'M', u'a'), + (0x1D483, 'M', u'b'), + (0x1D484, 'M', u'c'), + (0x1D485, 'M', u'd'), + (0x1D486, 'M', u'e'), + (0x1D487, 'M', u'f'), + (0x1D488, 'M', u'g'), + (0x1D489, 'M', u'h'), + (0x1D48A, 'M', u'i'), + (0x1D48B, 'M', u'j'), + (0x1D48C, 'M', u'k'), + (0x1D48D, 'M', u'l'), + (0x1D48E, 'M', u'm'), + (0x1D48F, 'M', u'n'), + (0x1D490, 'M', u'o'), + (0x1D491, 'M', u'p'), + (0x1D492, 'M', u'q'), + (0x1D493, 'M', u'r'), + (0x1D494, 'M', u's'), + (0x1D495, 'M', u't'), + (0x1D496, 'M', u'u'), + (0x1D497, 'M', u'v'), + (0x1D498, 'M', u'w'), + (0x1D499, 'M', u'x'), + (0x1D49A, 'M', u'y'), + (0x1D49B, 'M', u'z'), + (0x1D49C, 'M', u'a'), + (0x1D49D, 'X'), + (0x1D49E, 'M', u'c'), + (0x1D49F, 'M', u'd'), + (0x1D4A0, 'X'), + (0x1D4A2, 'M', u'g'), + (0x1D4A3, 'X'), + (0x1D4A5, 'M', u'j'), + (0x1D4A6, 'M', u'k'), + (0x1D4A7, 'X'), + (0x1D4A9, 'M', u'n'), + (0x1D4AA, 'M', u'o'), + (0x1D4AB, 'M', u'p'), + (0x1D4AC, 'M', u'q'), + (0x1D4AD, 'X'), + (0x1D4AE, 'M', u's'), + (0x1D4AF, 'M', u't'), + (0x1D4B0, 'M', u'u'), + (0x1D4B1, 'M', u'v'), + (0x1D4B2, 'M', u'w'), + (0x1D4B3, 'M', u'x'), + (0x1D4B4, 'M', u'y'), + (0x1D4B5, 'M', u'z'), + (0x1D4B6, 'M', u'a'), + (0x1D4B7, 'M', u'b'), + (0x1D4B8, 'M', u'c'), + (0x1D4B9, 'M', u'd'), + (0x1D4BA, 'X'), + (0x1D4BB, 'M', u'f'), + (0x1D4BC, 'X'), + (0x1D4BD, 'M', u'h'), + (0x1D4BE, 'M', u'i'), + (0x1D4BF, 'M', u'j'), + (0x1D4C0, 'M', u'k'), + (0x1D4C1, 'M', u'l'), + (0x1D4C2, 'M', u'm'), + (0x1D4C3, 'M', u'n'), + ] + +def _seg_60(): + return [ + (0x1D4C4, 'X'), + (0x1D4C5, 'M', u'p'), + (0x1D4C6, 'M', u'q'), + (0x1D4C7, 'M', u'r'), + (0x1D4C8, 'M', u's'), + (0x1D4C9, 'M', u't'), + (0x1D4CA, 'M', u'u'), + (0x1D4CB, 'M', u'v'), + (0x1D4CC, 'M', u'w'), + (0x1D4CD, 'M', u'x'), + (0x1D4CE, 'M', u'y'), + (0x1D4CF, 'M', u'z'), + (0x1D4D0, 'M', u'a'), + (0x1D4D1, 'M', u'b'), + (0x1D4D2, 'M', u'c'), + (0x1D4D3, 'M', u'd'), + (0x1D4D4, 'M', u'e'), + (0x1D4D5, 'M', u'f'), + (0x1D4D6, 'M', u'g'), + (0x1D4D7, 'M', u'h'), + (0x1D4D8, 'M', u'i'), + (0x1D4D9, 'M', u'j'), + (0x1D4DA, 'M', u'k'), + (0x1D4DB, 'M', u'l'), + (0x1D4DC, 'M', u'm'), + (0x1D4DD, 'M', u'n'), + (0x1D4DE, 'M', u'o'), + (0x1D4DF, 'M', u'p'), + (0x1D4E0, 'M', u'q'), + (0x1D4E1, 'M', u'r'), + (0x1D4E2, 'M', u's'), + (0x1D4E3, 'M', u't'), + (0x1D4E4, 'M', u'u'), + (0x1D4E5, 'M', u'v'), + (0x1D4E6, 'M', u'w'), + (0x1D4E7, 'M', u'x'), + (0x1D4E8, 'M', u'y'), + (0x1D4E9, 'M', u'z'), + (0x1D4EA, 'M', u'a'), + (0x1D4EB, 'M', u'b'), + (0x1D4EC, 'M', u'c'), + (0x1D4ED, 'M', u'd'), + (0x1D4EE, 'M', u'e'), + (0x1D4EF, 'M', u'f'), + (0x1D4F0, 'M', u'g'), + (0x1D4F1, 'M', u'h'), + (0x1D4F2, 'M', u'i'), + (0x1D4F3, 'M', u'j'), + (0x1D4F4, 'M', u'k'), + (0x1D4F5, 'M', u'l'), + (0x1D4F6, 'M', u'm'), + (0x1D4F7, 'M', u'n'), + (0x1D4F8, 'M', u'o'), + (0x1D4F9, 'M', u'p'), + (0x1D4FA, 'M', u'q'), + (0x1D4FB, 'M', u'r'), + (0x1D4FC, 'M', u's'), + (0x1D4FD, 'M', u't'), + (0x1D4FE, 'M', u'u'), + (0x1D4FF, 'M', u'v'), + (0x1D500, 'M', u'w'), + (0x1D501, 'M', u'x'), + (0x1D502, 'M', u'y'), + (0x1D503, 'M', u'z'), + (0x1D504, 'M', u'a'), + (0x1D505, 'M', u'b'), + (0x1D506, 'X'), + (0x1D507, 'M', u'd'), + (0x1D508, 'M', u'e'), + (0x1D509, 'M', u'f'), + (0x1D50A, 'M', u'g'), + (0x1D50B, 'X'), + (0x1D50D, 'M', u'j'), + (0x1D50E, 'M', u'k'), + (0x1D50F, 'M', u'l'), + (0x1D510, 'M', u'm'), + (0x1D511, 'M', u'n'), + (0x1D512, 'M', u'o'), + (0x1D513, 'M', u'p'), + (0x1D514, 'M', u'q'), + (0x1D515, 'X'), + (0x1D516, 'M', u's'), + (0x1D517, 'M', u't'), + (0x1D518, 'M', u'u'), + (0x1D519, 'M', u'v'), + (0x1D51A, 'M', u'w'), + (0x1D51B, 'M', u'x'), + (0x1D51C, 'M', u'y'), + (0x1D51D, 'X'), + (0x1D51E, 'M', u'a'), + (0x1D51F, 'M', u'b'), + (0x1D520, 'M', u'c'), + (0x1D521, 'M', u'd'), + (0x1D522, 'M', u'e'), + (0x1D523, 'M', u'f'), + (0x1D524, 'M', u'g'), + (0x1D525, 'M', u'h'), + (0x1D526, 'M', u'i'), + (0x1D527, 'M', u'j'), + (0x1D528, 'M', u'k'), + ] + +def _seg_61(): + return [ + (0x1D529, 'M', u'l'), + (0x1D52A, 'M', u'm'), + (0x1D52B, 'M', u'n'), + (0x1D52C, 'M', u'o'), + (0x1D52D, 'M', u'p'), + (0x1D52E, 'M', u'q'), + (0x1D52F, 'M', u'r'), + (0x1D530, 'M', u's'), + (0x1D531, 'M', u't'), + (0x1D532, 'M', u'u'), + (0x1D533, 'M', u'v'), + (0x1D534, 'M', u'w'), + (0x1D535, 'M', u'x'), + (0x1D536, 'M', u'y'), + (0x1D537, 'M', u'z'), + (0x1D538, 'M', u'a'), + (0x1D539, 'M', u'b'), + (0x1D53A, 'X'), + (0x1D53B, 'M', u'd'), + (0x1D53C, 'M', u'e'), + (0x1D53D, 'M', u'f'), + (0x1D53E, 'M', u'g'), + (0x1D53F, 'X'), + (0x1D540, 'M', u'i'), + (0x1D541, 'M', u'j'), + (0x1D542, 'M', u'k'), + (0x1D543, 'M', u'l'), + (0x1D544, 'M', u'm'), + (0x1D545, 'X'), + (0x1D546, 'M', u'o'), + (0x1D547, 'X'), + (0x1D54A, 'M', u's'), + (0x1D54B, 'M', u't'), + (0x1D54C, 'M', u'u'), + (0x1D54D, 'M', u'v'), + (0x1D54E, 'M', u'w'), + (0x1D54F, 'M', u'x'), + (0x1D550, 'M', u'y'), + (0x1D551, 'X'), + (0x1D552, 'M', u'a'), + (0x1D553, 'M', u'b'), + (0x1D554, 'M', u'c'), + (0x1D555, 'M', u'd'), + (0x1D556, 'M', u'e'), + (0x1D557, 'M', u'f'), + (0x1D558, 'M', u'g'), + (0x1D559, 'M', u'h'), + (0x1D55A, 'M', u'i'), + (0x1D55B, 'M', u'j'), + (0x1D55C, 'M', u'k'), + (0x1D55D, 'M', u'l'), + (0x1D55E, 'M', u'm'), + (0x1D55F, 'M', u'n'), + (0x1D560, 'M', u'o'), + (0x1D561, 'M', u'p'), + (0x1D562, 'M', u'q'), + (0x1D563, 'M', u'r'), + (0x1D564, 'M', u's'), + (0x1D565, 'M', u't'), + (0x1D566, 'M', u'u'), + (0x1D567, 'M', u'v'), + (0x1D568, 'M', u'w'), + (0x1D569, 'M', u'x'), + (0x1D56A, 'M', u'y'), + (0x1D56B, 'M', u'z'), + (0x1D56C, 'M', u'a'), + (0x1D56D, 'M', u'b'), + (0x1D56E, 'M', u'c'), + (0x1D56F, 'M', u'd'), + (0x1D570, 'M', u'e'), + (0x1D571, 'M', u'f'), + (0x1D572, 'M', u'g'), + (0x1D573, 'M', u'h'), + (0x1D574, 'M', u'i'), + (0x1D575, 'M', u'j'), + (0x1D576, 'M', u'k'), + (0x1D577, 'M', u'l'), + (0x1D578, 'M', u'm'), + (0x1D579, 'M', u'n'), + (0x1D57A, 'M', u'o'), + (0x1D57B, 'M', u'p'), + (0x1D57C, 'M', u'q'), + (0x1D57D, 'M', u'r'), + (0x1D57E, 'M', u's'), + (0x1D57F, 'M', u't'), + (0x1D580, 'M', u'u'), + (0x1D581, 'M', u'v'), + (0x1D582, 'M', u'w'), + (0x1D583, 'M', u'x'), + (0x1D584, 'M', u'y'), + (0x1D585, 'M', u'z'), + (0x1D586, 'M', u'a'), + (0x1D587, 'M', u'b'), + (0x1D588, 'M', u'c'), + (0x1D589, 'M', u'd'), + (0x1D58A, 'M', u'e'), + (0x1D58B, 'M', u'f'), + (0x1D58C, 'M', u'g'), + (0x1D58D, 'M', u'h'), + (0x1D58E, 'M', u'i'), + ] + +def _seg_62(): + return [ + (0x1D58F, 'M', u'j'), + (0x1D590, 'M', u'k'), + (0x1D591, 'M', u'l'), + (0x1D592, 'M', u'm'), + (0x1D593, 'M', u'n'), + (0x1D594, 'M', u'o'), + (0x1D595, 'M', u'p'), + (0x1D596, 'M', u'q'), + (0x1D597, 'M', u'r'), + (0x1D598, 'M', u's'), + (0x1D599, 'M', u't'), + (0x1D59A, 'M', u'u'), + (0x1D59B, 'M', u'v'), + (0x1D59C, 'M', u'w'), + (0x1D59D, 'M', u'x'), + (0x1D59E, 'M', u'y'), + (0x1D59F, 'M', u'z'), + (0x1D5A0, 'M', u'a'), + (0x1D5A1, 'M', u'b'), + (0x1D5A2, 'M', u'c'), + (0x1D5A3, 'M', u'd'), + (0x1D5A4, 'M', u'e'), + (0x1D5A5, 'M', u'f'), + (0x1D5A6, 'M', u'g'), + (0x1D5A7, 'M', u'h'), + (0x1D5A8, 'M', u'i'), + (0x1D5A9, 'M', u'j'), + (0x1D5AA, 'M', u'k'), + (0x1D5AB, 'M', u'l'), + (0x1D5AC, 'M', u'm'), + (0x1D5AD, 'M', u'n'), + (0x1D5AE, 'M', u'o'), + (0x1D5AF, 'M', u'p'), + (0x1D5B0, 'M', u'q'), + (0x1D5B1, 'M', u'r'), + (0x1D5B2, 'M', u's'), + (0x1D5B3, 'M', u't'), + (0x1D5B4, 'M', u'u'), + (0x1D5B5, 'M', u'v'), + (0x1D5B6, 'M', u'w'), + (0x1D5B7, 'M', u'x'), + (0x1D5B8, 'M', u'y'), + (0x1D5B9, 'M', u'z'), + (0x1D5BA, 'M', u'a'), + (0x1D5BB, 'M', u'b'), + (0x1D5BC, 'M', u'c'), + (0x1D5BD, 'M', u'd'), + (0x1D5BE, 'M', u'e'), + (0x1D5BF, 'M', u'f'), + (0x1D5C0, 'M', u'g'), + (0x1D5C1, 'M', u'h'), + (0x1D5C2, 'M', u'i'), + (0x1D5C3, 'M', u'j'), + (0x1D5C4, 'M', u'k'), + (0x1D5C5, 'M', u'l'), + (0x1D5C6, 'M', u'm'), + (0x1D5C7, 'M', u'n'), + (0x1D5C8, 'M', u'o'), + (0x1D5C9, 'M', u'p'), + (0x1D5CA, 'M', u'q'), + (0x1D5CB, 'M', u'r'), + (0x1D5CC, 'M', u's'), + (0x1D5CD, 'M', u't'), + (0x1D5CE, 'M', u'u'), + (0x1D5CF, 'M', u'v'), + (0x1D5D0, 'M', u'w'), + (0x1D5D1, 'M', u'x'), + (0x1D5D2, 'M', u'y'), + (0x1D5D3, 'M', u'z'), + (0x1D5D4, 'M', u'a'), + (0x1D5D5, 'M', u'b'), + (0x1D5D6, 'M', u'c'), + (0x1D5D7, 'M', u'd'), + (0x1D5D8, 'M', u'e'), + (0x1D5D9, 'M', u'f'), + (0x1D5DA, 'M', u'g'), + (0x1D5DB, 'M', u'h'), + (0x1D5DC, 'M', u'i'), + (0x1D5DD, 'M', u'j'), + (0x1D5DE, 'M', u'k'), + (0x1D5DF, 'M', u'l'), + (0x1D5E0, 'M', u'm'), + (0x1D5E1, 'M', u'n'), + (0x1D5E2, 'M', u'o'), + (0x1D5E3, 'M', u'p'), + (0x1D5E4, 'M', u'q'), + (0x1D5E5, 'M', u'r'), + (0x1D5E6, 'M', u's'), + (0x1D5E7, 'M', u't'), + (0x1D5E8, 'M', u'u'), + (0x1D5E9, 'M', u'v'), + (0x1D5EA, 'M', u'w'), + (0x1D5EB, 'M', u'x'), + (0x1D5EC, 'M', u'y'), + (0x1D5ED, 'M', u'z'), + (0x1D5EE, 'M', u'a'), + (0x1D5EF, 'M', u'b'), + (0x1D5F0, 'M', u'c'), + (0x1D5F1, 'M', u'd'), + (0x1D5F2, 'M', u'e'), + ] + +def _seg_63(): + return [ + (0x1D5F3, 'M', u'f'), + (0x1D5F4, 'M', u'g'), + (0x1D5F5, 'M', u'h'), + (0x1D5F6, 'M', u'i'), + (0x1D5F7, 'M', u'j'), + (0x1D5F8, 'M', u'k'), + (0x1D5F9, 'M', u'l'), + (0x1D5FA, 'M', u'm'), + (0x1D5FB, 'M', u'n'), + (0x1D5FC, 'M', u'o'), + (0x1D5FD, 'M', u'p'), + (0x1D5FE, 'M', u'q'), + (0x1D5FF, 'M', u'r'), + (0x1D600, 'M', u's'), + (0x1D601, 'M', u't'), + (0x1D602, 'M', u'u'), + (0x1D603, 'M', u'v'), + (0x1D604, 'M', u'w'), + (0x1D605, 'M', u'x'), + (0x1D606, 'M', u'y'), + (0x1D607, 'M', u'z'), + (0x1D608, 'M', u'a'), + (0x1D609, 'M', u'b'), + (0x1D60A, 'M', u'c'), + (0x1D60B, 'M', u'd'), + (0x1D60C, 'M', u'e'), + (0x1D60D, 'M', u'f'), + (0x1D60E, 'M', u'g'), + (0x1D60F, 'M', u'h'), + (0x1D610, 'M', u'i'), + (0x1D611, 'M', u'j'), + (0x1D612, 'M', u'k'), + (0x1D613, 'M', u'l'), + (0x1D614, 'M', u'm'), + (0x1D615, 'M', u'n'), + (0x1D616, 'M', u'o'), + (0x1D617, 'M', u'p'), + (0x1D618, 'M', u'q'), + (0x1D619, 'M', u'r'), + (0x1D61A, 'M', u's'), + (0x1D61B, 'M', u't'), + (0x1D61C, 'M', u'u'), + (0x1D61D, 'M', u'v'), + (0x1D61E, 'M', u'w'), + (0x1D61F, 'M', u'x'), + (0x1D620, 'M', u'y'), + (0x1D621, 'M', u'z'), + (0x1D622, 'M', u'a'), + (0x1D623, 'M', u'b'), + (0x1D624, 'M', u'c'), + (0x1D625, 'M', u'd'), + (0x1D626, 'M', u'e'), + (0x1D627, 'M', u'f'), + (0x1D628, 'M', u'g'), + (0x1D629, 'M', u'h'), + (0x1D62A, 'M', u'i'), + (0x1D62B, 'M', u'j'), + (0x1D62C, 'M', u'k'), + (0x1D62D, 'M', u'l'), + (0x1D62E, 'M', u'm'), + (0x1D62F, 'M', u'n'), + (0x1D630, 'M', u'o'), + (0x1D631, 'M', u'p'), + (0x1D632, 'M', u'q'), + (0x1D633, 'M', u'r'), + (0x1D634, 'M', u's'), + (0x1D635, 'M', u't'), + (0x1D636, 'M', u'u'), + (0x1D637, 'M', u'v'), + (0x1D638, 'M', u'w'), + (0x1D639, 'M', u'x'), + (0x1D63A, 'M', u'y'), + (0x1D63B, 'M', u'z'), + (0x1D63C, 'M', u'a'), + (0x1D63D, 'M', u'b'), + (0x1D63E, 'M', u'c'), + (0x1D63F, 'M', u'd'), + (0x1D640, 'M', u'e'), + (0x1D641, 'M', u'f'), + (0x1D642, 'M', u'g'), + (0x1D643, 'M', u'h'), + (0x1D644, 'M', u'i'), + (0x1D645, 'M', u'j'), + (0x1D646, 'M', u'k'), + (0x1D647, 'M', u'l'), + (0x1D648, 'M', u'm'), + (0x1D649, 'M', u'n'), + (0x1D64A, 'M', u'o'), + (0x1D64B, 'M', u'p'), + (0x1D64C, 'M', u'q'), + (0x1D64D, 'M', u'r'), + (0x1D64E, 'M', u's'), + (0x1D64F, 'M', u't'), + (0x1D650, 'M', u'u'), + (0x1D651, 'M', u'v'), + (0x1D652, 'M', u'w'), + (0x1D653, 'M', u'x'), + (0x1D654, 'M', u'y'), + (0x1D655, 'M', u'z'), + (0x1D656, 'M', u'a'), + ] + +def _seg_64(): + return [ + (0x1D657, 'M', u'b'), + (0x1D658, 'M', u'c'), + (0x1D659, 'M', u'd'), + (0x1D65A, 'M', u'e'), + (0x1D65B, 'M', u'f'), + (0x1D65C, 'M', u'g'), + (0x1D65D, 'M', u'h'), + (0x1D65E, 'M', u'i'), + (0x1D65F, 'M', u'j'), + (0x1D660, 'M', u'k'), + (0x1D661, 'M', u'l'), + (0x1D662, 'M', u'm'), + (0x1D663, 'M', u'n'), + (0x1D664, 'M', u'o'), + (0x1D665, 'M', u'p'), + (0x1D666, 'M', u'q'), + (0x1D667, 'M', u'r'), + (0x1D668, 'M', u's'), + (0x1D669, 'M', u't'), + (0x1D66A, 'M', u'u'), + (0x1D66B, 'M', u'v'), + (0x1D66C, 'M', u'w'), + (0x1D66D, 'M', u'x'), + (0x1D66E, 'M', u'y'), + (0x1D66F, 'M', u'z'), + (0x1D670, 'M', u'a'), + (0x1D671, 'M', u'b'), + (0x1D672, 'M', u'c'), + (0x1D673, 'M', u'd'), + (0x1D674, 'M', u'e'), + (0x1D675, 'M', u'f'), + (0x1D676, 'M', u'g'), + (0x1D677, 'M', u'h'), + (0x1D678, 'M', u'i'), + (0x1D679, 'M', u'j'), + (0x1D67A, 'M', u'k'), + (0x1D67B, 'M', u'l'), + (0x1D67C, 'M', u'm'), + (0x1D67D, 'M', u'n'), + (0x1D67E, 'M', u'o'), + (0x1D67F, 'M', u'p'), + (0x1D680, 'M', u'q'), + (0x1D681, 'M', u'r'), + (0x1D682, 'M', u's'), + (0x1D683, 'M', u't'), + (0x1D684, 'M', u'u'), + (0x1D685, 'M', u'v'), + (0x1D686, 'M', u'w'), + (0x1D687, 'M', u'x'), + (0x1D688, 'M', u'y'), + (0x1D689, 'M', u'z'), + (0x1D68A, 'M', u'a'), + (0x1D68B, 'M', u'b'), + (0x1D68C, 'M', u'c'), + (0x1D68D, 'M', u'd'), + (0x1D68E, 'M', u'e'), + (0x1D68F, 'M', u'f'), + (0x1D690, 'M', u'g'), + (0x1D691, 'M', u'h'), + (0x1D692, 'M', u'i'), + (0x1D693, 'M', u'j'), + (0x1D694, 'M', u'k'), + (0x1D695, 'M', u'l'), + (0x1D696, 'M', u'm'), + (0x1D697, 'M', u'n'), + (0x1D698, 'M', u'o'), + (0x1D699, 'M', u'p'), + (0x1D69A, 'M', u'q'), + (0x1D69B, 'M', u'r'), + (0x1D69C, 'M', u's'), + (0x1D69D, 'M', u't'), + (0x1D69E, 'M', u'u'), + (0x1D69F, 'M', u'v'), + (0x1D6A0, 'M', u'w'), + (0x1D6A1, 'M', u'x'), + (0x1D6A2, 'M', u'y'), + (0x1D6A3, 'M', u'z'), + (0x1D6A4, 'M', u'ı'), + (0x1D6A5, 'M', u'ȷ'), + (0x1D6A6, 'X'), + (0x1D6A8, 'M', u'α'), + (0x1D6A9, 'M', u'β'), + (0x1D6AA, 'M', u'γ'), + (0x1D6AB, 'M', u'δ'), + (0x1D6AC, 'M', u'ε'), + (0x1D6AD, 'M', u'ζ'), + (0x1D6AE, 'M', u'η'), + (0x1D6AF, 'M', u'θ'), + (0x1D6B0, 'M', u'ι'), + (0x1D6B1, 'M', u'κ'), + (0x1D6B2, 'M', u'λ'), + (0x1D6B3, 'M', u'μ'), + (0x1D6B4, 'M', u'ν'), + (0x1D6B5, 'M', u'ξ'), + (0x1D6B6, 'M', u'ο'), + (0x1D6B7, 'M', u'π'), + (0x1D6B8, 'M', u'ρ'), + (0x1D6B9, 'M', u'θ'), + (0x1D6BA, 'M', u'σ'), + (0x1D6BB, 'M', u'τ'), + ] + +def _seg_65(): + return [ + (0x1D6BC, 'M', u'υ'), + (0x1D6BD, 'M', u'φ'), + (0x1D6BE, 'M', u'χ'), + (0x1D6BF, 'M', u'ψ'), + (0x1D6C0, 'M', u'ω'), + (0x1D6C1, 'M', u'∇'), + (0x1D6C2, 'M', u'α'), + (0x1D6C3, 'M', u'β'), + (0x1D6C4, 'M', u'γ'), + (0x1D6C5, 'M', u'δ'), + (0x1D6C6, 'M', u'ε'), + (0x1D6C7, 'M', u'ζ'), + (0x1D6C8, 'M', u'η'), + (0x1D6C9, 'M', u'θ'), + (0x1D6CA, 'M', u'ι'), + (0x1D6CB, 'M', u'κ'), + (0x1D6CC, 'M', u'λ'), + (0x1D6CD, 'M', u'μ'), + (0x1D6CE, 'M', u'ν'), + (0x1D6CF, 'M', u'ξ'), + (0x1D6D0, 'M', u'ο'), + (0x1D6D1, 'M', u'π'), + (0x1D6D2, 'M', u'ρ'), + (0x1D6D3, 'M', u'σ'), + (0x1D6D5, 'M', u'τ'), + (0x1D6D6, 'M', u'υ'), + (0x1D6D7, 'M', u'φ'), + (0x1D6D8, 'M', u'χ'), + (0x1D6D9, 'M', u'ψ'), + (0x1D6DA, 'M', u'ω'), + (0x1D6DB, 'M', u'∂'), + (0x1D6DC, 'M', u'ε'), + (0x1D6DD, 'M', u'θ'), + (0x1D6DE, 'M', u'κ'), + (0x1D6DF, 'M', u'φ'), + (0x1D6E0, 'M', u'ρ'), + (0x1D6E1, 'M', u'π'), + (0x1D6E2, 'M', u'α'), + (0x1D6E3, 'M', u'β'), + (0x1D6E4, 'M', u'γ'), + (0x1D6E5, 'M', u'δ'), + (0x1D6E6, 'M', u'ε'), + (0x1D6E7, 'M', u'ζ'), + (0x1D6E8, 'M', u'η'), + (0x1D6E9, 'M', u'θ'), + (0x1D6EA, 'M', u'ι'), + (0x1D6EB, 'M', u'κ'), + (0x1D6EC, 'M', u'λ'), + (0x1D6ED, 'M', u'μ'), + (0x1D6EE, 'M', u'ν'), + (0x1D6EF, 'M', u'ξ'), + (0x1D6F0, 'M', u'ο'), + (0x1D6F1, 'M', u'π'), + (0x1D6F2, 'M', u'ρ'), + (0x1D6F3, 'M', u'θ'), + (0x1D6F4, 'M', u'σ'), + (0x1D6F5, 'M', u'τ'), + (0x1D6F6, 'M', u'υ'), + (0x1D6F7, 'M', u'φ'), + (0x1D6F8, 'M', u'χ'), + (0x1D6F9, 'M', u'ψ'), + (0x1D6FA, 'M', u'ω'), + (0x1D6FB, 'M', u'∇'), + (0x1D6FC, 'M', u'α'), + (0x1D6FD, 'M', u'β'), + (0x1D6FE, 'M', u'γ'), + (0x1D6FF, 'M', u'δ'), + (0x1D700, 'M', u'ε'), + (0x1D701, 'M', u'ζ'), + (0x1D702, 'M', u'η'), + (0x1D703, 'M', u'θ'), + (0x1D704, 'M', u'ι'), + (0x1D705, 'M', u'κ'), + (0x1D706, 'M', u'λ'), + (0x1D707, 'M', u'μ'), + (0x1D708, 'M', u'ν'), + (0x1D709, 'M', u'ξ'), + (0x1D70A, 'M', u'ο'), + (0x1D70B, 'M', u'π'), + (0x1D70C, 'M', u'ρ'), + (0x1D70D, 'M', u'σ'), + (0x1D70F, 'M', u'τ'), + (0x1D710, 'M', u'υ'), + (0x1D711, 'M', u'φ'), + (0x1D712, 'M', u'χ'), + (0x1D713, 'M', u'ψ'), + (0x1D714, 'M', u'ω'), + (0x1D715, 'M', u'∂'), + (0x1D716, 'M', u'ε'), + (0x1D717, 'M', u'θ'), + (0x1D718, 'M', u'κ'), + (0x1D719, 'M', u'φ'), + (0x1D71A, 'M', u'ρ'), + (0x1D71B, 'M', u'π'), + (0x1D71C, 'M', u'α'), + (0x1D71D, 'M', u'β'), + (0x1D71E, 'M', u'γ'), + (0x1D71F, 'M', u'δ'), + (0x1D720, 'M', u'ε'), + (0x1D721, 'M', u'ζ'), + ] + +def _seg_66(): + return [ + (0x1D722, 'M', u'η'), + (0x1D723, 'M', u'θ'), + (0x1D724, 'M', u'ι'), + (0x1D725, 'M', u'κ'), + (0x1D726, 'M', u'λ'), + (0x1D727, 'M', u'μ'), + (0x1D728, 'M', u'ν'), + (0x1D729, 'M', u'ξ'), + (0x1D72A, 'M', u'ο'), + (0x1D72B, 'M', u'π'), + (0x1D72C, 'M', u'ρ'), + (0x1D72D, 'M', u'θ'), + (0x1D72E, 'M', u'σ'), + (0x1D72F, 'M', u'τ'), + (0x1D730, 'M', u'υ'), + (0x1D731, 'M', u'φ'), + (0x1D732, 'M', u'χ'), + (0x1D733, 'M', u'ψ'), + (0x1D734, 'M', u'ω'), + (0x1D735, 'M', u'∇'), + (0x1D736, 'M', u'α'), + (0x1D737, 'M', u'β'), + (0x1D738, 'M', u'γ'), + (0x1D739, 'M', u'δ'), + (0x1D73A, 'M', u'ε'), + (0x1D73B, 'M', u'ζ'), + (0x1D73C, 'M', u'η'), + (0x1D73D, 'M', u'θ'), + (0x1D73E, 'M', u'ι'), + (0x1D73F, 'M', u'κ'), + (0x1D740, 'M', u'λ'), + (0x1D741, 'M', u'μ'), + (0x1D742, 'M', u'ν'), + (0x1D743, 'M', u'ξ'), + (0x1D744, 'M', u'ο'), + (0x1D745, 'M', u'π'), + (0x1D746, 'M', u'ρ'), + (0x1D747, 'M', u'σ'), + (0x1D749, 'M', u'τ'), + (0x1D74A, 'M', u'υ'), + (0x1D74B, 'M', u'φ'), + (0x1D74C, 'M', u'χ'), + (0x1D74D, 'M', u'ψ'), + (0x1D74E, 'M', u'ω'), + (0x1D74F, 'M', u'∂'), + (0x1D750, 'M', u'ε'), + (0x1D751, 'M', u'θ'), + (0x1D752, 'M', u'κ'), + (0x1D753, 'M', u'φ'), + (0x1D754, 'M', u'ρ'), + (0x1D755, 'M', u'π'), + (0x1D756, 'M', u'α'), + (0x1D757, 'M', u'β'), + (0x1D758, 'M', u'γ'), + (0x1D759, 'M', u'δ'), + (0x1D75A, 'M', u'ε'), + (0x1D75B, 'M', u'ζ'), + (0x1D75C, 'M', u'η'), + (0x1D75D, 'M', u'θ'), + (0x1D75E, 'M', u'ι'), + (0x1D75F, 'M', u'κ'), + (0x1D760, 'M', u'λ'), + (0x1D761, 'M', u'μ'), + (0x1D762, 'M', u'ν'), + (0x1D763, 'M', u'ξ'), + (0x1D764, 'M', u'ο'), + (0x1D765, 'M', u'π'), + (0x1D766, 'M', u'ρ'), + (0x1D767, 'M', u'θ'), + (0x1D768, 'M', u'σ'), + (0x1D769, 'M', u'τ'), + (0x1D76A, 'M', u'υ'), + (0x1D76B, 'M', u'φ'), + (0x1D76C, 'M', u'χ'), + (0x1D76D, 'M', u'ψ'), + (0x1D76E, 'M', u'ω'), + (0x1D76F, 'M', u'∇'), + (0x1D770, 'M', u'α'), + (0x1D771, 'M', u'β'), + (0x1D772, 'M', u'γ'), + (0x1D773, 'M', u'δ'), + (0x1D774, 'M', u'ε'), + (0x1D775, 'M', u'ζ'), + (0x1D776, 'M', u'η'), + (0x1D777, 'M', u'θ'), + (0x1D778, 'M', u'ι'), + (0x1D779, 'M', u'κ'), + (0x1D77A, 'M', u'λ'), + (0x1D77B, 'M', u'μ'), + (0x1D77C, 'M', u'ν'), + (0x1D77D, 'M', u'ξ'), + (0x1D77E, 'M', u'ο'), + (0x1D77F, 'M', u'π'), + (0x1D780, 'M', u'ρ'), + (0x1D781, 'M', u'σ'), + (0x1D783, 'M', u'τ'), + (0x1D784, 'M', u'υ'), + (0x1D785, 'M', u'φ'), + (0x1D786, 'M', u'χ'), + (0x1D787, 'M', u'ψ'), + ] + +def _seg_67(): + return [ + (0x1D788, 'M', u'ω'), + (0x1D789, 'M', u'∂'), + (0x1D78A, 'M', u'ε'), + (0x1D78B, 'M', u'θ'), + (0x1D78C, 'M', u'κ'), + (0x1D78D, 'M', u'φ'), + (0x1D78E, 'M', u'ρ'), + (0x1D78F, 'M', u'π'), + (0x1D790, 'M', u'α'), + (0x1D791, 'M', u'β'), + (0x1D792, 'M', u'γ'), + (0x1D793, 'M', u'δ'), + (0x1D794, 'M', u'ε'), + (0x1D795, 'M', u'ζ'), + (0x1D796, 'M', u'η'), + (0x1D797, 'M', u'θ'), + (0x1D798, 'M', u'ι'), + (0x1D799, 'M', u'κ'), + (0x1D79A, 'M', u'λ'), + (0x1D79B, 'M', u'μ'), + (0x1D79C, 'M', u'ν'), + (0x1D79D, 'M', u'ξ'), + (0x1D79E, 'M', u'ο'), + (0x1D79F, 'M', u'π'), + (0x1D7A0, 'M', u'ρ'), + (0x1D7A1, 'M', u'θ'), + (0x1D7A2, 'M', u'σ'), + (0x1D7A3, 'M', u'τ'), + (0x1D7A4, 'M', u'υ'), + (0x1D7A5, 'M', u'φ'), + (0x1D7A6, 'M', u'χ'), + (0x1D7A7, 'M', u'ψ'), + (0x1D7A8, 'M', u'ω'), + (0x1D7A9, 'M', u'∇'), + (0x1D7AA, 'M', u'α'), + (0x1D7AB, 'M', u'β'), + (0x1D7AC, 'M', u'γ'), + (0x1D7AD, 'M', u'δ'), + (0x1D7AE, 'M', u'ε'), + (0x1D7AF, 'M', u'ζ'), + (0x1D7B0, 'M', u'η'), + (0x1D7B1, 'M', u'θ'), + (0x1D7B2, 'M', u'ι'), + (0x1D7B3, 'M', u'κ'), + (0x1D7B4, 'M', u'λ'), + (0x1D7B5, 'M', u'μ'), + (0x1D7B6, 'M', u'ν'), + (0x1D7B7, 'M', u'ξ'), + (0x1D7B8, 'M', u'ο'), + (0x1D7B9, 'M', u'π'), + (0x1D7BA, 'M', u'ρ'), + (0x1D7BB, 'M', u'σ'), + (0x1D7BD, 'M', u'τ'), + (0x1D7BE, 'M', u'υ'), + (0x1D7BF, 'M', u'φ'), + (0x1D7C0, 'M', u'χ'), + (0x1D7C1, 'M', u'ψ'), + (0x1D7C2, 'M', u'ω'), + (0x1D7C3, 'M', u'∂'), + (0x1D7C4, 'M', u'ε'), + (0x1D7C5, 'M', u'θ'), + (0x1D7C6, 'M', u'κ'), + (0x1D7C7, 'M', u'φ'), + (0x1D7C8, 'M', u'ρ'), + (0x1D7C9, 'M', u'π'), + (0x1D7CA, 'M', u'ϝ'), + (0x1D7CC, 'X'), + (0x1D7CE, 'M', u'0'), + (0x1D7CF, 'M', u'1'), + (0x1D7D0, 'M', u'2'), + (0x1D7D1, 'M', u'3'), + (0x1D7D2, 'M', u'4'), + (0x1D7D3, 'M', u'5'), + (0x1D7D4, 'M', u'6'), + (0x1D7D5, 'M', u'7'), + (0x1D7D6, 'M', u'8'), + (0x1D7D7, 'M', u'9'), + (0x1D7D8, 'M', u'0'), + (0x1D7D9, 'M', u'1'), + (0x1D7DA, 'M', u'2'), + (0x1D7DB, 'M', u'3'), + (0x1D7DC, 'M', u'4'), + (0x1D7DD, 'M', u'5'), + (0x1D7DE, 'M', u'6'), + (0x1D7DF, 'M', u'7'), + (0x1D7E0, 'M', u'8'), + (0x1D7E1, 'M', u'9'), + (0x1D7E2, 'M', u'0'), + (0x1D7E3, 'M', u'1'), + (0x1D7E4, 'M', u'2'), + (0x1D7E5, 'M', u'3'), + (0x1D7E6, 'M', u'4'), + (0x1D7E7, 'M', u'5'), + (0x1D7E8, 'M', u'6'), + (0x1D7E9, 'M', u'7'), + (0x1D7EA, 'M', u'8'), + (0x1D7EB, 'M', u'9'), + (0x1D7EC, 'M', u'0'), + (0x1D7ED, 'M', u'1'), + (0x1D7EE, 'M', u'2'), + ] + +def _seg_68(): + return [ + (0x1D7EF, 'M', u'3'), + (0x1D7F0, 'M', u'4'), + (0x1D7F1, 'M', u'5'), + (0x1D7F2, 'M', u'6'), + (0x1D7F3, 'M', u'7'), + (0x1D7F4, 'M', u'8'), + (0x1D7F5, 'M', u'9'), + (0x1D7F6, 'M', u'0'), + (0x1D7F7, 'M', u'1'), + (0x1D7F8, 'M', u'2'), + (0x1D7F9, 'M', u'3'), + (0x1D7FA, 'M', u'4'), + (0x1D7FB, 'M', u'5'), + (0x1D7FC, 'M', u'6'), + (0x1D7FD, 'M', u'7'), + (0x1D7FE, 'M', u'8'), + (0x1D7FF, 'M', u'9'), + (0x1D800, 'V'), + (0x1DA8C, 'X'), + (0x1DA9B, 'V'), + (0x1DAA0, 'X'), + (0x1DAA1, 'V'), + (0x1DAB0, 'X'), + (0x1E000, 'V'), + (0x1E007, 'X'), + (0x1E008, 'V'), + (0x1E019, 'X'), + (0x1E01B, 'V'), + (0x1E022, 'X'), + (0x1E023, 'V'), + (0x1E025, 'X'), + (0x1E026, 'V'), + (0x1E02B, 'X'), + (0x1E800, 'V'), + (0x1E8C5, 'X'), + (0x1E8C7, 'V'), + (0x1E8D7, 'X'), + (0x1E900, 'M', u'𞤢'), + (0x1E901, 'M', u'𞤣'), + (0x1E902, 'M', u'𞤤'), + (0x1E903, 'M', u'𞤥'), + (0x1E904, 'M', u'𞤦'), + (0x1E905, 'M', u'𞤧'), + (0x1E906, 'M', u'𞤨'), + (0x1E907, 'M', u'𞤩'), + (0x1E908, 'M', u'𞤪'), + (0x1E909, 'M', u'𞤫'), + (0x1E90A, 'M', u'𞤬'), + (0x1E90B, 'M', u'𞤭'), + (0x1E90C, 'M', u'𞤮'), + (0x1E90D, 'M', u'𞤯'), + (0x1E90E, 'M', u'𞤰'), + (0x1E90F, 'M', u'𞤱'), + (0x1E910, 'M', u'𞤲'), + (0x1E911, 'M', u'𞤳'), + (0x1E912, 'M', u'𞤴'), + (0x1E913, 'M', u'𞤵'), + (0x1E914, 'M', u'𞤶'), + (0x1E915, 'M', u'𞤷'), + (0x1E916, 'M', u'𞤸'), + (0x1E917, 'M', u'𞤹'), + (0x1E918, 'M', u'𞤺'), + (0x1E919, 'M', u'𞤻'), + (0x1E91A, 'M', u'𞤼'), + (0x1E91B, 'M', u'𞤽'), + (0x1E91C, 'M', u'𞤾'), + (0x1E91D, 'M', u'𞤿'), + (0x1E91E, 'M', u'𞥀'), + (0x1E91F, 'M', u'𞥁'), + (0x1E920, 'M', u'𞥂'), + (0x1E921, 'M', u'𞥃'), + (0x1E922, 'V'), + (0x1E94B, 'X'), + (0x1E950, 'V'), + (0x1E95A, 'X'), + (0x1E95E, 'V'), + (0x1E960, 'X'), + (0x1EC71, 'V'), + (0x1ECB5, 'X'), + (0x1EE00, 'M', u'ا'), + (0x1EE01, 'M', u'ب'), + (0x1EE02, 'M', u'ج'), + (0x1EE03, 'M', u'د'), + (0x1EE04, 'X'), + (0x1EE05, 'M', u'و'), + (0x1EE06, 'M', u'ز'), + (0x1EE07, 'M', u'ح'), + (0x1EE08, 'M', u'ط'), + (0x1EE09, 'M', u'ي'), + (0x1EE0A, 'M', u'ك'), + (0x1EE0B, 'M', u'ل'), + (0x1EE0C, 'M', u'م'), + (0x1EE0D, 'M', u'ن'), + (0x1EE0E, 'M', u'س'), + (0x1EE0F, 'M', u'ع'), + (0x1EE10, 'M', u'ف'), + (0x1EE11, 'M', u'ص'), + (0x1EE12, 'M', u'ق'), + (0x1EE13, 'M', u'ر'), + (0x1EE14, 'M', u'ش'), + ] + +def _seg_69(): + return [ + (0x1EE15, 'M', u'ت'), + (0x1EE16, 'M', u'ث'), + (0x1EE17, 'M', u'خ'), + (0x1EE18, 'M', u'ذ'), + (0x1EE19, 'M', u'ض'), + (0x1EE1A, 'M', u'ظ'), + (0x1EE1B, 'M', u'غ'), + (0x1EE1C, 'M', u'ٮ'), + (0x1EE1D, 'M', u'ں'), + (0x1EE1E, 'M', u'ڡ'), + (0x1EE1F, 'M', u'ٯ'), + (0x1EE20, 'X'), + (0x1EE21, 'M', u'ب'), + (0x1EE22, 'M', u'ج'), + (0x1EE23, 'X'), + (0x1EE24, 'M', u'ه'), + (0x1EE25, 'X'), + (0x1EE27, 'M', u'ح'), + (0x1EE28, 'X'), + (0x1EE29, 'M', u'ي'), + (0x1EE2A, 'M', u'ك'), + (0x1EE2B, 'M', u'ل'), + (0x1EE2C, 'M', u'م'), + (0x1EE2D, 'M', u'ن'), + (0x1EE2E, 'M', u'س'), + (0x1EE2F, 'M', u'ع'), + (0x1EE30, 'M', u'ف'), + (0x1EE31, 'M', u'ص'), + (0x1EE32, 'M', u'ق'), + (0x1EE33, 'X'), + (0x1EE34, 'M', u'ش'), + (0x1EE35, 'M', u'ت'), + (0x1EE36, 'M', u'ث'), + (0x1EE37, 'M', u'خ'), + (0x1EE38, 'X'), + (0x1EE39, 'M', u'ض'), + (0x1EE3A, 'X'), + (0x1EE3B, 'M', u'غ'), + (0x1EE3C, 'X'), + (0x1EE42, 'M', u'ج'), + (0x1EE43, 'X'), + (0x1EE47, 'M', u'ح'), + (0x1EE48, 'X'), + (0x1EE49, 'M', u'ي'), + (0x1EE4A, 'X'), + (0x1EE4B, 'M', u'ل'), + (0x1EE4C, 'X'), + (0x1EE4D, 'M', u'ن'), + (0x1EE4E, 'M', u'س'), + (0x1EE4F, 'M', u'ع'), + (0x1EE50, 'X'), + (0x1EE51, 'M', u'ص'), + (0x1EE52, 'M', u'ق'), + (0x1EE53, 'X'), + (0x1EE54, 'M', u'ش'), + (0x1EE55, 'X'), + (0x1EE57, 'M', u'خ'), + (0x1EE58, 'X'), + (0x1EE59, 'M', u'ض'), + (0x1EE5A, 'X'), + (0x1EE5B, 'M', u'غ'), + (0x1EE5C, 'X'), + (0x1EE5D, 'M', u'ں'), + (0x1EE5E, 'X'), + (0x1EE5F, 'M', u'ٯ'), + (0x1EE60, 'X'), + (0x1EE61, 'M', u'ب'), + (0x1EE62, 'M', u'ج'), + (0x1EE63, 'X'), + (0x1EE64, 'M', u'ه'), + (0x1EE65, 'X'), + (0x1EE67, 'M', u'ح'), + (0x1EE68, 'M', u'ط'), + (0x1EE69, 'M', u'ي'), + (0x1EE6A, 'M', u'ك'), + (0x1EE6B, 'X'), + (0x1EE6C, 'M', u'م'), + (0x1EE6D, 'M', u'ن'), + (0x1EE6E, 'M', u'س'), + (0x1EE6F, 'M', u'ع'), + (0x1EE70, 'M', u'ف'), + (0x1EE71, 'M', u'ص'), + (0x1EE72, 'M', u'ق'), + (0x1EE73, 'X'), + (0x1EE74, 'M', u'ش'), + (0x1EE75, 'M', u'ت'), + (0x1EE76, 'M', u'ث'), + (0x1EE77, 'M', u'خ'), + (0x1EE78, 'X'), + (0x1EE79, 'M', u'ض'), + (0x1EE7A, 'M', u'ظ'), + (0x1EE7B, 'M', u'غ'), + (0x1EE7C, 'M', u'ٮ'), + (0x1EE7D, 'X'), + (0x1EE7E, 'M', u'ڡ'), + (0x1EE7F, 'X'), + (0x1EE80, 'M', u'ا'), + (0x1EE81, 'M', u'ب'), + (0x1EE82, 'M', u'ج'), + (0x1EE83, 'M', u'د'), + ] + +def _seg_70(): + return [ + (0x1EE84, 'M', u'ه'), + (0x1EE85, 'M', u'و'), + (0x1EE86, 'M', u'ز'), + (0x1EE87, 'M', u'ح'), + (0x1EE88, 'M', u'ط'), + (0x1EE89, 'M', u'ي'), + (0x1EE8A, 'X'), + (0x1EE8B, 'M', u'ل'), + (0x1EE8C, 'M', u'م'), + (0x1EE8D, 'M', u'ن'), + (0x1EE8E, 'M', u'س'), + (0x1EE8F, 'M', u'ع'), + (0x1EE90, 'M', u'ف'), + (0x1EE91, 'M', u'ص'), + (0x1EE92, 'M', u'ق'), + (0x1EE93, 'M', u'ر'), + (0x1EE94, 'M', u'ش'), + (0x1EE95, 'M', u'ت'), + (0x1EE96, 'M', u'ث'), + (0x1EE97, 'M', u'خ'), + (0x1EE98, 'M', u'ذ'), + (0x1EE99, 'M', u'ض'), + (0x1EE9A, 'M', u'ظ'), + (0x1EE9B, 'M', u'غ'), + (0x1EE9C, 'X'), + (0x1EEA1, 'M', u'ب'), + (0x1EEA2, 'M', u'ج'), + (0x1EEA3, 'M', u'د'), + (0x1EEA4, 'X'), + (0x1EEA5, 'M', u'و'), + (0x1EEA6, 'M', u'ز'), + (0x1EEA7, 'M', u'ح'), + (0x1EEA8, 'M', u'ط'), + (0x1EEA9, 'M', u'ي'), + (0x1EEAA, 'X'), + (0x1EEAB, 'M', u'ل'), + (0x1EEAC, 'M', u'م'), + (0x1EEAD, 'M', u'ن'), + (0x1EEAE, 'M', u'س'), + (0x1EEAF, 'M', u'ع'), + (0x1EEB0, 'M', u'ف'), + (0x1EEB1, 'M', u'ص'), + (0x1EEB2, 'M', u'ق'), + (0x1EEB3, 'M', u'ر'), + (0x1EEB4, 'M', u'ش'), + (0x1EEB5, 'M', u'ت'), + (0x1EEB6, 'M', u'ث'), + (0x1EEB7, 'M', u'خ'), + (0x1EEB8, 'M', u'ذ'), + (0x1EEB9, 'M', u'ض'), + (0x1EEBA, 'M', u'ظ'), + (0x1EEBB, 'M', u'غ'), + (0x1EEBC, 'X'), + (0x1EEF0, 'V'), + (0x1EEF2, 'X'), + (0x1F000, 'V'), + (0x1F02C, 'X'), + (0x1F030, 'V'), + (0x1F094, 'X'), + (0x1F0A0, 'V'), + (0x1F0AF, 'X'), + (0x1F0B1, 'V'), + (0x1F0C0, 'X'), + (0x1F0C1, 'V'), + (0x1F0D0, 'X'), + (0x1F0D1, 'V'), + (0x1F0F6, 'X'), + (0x1F101, '3', u'0,'), + (0x1F102, '3', u'1,'), + (0x1F103, '3', u'2,'), + (0x1F104, '3', u'3,'), + (0x1F105, '3', u'4,'), + (0x1F106, '3', u'5,'), + (0x1F107, '3', u'6,'), + (0x1F108, '3', u'7,'), + (0x1F109, '3', u'8,'), + (0x1F10A, '3', u'9,'), + (0x1F10B, 'V'), + (0x1F10D, 'X'), + (0x1F110, '3', u'(a)'), + (0x1F111, '3', u'(b)'), + (0x1F112, '3', u'(c)'), + (0x1F113, '3', u'(d)'), + (0x1F114, '3', u'(e)'), + (0x1F115, '3', u'(f)'), + (0x1F116, '3', u'(g)'), + (0x1F117, '3', u'(h)'), + (0x1F118, '3', u'(i)'), + (0x1F119, '3', u'(j)'), + (0x1F11A, '3', u'(k)'), + (0x1F11B, '3', u'(l)'), + (0x1F11C, '3', u'(m)'), + (0x1F11D, '3', u'(n)'), + (0x1F11E, '3', u'(o)'), + (0x1F11F, '3', u'(p)'), + (0x1F120, '3', u'(q)'), + (0x1F121, '3', u'(r)'), + (0x1F122, '3', u'(s)'), + (0x1F123, '3', u'(t)'), + (0x1F124, '3', u'(u)'), + ] + +def _seg_71(): + return [ + (0x1F125, '3', u'(v)'), + (0x1F126, '3', u'(w)'), + (0x1F127, '3', u'(x)'), + (0x1F128, '3', u'(y)'), + (0x1F129, '3', u'(z)'), + (0x1F12A, 'M', u'〔s〕'), + (0x1F12B, 'M', u'c'), + (0x1F12C, 'M', u'r'), + (0x1F12D, 'M', u'cd'), + (0x1F12E, 'M', u'wz'), + (0x1F12F, 'V'), + (0x1F130, 'M', u'a'), + (0x1F131, 'M', u'b'), + (0x1F132, 'M', u'c'), + (0x1F133, 'M', u'd'), + (0x1F134, 'M', u'e'), + (0x1F135, 'M', u'f'), + (0x1F136, 'M', u'g'), + (0x1F137, 'M', u'h'), + (0x1F138, 'M', u'i'), + (0x1F139, 'M', u'j'), + (0x1F13A, 'M', u'k'), + (0x1F13B, 'M', u'l'), + (0x1F13C, 'M', u'm'), + (0x1F13D, 'M', u'n'), + (0x1F13E, 'M', u'o'), + (0x1F13F, 'M', u'p'), + (0x1F140, 'M', u'q'), + (0x1F141, 'M', u'r'), + (0x1F142, 'M', u's'), + (0x1F143, 'M', u't'), + (0x1F144, 'M', u'u'), + (0x1F145, 'M', u'v'), + (0x1F146, 'M', u'w'), + (0x1F147, 'M', u'x'), + (0x1F148, 'M', u'y'), + (0x1F149, 'M', u'z'), + (0x1F14A, 'M', u'hv'), + (0x1F14B, 'M', u'mv'), + (0x1F14C, 'M', u'sd'), + (0x1F14D, 'M', u'ss'), + (0x1F14E, 'M', u'ppv'), + (0x1F14F, 'M', u'wc'), + (0x1F150, 'V'), + (0x1F16A, 'M', u'mc'), + (0x1F16B, 'M', u'md'), + (0x1F16C, 'X'), + (0x1F170, 'V'), + (0x1F190, 'M', u'dj'), + (0x1F191, 'V'), + (0x1F1AD, 'X'), + (0x1F1E6, 'V'), + (0x1F200, 'M', u'ほか'), + (0x1F201, 'M', u'ココ'), + (0x1F202, 'M', u'サ'), + (0x1F203, 'X'), + (0x1F210, 'M', u'手'), + (0x1F211, 'M', u'字'), + (0x1F212, 'M', u'双'), + (0x1F213, 'M', u'デ'), + (0x1F214, 'M', u'二'), + (0x1F215, 'M', u'多'), + (0x1F216, 'M', u'解'), + (0x1F217, 'M', u'天'), + (0x1F218, 'M', u'交'), + (0x1F219, 'M', u'映'), + (0x1F21A, 'M', u'無'), + (0x1F21B, 'M', u'料'), + (0x1F21C, 'M', u'前'), + (0x1F21D, 'M', u'後'), + (0x1F21E, 'M', u'再'), + (0x1F21F, 'M', u'新'), + (0x1F220, 'M', u'初'), + (0x1F221, 'M', u'終'), + (0x1F222, 'M', u'生'), + (0x1F223, 'M', u'販'), + (0x1F224, 'M', u'声'), + (0x1F225, 'M', u'吹'), + (0x1F226, 'M', u'演'), + (0x1F227, 'M', u'投'), + (0x1F228, 'M', u'捕'), + (0x1F229, 'M', u'一'), + (0x1F22A, 'M', u'三'), + (0x1F22B, 'M', u'遊'), + (0x1F22C, 'M', u'左'), + (0x1F22D, 'M', u'中'), + (0x1F22E, 'M', u'右'), + (0x1F22F, 'M', u'指'), + (0x1F230, 'M', u'走'), + (0x1F231, 'M', u'打'), + (0x1F232, 'M', u'禁'), + (0x1F233, 'M', u'空'), + (0x1F234, 'M', u'合'), + (0x1F235, 'M', u'満'), + (0x1F236, 'M', u'有'), + (0x1F237, 'M', u'月'), + (0x1F238, 'M', u'申'), + (0x1F239, 'M', u'割'), + (0x1F23A, 'M', u'営'), + (0x1F23B, 'M', u'配'), + ] + +def _seg_72(): + return [ + (0x1F23C, 'X'), + (0x1F240, 'M', u'〔本〕'), + (0x1F241, 'M', u'〔三〕'), + (0x1F242, 'M', u'〔二〕'), + (0x1F243, 'M', u'〔安〕'), + (0x1F244, 'M', u'〔点〕'), + (0x1F245, 'M', u'〔打〕'), + (0x1F246, 'M', u'〔盗〕'), + (0x1F247, 'M', u'〔勝〕'), + (0x1F248, 'M', u'〔敗〕'), + (0x1F249, 'X'), + (0x1F250, 'M', u'得'), + (0x1F251, 'M', u'可'), + (0x1F252, 'X'), + (0x1F260, 'V'), + (0x1F266, 'X'), + (0x1F300, 'V'), + (0x1F6D5, 'X'), + (0x1F6E0, 'V'), + (0x1F6ED, 'X'), + (0x1F6F0, 'V'), + (0x1F6FA, 'X'), + (0x1F700, 'V'), + (0x1F774, 'X'), + (0x1F780, 'V'), + (0x1F7D9, 'X'), + (0x1F800, 'V'), + (0x1F80C, 'X'), + (0x1F810, 'V'), + (0x1F848, 'X'), + (0x1F850, 'V'), + (0x1F85A, 'X'), + (0x1F860, 'V'), + (0x1F888, 'X'), + (0x1F890, 'V'), + (0x1F8AE, 'X'), + (0x1F900, 'V'), + (0x1F90C, 'X'), + (0x1F910, 'V'), + (0x1F93F, 'X'), + (0x1F940, 'V'), + (0x1F971, 'X'), + (0x1F973, 'V'), + (0x1F977, 'X'), + (0x1F97A, 'V'), + (0x1F97B, 'X'), + (0x1F97C, 'V'), + (0x1F9A3, 'X'), + (0x1F9B0, 'V'), + (0x1F9BA, 'X'), + (0x1F9C0, 'V'), + (0x1F9C3, 'X'), + (0x1F9D0, 'V'), + (0x1FA00, 'X'), + (0x1FA60, 'V'), + (0x1FA6E, 'X'), + (0x20000, 'V'), + (0x2A6D7, 'X'), + (0x2A700, 'V'), + (0x2B735, 'X'), + (0x2B740, 'V'), + (0x2B81E, 'X'), + (0x2B820, 'V'), + (0x2CEA2, 'X'), + (0x2CEB0, 'V'), + (0x2EBE1, 'X'), + (0x2F800, 'M', u'丽'), + (0x2F801, 'M', u'丸'), + (0x2F802, 'M', u'乁'), + (0x2F803, 'M', u'𠄢'), + (0x2F804, 'M', u'你'), + (0x2F805, 'M', u'侮'), + (0x2F806, 'M', u'侻'), + (0x2F807, 'M', u'倂'), + (0x2F808, 'M', u'偺'), + (0x2F809, 'M', u'備'), + (0x2F80A, 'M', u'僧'), + (0x2F80B, 'M', u'像'), + (0x2F80C, 'M', u'㒞'), + (0x2F80D, 'M', u'𠘺'), + (0x2F80E, 'M', u'免'), + (0x2F80F, 'M', u'兔'), + (0x2F810, 'M', u'兤'), + (0x2F811, 'M', u'具'), + (0x2F812, 'M', u'𠔜'), + (0x2F813, 'M', u'㒹'), + (0x2F814, 'M', u'內'), + (0x2F815, 'M', u'再'), + (0x2F816, 'M', u'𠕋'), + (0x2F817, 'M', u'冗'), + (0x2F818, 'M', u'冤'), + (0x2F819, 'M', u'仌'), + (0x2F81A, 'M', u'冬'), + (0x2F81B, 'M', u'况'), + (0x2F81C, 'M', u'𩇟'), + (0x2F81D, 'M', u'凵'), + (0x2F81E, 'M', u'刃'), + (0x2F81F, 'M', u'㓟'), + (0x2F820, 'M', u'刻'), + (0x2F821, 'M', u'剆'), + ] + +def _seg_73(): + return [ + (0x2F822, 'M', u'割'), + (0x2F823, 'M', u'剷'), + (0x2F824, 'M', u'㔕'), + (0x2F825, 'M', u'勇'), + (0x2F826, 'M', u'勉'), + (0x2F827, 'M', u'勤'), + (0x2F828, 'M', u'勺'), + (0x2F829, 'M', u'包'), + (0x2F82A, 'M', u'匆'), + (0x2F82B, 'M', u'北'), + (0x2F82C, 'M', u'卉'), + (0x2F82D, 'M', u'卑'), + (0x2F82E, 'M', u'博'), + (0x2F82F, 'M', u'即'), + (0x2F830, 'M', u'卽'), + (0x2F831, 'M', u'卿'), + (0x2F834, 'M', u'𠨬'), + (0x2F835, 'M', u'灰'), + (0x2F836, 'M', u'及'), + (0x2F837, 'M', u'叟'), + (0x2F838, 'M', u'𠭣'), + (0x2F839, 'M', u'叫'), + (0x2F83A, 'M', u'叱'), + (0x2F83B, 'M', u'吆'), + (0x2F83C, 'M', u'咞'), + (0x2F83D, 'M', u'吸'), + (0x2F83E, 'M', u'呈'), + (0x2F83F, 'M', u'周'), + (0x2F840, 'M', u'咢'), + (0x2F841, 'M', u'哶'), + (0x2F842, 'M', u'唐'), + (0x2F843, 'M', u'啓'), + (0x2F844, 'M', u'啣'), + (0x2F845, 'M', u'善'), + (0x2F847, 'M', u'喙'), + (0x2F848, 'M', u'喫'), + (0x2F849, 'M', u'喳'), + (0x2F84A, 'M', u'嗂'), + (0x2F84B, 'M', u'圖'), + (0x2F84C, 'M', u'嘆'), + (0x2F84D, 'M', u'圗'), + (0x2F84E, 'M', u'噑'), + (0x2F84F, 'M', u'噴'), + (0x2F850, 'M', u'切'), + (0x2F851, 'M', u'壮'), + (0x2F852, 'M', u'城'), + (0x2F853, 'M', u'埴'), + (0x2F854, 'M', u'堍'), + (0x2F855, 'M', u'型'), + (0x2F856, 'M', u'堲'), + (0x2F857, 'M', u'報'), + (0x2F858, 'M', u'墬'), + (0x2F859, 'M', u'𡓤'), + (0x2F85A, 'M', u'売'), + (0x2F85B, 'M', u'壷'), + (0x2F85C, 'M', u'夆'), + (0x2F85D, 'M', u'多'), + (0x2F85E, 'M', u'夢'), + (0x2F85F, 'M', u'奢'), + (0x2F860, 'M', u'𡚨'), + (0x2F861, 'M', u'𡛪'), + (0x2F862, 'M', u'姬'), + (0x2F863, 'M', u'娛'), + (0x2F864, 'M', u'娧'), + (0x2F865, 'M', u'姘'), + (0x2F866, 'M', u'婦'), + (0x2F867, 'M', u'㛮'), + (0x2F868, 'X'), + (0x2F869, 'M', u'嬈'), + (0x2F86A, 'M', u'嬾'), + (0x2F86C, 'M', u'𡧈'), + (0x2F86D, 'M', u'寃'), + (0x2F86E, 'M', u'寘'), + (0x2F86F, 'M', u'寧'), + (0x2F870, 'M', u'寳'), + (0x2F871, 'M', u'𡬘'), + (0x2F872, 'M', u'寿'), + (0x2F873, 'M', u'将'), + (0x2F874, 'X'), + (0x2F875, 'M', u'尢'), + (0x2F876, 'M', u'㞁'), + (0x2F877, 'M', u'屠'), + (0x2F878, 'M', u'屮'), + (0x2F879, 'M', u'峀'), + (0x2F87A, 'M', u'岍'), + (0x2F87B, 'M', u'𡷤'), + (0x2F87C, 'M', u'嵃'), + (0x2F87D, 'M', u'𡷦'), + (0x2F87E, 'M', u'嵮'), + (0x2F87F, 'M', u'嵫'), + (0x2F880, 'M', u'嵼'), + (0x2F881, 'M', u'巡'), + (0x2F882, 'M', u'巢'), + (0x2F883, 'M', u'㠯'), + (0x2F884, 'M', u'巽'), + (0x2F885, 'M', u'帨'), + (0x2F886, 'M', u'帽'), + (0x2F887, 'M', u'幩'), + (0x2F888, 'M', u'㡢'), + (0x2F889, 'M', u'𢆃'), + ] + +def _seg_74(): + return [ + (0x2F88A, 'M', u'㡼'), + (0x2F88B, 'M', u'庰'), + (0x2F88C, 'M', u'庳'), + (0x2F88D, 'M', u'庶'), + (0x2F88E, 'M', u'廊'), + (0x2F88F, 'M', u'𪎒'), + (0x2F890, 'M', u'廾'), + (0x2F891, 'M', u'𢌱'), + (0x2F893, 'M', u'舁'), + (0x2F894, 'M', u'弢'), + (0x2F896, 'M', u'㣇'), + (0x2F897, 'M', u'𣊸'), + (0x2F898, 'M', u'𦇚'), + (0x2F899, 'M', u'形'), + (0x2F89A, 'M', u'彫'), + (0x2F89B, 'M', u'㣣'), + (0x2F89C, 'M', u'徚'), + (0x2F89D, 'M', u'忍'), + (0x2F89E, 'M', u'志'), + (0x2F89F, 'M', u'忹'), + (0x2F8A0, 'M', u'悁'), + (0x2F8A1, 'M', u'㤺'), + (0x2F8A2, 'M', u'㤜'), + (0x2F8A3, 'M', u'悔'), + (0x2F8A4, 'M', u'𢛔'), + (0x2F8A5, 'M', u'惇'), + (0x2F8A6, 'M', u'慈'), + (0x2F8A7, 'M', u'慌'), + (0x2F8A8, 'M', u'慎'), + (0x2F8A9, 'M', u'慌'), + (0x2F8AA, 'M', u'慺'), + (0x2F8AB, 'M', u'憎'), + (0x2F8AC, 'M', u'憲'), + (0x2F8AD, 'M', u'憤'), + (0x2F8AE, 'M', u'憯'), + (0x2F8AF, 'M', u'懞'), + (0x2F8B0, 'M', u'懲'), + (0x2F8B1, 'M', u'懶'), + (0x2F8B2, 'M', u'成'), + (0x2F8B3, 'M', u'戛'), + (0x2F8B4, 'M', u'扝'), + (0x2F8B5, 'M', u'抱'), + (0x2F8B6, 'M', u'拔'), + (0x2F8B7, 'M', u'捐'), + (0x2F8B8, 'M', u'𢬌'), + (0x2F8B9, 'M', u'挽'), + (0x2F8BA, 'M', u'拼'), + (0x2F8BB, 'M', u'捨'), + (0x2F8BC, 'M', u'掃'), + (0x2F8BD, 'M', u'揤'), + (0x2F8BE, 'M', u'𢯱'), + (0x2F8BF, 'M', u'搢'), + (0x2F8C0, 'M', u'揅'), + (0x2F8C1, 'M', u'掩'), + (0x2F8C2, 'M', u'㨮'), + (0x2F8C3, 'M', u'摩'), + (0x2F8C4, 'M', u'摾'), + (0x2F8C5, 'M', u'撝'), + (0x2F8C6, 'M', u'摷'), + (0x2F8C7, 'M', u'㩬'), + (0x2F8C8, 'M', u'敏'), + (0x2F8C9, 'M', u'敬'), + (0x2F8CA, 'M', u'𣀊'), + (0x2F8CB, 'M', u'旣'), + (0x2F8CC, 'M', u'書'), + (0x2F8CD, 'M', u'晉'), + (0x2F8CE, 'M', u'㬙'), + (0x2F8CF, 'M', u'暑'), + (0x2F8D0, 'M', u'㬈'), + (0x2F8D1, 'M', u'㫤'), + (0x2F8D2, 'M', u'冒'), + (0x2F8D3, 'M', u'冕'), + (0x2F8D4, 'M', u'最'), + (0x2F8D5, 'M', u'暜'), + (0x2F8D6, 'M', u'肭'), + (0x2F8D7, 'M', u'䏙'), + (0x2F8D8, 'M', u'朗'), + (0x2F8D9, 'M', u'望'), + (0x2F8DA, 'M', u'朡'), + (0x2F8DB, 'M', u'杞'), + (0x2F8DC, 'M', u'杓'), + (0x2F8DD, 'M', u'𣏃'), + (0x2F8DE, 'M', u'㭉'), + (0x2F8DF, 'M', u'柺'), + (0x2F8E0, 'M', u'枅'), + (0x2F8E1, 'M', u'桒'), + (0x2F8E2, 'M', u'梅'), + (0x2F8E3, 'M', u'𣑭'), + (0x2F8E4, 'M', u'梎'), + (0x2F8E5, 'M', u'栟'), + (0x2F8E6, 'M', u'椔'), + (0x2F8E7, 'M', u'㮝'), + (0x2F8E8, 'M', u'楂'), + (0x2F8E9, 'M', u'榣'), + (0x2F8EA, 'M', u'槪'), + (0x2F8EB, 'M', u'檨'), + (0x2F8EC, 'M', u'𣚣'), + (0x2F8ED, 'M', u'櫛'), + (0x2F8EE, 'M', u'㰘'), + (0x2F8EF, 'M', u'次'), + ] + +def _seg_75(): + return [ + (0x2F8F0, 'M', u'𣢧'), + (0x2F8F1, 'M', u'歔'), + (0x2F8F2, 'M', u'㱎'), + (0x2F8F3, 'M', u'歲'), + (0x2F8F4, 'M', u'殟'), + (0x2F8F5, 'M', u'殺'), + (0x2F8F6, 'M', u'殻'), + (0x2F8F7, 'M', u'𣪍'), + (0x2F8F8, 'M', u'𡴋'), + (0x2F8F9, 'M', u'𣫺'), + (0x2F8FA, 'M', u'汎'), + (0x2F8FB, 'M', u'𣲼'), + (0x2F8FC, 'M', u'沿'), + (0x2F8FD, 'M', u'泍'), + (0x2F8FE, 'M', u'汧'), + (0x2F8FF, 'M', u'洖'), + (0x2F900, 'M', u'派'), + (0x2F901, 'M', u'海'), + (0x2F902, 'M', u'流'), + (0x2F903, 'M', u'浩'), + (0x2F904, 'M', u'浸'), + (0x2F905, 'M', u'涅'), + (0x2F906, 'M', u'𣴞'), + (0x2F907, 'M', u'洴'), + (0x2F908, 'M', u'港'), + (0x2F909, 'M', u'湮'), + (0x2F90A, 'M', u'㴳'), + (0x2F90B, 'M', u'滋'), + (0x2F90C, 'M', u'滇'), + (0x2F90D, 'M', u'𣻑'), + (0x2F90E, 'M', u'淹'), + (0x2F90F, 'M', u'潮'), + (0x2F910, 'M', u'𣽞'), + (0x2F911, 'M', u'𣾎'), + (0x2F912, 'M', u'濆'), + (0x2F913, 'M', u'瀹'), + (0x2F914, 'M', u'瀞'), + (0x2F915, 'M', u'瀛'), + (0x2F916, 'M', u'㶖'), + (0x2F917, 'M', u'灊'), + (0x2F918, 'M', u'災'), + (0x2F919, 'M', u'灷'), + (0x2F91A, 'M', u'炭'), + (0x2F91B, 'M', u'𠔥'), + (0x2F91C, 'M', u'煅'), + (0x2F91D, 'M', u'𤉣'), + (0x2F91E, 'M', u'熜'), + (0x2F91F, 'X'), + (0x2F920, 'M', u'爨'), + (0x2F921, 'M', u'爵'), + (0x2F922, 'M', u'牐'), + (0x2F923, 'M', u'𤘈'), + (0x2F924, 'M', u'犀'), + (0x2F925, 'M', u'犕'), + (0x2F926, 'M', u'𤜵'), + (0x2F927, 'M', u'𤠔'), + (0x2F928, 'M', u'獺'), + (0x2F929, 'M', u'王'), + (0x2F92A, 'M', u'㺬'), + (0x2F92B, 'M', u'玥'), + (0x2F92C, 'M', u'㺸'), + (0x2F92E, 'M', u'瑇'), + (0x2F92F, 'M', u'瑜'), + (0x2F930, 'M', u'瑱'), + (0x2F931, 'M', u'璅'), + (0x2F932, 'M', u'瓊'), + (0x2F933, 'M', u'㼛'), + (0x2F934, 'M', u'甤'), + (0x2F935, 'M', u'𤰶'), + (0x2F936, 'M', u'甾'), + (0x2F937, 'M', u'𤲒'), + (0x2F938, 'M', u'異'), + (0x2F939, 'M', u'𢆟'), + (0x2F93A, 'M', u'瘐'), + (0x2F93B, 'M', u'𤾡'), + (0x2F93C, 'M', u'𤾸'), + (0x2F93D, 'M', u'𥁄'), + (0x2F93E, 'M', u'㿼'), + (0x2F93F, 'M', u'䀈'), + (0x2F940, 'M', u'直'), + (0x2F941, 'M', u'𥃳'), + (0x2F942, 'M', u'𥃲'), + (0x2F943, 'M', u'𥄙'), + (0x2F944, 'M', u'𥄳'), + (0x2F945, 'M', u'眞'), + (0x2F946, 'M', u'真'), + (0x2F948, 'M', u'睊'), + (0x2F949, 'M', u'䀹'), + (0x2F94A, 'M', u'瞋'), + (0x2F94B, 'M', u'䁆'), + (0x2F94C, 'M', u'䂖'), + (0x2F94D, 'M', u'𥐝'), + (0x2F94E, 'M', u'硎'), + (0x2F94F, 'M', u'碌'), + (0x2F950, 'M', u'磌'), + (0x2F951, 'M', u'䃣'), + (0x2F952, 'M', u'𥘦'), + (0x2F953, 'M', u'祖'), + (0x2F954, 'M', u'𥚚'), + (0x2F955, 'M', u'𥛅'), + ] + +def _seg_76(): + return [ + (0x2F956, 'M', u'福'), + (0x2F957, 'M', u'秫'), + (0x2F958, 'M', u'䄯'), + (0x2F959, 'M', u'穀'), + (0x2F95A, 'M', u'穊'), + (0x2F95B, 'M', u'穏'), + (0x2F95C, 'M', u'𥥼'), + (0x2F95D, 'M', u'𥪧'), + (0x2F95F, 'X'), + (0x2F960, 'M', u'䈂'), + (0x2F961, 'M', u'𥮫'), + (0x2F962, 'M', u'篆'), + (0x2F963, 'M', u'築'), + (0x2F964, 'M', u'䈧'), + (0x2F965, 'M', u'𥲀'), + (0x2F966, 'M', u'糒'), + (0x2F967, 'M', u'䊠'), + (0x2F968, 'M', u'糨'), + (0x2F969, 'M', u'糣'), + (0x2F96A, 'M', u'紀'), + (0x2F96B, 'M', u'𥾆'), + (0x2F96C, 'M', u'絣'), + (0x2F96D, 'M', u'䌁'), + (0x2F96E, 'M', u'緇'), + (0x2F96F, 'M', u'縂'), + (0x2F970, 'M', u'繅'), + (0x2F971, 'M', u'䌴'), + (0x2F972, 'M', u'𦈨'), + (0x2F973, 'M', u'𦉇'), + (0x2F974, 'M', u'䍙'), + (0x2F975, 'M', u'𦋙'), + (0x2F976, 'M', u'罺'), + (0x2F977, 'M', u'𦌾'), + (0x2F978, 'M', u'羕'), + (0x2F979, 'M', u'翺'), + (0x2F97A, 'M', u'者'), + (0x2F97B, 'M', u'𦓚'), + (0x2F97C, 'M', u'𦔣'), + (0x2F97D, 'M', u'聠'), + (0x2F97E, 'M', u'𦖨'), + (0x2F97F, 'M', u'聰'), + (0x2F980, 'M', u'𣍟'), + (0x2F981, 'M', u'䏕'), + (0x2F982, 'M', u'育'), + (0x2F983, 'M', u'脃'), + (0x2F984, 'M', u'䐋'), + (0x2F985, 'M', u'脾'), + (0x2F986, 'M', u'媵'), + (0x2F987, 'M', u'𦞧'), + (0x2F988, 'M', u'𦞵'), + (0x2F989, 'M', u'𣎓'), + (0x2F98A, 'M', u'𣎜'), + (0x2F98B, 'M', u'舁'), + (0x2F98C, 'M', u'舄'), + (0x2F98D, 'M', u'辞'), + (0x2F98E, 'M', u'䑫'), + (0x2F98F, 'M', u'芑'), + (0x2F990, 'M', u'芋'), + (0x2F991, 'M', u'芝'), + (0x2F992, 'M', u'劳'), + (0x2F993, 'M', u'花'), + (0x2F994, 'M', u'芳'), + (0x2F995, 'M', u'芽'), + (0x2F996, 'M', u'苦'), + (0x2F997, 'M', u'𦬼'), + (0x2F998, 'M', u'若'), + (0x2F999, 'M', u'茝'), + (0x2F99A, 'M', u'荣'), + (0x2F99B, 'M', u'莭'), + (0x2F99C, 'M', u'茣'), + (0x2F99D, 'M', u'莽'), + (0x2F99E, 'M', u'菧'), + (0x2F99F, 'M', u'著'), + (0x2F9A0, 'M', u'荓'), + (0x2F9A1, 'M', u'菊'), + (0x2F9A2, 'M', u'菌'), + (0x2F9A3, 'M', u'菜'), + (0x2F9A4, 'M', u'𦰶'), + (0x2F9A5, 'M', u'𦵫'), + (0x2F9A6, 'M', u'𦳕'), + (0x2F9A7, 'M', u'䔫'), + (0x2F9A8, 'M', u'蓱'), + (0x2F9A9, 'M', u'蓳'), + (0x2F9AA, 'M', u'蔖'), + (0x2F9AB, 'M', u'𧏊'), + (0x2F9AC, 'M', u'蕤'), + (0x2F9AD, 'M', u'𦼬'), + (0x2F9AE, 'M', u'䕝'), + (0x2F9AF, 'M', u'䕡'), + (0x2F9B0, 'M', u'𦾱'), + (0x2F9B1, 'M', u'𧃒'), + (0x2F9B2, 'M', u'䕫'), + (0x2F9B3, 'M', u'虐'), + (0x2F9B4, 'M', u'虜'), + (0x2F9B5, 'M', u'虧'), + (0x2F9B6, 'M', u'虩'), + (0x2F9B7, 'M', u'蚩'), + (0x2F9B8, 'M', u'蚈'), + (0x2F9B9, 'M', u'蜎'), + (0x2F9BA, 'M', u'蛢'), + ] + +def _seg_77(): + return [ + (0x2F9BB, 'M', u'蝹'), + (0x2F9BC, 'M', u'蜨'), + (0x2F9BD, 'M', u'蝫'), + (0x2F9BE, 'M', u'螆'), + (0x2F9BF, 'X'), + (0x2F9C0, 'M', u'蟡'), + (0x2F9C1, 'M', u'蠁'), + (0x2F9C2, 'M', u'䗹'), + (0x2F9C3, 'M', u'衠'), + (0x2F9C4, 'M', u'衣'), + (0x2F9C5, 'M', u'𧙧'), + (0x2F9C6, 'M', u'裗'), + (0x2F9C7, 'M', u'裞'), + (0x2F9C8, 'M', u'䘵'), + (0x2F9C9, 'M', u'裺'), + (0x2F9CA, 'M', u'㒻'), + (0x2F9CB, 'M', u'𧢮'), + (0x2F9CC, 'M', u'𧥦'), + (0x2F9CD, 'M', u'䚾'), + (0x2F9CE, 'M', u'䛇'), + (0x2F9CF, 'M', u'誠'), + (0x2F9D0, 'M', u'諭'), + (0x2F9D1, 'M', u'變'), + (0x2F9D2, 'M', u'豕'), + (0x2F9D3, 'M', u'𧲨'), + (0x2F9D4, 'M', u'貫'), + (0x2F9D5, 'M', u'賁'), + (0x2F9D6, 'M', u'贛'), + (0x2F9D7, 'M', u'起'), + (0x2F9D8, 'M', u'𧼯'), + (0x2F9D9, 'M', u'𠠄'), + (0x2F9DA, 'M', u'跋'), + (0x2F9DB, 'M', u'趼'), + (0x2F9DC, 'M', u'跰'), + (0x2F9DD, 'M', u'𠣞'), + (0x2F9DE, 'M', u'軔'), + (0x2F9DF, 'M', u'輸'), + (0x2F9E0, 'M', u'𨗒'), + (0x2F9E1, 'M', u'𨗭'), + (0x2F9E2, 'M', u'邔'), + (0x2F9E3, 'M', u'郱'), + (0x2F9E4, 'M', u'鄑'), + (0x2F9E5, 'M', u'𨜮'), + (0x2F9E6, 'M', u'鄛'), + (0x2F9E7, 'M', u'鈸'), + (0x2F9E8, 'M', u'鋗'), + (0x2F9E9, 'M', u'鋘'), + (0x2F9EA, 'M', u'鉼'), + (0x2F9EB, 'M', u'鏹'), + (0x2F9EC, 'M', u'鐕'), + (0x2F9ED, 'M', u'𨯺'), + (0x2F9EE, 'M', u'開'), + (0x2F9EF, 'M', u'䦕'), + (0x2F9F0, 'M', u'閷'), + (0x2F9F1, 'M', u'𨵷'), + (0x2F9F2, 'M', u'䧦'), + (0x2F9F3, 'M', u'雃'), + (0x2F9F4, 'M', u'嶲'), + (0x2F9F5, 'M', u'霣'), + (0x2F9F6, 'M', u'𩅅'), + (0x2F9F7, 'M', u'𩈚'), + (0x2F9F8, 'M', u'䩮'), + (0x2F9F9, 'M', u'䩶'), + (0x2F9FA, 'M', u'韠'), + (0x2F9FB, 'M', u'𩐊'), + (0x2F9FC, 'M', u'䪲'), + (0x2F9FD, 'M', u'𩒖'), + (0x2F9FE, 'M', u'頋'), + (0x2FA00, 'M', u'頩'), + (0x2FA01, 'M', u'𩖶'), + (0x2FA02, 'M', u'飢'), + (0x2FA03, 'M', u'䬳'), + (0x2FA04, 'M', u'餩'), + (0x2FA05, 'M', u'馧'), + (0x2FA06, 'M', u'駂'), + (0x2FA07, 'M', u'駾'), + (0x2FA08, 'M', u'䯎'), + (0x2FA09, 'M', u'𩬰'), + (0x2FA0A, 'M', u'鬒'), + (0x2FA0B, 'M', u'鱀'), + (0x2FA0C, 'M', u'鳽'), + (0x2FA0D, 'M', u'䳎'), + (0x2FA0E, 'M', u'䳭'), + (0x2FA0F, 'M', u'鵧'), + (0x2FA10, 'M', u'𪃎'), + (0x2FA11, 'M', u'䳸'), + (0x2FA12, 'M', u'𪄅'), + (0x2FA13, 'M', u'𪈎'), + (0x2FA14, 'M', u'𪊑'), + (0x2FA15, 'M', u'麻'), + (0x2FA16, 'M', u'䵖'), + (0x2FA17, 'M', u'黹'), + (0x2FA18, 'M', u'黾'), + (0x2FA19, 'M', u'鼅'), + (0x2FA1A, 'M', u'鼏'), + (0x2FA1B, 'M', u'鼖'), + (0x2FA1C, 'M', u'鼻'), + (0x2FA1D, 'M', u'𪘀'), + (0x2FA1E, 'X'), + (0xE0100, 'I'), + ] + +def _seg_78(): + return [ + (0xE01F0, 'X'), + ] + +uts46data = tuple( + _seg_0() + + _seg_1() + + _seg_2() + + _seg_3() + + _seg_4() + + _seg_5() + + _seg_6() + + _seg_7() + + _seg_8() + + _seg_9() + + _seg_10() + + _seg_11() + + _seg_12() + + _seg_13() + + _seg_14() + + _seg_15() + + _seg_16() + + _seg_17() + + _seg_18() + + _seg_19() + + _seg_20() + + _seg_21() + + _seg_22() + + _seg_23() + + _seg_24() + + _seg_25() + + _seg_26() + + _seg_27() + + _seg_28() + + _seg_29() + + _seg_30() + + _seg_31() + + _seg_32() + + _seg_33() + + _seg_34() + + _seg_35() + + _seg_36() + + _seg_37() + + _seg_38() + + _seg_39() + + _seg_40() + + _seg_41() + + _seg_42() + + _seg_43() + + _seg_44() + + _seg_45() + + _seg_46() + + _seg_47() + + _seg_48() + + _seg_49() + + _seg_50() + + _seg_51() + + _seg_52() + + _seg_53() + + _seg_54() + + _seg_55() + + _seg_56() + + _seg_57() + + _seg_58() + + _seg_59() + + _seg_60() + + _seg_61() + + _seg_62() + + _seg_63() + + _seg_64() + + _seg_65() + + _seg_66() + + _seg_67() + + _seg_68() + + _seg_69() + + _seg_70() + + _seg_71() + + _seg_72() + + _seg_73() + + _seg_74() + + _seg_75() + + _seg_76() + + _seg_77() + + _seg_78() +) diff --git a/img/scopes.png b/img/scopes.png new file mode 100644 index 0000000000000000000000000000000000000000..85e400136904680c5c08271435df6cb1f5cbe22e GIT binary patch literal 308339 zcmeFZby!r<+CD6ylmdbXND2~)v~-6cH6SU{E!_+`w15)AkWwNI(wzg+jfC_J-7s_v z%*<~*Z=7>o-}`$0`u=;l_5^#c+Rxf+t>?M#drg!EK=A?L6T&-p?mSR>Bd>Yq&RqoN zm4|;1b0!n7(&Ww^tS`25avDlJWM z&|DPB)gx2&+DJ69esw0XU?-yBJfWZ-q>93!V59ui+4Fjvu~9e*O#EHzoD!cfoJ(`H zNvZDj%eED_>>IbybobG_v?+WRU&*DpoVS04f2(b+e$iC29g0sasCw@{@9n zAT+6HlhVS2c!FM*&|+Leo|=rx!yzGo<#qlwGMlpUME21@r5d$&0H7@Tv7MI_7)9P@%~m*H|-8$Ax)DD)=WIGPK&xj2qtT!KH2= zz#twa4eZZ<3^M4fbU**VKxm&o|x_H<+J2Cz#*Ua46(?f!Z=}$%f{r4a3wDPw7 zXH8D-|9M-O8|40Tg`1a)hx@Nt*4xVAoxH81m6JQB4oO}Cejf3EWcdGF z`e&8@l2!j-vc7ut>R+?|%ccL!D$f1q7XIay{=;7XIEyiuB%wI>e;Z$tF#dr(8KysI zZRORqF`w9fItTMHfq7&9k59~Z>`W>^&?WrN9qBtt@-o`qSo@iGQ*~d{d^C}kCe@Y~ z)q8$d<`G4ejK(91yl1#Ohfeu4GR<-Xwy)o6JR-t*^ySb=Ui!&gV3z*Ye#U7gd;#0& zB5<>LmYm#XGfTuK#l{*c^tO@kr!@AnzaK7IWN+ki&;|QKx?geM1pV!Jg++*@#s7EZ zk&}NL4*zVRD)#E zYKuNUME{!Z4uQt@78N5F+24-f^wc}ysPx9ucb18y#f%H1u;Sm&y(lf-@8R8H0hoT=&xINuMkWpjBB z!s;Bs&y*AUn>Gpljp=V^a97L5(U-8mp+Xg@lukL=G&Y2xsMdB;Il`-Kbf90L5`MUgaYHfbGTRl}`OUZ0zA;Xljtxt!G{4JZRlsQ}e{J|O zD>ErP3?$q!;vOhN*}JJmGqkrcXt!`1DeSwS>W{j1+xb<~z_C=~3`vNl=5Idi*$9yh zG~DLp{;Q!oATo?l0wj%)V=`Yw+hJ{+{PC9MYU8ibx_}dC5ij4_(!o1#vgE#VbqHj!$z04 zUI)-J5%^qZ@^0fRoeZ1o~a*-CoqKvnuy&k0)M9D9vn3)p(|Nj zDxss+Hd%k`*`Fx}ls1{Y9=?XQ-B_*_s8yTPt=wLpib@Gf8lP3s?26BeXDj~iBPbZn zjeQK*MtctwPPFRK6jJWalrm?|H+YsGkpI}v7ISWQFWt_KQ;ugM5t|VXW|#EY_1Kwo z4%%yP3X+4xcSR`w>Z2EE$guDTLqSjo73j{A-sXtO_Iiyv{o8YDz9NX_(AVkqgN&}7 zqpK*e)$(%AsKgDfxnJqyk@XQfooD*hmZH1kIbA2+{5=Pj?OU)4!>4KdHYYKs(2NGt z9KMuSvaz%xt1%NZJ=p;Y&A`3Y{gNYAgj0Qd)8EH}@V;vwoH`CL@iY*&e!Ze6RGN zCnWf9L#3QD*qiMPeRj%yqEPn)aKm_?I}4p-Igl{dM7ac3N#Rmjx)-z20uPMjBMMs= zt+Q*Mc+GNVvEdc--qQ+(LYDi3DBZ0`zbG<1U;Xsc4!$d3Kjdsb({y-aq|I&uxOWaO z%`I;jm$DlcrWQXlg7h^XcD|fgz007C@YpfDgdI*R7N`ZnJjdYJVziHo+f~!}^2zDI zl0WkXY6r-TN>AEk124-n^K9TCz%__1Q>;G4*VFE<`~wCDZRiroUDm$pCfyh#dabO z>lh@|tDf-;dGEg0_sZ{x7-fp}Q89Sp$Y2f}Gsn8Gx>URM@CA37kbfsb*iSn$npE8O zKAZ6|@vDn|90a+(5K9SSc$}=29Dt}=bQ|IX_)3{kn|odC&uKTo?)`Yd@akKIws%`b zhN!3Vu8>{Hkbc{yUZHr#BcH3MTTe=7Ci9fm3~w@}zi}bD`ODc=Ux;69GrOH_^Xi}M zXr|aQUa52t>hgVl3@ZPm-Eml^h$cgGp&L*fyAi}K5eTs ztnV3yk^*!N35dYtY=Hh+YKF#Dh5Iy26^T9rO*5tHQf=i!AcNpJy-kVZaSZA_2Gn*O6p+e;GEZF7Z5^;pKYz z;ngwu$%m@K4B;ONCPynTQyTXK$j?qx^6RJ>z|RxMNrD+q9@2yeQDc|;JKD;y?-DI}HzGrQz8gxezSa0A`j#*mj zOXFUp_Rm&&)hW@Jt$mM^OxAUr7qd-&Wyk1f(BM&Sh6Cv);uZlD-zAd#27JeeHUF-8 z*q)0Q@;20WqCkhJuX|K?qh|SaQZI24^DZI3Oq|qt1|5sB6j5q)Fax%j|IImN>`0(g z4g;9woonEX5pc($a@wR6fHN~nlqwrSO^;j2RVa@--wT|XxjODVdma*nP40C#&r;E5 zJix0KmdOe$_N77-e~56r_;4NvYZ`u}mLWcEC25C9j5?VDtEaB|Jo}5^75t7Ivx-Zp z&e!hEvY7U?nQ)j97u1m@$4EO(`19D;dmNx*n-Wdy=h{k7fKE%>sg?vRXF`s@-b=nM zT~fQ+iEzeNo&QD`_t$wPjz;}_aiK2tp2`#g<#3~UNauCk zavr&#J4nIt2HoD4aWXuxAmP`-s%n~5s5^px3INHXE2Pk*m0+{7c_WQ-Su3qPdrixQ z`h%07LlvT~oe1-gll*aD2O}Gus zZae_$M|OR>#>~d)mI>lMd=hD^2f5*=oBg4KufRgyY>)P*uP}ED2!tI%rwzi|6~qp7 zZuSC^`k3XNa|m)Z!5bbHmML1B#P*4Th~46#*|U6rdBI;j)AxZ@&kTo=kKK!{&M}G8 z+N}F;a))2@{xu$mVI-{x2ThvJ#+&3i{ObCB-2e-K9P{T*B*Co|@-Fq`RZ;u9(nw;p4-CBZH_orqN6>w!8Gv9+vmPqTY`~ z^tKyDn0Ii0$Hiv0G_iV08dSeK*&N9ok?%CrR+UTF9m%&{QxK);wGJQD34Qz!GbO`C zgX6Ggkv4ygRQ6sk7my;_VkBISz72mx=0wwrK`C^KWqqi}D;nDM5J}ae%D#Hv*|}Jw z=~%{6*vqx8f4RWX6_%&pDvk5aA{iKGK8r{e? zhTPN?yD_SI`O_gmZ<|5DJhfFD@tUnHU?OmtbmJEI-QE5IZ?bN3rO00vv)HnE+Cx~3 zL_J*&&B;mv3d^|+kbpeTi5w#u+jo$1&xpdmdFZ5m*g}{Q@wMf{u_BjEU48B>BIc_d z_$4bR?FK6#qu=nJ#N)TIhLeRVg=?V%NaGc1Z115>wa{c+#nx{b2R|PXt3o@@VhHT@ z(9eL2t}RW`7stN%$W60Zkt&Dll#?}esi8sVc29qzRBz04(_t)ylZqR}5VC!bJ5&c2 zz)8(-iQf;}9h2I~QKSbRT0{i%CaqH-T0D22)xkbh!r+!yTX|M{Ue)hJgaubhH?oyR zGej)s&o1kpv$#V%hc?~d5^pP-A&U6}DMA$k1#zMlU1@ZrO}wC54bk*m3pL2a|yLcsMO& zc^=Mn-_T*q@#aQ(?xfmmjWu%wRBj>yy2Q9;oAdEJ?!DSRt=kq@N`HI~#aMdJLs+1R zWS>5dld*aZ%qLQ`)3W#CK&-YneL$;l;jOvqzA4{wndo_Dqb}!HrPG3#OnY~?m7lNY zn(R}W5;H`qRZ6srEsw^5R#U02qsZsveFHUv1#Ln<5XWrAh)sjh1H}36o5Bmn^E$ol zK0DBl-OGFUM?EUZULwN+n+c`{3~@%~!|xxn8GL$cIS;tlO*Ko(S20vv$eBB8NEh;(a<6XwU)xWQyib zJ_BUD>mXGW^VWlM8&$ulu!OZZL&OcfCxXxF7o5P^fmaHez8Um>bR;xj5hxvX{XsyX zhNotOjKwv^T_5F4wFyaM#jO~R^D6)e3$3iNWGkQQIu7T1HQw(V!uPw_Pufye_T)XmHdxR)JhtWT;R{|0Smt;iex0%NaXiFIcs~CDF}h? zeJN5p)jipn7|S>#g;X&~sw5BlVw+v3aO8zn8#rTARTv?2>w8G<^{6Cy&DB<%D6s65 z>_aW8?;PXYBl%U}sfxlt7=uC_$s%9^kgQY|ul2f%V<37kiDO=#toIWgPr>eV*}>uo zfHlaXMX>Cd&&j&zNRC`YKEj~R>he$mkhPJ`8E<$ArQvxSB>M9gd8h8X$Zor7}R)l7`D+5VGe+OTw1jrr-a^-!`7CcIuIyLw1+Dx&guEM=-# zD}CL!M|gmG}46qX}hu9B>=C|e?2~8 z<7kEXq^pGCfT^d2EC3UNov0r7>mXTOD+OyEmo&e=vNKJ%F7H=-*6rq(&}&J>>k!$h zxyj;A{R#r^*uwQZJrqAG-&GXMnk45c1>MdG zqy-DB;;xUR;}!lD%pqm_6PYX8n}XYi?Kc9#jUm5fA7x3|SO+yF+Ru~|IIJwxBakO+ z#v@Or^IP23?b6Gll(!?mv-Jm}gsS+jDO#}wCc21GN0$mafp0eg3l)Wm-?rIF^FZxpXP;*k=VHHL$@bl2=-zq8v)TRRLt~V2wt;?Ize3)S9dDacD?n^fNxu{tXrk{rBj8hC(eo zJ3Q4JRbA`kWt$FM)kmfwgP5}Nc>DHta5@qPnE!W7r~~~E94l9hv3@i|K=ET7EuFUX z#}5m#1d!l(do+^TzZ(G+4LT(3A7bJ4;X(fDB=hPtvd^UqcBQ@TWJr_>|H-MOsX=^My@?zmU zHs}=)x|8y1TVh=?+l-0T;P;P`j5qGeGWCmy{9iKQ_k&-^5VHvX@i^amTEd;GT!vgazw^y!p{2Qr; z?f&|4cQJMF{LL;M=d7ggaMa$CX>v*>ei#{oTvui8$=@RCBR1(AST+$H`V0f@!=BOg z*d_e${>>uKAHtg&3DoFrcL zmGnM+U`==Q%}L&?bdZJ~&}znS<9M-Q>7|bP(YfKt0<{lvNuoKEpT;JIFm5Srd4YEF z-k}IcUl%UQZ9r_4urMWdeI)Tb&t)_*0r9(=ms7bA;xAyxRUC-_Jb^XAAfY=hr8V4F zv9Ab7v9j!UsnWdQ{A=r0=3k~%Qhw}X-EH&@9Aee^y@$_qTtmc%Z}O-ofh-wB#S6fLg#h zBUU}~`z9ugTJL0v+qr1dIaS;FRp)+(2+D{>ntHk-zB8L|a3>n$Lg6j0Js`tZFvVb5 z`GB^MqQ1jL4^PaC6FL)6HkT&P4UE;T!!h_c#ZWTJ=Dbm#KI6xxZPh*;XA zp-jztIzvqQaOEd_j{Y&USI4|NJbPctp(#dgO2@awtM)o*46)%i{k-@DYP@t<{Gdi< zq!5mPSS-(&Mjn@0v#RVjK2Ft8y7fv)xdCz!NT^dDV$GT^?t!u>fyR zc~ZA)cZVCI{a%5X0RiibTmb_QpqzEPug051YwbC?lR&)Ra0!uEZ@jxA?x>!NYg|3F z=~LOER94!dH2I=R&Hn~NsNJkDbCMmgk?Q3@&N!?#Zkta3Ky*73#i3}qRqqtpz~MUz zirYdgteT}D#hGEI2icH?#b(>sM~F3NJ(fo~fm7Aw6B}J!PtHn!ZbJe3PB8*!juG4g zpK-hf4=qx1brecdCI&iQq~+G}p{JT48|A(bu?=WEUsT4|qmBo#CM}RT!-cWVm2)KH?5 zbr!~k@L<`R1^!&3mMTR$NE46tnI>Yd6X+IO-gPZb`F2I~W`YeIQq^Kee^9Rmn)5N{ zG4pm*csg@BayJ|#7xFKxYb4DdLdFE+oYMQ&rq*D4{wKkJTT51dvnTlBB`g3P8oRfc zlQ~stAjU}Nd@F?OR6Fi0pZh&d;zbQK`vUgr@ZTJJ2~t#zjpc$!?6 zAb4OjxZ+M+$XU>8s+g)M;=TRl51unosLp*Ewh>LSz@b-;&sxbisvB_1iEP9GKBBSF zyshn2I1lgZ)dX?T@Z)N|%mPAcnoR54`y5oLJB$%A=tchj&s@-Mf zyDtNy;KKQNvoQ)9S9jza2)S}vIL6fuw(<*szmw}zMtZH44n4XaS5AxOm z2b4lcc(0v$ELGFt*jWUH@J$gmK!!FfoHIm{{q~z5i@70!daRTG_-6SVLegd+K|cUk zEjISLRVY=|IL?`JP}FO`5yZ`H+{*6F&2Kfh?QhXK78`>JTt8Rew$DXP!@p@j`pgl2 zLZTdqv1}>sD*)3h@`v;7>6&jeO{*e}pwkqrwX!nfEovl4vCmUHCptB38z0FI-`*)r zDBe-9NjkQwV-m6@#mlPXY&S!{o&%m#KkD}?T}+qssT~Qq^+7q$xvnP+`n{egP-bf4 zXH6NlWkQ2Kl{ls*c9g6vXg&MIQ4$0GHA{#j)fzL5q~d5OeDhL?Owk{Y1nu)0q&wDG z;y9~xN%YR~!B%k--?J3)v;>uEgOEVEgWJ9_!z9>+{B7o`>FA>bNy3Oc(*n@an?cJc zmL|6!pIj8m5Gb!9k*4nsEfB*iFIc;1sh7iT^G$08#9xhY>&;W@(AutY1CLSe7uh6Y zamL9@gTecpyE88lJT}di#A43WonfFUq+*>La$?%v7jGcbj_*bDO37f0eif{|SF`;7 zz&glEp)dL_gpbRJV21X{o@>e-r8%s@ea4cp%9QHY_Lx52ESrAjlCe?hWb6}4d(h0O z68M^}9^~J)!|hWJ>_+pu_{H(Lg5|FJ@hO)5u-9m?P_HiTL!`EE?t!I!794)t!ZcP< z@Lh=|@8$2tR_K(k+bY-U=^og75w^_p!56qhJVar41g%@skE6WG7HD|O(HaFIs&|}E zw_aCLAidc@+T=07LI4wqrOLx<;)2DZ*bn61`y#ITDWBoms{Yuf{uMBw%*0}{{E2n5 z4&UNKq*0f*;0e8ypALMYzZfyXb5tq>)rq#fp;K(mROH@q&63(HBP)PbrH0M6qp8qW z3UCd$x7#`WVlI?he8Hc_LKClm<-h3NM%O=JBxG|2mM6PW(%kc_sx0dqjEIS^0rXF{` zq~>+=kfzf>qXK-Db3#xkg7J&Anz!hOSdL>^oawLZ=ij_&HRf7Q`_+U6X2f`WL`S(t zk<~X#80yJUneBy5D`|r$aPKM1|0Z)Uo^-FY{jJh`z0(ev0tO&85%t*JRo-iR*RW}W zfn=t>@(BuVRC@3`66!k^ZUfwTwat0-U8ZhckR=JZ9iqn{}Mu9zdaqXn zs2Ngr(?!3vy%mhS>9>eeP>sH#Kw&5+zOOg{@s5 zElv#Rz?Q_Ji~qu*cVnrCe{(pK8y-tl%y#ACh@G{RZ{b(0UFAP+)92yvwc6DX)sw>a zp}+D@mbX(t-CmK?LBlhv!4AiNh{w7znj(5SW=*^N1Ab6P47eW|_1 z_wI;)?GzJrOc=FM8cbQH&}qO4D^ij!cH1tmCUu~o>fb~5e?%7yffkL`<_z2HAF|Jh&=2lT%|%-Lim8^b+j$i?5-N9-LRgj}I= ze1&>rv$qiemRXbEjE!ukz8MFJ)Xw4~v$=0%p9tDof4Y$H&6MrixOCE%m1-xT6H~k; z?rcQeg5%C`KNruQQwi-%7J}Q6c!RqFkgw+FRkLfar{Q5)c6@B<80}W%kT;)I_ZgK@ z4#URd{Yo8z(1)^1%_yHbX)7t`2(rup1CfBqFhKJ7Q}{ z#E4}NUXe~H&WygW`iyI07)&v)qj;EPp-lP;YmBo*^?txCQ{k|-HNbo=8aRF7uKA#$@+;++Uhw76{qxpSR-UR4J>vG2*C? zi+;XL_EhR^K`LX>{11&gS^P!HthUGIqDIE5f!|u`PhNcB3rR@Z z+GNpSA7}835^i2I3q0YFtV!|0M?>UIsa>&sB4J~L%ol@C1cFx{giq%Y=$2Vb^w5;V z&6ldJETf{1?@m1fLq7N!9Go|s92jv@KXJl0wM~JQ87drq?WtZnIK>ll^n_-!<{u`< zJHJNW(0@NRdLSsgX02O8d(yjx`uu8sMEqH3io7ae$M6^;fHMF52G5hCKwywdAnODe z<}e>AIa`sjj<{PnHvPh!EXQicgKvN2rQ7xt#lVDRu8G?gv_Zm+2tnJ)amH=z{ytsq zXZKe+9wpv#CqaoE8(7?^2z1GdfmT~g33dMsai{->^OrKf*BLDyYEM)bx%mTcC)3Ve zg)fT<6aaLQbUc@>io(+65>62Bh0x2~Rc2s+H)4*ZZcP3YGIs1khTMCA6#FCuDF-N3 zk|aMudHD#mow36OJFQnocUv6a9VmeJ=8T~jgt?Fk3(DgI%8 z`{J^{D1MgMsC8+oZp+?-`ep8=W|)S1wtbAD%VB+I9N82@^BefuLcn`S@L*$z!ldcY zkNcC4XeKWXj1JhE$;5^$hHJzLRWzahm`bwV0K*PWozITkCX zd-^k{N>BbWc~U#=L z9C8@UMRZN&iXJ=;N$c=+o}!X?_~<3WVG74h$^BiJP!aoK3MJfi!_IlosZNVoyU4ii z(_?`)+tri9)i&Fis?Yw-XZ+4p<@Wd`slvP*4QiGSy#)hew{35I-8v0#=$>AwX|6pH zQ&X+XR804SGP4?E!dyDeDu~VkarFn+vv81V~>%oIzV}TcY;wJf(!OPjR=* z^BynEdwSK%>un2dgki#a-H~(*+vsSxF-u9hRH#bJMm_C>;~aUAS|1J)=IqT2rE|!U zsz*kjFm8VjYz3QK)Epg9@l`@vHFkY&>buVu?#4rWO6%XY(|p)t+E|C~Gs?1aj`-B*fR7ooYWK1Lf3SMPI!%uRH$_Fyhz3Q!66mi18aXW{B{^+8D@% z4iR@E{zVQMR_I+-QEmTyfZi)znOvl?*+SAABXQbf&1BDJy+chgx_wi5>BupIq*=Qg zEoo7MZRZ?Z*{)8mF3E_U6!rNfa<{v!neJ0mhI+eLh+U)4cZCafDl(>&&jK+iz#nOf+zHNv8#%?A0T*L__=cl>b~O*70_ z2WWWG5*0*N?k*%Mt4fL$f6LI|7<{_QES}7fe>=+`CzReUh(Yo8<#LhXAioA_EdizD ztgm?;jr|2)*x`g6En5>Pyf3|v5qRudKds$Hxup=Md*e6j*=m9yCG0~pzSZ^%gG{CP zAYAlfN0?^*_ruFaVho>3jR>Fwe9qLV!%qx3YcA_wW%^1lSBhwN;F3dKZx%kCZPE#O z5}wES7+>4H`wlg!Y3TzQJHP_>C!Ws-wD1#HrPyW*vB&H7{yxs`ub({5_%GS*axZx# zP*&=zAx1M)u9Hu?YN9pjZ8p!?j8%%wp;LVLqa-xf7{A@eZ6m>P5O=J4!^Ez$Cvl5H z7VrL(?|R~2ubhlTi<3@CwujCkXfC;rugeo6YL-Xs!Yk>b$DI#Xq^@|nu#XWHkWr$r zHdk`iuOD_6_UPI)r<-yBmE>j^X$a!6d~JE=JP|HcYU9=Z=|(vsplM&LiS6a^fTa5c z?asu3V?d0!r`>cSM#lS{jRb_UimCZdM<9tlvpD_)6wMtYN#%R~c9+G5gp<^R-bUR^9+$;)^+M%LI(@=$v?vhODKG1v|+d35Wq&QO&+T!Mf;@{ z!ZTC`8yq^WxN55RUOCUdtF|8bK1`DNMahn$C5;iAK~?v4pC!@oBqQ3|s-Rmn!SwtR zqrLw%&wfVJMf_|EHNE+=vHt%_%2_>na~r2g5zDBFtn9 zIMAiq$JY(LcNX(&5VSv)n(qZ>lvXX(+T(n#!3cTQw(9Ye!8J&GSsIc>6vwqx&7&2w!6kb%bZGU_V{$2JZ|qe97M(E z(Rd0y+c~edNFab~|6-&l8fsH1L}aryJ2Ff**FEV}hBQ9ef9;vJUtCB%f%U>yQoy9Yly zwcF2A_Dpwxw(1~=sn%Oz&f4Yd$f-dPx%tf!&-I#Hbon?*&elb9eCfwARj%zH;^*b_ zoTuXl6F;;?IW?VxU1Z*m39sYla6fJ~O7@DpI{XIZ!HF;arNBnN3D}iL(M|6Twv9UG z0Q5&YGvmICtnKSt2bR@CJ&wMwJ2&*m1nDfiizn9NC8fW4z7lX*H3Sd`m~)(^%Zfsh zWh$}mzf_{F;+jw zEV?O`@k`w#i`D)x`%gAM5MNmK8~> zYP@TO7s1n6Z;roqM|~bA;a7R5Bjq;dYLkG+1bn(7Ou1rgHUCU>v#@ed%zZ6Va8~S| zDvcbSnZhpb#{Oe0S-2ZRVXH~8mQ?xBJ zK9rE1ECVSLDMmXQ{x|jGal);qZPUufY*SpZ-MetjA4h%NSp>{>*3(Fb@?25L1^b8} zi?n7FHX%5up~i;+H2=A)}U*tV$=f&>zFoh7-r$eK*>}d3&h6 zL!$Yyuw%0j+*5<_fjztMb^_8(j<{J1uKcg_0a`L@S1U%>Ix*P|(=9fv13cxtl8#!! zP$2F3UT&i)kVuu8Qx^_RObQg8fiQ3QGoHhLs%UTVa1)Cj!+%yl${viRahP;SS?NCYKdM|=k@|t)HH=z%x`!Mn zRLQ*Uzw9g4!rDn1Kg=sOY6vEW*uW*XKqy&~2>4>%P!vC#@)zR3t17k(4`o{3w}=lj z=$$R)j~rSL%DoMXk}?6HL{HT1UAB>69K1|n7VM841~Y&R5&gywRp0`dwSvuh$=^jf zGf`SzsYb4i8X*bf6~i*P-FPj$HizPDCQXD%T}gECpu9CUfY(G&DBr^s<=o*-;bY}T zz@C-W#p}}*78CzDr5dxff}mF)o!6{6aaLV$kQNi{r!?iS?511EBVN7Pdtg`nQz_TW ztMU7^I=dVpUs2v3sdIt+?v1N!=ULp0U%j#op*uEg6{ETtybqAZY!idH3|?HQ8$y?m zc*MdRtJmp*&cxpJe8re1tKy2-uJQ>^D;pOY)+Nk6pUhwf3x6d@6|{v8E)qBF<$8Gv zUyekP)pwb^JpIZ=gZ!pzm0rXi_cn$FPW6^N63ePY=l6=UcIis3W9QGF@>f?EsjeX) zy>>3c<6mu+Loz;t(aO@g{x%2j@+F8X-Q?A1s@F2rep`&AR4#93vllSySBo<`s9hdb zLLkVdb`xu4cz+dfpb3Wf-d|n1+TBYkuXc64Ix^du+jbW#QsQG9b@pGdMUFmL_y*hG zJMyE1>>bla%aQLpi}c2x)LDE#JNAuBkCQ}o>qv6(IH}!qLWy0e)xAWjMAY9~7&U5N zbKb^^?uAUH#z6tw2eF*6~YBl5(5;^`bw4#+_6rQDXpsvpm!asPeGCdHchR4--@}gyl zbxMCU9wjMoZR39vq2)ESgE#CLkZ~?&NjtCMw9RE?BKC0J@=~BTjBb#4ZX*%Bxh=7h zW%jMYK4xhz&&OvOAm-<-V;@Z?7SKasW0DGz&-Rm>At4djK-aEi2#F5vRS0Hzo}^H( zmz!v(sb}fL@;(x~)gq^FA2_(2Du;Df0EB(~xW!k~XIdd?PaKb8`bNqkxI{NzWmZcu zE-@Q5?0UB{cZMt}zA0q=g`E)l-fPi^7<#aMuNCLx!}%4Y?zfBy94}GZefU%uMSOI% z;2bGveXN6b!faE94c?X6AUgeXw&%tyOTu$QiER|K3kWD6j=}o@PwMu1<#%!iK3h}* z_mOZW7&H8aX6BLsW~~*0WW%|!+-B>`xH7fqpJp`vZ|%^c3$_dDF?Uz9=bjN${0u(bU6!+JZINo>9N*e7Tnbh^NML=5@%I8?ese2#Izcee2yq-Sl~V!!0|T zQ1Ibi60C7`)h#FEh1iCm{oK4xqC|lO;&2`w1H|qG^>0_Lo%@mSPO47ycsk6J8+OW@ zw-9gAf?pPJ^SF9Q$Z1;)fX4O*0M2xYS|)|D&|?RpGmOe{AYEX7#!F-n6fo|uRXF0Z zJ5d8PVKXx9tK~dfqa%52zA$!i6*BvoKn)V)5h-Nx6IH$-8|ct(1R6Vq^23BG7z1)K z3aw+m8IH3B@X8h71=}%nb2l94qo+fA_(fyqIZwJN$f9StnR?cL^Dly* z7G&kbdM&i>@T^#^J{4WSYQ0b1+67vHkRpzaukW6<*b?nhECmfPOalBb_X!$`1}oW4 zTfs4`a4UiMpeRB7i*PZ=x9IHX$jC2pCc99)adq=z6-AsYW&x40hpdI2mBW$9E{GAZlyp3-wQdul=?x~SEArYQFyK1 zBmzi%#S)bFP`T1hqyVebQEd*yv7_d5HP)=OMX@~`FvXmj8snDuAfPb%n4C53d)HIY zS3bs1_lW8%qbRyqr7L-^KbO#9k_Ug;Q>TnSLo6Zo<^>!)u zWU#~L4-tSAF8O3U6+GK4Mk#cU;?J-$^5XGdLmXxaKfINazc?NCG3;YyUBAykn?#*( z)OPdzaa|=gbabY~@y2D}j*mR908}NSAdoDXDzM<=RRqKu6J#m@iZ5VGKo@53wPchT zgjP(29yxlOh5Qa{jI}kW>;VeAi*%IYm=p%I-JH>o{_qZfpgS;<;tTmQ&a;T!3R775 z7ZRQL*%dRQ2`>Z<=b1?yti?Lo{5AS#4}(Z+Xw>Zo*g36G4uZnfdU3v`-&`zfzdh=p z=^-K}l6<-fX5Mghv3J<7vkXm|_sVqO6=W@Sd72z>d_%2h>FZ~_9*cz!C}@XLKrd=s zQLSXls`D5EYoq}2x#Hr}Hpx`Ud&swpK+!Qge)6oHrlqF9SKZ2Pewu4h^oP#57#Q<~ z`zfvJmsF3=Fy%bt2etJ)Z zD5dqB7aRw2JTIuLs7ipjblhNbfm$N>#f60&EcmKS2Rno&#rbD1JM((vi6(p(tWMV2 z)0X*s_SbH+nb{~r^~ob#1JJx8A9jO`I3*})iKRfSE_$Ixl>gj@a@&AQwsMRP?)gR~ zMK-;dPaBJ>+-0+}xB=hk%XKLs@EgQe&Pa)%_c6@wa=I>h*mdUP5lF>=RT-|^d={Q5KlNwVCOcr5RjP=LC;x``+XJhN2KI7E#&!r zK>n|^>hY5B@Obh>Nv$sjen@AIZTgrLCi=3SWrrvMZ*b*qQI%8Wgk z?~MZ>9-;GA-!ed;^8I1w1Wtp70ke(J<>9oN*fKjUVux>W z4E&lVsC0O_PrFF3r$b4UQn7JOJv*4c;7!1NqM_$KpB^W%Wxr${dqD%QCpQLb5Da0B zx*Q{)qZau^or@D#*2`NKiE-7S8hu5*nlKd3Yqi8(rvKPkb`I=~z{OMv?qN{$Uptaa z<+WJ&-9T6Ru_VPL!)UbN9D?~hi1^V@Z96M#I2PpXY`W#|3Ub#(3mj>X-q}aS*Wt4l zHDn%jKkk6p8RLquHc77>QyZxd|+QQcQ7*r~#W!QZRH^Cn{(tyD`DyoeG>|^OA zUIb73doAc`V7~Bfi026`guJNz{s(MXpqdgAX4|%9t3m)DgB|YlC!AE{R>- zTU7q~s>=OP0;7=n+P<+hP7dI+;fQF5Ib5qO41Mex=O1iut)g}w^lkB1*vUaX?YQ1e zAH?Fp&dB_^V_P|H*DK=#v|Y?No*%2v=2x1VsVLpwXCBrW^)mBYpb;GveTE|$TggdW z*j5RPyOX|OIYOMiFk}7b#M<46MzPFT4BZO?vfGq6$1Jf;wnx>j(EZ3(WmxHSmP}G8 z5E@)5kt-s)!b!b7XE<4lb)UE0ikGU`m8>0-2RTb%Y#hL0lK>dRldUurBk%DJTQe2@ z6&@21Ciz0jpB+Y&+;W;DzAA4^Z zRb{vC538VpvJ(si`G-XuN>HEr>Bp)4Ie^l6=Cb%} zv`ytZ z*K$rr^KykMr8#M2kTLaISj~K!Ew~$8f5@Ghow1h0XZjr_x}O;4N;;!a*>jr#y8Z_u zRXwaV-)iuy#8iDb-BT;y75u<&_^;kj(Qds~d@Yu2-s>zQ0r2oRjHiI4k_fTVqy+CF zP>8d=_F5o#LWXjgF2aC!j zXPuObZ#lfL>y>?%Nq!MB;&xg~%{eE&6J&6C#v6^vt~iTMlf$Sz(WoK#JUX~MKsoIl zkst-Te!AMYNtU`NuuZhQ!3s)&$8l7?W)v^(duA4*etg>&y$K}e~wjz5Tc zC12J#H1##iW%8>a(zdwO#rG6(4EZO)`#{6JWie)F+Ch zhKDO?O7&A}-g*T>+(4F?YouaoQt@i?hPBO3axp>5`ajZA+y0H<|R#6WK;9 zlROxcT!5-49WP{!it~`nfOO{R1_7kbrz5r!ORo9?15pAk-qINl?(k}Q$U>#Z1<}oA6D(~2 zC-!(Ml3>vL<}`Wer$n4`{bxl|@)_i3{y>dRJijIYq|HSP5Ky z5e5HndWavlMLU=;naEK@QqGO)15kW>O)(HwWgs~{oxcbUABO_eV#U#47aNps%tm4s z${0#LliAJC8`dFj1VDHG^izZpwkT2Cp<3}D~_3K>UH5Zg9gfOt*=Q2pi1E1(ng ztxfYS2BO2d5YDH;yLl0yzWooJinR{-EJbs7dG{qaruXy)&tJM689a~VGT44e%T_`C z3>M`ue<*bds6Ci&9%q(%X0l`vNndhnG@3+j4yAB?v6t1Z#^16P?R$WqVF7#|B5yKW zUx6=c44o`}UPIq*BklAY@}djchqb{Gu=~$!BAD!7)d= zuI|G7z@>xN51Sy9obl#FR;^XlNi)f*P@y$-b0AF`hA)}MP~*X+9D3^cv-hx!CmeA* zR{D^nNWIykMC1Hp=RSBZ#rk2iDq~+AR1R%&A?%qRt?3TI4Q1EQ3vIvh_#IXd^S(g) z%MCDF=`*3#Y_uB#n;}CJCz$-w?+YxLH8Zz?awX)JgyeB^9H z4=<&T^zb+&=NvlJ9UzPy8?oaVCA;DukNfbJYmbw$_KeHP&6FrO8R3WVli2l+=3&@u z-}uq4x+ZDR8sPJrVu-4`V4cHI5aYuRsmF{PfcB1VQlg1|Uq@r_|3%wJl<@NPcT4j> zn9Hq}F>2b3)*Y|1IQpo?c)>#ZpE60G^B01gXUyM^W~$q5P&Ep-x$EDlsr5OF3GNxf zUvCGAZxf*GPoQ2#L?`4<4U}_LaW9k)J#r3})R?A~(eu2FB=X_+_P^8!0UGIAEqf(gk(3Q0? zjcn|4k&=;1LZ+Wo4Uut@anB_T)_|K-?(1IJVB9XW!P@Ab@`|4O^1n5lqb!9zuzg5A z9xW8VkAM>1F4`H%W)aOvb{9t>Ey3k?o_c3qZO zU(L>+gW(M^Y_-l9&s%yEN?$U6Q(KEv&QEpH(>|dUJkSiPoUn!P*Lq{jbHdAlti79X z${#RpPxB%GrHIOGk#yqQ-Evt1AGCvvDMbUXQyjPLbQL#DnbkR{m@rhrUgf_4--sC9D7&BlYQSVtXL{W))=<=Q4{ z`8~61Z*2!dEty6D7L6LBghU`Pd^M2U~jw_1amEiGWHU(PA+!b>*CF5 zRGcL{o*ftfMNgoDGQZPzo2xbuRD?QVcZXq+ez?7P10~{ug%fQ|cin6E9G~z863K&h zjXlQZciOT?J)p(4*0wnTCEmQidj%?gUnRu$o6mhdLsq{DL^xG{HLoR=T;zm<7YHq~ z+fIX*T@rj8xqUux<{5v@hJtDlk09dUch74{&ESxopffpTR_+uG{Ao*Dy0p1I-vL;S zw{4;+WG7JeZl6$`nfGWKgYz6=6)Z6)4wix2kDZ_pBiar_swW=AUu~?8On9a?8r>y5 zf<6k&e(5t}J%>}fBugX+MzPbeUbnt|C>74Ccgy*jGc~otQxb?|W-LNB7PJBMdzxUu zBKm7-m$%Q&$Mf!YBzRvFBg)6fn3!~lccGcPafrtQGLYuW?L+_Tz$6}j5Ara_c?Hvj zEpca%*vHAV^O*s=>M=h3Lo08&g_C|l?yg<0P+OVy zpwhLFrY{5vM#C0coyHjj;{>*G4Gs_w8WyuptmP2Hk5J~Q!^(X&?w*F~*k6hP>QHIy zR@>iQNGU{-(d=a0SKB`!#!w3F)=}v?uL*`f=CNa~^QkXyay@ZQ8B;683k zLi`kO2%iBt1n&ZKVJhEa%MkLoywGYr~h@RoXCtL$5Y2*E#%G4&G;1!k~+oI0f6)>)`n|K~5}CJQR-W)99ICU2SPk;#wL@3&kcn);Vi^=GcxF zv`I@&;wHg0Z#-Z-`T6kNeh_0zN2}!6Wzx`L2D4Vk78<$Rpey%lK*CEN9Sw40q0{H& z6mSph_xKwEpxW4(h)zIXO}A}sG%eC8;x$3$15niDUZUW+eHtd&g)hOY!@lWN1kvq{;r5y;r zIg>-44_V`LzKsrDtDRan7~$mURC)Kf2%rJT5oucqI?GvqRB&d0@cS6Fl$mZZx%xT- z(8#;~;EcBAgNLai+t?esOjX!GF11rfC;e_0he@Z=LG}s<{#HeQ@n&CsetR0js7(KQ zv+gs_ytX`qkaf{d5~I!M#CY-h1{45`T)uhYKaOjTIP-jZ!ZDi@f5=3L8G?Ay8}1HL z5q^l#M+_Y^&b3~3)wZRYuWD+4li`_nCz1)<%qSZ%<7HS%NB8`Rz*kSbdV>4@x2KQ! zw?xzc9vk~TJS&~*I@&5>R0KV*1|gTyPTzcQ-E-h6Rs-s7;jcFqk;^%*%t0_g#XuMV z?a^r+gha1?3g6tzh$*Rg<(_S8qkhSO=ZI9FRxsic**}eZ+eL680=#j0zv1e$hF=VQ z_t9)G*p>(BFBW7wSpEI@atC+rV}~9Zu_&gO|n>fr}lReK?2nfKCT#$=G47@S|q0j}BsqmAMCn z-=GY7OCk%uHR^2zA5oUd_vpOFNj?PZ2RK(KW zk+8?klSNQWC!^xuDgxvI=gI4mQqG$Pv`q3M&5<)oEy9l3(l+MrJx*I~EvIvgg+I)@ zRd<4Rtkk|_GY=(z4ZpiYVE;VPORg3FaAL;3XtcRmFg0ww9oz`P{iK&E$O2>O%`RY# zz^-ihl-zAUxr*o=)W-#yXwt3MmC7vXfOwIWbtY71_+oErY#=D)MVpVk&0>v(*Efx)_vT`@_ek4PC!<11y-7z^QpOx znT>R60uOEs8T*yJJV(mojB$0OB|_Y&!7J#|JcYK9YS5<5raNIMpt0W~acLh+7f{t2Qxw2TJqdL&R8K*Dn60mPSSeRO?=$7gJR%?d zL0Wp3>Hl1N++cCn^?j!v0O9U8E}ITWs)AOXk`(<4?^iZH*OOSS%m|tppbc+1eE@bI zskcyT3=&*uktZ#A1kjQ`9YX)UgyR#RgMD`Jh;6R;4d+%jT_zO2j8f^AO``_EI``c= z_}Jy$;VG~+A}ZG4EDDGQ_15_s(TMT|$K^Hel-_~O?+xkXf%^Ml-<~6&xKeV}6x*vU zUpD^G{8E}##|1{>n`9e_r|sV(a)5X98UP$U0>a0*t{f=?2DD_~3^d=weoSKfh}g4p zh_RchrNsflOSr+zI$hH;^wfC$%=sR-6T7Gasq>s50&3;bCUWUXAVtA>QNST^%3m|} zEzunl4k6|wZ(b$J1_`&dc$!Y^wfFGSp8<8x*JpVc*y{+F^m9G8Zpm+?n6$$WH}cy8 zz3jADEtxZ6{gS)~-0vQbRX|%ZGe|fTM^BCmhSn}~=v)ZqJEn;xysG97!&C3LcH<-& z^COa+YUnuDPw&Z@^Kfa*7^QY z4TF;%;M7^Is4QfSF?wDd;?mH*AR+tl&U;YQeQ$tnIG4UcD-Z)b)?hPH9P-MGqEqw7 zOBo&ekrd7ZHD)Rjx*zDhWEBm)XNF_^wkv#D$lf>beOnVi+lvo+ed|VEg2>QWo6s-y!eh%<4 zLDLyP<_M6@> zC2>8s%$(JaH?T;%aeQ@R1U*UZ#>}4k_Qx7%A!Sd7r&Emp9gjJfv9U zuQI$(qifv{O;8;CE{oF0<(RzW`EEqntf#!Eelstw75@lxSO>Dp-)2B#9u=1^RBOcc zdraWPKEPso6@9in`qgt;IxfxK%N+YhVFe`5)RE3wr#DY4n&}U4eyH> z$(`NQ5gb08#-$H|O89XxsK6d2Xy09JbRs zUu#r&6#y*Z?l)NOVT0m=>_y9XO1U1g`6Tn!V7Zpq0_FUKWzWmOBzxRc82Ujfn0wzl z5rzb*1*z1|qy=54&Tl1s@v2K#sGXhAgSpl@^t_mCvt^A{A>Uxn%l?}E2Rr(rFpcsXy{T*guR*#qk=_aWq!HxKjtFGbB+hK5jh4h!Hc8hWgjvuYBPAvvc+4N~%1u z$%0`Yd+x_Z;&TgF--p}d4vT|zdZ)gZwI=Xf5GT_P7Q$K+!U+8!g|08}9gVCaZWngy zridhd)IZn0vs1I^G~5z>FJ1MS_%OgR4|^VU%-)s##(M0jB4dtjgn=tYn?3|A0peB* z_@;`?{kSBbq@WYkN@G(9t$qp_TliZUE0pV!)?-(^LiVdQyW56Mn<_bg9BFyQ$Z5GA&l_zAcc#N z_ev)fyfmhj-FqLmO&06G{Q&*bx#1Ye&Q0dAWNN>=%y?{By!Y95T$Mhq0r8!xDU^SM zw5~srcXWt%P`ugtVF^e(#M|B?)%K?(NYUM}(HC+A$0!@whXHTgB5NF`wLG~e0ZoH(gy3=^N6>>M9j*||KeR|PwMc!8`_n1=7g{3(X4+%s#1M$wg*Fw9#3?%Kax zK%JcIbcwU^QzP;auGTtSH~6~)r?u(0SgPxaTk-OF|lPo6PyyH!?7AWBP#G36SimicD?Fl?^2CeobWQJ>*(_$Jy@d5~wzj=*I* zoLZ;bR&g}ytkB-1QzWf!4@Ouz(Uzt!$=V-!ax?LR15V0rv0Vgm)4d2nrEePksry?= zijkb=*f{!kt+vUAFWRJjc-a|2*{+*cS1m@1JR*GS4Z&GN3a=Z8_#&M7Wr7lmUIXnJ z=w3PD&ZAfKt3;N-KF;9fe12Q+L1UU$qlb} z6di(G&BE`2JoxZlPCl6nY*=mu2LZBIQW@#6&wv-1U#DdAaX$8-L>t$VYEX;kmE_H!YPJbVMX`KY9a1{!G4_7oA_hgx z{s)I{K}M+z;h#iYaDEBV%MG;r_V6FIcF3%@gujU*f+qxQ-+BE>!kiZXi7^*4OZm_4 z`@vsjSPWz6^FAfBpuXmKEuAzjTu&w}I7paJ`v#6h5;pboaV%4nU=qv6N^`Uyy~HOj zV=Er)1D;SFF6Ae@$gVQ4Z%`5T?yi(y7>KvCyj~{t-H=JY0?S1zmwh3FRD{@yA9`Sr zWX@h??$Oe&n8~CRlj5elM|y^VQ*+j%11CEH@VHTejg&mVHGl9qH~yOWO&QwbDA96N znr>H#yZEGq869Gg6FUBfKxU~ARE1wv18gF(LrnX43w=JsbgUM=8ZYm;b(7!*!}*wYxx%9Jj+G$G zDxp21g;;8*?~U`f-VxCfuemX1pumX`ppj0H(TDEXolIg3Bl<|kem)8t$U8Lg;@EHuA zn1F`fNnS+KTTT+;j5GdBal4&2oTViECEBC#IO4PV)nInoZlIKTpQ_r$!*QSBp?2w6 zpw#<}qV=`;1#NlloeTxml%ucODs^an?H}_kF!?_jLi=v|q;{Cfy1!6!du-T;-=S%3 zPIoqN2{3TZOn3LQHjVBN&Yz6V)sNX}pE#Y|*wQ>+JeE4u z>=qS)Jw<-->IQ>tLEUAHM!rZA-JkgFdA1kI&5Xohk468xY7cyi3nd=)A1#IQQWubd zTPWUILwlW>Q2cOu6V>uIS+pJ+HNM$X(R)WED!9Xz2~jK)&|SLjl9~_twm&xe^g*qi z5`H^4an5X6>XU|dvCGYvQ%wXqL}BTcZ2AmL4uHcG>vtTrG*hy z4X@S~qD4XU6ir${lOek|!twB((4v>6xzNV5i>-Ke)*G`A!tX_g*(}Abnk;ED9o`=l z`%B~j^xDZ{d+H98Pru%|-aqMJ*gE8OX^i>P)_Uf=-@m`5r(Coa)3|PDuTjF1@!qr$ z&c#eoYS8gKCtxw;5e~oodeXy$^WOB^-AfnN7URxytnRnPqurQ6<*6TY+P{gNJBrA5 zpC2sCtAWm}g~-(l74-II3urVXj|dbv)6wp!12IrP`_&S7!asVGdoTSF#0z&2Vn}Pc z7@w0)WctI=4-Ww1pwaN?i`Zw3^ZRophl?~u>sgN7 z*BL;2SSFpbD_Nn#ErZ*pdbCtVzaJ@pd}2Fk^NDerL1?1Jr-=B?6(7}GKt|cgg+9sc z+?;>rxvg5!I^(Y&P9O<4>q*F@$A zrNdyt!{RKi3sG?G*JUL=&l;I=R2G@{-DW^%408jmX!TGR&8>C?k+l;3eM{d}c90UY zNtB|KD#KOv!#eSF5o68QnW*#KrH30)onPgq`)Y4>^NQsr{~=!+F7+waxY&S1D7Y5M z1t-q?5YJ+#zzCtN zTYBl`Y-H8@zO^iO+J?qI-PUz(Lr?$u4uGwsWR*MSxVAm^W3y}{H@I&07;7pFfdXvr zuQ9xR086p+N-bH&5h2jQdm>!0ovVCX%kH+*#BP78(vsbNB=0$M>tB(*>0UF$Li;J% zIra~JoqRa;5I#E}i<;Lwf4|~g;ziRkg#}Fp`flt!ANx4WM_=tK-`Z9A=~;Fg;rxfdka|%z4HkERe&<2+R!uAYwSN2B zs_W_Cs_tmv#P*Rq4P)bP2byo#m%n#fPSdmkY|6yNsfzCpRoP+Ec$wlv-BxwRpF>!X zlB$KytU40d2bVWOtD-2ER>f*Pg{uAmQk$K7Uu}0dugcHW7$G>bSp9TZCXQ(C^^wbH z{J%+2=Y4%bzLRZnNPTdm`{;!&|8~L5I^KgOGbS6)?XqOvQ}{v>r{A*V%Bx(8?A|!+Z2Z^E>w@UTgDvUeC>R_ifTmi*w0UN&7zb z`r7XuNQL<^Wkq?D3-6*Q6f5j?Op)-hds6VF8T7)f7=7H`Msx`wz+-3;bA6y?nD+z)tGn^ z|G^(56LYwisJb}Xz{Ge7<)SlDc(m~fihDTNTA7EX68#hW%G?5CP7 zMp2rUC7uk)7d-5A_kfA*^QNUHB`HE3#!Z-?JvrImA{t9{*cJhxY_xKhCc6_qdh%Nb z?GWk}TX*S3CyR?1u(@!s;^+d-Iz3bHMsFyig;G8~YgxNsZECy-NwGhM{iDuA!>2n8 zZK^vN0;XBX7=pvBx{bwRp!!}E$w#48+oNyo*&7`$qO@MpIw79t*65++)!8h+3{J$3 znaqIj!Q7L+r~DJ^CbKwE?AGtL;GB4OU@c?BB+ zw!hU)xO~KYcx0K@Xx9Q>*Pr#8k7EJVsDK}3yjOkPAIsp62)MBCfrjGCLP?7Kmht-( z%cbR3NAnL+zx?g%}{XLua=Sm^nX@Femyyh|Q z<(Nl!Yt~XMUF3!1=X55`q>OJh_p75P!z}s@Sw|0|XWt1}_3XqtX_ggtxEOk_RsbuB zHvw?H&&gB)IES-rRK3*~y@u|i;{2BSs0{_J8Ehf3eD33dli}=Z_Ws0~#DF07r#s{r z@rDqOw8yc;Zl%{(^uJ((QTI*6dfvf1_8Wz1nWXZos0q@1^-TE@fm(=P>6?Ka#KUDIqMD5DF@3_T9Nk8}0AN&XHw``st4j1$y zEqx4l(>@cqC@&n|F~7L{`SXwwx-ojL3QMps(Va?)t)N#X-SVmtJ+h;%oNYinc9Ihh zXp20gs5o=2b9>oIPp+gkO$|FDI?0FIaid{L%FC3DYNGXZ_HlBO<>nQ@$)SAUzw=+O3O#!inJ1|JZA+XTZ!!+6jM>? zU^s^nCyfk$zdDG6j}FHlm0&xf0~5d@ak?o$l`iRLJF=TrN~7ndv1$I_ehBwr`&%x`Kju-uy@H=H+rQAS!JWWqCC0lRsznLii@kJ=je875o{5d? zYB2vftJ^c*^p@Mf1ZxOQX?7kyss7`6{`&F%Ztp+6#{YYJ|7j5Z-`M+`K=SVgZX~{+na>5?j)l_s z+^Iky&`WIWRr}-rkBR(vj1rq!>wO3wV}hHfr?ek3s-AWqRqpu1dJozSAPl&5bGBWE zfov=KZ?b`Z_nrUkU`>p|HM*`SFjW!S3oD9s<|OrZYQWI-Sg@QRrEgYt+LW;o(j@p#bMD`kv1a@y@)-j0 z+I2P-*_Xk!dy!7U54qBb=ekE-CgO?__A3TZUuBq{>P zAEpr_QIsO0mnqJF~j$p59At_N4ZJ&Jc&@!z!c|LAf@Q3yEi$%o$m;<;R~ z{ZEtTuZ8v)1qe)U&po?^%;^4(UjO0XpC`-|ER68JO!s0Gyj z?ZUx@KmY>5VWDvbg7&Yw`EN1hUq41t0JeX^Z4&4vE`I;pg|irdNc9Syy*F>(_FwV) zf8Js{HHyMc{x}Q=DLL&wUGJ}(_WdR0BP9(Lbm!#+i;DrC;{6 zzl-kiOO79&T?b-5pS@sTVtAe3zfIx)p)$lABM{e(_t@9ovo}U4cZtmzeBKP6m!wfc>ZJpYf`S7XTy1okZabW2*Z#;nCgd!!JL#`?!JWwGx9e{_3kOIv>_|81^S!FtT?H=XFxQ1g2p zx}rIosMLijsQ`yuYTes;iob>|Fk^hVVu36Y1si^qjuEw{jbt*m`{*R%?Mwc~&tcdR zk%(?H=&5&~NSP+{`UCeb%OreEp(*;j87qVq5cs36Wbw{^8olgXa@h*h;K8GtW+7cQB4f z!f-MJV10NGBQ~?>NG#zQfY!yUM!o2Ib{XyJU{aNH8u#Dkzpw<5a&n^~$^lycq&_A? z1ys7=)-e8eynP#=av@lc=2ZR{ep&(|lX#m+>`%C|<$GN8?v;-DcRXhLG)N6Pi+1_$ zCsc&42S(HsI4%68@I!4{(@ak9N6AbzR+Z9Y&GIEGsxEL3B;Q)y(eJHGvBv4WC#*j| z0BtbeGE6KGJK6spH-EHW-g5nMrbQRelj!8N3tSYrok(<8)x~Y9@WVbib@SgXav+)h zvqY^iokv0#*iAO1C4Zs^2{W9EOuM50LOQ`p4?Slg7U4;78t(Y|k1y)`OQ;|(%o(@Mo^EYt_HXHW~XNCh$exfk$^sVW*CNwVwk0oeIwhtOES_X&-ewJd(HFDJi!j+Q(9k*v zsxE83>W}?0u?hc)Jxak%80`vMjs-;EK%ZLH-6R*QEu2aLAD~tftAfBr0zsV6@p|r}iBJGw9};?{ZM%E6&t=nZ z+lDCJ?@y)<64>*n5NQ8BI8y{);fkBl3q;?g32g)e?wfw}J#YSe>SK~8=?v%47FT^6 zBW38Tfj5es{x*W|?wag&PgQ{gDz9=~E|<1nL;xpZ#1t_T$W2ckml8kz;#(q%el(qY z25RwI+RVej0!PCyc+`7IBLr9>4U08X@Xb|sU}l=<#oWl=RLQr^u`5LdSts7Z6~yi7 zYDcy~18)&_5ju-rGn3>ij(VlQO&4F ziCC+Fa5Z83H?)q%(C<2i4=^)>soJRq{Pym>nr3!}Ru?EsF4eDeEK@0X*o{#sJeEfG zx`8TR$tSXeLyAO?t&Uqf^bv=cav``h=rgW4xrBUw%P0b`&J76&=UC>Mf;NeXF}-=_ zO&8Y~uKcX}0*NxH`u*_HlOE{?#7DcMhUp}@l2Pw>>&8coaFxxIFDdbD+VM^Oo4k&- z=!9mD{84X}#gh+tWxcd&)u`_E%|eXZNMG98La+!??hwyF)KKrXUKuXA_1<6ukNHRfHz<{vm3imbJud*;AK`{`o$MDgLyF**qkTDem#hIusrcXZob)rk3 ziDYbl@mphOlDo=CxU0x~PgQ<@&TiFK;c;ZvJ9BSiAg*WqOQ2pZVPn{GIt?McteAvr6A}QtDp0R2B$$(fVkk+@!~~ z(qdoE5m#xm&vAb?vu1QdgN(RPc)p}~Nx?g6pEUWSZ8UyDbeWy6*JQS%c1O3^NFcM5 zVz%y%Z8%)u2l%(lL#%z*a~`#lva$3g3Q|w6lCiHU1@stuDs$WP4+t#crzFK=C?VJ$ z+C|~PP*1L)(a^}u?B1ajeaz&!2)Z+Knd#1IoJcqUi!P1eU44&@m%F>WWW!`nu42m% zN{8rIF(*Ns2g_guuWhDkPt4cg2El%sw8i)8;K&}1ABB->8COVfr>V}9I6}v*G2DD) zTpJW|2=QE*DG0oSJk&>Hs=#iORhG&R?qCYq1o#7z*^M7^y7R@D8uZhQsCQ<*&JLZb zejRZg{2Y){NxPTsMqZLBc6+p#hP$#4YH8eg;|ev;P6s6GkUbKk@zoLDI!e|q5w|>Y zs|~kIUgoTEHN>2#mn|9xKjst?X$CR7Y^)KNB%-SX0+c2l}nNaiObyZOmgx&MAnf5hbWEJl-u%Ll2 zkHs)HGnv)~rI+=}ee4H@arf9~HAsi@?;Ms)ZrsN}hsJ{GKYsSoc8)$l9&MOvohd?& z(reM<;Ef*9dge!bN@cZhUlo>Ngu73{BqCJ%Ok@Xqy;I@!!63=Ux9Aa0sXmNF>NDtr zW<+x)9$dsxet$En%7w@HfGMMcbp1L=N;I(ikl}o9QtnTVm#9-_K@8|_j3mp-rNW2g zNI3mL`vOm9UBX}UO1iuyKSXiNkDS9FafvSqO?D)(_(XmJjUdUnZ0-M9HLNJSTL=S> zZ zE4t$P6~#IhrJ88>_)lVMwG+ZB>=0W_rD6+yM4lF95!C+}x zW%-BMSUWDNC}(Dy;}}TG3vD3%ak+`jN@kH=L?s z^w;)eyE8Q{0)5Z@Jy7~k%CoFbOp$yaplUTxXp|PCPC7=m%MOuUzcIp_WvQqN;QJG+i(-umiOi#M7xg=iXNWsq{satnqh@J55* zqD>wcnb3NyZUog+!35Dk3{+aHcb7oDyp5cf()$_uj93c8Xnbn1(3jOIIlv?FC-bzq z99i}m+1&*fA@{UP#0=>O(QN#|!pf|%%UJ8TO2aeGG%RmTKJ)JaL7uNru9NzOGO)|P zQ$(nfct?a_Qonw}TDmq_ki2;NXcve!u>~C415bNMGAk=v1AiUK*}2|z#6aEBlcp_; z)Mz*R6U3TaHCtT1Sv-wU#mAMvVzafzgNOG|_6RB(ozX4AAFc;D*i~CZ%9|yAsTUP` zlra)&9@4(R*1QNk-LviR+T(Wz=<4^<7oM$e<#>;t`bwh8$Wg2U6NGhTAX>KJurZ6y zBFy#Kp~YNb!DtYcxo}$(jH5OGN6oHLDN$$PBP$zBLtp?idUTm?eAHA&Uu``SKr<#; zZ5n1c=LJa!k3VF25pK=CP1pOxX1{3V_~cO$WBH3Nl-YP1yutW{ml>~Sk3e$iJlX1Y zKMzrsd21$M(Te|tv-(pZ8KV>e90y*)OISQ(JX@kl_}8VqE>dnzIKTst?dGLZG<7kz;L?&HkXGeKHjcdoRG)F=jh^skh|Z{wlpiscnMsYvz$IuXGWnp$+`xgro{lHvH>fZi9zCgDuGcEq1!@EhQqSa{2(vMGEqZKgy zP>n?w*J!i~I6s)0tB(T=zW3oHDCvJT3O>(q-T@-2Bcxg%92Yn=9(P$zp-|TBJlG6a zO=WR5GsC&8mos%Phi7HKeL?FO*wZFg>y(XeH>;P{WOprGfj(7hvD@%-LorrvBP|u< z%8umL3eeTSizK?MNw&gE6=YUYXsoui$Xi2xLgCMktTBmoG^dJII?Z ztQxmi5o;--de%`NehQinp-%90oU3T+~?^`h#Y0#23?ow6qt3H#YBN`Ut;$+M=PP zRj+g7muM`e*c9bh;TfW3H5?q-GsG?2wm{gTvrM?oqr{UwVhgmyOkG@Ub+V z-Iv+ndil*WgDsh($F+3yh}+labNRu^g~7*M+PBz&7zf#O$@ z99Q4v>3@$0;y?+LyhFH+a)+0g6xdG2=l;yN<_xAZg;r_yI;VQ8(jJ~As+{0T9n9OG zn>C9s90RkU)KlSVcvm?UKL23W|1S9>$0)Edj%s~)q>J*Uf!imiJ#@Xz2QAa@m$DZA&A(CiKrCni?m|Jjr!m8ssVyK3vWT z`OWCYRPhws8{)t{&k^Dg8GI#lOuygO$wzqNuL{h%Zk$!-=7>!_gI^x;p_w?*oD)N% zHQ1^|OJ3XeF7SM;wfp_1%DeXko=o*{GLKyGZTL>_$+v$i2(@nj9o0y{HxK)!V!{Uf zB$42Lf~FC^!MoVj^bKd8 zyug2J){8|nF26TdLfUUV*1W)x^CeonvrVzx-r29H_4Um^T-|-S;(h2)5P{fR!|U&V zZC6@vvk-C(sGIxZRXg|i)uhh6B)~tjOZx^4tOy(SVpEJF2s_M9WxUW52vYtgt z6dI)^RG2GQ#61_qRU-+z?yX%1+VjSKk8q!k`Z+%hsnCDIG)`PJ!;KPAq*CmxkrD6Q z(=ONZwR+tQxq829lIFa3X5M&E6(w}sHVmUL{!_$NC+&C=NyQP;DzLWj15512O8G1o zEfxtZG`uz38(+LIUV35X1ue4i*;i^o&I4w>>L>^Mgylm7Sy(0Czjw8plmGO(%g145 z#h2RnCy7T}Ehasg=9A6~(joZ#jmX!bZ-TRRE}cRd2R0-U&Bw$}!Om(df~qW@&GAF& z8Wkg`kBz^G#f^iHs;yBQ?a4PZ%DNY-M zch@*+G<}Q@S%De%u-W2xIbEwENc7yqLz^N95lEgZ>j`;gAAD=Sd=J-baDHN$h#qZ9L9I>%dM;3%TYIdFL)nb>0>KOq8c@yrOT;14&I|Ve~3( zHOWd(n|WldO5l?hUx|Wgd4zJ&ILz|HqrJQBjBTZC-;o~Ug&3e(97^lL zQo~bw68$m*-`>OXjvr+R?61@lD&-mK$-aMGjxSF9^{uP?)?nOttmtetuwA6QNw++**I?|qN!@~KF{6`P9KC{vMrZ&hxk$H80vK=BMw$@tsX?YJ& z!+ttAjPlPlRx)z>S7LQ>R?b3SIrd6Y3`WCPAJJL;rLxj zO8`h+fhP_IJhFAGIr#iR*Qr4;cjPYbvEm!)P2QRtCN*rP6fRw(p6>-yCx$g%TvTlK z&%l>R~aut=}v(bpeKuH9K0L)1O->jz;G^?a^t?3yfFx$tnvn#&@ouDiR`)Ptg|GG-osImHh7W0#y6=yORbis50I#djeM>j|7OrMvJN+q zzxSQzvM{&`zr++!$AMqsF~%jH7+VV%hhHMQR=+^Z6sbl>cLgFdIDFEa!DCdN4I}5= zBrZ_R{y}nkRYV8urwp&qD9Z z8z)dPU_clLvU9#~<@HCXp<-<_>(G3A{sN8Gu-8Y5shYzgzXA=yA4Ru(&WwCo^d-#h zJW_D0$hYgl^mD*{G*m7+!xc7#i|$5HLaa!95%hZ}V%*j{s2BZ^RddA!O5e$F-iA5H zKRXhgcGCWP;W;L0w5jEWrB?<8_t6G6AaLSLxY4Bx`~gPuvO9i#5JxDen>becQ$w7v zfa?=l^)dbCH-L*)tn)rs@&-}LiBY!2v;X=ez#fDe*n@mPL0ploB%XfM>tDYlJV$AK znAay0#FdPF--v&QcE!s`2XkZmT5&ztImj3_L}onSVv`B(FUNU8evLA}bD4jbf^>7* zr?d|=`uF+f!4yCV98N;6mPtMrbO}oU_+YEk=zsid29&K^zu+_&95KDs`Sp{}>sn#u zVaJ$5|HdI>Am^mkbVB^ik#3gLN5`2@f#S+d7p$u8;(9L&)yEJrHIkW#=M?zS?kOla<~q*j&-ij`J76hxop;~@1>`9 zt6j%<4in3G+!gnQdft5pin}RQp9!K^8&^Hr~f^W%kQf`nthQ_dZ%aI-z+5&pkh@wyWw^;dd=$& zXWgCc``!5KQ`(+VwvN5u7rwR z32{22Ni5TuS|}b~#)0d$j2&6^-p)0gO%_N9dh4sFoCHogV=?UC&rtY^2`uSm3fiyx zN1hCJ1x22}d2+N?2>opQ_tgATjIa7<4n{7rk$XDvaK4M%P}+SDGHuQQ%iiWLil{@Q z1c>k6So`@8zT}S(b)EN_<7w8b8wVe+QWhv~&jfzG*qc@(-n(Qg`LyPeZ<=zMHzT-o zOY*UP?9V0?4UdTeaI@f`L*l%vSJbMjLi`jLR0KU7rNM*u^8}bpArWcZGlrYTlu9j@ zc;1-Nw4!jCwHa{u{ef^#~mwQ`}e8+fK|d)pB8B z(H97{BBS8C|Hs~2Mn&1Kao>n2AR<^GB7!thf&v1<(B0B4Dcuc22-4jxCEcAvNOw0w zGvp8hL-SsE@3`;1pS|Dptmo@q>-sQ@HOyRdTxTBt-~Twd>MP32jlYM&4b19uFjvv* zg0T#xMi?mf;n<3Ic?!J51C3UM(X37GK*r)kcr533*b4Bjv~XU&5e9>PZdaX$O+Mag zBT73SS)&z;+9?cd=DVDgg`&+Q*)NSmdtu)3Rvmv!6L_dZJIkj#Og!Q8JsX(&*?`^c zW06bNIoOXumT1WFd8Jlu9wtytfE4r#jHdkF;>M^t8OJ&K2X_H5Ex+JBrkV1VxbO+k*a!d<#!4ky_lpd+3Ym!Isdg*#|XI(Xnxg!IKA^kV2 zx^nAhHlXe>hG4|rM9baY;Vh8PTI&rK6zl`oOZjx!#(>&Y*W@j{=q5wpE!ulhdqP#53fxPVxDfRaZ0;p`y&f8RAp|fjQnNGc6j|Rsx_1D~B z^6Ka*5X49)SBpG%!18eBJleI!m(-TWxm_#6OgpqV?c+fzHhTLq zvt>5V94c=spxDFcKm|~b&qQSgPHNm&nK_>Tsqkd?roG~)uuk@)-AuPxCGJ=vpn4NF zDI9W>GWS`$5c}pv$Q7P4-=1ysbVcsf{5i=T!mFQ>i9#X7AS0!P@qoMK%)iqn&4g07 z+7QvP+pMzxs?b;U;uzN?w(1nW>s=UAe4}=5GO?k92GYC3@RLAZ43TpekdL>u(Pq)8 zccw6#4h?p9pKF+(Lt#Op*Xr@4nhTXz_CBrQ=Jj|nb=iA64UdgsXFN#i=B=9hIM z&>>;>DFm@@2W0SRnr!sj*3Ig;Puq&r(~>f!qWRQ1NJliREH0x6I2e1h+cZxn2cnq1 z;l&L*U<_d>JH4B9XqXq^`RbTaRPuY=tGK7*o^KFbvHi0ixwnn&=)O=+ELvBLYg|Yu z>Ki+RGu&XmqNpk|!SeIK!LR+l_Q^UFw?oK9I7)L}6U zuP6L_cT$~k`hD}fg6q@5)(QEin4G!eYcQMHFqc;23#mdGt284LzpyZ8!(S_lSA3p%Ud`-6*z@p zd5Uk6{AAb{F793l@_0Pwh6ikTg2pKeIpP`o-!UoFE*nOW%aXFY zog|scL!WkJiVp0k+{>54-RDxy;I%obZ}>9*GC@hMGU5afrSuwS@^#>hzP1b2S>htJ zsY2&T#J4lx->($Ge@f-m=bqZpD_7A9paS>TpXwN|!J&GtjlUw^7oK~vAgf+Mo~k`* z7pG>@ZMWYnL+9ViI=>OE_-gGI*0`qh^*ho}K zpdfd)Pppr;JO38JW~{8mYCc0cS*+!tdL5ZAsJE4gc{rg~)$boHL9198W6otdVIh>X z@|g4{${#A$)Zp|g(oypEhF|jo?H`1q?6%K|>UnI2NkMt5_DBVY1cK*KP&MFp_$%$2 zbk%}PlwV4}=A;WdM%IWn8JCY~2(e}h8(ud8i8|dUsCW$%+Q*oCMK!+9F=3o9Y98P^ zLiWa076y+)G-8I75gA@UlLgjaem%7d-9_^oQ+7Sp!{UW|)N!C8 zKH<^JFYBvJ5uf7w_gnqihNpqq6j4SI*xgacX&aR>gcEqv(a#yDQ!6_#h4x|+8J#9j z4E`qR@LuS3CmCh!yXm#tBy}3Yb`y5d)^`z{(gh4)h4YlS{^VNcL66Yu6~Aa)OQ%(s zwZTzUGBdAAI{NcNFv8PyyfI_`t*?zSV>VEIvA%(LtIgpB8r)QcIdL4F0)dX?&Ug}Z z)nrUDxI!h}$3Z0h4s5BV+(p@5=KzL#<3td{t z?yE4svJI&MbL!x-tzZj$ztyAvb}bSB+h*VLAuV%jk5`Z##?n^^N53mD;oNWHaCb2%9c6+Bc`esny!y zb4_lubiR=i@yudCs#&hmn&OHd%Sx!^!PV8pNw`ibnDpB?S{uN%1JWT=5K4Fxa0IY3 z1qwKa9cyDyE9?&RVK@<|8EI5FdJ(wCO;M=i2}x<0t!a!X`Xg992f=B`Ol`Tbkg9{V~s;R{@_p;hGf286_>P>$dlE%AEbZWrCU+y%+F-IRDYrom#A# zWP*34lQO%6C~WKlty#1^0h$NQbkl`S0eC%(Q#Q?3@Nh-rwV`N}$zwf#JN+Q$oY^mGftwkRkr~Iz3E7BQpv%6TI&AQN7 zaQU#)@3Dqlme}*m<~?Agl}CIBq&$!eV#ItxE~6u2UCrse)~8gY8C`E&-Vl{5m#05N zGsn;y^hZZxZMj)5gpBKLKNZb()#SfCE53V~4prFmc|v1Fn0Qq81e0iX698(8@)UH2 z$J}uPiQJMo*KvwXB;>T0U+ZWopDnSgE75K&cLw6GuJSlm5*;@TxB&U4b{kXk*rEFv zojAl?5w=DnA_dAPd^96u;vTd4oTrKWX4*uclp}vCB{LtaB=?l73?J>z@qh_t%S4-_ zb?D5!M|8i4d~{6~_PO0p20_-xGuX!tUu}=s6qxH3;wN0#A6)5+KOgOWhgO@TK20t& zv8I@BZ=zzj5$9N!C*b%_EaN)Hw&L1B@xE0J@f-@5D?&MNZt?j9a$z1heVXDGNTNIn z8SsFc*7QB>b|9w=GtaSF%YH$n5Gg-EiKAsm?8x}1O{C`}{~wc5Y?SAh`si!xeNzud zn!9#}I-r7!yQrFCh_6gzIL|f|cRE&lyKW>14p;kMNm9xOGHhxUK4L8sn8~0`1C6l8 zVgJM9g29Gbfe}~qY{?^4)yte+Ye748zA58=2&?UMHt^6*Gpm}SL3f?j7Q^~213zF?ABK;eM76FM&^ZeUH27r5@sRN{e zbQ<&+rv2bg1mT}Z|G%S+nN+vzxqBvYrYXsPeW!=XZ;ZbFHIc-d|3g&%88bh`?*N4& zzC~e^|JQd~O5VmCJel#0=08U9ceKJ&eg`NV99HJ}-``pEJLYg_+jl;HX`ufaOOlb_ z0RoNS$gzg~*LOCv{EoRs=%b&1i`l1~7b6yXI1_Gi!jkF5Qp&i_Bwele-J4m)ve>L8M%6wo~*sK4-S5D~1Y};!ojvClm@#Y5S0O>E<~Gdv2IBaVG06W*QWvl0MPo%4J0*jOY89 z%ohZqiICW$-BMvJFF(Y_GBO>%9Vs!#&eg2tgT2+Id4fUa31lLFWAF9IP0kNy%ECIo zFmj!EVK4E+k&QQtX>=NAjpoX=%oOBqGau4S$i@HRaQ*wR`tg<+Z}+~oQWN}c>PmyD zqJFW4C&+ae`}V<`#V($bRfztPeHcHfTwb+qzO14eLRrZmXhDhfMzT1$t< zf$I$>?$O;#En`^_$zqm3ARd41WvR+4?+)^_xvTZhKn6lpU%Ox)5!LpF`@nd4AM>>+ z$rdi`y>{F!1ES#zAz~L{zGD2Q@rqGo5kiR@?&Tum7T9$m2g3>YH2N=%{2B`wNi*Vx zQuB%-j_7FKT~v@ahizN}KFG@~*(GIWx9n6?uIJ)`S79ehAD4gc)nzaYarxeDSdrKgJ=Y~)%4G>2Uj^49l?p#01u?$Fp??y&2)LY z0tT_!2r-DK{z57mPU@7Cq8pa{g%r~f#S(y{}jO^y}1Uwc98)4kjIRPMvFOj)$|ZJsb0OwS#tLvy(v37KN2=Y-VwY% zHz-}C0eNGoA(J4a~b7o*wAVGZ+fK&aD8S}MH z-W@n|yRtS#1)!@goi4rUlq-~_QqRPz^+!%i<(lRU0f_{kK|SjF+x^~EDPRWl@Kie`LgHtthaxmls~912A#1^!(>6ROlm0rYl` zfrGp0U0uVv`t#?+YbU$22G)Rjk|hN6{yagOSW=eDc`C^Wd7ze{LCkw8naQ!u_j(-# z>_So8d_fjVqw+6Va;QpmXVH>aw!vYKlIv#H$~F5C$!{qF+>C`h$D@pz%52XbynjRm zv*=y#U+tv~uJF?%2dkzBsW;em*Hmz>J0poyF6PCE*c=v6uO3=j?Nv1Tl*)d+Zf!rb zyYW0fERO8lL2KF=Ozn-(r`5as)oo7~UTc+cKOid<4;fVFNbZ>iq<|B4VYmi7YFYo_!*GJ)+{tk~|8RQp7$k9PUmq4`@=Gu$hjSD$ymSt$Yu8$>`$Ft`|G#%;er7 zAR0%~#L~0oB+|hr0uOXB+)LNDURu_#zvw(ZiRm~t5si;XO^6gAWVMI{62-fRDvWh@ zru2eXYm>47OH4jRMIyc)#B4ByV#0dVpaf|#=HLA+btLdhnbo52>7Ukcw+rAzd z9e-odLs$L-i~e~N2Py2M0rOqE?(_-R62iMcMDn0EDZn}@OX*c-3sg0Zje)eHTvbpb zWbui9PdEFT^owOy$|vA+r`XZucmVdTEq9HM*5#pS$L8%9Bp)kYp@nvN#S>9{#s0HJFcZo zb3d7LV%|?o;~0#8>K+$KQZi&VoL6W%TRJ-PtlmZ{qWva;go!hjHEl@#ilOLZhP{p}cKt zebYxm@;}HZA9Mu2puYJ`n^*8M>>nJcRQ$*mO3+tzu%$0RsMp)g`B zUtv7ROVDMO!A*j9PNF1fwJ$~CI|8l`MpubQO8K4zSF5@q2eO8?s>P4}4et@dJCF>^ z)uuNp(dGVYYrQd1$Ar}{r*}gd>nmfELGWlG2R_wKi2s84^SD4*>GCps)&VVXoivJG zL4stJ6YCaoeP}%10#NJ&5iFcL=wFfr;y$=l72&LCA1|xa%{70~MW98Eipj5jf*zO` zl4EWvV|2T@U+v;-vN>kvQ*NF17<<9QEB)WK0&6LKzy@-V=}T_K)7a!#J7_BJ~DmSaH?a4YxY=#W7KQ?zk~xV|BlAQ#*W4mtNjX zdbM5b+)X9;V0(L)6CAPNb`ft>?_eJ3-P7*<_#wbdGpMB3e6Tpl(vv|QXVaGVQI^KbA3H#`XZ^`NE`yn_FU8;*vXQqb z?$b4Ch}}`~jrL9@Eu1i)Kr_XT3VvtylMO3^_vQ^d)AiCD$y~Y#+E378 zYOCRMG4G8l`6CVJZD(MQ+g4XXkG76hyCZ0j*j17^+bpI!G4QFT!YYI>=MSw%uc8FS zV|swZf?fQ9uCRFfgSBIJb&4~ZKq$A{#dbHY-$mRf9)La%VfTNGm*&1(cRbSc8DC># zW35+Iw^C=R5ox^{{Sr`!Oa?wBe-|YPx_keL-xiuS5wuF&A~-Fr%(z&y)~o7Su_jcQ z_-GZZb${zi6N56d8H=0U#!MjQE47Iad_JOH2FmT+l+JhXU5`>)`-xR9zJkg?aMDs zaI~X~dE;*E(z;(%J`@^tAAqk?Xxk#%!PO4e%v{VDRV3P6CaZ9(4%o`6+rnSVlJRtX zGI>GYZ?@HUw(jlyhm(<@{2q|=4`(ma4>x#=Ln&0fH${e;D~$kaZvj9I`)BQ0I-hi~ECj|HOQ*X* zUd4;)vv$4DH6N|F1yyJ>lT-G-_IuIWQfk2Q z*L_HH;vb2MY_b=mAXN1ea->`5H3p4Yexa_2&G{JAY=e@5GGo{CkJJ-AYM z>;49J<;@3zJ30^OPOu$#pvCHxaEQglV+*_36$#hxHy4U#oL%emtXLAARlzSc(&YI6|D zI4HcFLCI2Z$2`0zD*s2uOO^sgK%6M06u0C)ZzDyhQLz=oTz^GTJ|X_74Ag-lB^XD; zQKw-F-{hDwh=-r z+;@ppn>wl&gm&t(+{bEmJN|St`hA&9{A-2Prup@@nddN&Ud1cL$a@%C$Q?Q-&^b>k zKZehb(08WV#7V{pJ#EXd6K}U>vh%#5Yqyem>KtHxoGn-f<$*zB0Fc!E`3Y5C2KEu zb2J*u#tKygQvveiGLg+?OPMp!S^1Q|gsnBRl>b=sK}Th@FzZ^K;n-qvFuBH~HQC}X z!xrS<$CR36A9W6e+>65AYjRKds9)EdCs&#TW|SGgpoQGDBn25m^Wvl4nyZ=l**dr) zd;z~9ywnuo|BsThe@mqeQrs>ku&%!UfSdZEQwOp_@WIQoB;TXl1}V2}|H+KM1szyL z<$EeEI|9ZsZplR8JjMBB7HMm@I3+H-&yklE z8giVaZ!cG-Qsqj^B-OWuih`RTyiTipa=>Ofmw7dlVTww1?NiuVUs+JZ<92CxQc$L@ zkf_XY3iF+MG)zSM%zk&yn5y}Oelk%ZQVlpJ>KTK4vq}}o%3Fo}TqPRqEEL6u%KQL> z^6fqjfQ85AauFP^RjQ<@!Uu1Uupzvo%r4{i`Ow@yN!cj)`|7I`fhWXrWbU^Wlx_bqh&|;GM{rr;vs1uU%-L(**)U<^*MjTwc#$$&fGIJb#pHDoqiS6b z;tFCgt^R%*H|p`7K;$5ZHjCh}tD*5#KwDXTL4b*|(19)4?jnUk(hS=0oJlbg5A7AN*NNIZ(lXYDiiMBKhvtl` z#$R+jmE{9%J?dBHsRhEd9~f%r>qf8-Um*ib1GHp|&X|Bq|K`6pf|~yq8hqv053n6> zF)q~Lgb0H<^H>Yrj=#+&tZ!ZJGrB~*3s!w(XA@t=bnXm;3RmRK+yneXHSY(t$tF=L8` z0~-x=H?E66j{8eyrdT{*s;)(NPo>$!Y$_fNwZ;rOo~4}-6*1tSrZ*ha7@9cP_l29E zUQJCi+zKPA)lSQi0^hTzbNrE(_Mpu8fV^3yd)V&?<00kDG}PXDR}r* zrn(MrrSSgvp!9fY*ujtxn-JLsp;12e(5`H#esI%4A!O`Fy6vMB9vGlthIK;4X~yhZ-GUIkW1;=9&nzV-spPa3|IK$ zP~9}IdwM;;4(u7ec|AQ}imX#DtXsd|D&&Sc@`VKliC1qAA4i@udV?!A)(h2`O-?>d z@2?0|ep#o;@IUu6{N%J;eYnTTzPs$iiz@4n;tJ#Uwqui5C=w$1PS!jFkt^&tZ}^&a zIb+z+WVzC||2`yG4S%4*tYcS*skAQEe|y&qnY@;F>Bp-zT|3KL?>YNv%#SL zP`)pE{0y`5Y!4_JaNN;|J6d>$8xEkd^e}15HwZU(mTulOC|3(tjp5^jQrx7WP|V1x zWS4DG*OhC_3$$uQs}<*M{|~w&Fgq;Zcek3*5gz|VHNTbKYHw4WR)2-9Sqrtcr0c1A zPCw&SmeuaCTkplYemcz~mj&z+$u&DnnxT_4h?_#XPe;!yYCT_k_>nqRZ1VIfxC+hT zgZK61QeC!=&!JZ|W*R0g>p%)86)>FPL*vWWPRtVZP0ASw#Zxs|tFd#~KBl?1=Z%jP z3R}#hNj$4CpXNJjy%E_h--q)n(F8Xk!c)Nu6knd7OB3H{=yU|-!u798RChVe>rDE6 zj|kZ;dKMZl^k#xote1a@CMS^z+fSFAaCR0nP0PZTv{Em-nz`+ zi{r0pu76%L=ul~PfSm=#Ms26Lm6=~rj_MF59@rb390|e;k{;vFH2HSeNt3bA+y(7p zRKVC$JdQHzb>DnUgIe-?*Ectg;ji_IoS3ReAmv|xI?z;r)%K4QBM&S}iI3W-#>=ob z1DpjqZ5%NgihXGRnm_>@pg@7FITuH*o(;!0fwP7~cQ3AW-JLEa$R$T$s{4#{z%4Y~ z?X5a}LK~w*0`Ty&`y4*tx%ZzH6YU)S;HGth4QlK@c!Tv8E{^O)qu(n0urA3fmdVWv zv4B=p+HMU=rPc!=@#cHEss_n1>nZ|^ABnY(4|vS%&v;Wp?WBYqcz{g};ieA1hRKWl ze%$!?4ox95HQ++M-h}pqg2CV`3;+@%f}6;fId(H|&R3^4%{AI2W{T>@$ir1ciPE_KMbM580SYK57EKV4zUVN>oddPp{rM5(KMA zyX$OngQ$VcyXS0<7*x&Vuo^u{q<%pC3W4B z(0hM@lbyVGHXdbEu7HmE4i_CPvQBmZZM;ssC?C3mtS zcwnO@ydb~z%VvG)V=Ea_xY%*hdftZ5qVao8X`A_S%L%<>q=33o7ym2bG363&kRh_& zvAL%CHE!S-r%wipdX1yXj9q2$EFhokCC|Y8QB72mbZtxvOo38(5&B0z*(viOrI%R= zGvari+O%L^O|+&F^iCZ9#r|-+h>`eX5fl36O70Bieva^0SJH8ZFl&xL48-cgxowZJ zH_Kb3M<_*d3Lq;Yw!YYoh4EU|L(p;uEtNV~AM@5j3M>kXl+c2H*+dvuM2JQm)_te- zzIXu2Q)5x>j9ZOK?U28;|g0CLmK@ye>N$0v6X7mrI3yz*?*FrNUmCi4*D$gvw zIoly>k2BQUduCeaWi5rLBlJxZKdMqu1eGbKx%Y29Kh!L82qt%{cyK&huKXGWg$G4c zfLDIN`}($wiUYKG*y-k@wM^}Y5_}`@LZ#YER->Pz=!k7v?Cr_Q{F^BK<-3@Gk?IZc zS~Gc|HQ5J8ZTI>Oj|S*Nf}e9Q`rC5>njAV%=o_+%jwx^lb^kN8qH?$X{`Ka?32e1& zvIJ%^pPMb!X;3lGQ8BVHYrhv^73q5H)Dn6mGRUyo2PYP|J{q(!ny3ogTp>1hE_vHr z_r-Mim%rX&T-r>be-RA&_ktsv`I>nPUS~jR1xT^=c=8J)&OEs1$&u*AO<0dHL94(K zj1+7)*J^V4@L!Lih;b*t15Jb5@>uoaLj=x3`OQEpH`3)@qp`cUvmJ=xcQ?uFew2Q7ZsWTas^l?m?xb)fET+OQgWGbS6tcXNgn zo9V_j3z@!6>%~YCss?TybvN0JJ&4*pcU@g9rf`|4-aRZ(R5!TkZGVdp{-s=1&-52C z1<0=5X4GyK%Ff+GxsfSbG#ehszcbfToKCy(&tUEfI_;v=2T?5UK_mj;XEnD~dSEXM z8q>IHvsgPWYGhj;=-=ERRNo=%rhVkC5pm0IF7+#wy1?l&E&|-Ill}I@} zO9hOn%u&FiTlMrqG*HVq$KO-@aMxS3Ot?0Lms;&-)I9key8XPIt2-gDD^(gN@?KbF%M zefWmpsR?~_VwlOK#aHXvs5Q6Ut>_BplBw^LiCMeAMtBWry_aV5*LB1AdEnt>VXW1>byN5>L>|nxp?{IAx zng;06Y*&SB1#0|iDu5OxaQ(?jY$E@JF!J%5SZtW0F=|UP?o5*!m7!(omcmGsh@hq{$z-vuiM+RfH*4%h=nX>-ZbGT{82+3a zU?V>S@{oD*bW|3GJ=Dt6UjF`{vu~L59#jw%+YLSpk`3C$8F%>>9BCC?VghGm)+sR4 z!rJ*fTqXFlab~SaHLcoh!~7_jPZPi`A?Tz!bSvC{DZm48Iw|6}@W9ja&&S9378EDS zYmV;v<2bYk^w7OP2$YOKi?MW7Vw+-jVcH#%}ui@DTs(gy_U$ik{pVA{$^RL)>`3O=IPx5zMm2V z`g?R*qNxnY8i(DH*%dsyHAV$2PZd%6;y9+CwFOsr2?q8aZ%-a)Nsm&F)MuO7p^%n5 zHruvmO`Q+|cajyH;SVG}{i@q*K(E?6VaD3an-K&b6P3%;!*sg7tR2hw3{6UUHxf*C z3FWU5b^`K|lq^7Q!$@yZSUB}ek@(V{VEmpUindSd*k%>xz5Jn@$?0;rTw}?4e-y(t zB{~gi;5Z!ziDec{0Zh~qP2YPT(F8D%B|MMb(rGm+t}|8@I+mT6_-0w&lHc`Dl-Ay? z0^E1sKx0p2wsaP}`LXqRad}a|=BX_Ixo8z#{O+OYRD~aD>gGf6uDYOElO8;9?_)Rq*9Ao_Zb|nF!bG#x=UW;>6=1>(K$3M} zrupN)Eb?y4eB7#JYn13+2ff!%dU->Ar{Ks|=__h5wL|JB*@5BlKhxOTiyMp)?=@_v zhi2BlQ_>Y<6!d}4Yr=|JjSu$n21X69oqn)6on1V@CVVyu)a^|S&kTjU`uMf_ZL^4X7PlhNSpH{mv(`;Bfka_b znNKDI>hS;;K8?c<6aLBRu-8>{@Khg=d<_T?Tz+ ztT~5Wp~5w!T7}G=EpmG~Wy-aX?vblu#5C3_vOP(O?gRbS7E-guR&ZxgS(NJfa<a5!+_#`N(f4&|Epm>Av zpPqM`J!LRwZOlF$rU~-_d&JFHK%2r_JwRulgJ4YU?o3{`(``sD7uq?hr~tm?03YZ@ z%T3oU(DJM(f{o_PY*~75g01gM=?nJ?~DI*?~ZY zQPi^Eu9D`^)vC`Mk291@b;PQ9^0e&qLXh5SSsRR+50*%S$2szf*23qX&(%9<&0VOg zI#E7{W^f6`AXi?Z@sK#8Dd)Ieo?=ow<8@&FSR6p`M4tAQYpe!JdjL^j1eOv-NK^LZ zh3)o<#-;(4e@TI~_8MD{Ds(UflG|}Y6otY$PNTs*i8r;n~xrYB{A=DFLax0 z$@pzioLUSPEpM>w_5AZAdY;SqwRTz)|C^@yCs0u5T^(AmFqFldwqU)i(ux!ZjR)mV z*J3XPN*WX(zzF%Mj39ESl8`4nOgyVG?5Ma3l;@=WmZ+gOteM$wJXj^kiF z!xPDZm+>Ry*UXytP55qNnXH4J{OKeA{PDkE_hItD9GKElA=h{LR*?&MJQs}jWlWbI zsl14dKigqTC7mdqN-W$T<11cxye3ZU?~E5H;N&xPlSPhkrPagcW95Z{;qf0XG(i+T z2-btEPc&0y?rWIok{fqnzmid$uitv4bL5Odo&rR-j&S-84XJGI!|)tq`*R(-vvI6D zX-LYMkLg8|M&Ld04&YH1s54Sy#$iFPxPaum~AU$u|e}vqAM{~@Y z+Y>kqaHLH*6qZ;F`Ke{SW(!7t^VRA&p>h>D5DM-~@L@LS!u7(l#JU~AUD?qFlInSY zlwg`NldfFuvJWWGllY@;)E<|kh!({a@ml|t)1}!dU9&dspO+Q4uW@;ArxD(?o91Yg z!@o@;J2?X3WKRV#*U{V=w=OQ8HaZJOF}jg&sn9)HliXMo<9&C*XLo`2RkYA2?v8U~356k%<>misS6XnByAHhj>fQjIC=A%EG zEkv2aK5kE-KD+GkIX&#kMbnwWSSFi8AzyyrT9O+3DQarQ5VR6WQs;Q~!29~$ zS%-fWe1-~7u1Jo#R5x9&cI3;L_@V(2b3sO}#&lDV0q~go=%b}10PP|jz`}a)5?OQT z@r#nCJ|&>u!A1Ggg`tazd#)h?Bd!kqI`tFz4CK5o2*x|6f6DmG^18fQz)egrO{$&F zWRar)csMvFt*KfUDrIY#v5Z=BKn2>|&%XAlP!y(gX+CYJXWJ^*L??`P^Cn`buUj|B zB*~Qn_;e7__Fz^v_iIfAGTtVN^i1i4S*xEkYe7$CVpn@(SysSP__CFOYN<0?C7i%3aBHyi&#`bL-Nd22#~1@SGO@RftI-LV^pBftOr+-=hAcVk&I?qAPs3AI zPwZ67KdF0j-2v)+4W8O;-{HI2I0@GN^e;E?J5#=w4 z9}=2+L#s6WDBHm?C(~BH@#5apUsdgU>@4=WsLA9DxU4H>!n(U1N0= zqa3!M{lQ4i_iOLje7(bFvf}_yC?%l%VJANQYY>>OGltU6H~>J3f0VM5eLK^t2PXr@ zL}^i=#KLX}biZ21jRB3#?~8Sflil@m=S?&GUAU0!M8nUgGch6-y@h#NRu^TMi6uxk_-$~OjcH9wDUnj>6qd zqfzF>pJh$-6LLIUIf%@*O}$%1d7)Kuc>w|HYMIZ~(eFKm2Du0w8ZfuKFFfH-sJb7RcjP?f!Jsk@uy8`eSoPbe)NlTJ_;8XZy> znvOF*m|C$d@mg6|MnUr-i~Z!E&kdn(_5ORN_J+=y0Cy7rEUd!7OX*X-V zO4eZE(AUWk{tm+n4HzMUAc(~cH<+)F-1Bs{)%^QTqfP2aI_Trz&VFoYz+ayH;xZZu zqCRejID6YgjG*^GWsnq8CYDCD*HHrpjH-K+d4R>_xnnuTQ;e6y{2j%i!$&JFYer9c*Q_$0YLNNsMe zDeX|dSH{=gEJrMO#{S#Ecl1<1F4?}BBNWPQUIW3yRx3eJ`|iiUD2Nu+#YSIAe5 z=fFa;(SZxpAfD^=$|Ay{L~IGy2b~2UTw&ThQA`=(*{R+!7P%4a-Muc)%x0VTEn=LH zVM6^0ADGvN=-=ewQJc=PDdyw#=NKZ349pfum!Bw?o0Ih?Km@oKqYf56*zA#VIA2N! zFyQr0t$pWW3KcvT9W@wEBkT0PXB+)7%v5m6q(QMVK+#7C4?DI{RTyBg(*cWn&g?3a zbkVD^bWyHEuN@G8-NcEG!g|KH4Uk!qkpXq~U-fP9f$Bs`Mq34EwoB=oNUixK5kCmF zpoCYt&x0Jgm9EzHIiKFIoqKLVuT$R+iamqJfO;W zr?1$hlXV0K((}3Vhc_5c)$Qlt&o*J{xL_KoohkVO5nf~U;-3c>ZBVyk=YD;zJ)05O zmpsDq75W2Yo?W&kb8&-c}_g9tjlB!jlDYf zVPNFhd&+Jfukz*k&1rW(I->RA#4W-_W{MtRpkp`!i$~;1X=ri5Gqoss3h^2&g+h!d4#U1Fo98 zp-9~%KJvl3dMVO8>2uw$RwdiZdg2x(eH<@B_j4=vtEfYr^YP2lk3CqJ^~jy^z+fA; zYKyNxy7xxT0kBn6toff1kWtS>})hQzWxKVSj>kP>7=X{A=H_)j8 zYZWGpZ^9wcqtNU@nXG{4Uw5c28sl06L%Gu2SBMjHBrl{4Rw^2DR2pAmA0yrgP#(M0 z*1GY}vRPCVFcc?Nnv%6!Yi6=LAxH#+Uq&Np$Exha5968pw;GcQz31z7b5qPn>x;&B8? zBnc>^(w&!{W?z0I{$w5WJvfOZwc34fAc|I)HGdGSKo@jExI-k8Gf7+S(=-_O<=Ol7 zP7og510)iG*CJfJsn9>5QbNS0^UjUlUVhX6TTIANe39Wj4)|D=6Up#(S83$xrkU1< zLX}F=@j{jMuc7p(vv#}UbbYg8bSY&b-79wFr7X6g;1mPYdN6TdJv7UP?D|nnKTxH9 zvwh@kWAXmRz#VzBtS5q4vKNYyeF4HDi4ra+#1V=o)8HPRotby}h^2Ig$&)BH2dQ#W z7d{Z<4+Qen7Y7MCv~rpJf=yvRM_d;{bquLjSY8|c`l>ay6!aRkiUy%CS;Lxc1}cU$ ztBusyH>@}Mq;4~95)w*g`(8q`c)_{I<}aSVj1;n^k&k`_iaG1#-wf@qIZzj!25&UC zPslYmS{dzC92{Cah*ip;?b|x74Z=6CDI)X7-*Rjj&^+9MegpR;sO-6Z9i6W5&?y9m zYaR98qheT@$Dpg2by0F!`sFY}&92#GxWCV2ofbA&nB~;;bTuS()NrsD?z`=H0;lOX z;s3F9uHzw`YL2j}DiBIu{8VoBRO+8eir@K*SClAe#C(wc?sS1`2l!Qv;v@INqA%95 z<(q>W@@74s#ga(EEi0dlmcVeZ(zLKc=%ZCW8XipSCKl5G#{(f`Y6!ZbC-wTf`F1?O zjhmCGXKVDF_Ip3MuOv}vVs~dN=le*dF+20FbOZxsfXp^^A#P5QX1$bdr*tMzK(1Ry zlYFrqHTslzI68kaLJ^VFiMM2DJRapm2<3FzvYn~7fD{bqlliJuyUOoQbCl7>K530e z#wY)%P$cgO6nQ1Xf5hNFkG+u5@ginZ-JAyDi%2C*JOvu{E|Fow;CBeK5RxnEQj=89)O zQkSGOJk6)ahiU{0pGmi zbr*A02hcN6Da7K!LXs~7ucylR8D3j{(fndJUq9P<#y#y2Lbt(;_g?KokuVhF%Sl5? z1+>-$l>EsqA<$c`5^y}6qwx#4BjCEmb3GL$ourO!bu4al{lRSg@z^npVX@Qb=7 zY~ngqv#khe1Z-3y&nu}Nic;H``5&Hd!^=NNDc9%EV;s3ry@bH)^sU*EPvqq>e(aEL zT>6N&in*qJ5nKSy4S5@e#GiJMA?6nj%HVI^N`4x+&`&s?Rk1vM#^xbt_NXf_B5TN^ zJL%rl1AVc8jUaKu0S#PES_49ziyuw%H1)U$1vx%Qoq@QEeQ(sY8rx=w{#6Hk1$^oRtA?@>97$CI zt`CKtSkBlNo!B!KcG*l2#~?bH{8fpj1`nA^IhD<~ehw)TDNK_k6_cs4_>q_1YH5#k zUH$L}PF0+i{60Tiau%i!%3)IF+`>C|1*yReZ)ox_=b`TV)cq?!x?A)^$j^3+=-5 z7KUa=O{F92?0?$6cG@lOS(ak5RmScmX48z zK?&*ZF6r(XK#=YZX^@7Y85o%1IobQV-*xT1p7;Ioe!ai21{Mp>IO2c&f0dKU6f#;# z00#`}-tI0ghJmModskm^yCTKin_Mm)4=_ofiX1NZMD6j|u+;pb;4x(-1!xq~GYE(}Hx}n`=rHZrEZA2&kVq6r4yXTljcU7A8-Ec2Z?L zZMC;N`Fe}Tb}nD(uI|cY8=Z4JSbf}E#&>;%EBTH4?D@xsuIc&)422u53^$Z));NW1M{G6M`Vi;qw&7D zSZJeauloz*ax2sCc+Rt6JZB*1=PgTAiRoaD&ql%_H(*9zYQB3Kz~#;&g7JiBk+$e4 zJX4*u4X~>7rHg!7-W=1bOT8RIkZrAABH;|=(^)ksk-{;~NzQ0mEWr-Xdxclg8RF-P z+tp4w_f$d_d0y0Wx>(-Ue~I9*Pw#F}`UaVBjv6oGH+q*zD#33yoEH2Yhx_gYITocH!Px(3d^~uVdS4edj#Z#}TXVhsdDmL0b4IfQS1wf3 zh%KD7ytF+P*ir1?pv~GDH^CGGH1sExc<@v{+mGHJ+Az72t`V~7;+Te6JnP7}b^APV z;8pD_vxi!=`a3J_o)~#opUUzFuKS=41Dc${bT1bg@)TbF?qBB>?^{>_AJv@ zuCdNkF=Ot7!&^Cjb>MD>d@rFCbNcx)OG6&ekVTSl+tIPJ0`&UzUw&1z=Or9fcV3sd z_N-OJ-YZCo>dzgE^KoK^6z(HzVRPLvsk)zFA|dMVqqe-^7qf%#+iYxvtxjDO$MZ08 z$Iedk{L*=|guJMVy&^Z91keW&xzAgfsk*BcYhdlqH*6*(qVXg*tpV*|k)pQuf(_^O z4oEZnPgUx{8M}*Z2^tN1SPJQ)%q->d>&!Q+Y^udcOfkL7sDY0|7qL&h$}5|w-OZ+RGJ??@|KeLRZ&V1}UO z_1c5N0gvSU$_L9IuAI03(D|B2K1YtnCl1w~D7U+NHvI}jhY1+tOTfzPHb`3Lu@lP) zG;Z4a1-)Bb<60iG*sr3aUA`ObSJ}}7e0B6WEkdT}u$r|-J4>pEW&)5nop&CNYk^Cg zC-z#lRcGIPxZ+;WtM?|1jf&39w?2-HcQq_TPI-Ho&Wh@Lc=nY7?I_j3{EN-&G;}%3 z_^S*7?dGF#?JDACyLrGR&;|Ajrk$@Kg7NI+#g|ux(=WC+)!Y3$L1$Bc%cQ}E0 zW0WZtGv6as|205`?gwb)ScL?*{&%D}@_a;$QFrqws~ppkNe)X5DzBiI+}beH{pN7g7K)H_DMGL1BklnXPr$#2t=hRU5psAud&GuwF}JtajUPj)6M374Y6fqAeWm98AQ7r#$- z4sej``?SuFmiA@ebICgrS|6ytTDeaV|0UaJ=!5+(@ z-SU8a2K>d8x)!Tnzm?HhH#x1TOY1!O6-j^2%PWj`=EGL1k<_p9nSIuqj|)*6oxJO1 z*>s!vPpDCDye*=C>!>`mQGbrn#H#Wpv-YZCF(7MiPH4}#rPV?+r#Ww|BB`dXjbM=V zX5&-i0dMeRUp6X(A7&TRsMyuc_8Bp@MUuAp;A2YBNABSX@4&1#8Yb0g*j69OkDcRo zMm37Zv-0$wn28-6M5f0=!IG{Pzsv?~M_qT@@Ugl4_y<48?ljb`{;GP$Plw7rRLM*? z*abCpqsOKvewHvgUE}|~f|kz?0G&NMsz~Q-Cyc9s_2(^H_zykiMMiPftmK+fCsz2NTr2^|G2t2!3I^2w>Hq`X;HwY! zeN}7(veT+v{h`mEG96tR|K;~)R!_xfYU%t3J~>w${(~7%M+Qqs-}x4+G8C-2vt_+j zO<(UYPsrL_MU|DWs)dOl?1{)f-5e-n3)|=yyUQ7vwj!I2NFx`67-|*J#i+*z*^QE= zGS3w1E5i3I8bl7-q#J7OCJG;399f?ZT9@4cbmU2(L6!I7xi{apy59CaCnZ36=nn18Xp}#cP z$;Fva@oH;k(%h(MFw`(DUy+<~IneYp%_LNq%7oA0Xrhglm;{?JZHgL|-3d@lG4GbAk&I?gyQFp}sFz_O;7PtI z7~~kf-k1AAtc^zTqu_;tFj#^&Py_K7zUieNizR?Nw;y}BfA9w*w9o4g(sehi<-0U( z3y*&4qyuARQ52&ngJls`s6|+;h-{N1W*6rvQGesYR>&#(i1wT-u}tW)FP&j#`DJUF zBI7xz{gt=5_YgnEKSxTX{NE$x=yrLcSVMWof-knh`{;t*azeq!Xho5`UW&W;B(&d5 zv0W0@=b4zPo+x7F;Vqke*VQjp6oMHv$Y`6w9rsa7?oqr~fVx*F8l5JwtOSApVBnJw zm0}^*x~07_fW-^6&i(0?PozkkwXV$D$kpF(B`?@my^?JP6u{&ioIag z{8nMOma}&5>;?!h0j=x9j~fFvu>Kh2X!Z5m*ZQN`yJxIcwodb))4dmP zvmIMm7QM@^`t@pQ`3hhJh!K%wG@Yg_zIDSP`*5+BB;mu8kQD*EETVExH))j6p$>Vg zuvd;tgc)8}0>B6bKAJoax*S`hQ7f@S4USoYdC``_YBq;hE6T90jcEV#&P2n2`)sch z#Df#l&I;~ze3_q?KA79;a3Owr={mYzpZBIhZ%qqSmIJMGnOa(#0~wmQALaT`s%~hc zo4O!=PZxS@o+haKIv)ZopvPA}HuDNV%ZC$s$mEX{7e8)DaLZo(EynjbQHw>Z-KfS$ zWVpi(5JMRqlGF%`BvrOr9L=~^J~0?vKLGZ=Fy6SI=>n55>K!XXnw4lmT29c?@t42u z1Aq&t+1^@TV-9#nIxUzC8XG!Rs#6ezf+@aQ@o{^V1z(-6bp^t4N~ayak5$0eXpW?= z&!(R1wA$t3Vf^0q>$E@Y?1a-luW-JQxVvUp+?e6*8*s^assef!`U zFf|k2#fxz(N=M$w_ywlwP3(5KsW*YYoF`v+I^g_+dqwpr^)EKb`JZc5rr490tk5Wp zk+=eO#O~&coH!Y3xel?rpUhv7D|4Na62c)Qtmc3K<*)gdd820R^c*(vhs&sx?E8CZ z+8n1%R8JSB(?9*FORn%CZ6?jCkRb~`jsv#uvF|(F*bQ=2%s%F5d_c`-l5>Wh{TY96 zu2G)WYq^5-Q>)1Ce;EjE4jcs9l*_J>cKU??BQcFOmZ0zueM28&`ut*7OlfA;@5Jem zZtfPl+Q%Nz)gv0)-`rD8C5&2UyX_I70Suruu2O$6MJU&m4&h0Yt%6mAPDw6*z14V_ zhYMd5FXvLgXwb*E+KF-{mTT<7=3&n?C^bn>A&)Mik-JSf1a#M4^_Xg@udDjwpBt8Z zLG;KAf=}Zhrlg$Ym71`HVWEd^(qGMtPZF0NIS#Qt#cL1miK=*Pb|@ z`{NO|el#}5!v9g#KGK=i#SBTtA-7sjU7tkU>an>q9bc3`8muzxYHPH+>l zZOV8K+u3F$rJrN+Su5=)qUi}Fc5Z$6Vq4a9YaOR7HTV+*9d-JTKE*{!eJu8~ktaQa zcCmsmZUl}lHoSNprSgV?#7o!Z4FYF@z$KpQ$R>N``TbaWTzfx~l#gO_K{9o_eaf!A zQ$TBF{TV3}WA@5#$Smq|vE(!7OhKnG+=z>g{*1BFGaduINhqH45ztuMWFu{}TY|i5 zN@OSw3Cl%#u8kMGK%}vjD4QR3Epsij;F|qwRiM0I6^ybo3pza4a_=toHNR*EAyDOd zUPl5)u2fLd?4IY8Yc6G8NaoiZ>Bx7{tSHA$FXKh)#wr#Y9qs@lupemxACU{wZh)Q9 zyL5ldp;%#kK|bU5V$m@AUu>v0J+2`w= zp>r(e`@yW1fW4SRDzAO~ytO84L8*4ljyk!ZVY64BgE{~%*^WaPFQDVY2W_(zD@sd` z!h@Fj9I63Z`B27xlai1eF>gWE6O}zl~(IhFLThBB)-3y?G{jGYmjDP55V*Fj~ zS6E6D*f%7U8$~9Kdy5`ODqfd)Zg(SYgj543`_+7ua;JJN6pG@rZnYX7N@DuD+hd!?b{7 zpxO1q$e27WB=~1LPqCWPba?LX>D5C1L8z~w3txC}z&RF8AR57b`~n5EOJxU0>RsD1 zPv{?(2hg9XA7EA!7Ozer96I@Q$-v0Wxa(M{r#vLi@qI(+5FwMjEBtT%vw(PIjLhia zNN{F@L0R!>npi1t-oAaBT0cIOe0HSncEm zi~%%kLVt9kNp*NDu9#Bef1YgPwCks`kq4vrUrwhiwbdiTv!HdZrZ7RDOc8cuI}_Pc z=e8s^(`&6!_SV@NoQA6hMy{LfvAJXx0<-Z< zZ(X3f$Q~9ECzN=7r+IScI%V_Oi829zn@&l}>(9He6~lF%^ML@%ejEKA++nVL?^W`D za%q0@0;oS5pqtr+XQ-sS5SeU&+3#KtlAeDELY$@2<#?dS^gRb5M_vqUIHu-we|YP- z(UZ&IA^~n&yR^ryg-q1=7uPA?S}^lvSsal0?u*2Y)P3%*1 zSrsv~xr3VJ6UX?uJN74OOxlluvMR9GL~f^@-V1fR|BmB>NoK}UQPkDQ9D4sfw%i_A zKy=*{9=-glP$z!C%POHO<~B-nJ7*Wmbl>Z$k3Wvv|(80 zzV_l54bWNLr6u_a*kG~T`p|>=Fq&=1DGkXVE>$n4Jg~TaJG|hW>j|U$u;#uCvFsw* zWMOL9n~Q}mw$hha;3vT9iq+#15Cs7{SG@@@@A)>`z;`SvNt%b%iY}MKBf*I22FsbK z#Woo^%?iZ(8{C(~<&HRgoGzr*pA&Ea%uC$>XtYM9)EzR7Ugu_GW~GWLvI&&eY_k*G zxM*$|DaUlnDCo`9+~K*8m>kX33m}p_%^{qB>fSu&00sC=gm}r7Qya5chN4=PrBB4 zSn!u%${=e180k6Q=xpHu@PQhyF z-Rekr;yw8rh_C0+d&ZHA&PAVm-P5p@o4K&={&OYx@zemebbL28S}z_z72zG$txZ!C z_Rp+Ae4y|a1^ZaB-0Jb5S&Ky3xWi(m^cq8|5;|pfT<>2_o5!Pzms%x2ge05oVzs`8 z+4uN?CRHE=>W>}1b9>oFj#-Iie+W-CzjHCsRJDxvz?HX$2mIjqOQCDh;k25*PeLoM zIaOD`_zGQ9M+Il@JF;_+ zmco1f#nSyL`uBXKKRQyZ>J~e77Fagax~M^4sUcPDUpYdTFH8;M%nOluxh0xYb0<~c z??|XL^?BU3`CyIl(%=>*tMz^P;`TGKz0ck}o3likx@(30osjc^joohfz*LpZb5}B< z0o}%zA^Fu$@Z%+Kbvp~n*pgnvcLk>|@NxdMPMIpYuo3h@qSWD$+{ya$G2c3L2t6?W znEp}bCFal1hu{$*r}Jk#b~7;sk4rSIi;SeAU{_h6s)cJ@f>MPMrL@L>tH<+yV?~SYlKz+9k znz&8p9Msh*Qh6*TyggyugTExZUi~aLnhQzq79xRaE7d0^R2WDD@$XUUUnnnaE|x8# z67j<(bzZRC3v?ETJZ`7=XQzCQF#*C@NS$sNMETdF3D`;=SNXMnw-SluA+5oePs(p} zxF=B_&b|~eDz5taX@7Z9pawg;J=aKbAH}~yO(19Q6d@aC0HErTFbx7{&hfTCHs+dC z=;Zuo<>~Tp4FJ$4n*rMcPO22EAX(^>y*2=VeZ~(235}T)+$MrR#ne5AC z-uhru&w2r^ds9pJb)r`_@6ECWsVs}|Y`J#& z?^-J(t-9jsD02HnqE5Z`Z?&!~;El^#%L%2XYUos+D#jiaiJ+EnL!Bp;@D)RLyX&ak zl(-j0La?i-n;TAEdW%acao!zNcW)|NKWgPVhgPo0-UrvcqV*YO#895Nq}%}d3u|a} zBkE=jz1$Y%=cSbRYDEOiYp@=#Cbmb@!16H znY+=qrB_v{uj;sH#)hfi!)EP=UA5&};{tfh((3D-9AUNJrLhEnM_L?q zL*^`NCTt2q*v>&Ok%!N=H>`O{ujl8R+W{=5OXDu>OLk_(d-#wSJHfwD#<9QIG-3+R zR-P`LXRL?1eNBk*`kKUkum8~qME+6a$mu1z>&Bcg!(D+LlsRN7F+Fx>B02woT|&l^ zu?TUOdrSg2eex{q+07UHtpOsbDg1Ia!&=oX@>Yj-PxOZMr~v|IxV5O6%cPbJc>~Jq z9Cdw6d*K+c?c-7cPbpiWiH=(BywYy=05vR^lhQ&_}FpW*H z3|_BwXRN-?P#wApcIfTuNNFdiVj{PEk3@#TqEyLGD0Glw*mvG$Bozj&`BO!zf>ZgT zb_TcCN5ei&RrDIANgmOTBaY5jt$#RlA3=GTv<0wsxpXZbYybBNvH1OB)Bkt@06!=D zdqZBq6O_4$M}9e%eb7ymL0KA%uvwzSJI$_c0q(@)eCs}iyFP%)+dV1T^D6hgl^`dubg&DNc3?zyYT(FP?pFXa-latBR>C4y> zQhhY)9H-bSSl17Va!zE6sK-wMt}c?sMC1Zy+3a=AIjmdRhbhtW32HNt$sS45kc)Fa zF}#$~M5VLun&;FnBZJN=-EY|7XK{?ryyjK9&AzU)KW2M`{m%~00~GwIdjTDwzoV!z zyBi>sNFBi#3l@5KeyjdK(pjm%hkod4qdP)kUR5GTz? zaN!uG=;Yzqt}{?=bXFX^AIM-$ebRh$9d>Z`tbe;N&~FmS>=g{;lBY0f7BiqyEMOB| zyGL~~+_Q_QOwstq_6<9&MBjB@O#zuTQ9SE^TBO1*vH@zMQd*-UgLHlA6i`9~^!oEE z+%(~j+!+793^thu;$r^b#I!57&;LTb{_$-P18}wPcOn@;&qp8r`;Ywhi2dI`_>brI z-_zrNpW#0htp7V~{&(vA-zUpoGX+>1eKrhp;^~8U({Zy1T~T(fOCE%f^;cOU*uF9t z9DIlqk$lY*|B66;SRszC$^-_6)@2BL%ceHi#Q$P3sKumJActVIcx^s@DFpVVmX7#1 zU984S0YlutYTb67n!yM`oiF58`mPMr(t62v*sN{vwwsEpqXIGkEy9*8(3T|&hq@Fy z%8kLx3(i3Uk+hLsAP~X-y4v9>acnuD%hV9z}}m6qF|W@iYg>X--VUTW^ZAv!3mcuU6a6 z-}fA)FQTUW3;o8#{#ycNA&0zVM(h^i-IzRf7OS0rynz<*iC>H|N+5x1#^)pffd~J! zZt=(#Q2hF%|BqZNh_zOLr%*M$Se=QKL_d4jf$BlF70*kH!pZ#)l+=sD;BH+LZ}#|7yisd4&MHn8+7_? zgN)vg_Zz_UyFMD?dVXIVo*_|KfkGqJ01U3pbleY!`y>&V&|1)1b!0m~4ygntC1vD$PAMjSpLG@ne3y==khhp12__cgiafNYA>arnZ z>S!vMx#xS+%*`H$f(S(|6rXq&?JR>^NviKJeBHnD=gY*V%w;+_O#UtC$_E5pWTH7Q zEjKQJv{(csNB!%&*bUGhim8VWHD4VcT!V^dYty~->KhRVTva?r7=dJw^VxSC6Svzx zj7vVpN|3ud>;xYluo!?PvOXL`Ro3Iq-Ekpw>W4Wp{p=2W}%ZNp}KlJrX6P0!v6iCDX9 z&QYqbquy>$&&ZoHlGf`ZF#(I1(01D@WY~0LXM5kHxc^hr<-!gqrRSiVOk;J5BJSK zr|FC&DsWp#`)E%RWUV=N~nfQUR%z)nqaH zbg8nu*>h=KfKX{HcKiA9fzaPn^!Y~VbaH;Tpzo37^7lP`vwo9rx7UT5k#=#{fgjDU zJ6avs4TDG0g%p=sT=LTd!1;heWCAdOH{-h4pULl_KnLwu$H!$eq~rV;)`Zzjq99Fkw9rLvFKcNq|UM zew1`Nf0f-^7H#!V%JIii=Z&CRtwx(EUHDM5#U4E>W(MIKPHPE@pty_8kq(st0(&pF02DAAED@qLLM0`UBD>t67VpKY^G*`6lRYvNdq|H#lvlCw#u zU_&-JhW30+kpco6HMLKZc;%V)erLxI>tg~@ym>`6Tay8yiNjD6$JXp18708-q{gf5 zN;9YoM9P-?vIUkL&+#8k)nfFI8&%4wh880Gf}x~)3i%sj8X&kb7LX`rOI=t!()pkT z@p{T?(5B;3=Q6KXqR*yVmq5az%{X|T)s!GEc9fGU;!}0J0v`TMf3Ka&wL&k}TVCo@ zr3cQKz)GqV{)pAA&iv`VQb2Xy6l>23pibd--V*kplCT!>PUq#Rvt172H2+Xxu^_U- z>U$Rf$GdesIbi(5<<0w2)T1-Wlgmpg73&%Zd7xbpzz+XZxyU~{4D7|(BeuGI-Qd<= z>7JL9Kz^s`48S|s={t$7b(<$^WXoZ>0?y$@uyc%Y(Y@4OW%< zm-RLTZ*j^DTD~QOy1w_xYz(`xX4wkZ^c=5#kK2S9O>+~;UFoV>E?f7aEyy;?=PDd!Y`hR{p5T$TupoUY@W;Q|6jT(Bt|F7S)v#E=Kk&>j|ApK?31dw z({xs4$TN9zz7*rn8m3(4!`aye%hkoKe?@a}y9Fhdf_4{IzVl?Wo!1l!gL5LQ8b8gu z0&MKhJD+g5jP8k=31`VZ1Fuq_iB55iQ9lfY5_b9ewgN;3mUu^Y+lr8->KxjoJhu_s zgWs*a2TcI2@GQZ0sye)1WlqCS)tgSGC}s=nseV(Y!<`Gbe2hayJj<4$TbECV(>Gr* zD0F~~vKPxuNK;{sCV)Qb)k=|QoXCQrS1=k1o7`KhfPqL@2Tkwixjw8I>AQ?{M$HHt zjrq!}dHYINs%(RbAriQ#$#;D0Ii^;x>kzo7M{4j;@yD0iVgJ!R-R%VXh5keLl+kUj zXb*CnJnczQXI5ECQ4h1JU$vjDW3NiGWi}(AzIYS4+;h}c=8-l!GeDjcr%L$h6Pr%` zZ}SB}kdp8nXNML^5j=g28;tHnaw;%S0B;(mWuEC1WKrXiR%jkGY;|(iq3tr&|C$gl z>UAtGcVu@sjHCd5&#)CNUq@CSgpnAJz*aFanC=CY(}Hw6#ROCH^46ARmtx#NWSzai~0T6mV!8S|XB zOI5mIj`?Qw^E~aU05g|cS7Kv{SOo6=+ne2u!#u_8|Y3*#SJZV$Vsp<@6UyYAq zvSFDW7uWb=A&Y|6+e{%_NHp=p$zJJ!H!0*9VD$AsqD2V)h{+P(tCsZQHO1%tnP?oz4!dDK7JTWJBRaT&ESwyUPX>z9!K9 zZ9+zZ0QhAk9aV06cC2xM+o5Ro~@oPx#H;9 zDz!V~JAeAyKmVjseE&LA)QsT7*iZHqJ{)$iB>j|(FIK*Cv$>$M^iIH&*XYny^T2pc zrj5&@WXp1UM*iFx6JgK%%7CY59Xw7Q!04DGL8RIEUUqv+3OC@wyc|M@txYlbx40^Q ziTH1E6$aVHVuN){@(Y^5%TQugan=-`>{{`26WCiwlH;Ep4tFtjf@9-v8IW$f??sdH z#$%CU=6QDMLK6T6AcspKoV7AjR-g^q>feLp8V^$LGkTmy8mBDdjJ%`DA^fy|<)VMn z*K0#n`nyD(i5`8`>LO(@*N(Qd=2Pe`$zh9J!|Sxn&A>1EFh@L7wgC9rTw^Y~&XhklBr9zFEl5pOTn%;~ET z@4HpkNyrrO3C@3v?PJzI9Et73#6?PKcf`28lfzGJF z(X}E}$4te&QD_JCkJ+BYry=Z$T^!N= zN%6cV1B>}1BWvCXnM7w2wj9WioxQZ(e;&DxwK0-tf6HjGVtxKoQLi_c`L@r8NcWfQ z4vdU5$!faPj%+MYk>rP5VhKYxnB)iU(TaRkfZNahWbwPS?Jse}78ZQQ-8@ zcM0{?x3A0uNur()%T^jCMd1fU8&BlcI0y?SMnve09QzlGh=ep)xP((14&%hhEvmJK zj2oc3nPsb~^@mnkHzmAwSefuLp^F&Xs<|Dm9_FY~P^3}rZle~A-c3lZ(9CqV8QaH%?Ue>0* z=(qY9aSJPa7mCvZvzPBPWbWF3-YHK+Z}4FaJu@qYjqU82H+=;60&6D>v=ZLsI|gLC z|7b~?Ul(B6c=M6a_vR?IegNv>YOClD+K$`yxJl#a8GO$|(9+L&(ZObZ&z4UFjuhW} zo>2Y>`J?b`8UI%ikej9k&~|gf6oIx16G@-PhpJ3{(cx5%@hh-v*Kf2w{LjH z91pJ83!hBD`a-rXR_b~82$(PYyCcd!j^k9H@V<^6t&6u4oQFTpPDjH`6agRI_BDWs znBu4ZbY@Q;Ec^kDWybW%QLz-8V7_}5;wTN!-xI`}$CLTTmyTGHgi=qp2WdjnY0pX7 z&Y6cZj81P#V1wI0e}taoLcn$b@=oX1nLBU*0&S1RdJ0U6#jyr}>>>$u#~eRCj8Od9 zb|RO+V9tcORY0)LWj^%w#ccATgcff!t**knVz`xh@DiQ2+`a6m4N+r?{07M2EY*|` zK|RPNAqL5iKT^qpYfH~InUm34A`TZ+3UKI1-<|mzBEK0IpcT+!Z!1F$or-kBHWnJ} z8CNPKH`j4`pJ}yq)lwO${lvm-eDDw{QpmViUdb?8&e!9P%bNk8+O3%a98=tviY-x@ zR0nPwa$rBRJ6{f=Yl~`XErA?#2EVLL5dWrUITTPQKpxB&Yr$SsV3)#M$&V8dac5Vj zK}!z~C<0YCf6M>a>FpF_f1o92D+r7EX6r2WhvgZs)x5HXD`87g&lA`iUH;k`ob74* zWrL7zmc~*1P%0Ml?{vH3?Rin<4J9orMld$W&DU69Wgk4!Inp&;P3E^^sG{^%=pcq) zw;av%zW%x&%I0Bsi*QPN|OFqylc8+iPNDtFcZOM?Za3TmTym#ef8TN8^B0l?DPwz~`Y)ts?UO61efSiY34*v}!W8SasNHE{+nH&=^a+ zBSn{Xwr%petp{&dE8f$b2bx0!nRQptBc~I_D!}jO0w#dmr7%fa#I@V2AX0yR*0f!d zE;R?Bc!34~--;JDmUHIl%(BbeD6!VF$dAzh`~Qi zn)2(`nW=%ypw3r6(5-cNILLJBF+QRGJrcAO>HQv11H4F^i)psmU3bD?yE&SeCqnc- zP81#J#$M^|PzuF#<+VAXWKOW`NI82c-#lhN>YI+5TYqTdRFiYl>Y6aNqJ}nHSBLt| z?+q@6sFY|-8y=xvw$Dv@D|Lczg-x%u5~WF^e{QMG^klbLW|cu4o%+CA^$UI+a_n!C zuGW@Ug~3kSXf5YPq{3=! z_cDb2T>oWD7f#B!F@3nKaQOsnh)O*r7j}bN{++9e8Jy#XxX0w&;JNXXOh2zr{KRIe?V0H|(6w1=WNV0oZHC zamev%Pvxs)?=9EW2m_C-;)tN~;I0|-vvy;n3?}8??z?-{zPc~-xnd?qECeFm?-@z4 z$m}<)bGcb+P1`kFrXTwK39qYVhj-fT8GEtb@Hu(JrTgtM*ytqngNEke!ot&^#MV>g z^xhXW3luIZzlt1d5+?F+k5=a(j;%vAmup;RWZ`673MA>m9t=}6%`@<~6qsHkXkQv$ z+Bm;tx6`Xxvm+_znL}U|>~>1Zo>s*4gIs7-iZo2zM@Xh^hW9`3O@Y2X$r>OzJiuKU zzgL1+{rWjLzE_>`w>oE{Yyfqwc$m}i(-ff2Y0rziA~oJ7 z`lG?1gwFgN7)65mHk#RtgtsLP#upc(xkS;k#+DY083<0hs$_s3C zFgqr5)LE?ZvC$I(4di8u4LHIf-9)jlp4_k1T3^pxlZ}NyH{U%paWZ7O-sgsOe;=f5 zpUHY^%Sy1*ksklzwReOLHf9;z>=#D;k8L%`hj)8p&B;tLp%_4BV>F|JTNqD?8Wk)? z5|#C10O0m|=;o|Z--Zo-1PGy!FLJ~RT0tUq{xvJ|o`{?$|3MV~_JPogzXzL1;Vajz zdFo|3W21I-hBwRmh7&*1k)3UZT87g>QaoS|?YEb@Um_u{*V@kWxds`Etmie%iBFQ{ zedYHPhKr>6Vs$Ysun^eW!}(tBXNA37LVGP(;xy;`CL$0YTv~a!SPeMMJ=@<+SNtwG z)<-3Nug)}){FpbHn4`x@xNVXS=<(CRD2u&;Ju=SWDay#JtQI!MAKgsU4$PrzX>-2; z=8Dv5ns-zUyOXqPq5*1Nw+O}uGfnacx}|tL48)&Ld++k_GY~^0$8L))Fp3}QovdT( zRX?qgACnHr0SP+>wfywHM{Gd%=MmH_T0@b1XnHU=a!o~o9T?4OI~I4h(|ajhhB!*U z+u~)2aLR$VEA7*sk-n2iKF=CRUvaU7mW>a;s2WM(oWVp|)lGgf6{Kd{4}Egb8SM9T zK@Q-nyaGT8GvZe7zyR>tGJX4;8G+84UU>9&KftEk`I&7Z^+rd%2juf9v)ugQ*LHwD zqi;eBTD{Xu2~KB#Fci>Rw5EEb{##D<2LJCmBXi}2Z00d>*-=WIaY`+?nC~zclUlmA zu+DPfy1&GJCo#K$u?mpdErbkGTyO>ij8W>$ija$?6h^pZ0& zXzHwbB2^5nah}q*L+b_XgNtlgP)ePO4O__6EA*B%NO3lAu3KqHu#&7?z0d!xM+tvm2iv=?it0E}_~PfX;8md9+xPs|+bJ;l~VI z;9)aV;FTWCEnwL>68hadN!otk^t}`p$*b0}05@HYKg|nN)*W9CFUlJ381-P>M4=Yy z-P9>%U+y~IuP>nvYE*FPDLR&7hnN+6e`jlSYt zKGj$nWem}8SFYFI>lFX!G6e1XMMo&0AI(%r4m6_kVVd85Rf3RnV+xD>G2UHB)=q2_fAvv@S9xRcAU+LaWAb<-h zl=t!Z+^l^|g#Hff=?k-$y5c_LodKWokJPk#Pfg~I@&5>c>W6UT-z?wz3Kdn;%}U(2 zvoe-ibX;gFX3JKn{3rpq$nAj!^Y4B&aR_U6roFRVrcAw3Pb>HJ$7j|Bbw4GGz1ajR zEih<-vRWx`(qcrVDI~uUOckk9z=Fz82jG-Xk+VO3?_b^?HgV^$HWf z)BYNpQO&81;%c@!16+oUxb!_?)2@=z`cje5uxIBoM~tIe0-Dfg><`1Ggu{#nog-Vj zlO07TgS{6)kAa5+Af76T%M{fwJwMLh!L9M12sX`K#PhkXu2{`~y<7`w^!iIV;JfMc z7@8Bc+}66p1hl9I0;r)hjU8?mN6L5LCRW|xfP;E{kHNQ-dKQ4hXZBl96H&ia zNYmkF8?I?VOptBJ@h9o|tuTkNS0!E*dPm1?6eJagH{9wU;MA(hJ=LaiY?KSpdOUsy zzhG`=?m~W}HHnc9uNX3TP%#ZFJdzTVB^G-q8A;(st&6rg%^VmoHhPFl$?I>WQBmwF zNzPwyn*5lv&^nFZapxGh)Y;5aUs_{vBx*G__eb35KZ=4HPj)?sMBac`ElVBk`I$T% z#n(y#HfrC5hp$J8I8e#a%Pal@U38y^w0+Kkn?$$2x0pnE+X7hHSQp?FGiXTzivS_q z^I}&Kc!W`hY=+fQPFq*=rIDoU21*6xB0)a<6M3NAB2mI{r)g0OwKA1pDYvJ@XSCJI zNa&J~)qHb0eqSQutR@qzAgH>G|8p@{nvWFkOFa6B&W%dKa(o%+ZxArOuiGHvY#<%ZZ-N2>Jldsi_B0PdgKzTR;u*SO06QFWoBXf ziM0^QIn_);DBWLvJJerU3Nk45;C-REl)|$q4Mz$Gf}!Y8cP_etqr`w)oTZ!bg$8gO zue0n4;tRKD=G7$!wbGFSer4h$;H<*{hPa(BW{ipb1fc=GK{_+K!k)5OuB<;cHXk`_ z0DUo^I}>L4R35{K@D)@r<$2e~{}Bz%$4b0)KvMi#Uz)n<7WgMc^lR{a%|Qs?_~Na| zC=d5L!GU<*C1kXFy^Hjp6Kl7mF4m+9W)bq)e!6+mC_ireI;*iWMJ(iHbf$eHB4uZD zhe4|4m54i4ed}FJMb`Wwi$kI_J8chs;z$rxs7=2Q463hfG4>Tal?B$%MdnIJGFVW= zVv~)W16`=o&B6D`BgF2`$;KZJH-=WC^%&VpfTcd!;Ht=^SC}<7jF+yECM<(^^n?=% zOW%9n9ZIY&AI&CZ*yPZ2C4C3rl?-Q!bl=RcloX4#b5k5g+YlH<2Jcl@r3`A1&!4>& z@MquZjidx*>VZM1W5p*pdm6A zXW91Ue9lqZt|=(zw))nVxFBwOk!ydY6Tn`H^a zbgf*z=KG&Zc^v@Kru@y`b)fGlZ)^@kZCgg;HOCKfyO>Or+Gri=I} zqlM|4g-MfkHkDfVOh&MhXbRQaD%^KY7fF*9kj^P2Y}zsn&?Mv|hKFh0>woKN7GK?z zuv6Vu(#xbJ-J1lz=(?IV_V*0VnbKjQLW>8O$>pOct|!#(vJWqB0|xKmH%1hYHoy!= zpOp1tiiKJQaNW04+y4x)k;|226CKyPL%ngQ&etw*Q>LZWKTY+>@P=@)iu1%u> znZTC^W*_X~x`hoDJssr{)uE1{2lMZxBM05{2i!OqH()D8aucNE{53k8PEHZ0&)D>v zWkrpR{3O8&2cS0bc@;om*Bq>mN!n$HrXW09tj0jIf=yBndnqhF7;rjr;z&ZW^ z3!&<@J<-FuV5V*`1$YCetGre;@A`;23>*i5$(n4jF_RwNP37`Uy~xW_Hto$TeTY*$ zZ}19U-RBs__wf5Ti(?gH+h;xxvEE6%B|;;Ls>OdI@#CHNE)>f4Fd7QA+l@(h6t7gJ z^cr18nFH(kN1MBO`mckg78rE->xyQO+iK+Lk3u(I=kD9T z<0Ai`ugBCtgh~V!!qRgo=7;P-)#jD%0AOyjc-MBDxY!KV?wOWlY?>&coCo>DzHg_G z38eV&3dR^Ml%Y9$viwsmP;;X@78`No=HR)F=`~0KU#n|1oqsI7<1(vK`+wMb@2Dob ztzT3T6%grFgwT;*6pzW1DO-1Gk)BV&*N2@mU8Yt6al{1s&jdQ0}N+^}H!ck?EXmcdKqFi`{qN&N4Mn+Sf1~b-c~4Bwn!x?+;1z6n6z?z_A5-Af z4;ZMI$*n&feEP+MlUCBQfGllKJ=tz6Boqq7%X3ZITmE^!QXclq8jb>f=Y*yqfRsvX zHBdv5nriNHY;BGa^K=Muz4`tcJ6Wh2?m{!spk*kWWRI!+eIld4fY}OdhSi-m5=Orh z`jX{WXl}qMEiN@xfTjDkYn?%>h1*UD`Q?XA49hJ<;*MdJ&uWkz{-IDcZq5zDJ0ukv z_e5WRu#y%)&-NL_+r9SFah^MjiAa+e&FFWegI`#MAc%d1;BU*<XJ~;SaDN&Pn3{Tpdi_L(yYN++h%C$B~kG6L|tadh--V*3c(ro$|Z*7 z)F5X5rtsZqxMS`;_RzgEO;Bq94q}l(?w}?sd`Us!2-i^S$Cz)G532TnQyh4fbBV(@phu68ZF~{E%D35(EQO?#`MK+0n z_$w9_x$Sn|%XTgY$?9{mAyJOi)8W**tdKojU}^|dV>NhxR{7P&ZtYDQgNV@vNW?eS zdLUipJrQV=?V8*{sab7J^(*+;wo5yZku<9|tUic@B+rdBvxG@#-^8wm zm(fPZ6HFpO-n)~-fzqS6Bbs15=kURU2hPJKVS43jDb)tHm-`(bg`NFQu*ZYKkgfVz zvB{zDH*y_p21R!&(NY-oTf}rsw~726_a_$J8$9v6^ zIV+amKd5k$$94YYUL%=NZNYAUjXb&)3by@!tFp zBm5w$Bt%(B6nEc%$6$KLEm4g^BqCY5QWC{9^bAm)+gD2K<7VHh#`ZZ|A4Swp&&)|B z^6ln~G-=O~FeUFu?0H6Y(6!0I{k5i%M*BOHEmSkza--S3Z+*o@)@-JD6_j%+p)G{1IPo2l$=iXw5%z>Nw)J zN$#2@p)s*i^f3p+nP?7itkgf;mbCa#F`wJ*|5zi#IQBnR#WnodD{CrXU$u(Qnfat4 zvie<~tX&RUvqg=)^waROpNln$eWFc0BbEY`{0K&H^(1i&0-1j|d6X@ocOA7luAgdf7UXPk%)zZU1V_x< z=b?!~JDtRmAXFCB#Xt@tt~0;~F94QP`9GuuLKYVJr)04}3)}PY0bqoePLSnd1Ubk@ z+Q%OnfZ8cD#IbQw>p4+A;jEXvE@1pZxF8sUjPaeJ+C(^(^G=>td97swO&SvNBqMmy|9pTc)> z%Jufn_V4VqLuQrFnM`iBL}_M8mRpvA7hrn$#jl%)Nqg~jgbI@PNVGfR%+p1S2Qs+E z<&K_ySSaUAb~kMelp81(fC#h$&NU*}Jp?>&r6Q-XmmKR*lp%(g%q+MC@_XMq+h{{6 z`9ABY(r8hINDHCC<#Z6*!!+z*;UYOz4=yR&VJ3QlPeXlxy@m3;hrqs-)QW6%%iayq zCeoxi1Gkw$@tytT#GM7YhVliO`IEhsttHaFSI0n9-rxe(jsJQumXUlK0(HSIAF6WL zSIPb;0=pW;J}~*Y>xVbY0LRoi&&Qt~k`;gov%^KYp&CDSd(zl4Bg!evguZ+@%URai zi1O+Gn)811q3yO0GRX99(?0rSi`MScW&N1#B&1P@iWM+u53-YP%NhdRP5sG!p#(hB zk_HU&{&z-J}U3^3F{|Ie=EogaN;KDdhlt#;XUj7mI{#@?S*YI&=-^hZ2aYNxB1F!yv z$A3Tazhn7-njZh1ME_kq|A)=v|8CoW0=6TA7krgV+%XzTulo$ZbBSsO&V2!gIGaMu zBCo?)weD%T<%e^yxp&5?)+-2oAt>Q-57t}&G*l~HdUPO{Q?_}s=e2T!_kRHHASmS; zr+Lm*I2Q}#cr9$H>Z|WxPMkr>(hFzA95&3Y{ut!O~bJM<-2rA zWSm~8iEGD+cVz6!i8fm0 z?(x3eI+@h;a@-Aanv%cYvkIIA_hZ)+E>N>Qv21btQgggvp{#D>X_u0~|f!PhuX zmMX~<1x2F0fWdqBGtQ&ZB;;!L&Yo8l0(#+NMb8d1U6;cCOdI&f{z@AHeU54kUDZyx zzk&&k;qbU? z_^^<+NIH>R)r>DV&Q`fs#+<81HXXW@ebLfwxU%G_#2`sN5U2M2LhZSGv5YbmuW_%7 zESJ5E;FN{x9h+5H=NZ@g>YMuP*+WF5?hS0JQlLzv>s0<2fA5s5xXykOHN`GuH>v>< z&^}-W%LjPB&Ax`lUK->oUFE6;;Hzljcjv0MbE0gz226Bn z)a`rH))mV8?B>dHO6DuH_swd2f+huD1H0cWJx(Js5U7o6d1xlCEshDfk36tV15QMg zxPed3b4pB+*(=?N`n^qtzqTp*3`*l5;fb38YU^5YtY58JX(H^4Ctk&8@m=sx_9e9B zXZ!83VF`rqIdoX2#Qwl#37y5y_Dd{%Q7ngK?9?7X?|a)WKK?T%OH=%PFD`ZBUiW2J z)v{(2Op>d=O@^W;GTLN^KeyDwtz4VblFrJzjSopiyg!0oFDSAXm3zS;I{S@BF zVw;%{5=kQ`w}qp$)I30d$S zXc`S8V~S&~_j9^C?6U`0k4P`?k@cE60ZCOdKVK!rI@ zT`6m?+trj0QM-a6JT7`H?$@;zerGZDm#Q;D2q5>a;NCdM&G56QzN51T|bV) zswQxXthT_y(w|`0v844vLQ97}*o$rco(!aZ0Nf@Vp0rO)pNOR9i?!;44x!mU((&f0 zH5X1Ex^9ixZ;nDg?aU%#s))JESN-%+h)p)Fmpx10Ky-OeDvFR)r zu3YTs$H@lW{xG5UZ!G|P%YZ@=HRXM8zwR4bAr0jotG$%8Qf}2HGY8ohr!&r)iCqaB zrg?5R?T1SW&8%)L&E#t)ycj6}6?okPyH-X3_zsJM3*VXEy!@$tH(- z23uC(WuCOO2>#(%A5hdNGT>X+UHKty1Ax;jUv{w9du<vcm2@k)TuGcR$z=IXck zSLssjnu;39TpXI2LX9U!hY_23x-)BmN=)~$i@EA4Kv#v~xCyIa5ju|;OUG3pXnE}= z+Bc6q(_Q0x&Lu82y}Q#v@OuGORJh&Y%eYzIdYLGuF}+a|;O7;?!qqg5(wMakDflPUBRwdwgzBw)#-{NZ+-cw_r0Tzc;ZAeL!8@RkiFvG2M60OAhbPaid8 zzvwv=Z-$7l`tn2h)gsTd&5OwG@%Y-l__6J?Hq4F2Bj<$JcIPH`@-M#xFdkec9F-N}e~HBDL?+9hizh_EPdI?lB{_z0rZK&FYUqZ zbu<56PtB8<%3hb}RSpVWkZX${07WbkzHz>TNv5bVREshwZe4%f+j*!{3G=?c$jqkNqe5w02O0f2 z9eps|UI z16FPFw@7n-c6avZe#>5LEJuo?MP5(y@EZAbe!9}5?;g$sjcDF-v{|p|_Z_?8h1e94 z29VXCq5{vS7*=UhM|w96GX(5E=*~}QY}0or*Q@HUwgoxo%^KO*{3=)!bB7z4A<1@j zdl})*#^|7`?K5Jqat=GMtj*YGL-Nh(`W)T&+`!>Ji1f|Dt?PUlsU&_|brzNT$Nbhq z2d)h+<*(^i@+A1rN;YzZB3fpg3zE9m2JpT@mI`D{mpEXCp&z@nE;a`CUdffvJuET9 zb9F|S%?Z6+dc=`co^V>43M1KNl05~9O&fUGntfAU%>`V(1|CbC8F_DUlDx#Q;Z43n zd3ehkK+h{c@TFvbDo(XE4p|zmSJ_~RN&Ct9ry8b!77kadQ^hghH>+t~ot#?~YBRhr8Ok z*4$~0F%zpkt%mOBqiqhl4^heD5x?1NU=V{~x(@Mfv$xmFyrVRac1G*dc}@drmH0(z zOA-<_w))a~AH2*zIB{*1nEW&8WGDSJq?JAI3>9X^-eo&77<5;A{|w=??1Wm2)yup{ z%2kcgA!Aox@;Olo9&)}nS*pgto8FPe>;8p?i1VX+093gT$S9aCG7hAz}BTqF?{B1J4P->x{xcqWG z)9=}{^5+g-;r!X4?6@*+;)Tp+6kY@i2{K>nQ2kcw6K%_`g6rkYs``%I24>Kl?RTGu zsfhEGnQpgWG<}iu3pCdR99W#;5(AKWSsYdpvFkpOwR>Z7wnfEF(?DgtSfLLv#N4pS zoE=oz-(&bXT82MpGy2#>FZrt(V$U|Smvfw}nU@pftK4#idgEVb6SBBSh_OSLI-RKj}3My7kbFR?KC{BRjY$=pEB1K-2SW zLyVMm9Dc_!1Af<;bRfdQZ$9?MwS(2=t$D-&w{jhlB%5hx`Guh1 z9>4?7u<~lHko@L)H!?n(33)t7pjf;+RXcwe(e)tGFm9j5*dMF%e@BSwKSJh<2WX2(2kgL+^@Q}oGR|HOqs9bO z2fH_49|5Y>L(WGArDru1KD(4o(dR%5Lr5;NCP@3b{n&z3ETZR^?_4$c(y7q6ruSL# zZljd;t;$U?XQZYR>pV9E;VXZZgVQAb%l+Eo{lV+9r=Ln4$D8F^rG-9=?oFLzPruo% z3qD?fBG?K|aw-Rq3pa>2T0TS$!7dNuYnj*e$K)*VLo7ZEx>qnq=*aBP=L- zjcsUza$e6O>CtH-W!yec%sv#``^8B-Ln_4T&bqo+@B7-Q?e_=o{zxJ%8G$5{0u|t8 z1Z0nRQ*rD)cc&(J>j9q2g+bX|Y?CB3-mJWM*P6IH0G|vZR5Vxsa3q}IpCmXX!4Vm8 zg_JW!0sTd*M>`L_C4j>RGBZG@(e#E%u4ggTNMUnV9Fh2|>{j3a?`d~06o;LO=#j)} zza0+V0!e$!M2Qjqu9(NfHVx@D7Ffo?yO!XimibE0H2Ci8nF`Vz>m$9vDCCbjYdzfj ztt%A7@*5#_Et%8m#S0u+tXBRo z?Yauq3t4T|Q~ToW6FZz%>1Pu;Keb{qKz^N-Kiu<`fioPk$hwNGlU+Td6e&~i?zdBT z_yObVTzM<<#I7+{%^zdV!|>(dJHy^f1>ZHF6T82adZ*Z%)cgF+30$1Zx;K1q8)1>d z;UEK|lS3im^W9!fqWeSWw{B$Ckx<8&N7#LC`Urd}&@YWO6#N7I{jua+Eevq$-DQqeB1rf-Ht?7bp` zZ+lFdwLTN3T+6FAzz8ru(!F&r6yvkcpDa9FUrSf}Dye65ee1#tk5cz~3tdCA$Pj*j z_53@HUT)B5L9!;yT{&H^siJQ$D7sEbJZFEEE~(i)wrT%B3W_;xFg$Oh_5vd*TW;sb z3%tPPNh+w2RDAk)a>0?dU})db`UCIpjv;-O;6s_pnN4p0DEygsr`Z{6;$Y^B!-&>m zMJS^rQk}2RDCYz4pW>C?yn#y=K?x{bJ_?V^XS7ch>L;%v0DR10IS08q;?dC*nSgl#D)Ny{yzIKZ};!K*r86<*m`?HuJ7Q<#jPz4SGD%CE5(A3bh+EchDyfR|7Wb!Eh=R(!W}61hejBXK*z4eSejgEt3WC zJ5`;oMZoZ6@#tYAL7zTW62EW_(SX2CISto#No@KLL7M4LGm9O_)C?jnrD2yU%UuQM zH&j!L(%IUtGx3m&OrpV_62`k2v%nSuzx`BMJaU*jbA6NounfA1zk;2ntB-mHN4vaa{vm8ywV6V&5~enxU;y~?6G38(^Yq!7WZ1scY2DnGs2)W*ZkRFH)VWCX58;DDr{k?8>OmJ+x*6&rKILr_E02R zAi-v)4+GkY(b6279+OrzPBFt~p_D6k_dTZ(Ii>FT9}%LhII<`n(>?sii7GX5$%gCe zyAzIY?u)spoAE2^n9B!?GwEpp8qp_vLTuqGRf?V`4ZPAF8^g+w=eJ{-nI9?THa{*N z+6$&X`bpoijzZ9JO$6%hT15HmC4-owDME*cPw%|+RjixxZ2$fCG6*KhW=<$wIb*-? z4RWV*VQx3edJ++($Sb}@%DjiX^C2bhHIk)K3@VF_rF69ZPBtjsnRIy5vn^U*mv*b- z5mQgae9QhGI&4`vx$D|{(%gaF7u|H{X5-t7yUPs%;QzNd2OQEFZ(S9400cNtN^t}S z&BoHzE~)vmee6V+vn+Sn7aC*ZdJv!yKQB-VbFk6{PhniX4m@3jEr{)iMNSV7!xC~g z<^$y(jPtDA{s`a}sAU=)ZTI_nI-FCqxVlWAq*Mm1^JVM<=TP4;VwRKET-l#I`q@?& zY~(MyKI%Hl&Qb6`)BB>4xlmrP!u|BQ)}CV$BJI5OMi3q*?Qw}G`|P*vDy4hBe}*6T z(uqL7GmC8>WWURGQ;15s@0INMedT8|x=oXm6s6I8FyS5LBd~sEJ!qQpi5;XkUE!6m z(wj1Re<>DMxsCX`PbHG!i7_bH{Lc4&)`$f`#cQ3v8NimGM01lAagnRLdkMqeEd2V) zOoh4}Dc*1wPkxac=D}@X4wlHCXc8)n3|4z4_7ywHgYd~`iAq_a*gkMjOeUovt+ef5 zGB^R1%A$V99Z)@eYqp3}Ztsi$c43+lZL?23RJ5dJc#CglIhld<+(zyxm7-Kc{Dxd%^Zq z_=~vjqUc+?s6GcoS_-Vr^-045VX@z5iCbb9_ld%6ro%3sLiWF|`_Tv%)b1UBfrlQ5 zcqX$Edf;KbSGV+K2m{n#Hkog#I`O;E6**Fk>gwDZp%P{#WKlUPv&cECJD~Ne2qlr z;5(a`HI^p8J+ym_a)Rs@IgMsAupVSN%wYm6vIS`?Tv9a|j{y%h1+kqfIb-wJF-PNc z8ztX;gmT`5u@ObNcXkjz3h+CqxMv~oWN1e$OLAl(Bo4fV|6bz)(#Wj-*w`#srYHHk zQM6*Zj{s^9-QnfcOte_3+20#0Qp-{DG?Y-v>o>Di@t3=~)?a0r+!R*Cc2RQV<)qokk^PbscAeVQCa)vG>y6VpWAM?Q!Ebl(u?)_8v09q}A^&xFK+sR> zRNmh^-z?x%eb>_K0VjD)R~E9FbKmq9^GTzEelfz{dEU%rDrcP}h!)H3255MGip!v4Tp_Peqn7DdZmWcUD?vAix2G zGB`hK=6;>#pJjrue?_ah%kq*}nbM}ecEY}aJ?1D=DvlG6_Ni%2gtPSmrk1at@3m*y zY?N(F$(<$>K}CWC)sJ3iYlMcM`237G3QhG9D0vjH#VSe5bM!+v8~bkDF;~uZkkyx6 zo|ydra3ifIk~v8r*o=FMFYfh$FdMWO=~gIuvt5;b`~v^nG=Qz-m4qgaYw8>NEfx|I zN_`%e&_(5gQ+|We7E>gppAqQbc=#{_KD{jU+;xnI4Tk?XAXwBr%k4SVySaV$(;O(E zQtMe!g*1m&hL>%UtON7-M+aGbZ?O{gd6Vi_37K`&Kb6G48wI#zF-UdH{ywjGeJAv? zb2ZdB-vnw0(8|wxzuntjqvY3lI{nC*hEo>I)pXj5Ev!(Zvnft}Fz%!mWb3(%5^h%f z2s5y2Ndu^j4L@LhUpr2J559kY@28R;KE_KtoRW{x$>`B3!RB(NKW#rDKQ#Ww1x5d~ z*Im~vi%zvmX(5PofGtQjJM-XICsj6RlKvG)iT3}nC{YN<*xl^n$}-)1Doewtywfpo z!kbU+oYe=gopaQRFa)vyQOT1%Wkrxyc6nSha-NtqouxI!50c;d44sGTG=5P!5plwI zw1-_bk~Z9CArlZ{il)$Kz!;2IT;yjB=A@aoBa;urBJYjGdHXeye}*hlqO@Zcx4BuL zhLXG92EY)~xH~=Kq%Ya*b@qF_G}uDDiL(cIf2BQr0&v@P1ozRYI~IJqE>FJ0_P(=L z-c7BYL`)WH8y4yLaQ|`-PP{J5i+e!~WPVXd|1Im?T-fDX)dOS#WA3F7Dk8POJ*#A< zV(QSi%esmFg$P2w(=m&;6HSg{am(<+c(Zs6R%xx1`FupH(U1oDtQSwb_Fz9yfE&gs zZHrP=Fpy@8{vML_`fE$QIc+-v7-L%R{_GbcBy30e*I>D6B}N`H|6tg)JPN6a;K~NA zrwe*#ml(FHXn8fsYkY3rj%yZjXtG_&kesTqHNpZ=siPj+O3xm4sRYw^c+2t9&=Z=;r>Hp(yv41Bq%`ViJ~>q@T5e zTAx0--3n&4>C+!ux0`9m^8hTv%5OiS-T%6*Q(3JvR>^TRP6<0A)t3cpPL-k?D?QE$ zWX>{8CFf&4vq><;OaxZQhEThSaFb-uOZI#%%z+d?t_0NXR5HZA?ZCfjka1|fB60;% zRuWAd_KTZMCDi>XJSrCw2JTcm34mwIcGYj!Zod=S9a!}t8{_A;!iTo2edVp=Hg^ht zpC(s$pBH%wIS&gpm#d)@-;!S614`}sGQSyfZS_lzO0-^1Y&#p2<|k>b_wv0%pN?(E z9Dcnt@AFol#^PQjuW7A|BAex2v~_orFx)JHzoIF>f;> zsF|Y0Jhn^wP-*h|Addj`G)zkgfa}}e1vHx49x`w~&4zq0QJGdVrbg|vMECe$z5z(i z>1Kg-are{o>aE{$&dmOUKoM+3m+e$;AydFDx`%2=h$}eI?=l#$Gwu@-K1WQ>Gw8V= zo@IJ7F<*p4W$=LZ;rZo|lcAO)>os+zG7yWBz+2Ww+4J*&Hc!x-v&(`TJ(&@;-bl?@ z4x~HNK)CyRVcPPmIT2X_3q*HbqUth2w*SBjk;GlWl{x^p(v}8g4mJx~)_arf6v-DO zkJ1YmE5;I;BC1YieN0Bc$+Bc@syv4#nXQ6m`ymfGF*axx?el4 z*Cg>Yqk%vSlE{-{)7vTjHP0!#Rp-Z%(5nM!Pp89-BVQlC@QDHWmSO`Q%FazClzIP) z%}-kj4gfgRV|P}&JdN0Aqy_*8-x0#9j0pxf(4ff7U&9NMuoiIMq zhyEi4-?vhS0M~tynYHefImVwp$g>%g@aKh4Ic-eeRah z$z9@yMNE}|$*E~R@6*p2cenMDfTloY8c*_0Eg;_b!aq31_IpW~gU1|3Z1BCtjCJoX zi0>TiCF4At5S-0$j5^HQ`pGmn*6yEtd;kKcym%W6Cez4S04WA*MBdY3lwxb>_G{I z%kLoxKi-40=N~uZY9&4U`H^Np_`@|DY97PvyExCUOurdlk?Jra=LW3qV1Ppgs`F3q zd=QQD8(HXma#WmW17{TEv z2tq2o_|>_p+t~qW^W6@dqqYugcTCRobHF3IORi3@hfK)+Ez*M{m+7AX>FN!*VwJV|@?jTShY|y^0MIAUXm8G4D9Oq7o1GM6MW!TOFf%@skA5rf} zR+xUJ0Ynpj!&duZIBXr#_Y=YD{-tYmB`V)$Fdyw%M|xj9mNkq=Pxd4LIhTKY`5C@` zRny--E686X?8a`XHJF5aysx_iSIw6M%xrXUvXs)h1bv_^7M8!gR8RbY)|FoU*%2b> zU8VUU0q??+PZXci>Uh%8#@Vv|)}wJtzSGH4Lj}KVpi`>a0`}Jn`(&?9nWPd z|Kh<7+2=h}By!|Q9ezN-{=%DVUH^Phq*`#bdl*z5O?*R8r@x4DOp@EVa;u)YZL)JB zgtXwT5QW5N_z$3Gp9Hy+B^A$iY*t}90rP@#Ynh{<35t&HtqI;X=UW9F(pLq!-^(XK6=ep6ex zmNc_#ecT<N6CFWj}cP>B;ucsL&n&IX-#X=E;rMY)TV z8R)jkk)R0n8Ptg)VCNERnxJ(W9Gv=nF9xFx;J7t;cM(XU{saBcDSZX1RTYr3%Aw+nldIjIF zull0)laRKFNUr2{k;J7|mgw@gd3YP%8(Lj<(WP3^#Bym1rB}`)1wki1T@S^sb>--6 zC}FIAY78k7may#3G^=5LLp!S$QG^;BAu%_)cH?z58X8?ol^(TU%7qZCb+GfMJAOM( zMO-xjKO@&sPVaiU*zh|&aoB4_<(=`6Bsg+vfEZ)KdAI~i<_^v2f$#pXcLifaWGk+W z_s9m5sf7Wf$LW@cy2co!-Au3<+W83{E9pp8F7dCrq3^D{bKAzX4%v1X!;R}7XIz`- z&ifxreDm|LUyo34gH|HVAok@|r%L-?-XUkFGl^;oFqlh|5cz}N3&KdDY{`|GB8}lnY z>7sFu9A}jQIeijYiifh$Qb6+Y-xQCc_HJWs=9@Z|);+oMho47~&E5$#fFrFtl=0Ef zzmN+nwex}QMEM$N&m11?d%}tZO-l!4zExUpxNWZk7)uT$) z*U9iy7P@q8bDfgB5!a3M?xY+KF!;TFUh92%h1bE?we88zf^M>PxBEOTk|*62zI@}W zIEN4at!7Y03A1$#?|q^)dh6SGcc#alr7s%jR0}z@>)G6wT=%?Be#?N*>=~TTgt^o2 z-uk=SM@y8&ay0CW$`ggADj%r07D6w+Eb;4wQq9E8?SzCrFWX7eDfFl1IEfTpbH>+N z_tlu$>L^VUjwe&NgX$|n-uBC=k;Xr~ceu=l(*uU=jn1ZzD=k)Eb*_SU-I#5h>ggJg7*h-KF(z^Me1 zqm4-;k$Yh2!A$XdcE*-ciL+6^A3Ma`MSMkPQzYooJT(qtsf`%{^U1?jEJiDw&jPYK zZS#3sOk%AJ>u0jp3Jwz@2qt`JJ{|c~4azyplSe>)R6($4H5g`o@9G;j&9Nb1X4$X)oO-OZ@%0*`qrwk zo;mIEcH2-4`Xc>&4?i6IG0R}k@-3Q7`IgP6J10}Otxl5qw&>r)t2f_hKMwfl-5qQe zsLc|>FqHkp!$$jzlrlhqAg!G5MUyNQZ7LdyBJ7;PHGvgJD+OKZijhU?c5%*eQ zSw)KNv@2dd8~kOKvnKAUMQOsE z{gRkJnwh}6K4)H)%>X8d(f>at2xo04jaJ~Xvi61uYuy#wCaD2^hbaJ5|vKh zzqlV=D9wR8e_tZ-*Z((udvSH-8AUEiTF*{m&8n*H!-o zF|>U6S9jRT9lQ4JpLh8`5~yhD5`cY~B?~RtUuly5-(A|juQ#;+uWC$GKPGKb@sE1v zKd$#Ha32E+Fkf5Zj&c5&(Ep43^!F3S$K+S267XZBvnky_2kws~@4tiipLh0;=l>nV zf6TuBeEEMd6GM+>v4|Ob%VW&y|F~R$CGCcTzdSc)aOOiHUencBs^ej4&vTywl{0E$ zVf4qn`Nw>JgZq|^WIgz@pvDE)PcAv@e_Fl3=e%Vyzdw`nV*g_e14cVw@%t>{8r#3u z;{Rp`0e%!@eihf3k`=zgN!I?se*5P;g3N(J8nBP3LoH1Ir&SM72o?X@nd~OmrtbgG zzxm&f{O?%)bDsS@WB)se{x4Qf7%2oOD6kNNFDh7@v6nQ%rjLO}{r_h(`Cs2*23Vs| z3VciwpGhpBkkebJo4+z?22B9;ZEksH0ckpyJwT7($n=q|v>oK@iQ^zHx@i984@h1Z zR=%nqg}uMK)dLijpUi02kF;1(8#a4ou&O1h1K0ybfH)w`rPbAN6~-B#k)Lgsx7u`d z`JD(;{lXUIs-H)@H~WF-_`z6TZ3d0wiWQ)43}_N)%Pp85wEzU$O56E$x6@gzqkY8o zkt%%l=%PwXsXw@K;sMLS@Ls?X8U$7Sc@m`p;2;&IAkSTAnOv@DU&zI0^#SObmB33{ z2(#6D8t9?mrl{y;hl=4hubh?M7>(XUE{5f)W1Mz&m!+=JN=t-qPo{8qJh!gU4$iN? zA=@PDSB(OkY;1m3VCyT!wpnV37oHg}UjY)nmDU40uaw4nfwOd;UD${wLLrN}%ZnN?ahNq_WeScVS}rF{7~*Gvn-Wqay3 z5Op{71&+oGZ?8-0o%!N4RO?P*fh3dT-{B$D^(tSk93plNT>qF6E1)gglgyOEs+z96 z*SIgG63rO2ci$omLvkLoz~sLC^X@qkz$KO~U`AuC0&uik3Ej ztrpzgnwlv%+HLy9V^KQI71A7hWfAegZND^-iQtF&eX0@ zHK7vfu2??x{;QS#SPb&0&S5*8zlG*0JyK}2nGEIH--z6a0~}7emmM}-01z`G^n+i| z+jaJimn%2ABx9lJd|N z12ew0w)Pl+UG#2wf>b}gGR*sx_M_=u$NIz_rIM*9kge*H7gaKqFMD{LmEwjZDIFe- zX@0O#rHXqQxz%}ZqKV`xzK0h6JttZN=X@d0As05!vK<&tI;y}=odZY1UX=%i0@e#! zMHP>z^?6o=Z2FR44SPZOgD>sw1m9)3`fu^b1Z1&ugb8xl^X{WdMMK0g*(OP*_hjQx z-&RUT*qDEZ8(x?K;3_EpX4inb?nYD#GC>x4(k$||)P@3OHABCOxH>s`04FCF!ws`K zm+Y0nEVB`bbj3X_Uuc`_ImVMU^b%`~QTm~W(f8Vi^9nmooFoYwqxsERc&>;|SERn@ zT1kAR)_U**fb>N6G5~wwu0aG6Wwss6)McS@+j??=r$Lbl&@u?t2eQ1k2GTj>PKi2U zQCEU4ujd*#%Uh1z@U;Bn(OcWjV|HN=9jxUPAul46eGY)G5Ji?$PWycfwGyD3L9F(H zf>>-_EUy<{w-_cEaZVHqhqj(dom~!D2wN^i=R#N`t@}{91oae$VVxwt_>&Oh;BRM! zUlr1-iW)!xE2R07r>b_wQuD25ZDLr*a@8We!X3*i$XFkfCzj8wg}Gi|eNSl&cR(4B z2@#%(dk_CuP9js#W8W+z=4zP@r%Jz~L}Aa4`4KHTaVV)Hm#5^l%aVR;I}myXevFlU z2O=Q6$HsZCf$f2F#8Hcwj8E|8!!7h-kuTI%AAZoX)zyftZg>y0OSZsf>yOdQeL3J{ zcgxRRALq~;>?b=Tnx+s=%N&A3@ZGhPx}wW+V3TM@1vU&Co3`~;BwwCSnzs+}9CUZ=WyzY)y`Q z#dSxUl9DB_ysp89hwL)}cx$6F7tK&Us zvrg=gatzan($9b>qQS6oKZ+@IyDxTX{Z7;n)G$~^5<5B=dpi8+$owd}wQ2|T&aew9 zv3C2rdlHY~i1~-Drj6|fSuz@|d)u@p<09{*RA_D<%z4T+8-a9L(Cq|2w#&FmPL+OQ zAMUwZic9R{#dkb}0AR5(EI+njTZ0=ppM~3q`C<;c^h0POW_%c~GNqvBSN%WMJDB6O z{0V>} zQlGuJ!NPb0>{1aof4{^aKha}%r01N}>eT8SXz=vX+6ee4x*j5}Fw0tAY9Rx2S0(JK z@GV5TsC#!ZX$Pwk(SA?mtg#flULSQr_h6=G-(@RV#P2>%QqW!F z%T>$cOfUx*f!G)~+W#3a)w)j}7Yranf@oB)_P)f9{&>vtxJUwJ(UdOWndlE#vYW;=$rAGCTP_%s8xNE}2^AWB*;)=gnV~-R`FS$Z zVng18vVQ4TYYGCyw{}q0<(XRM&#|ULmb2F9Yi%;+?(036bUtUgP{%Rn?B#*?1y6V1 zyb*IevJ1dF>{E)!D4C@0&*UM`?@t^&g|3c)0i7YGk`CgHAAJUW4aBt%a&~O;9gM}7 zW@;R#e&>H@VU~qftQ*%jl>RcSp0!W&%X4i`l?f(%b0+q(-9z+nnbXN!1d#`%Rb$15 z3Lhx^=K#s0??MV#lSbEYB8VMV(){nPx^J++_af)*=`HW!-Cl^cFA0ldCvWuALU zqM;ZP9llAp~9ZF1!KcpX={n*nms^b(fo zJD8n2y85B37qsNn*E{aNQGOD5q<+PuFy(R0qAUJ=xvRB<*tm`-JrW{idL_{l}n+2#ec)r>l^Ae#=i(3j@%D6Q=#CkHXy4t(ZLJ9Bj zVey^M>2t5N{&CN+qVpId3Pt(wbFdtwiULq2(^i$7G>Mm?LOl5oX%HiPQTxPri>GMD z>izi5D(V6x{N?ux&OU0Nz|ouN*(LOK!HG#|-S{?|Xwg=!a6KPj(gZ?}eM~|fZzwV% zy_qUm)l&67Q1N}5FMWOENnqNz{fOe^SgkF!sM}6m$$WJ`gt+GQ#8XuY-i>s7fQp51 z|FGW0+Qc#cEN76Uw;ONhdxUaTR#&QiZ?R)COIFdo`|)eR`SFbD#|Amb=DX1EHDC$s zV6xvwbd?8O&wXk@sA(Th&t>mIOUU7(nq+?bjKThCV*>^6Ny9OgiSSeZG%9PX*=JEC zS0h|evvF@td|Z^%;Odyb`0)zM+yktg;P70Jl#y6H4EYVMt#0Lmry&BZ7MNRw+Et3M zV%Xv}SqX_1IW>||uyN}Ph}P`63}H;GMcmraaMxwsPnAPC~p)$3_ceBq6n3;?F%tZWmA5T?dH^*$%MM zO_UHUn%uqtFcq1wo3gaxk@S+X@S1jk`ue6!tnj%tlA$q_CL8-}s!Au@%`@vgE=5}a zH}=%1(tOy`BvZDPTJd$XbOalTX*LMw0nDEjzIJYjz zaMR$DVm(z_^MaZz&OmTINFRMnbncMP|Fh-DV*Z(D>(4?o)eB$F!8>nBZ`53ueEQ{} zdap2n@_XWFb!@+DP^HQI?mk;YBX`gPVHt!1lwoP_f`)0NUTOa6 zcBf>flm+ZwvyYN_O?hqlhsIYh8E?$*%qPAT)_VUBdvEy_W!t`gOQRs2N+TgHNOwq= zbayBnlEZ)?2uh4dH%NDPw{&+5A<_(8!@%$4y6$_e`+4*H1>ZNUSuksWne#Z#{n+Q~7q#(6Baz2MmB874ySU%v>IY*Io*AE!Q_*>Sq2p72sglg4qZr4wP9XR@4->x}g@{e^k-cJK0J zr4qmXMW9@bG}W|rj*DdLayBEq>@}V6`Mfz5Md)@9`;yQ<07-92WD! zaiBrMClSx!I;E3KKToql|Ad$0{th+t+~Fb@h=*;7Ot!ikmh7QsQ3Z(-_^&ekX z7y|$|FHp%Uh}0# zcLTWD*+c39KyNwCu!2|uw;n5^xyQB^Na+k4H)!Ed3GLO)oJ${kCX@wW_mrFZN81?_ ztFwi1x^Rf%=L|mEz^V3VarLZ+@^;SM2l2JtX4S}ei5EOI8Lw0~k|IdW1%SyhFDlr3 zTC5Qeu3L8}_xJ2<+*-eL6==AT{k5MOM30HNEWoGfRdT*_1j-=H= zJ6S|ctve`JL6wHTS<7V&Tgzla*H*3o-;>>+PCCx_Tx4%}tBydQyj5MCS!Nw_^c$eW zm<&4g18J}~Eh%4FT<2dk15VX)M__4Q7N#G;_IArfF+6)X*@?$g!4(0w!-Arf^@XJUzFzHT&69|UVpVi#PCS%df)HnjVC)d_kinlH%JvYz(c#l>6Iw%|RHH)k@DGW3%;gp3^h3yG9Y z7NT0KUHoba&6sypxEuYPJAdM+fmb7O_;59OpRdldct6#TErvI1^nziE_wz&9p(2tGd)A7_;r2a@1& z)?T71&rB9MVk}ggNZW!gzUMB=TX?o;xBc|Mrd*zr&|f^&KyD zmk?Bow@CEon{rOgB#{Uctd=7h#zdkLxd)7JTVYt*@5>!%i(@_sVw~@eCfGKSa-T$c z^X2Qnj^H^x5wGt!+2|)Y-Mf|48!ts%Rjmk)>c@YFa5%ndQheo7YW9TI_51E@{T~o)9AzAr>2u_ILy)m zLOR(w5F4bG{SJ z$Kjrjim#e!UTcf*`~sZ5C6eN0CgqJzoTxw0c$kE=7w5ul{bqCCkN$pPB?WrHtfm`W z&{4aXo@%e9hlgnhxaK9o2B{+>Egg$8fG2M@%u0%)LrsHoeg7|(WklG9dxzM zGp}UA*u&C+Xg!zY7ZHgs$gf0&M47-CkZIcDgC9;$Htl5yrBsq`6b`%`GN{tFdLJSR zFX0_fuV;JwQmyc`&z9z*^`1M#n6q3G^J94aFKZnhqUi0$()d)#w=^^N)TbWt+NbA@ zLXf57z%*~%Pax+^LK1uV_VmS$@0LzkP@qO=P_Q9Ftpkrxf3deOY;%sBr&fm6WXO>* zn1@x!rL2ptHrk5Y5~0d6Bwk6-971*;cOSGJmLljS z{p>y? zX#12n%NQ#x>JCk`OCTza^Qta_Y8~+of(Yw$23;;mwJ*7^P||Hr<|>^ohjV7XNK5y* zeXS1Q7%5g)oxsN=v__XPHLvPOY^cXj4WdWxgn zZ;NGj@^BPV1h`=30btOgevQjdVOa5~7+hpjwd}EzCx9%wgIm0Qd}sL9wkn2Q=qX|a zg!`%GC*m8r93|4_KS291 zy&lGJ$SN5T%>2y?OU~v9{hqSL2+z+E_s^H4kT$gn%8(HVdl8q zS!oAt=2$n3ki(D0%Dq_5@Qjn`ONWsXS-+?kll?<$7K3tsCo#jl=Nh4+e?@>gT4vR4 zW^aG08Tu|yMejux`F>|u;csdKKWkGYpJ==6wU1uj2o0UUUqr<)olrrn&AG#G|J;uo_%q8$JP@sPbt5_sh5-8$?iP(J&vJN*OkH4XK2%yHb0_g(Re&;U$Y(OeqdA^xTpUHgx2 z$>EQmBK*ndkQI(9L>bfDnh(yCs;$R=2-8h;qL|vj-T~y~`(^!~54As}CUz<}t(Sup zRBPqh#WP!i2!xhw(AMMdY@U9TYR~Ed1i22#m68C79+X&uBfTz%b3}Rke4%ZhketW0 zX%x3y8q^bH{OwQy6XFv*D#lHC#|NY+z-?9CN10zcEYi#B32lhcaUajVi-R^|6RQIx&6ujanUB`#lA0U2L2y^4< zjB#<_52hJ}M~jFhlFSG$;zf6Btoms7^OWrubkR#GQ(RqtrW;Jl za7Gg>s|Y*|3&DH7GBDg3IFPws>GU%xf^dl}I#5B>RNGu~y#3fn)|2~cjIyssY;48G z0jsP{mM^i6_U)ALpzzDrWN&6-`?*{G*~&57XES|3VEw-1VB0dqL&ilH;R-J=>m0-K z*84XWDD?b4hP}dtQI%-`2_7VDTwF2o(_*2l2yN%}0V@J=Wqq+CtU}$DN`x6rsKX7O z5v>|EF0)&)@qIgYHYUaZzOtubjgRWH5JWtTGpZWZe?sg$8_$Fe!cJm4aK z5%>;p`rC&Hz{25zdnxJ=pc{HwvNU&Of~&G4x7v(Q^{9s|JxWUc_z*y@z5TE}yg->e-tKgv=yO|Wq-s(!FBLF1 zO4%y1?dmt&@RZxL#kK(ibPB{;eHB}qydp>nNP#x1uw$oHOW-pEb%{PJrI5#k)-N%B zM?KbsYHN?Wk!Jw35A}xvb(tZ%pqmvgem0bpG`4c{ER=B#_vIT!MzxDDi>xi4!!=-8 z(cBVpNs0UW;ZUEaL(!r6!OWWjQOcdZ=S#H8bUdFRhauaneo;^?4GbXVGOrttW{iRt zsZ1Q7#GKa`_k5VuQtkVPV1HA(HbLhPJ`rS_W7RVx)_C!#;x#KzPlDHCffPQvt*Ip}JyQmw)1ZXf!1q($7PEN=(fZ?GGoD;u@8=auF8- znDbKNqk@i?aMe2>hm>HrR_Vr)Mv+W(W{>f?dkuKt`;2OYon}60S8eBNF4TchcBek0 z82QHZId9Jo{2)5bo%%6Yn^?dS<o9M5VE=sY0iB2fU8E+$KJ;+P zQMl8;?G~uHL+m04lF}0^dsCAkD?0>Sp>ALDUW2ID4Cv|3Q(zd=gz~4vB*Vs|N5$sg zv6N_?uNZqkT}Ftt3dVth#A+sR5{olcH)or?xxiB*kbm+MK>hVdsBv9C!mhCYE+rL8 zmC~Y3-iO_bZz}E7H|~E$JvLtr4;0(a(k71|52%M0X4S^^|I@tVcm#!G02`R=`NRS~ zr?^LvmTy%W)W7*`vkw!oKkFRJcL=-dt~Nhp8HnSt4coSYN2N^`e8jR1Fv7cCLB8+v zpq3w{pxvx1)2}yK^k^Xb**iapOWFz zl0lq|94n*(GT+>ONu!v(Wah|Z{3Jv6Swd4LfGm`8BZV(Go=FH3(RteEK~Brm(igJB zan5OQ8OUZ(rwHvD@8JSDVb+gBy6|jCIE-I|#1UOdF6z2PVrCS3E7>s}n|wd4)chSz z=|7<{2KGV$L9FZF%rJn~#b(Z46ylGW49W4CH>!g&FlK!XvNK>gVTb7D1WC4{bi(1A z&yCc|*Mw&);Q}xK7B=DFjUH{IMoy3SYsu?kc!k$z7*CWmOsqicz#j8(g+yOUJYwEF zm;bb#z+&{77rCJePPjX;WV=}$ROcSL{$BH-XBuBF3wNHYoQd>lWr@#wp~@z%2T;5U z=K9hpI!_co4!H%Iu)On^JOBtEsDt=`i6-DxfqdI{6HQs#?N4;LN-InIQ|otAlR%5p zz!b?V)h;YD68mj47cgI`8rxXUrus|gyAYIxDmU4 z6B6*=1bJZULQcfNG=WVz`m5CXnllyjs11kPi-z%Z?w#wEIX0`fNoliB@y}u-zN>sd72d@QZ7} zyRD?AS2kv!6a9M)5&Nlqd$sqSu2FH~4{_nRv+mktZa{3xkm%sWxZRDzX2PnrqxSgb zFP3Z9oPlGkSLc=wjB0*w>eyq}%g~$*?-&d}d9dcmp0#90ctXvC{n_}jvpv%M>JR01 zSC=-^-7jM+Clz{g79RE`9anH!19HBy3x(kj8MeoJ8uHw<3ND7WQYOB*4N`HPJ(ZVdLzlXo#3ue34-aB$0w}wbrj5QXMU$M_Hy(KvNX@;6+sP|z` z4K$m3wfi|v2wC5kcZJ&3P3JqF3<8|-j`P{0dd+!CcTI0Y0YrdN76F+q^bbViI@`0t07o*13Myx;LGJt?;O&dmkAI%k;Ie zh8g|=CoLB%+xzG{w9UwA56GcKhgjRo_kEXy&}?_ZKyfGA?>1bkE>Yy)#vx5f2@htS z-iMbT`;lC_KSA$NCVzqXBj4CY9ZZ(n+A?Xd=SdPF8|KUh`&XmrQS&)Y=>wg$U!)_c zcR)q~cZmMs)f9<~omSy1;-Q3Z(YR%~Yre>@%YyxRFoVI1lD;QPIh^f_EMScG(g4|w zrhe*BoE2YtT8jIF%KN`5&fKBTZ^>0mTwk9r#m%2a65zr?J>3K>W^V4p0)mrP!M$cu z0e(Dnwq|IABK;~FItQ%c6PU~23nxTi%wa2D^H(h&Oqs%X)eC)55G}Y~a*Soz$ZVDs zcmvqyTOhXjDwliRE3`2&O&I_inmLyu?n${JwR7dQ($zXY+=z8S8+rkItxq**g+o1& zpJLYHvNhS1&7=yU?3jrJHti%3)@`aj%M$^yv;iX?y`wruy7ES<6Hz=6=<`ri<67Qb zUoPP#_2`*0O%`;Tf7+jHi%aAr0)=1Z9vwV>MJeE|w?=ikm0;3gvuag`o39ojo3Y1E z_P90tkRW(88GL(+Xg^qC9cx{C`YDtTm-_tpo%2u4SAA|k69*Kc7>5>*V61gsGJucw zqjWM{5Udn?i6;qyqV!9}%ZUM97p1TkjqycL*`8^(fwttzAqFkxG2VvC3z3QpAVkmP zq2~!E+YOXbe4->?hdo(g=&#C!bG?+f37yORuo)5`kbRx5iRXcB^!*YWH{N##C z2AnnSJhkRUAm8$M9kyS)g`ZRJojiqcx}+hxo(oM7-8u$h{L;y<8v)-=0QH|@tBqrA zI7%#za5>@iUOC|!%_kukbDN&M$d2~j1_uBy|*G%`XN%D`1^jIJcPV(9O^ZW zd82`5{%&u+sgTI0D)Zjyz9a4(m^h5I`Z=wta)y8+MnS(XzjAcBHT=lJsMzcYX4f}` z0MiBCqG3JkC1jJ+j7+mWlV(iaw$2H_U{;)!Eh|Q2KTG6 z$+msNRh3P}9nlxzm{;-p*mFEKENO7$WwQzYT zx27O3z~~-jHapJwbi}ZIMoAWTx7apXHb%EW>Y+cQj1XIlmbcJU^Yo9eRses1!xgKi z^3!UuR5f}wbi&(mbjxO_{ajV0NVbK<{D4iwmQ(Nahjg#l?jry~2X*S7Xi#-I7#;i$ zyp-oIoa9KiFA{f_Hc9M>&bhp|_)f{u7d5eH(+9qQ10hs`lxY6MeX8cR`?4idTnd7Q zG0DN$bxBE=O+dbA0z5~@ze>mE_0$S=D=>7A}a=* z0>dpo@!o1RAN+s!Rg7V*RC($qc-o zJhp?(O96|t+oNe``k~Zw-^WeM%?WQlUA%Bc{2fbreM8-T+RF>l;0#F=;mzj;U1CU_VO}YIq8jVyZ1{nC*!N&O&+QsQ+nbKoHDE*W+BFn7W$40 zkdAg%ozjywk(cd#c}8_9Bw<|u_cVrLp?X*Hb9wCN>(v7^#$w%JUaX*R*G{JqXZ$~PwF}?ms zD0_>I8r=O7{{2s4^fLsejX}M_OCo6|y#}DqC4mvXT5Ve%k;J7PKCZV*w7bHMP`I)G zidLvVhB=VDMQiQn^1e-nN1CQCtM$5i$2ni-%2?4)&R6ldl$Q4v16XX$$+A1I+^WqD z`sI(>{5UH`fJ4G70h_}Yaa-T+ZffK&Z~8_~S5wi%<_wIUBJiS$=IoCmIiEl$3$TJ@ zEM`$;y!DckiHgSCcZkyy*l)KKTdt z*5xHybG78hKChO#xhv{zNo3#pEYQ_F75cd6EQUbatX(1;HCM7uN)xul;qCBl^((#| zN^)PFLlUTja2y)SXCXsUR(2(GskOw>D~WWLRVSuXCQf=W!#jiTi#z8@uGFm>W~BV$ ztoRuSu}h*dM7r}un~62EeOBMAHp40aC7&siz~x3RtMz1!{&kUNBR8jF+6(PrwZr@t zjoRDQdra1Y1zW~!<4~87`}s0MiXp0D8R*mKD@o!Hw`=S4LGZmG-1r^3b%Vq=J`u}q zXCrxGNaC&;<#RQq{E56rNn0~dXg0h$==^R=ZdN<>F?U6^v58`q^?K-GrU8gjl*43y zO4kom0c;7&E{Nw<;C>Ep3Rf&o~k9ik!zizoZQE2wpOQB zOGRUIF}#;g|IeCZ=C^QMBPSF>(n!)^$Z6Q?p9pnCIHfqvk^Pa80?9VlX(DV6TTljw zwZsD@J3-S2Psr?KCi55jfjhuII`%6-3E5vc-tIkN@!BY-qDret8gAkhz=FKp;(hX~ z%IQv;&uO07dg!KU;c1KZ8ZVZ(9-E`EQRRl$UpC!KV*Q$HX_y7z6qULT3oXBvC>%2s z%~?umZ7BwBV9-ktWH6Fi*g#PPW`9y)wvI8`mfbJZht+X{)&-xRa8?Su(>1}7#=os> z7IfcM+IDglx;(g9XtH*1%rUu@gOC@Ks_$Hdf5TFsnZU=?-H`+EI9sFNyQ}axKNZiG z%oYFoH~~SCkU5+zZs(^dtQNVBOt|#=iW|1hf>wrS_WT9gg8!;Yn|z2rw$vvbk}%II zL|rqnHH}dAkr^JdWa{U3pRjPxXZ^pZm*m`rfu~Uf%=%*2Ozzk3GPBU26vaOh!`;3h#_MWq_bU)z=8+|t&?YX-D-{Mln5hBY)*{GtBf{wCoE`|TJDeU!m-gWIqefxn-4 z$vpCXSKkHYa^J;RUP@%5PS`elA2G)`h$Ja@3Gt6ziE_j*;7}{*)YxYGF$d^cFL3|v z^+E3=D#(;~`aMrZ$ogwgOg8Izv^9~LgGT8>=<;OuTe2yDdL0X)M>?{P3h$@kyE{&? zGAsrq6za>GI@}vP$WSEVv!qAxEO-F#ub2A@9SxTaEg7lxs9PcwlQE*xtN!T~&N&94 zAjNHXicU9C-(?)3;1uHar$3_BX^$*lHH|L?Bt9{BzCWQqVs)yQ6*|c`a)F6Yz10~I z@U)*SXE5V35Z+oW{W_pwj3+SIpNMW*40)+c_vFP_2o?1)Rgj2_;I$1ClpIITX-u}q z`PCAGb_2M`R_#vd9|s=ZKh0CNbHHe6vT{77Xkh(3kfzwF)CW0DAYxQ{M?8nh28UAY z)tJbca%KrFyJ?+Y$oUb!dK8uD-UF>Ly7!c8LNbx~=TQ2p5Ze4~w`s>3xWO zvG(DS3epG@qaM1f%_xb*wo_#O$@Agxlp*{Th;QtZN}43XNAl(x+S+evKG$d|{87EU zOg~p#F3Ml-YrCjofLaV=q~FN`F)KV3vUO!pQp*dlSaZ&=Zb^ zyWY_=oBC0WW}D~E@x;{SKl@Y+cc2y1rUC&`uQY=qcmM^qsqe)ull`2J3{N$c&SkEN zpJdagy-Ytt4zA`v62Rgh5>&=fCUS|#KSIloS;IvKc&lTmd51QXZT45pjMxMme>rn;$ zO|rV{L?>WT77NIz=zA&ZRMp|!Q2AS03^Oa&gqcIzl$GPi~^Po^mHJ$fr4NQnCz z`&B9Zsyjkzd{mFIv@?8Tj2;G;JbCX>kTSMBSym3Hf0m`2D0P-nYJ(JS;_8EDf9bt^?zW7e8iw{-(c&R04?9>~{|P z%1q4$jkIQt&vtCr+tB9)<)^BdS(Jp6aMpyP53&>e6tCw2N>ZPE(~m}+O7Z1C1@}ZO zGKWg=1^1{3)OujdF$-Q&4(r_ju`Fv zC>F#bW1#o3`*g11u%Ot6Ij+{oHt7%n2G;kcp6;1Y=Sie`gy+Nk@V7UsXmkE`@AW4k z(mI72g)O(HssZ&64ZFBMpx7IhpS=Tx;&~byom@-lqQ;(W<@F1yhf3=8ynIwUyU$hL z_epdYRL1<-cW%3C9HUnkTsD#Pt6w=Z3$0))U+6e1n<+7;^jU9Ayh4X}FvE&w_C4Am zv=!*JRicP{6<2^;g5hQjYIr8;dY75jNQtINa8#!KU zbb6I8_rSKomLIG16+XF~pLgF(`Yh;hZlp=aadBt^A~NO3V?D@REN*gS!}AyL$29ak zU9;YA*y|om6Xx8FHFXO^(G~7=e9m@yq_x2pbhg;$@+IyN=(_x=cu~@(ium%I`lyv} z{>@$KmrSqS45iy%ehq&CTsiGb_>x8*wvfPDImJ3h^Naqs*6-lLCBdlJM z?um|vYpE!!dqo(@!%ZK+ef*Z^;2rn%L6&g|hXRk*Uun=okMK+XyK9A& z(FqKpkZYHrk4I-8ge!s}5UYObBGdgyG9)XMxK8Zpc^-%1)_qeCT%~-r>lLwlRH3i# zKFni0eauKGI9$V+@luEM!)@wN>Cl;01M-I~$_7!}`J)owGD*cOi~gJD(56F875(df z(a8XG9+<1Kol9drHX9x({6EFOzK$o6DMkgjs15Ho)=80^a47^bWqxS>g~gs59a!m}NG=1K&i0hU4OX>_+mSdWsCaF7_Z6eJ zO+)`&rO&@E)W9CeM|2hzLg29CC$!Qs)IYjK_+rJaIXM|;|6ZM-Zh`ems|8AVx0Q#H=h(9cijDeW>h zgEdj&gHZ`^k(Lnn=squ*NrQnt-9$AqF129Z%0VXrpI~+@QDCv3nMF^9uxK2jM`l0k ze2gwAOXGry`p8)Mr}Sh3KE3yNw@Bpi2n<}RX|ZE`dD1R0^HUTQ%pEN1^W9iO3WL*7 zDcIsDyf}IN#CPU}*aYZv{@*|ul_yRa1|ECso8rr+A#46moIq># ziQiB+k|mnUoCi3Fe>6xQ+ATVRjbIsYz`xTV^~5P*^##{3lg;nATHQADug`-hZN0fx z;zBC@lnSKUzl8*DSki!okM9>Fb=YRs?f&_L17AHl8DfL)U(LtsZF#@?+<*xiNoCi} zQ@ui`uETwBOG?P`nPNP3i4Q&K{r98`jMe5SkQ&}dWbP7Yl$@X|zl{s7z-4`?$~D#E zfjYenzfnMTRWuvEe!Un%6y&vH^^xXF<=?ucDIWEvY*SgdG_T(j2 zUNLn631^%M2Sov4Z6AH!%6YyvsR?tx(1x#o)?7r@)80Qfi1k15Y2@`eE!H8SO8j@v zH2)VvU|z2t&%ul&@+V!Z>{k@Ea2ZPPN;Y!uiu={dqMXC{^Tz+0Fw5Q`hdG`%R~`31 z>}wxSzx{X=S)G|RN5-P_PsmdlIdVWj2b4+ci3{pbuf&ou(4e&0>-+xL`Fd=A6#$0{ z%^lp@5w3rx0{{8;zd!unuM)^WZYls~K(>owd-nf_NBF;&{J;0|e=nT>ef)nH(f_TU z|Gggm_wheF5z~9XXpzKIWk1KU&>qm93P>$SGsLMimKrZ+4Y$%kN72~i-14&}`df8N zPFNq|!HGB1g__(Rx7dw0e^YX8F8E&oPNk=niEMit#w!@y7CjNbtd2qvGi zKe5=mQw+DarO*lme{m0k$$YQ`)mVzKDZ>`04}WZHY+RQnXtboJ+Vx;Efx zrO;>yZF%a0EoR z5DG!M6n^LUa8k}kt7eUS2Ae*2qpE06vjUzahjG&@GPchG{!=Ra3Y|e{Tla9ntM1Ov zlG1>V=-Ug)tFp9Q)zTMEE?ht|HZTM>TD+W_R|9o2r{OXt{6A7KgDxOp+iH&ih% zofa0;83mjEZF|V# zc-UyvG;U{ob^fgV)Ii0!=XB3s({ROWIZxB>Nxe;XypZrwwR>J$F?O(%TeINV4K0_= zGLinxt^s2CwDVxV-|bb|yKjXV2xW2xY=2M*`rWZ~lJ$oNs&80)N-wzsIj7A69?ef40$J8dfjW(z-Q%6 zZ-!OXiIdDSlQx;BFAa2-`-$1B1 z0_9N)lH5rL1$p6TmCF#t&i=EnhNw;nzX4j#q~l7CqE1_=_-?36pB<=bT>a-x4F-`)Xcm+ZTPF#VijTq5(s}Rhcdd@uFbwFXNa0|rd+LhH@<7E zvs7$BrNh4+(k;x66j4m@GkGyvn(j?o@rM=&0;47*Ez5pB2v+;H@ou+?i81|0g8B|F zxqhnSlkQerF(VEjC@SWewdwcurci``YL+UOaL_(ggT08$aYc(kS&io#pIWRr;LLDi z4##N}9|3ba{mCpgrl86|Eqe+`Bw`ZB+dmCxG#W<6+YH7kU;+4n6@#-B5@*8;>4VVm zb}yKTV4+`oJcs6@Rdb#g0BP6EkBOrVlu_uwM7WIc*vUi5JU*M<1HA!cEcP7uQL7wd z1Qh|jsgxmbxn-qAvuq2~8HUFipWjJP17`RJ{_VeaYwWqe#1$F}9A< zUQo3l@S9~n#GYTI5{(c?Zby#dODp_x=&&Bj`0=QjbM~}hB7(4kh1==S`I7o@_Mcrp96sx+)U*OC0 zFh#!Sn9p>l;@*`SNfhelL=J#89}!vBmP+v5T$3G>#a5 zh$vm_?%jOOY~t5`jf$3wjI%4Pq3#1G%`jzfs|4Crcby%3)oLmO?&bM%G3Gr1UU4o zULIOB-BKC0sy&>9ri$D&TMb^Dl^7XO9=kEt+*t1UpnS#uIJx}N?TJxMCAghx+!1@u z(1C+QWns+?Z?4cdn}?amrn-UO{G*B4e3fKEK53VU&w znRQp&t*q1c*Ys`xe{O@2Oau1F=;kkFpqVvZ2 z2HPE}0985t+Qr70oOm7dYG2aBx#=BlY;)@@HcTR8$MF8{tfVSll`tQyl)0I-Re9l) zz=6m+r{@=eGCq#K28J_?@f<%Q}YSr%gKA0+{~A zc)iswLE(G)swZ{ghx4?YtwtuK_LJ9@8b&vW`l-L=b-(wuMK$|Eamkst27Q-z6GbjB zr}C9!^D|iJygNoypqqBK_Xp%vhG9_ipq={)ROf)?d=H-q_lLD1tfvxEE{1Xz=0^A1+dZHxpas0qsdrUg z?P{IW${9L~bsvbvS8!#%6!L5j09ksirj;ne z0^YR_AAOpR3C%G!MFFh-aQZ_a+ky<4d7o2sdtkJVNulX1Qi^Y|zh%H{R-8KTxD{sYzf->laFPAtFM`{z>h zDil0g?K^6T+?rwr_m#^z=#iwu=cqX_ajP7^${YK%F=)mWW7I4Piw&hr`+G~Kr=!&i z;R<6Q>#yJP>RQhvVAI|7!Y@S^+T z8dj-lLR5wlV}ysO`b3_)TC4Z@xPOp+kKVv|efoj!ukUFZ%=MpZi&{B2MRebO z)eEG_AajwD*t5-e&6W*KqiYVh?_D)&)MaL$VQqh*&Lv~0my@^EozbR1HeFc0$Pf%w z4?5{elkO%7{GyQHeM$atwV_Nf;vTy`;9IQjdJtsj!%Uy6->Y+_MmMWD@QX4)P2x2a zTv+Yr{cD83NLMpG;PPW@WQzC>Q_-ArS@q@KqDd6XmuNvOlKr!+dswl+E6T zx%s&7HLAj1u;^S?@r%o;kr%TQb9hmKo}wx%DdUi(r`z=F5~klk<9E1X1egfV zpo;k%NymYU51ydPD`A=I=)L>TpzrJ9?q?sO944FeQIZ60&F4G4AGbIuajZJxqS+aT zanjlkMq@)brX8@_7tb$%JdN$RGD?G+lF;Luy_Xl~mz?q5IzZ1mcW&t_Mr2RWW%69# z7mtWFoQQ=6(D9xvc(o>LZ^cbAcr4-6LUHp|cBT4Gw};B>2CrZ9oS(&}5zoCZX1rh+ zl1@74y@iiQ!v>qi+Q;Yg5pxkuaPhE6KERFbq(9&7S2cpOsuVJ362z=+qJG=E&Lww z;eiKcMVu|*?5mG$YZ(@mrt`WuF6{<=FV`#d1-BNcUJTy)belk6>*;DWTRvFgKXDUE zBPP^{SdJTP>~Je|3uorH^?NxmPF1Lcmz$YW{a2gcv;)GYN8k`p@K(olAT)LpY94M} z*g6r$^c6;-@+}U#+=Uvo-`m;B64sHp#x~VHWHp*2d?yRL<1juPSOH@!Zr_M)^yksk z7VT+yV~Gr+z8ACMZ3|Tjk#tbnie*l{`7;9Dk{zBZ&lO(~;TtJ&)LS5M0#`Sq#E1pg zdX$Zt?N)uU2DTFey??X5^5*o;y|*>|;M9lIz;rT4fu1K%WfIO8?yAYAd*X3(4|h~d zRiJ%2TN*`s%4S-rk^J@wT*0%HGB(Gm9oyClx?LVmD8JK7ersP?eO=s)fBQx{(S zEy7`@#vdDr7nKkd_JIf3Hw3WbT!dz2d#3AND#-SATuAK&W^HM%9s{YAN#nuIt#DdPZHGp zN`@jVyVI{k*CXG8y^%|_TZ+_;imaIV7ThHd4(RpOlk?KP*LE~tXr%Ph=XciXZxq;p zsR0A{4fP6TG^zmQraI?c9#FSqtNFr8?c9?Q_VG8X-Uw~j6YRx0aV3d>CI7P(+{tX1 zSwL~i5S~j})C<(gsh1updkLFNaUT#PSK_zWVnDo7TQvdKLGXT-?n73PC0t3Mo$LqC z;fe~_j2xQd!4%LuHIxp{3nST6{^|lxkoQ?n?iRbdP}@mJX2Gv=hxj9vF97NgOc_l6 zr*piw7CAr1NT=qa+7Aa~S!i*K7MNhliF?kqZL5r}JZyat1ukT=)yj3_rrC-N&ciqX zaYg09#R;aqw0%YL`+v$GxTVC|u2X6cUmP1qno|v2R-ErIENtJ*V;L7DfzOq7_h_aH-n;cW~+ScGrCy2 zO^RR(zBrsd>*h(om>od?X)RTQQO4r%^8kSCkn6pb99dELV!4cMYlgl6aO}VP%G%f!j_r8sJ{9F<0{yN7Ke{TXoA)-!M?qx)_#0gSAG`b zSs+-TWX6DNB!uid-bx-uzEe_wUU0Wk|DFc!!?*0ens0F@iL4OuuY7kbO<4C4Hc-M5 z6S{TU3%x+fdf>dstnj;W^Fdt9A*`Q%)US?rwA!uO`gt}%aXLW<3CUiNEKC?00IYr& zYGE5tFd}#C3uua@)Oz8R_~%un2p}J&NE-tzZ2m%Z&c)k9*~ylak_Y>_Gd)dg%C{2FNX|u4p+MgpK$%_IJ7>Jsl-<3s;kPb54NHH| z1sWAe67VS+WYD-Ckm7c~B|=aJm=&5HG_rEa!lK9-7)-raoA0l`5uVDd+qSg7_taa+ zzF*Q_OHOZv7wt{~k(Zq)aE0Dy>E!r&W>|=8gxT%+WXVT*YowDO>1{ZwX5&RFApN@u z0;}jd$ac&udy3LuW%8{bZu@U6XDJ>vIjuMWE=JD~CKPv4$S1NLrQ^kcKDe9zqRx?E+!lw4I_=)! ze65_Aeyd5_%4POy&+G4toaVou?1S~zEtg{K7I{i40`5L0tdhV(B&-NbFzw%dSg+OU zqIqV+kfUSKE5_gr(bf4`@tbepa45@hV!P&NUrEi2i}J80yi)YbBO9Eo(#c3(vqFO2 zTvtT0Z(4P_cW0?lVXBo**+(v*&>5Bc^Z--a3Ejui+m$Xb_%+Ho85Za~FjDUg6iq>d zPq&=LTUx#Fkb~}76?dAA^?Mwll}fUZlnwAx4;-OgO4Mshtc2eh>v0KyCQ3p%%LwO4 z%i?!)%<9=QcU9L3$5v7flRTS(;TeXG&+6H}yfrl5s*M;@saW)3DRfQvebIA*%wOw5 zJkQ$$9+*=2oV5dS6MRe^`rAa+!-M{k{Y8V``ImOF`o?1#Wv>~e6xeu@y|>VNNEe%p z7>cbuYmUj=S8;v*1&htbycGjW+MQ~oZDkr``|5bhzS&g?lKC{Sz##6sFMoZ$@^0<@ zbD-v9H7Rg!HPB{I8*zkjtm(A zcEz3S67#jUiAS4L)P+H~$__tVCL{d*+T7YB!ZXSq@2L7mhihNXMA=GD68IMWX=!^Q z=*^-d5ATzBAkO1(53^HnBmz@U$r3$A!LaQ{b#+f%`5~CWt@VXAgW+uGr}lQ&DH8oQ zyIK?5@B*8qwlA{36YLnt31q>U2w2Nw5njxLMVIHoAZb2p;7}^F<||L{p84krRVN zs!NUACqV7*pgiC^d9VrXnyH2?>6fpO6FgKEX+D4ZK**yQ8V!gR^FcKN`R~A>j_FNS z!2R9LV_HW6CW2MBEEd>k-}zCp>j4=7u=#he?Im_o-_oUZwRUxUQ+~nl)eKf2x9wRU z^O1OAQ%TX6nSj7*vgBL8ROjpSfZG#p28;gGJzK1czF$x+Mm}mpgKGkdrjB7xckM{B z_R!1_?EkU%p3!i=ZQFNrf@p~nVF(eTN32{)_Xtqb6@x8_rsfIWzC0^HFL~S_G90-{kO%3J=?SH`ZacPR>1F* z*z%IkM zMm<~pQ5wVIt9$s|ul??ymSBmgBP`)E~4gr8_?u3R%Xm)ztDd2t&n`Vk55 zz1VmiZWC6Oj^>=2pEIFmhj$qzwM&VaY96*r$fsQOoqc${ zS49Ok>e8U573>x>ttL^@5a~+?`#xU!xGR|`8y|fy{*nljCwXQc>3#S)YQ^nFq&T;M zccNFQZGz#o7Mjc;w`BUX!btZiY0l|L!C~cNTH813{eD&2OPkTAVCbt}?+i(oIN{CU z6rXGry<(VhEm^ANAc~JSZc}7e5-s!LOM}J7EjilW8rtO~zl-}_5yD;f#G1=WEQT`g z8$FwGwA`cd3z#0*anC5G6QzP5@By+RHr8;EV4RIP7djP(@Ym^az8#{CxP_(uN7Un5 z1^bq7KyGXG({xH2OyR1@TiFHgpqh`+in0V{9_U1g8kp7rnTIgeIbAbvNU*Rv z?iud`0k8ko0tHSpjyc3~9_$Q~4r+_U`k)Y-B1z`&%q=)dCaktCkYA8&I!sHjHgRib zJU-ok@GKICM7>0(RJ~NMv|!nmV1(MEW00L>o@Hgx3Z+@cZMRrjZ1M%5ApsWCNG79T z8xZ8E)4O$&9{-$54S)p50%bZBNsFbA>f$#_3 zc)wx$RSf(w+*hxNw;hF1n2Yl#+43|hb2i1H(XgR9EW&bO8Bb|~LFcm|>xgM^8m0gc zzvWRw>_ubu56a*5ZRMIT>_{3oo7&8-sFYDCv5&Z(A;Qz16KqtFjQDtMzUcps9~efu zo!hz=m2&!_y}E)b?~g-j53_!_+wbF{7T{ch!bUC&Qe5z?4B_&wlKbfUrPqMVdG9Fw z9x_l^tPt(q!iluA%v|?#lAitAvA-o@c*;w}ssbdpIpFg1C!b#i+(^YsGW_N&DV|%c zidZ!tR6xRXymvhqa;2_%H%vD47@qKQV&p=mSIHpRtCq?NbXko>@DXF{ zUJb+Ze;#mM4pue*ocpwQKvr=z>^%kQIOb0AIp-g+!&icUo7$!kLC?=wG)deto2L5R8zG6vF;+hG>|DzDWpN107N1|2>~eTwd^#GYYdmc){M!WwRpHlZXz+4Ug&`Blt5_LB)zlH01< z-S&z>RNaB;{83PpS6#ac8;R66eb%cGKay`!qc4Nps~ukM&L>_tMC?4u;AB&YuWm^* z+qim-!1wv8_5SHaBpJjSOwZG4lh8+vO52~DAn=!veM7ig2Ts-p>4Rw8p8(<(+g--I z&7@5#-TJ!2tm|*61Hv+wXamspZ$iw!Yi%s__gk;)7fszze~eirq{VzQ%)iCg5NL8zsMVUu)zqsTAW}vj1buT zi+z?ogGXmfS;lOGce^9ys%B+u@$n#`$!~_OG9~$ei_>0425a=)e|f05G)CEFf$)5? zwCNlemU1+3-Y(Tt^RW1BbXr3bzwB3U_`vR@Riz|fxIuOha(f@h9U9>kq0qX8LiLuC z;loR+kE7SeMQXX`u@Ij`95hlxixBkgz~uUa9W!o6s2yY7_D61Jrz;t?KlV-@yIj?F zr~q$p30K#ryWFLxh{MwaZD@1M6~O(n17q~#IsGGFJZw7{oMj|lZf=yI7Uh3hhW?pD+6XwY>iOl~CH?7mN>2O>yB{U#m}4=o?wJZodRYOzHuK?d+8Z*CAzd8kH+xRK!A5|Yd!;N0Di!ctIy z4q_L$8=OlsDR(&^CE738wUC)_}9m8bgyf1dW2^giY~KKkz1nDcX&B%sMzWtn%j!>|CsAM}Hp zHp#Nf>YDOSnN%<_B$`CvHTn8nvRPrIRFuNm`*eW}4D4VU`y=z_15rGSN|1nWFZJ?6 zbJ`zIvzmaN(6+$!tIKTd&%%fcT=_Ld+uSg13(O!<7S>p@z{FsuBujWy5{%2?`Z@}DqxEK%2a=e=iJl# z7#I>nBD8uz*9YW5M@$0oV~1P@n}0FJk+9yJb}F~tJP@9#cI@A{d^S=M7;@!|_TF;& zcclpnch;_&f)#&S!VK(ur0(r`DchGOmdFJSNU!nZm-b2IHORSi%{ys0=0EU%UFFCL zlw#PdOnF#XK9HWJ%NTBhMEweyjCxq`y#$P|C_j#Z%~#+25kBhYPeXfLeV|W^O7!(x z6`P)IZN(h;a+F~s9*X)SVHZcsX^(tWn}6N0uqVct`qjvhlguP97HAj>K`UMXz6Wdr z;D%L!(d4r0Oy;N14%XWkRlZ9V>|or6iC<7RF z*TucyS1};U)od~PdSt=(f)u+gj5kkp-P59ybRQN3q#yaev z+{fd0ttL}ZrP{+oa3}Oj$vBkRni;^)7`|kj8IfrW_()v_FgsN}rSiVX846i0&vrV#p#e_l$}BIpU`N96KwF#QX{<>JKgAFC{UR0$TlDJEc1*#^SYqF z)W0G=x{rbQljJ0{NOo4s`M|@9G-32Cv49}|t-I{W1|K(*DK3D)6GBR%D-&VjrnG@c;?vsd|5W^Xl`*k|9tShBSz<^Rsk$+*u%jA3h8A z#%HpuR_Qg!&z)E`_sm82{?>rZiRNCzCwzzYw=sdYTttavliyPWQs|Sk1MDDzq9VP@ zq9%)rhjNmJ?|KJD_G{5S!krq!i;uknTKY2A zf516;x1A&IeggKqJywHiNHa(2RY>OhljUoTd(+({ie1&fnKPhMCj;&>$8GCg#_77C z19}Yu&&c642R_T+vC(otnGv)1emwUoIq&^K%k&mhXOa81)m{#`luE6^VLyofoCnvu z9eL(bG6i;U;d?D}y>}7u=IoLTejHR$fthQ(*TY|l>vG>&A_-TL_F1s+dqCn3{}eMu zjtVAXAxwR4KOthwRg2(vC**;fx`f`fy{1$#`KYu_mSHYKj&j(Y;FJk?xBF&}O_Cyn zVH%DEU#`3Dn==@t!4GG%^XSg*vQ;>vH6T;6QWvi1&Gkl zuL>%JSq;C?_M&g5U#&yqu-(Y>cA=}C_ZuERqy9XjmTED>v<$IK06TE|#R7F|u*)62 z?OJPNe0p5z`pAudiBRah>6~91W-AqGwKhbUuc;$KX+GQ1Z8P|Y)UCP8FF+>fLS}z! z$m5bVFbB|9gF~;vVgAoTppio07|t>tSmayaGCeOuC;qOkNh9|s+kOO^U~`; z<$FJaV^v4oBj0ua*ZAP{T~69HkBz(-e#uRIKxL& z+mqCEtBTvTI6^RK!?O0+pqR0eqcB>OE>2b_cToz^0iB;{!i zV@_RiT%LJET9AJE0g0Z6J??5%yX#yy&^6Q?au>@0dBJAz9YV*%Bt{u@{4l!Y6#x=& zi7eh|cs$ycyML$K)LFf=d&#<6c*k3`18+$ylvr^NT{cL5brrS`G+71uXc+?Uh@Zf1 z%iJ$M%wp_jUf$zJ3KU^&|vs?smzggPR$bfSV)BTdiT&nbv(wgU3R)#f$c43Qc=z%rDFI{NQe^pKCutIN|aD zuENomy)rG5|D)lwM0iTzIh{fv7s}xv>x`ntF3oJZ!I%KuXqdHRzgCkWd;uu+Z&)IL z>mNle+J+FruHF1WW&QW0UCzr&wz=xTgtFTH5YOIUrz75eV*#i8o|;*jRt_6WCU_hB z6V;8TNC6ihd*vcLMI0_ksFv02P&6gRwjd5;#nOLC5&6 z3j&^3=^l+5TszqdBt zL+#U0iX|mAJ2f$Nt`gtiJ=TTjRtbHog0g4O^$Is&k`jD0b2xAkN|aFIzMBR9 zhQZ%4KXZ!saXdD1A7Vp)ak4%>B6o(tbc9Ci&}B(}Dlo2T6Mi1Ee_MrDJ>YV(y+j}b zD9i@jl-v3rh>hmE7=$B|(mo}>ztWsG!GYWBl$_E;PBSvOI9}&HEjZVu(`CY=tlk3j z4wakUkgL!WE^E^$zyn@p8PaF^bVNp+l?x6`pc48?-bGB0Ct6%M1Vg!(vSnw zi3%2Z2`V$mPXt`0jDL#9^)*frVuqn}Da^kT%`kq^Lv^2UOTGU|+x*IY1RqHfly5+8 zKT3XT71!*G{NoC3b+7zs1g}edPi}E}mLje~FB}J0!PjaT5#HcUcGLLZ2Zl{?OO#R# zx-bo!$+ede+_8y3j!gSM@myRvc5pb^n`@Sz^W1qDP`IpfL*0}k6~79pxXL-{QS@&_FufqnB4trgA9w*HT)%AoaK6aMjj6t38|-^l za@VIQ$-@_yB47&6@mwfK^onBRL#Fgv-kb_$0^pYV251pGR$>y$0+BTe#t}bQd-`TI zDNFJ|J90Zzvy+r$zI}#Bk`J&Zdf2O$9*5RBGN787q()&3h+#p+KrU_RY(QIV;{_sl zKvH|ig&)%b6kU98aS_XJBWbp$q2}$-f5SuYBs7n|tG(qnxvsk;;8h=jxyM@es%<|4 zZj;|Iv>8q1x&7KmdXN^F+1>2u+Pm4V8rnf>M~N z^lMU2+&`aMKPG&it)m=xgBgjC=S^P@vV-zLDTJZ<4xd^ryOV$Hgf>MCY?`4rHt5o+R1AY(Pj64 z_iW%zh2UuFIHgZ^(&MAHV^mqQY!@Dy>~JrPDOO;p>Aj0Z@0d}M^rj0_lZk(KdMrZrHqSCrO%{)~yN9|0({&+prPg0uz( zr(j?JO$c7;8%N(Il;*pGdQl+PX1Rq~Ane+tYrnHtEZlV2Ys#>PI6u$@uzNSfn^Y_3 zs~)J!!s-QqgT?$WX~~hFzoL>JkcWLu-5>w_vQ>f@Z$#g#rrHu_kMT%3%Wz81f8m`_ zStcJhvLqF>@4>FL8Tr&+iucVVaE~;sInna=9DkPv5)kFf?o>t9tCL=JPLgU~n;5@) z@9IbPcV$K~it&(62+&bRYA(`EnKnL|Am+KQFphiOx0y1R4 zId)YD#GMte)Pgy&|47rk!FlJ#Unk8HHW>`@CYjr%W5vRl5|x>yILx zDD^6b&dP&+vCLMk6;r=WXV;u)9DeH^pnQ?clQWevk!$J8@fuF|X!CI*gP4aRGQGL_ zR}>$c77=*Wl19PK<9utfy=Oz088Dej`I5`nFV0% zc8zO6h0=Hk6ATl0pSizC;JtE?1JFEBFLxeqNLuIJt|3n3Q%FiD!(!;8?mUtS**{qy zWX_Ls!n{;Uup4km)4;gg#-PdAcQc^q}Y91r!~R5n^%q_nYSzh1Vk$4Kbt*B83h@(0y1Qoi=aoa=5&8>r{Hz` z(+6HoXV{0E!@kM%Ss;4)M2+(=mYED$#)sF4_m}6tdAO!VddY|WwaS~R5c#Fw;-iH< zRWXC`jf5X4Z&*pNhKk3=;s`5HlikNXcz#?G60+qlZpWlM9vB>E1>j!h(%7cV&j1@r z#_9BP28He3hMNMd7!7ist>|zd?pS)Z@lbE}e1qD*tc`yZIrvRn4&VpMT~73+e~oMa z93B-VtQU)|Enbd~q+m{Cabq6-OWkbRWK(gMM^oRxWq##e0gJ;q4X=qdnRmdi9#Z;T z`}&_>4~DJLk29cCoEDzDI%oL!iMwX|D503~px+lyD+Ii7{#NR2T^PDvykzFo_zudYr5LZ2kRs(tpfOy6~ zK{TLA_gLpoK0eJ+rhSYdaKe&Mv8g0n;Yje(LVQnWcUANY7!y4g8Pu|tq*fjibqU;P zjPu+(Js&f!fBgX8&FUH$T#V_cCSxoJexy7SCiwQ}oAfZ}rt{97#U^!;+U|(41x5YY zA3=Fyq0see0#GV!Rha8O#XIW0AEQxCHIJB}Fd_^S*YQm+l*t1<8L-D@75ryZ#G$wA zM)Zv`NnFNT^clL{jM%6o>5ZX^y1##HiN;?PZo*lx;pbe!`l$x=Ck zZ(PidRDgtBudPZnw)ZMzSK-QA~R9q#HU7Zw&qEF#^wu_G7WN23(`-+J}2pHII~p2@@hu-foR2^e?Z z$`P|NPMj^5V|pB~@=-ZgLr|Ilrh>b1=qW50HzD+Qt8AB=qx^K!w@lN;m=MC8X8Bqcx!?;TEoC&c-WybvXU5D{q9Su+FEqY`v*L@fY8%gm${x6H9722HR&-5clB~h1n^=!aJgyvSs z1rr?f+)Lr#lo*jlqB_!&L34*MRj#x0F^Cl|N$-8L>PP7Tsy$H*`<0Af)wJi2E^bp# z4fIAn;NgvLc&gMkeA%7H3ls%j`;6s-c(tVcpUxIn`=<42<@dqqDyu@pbf1Spxq_|0 z*aU}*Zr!$I1N#jax2z(`MkLqtEJ&_uG4^|~%G&5!zql4})C5sGgS%G+&%B6z5-dqN( zg%a>eI#QPSZML-P8{qLEC~PVCXs^DSn}dB)<=JZhk?8}uCimAF-`3_jKD3I5-2r{Y z>Xh5f^oGzYSBAkp$sueD+Cp%uUMBsH>0kf6|GQ~B@E9%d7)3ZcGgZ@21W-z}3$=NA zcort8=#$@9lAqWw%|XJB5+f4*VV^$(T>K?aK)S{;Zcp*79T=5L9CzJKIdVIMMNIwY zEMSXZlWkLMQ|S>TqMfbSP1{ZY;Od%(u9&`=(JQ<3BJh+p#DVTXz@4>^&5Bgq`J6UQ z@UHm--euaH_q(@anXV+z@5~n@i>4gEn+}^Z5NCC;u0e1G8~_9hgc|Mljmhuo#B3Bg z)fC#_fwIg9q=C~RblP?d9b0C1sUPZ_>15!TTm|kr0JxGT%R5gbU|11pGT^^!IU>>J zo*6Mdd-khvQfyAyoaES^bHaAEs8gzhS;6>-XE_kk-Cx8b#>p;kPjm|>^)pNZ4w|ET zNu)#;`jYnlYU|tO1^slgF&3Mn9o++O`abDM3M8sW0SfzFX;m$PE$e4HZ@wG@_iD6$ z`L~Vj-~B~&8f6Kb+_h|Kj?}wqEO4Rg{S5amAY(M~1x5P#vQa0F#$cCCor>-9_S`|B-vY zt~LeDF{}rX}fY#AhiJX)Uxayg$9v+_5)8 z?a%Kt0(*@P=E}Ic=f=q1qf@si#r1Xjsm2?5} zTlW`sS*-2+vxQ-}saqBT{OXLZkgGH?&;CEZ^B)0?Z#!5gkcEpd&a)Tmy*O=n8v`Eb zvwhe6Z$%m0hBbCqbL}s7Ol>DnO99uhut^;0%n*8x5=1)^AOb3#tk>f97bRM<&R;xS zb;5B5zdJ8yG<%gO^g}Z0>ZBX-6T%JqrMb~Vz~fhAf7{WVV!C(p3Si@`rr$#Sd=VD4 z0~N3KG52KYT79`%KDYUS-YNRsjyVQs!6Ys;^I8FytbT06Q&+r4#mYm8lGP_o2VW=V zC?Vgc2Qko~-7CrX#0zAv*LQNC+_iHTMyuL*J0I{~`b&d_aT_yMj4lg9uEh?UUZ9&u zt3RI?3!5;Kahj7_c}dmxxS_nyYE_K5g3CX194T0SK*YlP6&}WgEW7pIjf&%N{ER#c zY!@YLW3Nn3qf(s3+32npDc%WeTX#F0 z-Al{}f9ZPui@#pFIe*^saG`W~?Xbx70)y0Y&G@wDX4pS^u#yMTGY+RjkB3}dk{2B4 zRW60=g6RuN_3Y|lP;jcyMxN?TPh18=S?q4rFVJ?&8pJefonMYU>Em?v={+*+_A_&` ziJ3}{F;#v`fzPh5sPsl!Jw(aXaP}!irfC%jjh2fi3f6R_ zT%_W`xV=Kk(_Xse6)%j44RkKCMymrgdo>H0Yj45k-4v%54asfIS19BAv z2oc9~a=jxye<{4o&`H0=ChulxGb-C)>v{{ywvuo;6^R7J3(&}823W6Ow6xSBWp4j= zGD#prwQF7=@gD|nF5;~=q z*sRWigt(Nbg@g^D+oigidw%wUm}}1iJSY#aNm6e?k{?3uP(l#rDals7M1;@W#+NjJ zQqt9l$!DwbDUgtDs^q(rP14+?Z*PCe0)K2DxXl6!1p3UJuu;roZeUu|gQzc}@v-fGNPW4P* zT}!`sbGYc=;CdJdHB^j`{1YtbGL@QpV?>R0BWm2EB{R?&?E`o=B{-|?LH5WI^qcRl zG-gJJOz)q~JMeu47y(jD*gyfl+`=CKa5e9$&xhbWAx@0FMTE=tUK+r@y!IAob6_=6 zwNgJQHal*yMfhw4ZN4ZgEiZAc6;C|n1F0Ys+KT^cttWUBoGT1u9BTMny-}jCE+rwP3gUN>oqh*`-cXM z-j_+8!fvX7O`_40wCdZyjUW9D?n;Ba?JiO`&F8%9^O2r&SIm1DV}5sQYm*TGiHUwk zB>V6NZEg7c-C;JGu1m%Yfa`?wV4V+T2)UV*5WHP1__E|B6)2<(yxG-a`o! zMeU(fh{Gk1bR7=r{<#_}Xfhz7ML~!zKjAe*b!S4WRiIG7cAV7#n~?1SQ?u{dn?^`& z!of-lzN*q9XdI4TqbO8A%Z;wF0`$RwM}+pM9lK<}w{-6sVHU|Cj#AJqG%f!2W;l+y zr@@TaOtkfKZSpxW_Je$NejiF18DqVY*Tt*&i=2df>5uikgs5{R1Oh{(_!l=5rTKf+ zk%|+m%UA>oI9TcmNNCRc6wjAo{|Mcgt0P4-}*gvJ0TJN z>u1kRQ#tSxT~5^IK6M=Xc%$qzpfBx7IIy z{9B=Dx_vWs{__tdKX9eIi=uKlwHo_pp8bc1Z#X_%I{zA)|MY)!_+PD2MtBNu#9!w6 zKSTLHJP&*Za2fW0AA$d4^a5p-|5gHJ=lu-c{jX2{{S4ms{Gg zb^k99t8eFzjuiigarkF2nJE4RQlbzxrT!O=?ms>cR5PI_c>j4QZl==5q`zO+$GVH3 z+yDEMH>%3hC;!Jl{a@4R|DSUI(-{7Ld&;SOm$?SoF5XO+8vhKqhKjnZhNOZ6By);a zrVO3p0TT-Or*D2S8B{{zVUCU5Is0WBgS}rsiSE1L-#UJOx?^IVTJ_u2Hky zSO@Sy^ln+BstJej$+v=2P{1XJog}PaSF=ii`BnVRaP$u1f+l6-^s{M^-L}C(S!fl% zKrd4{v=i9lC*HowIK%Q5cRHZmt!KI-y8L;l=N)jY+4t>HWn8mdDf&GB7YlGC+$=n) zd0_Qq;D%nY$bb2@Ih3-o+8wde{V1OLPwXQlw&_BeXTn4lgSkqHxWRY;ST-ibvEkKi zYA$x*v$UoRm0gIFU)W7LWbR)4=^bEo%Tu2AOEZuL&XH}Zr015U55%Ayhk-Y#v{#8| z(7q$H=N!?8{Pimz=r1>w!ij+nGF}~9;i;F!TFpP>eCxGkxF9hczmr_F-fZOCxznS} z&emDAoOGZ0VGC@v@VYHss~?&j&li?vJnjTrz-up$^V0x}Vz7Va;)0k$x=~bvraB``^p4lbYm^5&}dwmqw1Ygw2T;JTGEeqwqEC%@@S ze`4_QM@kz9z6S}){b?j2(C|yg9~UY(H9t_yXD_yw8a>NW#a%QN6FD4yKAKenxHo4L zm8-1eI)Dpcm~Xnq3sjE?HSVb=n`-Px9Ixen=d+lnQQUkQKh_VxyH+Ey=5R^;Dig3O z8E~xQa~pH~@>?&!69x8qgZf@p ze&OqC+le_ekzn+DsaiTl<-_ThqpjCh#q)#=G1n8;KKBO4NX)u)nd+FId+gO+9&dqM z%Wm_fK6l@l5jrjf1BF&sBM0>8i{$3s2q00(Pp-ZNOu|>6?s7Esx}zTnLGo2I5~%vO zYK@__Xow`R!bK_*;__9R3YeF(qQD>uaLRNV2+E}*N zhgZ7|lI(gp?m-a(aE(9Ot()Qj+lOtlaMK&F7T6gnl^_1e*flbg_+&TmMNxBJg4khQ z=OXL(L$CD9(~-)Uv%qIibb7c4qnRb(WuhacQ+G57KzNsoHeV~aElIed9cnLz)|^&= z!@)g(B>4L?VPw?54dgkAP>)!%4#w8u;2@w8tD0(R`nV4O~u&m*o-XtTkSU>7Ol>2+GS64M-EQZ zHwPsLhRE!NJ?3$f#R38ia=^?5!nW#afb5Izh}j<%Y4G&zi8kV=XIrDgvBk?=_hRZ3 zm{aSkaOXr$Ey48`BhmrF+`wy7tr zWO;vof(DGXCW-6hNxJycIj>5dIn61=EX5cpCO}_;JoX=RK6>%c8DmZhq?t>tumO*e zi6!cV%Zs5<1wnhb$W4wFWJH#y#_3@A?DqBn!Nc>3< z`Sg+>uVs(g@kjpmbOdDy+}wbQwXqJ0aU8YTIV`~GzN zq#Zc%PvzFG6){A0Vt3){rXuhcI&zK39AV>dY}Nr_)5a!Vr3F#ZrvP3|5dhG-FPa#` zIL(hD2ftkhQgaU8S&k`t8~j=mUif(EVTKx^21~DM3{d&o*UFH0dlNe~bpO|&DDjKi zJ&k^owsd0V-$wZNK>LP*V_P#OXWfa0Z#pKDCHJxR*`3l;#~a=TzYo^>dh)yoe;5$5 za2;iR!PV_fhicxRE-n-;yL|J5OS_bv=_)Ctz2wf16vdh_%u=O_B>K0bDd4@wy7svB z@ve3XjxQ@=Qkjm|OB1f+5=I*wVtX8y307PNhumTL%)lyjy5}%eqo3vI2mhjx7&N`h zrS?(rZ>zA1^^wMS$-mA|YefDU2P{x_K1~1|Yk$%eG5lwFg;#b%DAMykDs>413Emne zW%|0Nosdwi?Q5;H6odZjS~}U6l1BLez$D?J8uhajZ!mq$b|!3W?b`Z~Yq{h}iwIP? z>y9?Lx)h$Qth5G}^!+~vUveA&^^abg^&W>bo;C@|9_o5aII4cI5xsa2VLSskJCLCr z2h+rm=*>msqSJ6{tY|EJd!lDn(qiw;0=|HN-O70UPrxa=%ol59)r0%~?)uJfpg9i- zy@ZCxzC`Bk-h54cCWEz39k=*zX9i-3PkNXLY0Kk>Q=*IVU1Gu?(7EM1l>njUNR%&f z?Wl#4%7pU7NB$_BY6`lHoCW(1fQkO{Z_Ri{B6$hv2wSQFQnXO_!;4bs&1m%NYl{JX9W zM`;b7g~E0uDmt@8@j`RwKBT{K$E{yneiYL6y?3j|*I8udEbK(|xmAz2L8W;m^b1eA z1jqOz^Jtq$R7v|*>xKPGWoxPfy8|C$Rtg4_rmyXjXWZ)J#K~bpQ~OM0dW7L0&r_mM4K-^ zQGfNFOoTN~M5QE^x5n|E6r-5Sp$k5RM!BvtIvvCq#Ga_TMEw#?gY(6|SpdWLUbWSR zUJV)6ybA77$rj)0a7K2 z51Q#+NVM5ZxQ35EY!eY97y9aHjeoCdp<(M+69-sB?z6WOZ8tt#!>RG%A5@y~$(wE$ z#1ED=amDsT#rJX__DUr)2fCgDScA^Ip#$4Ago#AMt0)tHcmv?t$;<;pVe{{>18-v@ z63Y_mi4*^vNt1l=vb9H-`agA@e^a@0T5S~@uCOX1`xB*TQxQ5&_}^^tG9Nx z^SyJMmQoD?DpX{<~imURRyff?$;`s839gCJ9UP-7gY5 zB2nxaYzTp`_!5z$WXFZZ(~@7Dw^L4tO=$#$ z^LxGg4r*g!lny_&{>)KWp271KKeb~+hdsbCF#2%d(>)$0wR{C0 zn-t#QOd*F$=hp9yXxherdmM3UQ=G@MiSCZmMjrd3OyOGx159^S9|*FKOWeEtqVcfn z8L{DZnMS=|9I_FdB`|My;tm2N0gRU_uy-!Fnx-YD3dklvUfoCG=aAJZJ0|n6|Y##0sM?6Yc#_X*Nvk zLJuK6uNftCsj)kh{+j;rtp2zJG@oyn6KG6=%WGOa%ya*3z4ca2%tm}-Qw>PWMbqaD zv_m59v#-tR)RbT#se$u*yOZ`75KOfe>`GF9cdV5RZZ4fR#t$CG@o_)^yuH_{luyHy$e0`nkE z#GwXSvvRS0RU%Rb`Sk9OD3jvBFVit#f6O0(V2yNrUCTe;Cu2t@+&AjH#kDuS!JF$+ z{KaQ>IzznPbz9ngFF0E!Lz>0!o?DF$m!W2nF4tO#8<3Ryn-^KV2^5Hww@s^TzTV|A z()Sltdyp-2?bN^K()oc@v%;dg{1D5qN+{mlW?GJTKFK8Y`J}+fc6L;Mt?g@%DSJjW z6~euRMvoXHr;X9Dy_-Cz=WbSFh0{{$zR3zn(NqC9n(V;@+EB>p$x)Ad+F^5m!X~c~ zYnY@+3Gy=|zw##<&hLrG)*Cy5<3*ph2=I6IVU1xYd3~&{*T;=!qvn8@q^bc|U8pMw zC71CgMb+|Ht9R$?eDS>4L>|*uUqIlj+IUXG*G1Yz1rk9#>}r$8RF4N1{n2UuFYwPi zzmUewcDz)|(V9L$iG;B4WJAQ?44!|#V_pt0p7?R@=2>{6hdf$<+wZ*J%{on+jM^nr zOCKkF79^+}U0&;EhWl{( zJu4NXc$yL zg4Y~Kqc$r#9sPQ`@A9TrTCEXE7+M|%dd4GSZ|O%nuu$Ul zcsU9|gu5)VccIn!GvcltNsW`1fK-kB(uNKmKwMn7KgUV)knezFtvaIpy>O+^f!2e& zPhNN~eSAe-Ga4oIedJ|<s+|rurtFjZt-HgG6U#$d zbG}|}qhmh!#AlZ3kIN{p$Ys{y$!D<5-LoqHkfSM?fLo!R2-kP(1-N8G|TWGXcr8yV5?X8{saqS5K#`+SbohvGRbv8J&OC#q zeAAK02Lcs?h&pSNx4%f-IA3WqiU}D!FFT{Gc1kXo1A6GPK!}cX zJ#!g;zAxocHrMYE7jGd+%X9*DPQq%^2;tGQ#sR!j(H*sI0wii^PE^2$Y1sC-(M(z^!Euxwgudgl~OjBuKl1)L8^qEXG#qZl&oUlMWT)B2Zc>^)O<$viyGa z5lPX8`VwA|4o`luw|Zz`$LXDoq6x>6sNOC57AK~+ml8_#)#C+&2H5{xGS~ zHqi{Kc0iwj;%o)&c2!hTp2Y|~DY>&Jd@rCLFp~2T-7Pj?{hnScOeBMQkIP8;u*@L) z8+>o-C9mbC%$3Yb1}C(HSZxt6tPdf1YQ5h;I$mOBS9$-{_EL*m;>2g00%Wb-Z=hqP z-`K z2>z%fBR*^i&_|IT56a0XP=ufH5q>d_muDrx77_Pws0_UmVjxvOZ7G2!iv@UlyE>)< zcucxx`$!POxP!)vB1wP1PI;A{`4_4vkfrt7vjNnKtG*nnVsCVG>HG9CEs)~RhwIldwx2~ zC`lR%t6RwL!=xsT3L!@z(y}K<$IRj&e>?HCfaNM-S=|o#GiLky z^uiYJhxN>-C?vms?f1q~D#l&R!Z;H8l$lZ%if~NJlEZhgu z>z#2g0$w5Uv9HGD(aO#Lg0ATy`v{yN`G+CR+^!1Zs>31-u&9$pr z0e;jfbYc^;66&P5hk7_2d?DRWl6Y%P04vKwdfN9LQgse&vYKNu7l^jhX0m!xa_rl> z74}3M)rbD3=2NsXf7{jORS*Jq(cj4ec+ zC}%=sxx@R(6V1s(6?IE;6BmN-_^ctoH3V<@9){O5dI^64@sE~{8<-R|9axW;exG(Y zo~5>+Senrj_a)pXp9lDg@3bp&O-BdLKwa8l!cTCC!vhbF@H}SC62A84+A@s1Cu%a} zM`J@GglqI|r$5sXCVjkR2mAhYy@8Q{j=vT-vU6);T<{OO0Zcv*d7g32?0!_;2D=?J zRqf9!O_N3ic-c0P1}omP^^%#ppxm6_81i9iy3NsE@R9P1eQ>RJ=uSG8XMjx0$5@6z z33Fr_aL1Rs|Et}enlOXU@RzVdCzH-+!YJ~HXg=D#z|hXo12O)g4rx^uJPEx^X5R<$94nrX)?=*2t}wP>_b&^~ zVk9MP04UEJF_F2R7gc~U0U$3wqd4I0nKD{9Q0%H4vrg$6vux#Vnwq#*($J{0P=KC_ zp`UeVBB4Cvw3X+8mOjySUDcm?NEkV6E92Ieabn|$*IwM ztoTg=F}vZnA%?zW)aKPa1!{px>5qm=q3f}7OrEWz*on&_v5*-aCu$E&%}*qcK>Q^G zH0iBEMrVfOjTS5E=iT3X#O^H$^&OMevCv(xDkT0ON99Kh9tz-8!ZJBy->%V8ihnKe zVM#%HG5^^M^uNUh_S=A~^j`lrwiA3xQI)>LXXHguT2OG3*22MccCk)V@nfH!75}wo z&)xg}NP1$QJnyx%)3Z0{K`n6;n@D0W57lqTFTjr>7X-834kjIQQWwyo(YH%ShL(Yw zWxyV6Ilz3Dik}fjib`Au5ccsz+^fXGUWKtHutqv-ZI_z&r^?mTygM}Jb+{mCngbLy zJi3)GO@G*~r80jt+EoC;1~SwNn*3xsB1deAmUyu`@c_&`rktOJ3B&joWhI&(W~aLb zgNQ-My95^U<*lwtFXE9vY`1m8D^b+(tg&17h-6E8Jc&#>yv>}L%HT%^^N#rrZkDd< z;H0mTF9;AA4P21X(I_$mCjGqK|qut?mCRA^=b7*HYPl^CT3|%7QL9()r)OzJ~8wwqL$R z(fdWhbbm0X-M`gD(0PDX)!UyL>E@^OYHVd*cM7hFDqE+~9I_{x?is*Eni?bex zig@k?@abX*;c(wW;WMs=PLbq;J%^u@K^AZiE+{+sPSec&#GVlSKpIO}E>TCrgbd8^ z&CssMLp^XQ4KlaS+y^Qd0B8qsx5*Qnr5|UUP2!R^ewR>U8upnjI9A)m^UKxHVu^Sq zCp(1JbfA^c}6i_JPd@Bh%qPD_iIpK=6H0TW~_qx(|r(Jk00}^$+tSskn$gy%=MB#@9yC+zRKTFa*3 zH%Iv$LsSM7cG(l{yV{B7QgeU%Cdh{2t==SkZT_jwLM_r$W_e*>M7v*g;JSW@_jv4D?VXoD~v=5~l3@)}s zAQeDot;>-`&f_M<@@=J0WpsGVDPf>TZ)K6%=JQR+S%hRc)<*jxIVdq@mU+?)7goBZ z(bsF4Y9Nqy0;u86-}D+7Xv!PTnZX({HQ_M|c0KMpQgLW}EQM2<=k?08qktU<@T_(f z2Kd_NNyaJ=nQe~l-RWpUhTmFDqK0ifJ53JqGCupS!Xn*(2Vx7<7~Pb*HP}Gqd}bBV z%Y_P}AVeB@h$91r{He$5)6ECSNNFR+6FGhy{59_PVdi}+Tdr8~Asr|dzO`97fU+~K z!RF;X-vK`E;eFgU8sr(nx8YZVq2_IZ>|9YZi&XxpB5Z0*uKUY>b7eZ8{$_!M&KcPT z58H-9+=WdQ+}lH6t~7sTOX#+=r{v-6*DPITYT{pur6R@pK>uuK&Q&rL?T8g%j@N1> z^Y=_c!ypDNaT_?^*`Uio0w5_N^QjoZt|1Qm4Xsb&XZCA64i!QsJ%0uQ2<^8RSmATz8!VIemEmkuk=zg8pxYO; z4Uk34HCkeN;LrNDFe-F^AKoV!9=sg1w8BEVJYmB8;CgxZPGHw<**=LI?0(a3oS;>> zTy0SRoq%6y6@q-9<31p~0htmO4&&SUU`}!~p7fmYPwm6llDu5o;)#V1^S$>WxDIT% z@Tn;*`bWt@H>z{<%BgIh+YjxglIL^8>#p#j1V&)$g!|wh zGoQ$@cK5u1+$LhD{krj(r1A|kuLXOq%VlTTKY!K?c$+FZZfvzW*WoSb&{dewl{+fK zBHxP$Mm2b;Zv#h}=OlbGF8g9n`n8~>D@;Zcn>4Kz=k}?8<4X_zs&@r7Ao#7OyYaih zbu6)w0xkR^%{tRcE``-T z;SZZ})#PtPOTrlX24B%m4TFvhrOzL8Y04}%;p24XEGVHi+RaZ4mTf(-Y@szs?zYX(mw55%k|n^_7IAds3v{Z z`E@I)Pkvnse1t7D@Qe6xg(5_50ToDii^@d%O~J%O6WlJ1WFH%qKIwDLL44Cg{%t>S*-j zoM@0Kr+!oT+^);2O*|hZzV$v;w-@=iE<4i#R6gMRvJi74)2pHb7_O;9Jo5)qSSR=PQUF*0P2B+`3GW|XZ}9jkcW&Xp_KJK3rL#1 zjY6&%pN2WE=2%Vilda|MCD*x3`oR4s7v+yi(HKrS0$ zhiyw%hyVDCLKYVDn~#UzurQAep^Z{PUgOm7zQAr_T#=2zyb$&{-R0sl9~@Z|EHhxV z$nt&m^Bc73@{<=ZSHPg#a3WfTaNad%9j4_MAh3aEv#N&BNt;pAQ!N$TJ-UgfrEf?rldNM zE+Sym$1#=dQ`+to{*ak{bQBSQJhbklrLt@zHv6iM3aw8Vp3+0l#2a01nIUEhi=@>JYU$4CDyn|5_taqpl$t<+=RF>+7#?epk)N!fWp?HtYt28E>PX~tzqdbn9?G}4`e{#z(#C~xlrHt z{b{*~UTpy39uhsbONSB|PTKgQ-=Y3MjF11|eLVH-bPL}nSvf#Gb!;-^wY_pn`r|x= zk$8waDfMg-EJMb?cVSKI2nYD#ZksrDYIrY+wE|bGQ&$4z*KMNZnwl`&d?Kf~?z8}`MgDvZjQDjSpR97Mz=#^*pn##%Jb zFEX#4c3FFqS!*UZ0+LE5UOpWIYv-U7{%kIDW%xsp&-Q0yp4D`t2C!hEU@VWs1P&;o zap04W8uTTxMZK`TFbdxWLykzu9BUS=Hh?}@>mVyZ#xQCS#eD`i;F2}>>L;%y~*)17@d&I za_;a!(-yodeHaPioM9P z;ZxMwkjVb%_C@9UsSo^a6$3i>f4(YqpR{=8@ssGLNSf{UCDkQ>-mkvzlU@7`$I-0e z7Mm4K)>N;e<>1qedYi>l39=JP5&QZ^*U4k=ccs`b!eSk`5eRg2&I29e8FSJxIyXuf z-E)U+!+V_qj3)>Rx|v4n)7wf0m~KJ6^Cs4msO zUB`3Xyf6^73!d$v=z=XF66ueo@V~K zPYk}lOLf}WAp`;5T^voGF0Mntw6F8}wHzEU)Hw{4*tOW9CY!$bs1!`UUOcDQp5o1W z2d7h}dR2cCCNtn<0PFwOqzrelUb)(*ZbsuZu7 z8z$vbt@@N^ny_^s4nEdi&Fn)QEn?0c=L?bX>kI*9E6>Y3-1z09f)m3ZOF67gGdyAU zjD*RIW*@#d{;;m7`Zk;%maoLTh!%%mcR#W#aX98`=a|9XB(Q#LEj5u%9d~p8-DV$u zz-oLqu$Q2EAoUQ$gR3~K41N zhWsbAA=mRpM}OSLRq+^j=f?4lk6G()h=CB`U%`Fc1WUZ?zdI|-NZEzT%xc8qz1WKD^kf8)=WSbksA zmPTTZC3kGqq4}c8EJ;53%kGw-Fu#>q3zH^v6s@Px5uZG%cn`dkp&%bLV}DF!VGqrY zv^ZH<*B>}MDNf~QhGksFm@fSwiZHqKxpD%uV}Z_AzULu2PF9Vyd6 zx^(9_*k61ZN6Ou8q`vxS1Xnk#oQXKywl_W0H1p-ovIp8rj(Hlej;#;F7z_f_5+-|~ zwnbcAWGn8FiP-R2=lW?#Med!GH*Xkz!ob~^k6^#{OjUb_YQbp|J4j)g)-(N|tG4Gt zg|^Am;Ugt6U{{>AGY-^r^N!C+L-yLw0p6F=D&n#$0z9*uq?ihhFCyycU)c)%_{}h7 zcd9{|g5MgFfS0y1_*6UTnU3BT{{dhVU$c<7@>dlM`yHpaHT;x7-$)v99{U}ZXHO9^ zERK0dlth1mB6_o5-@lTC>5pO$r^meD4HJ@2eD89Wa2yxpljs_;wkNz;Cai^Q4MAfJ z$iDux+wd;(2sg5ij>_43;b%V|zcBsyCHinb@7cP)L0dOZIngU?teffa}+jRLL^A&C@eu^gP|VT)U@3 zR(Z4?I<>z&mf=b-;2z9wgZNN0MFQ-~p<$RpFL1QS&;^uR1O-GvV=%V;rg3gdhk}IC!BpzvDscRSC@uJs!y=UE);06Rf zIVZ-#Ij$l{rdY2fL2F62C9?|TwkNBcjqBVe!1EcqBMkdEDRM%*S*3aQsxH79n841s zpN+dyTQ=y?wSAGNu1Inspp95hs9Ku#Stle_<_0$qn;>ljBNEM_C8dItOaD{(7FBa* z2|)_t9KIT4j0038OeDeK2+j4m>GK}Lv71$8W=9u{UpFceci8BARFH#z!{xK(KL*}P zHpt=btnnWcG`Q}IJYnosI-8+YLC=bt6Y+rAwYnU0v{&$moXgU|h6KU=92qlJ2cN}^ zwwC`77Lez;&FKs7Iwq}op_k&@nemiX1;G>OLC5`DulClsp1ms9s|zS&P<3}3H+L6n zn2(-BgtgHoWr&@JpX|(OozXsrYj8MkssGFd>$7Q9e6X>m*e;GG^-G{w!4y=5UC>>xpt^#?v6!IptY!vWi+f<1J$kkn8@+=2NlWiQ&9?g zvD#-dbZ;kAdans8+N=+_yYYQeW*R2-Nwx`)1T2_`vA35S2JS*?=xbG}@}4;++4n*6 zUug~qvh6rPTV#P3$*krs7TVAd^`bfL2(^RgU{_Jx`DlI(Hx}(*=+3!@%|9kW&aojc zuao>S*kvBOZBQ8DS^LW49ncYOj%Rqj8w$vqULouS1@d%mWwy8l(^-@j&1k7gyV)tL z9o9#g=L?0(pGDfy*+g)HlPvjvrh5nDNl_~Pcq&pF(O|uI3cn(47a!9y$}?;Ry)|ke zoI`efeE7+T&YM-8#0^IJOuy)bc^Ir;t1P*Svc?T7VR7P%eNZNG;P$cUH~ZJ?qO?>( zduwgh)h2dda*wc|=@u8xrak{QRT`|2poW6=Hm-2YnxJcG5U)e=-T)@IS-caY426un zN%f+*vU{hp3aqOMv2gt83n3RZOha^g&P?=E4uZ;#RuJHIIUDRH6dIqTnb_?!)bz>{ z=l5`q8ZUmAT|0{3N=?kKJ^ttu1H%f6;|n=&QmuR;!$eCeN%2SVXqS=vD!dq6F1n0 zVjZDiob}U7N&x%$RIXPN?_+C!1z5DM2vV61a;RTE+41>!we;POoaoYFBlm}`-*M8P z+e`4HKU@313Y7ctC9dhndEcpgb0^y5s)l?75>^j`w_<=UM*^#IU&jXpvwEjZo2e*2 zuDIk;zX#2o5{DNnN{u~*6hTrSUnO&uaAmkED4gbrYLk$0`+bd5K$11QLTcl7w&EK6 z@qq2N?9nNKEUQk%yQAzFR8#+Su1Vfw(r59{<~+7KTx{l;U>6qO2^ZFi+X$hzIBR|;jv*5wTxDucH z35e&R%LdBdBU2I~D7fuNC;&a`wx2ifxzs3sqKrW7Hwea?n>^qBxToFm%1G_uJ^4T% zuAE|8?`=V5FXaBhtq{%6=DyqVW(lvuHDcoRWtTD5c+}MluM)S*559VnB-kBkV>UtW z+83GP?WMDEMuD~9} zH=Rsy-`FZ3QSb=q7?H+!aP@}N6`I1y2sGvVhcP8fL0@FGyGeh_^ARi0TOSPAj8^2F zY06x$LfFeiqwZ$zHQ@p43F4`(ZH;+AZAZn_TCLYHrr~qzu3tU?lHahVWJLKE&pKZ{{PMkWa|=!{a1V?YzT4D@%!>1P;K8T;%!DhbXYBWr4|V8;ICe&Ia9q)4e zH^=WY^J2@(d%X^E>1V@BCUMX3c>=db3ps@52PiCP1@AOierfj}jnhcjtI~Lo^|tpn zxXRTv+x*f*QnA0ujiu}5;si?mWXp$L7M*I348D$j8}dgVwA8|v0tYd8Y)5#Lwihw@ zj|G}my+uOx*EscM0~}UoU*@56er!%ycp84nX-%g5FF|kiZ}bbMOYi@v6`zRd6=HA8 z)gkRFS@crP;T9>#%A!*J~g(G>PS-x&)$se)lz)t)7(f4xut@h|p)znhizIjj}L z|M7-@UAzkw2au24=#Id@7NP$l99~BM-O^Z*RetyMpYH@Q{2rp0)S(!EN%H=;q51n; zpv8VCAMT0D{GoX_YySIJkj!uCb*%71e85NGAJoQSl)pzkhEgo9>>q9e{s}Yu_Yl!L zQ_%oE5dT3E{`W-!!9Pb`(1Sr&>hFvH@qU84xMx7uxAj~!?04b+FGG2^yI zdjFgg{CC^;KTq}6*TCW;@yUc_?*G$Izq3G4Zk@|Y{?}6YpJwG@*6(?K*g|^zkLC+> z_y2Sd00>e4{NL=nD{R19dkY?T`cEU^kNT%y0_rT%ee)k*u-iZT7q^}~(Es+v{J#E( z`}g}rWOu%i_fM7ylGm)iSD@?tuEzhVX8sS$2Jndf-yr^%W##`3;y+Zmzh>gC^f`TQ)Yz?d;Q-FhapgbX|z%aKYSnR6HbH7Q8#`oIZeLdBj$$I+xQR@SI8DAADHv7vX(u()J zss;ScA0`q*X+3`E#0&<1Dx2vo=C@pHM(ic@5_Kz_S=n~4Z!W9P&A9Hx=g7ru3PASN zp>Kr>&ya^bw7fpc@BFjzpXz)`5lv%>0?Yb7)2R;7t34=U0^pqSQte`NHJV=toAoR^ z=%HD4(guV7Es8&_@3p+k&J>huZI{Znk1V_!Qk!vUY-S=TbZK-xlbbSHKJ06EJ+c256pufnxQ&xh#0} zf@XvPsqZ?+TvJ4A;7=Ab-ZF}B5mo{?nl;UOpU)j#Z9`uHSQLuT^`~Taz(yxeb&Ntu zq}m$HWuaQ&GHznIbRCQn4>cq#xbkv8{xK@Ql5u)_1%inq-;M9oUGZl5?&(Z58d<9( zUq?OK0mCwX386n=MmyU0wGHT!6CP&N3nKtN7nAdcIk%V$>Tit%d;HxF$J%08o$UUp zj-71Yc}=V+tOUIN1@HU>oN?e$jp6b?N<*&LsLHETWhEi_%^wn+5Y37een zdsa+N9UBYQEc?9qP)71lF}~!Ype7(SvruiR)>*TpqT>d(%{t$$s%(0TU+_J+8M64i z2lXAZ7*%LS?iD}#n_w@*qzUe5iq^Jx{PZts=AXMMe>V_tV8O*f5^T8cO|rSpc_-&8 z#;NWpIn~U%Z)7MHCcry=R$e24Ch-qo7&(1!4h!@eo!;DB9dq?&u(~!L?6hcrZn;{n z8OROlmNcg6zGOOCEwE(Heq0jd(<2mRhujWB@N>P^J}5C3yiR@M?%1+hx=;`= zHt78)=?rmfM#i#4%mpmwN{yVlzRb}k4KL)YaS0)MFHz}FY!|AO@jmFqvX1Tq18sxw zPr6o*Yc(1fKUX`Wr|fAe;iQ85=xjHBu-KM}%SMQxwiEwAo^m1Tq#+V}jSE&-|F+Cs z09#avkl>q+P<)(hvmdcidoBAubsL$U-{CPuqcw9b4bXGCpVha>eS=FMrF1Mf%h2u@OG@Ws0oH56ZO+ZUB>F zy3ugScq$+Ln?qBQbg^d9DlWKd{Pdz&aMtofgS943(u>{@RdDskOQd4ole7%A;3+o! zM!Q5)lqq@0f^?B1?EcYGuUb6EW&*Fp$)eN2=~Jw8VdEx$(SLVz>NEn%xrsL1 zpvEPG=?#rj1M}H^A z1?L)4HA_Eo`2{>9+b+p?s4K_p_QBm){I4efNzk2-2k?+Ck2hXLQwgmeGR3@F_9Vif zW*nP4q`SI3+qOL#tXcTc?2X6;l4184jLL2S3j>F(QH#r?lBWS{?|S1E6xQ%;J17ga!zDWGcbNEg4rgJ4=@{CO_*De~%Y^iU;z%u0ddR!>&CplVgb=qh< zCAk>tiQT>fkVnSAxK`60Zolt)A+=x6IwBSi9Ao1?8cFoE#hx#1CJHusAj22kvZ853 zSR`&v5)|^2m0DVwMR{``UB%fhFXz2d@@&PdWAq}Qf3^DRV)fdcx_XP;IY#W<>N6RZ z$l5-|YmwRAM#00TdgV0aI`RHkonsdK=44c@cNB4x{%nILvT}ilDoug8N8o{L{QtHQlR)L7P?vi zj30E-&EUM+9SX3zxQbyt24j3=^9RjaJ?1kTTNE^&Cxpm_bl8NYBG$LIbfR!=UDvIm zv|oApIPQ$wWvLor=a}BBK#!+rUn`~vHW`ZI)8eaXglxVz`pD#cWbc09|6_sD>sxir zi*uT3QzYkYdHmdpr{+)A%-GKG{X;E|(%lO+y>*GTU!+_p+N*7|fAq73cRC~i(QKpivgTB3NCnjX}lNrXAwKj7ao zQ9BmB;fvscNL^HeCgY;-77Oy@wv+J0Hk9ZGGZWxb600wdu9UOH8TTJQ-5jkn-ehoJ zTT>hoCTY!=gNj#}?Rr3W&GG_`-(BJ^&!@sgP5N_aAH@AIgXTI@ToyY)I zvwlOY+_lPrGHI;_yk(zV=sN)WFL&xpiQWMuo}+mPqY_fB2k+M*^3A;m7dXk~@j%Pw2mk4m4erE^LOyBUixm%X4AFK% z<3Or= ze4;7m!`|YR&5kf1a&fbGu>Lp0`bOW2LJsXlRc^j^vMVibei4+Vs#(o1pw~@BpwvgI zWvV*BuLRdSQ19ld%E`x z()c&>jv0K-aW}v&N;aIe&<>hEdJw{PlVm~%^B7lQpi6aCIC@n^4o@MES^FQCi$Cl) z<~xSuXxz28#tL`3sGO6aB#{24DIOPX-vS!Xr6W=Ug`7{+r};o2w}Q-Wu?Kl?kya^~ z>(wXdp)je-a#NXp*_TCfsXGY#Utj)d@_%lAaMrnE8D2#EXgZ%S5i2)Y9t;W<4!S(u z9)GpQp43tP=m7@7@)A95l9b{?txZzy%gk9ebe^i{N8erd>*%>fM4()ftC;|DTImkB zDooGNQqF>WyN=f0jXYW~2Fc7#Pe1KjFht#|-0t?s2KcQTFT|WJClbpu#3XjUKGd!I zQ1$)8j1(7OFs3jL1urqb1!6;r;+YeBE`+iID#|61I`!|H8v*+=ourhi|Y+#3cGQ2jzl8H%qinB5fvDtbjVWqoD+`w zJ6u{-U?xHs6~-ZfsgbVhPTUBQD8u{Dqp(7q*IB8?S7VsS37?x6^=A}t=4%gP^``{o zo=!H5Tup8!b`+-9Sl{+m=C&c}zi6l&CPJMJBE6F=f$g+{@pVxj+u`>}il04NgcdV- zHR(c#@XwHS&g%BS7K^lJ!dh{#2V+1-M2rjR>Edwpv`=d1#jQgNh6^>OZ}5HEnFjIU z^WpNICaZ}NAR1Dvb@iFa_^To+3TJhLDj;jpRN-;lTZJcQrun$>pourjRXn6Ab2@;m5?K5W>CrAzagddOq1_UDY-ChUs1c;MYjZ;7+whIM!EtVOdNbiw{?@n`$j=tIsjj76;ZMvLUWw2IM$bxYr9W5@dyxE zME4B%t1I|D_gXESa5lO1ZxR_(zh!;>hE19o)n5sx*Ebr>=VFG`@z4le$P`3zlZdQNo+tweK)Iy6t3 zE46Ql`qrg9JwQdl2LJXhTV_o`u#sSp$G`E4=&C0=iw@vIxD-paz<-rAbdVSoIc)g$ zMEF*+L^+W?338$+F{>ea_4$vYoym%}CDnW{<^o&8g`2sV3=ezUN0M44?j1S9SraWq zSx_bdcK=$I6G}qCl=S;<;8EN0p+nxG!uDpsdIA(Gf>?yx-&ut`v`3L8I1;Y1-dhY% z!Ed7p@ef0HF75}!^BP7YH=3EhdcM<{W50Wu5$sKY)W^?#?Rb%k3LWFI_y_&^6qBJ=>odqY7?lAIBWjRp;v|yzO&BR z+GWMWXq7J(pV+Gm%JMw;FewNK^8wpNA&w7x3_i6W3HA=ZH$fgSZnA)3sTAw4E*&JW z@KFQ4i+2Jk=Y8H1l$o^~RuGAF&#ClZ6D6FbfKAFqz>}8!MZ{I?j%_0g^;g+}>ZbE>|a~-o;t(Pv73ZDv7@~^PlIH{~+Lh$YZto zeyZNOp?rg!c;9FA00K6WwUVODTxzJc9XCB>y8?2* zVyGpa<@L>zmHH7hTh6d>p5+{*yW`|~!sfv}Tm}^?;W#ugoBhcxu{91Gj%Ow!XOuXy z@GM^Y^i^207VSsc@TRL1N6?1h%78^emA3VkOQ^X{mDM-NQo(hSD|#1Lim*=n6CR8Z zxBaRyD@;%B&NG@A3kdC(lg6oE8B>o5Y(CdmF&(;n;`)STWAQzS7Zx(&6GuXHMuV`Nv7t#KMLI7{ z?<9}jse4c{?|SBIe<>EstL}Q&U8X9_@!=B34X#8RF^^RJiaRwX)Pb68ThK68F+*Gp z`bB~kv8WGqOmpyJ_O}C$mb3wC5wfS(niyQBVV>Oqr*MNhyAYyrrhKt0LED+47lPk8 zd(w2!7|O_ZIt4mopn&V;%5IC@xD2%{9?f@t%J0K7_O{AY{4cvse5pd8n?<+)$_mYp zv+cc|%HW%tg+7*p>T0|IA2DYzndm0s^dNJDSRZioUVQQX6Prnh%%gVTOao;p6AeTq z$dr4yN5p0(+`dL<^{`a6PE|DzWYH8UaU)uufg(=QE@ocKa~0)A^>Ns?oka}l(1=TE zXCg_P94?jW^MURjk|BoT-V=ARNP^`>!T0mv1V2CVLS-%JO)%`Ln;o}*jY}+WzLF(o z{P4zJl5QVT{`{ka3-uELFG<)-NG^e9{)C@VJqfPNBz=^z0=!2Izz7Uk^%5UYbLA0niIAGD`PA;F^R6A6ea zdZ&OxwVI(F`hL_5g`hP(rGPtn)yKy^a@|p9o%1)EUH4(1cR35(dd{r#q&o5No2-P6 z3uQuSMt*3$r`?cz7Au)@mp8A^f52kEecauusrTsWwWy0;AZNw&gwy)0`;@C#I(lO{ z&sTqIYY|WM*`4Q8XZG3x0ivHsVVSF8y8s8W_NtqRb}h2%{lwtmv>?6vfVi4%MXvIP z`(svu(CXF*DO6mRTI-RDv7yqyy^Od0mZ`Qu*Sw~L=M5kGaQw8+>ws<4y0!syDf3tp z8#%`Kc~eiApv+u}ip^yY)nMYIwM#ixST%v|oEgsU?puLR=~D~CFHqd^=bY;%c75|$y2Wtu<+w~-kXCLBUo;^zjjpUj-D^<91%_$=P#-AATd6YS%fM{qzokU`8A zUV-rL;@{AGAZF9SK}sZy9f;}j#Q@P%WgeG~SS4aRP~s_IKUchOjzRj84juEFG{}c> z{_5ywH1^1uzNhKxb66!Bc={|74N;2+2+)GqDoVo$aTm6(au9zI4xj8lB;-=s9y!H?vf&kXHuoFYWvGpM?Uk!S8HEHud#xdbQ{tPWrL-wxIGxnZ zJwdznu*S)}t4Z#$iAbZfA0lW+TkobZF=YS!1gQJsPreRMncLV_6|dVQW)G22@x%A1 zCL-jVeYS6F-u}#QBBW^_{pL7fQ=|{|*Ev;4**=3CG<>LQOlcEY$_CPaQrR2ltto{( zN+T)wlxzWY+Wu5o#AvC#$#DB<*3~7YHI^Ja6wus&yiz$MXF#5c*hrTj%&wI6r|@03 z3C7WZP&xcf1_(B?T291xpAp^HN(X?CwV&xW(!~q5c(N#DTQ}I9nG_U?2zEgNJ)LWd zEcndi7j80(Zr~9J7wh9qdANEf+9S+BK;cVxX8Q7W&&RS}Equ!5`ovJ|YFFhk4|zRC zmRKJ9*!b=lv3SouS`qb2j(WgwPyb!Mg5S2XqKLze^yUaGK?|LpkM41M3G)ec$(VC>T*>^iMYY<_*eX-7GX zzvt2e?>xOm6)vZ$kL%&(cBG#BDv%r8q)_*=l40OfR=5=wGAmRm4@kpL!MeHU=QLME z-BVT*OSZE2v0HB2-fZ&y;IqX2woVw0PND|7T^34M1Aw}_Nntr|J1+F_t9NHM_{eHY zT^m;cj=upOXN_0}lI&-?W*Hi%%xk)=BKE4BE79Y1@hHeGr}Ha^F8$26QHe=#Lk^Sx zvDTvthP@W+Gr#aA>T}mFUgli8wnp3)^FYA+;eXbz*4K9+G_Y_qFT-O@JX(l4mld0UXT1Pl1&0n0*s1wyzxXd)-E zyVNvc!?rLpNnU--p>8X}S+RS@eT!8l8#Z@Mye2jlATH1_UvKIsyST3}!ilHe${+{& zaSoELf^Ou@O=g5UdmSE>ugJh0J4v78gFMx8KU~uqw4tuRhLmu3pz-M&zNX-htuE6Q zHm#LJ;d$MPiQIdaI+DSv4UrfoL$cg>WbaB%#sWan<~oBOHpmY3!{e(L0c&{GvKJ4X z?UsO5KHoN7wbzxDLx;Xc;##{$TX5#^%BgRaH{0Bt6*r;|ydw?Ifpcg@3+8_4s;E!l z{JEeGG3e@r*^8wf02<5PDO4aE73zC=boV%-_rwlaPgZKh=cfDnxtib_fR@dKWPm7! z^>BLM5>5W=orhzkNa7K7^MR^afkfMJg9$<)UQAbj^=9`=*Q-2} zWE&-N#*+r3PfApRve?7}`-yxwzs!d|i6hZdG`JuO8Ik8LTO;^9mq4v&=!)x#St*@z z5DvH46~zEPkaFSvbW`$x?pKw{CHX?m3j+pnd7Qn5|#q7>CPG&YIi{x4;=+tEl6Q9bLZ=aj|QEHs4hTY>P{P#Ujcd2nPS z%8J~>NTziyKwizd<#QPPoi|&HRDvI|aNW<nf1IiW-vB4I-dr}d4B;A^x2&*y`IS-=qmg)1Uh6B|CcOEhl22S%Y@I+> zT-x)iz57oFR3`!CP@z3#)s?>OAlC!sM znZ$?(41&+5x?VY4z_FU}miPg-G(GfPBlAa+M{cWE70;T``@&;HjcRt73f_cYX)zio^zd)Ej_=hK5MG}2-+2cLIXlZA2WR%PCJ zMJT~*Vwzlb&HZa}fQ}K9QZTE4)rDW?(JWvV=s@QS>;!X4ddeA#b)N1voV~e>8`|93 z@p%j2!-LC%rBH*s+mHDa_g7fTM0)f34Yt0#hdns=^vwz@f4KK=(Kr6T1Fj4~x0g7iOa^TX zO1}1?!c#T3e(EJUJyS7gj3*{_ikAu~Mq}Cy0%cCP-fn})yvA*h)6IRi^fcaEV#w`^ zT0!n@EB)1#rFscNt;>w=u+rp5%TTSG$RZ+U?|LVSF2FE7FaOacp+fiM$GnKuq+~H; z*w3}6x%#0)X32@1Y6@=wqb{IH7z-HW>xM*;F%z*a5RB#!UD2yc4-aJyt~f^@k4L|U zW6nPxx!_^UI}iyz5t1gpngfZLVJT+(0jAL~$~N2+Csk?(8vp`+9)K==I*;4^MSy8t zzuqo$HqYmzgWE5_|FH?#Y%5(T53aFBq57bFd^(pcjW?c|1o)7q@r&ripy9oXGy*L+ zP88)lS?jl$6~GJW4)48ruul_zzeAK~i7-Fcc#6`S)*7+eUhuP68owYFuyvZrygW$U zoyV?O`gUYG-CPr{8rdNH`>EO#W3(fyR+lSrpripZ3$IzzL# zBr?2M@mxIc&e;>#w*&4i{;i&aMgacdh79%wWbhS_?uo(N!oqVx&c=*O^y4@k800zP zyC`tFfECYiy4@k!g>w~r0De)X`7qSN^+jS!fgh1VnK~b;hi|7gl5=l|NB#$U zZy6L<+O7*H5F`*J!Gc?m;1b-OpuvI#2yVfHLwB&??(Xgu9D;?Q4Z+>rp>eu7D>LuA z_sr~bc70V}onL2H^$)76Yt>?{$L{OCq*<$d!R{>*-uZ&fkK6_PTan*FXgkucyl_-S zr@O-jPts<~eWm0|@yCWy*_N=m5iX=NG7pUnhHtr6G^UA8YVI(Po>WIp#&Wp({uTWXnW#vFqnF019-^fyvBcv%_H!u zP`PlKn3^s15HLz9_^>xoys;Wcc1D!dDO_irD_8VMG74xPOqd4Nck&|>F8#bs@ybRf z0J2TP6(hpQ1?12O7Ro`u+BOpc6P(OCAj7 zv7M#d9s!qJb%x?E)&00U5THjLM)2FVh4D|m^79Zj!d~&FSpmYl`-OaAxq;Albx2-M z&bK1Td(i=fBo2A*PqP)FRNq{SjRG{DUDMU^@Nv%}RElJiZ%QjCl?)mYKJ{ehq;xJR z+-xab-nR~HM3wM5)>f1D#CYQ0MeH2lG-4kBZ$nv%?WF#ZO?aDn@Oag>RLd*tj?c=Q0>aQyUEH|F>yYGdSY4(x2L1M}Ce=C&fa|()o$eT#PgT6Xj z(~EI8eNcsXKyhLx2)%#ek0W|xrQ_UaRqeC2Q2sCs3k$HGt$p4a1Z;*&M zFR)d1asaa+bCi6f?chyUpRY*vgDcm5g~MQk2R8y{Eei7~X_iawd!?Tws2BMm9n_J+ z_f=^^U@`9E?SYoSh@ILtfDA@BQD~jVnHzyt0!fZ~N58`AuR71twmCGb{F(G6+iSI) zp!P_1(Ru&?u8|Bl_E{zCJOA>BBIG|>Av~eL`Qau0zl6eHuA^SO2M+T;>elR+MggA; zHFq93{oU1JVoZK(_kq9a@flueS`>AAgv`QqeCd0E7Qkqd7;s&sA2%Cvylf%BZXv1O z2#0C-0ye+*b}ZCc8CV|7pn>x+eO4M_nhx( zFbe1cen~LYQvaDM+Je^Uw-ac4DFW8boT-oQx}V=Vd;&b(sWE69A=aVCN8UbVcR05W z2a~0m`5&WSL?jA*Q%n^UJKO3Hmr8%rpfZlHe|Ld7omtd+{--IK29zHG(X=$dy(`D< za0TsY58LmC-J9-+&SP8rR`5B4;Sg$A_3l`tlf<+A1?w-DBd!g-Wz_CWT~3V>`e7tI zQl2kT9ozM--TPI&qu^hG<1|QnZxXa zVGXiAR~i)=Z$APg(noH+v7H=yYP@Dk_Oif@AsMs51n3VnXgpoYjXxoc@BBmftHhxn z*GnN@NCvyl0Mta7{V#SrEh4Titfp1+-U)M2to9qMmzK>_lbeFxEnisieA;|w-x%3V zG5(h3@*(F%5AamRz`w250d2l3`B9n7LJ^|20UntG?-fVHl__Ah64(1h zhMMNG+Y-qvFqgmF|H{^C3&T<6rWS>)(LnmQhWEQ+;&0dSX-{rjH!xS}ne&s|!%N1D(wFaK?>-QDa{k*n;$J1mdw{|GySH|Av>0<=yb<#O#`a~@t~Fo6 zn_$)ON%lic${F}3bTEcdv*KOp8NV&;Yxu9i2MSg!bN>&P<0S$2*&`@pb4h@Ikqhci zAd2H8q!$Zow;-IjkVVGljNK zEyX{CP%$o<7PpV}T9}LKLyOezyw%@hiMIYe)#5 zOM-Ut#~F+DiEU~(7fAPR=@rN-w^&4L_2`@^E9s!i1-{+U{`KImk^?|v!)0I=k&XA^ z$tItO7tsEwvaFrH^G|-_?Rgbv!tmMO<~JeJ1W+^AK3#Ri?n2(e>_9XmMrg3H5D?!P zO5uc*8e}T~n@65gpi8r`z{2xOB;!jiqk`_QT#Rj)zu`JxlkOkiJps@45nS(Q$WV>r z{w?PDG?3ANk$nNEjX#Fkle_lyFGj(awc7*x&faa!uJJ^ZrP2(87_YF$pC~xWx;93N zj`+2=0J1~v#?SGIyaBI@pVyaIMmoBIx`C;_rY*49hPFSQo7)Oq3*RmZ4#j}1M>Cw- zupwiuSH~6%wj7gRo@E8_zHj`fU#yy4w@`UxVDR;wORHy zh)?e7G;e&9GqfLX@t#|C*?do3(j;_~>{bH?$wvUP^_KNQck-0m51%4$CHP(Y))RlT z>YO_0sy83F_H9Srpt0BGZIuwB^ItHt5$acLakikrPVuYH)HuR%DcRGHL$R3k=|n9+TIR^KrD_TncPs2Mzyj2{tUB!L$?rs7w?l;PKFJ=3ha(+72Za^N!sFnEpN>Pr zO`)L>4SM>S@x2uCMmV(~_XwU`I(8c%`_D0=1ecrh2*xudFO>GQ?L2$twAFw7Y$59& z@Ijh@-qYm>#NEB6P{I~ne$Wx>2Hk9GzRg~fmuPL7{947eTzVpo#ppoX?~X|N?0&zp z!`ZEBeuMkslRW-tEf;MC9>k{u4wpwSSv~8%JBjze1ib!WptdmMoM9KzhP5WkAlw5E8n=|w0k)A7EKsuICyYTZ-&Q?l-k%nts` zBgQDqpVQWto}W8QpN}F*5rAE{+Udu&?mhqw zO@_tzJT~|~Xm$C$bvEOP?_+Y@ZY1^7h=v8vE_z@+0GeP%n6`SDiJv;N2Gxf1!(*Y&#yB)0iw&e1zJLt|L&k7Ep!6e&5XEsOQ7F4HpBDk9*5`F@%L0PrWVw{Zz6=;1@oSiGyy4Mo`J{yla0o4&4P3 zE_0j#9Y+LMvm5`fikVlRe-D4L9hpL3^9LZ;@H3O$t6u^3*|HMlaphM)_>?izjKS!-E3XUlKZsnUe@`oAzRdBrE1<=yd zN<`=mk0f?Y-%Ce31tKo`scw?w^V2`&@c-_~7{vfbF|8N3#%GE~dZ&KhfyUV;bhfs+ znze}VCEj3SI5~znWA3Yu=&+Y=gZGZK#icQV9Vs+UaeWSSf4+<^D*K~Y^cur+7w@s4 z(}>nbb&ZN2tK_`y0dAe+GVH3qw6gUTS4muAV0~~;x2X6`jk>-qI17vU`Hi^D zN38+yxn;rHbkk$U#DmQjOMYJ4k@K_3v$M01Vf_^Wh#(f~mq-8nB)xi+O)lQiU+il} z@d)9+`Bcb00wyI$GcEBY&Oa~mx66Kci-3Jg2~AC7ut5IrE=aKw@`M5^vE$n79?b6Z zUvBKL*ZiNG{GTWJzZ;zYGbaB(OdOG~XfRg&)~rwh)?eYoJUg9!DA3yr>sU2uYkVHt z4{|AQUIY6?1R$FdKV9#0-SN=;bidJ$lS0gq*?xZ}e`Yb41cc^phjia(8P9=NC>GnD z0#yrS#c1SlU9Xo)-&f|lg4=Qho19d>m1$q>yB;n{0Gmn<(PYUxAB3BWGpu+3=i^A{ z_f8RhxOXbiZJ7#eW+Z6$M>?7eifeP2j#hSfZ4#C15XjBeniZ5BZC;%14DjBO zjB&9*(f_&dMAJOV7C}aXxgIa&1Lum-`3Ae!Dmjv>d6A?7+}@Y7<^@}007xKlywpam z&-BsZK9sdROFRHgWgw2cVTIGH$0CK>xWEL!((J6pT9aRsWjf}*x0yp11JT9P>xXR( zr*EF*Hk*#HRPN3$2F}%=#@zHplB>bH=5ijh7LbUv8n9IGE;Qi~45i>G_yuAn3VmpE z8-Xskt|c_$K1riuGwV`6ZMh@JzhlARD$)gF2x}$q$NT~#>0J)AHWsVH7n|CEWIlf9 zErMC)K5pioF0&6U-b9R-Mp}*D=5q67z*t)x#+jr)5oz?D0DOwr!HLMo$9794p@t@283hrZ67`wub zxdUi=L=X2abS92lQRjATkd^*@nHDtj;a)~5FQ^BEf5TU;0Vn`rQg#ns@;r8nd9HTL zD#gF@g{=nRC;o7ANQT-;>&@A$wR$D(lZZNwhhnhk&cj59q2O|#`1ev{*V}bC;*D;b z<0?}s0vss$i=xdvVbMR3F>{{T?n0f63rs!9n<&0_z%Fk&ziHkC`NNUq-~VE)mN*C$ z|X<$l5x@~c&+E@8mo{@1PRo+wQ?8W zm&W8gYjSd);`%r$_$o z==g8<&wvvCMGKwk?pm+BdbOOhJHLnbDhq%{bh! zY$rd9GRU+oVd$b}J*&_mmUBIZiPc-HW3D$BzVF6&q->Pyb(|1RFH32Gb|moA`qwjO`C^G325sg!5%H1P8PQ z-EZSE&=bWif8|XPSm)f*UNYS#&oi#lzDjokPl!jCd(NMY*_EcZaby^{9xcRIh+gxp z{|Gj&ESA_*p@E*0tR*4t{_>`C?c;re`Ud$i3Tjnp9pIWcz}OB+_d~e7``XkDoLtZJ z*xxgy^Q5=Gc>E*Wa<0t1&hVUD`;F5t3prYR@L~S6-BOU=#|C%ci0bj)=0V=o9U5oOW$78)MEqlU4 z4pU*p>IDWz3x<*p=2l} z;PbzA(BvVy5ao_;F&h$(4$2L+h+Yh zaaE#Y52#em zB1lEVocAYkqPqi2wr)?i%5^u$+2Sxsg{cT|)dNy>J@&?iQyDbqkK?{S&lrUm4Ls_2 zq*G;4-D-39t$b5x@}+*e*IN>Z;dnwhbZ3lOLt(bYH2yH`+(#(T)^JkRw0qqy6+)RvehQWB-c^(1XjxQ1 z56qE4Kab+(_H*3P9LRP`I-&l|LUOWHJ+8|wbwtQCxjgbLADpLjSSN+1@o+ah|Hf?X zO|!@0SB99r<6i{@w(0XRsak?guU?;C11Esuw}^*4kXw&>RFxKKJgcQ^^U%FP&5E&! z+4G$>n!{t?5`{Q=O7}M=3315(2}nIPK5(8-#082=Uj=?}v$0``6}{$uve} z>d$=<8LxJil6`5F2s&*l-zLhO`VTfrIn{sc`(a&n?u7yFTR=hS(QEbMvYBny#WEW_ zOg4>VIW#5S-%npP#r-)OJ~5$9`FZ7p-GdTNnx&dBMA$#w;)k23k<4G>sf)6%aa8#R{34gCdh^!$xtGKG*YJrd z6^X*;jfYlnW=9pS>%3cij=m7HHxOMdkU^{TOA;IZM*D!LAnFF)G7J2LiQoMIo92Ft z*r;@0yjO0ZMpXnR3s5WA^~L3O%zfIE%^9^DY|fDfk|+_&b=nfVJpAj^G)RY%_=5-H znRAu;d4=0Xqux@MVQr&8V!TU@@cpc(%9VlKSsH!pnGVlD+!ggUgYVdAn90gW=ogjXdo|sLnyXfB6s+R*+uia6d`5ZG_(xi44u03 z1S5;yn*1UOVw=aY#7-aZXeM;gPr`LwqKs@t4zzoGyYSH2HJ-vgNiBZQEpM$fA4l#n zDtCw$Bafo&M#owr)!nBNa5*jnfav}0Zyb68ZnJpPHuaio4u^a3#qP1U-%_Hi)YO7< znf*~Ke~qmd(o?X>rq2mFmLW#Ce^k&6Kmr+b7#g~$yqu3?J;!mjn(xwjwN7s@h=hN^ z=Wt>aKZFJ&3H7;?WdXs#V1X5y0hjD0>>gm#u2DRq4^-ref4t_O^sEG?xhLI7XM&WvwR! zPhRK5^QFX)u9=%i)rI zXd=_N)a9vIZn4hffERIKtcq5L$7xy}f@yT7lso3nq2gezx-;?_WiT0;M0zIiuYR>c zQz7)*R%#!DST~*@q7R+7Gj7|mK41a`rF3D5`W|u2!cITr7p!DjboD2l&m^YHzg7I; zLzPANB(+ejOP+jXwUkt%0eWZ|^IXBcy=VvpB#Rs@@6e{1KGvGLpS&3+7cuymunq5) z9u&TX?kGs1wHwT+8ReDXk~1CEx~05pM7`0uU#g+7lHb{OU5~JL?GAQDw_mePeN)DG z{U8cL?^E%;J~f>W5{`2_D6$_m zw%eH14>|OL;2WLh*mrt$;Y}xg-b!4yD62}-Ot@{m^KlikU)$Gl-J@LS5Q^Gn+R-Ff zmO(g8+a58<1LA9U5Zb}ZWO157rwp&7_0u^u@!MkQ7YFV(UWFM zskSacH!_EWHKA{eAXL;XIZ&{ENBPIj5k~#z&M}z4oEw72C>=W5;eKvbqFI?S&iWjE zTF8rweSf05ySb_hv>J-r@Hy7_vrM!M9*rB%G0Q}Co0+o}GvMM;!yXn&Ojf5- zq=^sPGi1?kmBcHxu=U+Sfjm#RNH}`wM(67}N%V^pJM>VX;VYWqplX(p{JjIt8+qZ} zO(Aq?Gp1X2CR^KG%Zsyo!-WThG{FFAl<;lZUqbIn@rO;9RI-=p-#MWS7nDbhik_8Q!nlwv(4x2iv?`*fvl)or^YTSp)qjtnmDLk{NigZ&JS-ywDhPV8*G;gV)E+((jUV-VhaPEjw+e>`}*l*zLcNNGKhee1m9FO zd|MBO^-o*R>F5YdmuiHkp!s+M3hgc{&{r?`teP)3Vf4v%+ z%35`H%KG8sNHD8K)1kCoOfgc6c+6>T-b#XMy_%J zHTfp`-Y@mmPcTvRcQ|4voanP3dIvQ(#;vp3-Hi81gAVSwMry5&@HV=F9Kxgur<$-eDG0%kNz zZJz3NCYF2^06+VA%lvAc$FR=X(GjEG;42*X%4|$)i?Zh4XhnD#Psr&Hq(`}<$CJNe zZ=rjy=XJrn)KFsBLL?!fY`v9LD8diVlcO&r?r)~~Y;+r_mNc?nu;SVud{H3e+?%>C z8L=3%W6mq(UU2Qqp~?ICfdVY7^G(YM4<}w+#OuC;yX!Jgq~zjpbJZ2u;gGpGZ^%ItB`%vu(!tt^j}XVB zqCG4b>?&GpUbCFK3HV-VWl(^Jk~xS^28L{ToL+-(HfVx>#8;i);ORcx`|=odCH=A7 zLL3Gh_D;Oxg5{Ahv3UTf9{W4IZx*Ymyr&v@h7_As>4YjEIj_f9CIFOM&)bLel5+vF z)nX%rT<_=G5!l;R*zTb6uAU3+@SsBK(26YtO3C?SP)}@+s8+_9d`i3-m{R^kA&Y4D zS2U&}8*gmxQ8n^g*d5~tT(h1yj$jeaggR~yjcAAV*xI>e`{5j$t>|Ge6dwCJW6v|()p+9gUsXw|KTm)3!VOH6hC|&R8 zKegFB^B-sjT)RNz%VfW#6dN+ye$rd9erWZ-y}XJA9fh-ahlz`{EEemPejPS9-glRz3@RmML%J=;Dz=`y zL98gQ(g;2$s4roDwVNEeY{Y&^EU6+AnH_QykShtYv;A?!=B(oR#`uG!xvo_7_))tB z=8r=7=Kdf|=-^{8U$uM|2bEh%d7XW~T(j3jbD2)dgd<8=`Q?X#p7o!o(+sHWSKYR@ zCF%?^QvL$jOvxNGc(C|KgKM?r>F5j70M2DOK9!!9A1#6WZfc0I{=Nf#aic#a7H^7( zLoN+0%PZ}lXk5m7j#6frqsNZhI9ucBNyn}=M$KIgIjzrLdb{l{nfZg(#ly-;2|Nm; ze->@8Akjo<=ShN=q`F$(mc`Zr^;Fjep_6HYl~{ywn5}2ovOL~rZT(lmyp2wltKWiL z6MBNr;~9QDeO2!e9_DuB?k~9bALD?r}_Bk_vnH`#VrLwOZlR$N}in1xKZ-x8DYSN z4UMRfnXGCQ!u||6+3~Ox%@9?VOCj5C2aQ77kFBT2@27S9UROCQn-7GEcT|&GKi8i; zy&sHYPUPouP7^kzif1hhzVi}WH_Q0EvO?KJE!9NA(R`>PmaXUA_ z94w^l4Xa;d#OJ}>_D4jgd%=!CB_}5s5jG0moO34PcWfo|nslr5y#Z%!QALQ(y(zvh za>3E8^(h3|(yoseheH`5Hu17{+$R;~a1HY3!H479Ly7R)rbsELf}jp`2UFLP6IFz! z3zo5n=L~?bs{$3W<72#JTg`angV=&0*_CbEWc9f z(NN^u9TD%XXOm^QNag8*4kS&QWgn%O_mmEw!n^`E!;D!=i-NeqZcU)+O0nsE9wgFo+2xr+F(B=xlxvVF}F7ZkDpJ{>B~b*&AZ)my#r} zQWtq&1IsN5(?TRM;m6ke3=vk}V-}rnax7D)%hblVEH+j|ThlVG7^YAWw8!~VLF^5wYankxS=#rn}4`s(#IADd{UlqW=I4^zU!t< zNhR^@bfcbA{66g@VukXxIhYzBrko+1?}ZdPAkPo=smpL#f&kjn5mG z=?rMV;;7smL+2BVSCppxH|l?NtR(;^xWLTV3i5>LT5r#Km)m zhU;g9Uu3n&`xXXhGpTlZ^2r_p`4xHOPS%;bAs;`Z!y?H12|G}3q!{EU@GL8dNMv{%Rehcjf{98#2=c-f$Vl)~LTqdyTawXIsLz7L*%+&zC{D8cR zh)t*;)eOH=d>*@kUB28X)x5suf%#*9vAVwc_1QnlbM~l5{vcGClJXtU3UPl|K37MF z**e!`?74fk0l++OjQ3tKXud~hDE`n^#WpYTWb<%RvoQxdVJdt7y{@2|Iy&sfqs~3) zj&u>__)^Qqj}Y%sRAZ%6(1|pThsNlk^R=JN6CcsYC&t1b!fjo6M;_lLY`rJd3;#cl|BLcuvCM)fmlH(5KUp2%7eTk8@g{t&?J9bEUB_L zr9IzEiQW@PwyiSqYRlV~Yk_VwlM@BTq# zII+b3bLuCP=!rkv2ZR|q+4p@m|po>jW3pOnLHG@CA zbh=_!0NHJ|vn6zkT6b}~vI8D-(Xrh6+I#&NN8G;4jtM4b(E2%9YsdTiwjLGrL+sqQ zDPJQ;ax8M;9MTpSm23ngdhgrMCA#i!&|pB#XE?he&6=?yi@&Ma^l^M zk0jG&4%IS}=+m>&>QfY{=kuR7@&(XAf42wRqSr%Nm(X>Xbe^4{X8{VM{(U;-m-0vP z3kqt9sqjey^%ho5 zje{L1IE5nx)O1Sy+&D5AV|v(9^`j8mj|CCLVy7JubjSI^W)R&n-6CBS_i!fGBi*MP zY32>=#$WGrfzFgU771rGCW-J5#V551U7Hc#UJh-`G4U`$OM4mG-}mOPw94_=F6AgK z*6HDqkhuToQ7K_q$o0UafjX@NK8tGe741FC0(6(T5Z_ig6?X7s1POfUS_t4GgnZtg zSk}~isdCkPddEz}Z`CTu%!r^l@6n+_VTlS0A&U6hYKC3=RCFhB^cYHvttZ~0GO;OE zGuldF64C4C?Q#99WYYSAL-)usM|{UzOi(7H^-Q?cFG~|*+jZ9VfaIK6&r(yuI#Q2%{bKxm!EA-_(mNis=9xfEVS6}+M;%-v;gG@@3P;$zB} z8hT9v1tQJ~s*hz1+kC@Ep6W*6t8+68u@<1CA{{VV`NZU?)+L+)YJ5r+r>E+*#=?5O^UW>Vm&5kE9RbT2aLRpqC}{Da19P$x$K_PKV&@9|}2-N#e3W@gYn z@2S$`CHC*ZFsLV5=mni}#(h_$}<~%~f{VZ0!I`t`VGwfOdix1$y}uM?Db(b&t!YJTg~1*Mno_vLP5} zyy=|4a(&C@Hzqh6;CaI_p~R&AzXeeMZbXOK1rfvh)}$(?`yX8#^U2dIhw}|#hjc?mtfD@FWuIJw0{* z9%b0`_1&;lG$G@FU=qr|ukgG5 zt6IlSn~Mc9ZW?esKN8RNdm|6_6bILr#0Ql6hy)XGexlL8|7iWN(8N@3NQ!scbWAGX z8hl*W!g4v^Y_P~*Z_!gliN6+I?s7SB@D#QHA4zXf2kbv!aCv|9OmQTx<=cat;s8wn zZ>71tWng|Wr;sc3$I{elD2lDqj$Q}HUNq~?bF1;Mf{>m*A)&1Dn)E=^&SPe({#lCP zIkzYAH06VNom_)0F`oDXFbFOBL#{$Ay|AnwR?UDFQNpt{wzQJ}Jz>e{i^3kzAT-?9l!F6_jPm1!3Ux)>INx4CG>ej$wkb+T6eizu zG;7SZo93RlADWGYE$$Cx5Gx!ErX!X*)&Ns5tk)isq>KsD6ozvwYq9)|3y-w`$!S8a zUU_*5miGm6WPv}DYHjFV{L(9toB42th#|m8f92hgOJg8a0DAwUN$CL=aJic{soR4*ufBa;aw5%EK!6?CDAE>raf? z9SwG_R*QRWrO}zh+|TiE`}*e!JBZj=LDv{WIW3(ko2@ge^NXn^!CHtUqU<%6O7^H2 zM1l(X6<$!{JAOxK5?LCLeydwo{RrmbA@cF)OTkaP0k(5F5XAO`d51@>0i#eb1i^VSj8OOK-M5k_&5Jx6y0ys@KBRDq=>PdEq_DHGqMtJ9Bqy(Gshk z&QIiuI#ZKj#%R*M+&o&|BizHMjSlJkU~MQXKZ zz2P{0S^gm!2Tq9nf zB_e6pTFuXg9}3qChVt3@9|Lqpc;E}Ir@TMRO~t~Hto0S%CR61H2#^{J#G8X}zrky5 zac^CZXL3>oDH;LJCbn?QI9loSjEB2hGTmAWnBoItoUSA6n{QjId z|2evJM2N$bcYy1NQyAe{+l;ud;L_>^j-K-s{Ms+$X~T=zV zX$~T|dJun*7zG1rl^b03T3{QO)t02?82KS%sohB#&V2J;i&i&uEt(L$MW@B}p&j>E zcmmYy)`JD4MlS57AU;{R(RHER>gF)~fp)%1H*s71S~=;2*b-*LXi>I1LSDG6=M;p#FV{!*3PUq;H%6*QmuNnsgd_fVK{5S`xfoA$VO zk@~9rcTsx#*)p8oX6t4d7rX$LJz$Amj+Zpb_~-uhtRyjXOKMs*J=B2KG-ke`h1wR61H1v#nsfJr;=iR4D2ZrOPlKlhro)zG1fH*T~P~0 zieS#(S8Ryf`+C20VvCG_=Z^9{8qxD)M3Tz{ih{uY<%`Va`TQSykX z_R|r_Vcn~b|A8pN3;*OsWttPWwD7Tdh1YU{W9(wzAv{kz1)MTITTs>DJvgm)ZLH=7 z{(8Zgipn$ynv2fK07~aO1?`yF7gq9xeJ1-#RCS`Q}@t=qke{W_OJ57o}l zmd|^ldIIw-$39f6&Ihd>Q}!Y~BHwPqH7T@Jk=SiBwLLH8`M!rt&?r@Qk-ZZV@%$n#TqJ4Z$&J znad*aOmA&;8gSw9IMRz4qksZIG>odsb6Jev>5{}dmhCZ@wHB+i&|Tkcm0}zJSn9N$ z|9+3ZdizkMdW(l?Q|+0tH(40*-(jck7pQ+6>^*850QW19u+){>{Nfd!e6pPT%jC;49n&+no2 ze`QPx$BjNbJbLu#;o(i|JFb6wkRPO@q^U^}^j3mG&=}~8C@7>vB_&_y1X1M#;qJD{ z9h2r=EddcNa>o>HPZ8crzEcVL99?2`x22HO5ZlmiTQeIFAhZtIXydtnEx$5^EHqtZ zJgCQL#YK<`6v&(paYA}>R2=C4EqD8y8t^~A#3u34&39b}LO&W&x_|xW_kWQN{^yt2 zsDK8nZU@UGqw3jTJiq=LLh+2m zoxhz*n`o%g^G z-74CxUiE?xA3R>GvUNBK6<~_DMJ5pu%>OM&2T%+8?EFq~!$gAtM(!~}o|iuXIn73O zAK5q+3HM zoa_};g<{3^`!8$mkHHV;+AQ4qtuBYn>P7knSmo03XR7ypzSRy%4geH9?;J}la$mGP z9puyIYo=27iA%50-{aflBqw*VG;GTe-c@;9XLp6^LHT{7x5u;S>N$?FQR;tAx<6+k zw%+gHCU!t!f4`-ex(Ro?k{`f*O|yh}`UD~Rc>op89pxEyC&Kx0$3p@!cqwX~E@IGt z2OiUEx1Dd=VT3~v0M~IQ{z*s7qp~xdiP;_{I)q&%H5TOIc2F((D@R4oeYaQPIbJB2 zJD_tN&OH%`dWYnQ1_O<8`2EdJ4A6t-gaa~EUZ5ad?l3qRTOe6%eKd^RfLM+?~LDq_g2 zdhM^2OCEIxW+^p2}0%yZhxTY9A+bI{3QN)qG$>dH>^r&$DOC z$umOsfb`%(H%5z0v%(ia@mg5GWsQJT`MX!7_yz*n1@lq%VB>>0P zhB$S}kdI|Hh(6fh#2OpT|6?{*$No73fVdXD5L^~2EXGw7vCp~GltssrjGCss19+VDRoSSPgBU|eEB#xR~iCMwhs6lH}1%x^(x(gve~}J0uq2S%J^5k4C`#GX{i$i zO69hP;%|d*NP*(M^I}@oQj!CX$&zotRt!ivio$22R88Ir(0WM+oiSu76+qIMV`-J+ zjr$@6v~SMZX@*m|qR|OhWFtk92z?q)det$l=jRnAj_N#D+01-2(FW*$YK z;?NCF+03Uq7L9*Xv=%csQm-^L)&|TuM^fJymI>%)@_hRB;eEM2PDPmRjzP`mCdVdD zT}&@{z_?NZ6RX^`66ve`K~}!$As>-!aNo$HYLkw$-ly?fE|1Rd6P*J7(v6qN{N7*Z z@Xlh>Y48RT8=lJ~tT*Mo57yC-wA6D^(9=@rUs!!dJu_ya|jf`gogqk0}9qMvLQ&RVpu6&bm zZcTkMkUyJNY^pb7a(l@0TH@9`U-A5_P8j#}P|NN-X_zaZ z@u=~-;2(BhWl~;oQ9}WC4|pKpW~42=*kbU%*!#+`DBE^jL6DL%22lw~=@O7ex{(G+ zK}6~9kVfh5l5#6WyK7*mee=HGTKjw5d#&Tx`}g|8;iDt-%rkdg=XHkZ)oFCN zH;1o*q886j9WUEU-q|```n+c%{WI1U8agiNd#iyO9ErRo*(|z!WGxz%T^=#dDsq)W z*sYvy<~-2PjaiL;t4+`W=KE;w+6=1h>NF;^>BvLPLaP}_7-{@E?CCCpR;2{!EANfr zp{FHpMfQq^wFhrII=}ii6M?@R0tA6G#LLI<_17)+?-vC=c-2FFzkQ?-Vcd7i;S(#O zDbXA2QIb#9_14LS(_-{qClod193O#f#e{EW7}wk5ZX`A@?AtAp19SZKL<2(*_Z=>8 zyq{^Om^0D!T;{<<_9pbFSJ1RPFliapt4tXDqwR&>*lCuDF@E{Qn0VSdn#r%yjEuhE6A z_p_f=H!zze>AXU~KvzYIWp(+X&<=q++3u4Na9u+B-+$z9nwPKrgqB5*b%k~f^c5kX z`?Xp6V!ZI=gLO@&P&h^Zhb<;2*3XIG)_;%_`Kl8a{}8f&77Efa%RiRACj6Z%f7|0`>CLD?!mfy8#!1H%6-JM-8VwDiEPV&cF}ej|p}K za8i7+H}D6ZyDlz0Wp)`rtjnIT=qM%sbavGN{}4#MnsJVT+;DWASpH>3xbgOovVqav z9;s124{L7qAe0CR@%-1jhD4I$hi0Rto~ftQ?@*|vS| zw?9niwtdQx3t4WN){;5^3v2PuPooR-obw@EgA+A1*k!7^Jt^3z#}os?b8$-P=I+IA z>{r>gTGkuWUE4LWwQD?XjaBIu4bRsUsmF}7yMhQ+D%Hqk%~7rOeg2-p!ALKeCPaUy^}ia1h${@mhbl2QmgV!qThnGQjk0)mHy>YfQc{ z!R(MYW-tmE2|5DIW;AN$ucN4(>8HD}Q;wp_(x$LpQjvE!d$T2pD-NVpg{5DQmA^uB z{CP#@gXmrm;Ns!YC>79i**RRPwi&*J9DT7GoFDvjHtTRS)p%XIcks${#goMQgh?xk zR-L|I-8Fr1m|o~G8i*TfK3KQ1ktc<2*_#6ejJ?EKi z*qtvCR$J!9FEsOmvSj*PYy^vK5WTUk4tTj*qT3&H$niBV$zrq@*QbSn`JXDM_f zU7T+FDJANw77BG$?YCx?p9Z6p*h{23a=%R1NAmjo;?wIPb5N`iX8gLakjiY>_txb{ z&2au#yUla{(x zIyt>JO-m55$1y-dqCTlo@mQHa!Tu@(TJG|7x?vl7NIL~ugJsXW2OrZ8TCMgK9#`&9 z|16lX@Bohcz792MUq?$DroUUtM+*-rs&cmJW9P?57iodCs^nn@OhdQV`!spB;ouBK zju}_QnuUmPfvMke`)yk8Y>XY+lfG$Hj$A`!p67MLd*8RWkmu66N*H}D+S$R#JhBjK>EefxA(Yrz5Lwq~RomMa%Pdg?{IQr;r%j;i+C6cn z@d+Hh9J4aJVW?#IALk(OITE*qIHipD?sf@lvw9#}rhLe0>-ex3FfUYh-^MJ_-kZcQ zQk`uj!5dlN)g(`Jl(B8a^5|jZ@j*AsyO^jCH8>=Mu{pLXYCeH!X11e*QRzL{jWgfu zsc-v*Jcs_^5)G%Z&fav0TNl!bC34i3 zM0^$kNA-!?6N6U*6tP(vZ))bqDhz+i@M@I{MZ5dIsIEn0yLbeTE>b0zj;k7#z5rgi z;R}KFgrO*0?>Yls?vbkkm!t~`CH;K^!cgTFc7-pqyNxKi!`lu= zXd3LRZZHD;BHR0nq5O9ue?j9=e%!8zP7JjwlC|svo$m zna2=jf8N;$YkR0-4-=yKs}eZbPj`o1IOKe2xpbPhRX}9tE{JCxIz1SvfDum>d8v_U zb0HVoe-lOuH;o+9UTlMZNRTdC%6quAtoDRW@0;w2mf@>=QDZnd{!|k*Vyb=FGwo$V z@l1l8o4`(P!tVb0%pq=OAW@;$rdMqt-AL1!gzZ--C*#KtDvcMqRR}bPC4!gU{!NS) z)5dCW|x8U%blfM}*LZ_NiY@ll`_!5xA|D zWivt`IJIgz`=Qgan&h;{)W6B0R`yY{YuatEykyZ;Frjta9e7l};MsY|gn@1vN~APl zHcLX<>1g{x@wI{gbp(}Z#cRjVjL)7B$Ce(fZ-Hz^d76x3L{FS$83HDsnpE+`NPfoi zYC!eY#5yBkcXd19;4PSzxv^$m&Fn4{95RjW`lHCOi2lnw>D8bs>O%2GFj{JpZU5Ft zV}You1@@ccUXJop>#329bnWD%J!2Ow(1_pNCe%H$Tt%c9Qp{Hb1wn5SQlV$2)QPIC z+vzF0e7VrqIiYY7%=DVlqq9hfD60MQ%DV(IH#i9QI1c6`SIRZ0&z%uyQWvYjcn;&L zwms;*ALQh>@d!Rs@ipUW(6{Q5m!DGh7c>s*4K9=KSpL@G9#7$m(M?tpd$sTrs>iGS z@mx$&PWDaKo27lR?An)yqP$5Ti@WJglI3=Av+kjlJOFaN1^w>e?X$^BV~s2g*YtM% zqE8IfIwi>d^kTp!G-PCzdP}eBlF;eq+>$bb225%aVvwYuYSc!}OM9Jlzq@q|g_oUT zYP_TR^HotB_S-A>ONrt}->1A+ZnA_d?JBs*6U5f7yW)USjl??}dXOlWKkEyhY}iO) zn0GEISTO@*FT+-^ADx6cfABt9sY#vCbDs1ftk=d+l%SHfRQ2R{aApX1@qzm%|C8U8 z4};|y)#@;-LJGO$7*r#2-Z!{I66g8?Cqdc`G*439;n2Hy?o*~2w_D$RvTFa>pnF{on!$m$`$C&WK$IxZ$ zQ!07ljQpbtPj%`8Z_s-;a^7QgSy%|`QCD?aD@7`A->W+T+B zt-=!nr&C8C6WXgXs_baIOvGeZj&);nSy$zKuI~@|<=;~fSmbrDkjK$MW9R%4+-0nV zweH%Fb`p9rc5C}kjR2ZMsaEY!9AqE~V_&@7#)&jm`e!QIaE&l4UTRR7P zX2(CtRI>k@py&A+f?XLmr8_FfvEpkLpnjaDTlS!0HFAf6OZa1kR)ML43sx1^#gXIX z0z0xn9&uSG`+4a_(x7`c%YHPyHttTnN3w&ekhaq8U|f@!TXd!zMog#n%>_midS?Jq z6-{JMB(t=AL)*3Z%s|6Qg*y33d~@YzVpMbZS$vTZ9_I}rIyNDbGMm{M@P z(Q2N|LobO{iQLPxD_8tbLjO079s_X}LMNuv{P^YWmCod}Z**D^{GU}qoxl=Aaw5uh z1LCEAffBc3|4RI4+iY}f0kizIQ(F4 zpJw-B=bJ61S3N=lXRj4CBU9L}PnRuJuWr|3zkV`pZIYOELaKEy6gGy~-m9iHv{%|^ z)A;Ycb$6rWTl`-O$sPypi35mGF(tbAY@Y0Pm=W<>b0FctiD{jx`(={2Lgp`$r;4zR z;pD6FD(@Qr5Qrzc-nW@*sH>C=Bm3?$UUnZzRA~cdARdHew|k>Vt$gtw#$z*L??5vc z4}V+hbz|1Vxv)B+#_oEoznIoBQXAOS-#M++OD+hv<^-7oP&C z9KwD#Cxfc-1IfZJsFc%ns3PQKjNLa~kbMv_U6UbAZzk+{)Dp`WNpofa*GoI9#;s`q zKIa3wjd2ycJuQ1PU zCGOuzsA3|Lj{WAKu!vXcMdKWV-(_Dt$oOdQ(Hr&(xr=RpEP4$J~A z$F{cg+C8!r8cKO9=guZA-dJZkmL#Xv_}Ho5M$@P%qBlkl_GScY`uvys!_CaA6Qc7g z40r#RWYx+JN1yrI{7gT$Ru4~WB3{u)%kL>I#C6HwB;tBO+{DbFC6aZ>AV*5{iI@$5 zg^>1aLUccD_^Q9E#uKQ0D$vvr-wc6EL){-Nv#$OIN9`9A1)T?aWWXDESnZOnpsmB8 z*+zY1Fje=hP}DrbK@$HCdv_3@&Ma)w)CoctlQ;Ju_Q;viogd6rC>ELF*0gJbky74k zVKaCn`$gpjR>>3=uSrie^p)$dGi6q_={cZ@!gl<(!(o^Bf1$*rw; z?%3gZev^_wQ%$fS_4!@`vj1vtQPU|pdcc)|JVi9G<_wqXL43s~t;mM&0)bjj_@$Bo zo+s|6S;Y{aQ_q)cXU1_Z;f*Ry-Wok#p-%2nXE*R29R<7?XGpjt0@lGKacIT_a(w4k zQ*~b*PhOBX!CVU0acAMgu@;lbcy{rVxGYXLBvYrGyp)qgRGto_87`9U6?~8XTzj7Z zNSW#+z6NI%2EK}96_4LEHQa@ij@H{Gku;7%xBRB9l@e||6GkH`TAB{zqHN#s7-)-i zDxO#9Z&&W>VqE`6sZQ^Ve9P)08_%mydv;Kr>X!>rOtuM;3WQy>bBw)vIQ?k%oW@V6 zWN@o<-Fu&>`)R-ep0SENz$Pf{#W%7^Kr$MJ=E?HKzIDhoUH9E@Jls51HSjqHZ@|i% zPYvu*!UTvSLNM^SJu-^U@69=$Mdked{F-JG>1fQoLC%uqldj-17*D4OHY9`1t&~l| z#K+HLY#$L37wy_0k|yy3^;@b(w2fJ^FBhLCoB&Wh!;xnYrV@#sksa8H8;x z+Ch{~X*kyHQDqA4hw)x=pUmN2WQS7@NGN)_BKdj`I%{`V zhqY9TVr}i_`87VUxX9A$(g%d-Qh~XB%%@Hd&|2){*>iseqda^;I%B&t9yRL!Sr&cE z>Sdw;--E~C@o2k$99~NXEe~cT!{zr2$BiOm=d`zv8^(} z)?XER7aHdhEW8|b_U@-$r|@b<(qtxnvi) zrUdmzh#VI?&3GdX!Cis4voP+9Pmgjme(OEN3GF4WGjVP#QDt;HwCqQA@Dpb=Nuac^ z)QtLXXRF@O*AXWVgjUSn>_tJuMr_iRG!K(VQ}&SM3ik46#u(R?Ujq2+QGadIL{e#s z^UhRh8we|H6e(AfTJNr?zt5g1F3H!ddRJwJvTQO^pFyi#A`wO*OBPtvCVa+h$lkF9Ynx6KY0E%0%l+Jg25zv=jtH;z<`vmg~pg?Qk?7a^!zPjv!$+-fPm z)Xwqdmq_MVEY>kFr$P&T-_qgOh3=%ZAMx zR_EhS?)OVI+q`aysU=3+iM+1dY?6Rvd` zcD$YkRDo>pAoUC?YE{dnE~2u!kuE+WzE_ugu$?~7yo9bt zuo`cMy`9#mf$TC`;;XZc0^#^9O<1s$=Y@}4Jp;1|;_Xq&%eqhA<|6weE4+JBJn5X_ zI5Y6E8`G<+im_s0E&|3E7tgS5#~4HZY^H;(rmP{NBg#cvv}=7~`8A1a(nxRZy~{bJeOQp%6-AQlsUTj@QTr{CV6j2;RuJuAejHvVvQ z=={A%;}rr4AhiC8wHM$;Y$+#=N~_~z(B1-enM zEWIsB`1E9426Yxa&nX-XO;OpHEtY$^UyVviN0XS_jtRgz%SXiZssY8(mZIUO$0O2b zxm@`Emg*aPwpZzI3^%{ad0e)qb%C(-Z6%vspMGZb8pKvRm!F(tt79tMdrfJ;2fBH+ zqz&%-*nu+dk`=PGM_g3#q9TmNVDM{;siU0l3?sBV&D>1Syt;nVi6CAgO6TR8LPYtq+ECp41MTL)Y;Ca-?`7B zfbC}#Aw}*1y+t!w>8HImR8R`;PTS;6Ii?tTnwFso8lx+x4vEp4Is;?CA#CEVd+_u}s=&!;#vbv(<;u+~G@K zD~NxOZa2yeV4?F^jfgpnioSRFO$ZhL4_D*A9fp@6f7uHQCLLBu-ibZ~Rvbx-SZ?Nd zYQMUj!fy7pE=1H4gYns0O7i!|Gr|=Mc5vy8jkfa{n$qcx%k=wmE8DaqIF2E|s?i=N zvH?62Z@2bf9Xs!mR*jiPvVl*(jq-(lGx2^RvT3T@yhm_`35bijrjDc*1D5`YjR4bR zhQoHrIjmMf+(6Pv7bauW+AsCLu*>eUJcRZ5D&w)6Rf~ssOmnrw)jAI@?syYrwha$o zEFNM8T={vqt}M^j=D`^nW7J%mZtC(CEKnX`qFLbM%{(urtAB~MY=5gYFe@V0jRd;nEvTvx?iSlCM?d>A3_~ zpe97$YKY(n*HCOcjm}r4d%76!Gppq$hSV{b}Wyh z4F9jaH)f63G7JaKx687%e6T$Pm*GKwhEyWq62IRkKV=3IHhvd0)B}LE_9^YOVi9!K zBKE$WOb4I6Hlb{USkRTd;&>sHEZNnTKiWkL`D8asSG_v?((2pQ!0rbxjPro)0#54* z41~9x^+E?LZ*r1xY2WWoHmE>e!+6BbX=R>qyeIl2)a`$Ro6+=Y)I~Il%pY65w8mFb zonPu~x{81A<^ulXx*h)BBN2s8G8bw67w~wv{dvf{qj#YKt}_~yx*2aw=6lR|nHMNs zel@#V-b!x^2H+_l?&;KL;;P0_y1~C*d|IYpAiDnLn_+ycO!O6xBeVXJz#m;C1b{|o z^hhUVju(%zYUxhe=!QV)pU4e+*SjX2A?NA1*Q@K?=G*%oZ-@xVM)fC%9C@WNk$aeW z@`CY~%47KSH`j(cl9JXP#`*K;bbDe9%UwCHOhvCSe2gY48yO>bVX5cG$r}=YjVeaw zDo-$B487lu>Q}0N5X`VA8BLF&LAHBiE$ih%8^fYtx$lceJDrzD7jV=igtyQ}ph*y@okCN48-;%-@@9v6p^v z@Dzk)u86vx%Ynt9XVM=#Gw52Y#+mA_JLW(Lx96I*qgk?{sgkw_z3d0)(-x9wlG-7+qE3? zW1UMC?=)XyQKLB~LMm?ZtM@QgkkV3KAxQV~w64b7>+%^$pCpuPG3NfjJyU4uu)%>jbzL;+&llT8vlIg*c zY$3G)t+mN}R1z*}sqgN$P-a?nzs2>5&gO%~tCjEJmPgUyVU)6y%GWwG%&Q;OlIhmB z;ZGW2A5944IFGKer#YRnO3N!1?p*Lq3*zK!6~CJos@#Qfn#l3$jlax7*XXK`-#5`m zgNmyaVLx42b)gBCirv_~#E|=inaL8p~=snrHx<`;*Y_) zH9B!~>x+s1TG;=I?bZya^mq2>%TzM6Q;N?#gznzb^CJ5(sqjNib ztKK8jAN>6f=*lPeB&Diely+PN;E!<7+e^g)9s@1lGyGQWTYEnLN->IFOXvs0kzv-3 z0`X_-H7e~7X^%Uen1q4){WbWt7EQoUQPT~k2P+y0UtA`cKNTO%=M)1TcQ zn&aKCVsfXbe&LZ(Thc7b6M%vEx)XVVr`WPevm&MvMsO~lIjBX9qr8h0S`~vXqMmF2 zvFKZ8=0n~YbER^TnoSFgCXUhuG9{V_Kp2vbTY|f6WFPhr^kcOQcycK4(2v)nBbnFkh?K)p4&DiY?x7OzbeJiat>%-OFtcDl(#9(6Bh7)rFEMNKSbV{Y|H4@(YNeB1D z7Zmt3RuP0+VTz_jne@?BE8!CE_8NF6eV28+KJj8q?o65Fgh42BZbRnn*3W zmihK6qJ@S2T#GkHwbF}w#}dRwxAC&W7R{2T3xj8qS!jXsm zm%$ zf78is=j@=}W=+==vCR7N2&;rcd+*bz&jeR|F}(OdNY)+m?fWR(*?QU+2NT(zY(hb2 zj#QzCs>!?;?T;6oSKx+t{!b`nk`&WgTqNGh5T3N6KpxUxIm&(K9DK|5!1+{9`#uZm z>}Oy1ZYzvyb2U$|lyb^3qH9^2-ci5+okd~VO2IC!7QF}#>TyZMBvY+S=5SK>-)%v9 zcruE$H#Tc)FH?w7vk)w%G&e|}`)n=rwFo5Xh-_iEhM>-xA$y6darFHH8|_W9F? zx#TN>pUvZDyR~j@neBc5_8vzblF*UzANv#9iix*#Fg_DHvpNGNeG*4s^Gkm?ZOg70 zBch3r2?;jT;Q$s4Wl=puVWIasH5f?3+c`q;<@czKJJe{j6duT}MH_`dAoPeAri?b8 zE>%E2U2^Z8c~Q3T{1ZdUxG8U3wHbS?tT8(-2;r4lis<-*qs2;;IqX3GviMo#^sgnWUNey@+g9Q57OXj{FhS` zrXF8*0|G%gH+zZ%XdQOffly@j^Slo!%|S1(qH65WXOXMA)c=mZ_|KnyrhFA08F_qxv0g#0-x+{!b8kXtT1U+c48jJ7NrPfT zsoN|6vkb9dJJUI`?l1>iVWAIizFEwcPps4Zj)>5rj8AoWdv&-;eU z9&Wku$20lk@(v6PLC%~2kw49TY6VkI@c{DTMbCjj8>ihh0dlW&R7M|G(ZFbcy)*kpH;lKQ8SU|0>4z7dCrS|Li9G^Y-q*i9uO}e?F^! zz9gjie;(Z*Pvo!5|9N!(-=nVGA@#QC_NGhiKj+hb@drCv_sjhY(ctUYXKcnz>wJ;A zkIBng-=*@g@jMOsKlmblBN6}lNvw)!p|ugb`7}s}2(|aWp9LX+H4*U9Nea03jHmH| zW^jyeOX(k0U`Hz2m9Gr)L%}38z23pDgc6Q_R{tXxQW|H{| z{`ar^pI`Yu&+`91?EYsE{XfheJE1ASzXu(1aWbHzn8RIOCH@21{O79j1RT}$#5S5N zSAV?Zbyjt~xiH|c+e^@Ba^=Zhf5PYL?6CBml1vHEz(ByF!%C>AN3I(eMl$z>f1i5s z5WYa*))<*wtJi>o6yY1A;SW*t+ONVP1=$n-6;ds2a_iCFH(B2m~-%)S_{E|w) zOi}lj7dB*9-pZ*DI4qn$>H-nysX-dxJw$h(Q@l`Metq(}d$ z1hX}`dUw8=)F9s|ue7err&c8~k}1BN&^6i;EE?Rywg1#I&W#c}!)!78Wjz63+in3Iaq=u zi*L_+lTOJUV7u)1sb9#Y-ob(Z?5LRvAx72VEVIHZ7aNJaumW{h=X%gCtSE0AKq>e>__+Kx6N^ zAQJT`OWiK8Im+8h=lps|zijM*+``DvhTQ4VP^pwVDEadk#RS z!tAui?LeWAo}-ZGGcRYsrPhAhNOjV6ir;)0EQ2Vr(bZ}Zr$|L=43}R0oYjtkOiKG$ zjKbR$JL63A@)zL$ii6zL?&`(s`|t2}^-X<;u%mfa^Bf=nBN@_k_nquQo%S(zpv=Qq z3-n)bL|*zw7epy!4T^Q^dbif>QOTwHu${dA8)E3uH1A4MPZ@HX;Fg&GcTpHWEhQ*- z;=FGnX_O@%=^sXm)a1GkVfWtf7hLpfloY^Uoe6I6<<5>Is5F9JK9%v0j%nBo_zWLj zTUhG=ZQF+Dx=9x*0_h1OV87$n?B}0^cT3TP zR5gLWQHlRO(SJWLm}lYsHL7lRrpm}cR?m@880AXpIkxwX?~}CKeUOV|wLaJlgvRN* z9Y2OSyY3p1zF00<1-<48v}*F=Ir)pp((!B~uCBM&*c>Nwc9u)+;uW5+ex9{qPY3}% z!DOoWQM7hKnKmA`i?IpAq=X4r$OmK#HVmmn&T@L{6Fu%O*#z_4PPf;MuBHRXgdzNI9#^Y--}pCahLxdiU49Bn zL9A-ygr9%cE_bS5k);eg;cA~)<~N@LVoMb@Wy-(b`dhKUTZa2DkVT4R}tf*Cl&0)knioDw&0~yVB9e;MLnj0Gv><_)Mr4F+bhYz+l~TqUJaIg zJhw~fpgd&Hz90TGF7N)O398-j9m^Fftjm2l_8(pVD%z1}iM78#9@j|)t(sOu2GJn9 zG@1tryUDynSvKcX~(l$4gw-RXSjWVxcu!)qLMF^-JGcLI z<*BYc)9U>u=S|(ayz29pG+P15%nBGTw(fVNuFsf;dHelu&h%ZlznrU1mAXV@+Q|!0OW-ljOd;ptlO(U;3n*7Ff8bf^o!A>ng!e+8_$fBF(3@l z_*Twt2D2PlAAYlh&1V zW`A5!mrhln>VufB)lu%w5^xHR`}$*~#5lad034@O>i8mBE~`ET$pB^Ezj&ax(!qCyqtSio(etQp51IY!Oj)?DG9t!Q~9>?%Y3H) zG0%zIvCol6VM488@p0=(m)$=!)Tog_`}zfPC&jA(QoKjn*NYZSr(K$_vC+q;an@7{ zG{~P)E2CymY2sm^;4FQ7MI`5;TK{=fUjJ+4EY$<|GM`7~z`Joz!-|N1C5h9-$La#; z_RA~y=&QYNEcGQWpXwM*+`AMNJ+ywwps!yom#C_ zT$SO^;5&k1UKHI~DSw&w&C98>ZiCCS?b5Xl2%K-KTHJ8VM5pwsQ8xCi46#T23Q&9r z>Hsrp3a(kFssVzG+z-{okCWU058@OH{j&D*83sE`mULLaAkX>$`uQvbF8PEZcdZ}G zV6klu^_(`2uWK9o^nDk+%#us4(UO(J1zujqRb+L-W6-I1UBikGrif-8Y!rh$lNN%` zYdF@LaFmFo>&36=?TUJia})|t;IefF<)!0CnxBE@Y+#*{!ppVVa}&6CMgJ<`s?^eX z%42A5R4HbcKGtaihgyVcm89mhtx3Cb-McF z^z=*QI~>*TbPqk4CrT{3;}kQ#vipE3$@{n*h-tlNlN)}#09F%YMk6Ka+6edE&|1x- z&*)Y=@LC~Ra%?2S!`kZAgps_v9j~-aE_HYE5*D$TAZYHNrAxhCRS)!Js%v6P?R|Tx zX-BwE-cQog{^q5v({`mQ(;_S0p6uHFz^06Gz_B9uat>r<2Tc_J*ibtmVwSj5P+i8oaV(xs zT(EXNZiejQmc8JJUSG5{t{y6@qWHj=KiB4i$QSrOQ^G zIU)=U`1gR(eC@JU%s-JYZ6LZL%8lHv#Q&qGp7HuH@gL0_0bo&bx4}3ZuZg#KAdeBH zVGHLC-PWP|RXLs-QmGVbWDjbr^(7Y3^-Bxla2z)sS8_IpvYAfrRNQ;N<4MA-sOA%2 z4sd7vZg3deg0WjR(NoEj;Z--ghwRH#KHG=Dcxs zGJzZDNSPC!)$`&ZGwS9g9-CZ)Pq*%a4SO#x>MG67N*Ni>-&qtL1`={ep+oEk-;h@h z?Q1Ba6c5OzYg~|thY9&S+{v1|TycT9FtpTJw85vzac40C6}jl7K=5pi@rR~q+&be_ zXhaJa?P{{)k@!@JQS^`X10cqBvNKU}p|mZOj(Mx*2*Ys7TmafpQ9@T$wj2VqGpzfx zs(?PmB0-NjlnRuF2;aIS)k=SXlT0hm;J;Ms@oA5?RP!csY2vHAzI))a@Mh889vOc8 z++F%qYcM6$@c~^ts|Eaw@+24}5kA1g--~E_xief~6@kxzdH4;9hSjp>{=yhEc)vG&6V-6p^nQFHi2&^v5mRw=G;$R#N2u?~G|g0o;$iDi^`q@q z^uc%CPx`_SsR0r6azfFbUtkkZH_6+UpXG0{Er?p_M(!UjaipcuoseSd8eTAWkeh57 zoSc__a@ArWoFt)xu;`2>ibU3=xI)eMCv9}LWaAlUd!KVt*AFWz!o7$wVXwP_5<_@B zMK+kmaEYT3`1g#-}b7_l3VPb{ouNBuy# zcX;DfN=U@@we~8%(_K+Rt$QN-!#kqojyc}yi6TwukvvU;;#{o~$A%q13W@GQ?CBFH zZRjNEN!VgBuilw1ldaNB*KzI6Lb`ZDl@zs)<;DQCf%04vGF#j;BQtwCAbBwoz~{^fN90D{p2kb{g%$r93k%abHsxYwfdje(mZD`LcHybmlV{ znzoHadVrVa`uudi5IYi?H~*Xomem(S19i0%Qt7bsxCmH8JRdcj9KjtcIqvLx#hAov z;LgGqGLex8Ym)oPe0$123b-;*x}%9aH6`??_Famh*?kyU%-H|LMT9^x@>6X?yI9Bl z$?NyTB3?J3Ae8_GpMdiUiKh=%G-k5#=x)0F&7LnN;cIMF`bWm^E@LC8^m{vPYH9N? zj#n8rR&6`zY=h$&#o=c}8>}Mg8@C`*H^V-sxC4FX`Q%ae2fDMLBLQkw=|Hfgb&3bb z>h0dqClz;w7wktq*YCWyf3Z`&_jip*X0(l{zm(zCeCj4zpzGw7Dk&_kuj70q4oo^7(ktw%^j8a298UkwjhahfPxf0vaUX3{UY< z?!jJ2pT_O!gm#8}#d9rxcEF3Y(|rTfJL`1ks?(MGU*aNKz0nQv#2cN>xV-K85r>7E zL8QZE+<4Jym69rVTi9f}4jnwYFL9|_?7OM|4X_+grgzHRNPXAmg=*Nf{>>;nPGXdW z-egVYMc!QYbwT@?p-ueO_IZ6E!T2Dqf4|E#iT;D9o_ab(0~EcIIIi1)8Y89RJe1fd zI47?tNLs=gRq)I(wn4oEC>t8LQqP#0CEttGb&c(-w5=rxBl=AWUc%l(MGr$($*OzZ zXI`cQ5|$*8m?v;+r~M4yTqhpo6+9g_^Y2yF00Kbc#mw*Rl=9mrs`dNRmEuIp_VOU%8{A0s)x^ z31_eEcMpsb@eQ+yjA-ZM-H$vn>cwMtrj0KFN>{^NM z#YLV0!VJBgV9i!u_7dX4++4J}b@}!M7gojK#uIo}9s&CIM-&g)6}fnky!27~_R9C0 zqelt`iCyjpJiv1#35t1H!zSmt168`&nM3mzeHvkp`EK&_^R0wjKx_*-^@Nt^==nZ) z($4!N^*_gEJg};w1py&?)^+>u9(p?vF^oCf@QQN&J_Q729uV3-BHXOCg<^*KacF907{{Ch(O})nE{rmyLpf|71_>9su;c< zXgfU3@jEzC*`5}v1-!wgCjE*$1sDchr*z0=20 zb!#8a1c12Bp`1L9)1#l@q_p0j^om2fdoiNJoeqoLY+5z$jp0J1nR@%3K>=yDc@?l-Ne!}yDpJ!{$?=l>R{L2gW+4h4RNx7ZEnxHMwvIgDNgPp|E3ACLbt*| zGfnv{m6#qZNRYQ%*#$lR_H?mqup#BL4MXE~MfGN57X+S&$c|lX&up;vCV6L8-$4d( zSa`t{2OfyJ){D+bA_Mr=(WyTvHb{zr!j^XO)OcH4wXe+vD-4(86=Zt6)%H$(*1Okm zSw2I+B}UtWM0yhZd_+{9!fo3015vzA_S=&CgmoBk7S&yb{z2x_PsGqGWYzh1|AuNR z`D<-@p6!{(mzhUV`nZQX9P1qTm6U?SP!}I$9PLe@PTaZ(o=^k2M#a6PADeo=d1Zzg z3C@-AsxLf*5osZlQeeTOz$xBb@1HH|o-u1IoWq^6K$7B}7sQ1N5)^%WI$YNLY?lCH z`j;4JmIhN<`NEw7l$ERw<(5xlh&7audR94Bj=awg$7gkgswb3P>_lEZyTx51K^`|R&e2Y*o?k}5agOBiardF*#YHcdB;bjx56n3 zT$lvB@;-sjG8lkPW`8=zQ!(#(<(H4svf;eOw5h1qmHM?`U+nK`;@WBnb%_Q$=atO~ z++ssrma8X=w@JTQG$9afi)!5JLJ1vChDFmgy9Q(qw44x{3;p$~Wj$Vyr~CD6BI4Fh z4vsW9wJ92nmV4)GRD4LD7I4ef>pxwa8MyNCPYi8)5KrGQ5AA^^EeG|?^WXyc4RTzt z(!zp$k0|?Nv{`BZF#FC#BQ$Vb?w;|If1bJd?OCxAoTF2JzDuRmSW8&N0ON2q6Vq?T zt|~c8%*}UMREMf?0`HQMjEQ@RW3^vh+|Pe}5|V+Lq9i&TlczBQ1q!end$_KQs!425 zxrESMF&KbGx>MK?L@Aq0Dyf`5Jh7l~Gb~Ct+$Cb|Wp>K%ee?b@fIgLvWbbo;77oeV z?#s{gUxz1`9lN>9ezk8ODttC{yZ&Me@RKb&I@e!T=m=gVua8e#1Q$gxh)$HKqp+%s zNS~zMDmy>u3w&cZrPcMU*{=WDDg_2wVR*nyQs=3m*p2gI;1ekqSRK%!sIN??L7X1s z2osT!o}e5je(ZcGM_7j$(l?8K%98b>ObedZ(HRis^oB+f42&H(H^sj@|G2-uL;pPm zni%-tF+w=jkNIw@&-xt~TagX4@KfD7dd5bo)nY2s^EXnHl!3Mbj3w@9B6 zT1Hv+ce!ka-^E+F)_L8$?=oayZsy}#587*YJc3vf6BzwAgx1Yrue71y`0DW)DP1O8sY zp*6(Y&thM?hu^L`Cuo4R+E@ z>n=y5nv%pjO4RHf5X@0&hX}N{ z4O};^?t`|MC$Yv|@9cNS5~igC>w@_QOiJdG8Sk9&MoY$Xpkm`@=R(*ldY$W^PLIeJ zeXgR9JQH6jK-M{D&zfDZ@3!+(WNI-ch>?^4H^R=m4vD+^J7P|+8{sm_yDk@=X?10X zRf>R{B5fb;dpvguPn&C8@+$J{S`0)t68v|Q(SBw+LW&gNe{5KiKI#*Y&32hbPjzc9 zX1cTP+f_z6{*5(YoD|q(cib1^CaD2awd&!ap#5}hy;BW%W9rKJAF`HdQyzL8vYD-X zM}GWc$c={g{#sI@W?kXZb9+~ez)QmAO3J@EZ09LGnT18LZ1n3dG^!Ikwv4;rXm=6R zw$yp2HuTT=OKpfkqAUK8Xz2GkET^A1#NlJ~I@3QmR9*sq6BDsrV2Mv?||UtuL()^4(f{Y__Hm>GFUF>Z?v#&0ZSL6=NE-Gxe!uR;|`=ra&G@VKO8#&~0rv zERNFaW7&-nP!PW3#=NDbx;tN#wA$cmJc})N?08f$cEe$n3ym&NrIL=XvMj_TVix0l zEiaY~WZmDx7qoU-t<=gabI=K6XTN#^j9B3gBX+B|&X9^{)y6iu@#YETSn2U67L|9WW*57Gqd4V3VG!*2C!xP08*gR^!m&@~7b~_CH6~3vl4LvrosD z#5^No;`XNAJP=La2QCchu5?cWVEyJcIt%Y>KL0dF2-;n!l#5kZrY)_fB9!^!K|>Iddf&q*|J?o2PMv-v`&rj71z@Ck^!U;Y>( z5@Vbv8g1f;uR6Tq>d{0 zT^{~T!67iGG9LI(?2tfzJdtvj89c-4~c8UZBo4!F%%29c6pNl*h3*pW}bA z_tt+=c5BAVjdXW+!@$76Fz@2N z@BO@6pZ$Hm|G@r@;WOwpYtHLh>padQ>=Y|KVLCvAPec_l&T?w{B4PDa+mD-bgfhnq_s`89IC7bWqPp*7kYi6!eyqGS{g%KotDY zX)KpsjI?4x*D;mQk%0b0l{sgHrAzYqaJ~l9E_65eeK%H`Yfnh-!9sAd*aWvh1O3t6 z$Kgp(N1-EA#gueM_qvrt96MsL7#o_?P#I!zr-Kt7Oefjr0b%ak!xlr19Pp+$li5cW z>ulbMp9b$V8lm2DbGBB~osBR~ObxyhVOuhgD#! zU?ob;X+=(@XVg&lyZ!a>K#%Q5Vxl*m?^%mw8dSY2H65`T<0y}IySEi&`7)=L?B5`ekNhjy`iG_YAy2bT*(0wL2!&R=Yq`7lZV?3`}0!Q5(ZK6;17lmS{pGJpc z(4n7J*v$>rr??zZh1=qZ zUL-);U*>=Aq%^ z>zl75=Vq{N^uNqS)+>GPjF7Ea{;}$^d(ms$npn~+sB4j_M7}b@K^*=to!5w2A#!+= zZ==DW)x9W=sCJ$BG1$u0Hc*fKo51E73J+Y%DGFMZH_@Ul*e*^9fw}7ufSUips ze)IYS7%KChD<#$s)p1d`77fY$9Ln)qgRnN&T_5LnK4gvP!aGU`G_}O!S*+4>vyl_S>~Vu$v!JQiPg2Q$Eid3SLnefu0wbllIYi*m zrhHC6Xv+NsaD)bpI*vb3tWPv#jaEyP^F`UH4Mkb7;gC z8;jAu(ISEqzNphO;X|7$ppiN+*l;ZoM=5PhGa%?Lx3q-)G3& z=c7@MlYa^W4paexBbPQj8;`BhU1T0PZ+*MfS5;Mc^T{$O(smi>E;-xA(K&POH0J3{ zk7eFr5>|TB<<#hU^KsKI^(~I2L)PHwqlC(hg0J7#WN=Dct!E3vDtny5S`t|R3nGMi zfG^SExKD))3kp(ZhuNZ|Rpl5f)M)8VC5=mPG4fvv(GjnHfBzGn1?&^Io;TL}dc&}u z-YHTod)u@0syStC?Nxi5?0t_Jkn=ujaUg=XZR!OG#;<19aW(gMS8HEs!f&%#u!f#LBU|# zY{UD9V(Gn8p+HMI`$eVpuDeMaYn9nMDT-*9*R7rZc_Im-HrP5+l(;&EX(Wh|yFh3C zC7Hxe2^YmO9D|O8B}NIm9QX|-=hj&q-C6I4ro_H-8HqKB05k5+lsvJ(5oQ1!=o)~G zwUApPtzDF21p{{DIu_8jwx=jYTGFPRVsVU3S8#@a}M1`RlX3?o# z-z^8_Hiiz4)r8!a%x?4kTKq_FK9E^vsq;13VmCKL#y1Ten=yoM|Fjgw<8_fu70Xw$Z||`q-Zkr@M@`FfaX-WGGMh` zkeU9fEpzQST)Df^VEKG!)GkgQ31B!Hk%K}7FwnvNq__0o+0(5@Yhd2Op8|I@njGr! zotSEErz`}SC^|p;+&-7@fK+009*4=;S8bZYS!0(;jM_%=AsYFbq?S<$)F;DLYN1x#cs@TSppU-T29K6UWud=*8hm@!BciX%!>!F{ znL3R*ZavWkj*;JB0L{~BJ#h4d$ zymZMS{S`ls-*UauxXz!??pZ>bx@LD9jVM~}p_5287 zfIPeEV{;#`cm6wa2LeJB71GM)T zlaRu@=-ckuO=Yn{Pa==eqhbA*t2Zf_d%o>2I6W#YTR>F2Sj-oLjP424=dD~*^*JFr zO`24pDu#JZj}p1>SJLg5n;fxUNpN+C zLGdIR;cZJvRlqoMq(G169p%{PzDyNgudZ_1e>zSq`Not!8Y>|Vn&c}NR2B>7hE;fu z3S&^RAER^Rzi~fky(bkxU;2mu<(yg)A!fh!rBYlTaPfrm+;9A>75j?Ce$f@n#XgF) zTJZ`3UhU3sLjoYM1>ncfa!$OUmnD6G>RK(n0Tsi(lIrP2+j_>C-cA?zQ z{qCu8C5%{4(Hpos?4h@kuoGXkoV6Md+&vJDAdlJQN30uR#*GW z&JM**atsnl2~|l9NUH(*@RtLj-R=z3jjz!G5!c)1))Oaa*I>G%=dzN77{1XJ!$!xM zFoJ-QjWGT@+Jr%Rq5<$G2$qD{3?s)GH#;TW9$u(;E%DCJ$dU(MUJZLsQ{-yYfO(U? zb9}kYb*4RAJd|1vP6wrd`#Rt708LcH!E)z`UJCg?T^(&5AT$TWYK|Sv=izX4ZdE7!a8JswR2QzHDE zzd%chMT~WtStbbKnI{m`v}LS)GYG*Axh13(dQXUMpR767X{Lwm#>UH7zs^0sKLo3^ z$iH-FV#r?A&@aEyA^yGAE`M%h`Ac)+p+rdWhuG|omy!^0@vLwev{olc#D5Yx{m=VP zfWa~FDD3TM!u-9ge*YFgAc*o`TDvtdc>#(4=Q}Y{{?ff61Oznykj(t?k{E^emyZt0 zlvU>WZw=3HKs5NPIpFON6nCO5I0Sz#$?uLO>0*B^PzIV~8TYp~{`a?mf5aV>w{qI- z>XPCATPP zk7EDh{d=;PYwnp6>HGg94(w0)Yk~S9F(3T?T)f{`UG%Rt-?jTt^1qhkx264WQU13m z|MP8rS(FeCawOz*nNq;*xInkgS;c0ij+Ka7cuzpKj=VXTQaOT2o*A6A!>`}wZ3i-x z-NFe7+ip*i5HFvzck}1FKy6XXzQ5RpR{kuOO>{hYxVk*J$g~&T5Q4-{NJpofEF3}K0@2yK{p8Je1)})e+wko{`OCp6C6T(TFqTPo9Ew|nk zkmIP?!=wF>9)wp!jlXXL?%HPD+aF-v~~zL%TaE5i7$lRr9r(QXZS) zaK|K6*>pYZ73NHutbm`2jMrJmx;q}oPb))X6wfJq5IbUw3~kE8+cVCb^&!*~v#Xk# zd%GlGA2?)NP1a}-rJ4)}saBapLu?;}?f2-p9s|t)Y;ZOb&~e3Dg=BWr$t@lYQN83c z&<6J1z_fK9OUP)b;o`SPGaW;VmDO^O>|{$j*tD!pw*zH!!Vt^~w> zwA>aesD9nO9S1}ev=w)&M#cqZdzi1f;yA1CyL^_KiMD*wNiYQN5F^3;m>z z%cYa&_uWc+)>Mqc`8(EJt?4-MWpAU>ZJ95~Zq4$7{bu-0NP$8+?ms@KrkATp#TG z`r5mvLO{SBUVWWfK;NL!VnVz#ip?g7-XpV*#@sKg?kcE@d+)1l#YaWvrCYE4ai8j6 z&LfQ_(CJdanTAb15gg{cE?hHq`qN?{NmjI+7KujAX)I$dWN(3NED*-JSZ-s_UY$$9 z3<@l5de4tsfuCMNY~hyf$xeFR-jBnB4+l#s$di&h5vLuU`nwGE+TZtM_T0rTPBQSn zp6AWf%oi$|xj1pER);X^EtItNgwxS#^BB}P1i{{NDOt$Q#w*wG5+8$A) zt1;3trgAW4*NgNZ*qUoRQ%+)gRehBkjod^JJ=BlNl#P%Bjg~|`iw8U)D8S#7)GPlx zn?wA@#CW+$jJJoIpP3d^#d7;e8`p{R#dQ~T>|0fXaIHgQ)QYvB<;qh3L4@}CQ8e{A zGJgWwQ42f(Z(4{9iq=VpU3}DSK>D5o;@O1%bsuY)R|lqBRW|7RVyv5pm$~|QO&uxk z=Mbx_DZ9BzH@E{fok*ec4KVjt5%-HudS~HKB-Cg6=2s$a@HFpb!G-jl1mdDdsES>< zAT$2CcjGd+gFPRd>D^||l#BbZi}0(#bJ8LjLN8{jLvTnC^ul;hHezlDJff zX<}?EQqIYr9sa!6E)TWfULztTjQL>PCF`?Fw#JE4;o&41LdF~*3nl*l&!00cv(@0v~ zHd60<#H#*1P^W*!9Qc({3{DNMkmq&hqj0WREqk zap(PMOu>L#>}=Pm1$9k&k~gt}ZzRKB#CVkbus+8=SdH}dMn%DFcZ2cQOu?qe`v$Hl z;Br8qD~M-(mOIya`=QCZ1NsjOtZfjI_4rZ6TUO9N6MtIwv-Ur=jYk% zY1Wq+_tUE9*ShNW=dTB&WJupJ^r3!we?V>te9G|2;Wk*qzh}dy+W;V>^(i%j294^} zt*LT@6vTGF)(61M&dm-h6gvLGE~Xm^y0ND#IEwb2cPh8OVHThnL0opsmKJYU!JL$j zXE^>!7pF+=_raYBi$`X;hw+aK7|1(g27cIe5l%ZKSA`*F**Ug#pcJeMr-<01_OG&o z%jf>V%+v-B96mGXpl_)u|sxRq9W`!LWeg2ezBOgDM`*v}J ziubWuvX01Ex=zj$)o02G&|4 zsG*-2;LlQR`>Nx(CM#X)>taOf0ar)5)}Fvzz)}!5{)rZtewuK#P^UziC)J%Fbd?#- za7}f$Hp@ya z5GCy@E3Rp%)d72Ca%;m(*ED_lP^w}oQ0qYDZH`~E}Hxdfez46y|-XS zA-WsKC`;PpE>7ck03PxMm~TdGr-n#Q>p6ADQG1D4qFVL(E1c(=z7G}()5xMPiqnQ0^l*alJjnYg^fgg&J}|ya~)1`*pbP#iqyTrgm!a~tza^0F(!u? zt@h;1Eug^OlDf7kJ%UF;Em&nazXUkv;8P{f>$(Z84^_J0?oa55M6ULZsUXgsX5~{b zo;}-ge}I}h@hqhuXm~{?B;O_~ejQ8G6qY0sTrj&dK{Btto)WB&vCRaT(Y29+O+mS7 zt`SBOP{N$Ls<=zM1`S%|+mRy)j+OUN@P|O_<4l{zk!!dpUK^S-#%)!u0q;^{NOdn6lEau=$+ zx9^PUY+sY#awIU2faSD{xz7be%pbvPttD6dCly_u{!!11|J3t9mVB1|`aq|}xj@AY zkqy5KgXoj;_lwfG0Eo+kF%rKVwH>>!HPgvqso}9O0yuin_XunP7g8XuW7{+vfae`^ z<1U|hsY45I?3ytFD!ZI|8q=N%7iT?c*>j=!Q%gc05hZ68q^@v!>5`vEoTaPw{>OqGwedSMn z3f&f5W9W!^99(H4?7UV|zUOm1S!K0nZXI^e2gYw1`tuUIa%Yu=OciA>>$9d96q0!r zpV&BV+uYa5{;qIGtaY7mfe;ys^2(zHXl7yoI zLO0&v9ut@-ez1%CNQI>n9T*bDVNPn@lFYT8zp>jzHU8ZphfD_p)k6@U>SUeD)vBBG z{;mku1M_qW4Ps%$xaneN2RBSTX7%B{uJ>C#ja)YvZGp03cS_x;K9xd9I>h1ACg+_| zH3&iZ#uM4$*{16Ei))90p_HFdE|g8du^k7|oACP9>r|P_-j1eC^d(S1ANCGET*r>9AYE%TZMi)4k|a$@aRk~cPQWZujB z4A?`$p~X}8l2wFQvva4h4Fi`>Q9s=*MxKa6H=dpf36!l%J-|IXnOSh*_JrJ)sx5#N zU-7UJt;0iU@~>q(?l)e++?}B~Wf0{4g>wD__6m%e$`xjR&=1`sYuRsmUoM4na-@;*CQR0fC&?ffNi9*U5&X&5Rl*JPb zi1Z{2j+D|SKei1A_V8M(kbA<@iXoNQ+6GTu>+w*>B|i`PiM((7fW-(yJ_p>3t(7;> z#M3zxB2)2D+Ge?d>-_fF2onz*4)-06R%$ND|hfeTm)z=1F zZ#YqKD`dq5ZO22#M!u;&1@qRt;5qzk>s5W^Jt552&$rfaH?p_STe^%v>xwK>uaHyC zkv8@qq}lJDbQoTJoUi^u{j5k-5lWTf8x%OX7t zwsgUk)5c28`@!d)ATqb%*xtxbp&G-gzX5u2@tTLlc}4P5P6+cCtE%V8LdGvbVLT$p z8;*{*oO?WgecU9$tnBCvjR3va6!Ca4-LajYslFkH!f%HzaZH}Slcd6vr{7Iq4ZiqB ziY(THGM^IE=d>B0aTrv%ezxD4ct%^<03VQ_*nnBaDh*UtbPdcbZzyMDXwUfp}arK-1YM)oFiLg{@Y#?&PdD|27%+w{Qn;3&w=!*J6GKR4=-Ni}2 zuRf|VA?Z5tIAVKZrLwCjq={lv3=I!tSeZm!igHgAxQ*laWkN)pE}V`eo)$TM=qzI* zaEL=q=?OaYQ5-8VY&LHVh>zq(vPcMLyc%B3<%Aoh{TP%YymPHPk@MNduptk3S7+Ev zu6OVgx#oZhF^VgMTjT4(P|#8ah(H7@ZP}9qs|#eUonFXOT$7&>uGuz0-h0o6f0HYl z@}-sN{qO!4xsj~|jvw!x!K-cfJh$%Wz9=dXUB$sWd1iR>Rd(XT`M7BcIquPO7ML&- zjprlXl)IZCCL&-i2&?OGV3%@mb&TW+fzhI+zUjr`Yb@bI8;v}&u>G=kFGe%uPEJ^cg04OwzyVD@pw*Ir@?$R#QH4%qUKoN5LN#o`&w8+pyQhF`ymopC*WCnY~VQWMK%6qWV(1v@Q{GPFo>-*b@G{OZ< z@h=F4Kq9X(;$)A68oVkowN}DItL);~Vr`bD;Fxtgw{R>`I85~LvnO9ur$bB}pCijL zro2`~SE}(KQmK>^PU*r2!-5mSSr0N)Bv<|Io+bY=tZ07z_k76pjZ8&f7)CUQo{~;m zmHDs)PPi1c`|?jy&t2;2?*wsPJ0dL2BiD(3$e=?i7Dl73Nz(GX!uu&>ZtOIv{jP>1CpJ=h-b?(5~m1kDh~A9tQE_GWj@<+=E8}}(cw80yq%aj zrpa{bBI}Y=k{K}OWeKCfD>cGIjSJm9-kM?q2;@K&kNb}a6)$XNjz_OJ43t_wzvsO5 z)v$eS?R;F#28wIHigt(ZOd8Ckci8cHgIwZkm>DFeEFn~!%U#i>&^ZA-KiS4(TOvx4 z5@Mo%FgU4hV*;N<0Sie~qOEBpMkhi@atVm)*4@S^R#&p6Q!AVZzVh0Ig!F}p!*GX! zuwunqf*LGq9fY{FYk$0lm8~qg*ce|v65UWM+ZB@(nwyjK`O_>u-+n|B4zxF+7#Hsr z&9dpNA(&`0ZcNcPiID0R7U&A!)#7#i@u=-_??#qg5+Z}3kjO~Irb?<5&nDOochp$y zKHX^)l;OleM$eX&R|4|3ZL=5J__fJJu1{CQy!xTW>53p_a%(Lj+UzoIa) zK{NZRPDfeZ6FM9CivTLp`v-3Gh8o~DqFCc!5qWybaD#W#zTtOL*7gD#kda{(#tC=> z(D&19%T9vfi>+$J`)cqXNXR8yjnEX16PamRKX=Q)PLYQAf zvM`VKKoG_fxk7Ig$QblSwe;X0-rKRGb!CXVc&77QydEzyyM1iGs09xQB)@O3w$fuE z_hLe+&R*t?I@XZIXX)Cm~`D}1@Q)wYuj&v2%sbQs{1?f{6V^*F26HFG`= z+pN8Dr_0+nU~1u6BPI<-;!ju8$Q-3u6{FU5o9@JBe-fmF_fe_M5kA$=rp^UcP$5?? zTIks5ZzBZXZDVRs6Zb-$9JTf{?x`=8^n5g|e$&sfJy^dh9=nXjUB+ir`#7r7Ei0Ys z-+QjFC&YhxEc@2)0vK;`dSC`jO#8cpHvahZGQ_JyRnsWIvP!PvPQdVI9T#8#kY$#J zDcB1>-2@%{Ob*wP0D^iRysGdD7P;RXi(O+%Q|?RImFJLP|HS<~;RNg5qK}kU0vp9A zQwc-O>Kxf5wk#bL@L#ou@)bC}z7~}9=JDNH$E9d?R0FO4l>ub;WOMa)oPf*sx+Ri( z)87$}k0fAKRP5Oon&hK~tH~(W`Qfdg(p3{P@6>$+Rt)+%(+oQ!l{O!ln~k~UIU!e- z_loCnKSzTLmn2A&Dhl?W*V;I(-zF5VzpN5S@}Kyz@IOx)bus*4&%i=ry>MDK$l10_ zu4ctYiij}kseDfQE_TS4fv1C9wo)=})(khDmfg}wk#TG29j<6LQTwDre!q*`4^2Dz z<}={VpO-5e_V&XMqBZUXzo&VXXvNTc2G9j}$U`;hoWf$V>TzHiTg>$Y6(9q&#?30S zshC!(Ymn#s01utwC^SHQTGU^Att`yo-G_JUHI29ZWTn{>E;`w>Wj+}zos-lL^-LzL zD`o{X^GA6{dCXY4FGPA>{H09am4 zDMchlcXsPbJr1Ez3x?bpcRCg%6a2l(axKgEBs!D6HYIm1nj2IZ-17~qS+Nmv_1Ro} z&bZAXUccsLO~PsGBp{Nyh(|AlSo89{V9)0rrX!CE`HVq2Yfr}QV9#dL#&lhD6T^`c zIXM_i6glnkM|&imJmhwNWc=iJN`UxvpyUB;fy|tP3}PhD{l$aKXV51TN%-ywIEo1z zOhHf|x#W{AyIj@!n976QY@dVUtqfh2`@DsRLWP9{Fas4x25Z7F{I|2R}C!ah#wdpxz8^kB1HA>+~zyaAa<7y zO<{9G&u|R1J08C%X7ZXcJMn=rX>T>`BX)tb+G9V%*T=zyvzUs|n@cQiRp?r1U7Cq3vJae6e=Dw4jp%_VFe~pB8cRm=dv?G%(i!bK{|L z8g8w%kY0G055T)NzTyH|kuX=%B`nj1U$0zDJy0Oap!X3dR+{$-oXO>lh!=36OL<{ zl=3f1Oj>w5;)lr*bLpfi!7=xF-W6{=@?`Qc?ad@3dyHPG}6Fuq#RpMM%ut>9?98E)iSY0z%mOHwm%rGUW9m{ zn3vByj@_rFvJSGcK9RoM_M7dH9W?0*UrbrwlFhg#WaDcEtQt%}U@=`UOQ0=Z?D%19 zdtSv|hh!?rfnUgUOEYu6{J6Njsw*UewMPS!+>v+DX zEv?ys)s>&2tZSuLFh{y4od$zRH97E;1ymM95Q#;w*N2X# z-V3NVQkfp?u{00>aqaPCYoO^|)9_rLU3Kfyu@$v1H>GG~%Xh&`qgkJ-qRf;p#z5Yq zF$%!xv|Jxpcu6nFZExiH=gI$4&jgrZt{=nzvmCn1)#I`bB~Z-)Qf@0&TpAK3@w?+9;vd*msMGyOJb-Bw7pFEb`j?SPxcK<4K@R0+`Bw%uR82teq$WO&du+9pfLbrd18{z z+^^U<$|?Qbw9TV=T6#JsDFSxtwD#P+?6zoe1fHX{Y%~2Mikpc7-URwyP5AQ}2Tf<)UBjJ5Kh50cFr?(E+=m<+0fpMN?%_z2tb}bv7KJWtq0)7vyb^FSD44a71GL8*^Io< zS58siIk(rqnR{$wPm9U$mCGkL9l{!TcBqs^-bKuX1 zn(OyrnbKWRaD`K4PNvOS7rvkcEh7r&j4P+kHA1bdfV8!D{#cfUxGA-4s* zMfVA3)Cst5Q5J>M3+jJATGdNUmZjv@i#f*d_?0Dkyg4lOVYz)LX0=yJ(gU7hizQ?; zu`*BpuA*}pKGp0d?6l*fKp3A7Q~nl=&`2w=#JDx8$@ru02}UHzBu2W(o2P(N^2&#j z)9wxXlDkmC^)=LF|!uamU9zdbQunoSTHJZe7cUaB$u9tV(sSJ12vFnsnJqj8lC+ zysz*~CM4qaQ!bt#<-c@^Zr}RWd~|1pcd88>aH?;EP;3ALQZ}eQsd(_vZsMkFcJpl^ zRKe8!#sx@9{2~Y}5_mvULTt$L(AFy0Q>_6EL z>MJPzSJmP6VO`CK=b)S%QeBt8nI~f^ znXFp6%;Q`J%#|7lM)mYkIHMEpls8^&m0wk~OKvHm9I0_B+C#4Kp=_p0b(r(?sM4~) zT(v7;TF4*w3ju-qFV01qHXWLdpPxj#-&HaRVz)jUQF3a z&&zGka{dPkGqCg@bhNM*>r)Pz}N_=%aOjk;cR z2vbOMLF#a|R?CO*_7e#olkV^mKTo*t^i^Qb6!|%!lHW*DbZX-fFz>kY_}gxEy0~b> z>yQg4tLgi|mGdS?>X;9|Pb)p{f#v!j^p4Bv6x0^xNCXFDhbg)K%FBrotC4io`JTR) z8@kcEHjX>^f=b9qc95coALGnv_lrgp%v5L^>ZELVxov(GVtyT-Q8|I(jaX!Vz_o%* z1cnIC7ZQ9=40R4r3j-RQl1y?@?e^>UN~^sDQ~;~ssXI>ZTc{M9?wVd4pHO=_ez7bq z76xwXHng@N)p~Y|jx8@_Ie#eKtL(n?0kgy==23r%v5fULA;B57o-Q;}Ax>aoWKQwU zP>kI26hwKxhXA1ieV;GRA$@QY8SZrPL+bWJ^I9aAUQ<>iZ5hbeQ(}u^&23T0p$#E} zwA$2qp%33jnwkYWZ++xl&&^35Xfgo7$eD%NilU*w7or9AV?5Fr_)M4WHj?nE@V)B1 zIZ&u}mx`~+#JYRVp{y>Xp!hmn z5-+Ra!{p04GdjN4=W97B=6tf>_*80WefF$bwiq?x`*Py|fS-Bwkr#;S9VFZCCOdhb z(T>{<4MOVkKSEMWa)OJ$lCNPmG?q1F5dE z;!BE?lw|%~qsL!et0^hQ=eRm2XKyjU8LGJ*HOKJm9;G^^K1^mK?|h!&`uOM!Z?~@G zY+2xsbM7y2&J~LR;le$M;VFRQ#B179aJ6!QCXs~vjLuzR=ybbkb_t{%M!cvIYriGS zgMjUk{}ii*fb=l(mq)fPPp#7s(X@e0+BEKJb%{T^r$1LcDT#V~;aMLYz_&YbwE01! zChB<MJg5v zyC5^il=zl%IK9-j-Tuk3c_Uz)NCQuoJ&4smQ1^FXB+kbZXKVnxQ4?aZ89Px3WY5iY zdE+svit$s~hmSfDZE`LC>(-Y%)Bk@>+QO@NEf>GW3 zZ33U=n=+Tbr0aUh;$0rafw5`$;Jxyi{NY1eK7%Uy;WDcA4S@w14%w1z*?PpZ{kL_}^C=nESVoA=fUU zSL$~b#_ytoQlG!%38in+59$6uk$(|8FJ!q3im$mw(;PZK`SLSOd@Sa?{?|#!E^EB7Kr#1dlN?_C+mZS_vT}ds}>~OXa;{u`DU>s(G(+&+pqbiOSMSlb*oPXFyDCo^WXq62ag`AsZ?9 zD#X1<2KBD*-Iu{{~Lvi>u>%N zcEq2>Jv9Duy*LMvgSYty0`f)t+vRy)A`KlthmDJfCl$7Bmk6*7|O!fV$4z+?B&RQVL;fz-Ixm2km=_e-zjC7_?LJ8XfZ zg71JnEiq6RFZW^9T_@RfgSGf5-Dm}MMwIEeIO1vsvcn_fmgQyIUQ3_xD1H@GtK7Ed z6;uEBO^)X$sJNagl!QORa20P%7dv$O3p9X!gEsQ|l6(}m0o}ObJ zY?b#~^rK~syV1>L%E-reLHG>!DS7vT6a%*idN56&3zRhXk9UFt={ z&@GFXtlay_ZawQK|3cSlm8(J{_?&*7>L{kox^xTE{oCyW_Qb&Dzt4Y+Y0D|0IRf`Ecc}tPK}Y5!4)$2sBpIUK)5g|WC z!uTkeh=1k$N@TeN*NG!wQ3^iHpM#FY@59BA8j@+~{)dFSRBN>?bJ(%aSoeOsjeN~K)k%0HAPL^}e+sO7?WpRDXOpO5; zT2OL(aua!a(1MQlXHCGvD-IuaXGCh;mxBO9(7*0vfxt1`V0A3|J&<%!88ua2xslH^ zgCYXN@H4hAcG|{|L->hQ!reif!KxFRv;DzR2NTFs@|@imH9)fffZ)DtBx7`@EDBOp zjj_@yRdKa-87-Ve_;a5Vg%xgOMcH8IVLAxT z?GBpnAn?dCPvz(ha+fDIy2TC>UCqEiMr<}Rs<>|Jh;Lj&CuBRq)$u$z)mpRYKtaq| zjBjXG?5B{*4@#7cB{DFukEVY=-VJ%kr7+!o&qE82ez#p4Bn1yhw!FANUuhr<^xYRn zK@>M$vJTHy=^^f=d7EDxAherQ#WJ(wLyD#{cU;>lrycwi^$}!*f zLC%~lCl~0zlGRpwhdL^H);Jl=IHMlta4I=|8^cr7sm4_G z1e~_ZiDbcKi7X=E;MtjzJZRp2)jlQ97+u@l@=2FVnApCKEZ<=XuuLp}u+KU2*=ZuFpZ9|%r-Vdc)w0xj>-fcmSy~;c<3PP_(W65NQVjfvEx&0%2 z$R%AE0|-g?ELUK=^G{dG;1z}NjiY$WW9J>&jDWE!`<~)&{y8HSY52MB>k$KW@AYzi zjeg<;w)8_9u)nkqMc9f7Q@eGAT4&nu+JEUDV9;-?Vdep+{r?hOkS_%Kv;Ep;Xj7{0 z=KR(4kM`l?iCc&g0HAx5g}6nKgabxR2+NJ?*9RXyjDj?vo?zmuCf9y%E5t)C69)j^ z5gcu(pKW#fQ_cm(omUiNko)~h-ensz|HvN(3@9{rR#{&>M_i>FRcoyBzu?rVlJ9!L zwLdZXIY%-1ewJL!JNA#a4Dzg`WF(!~&sP_weX!roY|-+uYiQng+#J_YFZ%GwEP4AE zebZVgSE=z?%#8^B8d=^B3ZSH1XSCL-dL&i${*c0auqdP9_;?DSPuP$%B@DW1eyUuu z5D(;#tPKIVBl=;Ea<~cS(*byr;e>9O;@u_K3h1(0EN8TQn3y+M&IjT)OBK;xh`-R>zo`Zre7*e!Eq{Cj=wdi z_~C8u!n?^*H&{r5@XwlK$AMhyL*gII%`Ft$wY7M0$=36#Wa7V82ATda$^ zQ_<%CVeh@$n(XqnQKcgy0s;zBR1~Euh)4}ZK%_~LUPO8a>4XsJC<4+|dKW37hZaJS z4$=udAks@Hp#_rc%X?jjMTrAhM>iIj%*f;(t8M7i->KN=Upa$~p zm6yCB?($(v+RcFL+ieSFFR~?LP zu)k*ZUH)rawLz>$K=S>+EG`0iaS_``WSW#F1yWOtKW;{&1p zIH$dN{Evm+yuq_5@ek41RE8yAo(Mw{c-h2U62FQ%D&c4>|0zwVzE6`vxjs@52kZrX z0yWYyK7lDo>|{rQoJa9(80Im+_GS7G;_L{udVdBG)1(@w{*(XY=?BCzRg+8Nq~2mb z^BYy_#z6c{Qq-?Y8ug~|jWbH2-KR>KDj3t*YSAw z8m{7b`8i`s7Ww9>02}JdcNck(utm*$nKPgD_UYGi;28PyAeL1`*KL&Jq_c0zf1dFB~W56 z^NCI597aP+>DL6bpV#w5!h#=VPBikC8(*~ly?aZ$^o4byv#$nF;oWXoY@e6rK1g-F z#GIrDGv!&jr#50LUyeqC8-LWyx=zYNYMl)89am$%E~<+LR(EJnjbeau-mG`+KWd4t z`F(pP3kd>_%mOYPQl17l$}3~mC%Xagd4AljeYz97Pk>Rk0lc`7xviYBRfqqr#4RRRlJx~29 zNaJjxubsSx;iVzeIVexDm_r1rfa;CmOXX*4%E;#icJE$av0z#+6%%pLR}z@^8Qn4X zL@9@q{}R73#n26aZq_4M@tEhE_4nWWaI97cj+|@oQ}9zTT(Dduy^SL%D0|)D-(>0k znnyajdHFC%kqR3`Rv?f%rf=Ds71%{c%w zI4R+!L#yR&(}2Bk`*p@O9NTD?w^xx~eOfaNKU}TOf;hOCbKbOGM()u#JL8vZ2B%nrY)qnwHLr`Q5$J4+_vPuk+eF>uZqc#T{RIsD3z{ zIusig;=*~wlmFB?jx!pl5Y4*u()>Ft7IgiO1rI+XE=9ojUjBGPy`i@Zb&Cd$CtLQBQas&jd9x z0ROUEQ=<;^wRK&$TQ->b6zW>*a%O3ojH~N*I2*4OXnb9;k*2Yz*PEk=NlgXhTle`o zpEWekfrOuw8nd^N(=tmqOccR3E$J-)^(!QXjz5jx>=y$`9ABQ(@rhOj4Jy56nK)kLo=Tcm8M-jLBp}vJ5?} zy36Ss1eha$<70hl+nX0X!pk+qoU=ZuMr7~!xFsP+rz%Az12vxy1Kjr8lr4#{izTZ#QLwK0m?+SfN)k7r;dXJXNEwt)E+*whX*u%lR_^kNEze;- zJe}m~vx>;q+RwrW0rlv(`8gBhUV+d}_|9Z$m{}UC%*+t4PhF@H{F=`FMq`as2+Pbb zQIlq1`sK%D_lF_>8KtThv<_*dI%bJ|@`Z-=*9JnSx7SYR;2#xCK%;BUhzOVl>dWXd7wv z((zp9?l0oNQ$$T!ES#nvT*Dy|yXl_W__#a!?X+=)#)SaE(^mHXxbyA-cU~YR6w4iP z;Yt)i`4;w1RKS_e@sn?tr)q#zQH5mU(} znVjxn{duY8p0?LLsXRWBXSWKT1+{fl&lH$AWZO}8bjubiLXyLHmjyb z0^jdXVVuRHfgWm&a^7nQVQ^Qy{|F^wL7!L40K2s@JxF!TX9}j=*vLNp3imM&03<+D z^e>TqV7y?(^M^juPvPwL8I})GarC%5l4hw%FrOgzp8%SrS2C3qv9;c8yEwwcTl>So zG`xOweM5=G_Y^=}mT7DoIs_h$S6mGve?V4}$%%DaO+VG}HTHezoC4D>D`c)W(QJii z&d-W_(Fd$SAuDW%PmEHQ@{x*Mx|J*jz28lN0ILS(5iJ`UyyEV>+zo2^T6pN{BX=5-v*YnrKdr$XPI+lEu&X^_ zjn6QIC={FqB+yrEK7OXC->;wLp3>XR*oJ+V{XiadZFI^F49F@QmtnRLS3s5=tH|tn z(FcaEyLEc0frKKKUDSm4RY_JOiO|5Y3bJXRt$_tix1ID!~#kFM}Z2Xrj z+`Em90Q*YMt*y!{VVj(Fdh(TF1SQ(d#`ov=@v=`m8NO}CKK*wt{uzOw5{hyeebzEYi5+@yIvr0}U4~;E*`}cMRkyPGhtvoU$QD_~az`1W2 zbHQj4x!OsDa^+mkSc#F`#)PL~V`^YOy`ZN*Z=Y=*;22?W@~&l5;D*Ju30!Tr14{Ag zxVo{=MoC=ncbVMEGUdt+M{^S44e~4Or6K3?S*G>APb#gtb|AdW@}FcP&X`U{kCUB> zcirz$yuekLk-ui7nyi*9UpT(RG_(^LKrR*Yafoy3uM<0s6pe{g&DM}9D7o;Aqsjp5 zkE<58G05`6K8#gbqjPq5_#+=07^xbR;WKy%2t#9(hygtEGjeX*I9ls*v^w1WFKNU} zrOed&<$5*+79&nk*6J}yl1keFe$ulBZ-6jCg*Ozo9nm9FF|dE_j(tM^g~hJx*}oUR zu1fx+BDem9a6c?ilk?Q3yjBt3L$hhuSP^uVVd$~aeThl;ICxqR!#5>Q{P?8`@U7Kq z*cc8uf>Fi`$yCa9+Og*rWFH4H@lKcFAhZM$Qoy4$iI^ z2(S{PM(dAasEya)sa!FnB)h_KvR2fS@*pxV$yOF|hS0W--nV!|J{R(RXR$|hM?3>M zdcE%%8cKd!)Hlltko@t65DLdR0DpG370olWoY9dw!!a6xprWS-LPeS!aX;wG`gzA4 zoNUAV=JO${55ALmaYH*cZ+I}<0Rb3QzCU%D;M^HUgE3q`o_i$0PJi^SHo-lA9SG$U zU!yP@@R(BaU>OGHj77c9A4cUf!R~m8ac=#XE$>==PJBVIv!RP|e(Kwk1VDgA%V&;h zo267{#9Wk%DdbI2dR{xjL8hq0PYz9>$I-J~sJPN}_s%E4Iv<}-}r?iN*E!$>3)FRg2KTM%qp>)sFF&H|g+eaej-XoGbrPVf~@@Pu`^s zkqt=LT53_e!Z3?!!fNhz3~}6hUf&+%NO^L*%&02Hd%zME@$@o!e{ve>N|f7X?oJuv z{Cf2=T+9s`f&~UtT{<-oAp1Q}c1!s~#&#IfCHx{Iu5}(2Oy2wXd5bv^YI1zf zZdy*_j~;=Eus7p^t5x)gtoWl{c(CtxGn;>S4;+bBGq6DGUL4vEty~2x3dtO7`^9)8 z?~@HvQR6{#N#Oz}ghS3GATZ@BW8!2W#h^#Ih~%x0zU;|K4FZ4Z8xA5%+*~@njL6ZZ zO-}h~=lhNWsNYK`4jYNWp0cjW*J3^@0s#i^$A18yZ)EV73 z>NBoipETbX-$TFgKmCw2QX0W`Vi|OPnx|fz951P_0RW>h?Ku_+E0wkwnTjw%bm|k; z)FVLr?b-@eU-E0Ev3hr@?ZdTkc_g(wO^S$l+EZ3RpNF+WL_pzi`NsA8HIDU^ijP0a zODc8d5ZxPhTFWl-U%fTOjMw4Oe97GOKCPwGK-LJ3WAp=TS%x^$t+}uA1`UN0*m{#R zs%p#FA73rl&dOfH9>x0Px$~hg`uOSbJpbkW?D;-HlSYduvH{a?Ra}B7*emt7P3hwU zEdE_C5c0-Lz|nfnOH*;Vq42|8sYjsEsW_(WJpGPh{!lDoNS2r~nH3BULywpoduV zbZsi?GAqDR3IhljU72r%OWWba%RBH8y>9d{g0vdrW_ zDQXE|XIgE;MGWH?qzoTu4_285&S&T!l;vFs0>*l$ z2GI}7B2<~cPEtGoq#Fv*59h|R{75n}&*w>6SS=nk(8ILI zcZ?QlJ49OZwGai{*s8Njol$d4lMfaIT5IUNjk%^;eG%iLevx-V$S-rxuzy4XkNWBC zl}0hj8RPwMKJp`~d|!F33$JEE+8-5&Xm}cUCQbT0*TvvLjywo=$a5XTQ;h0s3gg_g zm~@Ffr|vx44#VVm(4o*j0F?eonYk+Em`lF*Pp%_!ZM&UNPx4qg^MkfrR-yl#br1hJ z>kveNY@{uwxzcm$tu(<}mH9&E-| zd{0}#O^AO3&g-~y?F9h3Z)b9z0!R4(B~B^NXMu!e+Xn z-|oZCCz5twk9wSAFW$x`u8aI8CN@SBAfUux^8NKUjZiBmGo+HRl^fkv`?E|Tz^AE& z5}|^S+2T=67936K%#VH0zE{}jlkZvo;wv5hwG$J-BH#4xH zuZjBmE^!VzbidwxGdb@$A-+~v$=Z00^GJ)cC#?q(G|VgysN1Vn2?GfCA8&r-*;g%hyR)RI^ma*_FxfS&G@|j-g+&3Xd-6F0-2SBiWA}zOT*~D0v`$fhgbf!`E?g<(r z-NIDIzGI|B=SAHH)Z6$Kl+=gt*YxEQhGDky=t$=U*bs59Lvdgt4Iv59 z5&#H(ME8g@uAJ{;1?NJU?Rt~_;&f5?5pXx4jJ?hi@#>*X9*4ulysS&Q&OBsr*D{j5 zH*#Gbh5g|JGuG23uT9w>kzX|ieEK<#HbBpW9^Zo6y>?|+n;LsW&+`fW!6~oNWHP_%7Uu{3y zdz>QJ(;5n28i%j#4#BHS2mX^khUygm7{%@B{$_V$UkyDcZNsYZSdL=$ z)3yE-W13-ezGLy-1VVewW`oPz*H`&AuTol?T$c2LIQ{c}^Kx98wjPW(+_{g&6;C)P zI!hjJ2nPTV*gwesbUt*g+bTdQYZ)LN*kyw|x5$6CkxlHX3DC*ha%-Ko`tf7R57Pof(P75tl6<5Qq-I+F2rei%>fPq2@?Zs8wW%DxIIbTTsc)!I!iZ%M8*H>1<)!PAPHv1 z%eY5h8{W$)wOED?#U5)bNawoCg~~K-%gY48Vi}NRyao&_sG&R3Onxv21 zJ<5Uc+n`=)OY_%pR6CVwTbBaRT+^2B+at@x3{7@lylum3|6%XgNLhFc>^(cR>0qn2 zF~g@!yJ-c?@6B`{iSGK`zkML@^Mmd`Fh~Qre_)XMFe3r-#HZ&umtFuSnX&y&5&37P z)&r2&#EV4+MQ^McMx0%F&4InV&V*a-A1MD))u8C+glgAMQ%G`dmeZFJVec_FzZK3$ zq)Vk{jb@Rrn+g)tUPP*#_VQIix-`U4()T06%z&6uc9cLtG$izsBbkThqsjTOcV|u} zjlK2`G=KCxd0IZ zB9_9VQ}di7BHFS|ZGKwR$XLC69hpv1AXQ>%6-EGzL=~ee5{&AeE*$7x-3uvD*9+{d ziufkt`Q!c<`rizO^4ACnivk3I`O2wYW`>u;FxSEO3*rKRbb&B{&d*79PLBgb$3EMV zH`@e9zTLv#ZQoo^=UAMk6bzJC1uk?92IruI{?P{3ACnX8;HSX_wljacH>dz|W}d z&@Vn*>%~|pdNze8A>~0XRF1v|9jTA~`mg>GcGqLi>@xTO8RGzL?arhC<9J!jkak(x z)N=byx;$BT7`e&#cVWG*150IO`9O^pBBd zhBP=aGF@ByJ5)_!4Z7dMb4PU8B8hVGymy%oFy&=>U{dFnhf}aLm{{%Ckv%3wpY67C z8sS!E;lc~Ka=pK%mldYR)KdgYtDPovzrQNIDep*BPY4OJ0_F22z*T`0>BecMHn z9f+NDZ@4T;wouTiQT{7cTFk&W+`Q3y;6d;qG(}^388BM!rCc_l;gE#8Xips3r%CW= z2HsLPs-7SayJFezGWFI6Kh_};p5#HCPWcw zHo`ipfcKlF1mM*NfGT033d%9PfHq-{Sqd--zmeTxM_lLPs*sjcY#TL2! zUVFszRH(B8dVHlzF|w%r4t1zf3mN}m_19x3%c#>Y!c9AM3y%)3?t1j+t#35CcUZ08 z`LW}W)TI`yx1<2N*vDHj2aySR9+1weubn?}*GdVFo^n>%IgKykB`7>1<^8!YJa9|!4{>gxRwHTF!neEBGu_P&>#KGaq67S};eto}wA<zY&QA`Tc_L2IaTqiaVHxlFex)(3~_37p26%O1Zn(GGDa{Oe2p%{{8#(USx9z?Je zQt5WSI7JpV!7n)(NMi`f4~WFK%dRskqyUN2vsFNx&50sYW*x=Z|9`XJxE zrg#BjVt(tq{iM>!tp!wV{vx?wh@L6x8c^fbdNVjW9sjV2zx?%uJ?>Hlzy6q@@(h;# za)Sj|d^s*;Et))njGE#3+hzTk)U00nw@v3h?!*17mkH z7>eAL?=2#T-*M+>Fl74Ng?U`mnlIvTSpWk_#$N!Uc`vO5z<)E|sObdGNO)q7U;IiS zM(U5DyLZW4J16&uqz2d8&pX?ua@Dk?g*cWCro{f8pwY7QCmRzWXaM%&pBQ;G>>O9d zdX>e0*hJDUGCA(XT2LXbatN9>x8) zuBX<$`sbxT{r`}Ice|;8@O929T1&026KJGfFZ;DO@~; zAm#f@cX#W6geMc-h?7|SWRYdiQK80Mdr ziT~je77Y=JK(C~!FLQS7aazBBmaI*6H}Ae`vA0UK!JVmN2;CF|p*!C6NV+FpAbzVS z{_b{d&TU12DtrtL9Q6E|244O7S<BO|`r0S=U!D`6azPFx2i^a^XCm<5TL0s(#U;TYY31#|txSKn zC+PQG*&)rL%q9mZ{iy$?1O9Xh_oIu!fx!fBz5M!{|D{8@{HU*D8L>Pt*1_@H|64}_ zKT}bAmz9|XdjHB^kn-;a{M&c`w`=}?*){d7#J(WXcu_|^6`wgTm7VE2uKzO5TFn2< zuwVjk2U-1rq zdL*$7oY>yZpWiAKqlsacv?12{F9cEkPBvyZ;tcs&18KG{Zqm-JJbHXcW`@8G?#1Ka<;)36T?1%tHP!se>`gVI#5cNzF6$#tqmlTmALX z+yu?K8Ny-4etUB!_p!6M_3wpdt?h8@3a+c>^WeZq9#eJpp?By9)){`-kv0plst_DqcX&i zQT@tS$1Pj;{Bm=JK!NFBn{8nRT1#!&J9Fx6`-#V=AYFGtBZ6 zkFt&rOb6!Dt%z7ymietGPP6FG+`0tVFYK+u%Dp8NPz7$K@)OTnjbsu+x2h zwmxTe)UqIz-T4Nq!>u(s#x0x;^z`V=^sVYqs`YGSPv zjvKSE!aTJb2x#Arwc81;O4FY#TYp*a&tM|*wNKyf&3kEfY#cf-#jo~B-2vTd>|ogHGQ06%Q1igPtANcF7vt^^fvK=IG+2~0vTSv zs`zFwq5OM-NeBTCBHnhEI4Y-#-kA8r(kGqD-JDVv=@!ICj$d@V7xN&P@MBNhJ^Al; zxZjZll8xkuU<`uiu4;0klVMel*Lqo$H}X6V(!`1*f^p`jOM@V*_Hf$$jbfNmt;5Ha zOesHY@9k-4Q^yMjv0xUlmWBnr_A-9>p5$$VG^}L@HKDA=JQ@D0rwWEsZXjqPc+qL-4uRY z`~Vey-5`#GaW0k^R=()`C|1{aI^_gjlsDjPmzWQ#eKDHsg~rTUXMCP~Fy+#F&u68v z-LpP%bnadOV}m*3C#M>mIYPZyT6#6W1}%p6)M+tQTCVh(d7`x$A1lTEMa1@KiU1JH znaiuZcq5qOB<0CUQ)lvp))vbsXNi<9!n!nK0DMH7UnGvDP z8&VpeK|U|dd`tav?C4!!N>%+kc-M+MJxQQg91B-GsFS?0!h@|S5|i0U)85R>Sbx-{g^^W zywJf149p65ytibtdxGr8Vk=Q`hFRC zQ+=cm;pE`kP2y_kDcp{^XX}Qnw0E?H)b*X2n*HSp<8lEqL zcVfy-h>x?rK-K=n0nm=;6l-fFq84Q)fL*!Jfd-k)o_IBte-?S z>3R&iblW`H8Xg%4$V1dJm)A!NQ*MP&bXVo8p7x_;a5b<%0aHnzM5Tf=j>6xF13_Eu z&d-p|fiM}!S>vW8&F0wmTj>(sR42Z;3M4U^bS1o1y7O-34$TC#R&E+GVHm?9y|Fa{ z5ilr!cbQG<<)v%gn4hE6&=eryyf+nb*86?jarUqP(3ZwZ8;vxh0MoJKuTHboQ>JB% zeg`XYK<2++vQQHGiKwMAnR{a5qAZDm6`my84{Wi{B{Y$vQRF93R zGw6=Y;dJLmRt^i$&LuUjtC}Q_XmPd!ruVB>1j}s^zCWwq*@A2dZ~Tt&bX%2*RfP=~ zwM=T(P^l@oo$ASh@W4fp?&9#pWp&OI7$7UPAI+ooEo&G!d4QRg9d2xM1{{xOR-*f( z+neU6ym8y~mezB&saw7zq-WSqfL&a-zBzQ&W9ye<)Z{keqVr+Hz!q%}mE>cQN}C@3 zgs#gqQ8J>WC07Wp@5T*vI=k2QbgcSn*>?y$F@ZBj7#N?U?+KwvvGVs4)5_|!N+Tk0 z*bx;tGV|E=`fj+g)y0Cwko)(7r3<{rg)Q|KGHd)lhkKbNrDO;(cF;pu*iQ~WU1k%N zJ6czNbrd0$4LbrkqLKySbECc>I#W5)%@v!W#Wo)nPZWw8f2>fdRJzqwx~B^r42ZS= zymbw6I-BEe>i0_vU2*wwf0iA=mQBAywkEv0k+F+H+riRR>A38B`!`*(oBq%)}?Fyl!g^%7r@9@>D zTV8bq^4dH@abXN;GZPcOa$ zQ-$8V(T^M_P5L~hZwq>~H{_gq3Fjrd^;4Q)i}b-B+!WaoIKY&Yhu?v+pBWc?8H5ZJ zvZd*i!z41o3H+rtfyo<>$^YK|{iv>DyWS3gHW7x}JEw2sf1U^B3KUu9+R=E?u7Hei zak|hN|L(>yHcHkXjx?v=K7_Ax3Yl6Nfx?J#CD1IC>zJ;LDW{*C30y7HYLZ{EuSWyIqvlE;gM_91qjtawW=k3gr+IBZy)Q=PV72K<&k5 z!NF9q*nnzZxlp~|{-jpe&+ZK`60J{$TKD4%+3rD8lvQPJXF5-=RnhURf!ubpbW8SM zw6IY(1O>V5O&P(41F{L%^k>69nu-irZ={WA>mtp6CA+m#_|`5jO2NLFOR{xJbGs&U4YIAq@Y zBJ6GwIyi0`L{0Wfi>p8mNs-0++wndB8r1bC38Rcq^(Oyk(J4G3Ix5S&F=Txn{7$pm znQrSeM<7m_Zk=Tj?Ed?+O68k@!VJ+n8WX^IGjxxdf)=bi;d(xMQ~^bt-Y5#8qU2>g z2h81OW$tG66_44ig&z_&9iNwOIvCd5Al9<-ja&v(jgPj8QyP-yX<5WjKiqdP4E~Jv zHXm#6;ns9(Xy2k(p_i%aJMp(}=^3z$^8p@2ouPzT5&EsZ`MSL43Q% z5tvoy=~r6Q_#qq-J&@J2N&x2!n=X7A5=3IB4~uH}=5&2G_Top%tSuW4fqRn*5w1MF zz8Hf0yeH@4ar|8~0J|pga3s~D;nzUHo-)zQbUXTyZTrjfG|01~jetzMJ_sIul7RqG z05t_D4^rd@-f*?#+9>Y(OxKtKJeq&)nC_GkyDoS-z?f)MO%4U}yaHU_Op<2^`7qV# z;1E-H+r0esEExWt57Ypd@n=4OkDMMD*Ou6edYP6`;E7)^?j-}-n(^#9uVRPTgF`pE(6jyQ{e|3(Y8M+I)|%%DXi*H)%`o zQDPsD>8iaRc9j>b;Ek zr>^s1Tt|!$q|7+Q73Wl{*@vwZ(%ThB`luCSDy=iTyshCd>^|QPIQ^S;ea`li)l^qx z0u!Hpec$7c=5U94gm?OlZpGDN^`LW~ukNfGJ!~t~QNKDqyf}+Vw{C4KAJRY#L!|Lz zj7MI%H$F}xlORr%cz-p4<5|<^I|ACz0?)SLRGEEi^a}YVQ>$%ykIi}1()jTdp{P63 zJkG6|i?~he=u z({3u~i>DnM$Gd0D*v*y!(akZB*kY8(=A8XoggDP75^623Y;ydzIpzUq>#V0XKGtQo zM4*oizG2s>thEGIgS(FNBCRriPZ5?;`+FZmU5f394|PKPX}4Q;E?*j)aZ!Jq2(|t7Slp&fTcD;G$^VMC`E{Y_ zb4l0W-$4pWGj3+>awWf+ucIQo1O~uKsMToVPe}3f9I{r zosli_^WzS-wT+S&LP-hA91Z9b6P`x(3zC4KS}YICNy^nwaKHkwGO8S`RUS*_R%e@F zrWMotvJ*6s$|F!+(+u|wAvjAm$Is&+w` zMvcnA>y%-wU0aYb%+>s{c42{aYqMT0Q&d0j$)R$T;O5lbb97Ah$rQWNUdO47yPn^E zMMS>I7h5Nkfq#he@5!E{_m@r0W~9`$^W`Ux8=8+nu-6-o_c{ExWaW_aPuC_9u`}^# zw*Ac~c*@vM>c+L3c}*{CtEHS>hJN?^6>rTSgs6R%7%gQ?pROtQYAfqz`4^HD#4YfT z+tqBnN4^@coHJkn6E71$@4x(s@Api*65u#%0c~1&0_mdT6rRK?q;}51#D*rC=TN1D zAHd5$*Gv)IWaK`Jm;eupy&~=iY2UV;638=*0|zqd!;Zt3ZTq&9iA_;d@1RLa~7Tfh+=-c-IqoU6Egg?x<-_Z`s~Ab z;)>Ri5^bJpA!=HmgQg*hv{_9{{&vT# zv}(RWW%6QRf=dLKQYia|J?0JLRP8aMbRAPorAj4#8V5P{g}yq1m-A3L%H| z&L7G4(((DCVV4EV&S!R3LBk6%jHdb2irvMW4{8r2s6-1=ET+U6Ssd(8G&{)sCs&Fz}v8{2O?jjKWU z&Qgh~a`TYgbw=fexfR7O-A&a23IS(T?@|^9-{Z6SWRLMp(z| z$cb4K6?>z4N17w!O7vD)AtNrYMGU=NeNdfxZ@Ww-3d$ulA26?>&+AQo(6KJ~0!_y@ zG$XT~JsL-jZ{V-2+-?TwE)2<2hb~<`(v-TUb*hlPv?n9*M%@3JX#BQ^6pmWTM&JVQV zO0P0sd3}sjT3M$Q@XsxW!d!OtU;Z`eNCh_vJim@@I7ZE;KL{0_dP8`mwrsm^p?(iiG?D<_bIh#Sip83AZ#m~laiu7_U zComP~sT?Hl&?9a&iyTZ=SZZ$tDW}1;YhGA`a}{jQVQ6Dv`xgeEvoIjz#usmY*S+GI ztK1nq)P~C$h>=R@bh!=*hF6~ed#>d-KpVR=dD$qUy7(4*ov zrZ1B1OGw-L`-+*&XQA09H~cm1M=K&`9MJ3WU4|=L`XLMMciQA%*?wvESFlICUqA~r zmWiB&bnNI*x_a6R-R-}yK~QWo^Bez2lLaGmy(Q@fR zI&c)xb=>qrSS*`2<5s|EEHt=kfcSugXsLA6EO&5JyNvMW z%NJvB>Nx$FAyzt{`uN+jsZ}8`>}v*nw*^&P%hklteLop5%(MG$#`+MmPyCKK?WRv< zhOG~5G(0o&cFT&zWUv&G^NFdCEbghXEo|7C)VP(^^m%?QwCpXUOYYLM zH6+qAy~r}6W9Gt;zu@2H{h-iWvO}5uA%V0QpY5qT(9~oQYbDW=fUd>UWXhbRXF)e> zx3z2h)!{1+<|`5>-=TgO{M1NkSL)8zw_w5)X5bU$j?iLRG2{Hpdec-rAQ9Iib6KIE zky_$YdGcope9%!b^yM<2Z!DO9JJ;Ox*|S1BxWc>(IE{eC!_yzyf53wIq_}ZAn?g>T zio`79oP9$6?>ls7u7Uv9F_AvEt)Xlv4BSkVc+H|UjfnTI%DY<|61c5ozx%FSuj=Rm z5i;D6?e#3md-ZXcqG~=FCg_WL;V!L(NlGq4@Vs&#Qu>84FI5yW12&Ho+BR% z%a0@Qm7abE#50J$XEK`~bXRcwZY;fQ$R&ww4Ut$ZV4 zSnyri{$9MIc9txG3WBA4JM7$qKTu{`pt~vctn(ucO-GK=pm;1F!XLy)EPR;eY+P%P z@xJk!7T4$rRhZ9YpD@x1IdnzNt~mWV_-^{d9;I&7v?+Z)spBFIX*MyuAu3e@vd)Yi zNae{0oY>ZT(M37rPV#4+^j?9QW1n(D>RMuQ7t#kG0~ZFMv`{mXB8Q)k#9o7mTGYac z*w@C`uJPARxW>XZzQZj)$_*Kw5gK8dY9z*wCVBEz!Pkp!BB^?Wpxzi*b5aI`a!Qe1 zozH=`x%#ObH0vt5%q`3-725*Tx+41*&SoytDR; z){CLLyX6$X9*fLaO}tUH<;xgU>$RfDjD_2oX!c4S;s4}pRAIb*Ris@?b1AF>Aq*IUl1B0x0jtgr1W|g|r)ij%IdaL4Mayd&mn@9lN zlv$$MLO1HzD&L3gYYpylf|GKR``j95xW?8YG(8&(+}8)!S!x0Vqb6QOWQqWpJCU-&I@&)X9Lnw7;QG+66I_YUI4P0V@U{wPx{jx_6LVpoh$FpB>elI-jK5Td=_}@ zV?OmxTtcuR?&uW^G9hV=pH7MwQNFTTdd50saAD_?oQ7}v5ipU?Vo%F0XKZ>BA6bTq z?8YE=heGJOOMD8ayjaB?AMojwRgRL=Fn_Y<1lXM0eg~0Yg1qAF>9ljKH#)Ziw1%1> z6so6C;C{c?x!rirRvbpfO%^msgFz~06j(gcV1E<>E@$yEf(k&9k6 zlJNoX)wo-(hx_I?*Uzqd%`M%yAbP8Mjjo0*{j+a`fB#D(Y*!xNwQWoDvuPAVIx~J# zT@^1!tQm`SnkAh}fd_&^2)v@K(}LQb>8#_teYvqxT(}<}b(#rB;6ET81S}d7=n8>p z?}bs3Zb_^b!Z-u5@BiE(e~!F_Pw>6UTZ4o_a0Nb{nUSSg=5)+X`l9o4WsGm42roB* zi|NLC^%|-|oZ@Sc&tVTYyRximy>Nb>eaN)8#CIWok;6jsE8Pu)Px=^igsRUt1thM+ zt~^oyo73|g2h@Ul_}9=iV0a=VJJ`4i&2f^f``ut30%Ifyl&5DAcLDE!`y;S&`|EKBo8o`#Qo*P2^R zqa)yorH-sl)bFs98B!`t2)`bh5%xZR=7X2jR6PMbSY+Qtf!5Hqry}+L4|`u84)y-N ze@f9tiy~xcL9$i0kS!s*DA_6dI@#ATiKt}BnssEC7`qr_ND*V-#yXU324ljQ$&4|- zxB8sVIi26{{QtYI@AnVaHFb?K^UP~`p8L7)`)NOrMFD@O5*~_5`7X%?RIpsoQQ>=g zEP;a8!lZPrcmCvHUJKellXj$CyjqIMsBibCuBA!WPL%# z50hAkbmp!=%bz7^_ocoD8US14?SXj=)ysdBneAt8=W;wv^9SrH$^FR$YP3@@nziNv3uEIdkOx8M678bcP z0e~td_3qP#6E#Pu7eyLXkczo5=!`fM%NT7rRUn45OZa~27oZoN7{etq8M-t5%;7?F z_->-0eph1OO+h_>g9*{T_Z&tAkH1!g#re**If$C0+I1hQJjK;xosx{K#*;Ih7$rCIu5mITNXIV#!<~A%a3ot331ULEI zZ4tb*`r`Y+umHB_&iw@D<(d(%+Ai^Jix)Dlh7Nji5QELHDD5bF1|n32q0qcNlq*tH zek@FN%fdmA(;c4K4+T>spF}>Gu-^V~l3}6H&D8fyy_3>N&_$JKx()Je9Tt+;r@Xz9 zL0D~e)a9^kWY=~q$`T(qTyXr{&V93*FuG8r5ao*>c6a9u|UV%eh zO$k|};@6x9c$crKGE)Fqf&dgW`4INj8_s69@s(+6W#GkJ2mQ6W1D_T1oKcY$|Bzs8 z4a4wC74{8Kh`IV^jdCdmUHl^C*qfca8?Ny@c6v4mz`7vd0pD8srn;z=clc=ONg`Cv z*9;i8V!g&P{Sh-)kNtRx*3gqV^m0CYe z@y#Yv^=E=X^Vl(Fn$Gm7;c}-&feZf(bVY6^@afAOYpMSxpvoI3_^|p8D#+ch$uJv} zmgRe%%zDun^V=+MjFToFO(6l0l3CzRxoJ^$-xbbFGuc3k2kD)fc^z_=nwo!#DC0J0 zVO(Z4XN8#}J8Hf7_IZk|lwlm8ugJ=C75g-JP3)4a*VGkx|25L#rIA%5R`nwInj9SL z6CP^0-Nw(Wx#GvY>h~Hv&_A&)0%Q$nZzAs((<~G6RMfHvc^fZ5Bhj=WgcaoGVO<` zkhIV-u|eZ8pw9|2CqW!T^+KB-#mHZF83-o41{#fx@b7*@xo;oOQKWQ>O}Z0wJ5f^%>Xx z$y_EgWv#Kyk0U?)_KXu_(C+BXGuQn#j*%l1#o|_StdTN}&Ext2HlcA`(6U?iY8h9U zmYlck3`f2xd}^@#MU7L|;9A@oqA30xmHL5WI55q8#wRc*2YDBTp8x(@$*1z(b;h`i zeebK&g34q#YxX(=+tO|Wt=wG7Nbwq}M$8lW$KT_1AfR&W&|$Ne(+_TARylVGDIbne z@;1SzisM2R`hMY7dth;|b;F|3rov54L44n{%0&mAcCPDV&|q=2%j)iGIc*uWQQYvl z(AFJ{bd75`S#2ooKJHO3Y))}@9xaZ|T0Hs}>tT@X7wci*quR!uP7NIhnZwroai8~6 zZ<>;H97>(lDFrq=*`ufPZfWOWbiQg4`r`CGrt2d%qe7S*>m_I2^@#@|c4}}7+^)K~ zzb9}YBWReF&j**6?J+wC2P?fzqIKC@K)1rl*YYAKb0$nr>-57Wo0NjfeQ>*x)eU{F zaOtx7ro$~7F+8?Qf)P1%KruE*h0sD6PmyGCbPQIv$dm9&(lUB#wfe^%fu>N@3^nTh z5K==CAvTqmeC6jL8Y@kHL#J`y?}sfFFlYo*S3pz6VLrIiiZ)f%yjCZlgTesVAqay} z?4rR`&A%wQQyyDA+|MuSIi71xhKb&Vla@gYCScxTta2{l7#PJOuxzR5Mm#W3v_JO> zCKQvkb&DB59wX}XNNmgzMKN3+j%qSVqy45Z%f0TTmMdgaO~+(K6gVkilTpAm9UiLC z%yPMu0i}Ll>ooj9qrc0F#H^E#t}l{P{rEXjELTuaT!BpDULAxDI0)qbkQ~5_U@}E$ zD<2q5KHB>dSaK`3OVN#i$9ZuzWPvxB7AFUfZ09@N#ZC%6E+1zQN^3{Y5`&=^JnP6L z91pO)S6pb=huMCfjj6zYH9Mfv)fkDmHO%QDd*BYySfXC4%CYVfE!?_aA5#+L!L@fF zsK;e|8*Q81TuiB_Zq?9x*D(kBxAvbwaL9((@RHkgb9~?YMIMj$`Nbon6NmKqJIZ7) zY4o0x#_FeCx4%=X7Ji4B0+EW_p$B0f1n#VNs7^qu*ELXzDT*}457SxL5ci%bz;aC1 zHFgQlgaHy}Uv?1-k&81Nb3^R(yhTP0)S|BYofY@-X1@imPTEW!W;cA4aT!E29qOQC zcteNV?xgm@H0L6l!R@hUw_=ZRD-MbQ)1u&RX1tiL-E6AXhq5-fFHVGc1zo#>OKtMU zEa*||DSm7L=)k;S_L2uhb=7wickP}@N<6G)b1zYXtWo!whXNm_Zx9tRf%$GyKVXct zhXxxrHe))8vRRsr4g7LqYh85RRSZI7G_=vGd3VuV{=<7k%kM2T{#E9P`ly)aBRR;` z=reZc@@dkS7|!8p^ejZtebPTkjaRI)nisNqH%&V5Dg8>-ZZ-2DsD;npy7x$sM6L%u zy^iZLGdIH-FsJ>*tF-G62TwzTN>?z>W*|Q&wDjz3KlHr`KQO_}#~-J3wgPiIpl(Xr z1AVJ8w{H1?Hqb!SR5n+4eUnNc%`#Svxb}}0dM}Enke5U^4y)D@i0Zzs6Ko3;8|Kk6 z*ck*_127<(RYK@)nhW;va#DA-JQ!OSICfY zM`+4}QsbnRp1y8nwQvpYkb7;nKm)GMlev}7Jz%(hT^5gYP*a0SMQh#jEGel~fnvIr zs(Ng4?TU9@o!E`ab0)Gl>bm%eH`)D2p)81pxk;#`)Xk$ zo)8uHM&*voxLnDM;KZ{Y#4|!l)S9?JhAwJx4|i1!2oKGAJBf|Cia7u6G_%H*W+L_F zl&yK$N(hLC9^LTejG_hS*e6mp+)AD=!NT=i(Lw+$<0PYY-&Lk^a|K=Qk>R^%N2D%nYk#Do}Vi&$zKQgq=0)P6XTJQTb6kK&1WE>Q|OD$4GTdk4x3sSo@ zr_)DPuPm>DgFcSyfzGDL_?CJ-TbeG?$g*$xTW)O$v74)L zsV76j7*Zu-Oy*tgB`%KWFTM`tMyss!GA~{u+PoxDA+xh8llA`DQw{DiCtBV58V_B1 zu#fpxpp@31UH~C+Z=eq+*aLbq>nT3Wtkwb(?lFwXX*wUu!Z(9D6kjZ7_Ck?-QQc1_ zgt{S|8y!S{_j?_OYIHz`naIbO-Kl}AqDi^XHiAPA^%&ZkccCZDAoeTLJ>=YwEK?aI zDwI0S__02nYikesWc!ROWgO>>bm36Qhi)ShFMeFFi7rJF$y+@#Y5@tCK6V}UiL6^w z^1=E`%t}e(h&KndC(qBBi`D48B2!G^VH65t5LCt%yP&o3o9gN3JB>E7L1>qpeq_)D*3nKU(?~yl7`$(OyaEfz@!Lejzc>+4pfjF=e>VoI*$E z8AWg*Cv0*}C(-UoM9T1|DUP{|HCN+OS(kGD!eoI*$|6U9vPfXixVnUyTGv#X>UGzY z_g>+Fl9uLVCZn1&bfpgZHA~hVXY(y~5fg)&VAdo10TRjU9w^B3ypO>|6mL*J=AIeC zp==c}r35;g-5Ip()8fX%y{;3v$s%;Sg1(JnjHLUNft>#_0uSFiU(?8+1ooB@w#SVY zgL8|>O_mZfoSM)ZB`Da;o)D+hd3&fQQR4EdZQM;KcvZv1(wFtW`gOpguu`D0!3!Am zhCZICqUYeu=KY7tp0MPXwt}y!fsSFHG*2*r^@eH>i*APxXiu!{KFa=HOme{=q75@O zx^SOuP~UnmrDof%8xPWf?hc6BLxnGjHyemGmRA3VM*85sG92te4bq>a8Qo(VRe4xD z$%9YLdiodheot|v25ib3M<|Jp?7ya;ihU9rebshRB<;Fyqx_Ew@~UJeXe76RJAYIj z>ii3-Oh|9>+&qxaB1v2Cl2Q!UUGa6PfR*i_l<1j(8~BNQKb*z!|E{IIKQ((~PpF{rW~P3GU;b{KE3i)oi;+63JTa zh}10ChbqdRd|dYTuRQ+MPrYZN=ho8TUl88!@%<$JQ*QOc_1c4fkx3o8WcyQYWoJQa z@cAze`(JX>Pc<0dIx9ziY|v>;RkU0PO{m z&HLcrKgi$SneufY`300{?ITcajo*L!znZ)~kP=X$eS>|r*!NqI|9YMO4bA_w(A*)Z z(6>?OOLKAmzHm<5S>0b^Xi<~;*!-M~o4)6GQbfeU)K>sbxC1@1^!t(Uw`G3fy>iuY z${dA7qk{L)%EiA{**_kgc=cqcLZN(f?Z9NNQn~oeH^;+$|7BkS+v||=FY)FP62n9A zzwA3;13U#N@PgRmh0PUW|FYJfDDVHJ-n6-&F!UGF``_*I>p(c9{&Rc2p?qxom#z25 z{=>f%lVSHY_5MvUsmyow=V@WHe01fnq~>qI+Kb7ht3RJ}z?ff_``M<0Zw?bM5C}*ncQf38G?H&?wz< z%E6L3j5l;j{HUUZz#i|{>asb-7{%(w9+ODNyFai-3-}H#rR&!M!5XiKw0!K%zP5u zcVO>~P@X!HDeJAyCQ7^Qw}uf8hD-?x>SfmGKd|pfFg>!^Cn)vqe!{BE%;|c;R*YpB zrDviOs?oz8YJ^#y);)5jn;>TU&*=Ti(@-kNx_Qu6EC0B|$K4u%>ElxAGBMPJSDG~K zH}Md=g`~r|_VhaU$pv5t?KDN!`J+i71!yFZuVvi`nSZX6EjR6v{qc*Gi@}2`yRVvI zZ-T10fx|*K3<{CG3?g!0>WHOrFC0t}HquH52BZiXMo=;?ceQ<5{%9E-8m}+oR!4O+ zfCuH`IK}G1cjxGt@#DNARV?;EuIaV#LCQF5oa6T+Qh5+K829u;V^>~>qQtwHOTv$D zOAV97Is33Xklq(QqTVqzq6bB8^qCj5r-(3V6@aQ=#``z2jY zZ^!Xpt;%u#3M|FUOu9t8FXafWM7Zz#H@EARjI>JTTm8I~xvR&2+h0H1ia@#KNbuAg zv}`_i54xlG1@^Z4=reImz>m;wr*X5&MgIyH$+ZUN+2cG!`$zykZ3=(3CysZ?Z&Dz8;=S z68CYhAGD?rjBj-8%S_JDg$x9GEv4KH^ny<=f7%B0&hsTk(pXS`aS7aQktpPawmgWZ z>TpO1yjv5TiniHX<_d-0hoVB|-6*?#0st@L#A9xHT51oW4XMMfIspL#=Bg5yDy@l;}~rXJohhW)1k<#9P6Z6^|=x2xGDz)tQ$^UYEoC z6E1w_i8m4$8@O)Q|HmGRD~|{!^8~Iv+we0(ioB6AUxU{_r|zzfR|Dvn9fy2q0vrMF z*SWdzU3D;Ta>b+mX7y4iAIzVbcM1&<`Vh;Bar306z^wY8@JFYXGQ(!7t8{|*VtaAQ z;XFoEkBoivV2%cK-^Pf{%%raXLgKch$>;{@d1cjFwQd5nE_3n4lhNxw!vPXGgiz`M zWr`2ZZglvXp8_qnBMT55i_iiJGUdP%Sujh+WKmkuaLHXMo5v8q!#+*QKTL#bS4*`E ztM**aRoiQjD=y7Iz8@N|v4>Y{MW8uYHO3!LnVuNh^s0+n-FkAE%)}C`;dAalk=>Wa zh?|sthQSY^y0`(yoDeEaY`_&eUJzdWQs>QeBSj0+i+sIgt;L>9Y%ieZ>Shz!y|dU$ z@2Bl#p5YPRjvp>H)%7`HFN!jLpK^`0P&WEvlb_q91yAt2ivMnqM0V>ZT=j)l=y-as z{Oyh#A4*%Y)*5yGaW7nQ{{<6CH2dB4(Bh(Lv0~EcP2Da&F*h^C-R4q;V!ILuL)!;v z8okfY@t%`cp~pYGXg81jezk-C%5|hzY_liki48y)v<7_QL{UnnIHWd|Oz~+MRNLhD zUz@Ze0flN%J&z)aHuK)1`QF+Gnjd|HHe?pA6ORa;TgrXg%m#WwV5Za-gpe@|b~C$Bd{9_3w&!UWIOvNn z`WgKj+y|G?G+LY5XR>d1(uJ>FM%bh2TB7AJwd{NqJ{q?3zBTGzgw<6`pQ5DF=G{(k$p)NT%tWUG!@y&A;rAdN~Qq#E|6Y?e#| z^HHT~3hb{Lm{_{@^fW2B3~U{C22ePcSXIZuX*B+q+9RpL0FNon9+l#L-Q!k(c86T8 zYgdLsV`oa)q+M^*@%isxFK&!S#;n!pE3SXA+lD3EE}`Y_NDnPA?8)Zt#O{}Gri>Ed zN?)vk=7OXao>djtb_3$?UKYvsupf_1>z~o4{hu*EU5h{ip!nqGowi1)OC6%)3$t%$ z>{jz}9;M_X;x`4ibXPo!bka%LB4&+K&4?lc6*x$ty<9=*OV!>!OYaKHdbdyAl~L=%fA;E|NFhxW z3`CSjxRX_T>j1Ug-mElC+SL({LN@USA$NhK0@PST9pS_!o-xZ*N!J9_Y zVS7p-I|5db)$02x4gng$bQ4d?{t9MI&;4RbLP;@OSh6m)qxFaUx(4-<)=lT#{ z?b)ku{sC!NRD%Dg4*!%UD7q}-Sz2gD_;{FzHAL8rVy>9%s zsZ3A5tNyJ~RREAqC5cvBz|C_1UlG2+LdjBAGLUKv!R2Pkgiq@g`^F>*og--kObSKW z5f`-+6jaqEimf>1&%&zRfnCDS6Lb$yI=lD>J2uPD&lN;pBv#)1#r?eb1mImM1upyG zhU$^tT^pp9`urVj@gEUfYk)2N(@>=oKM5)H!vW@HaLpsnNZ%9R=aCVC@=49rMOIaAt}ea`%5N4*jSFhKD1wQ`q7 zK7?N$J0@e#eYo4h8|PfUKgJF=pf_%Kg! zOc$kOtsF8UPCEHd&+(3~u+*s0z57y99;p!$scXWga5;^;lVavo{Qz}I;iLdie1zFu z&JnF~>`r%t-84A5W^*SqN2$N1vNtsH)j45Tbd;~~rg|!=*A0q>>;j4T;<}$zj7xI9 z*}{e*YAdF07Hv$YJE3nnJh8%CLx9#k{z+Zq&9NM%x?b%#yy(b^bhYgn>})NCc*|~~ z;GOSkF0fBlUVWWx9~7eaeDW@UrT{G+(KI?2w8eB0j4$`R<^tETz-dVxjrB`;OZA$$D} zVuGlumaMnleCrx@eim7X%Ju<%?v+e)?bow>6_YcAgoL_#T9-Wf^muW;Gtuw^me%_= zkDIu{NW*YmW)*nmD>S>-BC-CZ?YJhjuB;%S@;etxd70k71a;7{412><%ZmS)) zzVNTuJ=iV%dWlKwCd5q6-VO;v{;sPVmmX} zht0zj%OiX1Y#(nJG*pqVOg^$!5@y5LTV}m-2D;GNbXXdTAa<6O=^&#k>n9XPl8ph_409ppr{#Ma(NM2_GORaeUwsGYz4NX94JCIvBDoxz) zC(HYHv0JakH}H0|<4=7t_k)m=IimTFMdr*1w@CtP>x5WNn8%3OL#0GtoBQ0Kr0>6T zZF_L&>ek#Y)NZL9;n!))&ztZ{CZcvNRl>Bm`9Hyw)Y zdJ@LrSBCxp6lxkg$)R64K!ZSUh%FqkiZ?9-Ro}<{DAD#>e)Xly)NrB&Y1ap?qQZO< zzEX|}e9+{23xpE$83-jcsPdNmHVID1n(ivxa=jExT3rjqx90@)$N`2de*RX#89Y5I z1n?febId<5*CpYVlm&DT^M-hi2=X?7NmM2pFa-7_elhANO3OF+Gn40EUGh?u__3_* zaALGr3*bc0*UucEypPF}?83M615{-{xP&(;1da!|&RWg#8|uE7{nPy8$0kOsQ?8t8 z>j?5RULN<4$F|g&0kld-z0i&wD;HbqJ zpGw*@$zr5YG_57UduPA%_H+bI0jetuGTy@Pe@lPbHt0Sc*y*XNK2)U;bGRMMG`lsL z0!IAOoPu5#Jp^l#9+ErS&Yps5hrmWgb|o(2!-gQ6q9dd(WvLP&h-;TzDMBA~D|Jnwk_`nG1ivSUR%MBh#pcg^%s|44hEr z<2W3^WHaJnDp%_+c3jEiLQcyEO$j^PMzWvjUK!<>%CZ(TaF_y-{a#wL+CSovC_{D! z=H7@yx#}BjfP{Pl1JK*`cT-|kIsphng4PakV8mwG)R!7>^ViGs%D07#yPKu^uZ~Uz za-GLoJDKI_XP+d==bCp&`$5;b94-J!=Cno*4u%B!`D7j&_URBK=|DhA*qN}c?mr^l zyrWJzcJ@kd&nor+4e&$o*9KsL)JZSQ70aG2Ec0W~I*ZsUf@2Q2%%In(zh!I`!ujf{qV%^hU04_cM0M74B{ObP}5gy<5K=jrR zT6_r5)60|-($F1K%4>}=+#C?`dp3>CdL4zid8uU3E@?&Ab=Nib(6(>5D*a_oh-&P1*m2|Dw%#7r)64Y_c~7_t`U{T1x$ZdP>(#u_0_{4$c^%e5(Srx3UxNN zQ_2)&PQ1kU!@8kdJQV8jKiGKX+l7!yYmOYp+?zT9yFuYOIop=mneWaY@glNJO2x zNz8DgebY{>w|Oz`xO}fag*4vegwqfJ*2<3N-L}vd{q7=!gb+Km1tS3P25e;N`nfk4G~r z4M0VIe+^FNfoC_P1&d z-qBA}eCj&l&NsoVe^1SP8Xap8GG# z!Z?#wp43C#CmuO&GtnmcLZ;i@r{X8ZJtz?;6NGF{O1Iu*r&hzhSn1QLFkt+$Mf0|Y zW6OOC5qk+xZ&CnOCMO^&0ez@}&~%|0T)XlQ68C`{wRc0Bk#llBIDP;uUaAg?GS*#q z(ZR!}fcDD@ZnTuxem@_WC-X-(B(^m`;gZhpjUUauMivm^DuP8y7L&N<7358;w%twk z-i+1_y)TtRMQUOhT>G7eG#!Q#=vtN}C%im}k$@0()G{5NB3IH4TowVS&K{?Mn%{Gg zu!NJ}7)J)?M{r24S88Z?`QipUfg-yBPGh?|*rP#!t7BU1Ig^~2N!qLG-im=aU3Ph{ONeb*CD-M%j(#l<5SnE&Y>Lv;L?>ZykkH*# ztAWrToAbR3S)u^+a00Il!F()G+(+KCG+J?BR)ZICNO@FEw*$1gG{8a7v7PBh3%4 zY&upkpJ0(7Su&JPAF`-K@l3Bly)RgzEH1ihTV}~^x5X)G;g&u!-94x9s5nWOYGJ^H zw)uv&hID>y(^&Nzud+`D?Bvwpec|>SVmauk0?ekj6*B#DWM$G|8ZyN|-`bBrbMa9mTV5m<-3IX$KkP~h zE!)4}tr&TfE(P6O&`#x7ja<3-{;iB4v9M(Z!YhLmH$wF+7OGT?p7iVbOO*CAXkoVn zfrJ|{%L_x^HUmG_ti!`aoOPw~GrLx*!S2(L?F}`}v~TH`nPx^N@>ihOn76g2vTvyy z>j^bnUzzIf0=(Spx<6F3o~k{X)j&YHQd*CLwu;_wFc2tP^qr} zdDdU4*QG~cdoEfm`z;!FHUV~=;022w3Uh{i|Mv<(zIRBAyTH%+k8<7r==Cb|HUA=p zqK|te9^Php-zdUGwo36SY|WD%J6fmEsF)ApRPDkYy%0B*c1tc*>-_PI3MJ_-0FBC@ zD6O5cbRMHOIhR@ID2MLl3L?}WtOL!Ytc`irI8@S$xy)aHF0h0057elIAPU{5U0n>8 z?hA#GEgeqGo%8ChNwTh_7^O)-Dks%?f4mOg?^i#!_GB-?_^qK)UbUAF9iUM-Tu{5m zb^M!9{?;knNXrz~B5_phKsQeOjl&MdU_pFteSZA)gNAn&a!(11ZXlKUk1qU zIXlOH|3H8HdQuxkLAKK)wq88`_eFH*!1?$qpVi6#NqjMf?i{HrPI?mYbid)?v?#yf;2|yls2aYP&!1i}NmA3gBlA4zNmp>T#1txP zeEgBWwF${zk=Ji+DqVi20gl=wH1z$WCfQr(pKxP5LxE(`$vmaPnHx)I|81-NvH#lM z!PX`f{b-}jcIIDq65zzgO5C*k?MVFllTSqd{5j{n#Yv5emzi*Zn*^v1+Q=S?jLY7r;@d+tHtU=HFsW2Cxj+R z&Fu2=TVJ`by}8hw%o1b!``P2s2xMx<0O(kEb_bY@)U|+0T?k|1sW=aQdf@OSz)1ci zr3Ge%xbmRf;v~Z4F@@;duu=}6FDc4SkaYH-DSf<1WV~202v9ZhO2!n3cAbt0Ky$n&p4;f-0cKGe=)M` zUTXa0h=^q!V3alOaSgB>I!~VQ=e_EAC&wdE+6!p@Q)8**@YL|sIA3xZy2^B+3+3y}gZ1&3QiZ{xyMxC=7gPli84qj@cC07K;Rzq=1q)3KGd*PUOA2Rs*C&sRZABmjgJYIBzOM4|%OR{w^6 z!QF7mAg;`B%{vP_3CVc{y)h2TR&*XL4r>}|F2ghPVia$=?LgjChSC^KE4`Az1)mms zV^VrDA_GQV=XG?=o+rRJWp*lz6Zo|k6@PM;`e#liyGYg`#qZ@g)M^=4hM3xTTntO| zX6piS)>+#??@pt*rQ_?pACFM<>4EAlQf@epL`mmUoir!E62p=vJ8Ax}9<@32R}BG5 zj;)V^n+mi}Clj4{z2Ynd4^e100)8jYMgS7sxWydETzgDzv8?xE(xn%PUlhnwwyN|W zg))$)fOXZ7KUy6u5EST65rU%o0p>f=m!%|VUg!4u*rLhN)0a=UC7MX-qXwI-N?rzc zqf$aI$yPb~L*-dr0btMpd_&`UzP{j|vdmxO28viYEWBVpDQ&GkI$UCe`c9rn+=*N8 z7JrA8`-)dZZ$s)mSp~F^`@*MFr#Gp_{u62a@G}CsX)fBQ5O+&*MQ7$j=1u~Mq(NA1 z;j7LkZ!cQDN)k#yeY&eUwWRYYGz|T2w3gkgD=9>i7#q`4=i0|x6@YV0puK)?xVVtI z!v-O@1>wk;$MS?NFZ+DIEt#DZ*Qlpz+9_!XiW&=BUIm~a9FM5#aGm$@;8&LNH3>z~ zW83ts+8J2&5_moL+2!duvh&7)-%{BV8JeZx4qvW~e@n|=ZZ2QGwteOGn7@wY*B^E` z!GsI;M>;cQs{z)9Bjk4QrhF8^0LS~4ljPcu>`1DT_1uX_5;AW$6&+Pnm&6_?Fgt|K z-}O)46Pk3e>?-U|KdT?Ref#OI`D(l@Fk*|FvX)rsjnkti--_ zDeWU{BA11X@{=N7oKpWF2H|_NX`xDwW*6&PXYH`ZPt+QgnMpYgFe_#6ZtBbWc0Cv( zXTu4vYtSBXN`V{s?nsqsq zhuBL=MYnMsFrA?T)~pLT9Dx51@y3WmaGl1K?PIIukDsHxaD)75Ze485ytvZn_bBOd zYHzuh#*X|vCKwzpwz8giBk*GuRLDqOo_iJL>AlZssoc_Gb_tyDk%$Ff0!ETJ?&n_G zZ!{}yCWix@BmGDWw8R|6_O;5aNY%^tXHP*xNYApw?l%=nIvWUolpoy? z>*(%_XEG{yeh&%WK8 z8w-0r8Rr!{9J52U7@4uIw_@WF$|KqxC;E>Hg^7AE>iE5iNYy@l+~SirK%f)|i_-z& zHPJz?al1B8bTZ|%0gGwVwd?G%Qp3!`%INsePh*-JZH+Ox`x=KNlSCen>`M$QE&2^i zAZtCAKPpAGeHu7KF#eVO5+BVp)yr z_>E!s3CSI93FpSuAHZbsEhe51)-Gw+4!>jz!hj%@`J}_W~{qHwX_>J${AzUyfFQ2#%KM4xK^~l)@svwqGMMFO0k~cxZ8c$&nlINHeW9~ zxl^~U$gyk1+v%kB4W||*<04%Zy^MY*080_VS@!6`Cch_gcauLHh9N|4BYg(ntGExH zpFK%%lP@FquM48=F}ZOx3`|TXL!egD-9%$!e#3GK9SHCUlLqFBmhJjS0msq6uMI`` z>%MoP9h*zZYgww8&qeG|4DU57KYAsa8-7dX*h+}0J0m|&h`YhJXVn7f(HA%I4S7(+ z&|rS30mfzM9#3y(XWD||GPysO9}4K*5npMcgJ-NR|9CYVSnX9j!@j2X=66gbR|Uv< z)5CYis~xm)*9-VxbJ&gG?(>ZFX$IF?UkzUe++T_eYtzMBV!IRtbOd)b?PBYyDN3?MK^!8;?^&{IYD$ zgMm#h@3$j10$2r|e9XjSQ?k(&~j#QBOP%f_g*zykqV3ZzfK|; zBM#XhgkAORM7MJH)eZG#$RirJc=+V~>0i5#tQWU#Q5k~APmIGKFQ8o)Xs_p*s&DDk zdyMkkc7mPvChSvHeZP`*x8as-iPg5Re+p?9gefm&uAENW#~PRZxDgcB8>)ofZ|n)p zz7eS9(_-$9kr$jgbCXq9_dCsN{X(|v1;@Uu)Oy_){JzJ_fHk&eIg$2#@TIje9aoXZRMdyJJ0VW82!PW$^&n zEyAQDZJ=DuR*3kNa6t<|fP1)O1^KPBGY8@38jfeEKR&-3x$Z{1jSLLaCsJ>%(1XPz zz?I8f)melKnzG)Ns^W$bqv|a9C7C-Fn1>sqlZdvR<~we?N;f`+D5=e}#P(aIZvP#J zc%pn8fVA^uu}}%e*rY4>wN44>oGnwKt8FrE1BF(;*Fr^bwZ^G~Y z#}3$rva=mw4;m05Z|%pAHD~2Z7M!R#2za6~ZC9MkTirN#RH-VCqQ>AX%8`e!^;*cE z_3j(P*--lrPRv!9#Y}9_jw?-U5%;>T1^vPzOd1V*AWOvmlPJ4+YI?cc%75dV$T%yL`r%eu|B`{PP497XsN0vbg zMbPBbpQ)$$$pXMCe%v*y34nm!52#L~nU0&h~JE$KPEtLeaKo-^lY~?Bu`iAfTV2mQ| z+U10VAB@bH4SaSurxthcG+q`eYs6@NN*#f;+RU;neE5BMy=}FQf;paMwK9=jv+->F zAT-br^WJQr7cQfD%E(ykMHUNSc`hr!yq+4`cuUcAjT*SS`^3ttzH%sKvGtxbmPHtF z&YUmZ1?F%hH#K-q7~XMhrm7IX#SArV(a|7^Y0wteBX(!aJc?9lnxWtEN$<5u0(ufd zZ8Vr6xY-uy5=3q|uYDZb>`>$gaDVKqfZVW#pNPL;dcA&L-$?~ByF{dv7A(lxri>*S z414=@f5NSOhBDTcqJ#^y$IzqVfNKnN<+B7BjBx!L(NKKVchq9M$u~-@3JSNnN)01DtGSH$)1ZvUt zJN?LzZLgAhC5B1*3?LlObXtm2+Eu?KQF3k{d2LesS+phnqKWG4=c6GHUx`5qLJn@b zZ?a|8xMNm1Ha@X7&#F5fAWgxnYF{=@mcl{yn^NCzwN@4Ij<5eQb*5Z5f^ATKC6H+j zKhcoKoS9|cYYU9@3i+HmSX=^Yt}Qojo+`aw4B@R`tH4xQzqfO)FQT%>vBwAU_SV2h z+@n~yJc?>>4gu9;HM{KUu}wA9g_6plW=n+D;2W=ldeL8OnjRjcF)$(oZQHklc$XEk zs?>XTw;rKNVcYx9XQj$|3z$~Am2fp3WTXMcBQgbk6CV`LDM_&hrPmU-Y)0@I(jJ$& zC$_U)ndvW+OL1X9Ckd4%Aq0Sl3Sl3r2W;>U-I@@1`MjFbrqdD%tPfI2_H zF3LOX*v~{tBSoUE)+cJ3gTfc__!_HM#a0bZv;3OfDBChzEz91_9^MM+(_-&{5jBV# z-=A~XE+9hD5CZmA85GlDaj4&FY(m&77!-xx&oJ-V#-!=OniM=4+}8dftekP#^txkB zbnPphYUySJ6YbF^rHXnk6ZuJf8T&^ypJM8+oIz>V%2;``jdy%^Au=7MWN}A4$Wy8T z%y-t&ZexQA$D34|s|ox9pR#Sb)SQQoUg3P@I<&bV?7e;=v?+j8&cNJ*=#hUy%pXvt zX-(YDSBE$OPX0Z){J$3v%%q$zZjp41oRT!462c3i1QEWsoR}HcXgC5I%U+>a1aHFVp)u9iltYwS z;;WP#&xuCD=vbIr))J*yVbbx9q0WTl*|Q+A$N&(z{^-+?@h1DyBvF4vQiK&>|50E) zy7XJ;-ZLe~KIu-QsfH{`F(PE{smE|E-Asl(2wk&!1$c{6#+M!EL0#_Ai5_tzcXRDiLv2Zbjl(tZoEd1cZo?Vo1u273n{j8P2j&WAzKg2` ztT0IoC(N}dLYM-EAxH$i!}-F(hZyU)<^53;uB{<~MtxS{eGNxbzq~rmK6YQe-t~N+ zBJK99gI|kznNfKM`4z4bw%}PKt5VBI58B6PGIU+atXy6Eg42&u-IZ0e$8eXPWA7W4 zNFw1Yd+x+Rm1ZXeFv6fTY~{4~$xGK678u8~I8M_52nE5QEFOEH4hormgyO{QkOaEH z1H<-cX~))6X|f$lBt1v(^@~WtwB;nw=!s3z1#PzGWQ@BPo<3dv;lqeP72AW#5;v4rLkJ7|WPp zn3>wAB%tNZ!g$MfHFJb&EBF@HFUSw3@q&h!0#ynsP^*i6Tgggek(0y07zXS{{@EfU11kP3xGGZ%1Dr8z0d7a39 zDgYvV@7f|VCDy=g&NIBkyNr9FaC>``t>;y$|E^Mp{+Cth7*-J6;CdfvcM(c6>o+j@ z_BL`d;`FH9P$4>2|E6Af2z*u%+0T)tCA0U+D5Z65Ev7U}gAqj)DQL!_Lv=&{HI;<5 z5yxryOTVbbqu|g~1y5=QnCKzT1OnH~Saw#~>hQ8QS;@;@#i%tHFOBp@P<$v_eWQ;4 zlKEpq&Ny}LNJX)!;%54rRD#i(^Z|3lXx6uVGPlQ}u3$|u(bQp>ZP(}YWupQ}8C zPb1l%hQy07wfLdCPSRXOmW4vAUUO(YParo8Fx~Sfd5oYeU3%W@ukZE9I7wVCC@HGI zCwpcnAPDIXi|e?ONKm<)@nPQ1m3h?(B~+UK;>#2T+R5#c=U3r*v-WPZ-OvS1ww(F4 z*x~ns4~I^cCUqHK&A9vrE=JKh5X8g8TL>v$0I7&F#p2zpB@`$iU@BG&gK|X+Qg9YV zsZ+@=j$Fn2oz`kBY9Jzhb-?KIB9e`u9Cop!HKT%1LF4~CA-1^xu=h6nH8NdzQO-tH zLE3D`M{r6O4t-E@6G`odeiFtZ#oc>`Z%#S}B~#a#IQ(@Kjp85yAK2JwItPYC5lE{c z*cob3)~Q7wxx4S0g2Uvqg{X}nFnLoAV*4SnvKexSDuVgN-KSHkP$M3O>coYu7&Bm+ zQagF!fgNka=Hul>ha0&4vV#OADfS4#0;z^8b%fOl_-q9S?A}CCVpY7<2|$~F+vbUq zV(`T5HlMteA6P^q#;#jYnM+8OH8Dgep?gxRK)Y<2IPL3~4xs^2skd!?|&U=zP*M%o5 zXjyNf1L2p(v0{7SbWl;HSU1slc$%6CN`J|zjC)sqi9d0u3i!4A?}s#Prm;Hn6ni5# zU}j4`C~ZRkwm3z06d`T`SbHAwnI*{fpR9tAzw)Rb93=%DhS|V3;`m7S3@bK<^+(DG z0Mik*-qkxs42`{h4XPfJsX@!cF@z{e4r_~Rl-x!+y1y{Qcz+F~k>ZyOBsU&H zSQDJIx4KtEw~~=V3f}bRZZ1p5ko~4XER(NjVFnv+MbqQfQ+~fp7FbWBIscQv!>@Qg za5DcyA)4?_(g3a%NSpUTeHmLMzJHNzDyaV>=x1#L9xte0Q#tkP4LYULqYD#t%-41z zw~oQlt3Vhv}?mJkrM!F=Oy{LyU>=|>o~sZ`V262;ER93Q$ zvp?G(^XpSlzqua~$BEP{y(^a*#%HC9KU|d2qha)(PR8&vy7L|(p*U7h0iILTCoR&K z6D#KSIDG@vmhHy#Ogkx=YAY)Swe|!j@7(9C5XOF1oc&_VwTW$Q+5>^BKyu;q)1UQ= z#O({2+K;DaLL{-x@q=?qIVt6#8CMn|rpnai$=o<(ulw#h!BzA69wEOI7gHPS-h;Ie zlJpXCYYNN+)Y9*f12K}&K_3DU&U(Jfo|T>dO_Zn_x6YRAFUW20&Y$1wGb)K{T5T)!a?|h=O{|iEY&k@oa^%>6mrQR;Nu0va9iJ?c; z!_le!Yd87> zLXz>F&PH<>Q|i^h#p6WhOm{7QH}MBY-7c#qR#lNd;1;W-Hhd*K_h07&0IEwgkWVTr z$2~tZcVX?=fBFI{X#7xAS~ckBOWJ~+ZBHATn3Ln#Zk^>f?Z6BdW*NKRdXfXmT;Uvz zSagct4}(?N1=uQGRh3s<7<;CI-!wm==XgA)_fULvVX~AeskUMY-E+@oZ&7Yt2Iz)g zl_mI=>@$1cQ9DPd(d>$^lIPY;a6nJ_5vEGLeo6!N7{McOis6(OQqfBR0okWQAF}Eq zKCJaXaI{EdMY-?t&hxf8CsvI<_DGwpF!R6R zJxST3S#S;7TTYYtZ=^b*JONTsfQD9m`Ebse_ps^i6d}Vkx}64yr{wo&QvJSS`;dmsUT8JFz)WY28bo=rQu%jFm)GUFFShS5IZl- zfshhzDqNQUnVBxG3{?f1srOY-wCAQ5x&E^0&Gf*HAUub~vs-*WLk&g9PrZt*fBF6>lB0FY5qldyI4pF-JczRf5G z`c2n+hOrNfYyvm#EB9e9Mv)60Mk>qLZ43dwRHOqnHp7QLn1KBa`-M3D_HY54o)48z z;4?p28+o(b9iqLYEi}STi+p>wFnF=RNGwi|-}mRc!ZMJmdxP}O+0Tz`Rq=ITHo5S! z-DuFcffcdw`T*#2u~eNm(aJ-Tr?36rN^01{mh z7~;{9KICBtx+`HVwr>Llizw(XN-aPY{1m~C(o13ihOXKvhDrL)G;ZE~5M}yO{`C=& z$)S%ri6c4KkrItB6Sm>xY)8qldCBvRfc?B$4*582-JMnmV!dAY3oIUw6EKM-c2CrZ zk}K51QD{tC8Rs!Fy zNEhTzlct(nS6k>*w#;v`?l_4j^Mf+1!icBAHqelJwA&IbW#)d#o!$6JqK>m4wt;#8 zc`>;1nbpj+xVj&%aba?JopOvw;Jjn=3MGI)Rj$8B8#rB&HC5j#;?_gePfs;|Q~x^8 zFfU@wWOZawD~hPVD&>$iE#$|<3>?Api|l(ubHr;;F6ReIK@)@aGk$25l)2|0V^0K8 zG_)7i4dhm6y2tCX9H|1ya`?5lSaww99v`3%h!pA%?nQb^mZu?l8wvBl+li}^?A=PQ zUL9tk!};2p)2NSZ>KmFmkH7vIdHpGf>G*(OL|!rr2cQ;jpOf|UN52h<1{5f!Iy^P&YS&1b&672*s^jI1?IQ&fQz`qkukd%w z;C65JXe)YvKXcMtJC^rKMsLNEPk2I~u^?L}Y+XUB_re!tNI1+dppsp(BR$;raHye%Z@A3U@yLB+IZm@6nZ7NGKZ#nA~BV=6?3#vV(`cK3!T7rkObE8^NKRYYJ8p!?PWCk6x6nq6ZHM|B3T4d*YmLv2*ODOd64sxg(uT`fu1C%86m?2^ zLXm5Vfn$2zY!6VA65XB~0I?J6RM$~P)IRODi*YDg zpIe|>i*=Nm({bDH`5vPEJyez1?eOLLb1@vGTI_+QcHov|L16tz(c|t~+v|lWFs&I@ zO81z|3FAEX>+Z`fiDgO2g>Rt?-!wYr+E!Y*_}-Uof$Bk}2(l-krD%NO z6XHdL`{LqC?qcDYTc0nl+c1B$58rG&cfM4r6MoJ8ndG9J6V;dd8i^Cc&7Kun=m}70 zQ}@SSe=Iio)f08$EN>gYv?u2S6e!e zwEWFu@3}OlRsLSXMk8?lk>cK73~SAcjdb@F(TA|<3aRq$)%_;F zIui}#fhCIp3S}OO!Bi~JLW>I6OJBI zX3#DFTL2@94X$w24TO2kiPDO(0!BaU z9r{`u`=m$B>ro79=Xm)#5&IoI$4?MFtm=AX6q77aTjBswsxo=1s?5MCtiq${sCA}| z#~Cp^4yV`Be-ADI^}Q<0P&0h-^y-^!sK-mz=aTDtT%)yJihqDU=?4PlZUxHnaNaeH zqU|-u+H$eQa85axt}JJN!Xg`vQ{>vAlN^%Q1sisrMdNcWXeG+()DkwgqleHPj{bqRO%-Nd>1##qMwi(6dlV zmG@zSTPS3_f^%{#Kq`%bzI?NvpD*DlL>8yWS;tD7UP6>5_zf}130rl?E(u%L$;@nj zYa?Qjqw|uo@;L$xOf-^LJ|V*5ZoOE4XaHu+bwF;vyV*6Ur4sIBat%b+_V5uN*)Q7j z`#Ji=y+Re78m(VB5=-cJbKQu{5_0;Lc?u%C2sdoJM2-}9{pnR$B+jMQr2jtbayAm9uxVzJnZ#X-Z zIR)K1i|(u}+Kc3GW$%*We#Flcs-eB6tU}N7YZ|@#oEu_kzCLNluQ#l{7ZS=s^kEb6 zuQqoHp=TaftG^#}Jo{cR{biV}^C&J-6K>nD-Q6;6Sa;LG*4J>xjC8Y&mz=u0I@;A& zcV@xATvt}?WY2e2ti;Ug4I*lxH)*Dd-dSefd$2XJ#CTtd(+k>%6qUhuUPx@Lgw6H} z`FztgVwtW}SEIAFO>WdyuMI;@eQuqq{nGMKHs9HQ+skbK+RLh(rv?1UyE$`R z@q;Hnex0Xx5?MvcKc=)HfHcQptW;@D{IfRzE-Z*iAvp5(9Yzkxt2y1Ai;M|!WKQ+7 zHF7rF;og4Xl4%ZJaNR3@FCs?e1GoIFE~z@Q4&(^KWuk)Ww!L-ScG~(gB3A=w)xBTQ zelw99J#P38{cbmjIf02ffaT1q0!{}MoepB}YDgZtREqW;-)vfVYYzYddr;CaxqQX=GAE9ZK_wfHXr?PqjdeLB}7BX;`MH)WzUxA zCu#{-Rr=&5%4Y{dkD|LO$C)l{T_E`@+3YbolVf-(qotn2JyZXlV6ju>5V@Q#Zx2<9 znfcwdOqIK)cQy+z+$li6C7ad|r-zSCd7rL^`>+eK9KqckQOqtknNbRB+|HN<$B%~E zv1AztDg}8%=PCu^ui3vLJ4*Y{wzTobEg@!l5|uk z4~FHwh^CDq{1J4|G}XxayVoLeXVw1P$^KFL%QphgNkHE-d#aTpZL6B#P!@PP`+zki zTJ_%EdAm&n^OGEx+v@vkj&5S>cJPhB^emGFh+slH zFgznGq#=01hBbC*A$H4sX`nw!PRQ#&IzhHv1|RYKapG*BM2pe?otFy^-|Dx&;REpv z+-%l=)TyN3JTS!N9Ci!A{KwyMN{&eZgcH| zhj8*I*lfvW{!H3`ykVbxIH0E^`QC|IQ_;TrkFU-9mzHJzZKuM2)UxaVnh70o*YuzF z`X9Gt$oJp(Ysn67zVAQ2q2JFT@Zab7*B18Q>+$DW`2WxKumDNwP<;OCXo(_zZHl)w zoHLG|Md04DgIe_Uh)nf(Z6T|!>p;vMm8lYS-wyge!p#}0ANnpagUW+xrAHxqWm_uij1y;;rymueB_!hH=3vIoa5?hz1A|{$4zI=_939iuk6sJmyCLOy z`b8Zvy!!V9&n3zF8Lri?2zW2&=3LcC5IH@T^cUmTNipE9j&(Z_fX_t)m$iWrUhv*Y zeHi@yh~tjRuhwuu0N^q}NQpg1f$zz)RKXPCYu_l!FCdMtd2hL{J~trG>$|qHL)rk(ZgThEyc}Irev>C* z3}}SmcFfgk-hfQ4IMcP-J%Jh^8NqO-`aFBXg12ug!k7*2VGppB&NzWiGWFhk$2_lg z^@FEAcq8`Tj(09vX+ChP1*&z4_JnIuCzhs#je%IGHSEZuEPip46C^j<(M;>BA0b(jCG7=T_$mdTe7*MwYOT7iZ~dpY_zQa= z3siRNL%7V|e>4Q_I8-BBROUF`F4P2(eeA&(xp4)TYxck54GLk}zq1C|P<6)gM>buw z51=~ARnDk)_u%HQhJ*c7X+hBN=Acz?8RzQc((D|d_&3bUJ%2_1Lclk%w|CTrXYb(E}^cMkDD;CCeLp%E;K;tIT%oJhp7-J(Z_--=e zz(k%|GmL>qSRK2<6PEf>$g=ZJ-UgUt0uo#B?=5|{Z;2zfO0|#khQJ@{zncY4S;N;b#`;g+cNOL`#~6hD-JiOWz9Q;oc;(shR_w|nYDxGIpG1r}nH zy>X+r$7eugH0LA)o!24RyVW3=wbT( z$@@no9AJ=@JMy{OSt09Fr-||Gcif-geES1pn~C+W;(;Ab|2|6YQhTI~xg6Gf<+Uib zt>41xL?&;x^e@FVN(mPjW12)NYvj;j?nOv?+#I}o#pR3O*)a}MgiM^G-_vvdtR@ao ziGxb{07xmf9n5ryFO9rv%e2?J#Q+n4B`&2kpw+(=%Wn8@H z;6;hj&eCwX<0XloIZwnry>fqSw>^p{ZhN|D!w4N`28)4F({>W%_7}y?Qm=~n-w}6u zVwNE0bYA4psNhM5bEjk= z%|&N-%J}+=@r6|J2kH0TCglKW#UZMy7-JQ#=6%Yo$CVBf zPg{fgj~aRw>TYmp?{#-LePRpA4OnUXe8m#ICO4_1(v59kNr4)&jd<&@i8ymEo7W!@ zd&joUwU_ql*A^|U&TZ^_XSu)=fVL&Nhwonl27>oY%K@?E4V866P@yoIFIr1>?{1G- z^-P!Nw0^;|^AQqhuJHWxyM&sZsCgmh{#MWYBiNg^-AZfO3@Z;(j3w&Jz(9(IWK=~F zV6TJQ6DF#Zt=p4@=TgK*)U$@%F${+Gkj|tTG$E44Ddv+dLyP+sSy`vf^V(RVOf7MN!Ezy(zWL&N2=(H*A@~g(^R8ta-RtcN zj?O4G9}j4!!E@*<`%@UW{ER@o*yqb@AZl|;ir#0NlZ$O6Xe9dsCpVBcrkdo->`bqT zUb=S)GbIMJ146|Rag|T&9N5)cIXPWPy!0&oObe1SwdHYC;qx0tJb-A>ZB(U(Uh~6{ zp^%m9yPI=3D8Jt?`1w;_(oxy|*E#*_`C7zKtnhB@m|kBiRORMM#U{DU1!ZtK+eqC0 zk`lcPR(x8*8ZiAdDlwz;kcN9AAnbCnpb9$S*6xf(rYxFVH7I)?i$yvXL$>)7WZIo8 zG~_7UQ+p>i6IpgLeaGUI5G>{VK&bgcBjt4UyS;jo&>z~1Z>%wH@Vv|5tE;>6+fnd; zr;Y(O2f>FxHrSISq5W0&1~bRi@@vlNvs(jcl=PZmKTw5e*SOCA_1#@~JRR+^Qbfpi z7^}}c(?`22-Lluq8_gAST=6Fch(WM#HM<+(~(V zUSd2MY~pqX70==^e!0SM1w>tBd>i0C*Z9dL^9zeW@Ldnyh@nWgK7b=+a+ylg2B_J% zSqG+(7E<{Z05M9+H-wKAmOfwG=I8)q>#+u}2$n3beikL@obyzJ&W}$VWZ(wQ;RwcY z0x`VNZh93@9lL}0r%W+GVHO{#EaT!e$n@-m_xjKw zDaX0$_R{^(qE(%WuV!_%i?00Q!dAaTs`RVGCp{_|FfOF*)GU3(WzP*TYUkay*Na*m z^ZT(Fmy77gFgu`ok;<>sEuT_aBBfkR&_E9#v@XChltFWY2|e=0+` zT%R)fsF_p=fwUZWOue{p{LW`vcUn?Ko_;K{GX~E*_@e4j=t;bFO;C<7&jl()mfqNRDquW}(D+OCiLyi6K3HSVo3WxH878O*w%81Ya{8RUXH*<1YZz&R zA*`%!lC$T+W1R=GpH}_F7(UQfmksvBagI1f%Ld98Ynh47rzD7d!SFGmlZIIh!*bo* zpRJXKsN3Ww1E<9C#}(0o>rL3&)-2)et)W@BFsWOMNLO7SmOwFhS|$ryy<<{yZeCSCtgXUXe3syOzMD9)`TWhZNX~; zvG){?gF06yp9PtpNP00D->$0$C7bqjZBU+9J;wwWQ|n&5?b>+}Fy%SaM~)P5WRt>> zN}mo24wOwpJ@w4t9$24xYp({)8n|`_Qug(A2&j9TD^=Kcc5uox}5t<0G|; z^h62gn-jbW>`b66t;|O^+oh7nX-q0?6E!RG4W={eD2AD&G9TK26zd2_$)0aXM?*1I zD7U^kPV6UUu!10P^Fc#1gwIsAX9OxH9m0EupGyHz=42E8G`aJ$W3%u7?!N~x$ISiT z7|9hdOna-B=R|El`aqef7i?Is$JC@!N_-dac;Cx3-x=zef8u@_M3u8(lTaIh$~4(&a%aPkNU)!Z|V4_vI|+hz;o^=&hT|MVSkPH&8hP^sjVyJ%)i?!C+h!Mwf5omqn!CBweAKt zhi%MRV)*o)B#3^spdH{h%L+>-+-9ex#^f9|ugv&2<&(so$Ysn5yAM(w-OfiW(dYppen z%zTT;7iP`-ss3XZfB8WPE>{3If8HwtT}r6aa28vEOeYaNAAkFS!BzqekwwP$dT@$X_3?5!<*mK$iT3I>(Arxmm z0sM9sg+{s_4|4@7nVK0#?`8NdMiR`s)OBHr>H3;$JqHsm%vkzR(9|66C; z{31*oY!vJL%$7jT2Ai<`nAl=`b;MsejNOfvxXn@JbSgegt~jh=n%)$;`K&3Y+r0Vg zEB?*IoWnIE76h?^r>P<;&!k>%WFZ7=JSfidX=dRRtXf>xrSeX7dAK2!V7bjhQ-r7J z4M0xc)AN`-%56OLDHRw-TlaFNciM~KF%1oF$oSp$Nm@ac5w48GJ&#cR>6OHD0jZjS?|rA zR21x>XvAD-6nN5yotkNE3fvsjLbN4ROm`%CZ^1#Pbe&iw#NXVJ(g2654&OxD|0Ft| znWIziKXu0H@=N(7Ca)C?sua{GbR+f>=kEc&nd3*mSs%ZEqaf4>UY&<+AEJsiJ-jzJ z_FYqX3USFjCUnkiN#lw-#`Is9h`L1Ew1EQD+Z z2Na7Ew3WuXFLiHprFD$E-!jW-(FJt1FDae)Lpy(}neJr(kon>XA}yo0+5Iq%m6ZE( z&O7}@aVdCTUMHHKsWLQUT^J}?BEb#?58TN zhE=sUDoPs|q|NFGtXC6ZSlv!gHvB0l zm?biu8KYn0+e?B%FbJ`)YoTmP?;o5hL3>M-p_yIBnp5r;GOfhUbE^4lJ2X&QWSwQQn0{K zBnr1Q@b)A(0oBI{JQnHJT%G$U-3b-iWno3pfrYn<{W)`We|kWsNVF&0LX`@UP*|Da zNc~H-_ zJUWc=o+_xqe#?!0#41s4*2iSSB1qT)?&ko(%+=Sjdc5Z>?gDDlL*rbT+I^;)#ppgtK(Fj{!e`W)yGnB-u-)+K(%n;KxN}S z*s5H@zh405e*AQ$Q(WDe>LoY|))`y0;j{;Gc{)D+Y|uO;iGLN=lvY4^`MK1oS<6#$ zl%0x5u0u#Y2}{0n*_K278uc{B3OOvO*$2xI1t8oMPl4nPJ}2u_5Q7iWovONX3ZZ$& z66y{(gl6d86lqnQ0F(0|mWR|Z06re21cE4Eo!R35AF^RxE-Tjj!ws|us;4f(ZOqwP z`roL62Xb^EwUYegRKk>{m?SIV`aF)b$5<`1oO~7}Z@dX*xu$PQd6+rLYkAGALE3eu zQDGNX)=RR(_kNO8IW9}cpNgS5qofwSX+-vILU%dh!b47u)Qub8d*QRSLQ|Hl6=9v~ zJ?^B|=gfMr3%D3J8g<-j?o1fIsY0%=x#qE~>-wwZhR!$|!Yb~aZ8MX1pywC6=%E_3 zSlq+WMU$*2nWEtm*_9t^@cjPla>s>@fDHq3$;bNc;$HVPhW)3GN5r0R>U4mD>SbbR=8_c zbQFc2)LboS#WKLQN%r!ImrV>M%wfIx6FX4_TSZcR$ke9-=93m{9P~xrY6RWu`uE*^ zU(t5m5k|zb;VruMhE3-+L)+8L%rXFYQCMVZ)9)(smg!owNgd^*i;mSh(@d8H@lVJ) zVVnSi?%DzoHGCytxX3u|s3XCWjSqd-STd-D7{nXA&` zwwLYSRTcP2-u=Mc1EAMC8Q(XP=!&p)SlL1Q9t3ji1MCHuBZyu8#=1K))F`OmF!^Ea zhjSfd4<8361jKH)6q}kPU?^1!CjvmAaBHcwH`Aa~tY`VN>`38bMby&xSize--a;dU zLV}3%H6E>$6CP3~GedZY9@}pYpIo2!O(<-7SyLDwL&sXq9)^#O7wRxpRl%NMjqJA& z$f~+bF?c?_8{BT@@P#@~(l-xm?RcPx+VBy4I%;RIs4}Mt@=*ut3GkX|dKPl*Gz4=F zh?7^m0==+ek_8F{c=CwF!98P--56&ustG7JY4?p6gMFHGhGFfb05q@!RC*Whc#X<3 zVnW4_FgmhZ!-|`{k}Zi(N}oJE7*u%bsndc~jD7r3>V{}u9qn`erIS6|4azc*arf1= zpv}XHHCo$L^6_zgfg6&-alg5Gv=q6(vandu0i@c;8BJ@wXee$a40l(NR#^58fhuT^ z%IdD*18EC^bGiQJeMRV(vBk$R(txgvoUR<-x&b;pPiuvS$k}_=U_KBszP9(1!!AOgGuVj{|BaT<`6nAG zxL*k`!(!4ah!x7NHixtE#;`I~B}Ct_%O(w}TYV`3ykf_f4V`-{F;W`PTX8oZ=`N4t zv*FOyg^)hnN37iQ*VCSc+7D=D9D&fBHK`KefU0dC3hCvQsWrx)E`%Hb;KwNL2e}2i zvwa6d?>S?SpTF%HDH9F06zjFonh6}2*$gsj;sS0(a#?8j#PVMJjltQ;skE(%CH7;0 zrkDMG$xoPTXM06-I==3jRohq@dXgUu1+3OQuk(b**WFAq#roAkBBg6MJdiGSlPk%G z#(5`g?PlKdoEniY>mj0)*{Kyee}J6!rsM+1c^fPY?v(*2R~-0O7qX~Y^^zXQlJ?c) zpeETY9?L^t_}E5i?ImR!Kc2SG@P-G%LbqRO1D61dy?x)BV+C79>0vnPa9@d|8#euc z#tJ*gdwO36d4307-=N3gmhYG#9xd2Fyr12h;tU<{O_gYJo|b}OB7i6N+t|ad39;)p zHov*yr3>_Oay?G$`?{O(Ph>*w+Qf69J>Uxdy1kZYuYX@dpldjAD#1)tb%Iga4PZW2 z9@vfod}r~C2QxPRd&`F^4s6Euun4nK>s}7_)VexGQuAZAwS5nKK5O~ zfB2_9xzBW3I$7$c`@0=#I4}i%Kffud#I1ckMV%E?mC*^nYtTcyC8sc~K;pY@Z>8m@As)Sx^+qt$P5{q$|d1)OJpVhUw-tWCgzsQL#^W_GcRKR(bd$yJ z)L?Ki0XbW7>gE44EBr<0Um$-`YV}C!bfse=M)VVx_wgF!P&izQDv;#edk*uR6304; zZE0t&L>h-(lu&o>oT(g5IaL~vVB|ABoRz(C#yM6+YWZ5?C^C>Af?nm-dZ z8sIKk9j-n|Pc50|40)^Xui z)V~Q?)dff0%?Igpti}mXO1)0E$BK43l3?C$f1F+i=f=_B(wpiRDO-Pba)0ws0w#dz zerg(}Ql`e+;@|)NUqG2LaN*-w45vp+VE?S6|LzW}9e=|;&J$6I;-E?XzdqA{-_C!p z&fhEM@1Op=cK*M*v*f}+^o7=2zR|0tzI%_y+;_ev!CyRHd(Tp`wV#^DrNaC@YTx#k zO8e?Y=3Q6>uAQsW(fG*@Zy1o3k zJyo#kxq9ka5T3dJLr>DKnx5ZQfeHL!ll5Ex?HWYfq}JihzC{?1b(ljWzx_FgEOUv@ z3@|#}1apBo;5y~H+i}*L_;x>1P)lIXYQ&e2k-v+l1+<>iP?QAr#lP`?dR7z3)jk-4 z>oP7iQWm3lAa)cddEGhm&#kz68=M}q=6#f@wLGDj&b&1%oXOdQ)tVGxvG3 zp5Z*iou>qn>j)J^{dE&YPV0HXrhXZ*$&>_%AjyR%HYNJztvyo%-+g=7)};#O)ZSzn zG)uaUA6YmkfXcR^^Z#QfTiR>gV{pms9AC*G@IZ+0;$BCbH3ZPvJm4E_egdP9&ZH`l ze_jUpOCWJeE)0y9qY&R;QJ%x;_OQ1l9_mtjMU(gDoui0yPw$d{p8YjgHtlr^M@#G?Wd1*&%Y z2F~MWef5sR*ZCAE6^zh{u;g^eahp8-GQ0d*c`pqA`X5#X90w50IUItL^FOHQG;d5YK=;&;Q z?P8?aj_qO<_OhOe96Um*nrmgsV^mec|DJ3G=NkyM&ooSRPlYbvm9&iPRf+kc^H2cM z&gs|k2y8E=B5ZQi6J>h8b|uSduGQ>0g`bN0=h<~?;$Zze=`*t%dOYScBd0P$Avjf| z3xam_DSOBuqJ9zC-pLZtyx+gd%kcRr<*d#RbiezCrNLmEsq8UAmc`WZBczhGE3+?8 zhn%I->?@l04q{wm{`E=p7N_XbufA>t!E1rJ+8tn4ub2%O#z7?zC~^_MoZMm!F7 z!haC?Vq#)?!-VUb^Sd;;Z@T%viAevtj#ZxyfJAzt4rEV@DgH2{-)X;=p8Gs=$ivK? z3%go&XVovwHZ*XVtvxVrhJCeMV}W%n>A4zTiq zMmObzZ5qkcwB1MFQm(>TyKbk8e%2j}ze))b@r_-yK6FQHAMyW2-a-P6A220A-_g)`jFaYoV z=W*Z%yK>T9e&S!lMY5IVMO&CD4d*Fiq|A%OVpiwx`&}Z`zBG8RlbDw{>+F%^a-b(w ziRY@hx^=?p!njz^KHx7I;o0vzZ)JWEed}{FJG%m+frb5xuG)nuYZxp`HJ)pT;Kqww zM2>H?zAtE?t@yCmyXJ=O?fl%V+}(?bc6I(Z9UkUy6Hct#`t}{61Vt$0M5zhege*1J zoe+s2-Q25Bzd@;3f_II3b7lNjnc3~RbbjCzkTN7RD-@Nb5oHKOyJy_ltrvPspqY+n z4!rGO%rp8sq2K)8tM_p}CYaM^oZIU{M~J8}sYFP}*QwsK!znN9$wMvz1{0A49ojcr z1@yc~z-&^9yi)@8{e$$^*v$eUcMApoU!If>#Ri9Kcdb)(3PJv~pxVM7IYMiKI|iyg zmg)f&P|Lba=|~2MrP?9(+Uu@lc$@LvW3XdvDQN#+taUGd@l~niidg(@`^x#*jkV(TeWz$ z6>L8nw4LRYZ20TQBN*=|oHurxT7HvP_{G002Ej0I z)hUk|*d-QY6>|vt4UakRmIGl}r<9D(*lt~=GoHRwz^s9fvnN@w`TqOT)|shl&jPlA z%tzGF%gs{L@noxRL)JT9A%I~OD%^SG#@np-E^7zYT;!>vR$Qg25fG#7)ABPvj&L#I zR#M;!^L1GF==vIx{Wf;O|6$Pk^Sr=SWLxSZ=&DugVm~PI6EdEzN5{KaP6egzR}Pw2 zuXYNm0IMiQ(V3~@B^Fi*r_$;3)IO~WZ(J?sfDJ~&&nB;J>!nri(C1@lUL|U6XDGmy zY=NKAemK1BW!zVr<{kRuT$j0CUApvn;BwZbORoY%jtyL%nz}YMHO0VmJS2pPi#`3p z%}WF3z9LlL#C!AIK26m@u&60|!+lu>{J$g!a2cM%;;6ncWt^sG^DjTzMSGHrW$q=#eL177(E+8hpQY%B8CX9o^ zB2FOx}hsyR>H%5PSEIb8M=;=ol&piVXqef z1iXvQK#;uhmhOGjTJrcOE~nn`D)ah)7Z5f=iJK-X!wEK7J(vVOPv>})yO->N=V^$< zDZ^W+by-?c@cYODDNiZn#$>#V<@*!|Av6TDt6^JL6nJNbRPG>yt8r}Q$E;*QVRVA`5DPCuaTm9P>yLV-)1=FQ~#$!9YI6*^V z%>fz441_LvI+0tEj+1;>erRrv1;lDBtNeVmJJr!>*wDblc3Cwzc1GJ~Xh!z(5xEJw zQKPAwXFEFTl{($^Fv~HS>h0;McW>?l#~gE%BDgc(m!ZFWjCYddvV4ikX?|SQ+NcTP z@W!cAEKNps6IpQ=cXz*-3t4vc!8A|T*WG?(9$KflfRH++(|Tfshb~oZ=6O?Oy?s%@ zWp4WCr=i9ku}S1q184zx@F0AnCa3#9$w`~uH$qT z89k1$MNoR=sV%44b(-`fa27t;-H4m3*`d37|NWCNB}(8aq6S*B-2Td#S!Z_K zc8+F@b_#S&V%MZbye%1d?Y@FJCDWeAo7Z2~#F7-`oaI)v=ELcoC|=0?b@x_S6>mpIoo=#P)k<1Tn@$UV9gBSGvD-cHrxW6-I~hi5z{1H^04J z%`QQsDYJP!A|ttUbmI*1w#xbvQ(W57P;!x8k$VU26Zu83yVltf+dz_JB#f#Uge9Jde@zxd7RCWn+Qq`39I`i!w1u*@@}~NJqRe;0aHgND zG7T~$eKP^$ zK!%pXPY@w`;ukxDtuI{1y9~dh>hw|%a-OJBKIdCInJe=}OS~jd`NHSvGmQ|Mjj8(75KS+VkF6gCcj8FO&HFuam4A3AgoU2HLM`eU|%( zKIBw&%Qj&667TRa_>%eTMq zZU!EC@bVvznTS(qeOjNVR~iG`!jHtsynQwm;Vjt_<+bcQYcGyfEfhd>e4kjpqiO8D zNjKk$p2nrUhG~^d8W$-S$qKpQjs13ZOSM3A9#~9gGR#drO~Nl#0S(q9{sOMqjEhfc>^l3 z=19A%A={@g5i@ahd8PUHU!5|}*i`nJ_H8`+u=8ZOR8e1 zPC4FwYp(6}8kVnq$73Ps>cgmN;H`f82{!SF+ODeTh2^uyUiiOya+F(%`}4HtXDabK zl^59ZpEN=|*8uX1f2M7V{8qts0=E9slZK9p*oZQj(tBinanyy)N|WsxU5bZ+^#qp; zH-aaeWA)f{kk%8UI)-TW5kzqP<|Zk|{!TDmS_&!nnfU8EE~CZXD5)HGCx}1Oef@`= zdC0;j;9kD0*sF3fsRgSatVLXY%yb8Tv6sBF$XL|Jc>;pFU5=|s=!;M1F8GKN_^59v z?ndHlif)}#8XQSxuhLJs>z~$pc)Ut~f-gZv<(bSp6S2F3@uDQxAlWa~JRSHzPlB}( z=Udqkf5`#$rLaD4^2Y6mLv$bi@sO6JIz!B;?sGok=d8G%QaW1ehptpFB)>k>&ZNd- zD?xhye#%onvL#gTwuNlgo zSH8kvXL&4 zM!Gvx8l+J@v&taOn4_p4Rvj9s1PO( zZ2%wDOZap@*KcwBK6>RBtMt5I%8KMFs>26fBEMZ9w{AM@Mje)9KdZbRN;n=EB{sYu zEy7~Ld+(D~1l+krlNV$%R%}iSb}+M+_Z1vm-?|MY-x>bmG1)MFr(V!J6`V<7z-uC4gLGdaec)MOY2vZ)VYkTQ5%rXC z?lEv9lWU~AG@*#eJaEx?7RDnyC8(#}&*6I(7+PfqX>&5I4@*fb{`dI(035&a=DCpY zo5}@{^x;ru%LH??>pal`g7!omzo}<1fD2P zE(n@)@5Fq5^7b5x+5)ETBxE>kOtHRa7ZQ|{c;+fGwUGYYyLi1p{CNk0sGo?QVtB5? zsOeksSPZR*s$p}7HhstWR1Ax5#iin7A%|SUTfZHPgU18S2{rga!bHolt++^4shCW& zU{pniKI_@zWeP*0_>~@h>!-HSvzWiHmg8t3Xr#<+GT!6>F`REnm7~%tB3T`R8gFNE zn%xk-tLbnlb0td2>A%$58>zW&`;D;S&C&@zXN>IQ#^8lu;1W@)&en|A*sA zRS1}{6=TJaMjE1h=5+Wi-zTo?T$2#A1{KigbIs3t-{8i(nx0Xsc|IJy{7&Lc>G!!atoerSAxl=^Aq`0Ywt_YkuY%faKp!Ag(NqLU|D zVtHyWy|XKu{4R@0BXZyO5t4ysVTD|iF*M7j8c%&E-p_X!1En0L`PxszAf*(Asck4{ zFL&phB)_x-OR0F~-WQ4-fzp`Wv$UP#g!7qX>({2U?}<6U^JVJa15I4k*nUgk09)KXi5bN2I7W_Z}PaA!z22i#PBOl}bWf&xLB_6q)=8l6fDXKmlOG7(KO3$Bcb#NR+^u?)pLK5mD zP_b_(z7MyxFpi1l8=coiFnwN=OHOZ)U55H7t1hW?`&w`$i}6{!Bt_qPK^r^{+hKwj z*}(`U6z5OKMsiKTVj}g0A0u%;=r_VrU-~z5YD>At(A^47U)7IGyc^Qmk#G*@ZgJc5 zWC&VFdu4wQX^x9*JTK&1m+r;s^zKD}JDt;>z^=bI!qvOMHkAjFgxotBvc%3Eu zp2Q52&x2lvEG;iN$76abpjf~(kzA8Zud9wDU`~e5Y#WFdzMv<7n|v$a zw0}^yOagNz1`Z;KuMRp}n#VinE=-2Cit}SC*U&f!rIlDbg17M!uo>XkJz}*eFv5V| zly*QYzTw2?qz9;=;liDQH^f&AhcdrzR|k;dpIm^w;JoaZ`oC_XsL@~hKL`kj*Izio z9gJPrv;(aS+40--7+XVl_*ji&9fO-QMO`vPpGdTKu9X?}u`dY57*k5WD1|VT`!#r%c;G)u8}G0Kd*&JpRUogP z6hR7$9Iwprkc}&VOvrixu3vpMEU3zP&n;%?TG4wkePZFyS9e8MV*3&AdWW9I3me3ib7e~|aN(&y8 z?ez;MWv%x?t-ma>c?N$XeYY6@b2@i^X9AwDFZf6x@FhVvyN#Oz{4`FFyUes$A?*%hUqli$o5xowpS zPkwJu3dYxh-d?VVd!G!ls>F}}u3tbrXx@8t<+>Desv|OO!h9y?FP%;$iZ$njeum zu)TuJ_M78vQ;m|`J*0M_OE3x^1g zCCm~$`&`J9yV^VE7a-`FMpy#R`S}p5NL+{X?ckJcovP`=vz+yFw~}1`<9zE#)Fyw5BZo>;(z)B zlDq!E6y>=Y_ecpOza<1xAnaF~Jshe_XXIgtEXTU_TZ$Q6l`wB2Q?uv|C+oJ3q3R;k zgboO5cBDy}HtS6gTJ1ke_C=ebFa>7;qhTUbxwEV7+VvRTnff!!9s_-aT?f2=yu%5i zrm@=-^FbeTO-|CpY3IA5w)O0x*h>yk>DwEuh&(r;WYF@+li9%t9+rm_epBRS)-x0( zXP1@10h&~xaNQzQ6@g-;o5bOKZmG%oV3$l-p59<}vz`~L60oM57vnm6m{x$_&eN}! z#RinUQ#9=QaQ~u$UMG>nVs%YAo1w2dfL77M_Ht1OofYpP-JGV0Y9?NbW0BuX^Fmn| z7aYuJR-LC{b@MaO(fwCfZ&8i)Oj^ZRE^v>VqabW_@Obyk$B7bgC)P?STNw_B_D`GF zbODnCgc{H=U&hju&R~q7Q6CmPhh$AZGqQu2ai`r+rt!ZsKR8=uq>DIYm`L5zm2*pc z!klN0^!>@fQ}Fv5Cpt+Q@^~UetQ-UH`DPa@q9f~Cc<&a-t z#F0Xjhszf!ZXUeL^P2sQDmtnBV8H6o{>hkBtbQ-cEDNL70Uv4OmuhEW$HKr{B&61a zS;LC>3R-K>oGdNdGnUS!lTG>WTR#EZdb*I1fCp`$gc#Hlq4Hs2=5tSwL=wDk=l-G!IX6nn)BHH7DUQRIphblJ^`iE>`5$d& zUkeoC7jU22;UkwhPaV3J$giB1nwha6Y~L^t{cju@ewUlDDI|JXvw|fgMt$*+M1J*- zV20!hqa;tfwuAaFW>cQ&`LD{Fo13zhS`?z*Yw!Qq{5jU~I@SVF<{ULn$cJ;bB6Cf) z8Bpj{LA&ew>gwUQjr< zPt6qFr*E`Dh|6qr!#b2EDM*HM#Fsv_bHNFrGjjYtJWY``vic)qTE9Mqp3ed@#}vEc#uJ@s1BABB&@xW-|t*)fVO+-=G=gwx+ZiyKrYn+s=G2A{N7 z=0320EX@S6^0=mKdBzLubLn7*TL;ZUWrhu#`5Qcn+a6rhO7Aow1ZX0*yOiFqR3=d# zC$*hIVkBOcCw-@x9b0=3`JImW1@%F?X}>F&oi;p>;;(?!CGM4O--(IOV(`^OAzm@` zA+!i_Oq{ewn{a6{BE)aL%eg<~8-lM`6IyrHe%VP0n{LY%h#l{+wH*X7j=>~s^9i6w zysP??N{;z}`ut6!S%8!%zQ}4rn?AVQ71b^0|MGb*KpWkATvM?m7bPK}`s*xeyuuQs zOh?h(XWFogu^Hx%{lNtf8Tz>4pHT19BPfnKG{!<2l=0&BX9S{67#i!joo(p4xuAV1 z^BGyQ_w?)gOVZubu(9O?QL)k2kp*i?M%E*@!Gy7NWTT5jO)ucM#zHBCAh`{ojZ<2_ zaS}=1ooy*-H9q3{jFSB@-*Nl#Zk}dUX+y|q{;+ubivy8epF0?j>(tF^tla474f81l zcM>26{lj5FT0(WfeRZq@04?GK?QEEAnGA%y6Q+mD~99rf+zr!}`jn$*rAb>1C~JxkC%0YY<=(plC%z z#{}#M;Ytz--@{gJ(>e>`KkczfId+>j*}R1!lqu#zAX& z)fWzKpfky)$v!Nd6+Vmp@%A=WmGpIG<(!A0kN~hXZfT_5OyN_fXB75C^&Q}985^F9 z>9Qs4cN4cuziIg2Ug$-k>FlaJnV!@+Pv$m_J$oV~QbMNQNq*(BsH5_V`b|8^Yv(BR zs^{*-$+h|LEe8?nDp$xS%)_H1r#P{DA5$Ja+?!U9#~R$2POYhS8#8ezimEmfuwBq& z{o@qCVO=s`vUAINoEhSvz@7&#I@I)pq_1`oTPWgz5|j@YT~~{R8?)baK2GkecVW3Z>Q3Nr@cb_F2Rr^pQ;p!ciuh7fjlfBRJ zFNwGp%~GxKkzJzLZ=JvZ)9-ZjZ0WhqlGdBUI$l0Y3!=GlUss#4;*L+rngt}Hvnd(8 zmJ|=wp|g~iQvbzd#3cO1WU%gd=vtIWkAvoud7pAmcnx-{} zLkH>)j0uu1>9otq87V8?VFv6Id!47d?=AVkndmYM>Ku4DbOOx3gw0uK+U$qvD zJ5@+mA~(}t+0)%@Wz2W)(#B(uvNW+U+UMR4snxjZ!E+?N_akfm8>#?*Tk+}xqKr0n zw#5mQ`l82L_}!3?qr}dF!uy%h)eM3$&ke0L0svi8#{@3@E$TYy+=+n0ERO-%thAsz z`NwRC9bMzaaU#F1as?O4ve!$4qQ(8XzP?%LTZyglMGOelw5=t%Y{?KDkWj};C%U)R zXpry956t$++^iUn>8^(sa~RU4wEn#IQ4Pe2fzyWs)ItF8c%Y9U`T$dWFp=X$BLYDA zh-Y)$2WTDRNj!}A*G=vhcm6y_gewHAE?tNEs7!@!4@HHOUqz64%Ns({_q-jIN^-_i zFe~FFq$P%AN?|{Af{ipehNP8pOKpk}n*PN2{a>dMB8ydhWvY57Jm`1Eg*sh$$)KZ0U~N z0j__P*=V?bfnX`)rXLo?guQmldymG~8O|Z?ZidJSPdQXK-3($nSh95PB%^wRaM+qK z6n49jgao9eR8aWTKo5*zf}aDs9ga->??d~cF*%` zsy295b&9$$vWXPxrOHslHD7=d94o+p(Uc0Ywr$$#cB z^eoC=i#oM(I~cr3ju_hQaG4@+j^=`|_kM<`7At%ltd=ZOJW>|4)0*NGHGY`tTDd>) z9<#DGoqiG}< zdis^8xy^nF+pqUUaBL1IjNcPt;0EJLnVZiLa=68-v$*wtSdbTCA^e)m;;u-=SDDPV zX1{9bx0sNs>a1@inHQ4i@%bA}VScEt?kDaW%C$-f+@$fNbkxp?wj(-QFMKO%_q`pI zkF;Rt2TKvc78CmokR*}XJ z-U7JCx~HKvv=G+^GF2CEC`E^z6_17U8xNs!E=$y}fi#%OGYddK2%d{r>_62n(0O@r zGU3GS)VTII#hD-Xm}r?xOR@s(n7ncMoF+z_OOJRZRr#Y;V`X=6xI#S-YK(joXH}Jr z=4!r0;wCrDk_c{QI7p<)UN)NmmH16mDO2*a=tcs9e_9B$(_z+Cw$Fi}ma2qA7z1 zuQQ&-p3Bhb`0F9EU-}!UV2ZM_C4e#1BnHf927Ty3G_$UXBN? ziSj7#%{1uHjGZE-;_B8g#L)YidO-rvauxf^8E!CZaEi)_w6wMnR^fYvRTaL50@0oSICZnDRZTjR{DUvdZDL{UNl0y9bY;4 z;yV2UppgS6#Cv`Qy6*CAm78+}Z8!Ti8@#8CXtK_3wr;Ng@cJsr`Zsu(9vMd9vKkSR z;>I$F;T&Gw@+-nY2A_94BBLq~h32-=#?B!_4;lKS8z2FG9osW*7H+?Js^s0XHd?xtg$uLNMV?_76LYU__1rz3TfqydsqU`|qE71<& zf<^xKPgvIw^DLvL0JSW*WWI&2*6C*G@ES8j2^=DrM#pV?-gu(~UVj!9e zaCychuxSFrHQq4;@$jp~W8E=4fk3vm{1%T<>3~kut~RsW$;Rl2n9E$=Y z*2%Wps9V_ITQp-@Cy#v0a5Y&8vrMyYzU%}dV~fYQnR8FbVPXL5bTbwJFx^jRX9xmB zbOSEy7F#^ks%?ik*)$h#58wrA6x=9o!+O}H90Vv{*7`rMs|hB3mPBV&%Z^=w+!oFa zBzfYukp*%|H2F_vc)+(QQjri_yrl|45YQp*K-D!O$zw;cWu`M9xietC_;yh!!x`MOV=Bo<` zwt2RBj1m}O?OZCmvv}oQuQje+D0Km183ze5_Z(#iXD*@zzqoCV^fBlZGIb7I4XHa?&F7RM)J1n zTc7Lh^t&RBrf=zcw0OuE7-Ce!_X6{U(-H$lSd2UO0}6D_froC7v zBajusmBMH8O&$SrdIl>y=KNPZ1yFy~fBhWOI@d(eY^b+F=F2+rEAx3+gU0 zZvYPRE{zqE2%1}C{*rF77$=DXRM#@}tGFaMDU!)q7*;?Yfa94w!68?XX8VRmG&b-A z90Du9<#gqZGp3H;aiVe-pRN$U%QQV%7&K(%ainY=8}Rk`_dQ>S{Z^^#2!JtrC;j6R zbN}_7vW1+oHinbcuwoRSstp9Zd@GSigan2oGf;p!o&gTpBzEm$(M4kF{+V*)mLFWh zRj#Wc6eM=T>Ab~I`wIiHBF;%zkpmtX(U@}Rg(ihH(c;BL1?z^lwfVL5S}#h+Z3xR3 z`9#R^PIA1tnLOonAYv47;|ec)>c^dnSA5gzW^5_~IJINl*uQdH@B;5v!Yf-tYcaBD-&~I!sm}=#P)i{tuYCvp&!HX>FNor z0>a0Bv{7@MJ<)~J<9cm#6$FU{gk^ZkE^Kja&<3&%E;5R({if3eYaaJgZSo=X@y*5>qO;s< z_4#2I9{*Hf%^Ax&I^1Q`Bi@{Ph3aKd7DgkH%DF|{$K|mC)s_G?b&1;B68YMg05?PJ zz2|R^hsq~)JMMM=8?}(kqra<~agjAPBXJ~sO0O5aT?s15tu6Nu1v+rpi?~ z1``EM-|`d(v)|)^bWU;EI;IZl`1(xW z-BYBmN0KttWK-gNt#`U|s-P)W#cej&8`HH^^Lw?`YeX^F+l>gPChegCbdUb4UHvaA zAePe`o#6o+An-yT)&x!cK4_^;tj4v8@S$Xyudz9a6`a@3?+&}`(-%)z)Ur7^bU^tXFtu$}mlHshg|QRXbaV&J8I zMJ+aAKHCEW-1TQ0iOHJaf-}_k8&WF(`C;Bv8njl2Ir3XgdtCyG3C9j|;TqeSv-J|( zw<6x8SIGhAAwJoh(|zJQ(*~~AV>Y@j=hp;}8NiDgKugRhT zpfdSa{pzK4R|oOsf>5oO8l_%*pUY6|bUkXhOr>4khPZN-X15kI6dFy6o0VU}Qg7E| zuJb+!CxfQcC`RKmgpIyc8Bb(A(0dMwCeKtsHR8tC{&b3Nb7-r(o>_3pld^;`-i71j z|GY*ZZ@wLL!zgALy{f*^{p@!V!qp*80T6Q_rg$bu_+)D=mCbwEYw6Jx*sQ{|XidKQ ze9!%4fDY7H7xC%laycRT0Ib-@KC^UXOOYYqmbT$5P~or0qMF5yasQ!<$hP;&Ae|+H zW_?EU+{gB|e2b71RWdvz0p8&q*bG!g6=glEjOgWz^#_Yw$onyq4jy~sigy|-yX%1& zE1OvpjHO=fv7pKTI+4=s^qhNk>yB;MLp%ckXPk%BGR`!7g~@qZB{}<;68%TE`yAf* zZ*im=5S^>-#R`DfDj!fqW%5@NI4%5$VB!{``b`k*9)1pW(i=1;I;5Yk4$gR5&x+ym z!I4AQWO(g)#2_V3O?#YB#EE1o75)_PfDPp`$!AKAGzNGDqX3!m&tyB88jkNdUC=Hd z>s(}c`MJ& zQ^YC2{{hE^TC+!7!^!s4z@CsFM`nw==gA8vBi8!5uf$g>mP81A3LiuLr!39TP_b*it!MbB_O?@-?OM1qW1htbswbo01g}M1;Wzew~NK!cakJOj8t%5WNSEP z5ZPK58yw#gVqx*dL)PbnZ|7#MrLkGQyu5}P0wJN~`bCs;Y|nEc3CAz~F8c%_Y=>AS zRJ{Ew{Mg)G^v#bWJk-oZz5(ae=Eb0Z_1S{^mGgN5AIWX17ofd%$c0$>=@q9K=%<-j zh*HUzXuw!o>CiV}!k59G0?P-ti%5CED8MuYjH-Qm-=YGk^kVLrO%C^ixzji zQR-m#J(iZi0j+(3K`ffoa^8f@RdZWKG(21r#u%BNg6*~@U_j_quecEEpzHnH%@Z9bh7XF5yzRxv4s{%o0N;efc zMHwbl8#*8FT9?279pU_qTd(y+yM({;XH*+l*IhX5S!I@nlFfBc4GlN2rvFNDun%MRN#W) zn*lOTKPWw$W^rE8Rz1ygs}w*Npr38X>zUMg?BmEP@vR&-e@Jx}=F}b(lDQZ8SX@gn z>DdW+!p@NRn8bap+rnZ6{gjCEUZW^)_cD;)P7T@ad8MZQ4WhFI4N4`YhCsI1P5o=6n)Xx62^rv0 z`}Ji%RxR?QtDT>hYbie|nDNbfqm=v__l?hfC2F)~s&?r+M1B4{3;tK}ox(->jh{ad z*bnJSu>7eX{3$_ED;Y~CY;=Z-c;$%)D^cLoy-tZNEZ}U6<)wN95dXmSFzdn-B71EB zznL{w-Hds%GZ?6=?H8AeG$yV6L145E*CxFe{zl`q3R(iUNv~B%^TUd9!dYr(hfkPF zuHkX7mrKPccnnwd>Il`jL1xS`kDduk*M$UxLn})O)q>`3s$6Bz8yKCPo*V1;`&;W_7ZoOBRwn(46!73*r+aWc5t)DWDD*2usT_zGS(#1fRHDoK*_;J7 z?rjK_j|_f1bQaUzyoqDbVE1t3) zyZ0$glsezi%}fG#n%GDI_7hbs@rkquZf-I{fM z$1#kzIXu{j;s*W7BID34De{N;mfzuTm}MZ=?C|tNhxVZmZar@RHpIqo+)LTnOyA z92uIV#U-z*d~RF|cT275w0`#v|4-R5ju-y$8#qr)^_)<^Hbao)gTSL0Tr?-#q|r*R zdM>be{#6x8$XAU5KLtR1vZJ5+y$o?)}ceMpaY2e2(ncbkJfv7_bs)9ZG%>frJ8CatNXZsb;OCL)-^$! zUH{c-;TDpwq&V)O@=Yc(_}PwA@l<2oIpW|_SvGGRre@lDhA}3)^M!72w|^$7pgsm&KFo4(!X>q|sf#X1*&qAYIt-wQdLk}~EpToXs7>qa796ZVr;MVP zgSSWt6^k2q?w1>QlX4h&RbG7D6Ui#V%i+jqIy)82U3took5$S1% zJR-j9GW4#`Tk@?Y5ZXqci%m*C98Q=9ymWrOJuiOjkW0srbL6|4YEZk!;;goPiNaTb zHbAVi4t;rvHF971Bd<3dEV_)qeolJk9}{0I|6?mI#8rnDjMKp>BbB9ZFYzg!ss+8#H}$z5HsZ!Cv*#@al9-f_eMNt4W?_DeAlK6Z58@av zmo6Q+W?g%9N`VgoZH31y^~QUGNO2hzR~w8ECq#!wG^GTiV7FrwBOj_&(B5QxWM($1 zHzQ#<;CLrZh799K7VocnuuJwcSso8yy0L!((psjm>_@<I9@^V47E=$NkGs%+n@6T!;>(irpyluhU%;oiG+HG{tem5aiwgcqWdf-Z7Arag*QU^I0F=OEx2JnU8IwgSBcE+qp-S@(=eYop5&_fg`>CxQr% zJcaMrN^uk3F|`<~gn-xY zO`rO)GR}*es%mAG*hORBuu7~~{fyJ)*u;%Ki6?O!Ep}(InG_2Fz$Us7>@2R@1Ur7f z81XrR5k?;OWm8Gm1y@~M&*l{r5n1)I9;tvs9+6XpV)0d;>t5a9laX%RtPDW`BV&Jp z-=p^ngs{MSPCTMXs`)-!8Yy}I?mPZOeg|>1#dW2FY2E1R=K%eza|=3x<8^%rx8|7r zfkN7NFlxMCu5$g*T&!fv*y>QY^Z-0m;A6LGNb}b{U)FI+5w&;7?fCq~^UcOm!-0Jp z9VaOKn&=dC;Q|WxjPmC*gc5ofAzk5(wTII^j^e%II)r9q_u`O_sku5&82UpStki58 z>?U5T{r;9gd?hC5*Ag{8bU|`;us83x9SNrGWlI&Av7WXt9o|pJ{op$}^`~L@U!`13 z&|h~trsXFKd_DAN;G$bDdq{)qExGvZfff4iBsOEkY*YY@@C5MR!Nt*sSkN z$FoMq+pZ7HhIIk_{MA(;9x{dZ-FRbBlXaU)+|$onpCo%`6LRX^W*z;PO>?umyq26# zK4Nyub$SS_sPz#hcB1o94|>q8?F@*P)<@cXsl+54^RN#jUHc_KE5$B0yzce28eY3} zkOP4PG^ix8H%K}UuB6&CjE#!q1;Iv5Ta~d7`@TFC=}Kz{#f%1B<8okez`rBYLAPa# zkIQt(Ya#Cu{O5w^at4TX_R*n8vsB>!!E1Czmc8nvB<&h&vH+|ol$?nAL~^wXej*hm z#_GqbN+f|M6$;Y%#?-!z&34xpT#KBs!Ea%4)1@$1Byrj}Oo?7j-Ne$ICLs5=9bEDA zrWBB%F4Bi2E)OAIg z8RGLhE9XcTYRkLKd!MvMp%eR_h%>!x{#;e|xxr)9A%l+(-f4eZKY-)0Wh2DeexG?v zdUzAl&WeFtx*osrn9ZWgn?+0Rw8dVp1M^*1vZKr) z_w?&6>h6$MVXpq|50$@y$gUg^k9)2VUv*7X58!;Inb^$m3Uvs0gUan}lTSgjO~adv zlqJH@OnE*1S_%&tc-}+qv-;}(p;c?XOc*HXe94F}2oQ3U%6{)xo6&B?s(s-wV%ln? z=D7Mtt2C%`eH7khPd8oj(rd%(4wUs+s{634)galrwSaQ`eQ z?}xbv&`*L;n}w~WwZVt8KUZb)v~XvuOO<&MJ~td6L0WjXIzj^Np;T+l_IO>3I)@X9n@>0MQn5P};jX*PJDQ_!=j zX2ps58kgj(7+~q-I&Y%eDL)ly%=dS>_!J7J&*P+;5<#ybmg2X5%>iKFRVA2p9ecja zW!U_20WhA&`9oLiRr#Ob`q^ z)SY024L9;JEnRu7_p4myc(Gj`Y$*6IlV4#I(6R$D7qNO(7K6_O70hm+>G#bhOgmzS zX-1|8N%M}tSnf&0Jua1AT}Fe6Q||tngeB+(_3wDR%qH^`xJdh(ftD8rw4x1903p7K ziMn{rM0-`e^b^99s~-nPnCo>RC{H|!IJP0}*v!uFUPXkNu#eImDq%qPeT=zMkJ+9R zyOP~*7^ahJf=P~yGHgP(XQJe~p=O#VPdu7gs!|bXK#W5`kho?Q@E_u+)nv*N^p$V9 z0RqWNL6}1oCynOFIwhPI43->*QFo1lEq|uu(H8;HE-NDoG~|cC=&M-#j$3YpnU)Dm z59DroRJ7?yzoOY#5_7!cnBN@wa7zf@>(f{6SV1}+4BtP*dTOme@aU5G`!dV)XI21} zGbH_s;1lT8auC;An@Nc|2Mr~8h0 zukm_fr1WW@qbUR|zBr{-0ak_(vLx6jQ?70);<`slc=XbE$zzS2kuM4``oqEKEkY3< z7ZqW{40&OI`?i5D8&3Q54zu&OFUcBcn09-|DiUyS6fl|op<6Pg)$+90lRuyrjrBbA zUC;Sgj9VZMGBCO&?6UMvw~00ZNxPl$jcg39FW}f&ZSzP z{5sn|-gaOdGR>7xM{T9fl6FoF?A+d_wVQ*>5Rz?QaIWje>4?|y9In!j9J{V5;@P2l zy>C8E7cXot75DTJvE;>ye(DcnSpz=|)?wj{2&fH|T=gP={7f|VC?X@#Bip7rT5cyl z_uNOBTs@%9Rl7FO-_nm6_(vB*|92O2@#SqU9bf|ck#SRd`|;2a>EnLK9;MR49Reb1}R9h&<^~O11)^*Oz0MJIH|97XxD` zVCp5a6RIKe#r4@?Q5o{P1hMgXNx&VFq(+~Ewm3IksME)`S1}GLcEHvzx42JlK7*!1 zm;$G-pbH<5379YUed+#|1Jf19Rhmq#vma=AA7X59NCmd?xmwDo^zW!`hS%CWc(f?uD zF52YYLBOudTsbO;EHbFd(Bj-C*^ZrEH5Fp1RCk!j%d#5Dcrz2h?W^56*o2?-_RW0< z564*}KrO^Z6enJ60y)+;{yrqXpeVlTHZ}-EK5yV#bG5mLag^h5o|@;v)QXo16A21G zSBE54KAfd=PXC})m6m5TL?2$PaBkHP1Q%I#6%4!UoLDL311KZ_&X&0DoLJw%mh zv(^>g0{C!r4(&4mqo3gcKyCQ8C+lM;V!rha&7DEXsNGfWobC_KDVq_`E3rlxYuw>X z@*9;t`nf!#U&<5L#B6ZO84Mi>`nDVksM!N+P0LlD&8dJ(#a{8bywjs&`Vf@aRbV3j z$ikxOL=akjcp|Zk3cA!{#&d^g0Y?`)02j8rUhtyboh@gfnktCza6*jS5=j;QH zE;?wV@7&lf5Xm)7>E7m~(Vk%R_;(QlPf^Zd!DvQertkU7uDq^y(LNOBn^T{Bgg!R4 z;oUFcs@&~XMFI7~NrN$B<5!mUP!eacZkyRJmGrjG5xEpD`1hEuXpU=f3aNMDK+W? zFhh~oXF*S?)U8QU1~b7GfbXs_mvq++l<{0&6Hp~K^Vlp;CBWHuTG zhXwJAHo>_c+W1s27p-@k@R73>rpak_d&1vZ8=C(R^7|>t*X5;>`nNA7O{T)Iu}aEV zL=vz|f|k)kHWr)QnwNas-z#iKA1sw0=akbG0tPtBiltQ`Zx$8__(2U#%^{Hz{ZzGy=l!R?=gBuQkLVQZxGT5N_|e@mKv*R6%IYK zwiP@!*Lgi3P@qCJ##MSLPq2HS%WE=S=YQl|AF@6<^bkvy@u?vcyGDnmS%j3T`C~Gn zGTNit72}2s$yB-E@tEj~o_38(evN!-{Q?M~A~bB1uhc>8({UQUW#ZuJdwy)oQ{d$9 zf@ApC`9ss&!Ql6aLxa?Ufgu}!{JZ%gUi=eHGK+^;P0VM0oV3?jj71&mjN>lbV_u&N zZO7WzCj>s=l8zck>!04~=wVX(v>oq~i{t6YECOvHo% zSvj^yd8;u`sT+_N_Pb=*FR{mpmZfL^QCc`mjS9%-0{fFLU^X0P9;#`8XZfxjUY z$!|mMY{aU=fZ^qcVZFk3dG;TN=IShM)n+Ac>b}%-gODTW&1rxU1aomnIa}E9j@O+{ zFvJn*dZ<#v@{rl^cj@^%TRNRxF`u(oF2e@l?aFu{R`H#>ZW-q@-50@~I<;0*ZQVIO zGeeUlVZ+G+yIwy+BE%D;jhpXMZLLDT5Ps!0HW*_BcARe&F?#pI-=TSw=r)!r9RRoB zp3W0`WTkJI=&7owqp%CD$imI%1f-KN%g{k%|D*Odc*LG;q7JSK_TBqxZ;X3BbH zmk|(p_<(>&8I4>&;R44VmJzEFUDLf8lJMA0Ss)PWMWCr#M#9#C(J}AMLqzWA=L~bnw~Eo<&<=BO2aCO6tqQFA6MD{q8p9t+8RPr1mI@T zf}Ku{3h#Fcs$cRm*Cw`ZZ(x;UM@(T2@d(LMibyS%l?P9FE_1Jh->}dHve}Lpat^57 z*Z{$KEDDOr7m`DXY}{4Z0SjC_r5Ke#lGYHRE3~};O!MFwiMWDBoLSjZ3a(@zXP+gQ z2z&NXU9s*XWmhkyKwg3J&z0}L$=D^QzjSiAb|XkaY9^kEv!v`>p|5o_f63%!!|0-T zH#C>au;@C+ozvP>A=QQ_`1mb_V3rF-<$H7;WO~DaEMF$C3E=4}Sbt^4i0h5BC@hV2 z^n9>as?+m!$7uFF#>TwPoPUdF0%t0J3cGj%&=NiW;_}>aNV!3q9;fsnhrM2q3~%U# zf&3-U0A^g~k?1eOS}hfJ|9q-cQDw*J5^Zh6@`l4{nQU6I+KN2o*u_T^+?wN_pnf@e z0Q!(9F~js!F=ZDLbI!Id0DOB2QA2bJ#R+WtQ$Dvq^)X)Q!V|*RqTk4?$dv#*8s$b&ggZt&}YfWHfZv$ z4>_`mUK?sFV_?qpKMl{UJSnn{zhYpCcw^H$r|>?=tj1(1f>LlfPXAz)trc8FBV7ZP z_w}Gouhbbe?=JE&o)sYLu;^XaX z(EIHCLKuww{tdCWqKZjp5Rc0@*=VJZ%5o|lalOE%f}Bl#n3OT(^d*Y6XNmacyrWRI z^~et!RX^qm6ihLpXe^lYXyPS7hutADRgr`xLOAXC$s%eT6fYDKL=r2P-~AA41*>KY z7l1@a*oUt!e)oQ3TX(>3;On?8m(6`Uv4OQYE3BF^xBR6k^AnmEsvCxmaBU<<$Hz`z zxle$UEKT%skx>l|{w?17yb_g7g3R(^|4~kOJf96vNT7xDf?q0UE$)E4&0G3X8UzUV z82mn7PrZ^&>~cDx5)8=lI>A*a4~V&;sUUXupHi(vc3Od{>beQb!&_B~Q}=@F`vmas z35W16RO)sG>xh3ny{lD`rE5ME({9n8=qxIcU|v%M^#trb&Vfx_A3^Cs38DEWRyQ4N z^K{7Az^Jc#>egRxRtD8Wsp}!(2xJDp33XY45AwqU^f1 z1q(z4MBqjg6bWfXLCK*z1f)x(TRMjk6={%ekOt|F0frEe9=buLbBGyYhGE_dy^H62 zUjKpb<=}@onCrOqX4PJ6?X}Kj=k}CSg^Z^WZ3IQ9O{KidE$8^_NEH_U#Zm8?sv}_3 zsq@Flo6IWalur)Btle;$AI$OY-NEmYA-{P5R2xSC)yb@|Hp3uJQbGR-n!jH06Ny8B z1s}l79DAf#e{s|M1^9?5mIC&3NtaA6eQCKvwi`*eK0p1$v<;xs-brp6N zW{&@A0it2X`&lpBVgAl}A3(^c7#Z3lOpP^*0-0(a_%SteVav4pa2Q&cRd)|i?!X$< z`To1bTa$kd0N^C}22wiLxJzBVmWw#wIP-lznc0D?DG>ics}O+o%ZBl)1oQ&9bQaP` z1fzN-H&3p!PQ2`;CCzW6d&;~Y`d4A;H<-yEL1EI6AQ#J{8hOGlrXs!5ZwK?%SGP0usF;qgGq z!U#5d`g+ZBynTmDn>M>=?xJY|=J_K3uK@MjX#tdS8V)a*fk)<_9Q3c?AUvfB0JP1L zfZE>B(^_Iuv)5qp(p1@91PcxxB;KL_XDHHOGboxDj z{{G2tK|ix8jqR8B{xJuCpS}P3K*tNP@h1BI5sAsc@1OJn&T9bIZ|v~pSyB3@4(1oe zi!eRV`IIUOp{GsX`2CY_I05gF8Hu??+jIXPV*Eqhzw6BW7k&~bY(Xq)=J!u-OPuyY zc^k~Xb3a45zf#73|1mu2CxODf{L4K5{^NiB&aPdyFz<;6N z--NvDBdz$eVN6;`d_wTIPvZTbQ2t)j{=XK=j9fTmv5Oq&d+<+sW-rR2U;h9I*NDfS zhuq<>qL+=5R>_uUwiwEecH8;kn=eG)OuMvTFeY;DOnTwTnAHRZji1DFJ1Xs+g-PSs|V zYEFMw;Z*fvi0%Y~PK>;W9(FLRyUcrtVn(vr%bi~2ty%JZmF*nEGUo{gC%uRMZew`& z&u*Nv2FgG1)bRgD2hcm-zdC@TH0PD-ToEbL>X0U*vTvt{aoi)LuJvLVhfE|RDu=K8 z@Gd;V)gYeNDpV%`3)-NNFSrnyt(eLTMqh&~+~#*^+Jq`%EiZu^!BeAyxgrfOIa=!g z^F;iyDVUdNc=&+%YgAJlSR_$Jgz127a>>L^*oom!&UuPqFz>+?Ww z_G{1LXTCLLBtE5NIo%0%JYUI_1nvPPokY1IetLvtWWeBwA$(XZ4K_e;N)q-CreDpf5+))}KlT$33E# z*u8mUFE4IV`}Qk*70pv$GZPZ!yqwJMx-dFdy|9oM>3|uvafiaEDmH)#j+pU!ll&L? zT2pyR%OPV7dXpMiayi%E2E@I*0pv?oN;wF{uj5xzS4Pa?fGKu;^?G-UD{M#M#bt)% z>2O+#H2;1a=M^j}p~{&t{nh8Wf&wirS%9BepKb*;(;J9F5)}m(moqvZATOVfb3WsP zytzO_{VPcU1IBeV$EG|ok_@0`D*B>gi+2~@iW03bAHd!kKiHayhL)^p{5a`Ne7d++ znGXzo#B-M^?Fql{XJAwETpAykJr?oEsAD}iD~M8hf2_=x?dCVCD_Fd@M%*|2#V-Jt z$pI6?%&LbQT6l{;E>Ikjh656Gp>4Zz$AAp|y(~vXVeHFkIeF(t@0rT{n(dj&gTb5V z2FLGO|4Hs``d{Uy`RYXx%h8-u02YH)8Z8|RHhOHjJ+6)=!Q4aAg1mLTHM|{yVjtKB z+EXjy1CcL)bzBhjo{+4ouQ0JiSC2Ghi5cnVN6{T2yg(0NPx@_UzZb=|(h}pi(`a{Y z0p%RoA|sfZ&rxjq-tR>+;IxJhCP>bBksq6kfa3&mlMKDwo5*yuyBI0n&lHhk1iDiZ zcXa^Qj-qzhIS49q-!siq$&$_VFb4X07;_YpM_DQL-R_mnqKBFRynB{d@tnn!$!zKH z>G-QVIUHSgYj$=Fl)mouGeuF}VA{{u{u7#uL8I?>nOpPp!}TWcAYmonc^{8RCb^{{ z4=%d*C)>K5J$>cC`6*mO2-MBs#&8^Y2m7=UY!){H$U0oFe)K0nw>mbwei!iR3IM@0 zQe^fJFGakeI#s1;vn8^mWwTn<%<1L$;ZEufbgg!e@B@SH9lOkeoO?4CqRO*{haBwEhtqCra?uYk%5(bL|ljOx@tLy&c*1 zcSFoCf1v67|JxShOfuvDhbqCEry3zWt43keEpE#TGYd)>V(Ct%|tdT;65`!ZQ^ z;puDCFzy`Wes8^drbd|Uu0z5T+hzObK%xYk>|&#B5$=8Xb)d`!b6u|pNSl0~Wm3F@ znRuZ6u<1+*t=rGBxlndPW0_q)`=Wv>iS16pFi!Kz(!o|L4L%x} z&SWbgZLPT&42(<6R2xEbxi$~JzC17Jc4)Q=FAUofh0!F_J4zmS-#?G%IOVdH z*NsF>XaTo|IS1z(m|iCe;#6loREO1Z=S%1PkVq=n4kdhXRdR*6AN7zzs6a&uLQ7yg zQ?IO-GdJGss-7l!9=rvdW?6EW7~3O~scyBx{B;P>17o3!Fsk;lySxeAj}epd9-uoa z!7Do*#YFW9jLv1^tKS>R$ zHB{_eIPEJ~vT1KT(~Rf-Xino?r2^2-H`li$L?~{74^#${%+{f378uvuTiy#_-=P$R zCZ7Vb*UkbsS|*J*dcsYWsP6Bi*4pWLEv|9rX+ukg3YFhsq*+)Meb~!H#jPhYQ&dOC z`mQoWaA2*Yi|Gb49CbQ(v?+3~;?vDTg;`FTq1tTDT!Jol_eGJFWNTvIuCbSJ9l|0Q zE3Kz$b(HGa5<$I1G;58}yR#x?c`s{HI#aHeAXwp^Ww6KnR^Mw*y@djQT(#@0y$bp2 ztrMpi?n3AXwbvKPuf7yje*QWjosRA;K7NF_L+JfyZ;U@YkiJ2s?4XWEDlQ^I&+LDf zZta%32r0Sz!B+b8Tmxz(&Es=o3LJb%a!UXub+F2(mec2+OJh2VUc*MjlX--!EPH$r z7~|HqkyGz#dIF zrylPO^(*v+1T6-HH{-yi;AufU-9x(ghaTn&6_VSoE3;D^!s0AO*Na$Od{@%LXf29K zkHMF&$0~s^8uIJGVV1-^ubvz5Vv$31(fRrYW)wMZ=L`cWY8P@(6jvag>renpY=Fo) zoGAXCN2Qf)tH%LG?Y7uCe3CckfRq&;f$%x}TH$kPpj1Na-g1Ae<;drF(5zy=S{iPS zk#sJQoHbLw!6Pll*hGm3*+JT9;1L^D+?t0mlgcWkWwULF`TQRQKaogDj8ZSq8o|mp=IW zn*H2%RP_AA7-?#O=dy9hSL?XF=d*iBeRQddy-jLs>`{(fqL8wAUZQl(b`M(HgLgFR zkFDqGcxB(11C1$c20LX6;st~O%p`AwFZmezdWX!~3^YP3*9P)uUX;BjH&7cNBRHaR zq`XC40tlku7-C@MVx73}iE#(!3tODaCe?9)!s?)6*PMsk!uPSpT4l+w#M?*HCHgk^ zDNHvAb|prKqZC!Lo!WocWvccx$Jk7nyquh`Qio($o9}+Q3EkzgnkzqTTG&~$+E3bY zi{oeaHy*uWaC5Am1zlw^@I?|%%ZJPl`C?G@Lru`6zxNTiGK5u3GB~=|RKu5oJZfa< zpS1@J^2gOk^xNo zOi2B*8|dWcG>O%86FU^_`izg4*oF;FMu!QN)p?AV6vM|xO~w1HTE4S#_Kz=Ce>=+J zveMu7Y)dj@iWiWcm>RCZC`qm;QFHfg5e#@X9yBEoXG@JM@A6c(i8kzMJQy!)>>JwRUl7@WjF%-(4W= z^fG$fBD5-1Jo`Tvu4T57dY2y#7E591tNA!=+9h{4Ar zq1dgM-f++YYyxJ`b)4~PAqCk~Z93>bedFn@wd?uQ0SL=@cVeA{^VM{#e+&?6`5 zj=_cgVGgKS^*ztv5+>P5lZ2-%JNh@TJ@$BrB6JzpKq zs1_XcjoHb#BsG)I1vk@!t=ddUwhbDQ4-{94F%-i_L&=unk@&X+Q=_FIWsai7$uAS4mKC-5^J|2IuhK?20M2wnI$hq(;b+vyRWV$;HTy(Fkr{46&*7;SCZ`RbM8WcUhtK&iRf_xCzOpwHwAf!*&pAx*dj9+st!eM zP@k*i)|W(p>GiR>a9UFV%B%uHi5$f%>6<8;VQM|W!S%5`hCPalAT!FIB)XhrkIyMF z!zUIzH-ud9no{I@uhf%LbdQJi}k)L1$_c+fKcRYE(r2NP$P~vJot2VrcZPBIufhnONJQ4rxw?# zKEX}<&4iIfUZaBrA~efKeh6;-;<+j2$k>OXu%!U_^c6m-Yy}!>trz{q4|FyWd~r`q z<8Iciv}7dM%~Xk9$_%MOo%G!@SV7F@DNG-eB|QF?cHdFMm03Wj0M-D@xRi$fk1YZC z`i$`>Tg8+L<|5&=)ZF^%Uz`U^Lnn6$ovZ|FoT6nsow-2|wwbI+djZY2tT*Li z0DrC=9f(W?-xhaYDu}FUhm%SA8`!0$u!szv~ocCaMz72n>Z?B*gxcY1Vubeb>xJ*8lD#IyP8j-=qm%EtEt1D}=HBxGYt>sld!*Mea~X9_ zT;Wf~R!S-d-DEFMji)!m9?4rV{7C;s*(YDEkG0fVx?o~ptTtzd!YNj)6n!X`uPA36 z9a+efg)qoi^^hEX!`bMDba~>U(%f|XB>xLV;Uzo3;D9gJ?3&C3*$0nwymZ* zFyoVoTyskt9fyh_=lc`!R2c+6e;TMKNgD9|AJ5LuGj%68Q@0sdYu9g>xSO`?LLZAs zZ0+lvUl&x6^<0WK^S9&Y9`x!6j7MlI$^vdkaB1^S` z>!8_ON)5b?Lk@9PZX5x{92IQtwmye49vW;q))Tzcv}TBm7&*&^7v=4OT>CrUv}PQ4uHz9%)2AC? zE2OUX>Xv}o{4M%a#MnzMM~JOESYlXNSyW8b`J9w08)r)cq{&Fpt)T}){UEuFr8^t! zLX!;{Q4Lv9H4hf7is}aGiMDJCZHC)BCNSnI0~~_qX%gTs?guz(&w4_t1^69{6#Ns^ zQhVN?>=!1;j7+iK85uFSy6x-TpwwV6qxQ(tvP9=wZeMl_VVV0qBokWR1E)oZHCz_| zDX&hpdEf|&l~;cH(I}HjB{l!y2Guemm9n27i9Zoy5#B{Rcl4m2u<_pM&lT z#mi5Fy)WMaX-dgP*Uzd=xIV?Dvy>k`&-2n+9es2d4>$&^WRd~eN^PulD`^L)!cJaN z9oadjcLKxPc+9#h>Eo(iAO7}aPtCD|&pA<$C}hO~=}Cr0`3(OsJb5dzTVEQa+z)}} zc3{8Zg~=2q_$c&LxmI^$o!6%rDJePFD2;bJ@*yF}9LCNG2sXb^bOq#LXxQ4WFjyjU zmt)JzHOOnXGe@O-|GbOOkIj&E>zh^~+Lb2D80bQ0z&DDTMz9@r>i9sOMD83dxRA008`+Ec8tZ@ zAl{u0@jRZ5dehG#CrK2LgE#9LMD%q*!oG)MINqB(Ed4fV27-OuR2HTe({Q>2^#t0$ z88I`x4I?vLu4nwCXzmF~wR5RVn?>c~0GBtCq&D;QJ*tC+q0w^vj1^VB>Pj93%dt!w z%>GrE(uwO6^?)nKNL36)+D3Z0ZnaQam+9!eI0%{~%0elHj5`BY$<~TjV5$5?+hIC% zLKt3hbY<~YnfrXN!tU|l;_d{j@pWuaJ%)%NT=x2(!Nji<(Fgvg%}h69Ms~<)=Rd8t z*waZ*Inq8huCJn7T8uUD4lhJlM@~2{cjxD;OZC~#Zhz2yeR8y$9Kgq_SCv#q`{YyV z6OV@^*!$PYd7sgULb%lViU9;?4FL0|!1H*=DQ)rdx~#TCc{b?&RPU?quLDNGAu8=f zeoXC3QKj>Y<8^+C+~F*)vo=$9+OSdaE0RoAJxi%?hDg3rUWgz?lgp>`Fs?}yryz^y z>5$9qZvA~pOq}&KEs|IBOVGme>ig=tH%mFcSkg_)sAhLU5e=O2?%mL3e{k_oiLb(O zJ}Ti!#dP7*pskqKCLMixgJv(km8a^6!ct#6V_i?7X}CPO@U>GCna?g~{iIrGEXK8} zyU9>w>s?R8&XS8bER@>xx+w#aKj^-}3Ne4mzDE87g(NpAcaC%C$V_F#MPBG`hE5f1 z%ERv6Z>#>|VYSXfCE!(1IFt*C71tKTj!c1a+6b|0(Zwl8JAq4=;J5L-72mjRzR(50 zHaHb-tSFROAF+nl7IwNpT?iV*>V&h2O!$gZQXg}xuIIXqDT%KfU~v0Wh68Q>u?ArF zS2|hC(8OeX^4?IqD}P0XKbiT_^G~ywJxzfgnbH%StrU1<8a3^ygv!{m2Qqwv%cXc# z-p$imJk9IMAwOOOCq9&E7a$c^MhCnK(j}$Ws)tVMaoOvVNc@rGIsJM59um`O4|Uz7 zzcX1G;>p=}BB`{b&NXY?KD47#Vat?n;Hd|ccQW1j4l`Njj}UTCpVnXG5oEVz^3`U^ zip#8T@HmK0qJL5aI5NUQ^dAf0sgYkY8#@knq}vlm+!{-!vcRnCl-_;3X5Gk~6#wIV zSH)GU`@Y;=kfkJF^@d`Yyps-Wsq6K z4o79H`9ihin+^(vlFuzQG2-vN=UQ@Yy0g_YLmT$fDPuZ=Yl&=}al(faH!A^VM=)f!Y86~2$3mCtkg0`-#3}Q(KIOPY@C5(5!T0WOf!w3g$N%$)c6OzCjBO|aDrFqMFd0^e-aFv<=RPA8JMZ=)ke zd>^fP_nc1#kT6Da0;9|rm68oPa|haQId4#slhSTJ9hRK21W&$skq95ElzEa4oV<-S zc@%ss+I-Zsu1bm}PRo_E38Y2vG0T*t^f-L0c*=Aq;&82xV&;2# z8ztJgx*4uKZw-!?U9_G(hiUe-m$3(@;et310+)Wk(_KW2J`jJ5R1%t4XDD+RxfO3z z@CNBQ-n{UsCd+9X^IY-$iH3SHd9TK&tYj_gT}qRRK7%iHz@V1Z;VNHsfMh?jKYz-H zF5Me=7@XFFWw8og{B+@X3RR=ly`-{yg4v)r3KKff{1E1$>w-9Wt~BvO=RklT{Nd{D zB-8coX@_$1km80VO8|n0)?`n|Zpx8E22sVH2%Hy~#v{qDnEac%@cQd_o(Qw372IXQ zeK&SD057DlIY^=J9DALWuq*K)11m61s-eoX@QEGO z;U%k^UN`{5Mm)euLgMHe^-~??89h4`Yj>7;c(8N>kd-N!x4`v-aIr5M@6S`&vFk{h z_PdSFq=OMLgR1(Pw;v7!_7o(f^X&kka+GkHC`{XcXI zy5}M3PM;K}omy5JH@v0%o(zbzLUZ2bt91c=T=x&YPxY8*T}ieq{voSA%2cGV0kxY^ zg_=4K7`N3qzRU?INjdJ3XO*oJs%1c~qkvEYz|e9Tm&<=PUFUAJj%mbAAxs8-P-dj? z19HQ;vgA)Qr(T*g?Rk*w&`y=p&6MiRp_<(r^X@VPu3B{{ALcB6Dn8M0M1kF_LeG}q zoYxhw@_9n@0P~Z}u?yPk$9HJawUU+mStjKlJmThmFrAEC^u1n~IPm~O3qfn?8$f5b z=wDOr`Fdj^u%glmhm>OlngXlB{678z-HA%feXT}^XlpO4{LRn%Vs)*p7<*&A5W+-ZyWYbJ$ zLu|PjnD%>eL>$m@XGKOagClLaiOwD+{D2kOi-*IEcW%_8Xsf#n6zC>ESZ2P!hZD>w z;2Qas$b!@a0I)b*p!Rs8TO73~c$lGh`v~4(Wkw~)=#K>S6UU?Msz7T?MY=eT8mV(5 zG>GN!l;LyT4A-L6F~DwFRv~D6X`6}`UaWBHG?oDw#C{j6iTe1=eUC4CEsbVONUMwr zV34pZdN|j+l-4OcT?BhM{c|KK8in5(x_s#%wN}ZJ(_)rQ%o@(a$)Uqx`E;Sn4`J6| z>AqUj$$#MlM)I1@wjeh?a(RegvGJXxczW$TN_jvlqlp`ToD<04Og`;#o16>#s$S~( zy@%PMi#cZ{PugPp`PA3F+~;!@hRFT~=~nscKN#jwiRy(aGQjP>QNDxf${cRfHR4rz zGk9QzR)Y)`!|a@K2S`@U9eg_|UJbQUFJ_U`*R}xB0B+=Ec^5@v2Bewk44J6_QAhn% zsz>SoREH_3eF{~INW>0)HVU+|-P1Pr4icAx7Bv|6&lbsfj$eyS$4NTB9^yQEK)T-pL6L?+e$F#W`t(clfEqF$wGa!(TU ztE3ud0=5FOY900zh7Iks`beX7Vcc$)2%1@`dXT%cvO!s!<43qI@t6 zjcu|^oG67#QTh~bB0V(p^Itq+<& z+C1KD7cX}+#=wb&r^rC(^9vSQl&AmP2cxt3VgS4xNPn#0wp)o8{b;>E<`*|k9^$83 zN+cV%d6OSGV-A5rP~)*8J%{}XGwL0*c{uOUDiu<|eCuEeJJ;n)NfCSqU0z7=fXqQ4 z!az3YW%ZO5E@|r(9Q5`eu8oMimE#%CtNi>APF^amDV{Fb3>8$^VTlBL!eio zE8Fx!J9l|q&b*+$`augXfiRH6M&)Wes%yHqEG2>Y0JU6d2s?0#pOZO$eEDk7`40h0 z&w1DT&D!mpu3Dl4@ zvRc3Wg!ul&V70hV5g>E;FSjA|&aXs!er0c!&6IV-WQ#9RkT!gUHag%~ByUK$jgWj$ z?HD^q-zMm`{V9q~YtRjEPindpQ|DlEh6Ddf-k-ylBKv7eV2XH^auW@n)ghDUDR)RD zEY93HWDCHYG)60dPK-Cm8_Sik06a6L0*Tz&ZT)M9fLk~(2i$JaUcvIUJt>3qrwH-@ zKI@>`ccJifqVoxG4eSyTIg2e^TS4-%po)?=||-lYdkF%!+sf?-_nN zZZ6jcXwPJ`{<+^fU1Rs-&#VZIBIv`}bjg{w`IP*M68i3;&t4Ip*`_ef4dE53mHyV% z4)~cb&Ju)-PYyUHV)a zZ5oI;hgR%&``7%rq~S6N_IFGo26%oSx%?ezWd57|69D1`EV*$z9rPO}E!_Lbae*Z7 ztJi+Bf5V?k`X!4Y{m#DbWzj9O%7?^zY>Cjc^L-;k*pasH5@l zkIPl5NLcm)FaVHhyzup1WQUI!`ER(F^zg!N0~}JI@k}u;z9~fXjJZ0a0ZoK5O&6?Uf|Uv=&(|=0m8>*HOjw{vuF2y%0}u(ve?AmY4Dp0-IwWtJ2<1=J5qBY_ahmTp9KFq%hQpmB5MndW URC?om4)~FgP!ul`efjo(0OBx!F#rGn literal 0 HcmV?d00001 diff --git a/info.plist b/info.plist index 0050ddb..d56b49a 100644 --- a/info.plist +++ b/info.plist @@ -4,6 +4,8 @@ bundleid com.danielecook.gist + category + Productivity connections 0130C1F6-996D-4BFB-BE66-21AF8CAD5F8B @@ -458,29 +460,6 @@ version 1 - - config - - concurrently - - escaping - 116 - script - python set_info.py "{query}" - scriptargtype - 1 - scriptfile - create_gist.py - type - 8 - - type - alfred.workflow.action.script - uid - B01D954F-A0F3-4786-968C-DA8FA0D2119A - version - 2 - config @@ -519,6 +498,29 @@ version 1 + + config + + concurrently + + escaping + 116 + script + python set_info.py "{query}" + scriptargtype + 1 + scriptfile + create_gist.py + type + 8 + + type + alfred.workflow.action.script + uid + B01D954F-A0F3-4786-968C-DA8FA0D2119A + version + 2 + config @@ -681,7 +683,7 @@ escaping 116 keyword - gist + gg queuedelaycustom 3 queuedelayimmediatelyinitially @@ -736,36 +738,36 @@ config - inputstring - {query} - matchcasesensitive - matchmode 1 matchstring - __new_gist + (@@@gist@@@)[\s\S]* + replacestring + type - alfred.workflow.utility.filter + alfred.workflow.utility.replace uid - 5A004B74-68D2-4928-81E5-91426478F4ED + EDC85484-8D6A-4179-B251-20B622C19852 version 1 config + inputstring + {query} + matchcasesensitive + matchmode 1 matchstring - (@@@gist@@@)[\s\S]* - replacestring - + __new_gist type - alfred.workflow.utility.replace + alfred.workflow.utility.filter uid - EDC85484-8D6A-4179-B251-20B622C19852 + 5A004B74-68D2-4928-81E5-91426478F4ED version 1 @@ -950,7 +952,7 @@ escaping 102 keyword - gist_set + gg_set queuedelaycustom 3 queuedelayimmediatelyinitially diff --git a/requests/__init__.py b/requests/__init__.py new file mode 100644 index 0000000..bc168ee --- /dev/null +++ b/requests/__init__.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- + +# __ +# /__) _ _ _ _ _/ _ +# / ( (- (/ (/ (- _) / _) +# / + +""" +Requests HTTP Library +~~~~~~~~~~~~~~~~~~~~~ + +Requests is an HTTP library, written in Python, for human beings. Basic GET +usage: + + >>> import requests + >>> r = requests.get('https://www.python.org') + >>> r.status_code + 200 + >>> 'Python is a programming language' in r.content + True + +... or POST: + + >>> payload = dict(key1='value1', key2='value2') + >>> r = requests.post('https://httpbin.org/post', data=payload) + >>> print(r.text) + { + ... + "form": { + "key2": "value2", + "key1": "value1" + }, + ... + } + +The other HTTP methods are supported - see `requests.api`. Full documentation +is at . + +:copyright: (c) 2017 by Kenneth Reitz. +:license: Apache 2.0, see LICENSE for more details. +""" + +import urllib3 +import chardet +import warnings +from .exceptions import RequestsDependencyWarning + + +def check_compatibility(urllib3_version, chardet_version): + urllib3_version = urllib3_version.split('.') + assert urllib3_version != ['dev'] # Verify urllib3 isn't installed from git. + + # Sometimes, urllib3 only reports its version as 16.1. + if len(urllib3_version) == 2: + urllib3_version.append('0') + + # Check urllib3 for compatibility. + major, minor, patch = urllib3_version # noqa: F811 + major, minor, patch = int(major), int(minor), int(patch) + # urllib3 >= 1.21.1, <= 1.24 + assert major == 1 + assert minor >= 21 + assert minor <= 24 + + # Check chardet for compatibility. + major, minor, patch = chardet_version.split('.')[:3] + major, minor, patch = int(major), int(minor), int(patch) + # chardet >= 3.0.2, < 3.1.0 + assert major == 3 + assert minor < 1 + assert patch >= 2 + + +def _check_cryptography(cryptography_version): + # cryptography < 1.3.4 + try: + cryptography_version = list(map(int, cryptography_version.split('.'))) + except ValueError: + return + + if cryptography_version < [1, 3, 4]: + warning = 'Old version of cryptography ({}) may cause slowdown.'.format(cryptography_version) + warnings.warn(warning, RequestsDependencyWarning) + +# Check imported dependencies for compatibility. +try: + check_compatibility(urllib3.__version__, chardet.__version__) +except (AssertionError, ValueError): + warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported " + "version!".format(urllib3.__version__, chardet.__version__), + RequestsDependencyWarning) + +# Attempt to enable urllib3's SNI support, if possible +try: + from urllib3.contrib import pyopenssl + pyopenssl.inject_into_urllib3() + + # Check cryptography version + from cryptography import __version__ as cryptography_version + _check_cryptography(cryptography_version) +except ImportError: + pass + +# urllib3's DependencyWarnings should be silenced. +from urllib3.exceptions import DependencyWarning +warnings.simplefilter('ignore', DependencyWarning) + +from .__version__ import __title__, __description__, __url__, __version__ +from .__version__ import __build__, __author__, __author_email__, __license__ +from .__version__ import __copyright__, __cake__ + +from . import utils +from . import packages +from .models import Request, Response, PreparedRequest +from .api import request, get, head, post, patch, put, delete, options +from .sessions import session, Session +from .status_codes import codes +from .exceptions import ( + RequestException, Timeout, URLRequired, + TooManyRedirects, HTTPError, ConnectionError, + FileModeWarning, ConnectTimeout, ReadTimeout +) + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +logging.getLogger(__name__).addHandler(NullHandler()) + +# FileModeWarnings go off per the default. +warnings.simplefilter('default', FileModeWarning, append=True) diff --git a/requests/__version__.py b/requests/__version__.py new file mode 100644 index 0000000..f5b5d03 --- /dev/null +++ b/requests/__version__.py @@ -0,0 +1,14 @@ +# .-. .-. .-. . . .-. .-. .-. .-. +# |( |- |.| | | |- `-. | `-. +# ' ' `-' `-`.`-' `-' `-' ' `-' + +__title__ = 'requests' +__description__ = 'Python HTTP for Humans.' +__url__ = 'http://python-requests.org' +__version__ = '2.21.0' +__build__ = 0x022100 +__author__ = 'Kenneth Reitz' +__author_email__ = 'me@kennethreitz.org' +__license__ = 'Apache 2.0' +__copyright__ = 'Copyright 2018 Kenneth Reitz' +__cake__ = u'\u2728 \U0001f370 \u2728' diff --git a/requests/_internal_utils.py b/requests/_internal_utils.py new file mode 100644 index 0000000..759d9a5 --- /dev/null +++ b/requests/_internal_utils.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +requests._internal_utils +~~~~~~~~~~~~~~ + +Provides utility functions that are consumed internally by Requests +which depend on extremely few external helpers (such as compat) +""" + +from .compat import is_py2, builtin_str, str + + +def to_native_string(string, encoding='ascii'): + """Given a string object, regardless of type, returns a representation of + that string in the native string type, encoding and decoding where + necessary. This assumes ASCII unless told otherwise. + """ + if isinstance(string, builtin_str): + out = string + else: + if is_py2: + out = string.encode(encoding) + else: + out = string.decode(encoding) + + return out + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False diff --git a/requests/adapters.py b/requests/adapters.py new file mode 100644 index 0000000..fa4d9b3 --- /dev/null +++ b/requests/adapters.py @@ -0,0 +1,533 @@ +# -*- coding: utf-8 -*- + +""" +requests.adapters +~~~~~~~~~~~~~~~~~ + +This module contains the transport adapters that Requests uses to define +and maintain connections. +""" + +import os.path +import socket + +from urllib3.poolmanager import PoolManager, proxy_from_url +from urllib3.response import HTTPResponse +from urllib3.util import parse_url +from urllib3.util import Timeout as TimeoutSauce +from urllib3.util.retry import Retry +from urllib3.exceptions import ClosedPoolError +from urllib3.exceptions import ConnectTimeoutError +from urllib3.exceptions import HTTPError as _HTTPError +from urllib3.exceptions import MaxRetryError +from urllib3.exceptions import NewConnectionError +from urllib3.exceptions import ProxyError as _ProxyError +from urllib3.exceptions import ProtocolError +from urllib3.exceptions import ReadTimeoutError +from urllib3.exceptions import SSLError as _SSLError +from urllib3.exceptions import ResponseError +from urllib3.exceptions import LocationValueError + +from .models import Response +from .compat import urlparse, basestring +from .utils import (DEFAULT_CA_BUNDLE_PATH, extract_zipped_paths, + get_encoding_from_headers, prepend_scheme_if_needed, + get_auth_from_url, urldefragauth, select_proxy) +from .structures import CaseInsensitiveDict +from .cookies import extract_cookies_to_jar +from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, + ProxyError, RetryError, InvalidSchema, InvalidProxyURL, + InvalidURL) +from .auth import _basic_auth_str + +try: + from urllib3.contrib.socks import SOCKSProxyManager +except ImportError: + def SOCKSProxyManager(*args, **kwargs): + raise InvalidSchema("Missing dependencies for SOCKS support.") + +DEFAULT_POOLBLOCK = False +DEFAULT_POOLSIZE = 10 +DEFAULT_RETRIES = 0 +DEFAULT_POOL_TIMEOUT = None + + +class BaseAdapter(object): + """The Base Transport Adapter""" + + def __init__(self): + super(BaseAdapter, self).__init__() + + def send(self, request, stream=False, timeout=None, verify=True, + cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest ` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) ` tuple. + :type timeout: float or tuple + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + """ + raise NotImplementedError + + def close(self): + """Cleans up adapter specific items.""" + raise NotImplementedError + + +class HTTPAdapter(BaseAdapter): + """The built-in HTTP Adapter for urllib3. + + Provides a general-case interface for Requests sessions to contact HTTP and + HTTPS urls by implementing the Transport Adapter interface. This class will + usually be created by the :class:`Session ` class under the + covers. + + :param pool_connections: The number of urllib3 connection pools to cache. + :param pool_maxsize: The maximum number of connections to save in the pool. + :param max_retries: The maximum number of retries each connection + should attempt. Note, this applies only to failed DNS lookups, socket + connections and connection timeouts, never to requests where data has + made it to the server. By default, Requests does not retry failed + connections. If you need granular control over the conditions under + which we retry a request, import urllib3's ``Retry`` class and pass + that instead. + :param pool_block: Whether the connection pool should block for connections. + + Usage:: + + >>> import requests + >>> s = requests.Session() + >>> a = requests.adapters.HTTPAdapter(max_retries=3) + >>> s.mount('http://', a) + """ + __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', + '_pool_block'] + + def __init__(self, pool_connections=DEFAULT_POOLSIZE, + pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, + pool_block=DEFAULT_POOLBLOCK): + if max_retries == DEFAULT_RETRIES: + self.max_retries = Retry(0, read=False) + else: + self.max_retries = Retry.from_int(max_retries) + self.config = {} + self.proxy_manager = {} + + super(HTTPAdapter, self).__init__() + + self._pool_connections = pool_connections + self._pool_maxsize = pool_maxsize + self._pool_block = pool_block + + self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) + + def __getstate__(self): + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + # Can't handle by adding 'proxy_manager' to self.__attrs__ because + # self.poolmanager uses a lambda function, which isn't pickleable. + self.proxy_manager = {} + self.config = {} + + for attr, value in state.items(): + setattr(self, attr, value) + + self.init_poolmanager(self._pool_connections, self._pool_maxsize, + block=self._pool_block) + + def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): + """Initializes a urllib3 PoolManager. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter `. + + :param connections: The number of urllib3 connection pools to cache. + :param maxsize: The maximum number of connections to save in the pool. + :param block: Block when no free connections are available. + :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. + """ + # save these values for pickling + self._pool_connections = connections + self._pool_maxsize = maxsize + self._pool_block = block + + self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, + block=block, strict=True, **pool_kwargs) + + def proxy_manager_for(self, proxy, **proxy_kwargs): + """Return urllib3 ProxyManager for the given proxy. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter `. + + :param proxy: The proxy to return a urllib3 ProxyManager for. + :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. + :returns: ProxyManager + :rtype: urllib3.ProxyManager + """ + if proxy in self.proxy_manager: + manager = self.proxy_manager[proxy] + elif proxy.lower().startswith('socks'): + username, password = get_auth_from_url(proxy) + manager = self.proxy_manager[proxy] = SOCKSProxyManager( + proxy, + username=username, + password=password, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs + ) + else: + proxy_headers = self.proxy_headers(proxy) + manager = self.proxy_manager[proxy] = proxy_from_url( + proxy, + proxy_headers=proxy_headers, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs) + + return manager + + def cert_verify(self, conn, url, verify, cert): + """Verify a SSL certificate. This method should not be called from user + code, and is only exposed for use when subclassing the + :class:`HTTPAdapter `. + + :param conn: The urllib3 connection object associated with the cert. + :param url: The requested URL. + :param verify: Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: The SSL certificate to verify. + """ + if url.lower().startswith('https') and verify: + + cert_loc = None + + # Allow self-specified cert location. + if verify is not True: + cert_loc = verify + + if not cert_loc: + cert_loc = extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH) + + if not cert_loc or not os.path.exists(cert_loc): + raise IOError("Could not find a suitable TLS CA certificate bundle, " + "invalid path: {}".format(cert_loc)) + + conn.cert_reqs = 'CERT_REQUIRED' + + if not os.path.isdir(cert_loc): + conn.ca_certs = cert_loc + else: + conn.ca_cert_dir = cert_loc + else: + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + conn.ca_cert_dir = None + + if cert: + if not isinstance(cert, basestring): + conn.cert_file = cert[0] + conn.key_file = cert[1] + else: + conn.cert_file = cert + conn.key_file = None + if conn.cert_file and not os.path.exists(conn.cert_file): + raise IOError("Could not find the TLS certificate file, " + "invalid path: {}".format(conn.cert_file)) + if conn.key_file and not os.path.exists(conn.key_file): + raise IOError("Could not find the TLS key file, " + "invalid path: {}".format(conn.key_file)) + + def build_response(self, req, resp): + """Builds a :class:`Response ` object from a urllib3 + response. This should not be called from user code, and is only exposed + for use when subclassing the + :class:`HTTPAdapter ` + + :param req: The :class:`PreparedRequest ` used to generate the response. + :param resp: The urllib3 response object. + :rtype: requests.Response + """ + response = Response() + + # Fallback to None if there's no status_code, for whatever reason. + response.status_code = getattr(resp, 'status', None) + + # Make headers case-insensitive. + response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) + + # Set encoding. + response.encoding = get_encoding_from_headers(response.headers) + response.raw = resp + response.reason = response.raw.reason + + if isinstance(req.url, bytes): + response.url = req.url.decode('utf-8') + else: + response.url = req.url + + # Add new cookies from the server. + extract_cookies_to_jar(response.cookies, req, resp) + + # Give the Response some context. + response.request = req + response.connection = self + + return response + + def get_connection(self, url, proxies=None): + """Returns a urllib3 connection for the given URL. This should not be + called from user code, and is only exposed for use when subclassing the + :class:`HTTPAdapter `. + + :param url: The URL to connect to. + :param proxies: (optional) A Requests-style dictionary of proxies used on this request. + :rtype: urllib3.ConnectionPool + """ + proxy = select_proxy(url, proxies) + + if proxy: + proxy = prepend_scheme_if_needed(proxy, 'http') + proxy_url = parse_url(proxy) + if not proxy_url.host: + raise InvalidProxyURL("Please check proxy URL. It is malformed" + " and could be missing the host.") + proxy_manager = self.proxy_manager_for(proxy) + conn = proxy_manager.connection_from_url(url) + else: + # Only scheme should be lower case + parsed = urlparse(url) + url = parsed.geturl() + conn = self.poolmanager.connection_from_url(url) + + return conn + + def close(self): + """Disposes of any internal state. + + Currently, this closes the PoolManager and any active ProxyManager, + which closes any pooled connections. + """ + self.poolmanager.clear() + for proxy in self.proxy_manager.values(): + proxy.clear() + + def request_url(self, request, proxies): + """Obtain the url to use when making the final request. + + If the message is being sent through a HTTP proxy, the full URL has to + be used. Otherwise, we should only use the path portion of the URL. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter `. + + :param request: The :class:`PreparedRequest ` being sent. + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs. + :rtype: str + """ + proxy = select_proxy(request.url, proxies) + scheme = urlparse(request.url).scheme + + is_proxied_http_request = (proxy and scheme != 'https') + using_socks_proxy = False + if proxy: + proxy_scheme = urlparse(proxy).scheme.lower() + using_socks_proxy = proxy_scheme.startswith('socks') + + url = request.path_url + if is_proxied_http_request and not using_socks_proxy: + url = urldefragauth(request.url) + + return url + + def add_headers(self, request, **kwargs): + """Add any headers needed by the connection. As of v2.0 this does + nothing by default, but is left for overriding by users that subclass + the :class:`HTTPAdapter `. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter `. + + :param request: The :class:`PreparedRequest ` to add headers to. + :param kwargs: The keyword arguments from the call to send(). + """ + pass + + def proxy_headers(self, proxy): + """Returns a dictionary of the headers to add to any request sent + through a proxy. This works with urllib3 magic to ensure that they are + correctly sent to the proxy, rather than in a tunnelled request if + CONNECT is being used. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter `. + + :param proxy: The url of the proxy being used for this request. + :rtype: dict + """ + headers = {} + username, password = get_auth_from_url(proxy) + + if username: + headers['Proxy-Authorization'] = _basic_auth_str(username, + password) + + return headers + + def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest ` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) ` tuple. + :type timeout: float or tuple or urllib3 Timeout object + :param verify: (optional) Either a boolean, in which case it controls whether + we verify the server's TLS certificate, or a string, in which case it + must be a path to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + :rtype: requests.Response + """ + + try: + conn = self.get_connection(request.url, proxies) + except LocationValueError as e: + raise InvalidURL(e, request=request) + + self.cert_verify(conn, request.url, verify, cert) + url = self.request_url(request, proxies) + self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies) + + chunked = not (request.body is None or 'Content-Length' in request.headers) + + if isinstance(timeout, tuple): + try: + connect, read = timeout + timeout = TimeoutSauce(connect=connect, read=read) + except ValueError as e: + # this may raise a string formatting error. + err = ("Invalid timeout {}. Pass a (connect, read) " + "timeout tuple, or a single float to set " + "both timeouts to the same value".format(timeout)) + raise ValueError(err) + elif isinstance(timeout, TimeoutSauce): + pass + else: + timeout = TimeoutSauce(connect=timeout, read=timeout) + + try: + if not chunked: + resp = conn.urlopen( + method=request.method, + url=url, + body=request.body, + headers=request.headers, + redirect=False, + assert_same_host=False, + preload_content=False, + decode_content=False, + retries=self.max_retries, + timeout=timeout + ) + + # Send the request. + else: + if hasattr(conn, 'proxy_pool'): + conn = conn.proxy_pool + + low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT) + + try: + low_conn.putrequest(request.method, + url, + skip_accept_encoding=True) + + for header, value in request.headers.items(): + low_conn.putheader(header, value) + + low_conn.endheaders() + + for i in request.body: + low_conn.send(hex(len(i))[2:].encode('utf-8')) + low_conn.send(b'\r\n') + low_conn.send(i) + low_conn.send(b'\r\n') + low_conn.send(b'0\r\n\r\n') + + # Receive the response from the server + try: + # For Python 2.7, use buffering of HTTP responses + r = low_conn.getresponse(buffering=True) + except TypeError: + # For compatibility with Python 3.3+ + r = low_conn.getresponse() + + resp = HTTPResponse.from_httplib( + r, + pool=conn, + connection=low_conn, + preload_content=False, + decode_content=False + ) + except: + # If we hit any problems here, clean up the connection. + # Then, reraise so that we can handle the actual exception. + low_conn.close() + raise + + except (ProtocolError, socket.error) as err: + raise ConnectionError(err, request=request) + + except MaxRetryError as e: + if isinstance(e.reason, ConnectTimeoutError): + # TODO: Remove this in 3.0.0: see #2811 + if not isinstance(e.reason, NewConnectionError): + raise ConnectTimeout(e, request=request) + + if isinstance(e.reason, ResponseError): + raise RetryError(e, request=request) + + if isinstance(e.reason, _ProxyError): + raise ProxyError(e, request=request) + + if isinstance(e.reason, _SSLError): + # This branch is for urllib3 v1.22 and later. + raise SSLError(e, request=request) + + raise ConnectionError(e, request=request) + + except ClosedPoolError as e: + raise ConnectionError(e, request=request) + + except _ProxyError as e: + raise ProxyError(e) + + except (_SSLError, _HTTPError) as e: + if isinstance(e, _SSLError): + # This branch is for urllib3 versions earlier than v1.22 + raise SSLError(e, request=request) + elif isinstance(e, ReadTimeoutError): + raise ReadTimeout(e, request=request) + else: + raise + + return self.build_response(request, resp) diff --git a/requests/api.py b/requests/api.py new file mode 100644 index 0000000..abada96 --- /dev/null +++ b/requests/api.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- + +""" +requests.api +~~~~~~~~~~~~ + +This module implements the Requests API. + +:copyright: (c) 2012 by Kenneth Reitz. +:license: Apache2, see LICENSE for more details. +""" + +from . import sessions + + +def request(method, url, **kwargs): + """Constructs and sends a :class:`Request `. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`. + :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload. + ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')`` + or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string + defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers + to add for the file. + :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How many seconds to wait for the server to send data + before giving up, as a float, or a :ref:`(connect timeout, read + timeout) ` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param stream: (optional) if ``False``, the response content will be immediately downloaded. + :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. + :return: :class:`Response ` object + :rtype: requests.Response + + Usage:: + + >>> import requests + >>> req = requests.request('GET', 'https://httpbin.org/get') + + """ + + # By using the 'with' statement we are sure the session is closed, thus we + # avoid leaving sockets open which can trigger a ResourceWarning in some + # cases, and look like a memory leak in others. + with sessions.Session() as session: + return session.request(method=method, url=url, **kwargs) + + +def get(url, params=None, **kwargs): + r"""Sends a GET request. + + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('get', url, params=params, **kwargs) + + +def options(url, **kwargs): + r"""Sends an OPTIONS request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('options', url, **kwargs) + + +def head(url, **kwargs): + r"""Sends a HEAD request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return request('head', url, **kwargs) + + +def post(url, data=None, json=None, **kwargs): + r"""Sends a POST request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + return request('post', url, data=data, json=json, **kwargs) + + +def put(url, data=None, **kwargs): + r"""Sends a PUT request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + return request('put', url, data=data, **kwargs) + + +def patch(url, data=None, **kwargs): + r"""Sends a PATCH request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + return request('patch', url, data=data, **kwargs) + + +def delete(url, **kwargs): + r"""Sends a DELETE request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response ` object + :rtype: requests.Response + """ + + return request('delete', url, **kwargs) diff --git a/requests/auth.py b/requests/auth.py new file mode 100644 index 0000000..bdde51c --- /dev/null +++ b/requests/auth.py @@ -0,0 +1,305 @@ +# -*- coding: utf-8 -*- + +""" +requests.auth +~~~~~~~~~~~~~ + +This module contains the authentication handlers for Requests. +""" + +import os +import re +import time +import hashlib +import threading +import warnings + +from base64 import b64encode + +from .compat import urlparse, str, basestring +from .cookies import extract_cookies_to_jar +from ._internal_utils import to_native_string +from .utils import parse_dict_header + +CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' +CONTENT_TYPE_MULTI_PART = 'multipart/form-data' + + +def _basic_auth_str(username, password): + """Returns a Basic Auth string.""" + + # "I want us to put a big-ol' comment on top of it that + # says that this behaviour is dumb but we need to preserve + # it because people are relying on it." + # - Lukasa + # + # These are here solely to maintain backwards compatibility + # for things like ints. This will be removed in 3.0.0. + if not isinstance(username, basestring): + warnings.warn( + "Non-string usernames will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(username), + category=DeprecationWarning, + ) + username = str(username) + + if not isinstance(password, basestring): + warnings.warn( + "Non-string passwords will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(password), + category=DeprecationWarning, + ) + password = str(password) + # -- End Removal -- + + if isinstance(username, str): + username = username.encode('latin1') + + if isinstance(password, str): + password = password.encode('latin1') + + authstr = 'Basic ' + to_native_string( + b64encode(b':'.join((username, password))).strip() + ) + + return authstr + + +class AuthBase(object): + """Base class that all auth implementations derive from""" + + def __call__(self, r): + raise NotImplementedError('Auth hooks must be callable.') + + +class HTTPBasicAuth(AuthBase): + """Attaches HTTP Basic Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other + + def __call__(self, r): + r.headers['Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPProxyAuth(HTTPBasicAuth): + """Attaches HTTP Proxy Authentication to a given Request object.""" + + def __call__(self, r): + r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPDigestAuth(AuthBase): + """Attaches HTTP Digest Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + # Keep state in per-thread local storage + self._thread_local = threading.local() + + def init_per_thread_state(self): + # Ensure state is initialized just once per-thread + if not hasattr(self._thread_local, 'init'): + self._thread_local.init = True + self._thread_local.last_nonce = '' + self._thread_local.nonce_count = 0 + self._thread_local.chal = {} + self._thread_local.pos = None + self._thread_local.num_401_calls = None + + def build_digest_header(self, method, url): + """ + :rtype: str + """ + + realm = self._thread_local.chal['realm'] + nonce = self._thread_local.chal['nonce'] + qop = self._thread_local.chal.get('qop') + algorithm = self._thread_local.chal.get('algorithm') + opaque = self._thread_local.chal.get('opaque') + hash_utf8 = None + + if algorithm is None: + _algorithm = 'MD5' + else: + _algorithm = algorithm.upper() + # lambdas assume digest modules are imported at the top level + if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': + def md5_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.md5(x).hexdigest() + hash_utf8 = md5_utf8 + elif _algorithm == 'SHA': + def sha_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha1(x).hexdigest() + hash_utf8 = sha_utf8 + elif _algorithm == 'SHA-256': + def sha256_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha256(x).hexdigest() + hash_utf8 = sha256_utf8 + elif _algorithm == 'SHA-512': + def sha512_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha512(x).hexdigest() + hash_utf8 = sha512_utf8 + + KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) + + if hash_utf8 is None: + return None + + # XXX not implemented yet + entdig = None + p_parsed = urlparse(url) + #: path is request-uri defined in RFC 2616 which should not be empty + path = p_parsed.path or "/" + if p_parsed.query: + path += '?' + p_parsed.query + + A1 = '%s:%s:%s' % (self.username, realm, self.password) + A2 = '%s:%s' % (method, path) + + HA1 = hash_utf8(A1) + HA2 = hash_utf8(A2) + + if nonce == self._thread_local.last_nonce: + self._thread_local.nonce_count += 1 + else: + self._thread_local.nonce_count = 1 + ncvalue = '%08x' % self._thread_local.nonce_count + s = str(self._thread_local.nonce_count).encode('utf-8') + s += nonce.encode('utf-8') + s += time.ctime().encode('utf-8') + s += os.urandom(8) + + cnonce = (hashlib.sha1(s).hexdigest()[:16]) + if _algorithm == 'MD5-SESS': + HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) + + if not qop: + respdig = KD(HA1, "%s:%s" % (nonce, HA2)) + elif qop == 'auth' or 'auth' in qop.split(','): + noncebit = "%s:%s:%s:%s:%s" % ( + nonce, ncvalue, cnonce, 'auth', HA2 + ) + respdig = KD(HA1, noncebit) + else: + # XXX handle auth-int. + return None + + self._thread_local.last_nonce = nonce + + # XXX should the partial digests be encoded too? + base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ + 'response="%s"' % (self.username, realm, nonce, path, respdig) + if opaque: + base += ', opaque="%s"' % opaque + if algorithm: + base += ', algorithm="%s"' % algorithm + if entdig: + base += ', digest="%s"' % entdig + if qop: + base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) + + return 'Digest %s' % (base) + + def handle_redirect(self, r, **kwargs): + """Reset num_401_calls counter on redirects.""" + if r.is_redirect: + self._thread_local.num_401_calls = 1 + + def handle_401(self, r, **kwargs): + """ + Takes the given response and tries digest-auth, if needed. + + :rtype: requests.Response + """ + + # If response is not 4xx, do not auth + # See https://github.com/requests/requests/issues/3772 + if not 400 <= r.status_code < 500: + self._thread_local.num_401_calls = 1 + return r + + if self._thread_local.pos is not None: + # Rewind the file position indicator of the body to where + # it was to resend the request. + r.request.body.seek(self._thread_local.pos) + s_auth = r.headers.get('www-authenticate', '') + + if 'digest' in s_auth.lower() and self._thread_local.num_401_calls < 2: + + self._thread_local.num_401_calls += 1 + pat = re.compile(r'digest ', flags=re.IGNORECASE) + self._thread_local.chal = parse_dict_header(pat.sub('', s_auth, count=1)) + + # Consume content and release the original connection + # to allow our new request to reuse the same one. + r.content + r.close() + prep = r.request.copy() + extract_cookies_to_jar(prep._cookies, r.request, r.raw) + prep.prepare_cookies(prep._cookies) + + prep.headers['Authorization'] = self.build_digest_header( + prep.method, prep.url) + _r = r.connection.send(prep, **kwargs) + _r.history.append(r) + _r.request = prep + + return _r + + self._thread_local.num_401_calls = 1 + return r + + def __call__(self, r): + # Initialize per-thread state, if needed + self.init_per_thread_state() + # If we have a saved nonce, skip the 401 + if self._thread_local.last_nonce: + r.headers['Authorization'] = self.build_digest_header(r.method, r.url) + try: + self._thread_local.pos = r.body.tell() + except AttributeError: + # In the case of HTTPDigestAuth being reused and the body of + # the previous request was a file-like object, pos has the + # file position of the previous body. Ensure it's set to + # None. + self._thread_local.pos = None + r.register_hook('response', self.handle_401) + r.register_hook('response', self.handle_redirect) + self._thread_local.num_401_calls = 1 + + return r + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other diff --git a/requests/certs.py b/requests/certs.py new file mode 100644 index 0000000..d1a378d --- /dev/null +++ b/requests/certs.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +requests.certs +~~~~~~~~~~~~~~ + +This module returns the preferred default CA certificate bundle. There is +only one — the one from the certifi package. + +If you are packaging Requests, e.g., for a Linux distribution or a managed +environment, you can change the definition of where() to return a separately +packaged CA bundle. +""" +from certifi import where + +if __name__ == '__main__': + print(where()) diff --git a/requests/compat.py b/requests/compat.py new file mode 100644 index 0000000..c44b35e --- /dev/null +++ b/requests/compat.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +""" +requests.compat +~~~~~~~~~~~~~~~ + +This module handles import compatibility issues between Python 2 and +Python 3. +""" + +import chardet + +import sys + +# ------- +# Pythons +# ------- + +# Syntax sugar. +_ver = sys.version_info + +#: Python 2.x? +is_py2 = (_ver[0] == 2) + +#: Python 3.x? +is_py3 = (_ver[0] == 3) + +try: + import simplejson as json +except ImportError: + import json + +# --------- +# Specifics +# --------- + +if is_py2: + from urllib import ( + quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, + proxy_bypass, proxy_bypass_environment, getproxies_environment) + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag + from urllib2 import parse_http_list + import cookielib + from Cookie import Morsel + from StringIO import StringIO + from collections import Callable, Mapping, MutableMapping, OrderedDict + + + builtin_str = str + bytes = str + str = unicode + basestring = basestring + numeric_types = (int, long, float) + integer_types = (int, long) + +elif is_py3: + from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag + from urllib.request import parse_http_list, getproxies, proxy_bypass, proxy_bypass_environment, getproxies_environment + from http import cookiejar as cookielib + from http.cookies import Morsel + from io import StringIO + from collections import OrderedDict + from collections.abc import Callable, Mapping, MutableMapping + + builtin_str = str + str = str + bytes = bytes + basestring = (str, bytes) + numeric_types = (int, float) + integer_types = (int,) diff --git a/requests/cookies.py b/requests/cookies.py new file mode 100644 index 0000000..56fccd9 --- /dev/null +++ b/requests/cookies.py @@ -0,0 +1,549 @@ +# -*- coding: utf-8 -*- + +""" +requests.cookies +~~~~~~~~~~~~~~~~ + +Compatibility code to be able to use `cookielib.CookieJar` with requests. + +requests.utils imports from here, so be careful with imports. +""" + +import copy +import time +import calendar + +from ._internal_utils import to_native_string +from .compat import cookielib, urlparse, urlunparse, Morsel, MutableMapping + +try: + import threading +except ImportError: + import dummy_threading as threading + + +class MockRequest(object): + """Wraps a `requests.Request` to mimic a `urllib2.Request`. + + The code in `cookielib.CookieJar` expects this interface in order to correctly + manage cookie policies, i.e., determine whether a cookie can be set, given the + domains of the request and the cookie. + + The original request object is read-only. The client is responsible for collecting + the new headers via `get_new_headers()` and interpreting them appropriately. You + probably want `get_cookie_header`, defined below. + """ + + def __init__(self, request): + self._r = request + self._new_headers = {} + self.type = urlparse(self._r.url).scheme + + def get_type(self): + return self.type + + def get_host(self): + return urlparse(self._r.url).netloc + + def get_origin_req_host(self): + return self.get_host() + + def get_full_url(self): + # Only return the response's URL if the user hadn't set the Host + # header + if not self._r.headers.get('Host'): + return self._r.url + # If they did set it, retrieve it and reconstruct the expected domain + host = to_native_string(self._r.headers['Host'], encoding='utf-8') + parsed = urlparse(self._r.url) + # Reconstruct the URL as we expect it + return urlunparse([ + parsed.scheme, host, parsed.path, parsed.params, parsed.query, + parsed.fragment + ]) + + def is_unverifiable(self): + return True + + def has_header(self, name): + return name in self._r.headers or name in self._new_headers + + def get_header(self, name, default=None): + return self._r.headers.get(name, self._new_headers.get(name, default)) + + def add_header(self, key, val): + """cookielib has no legitimate use for this method; add it back if you find one.""" + raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") + + def add_unredirected_header(self, name, value): + self._new_headers[name] = value + + def get_new_headers(self): + return self._new_headers + + @property + def unverifiable(self): + return self.is_unverifiable() + + @property + def origin_req_host(self): + return self.get_origin_req_host() + + @property + def host(self): + return self.get_host() + + +class MockResponse(object): + """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. + + ...what? Basically, expose the parsed HTTP headers from the server response + the way `cookielib` expects to see them. + """ + + def __init__(self, headers): + """Make a MockResponse for `cookielib` to read. + + :param headers: a httplib.HTTPMessage or analogous carrying the headers + """ + self._headers = headers + + def info(self): + return self._headers + + def getheaders(self, name): + self._headers.getheaders(name) + + +def extract_cookies_to_jar(jar, request, response): + """Extract the cookies from the response into a CookieJar. + + :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) + :param request: our own requests.Request object + :param response: urllib3.HTTPResponse object + """ + if not (hasattr(response, '_original_response') and + response._original_response): + return + # the _original_response field is the wrapped httplib.HTTPResponse object, + req = MockRequest(request) + # pull out the HTTPMessage with the headers and put it in the mock: + res = MockResponse(response._original_response.msg) + jar.extract_cookies(res, req) + + +def get_cookie_header(jar, request): + """ + Produce an appropriate Cookie header string to be sent with `request`, or None. + + :rtype: str + """ + r = MockRequest(request) + jar.add_cookie_header(r) + return r.get_new_headers().get('Cookie') + + +def remove_cookie_by_name(cookiejar, name, domain=None, path=None): + """Unsets a cookie by name, by default over all domains and paths. + + Wraps CookieJar.clear(), is O(n). + """ + clearables = [] + for cookie in cookiejar: + if cookie.name != name: + continue + if domain is not None and domain != cookie.domain: + continue + if path is not None and path != cookie.path: + continue + clearables.append((cookie.domain, cookie.path, cookie.name)) + + for domain, path, name in clearables: + cookiejar.clear(domain, path, name) + + +class CookieConflictError(RuntimeError): + """There are two cookies that meet the criteria specified in the cookie jar. + Use .get and .set and include domain and path args in order to be more specific. + """ + + +class RequestsCookieJar(cookielib.CookieJar, MutableMapping): + """Compatibility class; is a cookielib.CookieJar, but exposes a dict + interface. + + This is the CookieJar we create by default for requests and sessions that + don't specify one, since some clients may expect response.cookies and + session.cookies to support dict operations. + + Requests does not use the dict interface internally; it's just for + compatibility with external client code. All requests code should work + out of the box with externally provided instances of ``CookieJar``, e.g. + ``LWPCookieJar`` and ``FileCookieJar``. + + Unlike a regular CookieJar, this class is pickleable. + + .. warning:: dictionary operations that are normally O(1) may be O(n). + """ + + def get(self, name, default=None, domain=None, path=None): + """Dict-like get() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + + .. warning:: operation is O(n), not O(1). + """ + try: + return self._find_no_duplicates(name, domain, path) + except KeyError: + return default + + def set(self, name, value, **kwargs): + """Dict-like set() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + """ + # support client code that unsets cookies by assignment of a None value: + if value is None: + remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) + return + + if isinstance(value, Morsel): + c = morsel_to_cookie(value) + else: + c = create_cookie(name, value, **kwargs) + self.set_cookie(c) + return c + + def iterkeys(self): + """Dict-like iterkeys() that returns an iterator of names of cookies + from the jar. + + .. seealso:: itervalues() and iteritems(). + """ + for cookie in iter(self): + yield cookie.name + + def keys(self): + """Dict-like keys() that returns a list of names of cookies from the + jar. + + .. seealso:: values() and items(). + """ + return list(self.iterkeys()) + + def itervalues(self): + """Dict-like itervalues() that returns an iterator of values of cookies + from the jar. + + .. seealso:: iterkeys() and iteritems(). + """ + for cookie in iter(self): + yield cookie.value + + def values(self): + """Dict-like values() that returns a list of values of cookies from the + jar. + + .. seealso:: keys() and items(). + """ + return list(self.itervalues()) + + def iteritems(self): + """Dict-like iteritems() that returns an iterator of name-value tuples + from the jar. + + .. seealso:: iterkeys() and itervalues(). + """ + for cookie in iter(self): + yield cookie.name, cookie.value + + def items(self): + """Dict-like items() that returns a list of name-value tuples from the + jar. Allows client-code to call ``dict(RequestsCookieJar)`` and get a + vanilla python dict of key value pairs. + + .. seealso:: keys() and values(). + """ + return list(self.iteritems()) + + def list_domains(self): + """Utility method to list all the domains in the jar.""" + domains = [] + for cookie in iter(self): + if cookie.domain not in domains: + domains.append(cookie.domain) + return domains + + def list_paths(self): + """Utility method to list all the paths in the jar.""" + paths = [] + for cookie in iter(self): + if cookie.path not in paths: + paths.append(cookie.path) + return paths + + def multiple_domains(self): + """Returns True if there are multiple domains in the jar. + Returns False otherwise. + + :rtype: bool + """ + domains = [] + for cookie in iter(self): + if cookie.domain is not None and cookie.domain in domains: + return True + domains.append(cookie.domain) + return False # there is only one domain in jar + + def get_dict(self, domain=None, path=None): + """Takes as an argument an optional domain and path and returns a plain + old Python dict of name-value pairs of cookies that meet the + requirements. + + :rtype: dict + """ + dictionary = {} + for cookie in iter(self): + if ( + (domain is None or cookie.domain == domain) and + (path is None or cookie.path == path) + ): + dictionary[cookie.name] = cookie.value + return dictionary + + def __contains__(self, name): + try: + return super(RequestsCookieJar, self).__contains__(name) + except CookieConflictError: + return True + + def __getitem__(self, name): + """Dict-like __getitem__() for compatibility with client code. Throws + exception if there are more than one cookie with name. In that case, + use the more explicit get() method instead. + + .. warning:: operation is O(n), not O(1). + """ + return self._find_no_duplicates(name) + + def __setitem__(self, name, value): + """Dict-like __setitem__ for compatibility with client code. Throws + exception if there is already a cookie of that name in the jar. In that + case, use the more explicit set() method instead. + """ + self.set(name, value) + + def __delitem__(self, name): + """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s + ``remove_cookie_by_name()``. + """ + remove_cookie_by_name(self, name) + + def set_cookie(self, cookie, *args, **kwargs): + if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): + cookie.value = cookie.value.replace('\\"', '') + return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) + + def update(self, other): + """Updates this jar with cookies from another CookieJar or dict-like""" + if isinstance(other, cookielib.CookieJar): + for cookie in other: + self.set_cookie(copy.copy(cookie)) + else: + super(RequestsCookieJar, self).update(other) + + def _find(self, name, domain=None, path=None): + """Requests uses this method internally to get cookie values. + + If there are conflicting cookies, _find arbitrarily chooses one. + See _find_no_duplicates if you want an exception thrown if there are + conflicting cookies. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :return: cookie.value + """ + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + return cookie.value + + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def _find_no_duplicates(self, name, domain=None, path=None): + """Both ``__get_item__`` and ``get`` call this function: it's never + used elsewhere in Requests. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :raises KeyError: if cookie is not found + :raises CookieConflictError: if there are multiple cookies + that match name and optionally domain and path + :return: cookie.value + """ + toReturn = None + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + if toReturn is not None: # if there are multiple cookies that meet passed in criteria + raise CookieConflictError('There are multiple cookies with name, %r' % (name)) + toReturn = cookie.value # we will eventually return this as long as no cookie conflict + + if toReturn: + return toReturn + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def __getstate__(self): + """Unlike a normal CookieJar, this class is pickleable.""" + state = self.__dict__.copy() + # remove the unpickleable RLock object + state.pop('_cookies_lock') + return state + + def __setstate__(self, state): + """Unlike a normal CookieJar, this class is pickleable.""" + self.__dict__.update(state) + if '_cookies_lock' not in self.__dict__: + self._cookies_lock = threading.RLock() + + def copy(self): + """Return a copy of this RequestsCookieJar.""" + new_cj = RequestsCookieJar() + new_cj.set_policy(self.get_policy()) + new_cj.update(self) + return new_cj + + def get_policy(self): + """Return the CookiePolicy instance used.""" + return self._policy + + +def _copy_cookie_jar(jar): + if jar is None: + return None + + if hasattr(jar, 'copy'): + # We're dealing with an instance of RequestsCookieJar + return jar.copy() + # We're dealing with a generic CookieJar instance + new_jar = copy.copy(jar) + new_jar.clear() + for cookie in jar: + new_jar.set_cookie(copy.copy(cookie)) + return new_jar + + +def create_cookie(name, value, **kwargs): + """Make a cookie from underspecified parameters. + + By default, the pair of `name` and `value` will be set for the domain '' + and sent on every request (this is sometimes called a "supercookie"). + """ + result = { + 'version': 0, + 'name': name, + 'value': value, + 'port': None, + 'domain': '', + 'path': '/', + 'secure': False, + 'expires': None, + 'discard': True, + 'comment': None, + 'comment_url': None, + 'rest': {'HttpOnly': None}, + 'rfc2109': False, + } + + badargs = set(kwargs) - set(result) + if badargs: + err = 'create_cookie() got unexpected keyword arguments: %s' + raise TypeError(err % list(badargs)) + + result.update(kwargs) + result['port_specified'] = bool(result['port']) + result['domain_specified'] = bool(result['domain']) + result['domain_initial_dot'] = result['domain'].startswith('.') + result['path_specified'] = bool(result['path']) + + return cookielib.Cookie(**result) + + +def morsel_to_cookie(morsel): + """Convert a Morsel object into a Cookie containing the one k/v pair.""" + + expires = None + if morsel['max-age']: + try: + expires = int(time.time() + int(morsel['max-age'])) + except ValueError: + raise TypeError('max-age: %s must be integer' % morsel['max-age']) + elif morsel['expires']: + time_template = '%a, %d-%b-%Y %H:%M:%S GMT' + expires = calendar.timegm( + time.strptime(morsel['expires'], time_template) + ) + return create_cookie( + comment=morsel['comment'], + comment_url=bool(morsel['comment']), + discard=False, + domain=morsel['domain'], + expires=expires, + name=morsel.key, + path=morsel['path'], + port=None, + rest={'HttpOnly': morsel['httponly']}, + rfc2109=False, + secure=bool(morsel['secure']), + value=morsel.value, + version=morsel['version'] or 0, + ) + + +def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): + """Returns a CookieJar from a key/value dictionary. + + :param cookie_dict: Dict of key/values to insert into CookieJar. + :param cookiejar: (optional) A cookiejar to add the cookies to. + :param overwrite: (optional) If False, will not replace cookies + already in the jar with new ones. + :rtype: CookieJar + """ + if cookiejar is None: + cookiejar = RequestsCookieJar() + + if cookie_dict is not None: + names_from_jar = [cookie.name for cookie in cookiejar] + for name in cookie_dict: + if overwrite or (name not in names_from_jar): + cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) + + return cookiejar + + +def merge_cookies(cookiejar, cookies): + """Add cookies to cookiejar and returns a merged CookieJar. + + :param cookiejar: CookieJar object to add the cookies to. + :param cookies: Dictionary or CookieJar object to be added. + :rtype: CookieJar + """ + if not isinstance(cookiejar, cookielib.CookieJar): + raise ValueError('You can only merge into CookieJar') + + if isinstance(cookies, dict): + cookiejar = cookiejar_from_dict( + cookies, cookiejar=cookiejar, overwrite=False) + elif isinstance(cookies, cookielib.CookieJar): + try: + cookiejar.update(cookies) + except AttributeError: + for cookie_in_jar in cookies: + cookiejar.set_cookie(cookie_in_jar) + + return cookiejar diff --git a/requests/exceptions.py b/requests/exceptions.py new file mode 100644 index 0000000..a80cad8 --- /dev/null +++ b/requests/exceptions.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- + +""" +requests.exceptions +~~~~~~~~~~~~~~~~~~~ + +This module contains the set of Requests' exceptions. +""" +from urllib3.exceptions import HTTPError as BaseHTTPError + + +class RequestException(IOError): + """There was an ambiguous exception that occurred while handling your + request. + """ + + def __init__(self, *args, **kwargs): + """Initialize RequestException with `request` and `response` objects.""" + response = kwargs.pop('response', None) + self.response = response + self.request = kwargs.pop('request', None) + if (response is not None and not self.request and + hasattr(response, 'request')): + self.request = self.response.request + super(RequestException, self).__init__(*args, **kwargs) + + +class HTTPError(RequestException): + """An HTTP error occurred.""" + + +class ConnectionError(RequestException): + """A Connection error occurred.""" + + +class ProxyError(ConnectionError): + """A proxy error occurred.""" + + +class SSLError(ConnectionError): + """An SSL error occurred.""" + + +class Timeout(RequestException): + """The request timed out. + + Catching this error will catch both + :exc:`~requests.exceptions.ConnectTimeout` and + :exc:`~requests.exceptions.ReadTimeout` errors. + """ + + +class ConnectTimeout(ConnectionError, Timeout): + """The request timed out while trying to connect to the remote server. + + Requests that produced this error are safe to retry. + """ + + +class ReadTimeout(Timeout): + """The server did not send any data in the allotted amount of time.""" + + +class URLRequired(RequestException): + """A valid URL is required to make a request.""" + + +class TooManyRedirects(RequestException): + """Too many redirects.""" + + +class MissingSchema(RequestException, ValueError): + """The URL schema (e.g. http or https) is missing.""" + + +class InvalidSchema(RequestException, ValueError): + """See defaults.py for valid schemas.""" + + +class InvalidURL(RequestException, ValueError): + """The URL provided was somehow invalid.""" + + +class InvalidHeader(RequestException, ValueError): + """The header value provided was somehow invalid.""" + + +class InvalidProxyURL(InvalidURL): + """The proxy URL provided is invalid.""" + + +class ChunkedEncodingError(RequestException): + """The server declared chunked encoding but sent an invalid chunk.""" + + +class ContentDecodingError(RequestException, BaseHTTPError): + """Failed to decode response content""" + + +class StreamConsumedError(RequestException, TypeError): + """The content for this response was already consumed""" + + +class RetryError(RequestException): + """Custom retries logic failed""" + + +class UnrewindableBodyError(RequestException): + """Requests encountered an error when trying to rewind a body""" + +# Warnings + + +class RequestsWarning(Warning): + """Base warning for Requests.""" + pass + + +class FileModeWarning(RequestsWarning, DeprecationWarning): + """A file was opened in text mode, but Requests determined its binary length.""" + pass + + +class RequestsDependencyWarning(RequestsWarning): + """An imported dependency doesn't match the expected version range.""" + pass diff --git a/requests/help.py b/requests/help.py new file mode 100644 index 0000000..e53d35e --- /dev/null +++ b/requests/help.py @@ -0,0 +1,119 @@ +"""Module containing bug report helper(s).""" +from __future__ import print_function + +import json +import platform +import sys +import ssl + +import idna +import urllib3 +import chardet + +from . import __version__ as requests_version + +try: + from urllib3.contrib import pyopenssl +except ImportError: + pyopenssl = None + OpenSSL = None + cryptography = None +else: + import OpenSSL + import cryptography + + +def _implementation(): + """Return a dict with the Python implementation and version. + + Provide both the name and the version of the Python implementation + currently running. For example, on CPython 2.7.5 it will return + {'name': 'CPython', 'version': '2.7.5'}. + + This function works best on CPython and PyPy: in particular, it probably + doesn't work for Jython or IronPython. Future investigation should be done + to work out the correct shape of the code for those platforms. + """ + implementation = platform.python_implementation() + + if implementation == 'CPython': + implementation_version = platform.python_version() + elif implementation == 'PyPy': + implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major, + sys.pypy_version_info.minor, + sys.pypy_version_info.micro) + if sys.pypy_version_info.releaselevel != 'final': + implementation_version = ''.join([ + implementation_version, sys.pypy_version_info.releaselevel + ]) + elif implementation == 'Jython': + implementation_version = platform.python_version() # Complete Guess + elif implementation == 'IronPython': + implementation_version = platform.python_version() # Complete Guess + else: + implementation_version = 'Unknown' + + return {'name': implementation, 'version': implementation_version} + + +def info(): + """Generate information for a bug report.""" + try: + platform_info = { + 'system': platform.system(), + 'release': platform.release(), + } + except IOError: + platform_info = { + 'system': 'Unknown', + 'release': 'Unknown', + } + + implementation_info = _implementation() + urllib3_info = {'version': urllib3.__version__} + chardet_info = {'version': chardet.__version__} + + pyopenssl_info = { + 'version': None, + 'openssl_version': '', + } + if OpenSSL: + pyopenssl_info = { + 'version': OpenSSL.__version__, + 'openssl_version': '%x' % OpenSSL.SSL.OPENSSL_VERSION_NUMBER, + } + cryptography_info = { + 'version': getattr(cryptography, '__version__', ''), + } + idna_info = { + 'version': getattr(idna, '__version__', ''), + } + + system_ssl = ssl.OPENSSL_VERSION_NUMBER + system_ssl_info = { + 'version': '%x' % system_ssl if system_ssl is not None else '' + } + + return { + 'platform': platform_info, + 'implementation': implementation_info, + 'system_ssl': system_ssl_info, + 'using_pyopenssl': pyopenssl is not None, + 'pyOpenSSL': pyopenssl_info, + 'urllib3': urllib3_info, + 'chardet': chardet_info, + 'cryptography': cryptography_info, + 'idna': idna_info, + 'requests': { + 'version': requests_version, + }, + } + + +def main(): + """Pretty-print the bug information as JSON.""" + print(json.dumps(info(), sort_keys=True, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/requests/hooks.py b/requests/hooks.py new file mode 100644 index 0000000..7a51f21 --- /dev/null +++ b/requests/hooks.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``response``: + The response generated from a Request. +""" +HOOKS = ['response'] + + +def default_hooks(): + return {event: [] for event in HOOKS} + +# TODO: response is the only one + + +def dispatch_hook(key, hooks, hook_data, **kwargs): + """Dispatches a hook dictionary on a given piece of data.""" + hooks = hooks or {} + hooks = hooks.get(key) + if hooks: + if hasattr(hooks, '__call__'): + hooks = [hooks] + for hook in hooks: + _hook_data = hook(hook_data, **kwargs) + if _hook_data is not None: + hook_data = _hook_data + return hook_data diff --git a/requests/models.py b/requests/models.py new file mode 100644 index 0000000..62dcd0b --- /dev/null +++ b/requests/models.py @@ -0,0 +1,953 @@ +# -*- coding: utf-8 -*- + +""" +requests.models +~~~~~~~~~~~~~~~ + +This module contains the primary objects that power Requests. +""" + +import datetime +import sys + +# Import encoding now, to avoid implicit import later. +# Implicit import within threads may cause LookupError when standard library is in a ZIP, +# such as in Embedded Python. See https://github.com/requests/requests/issues/3578. +import encodings.idna + +from urllib3.fields import RequestField +from urllib3.filepost import encode_multipart_formdata +from urllib3.util import parse_url +from urllib3.exceptions import ( + DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) + +from io import UnsupportedOperation +from .hooks import default_hooks +from .structures import CaseInsensitiveDict + +from .auth import HTTPBasicAuth +from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar +from .exceptions import ( + HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, + ContentDecodingError, ConnectionError, StreamConsumedError) +from ._internal_utils import to_native_string, unicode_is_ascii +from .utils import ( + guess_filename, get_auth_from_url, requote_uri, + stream_decode_response_unicode, to_key_val_list, parse_header_links, + iter_slices, guess_json_utf, super_len, check_header_validity) +from .compat import ( + Callable, Mapping, + cookielib, urlunparse, urlsplit, urlencode, str, bytes, + is_py2, chardet, builtin_str, basestring) +from .compat import json as complexjson +from .status_codes import codes + +#: The set of HTTP status codes that indicate an automatically +#: processable redirect. +REDIRECT_STATI = ( + codes.moved, # 301 + codes.found, # 302 + codes.other, # 303 + codes.temporary_redirect, # 307 + codes.permanent_redirect, # 308 +) + +DEFAULT_REDIRECT_LIMIT = 30 +CONTENT_CHUNK_SIZE = 10 * 1024 +ITER_CHUNK_SIZE = 512 + + +class RequestEncodingMixin(object): + @property + def path_url(self): + """Build the path URL to use.""" + + url = [] + + p = urlsplit(self.url) + + path = p.path + if not path: + path = '/' + + url.append(path) + + query = p.query + if query: + url.append('?') + url.append(query) + + return ''.join(url) + + @staticmethod + def _encode_params(data): + """Encode parameters in a piece of data. + + Will successfully encode parameters when passed as a dict or a list of + 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary + if parameters are supplied as a dict. + """ + + if isinstance(data, (str, bytes)): + return data + elif hasattr(data, 'read'): + return data + elif hasattr(data, '__iter__'): + result = [] + for k, vs in to_key_val_list(data): + if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): + vs = [vs] + for v in vs: + if v is not None: + result.append( + (k.encode('utf-8') if isinstance(k, str) else k, + v.encode('utf-8') if isinstance(v, str) else v)) + return urlencode(result, doseq=True) + else: + return data + + @staticmethod + def _encode_files(files, data): + """Build the body for a multipart/form-data request. + + Will successfully encode files when passed as a dict or a list of + tuples. Order is retained if data is a list of tuples but arbitrary + if parameters are supplied as a dict. + The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) + or 4-tuples (filename, fileobj, contentype, custom_headers). + """ + if (not files): + raise ValueError("Files must be provided.") + elif isinstance(data, basestring): + raise ValueError("Data must not be a string.") + + new_fields = [] + fields = to_key_val_list(data or {}) + files = to_key_val_list(files or {}) + + for field, val in fields: + if isinstance(val, basestring) or not hasattr(val, '__iter__'): + val = [val] + for v in val: + if v is not None: + # Don't call str() on bytestrings: in Py3 it all goes wrong. + if not isinstance(v, bytes): + v = str(v) + + new_fields.append( + (field.decode('utf-8') if isinstance(field, bytes) else field, + v.encode('utf-8') if isinstance(v, str) else v)) + + for (k, v) in files: + # support for explicit filename + ft = None + fh = None + if isinstance(v, (tuple, list)): + if len(v) == 2: + fn, fp = v + elif len(v) == 3: + fn, fp, ft = v + else: + fn, fp, ft, fh = v + else: + fn = guess_filename(v) or k + fp = v + + if isinstance(fp, (str, bytes, bytearray)): + fdata = fp + elif hasattr(fp, 'read'): + fdata = fp.read() + elif fp is None: + continue + else: + fdata = fp + + rf = RequestField(name=k, data=fdata, filename=fn, headers=fh) + rf.make_multipart(content_type=ft) + new_fields.append(rf) + + body, content_type = encode_multipart_formdata(new_fields) + + return body, content_type + + +class RequestHooksMixin(object): + def register_hook(self, event, hook): + """Properly register a hook.""" + + if event not in self.hooks: + raise ValueError('Unsupported event specified, with event name "%s"' % (event)) + + if isinstance(hook, Callable): + self.hooks[event].append(hook) + elif hasattr(hook, '__iter__'): + self.hooks[event].extend(h for h in hook if isinstance(h, Callable)) + + def deregister_hook(self, event, hook): + """Deregister a previously registered hook. + Returns True if the hook existed, False if not. + """ + + try: + self.hooks[event].remove(hook) + return True + except ValueError: + return False + + +class Request(RequestHooksMixin): + """A user-created :class:`Request ` object. + + Used to prepare a :class:`PreparedRequest `, which is sent to the server. + + :param method: HTTP method to use. + :param url: URL to send. + :param headers: dictionary of headers to send. + :param files: dictionary of {filename: fileobject} files to multipart upload. + :param data: the body to attach to the request. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param json: json for the body to attach to the request (if files or data is not specified). + :param params: URL parameters to append to the URL. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param auth: Auth handler or (user, pass) tuple. + :param cookies: dictionary or CookieJar of cookies to attach to this request. + :param hooks: dictionary of callback hooks, for internal usage. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> req.prepare() + + """ + + def __init__(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + + # Default empty dicts for dict params. + data = [] if data is None else data + files = [] if files is None else files + headers = {} if headers is None else headers + params = {} if params is None else params + hooks = {} if hooks is None else hooks + + self.hooks = default_hooks() + for (k, v) in list(hooks.items()): + self.register_hook(event=k, hook=v) + + self.method = method + self.url = url + self.headers = headers + self.files = files + self.data = data + self.json = json + self.params = params + self.auth = auth + self.cookies = cookies + + def __repr__(self): + return '' % (self.method) + + def prepare(self): + """Constructs a :class:`PreparedRequest ` for transmission and returns it.""" + p = PreparedRequest() + p.prepare( + method=self.method, + url=self.url, + headers=self.headers, + files=self.files, + data=self.data, + json=self.json, + params=self.params, + auth=self.auth, + cookies=self.cookies, + hooks=self.hooks, + ) + return p + + +class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): + """The fully mutable :class:`PreparedRequest ` object, + containing the exact bytes that will be sent to the server. + + Generated from either a :class:`Request ` object or manually. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> r = req.prepare() + + + >>> s = requests.Session() + >>> s.send(r) + + """ + + def __init__(self): + #: HTTP verb to send to the server. + self.method = None + #: HTTP URL to send the request to. + self.url = None + #: dictionary of HTTP headers. + self.headers = None + # The `CookieJar` used to create the Cookie header will be stored here + # after prepare_cookies is called + self._cookies = None + #: request body to send to the server. + self.body = None + #: dictionary of callback hooks, for internal usage. + self.hooks = default_hooks() + #: integer denoting starting position of a readable file-like body. + self._body_position = None + + def prepare(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + """Prepares the entire request with the given parameters.""" + + self.prepare_method(method) + self.prepare_url(url, params) + self.prepare_headers(headers) + self.prepare_cookies(cookies) + self.prepare_body(data, files, json) + self.prepare_auth(auth, url) + + # Note that prepare_auth must be last to enable authentication schemes + # such as OAuth to work on a fully prepared request. + + # This MUST go after prepare_auth. Authenticators could add a hook + self.prepare_hooks(hooks) + + def __repr__(self): + return '' % (self.method) + + def copy(self): + p = PreparedRequest() + p.method = self.method + p.url = self.url + p.headers = self.headers.copy() if self.headers is not None else None + p._cookies = _copy_cookie_jar(self._cookies) + p.body = self.body + p.hooks = self.hooks + p._body_position = self._body_position + return p + + def prepare_method(self, method): + """Prepares the given HTTP method.""" + self.method = method + if self.method is not None: + self.method = to_native_string(self.method.upper()) + + @staticmethod + def _get_idna_encoded_host(host): + import idna + + try: + host = idna.encode(host, uts46=True).decode('utf-8') + except idna.IDNAError: + raise UnicodeError + return host + + def prepare_url(self, url, params): + """Prepares the given HTTP URL.""" + #: Accept objects that have string representations. + #: We're unable to blindly call unicode/str functions + #: as this will include the bytestring indicator (b'') + #: on python 3.x. + #: https://github.com/requests/requests/pull/2238 + if isinstance(url, bytes): + url = url.decode('utf8') + else: + url = unicode(url) if is_py2 else str(url) + + # Remove leading whitespaces from url + url = url.lstrip() + + # Don't do any URL preparation for non-HTTP schemes like `mailto`, + # `data` etc to work around exceptions from `url_parse`, which + # handles RFC 3986 only. + if ':' in url and not url.lower().startswith('http'): + self.url = url + return + + # Support for unicode domain names and paths. + try: + scheme, auth, host, port, path, query, fragment = parse_url(url) + except LocationParseError as e: + raise InvalidURL(*e.args) + + if not scheme: + error = ("Invalid URL {0!r}: No schema supplied. Perhaps you meant http://{0}?") + error = error.format(to_native_string(url, 'utf8')) + + raise MissingSchema(error) + + if not host: + raise InvalidURL("Invalid URL %r: No host supplied" % url) + + # In general, we want to try IDNA encoding the hostname if the string contains + # non-ASCII characters. This allows users to automatically get the correct IDNA + # behaviour. For strings containing only ASCII characters, we need to also verify + # it doesn't start with a wildcard (*), before allowing the unencoded hostname. + if not unicode_is_ascii(host): + try: + host = self._get_idna_encoded_host(host) + except UnicodeError: + raise InvalidURL('URL has an invalid label.') + elif host.startswith(u'*'): + raise InvalidURL('URL has an invalid label.') + + # Carefully reconstruct the network location + netloc = auth or '' + if netloc: + netloc += '@' + netloc += host + if port: + netloc += ':' + str(port) + + # Bare domains aren't valid URLs. + if not path: + path = '/' + + if is_py2: + if isinstance(scheme, str): + scheme = scheme.encode('utf-8') + if isinstance(netloc, str): + netloc = netloc.encode('utf-8') + if isinstance(path, str): + path = path.encode('utf-8') + if isinstance(query, str): + query = query.encode('utf-8') + if isinstance(fragment, str): + fragment = fragment.encode('utf-8') + + if isinstance(params, (str, bytes)): + params = to_native_string(params) + + enc_params = self._encode_params(params) + if enc_params: + if query: + query = '%s&%s' % (query, enc_params) + else: + query = enc_params + + url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) + self.url = url + + def prepare_headers(self, headers): + """Prepares the given HTTP headers.""" + + self.headers = CaseInsensitiveDict() + if headers: + for header in headers.items(): + # Raise exception on invalid header value. + check_header_validity(header) + name, value = header + self.headers[to_native_string(name)] = value + + def prepare_body(self, data, files, json=None): + """Prepares the given HTTP body data.""" + + # Check if file, fo, generator, iterator. + # If not, run through normal process. + + # Nottin' on you. + body = None + content_type = None + + if not data and json is not None: + # urllib3 requires a bytes-like body. Python 2's json.dumps + # provides this natively, but Python 3 gives a Unicode string. + content_type = 'application/json' + body = complexjson.dumps(json) + if not isinstance(body, bytes): + body = body.encode('utf-8') + + is_stream = all([ + hasattr(data, '__iter__'), + not isinstance(data, (basestring, list, tuple, Mapping)) + ]) + + try: + length = super_len(data) + except (TypeError, AttributeError, UnsupportedOperation): + length = None + + if is_stream: + body = data + + if getattr(body, 'tell', None) is not None: + # Record the current file position before reading. + # This will allow us to rewind a file in the event + # of a redirect. + try: + self._body_position = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body + self._body_position = object() + + if files: + raise NotImplementedError('Streamed bodies and files are mutually exclusive.') + + if length: + self.headers['Content-Length'] = builtin_str(length) + else: + self.headers['Transfer-Encoding'] = 'chunked' + else: + # Multi-part file uploads. + if files: + (body, content_type) = self._encode_files(files, data) + else: + if data: + body = self._encode_params(data) + if isinstance(data, basestring) or hasattr(data, 'read'): + content_type = None + else: + content_type = 'application/x-www-form-urlencoded' + + self.prepare_content_length(body) + + # Add content-type if it wasn't explicitly provided. + if content_type and ('content-type' not in self.headers): + self.headers['Content-Type'] = content_type + + self.body = body + + def prepare_content_length(self, body): + """Prepare Content-Length header based on request method and body""" + if body is not None: + length = super_len(body) + if length: + # If length exists, set it. Otherwise, we fallback + # to Transfer-Encoding: chunked. + self.headers['Content-Length'] = builtin_str(length) + elif self.method not in ('GET', 'HEAD') and self.headers.get('Content-Length') is None: + # Set Content-Length to 0 for methods that can have a body + # but don't provide one. (i.e. not GET or HEAD) + self.headers['Content-Length'] = '0' + + def prepare_auth(self, auth, url=''): + """Prepares the given HTTP auth data.""" + + # If no Auth is explicitly provided, extract it from the URL first. + if auth is None: + url_auth = get_auth_from_url(self.url) + auth = url_auth if any(url_auth) else None + + if auth: + if isinstance(auth, tuple) and len(auth) == 2: + # special-case basic HTTP auth + auth = HTTPBasicAuth(*auth) + + # Allow auth to make its changes. + r = auth(self) + + # Update self to reflect the auth changes. + self.__dict__.update(r.__dict__) + + # Recompute Content-Length + self.prepare_content_length(self.body) + + def prepare_cookies(self, cookies): + """Prepares the given HTTP cookie data. + + This function eventually generates a ``Cookie`` header from the + given cookies using cookielib. Due to cookielib's design, the header + will not be regenerated if it already exists, meaning this function + can only be called once for the life of the + :class:`PreparedRequest ` object. Any subsequent calls + to ``prepare_cookies`` will have no actual effect, unless the "Cookie" + header is removed beforehand. + """ + if isinstance(cookies, cookielib.CookieJar): + self._cookies = cookies + else: + self._cookies = cookiejar_from_dict(cookies) + + cookie_header = get_cookie_header(self._cookies, self) + if cookie_header is not None: + self.headers['Cookie'] = cookie_header + + def prepare_hooks(self, hooks): + """Prepares the given hooks.""" + # hooks can be passed as None to the prepare method and to this + # method. To prevent iterating over None, simply use an empty list + # if hooks is False-y + hooks = hooks or [] + for event in hooks: + self.register_hook(event, hooks[event]) + + +class Response(object): + """The :class:`Response ` object, which contains a + server's response to an HTTP request. + """ + + __attrs__ = [ + '_content', 'status_code', 'headers', 'url', 'history', + 'encoding', 'reason', 'cookies', 'elapsed', 'request' + ] + + def __init__(self): + self._content = False + self._content_consumed = False + self._next = None + + #: Integer Code of responded HTTP Status, e.g. 404 or 200. + self.status_code = None + + #: Case-insensitive Dictionary of Response Headers. + #: For example, ``headers['content-encoding']`` will return the + #: value of a ``'Content-Encoding'`` response header. + self.headers = CaseInsensitiveDict() + + #: File-like object representation of response (for advanced usage). + #: Use of ``raw`` requires that ``stream=True`` be set on the request. + # This requirement does not apply for use internally to Requests. + self.raw = None + + #: Final URL location of Response. + self.url = None + + #: Encoding to decode with when accessing r.text. + self.encoding = None + + #: A list of :class:`Response ` objects from + #: the history of the Request. Any redirect responses will end + #: up here. The list is sorted from the oldest to the most recent request. + self.history = [] + + #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". + self.reason = None + + #: A CookieJar of Cookies the server sent back. + self.cookies = cookiejar_from_dict({}) + + #: The amount of time elapsed between sending the request + #: and the arrival of the response (as a timedelta). + #: This property specifically measures the time taken between sending + #: the first byte of the request and finishing parsing the headers. It + #: is therefore unaffected by consuming the response content or the + #: value of the ``stream`` keyword argument. + self.elapsed = datetime.timedelta(0) + + #: The :class:`PreparedRequest ` object to which this + #: is a response. + self.request = None + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def __getstate__(self): + # Consume everything; accessing the content attribute makes + # sure the content has been fully read. + if not self._content_consumed: + self.content + + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + for name, value in state.items(): + setattr(self, name, value) + + # pickled objects do not have .raw + setattr(self, '_content_consumed', True) + setattr(self, 'raw', None) + + def __repr__(self): + return '' % (self.status_code) + + def __bool__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __nonzero__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __iter__(self): + """Allows you to use a response as an iterator.""" + return self.iter_content(128) + + @property + def ok(self): + """Returns True if :attr:`status_code` is less than 400, False if not. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + try: + self.raise_for_status() + except HTTPError: + return False + return True + + @property + def is_redirect(self): + """True if this Response is a well-formed HTTP redirect that could have + been processed automatically (by :meth:`Session.resolve_redirects`). + """ + return ('location' in self.headers and self.status_code in REDIRECT_STATI) + + @property + def is_permanent_redirect(self): + """True if this Response one of the permanent versions of redirect.""" + return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) + + @property + def next(self): + """Returns a PreparedRequest for the next request in a redirect chain, if there is one.""" + return self._next + + @property + def apparent_encoding(self): + """The apparent encoding, provided by the chardet library.""" + return chardet.detect(self.content)['encoding'] + + def iter_content(self, chunk_size=1, decode_unicode=False): + """Iterates over the response data. When stream=True is set on the + request, this avoids reading the content at once into memory for + large responses. The chunk size is the number of bytes it should + read into memory. This is not necessarily the length of each item + returned as decoding can take place. + + chunk_size must be of type int or None. A value of None will + function differently depending on the value of `stream`. + stream=True will read data as it arrives in whatever size the + chunks are received. If stream=False, data is returned as + a single chunk. + + If decode_unicode is True, content will be decoded using the best + available encoding based on the response. + """ + + def generate(): + # Special case for urllib3. + if hasattr(self.raw, 'stream'): + try: + for chunk in self.raw.stream(chunk_size, decode_content=True): + yield chunk + except ProtocolError as e: + raise ChunkedEncodingError(e) + except DecodeError as e: + raise ContentDecodingError(e) + except ReadTimeoutError as e: + raise ConnectionError(e) + else: + # Standard file-like object. + while True: + chunk = self.raw.read(chunk_size) + if not chunk: + break + yield chunk + + self._content_consumed = True + + if self._content_consumed and isinstance(self._content, bool): + raise StreamConsumedError() + elif chunk_size is not None and not isinstance(chunk_size, int): + raise TypeError("chunk_size must be an int, it is instead a %s." % type(chunk_size)) + # simulate reading small chunks of the content + reused_chunks = iter_slices(self._content, chunk_size) + + stream_chunks = generate() + + chunks = reused_chunks if self._content_consumed else stream_chunks + + if decode_unicode: + chunks = stream_decode_response_unicode(chunks, self) + + return chunks + + def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None): + """Iterates over the response data, one line at a time. When + stream=True is set on the request, this avoids reading the + content at once into memory for large responses. + + .. note:: This method is not reentrant safe. + """ + + pending = None + + for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): + + if pending is not None: + chunk = pending + chunk + + if delimiter: + lines = chunk.split(delimiter) + else: + lines = chunk.splitlines() + + if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: + pending = lines.pop() + else: + pending = None + + for line in lines: + yield line + + if pending is not None: + yield pending + + @property + def content(self): + """Content of the response, in bytes.""" + + if self._content is False: + # Read the contents. + if self._content_consumed: + raise RuntimeError( + 'The content for this response was already consumed') + + if self.status_code == 0 or self.raw is None: + self._content = None + else: + self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b'' + + self._content_consumed = True + # don't need to release the connection; that's been handled by urllib3 + # since we exhausted the data. + return self._content + + @property + def text(self): + """Content of the response, in unicode. + + If Response.encoding is None, encoding will be guessed using + ``chardet``. + + The encoding of the response content is determined based solely on HTTP + headers, following RFC 2616 to the letter. If you can take advantage of + non-HTTP knowledge to make a better guess at the encoding, you should + set ``r.encoding`` appropriately before accessing this property. + """ + + # Try charset from content-type + content = None + encoding = self.encoding + + if not self.content: + return str('') + + # Fallback to auto-detected encoding. + if self.encoding is None: + encoding = self.apparent_encoding + + # Decode unicode from given encoding. + try: + content = str(self.content, encoding, errors='replace') + except (LookupError, TypeError): + # A LookupError is raised if the encoding was not found which could + # indicate a misspelling or similar mistake. + # + # A TypeError can be raised if encoding is None + # + # So we try blindly encoding. + content = str(self.content, errors='replace') + + return content + + def json(self, **kwargs): + r"""Returns the json-encoded content of a response, if any. + + :param \*\*kwargs: Optional arguments that ``json.loads`` takes. + :raises ValueError: If the response body does not contain valid json. + """ + + if not self.encoding and self.content and len(self.content) > 3: + # No encoding set. JSON RFC 4627 section 3 states we should expect + # UTF-8, -16 or -32. Detect which one to use; If the detection or + # decoding fails, fall back to `self.text` (using chardet to make + # a best guess). + encoding = guess_json_utf(self.content) + if encoding is not None: + try: + return complexjson.loads( + self.content.decode(encoding), **kwargs + ) + except UnicodeDecodeError: + # Wrong UTF codec detected; usually because it's not UTF-8 + # but some other 8-bit codec. This is an RFC violation, + # and the server didn't bother to tell us what codec *was* + # used. + pass + return complexjson.loads(self.text, **kwargs) + + @property + def links(self): + """Returns the parsed header links of the response, if any.""" + + header = self.headers.get('link') + + # l = MultiDict() + l = {} + + if header: + links = parse_header_links(header) + + for link in links: + key = link.get('rel') or link.get('url') + l[key] = link + + return l + + def raise_for_status(self): + """Raises stored :class:`HTTPError`, if one occurred.""" + + http_error_msg = '' + if isinstance(self.reason, bytes): + # We attempt to decode utf-8 first because some servers + # choose to localize their reason strings. If the string + # isn't utf-8, we fall back to iso-8859-1 for all other + # encodings. (See PR #3538) + try: + reason = self.reason.decode('utf-8') + except UnicodeDecodeError: + reason = self.reason.decode('iso-8859-1') + else: + reason = self.reason + + if 400 <= self.status_code < 500: + http_error_msg = u'%s Client Error: %s for url: %s' % (self.status_code, reason, self.url) + + elif 500 <= self.status_code < 600: + http_error_msg = u'%s Server Error: %s for url: %s' % (self.status_code, reason, self.url) + + if http_error_msg: + raise HTTPError(http_error_msg, response=self) + + def close(self): + """Releases the connection back to the pool. Once this method has been + called the underlying ``raw`` object must not be accessed again. + + *Note: Should not normally need to be called explicitly.* + """ + if not self._content_consumed: + self.raw.close() + + release_conn = getattr(self.raw, 'release_conn', None) + if release_conn is not None: + release_conn() diff --git a/requests/packages.py b/requests/packages.py new file mode 100644 index 0000000..7232fe0 --- /dev/null +++ b/requests/packages.py @@ -0,0 +1,14 @@ +import sys + +# This code exists for backwards compatibility reasons. +# I don't like it either. Just look the other way. :) + +for package in ('urllib3', 'idna', 'chardet'): + locals()[package] = __import__(package) + # This traversal is apparently necessary such that the identities are + # preserved (requests.packages.urllib3.* is urllib3.*) + for mod in list(sys.modules): + if mod == package or mod.startswith(package + '.'): + sys.modules['requests.packages.' + mod] = sys.modules[mod] + +# Kinda cool, though, right? diff --git a/requests/sessions.py b/requests/sessions.py new file mode 100644 index 0000000..d73d700 --- /dev/null +++ b/requests/sessions.py @@ -0,0 +1,770 @@ +# -*- coding: utf-8 -*- + +""" +requests.session +~~~~~~~~~~~~~~~~ + +This module provides a Session object to manage and persist settings across +requests (cookies, auth, proxies). +""" +import os +import sys +import time +from datetime import timedelta + +from .auth import _basic_auth_str +from .compat import cookielib, is_py3, OrderedDict, urljoin, urlparse, Mapping +from .cookies import ( + cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) +from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT +from .hooks import default_hooks, dispatch_hook +from ._internal_utils import to_native_string +from .utils import to_key_val_list, default_headers, DEFAULT_PORTS +from .exceptions import ( + TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) + +from .structures import CaseInsensitiveDict +from .adapters import HTTPAdapter + +from .utils import ( + requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, + get_auth_from_url, rewind_body +) + +from .status_codes import codes + +# formerly defined here, reexposed here for backward compatibility +from .models import REDIRECT_STATI + +# Preferred clock, based on which one is more accurate on a given system. +if sys.platform == 'win32': + try: # Python 3.4+ + preferred_clock = time.perf_counter + except AttributeError: # Earlier than Python 3. + preferred_clock = time.clock +else: + preferred_clock = time.time + + +def merge_setting(request_setting, session_setting, dict_class=OrderedDict): + """Determines appropriate setting for a given request, taking into account + the explicit setting on that request, and the setting in the session. If a + setting is a dictionary, they will be merged together using `dict_class` + """ + + if session_setting is None: + return request_setting + + if request_setting is None: + return session_setting + + # Bypass if not a dictionary (e.g. verify) + if not ( + isinstance(session_setting, Mapping) and + isinstance(request_setting, Mapping) + ): + return request_setting + + merged_setting = dict_class(to_key_val_list(session_setting)) + merged_setting.update(to_key_val_list(request_setting)) + + # Remove keys that are set to None. Extract keys first to avoid altering + # the dictionary during iteration. + none_keys = [k for (k, v) in merged_setting.items() if v is None] + for key in none_keys: + del merged_setting[key] + + return merged_setting + + +def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): + """Properly merges both requests and session hooks. + + This is necessary because when request_hooks == {'response': []}, the + merge breaks Session hooks entirely. + """ + if session_hooks is None or session_hooks.get('response') == []: + return request_hooks + + if request_hooks is None or request_hooks.get('response') == []: + return session_hooks + + return merge_setting(request_hooks, session_hooks, dict_class) + + +class SessionRedirectMixin(object): + + def get_redirect_target(self, resp): + """Receives a Response. Returns a redirect URI or ``None``""" + # Due to the nature of how requests processes redirects this method will + # be called at least once upon the original response and at least twice + # on each subsequent redirect response (if any). + # If a custom mixin is used to handle this logic, it may be advantageous + # to cache the redirect location onto the response object as a private + # attribute. + if resp.is_redirect: + location = resp.headers['location'] + # Currently the underlying http module on py3 decode headers + # in latin1, but empirical evidence suggests that latin1 is very + # rarely used with non-ASCII characters in HTTP headers. + # It is more likely to get UTF8 header rather than latin1. + # This causes incorrect handling of UTF8 encoded location headers. + # To solve this, we re-encode the location in latin1. + if is_py3: + location = location.encode('latin1') + return to_native_string(location, 'utf8') + return None + + def should_strip_auth(self, old_url, new_url): + """Decide whether Authorization header should be removed when redirecting""" + old_parsed = urlparse(old_url) + new_parsed = urlparse(new_url) + if old_parsed.hostname != new_parsed.hostname: + return True + # Special case: allow http -> https redirect when using the standard + # ports. This isn't specified by RFC 7235, but is kept to avoid + # breaking backwards compatibility with older versions of requests + # that allowed any redirects on the same host. + if (old_parsed.scheme == 'http' and old_parsed.port in (80, None) + and new_parsed.scheme == 'https' and new_parsed.port in (443, None)): + return False + + # Handle default port usage corresponding to scheme. + changed_port = old_parsed.port != new_parsed.port + changed_scheme = old_parsed.scheme != new_parsed.scheme + default_port = (DEFAULT_PORTS.get(old_parsed.scheme, None), None) + if (not changed_scheme and old_parsed.port in default_port + and new_parsed.port in default_port): + return False + + # Standard case: root URI must match + return changed_port or changed_scheme + + def resolve_redirects(self, resp, req, stream=False, timeout=None, + verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs): + """Receives a Response. Returns a generator of Responses or Requests.""" + + hist = [] # keep track of history + + url = self.get_redirect_target(resp) + previous_fragment = urlparse(req.url).fragment + while url: + prepared_request = req.copy() + + # Update history and keep track of redirects. + # resp.history must ignore the original request in this loop + hist.append(resp) + resp.history = hist[1:] + + try: + resp.content # Consume socket so it can be released + except (ChunkedEncodingError, ContentDecodingError, RuntimeError): + resp.raw.read(decode_content=False) + + if len(resp.history) >= self.max_redirects: + raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) + + # Release the connection back into the pool. + resp.close() + + # Handle redirection without scheme (see: RFC 1808 Section 4) + if url.startswith('//'): + parsed_rurl = urlparse(resp.url) + url = '%s:%s' % (to_native_string(parsed_rurl.scheme), url) + + # Normalize url case and attach previous fragment if needed (RFC 7231 7.1.2) + parsed = urlparse(url) + if parsed.fragment == '' and previous_fragment: + parsed = parsed._replace(fragment=previous_fragment) + elif parsed.fragment: + previous_fragment = parsed.fragment + url = parsed.geturl() + + # Facilitate relative 'location' headers, as allowed by RFC 7231. + # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') + # Compliant with RFC3986, we percent encode the url. + if not parsed.netloc: + url = urljoin(resp.url, requote_uri(url)) + else: + url = requote_uri(url) + + prepared_request.url = to_native_string(url) + + self.rebuild_method(prepared_request, resp) + + # https://github.com/requests/requests/issues/1084 + if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): + # https://github.com/requests/requests/issues/3490 + purged_headers = ('Content-Length', 'Content-Type', 'Transfer-Encoding') + for header in purged_headers: + prepared_request.headers.pop(header, None) + prepared_request.body = None + + headers = prepared_request.headers + try: + del headers['Cookie'] + except KeyError: + pass + + # Extract any cookies sent on the response to the cookiejar + # in the new request. Because we've mutated our copied prepared + # request, use the old one that we haven't yet touched. + extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) + merge_cookies(prepared_request._cookies, self.cookies) + prepared_request.prepare_cookies(prepared_request._cookies) + + # Rebuild auth and proxy information. + proxies = self.rebuild_proxies(prepared_request, proxies) + self.rebuild_auth(prepared_request, resp) + + # A failed tell() sets `_body_position` to `object()`. This non-None + # value ensures `rewindable` will be True, allowing us to raise an + # UnrewindableBodyError, instead of hanging the connection. + rewindable = ( + prepared_request._body_position is not None and + ('Content-Length' in headers or 'Transfer-Encoding' in headers) + ) + + # Attempt to rewind consumed file-like object. + if rewindable: + rewind_body(prepared_request) + + # Override the original request. + req = prepared_request + + if yield_requests: + yield req + else: + + resp = self.send( + req, + stream=stream, + timeout=timeout, + verify=verify, + cert=cert, + proxies=proxies, + allow_redirects=False, + **adapter_kwargs + ) + + extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) + + # extract redirect url, if any, for the next loop + url = self.get_redirect_target(resp) + yield resp + + def rebuild_auth(self, prepared_request, response): + """When being redirected we may want to strip authentication from the + request to avoid leaking credentials. This method intelligently removes + and reapplies authentication where possible to avoid credential loss. + """ + headers = prepared_request.headers + url = prepared_request.url + + if 'Authorization' in headers and self.should_strip_auth(response.request.url, url): + # If we get redirected to a new host, we should strip out any + # authentication headers. + del headers['Authorization'] + + # .netrc might have more auth for us on our new host. + new_auth = get_netrc_auth(url) if self.trust_env else None + if new_auth is not None: + prepared_request.prepare_auth(new_auth) + + return + + def rebuild_proxies(self, prepared_request, proxies): + """This method re-evaluates the proxy configuration by considering the + environment variables. If we are redirected to a URL covered by + NO_PROXY, we strip the proxy configuration. Otherwise, we set missing + proxy keys for this URL (in case they were stripped by a previous + redirect). + + This method also replaces the Proxy-Authorization header where + necessary. + + :rtype: dict + """ + proxies = proxies if proxies is not None else {} + headers = prepared_request.headers + url = prepared_request.url + scheme = urlparse(url).scheme + new_proxies = proxies.copy() + no_proxy = proxies.get('no_proxy') + + bypass_proxy = should_bypass_proxies(url, no_proxy=no_proxy) + if self.trust_env and not bypass_proxy: + environ_proxies = get_environ_proxies(url, no_proxy=no_proxy) + + proxy = environ_proxies.get(scheme, environ_proxies.get('all')) + + if proxy: + new_proxies.setdefault(scheme, proxy) + + if 'Proxy-Authorization' in headers: + del headers['Proxy-Authorization'] + + try: + username, password = get_auth_from_url(new_proxies[scheme]) + except KeyError: + username, password = None, None + + if username and password: + headers['Proxy-Authorization'] = _basic_auth_str(username, password) + + return new_proxies + + def rebuild_method(self, prepared_request, response): + """When being redirected we may want to change the method of the request + based on certain specs or browser behavior. + """ + method = prepared_request.method + + # https://tools.ietf.org/html/rfc7231#section-6.4.4 + if response.status_code == codes.see_other and method != 'HEAD': + method = 'GET' + + # Do what the browsers do, despite standards... + # First, turn 302s into GETs. + if response.status_code == codes.found and method != 'HEAD': + method = 'GET' + + # Second, if a POST is responded to with a 301, turn it into a GET. + # This bizarre behaviour is explained in Issue 1704. + if response.status_code == codes.moved and method == 'POST': + method = 'GET' + + prepared_request.method = method + + +class Session(SessionRedirectMixin): + """A Requests session. + + Provides cookie persistence, connection-pooling, and configuration. + + Basic Usage:: + + >>> import requests + >>> s = requests.Session() + >>> s.get('https://httpbin.org/get') + + + Or as a context manager:: + + >>> with requests.Session() as s: + >>> s.get('https://httpbin.org/get') + + """ + + __attrs__ = [ + 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', + 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', + 'max_redirects', + ] + + def __init__(self): + + #: A case-insensitive dictionary of headers to be sent on each + #: :class:`Request ` sent from this + #: :class:`Session `. + self.headers = default_headers() + + #: Default Authentication tuple or object to attach to + #: :class:`Request `. + self.auth = None + + #: Dictionary mapping protocol or protocol and host to the URL of the proxy + #: (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to + #: be used on each :class:`Request `. + self.proxies = {} + + #: Event-handling hooks. + self.hooks = default_hooks() + + #: Dictionary of querystring data to attach to each + #: :class:`Request `. The dictionary values may be lists for + #: representing multivalued query parameters. + self.params = {} + + #: Stream response content default. + self.stream = False + + #: SSL Verification default. + self.verify = True + + #: SSL client certificate default, if String, path to ssl client + #: cert file (.pem). If Tuple, ('cert', 'key') pair. + self.cert = None + + #: Maximum number of redirects allowed. If the request exceeds this + #: limit, a :class:`TooManyRedirects` exception is raised. + #: This defaults to requests.models.DEFAULT_REDIRECT_LIMIT, which is + #: 30. + self.max_redirects = DEFAULT_REDIRECT_LIMIT + + #: Trust environment settings for proxy configuration, default + #: authentication and similar. + self.trust_env = True + + #: A CookieJar containing all currently outstanding cookies set on this + #: session. By default it is a + #: :class:`RequestsCookieJar `, but + #: may be any other ``cookielib.CookieJar`` compatible object. + self.cookies = cookiejar_from_dict({}) + + # Default connection adapters. + self.adapters = OrderedDict() + self.mount('https://', HTTPAdapter()) + self.mount('http://', HTTPAdapter()) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def prepare_request(self, request): + """Constructs a :class:`PreparedRequest ` for + transmission and returns it. The :class:`PreparedRequest` has settings + merged from the :class:`Request ` instance and those of the + :class:`Session`. + + :param request: :class:`Request` instance to prepare with this + session's settings. + :rtype: requests.PreparedRequest + """ + cookies = request.cookies or {} + + # Bootstrap CookieJar. + if not isinstance(cookies, cookielib.CookieJar): + cookies = cookiejar_from_dict(cookies) + + # Merge with session cookies + merged_cookies = merge_cookies( + merge_cookies(RequestsCookieJar(), self.cookies), cookies) + + # Set environment's basic authentication if not explicitly set. + auth = request.auth + if self.trust_env and not auth and not self.auth: + auth = get_netrc_auth(request.url) + + p = PreparedRequest() + p.prepare( + method=request.method.upper(), + url=request.url, + files=request.files, + data=request.data, + json=request.json, + headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), + params=merge_setting(request.params, self.params), + auth=merge_setting(auth, self.auth), + cookies=merged_cookies, + hooks=merge_hooks(request.hooks, self.hooks), + ) + return p + + def request(self, method, url, + params=None, data=None, headers=None, cookies=None, files=None, + auth=None, timeout=None, allow_redirects=True, proxies=None, + hooks=None, stream=None, verify=None, cert=None, json=None): + """Constructs a :class:`Request `, prepares it and sends it. + Returns :class:`Response ` object. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary or bytes to be sent in the query + string for the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the + :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the + :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the + :class:`Request`. + :param files: (optional) Dictionary of ``'filename': file-like-objects`` + for multipart encoding upload. + :param auth: (optional) Auth tuple or callable to enable + Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) ` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Set to True by default. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol or protocol and + hostname to the URL of the proxy. + :param stream: (optional) whether to immediately download the response + content. Defaults to ``False``. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param cert: (optional) if String, path to ssl client cert file (.pem). + If Tuple, ('cert', 'key') pair. + :rtype: requests.Response + """ + # Create the Request. + req = Request( + method=method.upper(), + url=url, + headers=headers, + files=files, + data=data or {}, + json=json, + params=params or {}, + auth=auth, + cookies=cookies, + hooks=hooks, + ) + prep = self.prepare_request(req) + + proxies = proxies or {} + + settings = self.merge_environment_settings( + prep.url, proxies, stream, verify, cert + ) + + # Send the request. + send_kwargs = { + 'timeout': timeout, + 'allow_redirects': allow_redirects, + } + send_kwargs.update(settings) + resp = self.send(prep, **send_kwargs) + + return resp + + def get(self, url, **kwargs): + r"""Sends a GET request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('GET', url, **kwargs) + + def options(self, url, **kwargs): + r"""Sends a OPTIONS request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('OPTIONS', url, **kwargs) + + def head(self, url, **kwargs): + r"""Sends a HEAD request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return self.request('HEAD', url, **kwargs) + + def post(self, url, data=None, json=None, **kwargs): + r"""Sends a POST request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('POST', url, data=data, json=json, **kwargs) + + def put(self, url, data=None, **kwargs): + r"""Sends a PUT request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PUT', url, data=data, **kwargs) + + def patch(self, url, data=None, **kwargs): + r"""Sends a PATCH request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PATCH', url, data=data, **kwargs) + + def delete(self, url, **kwargs): + r"""Sends a DELETE request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('DELETE', url, **kwargs) + + def send(self, request, **kwargs): + """Send a given PreparedRequest. + + :rtype: requests.Response + """ + # Set defaults that the hooks can utilize to ensure they always have + # the correct parameters to reproduce the previous request. + kwargs.setdefault('stream', self.stream) + kwargs.setdefault('verify', self.verify) + kwargs.setdefault('cert', self.cert) + kwargs.setdefault('proxies', self.proxies) + + # It's possible that users might accidentally send a Request object. + # Guard against that specific failure case. + if isinstance(request, Request): + raise ValueError('You can only send PreparedRequests.') + + # Set up variables needed for resolve_redirects and dispatching of hooks + allow_redirects = kwargs.pop('allow_redirects', True) + stream = kwargs.get('stream') + hooks = request.hooks + + # Get the appropriate adapter to use + adapter = self.get_adapter(url=request.url) + + # Start time (approximately) of the request + start = preferred_clock() + + # Send the request + r = adapter.send(request, **kwargs) + + # Total elapsed time of the request (approximately) + elapsed = preferred_clock() - start + r.elapsed = timedelta(seconds=elapsed) + + # Response manipulation hooks + r = dispatch_hook('response', hooks, r, **kwargs) + + # Persist cookies + if r.history: + + # If the hooks create history then we want those cookies too + for resp in r.history: + extract_cookies_to_jar(self.cookies, resp.request, resp.raw) + + extract_cookies_to_jar(self.cookies, request, r.raw) + + # Redirect resolving generator. + gen = self.resolve_redirects(r, request, **kwargs) + + # Resolve redirects if allowed. + history = [resp for resp in gen] if allow_redirects else [] + + # Shuffle things around if there's history. + if history: + # Insert the first (original) request at the start + history.insert(0, r) + # Get the last request made + r = history.pop() + r.history = history + + # If redirects aren't being followed, store the response on the Request for Response.next(). + if not allow_redirects: + try: + r._next = next(self.resolve_redirects(r, request, yield_requests=True, **kwargs)) + except StopIteration: + pass + + if not stream: + r.content + + return r + + def merge_environment_settings(self, url, proxies, stream, verify, cert): + """ + Check the environment and merge it with some settings. + + :rtype: dict + """ + # Gather clues from the surrounding environment. + if self.trust_env: + # Set environment's proxies. + no_proxy = proxies.get('no_proxy') if proxies is not None else None + env_proxies = get_environ_proxies(url, no_proxy=no_proxy) + for (k, v) in env_proxies.items(): + proxies.setdefault(k, v) + + # Look for requests environment configuration and be compatible + # with cURL. + if verify is True or verify is None: + verify = (os.environ.get('REQUESTS_CA_BUNDLE') or + os.environ.get('CURL_CA_BUNDLE')) + + # Merge all the kwargs. + proxies = merge_setting(proxies, self.proxies) + stream = merge_setting(stream, self.stream) + verify = merge_setting(verify, self.verify) + cert = merge_setting(cert, self.cert) + + return {'verify': verify, 'proxies': proxies, 'stream': stream, + 'cert': cert} + + def get_adapter(self, url): + """ + Returns the appropriate connection adapter for the given URL. + + :rtype: requests.adapters.BaseAdapter + """ + for (prefix, adapter) in self.adapters.items(): + + if url.lower().startswith(prefix.lower()): + return adapter + + # Nothing matches :-/ + raise InvalidSchema("No connection adapters were found for '%s'" % url) + + def close(self): + """Closes all adapters and as such the session""" + for v in self.adapters.values(): + v.close() + + def mount(self, prefix, adapter): + """Registers a connection adapter to a prefix. + + Adapters are sorted in descending order by prefix length. + """ + self.adapters[prefix] = adapter + keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] + + for key in keys_to_move: + self.adapters[key] = self.adapters.pop(key) + + def __getstate__(self): + state = {attr: getattr(self, attr, None) for attr in self.__attrs__} + return state + + def __setstate__(self, state): + for attr, value in state.items(): + setattr(self, attr, value) + + +def session(): + """ + Returns a :class:`Session` for context-management. + + .. deprecated:: 1.0.0 + + This method has been deprecated since version 1.0.0 and is only kept for + backwards compatibility. New code should use :class:`~requests.sessions.Session` + to create a session. This may be removed at a future date. + + :rtype: Session + """ + return Session() diff --git a/requests/status_codes.py b/requests/status_codes.py new file mode 100644 index 0000000..813e8c4 --- /dev/null +++ b/requests/status_codes.py @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- + +r""" +The ``codes`` object defines a mapping from common names for HTTP statuses +to their numerical codes, accessible either as attributes or as dictionary +items. + +>>> requests.codes['temporary_redirect'] +307 +>>> requests.codes.teapot +418 +>>> requests.codes['\o/'] +200 + +Some codes have multiple names, and both upper- and lower-case versions of +the names are allowed. For example, ``codes.ok``, ``codes.OK``, and +``codes.okay`` all correspond to the HTTP status code 200. +""" + +from .structures import LookupDict + +_codes = { + + # Informational. + 100: ('continue',), + 101: ('switching_protocols',), + 102: ('processing',), + 103: ('checkpoint',), + 122: ('uri_too_long', 'request_uri_too_long'), + 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), + 201: ('created',), + 202: ('accepted',), + 203: ('non_authoritative_info', 'non_authoritative_information'), + 204: ('no_content',), + 205: ('reset_content', 'reset'), + 206: ('partial_content', 'partial'), + 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), + 208: ('already_reported',), + 226: ('im_used',), + + # Redirection. + 300: ('multiple_choices',), + 301: ('moved_permanently', 'moved', '\\o-'), + 302: ('found',), + 303: ('see_other', 'other'), + 304: ('not_modified',), + 305: ('use_proxy',), + 306: ('switch_proxy',), + 307: ('temporary_redirect', 'temporary_moved', 'temporary'), + 308: ('permanent_redirect', + 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 + + # Client Error. + 400: ('bad_request', 'bad'), + 401: ('unauthorized',), + 402: ('payment_required', 'payment'), + 403: ('forbidden',), + 404: ('not_found', '-o-'), + 405: ('method_not_allowed', 'not_allowed'), + 406: ('not_acceptable',), + 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), + 408: ('request_timeout', 'timeout'), + 409: ('conflict',), + 410: ('gone',), + 411: ('length_required',), + 412: ('precondition_failed', 'precondition'), + 413: ('request_entity_too_large',), + 414: ('request_uri_too_large',), + 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), + 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), + 417: ('expectation_failed',), + 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), + 421: ('misdirected_request',), + 422: ('unprocessable_entity', 'unprocessable'), + 423: ('locked',), + 424: ('failed_dependency', 'dependency'), + 425: ('unordered_collection', 'unordered'), + 426: ('upgrade_required', 'upgrade'), + 428: ('precondition_required', 'precondition'), + 429: ('too_many_requests', 'too_many'), + 431: ('header_fields_too_large', 'fields_too_large'), + 444: ('no_response', 'none'), + 449: ('retry_with', 'retry'), + 450: ('blocked_by_windows_parental_controls', 'parental_controls'), + 451: ('unavailable_for_legal_reasons', 'legal_reasons'), + 499: ('client_closed_request',), + + # Server Error. + 500: ('internal_server_error', 'server_error', '/o\\', '✗'), + 501: ('not_implemented',), + 502: ('bad_gateway',), + 503: ('service_unavailable', 'unavailable'), + 504: ('gateway_timeout',), + 505: ('http_version_not_supported', 'http_version'), + 506: ('variant_also_negotiates',), + 507: ('insufficient_storage',), + 509: ('bandwidth_limit_exceeded', 'bandwidth'), + 510: ('not_extended',), + 511: ('network_authentication_required', 'network_auth', 'network_authentication'), +} + +codes = LookupDict(name='status_codes') + +def _init(): + for code, titles in _codes.items(): + for title in titles: + setattr(codes, title, code) + if not title.startswith(('\\', '/')): + setattr(codes, title.upper(), code) + + def doc(code): + names = ', '.join('``%s``' % n for n in _codes[code]) + return '* %d: %s' % (code, names) + + global __doc__ + __doc__ = (__doc__ + '\n' + + '\n'.join(doc(code) for code in sorted(_codes)) + if __doc__ is not None else None) + +_init() diff --git a/requests/structures.py b/requests/structures.py new file mode 100644 index 0000000..da930e2 --- /dev/null +++ b/requests/structures.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +""" +requests.structures +~~~~~~~~~~~~~~~~~~~ + +Data structures that power Requests. +""" + +from .compat import OrderedDict, Mapping, MutableMapping + + +class CaseInsensitiveDict(MutableMapping): + """A case-insensitive ``dict``-like object. + + Implements all methods and operations of + ``MutableMapping`` as well as dict's ``copy``. Also + provides ``lower_items``. + + All keys are expected to be strings. The structure remembers the + case of the last key to be set, and ``iter(instance)``, + ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` + will contain case-sensitive keys. However, querying and contains + testing is case insensitive:: + + cid = CaseInsensitiveDict() + cid['Accept'] = 'application/json' + cid['aCCEPT'] == 'application/json' # True + list(cid) == ['Accept'] # True + + For example, ``headers['content-encoding']`` will return the + value of a ``'Content-Encoding'`` response header, regardless + of how the header name was originally stored. + + If the constructor, ``.update``, or equality comparison + operations are given keys that have equal ``.lower()``s, the + behavior is undefined. + """ + + def __init__(self, data=None, **kwargs): + self._store = OrderedDict() + if data is None: + data = {} + self.update(data, **kwargs) + + def __setitem__(self, key, value): + # Use the lowercased key for lookups, but store the actual + # key alongside the value. + self._store[key.lower()] = (key, value) + + def __getitem__(self, key): + return self._store[key.lower()][1] + + def __delitem__(self, key): + del self._store[key.lower()] + + def __iter__(self): + return (casedkey for casedkey, mappedvalue in self._store.values()) + + def __len__(self): + return len(self._store) + + def lower_items(self): + """Like iteritems(), but with all lowercase keys.""" + return ( + (lowerkey, keyval[1]) + for (lowerkey, keyval) + in self._store.items() + ) + + def __eq__(self, other): + if isinstance(other, Mapping): + other = CaseInsensitiveDict(other) + else: + return NotImplemented + # Compare insensitively + return dict(self.lower_items()) == dict(other.lower_items()) + + # Copy is required + def copy(self): + return CaseInsensitiveDict(self._store.values()) + + def __repr__(self): + return str(dict(self.items())) + + +class LookupDict(dict): + """Dictionary lookup object.""" + + def __init__(self, name=None): + self.name = name + super(LookupDict, self).__init__() + + def __repr__(self): + return '' % (self.name) + + def __getitem__(self, key): + # We allow fall-through here, so values default to None + + return self.__dict__.get(key, None) + + def get(self, key, default=None): + return self.__dict__.get(key, default) diff --git a/requests/utils.py b/requests/utils.py new file mode 100644 index 0000000..8170a8d --- /dev/null +++ b/requests/utils.py @@ -0,0 +1,977 @@ +# -*- coding: utf-8 -*- + +""" +requests.utils +~~~~~~~~~~~~~~ + +This module provides utility functions that are used within Requests +that are also useful for external consumption. +""" + +import codecs +import contextlib +import io +import os +import re +import socket +import struct +import sys +import tempfile +import warnings +import zipfile + +from .__version__ import __version__ +from . import certs +# to_native_string is unused here, but imported here for backwards compatibility +from ._internal_utils import to_native_string +from .compat import parse_http_list as _parse_list_header +from .compat import ( + quote, urlparse, bytes, str, OrderedDict, unquote, getproxies, + proxy_bypass, urlunparse, basestring, integer_types, is_py3, + proxy_bypass_environment, getproxies_environment, Mapping) +from .cookies import cookiejar_from_dict +from .structures import CaseInsensitiveDict +from .exceptions import ( + InvalidURL, InvalidHeader, FileModeWarning, UnrewindableBodyError) + +NETRC_FILES = ('.netrc', '_netrc') + +DEFAULT_CA_BUNDLE_PATH = certs.where() + +DEFAULT_PORTS = {'http': 80, 'https': 443} + + +if sys.platform == 'win32': + # provide a proxy_bypass version on Windows without DNS lookups + + def proxy_bypass_registry(host): + try: + if is_py3: + import winreg + else: + import _winreg as winreg + except ImportError: + return False + + try: + internetSettings = winreg.OpenKey(winreg.HKEY_CURRENT_USER, + r'Software\Microsoft\Windows\CurrentVersion\Internet Settings') + # ProxyEnable could be REG_SZ or REG_DWORD, normalizing it + proxyEnable = int(winreg.QueryValueEx(internetSettings, + 'ProxyEnable')[0]) + # ProxyOverride is almost always a string + proxyOverride = winreg.QueryValueEx(internetSettings, + 'ProxyOverride')[0] + except OSError: + return False + if not proxyEnable or not proxyOverride: + return False + + # make a check value list from the registry entry: replace the + # '' string by the localhost entry and the corresponding + # canonical entry. + proxyOverride = proxyOverride.split(';') + # now check if we match one of the registry values. + for test in proxyOverride: + if test == '': + if '.' not in host: + return True + test = test.replace(".", r"\.") # mask dots + test = test.replace("*", r".*") # change glob sequence + test = test.replace("?", r".") # change glob char + if re.match(test, host, re.I): + return True + return False + + def proxy_bypass(host): # noqa + """Return True, if the host should be bypassed. + + Checks proxy settings gathered from the environment, if specified, + or the registry. + """ + if getproxies_environment(): + return proxy_bypass_environment(host) + else: + return proxy_bypass_registry(host) + + +def dict_to_sequence(d): + """Returns an internal sequence dictionary update.""" + + if hasattr(d, 'items'): + d = d.items() + + return d + + +def super_len(o): + total_length = None + current_position = 0 + + if hasattr(o, '__len__'): + total_length = len(o) + + elif hasattr(o, 'len'): + total_length = o.len + + elif hasattr(o, 'fileno'): + try: + fileno = o.fileno() + except io.UnsupportedOperation: + pass + else: + total_length = os.fstat(fileno).st_size + + # Having used fstat to determine the file length, we need to + # confirm that this file was opened up in binary mode. + if 'b' not in o.mode: + warnings.warn(( + "Requests has determined the content-length for this " + "request using the binary size of the file: however, the " + "file has been opened in text mode (i.e. without the 'b' " + "flag in the mode). This may lead to an incorrect " + "content-length. In Requests 3.0, support will be removed " + "for files in text mode."), + FileModeWarning + ) + + if hasattr(o, 'tell'): + try: + current_position = o.tell() + except (OSError, IOError): + # This can happen in some weird situations, such as when the file + # is actually a special file descriptor like stdin. In this + # instance, we don't know what the length is, so set it to zero and + # let requests chunk it instead. + if total_length is not None: + current_position = total_length + else: + if hasattr(o, 'seek') and total_length is None: + # StringIO and BytesIO have seek but no useable fileno + try: + # seek to end of file + o.seek(0, 2) + total_length = o.tell() + + # seek back to current position to support + # partially read file-like objects + o.seek(current_position or 0) + except (OSError, IOError): + total_length = 0 + + if total_length is None: + total_length = 0 + + return max(0, total_length - current_position) + + +def get_netrc_auth(url, raise_errors=False): + """Returns the Requests tuple auth for a given url from netrc.""" + + try: + from netrc import netrc, NetrcParseError + + netrc_path = None + + for f in NETRC_FILES: + try: + loc = os.path.expanduser('~/{}'.format(f)) + except KeyError: + # os.path.expanduser can fail when $HOME is undefined and + # getpwuid fails. See https://bugs.python.org/issue20164 & + # https://github.com/requests/requests/issues/1846 + return + + if os.path.exists(loc): + netrc_path = loc + break + + # Abort early if there isn't one. + if netrc_path is None: + return + + ri = urlparse(url) + + # Strip port numbers from netloc. This weird `if...encode`` dance is + # used for Python 3.2, which doesn't support unicode literals. + splitstr = b':' + if isinstance(url, str): + splitstr = splitstr.decode('ascii') + host = ri.netloc.split(splitstr)[0] + + try: + _netrc = netrc(netrc_path).authenticators(host) + if _netrc: + # Return with login / password + login_i = (0 if _netrc[0] else 1) + return (_netrc[login_i], _netrc[2]) + except (NetrcParseError, IOError): + # If there was a parsing error or a permissions issue reading the file, + # we'll just skip netrc auth unless explicitly asked to raise errors. + if raise_errors: + raise + + # AppEngine hackiness. + except (ImportError, AttributeError): + pass + + +def guess_filename(obj): + """Tries to guess the filename of the given object.""" + name = getattr(obj, 'name', None) + if (name and isinstance(name, basestring) and name[0] != '<' and + name[-1] != '>'): + return os.path.basename(name) + + +def extract_zipped_paths(path): + """Replace nonexistent paths that look like they refer to a member of a zip + archive with the location of an extracted copy of the target, or else + just return the provided path unchanged. + """ + if os.path.exists(path): + # this is already a valid path, no need to do anything further + return path + + # find the first valid part of the provided path and treat that as a zip archive + # assume the rest of the path is the name of a member in the archive + archive, member = os.path.split(path) + while archive and not os.path.exists(archive): + archive, prefix = os.path.split(archive) + member = '/'.join([prefix, member]) + + if not zipfile.is_zipfile(archive): + return path + + zip_file = zipfile.ZipFile(archive) + if member not in zip_file.namelist(): + return path + + # we have a valid zip archive and a valid member of that archive + tmp = tempfile.gettempdir() + extracted_path = os.path.join(tmp, *member.split('/')) + if not os.path.exists(extracted_path): + extracted_path = zip_file.extract(member, path=tmp) + + return extracted_path + + +def from_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. Unless it can not be represented as such, return an + OrderedDict, e.g., + + :: + + >>> from_key_val_list([('key', 'val')]) + OrderedDict([('key', 'val')]) + >>> from_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples + >>> from_key_val_list({'key': 'val'}) + OrderedDict([('key', 'val')]) + + :rtype: OrderedDict + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + return OrderedDict(value) + + +def to_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. If it can be, return a list of tuples, e.g., + + :: + + >>> to_key_val_list([('key', 'val')]) + [('key', 'val')] + >>> to_key_val_list({'key': 'val'}) + [('key', 'val')] + >>> to_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples. + + :rtype: list + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + if isinstance(value, Mapping): + value = value.items() + + return list(value) + + +# From mitsuhiko/werkzeug (used with permission). +def parse_list_header(value): + """Parse lists as described by RFC 2068 Section 2. + + In particular, parse comma-separated lists where the elements of + the list may include quoted-strings. A quoted-string could + contain a comma. A non-quoted string could have quotes in the + middle. Quotes are removed automatically after parsing. + + It basically works like :func:`parse_set_header` just that items + may appear multiple times and case sensitivity is preserved. + + The return value is a standard :class:`list`: + + >>> parse_list_header('token, "quoted value"') + ['token', 'quoted value'] + + To create a header from the :class:`list` again, use the + :func:`dump_header` function. + + :param value: a string with a list header. + :return: :class:`list` + :rtype: list + """ + result = [] + for item in _parse_list_header(value): + if item[:1] == item[-1:] == '"': + item = unquote_header_value(item[1:-1]) + result.append(item) + return result + + +# From mitsuhiko/werkzeug (used with permission). +def parse_dict_header(value): + """Parse lists of key, value pairs as described by RFC 2068 Section 2 and + convert them into a python dict: + + >>> d = parse_dict_header('foo="is a fish", bar="as well"') + >>> type(d) is dict + True + >>> sorted(d.items()) + [('bar', 'as well'), ('foo', 'is a fish')] + + If there is no value for a key it will be `None`: + + >>> parse_dict_header('key_without_value') + {'key_without_value': None} + + To create a header from the :class:`dict` again, use the + :func:`dump_header` function. + + :param value: a string with a dict header. + :return: :class:`dict` + :rtype: dict + """ + result = {} + for item in _parse_list_header(value): + if '=' not in item: + result[item] = None + continue + name, value = item.split('=', 1) + if value[:1] == value[-1:] == '"': + value = unquote_header_value(value[1:-1]) + result[name] = value + return result + + +# From mitsuhiko/werkzeug (used with permission). +def unquote_header_value(value, is_filename=False): + r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). + This does not use the real unquoting but what browsers are actually + using for quoting. + + :param value: the header value to unquote. + :rtype: str + """ + if value and value[0] == value[-1] == '"': + # this is not the real unquoting, but fixing this so that the + # RFC is met will result in bugs with internet explorer and + # probably some other browsers as well. IE for example is + # uploading files with "C:\foo\bar.txt" as filename + value = value[1:-1] + + # if this is a filename and the starting characters look like + # a UNC path, then just return the value without quotes. Using the + # replace sequence below on a UNC path has the effect of turning + # the leading double slash into a single slash and then + # _fix_ie_filename() doesn't work correctly. See #458. + if not is_filename or value[:2] != '\\\\': + return value.replace('\\\\', '\\').replace('\\"', '"') + return value + + +def dict_from_cookiejar(cj): + """Returns a key/value dictionary from a CookieJar. + + :param cj: CookieJar object to extract cookies from. + :rtype: dict + """ + + cookie_dict = {} + + for cookie in cj: + cookie_dict[cookie.name] = cookie.value + + return cookie_dict + + +def add_dict_to_cookiejar(cj, cookie_dict): + """Returns a CookieJar from a key/value dictionary. + + :param cj: CookieJar to insert cookies into. + :param cookie_dict: Dict of key/values to insert into CookieJar. + :rtype: CookieJar + """ + + return cookiejar_from_dict(cookie_dict, cj) + + +def get_encodings_from_content(content): + """Returns encodings from given content string. + + :param content: bytestring to extract encodings from. + """ + warnings.warn(( + 'In requests 3.0, get_encodings_from_content will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + charset_re = re.compile(r']', flags=re.I) + pragma_re = re.compile(r']', flags=re.I) + xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') + + return (charset_re.findall(content) + + pragma_re.findall(content) + + xml_re.findall(content)) + + +def _parse_content_type_header(header): + """Returns content type and parameters from given header + + :param header: string + :return: tuple containing content type and dictionary of + parameters + """ + + tokens = header.split(';') + content_type, params = tokens[0].strip(), tokens[1:] + params_dict = {} + items_to_strip = "\"' " + + for param in params: + param = param.strip() + if param: + key, value = param, True + index_of_equals = param.find("=") + if index_of_equals != -1: + key = param[:index_of_equals].strip(items_to_strip) + value = param[index_of_equals + 1:].strip(items_to_strip) + params_dict[key.lower()] = value + return content_type, params_dict + + +def get_encoding_from_headers(headers): + """Returns encodings from given HTTP Header Dict. + + :param headers: dictionary to extract encoding from. + :rtype: str + """ + + content_type = headers.get('content-type') + + if not content_type: + return None + + content_type, params = _parse_content_type_header(content_type) + + if 'charset' in params: + return params['charset'].strip("'\"") + + if 'text' in content_type: + return 'ISO-8859-1' + + +def stream_decode_response_unicode(iterator, r): + """Stream decodes a iterator.""" + + if r.encoding is None: + for item in iterator: + yield item + return + + decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') + for chunk in iterator: + rv = decoder.decode(chunk) + if rv: + yield rv + rv = decoder.decode(b'', final=True) + if rv: + yield rv + + +def iter_slices(string, slice_length): + """Iterate over slices of a string.""" + pos = 0 + if slice_length is None or slice_length <= 0: + slice_length = len(string) + while pos < len(string): + yield string[pos:pos + slice_length] + pos += slice_length + + +def get_unicode_from_response(r): + """Returns the requested content back in unicode. + + :param r: Response object to get unicode content from. + + Tried: + + 1. charset from content-type + 2. fall back and replace all unicode characters + + :rtype: str + """ + warnings.warn(( + 'In requests 3.0, get_unicode_from_response will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + tried_encodings = [] + + # Try charset from content-type + encoding = get_encoding_from_headers(r.headers) + + if encoding: + try: + return str(r.content, encoding) + except UnicodeError: + tried_encodings.append(encoding) + + # Fall back: + try: + return str(r.content, encoding, errors='replace') + except TypeError: + return r.content + + +# The unreserved URI characters (RFC 3986) +UNRESERVED_SET = frozenset( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + "0123456789-._~") + + +def unquote_unreserved(uri): + """Un-escape any percent-escape sequences in a URI that are unreserved + characters. This leaves all reserved, illegal and non-ASCII bytes encoded. + + :rtype: str + """ + parts = uri.split('%') + for i in range(1, len(parts)): + h = parts[i][0:2] + if len(h) == 2 and h.isalnum(): + try: + c = chr(int(h, 16)) + except ValueError: + raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) + + if c in UNRESERVED_SET: + parts[i] = c + parts[i][2:] + else: + parts[i] = '%' + parts[i] + else: + parts[i] = '%' + parts[i] + return ''.join(parts) + + +def requote_uri(uri): + """Re-quote the given URI. + + This function passes the given URI through an unquote/quote cycle to + ensure that it is fully and consistently quoted. + + :rtype: str + """ + safe_with_percent = "!#$%&'()*+,/:;=?@[]~" + safe_without_percent = "!#$&'()*+,/:;=?@[]~" + try: + # Unquote only the unreserved characters + # Then quote only illegal characters (do not quote reserved, + # unreserved, or '%') + return quote(unquote_unreserved(uri), safe=safe_with_percent) + except InvalidURL: + # We couldn't unquote the given URI, so let's try quoting it, but + # there may be unquoted '%'s in the URI. We need to make sure they're + # properly quoted so they do not cause issues elsewhere. + return quote(uri, safe=safe_without_percent) + + +def address_in_network(ip, net): + """This function allows you to check if an IP belongs to a network subnet + + Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 + returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 + + :rtype: bool + """ + ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] + netaddr, bits = net.split('/') + netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] + network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask + return (ipaddr & netmask) == (network & netmask) + + +def dotted_netmask(mask): + """Converts mask from /xx format to xxx.xxx.xxx.xxx + + Example: if mask is 24 function returns 255.255.255.0 + + :rtype: str + """ + bits = 0xffffffff ^ (1 << 32 - mask) - 1 + return socket.inet_ntoa(struct.pack('>I', bits)) + + +def is_ipv4_address(string_ip): + """ + :rtype: bool + """ + try: + socket.inet_aton(string_ip) + except socket.error: + return False + return True + + +def is_valid_cidr(string_network): + """ + Very simple check of the cidr format in no_proxy variable. + + :rtype: bool + """ + if string_network.count('/') == 1: + try: + mask = int(string_network.split('/')[1]) + except ValueError: + return False + + if mask < 1 or mask > 32: + return False + + try: + socket.inet_aton(string_network.split('/')[0]) + except socket.error: + return False + else: + return False + return True + + +@contextlib.contextmanager +def set_environ(env_name, value): + """Set the environment variable 'env_name' to 'value' + + Save previous value, yield, and then restore the previous value stored in + the environment variable 'env_name'. + + If 'value' is None, do nothing""" + value_changed = value is not None + if value_changed: + old_value = os.environ.get(env_name) + os.environ[env_name] = value + try: + yield + finally: + if value_changed: + if old_value is None: + del os.environ[env_name] + else: + os.environ[env_name] = old_value + + +def should_bypass_proxies(url, no_proxy): + """ + Returns whether we should bypass proxies or not. + + :rtype: bool + """ + # Prioritize lowercase environment variables over uppercase + # to keep a consistent behaviour with other http projects (curl, wget). + get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) + + # First check whether no_proxy is defined. If it is, check that the URL + # we're getting isn't in the no_proxy list. + no_proxy_arg = no_proxy + if no_proxy is None: + no_proxy = get_proxy('no_proxy') + parsed = urlparse(url) + + if parsed.hostname is None: + # URLs don't always have hostnames, e.g. file:/// urls. + return True + + if no_proxy: + # We need to check whether we match here. We need to see if we match + # the end of the hostname, both with and without the port. + no_proxy = ( + host for host in no_proxy.replace(' ', '').split(',') if host + ) + + if is_ipv4_address(parsed.hostname): + for proxy_ip in no_proxy: + if is_valid_cidr(proxy_ip): + if address_in_network(parsed.hostname, proxy_ip): + return True + elif parsed.hostname == proxy_ip: + # If no_proxy ip was defined in plain IP notation instead of cidr notation & + # matches the IP of the index + return True + else: + host_with_port = parsed.hostname + if parsed.port: + host_with_port += ':{}'.format(parsed.port) + + for host in no_proxy: + if parsed.hostname.endswith(host) or host_with_port.endswith(host): + # The URL does match something in no_proxy, so we don't want + # to apply the proxies on this URL. + return True + + with set_environ('no_proxy', no_proxy_arg): + # parsed.hostname can be `None` in cases such as a file URI. + try: + bypass = proxy_bypass(parsed.hostname) + except (TypeError, socket.gaierror): + bypass = False + + if bypass: + return True + + return False + + +def get_environ_proxies(url, no_proxy=None): + """ + Return a dict of environment proxies. + + :rtype: dict + """ + if should_bypass_proxies(url, no_proxy=no_proxy): + return {} + else: + return getproxies() + + +def select_proxy(url, proxies): + """Select a proxy for the url, if applicable. + + :param url: The url being for the request + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs + """ + proxies = proxies or {} + urlparts = urlparse(url) + if urlparts.hostname is None: + return proxies.get(urlparts.scheme, proxies.get('all')) + + proxy_keys = [ + urlparts.scheme + '://' + urlparts.hostname, + urlparts.scheme, + 'all://' + urlparts.hostname, + 'all', + ] + proxy = None + for proxy_key in proxy_keys: + if proxy_key in proxies: + proxy = proxies[proxy_key] + break + + return proxy + + +def default_user_agent(name="python-requests"): + """ + Return a string representing the default user agent. + + :rtype: str + """ + return '%s/%s' % (name, __version__) + + +def default_headers(): + """ + :rtype: requests.structures.CaseInsensitiveDict + """ + return CaseInsensitiveDict({ + 'User-Agent': default_user_agent(), + 'Accept-Encoding': ', '.join(('gzip', 'deflate')), + 'Accept': '*/*', + 'Connection': 'keep-alive', + }) + + +def parse_header_links(value): + """Return a list of parsed link headers proxies. + + i.e. Link: ; rel=front; type="image/jpeg",; rel=back;type="image/jpeg" + + :rtype: list + """ + + links = [] + + replace_chars = ' \'"' + + value = value.strip(replace_chars) + if not value: + return links + + for val in re.split(', *<', value): + try: + url, params = val.split(';', 1) + except ValueError: + url, params = val, '' + + link = {'url': url.strip('<> \'"')} + + for param in params.split(';'): + try: + key, value = param.split('=') + except ValueError: + break + + link[key.strip(replace_chars)] = value.strip(replace_chars) + + links.append(link) + + return links + + +# Null bytes; no need to recreate these on each call to guess_json_utf +_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 +_null2 = _null * 2 +_null3 = _null * 3 + + +def guess_json_utf(data): + """ + :rtype: str + """ + # JSON always starts with two ASCII characters, so detection is as + # easy as counting the nulls and from their location and count + # determine the encoding. Also detect a BOM, if present. + sample = data[:4] + if sample in (codecs.BOM_UTF32_LE, codecs.BOM_UTF32_BE): + return 'utf-32' # BOM included + if sample[:3] == codecs.BOM_UTF8: + return 'utf-8-sig' # BOM included, MS style (discouraged) + if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): + return 'utf-16' # BOM included + nullcount = sample.count(_null) + if nullcount == 0: + return 'utf-8' + if nullcount == 2: + if sample[::2] == _null2: # 1st and 3rd are null + return 'utf-16-be' + if sample[1::2] == _null2: # 2nd and 4th are null + return 'utf-16-le' + # Did not detect 2 valid UTF-16 ascii-range characters + if nullcount == 3: + if sample[:3] == _null3: + return 'utf-32-be' + if sample[1:] == _null3: + return 'utf-32-le' + # Did not detect a valid UTF-32 ascii-range character + return None + + +def prepend_scheme_if_needed(url, new_scheme): + """Given a URL that may or may not have a scheme, prepend the given scheme. + Does not replace a present scheme with the one provided as an argument. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) + + # urlparse is a finicky beast, and sometimes decides that there isn't a + # netloc present. Assume that it's being over-cautious, and switch netloc + # and path if urlparse decided there was no netloc. + if not netloc: + netloc, path = path, netloc + + return urlunparse((scheme, netloc, path, params, query, fragment)) + + +def get_auth_from_url(url): + """Given a url with authentication components, extract them into a tuple of + username,password. + + :rtype: (str,str) + """ + parsed = urlparse(url) + + try: + auth = (unquote(parsed.username), unquote(parsed.password)) + except (AttributeError, TypeError): + auth = ('', '') + + return auth + + +# Moved outside of function to avoid recompile every call +_CLEAN_HEADER_REGEX_BYTE = re.compile(b'^\\S[^\\r\\n]*$|^$') +_CLEAN_HEADER_REGEX_STR = re.compile(r'^\S[^\r\n]*$|^$') + + +def check_header_validity(header): + """Verifies that header value is a string which doesn't contain + leading whitespace or return characters. This prevents unintended + header injection. + + :param header: tuple, in the format (name, value). + """ + name, value = header + + if isinstance(value, bytes): + pat = _CLEAN_HEADER_REGEX_BYTE + else: + pat = _CLEAN_HEADER_REGEX_STR + try: + if not pat.match(value): + raise InvalidHeader("Invalid return character or leading space in header: %s" % name) + except TypeError: + raise InvalidHeader("Value for header {%s: %s} must be of type str or " + "bytes, not %s" % (name, value, type(value))) + + +def urldefragauth(url): + """ + Given a url remove the fragment and the authentication part. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url) + + # see func:`prepend_scheme_if_needed` + if not netloc: + netloc, path = path, netloc + + netloc = netloc.rsplit('@', 1)[-1] + + return urlunparse((scheme, netloc, path, params, query, '')) + + +def rewind_body(prepared_request): + """Move file pointer back to its recorded starting position + so it can be read again on redirect. + """ + body_seek = getattr(prepared_request.body, 'seek', None) + if body_seek is not None and isinstance(prepared_request._body_position, integer_types): + try: + body_seek(prepared_request._body_position) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect.") + else: + raise UnrewindableBodyError("Unable to rewind request body for redirect.") diff --git a/set_info.py b/set_info.py index 1393255..5a7a0a3 100755 --- a/set_info.py +++ b/set_info.py @@ -1,12 +1,14 @@ #!/usr/bin/python # encoding: utf-8 +import sys from gist import create_workflow, set_github_token from workflow import Workflow, web from workflow.background import run_in_background, is_running def main(wf): + arg = wf.args[0] if len(arg) > 0: token = wf.args[0] set_github_token(wf, token) diff --git a/urllib3/__init__.py b/urllib3/__init__.py new file mode 100644 index 0000000..2489657 --- /dev/null +++ b/urllib3/__init__.py @@ -0,0 +1,92 @@ +""" +urllib3 - Thread-safe connection pooling and re-using. +""" + +from __future__ import absolute_import +import warnings + +from .connectionpool import ( + HTTPConnectionPool, + HTTPSConnectionPool, + connection_from_url +) + +from . import exceptions +from .filepost import encode_multipart_formdata +from .poolmanager import PoolManager, ProxyManager, proxy_from_url +from .response import HTTPResponse +from .util.request import make_headers +from .util.url import get_host +from .util.timeout import Timeout +from .util.retry import Retry + + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' +__license__ = 'MIT' +__version__ = '1.24.3' + +__all__ = ( + 'HTTPConnectionPool', + 'HTTPSConnectionPool', + 'PoolManager', + 'ProxyManager', + 'HTTPResponse', + 'Retry', + 'Timeout', + 'add_stderr_logger', + 'connection_from_url', + 'disable_warnings', + 'encode_multipart_formdata', + 'get_host', + 'make_headers', + 'proxy_from_url', +) + +logging.getLogger(__name__).addHandler(NullHandler()) + + +def add_stderr_logger(level=logging.DEBUG): + """ + Helper for quickly adding a StreamHandler to the logger. Useful for + debugging. + + Returns the handler after adding it. + """ + # This method needs to be in this __init__.py to get the __name__ correct + # even if urllib3 is vendored within another package. + logger = logging.getLogger(__name__) + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) + logger.addHandler(handler) + logger.setLevel(level) + logger.debug('Added a stderr logging handler to logger: %s', __name__) + return handler + + +# ... Clean up. +del NullHandler + + +# All warning filters *must* be appended unless you're really certain that they +# shouldn't be: otherwise, it's very hard for users to use most Python +# mechanisms to silence them. +# SecurityWarning's always go off by default. +warnings.simplefilter('always', exceptions.SecurityWarning, append=True) +# SubjectAltNameWarning's should go off once per host +warnings.simplefilter('default', exceptions.SubjectAltNameWarning, append=True) +# InsecurePlatformWarning's don't vary between requests, so we keep it default. +warnings.simplefilter('default', exceptions.InsecurePlatformWarning, + append=True) +# SNIMissingWarnings should go off only once. +warnings.simplefilter('default', exceptions.SNIMissingWarning, append=True) + + +def disable_warnings(category=exceptions.HTTPWarning): + """ + Helper for quickly disabling all urllib3 warnings. + """ + warnings.simplefilter('ignore', category) diff --git a/urllib3/_collections.py b/urllib3/_collections.py new file mode 100644 index 0000000..34f2381 --- /dev/null +++ b/urllib3/_collections.py @@ -0,0 +1,329 @@ +from __future__ import absolute_import +try: + from collections.abc import Mapping, MutableMapping +except ImportError: + from collections import Mapping, MutableMapping +try: + from threading import RLock +except ImportError: # Platform-specific: No threads available + class RLock: + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_value, traceback): + pass + + +from collections import OrderedDict +from .exceptions import InvalidHeader +from .packages.six import iterkeys, itervalues, PY3 + + +__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] + + +_Null = object() + + +class RecentlyUsedContainer(MutableMapping): + """ + Provides a thread-safe dict-like container which maintains up to + ``maxsize`` keys while throwing away the least-recently-used keys beyond + ``maxsize``. + + :param maxsize: + Maximum number of recent elements to retain. + + :param dispose_func: + Every time an item is evicted from the container, + ``dispose_func(value)`` is called. Callback which will get called + """ + + ContainerCls = OrderedDict + + def __init__(self, maxsize=10, dispose_func=None): + self._maxsize = maxsize + self.dispose_func = dispose_func + + self._container = self.ContainerCls() + self.lock = RLock() + + def __getitem__(self, key): + # Re-insert the item, moving it to the end of the eviction line. + with self.lock: + item = self._container.pop(key) + self._container[key] = item + return item + + def __setitem__(self, key, value): + evicted_value = _Null + with self.lock: + # Possibly evict the existing value of 'key' + evicted_value = self._container.get(key, _Null) + self._container[key] = value + + # If we didn't evict an existing value, we might have to evict the + # least recently used item from the beginning of the container. + if len(self._container) > self._maxsize: + _key, evicted_value = self._container.popitem(last=False) + + if self.dispose_func and evicted_value is not _Null: + self.dispose_func(evicted_value) + + def __delitem__(self, key): + with self.lock: + value = self._container.pop(key) + + if self.dispose_func: + self.dispose_func(value) + + def __len__(self): + with self.lock: + return len(self._container) + + def __iter__(self): + raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') + + def clear(self): + with self.lock: + # Copy pointers to all values, then wipe the mapping + values = list(itervalues(self._container)) + self._container.clear() + + if self.dispose_func: + for value in values: + self.dispose_func(value) + + def keys(self): + with self.lock: + return list(iterkeys(self._container)) + + +class HTTPHeaderDict(MutableMapping): + """ + :param headers: + An iterable of field-value pairs. Must not contain multiple field names + when compared case-insensitively. + + :param kwargs: + Additional field-value pairs to pass in to ``dict.update``. + + A ``dict`` like container for storing HTTP Headers. + + Field names are stored and compared case-insensitively in compliance with + RFC 7230. Iteration provides the first case-sensitive key seen for each + case-insensitive pair. + + Using ``__setitem__`` syntax overwrites fields that compare equal + case-insensitively in order to maintain ``dict``'s api. For fields that + compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` + in a loop. + + If multiple fields that are equal case-insensitively are passed to the + constructor or ``.update``, the behavior is undefined and some will be + lost. + + >>> headers = HTTPHeaderDict() + >>> headers.add('Set-Cookie', 'foo=bar') + >>> headers.add('set-cookie', 'baz=quxx') + >>> headers['content-length'] = '7' + >>> headers['SET-cookie'] + 'foo=bar, baz=quxx' + >>> headers['Content-Length'] + '7' + """ + + def __init__(self, headers=None, **kwargs): + super(HTTPHeaderDict, self).__init__() + self._container = OrderedDict() + if headers is not None: + if isinstance(headers, HTTPHeaderDict): + self._copy_from(headers) + else: + self.extend(headers) + if kwargs: + self.extend(kwargs) + + def __setitem__(self, key, val): + self._container[key.lower()] = [key, val] + return self._container[key.lower()] + + def __getitem__(self, key): + val = self._container[key.lower()] + return ', '.join(val[1:]) + + def __delitem__(self, key): + del self._container[key.lower()] + + def __contains__(self, key): + return key.lower() in self._container + + def __eq__(self, other): + if not isinstance(other, Mapping) and not hasattr(other, 'keys'): + return False + if not isinstance(other, type(self)): + other = type(self)(other) + return (dict((k.lower(), v) for k, v in self.itermerged()) == + dict((k.lower(), v) for k, v in other.itermerged())) + + def __ne__(self, other): + return not self.__eq__(other) + + if not PY3: # Python 2 + iterkeys = MutableMapping.iterkeys + itervalues = MutableMapping.itervalues + + __marker = object() + + def __len__(self): + return len(self._container) + + def __iter__(self): + # Only provide the originally cased names + for vals in self._container.values(): + yield vals[0] + + def pop(self, key, default=__marker): + '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + ''' + # Using the MutableMapping function directly fails due to the private marker. + # Using ordinary dict.pop would expose the internal structures. + # So let's reinvent the wheel. + try: + value = self[key] + except KeyError: + if default is self.__marker: + raise + return default + else: + del self[key] + return value + + def discard(self, key): + try: + del self[key] + except KeyError: + pass + + def add(self, key, val): + """Adds a (name, value) pair, doesn't overwrite the value if it already + exists. + + >>> headers = HTTPHeaderDict(foo='bar') + >>> headers.add('Foo', 'baz') + >>> headers['foo'] + 'bar, baz' + """ + key_lower = key.lower() + new_vals = [key, val] + # Keep the common case aka no item present as fast as possible + vals = self._container.setdefault(key_lower, new_vals) + if new_vals is not vals: + vals.append(val) + + def extend(self, *args, **kwargs): + """Generic import function for any type of header-like object. + Adapted version of MutableMapping.update in order to insert items + with self.add instead of self.__setitem__ + """ + if len(args) > 1: + raise TypeError("extend() takes at most 1 positional " + "arguments ({0} given)".format(len(args))) + other = args[0] if len(args) >= 1 else () + + if isinstance(other, HTTPHeaderDict): + for key, val in other.iteritems(): + self.add(key, val) + elif isinstance(other, Mapping): + for key in other: + self.add(key, other[key]) + elif hasattr(other, "keys"): + for key in other.keys(): + self.add(key, other[key]) + else: + for key, value in other: + self.add(key, value) + + for key, value in kwargs.items(): + self.add(key, value) + + def getlist(self, key, default=__marker): + """Returns a list of all the values for the named field. Returns an + empty list if the key doesn't exist.""" + try: + vals = self._container[key.lower()] + except KeyError: + if default is self.__marker: + return [] + return default + else: + return vals[1:] + + # Backwards compatibility for httplib + getheaders = getlist + getallmatchingheaders = getlist + iget = getlist + + # Backwards compatibility for http.cookiejar + get_all = getlist + + def __repr__(self): + return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) + + def _copy_from(self, other): + for key in other: + val = other.getlist(key) + if isinstance(val, list): + # Don't need to convert tuples + val = list(val) + self._container[key.lower()] = [key] + val + + def copy(self): + clone = type(self)() + clone._copy_from(self) + return clone + + def iteritems(self): + """Iterate over all header lines, including duplicate ones.""" + for key in self: + vals = self._container[key.lower()] + for val in vals[1:]: + yield vals[0], val + + def itermerged(self): + """Iterate over all headers, merging duplicate ones together.""" + for key in self: + val = self._container[key.lower()] + yield val[0], ', '.join(val[1:]) + + def items(self): + return list(self.iteritems()) + + @classmethod + def from_httplib(cls, message): # Python 2 + """Read headers from a Python 2 httplib message object.""" + # python2.7 does not expose a proper API for exporting multiheaders + # efficiently. This function re-reads raw lines from the message + # object and extracts the multiheaders properly. + obs_fold_continued_leaders = (' ', '\t') + headers = [] + + for line in message.headers: + if line.startswith(obs_fold_continued_leaders): + if not headers: + # We received a header line that starts with OWS as described + # in RFC-7230 S3.2.4. This indicates a multiline header, but + # there exists no previous header to which we can attach it. + raise InvalidHeader( + 'Header continuation with no previous header: %s' % line + ) + else: + key, value = headers[-1] + headers[-1] = (key, value + ' ' + line.strip()) + continue + + key, value = line.split(':', 1) + headers.append((key, value.strip())) + + return cls(headers) diff --git a/urllib3/connection.py b/urllib3/connection.py new file mode 100644 index 0000000..ba269b7 --- /dev/null +++ b/urllib3/connection.py @@ -0,0 +1,391 @@ +from __future__ import absolute_import +import datetime +import logging +import os +import socket +from socket import error as SocketError, timeout as SocketTimeout +import warnings +from .packages import six +from .packages.six.moves.http_client import HTTPConnection as _HTTPConnection +from .packages.six.moves.http_client import HTTPException # noqa: F401 + +try: # Compiled with SSL? + import ssl + BaseSSLError = ssl.SSLError +except (ImportError, AttributeError): # Platform-specific: No SSL. + ssl = None + + class BaseSSLError(BaseException): + pass + + +try: # Python 3: + # Not a no-op, we're adding this to the namespace so it can be imported. + ConnectionError = ConnectionError +except NameError: # Python 2: + class ConnectionError(Exception): + pass + + +from .exceptions import ( + NewConnectionError, + ConnectTimeoutError, + SubjectAltNameWarning, + SystemTimeWarning, +) +from .packages.ssl_match_hostname import match_hostname, CertificateError + +from .util.ssl_ import ( + resolve_cert_reqs, + resolve_ssl_version, + assert_fingerprint, + create_urllib3_context, + ssl_wrap_socket +) + + +from .util import connection + +from ._collections import HTTPHeaderDict + +log = logging.getLogger(__name__) + +port_by_scheme = { + 'http': 80, + 'https': 443, +} + +# When updating RECENT_DATE, move it to within two years of the current date, +# and not less than 6 months ago. +# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or +# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) +RECENT_DATE = datetime.date(2017, 6, 30) + + +class DummyConnection(object): + """Used to detect a failed ConnectionCls import.""" + pass + + +class HTTPConnection(_HTTPConnection, object): + """ + Based on httplib.HTTPConnection but provides an extra constructor + backwards-compatibility layer between older and newer Pythons. + + Additional keyword parameters are used to configure attributes of the connection. + Accepted parameters include: + + - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` + - ``source_address``: Set the source address for the current connection. + - ``socket_options``: Set specific options on the underlying socket. If not specified, then + defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling + Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. + + For example, if you wish to enable TCP Keep Alive in addition to the defaults, + you might pass:: + + HTTPConnection.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), + ] + + Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). + """ + + default_port = port_by_scheme['http'] + + #: Disable Nagle's algorithm by default. + #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` + default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] + + #: Whether this connection verifies the host's certificate. + is_verified = False + + def __init__(self, *args, **kw): + if six.PY3: # Python 3 + kw.pop('strict', None) + + # Pre-set source_address. + self.source_address = kw.get('source_address') + + #: The socket options provided by the user. If no options are + #: provided, we use the default options. + self.socket_options = kw.pop('socket_options', self.default_socket_options) + + _HTTPConnection.__init__(self, *args, **kw) + + @property + def host(self): + """ + Getter method to remove any trailing dots that indicate the hostname is an FQDN. + + In general, SSL certificates don't include the trailing dot indicating a + fully-qualified domain name, and thus, they don't validate properly when + checked against a domain name that includes the dot. In addition, some + servers may not expect to receive the trailing dot when provided. + + However, the hostname with trailing dot is critical to DNS resolution; doing a + lookup with the trailing dot will properly only resolve the appropriate FQDN, + whereas a lookup without a trailing dot will search the system's search domain + list. Thus, it's important to keep the original host around for use only in + those cases where it's appropriate (i.e., when doing DNS lookup to establish the + actual TCP connection across which we're going to send HTTP requests). + """ + return self._dns_host.rstrip('.') + + @host.setter + def host(self, value): + """ + Setter for the `host` property. + + We assume that only urllib3 uses the _dns_host attribute; httplib itself + only uses `host`, and it seems reasonable that other libraries follow suit. + """ + self._dns_host = value + + def _new_conn(self): + """ Establish a socket connection and set nodelay settings on it. + + :return: New socket connection. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = connection.create_connection( + (self._dns_host, self.port), self.timeout, **extra_kw) + + except SocketTimeout: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except SocketError as e: + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + def _prepare_conn(self, conn): + self.sock = conn + if self._tunnel_host: + # TODO: Fix tunnel so it doesn't depend on self.sock state. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + def request_chunked(self, method, url, body=None, headers=None): + """ + Alternative to the common request method, which sends the + body with chunked encoding and not as one block + """ + headers = HTTPHeaderDict(headers if headers is not None else {}) + skip_accept_encoding = 'accept-encoding' in headers + skip_host = 'host' in headers + self.putrequest( + method, + url, + skip_accept_encoding=skip_accept_encoding, + skip_host=skip_host + ) + for header, value in headers.items(): + self.putheader(header, value) + if 'transfer-encoding' not in headers: + self.putheader('Transfer-Encoding', 'chunked') + self.endheaders() + + if body is not None: + stringish_types = six.string_types + (bytes,) + if isinstance(body, stringish_types): + body = (body,) + for chunk in body: + if not chunk: + continue + if not isinstance(chunk, bytes): + chunk = chunk.encode('utf8') + len_str = hex(len(chunk))[2:] + self.send(len_str.encode('utf-8')) + self.send(b'\r\n') + self.send(chunk) + self.send(b'\r\n') + + # After the if clause, to always have a closed body + self.send(b'0\r\n\r\n') + + +class HTTPSConnection(HTTPConnection): + default_port = port_by_scheme['https'] + + ssl_version = None + + def __init__(self, host, port=None, key_file=None, cert_file=None, + strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + ssl_context=None, server_hostname=None, **kw): + + HTTPConnection.__init__(self, host, port, strict=strict, + timeout=timeout, **kw) + + self.key_file = key_file + self.cert_file = cert_file + self.ssl_context = ssl_context + self.server_hostname = server_hostname + + # Required property for Google AppEngine 1.9.0 which otherwise causes + # HTTPS requests to go out as HTTP. (See Issue #356) + self._protocol = 'https' + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(None), + cert_reqs=resolve_cert_reqs(None), + ) + + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ssl_context=self.ssl_context, + server_hostname=self.server_hostname + ) + + +class VerifiedHTTPSConnection(HTTPSConnection): + """ + Based on httplib.HTTPSConnection but wraps the socket with + SSL certification. + """ + cert_reqs = None + ca_certs = None + ca_cert_dir = None + ssl_version = None + assert_fingerprint = None + + def set_cert(self, key_file=None, cert_file=None, + cert_reqs=None, ca_certs=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None): + """ + This method should only be called once, before the connection is used. + """ + # If cert_reqs is not provided, we can try to guess. If the user gave + # us a cert database, we assume they want to use it: otherwise, if + # they gave us an SSL Context object we should use whatever is set for + # it. + if cert_reqs is None: + if ca_certs or ca_cert_dir: + cert_reqs = 'CERT_REQUIRED' + elif self.ssl_context is not None: + cert_reqs = self.ssl_context.verify_mode + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + self.ca_certs = ca_certs and os.path.expanduser(ca_certs) + self.ca_cert_dir = ca_cert_dir and os.path.expanduser(ca_cert_dir) + + def connect(self): + # Add certificate verification + conn = self._new_conn() + hostname = self.host + + if self._tunnel_host: + self.sock = conn + # Calls self._set_hostport(), so self.host is + # self._tunnel_host below. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + # Override the host with the one we're requesting data from. + hostname = self._tunnel_host + + server_hostname = hostname + if self.server_hostname is not None: + server_hostname = self.server_hostname + + is_time_off = datetime.date.today() < RECENT_DATE + if is_time_off: + warnings.warn(( + 'System time is way off (before {0}). This will probably ' + 'lead to SSL verification errors').format(RECENT_DATE), + SystemTimeWarning + ) + + # Wrap socket using verification with the root certs in + # trusted_root_certs + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(self.ssl_version), + cert_reqs=resolve_cert_reqs(self.cert_reqs), + ) + + context = self.ssl_context + context.verify_mode = resolve_cert_reqs(self.cert_reqs) + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + server_hostname=server_hostname, + ssl_context=context) + + if self.assert_fingerprint: + assert_fingerprint(self.sock.getpeercert(binary_form=True), + self.assert_fingerprint) + elif context.verify_mode != ssl.CERT_NONE \ + and not getattr(context, 'check_hostname', False) \ + and self.assert_hostname is not False: + # While urllib3 attempts to always turn off hostname matching from + # the TLS library, this cannot always be done. So we check whether + # the TLS Library still thinks it's matching hostnames. + cert = self.sock.getpeercert() + if not cert.get('subjectAltName', ()): + warnings.warn(( + 'Certificate for {0} has no `subjectAltName`, falling back to check for a ' + '`commonName` for now. This feature is being removed by major browsers and ' + 'deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 ' + 'for details.)'.format(hostname)), + SubjectAltNameWarning + ) + _match_hostname(cert, self.assert_hostname or server_hostname) + + self.is_verified = ( + context.verify_mode == ssl.CERT_REQUIRED or + self.assert_fingerprint is not None + ) + + +def _match_hostname(cert, asserted_hostname): + try: + match_hostname(cert, asserted_hostname) + except CertificateError as e: + log.error( + 'Certificate did not match expected hostname: %s. ' + 'Certificate: %s', asserted_hostname, cert + ) + # Add cert to exception and reraise so client code can inspect + # the cert when catching the exception, if they want to + e._peer_cert = cert + raise + + +if ssl: + # Make a copy for testing. + UnverifiedHTTPSConnection = HTTPSConnection + HTTPSConnection = VerifiedHTTPSConnection +else: + HTTPSConnection = DummyConnection diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py new file mode 100644 index 0000000..d65581e --- /dev/null +++ b/urllib3/connectionpool.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import +import errno +import logging +import sys +import warnings + +from socket import error as SocketError, timeout as SocketTimeout +import socket + + +from .exceptions import ( + ClosedPoolError, + ProtocolError, + EmptyPoolError, + HeaderParsingError, + HostChangedError, + LocationValueError, + MaxRetryError, + ProxyError, + ReadTimeoutError, + SSLError, + TimeoutError, + InsecureRequestWarning, + NewConnectionError, +) +from .packages.ssl_match_hostname import CertificateError +from .packages import six +from .packages.six.moves import queue +from .connection import ( + port_by_scheme, + DummyConnection, + HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, + HTTPException, BaseSSLError, +) +from .request import RequestMethods +from .response import HTTPResponse + +from .util.connection import is_connection_dropped +from .util.request import set_file_position +from .util.response import assert_header_parsing +from .util.retry import Retry +from .util.timeout import Timeout +from .util.url import get_host, Url, NORMALIZABLE_SCHEMES +from .util.queue import LifoQueue + + +xrange = six.moves.xrange + +log = logging.getLogger(__name__) + +_Default = object() + + +# Pool objects +class ConnectionPool(object): + """ + Base class for all connection pools, such as + :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. + """ + + scheme = None + QueueCls = LifoQueue + + def __init__(self, host, port=None): + if not host: + raise LocationValueError("No host specified.") + + self.host = _ipv6_host(host, self.scheme) + self._proxy_host = host.lower() + self.port = port + + def __str__(self): + return '%s(host=%r, port=%r)' % (type(self).__name__, + self.host, self.port) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + # Return False to re-raise any potential exceptions + return False + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + pass + + +# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 +_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} + + +class HTTPConnectionPool(ConnectionPool, RequestMethods): + """ + Thread-safe connection pool for one host. + + :param host: + Host used for this HTTP Connection (e.g. "localhost"), passed into + :class:`httplib.HTTPConnection`. + + :param port: + Port used for this HTTP Connection (None is equivalent to 80), passed + into :class:`httplib.HTTPConnection`. + + :param strict: + Causes BadStatusLine to be raised if the status line can't be parsed + as a valid HTTP/1.0 or 1.1 status line, passed into + :class:`httplib.HTTPConnection`. + + .. note:: + Only works in Python 2. This parameter is ignored in Python 3. + + :param timeout: + Socket timeout in seconds for each individual connection. This can + be a float or integer, which sets the timeout for the HTTP request, + or an instance of :class:`urllib3.util.Timeout` which gives you more + fine-grained control over request timeouts. After the constructor has + been parsed, this is always a `urllib3.util.Timeout` object. + + :param maxsize: + Number of connections to save that can be reused. More than 1 is useful + in multithreaded situations. If ``block`` is set to False, more + connections will be created but they will not be saved once they've + been used. + + :param block: + If set to True, no more than ``maxsize`` connections will be used at + a time. When no free connections are available, the call will block + until a connection has been released. This is a useful side effect for + particular multithreaded situations where one does not want to use more + than maxsize connections per host to prevent flooding. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param retries: + Retry configuration to use by default with requests in this pool. + + :param _proxy: + Parsed proxy URL, should not be used directly, instead, see + :class:`urllib3.connectionpool.ProxyManager`" + + :param _proxy_headers: + A dictionary with proxy headers, should not be used directly, + instead, see :class:`urllib3.connectionpool.ProxyManager`" + + :param \\**conn_kw: + Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, + :class:`urllib3.connection.HTTPSConnection` instances. + """ + + scheme = 'http' + ConnectionCls = HTTPConnection + ResponseCls = HTTPResponse + + def __init__(self, host, port=None, strict=False, + timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, + headers=None, retries=None, + _proxy=None, _proxy_headers=None, + **conn_kw): + ConnectionPool.__init__(self, host, port) + RequestMethods.__init__(self, headers) + + self.strict = strict + + if not isinstance(timeout, Timeout): + timeout = Timeout.from_float(timeout) + + if retries is None: + retries = Retry.DEFAULT + + self.timeout = timeout + self.retries = retries + + self.pool = self.QueueCls(maxsize) + self.block = block + + self.proxy = _proxy + self.proxy_headers = _proxy_headers or {} + + # Fill the queue up so that doing get() on it will block properly + for _ in xrange(maxsize): + self.pool.put(None) + + # These are mostly for testing and debugging purposes. + self.num_connections = 0 + self.num_requests = 0 + self.conn_kw = conn_kw + + if self.proxy: + # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. + # We cannot know if the user has added default socket options, so we cannot replace the + # list. + self.conn_kw.setdefault('socket_options', []) + + def _new_conn(self): + """ + Return a fresh :class:`HTTPConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTP connection (%d): %s:%s", + self.num_connections, self.host, self.port or "80") + + conn = self.ConnectionCls(host=self.host, port=self.port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + return conn + + def _get_conn(self, timeout=None): + """ + Get a connection. Will return a pooled connection if one is available. + + If no connections are available and :prop:`.block` is ``False``, then a + fresh connection is returned. + + :param timeout: + Seconds to wait before giving up and raising + :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and + :prop:`.block` is ``True``. + """ + conn = None + try: + conn = self.pool.get(block=self.block, timeout=timeout) + + except AttributeError: # self.pool is None + raise ClosedPoolError(self, "Pool is closed.") + + except queue.Empty: + if self.block: + raise EmptyPoolError(self, + "Pool reached maximum size and no more " + "connections are allowed.") + pass # Oh well, we'll create a new connection then + + # If this is a persistent connection, check if it got disconnected + if conn and is_connection_dropped(conn): + log.debug("Resetting dropped connection: %s", self.host) + conn.close() + if getattr(conn, 'auto_open', 1) == 0: + # This is a proxied connection that has been mutated by + # httplib._tunnel() and cannot be reused (since it would + # attempt to bypass the proxy) + conn = None + + return conn or self._new_conn() + + def _put_conn(self, conn): + """ + Put a connection back into the pool. + + :param conn: + Connection object for the current host and port as returned by + :meth:`._new_conn` or :meth:`._get_conn`. + + If the pool is already full, the connection is closed and discarded + because we exceeded maxsize. If connections are discarded frequently, + then maxsize should be increased. + + If the pool is closed, then the connection will be closed and discarded. + """ + try: + self.pool.put(conn, block=False) + return # Everything is dandy, done. + except AttributeError: + # self.pool is None. + pass + except queue.Full: + # This should never happen if self.block == True + log.warning( + "Connection pool is full, discarding connection: %s", + self.host) + + # Connection never got put back into the pool, close it. + if conn: + conn.close() + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + pass + + def _prepare_proxy(self, conn): + # Nothing to do for HTTP connections. + pass + + def _get_timeout(self, timeout): + """ Helper that always returns a :class:`urllib3.util.Timeout` """ + if timeout is _Default: + return self.timeout.clone() + + if isinstance(timeout, Timeout): + return timeout.clone() + else: + # User passed us an int/float. This is for backwards compatibility, + # can be removed later + return Timeout.from_float(timeout) + + def _raise_timeout(self, err, url, timeout_value): + """Is the error actually a timeout? Will raise a ReadTimeout or pass""" + + if isinstance(err, SocketTimeout): + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # See the above comment about EAGAIN in Python 3. In Python 2 we have + # to specifically catch it and throw the timeout error + if hasattr(err, 'errno') and err.errno in _blocking_errnos: + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # Catch possible read timeouts thrown as SSL errors. If not the + # case, rethrow the original. We need to do this because of: + # http://bugs.python.org/issue10272 + if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python < 2.7.4 + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + def _make_request(self, conn, method, url, timeout=_Default, chunked=False, + **httplib_request_kw): + """ + Perform a request on a given urllib connection object taken from our + pool. + + :param conn: + a connection from one of our connection pools + + :param timeout: + Socket timeout in seconds for the request. This can be a + float or integer, which will set the same timeout value for + the socket connect and the socket read, or an instance of + :class:`urllib3.util.Timeout`, which gives you more fine-grained + control over your timeouts. + """ + self.num_requests += 1 + + timeout_obj = self._get_timeout(timeout) + timeout_obj.start_connect() + conn.timeout = timeout_obj.connect_timeout + + # Trigger any extra validation we need to do. + try: + self._validate_conn(conn) + except (SocketTimeout, BaseSSLError) as e: + # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. + self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) + raise + + # conn.request() calls httplib.*.request, not the method in + # urllib3.request. It also calls makefile (recv) on the socket. + if chunked: + conn.request_chunked(method, url, **httplib_request_kw) + else: + conn.request(method, url, **httplib_request_kw) + + # Reset the timeout for the recv() on the socket + read_timeout = timeout_obj.read_timeout + + # App Engine doesn't have a sock attr + if getattr(conn, 'sock', None): + # In Python 3 socket.py will catch EAGAIN and return None when you + # try and read into the file pointer created by http.client, which + # instead raises a BadStatusLine exception. Instead of catching + # the exception and assuming all BadStatusLine exceptions are read + # timeouts, check for a zero timeout before making the request. + if read_timeout == 0: + raise ReadTimeoutError( + self, url, "Read timed out. (read timeout=%s)" % read_timeout) + if read_timeout is Timeout.DEFAULT_TIMEOUT: + conn.sock.settimeout(socket.getdefaulttimeout()) + else: # None or a value + conn.sock.settimeout(read_timeout) + + # Receive the response from the server + try: + try: # Python 2.7, use buffering of HTTP responses + httplib_response = conn.getresponse(buffering=True) + except TypeError: # Python 3 + try: + httplib_response = conn.getresponse() + except Exception as e: + # Remove the TypeError from the exception chain in Python 3; + # otherwise it looks like a programming error was the cause. + six.raise_from(e, None) + except (SocketTimeout, BaseSSLError, SocketError) as e: + self._raise_timeout(err=e, url=url, timeout_value=read_timeout) + raise + + # AppEngine doesn't have a version attr. + http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') + log.debug("%s://%s:%s \"%s %s %s\" %s %s", self.scheme, self.host, self.port, + method, url, http_version, httplib_response.status, + httplib_response.length) + + try: + assert_header_parsing(httplib_response.msg) + except (HeaderParsingError, TypeError) as hpe: # Platform-specific: Python 3 + log.warning( + 'Failed to parse headers (url=%s): %s', + self._absolute_url(url), hpe, exc_info=True) + + return httplib_response + + def _absolute_url(self, path): + return Url(scheme=self.scheme, host=self.host, port=self.port, path=path).url + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + if self.pool is None: + return + # Disable access to the pool + old_pool, self.pool = self.pool, None + + try: + while True: + conn = old_pool.get(block=False) + if conn: + conn.close() + + except queue.Empty: + pass # Done. + + def is_same_host(self, url): + """ + Check if the given ``url`` is a member of the same host as this + connection pool. + """ + if url.startswith('/'): + return True + + # TODO: Add optional support for socket.gethostbyname checking. + scheme, host, port = get_host(url) + + host = _ipv6_host(host, self.scheme) + + # Use explicit default port for comparison when none is given + if self.port and not port: + port = port_by_scheme.get(scheme) + elif not self.port and port == port_by_scheme.get(scheme): + port = None + + return (scheme, host, port) == (self.scheme, self.host, self.port) + + def urlopen(self, method, url, body=None, headers=None, retries=None, + redirect=True, assert_same_host=True, timeout=_Default, + pool_timeout=None, release_conn=None, chunked=False, + body_pos=None, **response_kw): + """ + Get a connection from the pool and perform an HTTP request. This is the + lowest level call for making a request, so you'll need to specify all + the raw details. + + .. note:: + + More commonly, it's appropriate to use a convenience method provided + by :class:`.RequestMethods`, such as :meth:`request`. + + .. note:: + + `release_conn` will only behave as expected if + `preload_content=False` because we want to make + `preload_content=False` the default behaviour someday soon without + breaking backwards compatibility. + + :param method: + HTTP request method (such as GET, POST, PUT, etc.) + + :param body: + Data to send in the request body (useful for creating + POST requests, see HTTPConnectionPool.post_url for + more convenience). + + :param headers: + Dictionary of custom headers to send, such as User-Agent, + If-None-Match, etc. If None, pool headers are used. If provided, + these headers completely replace any pool-specific headers. + + :param retries: + Configure the number of retries to allow before raising a + :class:`~urllib3.exceptions.MaxRetryError` exception. + + Pass ``None`` to retry until you receive a response. Pass a + :class:`~urllib3.util.retry.Retry` object for fine-grained control + over different types of retries. + Pass an integer number to retry connection errors that many times, + but no other types of errors. Pass zero to never retry. + + If ``False``, then retries are disabled and any exception is raised + immediately. Also, instead of raising a MaxRetryError on redirects, + the redirect response will be returned. + + :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. + + :param redirect: + If True, automatically handle redirects (status codes 301, 302, + 303, 307, 308). Each redirect counts as a retry. Disabling retries + will disable redirect, too. + + :param assert_same_host: + If ``True``, will make sure that the host of the pool requests is + consistent else will raise HostChangedError. When False, you can + use the pool on an HTTP proxy and request foreign hosts. + + :param timeout: + If specified, overrides the default timeout for this one + request. It may be a float (in seconds) or an instance of + :class:`urllib3.util.Timeout`. + + :param pool_timeout: + If set and the pool is set to block=True, then this method will + block for ``pool_timeout`` seconds and raise EmptyPoolError if no + connection is available within the time period. + + :param release_conn: + If False, then the urlopen call will not release the connection + back into the pool once a response is received (but will release if + you read the entire contents of the response such as when + `preload_content=True`). This is useful if you're not preloading + the response's content immediately. You will need to call + ``r.release_conn()`` on the response ``r`` to return the connection + back into the pool. If None, it takes the value of + ``response_kw.get('preload_content', True)``. + + :param chunked: + If True, urllib3 will send the body using chunked transfer + encoding. Otherwise, urllib3 will send the body using the standard + content-length form. Defaults to False. + + :param int body_pos: + Position to seek to in file-like body in the event of a retry or + redirect. Typically this won't need to be set because urllib3 will + auto-populate the value when needed. + + :param \\**response_kw: + Additional parameters are passed to + :meth:`urllib3.response.HTTPResponse.from_httplib` + """ + if headers is None: + headers = self.headers + + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect, default=self.retries) + + if release_conn is None: + release_conn = response_kw.get('preload_content', True) + + # Check host + if assert_same_host and not self.is_same_host(url): + raise HostChangedError(self, url, retries) + + conn = None + + # Track whether `conn` needs to be released before + # returning/raising/recursing. Update this variable if necessary, and + # leave `release_conn` constant throughout the function. That way, if + # the function recurses, the original value of `release_conn` will be + # passed down into the recursive call, and its value will be respected. + # + # See issue #651 [1] for details. + # + # [1] + release_this_conn = release_conn + + # Merge the proxy headers. Only do this in HTTP. We have to copy the + # headers dict so we can safely change it without those changes being + # reflected in anyone else's copy. + if self.scheme == 'http': + headers = headers.copy() + headers.update(self.proxy_headers) + + # Must keep the exception bound to a separate variable or else Python 3 + # complains about UnboundLocalError. + err = None + + # Keep track of whether we cleanly exited the except block. This + # ensures we do proper cleanup in finally. + clean_exit = False + + # Rewind body position, if needed. Record current position + # for future rewinds in the event of a redirect/retry. + body_pos = set_file_position(body, body_pos) + + try: + # Request a connection from the queue. + timeout_obj = self._get_timeout(timeout) + conn = self._get_conn(timeout=pool_timeout) + + conn.timeout = timeout_obj.connect_timeout + + is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) + if is_new_proxy_conn: + self._prepare_proxy(conn) + + # Make the request on the httplib connection object. + httplib_response = self._make_request(conn, method, url, + timeout=timeout_obj, + body=body, headers=headers, + chunked=chunked) + + # If we're going to release the connection in ``finally:``, then + # the response doesn't need to know about the connection. Otherwise + # it will also try to release it and we'll have a double-release + # mess. + response_conn = conn if not release_conn else None + + # Pass method to Response for length checking + response_kw['request_method'] = method + + # Import httplib's response into our own wrapper object + response = self.ResponseCls.from_httplib(httplib_response, + pool=self, + connection=response_conn, + retries=retries, + **response_kw) + + # Everything went great! + clean_exit = True + + except queue.Empty: + # Timed out by queue. + raise EmptyPoolError(self, "No pool connections are available.") + + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError, CertificateError) as e: + # Discard the connection for these exceptions. It will be + # replaced during the next _get_conn() call. + clean_exit = False + if isinstance(e, (BaseSSLError, CertificateError)): + e = SSLError(e) + elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy: + e = ProxyError('Cannot connect to proxy.', e) + elif isinstance(e, (SocketError, HTTPException)): + e = ProtocolError('Connection aborted.', e) + + retries = retries.increment(method, url, error=e, _pool=self, + _stacktrace=sys.exc_info()[2]) + retries.sleep() + + # Keep track of the error for the retry warning. + err = e + + finally: + if not clean_exit: + # We hit some kind of exception, handled or otherwise. We need + # to throw the connection away unless explicitly told not to. + # Close the connection, set the variable to None, and make sure + # we put the None back in the pool to avoid leaking it. + conn = conn and conn.close() + release_this_conn = True + + if release_this_conn: + # Put the connection back to be reused. If the connection is + # expired then it will be None, which will get replaced with a + # fresh connection during _get_conn. + self._put_conn(conn) + + if not conn: + # Try again + log.warning("Retrying (%r) after connection " + "broken by '%r': %s", retries, err, url) + return self.urlopen(method, url, body, headers, retries, + redirect, assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + def drain_and_release_conn(response): + try: + # discard any remaining response body, the connection will be + # released back to the pool once the entire response is read + response.read() + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError): + pass + + # Handle redirect? + redirect_location = redirect and response.get_redirect_location() + if redirect_location: + if response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep_for_retry(response) + log.debug("Redirecting %s -> %s", url, redirect_location) + return self.urlopen( + method, redirect_location, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(response.getheader('Retry-After')) + if retries.is_retry(method, response.status, has_retry_after): + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_status: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep(response) + log.debug("Retry: %s", url) + return self.urlopen( + method, url, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, + body_pos=body_pos, **response_kw) + + return response + + +class HTTPSConnectionPool(HTTPConnectionPool): + """ + Same as :class:`.HTTPConnectionPool`, but HTTPS. + + When Python is compiled with the :mod:`ssl` module, then + :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, + instead of :class:`.HTTPSConnection`. + + :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, + ``assert_hostname`` and ``host`` in this order to verify connections. + If ``assert_hostname`` is False, no verification is done. + + The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, + ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is + available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade + the connection socket into an SSL socket. + """ + + scheme = 'https' + ConnectionCls = HTTPSConnection + + def __init__(self, host, port=None, + strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, + block=False, headers=None, retries=None, + _proxy=None, _proxy_headers=None, + key_file=None, cert_file=None, cert_reqs=None, + ca_certs=None, ssl_version=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None, **conn_kw): + + HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, + block, headers, retries, _proxy, _proxy_headers, + **conn_kw) + + if ca_certs and cert_reqs is None: + cert_reqs = 'CERT_REQUIRED' + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.ca_certs = ca_certs + self.ca_cert_dir = ca_cert_dir + self.ssl_version = ssl_version + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + + def _prepare_conn(self, conn): + """ + Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` + and establish the tunnel if proxy is used. + """ + + if isinstance(conn, VerifiedHTTPSConnection): + conn.set_cert(key_file=self.key_file, + cert_file=self.cert_file, + cert_reqs=self.cert_reqs, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + assert_hostname=self.assert_hostname, + assert_fingerprint=self.assert_fingerprint) + conn.ssl_version = self.ssl_version + return conn + + def _prepare_proxy(self, conn): + """ + Establish tunnel connection early, because otherwise httplib + would improperly set Host: header to proxy's IP:port. + """ + conn.set_tunnel(self._proxy_host, self.port, self.proxy_headers) + conn.connect() + + def _new_conn(self): + """ + Return a fresh :class:`httplib.HTTPSConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTPS connection (%d): %s:%s", + self.num_connections, self.host, self.port or "443") + + if not self.ConnectionCls or self.ConnectionCls is DummyConnection: + raise SSLError("Can't connect to HTTPS URL because the SSL " + "module is not available.") + + actual_host = self.host + actual_port = self.port + if self.proxy is not None: + actual_host = self.proxy.host + actual_port = self.proxy.port + + conn = self.ConnectionCls(host=actual_host, port=actual_port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + + return self._prepare_conn(conn) + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + super(HTTPSConnectionPool, self)._validate_conn(conn) + + # Force connect early to allow us to validate the connection. + if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` + conn.connect() + + if not conn.is_verified: + warnings.warn(( + 'Unverified HTTPS request is being made. ' + 'Adding certificate verification is strongly advised. See: ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings'), + InsecureRequestWarning) + + +def connection_from_url(url, **kw): + """ + Given a url, return an :class:`.ConnectionPool` instance of its host. + + This is a shortcut for not having to parse out the scheme, host, and port + of the url before creating an :class:`.ConnectionPool` instance. + + :param url: + Absolute URL string that must include the scheme. Port is optional. + + :param \\**kw: + Passes additional parameters to the constructor of the appropriate + :class:`.ConnectionPool`. Useful for specifying things like + timeout, maxsize, headers, etc. + + Example:: + + >>> conn = connection_from_url('http://google.com/') + >>> r = conn.request('GET', '/') + """ + scheme, host, port = get_host(url) + port = port or port_by_scheme.get(scheme, 80) + if scheme == 'https': + return HTTPSConnectionPool(host, port=port, **kw) + else: + return HTTPConnectionPool(host, port=port, **kw) + + +def _ipv6_host(host, scheme): + """ + Process IPv6 address literals + """ + + # httplib doesn't like it when we include brackets in IPv6 addresses + # Specifically, if we include brackets but also pass the port then + # httplib crazily doubles up the square brackets on the Host header. + # Instead, we need to make sure we never pass ``None`` as the port. + # However, for backward compatibility reasons we can't actually + # *assert* that. See http://bugs.python.org/issue28539 + # + # Also if an IPv6 address literal has a zone identifier, the + # percent sign might be URIencoded, convert it back into ASCII + if host.startswith('[') and host.endswith(']'): + host = host.replace('%25', '%').strip('[]') + if scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return host diff --git a/urllib3/contrib/__init__.py b/urllib3/contrib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/urllib3/contrib/_appengine_environ.py b/urllib3/contrib/_appengine_environ.py new file mode 100644 index 0000000..f3e0094 --- /dev/null +++ b/urllib3/contrib/_appengine_environ.py @@ -0,0 +1,30 @@ +""" +This module provides means to detect the App Engine environment. +""" + +import os + + +def is_appengine(): + return (is_local_appengine() or + is_prod_appengine() or + is_prod_appengine_mvms()) + + +def is_appengine_sandbox(): + return is_appengine() and not is_prod_appengine_mvms() + + +def is_local_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Development/' in os.environ['SERVER_SOFTWARE']) + + +def is_prod_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and + not is_prod_appengine_mvms()) + + +def is_prod_appengine_mvms(): + return os.environ.get('GAE_VM', False) == 'true' diff --git a/urllib3/contrib/_securetransport/__init__.py b/urllib3/contrib/_securetransport/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/urllib3/contrib/_securetransport/bindings.py b/urllib3/contrib/_securetransport/bindings.py new file mode 100644 index 0000000..bcf41c0 --- /dev/null +++ b/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1,593 @@ +""" +This module uses ctypes to bind a whole bunch of functions and constants from +SecureTransport. The goal here is to provide the low-level API to +SecureTransport. These are essentially the C-level functions and constants, and +they're pretty gross to work with. + +This code is a bastardised version of the code found in Will Bond's oscrypto +library. An enormous debt is owed to him for blazing this trail for us. For +that reason, this code should be considered to be covered both by urllib3's +license and by oscrypto's: + + Copyright (c) 2015-2016 Will Bond + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +""" +from __future__ import absolute_import + +import platform +from ctypes.util import find_library +from ctypes import ( + c_void_p, c_int32, c_char_p, c_size_t, c_byte, c_uint32, c_ulong, c_long, + c_bool +) +from ctypes import CDLL, POINTER, CFUNCTYPE + + +security_path = find_library('Security') +if not security_path: + raise ImportError('The library Security could not be found') + + +core_foundation_path = find_library('CoreFoundation') +if not core_foundation_path: + raise ImportError('The library CoreFoundation could not be found') + + +version = platform.mac_ver()[0] +version_info = tuple(map(int, version.split('.'))) +if version_info < (10, 8): + raise OSError( + 'Only OS X 10.8 and newer are supported, not %s.%s' % ( + version_info[0], version_info[1] + ) + ) + +Security = CDLL(security_path, use_errno=True) +CoreFoundation = CDLL(core_foundation_path, use_errno=True) + +Boolean = c_bool +CFIndex = c_long +CFStringEncoding = c_uint32 +CFData = c_void_p +CFString = c_void_p +CFArray = c_void_p +CFMutableArray = c_void_p +CFDictionary = c_void_p +CFError = c_void_p +CFType = c_void_p +CFTypeID = c_ulong + +CFTypeRef = POINTER(CFType) +CFAllocatorRef = c_void_p + +OSStatus = c_int32 + +CFDataRef = POINTER(CFData) +CFStringRef = POINTER(CFString) +CFArrayRef = POINTER(CFArray) +CFMutableArrayRef = POINTER(CFMutableArray) +CFDictionaryRef = POINTER(CFDictionary) +CFArrayCallBacks = c_void_p +CFDictionaryKeyCallBacks = c_void_p +CFDictionaryValueCallBacks = c_void_p + +SecCertificateRef = POINTER(c_void_p) +SecExternalFormat = c_uint32 +SecExternalItemType = c_uint32 +SecIdentityRef = POINTER(c_void_p) +SecItemImportExportFlags = c_uint32 +SecItemImportExportKeyParameters = c_void_p +SecKeychainRef = POINTER(c_void_p) +SSLProtocol = c_uint32 +SSLCipherSuite = c_uint32 +SSLContextRef = POINTER(c_void_p) +SecTrustRef = POINTER(c_void_p) +SSLConnectionRef = c_uint32 +SecTrustResultType = c_uint32 +SecTrustOptionFlags = c_uint32 +SSLProtocolSide = c_uint32 +SSLConnectionType = c_uint32 +SSLSessionOption = c_uint32 + + +try: + Security.SecItemImport.argtypes = [ + CFDataRef, + CFStringRef, + POINTER(SecExternalFormat), + POINTER(SecExternalItemType), + SecItemImportExportFlags, + POINTER(SecItemImportExportKeyParameters), + SecKeychainRef, + POINTER(CFArrayRef), + ] + Security.SecItemImport.restype = OSStatus + + Security.SecCertificateGetTypeID.argtypes = [] + Security.SecCertificateGetTypeID.restype = CFTypeID + + Security.SecIdentityGetTypeID.argtypes = [] + Security.SecIdentityGetTypeID.restype = CFTypeID + + Security.SecKeyGetTypeID.argtypes = [] + Security.SecKeyGetTypeID.restype = CFTypeID + + Security.SecCertificateCreateWithData.argtypes = [ + CFAllocatorRef, + CFDataRef + ] + Security.SecCertificateCreateWithData.restype = SecCertificateRef + + Security.SecCertificateCopyData.argtypes = [ + SecCertificateRef + ] + Security.SecCertificateCopyData.restype = CFDataRef + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SecIdentityCreateWithCertificate.argtypes = [ + CFTypeRef, + SecCertificateRef, + POINTER(SecIdentityRef) + ] + Security.SecIdentityCreateWithCertificate.restype = OSStatus + + Security.SecKeychainCreate.argtypes = [ + c_char_p, + c_uint32, + c_void_p, + Boolean, + c_void_p, + POINTER(SecKeychainRef) + ] + Security.SecKeychainCreate.restype = OSStatus + + Security.SecKeychainDelete.argtypes = [ + SecKeychainRef + ] + Security.SecKeychainDelete.restype = OSStatus + + Security.SecPKCS12Import.argtypes = [ + CFDataRef, + CFDictionaryRef, + POINTER(CFArrayRef) + ] + Security.SecPKCS12Import.restype = OSStatus + + SSLReadFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, c_void_p, POINTER(c_size_t)) + SSLWriteFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, POINTER(c_byte), POINTER(c_size_t)) + + Security.SSLSetIOFuncs.argtypes = [ + SSLContextRef, + SSLReadFunc, + SSLWriteFunc + ] + Security.SSLSetIOFuncs.restype = OSStatus + + Security.SSLSetPeerID.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerID.restype = OSStatus + + Security.SSLSetCertificate.argtypes = [ + SSLContextRef, + CFArrayRef + ] + Security.SSLSetCertificate.restype = OSStatus + + Security.SSLSetCertificateAuthorities.argtypes = [ + SSLContextRef, + CFTypeRef, + Boolean + ] + Security.SSLSetCertificateAuthorities.restype = OSStatus + + Security.SSLSetConnection.argtypes = [ + SSLContextRef, + SSLConnectionRef + ] + Security.SSLSetConnection.restype = OSStatus + + Security.SSLSetPeerDomainName.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerDomainName.restype = OSStatus + + Security.SSLHandshake.argtypes = [ + SSLContextRef + ] + Security.SSLHandshake.restype = OSStatus + + Security.SSLRead.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLRead.restype = OSStatus + + Security.SSLWrite.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLWrite.restype = OSStatus + + Security.SSLClose.argtypes = [ + SSLContextRef + ] + Security.SSLClose.restype = OSStatus + + Security.SSLGetNumberSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberSupportedCiphers.restype = OSStatus + + Security.SSLGetSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetSupportedCiphers.restype = OSStatus + + Security.SSLSetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + c_size_t + ] + Security.SSLSetEnabledCiphers.restype = OSStatus + + Security.SSLGetNumberEnabledCiphers.argtype = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberEnabledCiphers.restype = OSStatus + + Security.SSLGetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetEnabledCiphers.restype = OSStatus + + Security.SSLGetNegotiatedCipher.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite) + ] + Security.SSLGetNegotiatedCipher.restype = OSStatus + + Security.SSLGetNegotiatedProtocolVersion.argtypes = [ + SSLContextRef, + POINTER(SSLProtocol) + ] + Security.SSLGetNegotiatedProtocolVersion.restype = OSStatus + + Security.SSLCopyPeerTrust.argtypes = [ + SSLContextRef, + POINTER(SecTrustRef) + ] + Security.SSLCopyPeerTrust.restype = OSStatus + + Security.SecTrustSetAnchorCertificates.argtypes = [ + SecTrustRef, + CFArrayRef + ] + Security.SecTrustSetAnchorCertificates.restype = OSStatus + + Security.SecTrustSetAnchorCertificatesOnly.argstypes = [ + SecTrustRef, + Boolean + ] + Security.SecTrustSetAnchorCertificatesOnly.restype = OSStatus + + Security.SecTrustEvaluate.argtypes = [ + SecTrustRef, + POINTER(SecTrustResultType) + ] + Security.SecTrustEvaluate.restype = OSStatus + + Security.SecTrustGetCertificateCount.argtypes = [ + SecTrustRef + ] + Security.SecTrustGetCertificateCount.restype = CFIndex + + Security.SecTrustGetCertificateAtIndex.argtypes = [ + SecTrustRef, + CFIndex + ] + Security.SecTrustGetCertificateAtIndex.restype = SecCertificateRef + + Security.SSLCreateContext.argtypes = [ + CFAllocatorRef, + SSLProtocolSide, + SSLConnectionType + ] + Security.SSLCreateContext.restype = SSLContextRef + + Security.SSLSetSessionOption.argtypes = [ + SSLContextRef, + SSLSessionOption, + Boolean + ] + Security.SSLSetSessionOption.restype = OSStatus + + Security.SSLSetProtocolVersionMin.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMin.restype = OSStatus + + Security.SSLSetProtocolVersionMax.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMax.restype = OSStatus + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SSLReadFunc = SSLReadFunc + Security.SSLWriteFunc = SSLWriteFunc + Security.SSLContextRef = SSLContextRef + Security.SSLProtocol = SSLProtocol + Security.SSLCipherSuite = SSLCipherSuite + Security.SecIdentityRef = SecIdentityRef + Security.SecKeychainRef = SecKeychainRef + Security.SecTrustRef = SecTrustRef + Security.SecTrustResultType = SecTrustResultType + Security.SecExternalFormat = SecExternalFormat + Security.OSStatus = OSStatus + + Security.kSecImportExportPassphrase = CFStringRef.in_dll( + Security, 'kSecImportExportPassphrase' + ) + Security.kSecImportItemIdentity = CFStringRef.in_dll( + Security, 'kSecImportItemIdentity' + ) + + # CoreFoundation time! + CoreFoundation.CFRetain.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRetain.restype = CFTypeRef + + CoreFoundation.CFRelease.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRelease.restype = None + + CoreFoundation.CFGetTypeID.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFGetTypeID.restype = CFTypeID + + CoreFoundation.CFStringCreateWithCString.argtypes = [ + CFAllocatorRef, + c_char_p, + CFStringEncoding + ] + CoreFoundation.CFStringCreateWithCString.restype = CFStringRef + + CoreFoundation.CFStringGetCStringPtr.argtypes = [ + CFStringRef, + CFStringEncoding + ] + CoreFoundation.CFStringGetCStringPtr.restype = c_char_p + + CoreFoundation.CFStringGetCString.argtypes = [ + CFStringRef, + c_char_p, + CFIndex, + CFStringEncoding + ] + CoreFoundation.CFStringGetCString.restype = c_bool + + CoreFoundation.CFDataCreate.argtypes = [ + CFAllocatorRef, + c_char_p, + CFIndex + ] + CoreFoundation.CFDataCreate.restype = CFDataRef + + CoreFoundation.CFDataGetLength.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetLength.restype = CFIndex + + CoreFoundation.CFDataGetBytePtr.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetBytePtr.restype = c_void_p + + CoreFoundation.CFDictionaryCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + POINTER(CFTypeRef), + CFIndex, + CFDictionaryKeyCallBacks, + CFDictionaryValueCallBacks + ] + CoreFoundation.CFDictionaryCreate.restype = CFDictionaryRef + + CoreFoundation.CFDictionaryGetValue.argtypes = [ + CFDictionaryRef, + CFTypeRef + ] + CoreFoundation.CFDictionaryGetValue.restype = CFTypeRef + + CoreFoundation.CFArrayCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + CFIndex, + CFArrayCallBacks, + ] + CoreFoundation.CFArrayCreate.restype = CFArrayRef + + CoreFoundation.CFArrayCreateMutable.argtypes = [ + CFAllocatorRef, + CFIndex, + CFArrayCallBacks + ] + CoreFoundation.CFArrayCreateMutable.restype = CFMutableArrayRef + + CoreFoundation.CFArrayAppendValue.argtypes = [ + CFMutableArrayRef, + c_void_p + ] + CoreFoundation.CFArrayAppendValue.restype = None + + CoreFoundation.CFArrayGetCount.argtypes = [ + CFArrayRef + ] + CoreFoundation.CFArrayGetCount.restype = CFIndex + + CoreFoundation.CFArrayGetValueAtIndex.argtypes = [ + CFArrayRef, + CFIndex + ] + CoreFoundation.CFArrayGetValueAtIndex.restype = c_void_p + + CoreFoundation.kCFAllocatorDefault = CFAllocatorRef.in_dll( + CoreFoundation, 'kCFAllocatorDefault' + ) + CoreFoundation.kCFTypeArrayCallBacks = c_void_p.in_dll(CoreFoundation, 'kCFTypeArrayCallBacks') + CoreFoundation.kCFTypeDictionaryKeyCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryKeyCallBacks' + ) + CoreFoundation.kCFTypeDictionaryValueCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryValueCallBacks' + ) + + CoreFoundation.CFTypeRef = CFTypeRef + CoreFoundation.CFArrayRef = CFArrayRef + CoreFoundation.CFStringRef = CFStringRef + CoreFoundation.CFDictionaryRef = CFDictionaryRef + +except (AttributeError): + raise ImportError('Error initializing ctypes') + + +class CFConst(object): + """ + A class object that acts as essentially a namespace for CoreFoundation + constants. + """ + kCFStringEncodingUTF8 = CFStringEncoding(0x08000100) + + +class SecurityConst(object): + """ + A class object that acts as essentially a namespace for Security constants. + """ + kSSLSessionOptionBreakOnServerAuth = 0 + + kSSLProtocol2 = 1 + kSSLProtocol3 = 2 + kTLSProtocol1 = 4 + kTLSProtocol11 = 7 + kTLSProtocol12 = 8 + + kSSLClientSide = 1 + kSSLStreamType = 0 + + kSecFormatPEMSequence = 10 + + kSecTrustResultInvalid = 0 + kSecTrustResultProceed = 1 + # This gap is present on purpose: this was kSecTrustResultConfirm, which + # is deprecated. + kSecTrustResultDeny = 3 + kSecTrustResultUnspecified = 4 + kSecTrustResultRecoverableTrustFailure = 5 + kSecTrustResultFatalTrustFailure = 6 + kSecTrustResultOtherError = 7 + + errSSLProtocol = -9800 + errSSLWouldBlock = -9803 + errSSLClosedGraceful = -9805 + errSSLClosedNoNotify = -9816 + errSSLClosedAbort = -9806 + + errSSLXCertChainInvalid = -9807 + errSSLCrypto = -9809 + errSSLInternal = -9810 + errSSLCertExpired = -9814 + errSSLCertNotYetValid = -9815 + errSSLUnknownRootCert = -9812 + errSSLNoRootCert = -9813 + errSSLHostNameMismatch = -9843 + errSSLPeerHandshakeFail = -9824 + errSSLPeerUserCancelled = -9839 + errSSLWeakPeerEphemeralDHKey = -9850 + errSSLServerAuthCompleted = -9841 + errSSLRecordOverflow = -9847 + + errSecVerifyFailed = -67808 + errSecNoTrustSettings = -25263 + errSecItemNotFound = -25300 + errSecInvalidTrustSettings = -25262 + + # Cipher suites. We only pick the ones our default cipher string allows. + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030 + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3 + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2 + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024 + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028 + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014 + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A + TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039 + TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032 + TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D + TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C + TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D + TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C + TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035 + TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F + TLS_AES_128_GCM_SHA256 = 0x1301 + TLS_AES_256_GCM_SHA384 = 0x1302 + TLS_CHACHA20_POLY1305_SHA256 = 0x1303 diff --git a/urllib3/contrib/_securetransport/low_level.py b/urllib3/contrib/_securetransport/low_level.py new file mode 100644 index 0000000..b13cd9e --- /dev/null +++ b/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1,346 @@ +""" +Low-level helpers for the SecureTransport bindings. + +These are Python functions that are not directly related to the high-level APIs +but are necessary to get them to work. They include a whole bunch of low-level +CoreFoundation messing about and memory management. The concerns in this module +are almost entirely about trying to avoid memory leaks and providing +appropriate and useful assistance to the higher-level code. +""" +import base64 +import ctypes +import itertools +import re +import os +import ssl +import tempfile + +from .bindings import Security, CoreFoundation, CFConst + + +# This regular expression is used to grab PEM data out of a PEM bundle. +_PEM_CERTS_RE = re.compile( + b"-----BEGIN CERTIFICATE-----\n(.*?)\n-----END CERTIFICATE-----", re.DOTALL +) + + +def _cf_data_from_bytes(bytestring): + """ + Given a bytestring, create a CFData object from it. This CFData object must + be CFReleased by the caller. + """ + return CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, bytestring, len(bytestring) + ) + + +def _cf_dictionary_from_tuples(tuples): + """ + Given a list of Python tuples, create an associated CFDictionary. + """ + dictionary_size = len(tuples) + + # We need to get the dictionary keys and values out in the same order. + keys = (t[0] for t in tuples) + values = (t[1] for t in tuples) + cf_keys = (CoreFoundation.CFTypeRef * dictionary_size)(*keys) + cf_values = (CoreFoundation.CFTypeRef * dictionary_size)(*values) + + return CoreFoundation.CFDictionaryCreate( + CoreFoundation.kCFAllocatorDefault, + cf_keys, + cf_values, + dictionary_size, + CoreFoundation.kCFTypeDictionaryKeyCallBacks, + CoreFoundation.kCFTypeDictionaryValueCallBacks, + ) + + +def _cf_string_to_unicode(value): + """ + Creates a Unicode string from a CFString object. Used entirely for error + reporting. + + Yes, it annoys me quite a lot that this function is this complex. + """ + value_as_void_p = ctypes.cast(value, ctypes.POINTER(ctypes.c_void_p)) + + string = CoreFoundation.CFStringGetCStringPtr( + value_as_void_p, + CFConst.kCFStringEncodingUTF8 + ) + if string is None: + buffer = ctypes.create_string_buffer(1024) + result = CoreFoundation.CFStringGetCString( + value_as_void_p, + buffer, + 1024, + CFConst.kCFStringEncodingUTF8 + ) + if not result: + raise OSError('Error copying C string from CFStringRef') + string = buffer.value + if string is not None: + string = string.decode('utf-8') + return string + + +def _assert_no_error(error, exception_class=None): + """ + Checks the return code and throws an exception if there is an error to + report + """ + if error == 0: + return + + cf_error_string = Security.SecCopyErrorMessageString(error, None) + output = _cf_string_to_unicode(cf_error_string) + CoreFoundation.CFRelease(cf_error_string) + + if output is None or output == u'': + output = u'OSStatus %s' % error + + if exception_class is None: + exception_class = ssl.SSLError + + raise exception_class(output) + + +def _cert_array_from_pem(pem_bundle): + """ + Given a bundle of certs in PEM format, turns them into a CFArray of certs + that can be used to validate a cert chain. + """ + # Normalize the PEM bundle's line endings. + pem_bundle = pem_bundle.replace(b"\r\n", b"\n") + + der_certs = [ + base64.b64decode(match.group(1)) + for match in _PEM_CERTS_RE.finditer(pem_bundle) + ] + if not der_certs: + raise ssl.SSLError("No root certificates specified") + + cert_array = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks) + ) + if not cert_array: + raise ssl.SSLError("Unable to allocate memory!") + + try: + for der_bytes in der_certs: + certdata = _cf_data_from_bytes(der_bytes) + if not certdata: + raise ssl.SSLError("Unable to allocate memory!") + cert = Security.SecCertificateCreateWithData( + CoreFoundation.kCFAllocatorDefault, certdata + ) + CoreFoundation.CFRelease(certdata) + if not cert: + raise ssl.SSLError("Unable to build cert object!") + + CoreFoundation.CFArrayAppendValue(cert_array, cert) + CoreFoundation.CFRelease(cert) + except Exception: + # We need to free the array before the exception bubbles further. + # We only want to do that if an error occurs: otherwise, the caller + # should free. + CoreFoundation.CFRelease(cert_array) + + return cert_array + + +def _is_cert(item): + """ + Returns True if a given CFTypeRef is a certificate. + """ + expected = Security.SecCertificateGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _is_identity(item): + """ + Returns True if a given CFTypeRef is an identity. + """ + expected = Security.SecIdentityGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _temporary_keychain(): + """ + This function creates a temporary Mac keychain that we can use to work with + credentials. This keychain uses a one-time password and a temporary file to + store the data. We expect to have one keychain per socket. The returned + SecKeychainRef must be freed by the caller, including calling + SecKeychainDelete. + + Returns a tuple of the SecKeychainRef and the path to the temporary + directory that contains it. + """ + # Unfortunately, SecKeychainCreate requires a path to a keychain. This + # means we cannot use mkstemp to use a generic temporary file. Instead, + # we're going to create a temporary directory and a filename to use there. + # This filename will be 8 random bytes expanded into base64. We also need + # some random bytes to password-protect the keychain we're creating, so we + # ask for 40 random bytes. + random_bytes = os.urandom(40) + filename = base64.b16encode(random_bytes[:8]).decode('utf-8') + password = base64.b16encode(random_bytes[8:]) # Must be valid UTF-8 + tempdirectory = tempfile.mkdtemp() + + keychain_path = os.path.join(tempdirectory, filename).encode('utf-8') + + # We now want to create the keychain itself. + keychain = Security.SecKeychainRef() + status = Security.SecKeychainCreate( + keychain_path, + len(password), + password, + False, + None, + ctypes.byref(keychain) + ) + _assert_no_error(status) + + # Having created the keychain, we want to pass it off to the caller. + return keychain, tempdirectory + + +def _load_items_from_file(keychain, path): + """ + Given a single file, loads all the trust objects from it into arrays and + the keychain. + Returns a tuple of lists: the first list is a list of identities, the + second a list of certs. + """ + certificates = [] + identities = [] + result_array = None + + with open(path, 'rb') as f: + raw_filedata = f.read() + + try: + filedata = CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, + raw_filedata, + len(raw_filedata) + ) + result_array = CoreFoundation.CFArrayRef() + result = Security.SecItemImport( + filedata, # cert data + None, # Filename, leaving it out for now + None, # What the type of the file is, we don't care + None, # what's in the file, we don't care + 0, # import flags + None, # key params, can include passphrase in the future + keychain, # The keychain to insert into + ctypes.byref(result_array) # Results + ) + _assert_no_error(result) + + # A CFArray is not very useful to us as an intermediary + # representation, so we are going to extract the objects we want + # and then free the array. We don't need to keep hold of keys: the + # keychain already has them! + result_count = CoreFoundation.CFArrayGetCount(result_array) + for index in range(result_count): + item = CoreFoundation.CFArrayGetValueAtIndex( + result_array, index + ) + item = ctypes.cast(item, CoreFoundation.CFTypeRef) + + if _is_cert(item): + CoreFoundation.CFRetain(item) + certificates.append(item) + elif _is_identity(item): + CoreFoundation.CFRetain(item) + identities.append(item) + finally: + if result_array: + CoreFoundation.CFRelease(result_array) + + CoreFoundation.CFRelease(filedata) + + return (identities, certificates) + + +def _load_client_cert_chain(keychain, *paths): + """ + Load certificates and maybe keys from a number of files. Has the end goal + of returning a CFArray containing one SecIdentityRef, and then zero or more + SecCertificateRef objects, suitable for use as a client certificate trust + chain. + """ + # Ok, the strategy. + # + # This relies on knowing that macOS will not give you a SecIdentityRef + # unless you have imported a key into a keychain. This is a somewhat + # artificial limitation of macOS (for example, it doesn't necessarily + # affect iOS), but there is nothing inside Security.framework that lets you + # get a SecIdentityRef without having a key in a keychain. + # + # So the policy here is we take all the files and iterate them in order. + # Each one will use SecItemImport to have one or more objects loaded from + # it. We will also point at a keychain that macOS can use to work with the + # private key. + # + # Once we have all the objects, we'll check what we actually have. If we + # already have a SecIdentityRef in hand, fab: we'll use that. Otherwise, + # we'll take the first certificate (which we assume to be our leaf) and + # ask the keychain to give us a SecIdentityRef with that cert's associated + # key. + # + # We'll then return a CFArray containing the trust chain: one + # SecIdentityRef and then zero-or-more SecCertificateRef objects. The + # responsibility for freeing this CFArray will be with the caller. This + # CFArray must remain alive for the entire connection, so in practice it + # will be stored with a single SSLSocket, along with the reference to the + # keychain. + certificates = [] + identities = [] + + # Filter out bad paths. + paths = (path for path in paths if path) + + try: + for file_path in paths: + new_identities, new_certs = _load_items_from_file( + keychain, file_path + ) + identities.extend(new_identities) + certificates.extend(new_certs) + + # Ok, we have everything. The question is: do we have an identity? If + # not, we want to grab one from the first cert we have. + if not identities: + new_identity = Security.SecIdentityRef() + status = Security.SecIdentityCreateWithCertificate( + keychain, + certificates[0], + ctypes.byref(new_identity) + ) + _assert_no_error(status) + identities.append(new_identity) + + # We now want to release the original certificate, as we no longer + # need it. + CoreFoundation.CFRelease(certificates.pop(0)) + + # We now need to build a new CFArray that holds the trust chain. + trust_chain = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks), + ) + for item in itertools.chain(identities, certificates): + # ArrayAppendValue does a CFRetain on the item. That's fine, + # because the finally block will release our other refs to them. + CoreFoundation.CFArrayAppendValue(trust_chain, item) + + return trust_chain + finally: + for obj in itertools.chain(identities, certificates): + CoreFoundation.CFRelease(obj) diff --git a/urllib3/contrib/appengine.py b/urllib3/contrib/appengine.py new file mode 100644 index 0000000..2952f11 --- /dev/null +++ b/urllib3/contrib/appengine.py @@ -0,0 +1,289 @@ +""" +This module provides a pool manager that uses Google App Engine's +`URLFetch Service `_. + +Example usage:: + + from urllib3 import PoolManager + from urllib3.contrib.appengine import AppEngineManager, is_appengine_sandbox + + if is_appengine_sandbox(): + # AppEngineManager uses AppEngine's URLFetch API behind the scenes + http = AppEngineManager() + else: + # PoolManager uses a socket-level API behind the scenes + http = PoolManager() + + r = http.request('GET', 'https://google.com/') + +There are `limitations `_ to the URLFetch service and it may not be +the best choice for your application. There are three options for using +urllib3 on Google App Engine: + +1. You can use :class:`AppEngineManager` with URLFetch. URLFetch is + cost-effective in many circumstances as long as your usage is within the + limitations. +2. You can use a normal :class:`~urllib3.PoolManager` by enabling sockets. + Sockets also have `limitations and restrictions + `_ and have a lower free quota than URLFetch. + To use sockets, be sure to specify the following in your ``app.yaml``:: + + env_variables: + GAE_USE_SOCKETS_HTTPLIB : 'true' + +3. If you are using `App Engine Flexible +`_, you can use the standard +:class:`PoolManager` without any configuration or special environment variables. +""" + +from __future__ import absolute_import +import io +import logging +import warnings +from ..packages.six.moves.urllib.parse import urljoin + +from ..exceptions import ( + HTTPError, + HTTPWarning, + MaxRetryError, + ProtocolError, + TimeoutError, + SSLError +) + +from ..request import RequestMethods +from ..response import HTTPResponse +from ..util.timeout import Timeout +from ..util.retry import Retry +from . import _appengine_environ + +try: + from google.appengine.api import urlfetch +except ImportError: + urlfetch = None + + +log = logging.getLogger(__name__) + + +class AppEnginePlatformWarning(HTTPWarning): + pass + + +class AppEnginePlatformError(HTTPError): + pass + + +class AppEngineManager(RequestMethods): + """ + Connection manager for Google App Engine sandbox applications. + + This manager uses the URLFetch service directly instead of using the + emulated httplib, and is subject to URLFetch limitations as described in + the App Engine documentation `here + `_. + + Notably it will raise an :class:`AppEnginePlatformError` if: + * URLFetch is not available. + * If you attempt to use this on App Engine Flexible, as full socket + support is available. + * If a request size is more than 10 megabytes. + * If a response size is more than 32 megabtyes. + * If you use an unsupported request method such as OPTIONS. + + Beyond those cases, it will raise normal urllib3 errors. + """ + + def __init__(self, headers=None, retries=None, validate_certificate=True, + urlfetch_retries=True): + if not urlfetch: + raise AppEnginePlatformError( + "URLFetch is not available in this environment.") + + if is_prod_appengine_mvms(): + raise AppEnginePlatformError( + "Use normal urllib3.PoolManager instead of AppEngineManager" + "on Managed VMs, as using URLFetch is not necessary in " + "this environment.") + + warnings.warn( + "urllib3 is using URLFetch on Google App Engine sandbox instead " + "of sockets. To use sockets directly instead of URLFetch see " + "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.", + AppEnginePlatformWarning) + + RequestMethods.__init__(self, headers) + self.validate_certificate = validate_certificate + self.urlfetch_retries = urlfetch_retries + + self.retries = retries or Retry.DEFAULT + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + # Return False to re-raise any potential exceptions + return False + + def urlopen(self, method, url, body=None, headers=None, + retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT, + **response_kw): + + retries = self._get_retries(retries, redirect) + + try: + follow_redirects = ( + redirect and + retries.redirect != 0 and + retries.total) + response = urlfetch.fetch( + url, + payload=body, + method=method, + headers=headers or {}, + allow_truncated=False, + follow_redirects=self.urlfetch_retries and follow_redirects, + deadline=self._get_absolute_timeout(timeout), + validate_certificate=self.validate_certificate, + ) + except urlfetch.DeadlineExceededError as e: + raise TimeoutError(self, e) + + except urlfetch.InvalidURLError as e: + if 'too large' in str(e): + raise AppEnginePlatformError( + "URLFetch request too large, URLFetch only " + "supports requests up to 10mb in size.", e) + raise ProtocolError(e) + + except urlfetch.DownloadError as e: + if 'Too many redirects' in str(e): + raise MaxRetryError(self, url, reason=e) + raise ProtocolError(e) + + except urlfetch.ResponseTooLargeError as e: + raise AppEnginePlatformError( + "URLFetch response too large, URLFetch only supports" + "responses up to 32mb in size.", e) + + except urlfetch.SSLCertificateError as e: + raise SSLError(e) + + except urlfetch.InvalidMethodError as e: + raise AppEnginePlatformError( + "URLFetch does not support method: %s" % method, e) + + http_response = self._urlfetch_response_to_http_response( + response, retries=retries, **response_kw) + + # Handle redirect? + redirect_location = redirect and http_response.get_redirect_location() + if redirect_location: + # Check for redirect response + if (self.urlfetch_retries and retries.raise_on_redirect): + raise MaxRetryError(self, url, "too many redirects") + else: + if http_response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=http_response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + raise MaxRetryError(self, url, "too many redirects") + return http_response + + retries.sleep_for_retry(http_response) + log.debug("Redirecting %s -> %s", url, redirect_location) + redirect_url = urljoin(url, redirect_location) + return self.urlopen( + method, redirect_url, body, headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(http_response.getheader('Retry-After')) + if retries.is_retry(method, http_response.status, has_retry_after): + retries = retries.increment( + method, url, response=http_response, _pool=self) + log.debug("Retry: %s", url) + retries.sleep(http_response) + return self.urlopen( + method, url, + body=body, headers=headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + return http_response + + def _urlfetch_response_to_http_response(self, urlfetch_resp, **response_kw): + + if is_prod_appengine(): + # Production GAE handles deflate encoding automatically, but does + # not remove the encoding header. + content_encoding = urlfetch_resp.headers.get('content-encoding') + + if content_encoding == 'deflate': + del urlfetch_resp.headers['content-encoding'] + + transfer_encoding = urlfetch_resp.headers.get('transfer-encoding') + # We have a full response's content, + # so let's make sure we don't report ourselves as chunked data. + if transfer_encoding == 'chunked': + encodings = transfer_encoding.split(",") + encodings.remove('chunked') + urlfetch_resp.headers['transfer-encoding'] = ','.join(encodings) + + original_response = HTTPResponse( + # In order for decoding to work, we must present the content as + # a file-like object. + body=io.BytesIO(urlfetch_resp.content), + msg=urlfetch_resp.header_msg, + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + **response_kw + ) + + return HTTPResponse( + body=io.BytesIO(urlfetch_resp.content), + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + original_response=original_response, + **response_kw + ) + + def _get_absolute_timeout(self, timeout): + if timeout is Timeout.DEFAULT_TIMEOUT: + return None # Defer to URLFetch's default. + if isinstance(timeout, Timeout): + if timeout._read is not None or timeout._connect is not None: + warnings.warn( + "URLFetch does not support granular timeout settings, " + "reverting to total or default URLFetch timeout.", + AppEnginePlatformWarning) + return timeout.total + return timeout + + def _get_retries(self, retries, redirect): + if not isinstance(retries, Retry): + retries = Retry.from_int( + retries, redirect=redirect, default=self.retries) + + if retries.connect or retries.read or retries.redirect: + warnings.warn( + "URLFetch only supports total retries and does not " + "recognize connect, read, or redirect retry parameters.", + AppEnginePlatformWarning) + + return retries + + +# Alias methods from _appengine_environ to maintain public API interface. + +is_appengine = _appengine_environ.is_appengine +is_appengine_sandbox = _appengine_environ.is_appengine_sandbox +is_local_appengine = _appengine_environ.is_local_appengine +is_prod_appengine = _appengine_environ.is_prod_appengine +is_prod_appengine_mvms = _appengine_environ.is_prod_appengine_mvms diff --git a/urllib3/contrib/ntlmpool.py b/urllib3/contrib/ntlmpool.py new file mode 100644 index 0000000..8ea127c --- /dev/null +++ b/urllib3/contrib/ntlmpool.py @@ -0,0 +1,111 @@ +""" +NTLM authenticating pool, contributed by erikcederstran + +Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 +""" +from __future__ import absolute_import + +from logging import getLogger +from ntlm import ntlm + +from .. import HTTPSConnectionPool +from ..packages.six.moves.http_client import HTTPSConnection + + +log = getLogger(__name__) + + +class NTLMConnectionPool(HTTPSConnectionPool): + """ + Implements an NTLM authentication version of an urllib3 connection pool + """ + + scheme = 'https' + + def __init__(self, user, pw, authurl, *args, **kwargs): + """ + authurl is a random URL on the server that is protected by NTLM. + user is the Windows user, probably in the DOMAIN\\username format. + pw is the password for the user. + """ + super(NTLMConnectionPool, self).__init__(*args, **kwargs) + self.authurl = authurl + self.rawuser = user + user_parts = user.split('\\', 1) + self.domain = user_parts[0].upper() + self.user = user_parts[1] + self.pw = pw + + def _new_conn(self): + # Performs the NTLM handshake that secures the connection. The socket + # must be kept open while requests are performed. + self.num_connections += 1 + log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s', + self.num_connections, self.host, self.authurl) + + headers = {'Connection': 'Keep-Alive'} + req_header = 'Authorization' + resp_header = 'www-authenticate' + + conn = HTTPSConnection(host=self.host, port=self.port) + + # Send negotiation message + headers[req_header] = ( + 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + reshdr = dict(res.getheaders()) + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', reshdr) + log.debug('Response data: %s [...]', res.read(100)) + + # Remove the reference to the socket, so that it can not be closed by + # the response object (we want to keep the socket open) + res.fp = None + + # Server should respond with a challenge message + auth_header_values = reshdr[resp_header].split(', ') + auth_header_value = None + for s in auth_header_values: + if s[:5] == 'NTLM ': + auth_header_value = s[5:] + if auth_header_value is None: + raise Exception('Unexpected %s response header: %s' % + (resp_header, reshdr[resp_header])) + + # Send authentication message + ServerChallenge, NegotiateFlags = \ + ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) + auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, + self.user, + self.domain, + self.pw, + NegotiateFlags) + headers[req_header] = 'NTLM %s' % auth_msg + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', dict(res.getheaders())) + log.debug('Response data: %s [...]', res.read()[:100]) + if res.status != 200: + if res.status == 401: + raise Exception('Server rejected request: wrong ' + 'username or password') + raise Exception('Wrong server response: %s %s' % + (res.status, res.reason)) + + res.fp = None + log.debug('Connection established') + return conn + + def urlopen(self, method, url, body=None, headers=None, retries=3, + redirect=True, assert_same_host=True): + if headers is None: + headers = {} + headers['Connection'] = 'Keep-Alive' + return super(NTLMConnectionPool, self).urlopen(method, url, body, + headers, retries, + redirect, + assert_same_host) diff --git a/urllib3/contrib/pyopenssl.py b/urllib3/contrib/pyopenssl.py new file mode 100644 index 0000000..44f091f --- /dev/null +++ b/urllib3/contrib/pyopenssl.py @@ -0,0 +1,469 @@ +""" +SSL with SNI_-support for Python 2. Follow these instructions if you would +like to verify SSL certificates in Python 2. Note, the default libraries do +*not* do certificate checking; you need to do additional work to validate +certificates yourself. + +This needs the following packages installed: + +* pyOpenSSL (tested with 16.0.0) +* cryptography (minimum 1.3.4, from pyopenssl) +* idna (minimum 2.0, from cryptography) + +However, pyopenssl depends on cryptography, which depends on idna, so while we +use all three directly here we end up having relatively few packages required. + +You can install them with the following command: + + pip install pyopenssl cryptography idna + +To activate certificate checking, call +:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code +before you begin making HTTP requests. This can be done in a ``sitecustomize`` +module, or at any other time before your application begins using ``urllib3``, +like this:: + + try: + import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() + except ImportError: + pass + +Now you can use :mod:`urllib3` as you normally would, and it will support SNI +when the required modules are installed. + +Activating this module also has the positive side effect of disabling SSL/TLS +compression in Python 2 (see `CRIME attack`_). + +If you want to configure the default list of supported cipher suites, you can +set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. + +.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication +.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) +""" +from __future__ import absolute_import + +import OpenSSL.SSL +from cryptography import x509 +from cryptography.hazmat.backends.openssl import backend as openssl_backend +from cryptography.hazmat.backends.openssl.x509 import _Certificate +try: + from cryptography.x509 import UnsupportedExtension +except ImportError: + # UnsupportedExtension is gone in cryptography >= 2.1.0 + class UnsupportedExtension(Exception): + pass + +from socket import timeout, error as SocketError +from io import BytesIO + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +import logging +import ssl +from ..packages import six +import sys + +from .. import util + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works. +HAS_SNI = True + +# Map from urllib3 to PyOpenSSL compatible parameter-values. +_openssl_versions = { + ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, + ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, +} + +if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD + +if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD + +try: + _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) +except AttributeError: + pass + +_stdlib_to_openssl_verify = { + ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, + ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, + ssl.CERT_REQUIRED: + OpenSSL.SSL.VERIFY_PEER + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, +} +_openssl_to_stdlib_verify = dict( + (v, k) for k, v in _stdlib_to_openssl_verify.items() +) + +# OpenSSL will only write 16K at a time +SSL_WRITE_BLOCKSIZE = 16384 + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + + +log = logging.getLogger(__name__) + + +def inject_into_urllib3(): + 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' + + _validate_dependencies_met() + + util.ssl_.SSLContext = PyOpenSSLContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_PYOPENSSL = True + util.ssl_.IS_PYOPENSSL = True + + +def extract_from_urllib3(): + 'Undo monkey-patching by :func:`inject_into_urllib3`.' + + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_PYOPENSSL = False + util.ssl_.IS_PYOPENSSL = False + + +def _validate_dependencies_met(): + """ + Verifies that PyOpenSSL's package-level dependencies have been met. + Throws `ImportError` if they are not met. + """ + # Method added in `cryptography==1.1`; not available in older versions + from cryptography.x509.extensions import Extensions + if getattr(Extensions, "get_extension_for_class", None) is None: + raise ImportError("'cryptography' module missing required functionality. " + "Try upgrading to v1.3.4 or newer.") + + # pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509 + # attribute is only present on those versions. + from OpenSSL.crypto import X509 + x509 = X509() + if getattr(x509, "_x509", None) is None: + raise ImportError("'pyOpenSSL' module missing required functionality. " + "Try upgrading to v0.14 or newer.") + + +def _dnsname_to_stdlib(name): + """ + Converts a dNSName SubjectAlternativeName field to the form used by the + standard library on the given Python version. + + Cryptography produces a dNSName as a unicode string that was idna-decoded + from ASCII bytes. We need to idna-encode that string to get it back, and + then on Python 3 we also need to convert to unicode via UTF-8 (the stdlib + uses PyUnicode_FromStringAndSize on it, which decodes via UTF-8). + + If the name cannot be idna-encoded then we return None signalling that + the name given should be skipped. + """ + def idna_encode(name): + """ + Borrowed wholesale from the Python Cryptography Project. It turns out + that we can't just safely call `idna.encode`: it can explode for + wildcard names. This avoids that problem. + """ + import idna + + try: + for prefix in [u'*.', u'.']: + if name.startswith(prefix): + name = name[len(prefix):] + return prefix.encode('ascii') + idna.encode(name) + return idna.encode(name) + except idna.core.IDNAError: + return None + + if ':' in name: + return name + + name = idna_encode(name) + if name is None: + return None + elif sys.version_info >= (3, 0): + name = name.decode('utf-8') + return name + + +def get_subj_alt_name(peer_cert): + """ + Given an PyOpenSSL certificate, provides all the subject alternative names. + """ + # Pass the cert to cryptography, which has much better APIs for this. + if hasattr(peer_cert, "to_cryptography"): + cert = peer_cert.to_cryptography() + else: + # This is technically using private APIs, but should work across all + # relevant versions before PyOpenSSL got a proper API for this. + cert = _Certificate(openssl_backend, peer_cert._x509) + + # We want to find the SAN extension. Ask Cryptography to locate it (it's + # faster than looping in Python) + try: + ext = cert.extensions.get_extension_for_class( + x509.SubjectAlternativeName + ).value + except x509.ExtensionNotFound: + # No such extension, return the empty list. + return [] + except (x509.DuplicateExtension, UnsupportedExtension, + x509.UnsupportedGeneralNameType, UnicodeError) as e: + # A problem has been found with the quality of the certificate. Assume + # no SAN field is present. + log.warning( + "A problem was encountered with the certificate that prevented " + "urllib3 from finding the SubjectAlternativeName field. This can " + "affect certificate validation. The error was %s", + e, + ) + return [] + + # We want to return dNSName and iPAddress fields. We need to cast the IPs + # back to strings because the match_hostname function wants them as + # strings. + # Sadly the DNS names need to be idna encoded and then, on Python 3, UTF-8 + # decoded. This is pretty frustrating, but that's what the standard library + # does with certificates, and so we need to attempt to do the same. + # We also want to skip over names which cannot be idna encoded. + names = [ + ('DNS', name) for name in map(_dnsname_to_stdlib, ext.get_values_for_type(x509.DNSName)) + if name is not None + ] + names.extend( + ('IP Address', str(name)) + for name in ext.get_values_for_type(x509.IPAddress) + ) + + return names + + +class WrappedSocket(object): + '''API-compatibility wrapper for Python OpenSSL's Connection-class. + + Note: _makefile_refs, _drop() and _reuse() are needed for the garbage + collector of pypy. + ''' + + def __init__(self, connection, socket, suppress_ragged_eofs=True): + self.connection = connection + self.socket = socket + self.suppress_ragged_eofs = suppress_ragged_eofs + self._makefile_refs = 0 + self._closed = False + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, *args, **kwargs): + try: + data = self.connection.recv(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return b'' + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return b'' + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv(*args, **kwargs) + else: + return data + + def recv_into(self, *args, **kwargs): + try: + return self.connection.recv_into(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return 0 + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return 0 + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv_into(*args, **kwargs) + + def settimeout(self, timeout): + return self.socket.settimeout(timeout) + + def _send_until_done(self, data): + while True: + try: + return self.connection.send(data) + except OpenSSL.SSL.WantWriteError: + if not util.wait_for_write(self.socket, self.socket.gettimeout()): + raise timeout() + continue + except OpenSSL.SSL.SysCallError as e: + raise SocketError(str(e)) + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self._send_until_done(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + # FIXME rethrow compatible exceptions should we ever use this + self.connection.shutdown() + + def close(self): + if self._makefile_refs < 1: + try: + self._closed = True + return self.connection.close() + except OpenSSL.SSL.Error: + return + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + x509 = self.connection.get_peer_certificate() + + if not x509: + return x509 + + if binary_form: + return OpenSSL.crypto.dump_certificate( + OpenSSL.crypto.FILETYPE_ASN1, + x509) + + return { + 'subject': ( + (('commonName', x509.get_subject().CN),), + ), + 'subjectAltName': get_subj_alt_name(x509) + } + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + makefile = backport_makefile + +WrappedSocket.makefile = makefile + + +class PyOpenSSLContext(object): + """ + I am a wrapper class for the PyOpenSSL ``Context`` object. I am responsible + for translating the interface of the standard library ``SSLContext`` object + to calls into PyOpenSSL. + """ + def __init__(self, protocol): + self.protocol = _openssl_versions[protocol] + self._ctx = OpenSSL.SSL.Context(self.protocol) + self._options = 0 + self.check_hostname = False + + @property + def options(self): + return self._options + + @options.setter + def options(self, value): + self._options = value + self._ctx.set_options(value) + + @property + def verify_mode(self): + return _openssl_to_stdlib_verify[self._ctx.get_verify_mode()] + + @verify_mode.setter + def verify_mode(self, value): + self._ctx.set_verify( + _stdlib_to_openssl_verify[value], + _verify_callback + ) + + def set_default_verify_paths(self): + self._ctx.set_default_verify_paths() + + def set_ciphers(self, ciphers): + if isinstance(ciphers, six.text_type): + ciphers = ciphers.encode('utf-8') + self._ctx.set_cipher_list(ciphers) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + if cafile is not None: + cafile = cafile.encode('utf-8') + if capath is not None: + capath = capath.encode('utf-8') + self._ctx.load_verify_locations(cafile, capath) + if cadata is not None: + self._ctx.load_verify_locations(BytesIO(cadata)) + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._ctx.use_certificate_chain_file(certfile) + if password is not None: + self._ctx.set_passwd_cb(lambda max_length, prompt_twice, userdata: password) + self._ctx.use_privatekey_file(keyfile or certfile) + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + cnx = OpenSSL.SSL.Connection(self._ctx, sock) + + if isinstance(server_hostname, six.text_type): # Platform-specific: Python 3 + server_hostname = server_hostname.encode('utf-8') + + if server_hostname is not None: + cnx.set_tlsext_host_name(server_hostname) + + cnx.set_connect_state() + + while True: + try: + cnx.do_handshake() + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(sock, sock.gettimeout()): + raise timeout('select timed out') + continue + except OpenSSL.SSL.Error as e: + raise ssl.SSLError('bad handshake: %r' % e) + break + + return WrappedSocket(cnx, sock) + + +def _verify_callback(cnx, x509, err_no, err_depth, return_code): + return err_no == 0 diff --git a/urllib3/contrib/securetransport.py b/urllib3/contrib/securetransport.py new file mode 100644 index 0000000..77cb59e --- /dev/null +++ b/urllib3/contrib/securetransport.py @@ -0,0 +1,804 @@ +""" +SecureTranport support for urllib3 via ctypes. + +This makes platform-native TLS available to urllib3 users on macOS without the +use of a compiler. This is an important feature because the Python Package +Index is moving to become a TLSv1.2-or-higher server, and the default OpenSSL +that ships with macOS is not capable of doing TLSv1.2. The only way to resolve +this is to give macOS users an alternative solution to the problem, and that +solution is to use SecureTransport. + +We use ctypes here because this solution must not require a compiler. That's +because pip is not allowed to require a compiler either. + +This is not intended to be a seriously long-term solution to this problem. +The hope is that PEP 543 will eventually solve this issue for us, at which +point we can retire this contrib module. But in the short term, we need to +solve the impending tire fire that is Python on Mac without this kind of +contrib module. So...here we are. + +To use this module, simply import and inject it:: + + import urllib3.contrib.securetransport + urllib3.contrib.securetransport.inject_into_urllib3() + +Happy TLSing! +""" +from __future__ import absolute_import + +import contextlib +import ctypes +import errno +import os.path +import shutil +import socket +import ssl +import threading +import weakref + +from .. import util +from ._securetransport.bindings import ( + Security, SecurityConst, CoreFoundation +) +from ._securetransport.low_level import ( + _assert_no_error, _cert_array_from_pem, _temporary_keychain, + _load_client_cert_chain +) + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works +HAS_SNI = True + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + +# This dictionary is used by the read callback to obtain a handle to the +# calling wrapped socket. This is a pretty silly approach, but for now it'll +# do. I feel like I should be able to smuggle a handle to the wrapped socket +# directly in the SSLConnectionRef, but for now this approach will work I +# guess. +# +# We need to lock around this structure for inserts, but we don't do it for +# reads/writes in the callbacks. The reasoning here goes as follows: +# +# 1. It is not possible to call into the callbacks before the dictionary is +# populated, so once in the callback the id must be in the dictionary. +# 2. The callbacks don't mutate the dictionary, they only read from it, and +# so cannot conflict with any of the insertions. +# +# This is good: if we had to lock in the callbacks we'd drastically slow down +# the performance of this code. +_connection_refs = weakref.WeakValueDictionary() +_connection_ref_lock = threading.Lock() + +# Limit writes to 16kB. This is OpenSSL's limit, but we'll cargo-cult it over +# for no better reason than we need *a* limit, and this one is right there. +SSL_WRITE_BLOCKSIZE = 16384 + +# This is our equivalent of util.ssl_.DEFAULT_CIPHERS, but expanded out to +# individual cipher suites. We need to do this because this is how +# SecureTransport wants them. +CIPHER_SUITES = [ + SecurityConst.TLS_AES_256_GCM_SHA384, + SecurityConst.TLS_CHACHA20_POLY1305_SHA256, + SecurityConst.TLS_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA, +] + +# Basically this is simple: for PROTOCOL_SSLv23 we turn it into a low of +# TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. +_protocol_to_min_max = { + ssl.PROTOCOL_SSLv23: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), +} + +if hasattr(ssl, "PROTOCOL_SSLv2"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv2] = ( + SecurityConst.kSSLProtocol2, SecurityConst.kSSLProtocol2 + ) +if hasattr(ssl, "PROTOCOL_SSLv3"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv3] = ( + SecurityConst.kSSLProtocol3, SecurityConst.kSSLProtocol3 + ) +if hasattr(ssl, "PROTOCOL_TLSv1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1] = ( + SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol1 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_1] = ( + SecurityConst.kTLSProtocol11, SecurityConst.kTLSProtocol11 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_2"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_2] = ( + SecurityConst.kTLSProtocol12, SecurityConst.kTLSProtocol12 + ) +if hasattr(ssl, "PROTOCOL_TLS"): + _protocol_to_min_max[ssl.PROTOCOL_TLS] = _protocol_to_min_max[ssl.PROTOCOL_SSLv23] + + +def inject_into_urllib3(): + """ + Monkey-patch urllib3 with SecureTransport-backed SSL-support. + """ + util.ssl_.SSLContext = SecureTransportContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_SECURETRANSPORT = True + util.ssl_.IS_SECURETRANSPORT = True + + +def extract_from_urllib3(): + """ + Undo monkey-patching by :func:`inject_into_urllib3`. + """ + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_SECURETRANSPORT = False + util.ssl_.IS_SECURETRANSPORT = False + + +def _read_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport read callback. This is called by ST to request that data + be returned from the socket. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + requested_length = data_length_pointer[0] + + timeout = wrapped_socket.gettimeout() + error = None + read_count = 0 + + try: + while read_count < requested_length: + if timeout is None or timeout >= 0: + if not util.wait_for_read(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + + remaining = requested_length - read_count + buffer = (ctypes.c_char * remaining).from_address( + data_buffer + read_count + ) + chunk_size = base_socket.recv_into(buffer, remaining) + read_count += chunk_size + if not chunk_size: + if not read_count: + return SecurityConst.errSSLClosedGraceful + break + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = read_count + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = read_count + + if read_count != requested_length: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +def _write_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport write callback. This is called by ST to request that data + actually be sent on the network. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + bytes_to_write = data_length_pointer[0] + data = ctypes.string_at(data_buffer, bytes_to_write) + + timeout = wrapped_socket.gettimeout() + error = None + sent = 0 + + try: + while sent < bytes_to_write: + if timeout is None or timeout >= 0: + if not util.wait_for_write(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + chunk_sent = base_socket.send(data) + sent += chunk_sent + + # This has some needless copying here, but I'm not sure there's + # much value in optimising this data path. + data = data[chunk_sent:] + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = sent + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = sent + + if sent != bytes_to_write: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +# We need to keep these two objects references alive: if they get GC'd while +# in use then SecureTransport could attempt to call a function that is in freed +# memory. That would be...uh...bad. Yeah, that's the word. Bad. +_read_callback_pointer = Security.SSLReadFunc(_read_callback) +_write_callback_pointer = Security.SSLWriteFunc(_write_callback) + + +class WrappedSocket(object): + """ + API-compatibility wrapper for Python's OpenSSL wrapped socket object. + + Note: _makefile_refs, _drop(), and _reuse() are needed for the garbage + collector of PyPy. + """ + def __init__(self, socket): + self.socket = socket + self.context = None + self._makefile_refs = 0 + self._closed = False + self._exception = None + self._keychain = None + self._keychain_dir = None + self._client_cert_chain = None + + # We save off the previously-configured timeout and then set it to + # zero. This is done because we use select and friends to handle the + # timeouts, but if we leave the timeout set on the lower socket then + # Python will "kindly" call select on that socket again for us. Avoid + # that by forcing the timeout to zero. + self._timeout = self.socket.gettimeout() + self.socket.settimeout(0) + + @contextlib.contextmanager + def _raise_on_error(self): + """ + A context manager that can be used to wrap calls that do I/O from + SecureTransport. If any of the I/O callbacks hit an exception, this + context manager will correctly propagate the exception after the fact. + This avoids silently swallowing those exceptions. + + It also correctly forces the socket closed. + """ + self._exception = None + + # We explicitly don't catch around this yield because in the unlikely + # event that an exception was hit in the block we don't want to swallow + # it. + yield + if self._exception is not None: + exception, self._exception = self._exception, None + self.close() + raise exception + + def _set_ciphers(self): + """ + Sets up the allowed ciphers. By default this matches the set in + util.ssl_.DEFAULT_CIPHERS, at least as supported by macOS. This is done + custom and doesn't allow changing at this time, mostly because parsing + OpenSSL cipher strings is going to be a freaking nightmare. + """ + ciphers = (Security.SSLCipherSuite * len(CIPHER_SUITES))(*CIPHER_SUITES) + result = Security.SSLSetEnabledCiphers( + self.context, ciphers, len(CIPHER_SUITES) + ) + _assert_no_error(result) + + def _custom_validate(self, verify, trust_bundle): + """ + Called when we have set custom validation. We do this in two cases: + first, when cert validation is entirely disabled; and second, when + using a custom trust DB. + """ + # If we disabled cert validation, just say: cool. + if not verify: + return + + # We want data in memory, so load it up. + if os.path.isfile(trust_bundle): + with open(trust_bundle, 'rb') as f: + trust_bundle = f.read() + + cert_array = None + trust = Security.SecTrustRef() + + try: + # Get a CFArray that contains the certs we want. + cert_array = _cert_array_from_pem(trust_bundle) + + # Ok, now the hard part. We want to get the SecTrustRef that ST has + # created for this connection, shove our CAs into it, tell ST to + # ignore everything else it knows, and then ask if it can build a + # chain. This is a buuuunch of code. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + raise ssl.SSLError("Failed to copy trust reference") + + result = Security.SecTrustSetAnchorCertificates(trust, cert_array) + _assert_no_error(result) + + result = Security.SecTrustSetAnchorCertificatesOnly(trust, True) + _assert_no_error(result) + + trust_result = Security.SecTrustResultType() + result = Security.SecTrustEvaluate( + trust, ctypes.byref(trust_result) + ) + _assert_no_error(result) + finally: + if trust: + CoreFoundation.CFRelease(trust) + + if cert_array is not None: + CoreFoundation.CFRelease(cert_array) + + # Ok, now we can look at what the result was. + successes = ( + SecurityConst.kSecTrustResultUnspecified, + SecurityConst.kSecTrustResultProceed + ) + if trust_result.value not in successes: + raise ssl.SSLError( + "certificate verify failed, error code: %d" % + trust_result.value + ) + + def handshake(self, + server_hostname, + verify, + trust_bundle, + min_version, + max_version, + client_cert, + client_key, + client_key_passphrase): + """ + Actually performs the TLS handshake. This is run automatically by + wrapped socket, and shouldn't be needed in user code. + """ + # First, we do the initial bits of connection setup. We need to create + # a context, set its I/O funcs, and set the connection reference. + self.context = Security.SSLCreateContext( + None, SecurityConst.kSSLClientSide, SecurityConst.kSSLStreamType + ) + result = Security.SSLSetIOFuncs( + self.context, _read_callback_pointer, _write_callback_pointer + ) + _assert_no_error(result) + + # Here we need to compute the handle to use. We do this by taking the + # id of self modulo 2**31 - 1. If this is already in the dictionary, we + # just keep incrementing by one until we find a free space. + with _connection_ref_lock: + handle = id(self) % 2147483647 + while handle in _connection_refs: + handle = (handle + 1) % 2147483647 + _connection_refs[handle] = self + + result = Security.SSLSetConnection(self.context, handle) + _assert_no_error(result) + + # If we have a server hostname, we should set that too. + if server_hostname: + if not isinstance(server_hostname, bytes): + server_hostname = server_hostname.encode('utf-8') + + result = Security.SSLSetPeerDomainName( + self.context, server_hostname, len(server_hostname) + ) + _assert_no_error(result) + + # Setup the ciphers. + self._set_ciphers() + + # Set the minimum and maximum TLS versions. + result = Security.SSLSetProtocolVersionMin(self.context, min_version) + _assert_no_error(result) + result = Security.SSLSetProtocolVersionMax(self.context, max_version) + _assert_no_error(result) + + # If there's a trust DB, we need to use it. We do that by telling + # SecureTransport to break on server auth. We also do that if we don't + # want to validate the certs at all: we just won't actually do any + # authing in that case. + if not verify or trust_bundle is not None: + result = Security.SSLSetSessionOption( + self.context, + SecurityConst.kSSLSessionOptionBreakOnServerAuth, + True + ) + _assert_no_error(result) + + # If there's a client cert, we need to use it. + if client_cert: + self._keychain, self._keychain_dir = _temporary_keychain() + self._client_cert_chain = _load_client_cert_chain( + self._keychain, client_cert, client_key + ) + result = Security.SSLSetCertificate( + self.context, self._client_cert_chain + ) + _assert_no_error(result) + + while True: + with self._raise_on_error(): + result = Security.SSLHandshake(self.context) + + if result == SecurityConst.errSSLWouldBlock: + raise socket.timeout("handshake timed out") + elif result == SecurityConst.errSSLServerAuthCompleted: + self._custom_validate(verify, trust_bundle) + continue + else: + _assert_no_error(result) + break + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, bufsiz): + buffer = ctypes.create_string_buffer(bufsiz) + bytes_read = self.recv_into(buffer, bufsiz) + data = buffer[:bytes_read] + return data + + def recv_into(self, buffer, nbytes=None): + # Read short on EOF. + if self._closed: + return 0 + + if nbytes is None: + nbytes = len(buffer) + + buffer = (ctypes.c_char * nbytes).from_buffer(buffer) + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLRead( + self.context, buffer, nbytes, ctypes.byref(processed_bytes) + ) + + # There are some result codes that we want to treat as "not always + # errors". Specifically, those are errSSLWouldBlock, + # errSSLClosedGraceful, and errSSLClosedNoNotify. + if (result == SecurityConst.errSSLWouldBlock): + # If we didn't process any bytes, then this was just a time out. + # However, we can get errSSLWouldBlock in situations when we *did* + # read some data, and in those cases we should just read "short" + # and return. + if processed_bytes.value == 0: + # Timed out, no data read. + raise socket.timeout("recv timed out") + elif result in (SecurityConst.errSSLClosedGraceful, SecurityConst.errSSLClosedNoNotify): + # The remote peer has closed this connection. We should do so as + # well. Note that we don't actually return here because in + # principle this could actually be fired along with return data. + # It's unlikely though. + self.close() + else: + _assert_no_error(result) + + # Ok, we read and probably succeeded. We should return whatever data + # was actually read. + return processed_bytes.value + + def settimeout(self, timeout): + self._timeout = timeout + + def gettimeout(self): + return self._timeout + + def send(self, data): + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLWrite( + self.context, data, len(data), ctypes.byref(processed_bytes) + ) + + if result == SecurityConst.errSSLWouldBlock and processed_bytes.value == 0: + # Timed out + raise socket.timeout("send timed out") + else: + _assert_no_error(result) + + # We sent, and probably succeeded. Tell them how much we sent. + return processed_bytes.value + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self.send(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + with self._raise_on_error(): + Security.SSLClose(self.context) + + def close(self): + # TODO: should I do clean shutdown here? Do I have to? + if self._makefile_refs < 1: + self._closed = True + if self.context: + CoreFoundation.CFRelease(self.context) + self.context = None + if self._client_cert_chain: + CoreFoundation.CFRelease(self._client_cert_chain) + self._client_cert_chain = None + if self._keychain: + Security.SecKeychainDelete(self._keychain) + CoreFoundation.CFRelease(self._keychain) + shutil.rmtree(self._keychain_dir) + self._keychain = self._keychain_dir = None + return self.socket.close() + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + # Urgh, annoying. + # + # Here's how we do this: + # + # 1. Call SSLCopyPeerTrust to get hold of the trust object for this + # connection. + # 2. Call SecTrustGetCertificateAtIndex for index 0 to get the leaf. + # 3. To get the CN, call SecCertificateCopyCommonName and process that + # string so that it's of the appropriate type. + # 4. To get the SAN, we need to do something a bit more complex: + # a. Call SecCertificateCopyValues to get the data, requesting + # kSecOIDSubjectAltName. + # b. Mess about with this dictionary to try to get the SANs out. + # + # This is gross. Really gross. It's going to be a few hundred LoC extra + # just to repeat something that SecureTransport can *already do*. So my + # operating assumption at this time is that what we want to do is + # instead to just flag to urllib3 that it shouldn't do its own hostname + # validation when using SecureTransport. + if not binary_form: + raise ValueError( + "SecureTransport only supports dumping binary certs" + ) + trust = Security.SecTrustRef() + certdata = None + der_bytes = None + + try: + # Grab the trust store. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + # Probably we haven't done the handshake yet. No biggie. + return None + + cert_count = Security.SecTrustGetCertificateCount(trust) + if not cert_count: + # Also a case that might happen if we haven't handshaked. + # Handshook? Handshaken? + return None + + leaf = Security.SecTrustGetCertificateAtIndex(trust, 0) + assert leaf + + # Ok, now we want the DER bytes. + certdata = Security.SecCertificateCopyData(leaf) + assert certdata + + data_length = CoreFoundation.CFDataGetLength(certdata) + data_buffer = CoreFoundation.CFDataGetBytePtr(certdata) + der_bytes = ctypes.string_at(data_buffer, data_length) + finally: + if certdata: + CoreFoundation.CFRelease(certdata) + if trust: + CoreFoundation.CFRelease(trust) + + return der_bytes + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + def makefile(self, mode="r", buffering=None, *args, **kwargs): + # We disable buffering with SecureTransport because it conflicts with + # the buffering that ST does internally (see issue #1153 for more). + buffering = 0 + return backport_makefile(self, mode, buffering, *args, **kwargs) + +WrappedSocket.makefile = makefile + + +class SecureTransportContext(object): + """ + I am a wrapper class for the SecureTransport library, to translate the + interface of the standard library ``SSLContext`` object to calls into + SecureTransport. + """ + def __init__(self, protocol): + self._min_version, self._max_version = _protocol_to_min_max[protocol] + self._options = 0 + self._verify = False + self._trust_bundle = None + self._client_cert = None + self._client_key = None + self._client_key_passphrase = None + + @property + def check_hostname(self): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + return True + + @check_hostname.setter + def check_hostname(self, value): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + pass + + @property + def options(self): + # TODO: Well, crap. + # + # So this is the bit of the code that is the most likely to cause us + # trouble. Essentially we need to enumerate all of the SSL options that + # users might want to use and try to see if we can sensibly translate + # them, or whether we should just ignore them. + return self._options + + @options.setter + def options(self, value): + # TODO: Update in line with above. + self._options = value + + @property + def verify_mode(self): + return ssl.CERT_REQUIRED if self._verify else ssl.CERT_NONE + + @verify_mode.setter + def verify_mode(self, value): + self._verify = True if value == ssl.CERT_REQUIRED else False + + def set_default_verify_paths(self): + # So, this has to do something a bit weird. Specifically, what it does + # is nothing. + # + # This means that, if we had previously had load_verify_locations + # called, this does not undo that. We need to do that because it turns + # out that the rest of the urllib3 code will attempt to load the + # default verify paths if it hasn't been told about any paths, even if + # the context itself was sometime earlier. We resolve that by just + # ignoring it. + pass + + def load_default_certs(self): + return self.set_default_verify_paths() + + def set_ciphers(self, ciphers): + # For now, we just require the default cipher string. + if ciphers != util.ssl_.DEFAULT_CIPHERS: + raise ValueError( + "SecureTransport doesn't support custom cipher strings" + ) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + # OK, we only really support cadata and cafile. + if capath is not None: + raise ValueError( + "SecureTransport does not support cert directories" + ) + + self._trust_bundle = cafile or cadata + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._client_cert = certfile + self._client_key = keyfile + self._client_cert_passphrase = password + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + # So, what do we do here? Firstly, we assert some properties. This is a + # stripped down shim, so there is some functionality we don't support. + # See PEP 543 for the real deal. + assert not server_side + assert do_handshake_on_connect + assert suppress_ragged_eofs + + # Ok, we're good to go. Now we want to create the wrapped socket object + # and store it in the appropriate place. + wrapped_socket = WrappedSocket(sock) + + # Now we can handshake + wrapped_socket.handshake( + server_hostname, self._verify, self._trust_bundle, + self._min_version, self._max_version, self._client_cert, + self._client_key, self._client_key_passphrase + ) + return wrapped_socket diff --git a/urllib3/contrib/socks.py b/urllib3/contrib/socks.py new file mode 100644 index 0000000..532d99c --- /dev/null +++ b/urllib3/contrib/socks.py @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +""" +This module contains provisional support for SOCKS proxies from within +urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and +SOCKS5. To enable its functionality, either install PySocks or install this +module with the ``socks`` extra. + +The SOCKS implementation supports the full range of urllib3 features. It also +supports the following SOCKS features: + +- SOCKS4 +- SOCKS4a +- SOCKS5 +- Usernames and passwords for the SOCKS proxy + +Known Limitations: + +- Currently PySocks does not support contacting remote websites via literal + IPv6 addresses. Any such connection attempt will fail. You must use a domain + name. +- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any + such connection attempt will fail. +""" +from __future__ import absolute_import + +try: + import socks +except ImportError: + import warnings + from ..exceptions import DependencyWarning + + warnings.warn(( + 'SOCKS support in urllib3 requires the installation of optional ' + 'dependencies: specifically, PySocks. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies' + ), + DependencyWarning + ) + raise + +from socket import error as SocketError, timeout as SocketTimeout + +from ..connection import ( + HTTPConnection, HTTPSConnection +) +from ..connectionpool import ( + HTTPConnectionPool, HTTPSConnectionPool +) +from ..exceptions import ConnectTimeoutError, NewConnectionError +from ..poolmanager import PoolManager +from ..util.url import parse_url + +try: + import ssl +except ImportError: + ssl = None + + +class SOCKSConnection(HTTPConnection): + """ + A plain-text HTTP connection that connects via a SOCKS proxy. + """ + def __init__(self, *args, **kwargs): + self._socks_options = kwargs.pop('_socks_options') + super(SOCKSConnection, self).__init__(*args, **kwargs) + + def _new_conn(self): + """ + Establish a new connection via the SOCKS proxy. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = socks.create_connection( + (self.host, self.port), + proxy_type=self._socks_options['socks_version'], + proxy_addr=self._socks_options['proxy_host'], + proxy_port=self._socks_options['proxy_port'], + proxy_username=self._socks_options['username'], + proxy_password=self._socks_options['password'], + proxy_rdns=self._socks_options['rdns'], + timeout=self.timeout, + **extra_kw + ) + + except SocketTimeout: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except socks.ProxyError as e: + # This is fragile as hell, but it seems to be the only way to raise + # useful errors here. + if e.socket_err: + error = e.socket_err + if isinstance(error, SocketTimeout): + raise ConnectTimeoutError( + self, + "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout) + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % error + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % e + ) + + except SocketError as e: # Defensive: PySocks should catch all these. + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + +# We don't need to duplicate the Verified/Unverified distinction from +# urllib3/connection.py here because the HTTPSConnection will already have been +# correctly set to either the Verified or Unverified form by that module. This +# means the SOCKSHTTPSConnection will automatically be the correct type. +class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): + pass + + +class SOCKSHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = SOCKSConnection + + +class SOCKSHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = SOCKSHTTPSConnection + + +class SOCKSProxyManager(PoolManager): + """ + A version of the urllib3 ProxyManager that routes connections via the + defined SOCKS proxy. + """ + pool_classes_by_scheme = { + 'http': SOCKSHTTPConnectionPool, + 'https': SOCKSHTTPSConnectionPool, + } + + def __init__(self, proxy_url, username=None, password=None, + num_pools=10, headers=None, **connection_pool_kw): + parsed = parse_url(proxy_url) + + if username is None and password is None and parsed.auth is not None: + split = parsed.auth.split(':') + if len(split) == 2: + username, password = split + if parsed.scheme == 'socks5': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = False + elif parsed.scheme == 'socks5h': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = True + elif parsed.scheme == 'socks4': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = False + elif parsed.scheme == 'socks4a': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = True + else: + raise ValueError( + "Unable to determine SOCKS version from %s" % proxy_url + ) + + self.proxy_url = proxy_url + + socks_options = { + 'socks_version': socks_version, + 'proxy_host': parsed.host, + 'proxy_port': parsed.port, + 'username': username, + 'password': password, + 'rdns': rdns + } + connection_pool_kw['_socks_options'] = socks_options + + super(SOCKSProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw + ) + + self.pool_classes_by_scheme = SOCKSProxyManager.pool_classes_by_scheme diff --git a/urllib3/exceptions.py b/urllib3/exceptions.py new file mode 100644 index 0000000..7bbaa98 --- /dev/null +++ b/urllib3/exceptions.py @@ -0,0 +1,246 @@ +from __future__ import absolute_import +from .packages.six.moves.http_client import ( + IncompleteRead as httplib_IncompleteRead +) +# Base Exceptions + + +class HTTPError(Exception): + "Base exception used by this module." + pass + + +class HTTPWarning(Warning): + "Base warning used by this module." + pass + + +class PoolError(HTTPError): + "Base exception for errors caused within a pool." + def __init__(self, pool, message): + self.pool = pool + HTTPError.__init__(self, "%s: %s" % (pool, message)) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, None) + + +class RequestError(PoolError): + "Base exception for PoolErrors that have associated URLs." + def __init__(self, pool, url, message): + self.url = url + PoolError.__init__(self, pool, message) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, self.url, None) + + +class SSLError(HTTPError): + "Raised when SSL certificate fails in an HTTPS connection." + pass + + +class ProxyError(HTTPError): + "Raised when the connection to a proxy fails." + pass + + +class DecodeError(HTTPError): + "Raised when automatic decoding based on Content-Type fails." + pass + + +class ProtocolError(HTTPError): + "Raised when something unexpected happens mid-request/response." + pass + + +#: Renamed to ProtocolError but aliased for backwards compatibility. +ConnectionError = ProtocolError + + +# Leaf Exceptions + +class MaxRetryError(RequestError): + """Raised when the maximum number of retries is exceeded. + + :param pool: The connection pool + :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` + :param string url: The requested Url + :param exceptions.Exception reason: The underlying error + + """ + + def __init__(self, pool, url, reason=None): + self.reason = reason + + message = "Max retries exceeded with url: %s (Caused by %r)" % ( + url, reason) + + RequestError.__init__(self, pool, url, message) + + +class HostChangedError(RequestError): + "Raised when an existing pool gets a request for a foreign host." + + def __init__(self, pool, url, retries=3): + message = "Tried to open a foreign host with url: %s" % url + RequestError.__init__(self, pool, url, message) + self.retries = retries + + +class TimeoutStateError(HTTPError): + """ Raised when passing an invalid state to a timeout """ + pass + + +class TimeoutError(HTTPError): + """ Raised when a socket timeout error occurs. + + Catching this error will catch both :exc:`ReadTimeoutErrors + ` and :exc:`ConnectTimeoutErrors `. + """ + pass + + +class ReadTimeoutError(TimeoutError, RequestError): + "Raised when a socket timeout occurs while receiving data from a server" + pass + + +# This timeout error does not have a URL attached and needs to inherit from the +# base HTTPError +class ConnectTimeoutError(TimeoutError): + "Raised when a socket timeout occurs while connecting to a server" + pass + + +class NewConnectionError(ConnectTimeoutError, PoolError): + "Raised when we fail to establish a new connection. Usually ECONNREFUSED." + pass + + +class EmptyPoolError(PoolError): + "Raised when a pool runs out of connections and no more are allowed." + pass + + +class ClosedPoolError(PoolError): + "Raised when a request enters a pool after the pool has been closed." + pass + + +class LocationValueError(ValueError, HTTPError): + "Raised when there is something wrong with a given URL input." + pass + + +class LocationParseError(LocationValueError): + "Raised when get_host or similar fails to parse the URL input." + + def __init__(self, location): + message = "Failed to parse: %s" % location + HTTPError.__init__(self, message) + + self.location = location + + +class ResponseError(HTTPError): + "Used as a container for an error reason supplied in a MaxRetryError." + GENERIC_ERROR = 'too many error responses' + SPECIFIC_ERROR = 'too many {status_code} error responses' + + +class SecurityWarning(HTTPWarning): + "Warned when performing security reducing actions" + pass + + +class SubjectAltNameWarning(SecurityWarning): + "Warned when connecting to a host with a certificate missing a SAN." + pass + + +class InsecureRequestWarning(SecurityWarning): + "Warned when making an unverified HTTPS request." + pass + + +class SystemTimeWarning(SecurityWarning): + "Warned when system time is suspected to be wrong" + pass + + +class InsecurePlatformWarning(SecurityWarning): + "Warned when certain SSL configuration is not available on a platform." + pass + + +class SNIMissingWarning(HTTPWarning): + "Warned when making a HTTPS request without SNI available." + pass + + +class DependencyWarning(HTTPWarning): + """ + Warned when an attempt is made to import a module with missing optional + dependencies. + """ + pass + + +class ResponseNotChunked(ProtocolError, ValueError): + "Response needs to be chunked in order to read it as chunks." + pass + + +class BodyNotHttplibCompatible(HTTPError): + """ + Body should be httplib.HTTPResponse like (have an fp attribute which + returns raw chunks) for read_chunked(). + """ + pass + + +class IncompleteRead(HTTPError, httplib_IncompleteRead): + """ + Response length doesn't match expected Content-Length + + Subclass of http_client.IncompleteRead to allow int value + for `partial` to avoid creating large objects on streamed + reads. + """ + def __init__(self, partial, expected): + super(IncompleteRead, self).__init__(partial, expected) + + def __repr__(self): + return ('IncompleteRead(%i bytes read, ' + '%i more expected)' % (self.partial, self.expected)) + + +class InvalidHeader(HTTPError): + "The header provided was somehow invalid." + pass + + +class ProxySchemeUnknown(AssertionError, ValueError): + "ProxyManager does not support the supplied scheme" + # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. + + def __init__(self, scheme): + message = "Not supported proxy scheme %s" % scheme + super(ProxySchemeUnknown, self).__init__(message) + + +class HeaderParsingError(HTTPError): + "Raised by assert_header_parsing, but we convert it to a log.warning statement." + def __init__(self, defects, unparsed_data): + message = '%s, unparsed data: %r' % (defects or 'Unknown', unparsed_data) + super(HeaderParsingError, self).__init__(message) + + +class UnrewindableBodyError(HTTPError): + "urllib3 encountered an error when trying to rewind a body" + pass diff --git a/urllib3/fields.py b/urllib3/fields.py new file mode 100644 index 0000000..37fe64a --- /dev/null +++ b/urllib3/fields.py @@ -0,0 +1,178 @@ +from __future__ import absolute_import +import email.utils +import mimetypes + +from .packages import six + + +def guess_content_type(filename, default='application/octet-stream'): + """ + Guess the "Content-Type" of a file. + + :param filename: + The filename to guess the "Content-Type" of using :mod:`mimetypes`. + :param default: + If no "Content-Type" can be guessed, default to `default`. + """ + if filename: + return mimetypes.guess_type(filename)[0] or default + return default + + +def format_header_param(name, value): + """ + Helper function to format and quote a single header parameter. + + Particularly useful for header parameters which might contain + non-ASCII values, like file names. This follows RFC 2231, as + suggested by RFC 2388 Section 4.4. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + if not any(ch in value for ch in '"\\\r\n'): + result = '%s="%s"' % (name, value) + try: + result.encode('ascii') + except (UnicodeEncodeError, UnicodeDecodeError): + pass + else: + return result + if not six.PY3 and isinstance(value, six.text_type): # Python 2: + value = value.encode('utf-8') + value = email.utils.encode_rfc2231(value, 'utf-8') + value = '%s*=%s' % (name, value) + return value + + +class RequestField(object): + """ + A data container for request body parameters. + + :param name: + The name of this request field. + :param data: + The data/value body. + :param filename: + An optional filename of the request field. + :param headers: + An optional dict-like object of headers to initially use for the field. + """ + def __init__(self, name, data, filename=None, headers=None): + self._name = name + self._filename = filename + self.data = data + self.headers = {} + if headers: + self.headers = dict(headers) + + @classmethod + def from_tuples(cls, fieldname, value): + """ + A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. + + Supports constructing :class:`~urllib3.fields.RequestField` from + parameter of key/value strings AND key/filetuple. A filetuple is a + (filename, data, MIME type) tuple where the MIME type is optional. + For example:: + + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + + Field names and filenames must be unicode. + """ + if isinstance(value, tuple): + if len(value) == 3: + filename, data, content_type = value + else: + filename, data = value + content_type = guess_content_type(filename) + else: + filename = None + content_type = None + data = value + + request_param = cls(fieldname, data, filename=filename) + request_param.make_multipart(content_type=content_type) + + return request_param + + def _render_part(self, name, value): + """ + Overridable helper function to format a single header parameter. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + return format_header_param(name, value) + + def _render_parts(self, header_parts): + """ + Helper function to format and quote a single header. + + Useful for single headers that are composed of multiple items. E.g., + 'Content-Disposition' fields. + + :param header_parts: + A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format + as `k1="v1"; k2="v2"; ...`. + """ + parts = [] + iterable = header_parts + if isinstance(header_parts, dict): + iterable = header_parts.items() + + for name, value in iterable: + if value is not None: + parts.append(self._render_part(name, value)) + + return '; '.join(parts) + + def render_headers(self): + """ + Renders the headers for this request field. + """ + lines = [] + + sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] + for sort_key in sort_keys: + if self.headers.get(sort_key, False): + lines.append('%s: %s' % (sort_key, self.headers[sort_key])) + + for header_name, header_value in self.headers.items(): + if header_name not in sort_keys: + if header_value: + lines.append('%s: %s' % (header_name, header_value)) + + lines.append('\r\n') + return '\r\n'.join(lines) + + def make_multipart(self, content_disposition=None, content_type=None, + content_location=None): + """ + Makes this request field into a multipart request field. + + This method overrides "Content-Disposition", "Content-Type" and + "Content-Location" headers to the request parameter. + + :param content_type: + The 'Content-Type' of the request body. + :param content_location: + The 'Content-Location' of the request body. + + """ + self.headers['Content-Disposition'] = content_disposition or 'form-data' + self.headers['Content-Disposition'] += '; '.join([ + '', self._render_parts( + (('name', self._name), ('filename', self._filename)) + ) + ]) + self.headers['Content-Type'] = content_type + self.headers['Content-Location'] = content_location diff --git a/urllib3/filepost.py b/urllib3/filepost.py new file mode 100644 index 0000000..78f1e19 --- /dev/null +++ b/urllib3/filepost.py @@ -0,0 +1,98 @@ +from __future__ import absolute_import +import binascii +import codecs +import os + +from io import BytesIO + +from .packages import six +from .packages.six import b +from .fields import RequestField + +writer = codecs.lookup('utf-8')[3] + + +def choose_boundary(): + """ + Our embarrassingly-simple replacement for mimetools.choose_boundary. + """ + boundary = binascii.hexlify(os.urandom(16)) + if six.PY3: + boundary = boundary.decode('ascii') + return boundary + + +def iter_field_objects(fields): + """ + Iterate over fields. + + Supports list of (k, v) tuples and dicts, and lists of + :class:`~urllib3.fields.RequestField`. + + """ + if isinstance(fields, dict): + i = six.iteritems(fields) + else: + i = iter(fields) + + for field in i: + if isinstance(field, RequestField): + yield field + else: + yield RequestField.from_tuples(*field) + + +def iter_fields(fields): + """ + .. deprecated:: 1.6 + + Iterate over fields. + + The addition of :class:`~urllib3.fields.RequestField` makes this function + obsolete. Instead, use :func:`iter_field_objects`, which returns + :class:`~urllib3.fields.RequestField` objects. + + Supports list of (k, v) tuples and dicts. + """ + if isinstance(fields, dict): + return ((k, v) for k, v in six.iteritems(fields)) + + return ((k, v) for k, v in fields) + + +def encode_multipart_formdata(fields, boundary=None): + """ + Encode a dictionary of ``fields`` using the multipart/form-data MIME format. + + :param fields: + Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). + + :param boundary: + If not specified, then a random boundary will be generated using + :func:`urllib3.filepost.choose_boundary`. + """ + body = BytesIO() + if boundary is None: + boundary = choose_boundary() + + for field in iter_field_objects(fields): + body.write(b('--%s\r\n' % (boundary))) + + writer(body).write(field.render_headers()) + data = field.data + + if isinstance(data, int): + data = str(data) # Backwards compatibility + + if isinstance(data, six.text_type): + writer(body).write(data) + else: + body.write(data) + + body.write(b'\r\n') + + body.write(b('--%s--\r\n' % (boundary))) + + content_type = str('multipart/form-data; boundary=%s' % boundary) + + return body.getvalue(), content_type diff --git a/urllib3/packages/__init__.py b/urllib3/packages/__init__.py new file mode 100644 index 0000000..170e974 --- /dev/null +++ b/urllib3/packages/__init__.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +from . import ssl_match_hostname + +__all__ = ('ssl_match_hostname', ) diff --git a/urllib3/packages/backports/__init__.py b/urllib3/packages/backports/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/urllib3/packages/backports/makefile.py b/urllib3/packages/backports/makefile.py new file mode 100644 index 0000000..740db37 --- /dev/null +++ b/urllib3/packages/backports/makefile.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +""" +backports.makefile +~~~~~~~~~~~~~~~~~~ + +Backports the Python 3 ``socket.makefile`` method for use with anything that +wants to create a "fake" socket object. +""" +import io + +from socket import SocketIO + + +def backport_makefile(self, mode="r", buffering=None, encoding=None, + errors=None, newline=None): + """ + Backport of ``socket.makefile`` from Python 3.5. + """ + if not set(mode) <= {"r", "w", "b"}: + raise ValueError( + "invalid mode %r (only r, w, b allowed)" % (mode,) + ) + writing = "w" in mode + reading = "r" in mode or not writing + assert reading or writing + binary = "b" in mode + rawmode = "" + if reading: + rawmode += "r" + if writing: + rawmode += "w" + raw = SocketIO(self, rawmode) + self._makefile_refs += 1 + if buffering is None: + buffering = -1 + if buffering < 0: + buffering = io.DEFAULT_BUFFER_SIZE + if buffering == 0: + if not binary: + raise ValueError("unbuffered streams must be binary") + return raw + if reading and writing: + buffer = io.BufferedRWPair(raw, raw, buffering) + elif reading: + buffer = io.BufferedReader(raw, buffering) + else: + assert writing + buffer = io.BufferedWriter(raw, buffering) + if binary: + return buffer + text = io.TextIOWrapper(buffer, encoding, errors, newline) + text.mode = mode + return text diff --git a/urllib3/packages/six.py b/urllib3/packages/six.py new file mode 100644 index 0000000..190c023 --- /dev/null +++ b/urllib3/packages/six.py @@ -0,0 +1,868 @@ +"""Utilities for writing code that runs on Python 2 and 3""" + +# Copyright (c) 2010-2015 Benjamin Peterson +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson " +__version__ = "1.10.0" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +PY34 = sys.version_info[0:2] >= (3, 4) + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + try: + # This is a bit ugly, but it avoids running this again by + # removing this descriptor. + delattr(obj.__class__, self.name) + except AttributeError: + pass + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + +class _SixMetaPathImporter(object): + + """ + A meta path importer to import six.moves and its submodules. + + This class implements a PEP302 finder and loader. It should be compatible + with Python 2.5 and all existing versions of Python3 + """ + + def __init__(self, six_module_name): + self.name = six_module_name + self.known_modules = {} + + def _add_module(self, mod, *fullnames): + for fullname in fullnames: + self.known_modules[self.name + "." + fullname] = mod + + def _get_module(self, fullname): + return self.known_modules[self.name + "." + fullname] + + def find_module(self, fullname, path=None): + if fullname in self.known_modules: + return self + return None + + def __get_module(self, fullname): + try: + return self.known_modules[fullname] + except KeyError: + raise ImportError("This loader does not know module " + fullname) + + def load_module(self, fullname): + try: + # in case of a reload + return sys.modules[fullname] + except KeyError: + pass + mod = self.__get_module(fullname) + if isinstance(mod, MovedModule): + mod = mod._resolve() + else: + mod.__loader__ = self + sys.modules[fullname] = mod + return mod + + def is_package(self, fullname): + """ + Return true, if the named module is a package. + + We need this method to get correct spec objects with + Python 3.4 (see PEP451) + """ + return hasattr(self.__get_module(fullname), "__path__") + + def get_code(self, fullname): + """Return None + + Required, if is_package is implemented""" + self.__get_module(fullname) # eventually raises ImportError + return None + get_source = get_code # same as get_code + +_importer = _SixMetaPathImporter(__name__) + + +class _MovedItems(_LazyModule): + + """Lazy loading of moved objects""" + __path__ = [] # mark as package + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("intern", "__builtin__", "sys"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), + MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserDict", "UserDict", "collections"), + MovedAttribute("UserList", "UserList", "collections"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), +] +# Add windows specific modules. +if sys.platform == "win32": + _moved_attributes += [ + MovedModule("winreg", "_winreg"), + ] + +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + _importer._add_module(attr, "moves." + attr.name) +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = _MovedItems(__name__ + ".moves") +_importer._add_module(moves, "moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("SplitResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), + MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), + MovedAttribute("uses_params", "urlparse", "urllib.parse"), + MovedAttribute("uses_query", "urlparse", "urllib.parse"), + MovedAttribute("uses_relative", "urlparse", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), + "moves.urllib_parse", "moves.urllib.parse") + + +class Module_six_moves_urllib_error(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), + "moves.urllib_error", "moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), + "moves.urllib_request", "moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), + "moves.urllib_response", "moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), + "moves.urllib_robotparser", "moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + __path__ = [] # mark as package + parse = _importer._get_module("moves.urllib_parse") + error = _importer._get_module("moves.urllib_error") + request = _importer._get_module("moves.urllib_request") + response = _importer._get_module("moves.urllib_response") + robotparser = _importer._get_module("moves.urllib_robotparser") + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + +_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), + "moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + def create_unbound_method(func, cls): + return func + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +if PY3: + def iterkeys(d, **kw): + return iter(d.keys(**kw)) + + def itervalues(d, **kw): + return iter(d.values(**kw)) + + def iteritems(d, **kw): + return iter(d.items(**kw)) + + def iterlists(d, **kw): + return iter(d.lists(**kw)) + + viewkeys = operator.methodcaller("keys") + + viewvalues = operator.methodcaller("values") + + viewitems = operator.methodcaller("items") +else: + def iterkeys(d, **kw): + return d.iterkeys(**kw) + + def itervalues(d, **kw): + return d.itervalues(**kw) + + def iteritems(d, **kw): + return d.iteritems(**kw) + + def iterlists(d, **kw): + return d.iterlists(**kw) + + viewkeys = operator.methodcaller("viewkeys") + + viewvalues = operator.methodcaller("viewvalues") + + viewitems = operator.methodcaller("viewitems") + +_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") +_add_doc(itervalues, "Return an iterator over the values of a dictionary.") +_add_doc(iteritems, + "Return an iterator over the (key, value) pairs of a dictionary.") +_add_doc(iterlists, + "Return an iterator over the (key, [values]) pairs of a dictionary.") + + +if PY3: + def b(s): + return s.encode("latin-1") + + def u(s): + return s + unichr = chr + import struct + int2byte = struct.Struct(">B").pack + del struct + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" +else: + def b(s): + return s + # Workaround for standalone backslash + + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + + def byte2int(bs): + return ord(bs[0]) + + def indexbytes(buf, i): + return ord(buf[i]) + iterbytes = functools.partial(itertools.imap, ord) + import StringIO + StringIO = BytesIO = StringIO.StringIO + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +def assertCountEqual(self, *args, **kwargs): + return getattr(self, _assertCountEqual)(*args, **kwargs) + + +def assertRaisesRegex(self, *args, **kwargs): + return getattr(self, _assertRaisesRegex)(*args, **kwargs) + + +def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + def reraise(tp, value, tb=None): + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + exec_("""def reraise(tp, value, tb=None): + raise tp, value, tb +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + if from_value is None: + raise value + raise value from from_value +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + raise value from from_value +""") +else: + def raise_from(value, from_value): + raise value + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +if sys.version_info[:2] < (3, 3): + _print = print_ + + def print_(*args, **kwargs): + fp = kwargs.get("file", sys.stdout) + flush = kwargs.pop("flush", False) + _print(*args, **kwargs) + if flush and fp is not None: + fp.flush() + +_add_doc(reraise, """Reraise an exception.""") + +if sys.version_info[0:2] < (3, 4): + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper +else: + wraps = functools.wraps + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(meta): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + return type.__new__(metaclass, 'temporary_class', (), {}) + + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def python_2_unicode_compatible(klass): + """ + A decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method + returning text and apply this decorator to the class. + """ + if PY2: + if '__str__' not in klass.__dict__: + raise ValueError("@python_2_unicode_compatible cannot be applied " + "to %s because it doesn't define __str__()." % + klass.__name__) + klass.__unicode__ = klass.__str__ + klass.__str__ = lambda self: self.__unicode__().encode('utf-8') + return klass + + +# Complete the moves implementation. +# This code is at the end of this module to speed up module loading. +# Turn this module into a package. +__path__ = [] # required for PEP 302 and PEP 451 +__package__ = __name__ # see PEP 366 @ReservedAssignment +if globals().get("__spec__") is not None: + __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable +# Remove other six meta path importers, since they cause problems. This can +# happen if six is removed from sys.modules and then reloaded. (Setuptools does +# this for some reason.) +if sys.meta_path: + for i, importer in enumerate(sys.meta_path): + # Here's some real nastiness: Another "instance" of the six module might + # be floating around. Therefore, we can't use isinstance() to check for + # the six meta path importer, since the other six instance will have + # inserted an importer with different class. + if (type(importer).__name__ == "_SixMetaPathImporter" and + importer.name == __name__): + del sys.meta_path[i] + break + del i, importer +# Finally, add the importer to the meta path import hook. +sys.meta_path.append(_importer) diff --git a/urllib3/packages/ssl_match_hostname/__init__.py b/urllib3/packages/ssl_match_hostname/__init__.py new file mode 100644 index 0000000..d6594eb --- /dev/null +++ b/urllib3/packages/ssl_match_hostname/__init__.py @@ -0,0 +1,19 @@ +import sys + +try: + # Our match_hostname function is the same as 3.5's, so we only want to + # import the match_hostname function if it's at least that good. + if sys.version_info < (3, 5): + raise ImportError("Fallback to vendored code") + + from ssl import CertificateError, match_hostname +except ImportError: + try: + # Backport of the function from a pypi module + from backports.ssl_match_hostname import CertificateError, match_hostname + except ImportError: + # Our vendored copy + from ._implementation import CertificateError, match_hostname + +# Not needed, but documenting what we provide. +__all__ = ('CertificateError', 'match_hostname') diff --git a/urllib3/packages/ssl_match_hostname/_implementation.py b/urllib3/packages/ssl_match_hostname/_implementation.py new file mode 100644 index 0000000..d6e66c0 --- /dev/null +++ b/urllib3/packages/ssl_match_hostname/_implementation.py @@ -0,0 +1,156 @@ +"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" + +# Note: This file is under the PSF license as the code comes from the python +# stdlib. http://docs.python.org/3/license.html + +import re +import sys + +# ipaddress has been backported to 2.6+ in pypi. If it is installed on the +# system, use it to handle IPAddress ServerAltnames (this was added in +# python-3.5) otherwise only do DNS matching. This allows +# backports.ssl_match_hostname to continue to be used in Python 2.7. +try: + import ipaddress +except ImportError: + ipaddress = None + +__version__ = '3.5.0.1' + + +class CertificateError(ValueError): + pass + + +def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + # Ported from python3-syntax: + # leftmost, *remainder = dn.split(r'.') + parts = dn.split(r'.') + leftmost = parts[0] + remainder = parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + +def _to_unicode(obj): + if isinstance(obj, str) and sys.version_info < (3,): + obj = unicode(obj, encoding='ascii', errors='strict') + return obj + +def _ipaddress_match(ipname, host_ip): + """Exact matching of IP addresses. + + RFC 6125 explicitly doesn't define an algorithm for this + (section 1.7.2 - "Out of Scope"). + """ + # OpenSSL may add a trailing newline to a subjectAltName's IP address + # Divergence from upstream: ipaddress can't handle byte str + ip = ipaddress.ip_address(_to_unicode(ipname).rstrip()) + return ip == host_ip + + +def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + try: + # Divergence from upstream: ipaddress can't handle byte str + host_ip = ipaddress.ip_address(_to_unicode(hostname)) + except ValueError: + # Not an IP address (common case) + host_ip = None + except UnicodeError: + # Divergence from upstream: Have to deal with ipaddress not taking + # byte strings. addresses should be all ascii, so we consider it not + # an ipaddress in this case + host_ip = None + except AttributeError: + # Divergence from upstream: Make ipaddress library optional + if ipaddress is None: + host_ip = None + else: + raise + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if host_ip is None and _dnsname_match(value, hostname): + return + dnsnames.append(value) + elif key == 'IP Address': + if host_ip is not None and _ipaddress_match(value, host_ip): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") diff --git a/urllib3/poolmanager.py b/urllib3/poolmanager.py new file mode 100644 index 0000000..a13149b --- /dev/null +++ b/urllib3/poolmanager.py @@ -0,0 +1,453 @@ +from __future__ import absolute_import +import collections +import functools +import logging + +from ._collections import RecentlyUsedContainer +from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool +from .connectionpool import port_by_scheme +from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown +from .packages import six +from .packages.six.moves.urllib.parse import urljoin +from .request import RequestMethods +from .util.url import parse_url +from .util.retry import Retry + + +__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] + + +log = logging.getLogger(__name__) + +SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', + 'ssl_version', 'ca_cert_dir', 'ssl_context') + +# All known keyword arguments that could be provided to the pool manager, its +# pools, or the underlying connections. This is used to construct a pool key. +_key_fields = ( + 'key_scheme', # str + 'key_host', # str + 'key_port', # int + 'key_timeout', # int or float or Timeout + 'key_retries', # int or Retry + 'key_strict', # bool + 'key_block', # bool + 'key_source_address', # str + 'key_key_file', # str + 'key_cert_file', # str + 'key_cert_reqs', # str + 'key_ca_certs', # str + 'key_ssl_version', # str + 'key_ca_cert_dir', # str + 'key_ssl_context', # instance of ssl.SSLContext or urllib3.util.ssl_.SSLContext + 'key_maxsize', # int + 'key_headers', # dict + 'key__proxy', # parsed proxy url + 'key__proxy_headers', # dict + 'key_socket_options', # list of (level (int), optname (int), value (int or str)) tuples + 'key__socks_options', # dict + 'key_assert_hostname', # bool or string + 'key_assert_fingerprint', # str + 'key_server_hostname', # str +) + +#: The namedtuple class used to construct keys for the connection pool. +#: All custom key schemes should include the fields in this key at a minimum. +PoolKey = collections.namedtuple('PoolKey', _key_fields) + + +def _default_key_normalizer(key_class, request_context): + """ + Create a pool key out of a request context dictionary. + + According to RFC 3986, both the scheme and host are case-insensitive. + Therefore, this function normalizes both before constructing the pool + key for an HTTPS request. If you wish to change this behaviour, provide + alternate callables to ``key_fn_by_scheme``. + + :param key_class: + The class to use when constructing the key. This should be a namedtuple + with the ``scheme`` and ``host`` keys at a minimum. + :type key_class: namedtuple + :param request_context: + A dictionary-like object that contain the context for a request. + :type request_context: dict + + :return: A namedtuple that can be used as a connection pool key. + :rtype: PoolKey + """ + # Since we mutate the dictionary, make a copy first + context = request_context.copy() + context['scheme'] = context['scheme'].lower() + context['host'] = context['host'].lower() + + # These are both dictionaries and need to be transformed into frozensets + for key in ('headers', '_proxy_headers', '_socks_options'): + if key in context and context[key] is not None: + context[key] = frozenset(context[key].items()) + + # The socket_options key may be a list and needs to be transformed into a + # tuple. + socket_opts = context.get('socket_options') + if socket_opts is not None: + context['socket_options'] = tuple(socket_opts) + + # Map the kwargs to the names in the namedtuple - this is necessary since + # namedtuples can't have fields starting with '_'. + for key in list(context.keys()): + context['key_' + key] = context.pop(key) + + # Default to ``None`` for keys missing from the context + for field in key_class._fields: + if field not in context: + context[field] = None + + return key_class(**context) + + +#: A dictionary that maps a scheme to a callable that creates a pool key. +#: This can be used to alter the way pool keys are constructed, if desired. +#: Each PoolManager makes a copy of this dictionary so they can be configured +#: globally here, or individually on the instance. +key_fn_by_scheme = { + 'http': functools.partial(_default_key_normalizer, PoolKey), + 'https': functools.partial(_default_key_normalizer, PoolKey), +} + +pool_classes_by_scheme = { + 'http': HTTPConnectionPool, + 'https': HTTPSConnectionPool, +} + + +class PoolManager(RequestMethods): + """ + Allows for arbitrary requests while transparently keeping track of + necessary connection pools for you. + + :param num_pools: + Number of connection pools to cache before discarding the least + recently used pool. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param \\**connection_pool_kw: + Additional parameters are used to create fresh + :class:`urllib3.connectionpool.ConnectionPool` instances. + + Example:: + + >>> manager = PoolManager(num_pools=2) + >>> r = manager.request('GET', 'http://google.com/') + >>> r = manager.request('GET', 'http://google.com/mail') + >>> r = manager.request('GET', 'http://yahoo.com/') + >>> len(manager.pools) + 2 + + """ + + proxy = None + + def __init__(self, num_pools=10, headers=None, **connection_pool_kw): + RequestMethods.__init__(self, headers) + self.connection_pool_kw = connection_pool_kw + self.pools = RecentlyUsedContainer(num_pools, + dispose_func=lambda p: p.close()) + + # Locally set the pool classes and keys so other PoolManagers can + # override them. + self.pool_classes_by_scheme = pool_classes_by_scheme + self.key_fn_by_scheme = key_fn_by_scheme.copy() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.clear() + # Return False to re-raise any potential exceptions + return False + + def _new_pool(self, scheme, host, port, request_context=None): + """ + Create a new :class:`ConnectionPool` based on host, port, scheme, and + any additional pool keyword arguments. + + If ``request_context`` is provided, it is provided as keyword arguments + to the pool class used. This method is used to actually create the + connection pools handed out by :meth:`connection_from_url` and + companion methods. It is intended to be overridden for customization. + """ + pool_cls = self.pool_classes_by_scheme[scheme] + if request_context is None: + request_context = self.connection_pool_kw.copy() + + # Although the context has everything necessary to create the pool, + # this function has historically only used the scheme, host, and port + # in the positional args. When an API change is acceptable these can + # be removed. + for key in ('scheme', 'host', 'port'): + request_context.pop(key, None) + + if scheme == 'http': + for kw in SSL_KEYWORDS: + request_context.pop(kw, None) + + return pool_cls(host, port, **request_context) + + def clear(self): + """ + Empty our store of pools and direct them all to close. + + This will not affect in-flight connections, but they will not be + re-used after completion. + """ + self.pools.clear() + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + """ + Get a :class:`ConnectionPool` based on the host, port, and scheme. + + If ``port`` isn't given, it will be derived from the ``scheme`` using + ``urllib3.connectionpool.port_by_scheme``. If ``pool_kwargs`` is + provided, it is merged with the instance's ``connection_pool_kw`` + variable and used to create the new connection pool, if one is + needed. + """ + + if not host: + raise LocationValueError("No host specified.") + + request_context = self._merge_pool_kwargs(pool_kwargs) + request_context['scheme'] = scheme or 'http' + if not port: + port = port_by_scheme.get(request_context['scheme'].lower(), 80) + request_context['port'] = port + request_context['host'] = host + + return self.connection_from_context(request_context) + + def connection_from_context(self, request_context): + """ + Get a :class:`ConnectionPool` based on the request context. + + ``request_context`` must at least contain the ``scheme`` key and its + value must be a key in ``key_fn_by_scheme`` instance variable. + """ + scheme = request_context['scheme'].lower() + pool_key_constructor = self.key_fn_by_scheme[scheme] + pool_key = pool_key_constructor(request_context) + + return self.connection_from_pool_key(pool_key, request_context=request_context) + + def connection_from_pool_key(self, pool_key, request_context=None): + """ + Get a :class:`ConnectionPool` based on the provided pool key. + + ``pool_key`` should be a namedtuple that only contains immutable + objects. At a minimum it must have the ``scheme``, ``host``, and + ``port`` fields. + """ + with self.pools.lock: + # If the scheme, host, or port doesn't match existing open + # connections, open a new ConnectionPool. + pool = self.pools.get(pool_key) + if pool: + return pool + + # Make a fresh ConnectionPool of the desired type + scheme = request_context['scheme'] + host = request_context['host'] + port = request_context['port'] + pool = self._new_pool(scheme, host, port, request_context=request_context) + self.pools[pool_key] = pool + + return pool + + def connection_from_url(self, url, pool_kwargs=None): + """ + Similar to :func:`urllib3.connectionpool.connection_from_url`. + + If ``pool_kwargs`` is not provided and a new pool needs to be + constructed, ``self.connection_pool_kw`` is used to initialize + the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs`` + is provided, it is used instead. Note that if a new pool does not + need to be created for the request, the provided ``pool_kwargs`` are + not used. + """ + u = parse_url(url) + return self.connection_from_host(u.host, port=u.port, scheme=u.scheme, + pool_kwargs=pool_kwargs) + + def _merge_pool_kwargs(self, override): + """ + Merge a dictionary of override values for self.connection_pool_kw. + + This does not modify self.connection_pool_kw and returns a new dict. + Any keys in the override dictionary with a value of ``None`` are + removed from the merged dictionary. + """ + base_pool_kwargs = self.connection_pool_kw.copy() + if override: + for key, value in override.items(): + if value is None: + try: + del base_pool_kwargs[key] + except KeyError: + pass + else: + base_pool_kwargs[key] = value + return base_pool_kwargs + + def urlopen(self, method, url, redirect=True, **kw): + """ + Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` + with custom cross-host redirect logic and only sends the request-uri + portion of the ``url``. + + The given ``url`` parameter must be absolute, such that an appropriate + :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. + """ + u = parse_url(url) + conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) + + kw['assert_same_host'] = False + kw['redirect'] = False + + if 'headers' not in kw: + kw['headers'] = self.headers.copy() + + if self.proxy is not None and u.scheme == "http": + response = conn.urlopen(method, url, **kw) + else: + response = conn.urlopen(method, u.request_uri, **kw) + + redirect_location = redirect and response.get_redirect_location() + if not redirect_location: + return response + + # Support relative URLs for redirecting. + redirect_location = urljoin(url, redirect_location) + + # RFC 7231, Section 6.4.4 + if response.status == 303: + method = 'GET' + + retries = kw.get('retries') + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect) + + # Strip headers marked as unsafe to forward to the redirected location. + # Check remove_headers_on_redirect to avoid a potential network call within + # conn.is_same_host() which may use socket.gethostbyname() in the future. + if (retries.remove_headers_on_redirect + and not conn.is_same_host(redirect_location)): + headers = list(six.iterkeys(kw['headers'])) + for header in headers: + if header.lower() in retries.remove_headers_on_redirect: + kw['headers'].pop(header, None) + + try: + retries = retries.increment(method, url, response=response, _pool=conn) + except MaxRetryError: + if retries.raise_on_redirect: + raise + return response + + kw['retries'] = retries + kw['redirect'] = redirect + + log.info("Redirecting %s -> %s", url, redirect_location) + return self.urlopen(method, redirect_location, **kw) + + +class ProxyManager(PoolManager): + """ + Behaves just like :class:`PoolManager`, but sends all requests through + the defined proxy, using the CONNECT method for HTTPS URLs. + + :param proxy_url: + The URL of the proxy to be used. + + :param proxy_headers: + A dictionary containing headers that will be sent to the proxy. In case + of HTTP they are being sent with each request, while in the + HTTPS/CONNECT case they are sent only once. Could be used for proxy + authentication. + + Example: + >>> proxy = urllib3.ProxyManager('http://localhost:3128/') + >>> r1 = proxy.request('GET', 'http://google.com/') + >>> r2 = proxy.request('GET', 'http://httpbin.org/') + >>> len(proxy.pools) + 1 + >>> r3 = proxy.request('GET', 'https://httpbin.org/') + >>> r4 = proxy.request('GET', 'https://twitter.com/') + >>> len(proxy.pools) + 3 + + """ + + def __init__(self, proxy_url, num_pools=10, headers=None, + proxy_headers=None, **connection_pool_kw): + + if isinstance(proxy_url, HTTPConnectionPool): + proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, + proxy_url.port) + proxy = parse_url(proxy_url) + if not proxy.port: + port = port_by_scheme.get(proxy.scheme, 80) + proxy = proxy._replace(port=port) + + if proxy.scheme not in ("http", "https"): + raise ProxySchemeUnknown(proxy.scheme) + + self.proxy = proxy + self.proxy_headers = proxy_headers or {} + + connection_pool_kw['_proxy'] = self.proxy + connection_pool_kw['_proxy_headers'] = self.proxy_headers + + super(ProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw) + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + if scheme == "https": + return super(ProxyManager, self).connection_from_host( + host, port, scheme, pool_kwargs=pool_kwargs) + + return super(ProxyManager, self).connection_from_host( + self.proxy.host, self.proxy.port, self.proxy.scheme, pool_kwargs=pool_kwargs) + + def _set_proxy_headers(self, url, headers=None): + """ + Sets headers needed by proxies: specifically, the Accept and Host + headers. Only sets headers not provided by the user. + """ + headers_ = {'Accept': '*/*'} + + netloc = parse_url(url).netloc + if netloc: + headers_['Host'] = netloc + + if headers: + headers_.update(headers) + return headers_ + + def urlopen(self, method, url, redirect=True, **kw): + "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." + u = parse_url(url) + + if u.scheme == "http": + # For proxied HTTPS requests, httplib sets the necessary headers + # on the CONNECT to the proxy. For HTTP, we'll definitely + # need to set 'Host' at the very least. + headers = kw.get('headers', self.headers) + kw['headers'] = self._set_proxy_headers(url, headers) + + return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) + + +def proxy_from_url(url, **kw): + return ProxyManager(proxy_url=url, **kw) diff --git a/urllib3/request.py b/urllib3/request.py new file mode 100644 index 0000000..8f2f44b --- /dev/null +++ b/urllib3/request.py @@ -0,0 +1,150 @@ +from __future__ import absolute_import + +from .filepost import encode_multipart_formdata +from .packages.six.moves.urllib.parse import urlencode + + +__all__ = ['RequestMethods'] + + +class RequestMethods(object): + """ + Convenience mixin for classes who implement a :meth:`urlopen` method, such + as :class:`~urllib3.connectionpool.HTTPConnectionPool` and + :class:`~urllib3.poolmanager.PoolManager`. + + Provides behavior for making common types of HTTP request methods and + decides which type of request field encoding to use. + + Specifically, + + :meth:`.request_encode_url` is for sending requests whose fields are + encoded in the URL (such as GET, HEAD, DELETE). + + :meth:`.request_encode_body` is for sending requests whose fields are + encoded in the *body* of the request using multipart or www-form-urlencoded + (such as for POST, PUT, PATCH). + + :meth:`.request` is for making any kind of request, it will look up the + appropriate encoding format and use one of the above two methods to make + the request. + + Initializer parameters: + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + """ + + _encode_url_methods = {'DELETE', 'GET', 'HEAD', 'OPTIONS'} + + def __init__(self, headers=None): + self.headers = headers or {} + + def urlopen(self, method, url, body=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **kw): # Abstract + raise NotImplementedError("Classes extending RequestMethods must implement " + "their own ``urlopen`` method.") + + def request(self, method, url, fields=None, headers=None, **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the appropriate encoding of + ``fields`` based on the ``method`` used. + + This is a convenience method that requires the least amount of manual + effort. It can be used in most situations, while still having the + option to drop down to more specific methods when necessary, such as + :meth:`request_encode_url`, :meth:`request_encode_body`, + or even the lowest level :meth:`urlopen`. + """ + method = method.upper() + + urlopen_kw['request_url'] = url + + if method in self._encode_url_methods: + return self.request_encode_url(method, url, fields=fields, + headers=headers, + **urlopen_kw) + else: + return self.request_encode_body(method, url, fields=fields, + headers=headers, + **urlopen_kw) + + def request_encode_url(self, method, url, fields=None, headers=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the url. This is useful for request methods like GET, HEAD, DELETE, etc. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': headers} + extra_kw.update(urlopen_kw) + + if fields: + url += '?' + urlencode(fields) + + return self.urlopen(method, url, **extra_kw) + + def request_encode_body(self, method, url, fields=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the body. This is useful for request methods like POST, PUT, PATCH, etc. + + When ``encode_multipart=True`` (default), then + :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode + the payload with the appropriate content type. Otherwise + :meth:`urllib.urlencode` is used with the + 'application/x-www-form-urlencoded' content type. + + Multipart encoding must be used when posting files, and it's reasonably + safe to use it in other times too. However, it may break request + signing, such as with OAuth. + + Supports an optional ``fields`` parameter of key/value strings AND + key/filetuple. A filetuple is a (filename, data, MIME type) tuple where + the MIME type is optional. For example:: + + fields = { + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), + 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + } + + When uploading a file, providing a filename (the first parameter of the + tuple) is optional but recommended to best mimic behavior of browsers. + + Note that if ``headers`` are supplied, the 'Content-Type' header will + be overwritten because it depends on the dynamic random boundary string + which is used to compose the body of the request. The random boundary + string can be explicitly set with the ``multipart_boundary`` parameter. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': {}} + + if fields: + if 'body' in urlopen_kw: + raise TypeError( + "request got values for both 'fields' and 'body', can only specify one.") + + if encode_multipart: + body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) + else: + body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' + + extra_kw['body'] = body + extra_kw['headers'] = {'Content-Type': content_type} + + extra_kw['headers'].update(headers) + extra_kw.update(urlopen_kw) + + return self.urlopen(method, url, **extra_kw) diff --git a/urllib3/response.py b/urllib3/response.py new file mode 100644 index 0000000..97cdfd1 --- /dev/null +++ b/urllib3/response.py @@ -0,0 +1,707 @@ +from __future__ import absolute_import +from contextlib import contextmanager +import zlib +import io +import logging +from socket import timeout as SocketTimeout +from socket import error as SocketError + +from ._collections import HTTPHeaderDict +from .exceptions import ( + BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError, + ResponseNotChunked, IncompleteRead, InvalidHeader +) +from .packages.six import string_types as basestring, PY3 +from .packages.six.moves import http_client as httplib +from .connection import HTTPException, BaseSSLError +from .util.response import is_fp_closed, is_response_to_head + +log = logging.getLogger(__name__) + + +class DeflateDecoder(object): + + def __init__(self): + self._first_try = True + self._data = b'' + self._obj = zlib.decompressobj() + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + if not data: + return data + + if not self._first_try: + return self._obj.decompress(data) + + self._data += data + try: + decompressed = self._obj.decompress(data) + if decompressed: + self._first_try = False + self._data = None + return decompressed + except zlib.error: + self._first_try = False + self._obj = zlib.decompressobj(-zlib.MAX_WBITS) + try: + return self.decompress(self._data) + finally: + self._data = None + + +class GzipDecoderState(object): + + FIRST_MEMBER = 0 + OTHER_MEMBERS = 1 + SWALLOW_DATA = 2 + + +class GzipDecoder(object): + + def __init__(self): + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + self._state = GzipDecoderState.FIRST_MEMBER + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + ret = bytearray() + if self._state == GzipDecoderState.SWALLOW_DATA or not data: + return bytes(ret) + while True: + try: + ret += self._obj.decompress(data) + except zlib.error: + previous_state = self._state + # Ignore data after the first error + self._state = GzipDecoderState.SWALLOW_DATA + if previous_state == GzipDecoderState.OTHER_MEMBERS: + # Allow trailing garbage acceptable in other gzip clients + return bytes(ret) + raise + data = self._obj.unused_data + if not data: + return bytes(ret) + self._state = GzipDecoderState.OTHER_MEMBERS + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + + +class MultiDecoder(object): + """ + From RFC7231: + If one or more encodings have been applied to a representation, the + sender that applied the encodings MUST generate a Content-Encoding + header field that lists the content codings in the order in which + they were applied. + """ + + def __init__(self, modes): + self._decoders = [_get_decoder(m.strip()) for m in modes.split(',')] + + def flush(self): + return self._decoders[0].flush() + + def decompress(self, data): + for d in reversed(self._decoders): + data = d.decompress(data) + return data + + +def _get_decoder(mode): + if ',' in mode: + return MultiDecoder(mode) + + if mode == 'gzip': + return GzipDecoder() + + return DeflateDecoder() + + +class HTTPResponse(io.IOBase): + """ + HTTP Response container. + + Backwards-compatible to httplib's HTTPResponse but the response ``body`` is + loaded and decoded on-demand when the ``data`` property is accessed. This + class is also compatible with the Python standard library's :mod:`io` + module, and can hence be treated as a readable object in the context of that + framework. + + Extra parameters for behaviour not present in httplib.HTTPResponse: + + :param preload_content: + If True, the response's body will be preloaded during construction. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param original_response: + When this HTTPResponse wrapper is generated from an httplib.HTTPResponse + object, it's convenient to include the original for debug purposes. It's + otherwise unused. + + :param retries: + The retries contains the last :class:`~urllib3.util.retry.Retry` that + was used during the request. + + :param enforce_content_length: + Enforce content length checking. Body returned by server must match + value of Content-Length header, if present. Otherwise, raise error. + """ + + CONTENT_DECODERS = ['gzip', 'deflate'] + REDIRECT_STATUSES = [301, 302, 303, 307, 308] + + def __init__(self, body='', headers=None, status=0, version=0, reason=None, + strict=0, preload_content=True, decode_content=True, + original_response=None, pool=None, connection=None, msg=None, + retries=None, enforce_content_length=False, + request_method=None, request_url=None): + + if isinstance(headers, HTTPHeaderDict): + self.headers = headers + else: + self.headers = HTTPHeaderDict(headers) + self.status = status + self.version = version + self.reason = reason + self.strict = strict + self.decode_content = decode_content + self.retries = retries + self.enforce_content_length = enforce_content_length + + self._decoder = None + self._body = None + self._fp = None + self._original_response = original_response + self._fp_bytes_read = 0 + self.msg = msg + self._request_url = request_url + + if body and isinstance(body, (basestring, bytes)): + self._body = body + + self._pool = pool + self._connection = connection + + if hasattr(body, 'read'): + self._fp = body + + # Are we using the chunked-style of transfer encoding? + self.chunked = False + self.chunk_left = None + tr_enc = self.headers.get('transfer-encoding', '').lower() + # Don't incur the penalty of creating a list and then discarding it + encodings = (enc.strip() for enc in tr_enc.split(",")) + if "chunked" in encodings: + self.chunked = True + + # Determine length of response + self.length_remaining = self._init_length(request_method) + + # If requested, preload the body. + if preload_content and not self._body: + self._body = self.read(decode_content=decode_content) + + def get_redirect_location(self): + """ + Should we redirect and where to? + + :returns: Truthy redirect location string if we got a redirect status + code and valid location. ``None`` if redirect status and no + location. ``False`` if not a redirect status code. + """ + if self.status in self.REDIRECT_STATUSES: + return self.headers.get('location') + + return False + + def release_conn(self): + if not self._pool or not self._connection: + return + + self._pool._put_conn(self._connection) + self._connection = None + + @property + def data(self): + # For backwords-compat with earlier urllib3 0.4 and earlier. + if self._body: + return self._body + + if self._fp: + return self.read(cache_content=True) + + @property + def connection(self): + return self._connection + + def isclosed(self): + return is_fp_closed(self._fp) + + def tell(self): + """ + Obtain the number of bytes pulled over the wire so far. May differ from + the amount of content returned by :meth:``HTTPResponse.read`` if bytes + are encoded on the wire (e.g, compressed). + """ + return self._fp_bytes_read + + def _init_length(self, request_method): + """ + Set initial length value for Response content if available. + """ + length = self.headers.get('content-length') + + if length is not None: + if self.chunked: + # This Response will fail with an IncompleteRead if it can't be + # received as chunked. This method falls back to attempt reading + # the response before raising an exception. + log.warning("Received response with both Content-Length and " + "Transfer-Encoding set. This is expressly forbidden " + "by RFC 7230 sec 3.3.2. Ignoring Content-Length and " + "attempting to process response as Transfer-Encoding: " + "chunked.") + return None + + try: + # RFC 7230 section 3.3.2 specifies multiple content lengths can + # be sent in a single Content-Length header + # (e.g. Content-Length: 42, 42). This line ensures the values + # are all valid ints and that as long as the `set` length is 1, + # all values are the same. Otherwise, the header is invalid. + lengths = set([int(val) for val in length.split(',')]) + if len(lengths) > 1: + raise InvalidHeader("Content-Length contained multiple " + "unmatching values (%s)" % length) + length = lengths.pop() + except ValueError: + length = None + else: + if length < 0: + length = None + + # Convert status to int for comparison + # In some cases, httplib returns a status of "_UNKNOWN" + try: + status = int(self.status) + except ValueError: + status = 0 + + # Check for responses that shouldn't include a body + if status in (204, 304) or 100 <= status < 200 or request_method == 'HEAD': + length = 0 + + return length + + def _init_decoder(self): + """ + Set-up the _decoder attribute if necessary. + """ + # Note: content-encoding value should be case-insensitive, per RFC 7230 + # Section 3.2 + content_encoding = self.headers.get('content-encoding', '').lower() + if self._decoder is None: + if content_encoding in self.CONTENT_DECODERS: + self._decoder = _get_decoder(content_encoding) + elif ',' in content_encoding: + encodings = [ + e.strip() for e in content_encoding.split(',') + if e.strip() in self.CONTENT_DECODERS] + if len(encodings): + self._decoder = _get_decoder(content_encoding) + + def _decode(self, data, decode_content, flush_decoder): + """ + Decode the data passed in and potentially flush the decoder. + """ + try: + if decode_content and self._decoder: + data = self._decoder.decompress(data) + except (IOError, zlib.error) as e: + content_encoding = self.headers.get('content-encoding', '').lower() + raise DecodeError( + "Received response with content-encoding: %s, but " + "failed to decode it." % content_encoding, e) + + if flush_decoder and decode_content: + data += self._flush_decoder() + + return data + + def _flush_decoder(self): + """ + Flushes the decoder. Should only be called if the decoder is actually + being used. + """ + if self._decoder: + buf = self._decoder.decompress(b'') + return buf + self._decoder.flush() + + return b'' + + @contextmanager + def _error_catcher(self): + """ + Catch low-level python exceptions, instead re-raising urllib3 + variants, so that low-level exceptions are not leaked in the + high-level api. + + On exit, release the connection back to the pool. + """ + clean_exit = False + + try: + try: + yield + + except SocketTimeout: + # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but + # there is yet no clean way to get at it from this context. + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except BaseSSLError as e: + # FIXME: Is there a better way to differentiate between SSLErrors? + if 'read operation timed out' not in str(e): # Defensive: + # This shouldn't happen but just in case we're missing an edge + # case, let's avoid swallowing SSL errors. + raise + + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except (HTTPException, SocketError) as e: + # This includes IncompleteRead. + raise ProtocolError('Connection broken: %r' % e, e) + + # If no exception is thrown, we should avoid cleaning up + # unnecessarily. + clean_exit = True + finally: + # If we didn't terminate cleanly, we need to throw away our + # connection. + if not clean_exit: + # The response may not be closed but we're not going to use it + # anymore so close it now to ensure that the connection is + # released back to the pool. + if self._original_response: + self._original_response.close() + + # Closing the response may not actually be sufficient to close + # everything, so if we have a hold of the connection close that + # too. + if self._connection: + self._connection.close() + + # If we hold the original response but it's closed now, we should + # return the connection back to the pool. + if self._original_response and self._original_response.isclosed(): + self.release_conn() + + def read(self, amt=None, decode_content=None, cache_content=False): + """ + Similar to :meth:`httplib.HTTPResponse.read`, but with two additional + parameters: ``decode_content`` and ``cache_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param cache_content: + If True, will save the returned data such that the same result is + returned despite of the state of the underlying file object. This + is useful if you want the ``.data`` property to continue working + after having ``.read()`` the file object. (Overridden if ``amt`` is + set.) + """ + self._init_decoder() + if decode_content is None: + decode_content = self.decode_content + + if self._fp is None: + return + + flush_decoder = False + data = None + + with self._error_catcher(): + if amt is None: + # cStringIO doesn't like amt=None + data = self._fp.read() + flush_decoder = True + else: + cache_content = False + data = self._fp.read(amt) + if amt != 0 and not data: # Platform-specific: Buggy versions of Python. + # Close the connection when no data is returned + # + # This is redundant to what httplib/http.client _should_ + # already do. However, versions of python released before + # December 15, 2012 (http://bugs.python.org/issue16298) do + # not properly close the connection in all cases. There is + # no harm in redundantly calling close. + self._fp.close() + flush_decoder = True + if self.enforce_content_length and self.length_remaining not in (0, None): + # This is an edge case that httplib failed to cover due + # to concerns of backward compatibility. We're + # addressing it here to make sure IncompleteRead is + # raised during streaming, so all calls with incorrect + # Content-Length are caught. + raise IncompleteRead(self._fp_bytes_read, self.length_remaining) + + if data: + self._fp_bytes_read += len(data) + if self.length_remaining is not None: + self.length_remaining -= len(data) + + data = self._decode(data, decode_content, flush_decoder) + + if cache_content: + self._body = data + + return data + + def stream(self, amt=2**16, decode_content=None): + """ + A generator wrapper for the read() method. A call will block until + ``amt`` bytes have been read from the connection or until the + connection is closed. + + :param amt: + How much of the content to read. The generator will return up to + much data per iteration, but may return less. This is particularly + likely when using compressed data. However, the empty string will + never be returned. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + if self.chunked and self.supports_chunked_reads(): + for line in self.read_chunked(amt, decode_content=decode_content): + yield line + else: + while not is_fp_closed(self._fp): + data = self.read(amt=amt, decode_content=decode_content) + + if data: + yield data + + @classmethod + def from_httplib(ResponseCls, r, **response_kw): + """ + Given an :class:`httplib.HTTPResponse` instance ``r``, return a + corresponding :class:`urllib3.response.HTTPResponse` object. + + Remaining parameters are passed to the HTTPResponse constructor, along + with ``original_response=r``. + """ + headers = r.msg + + if not isinstance(headers, HTTPHeaderDict): + if PY3: # Python 3 + headers = HTTPHeaderDict(headers.items()) + else: # Python 2 + headers = HTTPHeaderDict.from_httplib(headers) + + # HTTPResponse objects in Python 3 don't have a .strict attribute + strict = getattr(r, 'strict', 0) + resp = ResponseCls(body=r, + headers=headers, + status=r.status, + version=r.version, + reason=r.reason, + strict=strict, + original_response=r, + **response_kw) + return resp + + # Backwards-compatibility methods for httplib.HTTPResponse + def getheaders(self): + return self.headers + + def getheader(self, name, default=None): + return self.headers.get(name, default) + + # Backwards compatibility for http.cookiejar + def info(self): + return self.headers + + # Overrides from io.IOBase + def close(self): + if not self.closed: + self._fp.close() + + if self._connection: + self._connection.close() + + @property + def closed(self): + if self._fp is None: + return True + elif hasattr(self._fp, 'isclosed'): + return self._fp.isclosed() + elif hasattr(self._fp, 'closed'): + return self._fp.closed + else: + return True + + def fileno(self): + if self._fp is None: + raise IOError("HTTPResponse has no file to get a fileno from") + elif hasattr(self._fp, "fileno"): + return self._fp.fileno() + else: + raise IOError("The file-like object this HTTPResponse is wrapped " + "around has no file descriptor") + + def flush(self): + if self._fp is not None and hasattr(self._fp, 'flush'): + return self._fp.flush() + + def readable(self): + # This method is required for `io` module compatibility. + return True + + def readinto(self, b): + # This method is required for `io` module compatibility. + temp = self.read(len(b)) + if len(temp) == 0: + return 0 + else: + b[:len(temp)] = temp + return len(temp) + + def supports_chunked_reads(self): + """ + Checks if the underlying file-like object looks like a + httplib.HTTPResponse object. We do this by testing for the fp + attribute. If it is present we assume it returns raw chunks as + processed by read_chunked(). + """ + return hasattr(self._fp, 'fp') + + def _update_chunk_length(self): + # First, we'll figure out length of a chunk and then + # we'll try to read it from socket. + if self.chunk_left is not None: + return + line = self._fp.fp.readline() + line = line.split(b';', 1)[0] + try: + self.chunk_left = int(line, 16) + except ValueError: + # Invalid chunked protocol response, abort. + self.close() + raise httplib.IncompleteRead(line) + + def _handle_chunk(self, amt): + returned_chunk = None + if amt is None: + chunk = self._fp._safe_read(self.chunk_left) + returned_chunk = chunk + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + elif amt < self.chunk_left: + value = self._fp._safe_read(amt) + self.chunk_left = self.chunk_left - amt + returned_chunk = value + elif amt == self.chunk_left: + value = self._fp._safe_read(amt) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + returned_chunk = value + else: # amt > self.chunk_left + returned_chunk = self._fp._safe_read(self.chunk_left) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + return returned_chunk + + def read_chunked(self, amt=None, decode_content=None): + """ + Similar to :meth:`HTTPResponse.read`, but with an additional + parameter: ``decode_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + self._init_decoder() + # FIXME: Rewrite this method and make it a class with a better structured logic. + if not self.chunked: + raise ResponseNotChunked( + "Response is not chunked. " + "Header 'transfer-encoding: chunked' is missing.") + if not self.supports_chunked_reads(): + raise BodyNotHttplibCompatible( + "Body should be httplib.HTTPResponse like. " + "It should have have an fp attribute which returns raw chunks.") + + with self._error_catcher(): + # Don't bother reading the body of a HEAD request. + if self._original_response and is_response_to_head(self._original_response): + self._original_response.close() + return + + # If a response is already read and closed + # then return immediately. + if self._fp.fp is None: + return + + while True: + self._update_chunk_length() + if self.chunk_left == 0: + break + chunk = self._handle_chunk(amt) + decoded = self._decode(chunk, decode_content=decode_content, + flush_decoder=False) + if decoded: + yield decoded + + if decode_content: + # On CPython and PyPy, we should never need to flush the + # decoder. However, on Jython we *might* need to, so + # lets defensively do it anyway. + decoded = self._flush_decoder() + if decoded: # Platform-specific: Jython. + yield decoded + + # Chunk content ends with \r\n: discard it. + while True: + line = self._fp.fp.readline() + if not line: + # Some sites may not end with '\r\n'. + break + if line == b'\r\n': + break + + # We read everything; close the "file". + if self._original_response: + self._original_response.close() + + def geturl(self): + """ + Returns the URL that was the source of this response. + If the request that generated this response redirected, this method + will return the final redirect location. + """ + if self.retries is not None and len(self.retries.history): + return self.retries.history[-1].redirect_location + else: + return self._request_url diff --git a/urllib3/util/__init__.py b/urllib3/util/__init__.py new file mode 100644 index 0000000..2f2770b --- /dev/null +++ b/urllib3/util/__init__.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import +# For backwards compatibility, provide imports that used to be here. +from .connection import is_connection_dropped +from .request import make_headers +from .response import is_fp_closed +from .ssl_ import ( + SSLContext, + HAS_SNI, + IS_PYOPENSSL, + IS_SECURETRANSPORT, + assert_fingerprint, + resolve_cert_reqs, + resolve_ssl_version, + ssl_wrap_socket, +) +from .timeout import ( + current_time, + Timeout, +) + +from .retry import Retry +from .url import ( + get_host, + parse_url, + split_first, + Url, +) +from .wait import ( + wait_for_read, + wait_for_write +) + +__all__ = ( + 'HAS_SNI', + 'IS_PYOPENSSL', + 'IS_SECURETRANSPORT', + 'SSLContext', + 'Retry', + 'Timeout', + 'Url', + 'assert_fingerprint', + 'current_time', + 'is_connection_dropped', + 'is_fp_closed', + 'get_host', + 'parse_url', + 'make_headers', + 'resolve_cert_reqs', + 'resolve_ssl_version', + 'split_first', + 'ssl_wrap_socket', + 'wait_for_read', + 'wait_for_write' +) diff --git a/urllib3/util/connection.py b/urllib3/util/connection.py new file mode 100644 index 0000000..5ad70b2 --- /dev/null +++ b/urllib3/util/connection.py @@ -0,0 +1,134 @@ +from __future__ import absolute_import +import socket +from .wait import NoWayToWaitForSocketError, wait_for_read +from ..contrib import _appengine_environ + + +def is_connection_dropped(conn): # Platform-specific + """ + Returns True if the connection is dropped and should be closed. + + :param conn: + :class:`httplib.HTTPConnection` object. + + Note: For platforms like AppEngine, this will always return ``False`` to + let the platform handle connection recycling transparently for us. + """ + sock = getattr(conn, 'sock', False) + if sock is False: # Platform-specific: AppEngine + return False + if sock is None: # Connection already closed (such as by httplib). + return True + try: + # Returns True if readable, which here means it's been dropped + return wait_for_read(sock, timeout=0.0) + except NoWayToWaitForSocketError: # Platform-specific: AppEngine + return False + + +# This function is copied from socket.py in the Python 2.7 standard +# library test suite. Added to its signature is only `socket_options`. +# One additional modification is that we avoid binding to IPv6 servers +# discovered in DNS if the system doesn't have IPv6 functionality. +def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + source_address=None, socket_options=None): + """Connect to *address* and return the socket object. + + Convenience function. Connect to *address* (a 2-tuple ``(host, + port)``) and return the socket object. Passing the optional + *timeout* parameter will set the timeout on the socket instance + before attempting to connect. If no *timeout* is supplied, the + global default timeout setting returned by :func:`getdefaulttimeout` + is used. If *source_address* is set it must be a tuple of (host, port) + for the socket to bind as a source address before making the connection. + An host of '' or port 0 tells the OS to use the default. + """ + + host, port = address + if host.startswith('['): + host = host.strip('[]') + err = None + + # Using the value from allowed_gai_family() in the context of getaddrinfo lets + # us select whether to work with IPv4 DNS records, IPv6 records, or both. + # The original create_connection function always returns all records. + family = allowed_gai_family() + + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + sock = None + try: + sock = socket.socket(af, socktype, proto) + + # If provided, set socket level options before connecting. + _set_socket_options(sock, socket_options) + + if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: + sock.settimeout(timeout) + if source_address: + sock.bind(source_address) + sock.connect(sa) + return sock + + except socket.error as e: + err = e + if sock is not None: + sock.close() + sock = None + + if err is not None: + raise err + + raise socket.error("getaddrinfo returns an empty list") + + +def _set_socket_options(sock, options): + if options is None: + return + + for opt in options: + sock.setsockopt(*opt) + + +def allowed_gai_family(): + """This function is designed to work in the context of + getaddrinfo, where family=socket.AF_UNSPEC is the default and + will perform a DNS search for both IPv6 and IPv4 records.""" + + family = socket.AF_INET + if HAS_IPV6: + family = socket.AF_UNSPEC + return family + + +def _has_ipv6(host): + """ Returns True if the system can bind an IPv6 address. """ + sock = None + has_ipv6 = False + + # App Engine doesn't support IPV6 sockets and actually has a quota on the + # number of sockets that can be used, so just early out here instead of + # creating a socket needlessly. + # See https://github.com/urllib3/urllib3/issues/1446 + if _appengine_environ.is_appengine_sandbox(): + return False + + if socket.has_ipv6: + # has_ipv6 returns true if cPython was compiled with IPv6 support. + # It does not tell us if the system has IPv6 support enabled. To + # determine that we must bind to an IPv6 address. + # https://github.com/shazow/urllib3/pull/611 + # https://bugs.python.org/issue658327 + try: + sock = socket.socket(socket.AF_INET6) + sock.bind((host, 0)) + has_ipv6 = True + except Exception: + pass + + if sock: + sock.close() + return has_ipv6 + + +HAS_IPV6 = _has_ipv6('::1') diff --git a/urllib3/util/queue.py b/urllib3/util/queue.py new file mode 100644 index 0000000..d3d379a --- /dev/null +++ b/urllib3/util/queue.py @@ -0,0 +1,21 @@ +import collections +from ..packages import six +from ..packages.six.moves import queue + +if six.PY2: + # Queue is imported for side effects on MS Windows. See issue #229. + import Queue as _unused_module_Queue # noqa: F401 + + +class LifoQueue(queue.Queue): + def _init(self, _): + self.queue = collections.deque() + + def _qsize(self, len=len): + return len(self.queue) + + def _put(self, item): + self.queue.append(item) + + def _get(self): + return self.queue.pop() diff --git a/urllib3/util/request.py b/urllib3/util/request.py new file mode 100644 index 0000000..3ddfcd5 --- /dev/null +++ b/urllib3/util/request.py @@ -0,0 +1,118 @@ +from __future__ import absolute_import +from base64 import b64encode + +from ..packages.six import b, integer_types +from ..exceptions import UnrewindableBodyError + +ACCEPT_ENCODING = 'gzip,deflate' +_FAILEDTELL = object() + + +def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, + basic_auth=None, proxy_basic_auth=None, disable_cache=None): + """ + Shortcuts for generating request headers. + + :param keep_alive: + If ``True``, adds 'connection: keep-alive' header. + + :param accept_encoding: + Can be a boolean, list, or string. + ``True`` translates to 'gzip,deflate'. + List will get joined by comma. + String will be used as provided. + + :param user_agent: + String representing the user-agent you want, such as + "python-urllib3/0.6" + + :param basic_auth: + Colon-separated username:password string for 'authorization: basic ...' + auth header. + + :param proxy_basic_auth: + Colon-separated username:password string for 'proxy-authorization: basic ...' + auth header. + + :param disable_cache: + If ``True``, adds 'cache-control: no-cache' header. + + Example:: + + >>> make_headers(keep_alive=True, user_agent="Batman/1.0") + {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} + >>> make_headers(accept_encoding=True) + {'accept-encoding': 'gzip,deflate'} + """ + headers = {} + if accept_encoding: + if isinstance(accept_encoding, str): + pass + elif isinstance(accept_encoding, list): + accept_encoding = ','.join(accept_encoding) + else: + accept_encoding = ACCEPT_ENCODING + headers['accept-encoding'] = accept_encoding + + if user_agent: + headers['user-agent'] = user_agent + + if keep_alive: + headers['connection'] = 'keep-alive' + + if basic_auth: + headers['authorization'] = 'Basic ' + \ + b64encode(b(basic_auth)).decode('utf-8') + + if proxy_basic_auth: + headers['proxy-authorization'] = 'Basic ' + \ + b64encode(b(proxy_basic_auth)).decode('utf-8') + + if disable_cache: + headers['cache-control'] = 'no-cache' + + return headers + + +def set_file_position(body, pos): + """ + If a position is provided, move file to that point. + Otherwise, we'll attempt to record a position for future use. + """ + if pos is not None: + rewind_body(body, pos) + elif getattr(body, 'tell', None) is not None: + try: + pos = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body. + pos = _FAILEDTELL + + return pos + + +def rewind_body(body, body_pos): + """ + Attempt to rewind body to a certain position. + Primarily used for request redirects and retries. + + :param body: + File-like object that supports seek. + + :param int pos: + Position to seek to in file. + """ + body_seek = getattr(body, 'seek', None) + if body_seek is not None and isinstance(body_pos, integer_types): + try: + body_seek(body_pos) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect/retry.") + elif body_pos is _FAILEDTELL: + raise UnrewindableBodyError("Unable to record file position for rewinding " + "request body during a redirect/retry.") + else: + raise ValueError("body_pos must be of type integer, " + "instead it was %s." % type(body_pos)) diff --git a/urllib3/util/response.py b/urllib3/util/response.py new file mode 100644 index 0000000..3d54864 --- /dev/null +++ b/urllib3/util/response.py @@ -0,0 +1,87 @@ +from __future__ import absolute_import +from ..packages.six.moves import http_client as httplib + +from ..exceptions import HeaderParsingError + + +def is_fp_closed(obj): + """ + Checks whether a given file-like object is closed. + + :param obj: + The file-like object to check. + """ + + try: + # Check `isclosed()` first, in case Python3 doesn't set `closed`. + # GH Issue #928 + return obj.isclosed() + except AttributeError: + pass + + try: + # Check via the official file-like-object way. + return obj.closed + except AttributeError: + pass + + try: + # Check if the object is a container for another file-like object that + # gets released on exhaustion (e.g. HTTPResponse). + return obj.fp is None + except AttributeError: + pass + + raise ValueError("Unable to determine whether fp is closed.") + + +def assert_header_parsing(headers): + """ + Asserts whether all headers have been successfully parsed. + Extracts encountered errors from the result of parsing headers. + + Only works on Python 3. + + :param headers: Headers to verify. + :type headers: `httplib.HTTPMessage`. + + :raises urllib3.exceptions.HeaderParsingError: + If parsing errors are found. + """ + + # This will fail silently if we pass in the wrong kind of parameter. + # To make debugging easier add an explicit check. + if not isinstance(headers, httplib.HTTPMessage): + raise TypeError('expected httplib.Message, got {0}.'.format( + type(headers))) + + defects = getattr(headers, 'defects', None) + get_payload = getattr(headers, 'get_payload', None) + + unparsed_data = None + if get_payload: + # get_payload is actually email.message.Message.get_payload; + # we're only interested in the result if it's not a multipart message + if not headers.is_multipart(): + payload = get_payload() + + if isinstance(payload, (bytes, str)): + unparsed_data = payload + + if defects or unparsed_data: + raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data) + + +def is_response_to_head(response): + """ + Checks whether the request of a response has been a HEAD-request. + Handles the quirks of AppEngine. + + :param conn: + :type conn: :class:`httplib.HTTPResponse` + """ + # FIXME: Can we do this somehow without accessing private httplib _method? + method = response._method + if isinstance(method, int): # Platform-specific: Appengine + return method == 3 + return method.upper() == 'HEAD' diff --git a/urllib3/util/retry.py b/urllib3/util/retry.py new file mode 100644 index 0000000..02429ee --- /dev/null +++ b/urllib3/util/retry.py @@ -0,0 +1,412 @@ +from __future__ import absolute_import +import time +import logging +from collections import namedtuple +from itertools import takewhile +import email +import re + +from ..exceptions import ( + ConnectTimeoutError, + MaxRetryError, + ProtocolError, + ReadTimeoutError, + ResponseError, + InvalidHeader, +) +from ..packages import six + + +log = logging.getLogger(__name__) + + +# Data structure for representing the metadata of requests that result in a retry. +RequestHistory = namedtuple('RequestHistory', ["method", "url", "error", + "status", "redirect_location"]) + + +class Retry(object): + """ Retry configuration. + + Each retry attempt will create a new Retry object with updated values, so + they can be safely reused. + + Retries can be defined as a default for a pool:: + + retries = Retry(connect=5, read=2, redirect=5) + http = PoolManager(retries=retries) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', retries=Retry(10)) + + Retries can be disabled by passing ``False``:: + + response = http.request('GET', 'http://example.com/', retries=False) + + Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless + retries are disabled, in which case the causing exception will be raised. + + :param int total: + Total number of retries to allow. Takes precedence over other counts. + + Set to ``None`` to remove this constraint and fall back on other + counts. It's a good idea to set this to some sensibly-high value to + account for unexpected edge cases and avoid infinite retry loops. + + Set to ``0`` to fail on the first retry. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int connect: + How many connection-related errors to retry on. + + These are errors raised before the request is sent to the remote server, + which we assume has not triggered the server to process the request. + + Set to ``0`` to fail on the first retry of this type. + + :param int read: + How many times to retry on read errors. + + These errors are raised after the request was sent to the server, so the + request may have side-effects. + + Set to ``0`` to fail on the first retry of this type. + + :param int redirect: + How many redirects to perform. Limit this to avoid infinite redirect + loops. + + A redirect is a HTTP response with a status code 301, 302, 303, 307 or + 308. + + Set to ``0`` to fail on the first retry of this type. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int status: + How many times to retry on bad status codes. + + These are retries made on responses, where status code matches + ``status_forcelist``. + + Set to ``0`` to fail on the first retry of this type. + + :param iterable method_whitelist: + Set of uppercased HTTP method verbs that we should retry on. + + By default, we only retry on methods which are considered to be + idempotent (multiple requests with the same parameters end with the + same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. + + Set to a ``False`` value to retry on any verb. + + :param iterable status_forcelist: + A set of integer HTTP status codes that we should force a retry on. + A retry is initiated if the request method is in ``method_whitelist`` + and the response status code is in ``status_forcelist``. + + By default, this is disabled with ``None``. + + :param float backoff_factor: + A backoff factor to apply between attempts after the second try + (most errors are resolved immediately by a second try without a + delay). urllib3 will sleep for:: + + {backoff factor} * (2 ** ({number of total retries} - 1)) + + seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep + for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer + than :attr:`Retry.BACKOFF_MAX`. + + By default, backoff is disabled (set to 0). + + :param bool raise_on_redirect: Whether, if the number of redirects is + exhausted, to raise a MaxRetryError, or to return a response with a + response code in the 3xx range. + + :param bool raise_on_status: Similar meaning to ``raise_on_redirect``: + whether we should raise an exception, or return a response, + if status falls in ``status_forcelist`` range and retries have + been exhausted. + + :param tuple history: The history of the request encountered during + each call to :meth:`~Retry.increment`. The list is in the order + the requests occurred. Each list item is of class :class:`RequestHistory`. + + :param bool respect_retry_after_header: + Whether to respect Retry-After header on status codes defined as + :attr:`Retry.RETRY_AFTER_STATUS_CODES` or not. + + :param iterable remove_headers_on_redirect: + Sequence of headers to remove from the request when a response + indicating a redirect is returned before firing off the redirected + request. + """ + + DEFAULT_METHOD_WHITELIST = frozenset([ + 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) + + RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503]) + + DEFAULT_REDIRECT_HEADERS_BLACKLIST = frozenset(['Authorization']) + + #: Maximum backoff time. + BACKOFF_MAX = 120 + + def __init__(self, total=10, connect=None, read=None, redirect=None, status=None, + method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, + backoff_factor=0, raise_on_redirect=True, raise_on_status=True, + history=None, respect_retry_after_header=True, + remove_headers_on_redirect=DEFAULT_REDIRECT_HEADERS_BLACKLIST): + + self.total = total + self.connect = connect + self.read = read + self.status = status + + if redirect is False or total is False: + redirect = 0 + raise_on_redirect = False + + self.redirect = redirect + self.status_forcelist = status_forcelist or set() + self.method_whitelist = method_whitelist + self.backoff_factor = backoff_factor + self.raise_on_redirect = raise_on_redirect + self.raise_on_status = raise_on_status + self.history = history or tuple() + self.respect_retry_after_header = respect_retry_after_header + self.remove_headers_on_redirect = frozenset([ + h.lower() for h in remove_headers_on_redirect]) + + def new(self, **kw): + params = dict( + total=self.total, + connect=self.connect, read=self.read, redirect=self.redirect, status=self.status, + method_whitelist=self.method_whitelist, + status_forcelist=self.status_forcelist, + backoff_factor=self.backoff_factor, + raise_on_redirect=self.raise_on_redirect, + raise_on_status=self.raise_on_status, + history=self.history, + remove_headers_on_redirect=self.remove_headers_on_redirect + ) + params.update(kw) + return type(self)(**params) + + @classmethod + def from_int(cls, retries, redirect=True, default=None): + """ Backwards-compatibility for the old retries format.""" + if retries is None: + retries = default if default is not None else cls.DEFAULT + + if isinstance(retries, Retry): + return retries + + redirect = bool(redirect) and None + new_retries = cls(retries, redirect=redirect) + log.debug("Converted retries value: %r -> %r", retries, new_retries) + return new_retries + + def get_backoff_time(self): + """ Formula for computing the current backoff + + :rtype: float + """ + # We want to consider only the last consecutive errors sequence (Ignore redirects). + consecutive_errors_len = len(list(takewhile(lambda x: x.redirect_location is None, + reversed(self.history)))) + if consecutive_errors_len <= 1: + return 0 + + backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1)) + return min(self.BACKOFF_MAX, backoff_value) + + def parse_retry_after(self, retry_after): + # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4 + if re.match(r"^\s*[0-9]+\s*$", retry_after): + seconds = int(retry_after) + else: + retry_date_tuple = email.utils.parsedate(retry_after) + if retry_date_tuple is None: + raise InvalidHeader("Invalid Retry-After header: %s" % retry_after) + retry_date = time.mktime(retry_date_tuple) + seconds = retry_date - time.time() + + if seconds < 0: + seconds = 0 + + return seconds + + def get_retry_after(self, response): + """ Get the value of Retry-After in seconds. """ + + retry_after = response.getheader("Retry-After") + + if retry_after is None: + return None + + return self.parse_retry_after(retry_after) + + def sleep_for_retry(self, response=None): + retry_after = self.get_retry_after(response) + if retry_after: + time.sleep(retry_after) + return True + + return False + + def _sleep_backoff(self): + backoff = self.get_backoff_time() + if backoff <= 0: + return + time.sleep(backoff) + + def sleep(self, response=None): + """ Sleep between retry attempts. + + This method will respect a server's ``Retry-After`` response header + and sleep the duration of the time requested. If that is not present, it + will use an exponential backoff. By default, the backoff factor is 0 and + this method will return immediately. + """ + + if response: + slept = self.sleep_for_retry(response) + if slept: + return + + self._sleep_backoff() + + def _is_connection_error(self, err): + """ Errors when we're fairly sure that the server did not receive the + request, so it should be safe to retry. + """ + return isinstance(err, ConnectTimeoutError) + + def _is_read_error(self, err): + """ Errors that occur after the request has been started, so we should + assume that the server began processing it. + """ + return isinstance(err, (ReadTimeoutError, ProtocolError)) + + def _is_method_retryable(self, method): + """ Checks if a given HTTP method should be retried upon, depending if + it is included on the method whitelist. + """ + if self.method_whitelist and method.upper() not in self.method_whitelist: + return False + + return True + + def is_retry(self, method, status_code, has_retry_after=False): + """ Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + if not self._is_method_retryable(method): + return False + + if self.status_forcelist and status_code in self.status_forcelist: + return True + + return (self.total and self.respect_retry_after_header and + has_retry_after and (status_code in self.RETRY_AFTER_STATUS_CODES)) + + def is_exhausted(self): + """ Are we out of retries? """ + retry_counts = (self.total, self.connect, self.read, self.redirect, self.status) + retry_counts = list(filter(None, retry_counts)) + if not retry_counts: + return False + + return min(retry_counts) < 0 + + def increment(self, method=None, url=None, response=None, error=None, + _pool=None, _stacktrace=None): + """ Return a new Retry object with incremented retry counters. + + :param response: A response object, or None, if the server did not + return a response. + :type response: :class:`~urllib3.response.HTTPResponse` + :param Exception error: An error encountered during the request, or + None if the response was received successfully. + + :return: A new ``Retry`` object. + """ + if self.total is False and error: + # Disabled, indicate to re-raise the error. + raise six.reraise(type(error), error, _stacktrace) + + total = self.total + if total is not None: + total -= 1 + + connect = self.connect + read = self.read + redirect = self.redirect + status_count = self.status + cause = 'unknown' + status = None + redirect_location = None + + if error and self._is_connection_error(error): + # Connect retry? + if connect is False: + raise six.reraise(type(error), error, _stacktrace) + elif connect is not None: + connect -= 1 + + elif error and self._is_read_error(error): + # Read retry? + if read is False or not self._is_method_retryable(method): + raise six.reraise(type(error), error, _stacktrace) + elif read is not None: + read -= 1 + + elif response and response.get_redirect_location(): + # Redirect retry? + if redirect is not None: + redirect -= 1 + cause = 'too many redirects' + redirect_location = response.get_redirect_location() + status = response.status + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + cause = ResponseError.GENERIC_ERROR + if response and response.status: + if status_count is not None: + status_count -= 1 + cause = ResponseError.SPECIFIC_ERROR.format( + status_code=response.status) + status = response.status + + history = self.history + (RequestHistory(method, url, error, status, redirect_location),) + + new_retry = self.new( + total=total, + connect=connect, read=read, redirect=redirect, status=status_count, + history=history) + + if new_retry.is_exhausted(): + raise MaxRetryError(_pool, url, error or ResponseError(cause)) + + log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) + + return new_retry + + def __repr__(self): + return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' + 'read={self.read}, redirect={self.redirect}, status={self.status})').format( + cls=type(self), self=self) + + +# For backwards compatibility (equivalent to pre-v1.9): +Retry.DEFAULT = Retry(3) diff --git a/urllib3/util/ssl_.py b/urllib3/util/ssl_.py new file mode 100644 index 0000000..d9b2060 --- /dev/null +++ b/urllib3/util/ssl_.py @@ -0,0 +1,382 @@ +from __future__ import absolute_import +import errno +import warnings +import hmac +import socket + +from binascii import hexlify, unhexlify +from hashlib import md5, sha1, sha256 + +from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning +from ..packages import six + + +SSLContext = None +HAS_SNI = False +IS_PYOPENSSL = False +IS_SECURETRANSPORT = False + +# Maps the length of a digest to a possible hash function producing this digest +HASHFUNC_MAP = { + 32: md5, + 40: sha1, + 64: sha256, +} + + +def _const_compare_digest_backport(a, b): + """ + Compare two digests of equal length in constant time. + + The digests must be of type str/bytes. + Returns True if the digests match, and False otherwise. + """ + result = abs(len(a) - len(b)) + for l, r in zip(bytearray(a), bytearray(b)): + result |= l ^ r + return result == 0 + + +_const_compare_digest = getattr(hmac, 'compare_digest', + _const_compare_digest_backport) + + +try: # Test for SSL features + import ssl + from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 + from ssl import HAS_SNI # Has SNI? +except ImportError: + pass + + +try: + from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION +except ImportError: + OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 + OP_NO_COMPRESSION = 0x20000 + + +# Python 2.7 doesn't have inet_pton on non-Linux so we fallback on inet_aton in +# those cases. This means that we can only detect IPv4 addresses in this case. +if hasattr(socket, 'inet_pton'): + inet_pton = socket.inet_pton +else: + # Maybe we can use ipaddress if the user has urllib3[secure]? + try: + import ipaddress + + def inet_pton(_, host): + if isinstance(host, bytes): + host = host.decode('ascii') + return ipaddress.ip_address(host) + + except ImportError: # Platform-specific: Non-Linux + def inet_pton(_, host): + return socket.inet_aton(host) + + +# A secure default. +# Sources for more information on TLS ciphers: +# +# - https://wiki.mozilla.org/Security/Server_Side_TLS +# - https://www.ssllabs.com/projects/best-practices/index.html +# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ +# +# The general intent is: +# - Prefer TLS 1.3 cipher suites +# - prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), +# - prefer ECDHE over DHE for better performance, +# - prefer any AES-GCM and ChaCha20 over any AES-CBC for better performance and +# security, +# - prefer AES-GCM over ChaCha20 because hardware-accelerated AES is common, +# - disable NULL authentication, MD5 MACs and DSS for security reasons. +DEFAULT_CIPHERS = ':'.join([ + 'TLS13-AES-256-GCM-SHA384', + 'TLS13-CHACHA20-POLY1305-SHA256', + 'TLS13-AES-128-GCM-SHA256', + 'ECDH+AESGCM', + 'ECDH+CHACHA20', + 'DH+AESGCM', + 'DH+CHACHA20', + 'ECDH+AES256', + 'DH+AES256', + 'ECDH+AES128', + 'DH+AES', + 'RSA+AESGCM', + 'RSA+AES', + '!aNULL', + '!eNULL', + '!MD5', +]) + +try: + from ssl import SSLContext # Modern SSL? +except ImportError: + class SSLContext(object): # Platform-specific: Python 2 + def __init__(self, protocol_version): + self.protocol = protocol_version + # Use default values from a real SSLContext + self.check_hostname = False + self.verify_mode = ssl.CERT_NONE + self.ca_certs = None + self.options = 0 + self.certfile = None + self.keyfile = None + self.ciphers = None + + def load_cert_chain(self, certfile, keyfile): + self.certfile = certfile + self.keyfile = keyfile + + def load_verify_locations(self, cafile=None, capath=None): + self.ca_certs = cafile + + if capath is not None: + raise SSLError("CA directories not supported in older Pythons") + + def set_ciphers(self, cipher_suite): + self.ciphers = cipher_suite + + def wrap_socket(self, socket, server_hostname=None, server_side=False): + warnings.warn( + 'A true SSLContext object is not available. This prevents ' + 'urllib3 from configuring SSL appropriately and may cause ' + 'certain SSL connections to fail. You can upgrade to a newer ' + 'version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + InsecurePlatformWarning + ) + kwargs = { + 'keyfile': self.keyfile, + 'certfile': self.certfile, + 'ca_certs': self.ca_certs, + 'cert_reqs': self.verify_mode, + 'ssl_version': self.protocol, + 'server_side': server_side, + } + return wrap_socket(socket, ciphers=self.ciphers, **kwargs) + + +def assert_fingerprint(cert, fingerprint): + """ + Checks if given fingerprint matches the supplied certificate. + + :param cert: + Certificate as bytes object. + :param fingerprint: + Fingerprint as string of hexdigits, can be interspersed by colons. + """ + + fingerprint = fingerprint.replace(':', '').lower() + digest_length = len(fingerprint) + hashfunc = HASHFUNC_MAP.get(digest_length) + if not hashfunc: + raise SSLError( + 'Fingerprint of invalid length: {0}'.format(fingerprint)) + + # We need encode() here for py32; works on py2 and p33. + fingerprint_bytes = unhexlify(fingerprint.encode()) + + cert_digest = hashfunc(cert).digest() + + if not _const_compare_digest(cert_digest, fingerprint_bytes): + raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' + .format(fingerprint, hexlify(cert_digest))) + + +def resolve_cert_reqs(candidate): + """ + Resolves the argument to a numeric constant, which can be passed to + the wrap_socket function/method from the ssl module. + Defaults to :data:`ssl.CERT_NONE`. + If given a string it is assumed to be the name of the constant in the + :mod:`ssl` module or its abbreviation. + (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. + If it's neither `None` nor a string we assume it is already the numeric + constant which can directly be passed to wrap_socket. + """ + if candidate is None: + return CERT_NONE + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'CERT_' + candidate) + return res + + return candidate + + +def resolve_ssl_version(candidate): + """ + like resolve_cert_reqs + """ + if candidate is None: + return PROTOCOL_SSLv23 + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'PROTOCOL_' + candidate) + return res + + return candidate + + +def create_urllib3_context(ssl_version=None, cert_reqs=None, + options=None, ciphers=None): + """All arguments have the same meaning as ``ssl_wrap_socket``. + + By default, this function does a lot of the same work that + ``ssl.create_default_context`` does on Python 3.4+. It: + + - Disables SSLv2, SSLv3, and compression + - Sets a restricted set of server ciphers + + If you wish to enable SSLv3, you can do:: + + from urllib3.util import ssl_ + context = ssl_.create_urllib3_context() + context.options &= ~ssl_.OP_NO_SSLv3 + + You can do the same to enable compression (substituting ``COMPRESSION`` + for ``SSLv3`` in the last line above). + + :param ssl_version: + The desired protocol version to use. This will default to + PROTOCOL_SSLv23 which will negotiate the highest protocol that both + the server and your installation of OpenSSL support. + :param cert_reqs: + Whether to require the certificate verification. This defaults to + ``ssl.CERT_REQUIRED``. + :param options: + Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, + ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. + :param ciphers: + Which cipher suites to allow the server to select. + :returns: + Constructed SSLContext object with specified options + :rtype: SSLContext + """ + context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) + + context.set_ciphers(ciphers or DEFAULT_CIPHERS) + + # Setting the default here, as we may have no ssl module on import + cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs + + if options is None: + options = 0 + # SSLv2 is easily broken and is considered harmful and dangerous + options |= OP_NO_SSLv2 + # SSLv3 has several problems and is now dangerous + options |= OP_NO_SSLv3 + # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ + # (issue #309) + options |= OP_NO_COMPRESSION + + context.options |= options + + context.verify_mode = cert_reqs + if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 + # We do our own verification, including fingerprints and alternative + # hostnames. So disable it here + context.check_hostname = False + return context + + +def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, + ca_certs=None, server_hostname=None, + ssl_version=None, ciphers=None, ssl_context=None, + ca_cert_dir=None): + """ + All arguments except for server_hostname, ssl_context, and ca_cert_dir have + the same meaning as they do when using :func:`ssl.wrap_socket`. + + :param server_hostname: + When SNI is supported, the expected hostname of the certificate + :param ssl_context: + A pre-made :class:`SSLContext` object. If none is provided, one will + be created using :func:`create_urllib3_context`. + :param ciphers: + A string of ciphers we wish the client to support. + :param ca_cert_dir: + A directory containing CA certificates in multiple separate files, as + supported by OpenSSL's -CApath flag or the capath argument to + SSLContext.load_verify_locations(). + """ + context = ssl_context + if context is None: + # Note: This branch of code and all the variables in it are no longer + # used by urllib3 itself. We should consider deprecating and removing + # this code. + context = create_urllib3_context(ssl_version, cert_reqs, + ciphers=ciphers) + + if ca_certs or ca_cert_dir: + try: + context.load_verify_locations(ca_certs, ca_cert_dir) + except IOError as e: # Platform-specific: Python 2.7 + raise SSLError(e) + # Py33 raises FileNotFoundError which subclasses OSError + # These are not equivalent unless we check the errno attribute + except OSError as e: # Platform-specific: Python 3.3 and beyond + if e.errno == errno.ENOENT: + raise SSLError(e) + raise + + # Don't load system certs unless there were no CA certs or + # SSLContext object specified manually. + elif ssl_context is None and hasattr(context, 'load_default_certs'): + # try to load OS default certs; works well on Windows (require Python3.4+) + context.load_default_certs() + + if certfile: + context.load_cert_chain(certfile, keyfile) + + # If we detect server_hostname is an IP address then the SNI + # extension should not be used according to RFC3546 Section 3.1 + # We shouldn't warn the user if SNI isn't available but we would + # not be using SNI anyways due to IP address for server_hostname. + if ((server_hostname is not None and not is_ipaddress(server_hostname)) + or IS_SECURETRANSPORT): + if HAS_SNI and server_hostname is not None: + return context.wrap_socket(sock, server_hostname=server_hostname) + + warnings.warn( + 'An HTTPS request has been made, but the SNI (Server Name ' + 'Indication) extension to TLS is not available on this platform. ' + 'This may cause the server to present an incorrect TLS ' + 'certificate, which can cause validation failures. You can upgrade to ' + 'a newer version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + SNIMissingWarning + ) + + return context.wrap_socket(sock) + + +def is_ipaddress(hostname): + """Detects whether the hostname given is an IP address. + + :param str hostname: Hostname to examine. + :return: True if the hostname is an IP address, False otherwise. + """ + if six.PY3 and isinstance(hostname, bytes): + # IDN A-label bytes are ASCII compatible. + hostname = hostname.decode('ascii') + + families = [socket.AF_INET] + if hasattr(socket, 'AF_INET6'): + families.append(socket.AF_INET6) + + for af in families: + try: + inet_pton(af, hostname) + except (socket.error, ValueError, OSError): + pass + else: + return True + return False diff --git a/urllib3/util/timeout.py b/urllib3/util/timeout.py new file mode 100644 index 0000000..cec817e --- /dev/null +++ b/urllib3/util/timeout.py @@ -0,0 +1,242 @@ +from __future__ import absolute_import +# The default socket timeout, used by httplib to indicate that no timeout was +# specified by the user +from socket import _GLOBAL_DEFAULT_TIMEOUT +import time + +from ..exceptions import TimeoutStateError + +# A sentinel value to indicate that no timeout was specified by the user in +# urllib3 +_Default = object() + + +# Use time.monotonic if available. +current_time = getattr(time, "monotonic", time.time) + + +class Timeout(object): + """ Timeout configuration. + + Timeouts can be defined as a default for a pool:: + + timeout = Timeout(connect=2.0, read=7.0) + http = PoolManager(timeout=timeout) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) + + Timeouts can be disabled by setting all the parameters to ``None``:: + + no_timeout = Timeout(connect=None, read=None) + response = http.request('GET', 'http://example.com/, timeout=no_timeout) + + + :param total: + This combines the connect and read timeouts into one; the read timeout + will be set to the time leftover from the connect attempt. In the + event that both a connect timeout and a total are specified, or a read + timeout and a total are specified, the shorter timeout will be applied. + + Defaults to None. + + :type total: integer, float, or None + + :param connect: + The maximum amount of time to wait for a connection attempt to a server + to succeed. Omitting the parameter will default the connect timeout to + the system default, probably `the global default timeout in socket.py + `_. + None will set an infinite timeout for connection attempts. + + :type connect: integer, float, or None + + :param read: + The maximum amount of time to wait between consecutive + read operations for a response from the server. Omitting + the parameter will default the read timeout to the system + default, probably `the global default timeout in socket.py + `_. + None will set an infinite timeout. + + :type read: integer, float, or None + + .. note:: + + Many factors can affect the total amount of time for urllib3 to return + an HTTP response. + + For example, Python's DNS resolver does not obey the timeout specified + on the socket. Other factors that can affect total request time include + high CPU load, high swap, the program running at a low priority level, + or other behaviors. + + In addition, the read and total timeouts only measure the time between + read operations on the socket connecting the client and the server, + not the total amount of time for the request to return a complete + response. For most requests, the timeout is raised because the server + has not sent the first byte in the specified time. This is not always + the case; if a server streams one byte every fifteen seconds, a timeout + of 20 seconds will not trigger, even though the request will take + several minutes to complete. + + If your goal is to cut off any request after a set amount of wall clock + time, consider having a second "watcher" thread to cut off a slow + request. + """ + + #: A sentinel object representing the default timeout value + DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT + + def __init__(self, total=None, connect=_Default, read=_Default): + self._connect = self._validate_timeout(connect, 'connect') + self._read = self._validate_timeout(read, 'read') + self.total = self._validate_timeout(total, 'total') + self._start_connect = None + + def __str__(self): + return '%s(connect=%r, read=%r, total=%r)' % ( + type(self).__name__, self._connect, self._read, self.total) + + @classmethod + def _validate_timeout(cls, value, name): + """ Check that a timeout attribute is valid. + + :param value: The timeout value to validate + :param name: The name of the timeout attribute to validate. This is + used to specify in error messages. + :return: The validated and casted version of the given value. + :raises ValueError: If it is a numeric value less than or equal to + zero, or the type is not an integer, float, or None. + """ + if value is _Default: + return cls.DEFAULT_TIMEOUT + + if value is None or value is cls.DEFAULT_TIMEOUT: + return value + + if isinstance(value, bool): + raise ValueError("Timeout cannot be a boolean value. It must " + "be an int, float or None.") + try: + float(value) + except (TypeError, ValueError): + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + try: + if value <= 0: + raise ValueError("Attempted to set %s timeout to %s, but the " + "timeout cannot be set to a value less " + "than or equal to 0." % (name, value)) + except TypeError: # Python 3 + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + return value + + @classmethod + def from_float(cls, timeout): + """ Create a new Timeout from a legacy timeout value. + + The timeout value used by httplib.py sets the same timeout on the + connect(), and recv() socket requests. This creates a :class:`Timeout` + object that sets the individual timeouts to the ``timeout`` value + passed to this function. + + :param timeout: The legacy timeout value. + :type timeout: integer, float, sentinel default object, or None + :return: Timeout object + :rtype: :class:`Timeout` + """ + return Timeout(read=timeout, connect=timeout) + + def clone(self): + """ Create a copy of the timeout object + + Timeout properties are stored per-pool but each request needs a fresh + Timeout object to ensure each one has its own start/stop configured. + + :return: a copy of the timeout object + :rtype: :class:`Timeout` + """ + # We can't use copy.deepcopy because that will also create a new object + # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to + # detect the user default. + return Timeout(connect=self._connect, read=self._read, + total=self.total) + + def start_connect(self): + """ Start the timeout clock, used during a connect() attempt + + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to start a timer that has been started already. + """ + if self._start_connect is not None: + raise TimeoutStateError("Timeout timer has already been started.") + self._start_connect = current_time() + return self._start_connect + + def get_connect_duration(self): + """ Gets the time elapsed since the call to :meth:`start_connect`. + + :return: Elapsed time. + :rtype: float + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to get duration for a timer that hasn't been started. + """ + if self._start_connect is None: + raise TimeoutStateError("Can't get connect duration for timer " + "that has not started.") + return current_time() - self._start_connect + + @property + def connect_timeout(self): + """ Get the value to use when setting a connection timeout. + + This will be a positive float or integer, the value None + (never timeout), or the default system timeout. + + :return: Connect timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + """ + if self.total is None: + return self._connect + + if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: + return self.total + + return min(self._connect, self.total) + + @property + def read_timeout(self): + """ Get the value for the read timeout. + + This assumes some time has elapsed in the connection timeout and + computes the read timeout appropriately. + + If self.total is set, the read timeout is dependent on the amount of + time taken by the connect timeout. If the connection time has not been + established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be + raised. + + :return: Value to use for the read timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` + has not yet been called on this object. + """ + if (self.total is not None and + self.total is not self.DEFAULT_TIMEOUT and + self._read is not None and + self._read is not self.DEFAULT_TIMEOUT): + # In case the connect timeout has not yet been established. + if self._start_connect is None: + return self._read + return max(0, min(self.total - self.get_connect_duration(), + self._read)) + elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: + return max(0, self.total - self.get_connect_duration()) + else: + return self._read diff --git a/urllib3/util/url.py b/urllib3/util/url.py new file mode 100644 index 0000000..12b8d55 --- /dev/null +++ b/urllib3/util/url.py @@ -0,0 +1,238 @@ +from __future__ import absolute_import +from collections import namedtuple +import re + +from ..exceptions import LocationParseError +from ..packages.six.moves.urllib.parse import quote + + +url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] + +# We only want to normalize urls with an HTTP(S) scheme. +# urllib3 infers URLs without a scheme (None) to be http. +NORMALIZABLE_SCHEMES = ('http', 'https', None) + +_contains_disallowed_url_pchar_re = re.compile('[\x00-\x20\x7f]') + + +class Url(namedtuple('Url', url_attrs)): + """ + Datastructure for representing an HTTP URL. Used as a return value for + :func:`parse_url`. Both the scheme and host are normalized as they are + both case-insensitive according to RFC 3986. + """ + __slots__ = () + + def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, + query=None, fragment=None): + if path and not path.startswith('/'): + path = '/' + path + if scheme: + scheme = scheme.lower() + if host and scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return super(Url, cls).__new__(cls, scheme, auth, host, port, path, + query, fragment) + + @property + def hostname(self): + """For backwards-compatibility with urlparse. We're nice like that.""" + return self.host + + @property + def request_uri(self): + """Absolute path including the query string.""" + uri = self.path or '/' + + if self.query is not None: + uri += '?' + self.query + + return uri + + @property + def netloc(self): + """Network location including host and port""" + if self.port: + return '%s:%d' % (self.host, self.port) + return self.host + + @property + def url(self): + """ + Convert self into a url + + This function should more or less round-trip with :func:`.parse_url`. The + returned url may not be exactly the same as the url inputted to + :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls + with a blank port will have : removed). + + Example: :: + + >>> U = parse_url('http://google.com/mail/') + >>> U.url + 'http://google.com/mail/' + >>> Url('http', 'username:password', 'host.com', 80, + ... '/path', 'query', 'fragment').url + 'http://username:password@host.com:80/path?query#fragment' + """ + scheme, auth, host, port, path, query, fragment = self + url = '' + + # We use "is not None" we want things to happen with empty strings (or 0 port) + if scheme is not None: + url += scheme + '://' + if auth is not None: + url += auth + '@' + if host is not None: + url += host + if port is not None: + url += ':' + str(port) + if path is not None: + url += path + if query is not None: + url += '?' + query + if fragment is not None: + url += '#' + fragment + + return url + + def __str__(self): + return self.url + + +def split_first(s, delims): + """ + Given a string and an iterable of delimiters, split on the first found + delimiter. Return two split parts and the matched delimiter. + + If not found, then the first part is the full input string. + + Example:: + + >>> split_first('foo/bar?baz', '?/=') + ('foo', 'bar?baz', '/') + >>> split_first('foo/bar?baz', '123') + ('foo/bar?baz', '', None) + + Scales linearly with number of delims. Not ideal for large number of delims. + """ + min_idx = None + min_delim = None + for d in delims: + idx = s.find(d) + if idx < 0: + continue + + if min_idx is None or idx < min_idx: + min_idx = idx + min_delim = d + + if min_idx is None or min_idx < 0: + return s, '', None + + return s[:min_idx], s[min_idx + 1:], min_delim + + +def parse_url(url): + """ + Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is + performed to parse incomplete urls. Fields not provided will be None. + + Partly backwards-compatible with :mod:`urlparse`. + + Example:: + + >>> parse_url('http://google.com/mail/') + Url(scheme='http', host='google.com', port=None, path='/mail/', ...) + >>> parse_url('google.com:80') + Url(scheme=None, host='google.com', port=80, path=None, ...) + >>> parse_url('/foo?bar') + Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) + """ + + # While this code has overlap with stdlib's urlparse, it is much + # simplified for our needs and less annoying. + # Additionally, this implementations does silly things to be optimal + # on CPython. + + if not url: + # Empty + return Url() + + # Prevent CVE-2019-9740. + # adapted from https://github.com/python/cpython/pull/12755 + url = _contains_disallowed_url_pchar_re.sub(lambda match: quote(match.group()), url) + + scheme = None + auth = None + host = None + port = None + path = None + fragment = None + query = None + + # Scheme + if '://' in url: + scheme, url = url.split('://', 1) + + # Find the earliest Authority Terminator + # (http://tools.ietf.org/html/rfc3986#section-3.2) + url, path_, delim = split_first(url, ['/', '?', '#']) + + if delim: + # Reassemble the path + path = delim + path_ + + # Auth + if '@' in url: + # Last '@' denotes end of auth part + auth, url = url.rsplit('@', 1) + + # IPv6 + if url and url[0] == '[': + host, url = url.split(']', 1) + host += ']' + + # Port + if ':' in url: + _host, port = url.split(':', 1) + + if not host: + host = _host + + if port: + # If given, ports must be integers. No whitespace, no plus or + # minus prefixes, no non-integer digits such as ^2 (superscript). + if not port.isdigit(): + raise LocationParseError(url) + try: + port = int(port) + except ValueError: + raise LocationParseError(url) + else: + # Blank ports are cool, too. (rfc3986#section-3.2.3) + port = None + + elif not host and url: + host = url + + if not path: + return Url(scheme, auth, host, port, path, query, fragment) + + # Fragment + if '#' in path: + path, fragment = path.split('#', 1) + + # Query + if '?' in path: + path, query = path.split('?', 1) + + return Url(scheme, auth, host, port, path, query, fragment) + + +def get_host(url): + """ + Deprecated. Use :func:`parse_url` instead. + """ + p = parse_url(url) + return p.scheme or 'http', p.hostname, p.port diff --git a/urllib3/util/wait.py b/urllib3/util/wait.py new file mode 100644 index 0000000..4db71ba --- /dev/null +++ b/urllib3/util/wait.py @@ -0,0 +1,150 @@ +import errno +from functools import partial +import select +import sys +try: + from time import monotonic +except ImportError: + from time import time as monotonic + +__all__ = ["NoWayToWaitForSocketError", "wait_for_read", "wait_for_write"] + + +class NoWayToWaitForSocketError(Exception): + pass + + +# How should we wait on sockets? +# +# There are two types of APIs you can use for waiting on sockets: the fancy +# modern stateful APIs like epoll/kqueue, and the older stateless APIs like +# select/poll. The stateful APIs are more efficient when you have a lots of +# sockets to keep track of, because you can set them up once and then use them +# lots of times. But we only ever want to wait on a single socket at a time +# and don't want to keep track of state, so the stateless APIs are actually +# more efficient. So we want to use select() or poll(). +# +# Now, how do we choose between select() and poll()? On traditional Unixes, +# select() has a strange calling convention that makes it slow, or fail +# altogether, for high-numbered file descriptors. The point of poll() is to fix +# that, so on Unixes, we prefer poll(). +# +# On Windows, there is no poll() (or at least Python doesn't provide a wrapper +# for it), but that's OK, because on Windows, select() doesn't have this +# strange calling convention; plain select() works fine. +# +# So: on Windows we use select(), and everywhere else we use poll(). We also +# fall back to select() in case poll() is somehow broken or missing. + +if sys.version_info >= (3, 5): + # Modern Python, that retries syscalls by default + def _retry_on_intr(fn, timeout): + return fn(timeout) +else: + # Old and broken Pythons. + def _retry_on_intr(fn, timeout): + if timeout is None: + deadline = float("inf") + else: + deadline = monotonic() + timeout + + while True: + try: + return fn(timeout) + # OSError for 3 <= pyver < 3.5, select.error for pyver <= 2.7 + except (OSError, select.error) as e: + # 'e.args[0]' incantation works for both OSError and select.error + if e.args[0] != errno.EINTR: + raise + else: + timeout = deadline - monotonic() + if timeout < 0: + timeout = 0 + if timeout == float("inf"): + timeout = None + continue + + +def select_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + rcheck = [] + wcheck = [] + if read: + rcheck.append(sock) + if write: + wcheck.append(sock) + # When doing a non-blocking connect, most systems signal success by + # marking the socket writable. Windows, though, signals success by marked + # it as "exceptional". We paper over the difference by checking the write + # sockets for both conditions. (The stdlib selectors module does the same + # thing.) + fn = partial(select.select, rcheck, wcheck, wcheck) + rready, wready, xready = _retry_on_intr(fn, timeout) + return bool(rready or wready or xready) + + +def poll_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + mask = 0 + if read: + mask |= select.POLLIN + if write: + mask |= select.POLLOUT + poll_obj = select.poll() + poll_obj.register(sock, mask) + + # For some reason, poll() takes timeout in milliseconds + def do_poll(t): + if t is not None: + t *= 1000 + return poll_obj.poll(t) + + return bool(_retry_on_intr(do_poll, timeout)) + + +def null_wait_for_socket(*args, **kwargs): + raise NoWayToWaitForSocketError("no select-equivalent available") + + +def _have_working_poll(): + # Apparently some systems have a select.poll that fails as soon as you try + # to use it, either due to strange configuration or broken monkeypatching + # from libraries like eventlet/greenlet. + try: + poll_obj = select.poll() + _retry_on_intr(poll_obj.poll, 0) + except (AttributeError, OSError): + return False + else: + return True + + +def wait_for_socket(*args, **kwargs): + # We delay choosing which implementation to use until the first time we're + # called. We could do it at import time, but then we might make the wrong + # decision if someone goes wild with monkeypatching select.poll after + # we're imported. + global wait_for_socket + if _have_working_poll(): + wait_for_socket = poll_wait_for_socket + elif hasattr(select, "select"): + wait_for_socket = select_wait_for_socket + else: # Platform-specific: Appengine. + wait_for_socket = null_wait_for_socket + return wait_for_socket(*args, **kwargs) + + +def wait_for_read(sock, timeout=None): + """ Waits for reading to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, read=True, timeout=timeout) + + +def wait_for_write(sock, timeout=None): + """ Waits for writing to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, write=True, timeout=timeout) diff --git a/workflow/__init__.py b/workflow/__init__.py index 2c4f8c0..17636a4 100644 --- a/workflow/__init__.py +++ b/workflow/__init__.py @@ -64,7 +64,7 @@ __version__ = open(os.path.join(os.path.dirname(__file__), 'version')).read() __author__ = 'Dean Jackson' __licence__ = 'MIT' -__copyright__ = 'Copyright 2014-2017 Dean Jackson' +__copyright__ = 'Copyright 2014-2019 Dean Jackson' __all__ = [ 'Variables', diff --git a/workflow/background.py b/workflow/background.py index a382000..ba5c52a 100644 --- a/workflow/background.py +++ b/workflow/background.py @@ -8,8 +8,8 @@ # Created on 2014-04-06 # -""" -This module provides an API to run commands in background processes. +"""This module provides an API to run commands in background processes. + Combine with the :ref:`caching API ` to work from cached data while you fetch fresh data in the background. @@ -19,6 +19,7 @@ from __future__ import print_function, unicode_literals +import signal import sys import os import subprocess @@ -82,6 +83,31 @@ def _process_exists(pid): return True +def _job_pid(name): + """Get PID of job or `None` if job does not exist. + + Args: + name (str): Name of job. + + Returns: + int: PID of job process (or `None` if job doesn't exist). + """ + pidfile = _pid_file(name) + if not os.path.exists(pidfile): + return + + with open(pidfile, 'rb') as fp: + pid = int(fp.read()) + + if _process_exists(pid): + return pid + + try: + os.unlink(pidfile) + except Exception: # pragma: no cover + pass + + def is_running(name): """Test whether task ``name`` is currently running. @@ -91,26 +117,18 @@ def is_running(name): :rtype: bool """ - pidfile = _pid_file(name) - if not os.path.exists(pidfile): - return False - - with open(pidfile, 'rb') as file_obj: - pid = int(file_obj.read().strip()) - - if _process_exists(pid): + if _job_pid(name) is not None: return True - elif os.path.exists(pidfile): - os.unlink(pidfile) - return False -def _background(stdin='/dev/null', stdout='/dev/null', +def _background(pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'): # pragma: no cover """Fork the current process into a background daemon. + :param pidfile: file to write PID of daemon process to. + :type pidfile: filepath :param stdin: where to read input :type stdin: filepath :param stdout: where to write stdout output @@ -119,24 +137,31 @@ def _background(stdin='/dev/null', stdout='/dev/null', :type stderr: filepath """ - def _fork_and_exit_parent(errmsg): + def _fork_and_exit_parent(errmsg, wait=False, write=False): try: pid = os.fork() if pid > 0: + if write: # write PID of child process to `pidfile` + tmp = pidfile + '.tmp' + with open(tmp, 'wb') as fp: + fp.write(str(pid)) + os.rename(tmp, pidfile) + if wait: # wait for child process to exit + os.waitpid(pid, 0) os._exit(0) except OSError as err: _log().critical('%s: (%d) %s', errmsg, err.errno, err.strerror) raise err - # Do first fork. - _fork_and_exit_parent('fork #1 failed') + # Do first fork and wait for second fork to finish. + _fork_and_exit_parent('fork #1 failed', wait=True) # Decouple from parent environment. os.chdir(wf().workflowdir) os.setsid() - # Do second fork. - _fork_and_exit_parent('fork #2 failed') + # Do second fork and write PID to pidfile. + _fork_and_exit_parent('fork #2 failed', write=True) # Now I am a daemon! # Redirect standard file descriptors. @@ -151,10 +176,30 @@ def _fork_and_exit_parent(errmsg): os.dup2(se.fileno(), sys.stderr.fileno()) +def kill(name, sig=signal.SIGTERM): + """Send a signal to job ``name`` via :func:`os.kill`. + + .. versionadded:: 1.29 + + Args: + name (str): Name of the job + sig (int, optional): Signal to send (default: SIGTERM) + + Returns: + bool: `False` if job isn't running, `True` if signal was sent. + """ + pid = _job_pid(name) + if pid is None: + return False + + os.kill(pid, sig) + return True + + def run_in_background(name, args, **kwargs): r"""Cache arguments then call this script again via :func:`subprocess.call`. - :param name: name of task + :param name: name of job :type name: unicode :param args: arguments passed as first argument to :func:`subprocess.call` :param \**kwargs: keyword arguments to :func:`subprocess.call` @@ -183,18 +228,20 @@ def run_in_background(name, args, **kwargs): argcache = _arg_cache(name) # Cache arguments - with open(argcache, 'wb') as file_obj: - pickle.dump({'args': args, 'kwargs': kwargs}, file_obj) + with open(argcache, 'wb') as fp: + pickle.dump({'args': args, 'kwargs': kwargs}, fp) _log().debug('[%s] command cached: %s', name, argcache) # Call this script cmd = ['/usr/bin/python', __file__, name] _log().debug('[%s] passing job to background runner: %r', name, cmd) retcode = subprocess.call(cmd) + if retcode: # pragma: no cover - _log().error('[%s] background runner failed with %d', retcode) + _log().error('[%s] background runner failed with %d', name, retcode) else: _log().debug('[%s] background job started', name) + return retcode @@ -209,12 +256,17 @@ def main(wf): # pragma: no cover name = wf.args[0] argcache = _arg_cache(name) if not os.path.exists(argcache): - log.critical('[%s] command cache not found: %r', name, argcache) - return 1 + msg = '[{0}] command cache not found: {1}'.format(name, argcache) + log.critical(msg) + raise IOError(msg) + + # Fork to background and run command + pidfile = _pid_file(name) + _background(pidfile) # Load cached arguments - with open(argcache, 'rb') as file_obj: - data = pickle.load(file_obj) + with open(argcache, 'rb') as fp: + data = pickle.load(fp) # Cached arguments args = data['args'] @@ -223,28 +275,18 @@ def main(wf): # pragma: no cover # Delete argument cache file os.unlink(argcache) - pidfile = _pid_file(name) - - # Fork to background - _background() - - # Write PID to file - with open(pidfile, 'wb') as file_obj: - file_obj.write(str(os.getpid())) - - # Run the command try: + # Run the command log.debug('[%s] running command: %r', name, args) retcode = subprocess.call(args, **kwargs) if retcode: log.error('[%s] command failed with status %d', name, retcode) - finally: - if os.path.exists(pidfile): - os.unlink(pidfile) - log.debug('[%s] job complete', name) + os.unlink(pidfile) + + log.debug('[%s] job complete', name) if __name__ == '__main__': # pragma: no cover diff --git a/workflow/notify.py b/workflow/notify.py index 4542c78..a4b7f40 100644 --- a/workflow/notify.py +++ b/workflow/notify.py @@ -11,9 +11,10 @@ # TODO: Exclude this module from test and code coverage in py2.6 """ -Post notifications via the macOS Notification Center. This feature -is only available on Mountain Lion (10.8) and later. It will -silently fail on older systems. +Post notifications via the macOS Notification Center. + +This feature is only available on Mountain Lion (10.8) and later. +It will silently fail on older systems. The main API is a single function, :func:`~workflow.notify.notify`. @@ -198,7 +199,7 @@ def notify(title='', text='', sound=None): env = os.environ.copy() enc = 'utf-8' env['NOTIFY_TITLE'] = title.encode(enc) - env['NOTIFY_MESSAGE'] = text.encode(enc) + env['NOTIFY_MESSAGE'] = text.encode(enc) env['NOTIFY_SOUND'] = sound.encode(enc) cmd = [n] retcode = subprocess.call(cmd, env=env) diff --git a/workflow/update.py b/workflow/update.py index 37569bb..ffc6353 100644 --- a/workflow/update.py +++ b/workflow/update.py @@ -23,6 +23,9 @@ from __future__ import print_function, unicode_literals +from collections import defaultdict +from functools import total_ordering +import json import os import tempfile import re @@ -34,8 +37,8 @@ # __all__ = [] -RELEASES_BASE = 'https://api.github.com/repos/{0}/releases' - +RELEASES_BASE = 'https://api.github.com/repos/{}/releases' +match_workflow = re.compile(r'\.alfred(\d+)?workflow$').search _wf = None @@ -48,6 +51,153 @@ def wf(): return _wf +@total_ordering +class Download(object): + """A workflow file that is available for download. + + .. versionadded: 1.37 + + Attributes: + url (str): URL of workflow file. + filename (str): Filename of workflow file. + version (Version): Semantic version of workflow. + prerelease (bool): Whether version is a pre-release. + alfred_version (Version): Minimum compatible version + of Alfred. + + """ + + @classmethod + def from_dict(cls, d): + """Create a `Download` from a `dict`.""" + return cls(url=d['url'], filename=d['filename'], + version=Version(d['version']), + prerelease=d['prerelease']) + + @classmethod + def from_releases(cls, js): + """Extract downloads from GitHub releases. + + Searches releases with semantic tags for assets with + file extension .alfredworkflow or .alfredXworkflow where + X is a number. + + Files are returned sorted by latest version first. Any + releases containing multiple files with the same (workflow) + extension are rejected as ambiguous. + + Args: + js (str): JSON response from GitHub's releases endpoint. + + Returns: + list: Sequence of `Download`. + """ + releases = json.loads(js) + downloads = [] + for release in releases: + tag = release['tag_name'] + dupes = defaultdict(int) + try: + version = Version(tag) + except ValueError as err: + wf().logger.debug('ignored release: bad version "%s": %s', + tag, err) + continue + + dls = [] + for asset in release.get('assets', []): + url = asset.get('browser_download_url') + filename = os.path.basename(url) + m = match_workflow(filename) + if not m: + wf().logger.debug('unwanted file: %s', filename) + continue + + ext = m.group(0) + dupes[ext] = dupes[ext] + 1 + dls.append(Download(url, filename, version, + release['prerelease'])) + + valid = True + for ext, n in dupes.items(): + if n > 1: + wf().logger.debug('ignored release "%s": multiple assets ' + 'with extension "%s"', tag, ext) + valid = False + break + + if valid: + downloads.extend(dls) + + downloads.sort(reverse=True) + return downloads + + def __init__(self, url, filename, version, prerelease=False): + """Create a new Download. + + Args: + url (str): URL of workflow file. + filename (str): Filename of workflow file. + version (Version): Version of workflow. + prerelease (bool, optional): Whether version is + pre-release. Defaults to False. + + """ + if isinstance(version, basestring): + version = Version(version) + + self.url = url + self.filename = filename + self.version = version + self.prerelease = prerelease + + @property + def alfred_version(self): + """Minimum Alfred version based on filename extension.""" + m = match_workflow(self.filename) + if not m or not m.group(1): + return Version('0') + return Version(m.group(1)) + + @property + def dict(self): + """Convert `Download` to `dict`.""" + return dict(url=self.url, filename=self.filename, + version=str(self.version), prerelease=self.prerelease) + + def __str__(self): + """Format `Download` for printing.""" + u = ('Download(url={dl.url!r}, ' + 'filename={dl.filename!r}, ' + 'version={dl.version!r}, ' + 'prerelease={dl.prerelease!r})'.format(dl=self)) + + return u.encode('utf-8') + + def __repr__(self): + """Code-like representation of `Download`.""" + return str(self) + + def __eq__(self, other): + """Compare Downloads based on version numbers.""" + if self.url != other.url \ + or self.filename != other.filename \ + or self.version != other.version \ + or self.prerelease != other.prerelease: + return False + return True + + def __ne__(self, other): + """Compare Downloads based on version numbers.""" + return not self.__eq__(other) + + def __lt__(self, other): + """Compare Downloads based on version numbers.""" + if self.version != other.version: + return self.version < other.version + return self.alfred_version < other.alfred_version + + class Version(object): """Mostly semantic versioning. @@ -80,6 +230,9 @@ def __init__(self, vstr): Args: vstr (basestring): Semantic version string. """ + if not vstr: + raise ValueError('invalid version number: {!r}'.format(vstr)) + self.vstr = vstr self.major = 0 self.minor = 0 @@ -94,7 +247,7 @@ def _parse(self, vstr): else: m = self.match_version(vstr) if not m: - raise ValueError('invalid version number: {0}'.format(vstr)) + raise ValueError('invalid version number: {!r}'.format(vstr)) version, suffix = m.groups() parts = self._parse_dotted_string(version) @@ -104,7 +257,7 @@ def _parse(self, vstr): if len(parts): self.patch = parts.pop(0) if not len(parts) == 0: - raise ValueError('invalid version (too long) : {0}'.format(vstr)) + raise ValueError('version number too long: {!r}'.format(vstr)) if suffix: # Build info @@ -148,8 +301,8 @@ def __lt__(self, other): return True if other.suffix and not self.suffix: return False - return (self._parse_dotted_string(self.suffix) < - self._parse_dotted_string(other.suffix)) + return self._parse_dotted_string(self.suffix) \ + < self._parse_dotted_string(other.suffix) # t > o return False @@ -193,183 +346,151 @@ def __repr__(self): return "Version('{0}')".format(str(self)) -def download_workflow(url): - """Download workflow at ``url`` to a local temporary file. +def retrieve_download(dl): + """Saves a download to a temporary file and returns path. - :param url: URL to .alfredworkflow file in GitHub repo - :returns: path to downloaded file + .. versionadded: 1.37 - """ - filename = url.split('/')[-1] - - if (not filename.endswith('.alfredworkflow') and - not filename.endswith('.alfred3workflow')): - raise ValueError('attachment not a workflow: {0}'.format(filename)) - - local_path = os.path.join(tempfile.gettempdir(), filename) - - wf().logger.debug( - 'downloading updated workflow from `%s` to `%s` ...', url, local_path) - - response = web.get(url) + Args: + url (unicode): URL to .alfredworkflow file in GitHub repo - with open(local_path, 'wb') as output: - output.write(response.content) - - return local_path - - -def build_api_url(slug): - """Generate releases URL from GitHub slug. - - :param slug: Repo name in form ``username/repo`` - :returns: URL to the API endpoint for the repo's releases + Returns: + unicode: path to downloaded file """ - if len(slug.split('/')) != 2: - raise ValueError('invalid GitHub slug: {0}'.format(slug)) + if not match_workflow(dl.filename): + raise ValueError('attachment not a workflow: ' + dl.filename) - return RELEASES_BASE.format(slug) + path = os.path.join(tempfile.gettempdir(), dl.filename) + wf().logger.debug('downloading update from ' + '%r to %r ...', dl.url, path) + r = web.get(dl.url) + r.raise_for_status() -def _validate_release(release): - """Return release for running version of Alfred.""" - alf3 = wf().alfred_version.major == 3 + r.save_to_path(path) - downloads = {'.alfredworkflow': [], '.alfred3workflow': []} - dl_count = 0 - version = release['tag_name'] + return path - for asset in release.get('assets', []): - url = asset.get('browser_download_url') - if not url: # pragma: nocover - continue - ext = os.path.splitext(url)[1].lower() - if ext not in downloads: - continue - - # Ignore Alfred 3-only files if Alfred 2 is running - if ext == '.alfred3workflow' and not alf3: - continue - - downloads[ext].append(url) - dl_count += 1 - - # download_urls.append(url) +def build_api_url(repo): + """Generate releases URL from GitHub repo. - if dl_count == 0: - wf().logger.warning( - 'invalid release (no workflow file): %s', version) - return None + Args: + repo (unicode): Repo name in form ``username/repo`` - for k in downloads: - if len(downloads[k]) > 1: - wf().logger.warning( - 'invalid release (multiple %s files): %s', k, version) - return None + Returns: + unicode: URL to the API endpoint for the repo's releases - # Prefer .alfred3workflow file if there is one and Alfred 3 is - # running. - if alf3 and len(downloads['.alfred3workflow']): - download_url = downloads['.alfred3workflow'][0] - - else: - download_url = downloads['.alfredworkflow'][0] - - wf().logger.debug('release %s: %s', version, download_url) + """ + if len(repo.split('/')) != 2: + raise ValueError('invalid GitHub repo: {!r}'.format(repo)) - return { - 'version': version, - 'download_url': download_url, - 'prerelease': release['prerelease'] - } + return RELEASES_BASE.format(repo) -def get_valid_releases(github_slug, prereleases=False): - """Return list of all valid releases. +def get_downloads(repo): + """Load available ``Download``s for GitHub repo. - :param github_slug: ``username/repo`` for workflow's GitHub repo - :param prereleases: Whether to include pre-releases. - :returns: list of dicts. Each :class:`dict` has the form - ``{'version': '1.1', 'download_url': 'http://github.com/...', - 'prerelease': False }`` + .. versionadded: 1.37 + Args: + repo (unicode): GitHub repo to load releases for. - A valid release is one that contains one ``.alfredworkflow`` file. + Returns: + list: Sequence of `Download` contained in GitHub releases. + """ + url = build_api_url(repo) - If the GitHub version (i.e. tag) is of the form ``v1.1``, the leading - ``v`` will be stripped. + def _fetch(): + wf().logger.info('retrieving releases for %r ...', repo) + r = web.get(url) + r.raise_for_status() + return r.content - """ - api_url = build_api_url(github_slug) - releases = [] + key = 'github-releases-' + repo.replace('/', '-') + js = wf().cached_data(key, _fetch, max_age=60) - wf().logger.debug('retrieving releases list: %s', api_url) + return Download.from_releases(js) - def retrieve_releases(): - wf().logger.info( - 'retrieving releases: %s', github_slug) - return web.get(api_url).json() - slug = github_slug.replace('/', '-') - for release in wf().cached_data('gh-releases-' + slug, retrieve_releases): +def latest_download(dls, alfred_version=None, prereleases=False): + """Return newest `Download`.""" + alfred_version = alfred_version or os.getenv('alfred_version') + version = None + if alfred_version: + version = Version(alfred_version) - release = _validate_release(release) - if release is None: - wf().logger.debug('invalid release: %r', release) + dls.sort(reverse=True) + for dl in dls: + if dl.prerelease and not prereleases: + wf().logger.debug('ignored prerelease: %s', dl.version) continue - - elif release['prerelease'] and not prereleases: - wf().logger.debug('ignoring prerelease: %s', release['version']) + if version and dl.alfred_version > version: + wf().logger.debug('ignored incompatible (%s > %s): %s', + dl.alfred_version, version, dl.filename) continue - wf().logger.debug('release: %r', release) + wf().logger.debug('latest version: %s (%s)', dl.version, dl.filename) + return dl - releases.append(release) + return None - return releases - -def check_update(github_slug, current_version, prereleases=False): +def check_update(repo, current_version, prereleases=False, + alfred_version=None): """Check whether a newer release is available on GitHub. - :param github_slug: ``username/repo`` for workflow's GitHub repo - :param current_version: the currently installed version of the - workflow. :ref:`Semantic versioning ` is required. - :param prereleases: Whether to include pre-releases. - :type current_version: ``unicode`` - :returns: ``True`` if an update is available, else ``False`` + Args: + repo (unicode): ``username/repo`` for workflow's GitHub repo + current_version (unicode): the currently installed version of the + workflow. :ref:`Semantic versioning ` is required. + prereleases (bool): Whether to include pre-releases. + alfred_version (unicode): version of currently-running Alfred. + if empty, defaults to ``$alfred_version`` environment variable. + + Returns: + bool: ``True`` if an update is available, else ``False`` If an update is available, its version number and download URL will be cached. """ - releases = get_valid_releases(github_slug, prereleases) + key = '__workflow_latest_version' + # data stored when no update is available + no_update = { + 'available': False, + 'download': None, + 'version': None, + } + current = Version(current_version) - if not len(releases): - raise ValueError('no valid releases for %s', github_slug) + dls = get_downloads(repo) + if not len(dls): + wf().logger.warning('no valid downloads for %s', repo) + wf().cache_data(key, no_update) + return False - wf().logger.info('%d releases for %s', len(releases), github_slug) + wf().logger.info('%d download(s) for %s', len(dls), repo) - # GitHub returns releases newest-first - latest_release = releases[0] + dl = latest_download(dls, alfred_version, prereleases) - # (latest_version, download_url) = get_latest_release(releases) - vr = Version(latest_release['version']) - vl = Version(current_version) - wf().logger.debug('latest=%r, installed=%r', vr, vl) - if vr > vl: + if not dl: + wf().logger.warning('no compatible downloads for %s', repo) + wf().cache_data(key, no_update) + return False - wf().cache_data('__workflow_update_status', { - 'version': latest_release['version'], - 'download_url': latest_release['download_url'], - 'available': True - }) + wf().logger.debug('latest=%r, installed=%r', dl.version, current) + if dl.version > current: + wf().cache_data(key, { + 'version': str(dl.version), + 'download': dl.dict, + 'available': True, + }) return True - wf().cache_data('__workflow_update_status', {'available': False}) + wf().cache_data(key, no_update) return False @@ -379,48 +500,68 @@ def install_update(): :returns: ``True`` if an update is installed, else ``False`` """ - update_data = wf().cached_data('__workflow_update_status', max_age=0) + key = '__workflow_latest_version' + # data stored when no update is available + no_update = { + 'available': False, + 'download': None, + 'version': None, + } + status = wf().cached_data(key, max_age=0) - if not update_data or not update_data.get('available'): + if not status or not status.get('available'): wf().logger.info('no update available') return False - local_file = download_workflow(update_data['download_url']) + dl = status.get('download') + if not dl: + wf().logger.info('no download information') + return False + + path = retrieve_download(Download.from_dict(dl)) wf().logger.info('installing updated workflow ...') - subprocess.call(['open', local_file]) + subprocess.call(['open', path]) - update_data['available'] = False - wf().cache_data('__workflow_update_status', update_data) + wf().cache_data(key, no_update) return True if __name__ == '__main__': # pragma: nocover import sys + prereleases = False + def show_help(status=0): """Print help message.""" - print('Usage : update.py (check|install) ' - '[--prereleases] ') + print('usage: update.py (check|install) ' + '[--prereleases] ') sys.exit(status) argv = sys.argv[:] if '-h' in argv or '--help' in argv: show_help() - prereleases = '--prereleases' in argv - - if prereleases: + if '--prereleases' in argv: argv.remove('--prereleases') + prereleases = True if len(argv) != 4: show_help(1) - action, github_slug, version = argv[1:] + action = argv[1] + repo = argv[2] + version = argv[3] - if action == 'check': - check_update(github_slug, version, prereleases) - elif action == 'install': - install_update() - else: - show_help(1) + try: + + if action == 'check': + check_update(repo, version, prereleases) + elif action == 'install': + install_update() + else: + show_help(1) + + except Exception as err: # ensure traceback is in log file + wf().logger.exception(err) + raise err diff --git a/workflow/util.py b/workflow/util.py new file mode 100644 index 0000000..27209d8 --- /dev/null +++ b/workflow/util.py @@ -0,0 +1,552 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# Copyright (c) 2017 Dean Jackson +# +# MIT Licence. See http://opensource.org/licenses/MIT +# +# Created on 2017-12-17 +# + +"""A selection of helper functions useful for building workflows.""" + +from __future__ import print_function, absolute_import + +import atexit +from collections import namedtuple +from contextlib import contextmanager +import errno +import fcntl +import functools +import json +import os +import signal +import subprocess +import sys +from threading import Event +import time + +# JXA scripts to call Alfred's API via the Scripting Bridge +# {app} is automatically replaced with "Alfred 3" or +# "com.runningwithcrayons.Alfred" depending on version. +# +# Open Alfred in search (regular) mode +JXA_SEARCH = "Application({app}).search({arg});" +# Open Alfred's File Actions on an argument +JXA_ACTION = "Application({app}).action({arg});" +# Open Alfred's navigation mode at path +JXA_BROWSE = "Application({app}).browse({arg});" +# Set the specified theme +JXA_SET_THEME = "Application({app}).setTheme({arg});" +# Call an External Trigger +JXA_TRIGGER = "Application({app}).runTrigger({arg}, {opts});" +# Save a variable to the workflow configuration sheet/info.plist +JXA_SET_CONFIG = "Application({app}).setConfiguration({arg}, {opts});" +# Delete a variable from the workflow configuration sheet/info.plist +JXA_UNSET_CONFIG = "Application({app}).removeConfiguration({arg}, {opts});" + + +class AcquisitionError(Exception): + """Raised if a lock cannot be acquired.""" + + +AppInfo = namedtuple('AppInfo', ['name', 'path', 'bundleid']) +"""Information about an installed application. + +Returned by :func:`appinfo`. All attributes are Unicode. + +.. py:attribute:: name + + Name of the application, e.g. ``u'Safari'``. + +.. py:attribute:: path + + Path to the application bundle, e.g. ``u'/Applications/Safari.app'``. + +.. py:attribute:: bundleid + + Application's bundle ID, e.g. ``u'com.apple.Safari'``. + +""" + + +def jxa_app_name(): + """Return name of application to call currently running Alfred. + + .. versionadded: 1.37 + + Returns 'Alfred 3' or 'com.runningwithcrayons.Alfred' depending + on which version of Alfred is running. + + This name is suitable for use with ``Application(name)`` in JXA. + + Returns: + unicode: Application name or ID. + + """ + if os.getenv('alfred_version', '').startswith('3'): + # Alfred 3 + return u'Alfred 3' + # Alfred 4+ + return u'com.runningwithcrayons.Alfred' + + +def unicodify(s, encoding='utf-8', norm=None): + """Ensure string is Unicode. + + .. versionadded:: 1.31 + + Decode encoded strings using ``encoding`` and normalise Unicode + to form ``norm`` if specified. + + Args: + s (str): String to decode. May also be Unicode. + encoding (str, optional): Encoding to use on bytestrings. + norm (None, optional): Normalisation form to apply to Unicode string. + + Returns: + unicode: Decoded, optionally normalised, Unicode string. + + """ + if not isinstance(s, unicode): + s = unicode(s, encoding) + + if norm: + from unicodedata import normalize + s = normalize(norm, s) + + return s + + +def utf8ify(s): + """Ensure string is a bytestring. + + .. versionadded:: 1.31 + + Returns `str` objects unchanced, encodes `unicode` objects to + UTF-8, and calls :func:`str` on anything else. + + Args: + s (object): A Python object + + Returns: + str: UTF-8 string or string representation of s. + + """ + if isinstance(s, str): + return s + + if isinstance(s, unicode): + return s.encode('utf-8') + + return str(s) + + +def applescriptify(s): + """Escape string for insertion into an AppleScript string. + + .. versionadded:: 1.31 + + Replaces ``"`` with `"& quote &"`. Use this function if you want + + to insert a string into an AppleScript script: + >>> query = 'g "python" test' + >>> applescriptify(query) + 'g " & quote & "python" & quote & "test' + + Args: + s (unicode): Unicode string to escape. + + Returns: + unicode: Escaped string + + """ + return s.replace(u'"', u'" & quote & "') + + +def run_command(cmd, **kwargs): + """Run a command and return the output. + + .. versionadded:: 1.31 + + A thin wrapper around :func:`subprocess.check_output` that ensures + all arguments are encoded to UTF-8 first. + + Args: + cmd (list): Command arguments to pass to ``check_output``. + **kwargs: Keyword arguments to pass to ``check_output``. + + Returns: + str: Output returned by ``check_output``. + + """ + cmd = [utf8ify(s) for s in cmd] + return subprocess.check_output(cmd, **kwargs) + + +def run_applescript(script, *args, **kwargs): + """Execute an AppleScript script and return its output. + + .. versionadded:: 1.31 + + Run AppleScript either by filepath or code. If ``script`` is a valid + filepath, that script will be run, otherwise ``script`` is treated + as code. + + Args: + script (str, optional): Filepath of script or code to run. + *args: Optional command-line arguments to pass to the script. + **kwargs: Pass ``lang`` to run a language other than AppleScript. + + Returns: + str: Output of run command. + + """ + lang = 'AppleScript' + if 'lang' in kwargs: + lang = kwargs['lang'] + del kwargs['lang'] + + cmd = ['/usr/bin/osascript', '-l', lang] + + if os.path.exists(script): + cmd += [script] + else: + cmd += ['-e', script] + + cmd.extend(args) + + return run_command(cmd, **kwargs) + + +def run_jxa(script, *args): + """Execute a JXA script and return its output. + + .. versionadded:: 1.31 + + Wrapper around :func:`run_applescript` that passes ``lang=JavaScript``. + + Args: + script (str): Filepath of script or code to run. + *args: Optional command-line arguments to pass to script. + + Returns: + str: Output of script. + + """ + return run_applescript(script, *args, lang='JavaScript') + + +def run_trigger(name, bundleid=None, arg=None): + """Call an Alfred External Trigger. + + .. versionadded:: 1.31 + + If ``bundleid`` is not specified, reads the bundle ID of the current + workflow from Alfred's environment variables. + + Args: + name (str): Name of External Trigger to call. + bundleid (str, optional): Bundle ID of workflow trigger belongs to. + arg (str, optional): Argument to pass to trigger. + + """ + bundleid = bundleid or os.getenv('alfred_workflow_bundleid') + appname = jxa_app_name() + opts = {'inWorkflow': bundleid} + if arg: + opts['withArgument'] = arg + + script = JXA_TRIGGER.format(app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True)) + + run_applescript(script, lang='JavaScript') + + +def set_config(name, value, bundleid=None, exportable=False): + """Set a workflow variable in ``info.plist``. + + .. versionadded:: 1.33 + + Args: + name (str): Name of variable to set. + value (str): Value to set variable to. + bundleid (str, optional): Bundle ID of workflow variable belongs to. + exportable (bool, optional): Whether variable should be marked + as exportable (Don't Export checkbox). + + """ + bundleid = bundleid or os.getenv('alfred_workflow_bundleid') + appname = jxa_app_name() + opts = { + 'toValue': value, + 'inWorkflow': bundleid, + 'exportable': exportable, + } + + script = JXA_SET_CONFIG.format(app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True)) + + run_applescript(script, lang='JavaScript') + + +def unset_config(name, bundleid=None): + """Delete a workflow variable from ``info.plist``. + + .. versionadded:: 1.33 + + Args: + name (str): Name of variable to delete. + bundleid (str, optional): Bundle ID of workflow variable belongs to. + + """ + bundleid = bundleid or os.getenv('alfred_workflow_bundleid') + appname = jxa_app_name() + opts = {'inWorkflow': bundleid} + + script = JXA_UNSET_CONFIG.format(app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True)) + + run_applescript(script, lang='JavaScript') + + +def appinfo(name): + """Get information about an installed application. + + .. versionadded:: 1.31 + + Args: + name (str): Name of application to look up. + + Returns: + AppInfo: :class:`AppInfo` tuple or ``None`` if app isn't found. + + """ + cmd = ['mdfind', '-onlyin', '/Applications', + '-onlyin', os.path.expanduser('~/Applications'), + '(kMDItemContentTypeTree == com.apple.application &&' + '(kMDItemDisplayName == "{0}" || kMDItemFSName == "{0}.app"))' + .format(name)] + + output = run_command(cmd).strip() + if not output: + return None + + path = output.split('\n')[0] + + cmd = ['mdls', '-raw', '-name', 'kMDItemCFBundleIdentifier', path] + bid = run_command(cmd).strip() + if not bid: # pragma: no cover + return None + + return AppInfo(unicodify(name), unicodify(path), unicodify(bid)) + + +@contextmanager +def atomic_writer(fpath, mode): + """Atomic file writer. + + .. versionadded:: 1.12 + + Context manager that ensures the file is only written if the write + succeeds. The data is first written to a temporary file. + + :param fpath: path of file to write to. + :type fpath: ``unicode`` + :param mode: sames as for :func:`open` + :type mode: string + + """ + suffix = '.{}.tmp'.format(os.getpid()) + temppath = fpath + suffix + with open(temppath, mode) as fp: + try: + yield fp + os.rename(temppath, fpath) + finally: + try: + os.remove(temppath) + except (OSError, IOError): + pass + + +class LockFile(object): + """Context manager to protect filepaths with lockfiles. + + .. versionadded:: 1.13 + + Creates a lockfile alongside ``protected_path``. Other ``LockFile`` + instances will refuse to lock the same path. + + >>> path = '/path/to/file' + >>> with LockFile(path): + >>> with open(path, 'wb') as fp: + >>> fp.write(data) + + Args: + protected_path (unicode): File to protect with a lockfile + timeout (float, optional): Raises an :class:`AcquisitionError` + if lock cannot be acquired within this number of seconds. + If ``timeout`` is 0 (the default), wait forever. + delay (float, optional): How often to check (in seconds) if + lock has been released. + + Attributes: + delay (float): How often to check (in seconds) whether the lock + can be acquired. + lockfile (unicode): Path of the lockfile. + timeout (float): How long to wait to acquire the lock. + + """ + + def __init__(self, protected_path, timeout=0.0, delay=0.05): + """Create new :class:`LockFile` object.""" + self.lockfile = protected_path + '.lock' + self._lockfile = None + self.timeout = timeout + self.delay = delay + self._lock = Event() + atexit.register(self.release) + + @property + def locked(self): + """``True`` if file is locked by this instance.""" + return self._lock.is_set() + + def acquire(self, blocking=True): + """Acquire the lock if possible. + + If the lock is in use and ``blocking`` is ``False``, return + ``False``. + + Otherwise, check every :attr:`delay` seconds until it acquires + lock or exceeds attr:`timeout` and raises an :class:`AcquisitionError`. + + """ + if self.locked and not blocking: + return False + + start = time.time() + while True: + # Raise error if we've been waiting too long to acquire the lock + if self.timeout and (time.time() - start) >= self.timeout: + raise AcquisitionError('lock acquisition timed out') + + # If already locked, wait then try again + if self.locked: + time.sleep(self.delay) + continue + + # Create in append mode so we don't lose any contents + if self._lockfile is None: + self._lockfile = open(self.lockfile, 'a') + + # Try to acquire the lock + try: + fcntl.lockf(self._lockfile, fcntl.LOCK_EX | fcntl.LOCK_NB) + self._lock.set() + break + except IOError as err: # pragma: no cover + if err.errno not in (errno.EACCES, errno.EAGAIN): + raise + + # Don't try again + if not blocking: # pragma: no cover + return False + + # Wait, then try again + time.sleep(self.delay) + + return True + + def release(self): + """Release the lock by deleting `self.lockfile`.""" + if not self._lock.is_set(): + return False + + try: + fcntl.lockf(self._lockfile, fcntl.LOCK_UN) + except IOError: # pragma: no cover + pass + finally: + self._lock.clear() + self._lockfile = None + try: + os.unlink(self.lockfile) + except (IOError, OSError): # pragma: no cover + pass + + return True + + def __enter__(self): + """Acquire lock.""" + self.acquire() + return self + + def __exit__(self, typ, value, traceback): + """Release lock.""" + self.release() + + def __del__(self): + """Clear up `self.lockfile`.""" + self.release() # pragma: no cover + + +class uninterruptible(object): + """Decorator that postpones SIGTERM until wrapped function returns. + + .. versionadded:: 1.12 + + .. important:: This decorator is NOT thread-safe. + + As of version 2.7, Alfred allows Script Filters to be killed. If + your workflow is killed in the middle of critical code (e.g. + writing data to disk), this may corrupt your workflow's data. + + Use this decorator to wrap critical functions that *must* complete. + If the script is killed while a wrapped function is executing, + the SIGTERM will be caught and handled after your function has + finished executing. + + Alfred-Workflow uses this internally to ensure its settings, data + and cache writes complete. + + """ + + def __init__(self, func, class_name=''): + """Decorate `func`.""" + self.func = func + functools.update_wrapper(self, func) + self._caught_signal = None + + def signal_handler(self, signum, frame): + """Called when process receives SIGTERM.""" + self._caught_signal = (signum, frame) + + def __call__(self, *args, **kwargs): + """Trap ``SIGTERM`` and call wrapped function.""" + self._caught_signal = None + # Register handler for SIGTERM, then call `self.func` + self.old_signal_handler = signal.getsignal(signal.SIGTERM) + signal.signal(signal.SIGTERM, self.signal_handler) + + self.func(*args, **kwargs) + + # Restore old signal handler + signal.signal(signal.SIGTERM, self.old_signal_handler) + + # Handle any signal caught during execution + if self._caught_signal is not None: + signum, frame = self._caught_signal + if callable(self.old_signal_handler): + self.old_signal_handler(signum, frame) + elif self.old_signal_handler == signal.SIG_DFL: + sys.exit(0) + + def __get__(self, obj=None, klass=None): + """Decorator API.""" + return self.__class__(self.func.__get__(obj, klass), + klass.__name__) diff --git a/workflow/version b/workflow/version index ec8f6a3..a537514 100644 --- a/workflow/version +++ b/workflow/version @@ -1 +1 @@ -1.27 \ No newline at end of file +1.37.1 \ No newline at end of file diff --git a/workflow/web.py b/workflow/web.py index d64bb6f..0781911 100644 --- a/workflow/web.py +++ b/workflow/web.py @@ -24,7 +24,7 @@ import zlib -USER_AGENT = u'Alfred-Workflow/1.19 (+http://www.deanishe.net/alfred-workflow)' +USER_AGENT = u'Alfred-Workflow/1.36 (+http://www.deanishe.net/alfred-workflow)' # Valid characters for multipart form data boundaries BOUNDARY_CHARS = string.digits + string.ascii_letters @@ -100,6 +100,7 @@ class NoRedirectHandler(urllib2.HTTPRedirectHandler): """Prevent redirections.""" def redirect_request(self, *args): + """Ignore redirect.""" return None @@ -136,6 +137,7 @@ def __setitem__(self, key, value): return dict.__setitem__(self, key.lower(), {'key': key, 'val': value}) def get(self, key, default=None): + """Return value for case-insensitive key or default.""" try: v = dict.__getitem__(self, key.lower()) except KeyError: @@ -144,27 +146,34 @@ def get(self, key, default=None): return v['val'] def update(self, other): + """Update values from other ``dict``.""" for k, v in other.items(): self[k] = v def items(self): + """Return ``(key, value)`` pairs.""" return [(v['key'], v['val']) for v in dict.itervalues(self)] def keys(self): + """Return original keys.""" return [v['key'] for v in dict.itervalues(self)] def values(self): + """Return all values.""" return [v['val'] for v in dict.itervalues(self)] def iteritems(self): + """Iterate over ``(key, value)`` pairs.""" for v in dict.itervalues(self): yield v['key'], v['val'] def iterkeys(self): + """Iterate over original keys.""" for v in dict.itervalues(self): yield v['key'] def itervalues(self): + """Interate over values.""" for v in dict.itervalues(self): yield v['val'] @@ -240,8 +249,8 @@ def __init__(self, request, stream=False): # Transfer-Encoding appears to not be used in the wild # (contrary to the HTTP standard), but no harm in testing # for it - if ('gzip' in headers.get('content-encoding', '') or - 'gzip' in headers.get('transfer-encoding', '')): + if 'gzip' in headers.get('content-encoding', '') or \ + 'gzip' in headers.get('transfer-encoding', ''): self._gzipped = True @property @@ -250,6 +259,7 @@ def stream(self): Returns: bool: `True` if response is streamed. + """ return self._stream @@ -343,20 +353,18 @@ def iter_content(self, chunk_size=4096, decode_unicode=False): "`content` has already been read from this Response.") def decode_stream(iterator, r): - - decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') + dec = codecs.getincrementaldecoder(r.encoding)(errors='replace') for chunk in iterator: - data = decoder.decode(chunk) + data = dec.decode(chunk) if data: yield data - data = decoder.decode(b'', final=True) + data = dec.decode(b'', final=True) if data: # pragma: no cover yield data def generate(): - if self._gzipped: decoder = zlib.decompressobj(16 + zlib.MAX_WBITS) @@ -427,15 +435,15 @@ def _get_encoding(self): if not self.stream: # Try sniffing response content # Encoding declared in document should override HTTP headers if self.mimetype == 'text/html': # sniff HTML headers - m = re.search("""""", + m = re.search(r"""""", self.content) if m: encoding = m.group(1) - elif ((self.mimetype.startswith('application/') or - self.mimetype.startswith('text/')) and - 'xml' in self.mimetype): - m = re.search("""]*\?>""", + elif ((self.mimetype.startswith('application/') + or self.mimetype.startswith('text/')) + and 'xml' in self.mimetype): + m = re.search(r"""]*\?>""", self.content) if m: encoding = m.group(1) @@ -628,7 +636,6 @@ def get_content_type(filename): :rtype: str """ - return mimetypes.guess_type(filename)[0] or 'application/octet-stream' boundary = '-----' + ''.join(random.choice(BOUNDARY_CHARS) diff --git a/workflow/workflow.py b/workflow/workflow.py index 0d2dc4e..2a057b0 100644 --- a/workflow/workflow.py +++ b/workflow/workflow.py @@ -21,12 +21,9 @@ from __future__ import print_function, unicode_literals -import atexit import binascii -from contextlib import contextmanager import cPickle from copy import deepcopy -import errno import json import logging import logging.handlers @@ -35,7 +32,6 @@ import plistlib import re import shutil -import signal import string import subprocess import sys @@ -47,6 +43,13 @@ except ImportError: # pragma: no cover import xml.etree.ElementTree as ET +# imported to maintain API +from util import AcquisitionError # noqa: F401 +from util import ( + atomic_writer, + LockFile, + uninterruptible, +) #: Sentinel for properties that haven't been set yet (that might #: correctly have the value ``None``) @@ -443,12 +446,9 @@ #################################################################### -# Lockfile and Keychain access errors +# Keychain access errors #################################################################### -class AcquisitionError(Exception): - """Raised if a lock cannot be acquired.""" - class KeychainError(Exception): """Raised for unknown Keychain errors. @@ -799,205 +799,6 @@ def elem(self): return root -class LockFile(object): - """Context manager to protect filepaths with lockfiles. - - .. versionadded:: 1.13 - - Creates a lockfile alongside ``protected_path``. Other ``LockFile`` - instances will refuse to lock the same path. - - >>> path = '/path/to/file' - >>> with LockFile(path): - >>> with open(path, 'wb') as fp: - >>> fp.write(data) - - Args: - protected_path (unicode): File to protect with a lockfile - timeout (int, optional): Raises an :class:`AcquisitionError` - if lock cannot be acquired within this number of seconds. - If ``timeout`` is 0 (the default), wait forever. - delay (float, optional): How often to check (in seconds) if - lock has been released. - - """ - - def __init__(self, protected_path, timeout=0, delay=0.05): - """Create new :class:`LockFile` object.""" - self.lockfile = protected_path + '.lock' - self.timeout = timeout - self.delay = delay - self._locked = False - atexit.register(self.release) - - @property - def locked(self): - """`True` if file is locked by this instance.""" - return self._locked - - def acquire(self, blocking=True): - """Acquire the lock if possible. - - If the lock is in use and ``blocking`` is ``False``, return - ``False``. - - Otherwise, check every `self.delay` seconds until it acquires - lock or exceeds `self.timeout` and raises an `~AcquisitionError`. - - """ - start = time.time() - while True: - - self._validate_lockfile() - - try: - fd = os.open(self.lockfile, os.O_CREAT | os.O_EXCL | os.O_RDWR) - with os.fdopen(fd, 'w') as fd: - fd.write(str(os.getpid())) - break - except OSError as err: - if err.errno != errno.EEXIST: # pragma: no cover - raise - - if self.timeout and (time.time() - start) >= self.timeout: - raise AcquisitionError('lock acquisition timed out') - if not blocking: - return False - time.sleep(self.delay) - - self._locked = True - return True - - def _validate_lockfile(self): - """Check existence and validity of lockfile. - - If the lockfile exists, but contains an invalid PID - or the PID of a non-existant process, it is removed. - - """ - try: - with open(self.lockfile) as fp: - s = fp.read() - except Exception: - return - - try: - pid = int(s) - except ValueError: - return self.release() - - from background import _process_exists - if not _process_exists(pid): - self.release() - - def release(self): - """Release the lock by deleting `self.lockfile`.""" - self._locked = False - try: - os.unlink(self.lockfile) - except (OSError, IOError) as err: # pragma: no cover - if err.errno != 2: - raise err - - def __enter__(self): - """Acquire lock.""" - self.acquire() - return self - - def __exit__(self, typ, value, traceback): - """Release lock.""" - self.release() - - def __del__(self): - """Clear up `self.lockfile`.""" - if self._locked: # pragma: no cover - self.release() - - -@contextmanager -def atomic_writer(file_path, mode): - """Atomic file writer. - - .. versionadded:: 1.12 - - Context manager that ensures the file is only written if the write - succeeds. The data is first written to a temporary file. - - :param file_path: path of file to write to. - :type file_path: ``unicode`` - :param mode: sames as for :func:`open` - :type mode: string - - """ - temp_suffix = '.aw.temp' - temp_file_path = file_path + temp_suffix - with open(temp_file_path, mode) as file_obj: - try: - yield file_obj - os.rename(temp_file_path, file_path) - finally: - try: - os.remove(temp_file_path) - except (OSError, IOError): - pass - - -class uninterruptible(object): - """Decorator that postpones SIGTERM until wrapped function returns. - - .. versionadded:: 1.12 - - .. important:: This decorator is NOT thread-safe. - - As of version 2.7, Alfred allows Script Filters to be killed. If - your workflow is killed in the middle of critical code (e.g. - writing data to disk), this may corrupt your workflow's data. - - Use this decorator to wrap critical functions that *must* complete. - If the script is killed while a wrapped function is executing, - the SIGTERM will be caught and handled after your function has - finished executing. - - Alfred-Workflow uses this internally to ensure its settings, data - and cache writes complete. - - """ - - def __init__(self, func, class_name=''): - """Decorate `func`.""" - self.func = func - self._caught_signal = None - - def signal_handler(self, signum, frame): - """Called when process receives SIGTERM.""" - self._caught_signal = (signum, frame) - - def __call__(self, *args, **kwargs): - """Trap ``SIGTERM`` and call wrapped function.""" - self._caught_signal = None - # Register handler for SIGTERM, then call `self.func` - self.old_signal_handler = signal.getsignal(signal.SIGTERM) - signal.signal(signal.SIGTERM, self.signal_handler) - - self.func(*args, **kwargs) - - # Restore old signal handler - signal.signal(signal.SIGTERM, self.old_signal_handler) - - # Handle any signal caught during execution - if self._caught_signal is not None: - signum, frame = self._caught_signal - if callable(self.old_signal_handler): - self.old_signal_handler(signum, frame) - elif self.old_signal_handler == signal.SIG_DFL: - sys.exit(0) - - def __get__(self, obj=None, klass=None): - """Decorator API.""" - return self.__class__(self.func.__get__(obj, klass), - klass.__name__) - - class Settings(dict): """A dictionary that saves itself when changed. @@ -1031,13 +832,15 @@ def __init__(self, filepath, defaults=None): def _load(self): """Load cached settings from JSON file `self._filepath`.""" + data = {} + with LockFile(self._filepath, 0.5): + with open(self._filepath, 'rb') as fp: + data.update(json.load(fp)) + + self._original = deepcopy(data) + self._nosave = True - d = {} - with open(self._filepath, 'rb') as file_obj: - for key, value in json.load(file_obj, encoding='utf-8').items(): - d[key] = value - self.update(d) - self._original = deepcopy(d) + self.update(data) self._nosave = False @uninterruptible @@ -1050,13 +853,13 @@ def save(self): """ if self._nosave: return + data = {} data.update(self) - # for key, value in self.items(): - # data[key] = value - with LockFile(self._filepath): - with atomic_writer(self._filepath, 'wb') as file_obj: - json.dump(data, file_obj, sort_keys=True, indent=2, + + with LockFile(self._filepath, 0.5): + with atomic_writer(self._filepath, 'wb') as fp: + json.dump(data, fp, sort_keys=True, indent=2, encoding='utf-8') # dict methods @@ -1090,9 +893,9 @@ class Workflow(object): storing & caching data, using Keychain, and generating Script Filter feedback. - ``Workflow`` is compatible with both Alfred 2 and 3. The - :class:`~workflow.Workflow3` subclass provides additional, - Alfred 3-only features, such as workflow variables. + ``Workflow`` is compatible with Alfred 2+. Subclass + :class:`~workflow.Workflow3` provides additional features, + only available in Alfred 3+, such as workflow variables. :param default_settings: default workflow settings. If no settings file exists, :class:`Workflow.settings` will be pre-populated with @@ -1163,8 +966,9 @@ def __init__(self, default_settings=None, update_settings=None, self._last_version_run = UNSET # Cache for regex patterns created for filter keys self._search_pattern_cache = {} - # Magic arguments - #: The prefix for all magic arguments. Default is ``workflow:`` + #: Prefix for all magic arguments. + #: The default value is ``workflow:`` so keyword + #: ``config`` would match user query ``workflow:config``. self.magic_prefix = 'workflow:' #: Mapping of available magic arguments. The built-in magic #: arguments are registered by default. To add your own magic arguments @@ -1248,31 +1052,30 @@ def alfred_env(self): data = {} for key in ( - 'alfred_debug', - 'alfred_preferences', - 'alfred_preferences_localhash', - 'alfred_theme', - 'alfred_theme_background', - 'alfred_theme_subtext', - 'alfred_version', - 'alfred_version_build', - 'alfred_workflow_bundleid', - 'alfred_workflow_cache', - 'alfred_workflow_data', - 'alfred_workflow_name', - 'alfred_workflow_uid', - 'alfred_workflow_version'): - - value = os.getenv(key) - - if isinstance(value, str): - if key in ('alfred_debug', 'alfred_version_build', - 'alfred_theme_subtext'): + 'debug', + 'preferences', + 'preferences_localhash', + 'theme', + 'theme_background', + 'theme_subtext', + 'version', + 'version_build', + 'workflow_bundleid', + 'workflow_cache', + 'workflow_data', + 'workflow_name', + 'workflow_uid', + 'workflow_version'): + + value = os.getenv('alfred_' + key, '') + + if value: + if key in ('debug', 'version_build', 'theme_subtext'): value = int(value) else: value = self.decode(value) - data[key[7:]] = value + data[key] = value self._alfred_env = data @@ -1309,12 +1112,7 @@ def debugging(self): :rtype: ``bool`` """ - if self._debugging is None: - if self.alfred_env.get('debug') == 1: - self._debugging = True - else: - self._debugging = False - return self._debugging + return self.alfred_env.get('debug') == 1 @property def name(self): @@ -1423,14 +1221,18 @@ def cachedir(self): """Path to workflow's cache directory. The cache directory is a subdirectory of Alfred's own cache directory - in ``~/Library/Caches``. The full path is: + in ``~/Library/Caches``. The full path is in Alfred 4+ is: + + ``~/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/`` + + For earlier versions: ``~/Library/Caches/com.runningwithcrayons.Alfred-X/Workflow Data/`` - ``Alfred-X`` may be ``Alfred-2`` or ``Alfred-3``. + where ``Alfred-X`` may be ``Alfred-2`` or ``Alfred-3``. - :returns: full path to workflow's cache directory - :rtype: ``unicode`` + Returns: + unicode: full path to workflow's cache directory """ if self.alfred_env.get('workflow_cache'): @@ -1455,12 +1257,18 @@ def datadir(self): """Path to workflow's data directory. The data directory is a subdirectory of Alfred's own data directory in - ``~/Library/Application Support``. The full path is: + ``~/Library/Application Support``. The full path for Alfred 4+ is: - ``~/Library/Application Support/Alfred 2/Workflow Data/`` + ``~/Library/Application Support/Alfred/Workflow Data/`` - :returns: full path to workflow data directory - :rtype: ``unicode`` + For earlier versions, the path is: + + ``~/Library/Application Support/Alfred X/Workflow Data/`` + + where ``Alfred X` is ``Alfred 2`` or ``Alfred 3``. + + Returns: + unicode: full path to workflow data directory """ if self.alfred_env.get('workflow_data'): @@ -1482,8 +1290,8 @@ def _default_datadir(self): def workflowdir(self): """Path to workflow's root directory (where ``info.plist`` is). - :returns: full path to workflow root directory - :rtype: ``unicode`` + Returns: + unicode: full path to workflow root directory """ if not self._workflowdir: @@ -1586,9 +1394,12 @@ def logger(self): return self._logger # Initialise new logger and optionally handlers - logger = logging.getLogger('workflow') + logger = logging.getLogger('') - if not len(logger.handlers): # Only add one set of handlers + # Only add one set of handlers + # Exclude from coverage, as pytest will have configured the + # root logger already + if not len(logger.handlers): # pragma: no cover fmt = logging.Formatter( '%(asctime)s %(filename)s:%(lineno)s' @@ -1959,10 +1770,8 @@ def filter(self, query, items, key=lambda x: x, ascending=False, ``query`` is case-insensitive. Any item that does not contain the entirety of ``query`` is rejected. - .. warning:: - - If ``query`` is an empty string or contains only whitespace, - a :class:`ValueError` will be raised. + If ``query`` is an empty string or contains only whitespace, + all items will match. :param query: query to test items against :type query: ``unicode`` @@ -2055,13 +1864,13 @@ def filter(self, query, items, key=lambda x: x, ascending=False, """ if not query: - raise ValueError('Empty `query`') + return items # Remove preceding/trailing spaces query = query.strip() if not query: - raise ValueError('`query` contains only whitespace') + return items # Use user override if there is one fold_diacritics = self.settings.get('__workflow_diacritic_folding', @@ -2241,18 +2050,22 @@ def run(self, func, text_errors=False): """ start = time.time() + # Write to debugger to ensure "real" output starts on a new line + print('.', file=sys.stderr) + # Call workflow's entry function/method within a try-except block # to catch any errors and display an error message in Alfred try: - if self.version: - self.logger.debug('workflow version: %s', self.version) + self.logger.debug('---------- %s (%s) ----------', + self.name, self.version) + else: + self.logger.debug('---------- %s ----------', self.name) # Run update check if configured for self-updates. # This call has to go in the `run` try-except block, as it will # initialise `self.settings`, which will raise an exception # if `settings.json` isn't valid. - if self._update_settings: self.check_update() @@ -2275,7 +2088,7 @@ def run(self, func, text_errors=False): self._items = [] if self._name: name = self._name - elif self._bundleid: + elif self._bundleid: # pragma: no cover name = self._bundleid else: # pragma: no cover name = os.path.dirname(__file__) @@ -2286,7 +2099,7 @@ def run(self, func, text_errors=False): return 1 finally: - self.logger.debug('workflow finished in %0.3f seconds', + self.logger.debug('---------- finished in %0.3fs ----------', time.time() - start) return 0 @@ -2454,17 +2267,16 @@ def update_available(self): :returns: ``True`` if an update is available, else ``False`` """ + key = '__workflow_latest_version' # Create a new workflow object to ensure standard serialiser # is used (update.py is called without the user's settings) - update_data = Workflow().cached_data('__workflow_update_status', - max_age=0) - - self.logger.debug('update_data: %r', update_data) + status = Workflow().cached_data(key, max_age=0) - if not update_data or not update_data.get('available'): + # self.logger.debug('update status: %r', status) + if not status or not status.get('available'): return False - return update_data['available'] + return status['available'] @property def prereleases(self): @@ -2497,6 +2309,7 @@ def check_update(self, force=False): :type force: ``Boolean`` """ + key = '__workflow_latest_version' frequency = self._update_settings.get('frequency', DEFAULT_UPDATE_FREQUENCY) @@ -2505,10 +2318,9 @@ def check_update(self, force=False): return # Check for new version if it's time - if (force or not self.cached_data_fresh( - '__workflow_update_status', frequency * 86400)): + if (force or not self.cached_data_fresh(key, frequency * 86400)): - github_slug = self._update_settings['github_slug'] + repo = self._update_settings['github_slug'] # version = self._update_settings['version'] version = str(self.version) @@ -2518,18 +2330,17 @@ def check_update(self, force=False): update_script = os.path.join(os.path.dirname(__file__), b'update.py') - cmd = ['/usr/bin/python', update_script, 'check', github_slug, - version] + cmd = ['/usr/bin/python', update_script, 'check', repo, version] if self.prereleases: cmd.append('--prereleases') - self.logger.info('Checking for update ...') + self.logger.info('checking for update ...') run_in_background('__workflow_update_check', cmd) else: - self.logger.debug('Update check not due') + self.logger.debug('update check not due') def start_update(self): """Check for update and download and install new workflow file. @@ -2545,11 +2356,11 @@ def start_update(self): """ import update - github_slug = self._update_settings['github_slug'] + repo = self._update_settings['github_slug'] # version = self._update_settings['version'] version = str(self.version) - if not update.check_update(github_slug, version, self.prereleases): + if not update.check_update(repo, version, self.prereleases): return False from background import run_in_background @@ -2558,13 +2369,12 @@ def start_update(self): update_script = os.path.join(os.path.dirname(__file__), b'update.py') - cmd = ['/usr/bin/python', update_script, 'install', github_slug, - version] + cmd = ['/usr/bin/python', update_script, 'install', repo, version] if self.prereleases: cmd.append('--prereleases') - self.logger.debug('Downloading update ...') + self.logger.debug('downloading update ...') run_in_background('__workflow_update_install', cmd) return True @@ -2598,14 +2408,14 @@ def save_password(self, account, password, service=None): try: self._call_security('add-generic-password', service, account, '-w', password) - self.logger.debug('Saved password : %s:%s', service, account) + self.logger.debug('saved password : %s:%s', service, account) except PasswordExists: - self.logger.debug('Password exists : %s:%s', service, account) + self.logger.debug('password exists : %s:%s', service, account) current_password = self.get_password(account, service) if current_password == password: - self.logger.debug('Password unchanged') + self.logger.debug('password unchanged') else: self.delete_password(account, service) @@ -2648,7 +2458,7 @@ def get_password(self, account, service=None): if h: password = unicode(binascii.unhexlify(h), 'utf-8') - self.logger.debug('Got password : %s:%s', service, account) + self.logger.debug('got password : %s:%s', service, account) return password @@ -2670,7 +2480,7 @@ def delete_password(self, account, service=None): self._call_security('delete-generic-password', service, account) - self.logger.debug('Deleted password : %s:%s', service, account) + self.logger.debug('deleted password : %s:%s', service, account) #################################################################### # Methods for workflow:* magic args @@ -2773,7 +2583,7 @@ def list_magic(): for name in sorted(self.magic_arguments.keys()): if name == 'magic': continue - arg = '{0}{1}'.format(self.magic_prefix, name) + arg = self.magic_prefix + name self.logger.debug(arg) if not isatty: @@ -2814,7 +2624,7 @@ def clear_settings(self): """Delete workflow's :attr:`settings_path`.""" if os.path.exists(self.settings_path): os.unlink(self.settings_path) - self.logger.debug('Deleted : %r', self.settings_path) + self.logger.debug('deleted : %r', self.settings_path) def reset(self): """Delete workflow settings, cache and data. @@ -2951,7 +2761,7 @@ def _delete_directory_contents(self, dirpath, filter_func): shutil.rmtree(path) else: os.unlink(path) - self.logger.debug('Deleted : %r', path) + self.logger.debug('deleted : %r', path) def _load_info_plist(self): """Load workflow info from ``info.plist``.""" diff --git a/workflow/workflow3.py b/workflow/workflow3.py index cfd580f..b92c4be 100644 --- a/workflow/workflow3.py +++ b/workflow/workflow3.py @@ -7,11 +7,11 @@ # Created on 2016-06-25 # -"""An Alfred 3-only version of :class:`~workflow.Workflow`. +"""An Alfred 3+ version of :class:`~workflow.Workflow`. -:class:`~workflow.Workflow3` supports Alfred 3's new features, such as +:class:`~workflow.Workflow3` supports new features, such as setting :ref:`workflow-variables` and -:class:`the more advanced modifiers ` supported by Alfred 3. +:class:`the more advanced modifiers ` supported by Alfred 3+. In order for the feedback mechanism to work correctly, it's important to create :class:`Item3` and :class:`Modifier` objects via the @@ -29,7 +29,7 @@ import os import sys -from .workflow import Workflow +from .workflow import ICON_WARNING, Workflow class Variables(dict): @@ -250,19 +250,19 @@ def _icon(self): class Item3(object): - """Represents a feedback item for Alfred 3. + """Represents a feedback item for Alfred 3+. Generates Alfred-compliant JSON for a single item. Don't use this class directly (as it then won't be associated with - any :class:`Workflow3` object), but rather use + any :class:`Workflow3 ` object), but rather use :meth:`Workflow3.add_item() `. See :meth:`~workflow.Workflow3.add_item` for details of arguments. """ def __init__(self, title, subtitle='', arg=None, autocomplete=None, - valid=False, uid=None, icon=None, icontype=None, + match=None, valid=False, uid=None, icon=None, icontype=None, type=None, largetext=None, copytext=None, quicklookurl=None): """Create a new :class:`Item3` object. @@ -276,6 +276,7 @@ def __init__(self, title, subtitle='', arg=None, autocomplete=None, self.subtitle = subtitle self.arg = arg self.autocomplete = autocomplete + self.match = match self.valid = valid self.uid = uid self.icon = icon @@ -333,8 +334,8 @@ def add_modifier(self, key, subtitle=None, arg=None, valid=None, icon=None, """ mod = Modifier(key, subtitle, arg, valid, icon, icontype) - for k in self.variables: - mod.setvar(k, self.variables[k]) + # Add Item variables to Modifier + mod.variables.update(self.variables) self.modifiers[key] = mod @@ -362,6 +363,9 @@ def obj(self): if self.autocomplete is not None: o['autocomplete'] = self.autocomplete + if self.match is not None: + o['match'] = self.match + if self.uid is not None: o['uid'] = self.uid @@ -443,10 +447,10 @@ def _modifiers(self): class Workflow3(Workflow): - """Workflow class that generates Alfred 3 feedback. + """Workflow class that generates Alfred 3+ feedback. - ``Workflow3`` is a subclass of :class:`~workflow.Workflow` and - most of its methods are documented there. + It is a subclass of :class:`~workflow.Workflow` and most of its + methods are documented there. Attributes: item_class (class): Class used to generate feedback items. @@ -465,22 +469,25 @@ def __init__(self, **kwargs): Workflow.__init__(self, **kwargs) self.variables = {} self._rerun = 0 - self._session_id = None + # Get session ID from environment if present + self._session_id = os.getenv('_WF_SESSION_ID') or None + if self._session_id: + self.setvar('_WF_SESSION_ID', self._session_id) @property def _default_cachedir(self): - """Alfred 3's default cache directory.""" + """Alfred 4's default cache directory.""" return os.path.join( os.path.expanduser( - '~/Library/Caches/com.runningwithcrayons.Alfred-3/' + '~/Library/Caches/com.runningwithcrayons.Alfred/' 'Workflow Data/'), self.bundleid) @property def _default_datadir(self): - """Alfred 3's default data directory.""" + """Alfred 4's default data directory.""" return os.path.join(os.path.expanduser( - '~/Library/Application Support/Alfred 3/Workflow Data/'), + '~/Library/Application Support/Alfred/Workflow Data/'), self.bundleid) @property @@ -509,19 +516,17 @@ def session_id(self): """ if not self._session_id: - sid = os.getenv('_WF_SESSION_ID') - if not sid: - from uuid import uuid4 - sid = uuid4().hex - self.setvar('_WF_SESSION_ID', sid) - - self._session_id = sid + from uuid import uuid4 + self._session_id = uuid4().hex + self.setvar('_WF_SESSION_ID', self._session_id) return self._session_id - def setvar(self, name, value): + def setvar(self, name, value, persist=False): """Set a "global" workflow variable. + .. versionchanged:: 1.33 + These variables are always passed to downstream workflow objects. If you have set :attr:`rerun`, these variables are also passed @@ -530,9 +535,15 @@ def setvar(self, name, value): Args: name (unicode): Name of variable. value (unicode): Value of variable. + persist (bool, optional): Also save variable to ``info.plist``? """ self.variables[name] = value + if persist: + from .util import set_config + set_config(name, value, self.bundleid) + self.logger.debug('saved variable %r with value %r to info.plist', + name, value) def getvar(self, name, default=None): """Return value of workflow variable for ``name`` or ``default``. @@ -548,12 +559,17 @@ def getvar(self, name, default=None): return self.variables.get(name, default) def add_item(self, title, subtitle='', arg=None, autocomplete=None, - valid=False, uid=None, icon=None, icontype=None, - type=None, largetext=None, copytext=None, quicklookurl=None): + valid=False, uid=None, icon=None, icontype=None, type=None, + largetext=None, copytext=None, quicklookurl=None, match=None): """Add an item to be output to Alfred. - See :meth:`Workflow.add_item() ` for the - main documentation. + Args: + match (unicode, optional): If you have "Alfred filters results" + turned on for your Script Filter, Alfred (version 3.5 and + above) will filter against this field, not ``title``. + + See :meth:`Workflow.add_item() ` for + the main documentation and other parameters. The key difference is that this method does not support the ``modifier_subtitles`` argument. Use the :meth:`~Item3.add_modifier()` @@ -563,10 +579,13 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, Item3: Alfred feedback item. """ - item = self.item_class(title, subtitle, arg, - autocomplete, valid, uid, icon, icontype, type, + item = self.item_class(title, subtitle, arg, autocomplete, + match, valid, uid, icon, icontype, type, largetext, copytext, quicklookurl) + # Add variables to child item + item.variables.update(self.variables) + self._items.append(item) return item @@ -577,7 +596,7 @@ def _session_prefix(self): def _mk_session_name(self, name): """New cache name/key based on session ID.""" - return '{0}{1}'.format(self._session_prefix, name) + return self._session_prefix + name def cache_data(self, name, data, session=False): """Cache API with session-scoped expiry. @@ -670,6 +689,32 @@ def obj(self): o['rerun'] = self.rerun return o + def warn_empty(self, title, subtitle=u'', icon=None): + """Add a warning to feedback if there are no items. + + .. versionadded:: 1.31 + + Add a "warning" item to Alfred feedback if no other items + have been added. This is a handy shortcut to prevent Alfred + from showing its fallback searches, which is does if no + items are returned. + + Args: + title (unicode): Title of feedback item. + subtitle (unicode, optional): Subtitle of feedback item. + icon (str, optional): Icon for feedback item. If not + specified, ``ICON_WARNING`` is used. + + Returns: + Item3: Newly-created item. + + """ + if len(self._items): + return + + icon = icon or ICON_WARNING + return self.add_item(title, subtitle, icon=icon) + def send_feedback(self): """Print stored items to console/Alfred as JSON.""" json.dump(self.obj, sys.stdout) diff --git a/wrapt/__init__.py b/wrapt/__init__.py new file mode 100644 index 0000000..ce87412 --- /dev/null +++ b/wrapt/__init__.py @@ -0,0 +1,16 @@ +__version_info__ = ('1', '11', '1') +__version__ = '.'.join(__version_info__) + +from .wrappers import (ObjectProxy, CallableObjectProxy, FunctionWrapper, + BoundFunctionWrapper, WeakFunctionProxy, PartialCallableObjectProxy, + resolve_path, apply_patch, wrap_object, wrap_object_attribute, + function_wrapper, wrap_function_wrapper, patch_function_wrapper, + transient_function_wrapper) + +from .decorators import (adapter_factory, AdapterFactory, decorator, + synchronized) + +from .importer import (register_post_import_hook, when_imported, + notify_module_loaded, discover_post_import_hooks) + +from inspect import getcallargs diff --git a/wrapt/decorators.py b/wrapt/decorators.py new file mode 100644 index 0000000..9b569f8 --- /dev/null +++ b/wrapt/decorators.py @@ -0,0 +1,511 @@ +"""This module implements decorators for implementing other decorators +as well as some commonly used decorators. + +""" + +import sys + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +if PY3: + string_types = str, + + import builtins + exec_ = getattr(builtins, "exec") + del builtins + +else: + string_types = basestring, + + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + +from functools import partial +from inspect import ismethod, isclass, formatargspec +from collections import namedtuple +from threading import Lock, RLock + +try: + from inspect import signature +except ImportError: + pass + +from .wrappers import (FunctionWrapper, BoundFunctionWrapper, ObjectProxy, + CallableObjectProxy) + +# Adapter wrapper for the wrapped function which will overlay certain +# properties from the adapter function onto the wrapped function so that +# functions such as inspect.getargspec(), inspect.getfullargspec(), +# inspect.signature() and inspect.getsource() return the correct results +# one would expect. + +class _AdapterFunctionCode(CallableObjectProxy): + + def __init__(self, wrapped_code, adapter_code): + super(_AdapterFunctionCode, self).__init__(wrapped_code) + self._self_adapter_code = adapter_code + + @property + def co_argcount(self): + return self._self_adapter_code.co_argcount + + @property + def co_code(self): + return self._self_adapter_code.co_code + + @property + def co_flags(self): + return self._self_adapter_code.co_flags + + @property + def co_kwonlyargcount(self): + return self._self_adapter_code.co_kwonlyargcount + + @property + def co_varnames(self): + return self._self_adapter_code.co_varnames + +class _AdapterFunctionSurrogate(CallableObjectProxy): + + def __init__(self, wrapped, adapter): + super(_AdapterFunctionSurrogate, self).__init__(wrapped) + self._self_adapter = adapter + + @property + def __code__(self): + return _AdapterFunctionCode(self.__wrapped__.__code__, + self._self_adapter.__code__) + + @property + def __defaults__(self): + return self._self_adapter.__defaults__ + + @property + def __kwdefaults__(self): + return self._self_adapter.__kwdefaults__ + + @property + def __signature__(self): + if 'signature' not in globals(): + return self._self_adapter.__signature__ + else: + # Can't allow this to fail on Python 3 else it falls + # through to using __wrapped__, but that will be the + # wrong function we want to derive the signature + # from. Thus generate the signature ourselves. + + return signature(self._self_adapter) + + if PY2: + func_code = __code__ + func_defaults = __defaults__ + +class _BoundAdapterWrapper(BoundFunctionWrapper): + + @property + def __func__(self): + return _AdapterFunctionSurrogate(self.__wrapped__.__func__, + self._self_parent._self_adapter) + + if PY2: + im_func = __func__ + +class AdapterWrapper(FunctionWrapper): + + __bound_function_wrapper__ = _BoundAdapterWrapper + + def __init__(self, *args, **kwargs): + adapter = kwargs.pop('adapter') + super(AdapterWrapper, self).__init__(*args, **kwargs) + self._self_surrogate = _AdapterFunctionSurrogate( + self.__wrapped__, adapter) + self._self_adapter = adapter + + @property + def __code__(self): + return self._self_surrogate.__code__ + + @property + def __defaults__(self): + return self._self_surrogate.__defaults__ + + @property + def __kwdefaults__(self): + return self._self_surrogate.__kwdefaults__ + + if PY2: + func_code = __code__ + func_defaults = __defaults__ + + @property + def __signature__(self): + return self._self_surrogate.__signature__ + +class AdapterFactory(object): + def __call__(self, wrapped): + raise NotImplementedError() + +class DelegatedAdapterFactory(AdapterFactory): + def __init__(self, factory): + super(DelegatedAdapterFactory, self).__init__() + self.factory = factory + def __call__(self, wrapped): + return self.factory(wrapped) + +adapter_factory = DelegatedAdapterFactory + +# Decorator for creating other decorators. This decorator and the +# wrappers which they use are designed to properly preserve any name +# attributes, function signatures etc, in addition to the wrappers +# themselves acting like a transparent proxy for the original wrapped +# function so the wrapper is effectively indistinguishable from the +# original wrapped function. + +def decorator(wrapper=None, enabled=None, adapter=None): + # The decorator should be supplied with a single positional argument + # which is the wrapper function to be used to implement the + # decorator. This may be preceded by a step whereby the keyword + # arguments are supplied to customise the behaviour of the + # decorator. The 'adapter' argument is used to optionally denote a + # separate function which is notionally used by an adapter + # decorator. In that case parts of the function '__code__' and + # '__defaults__' attributes are used from the adapter function + # rather than those of the wrapped function. This allows for the + # argument specification from inspect.getargspec() and similar + # functions to be overridden with a prototype for a different + # function than what was wrapped. The 'enabled' argument provides a + # way to enable/disable the use of the decorator. If the type of + # 'enabled' is a boolean, then it is evaluated immediately and the + # wrapper not even applied if it is False. If not a boolean, it will + # be evaluated when the wrapper is called for an unbound wrapper, + # and when binding occurs for a bound wrapper. When being evaluated, + # if 'enabled' is callable it will be called to obtain the value to + # be checked. If False, the wrapper will not be called and instead + # the original wrapped function will be called directly instead. + + if wrapper is not None: + # Helper function for creating wrapper of the appropriate + # time when we need it down below. + + def _build(wrapped, wrapper, enabled=None, adapter=None): + if adapter: + if isinstance(adapter, AdapterFactory): + adapter = adapter(wrapped) + + if not callable(adapter): + ns = {} + if not isinstance(adapter, string_types): + adapter = formatargspec(*adapter) + exec_('def adapter{}: pass'.format(adapter), ns, ns) + adapter = ns['adapter'] + + return AdapterWrapper(wrapped=wrapped, wrapper=wrapper, + enabled=enabled, adapter=adapter) + + return FunctionWrapper(wrapped=wrapped, wrapper=wrapper, + enabled=enabled) + + # The wrapper has been provided so return the final decorator. + # The decorator is itself one of our function wrappers so we + # can determine when it is applied to functions, instance methods + # or class methods. This allows us to bind the instance or class + # method so the appropriate self or cls attribute is supplied + # when it is finally called. + + def _wrapper(wrapped, instance, args, kwargs): + # We first check for the case where the decorator was applied + # to a class type. + # + # @decorator + # class mydecoratorclass(object): + # def __init__(self, arg=None): + # self.arg = arg + # def __call__(self, wrapped, instance, args, kwargs): + # return wrapped(*args, **kwargs) + # + # @mydecoratorclass(arg=1) + # def function(): + # pass + # + # In this case an instance of the class is to be used as the + # decorator wrapper function. If args was empty at this point, + # then it means that there were optional keyword arguments + # supplied to be used when creating an instance of the class + # to be used as the wrapper function. + + if instance is None and isclass(wrapped) and not args: + # We still need to be passed the target function to be + # wrapped as yet, so we need to return a further function + # to be able to capture it. + + def _capture(target_wrapped): + # Now have the target function to be wrapped and need + # to create an instance of the class which is to act + # as the decorator wrapper function. Before we do that, + # we need to first check that use of the decorator + # hadn't been disabled by a simple boolean. If it was, + # the target function to be wrapped is returned instead. + + _enabled = enabled + if type(_enabled) is bool: + if not _enabled: + return target_wrapped + _enabled = None + + # Now create an instance of the class which is to act + # as the decorator wrapper function. Any arguments had + # to be supplied as keyword only arguments so that is + # all we pass when creating it. + + target_wrapper = wrapped(**kwargs) + + # Finally build the wrapper itself and return it. + + return _build(target_wrapped, target_wrapper, + _enabled, adapter) + + return _capture + + # We should always have the target function to be wrapped at + # this point as the first (and only) value in args. + + target_wrapped = args[0] + + # Need to now check that use of the decorator hadn't been + # disabled by a simple boolean. If it was, then target + # function to be wrapped is returned instead. + + _enabled = enabled + if type(_enabled) is bool: + if not _enabled: + return target_wrapped + _enabled = None + + # We now need to build the wrapper, but there are a couple of + # different cases we need to consider. + + if instance is None: + if isclass(wrapped): + # In this case the decorator was applied to a class + # type but optional keyword arguments were not supplied + # for initialising an instance of the class to be used + # as the decorator wrapper function. + # + # @decorator + # class mydecoratorclass(object): + # def __init__(self, arg=None): + # self.arg = arg + # def __call__(self, wrapped, instance, + # args, kwargs): + # return wrapped(*args, **kwargs) + # + # @mydecoratorclass + # def function(): + # pass + # + # We still need to create an instance of the class to + # be used as the decorator wrapper function, but no + # arguments are pass. + + target_wrapper = wrapped() + + else: + # In this case the decorator was applied to a normal + # function, or possibly a static method of a class. + # + # @decorator + # def mydecoratorfuntion(wrapped, instance, + # args, kwargs): + # return wrapped(*args, **kwargs) + # + # @mydecoratorfunction + # def function(): + # pass + # + # That normal function becomes the decorator wrapper + # function. + + target_wrapper = wrapper + + else: + if isclass(instance): + # In this case the decorator was applied to a class + # method. + # + # class myclass(object): + # @decorator + # @classmethod + # def decoratorclassmethod(cls, wrapped, + # instance, args, kwargs): + # return wrapped(*args, **kwargs) + # + # instance = myclass() + # + # @instance.decoratorclassmethod + # def function(): + # pass + # + # This one is a bit strange because binding was actually + # performed on the wrapper created by our decorator + # factory. We need to apply that binding to the decorator + # wrapper function which which the decorator factory + # was applied to. + + target_wrapper = wrapper.__get__(None, instance) + + else: + # In this case the decorator was applied to an instance + # method. + # + # class myclass(object): + # @decorator + # def decoratorclassmethod(self, wrapped, + # instance, args, kwargs): + # return wrapped(*args, **kwargs) + # + # instance = myclass() + # + # @instance.decoratorclassmethod + # def function(): + # pass + # + # This one is a bit strange because binding was actually + # performed on the wrapper created by our decorator + # factory. We need to apply that binding to the decorator + # wrapper function which which the decorator factory + # was applied to. + + target_wrapper = wrapper.__get__(instance, type(instance)) + + # Finally build the wrapper itself and return it. + + return _build(target_wrapped, target_wrapper, _enabled, adapter) + + # We first return our magic function wrapper here so we can + # determine in what context the decorator factory was used. In + # other words, it is itself a universal decorator. + + return _build(wrapper, _wrapper) + + else: + # The wrapper still has not been provided, so we are just + # collecting the optional keyword arguments. Return the + # decorator again wrapped in a partial using the collected + # arguments. + + return partial(decorator, enabled=enabled, adapter=adapter) + +# Decorator for implementing thread synchronization. It can be used as a +# decorator, in which case the synchronization context is determined by +# what type of function is wrapped, or it can also be used as a context +# manager, where the user needs to supply the correct synchronization +# context. It is also possible to supply an object which appears to be a +# synchronization primitive of some sort, by virtue of having release() +# and acquire() methods. In that case that will be used directly as the +# synchronization primitive without creating a separate lock against the +# derived or supplied context. + +def synchronized(wrapped): + # Determine if being passed an object which is a synchronization + # primitive. We can't check by type for Lock, RLock, Semaphore etc, + # as the means of creating them isn't the type. Therefore use the + # existence of acquire() and release() methods. This is more + # extensible anyway as it allows custom synchronization mechanisms. + + if hasattr(wrapped, 'acquire') and hasattr(wrapped, 'release'): + # We remember what the original lock is and then return a new + # decorator which accesses and locks it. When returning the new + # decorator we wrap it with an object proxy so we can override + # the context manager methods in case it is being used to wrap + # synchronized statements with a 'with' statement. + + lock = wrapped + + @decorator + def _synchronized(wrapped, instance, args, kwargs): + # Execute the wrapped function while the original supplied + # lock is held. + + with lock: + return wrapped(*args, **kwargs) + + class _PartialDecorator(CallableObjectProxy): + + def __enter__(self): + lock.acquire() + return lock + + def __exit__(self, *args): + lock.release() + + return _PartialDecorator(wrapped=_synchronized) + + # Following only apply when the lock is being created automatically + # based on the context of what was supplied. In this case we supply + # a final decorator, but need to use FunctionWrapper directly as we + # want to derive from it to add context manager methods in case it is + # being used to wrap synchronized statements with a 'with' statement. + + def _synchronized_lock(context): + # Attempt to retrieve the lock for the specific context. + + lock = vars(context).get('_synchronized_lock', None) + + if lock is None: + # There is no existing lock defined for the context we + # are dealing with so we need to create one. This needs + # to be done in a way to guarantee there is only one + # created, even if multiple threads try and create it at + # the same time. We can't always use the setdefault() + # method on the __dict__ for the context. This is the + # case where the context is a class, as __dict__ is + # actually a dictproxy. What we therefore do is use a + # meta lock on this wrapper itself, to control the + # creation and assignment of the lock attribute against + # the context. + + with synchronized._synchronized_meta_lock: + # We need to check again for whether the lock we want + # exists in case two threads were trying to create it + # at the same time and were competing to create the + # meta lock. + + lock = vars(context).get('_synchronized_lock', None) + + if lock is None: + lock = RLock() + setattr(context, '_synchronized_lock', lock) + + return lock + + def _synchronized_wrapper(wrapped, instance, args, kwargs): + # Execute the wrapped function while the lock for the + # desired context is held. If instance is None then the + # wrapped function is used as the context. + + with _synchronized_lock(instance or wrapped): + return wrapped(*args, **kwargs) + + class _FinalDecorator(FunctionWrapper): + + def __enter__(self): + self._self_lock = _synchronized_lock(self.__wrapped__) + self._self_lock.acquire() + return self._self_lock + + def __exit__(self, *args): + self._self_lock.release() + + return _FinalDecorator(wrapped=wrapped, wrapper=_synchronized_wrapper) + +synchronized._synchronized_meta_lock = Lock() diff --git a/wrapt/importer.py b/wrapt/importer.py new file mode 100644 index 0000000..9e617cd --- /dev/null +++ b/wrapt/importer.py @@ -0,0 +1,230 @@ +"""This module implements a post import hook mechanism styled after what is +described in PEP-369. Note that it doesn't cope with modules being reloaded. + +""" + +import sys +import threading + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +if PY3: + import importlib + string_types = str, +else: + string_types = basestring, + +from .decorators import synchronized + +# The dictionary registering any post import hooks to be triggered once +# the target module has been imported. Once a module has been imported +# and the hooks fired, the list of hooks recorded against the target +# module will be truncacted but the list left in the dictionary. This +# acts as a flag to indicate that the module had already been imported. + +_post_import_hooks = {} +_post_import_hooks_init = False +_post_import_hooks_lock = threading.RLock() + +# Register a new post import hook for the target module name. This +# differs from the PEP-369 implementation in that it also allows the +# hook function to be specified as a string consisting of the name of +# the callback in the form 'module:function'. This will result in a +# proxy callback being registered which will defer loading of the +# specified module containing the callback function until required. + +def _create_import_hook_from_string(name): + def import_hook(module): + module_name, function = name.split(':') + attrs = function.split('.') + __import__(module_name) + callback = sys.modules[module_name] + for attr in attrs: + callback = getattr(callback, attr) + return callback(module) + return import_hook + +@synchronized(_post_import_hooks_lock) +def register_post_import_hook(hook, name): + # Create a deferred import hook if hook is a string name rather than + # a callable function. + + if isinstance(hook, string_types): + hook = _create_import_hook_from_string(hook) + + # Automatically install the import hook finder if it has not already + # been installed. + + global _post_import_hooks_init + + if not _post_import_hooks_init: + _post_import_hooks_init = True + sys.meta_path.insert(0, ImportHookFinder()) + + # Determine if any prior registration of a post import hook for + # the target modules has occurred and act appropriately. + + hooks = _post_import_hooks.get(name, None) + + if hooks is None: + # No prior registration of post import hooks for the target + # module. We need to check whether the module has already been + # imported. If it has we fire the hook immediately and add an + # empty list to the registry to indicate that the module has + # already been imported and hooks have fired. Otherwise add + # the post import hook to the registry. + + module = sys.modules.get(name, None) + + if module is not None: + _post_import_hooks[name] = [] + hook(module) + + else: + _post_import_hooks[name] = [hook] + + elif hooks == []: + # A prior registration of port import hooks for the target + # module was done and the hooks already fired. Fire the hook + # immediately. + + module = sys.modules[name] + hook(module) + + else: + # A prior registration of port import hooks for the target + # module was done but the module has not yet been imported. + + _post_import_hooks[name].append(hook) + +# Register post import hooks defined as package entry points. + +def _create_import_hook_from_entrypoint(entrypoint): + def import_hook(module): + __import__(entrypoint.module_name) + callback = sys.modules[entrypoint.module_name] + for attr in entrypoint.attrs: + callback = getattr(callback, attr) + return callback(module) + return import_hook + +def discover_post_import_hooks(group): + try: + import pkg_resources + except ImportError: + return + + for entrypoint in pkg_resources.iter_entry_points(group=group): + callback = _create_import_hook_from_entrypoint(entrypoint) + register_post_import_hook(callback, entrypoint.name) + +# Indicate that a module has been loaded. Any post import hooks which +# were registered against the target module will be invoked. If an +# exception is raised in any of the post import hooks, that will cause +# the import of the target module to fail. + +@synchronized(_post_import_hooks_lock) +def notify_module_loaded(module): + name = getattr(module, '__name__', None) + hooks = _post_import_hooks.get(name, None) + + if hooks: + _post_import_hooks[name] = [] + + for hook in hooks: + hook(module) + +# A custom module import finder. This intercepts attempts to import +# modules and watches out for attempts to import target modules of +# interest. When a module of interest is imported, then any post import +# hooks which are registered will be invoked. + +class _ImportHookLoader: + + def load_module(self, fullname): + module = sys.modules[fullname] + notify_module_loaded(module) + + return module + +class _ImportHookChainedLoader: + + def __init__(self, loader): + self.loader = loader + + def load_module(self, fullname): + module = self.loader.load_module(fullname) + notify_module_loaded(module) + + return module + +class ImportHookFinder: + + def __init__(self): + self.in_progress = {} + + @synchronized(_post_import_hooks_lock) + def find_module(self, fullname, path=None): + # If the module being imported is not one we have registered + # post import hooks for, we can return immediately. We will + # take no further part in the importing of this module. + + if not fullname in _post_import_hooks: + return None + + # When we are interested in a specific module, we will call back + # into the import system a second time to defer to the import + # finder that is supposed to handle the importing of the module. + # We set an in progress flag for the target module so that on + # the second time through we don't trigger another call back + # into the import system and cause a infinite loop. + + if fullname in self.in_progress: + return None + + self.in_progress[fullname] = True + + # Now call back into the import system again. + + try: + if PY3: + # For Python 3 we need to use find_spec().loader + # from the importlib.util module. It doesn't actually + # import the target module and only finds the + # loader. If a loader is found, we need to return + # our own loader which will then in turn call the + # real loader to import the module and invoke the + # post import hooks. + try: + import importlib.util + loader = importlib.util.find_spec(fullname).loader + except (ImportError, AttributeError): + loader = importlib.find_loader(fullname, path) + if loader: + return _ImportHookChainedLoader(loader) + + else: + # For Python 2 we don't have much choice but to + # call back in to __import__(). This will + # actually cause the module to be imported. If no + # module could be found then ImportError will be + # raised. Otherwise we return a loader which + # returns the already loaded module and invokes + # the post import hooks. + + __import__(fullname) + + return _ImportHookLoader() + + finally: + del self.in_progress[fullname] + +# Decorator for marking that a function should be called as a post +# import hook when the target module is imported. + +def when_imported(name): + def register(hook): + register_post_import_hook(hook, name) + return hook + return register diff --git a/wrapt/wrappers.py b/wrapt/wrappers.py new file mode 100644 index 0000000..1d6131d --- /dev/null +++ b/wrapt/wrappers.py @@ -0,0 +1,943 @@ +import os +import sys +import functools +import operator +import weakref +import inspect + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +if PY3: + string_types = str, +else: + string_types = basestring, + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + return meta("NewBase", bases, {}) + +class _ObjectProxyMethods(object): + + # We use properties to override the values of __module__ and + # __doc__. If we add these in ObjectProxy, the derived class + # __dict__ will still be setup to have string variants of these + # attributes and the rules of descriptors means that they appear to + # take precedence over the properties in the base class. To avoid + # that, we copy the properties into the derived class type itself + # via a meta class. In that way the properties will always take + # precedence. + + @property + def __module__(self): + return self.__wrapped__.__module__ + + @__module__.setter + def __module__(self, value): + self.__wrapped__.__module__ = value + + @property + def __doc__(self): + return self.__wrapped__.__doc__ + + @__doc__.setter + def __doc__(self, value): + self.__wrapped__.__doc__ = value + + # We similar use a property for __dict__. We need __dict__ to be + # explicit to ensure that vars() works as expected. + + @property + def __dict__(self): + return self.__wrapped__.__dict__ + + # Need to also propagate the special __weakref__ attribute for case + # where decorating classes which will define this. If do not define + # it and use a function like inspect.getmembers() on a decorator + # class it will fail. This can't be in the derived classes. + + @property + def __weakref__(self): + return self.__wrapped__.__weakref__ + +class _ObjectProxyMetaType(type): + def __new__(cls, name, bases, dictionary): + # Copy our special properties into the class so that they + # always take precedence over attributes of the same name added + # during construction of a derived class. This is to save + # duplicating the implementation for them in all derived classes. + + dictionary.update(vars(_ObjectProxyMethods)) + + return type.__new__(cls, name, bases, dictionary) + +class ObjectProxy(with_metaclass(_ObjectProxyMetaType)): + + __slots__ = '__wrapped__' + + def __init__(self, wrapped): + object.__setattr__(self, '__wrapped__', wrapped) + + # Python 3.2+ has the __qualname__ attribute, but it does not + # allow it to be overridden using a property and it must instead + # be an actual string object instead. + + try: + object.__setattr__(self, '__qualname__', wrapped.__qualname__) + except AttributeError: + pass + + @property + def __name__(self): + return self.__wrapped__.__name__ + + @__name__.setter + def __name__(self, value): + self.__wrapped__.__name__ = value + + @property + def __class__(self): + return self.__wrapped__.__class__ + + @__class__.setter + def __class__(self, value): + self.__wrapped__.__class__ = value + + @property + def __annotations__(self): + return self.__wrapped__.__annotations__ + + @__annotations__.setter + def __annotations__(self, value): + self.__wrapped__.__annotations__ = value + + def __dir__(self): + return dir(self.__wrapped__) + + def __str__(self): + return str(self.__wrapped__) + + if PY3: + def __bytes__(self): + return bytes(self.__wrapped__) + + def __repr__(self): + return '<{} at 0x{:x} for {} at 0x{:x}>'.format( + type(self).__name__, id(self), + type(self.__wrapped__).__name__, + id(self.__wrapped__)) + + def __reversed__(self): + return reversed(self.__wrapped__) + + if PY3: + def __round__(self): + return round(self.__wrapped__) + + def __lt__(self, other): + return self.__wrapped__ < other + + def __le__(self, other): + return self.__wrapped__ <= other + + def __eq__(self, other): + return self.__wrapped__ == other + + def __ne__(self, other): + return self.__wrapped__ != other + + def __gt__(self, other): + return self.__wrapped__ > other + + def __ge__(self, other): + return self.__wrapped__ >= other + + def __hash__(self): + return hash(self.__wrapped__) + + def __nonzero__(self): + return bool(self.__wrapped__) + + def __bool__(self): + return bool(self.__wrapped__) + + def __setattr__(self, name, value): + if name.startswith('_self_'): + object.__setattr__(self, name, value) + + elif name == '__wrapped__': + object.__setattr__(self, name, value) + try: + object.__delattr__(self, '__qualname__') + except AttributeError: + pass + try: + object.__setattr__(self, '__qualname__', value.__qualname__) + except AttributeError: + pass + + elif name == '__qualname__': + setattr(self.__wrapped__, name, value) + object.__setattr__(self, name, value) + + elif hasattr(type(self), name): + object.__setattr__(self, name, value) + + else: + setattr(self.__wrapped__, name, value) + + def __getattr__(self, name): + # If we are being to lookup '__wrapped__' then the + # '__init__()' method cannot have been called. + + if name == '__wrapped__': + raise ValueError('wrapper has not been initialised') + + return getattr(self.__wrapped__, name) + + def __delattr__(self, name): + if name.startswith('_self_'): + object.__delattr__(self, name) + + elif name == '__wrapped__': + raise TypeError('__wrapped__ must be an object') + + elif name == '__qualname__': + object.__delattr__(self, name) + delattr(self.__wrapped__, name) + + elif hasattr(type(self), name): + object.__delattr__(self, name) + + else: + delattr(self.__wrapped__, name) + + def __add__(self, other): + return self.__wrapped__ + other + + def __sub__(self, other): + return self.__wrapped__ - other + + def __mul__(self, other): + return self.__wrapped__ * other + + def __div__(self, other): + return operator.div(self.__wrapped__, other) + + def __truediv__(self, other): + return operator.truediv(self.__wrapped__, other) + + def __floordiv__(self, other): + return self.__wrapped__ // other + + def __mod__(self, other): + return self.__wrapped__ % other + + def __divmod__(self, other): + return divmod(self.__wrapped__, other) + + def __pow__(self, other, *args): + return pow(self.__wrapped__, other, *args) + + def __lshift__(self, other): + return self.__wrapped__ << other + + def __rshift__(self, other): + return self.__wrapped__ >> other + + def __and__(self, other): + return self.__wrapped__ & other + + def __xor__(self, other): + return self.__wrapped__ ^ other + + def __or__(self, other): + return self.__wrapped__ | other + + def __radd__(self, other): + return other + self.__wrapped__ + + def __rsub__(self, other): + return other - self.__wrapped__ + + def __rmul__(self, other): + return other * self.__wrapped__ + + def __rdiv__(self, other): + return operator.div(other, self.__wrapped__) + + def __rtruediv__(self, other): + return operator.truediv(other, self.__wrapped__) + + def __rfloordiv__(self, other): + return other // self.__wrapped__ + + def __rmod__(self, other): + return other % self.__wrapped__ + + def __rdivmod__(self, other): + return divmod(other, self.__wrapped__) + + def __rpow__(self, other, *args): + return pow(other, self.__wrapped__, *args) + + def __rlshift__(self, other): + return other << self.__wrapped__ + + def __rrshift__(self, other): + return other >> self.__wrapped__ + + def __rand__(self, other): + return other & self.__wrapped__ + + def __rxor__(self, other): + return other ^ self.__wrapped__ + + def __ror__(self, other): + return other | self.__wrapped__ + + def __iadd__(self, other): + self.__wrapped__ += other + return self + + def __isub__(self, other): + self.__wrapped__ -= other + return self + + def __imul__(self, other): + self.__wrapped__ *= other + return self + + def __idiv__(self, other): + self.__wrapped__ = operator.idiv(self.__wrapped__, other) + return self + + def __itruediv__(self, other): + self.__wrapped__ = operator.itruediv(self.__wrapped__, other) + return self + + def __ifloordiv__(self, other): + self.__wrapped__ //= other + return self + + def __imod__(self, other): + self.__wrapped__ %= other + return self + + def __ipow__(self, other): + self.__wrapped__ **= other + return self + + def __ilshift__(self, other): + self.__wrapped__ <<= other + return self + + def __irshift__(self, other): + self.__wrapped__ >>= other + return self + + def __iand__(self, other): + self.__wrapped__ &= other + return self + + def __ixor__(self, other): + self.__wrapped__ ^= other + return self + + def __ior__(self, other): + self.__wrapped__ |= other + return self + + def __neg__(self): + return -self.__wrapped__ + + def __pos__(self): + return +self.__wrapped__ + + def __abs__(self): + return abs(self.__wrapped__) + + def __invert__(self): + return ~self.__wrapped__ + + def __int__(self): + return int(self.__wrapped__) + + def __long__(self): + return long(self.__wrapped__) + + def __float__(self): + return float(self.__wrapped__) + + def __complex__(self): + return complex(self.__wrapped__) + + def __oct__(self): + return oct(self.__wrapped__) + + def __hex__(self): + return hex(self.__wrapped__) + + def __index__(self): + return operator.index(self.__wrapped__) + + def __len__(self): + return len(self.__wrapped__) + + def __contains__(self, value): + return value in self.__wrapped__ + + def __getitem__(self, key): + return self.__wrapped__[key] + + def __setitem__(self, key, value): + self.__wrapped__[key] = value + + def __delitem__(self, key): + del self.__wrapped__[key] + + def __getslice__(self, i, j): + return self.__wrapped__[i:j] + + def __setslice__(self, i, j, value): + self.__wrapped__[i:j] = value + + def __delslice__(self, i, j): + del self.__wrapped__[i:j] + + def __enter__(self): + return self.__wrapped__.__enter__() + + def __exit__(self, *args, **kwargs): + return self.__wrapped__.__exit__(*args, **kwargs) + + def __iter__(self): + return iter(self.__wrapped__) + + def __copy__(self): + raise NotImplementedError('object proxy must define __copy__()') + + def __deepcopy__(self, memo): + raise NotImplementedError('object proxy must define __deepcopy__()') + + def __reduce__(self): + raise NotImplementedError( + 'object proxy must define __reduce_ex__()') + + def __reduce_ex__(self, protocol): + raise NotImplementedError( + 'object proxy must define __reduce_ex__()') + +class CallableObjectProxy(ObjectProxy): + + def __call__(self, *args, **kwargs): + return self.__wrapped__(*args, **kwargs) + +class PartialCallableObjectProxy(ObjectProxy): + + def __init__(self, *args, **kwargs): + if len(args) < 1: + raise TypeError('partial type takes at least one argument') + + wrapped, args = args[0], args[1:] + + if not callable(wrapped): + raise TypeError('the first argument must be callable') + + super(PartialCallableObjectProxy, self).__init__(wrapped) + + self._self_args = args + self._self_kwargs = kwargs + + def __call__(self, *args, **kwargs): + _args = self._self_args + args + + _kwargs = dict(self._self_kwargs) + _kwargs.update(kwargs) + + return self.__wrapped__(*_args, **_kwargs) + +class _FunctionWrapperBase(ObjectProxy): + + __slots__ = ('_self_instance', '_self_wrapper', '_self_enabled', + '_self_binding', '_self_parent') + + def __init__(self, wrapped, instance, wrapper, enabled=None, + binding='function', parent=None): + + super(_FunctionWrapperBase, self).__init__(wrapped) + + object.__setattr__(self, '_self_instance', instance) + object.__setattr__(self, '_self_wrapper', wrapper) + object.__setattr__(self, '_self_enabled', enabled) + object.__setattr__(self, '_self_binding', binding) + object.__setattr__(self, '_self_parent', parent) + + def __get__(self, instance, owner): + # This method is actually doing double duty for both unbound and + # bound derived wrapper classes. It should possibly be broken up + # and the distinct functionality moved into the derived classes. + # Can't do that straight away due to some legacy code which is + # relying on it being here in this base class. + # + # The distinguishing attribute which determines whether we are + # being called in an unbound or bound wrapper is the parent + # attribute. If binding has never occurred, then the parent will + # be None. + # + # First therefore, is if we are called in an unbound wrapper. In + # this case we perform the binding. + # + # We have one special case to worry about here. This is where we + # are decorating a nested class. In this case the wrapped class + # would not have a __get__() method to call. In that case we + # simply return self. + # + # Note that we otherwise still do binding even if instance is + # None and accessing an unbound instance method from a class. + # This is because we need to be able to later detect that + # specific case as we will need to extract the instance from the + # first argument of those passed in. + + if self._self_parent is None: + if not inspect.isclass(self.__wrapped__): + descriptor = self.__wrapped__.__get__(instance, owner) + + return self.__bound_function_wrapper__(descriptor, instance, + self._self_wrapper, self._self_enabled, + self._self_binding, self) + + return self + + # Now we have the case of binding occurring a second time on what + # was already a bound function. In this case we would usually + # return ourselves again. This mirrors what Python does. + # + # The special case this time is where we were originally bound + # with an instance of None and we were likely an instance + # method. In that case we rebind against the original wrapped + # function from the parent again. + + if self._self_instance is None and self._self_binding == 'function': + descriptor = self._self_parent.__wrapped__.__get__( + instance, owner) + + return self._self_parent.__bound_function_wrapper__( + descriptor, instance, self._self_wrapper, + self._self_enabled, self._self_binding, + self._self_parent) + + return self + + def __call__(self, *args, **kwargs): + # If enabled has been specified, then evaluate it at this point + # and if the wrapper is not to be executed, then simply return + # the bound function rather than a bound wrapper for the bound + # function. When evaluating enabled, if it is callable we call + # it, otherwise we evaluate it as a boolean. + + if self._self_enabled is not None: + if callable(self._self_enabled): + if not self._self_enabled(): + return self.__wrapped__(*args, **kwargs) + elif not self._self_enabled: + return self.__wrapped__(*args, **kwargs) + + # This can occur where initial function wrapper was applied to + # a function that was already bound to an instance. In that case + # we want to extract the instance from the function and use it. + + if self._self_binding == 'function': + if self._self_instance is None: + instance = getattr(self.__wrapped__, '__self__', None) + if instance is not None: + return self._self_wrapper(self.__wrapped__, instance, + args, kwargs) + + # This is generally invoked when the wrapped function is being + # called as a normal function and is not bound to a class as an + # instance method. This is also invoked in the case where the + # wrapped function was a method, but this wrapper was in turn + # wrapped using the staticmethod decorator. + + return self._self_wrapper(self.__wrapped__, self._self_instance, + args, kwargs) + +class BoundFunctionWrapper(_FunctionWrapperBase): + + def __call__(self, *args, **kwargs): + # If enabled has been specified, then evaluate it at this point + # and if the wrapper is not to be executed, then simply return + # the bound function rather than a bound wrapper for the bound + # function. When evaluating enabled, if it is callable we call + # it, otherwise we evaluate it as a boolean. + + if self._self_enabled is not None: + if callable(self._self_enabled): + if not self._self_enabled(): + return self.__wrapped__(*args, **kwargs) + elif not self._self_enabled: + return self.__wrapped__(*args, **kwargs) + + # We need to do things different depending on whether we are + # likely wrapping an instance method vs a static method or class + # method. + + if self._self_binding == 'function': + if self._self_instance is None: + # This situation can occur where someone is calling the + # instancemethod via the class type and passing the instance + # as the first argument. We need to shift the args before + # making the call to the wrapper and effectively bind the + # instance to the wrapped function using a partial so the + # wrapper doesn't see anything as being different. + + if not args: + raise TypeError('missing 1 required positional argument') + + instance, args = args[0], args[1:] + wrapped = PartialCallableObjectProxy(self.__wrapped__, instance) + return self._self_wrapper(wrapped, instance, args, kwargs) + + return self._self_wrapper(self.__wrapped__, self._self_instance, + args, kwargs) + + else: + # As in this case we would be dealing with a classmethod or + # staticmethod, then _self_instance will only tell us whether + # when calling the classmethod or staticmethod they did it via an + # instance of the class it is bound to and not the case where + # done by the class type itself. We thus ignore _self_instance + # and use the __self__ attribute of the bound function instead. + # For a classmethod, this means instance will be the class type + # and for a staticmethod it will be None. This is probably the + # more useful thing we can pass through even though we loose + # knowledge of whether they were called on the instance vs the + # class type, as it reflects what they have available in the + # decoratored function. + + instance = getattr(self.__wrapped__, '__self__', None) + + return self._self_wrapper(self.__wrapped__, instance, args, + kwargs) + +class FunctionWrapper(_FunctionWrapperBase): + + __bound_function_wrapper__ = BoundFunctionWrapper + + def __init__(self, wrapped, wrapper, enabled=None): + # What it is we are wrapping here could be anything. We need to + # try and detect specific cases though. In particular, we need + # to detect when we are given something that is a method of a + # class. Further, we need to know when it is likely an instance + # method, as opposed to a class or static method. This can + # become problematic though as there isn't strictly a fool proof + # method of knowing. + # + # The situations we could encounter when wrapping a method are: + # + # 1. The wrapper is being applied as part of a decorator which + # is a part of the class definition. In this case what we are + # given is the raw unbound function, classmethod or staticmethod + # wrapper objects. + # + # The problem here is that we will not know we are being applied + # in the context of the class being set up. This becomes + # important later for the case of an instance method, because in + # that case we just see it as a raw function and can't + # distinguish it from wrapping a normal function outside of + # a class context. + # + # 2. The wrapper is being applied when performing monkey + # patching of the class type afterwards and the method to be + # wrapped was retrieved direct from the __dict__ of the class + # type. This is effectively the same as (1) above. + # + # 3. The wrapper is being applied when performing monkey + # patching of the class type afterwards and the method to be + # wrapped was retrieved from the class type. In this case + # binding will have been performed where the instance against + # which the method is bound will be None at that point. + # + # This case is a problem because we can no longer tell if the + # method was a static method, plus if using Python3, we cannot + # tell if it was an instance method as the concept of an + # unnbound method no longer exists. + # + # 4. The wrapper is being applied when performing monkey + # patching of an instance of a class. In this case binding will + # have been perfomed where the instance was not None. + # + # This case is a problem because we can no longer tell if the + # method was a static method. + # + # Overall, the best we can do is look at the original type of the + # object which was wrapped prior to any binding being done and + # see if it is an instance of classmethod or staticmethod. In + # the case where other decorators are between us and them, if + # they do not propagate the __class__ attribute so that the + # isinstance() checks works, then likely this will do the wrong + # thing where classmethod and staticmethod are used. + # + # Since it is likely to be very rare that anyone even puts + # decorators around classmethod and staticmethod, likelihood of + # that being an issue is very small, so we accept it and suggest + # that those other decorators be fixed. It is also only an issue + # if a decorator wants to actually do things with the arguments. + # + # As to not being able to identify static methods properly, we + # just hope that that isn't something people are going to want + # to wrap, or if they do suggest they do it the correct way by + # ensuring that it is decorated in the class definition itself, + # or patch it in the __dict__ of the class type. + # + # So to get the best outcome we can, whenever we aren't sure what + # it is, we label it as a 'function'. If it was already bound and + # that is rebound later, we assume that it will be an instance + # method and try an cope with the possibility that the 'self' + # argument it being passed as an explicit argument and shuffle + # the arguments around to extract 'self' for use as the instance. + + if isinstance(wrapped, classmethod): + binding = 'classmethod' + + elif isinstance(wrapped, staticmethod): + binding = 'staticmethod' + + elif hasattr(wrapped, '__self__'): + if inspect.isclass(wrapped.__self__): + binding = 'classmethod' + else: + binding = 'function' + + else: + binding = 'function' + + super(FunctionWrapper, self).__init__(wrapped, None, wrapper, + enabled, binding) + +try: + if not os.environ.get('WRAPT_DISABLE_EXTENSIONS'): + from ._wrappers import (ObjectProxy, CallableObjectProxy, + PartialCallableObjectProxy, FunctionWrapper, + BoundFunctionWrapper, _FunctionWrapperBase) +except ImportError: + pass + +# Helper functions for applying wrappers to existing functions. + +def resolve_path(module, name): + if isinstance(module, string_types): + __import__(module) + module = sys.modules[module] + + parent = module + + path = name.split('.') + attribute = path[0] + + original = getattr(parent, attribute) + for attribute in path[1:]: + parent = original + + # We can't just always use getattr() because in doing + # that on a class it will cause binding to occur which + # will complicate things later and cause some things not + # to work. For the case of a class we therefore access + # the __dict__ directly. To cope though with the wrong + # class being given to us, or a method being moved into + # a base class, we need to walk the class hierarchy to + # work out exactly which __dict__ the method was defined + # in, as accessing it from __dict__ will fail if it was + # not actually on the class given. Fallback to using + # getattr() if we can't find it. If it truly doesn't + # exist, then that will fail. + + if inspect.isclass(original): + for cls in inspect.getmro(original): + if attribute in vars(cls): + original = vars(cls)[attribute] + break + else: + original = getattr(original, attribute) + + else: + original = getattr(original, attribute) + + return (parent, attribute, original) + +def apply_patch(parent, attribute, replacement): + setattr(parent, attribute, replacement) + +def wrap_object(module, name, factory, args=(), kwargs={}): + (parent, attribute, original) = resolve_path(module, name) + wrapper = factory(original, *args, **kwargs) + apply_patch(parent, attribute, wrapper) + return wrapper + +# Function for applying a proxy object to an attribute of a class +# instance. The wrapper works by defining an attribute of the same name +# on the class which is a descriptor and which intercepts access to the +# instance attribute. Note that this cannot be used on attributes which +# are themselves defined by a property object. + +class AttributeWrapper(object): + + def __init__(self, attribute, factory, args, kwargs): + self.attribute = attribute + self.factory = factory + self.args = args + self.kwargs = kwargs + + def __get__(self, instance, owner): + value = instance.__dict__[self.attribute] + return self.factory(value, *self.args, **self.kwargs) + + def __set__(self, instance, value): + instance.__dict__[self.attribute] = value + + def __delete__(self, instance): + del instance.__dict__[self.attribute] + +def wrap_object_attribute(module, name, factory, args=(), kwargs={}): + path, attribute = name.rsplit('.', 1) + parent = resolve_path(module, path)[2] + wrapper = AttributeWrapper(attribute, factory, args, kwargs) + apply_patch(parent, attribute, wrapper) + return wrapper + +# Functions for creating a simple decorator using a FunctionWrapper, +# plus short cut functions for applying wrappers to functions. These are +# for use when doing monkey patching. For a more featured way of +# creating decorators see the decorator decorator instead. + +def function_wrapper(wrapper): + def _wrapper(wrapped, instance, args, kwargs): + target_wrapped = args[0] + if instance is None: + target_wrapper = wrapper + elif inspect.isclass(instance): + target_wrapper = wrapper.__get__(None, instance) + else: + target_wrapper = wrapper.__get__(instance, type(instance)) + return FunctionWrapper(target_wrapped, target_wrapper) + return FunctionWrapper(wrapper, _wrapper) + +def wrap_function_wrapper(module, name, wrapper): + return wrap_object(module, name, FunctionWrapper, (wrapper,)) + +def patch_function_wrapper(module, name): + def _wrapper(wrapper): + return wrap_object(module, name, FunctionWrapper, (wrapper,)) + return _wrapper + +def transient_function_wrapper(module, name): + def _decorator(wrapper): + def _wrapper(wrapped, instance, args, kwargs): + target_wrapped = args[0] + if instance is None: + target_wrapper = wrapper + elif inspect.isclass(instance): + target_wrapper = wrapper.__get__(None, instance) + else: + target_wrapper = wrapper.__get__(instance, type(instance)) + def _execute(wrapped, instance, args, kwargs): + (parent, attribute, original) = resolve_path(module, name) + replacement = FunctionWrapper(original, target_wrapper) + setattr(parent, attribute, replacement) + try: + return wrapped(*args, **kwargs) + finally: + setattr(parent, attribute, original) + return FunctionWrapper(target_wrapped, _execute) + return FunctionWrapper(wrapper, _wrapper) + return _decorator + +# A weak function proxy. This will work on instance methods, class +# methods, static methods and regular functions. Special treatment is +# needed for the method types because the bound method is effectively a +# transient object and applying a weak reference to one will immediately +# result in it being destroyed and the weakref callback called. The weak +# reference is therefore applied to the instance the method is bound to +# and the original function. The function is then rebound at the point +# of a call via the weak function proxy. + +def _weak_function_proxy_callback(ref, proxy, callback): + if proxy._self_expired: + return + + proxy._self_expired = True + + # This could raise an exception. We let it propagate back and let + # the weakref.proxy() deal with it, at which point it generally + # prints out a short error message direct to stderr and keeps going. + + if callback is not None: + callback(proxy) + +class WeakFunctionProxy(ObjectProxy): + + __slots__ = ('_self_expired', '_self_instance') + + def __init__(self, wrapped, callback=None): + # We need to determine if the wrapped function is actually a + # bound method. In the case of a bound method, we need to keep a + # reference to the original unbound function and the instance. + # This is necessary because if we hold a reference to the bound + # function, it will be the only reference and given it is a + # temporary object, it will almost immediately expire and + # the weakref callback triggered. So what is done is that we + # hold a reference to the instance and unbound function and + # when called bind the function to the instance once again and + # then call it. Note that we avoid using a nested function for + # the callback here so as not to cause any odd reference cycles. + + _callback = callback and functools.partial( + _weak_function_proxy_callback, proxy=self, + callback=callback) + + self._self_expired = False + + if isinstance(wrapped, _FunctionWrapperBase): + self._self_instance = weakref.ref(wrapped._self_instance, + _callback) + + if wrapped._self_parent is not None: + super(WeakFunctionProxy, self).__init__( + weakref.proxy(wrapped._self_parent, _callback)) + + else: + super(WeakFunctionProxy, self).__init__( + weakref.proxy(wrapped, _callback)) + + return + + try: + self._self_instance = weakref.ref(wrapped.__self__, _callback) + + super(WeakFunctionProxy, self).__init__( + weakref.proxy(wrapped.__func__, _callback)) + + except AttributeError: + self._self_instance = None + + super(WeakFunctionProxy, self).__init__( + weakref.proxy(wrapped, _callback)) + + def __call__(self, *args, **kwargs): + # We perform a boolean check here on the instance and wrapped + # function as that will trigger the reference error prior to + # calling if the reference had expired. + + instance = self._self_instance and self._self_instance() + function = self.__wrapped__ and self.__wrapped__ + + # If the wrapped function was originally a bound function, for + # which we retained a reference to the instance and the unbound + # function we need to rebind the function and then call it. If + # not just called the wrapped function. + + if instance is None: + return self.__wrapped__(*args, **kwargs) + + return function.__get__(instance, type(instance))(*args, **kwargs)